@@ -141,7 +141,38 @@ def generate_plotly_figure(*_):
141
141
return "typing.Union[Figure, dict]"
142
142
143
143
144
- special_cases = {"dash_core_components" : {"Graph" : {"figure" : generate_plotly_figure }}}
144
+ def generate_datetime_prop (component , array = False ):
145
+ if "import datetime" not in custom_imports ["dash_core_components" ][component ]:
146
+ custom_imports ["dash_core_components" ][component ].append ("import datetime" )
147
+
148
+ def generator (* _ ):
149
+ datetime_type = "typing.Union[str, datetime.datetime]"
150
+ if array :
151
+ datetime_type = f"typing.Sequence[{ datetime_type } ]"
152
+ return datetime_type
153
+
154
+ return generator
155
+
156
+
157
+ special_cases = {
158
+ "dash_core_components" : {
159
+ "Graph" : {"figure" : generate_plotly_figure },
160
+ "DatePickerRange" : {
161
+ "start_date" : generate_datetime_prop ("DatePickerRange" ),
162
+ "end_date" : generate_datetime_prop ("DatePickerRange" ),
163
+ "min_date_allowed" : generate_datetime_prop ("DatePickerRange" ),
164
+ "max_date_allowed" : generate_datetime_prop ("DatePickerRange" ),
165
+ "disabled_days" : generate_datetime_prop ("DatePickerRange" , True ),
166
+ },
167
+ "DatePickerSingle" : {
168
+ "date" : generate_datetime_prop ("DatePickerSingle" ),
169
+ "min_date_allowed" : generate_datetime_prop ("DatePickerSingle" ),
170
+ "max_date_allowed" : generate_datetime_prop ("DatePickerSingle" ),
171
+ "disabled_days" : generate_datetime_prop ("DatePickerSingle" , True ),
172
+ "initial_visible_month" : generate_datetime_prop ("DatePickerSingle" ),
173
+ },
174
+ }
175
+ }
145
176
146
177
147
178
PROP_TYPING = {
0 commit comments