1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
|
# AUTO GENERATED FILE - DO NOT EDIT
import typing # noqa: F401
from typing_extensions import TypedDict, NotRequired, Literal # noqa: F401
from dash.development.base_component import Component, _explicitize_args
ComponentType = typing.Union[
str,
int,
float,
Component,
None,
typing.Sequence[typing.Union[str, int, float, Component, None]],
]
NumberType = typing.Union[
typing.SupportsFloat, typing.SupportsInt, typing.SupportsComplex
]
class Dropdown(Component):
"""A Dropdown component.
Dropdown is an interactive dropdown element for selecting one or more
items.
The values and labels of the dropdown items are specified in the `options`
property and the selected item(s) are specified with the `value` property.
Use a dropdown when you have many options (more than 5) or when you are
constrained for space. Otherwise, you can use RadioItems or a Checklist,
which have the benefit of showing the users all of the items at once.
Keyword arguments:
- options (list of dicts; optional):
An array of options {label: [string|number], value:
[string|number]}, an optional disabled field can be used for each
option.
`options` is a list of string | number | booleans | dict | list of
dicts with keys:
- label (a list of or a singular dash component, string or number; required):
The option's label.
- value (string | number | boolean; required):
The value of the option. This value corresponds to the items
specified in the `value` property.
- disabled (boolean; optional):
If True, this option is disabled and cannot be selected.
- title (string; optional):
The HTML 'title' attribute for the option. Allows for
information on hover. For more information on this attribute,
see
https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/title.
- search (string; optional):
Optional search value for the option, to use if the label is a
component or provide a custom search value different from the
label. If no search value and the label is a component, the
`value` will be used for search.
- value (string | number | boolean | list of string | number | booleans; optional):
The value of the input. If `multi` is False (the default) then
value is just a string that corresponds to the values provided in
the `options` property. If `multi` is True, then multiple values
can be selected at once, and `value` is an array of items with
values corresponding to those in the `options` prop.
- multi (boolean; default False):
If True, the user can select multiple values.
- clearable (boolean; default True):
Whether or not the dropdown is \"clearable\", that is, whether or
not a small \"x\" appears on the right of the dropdown that
removes the selected value.
- searchable (boolean; default True):
Whether to enable the searching feature or not.
- search_value (string; optional):
The value typed in the DropDown for searching.
- placeholder (string; optional):
The grey, default text shown when no option is selected.
- disabled (boolean; default False):
If True, this dropdown is disabled and the selection cannot be
changed.
- closeOnSelect (boolean; default True):
If False, the menu of the dropdown will not close once a value is
selected.
- optionHeight (number; default 35):
height of each option. Can be increased when label lengths would
wrap around.
- maxHeight (number; default 200):
height of the options dropdown.
- className (string; optional):
className of the dropdown element.
- id (string; optional):
The ID of this component, used to identify dash components in
callbacks. The ID needs to be unique across all of the components
in an app.
- persistence (boolean | string | number; optional):
Used to allow user interactions in this component to be persisted
when the component - or the page - is refreshed. If `persisted` is
truthy and hasn't changed from its previous value, a `value` that
the user has changed while using the app will keep that change, as
long as the new `value` also matches what was given originally.
Used in conjunction with `persistence_type`.
- persisted_props (list of a value equal to: 'value's; default ['value']):
Properties whose user interactions will persist after refreshing
the component or the page. Since only `value` is allowed this prop
can normally be ignored.
- persistence_type (a value equal to: 'local', 'session', 'memory'; default 'local'):
Where persisted user changes will be stored: memory: only kept in
memory, reset on page refresh. local: window.localStorage, data is
kept after the browser quit. session: window.sessionStorage, data
is cleared once the browser quit."""
_children_props = ["options[].label"]
_base_nodes = ["children"]
_namespace = "dash_core_components"
_type = "Dropdown"
Options = TypedDict(
"Options",
{
"label": ComponentType,
"value": typing.Union[str, NumberType, bool],
"disabled": NotRequired[bool],
"title": NotRequired[str],
"search": NotRequired[str],
},
)
def __init__(
self,
options: typing.Optional[
typing.Union[
typing.Sequence[typing.Union[str, NumberType, bool]],
dict,
typing.Sequence["Options"],
]
] = None,
value: typing.Optional[
typing.Union[
str,
NumberType,
bool,
typing.Sequence[typing.Union[str, NumberType, bool]],
]
] = None,
multi: typing.Optional[bool] = None,
clearable: typing.Optional[bool] = None,
searchable: typing.Optional[bool] = None,
search_value: typing.Optional[str] = None,
placeholder: typing.Optional[str] = None,
disabled: typing.Optional[bool] = None,
closeOnSelect: typing.Optional[bool] = None,
optionHeight: typing.Optional[NumberType] = None,
maxHeight: typing.Optional[NumberType] = None,
style: typing.Optional[typing.Any] = None,
className: typing.Optional[str] = None,
id: typing.Optional[typing.Union[str, dict]] = None,
persistence: typing.Optional[typing.Union[bool, str, NumberType]] = None,
persisted_props: typing.Optional[typing.Sequence[Literal["value"]]] = None,
persistence_type: typing.Optional[Literal["local", "session", "memory"]] = None,
**kwargs
):
self._prop_names = [
"options",
"value",
"multi",
"clearable",
"searchable",
"search_value",
"placeholder",
"disabled",
"closeOnSelect",
"optionHeight",
"maxHeight",
"style",
"className",
"id",
"persistence",
"persisted_props",
"persistence_type",
]
self._valid_wildcard_attributes = []
self.available_properties = [
"options",
"value",
"multi",
"clearable",
"searchable",
"search_value",
"placeholder",
"disabled",
"closeOnSelect",
"optionHeight",
"maxHeight",
"style",
"className",
"id",
"persistence",
"persisted_props",
"persistence_type",
]
self.available_wildcard_properties = []
_explicit_args = kwargs.pop("_explicit_args")
_locals = locals()
_locals.update(kwargs) # For wildcard attrs and excess named props
args = {k: _locals[k] for k in _explicit_args}
super(Dropdown, self).__init__(**args)
setattr(Dropdown, "__init__", _explicitize_args(Dropdown.__init__))
|