From ebb9db0005f8fc7d21f684c7ca4026bdcf103c97 Mon Sep 17 00:00:00 2001 From: Ale Mercado Date: Wed, 29 Jul 2026 12:42:40 -0400 Subject: [PATCH 1/2] feat(blocks): add min_lines and max_lines to RichTextInputElement --- slack_sdk/models/blocks/block_elements.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/slack_sdk/models/blocks/block_elements.py b/slack_sdk/models/blocks/block_elements.py index a238a865a..7b52b0f95 100644 --- a/slack_sdk/models/blocks/block_elements.py +++ b/slack_sdk/models/blocks/block_elements.py @@ -1442,6 +1442,8 @@ def attributes(self) -> Set[str]: # type: ignore[override] { "initial_value", "dispatch_action_config", + "min_lines", + "max_lines", } ) @@ -1454,6 +1456,8 @@ def __init__( initial_value: Optional[Union[Dict[str, Any], "RichTextBlock"]] = None, # type: ignore[name-defined] # noqa: F821 dispatch_action_config: Optional[Union[dict, DispatchActionConfig]] = None, focus_on_load: Optional[bool] = None, + min_lines: Optional[int] = None, + max_lines: Optional[int] = None, **others: dict, ): super().__init__( @@ -1466,6 +1470,8 @@ def __init__( self.initial_value = initial_value self.dispatch_action_config = dispatch_action_config + self.min_lines = min_lines + self.max_lines = max_lines # ------------------------------------------------- From 994f30b8e1e4d7eec1457cedf1519f28f0fd8709 Mon Sep 17 00:00:00 2001 From: Ale Mercado Date: Wed, 29 Jul 2026 12:43:32 -0400 Subject: [PATCH 2/2] test(blocks): add tests for RichTextInputElement min_lines/max_lines --- tests/slack_sdk/models/test_elements.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/tests/slack_sdk/models/test_elements.py b/tests/slack_sdk/models/test_elements.py index 2985228a2..4a5a062d3 100644 --- a/tests/slack_sdk/models/test_elements.py +++ b/tests/slack_sdk/models/test_elements.py @@ -1173,6 +1173,31 @@ def test_issue_1571(self): }, ) + def test_min_lines(self): + input = { + "type": "rich_text_input", + "action_id": "rich_input", + "min_lines": 5, + } + self.assertDictEqual(input, RichTextInputElement(**input).to_dict()) + + def test_max_lines(self): + input = { + "type": "rich_text_input", + "action_id": "rich_input", + "max_lines": 16, + } + self.assertDictEqual(input, RichTextInputElement(**input).to_dict()) + + def test_min_and_max_lines(self): + input = { + "type": "rich_text_input", + "action_id": "rich_input", + "min_lines": 3, + "max_lines": 20, + } + self.assertDictEqual(input, RichTextInputElement(**input).to_dict()) + class PlainTextInputElementTests(unittest.TestCase): def test_document_1(self):