1+ import json
12from typing import List , Optional
23
34from beartype import beartype
45
5- from flet .control import Control , MainAxisAlignment , OptionalNumber
6+ from flet import padding
7+ from flet .control import Control , MainAxisAlignment , OptionalNumber , PaddingValue
68from flet .ref import Ref
79
810try :
@@ -24,11 +26,11 @@ def __init__(
2426 open : bool = False ,
2527 modal : bool = False ,
2628 title : Control = None ,
27- title_padding : OptionalNumber = None ,
29+ title_padding : PaddingValue = None ,
2830 content : Control = None ,
29- content_padding : OptionalNumber = None ,
31+ content_padding : PaddingValue = None ,
3032 actions : List [Control ] = None ,
31- actions_padding : OptionalNumber = None ,
33+ actions_padding : PaddingValue = None ,
3234 actions_alignment : MainAxisAlignment = None ,
3335 ):
3436
@@ -100,11 +102,17 @@ def title(self, value):
100102 # title_padding
101103 @property
102104 def title_padding (self ):
103- return self ._get_attr ( "titlePadding" )
105+ return self .__title_padding
104106
105107 @title_padding .setter
106- def title_padding (self , value ):
107- self ._set_attr ("titlePadding" , value )
108+ @beartype
109+ def title_padding (self , value : PaddingValue ):
110+ self .__title_padding = value
111+ if value and isinstance (value , (int , float )):
112+ value = padding .all (value )
113+ self ._set_attr (
114+ "titlePadding" , json .dumps (value , default = vars ) if value else None
115+ )
108116
109117 # content
110118 @property
@@ -118,11 +126,17 @@ def content(self, value):
118126 # content_padding
119127 @property
120128 def content_padding (self ):
121- return self ._get_attr ( "contentPadding" )
129+ return self .__content_padding
122130
123131 @content_padding .setter
124- def content_padding (self , value ):
125- self ._set_attr ("contentPadding" , value )
132+ @beartype
133+ def content_padding (self , value : PaddingValue ):
134+ self .__content_padding = value
135+ if value and isinstance (value , (int , float )):
136+ value = padding .all (value )
137+ self ._set_attr (
138+ "contentPadding" , json .dumps (value , default = vars ) if value else None
139+ )
126140
127141 # actions
128142 @property
@@ -136,11 +150,17 @@ def actions(self, value):
136150 # actions_padding
137151 @property
138152 def actions_padding (self ):
139- return self ._get_attr ( "actionsPadding" )
153+ return self .__actions_padding
140154
141155 @actions_padding .setter
142- def actions_padding (self , value ):
143- self ._set_attr ("actionsPadding" , value )
156+ @beartype
157+ def actions_padding (self , value : PaddingValue ):
158+ self .__actions_padding = value
159+ if value and isinstance (value , (int , float )):
160+ value = padding .all (value )
161+ self ._set_attr (
162+ "actionsPadding" , json .dumps (value , default = vars ) if value else None
163+ )
144164
145165 # actions_alignment
146166 @property
0 commit comments