reflex 0.7.14a5__py3-none-any.whl → 0.8.0a1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of reflex might be problematic. Click here for more details.
- reflex/.templates/jinja/app/rxconfig.py.jinja2 +4 -1
- reflex/.templates/jinja/web/package.json.jinja2 +1 -1
- reflex/.templates/jinja/web/pages/_app.js.jinja2 +16 -10
- reflex/.templates/jinja/web/pages/_document.js.jinja2 +1 -1
- reflex/.templates/jinja/web/pages/base_page.js.jinja2 +0 -1
- reflex/.templates/jinja/web/utils/context.js.jinja2 +25 -6
- reflex/.templates/web/app/entry.client.js +8 -0
- reflex/.templates/web/app/routes.js +10 -0
- reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +12 -32
- reflex/.templates/web/postcss.config.js +1 -1
- reflex/.templates/web/react-router.config.js +6 -0
- reflex/.templates/web/utils/client_side_routing.js +21 -19
- reflex/.templates/web/utils/react-theme.js +89 -0
- reflex/.templates/web/utils/state.js +155 -67
- reflex/.templates/web/vite.config.js +32 -0
- reflex/__init__.py +1 -6
- reflex/__init__.pyi +0 -4
- reflex/app.py +69 -132
- reflex/base.py +1 -87
- reflex/compiler/compiler.py +40 -3
- reflex/compiler/utils.py +54 -28
- reflex/components/__init__.py +0 -2
- reflex/components/__init__.pyi +0 -3
- reflex/components/base/__init__.py +1 -5
- reflex/components/base/__init__.pyi +4 -6
- reflex/components/base/app_wrap.pyi +5 -4
- reflex/components/base/body.pyi +5 -4
- reflex/components/base/document.py +18 -14
- reflex/components/base/document.pyi +83 -27
- reflex/components/base/error_boundary.pyi +5 -4
- reflex/components/base/fragment.pyi +5 -4
- reflex/components/base/link.pyi +9 -7
- reflex/components/base/meta.pyi +17 -13
- reflex/components/base/script.py +60 -58
- reflex/components/base/script.pyi +246 -31
- reflex/components/base/strict_mode.pyi +5 -4
- reflex/components/component.py +109 -194
- reflex/components/core/__init__.py +1 -0
- reflex/components/core/__init__.pyi +1 -0
- reflex/components/core/auto_scroll.pyi +5 -4
- reflex/components/core/banner.pyi +25 -19
- reflex/components/core/client_side_routing.py +7 -6
- reflex/components/core/client_side_routing.pyi +6 -56
- reflex/components/core/clipboard.pyi +5 -4
- reflex/components/core/debounce.py +1 -0
- reflex/components/core/debounce.pyi +5 -4
- reflex/components/core/foreach.py +3 -2
- reflex/components/core/helmet.py +14 -0
- reflex/components/{next/base.pyi → core/helmet.pyi} +10 -7
- reflex/components/core/html.pyi +5 -4
- reflex/components/core/sticky.pyi +17 -13
- reflex/components/core/upload.py +2 -1
- reflex/components/core/upload.pyi +21 -16
- reflex/components/datadisplay/code.pyi +9 -7
- reflex/components/datadisplay/dataeditor.pyi +5 -4
- reflex/components/datadisplay/shiki_code_block.pyi +13 -10
- reflex/components/dynamic.py +4 -5
- reflex/components/el/element.pyi +5 -4
- reflex/components/el/elements/base.pyi +5 -4
- reflex/components/el/elements/forms.pyi +69 -52
- reflex/components/el/elements/inline.pyi +113 -85
- reflex/components/el/elements/media.pyi +105 -79
- reflex/components/el/elements/metadata.pyi +25 -19
- reflex/components/el/elements/other.pyi +29 -22
- reflex/components/el/elements/scripts.pyi +13 -10
- reflex/components/el/elements/sectioning.pyi +61 -46
- reflex/components/el/elements/tables.pyi +41 -31
- reflex/components/el/elements/typography.pyi +61 -46
- reflex/components/field.py +175 -0
- reflex/components/gridjs/datatable.py +2 -2
- reflex/components/gridjs/datatable.pyi +11 -9
- reflex/components/lucide/icon.py +6 -2
- reflex/components/lucide/icon.pyi +15 -10
- reflex/components/markdown/markdown.pyi +5 -4
- reflex/components/moment/moment.pyi +5 -4
- reflex/components/plotly/plotly.pyi +19 -10
- reflex/components/props.py +376 -27
- reflex/components/radix/primitives/accordion.py +8 -1
- reflex/components/radix/primitives/accordion.pyi +29 -22
- reflex/components/radix/primitives/base.pyi +9 -7
- reflex/components/radix/primitives/drawer.pyi +45 -34
- reflex/components/radix/primitives/form.pyi +41 -31
- reflex/components/radix/primitives/progress.pyi +21 -16
- reflex/components/radix/primitives/slider.pyi +21 -16
- reflex/components/radix/themes/base.py +3 -3
- reflex/components/radix/themes/base.pyi +33 -25
- reflex/components/radix/themes/color_mode.pyi +13 -10
- reflex/components/radix/themes/components/alert_dialog.pyi +29 -22
- reflex/components/radix/themes/components/aspect_ratio.pyi +5 -4
- reflex/components/radix/themes/components/avatar.pyi +5 -4
- reflex/components/radix/themes/components/badge.pyi +5 -4
- reflex/components/radix/themes/components/button.pyi +5 -4
- reflex/components/radix/themes/components/callout.pyi +21 -16
- reflex/components/radix/themes/components/card.pyi +5 -4
- reflex/components/radix/themes/components/checkbox.pyi +13 -10
- reflex/components/radix/themes/components/checkbox_cards.pyi +9 -7
- reflex/components/radix/themes/components/checkbox_group.pyi +9 -7
- reflex/components/radix/themes/components/context_menu.pyi +53 -40
- reflex/components/radix/themes/components/data_list.pyi +17 -13
- reflex/components/radix/themes/components/dialog.pyi +29 -22
- reflex/components/radix/themes/components/dropdown_menu.pyi +33 -25
- reflex/components/radix/themes/components/hover_card.pyi +17 -13
- reflex/components/radix/themes/components/icon_button.pyi +5 -4
- reflex/components/radix/themes/components/inset.pyi +5 -4
- reflex/components/radix/themes/components/popover.pyi +17 -13
- reflex/components/radix/themes/components/progress.pyi +5 -4
- reflex/components/radix/themes/components/radio.pyi +5 -4
- reflex/components/radix/themes/components/radio_cards.pyi +9 -7
- reflex/components/radix/themes/components/radio_group.pyi +17 -13
- reflex/components/radix/themes/components/scroll_area.pyi +5 -4
- reflex/components/radix/themes/components/segmented_control.pyi +9 -7
- reflex/components/radix/themes/components/select.pyi +37 -28
- reflex/components/radix/themes/components/separator.pyi +5 -4
- reflex/components/radix/themes/components/skeleton.pyi +5 -4
- reflex/components/radix/themes/components/slider.pyi +5 -4
- reflex/components/radix/themes/components/spinner.pyi +5 -4
- reflex/components/radix/themes/components/switch.pyi +5 -4
- reflex/components/radix/themes/components/table.pyi +29 -22
- reflex/components/radix/themes/components/tabs.pyi +21 -16
- reflex/components/radix/themes/components/text_area.pyi +5 -4
- reflex/components/radix/themes/components/text_field.pyi +13 -10
- reflex/components/radix/themes/components/tooltip.pyi +5 -4
- reflex/components/radix/themes/layout/base.pyi +5 -4
- reflex/components/radix/themes/layout/box.pyi +5 -4
- reflex/components/radix/themes/layout/center.pyi +5 -4
- reflex/components/radix/themes/layout/container.pyi +5 -4
- reflex/components/radix/themes/layout/flex.pyi +5 -4
- reflex/components/radix/themes/layout/grid.pyi +5 -4
- reflex/components/radix/themes/layout/list.pyi +21 -16
- reflex/components/radix/themes/layout/section.pyi +5 -4
- reflex/components/radix/themes/layout/spacer.pyi +5 -4
- reflex/components/radix/themes/layout/stack.pyi +13 -10
- reflex/components/radix/themes/typography/blockquote.pyi +5 -4
- reflex/components/radix/themes/typography/code.pyi +5 -4
- reflex/components/radix/themes/typography/heading.pyi +5 -4
- reflex/components/radix/themes/typography/link.py +42 -9
- reflex/components/radix/themes/typography/link.pyi +311 -6
- reflex/components/radix/themes/typography/text.pyi +29 -22
- reflex/components/react_player/audio.pyi +5 -4
- reflex/components/react_player/react_player.pyi +5 -4
- reflex/components/react_player/video.pyi +5 -4
- reflex/components/recharts/cartesian.py +2 -1
- reflex/components/recharts/cartesian.pyi +65 -46
- reflex/components/recharts/charts.py +4 -2
- reflex/components/recharts/charts.pyi +36 -24
- reflex/components/recharts/general.pyi +24 -18
- reflex/components/recharts/polar.py +8 -4
- reflex/components/recharts/polar.pyi +16 -10
- reflex/components/recharts/recharts.pyi +9 -7
- reflex/components/sonner/toast.py +2 -2
- reflex/components/sonner/toast.pyi +7 -6
- reflex/config.py +3 -77
- reflex/constants/__init__.py +1 -0
- reflex/constants/base.py +38 -8
- reflex/constants/compiler.py +4 -2
- reflex/constants/event.py +1 -0
- reflex/constants/installer.py +23 -16
- reflex/constants/state.py +2 -0
- reflex/custom_components/custom_components.py +0 -14
- reflex/environment.py +1 -1
- reflex/event.py +178 -81
- reflex/experimental/__init__.py +0 -30
- reflex/istate/proxy.py +5 -3
- reflex/page.py +0 -27
- reflex/plugins/__init__.py +3 -2
- reflex/plugins/base.py +5 -1
- reflex/plugins/shared_tailwind.py +158 -0
- reflex/plugins/sitemap.py +206 -0
- reflex/plugins/tailwind_v3.py +13 -106
- reflex/plugins/tailwind_v4.py +15 -108
- reflex/reflex.py +1 -0
- reflex/state.py +134 -140
- reflex/testing.py +57 -9
- reflex/utils/build.py +9 -69
- reflex/utils/exec.py +59 -161
- reflex/utils/export.py +1 -1
- reflex/utils/imports.py +0 -4
- reflex/utils/misc.py +28 -0
- reflex/utils/prerequisites.py +62 -59
- reflex/utils/processes.py +6 -6
- reflex/utils/pyi_generator.py +21 -9
- reflex/utils/serializers.py +14 -1
- reflex/utils/types.py +196 -61
- reflex/vars/__init__.py +2 -0
- reflex/vars/base.py +367 -134
- {reflex-0.7.14a5.dist-info → reflex-0.8.0a1.dist-info}/METADATA +12 -5
- {reflex-0.7.14a5.dist-info → reflex-0.8.0a1.dist-info}/RECORD +190 -196
- reflex/.templates/web/next.config.js +0 -7
- reflex/components/base/head.py +0 -20
- reflex/components/base/head.pyi +0 -116
- reflex/components/next/__init__.py +0 -10
- reflex/components/next/base.py +0 -7
- reflex/components/next/image.py +0 -117
- reflex/components/next/image.pyi +0 -94
- reflex/components/next/link.py +0 -20
- reflex/components/next/link.pyi +0 -67
- reflex/components/next/video.py +0 -38
- reflex/components/next/video.pyi +0 -68
- reflex/components/suneditor/__init__.py +0 -5
- reflex/components/suneditor/editor.py +0 -269
- reflex/components/suneditor/editor.pyi +0 -199
- reflex/experimental/layout.py +0 -254
- {reflex-0.7.14a5.dist-info → reflex-0.8.0a1.dist-info}/WHEEL +0 -0
- {reflex-0.7.14a5.dist-info → reflex-0.8.0a1.dist-info}/entry_points.txt +0 -0
- {reflex-0.7.14a5.dist-info → reflex-0.8.0a1.dist-info}/licenses/LICENSE +0 -0
|
@@ -10,14 +10,318 @@ from reflex.components.component import MemoizationLeaf
|
|
|
10
10
|
from reflex.components.core.breakpoints import Breakpoints
|
|
11
11
|
from reflex.components.el.elements.inline import A
|
|
12
12
|
from reflex.components.markdown.markdown import MarkdownComponentMap
|
|
13
|
-
from reflex.components.next.link import NextLink
|
|
14
13
|
from reflex.components.radix.themes.base import RadixThemesComponent
|
|
15
|
-
from reflex.event import EventType
|
|
14
|
+
from reflex.event import EventType, PointerEventInfo
|
|
16
15
|
from reflex.utils.imports import ImportDict
|
|
17
16
|
from reflex.vars.base import Var
|
|
18
17
|
|
|
19
18
|
LiteralLinkUnderline = Literal["auto", "hover", "always", "none"]
|
|
20
|
-
|
|
19
|
+
LiteralLinkDiscover = Literal["none", "render"]
|
|
20
|
+
|
|
21
|
+
class ReactRouterLink(A):
|
|
22
|
+
@overload
|
|
23
|
+
@classmethod
|
|
24
|
+
def create( # type: ignore
|
|
25
|
+
cls,
|
|
26
|
+
*children,
|
|
27
|
+
to: Var[str] | str | None = None,
|
|
28
|
+
replace: Var[bool] | bool | None = None,
|
|
29
|
+
reload_document: Var[bool] | bool | None = None,
|
|
30
|
+
prevent_scroll_reset: Var[bool] | bool | None = None,
|
|
31
|
+
discover: Literal["none", "render"]
|
|
32
|
+
| Var[Literal["none", "render"]]
|
|
33
|
+
| None = None,
|
|
34
|
+
view_transition: Var[bool] | bool | None = None,
|
|
35
|
+
download: Var[bool | str] | bool | str | None = None,
|
|
36
|
+
href: Var[str] | str | None = None,
|
|
37
|
+
href_lang: Var[str] | str | None = None,
|
|
38
|
+
media: Var[str] | str | None = None,
|
|
39
|
+
ping: Var[str] | str | None = None,
|
|
40
|
+
referrer_policy: Literal[
|
|
41
|
+
"",
|
|
42
|
+
"no-referrer",
|
|
43
|
+
"no-referrer-when-downgrade",
|
|
44
|
+
"origin",
|
|
45
|
+
"origin-when-cross-origin",
|
|
46
|
+
"same-origin",
|
|
47
|
+
"strict-origin",
|
|
48
|
+
"strict-origin-when-cross-origin",
|
|
49
|
+
"unsafe-url",
|
|
50
|
+
]
|
|
51
|
+
| Var[
|
|
52
|
+
Literal[
|
|
53
|
+
"",
|
|
54
|
+
"no-referrer",
|
|
55
|
+
"no-referrer-when-downgrade",
|
|
56
|
+
"origin",
|
|
57
|
+
"origin-when-cross-origin",
|
|
58
|
+
"same-origin",
|
|
59
|
+
"strict-origin",
|
|
60
|
+
"strict-origin-when-cross-origin",
|
|
61
|
+
"unsafe-url",
|
|
62
|
+
]
|
|
63
|
+
]
|
|
64
|
+
| None = None,
|
|
65
|
+
rel: Var[str] | str | None = None,
|
|
66
|
+
target: Literal["_blank", "_parent", "_self", "_top"]
|
|
67
|
+
| Var[Literal["_blank", "_parent", "_self", "_top"] | str]
|
|
68
|
+
| str
|
|
69
|
+
| None = None,
|
|
70
|
+
access_key: Var[str] | str | None = None,
|
|
71
|
+
auto_capitalize: Literal[
|
|
72
|
+
"characters", "none", "off", "on", "sentences", "words"
|
|
73
|
+
]
|
|
74
|
+
| Var[Literal["characters", "none", "off", "on", "sentences", "words"]]
|
|
75
|
+
| None = None,
|
|
76
|
+
content_editable: Literal["inherit", "plaintext-only", False, True]
|
|
77
|
+
| Var[Literal["inherit", "plaintext-only", False, True]]
|
|
78
|
+
| None = None,
|
|
79
|
+
context_menu: Var[str] | str | None = None,
|
|
80
|
+
dir: Var[str] | str | None = None,
|
|
81
|
+
draggable: Var[bool] | bool | None = None,
|
|
82
|
+
enter_key_hint: Literal[
|
|
83
|
+
"done", "enter", "go", "next", "previous", "search", "send"
|
|
84
|
+
]
|
|
85
|
+
| Var[Literal["done", "enter", "go", "next", "previous", "search", "send"]]
|
|
86
|
+
| None = None,
|
|
87
|
+
hidden: Var[bool] | bool | None = None,
|
|
88
|
+
input_mode: Literal[
|
|
89
|
+
"decimal", "email", "none", "numeric", "search", "tel", "text", "url"
|
|
90
|
+
]
|
|
91
|
+
| Var[
|
|
92
|
+
Literal[
|
|
93
|
+
"decimal", "email", "none", "numeric", "search", "tel", "text", "url"
|
|
94
|
+
]
|
|
95
|
+
]
|
|
96
|
+
| None = None,
|
|
97
|
+
item_prop: Var[str] | str | None = None,
|
|
98
|
+
lang: Var[str] | str | None = None,
|
|
99
|
+
role: Literal[
|
|
100
|
+
"alert",
|
|
101
|
+
"alertdialog",
|
|
102
|
+
"application",
|
|
103
|
+
"article",
|
|
104
|
+
"banner",
|
|
105
|
+
"button",
|
|
106
|
+
"cell",
|
|
107
|
+
"checkbox",
|
|
108
|
+
"columnheader",
|
|
109
|
+
"combobox",
|
|
110
|
+
"complementary",
|
|
111
|
+
"contentinfo",
|
|
112
|
+
"definition",
|
|
113
|
+
"dialog",
|
|
114
|
+
"directory",
|
|
115
|
+
"document",
|
|
116
|
+
"feed",
|
|
117
|
+
"figure",
|
|
118
|
+
"form",
|
|
119
|
+
"grid",
|
|
120
|
+
"gridcell",
|
|
121
|
+
"group",
|
|
122
|
+
"heading",
|
|
123
|
+
"img",
|
|
124
|
+
"link",
|
|
125
|
+
"list",
|
|
126
|
+
"listbox",
|
|
127
|
+
"listitem",
|
|
128
|
+
"log",
|
|
129
|
+
"main",
|
|
130
|
+
"marquee",
|
|
131
|
+
"math",
|
|
132
|
+
"menu",
|
|
133
|
+
"menubar",
|
|
134
|
+
"menuitem",
|
|
135
|
+
"menuitemcheckbox",
|
|
136
|
+
"menuitemradio",
|
|
137
|
+
"navigation",
|
|
138
|
+
"none",
|
|
139
|
+
"note",
|
|
140
|
+
"option",
|
|
141
|
+
"presentation",
|
|
142
|
+
"progressbar",
|
|
143
|
+
"radio",
|
|
144
|
+
"radiogroup",
|
|
145
|
+
"region",
|
|
146
|
+
"row",
|
|
147
|
+
"rowgroup",
|
|
148
|
+
"rowheader",
|
|
149
|
+
"scrollbar",
|
|
150
|
+
"search",
|
|
151
|
+
"searchbox",
|
|
152
|
+
"separator",
|
|
153
|
+
"slider",
|
|
154
|
+
"spinbutton",
|
|
155
|
+
"status",
|
|
156
|
+
"switch",
|
|
157
|
+
"tab",
|
|
158
|
+
"table",
|
|
159
|
+
"tablist",
|
|
160
|
+
"tabpanel",
|
|
161
|
+
"term",
|
|
162
|
+
"textbox",
|
|
163
|
+
"timer",
|
|
164
|
+
"toolbar",
|
|
165
|
+
"tooltip",
|
|
166
|
+
"tree",
|
|
167
|
+
"treegrid",
|
|
168
|
+
"treeitem",
|
|
169
|
+
]
|
|
170
|
+
| Var[
|
|
171
|
+
Literal[
|
|
172
|
+
"alert",
|
|
173
|
+
"alertdialog",
|
|
174
|
+
"application",
|
|
175
|
+
"article",
|
|
176
|
+
"banner",
|
|
177
|
+
"button",
|
|
178
|
+
"cell",
|
|
179
|
+
"checkbox",
|
|
180
|
+
"columnheader",
|
|
181
|
+
"combobox",
|
|
182
|
+
"complementary",
|
|
183
|
+
"contentinfo",
|
|
184
|
+
"definition",
|
|
185
|
+
"dialog",
|
|
186
|
+
"directory",
|
|
187
|
+
"document",
|
|
188
|
+
"feed",
|
|
189
|
+
"figure",
|
|
190
|
+
"form",
|
|
191
|
+
"grid",
|
|
192
|
+
"gridcell",
|
|
193
|
+
"group",
|
|
194
|
+
"heading",
|
|
195
|
+
"img",
|
|
196
|
+
"link",
|
|
197
|
+
"list",
|
|
198
|
+
"listbox",
|
|
199
|
+
"listitem",
|
|
200
|
+
"log",
|
|
201
|
+
"main",
|
|
202
|
+
"marquee",
|
|
203
|
+
"math",
|
|
204
|
+
"menu",
|
|
205
|
+
"menubar",
|
|
206
|
+
"menuitem",
|
|
207
|
+
"menuitemcheckbox",
|
|
208
|
+
"menuitemradio",
|
|
209
|
+
"navigation",
|
|
210
|
+
"none",
|
|
211
|
+
"note",
|
|
212
|
+
"option",
|
|
213
|
+
"presentation",
|
|
214
|
+
"progressbar",
|
|
215
|
+
"radio",
|
|
216
|
+
"radiogroup",
|
|
217
|
+
"region",
|
|
218
|
+
"row",
|
|
219
|
+
"rowgroup",
|
|
220
|
+
"rowheader",
|
|
221
|
+
"scrollbar",
|
|
222
|
+
"search",
|
|
223
|
+
"searchbox",
|
|
224
|
+
"separator",
|
|
225
|
+
"slider",
|
|
226
|
+
"spinbutton",
|
|
227
|
+
"status",
|
|
228
|
+
"switch",
|
|
229
|
+
"tab",
|
|
230
|
+
"table",
|
|
231
|
+
"tablist",
|
|
232
|
+
"tabpanel",
|
|
233
|
+
"term",
|
|
234
|
+
"textbox",
|
|
235
|
+
"timer",
|
|
236
|
+
"toolbar",
|
|
237
|
+
"tooltip",
|
|
238
|
+
"tree",
|
|
239
|
+
"treegrid",
|
|
240
|
+
"treeitem",
|
|
241
|
+
]
|
|
242
|
+
]
|
|
243
|
+
| None = None,
|
|
244
|
+
slot: Var[str] | str | None = None,
|
|
245
|
+
spell_check: Var[bool] | bool | None = None,
|
|
246
|
+
tab_index: Var[int] | int | None = None,
|
|
247
|
+
title: Var[str] | str | None = None,
|
|
248
|
+
style: Sequence[Mapping[str, Any]]
|
|
249
|
+
| Mapping[str, Any]
|
|
250
|
+
| Var[Mapping[str, Any]]
|
|
251
|
+
| Breakpoints
|
|
252
|
+
| None = None,
|
|
253
|
+
key: Any | None = None,
|
|
254
|
+
id: Any | None = None,
|
|
255
|
+
ref: Var | None = None,
|
|
256
|
+
class_name: Any | None = None,
|
|
257
|
+
autofocus: bool | None = None,
|
|
258
|
+
custom_attrs: dict[str, Var | Any] | None = None,
|
|
259
|
+
on_blur: EventType[()] | None = None,
|
|
260
|
+
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
261
|
+
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
262
|
+
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
263
|
+
on_focus: EventType[()] | None = None,
|
|
264
|
+
on_mount: EventType[()] | None = None,
|
|
265
|
+
on_mouse_down: EventType[()] | None = None,
|
|
266
|
+
on_mouse_enter: EventType[()] | None = None,
|
|
267
|
+
on_mouse_leave: EventType[()] | None = None,
|
|
268
|
+
on_mouse_move: EventType[()] | None = None,
|
|
269
|
+
on_mouse_out: EventType[()] | None = None,
|
|
270
|
+
on_mouse_over: EventType[()] | None = None,
|
|
271
|
+
on_mouse_up: EventType[()] | None = None,
|
|
272
|
+
on_scroll: EventType[()] | None = None,
|
|
273
|
+
on_scroll_end: EventType[()] | None = None,
|
|
274
|
+
on_unmount: EventType[()] | None = None,
|
|
275
|
+
**props,
|
|
276
|
+
) -> ReactRouterLink:
|
|
277
|
+
"""Create the component.
|
|
278
|
+
|
|
279
|
+
Args:
|
|
280
|
+
*children: The children of the component.
|
|
281
|
+
to: The page to link to.
|
|
282
|
+
replace: Replaces the current entry in the history stack instead of pushing a new one onto it.
|
|
283
|
+
reload_document: Will use document navigation instead of client side routing when the link is clicked: the browser will handle the transition normally (as if it were an <a href>).
|
|
284
|
+
prevent_scroll_reset: Prevents the scroll position from being reset to the top of the window when the link is clicked and the app is using ScrollRestoration. This only prevents new locations resetting scroll to the top, scroll position will be restored for back/forward button navigation.
|
|
285
|
+
discover: Defines the link discovery behavior
|
|
286
|
+
view_transition: Enables a View Transition for this navigation.
|
|
287
|
+
download: Specifies that the target (the file specified in the href attribute) will be downloaded when a user clicks on the hyperlink.
|
|
288
|
+
href: Specifies the URL of the page the link goes to
|
|
289
|
+
href_lang: Specifies the language of the linked document
|
|
290
|
+
media: Specifies what media/device the linked document is optimized for
|
|
291
|
+
ping: Specifies which referrer is sent when fetching the resource
|
|
292
|
+
referrer_policy: Specifies the relationship between the current document and the linked document
|
|
293
|
+
rel: Specifies the relationship between the linked document and the current document
|
|
294
|
+
target: Specifies where to open the linked document
|
|
295
|
+
access_key: Provides a hint for generating a keyboard shortcut for the current element.
|
|
296
|
+
auto_capitalize: Controls whether and how text input is automatically capitalized as it is entered/edited by the user.
|
|
297
|
+
content_editable: Indicates whether the element's content is editable.
|
|
298
|
+
context_menu: Defines the ID of a <menu> element which will serve as the element's context menu.
|
|
299
|
+
dir: Defines the text direction. Allowed values are ltr (Left-To-Right) or rtl (Right-To-Left)
|
|
300
|
+
draggable: Defines whether the element can be dragged.
|
|
301
|
+
enter_key_hint: Hints what media types the media element is able to play.
|
|
302
|
+
hidden: Defines whether the element is hidden.
|
|
303
|
+
input_mode: Defines the type of the element.
|
|
304
|
+
item_prop: Defines the name of the element for metadata purposes.
|
|
305
|
+
lang: Defines the language used in the element.
|
|
306
|
+
role: Defines the role of the element.
|
|
307
|
+
slot: Assigns a slot in a shadow DOM shadow tree to an element.
|
|
308
|
+
spell_check: Defines whether the element may be checked for spelling errors.
|
|
309
|
+
tab_index: Defines the position of the current element in the tabbing order.
|
|
310
|
+
title: Defines a tooltip for the element.
|
|
311
|
+
style: The style of the component.
|
|
312
|
+
key: A unique key for the component.
|
|
313
|
+
id: The id for the component.
|
|
314
|
+
ref: The Var to pass as the ref to the component.
|
|
315
|
+
class_name: The class name for the component.
|
|
316
|
+
autofocus: Whether the component should take the focus once the page is loaded
|
|
317
|
+
custom_attrs: custom attribute
|
|
318
|
+
**props: The props of the component.
|
|
319
|
+
|
|
320
|
+
Returns:
|
|
321
|
+
The component.
|
|
322
|
+
"""
|
|
323
|
+
|
|
324
|
+
_KNOWN_REACT_ROUTER_LINK_PROPS = frozenset(ReactRouterLink.get_props())
|
|
21
325
|
|
|
22
326
|
class Link(RadixThemesComponent, A, MemoizationLeaf, MarkdownComponentMap):
|
|
23
327
|
def add_imports(self) -> ImportDict: ...
|
|
@@ -337,9 +641,9 @@ class Link(RadixThemesComponent, A, MemoizationLeaf, MarkdownComponentMap):
|
|
|
337
641
|
autofocus: bool | None = None,
|
|
338
642
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
339
643
|
on_blur: EventType[()] | None = None,
|
|
340
|
-
on_click: EventType[()] | None = None,
|
|
341
|
-
on_context_menu: EventType[()] | None = None,
|
|
342
|
-
on_double_click: EventType[()] | None = None,
|
|
644
|
+
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
645
|
+
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
646
|
+
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
343
647
|
on_focus: EventType[()] | None = None,
|
|
344
648
|
on_mount: EventType[()] | None = None,
|
|
345
649
|
on_mouse_down: EventType[()] | None = None,
|
|
@@ -350,6 +654,7 @@ class Link(RadixThemesComponent, A, MemoizationLeaf, MarkdownComponentMap):
|
|
|
350
654
|
on_mouse_over: EventType[()] | None = None,
|
|
351
655
|
on_mouse_up: EventType[()] | None = None,
|
|
352
656
|
on_scroll: EventType[()] | None = None,
|
|
657
|
+
on_scroll_end: EventType[()] | None = None,
|
|
353
658
|
on_unmount: EventType[()] | None = None,
|
|
354
659
|
**props,
|
|
355
660
|
) -> Link:
|
|
@@ -11,7 +11,7 @@ from reflex.components.core.breakpoints import Breakpoints
|
|
|
11
11
|
from reflex.components.el import elements
|
|
12
12
|
from reflex.components.markdown.markdown import MarkdownComponentMap
|
|
13
13
|
from reflex.components.radix.themes.base import RadixThemesComponent
|
|
14
|
-
from reflex.event import EventType
|
|
14
|
+
from reflex.event import EventType, PointerEventInfo
|
|
15
15
|
from reflex.vars.base import Var
|
|
16
16
|
|
|
17
17
|
LiteralType = Literal[
|
|
@@ -363,9 +363,9 @@ class Text(elements.Span, RadixThemesComponent, MarkdownComponentMap):
|
|
|
363
363
|
autofocus: bool | None = None,
|
|
364
364
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
365
365
|
on_blur: EventType[()] | None = None,
|
|
366
|
-
on_click: EventType[()] | None = None,
|
|
367
|
-
on_context_menu: EventType[()] | None = None,
|
|
368
|
-
on_double_click: EventType[()] | None = None,
|
|
366
|
+
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
367
|
+
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
368
|
+
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
369
369
|
on_focus: EventType[()] | None = None,
|
|
370
370
|
on_mount: EventType[()] | None = None,
|
|
371
371
|
on_mouse_down: EventType[()] | None = None,
|
|
@@ -376,6 +376,7 @@ class Text(elements.Span, RadixThemesComponent, MarkdownComponentMap):
|
|
|
376
376
|
on_mouse_over: EventType[()] | None = None,
|
|
377
377
|
on_mouse_up: EventType[()] | None = None,
|
|
378
378
|
on_scroll: EventType[()] | None = None,
|
|
379
|
+
on_scroll_end: EventType[()] | None = None,
|
|
379
380
|
on_unmount: EventType[()] | None = None,
|
|
380
381
|
**props,
|
|
381
382
|
) -> Text:
|
|
@@ -751,9 +752,9 @@ class Span(Text):
|
|
|
751
752
|
autofocus: bool | None = None,
|
|
752
753
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
753
754
|
on_blur: EventType[()] | None = None,
|
|
754
|
-
on_click: EventType[()] | None = None,
|
|
755
|
-
on_context_menu: EventType[()] | None = None,
|
|
756
|
-
on_double_click: EventType[()] | None = None,
|
|
755
|
+
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
756
|
+
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
757
|
+
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
757
758
|
on_focus: EventType[()] | None = None,
|
|
758
759
|
on_mount: EventType[()] | None = None,
|
|
759
760
|
on_mouse_down: EventType[()] | None = None,
|
|
@@ -764,6 +765,7 @@ class Span(Text):
|
|
|
764
765
|
on_mouse_over: EventType[()] | None = None,
|
|
765
766
|
on_mouse_up: EventType[()] | None = None,
|
|
766
767
|
on_scroll: EventType[()] | None = None,
|
|
768
|
+
on_scroll_end: EventType[()] | None = None,
|
|
767
769
|
on_unmount: EventType[()] | None = None,
|
|
768
770
|
**props,
|
|
769
771
|
) -> Span:
|
|
@@ -1007,9 +1009,9 @@ class Em(elements.Em, RadixThemesComponent):
|
|
|
1007
1009
|
autofocus: bool | None = None,
|
|
1008
1010
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
1009
1011
|
on_blur: EventType[()] | None = None,
|
|
1010
|
-
on_click: EventType[()] | None = None,
|
|
1011
|
-
on_context_menu: EventType[()] | None = None,
|
|
1012
|
-
on_double_click: EventType[()] | None = None,
|
|
1012
|
+
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
1013
|
+
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
1014
|
+
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
1013
1015
|
on_focus: EventType[()] | None = None,
|
|
1014
1016
|
on_mount: EventType[()] | None = None,
|
|
1015
1017
|
on_mouse_down: EventType[()] | None = None,
|
|
@@ -1020,6 +1022,7 @@ class Em(elements.Em, RadixThemesComponent):
|
|
|
1020
1022
|
on_mouse_over: EventType[()] | None = None,
|
|
1021
1023
|
on_mouse_up: EventType[()] | None = None,
|
|
1022
1024
|
on_scroll: EventType[()] | None = None,
|
|
1025
|
+
on_scroll_end: EventType[()] | None = None,
|
|
1023
1026
|
on_unmount: EventType[()] | None = None,
|
|
1024
1027
|
**props,
|
|
1025
1028
|
) -> Em:
|
|
@@ -1258,9 +1261,9 @@ class Kbd(elements.Kbd, RadixThemesComponent):
|
|
|
1258
1261
|
autofocus: bool | None = None,
|
|
1259
1262
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
1260
1263
|
on_blur: EventType[()] | None = None,
|
|
1261
|
-
on_click: EventType[()] | None = None,
|
|
1262
|
-
on_context_menu: EventType[()] | None = None,
|
|
1263
|
-
on_double_click: EventType[()] | None = None,
|
|
1264
|
+
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
1265
|
+
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
1266
|
+
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
1264
1267
|
on_focus: EventType[()] | None = None,
|
|
1265
1268
|
on_mount: EventType[()] | None = None,
|
|
1266
1269
|
on_mouse_down: EventType[()] | None = None,
|
|
@@ -1271,6 +1274,7 @@ class Kbd(elements.Kbd, RadixThemesComponent):
|
|
|
1271
1274
|
on_mouse_over: EventType[()] | None = None,
|
|
1272
1275
|
on_mouse_up: EventType[()] | None = None,
|
|
1273
1276
|
on_scroll: EventType[()] | None = None,
|
|
1277
|
+
on_scroll_end: EventType[()] | None = None,
|
|
1274
1278
|
on_unmount: EventType[()] | None = None,
|
|
1275
1279
|
**props,
|
|
1276
1280
|
) -> Kbd:
|
|
@@ -1508,9 +1512,9 @@ class Quote(elements.Q, RadixThemesComponent):
|
|
|
1508
1512
|
autofocus: bool | None = None,
|
|
1509
1513
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
1510
1514
|
on_blur: EventType[()] | None = None,
|
|
1511
|
-
on_click: EventType[()] | None = None,
|
|
1512
|
-
on_context_menu: EventType[()] | None = None,
|
|
1513
|
-
on_double_click: EventType[()] | None = None,
|
|
1515
|
+
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
1516
|
+
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
1517
|
+
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
1514
1518
|
on_focus: EventType[()] | None = None,
|
|
1515
1519
|
on_mount: EventType[()] | None = None,
|
|
1516
1520
|
on_mouse_down: EventType[()] | None = None,
|
|
@@ -1521,6 +1525,7 @@ class Quote(elements.Q, RadixThemesComponent):
|
|
|
1521
1525
|
on_mouse_over: EventType[()] | None = None,
|
|
1522
1526
|
on_mouse_up: EventType[()] | None = None,
|
|
1523
1527
|
on_scroll: EventType[()] | None = None,
|
|
1528
|
+
on_scroll_end: EventType[()] | None = None,
|
|
1524
1529
|
on_unmount: EventType[()] | None = None,
|
|
1525
1530
|
**props,
|
|
1526
1531
|
) -> Quote:
|
|
@@ -1757,9 +1762,9 @@ class Strong(elements.Strong, RadixThemesComponent):
|
|
|
1757
1762
|
autofocus: bool | None = None,
|
|
1758
1763
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
1759
1764
|
on_blur: EventType[()] | None = None,
|
|
1760
|
-
on_click: EventType[()] | None = None,
|
|
1761
|
-
on_context_menu: EventType[()] | None = None,
|
|
1762
|
-
on_double_click: EventType[()] | None = None,
|
|
1765
|
+
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
1766
|
+
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
1767
|
+
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
1763
1768
|
on_focus: EventType[()] | None = None,
|
|
1764
1769
|
on_mount: EventType[()] | None = None,
|
|
1765
1770
|
on_mouse_down: EventType[()] | None = None,
|
|
@@ -1770,6 +1775,7 @@ class Strong(elements.Strong, RadixThemesComponent):
|
|
|
1770
1775
|
on_mouse_over: EventType[()] | None = None,
|
|
1771
1776
|
on_mouse_up: EventType[()] | None = None,
|
|
1772
1777
|
on_scroll: EventType[()] | None = None,
|
|
1778
|
+
on_scroll_end: EventType[()] | None = None,
|
|
1773
1779
|
on_unmount: EventType[()] | None = None,
|
|
1774
1780
|
**props,
|
|
1775
1781
|
) -> Strong:
|
|
@@ -2141,9 +2147,9 @@ class TextNamespace(ComponentNamespace):
|
|
|
2141
2147
|
autofocus: bool | None = None,
|
|
2142
2148
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
2143
2149
|
on_blur: EventType[()] | None = None,
|
|
2144
|
-
on_click: EventType[()] | None = None,
|
|
2145
|
-
on_context_menu: EventType[()] | None = None,
|
|
2146
|
-
on_double_click: EventType[()] | None = None,
|
|
2150
|
+
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
2151
|
+
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
2152
|
+
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
2147
2153
|
on_focus: EventType[()] | None = None,
|
|
2148
2154
|
on_mount: EventType[()] | None = None,
|
|
2149
2155
|
on_mouse_down: EventType[()] | None = None,
|
|
@@ -2154,6 +2160,7 @@ class TextNamespace(ComponentNamespace):
|
|
|
2154
2160
|
on_mouse_over: EventType[()] | None = None,
|
|
2155
2161
|
on_mouse_up: EventType[()] | None = None,
|
|
2156
2162
|
on_scroll: EventType[()] | None = None,
|
|
2163
|
+
on_scroll_end: EventType[()] | None = None,
|
|
2157
2164
|
on_unmount: EventType[()] | None = None,
|
|
2158
2165
|
**props,
|
|
2159
2166
|
) -> Text:
|
|
@@ -9,7 +9,7 @@ from typing import Any, overload
|
|
|
9
9
|
import reflex
|
|
10
10
|
from reflex.components.core.breakpoints import Breakpoints
|
|
11
11
|
from reflex.components.react_player.react_player import ReactPlayer
|
|
12
|
-
from reflex.event import EventType
|
|
12
|
+
from reflex.event import EventType, PointerEventInfo
|
|
13
13
|
from reflex.vars.base import Var
|
|
14
14
|
|
|
15
15
|
class Audio(ReactPlayer):
|
|
@@ -39,11 +39,11 @@ class Audio(ReactPlayer):
|
|
|
39
39
|
on_blur: EventType[()] | None = None,
|
|
40
40
|
on_buffer: EventType[()] | None = None,
|
|
41
41
|
on_buffer_end: EventType[()] | None = None,
|
|
42
|
-
on_click: EventType[()] | None = None,
|
|
42
|
+
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
43
43
|
on_click_preview: EventType[()] | None = None,
|
|
44
|
-
on_context_menu: EventType[()] | None = None,
|
|
44
|
+
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
45
45
|
on_disable_pip: EventType[()] | None = None,
|
|
46
|
-
on_double_click: EventType[()] | None = None,
|
|
46
|
+
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
47
47
|
on_duration: EventType[()] | EventType[float] | None = None,
|
|
48
48
|
on_enable_pip: EventType[()] | None = None,
|
|
49
49
|
on_ended: EventType[()] | None = None,
|
|
@@ -64,6 +64,7 @@ class Audio(ReactPlayer):
|
|
|
64
64
|
on_progress: EventType[()] | EventType[reflex.components.react_player.react_player.Progress] | None = None,
|
|
65
65
|
on_ready: EventType[()] | None = None,
|
|
66
66
|
on_scroll: EventType[()] | None = None,
|
|
67
|
+
on_scroll_end: EventType[()] | None = None,
|
|
67
68
|
on_seek: EventType[()] | EventType[float] | None = None,
|
|
68
69
|
on_start: EventType[()] | None = None,
|
|
69
70
|
on_unmount: EventType[()] | None = None,
|
|
@@ -8,7 +8,7 @@ from typing import Any, TypedDict, overload
|
|
|
8
8
|
|
|
9
9
|
from reflex.components.component import NoSSRComponent
|
|
10
10
|
from reflex.components.core.breakpoints import Breakpoints
|
|
11
|
-
from reflex.event import EventType
|
|
11
|
+
from reflex.event import EventType, PointerEventInfo
|
|
12
12
|
from reflex.vars.base import Var
|
|
13
13
|
|
|
14
14
|
class Progress(TypedDict):
|
|
@@ -44,11 +44,11 @@ class ReactPlayer(NoSSRComponent):
|
|
|
44
44
|
on_blur: EventType[()] | None = None,
|
|
45
45
|
on_buffer: EventType[()] | None = None,
|
|
46
46
|
on_buffer_end: EventType[()] | None = None,
|
|
47
|
-
on_click: EventType[()] | None = None,
|
|
47
|
+
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
48
48
|
on_click_preview: EventType[()] | None = None,
|
|
49
|
-
on_context_menu: EventType[()] | None = None,
|
|
49
|
+
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
50
50
|
on_disable_pip: EventType[()] | None = None,
|
|
51
|
-
on_double_click: EventType[()] | None = None,
|
|
51
|
+
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
52
52
|
on_duration: EventType[()] | EventType[float] | None = None,
|
|
53
53
|
on_enable_pip: EventType[()] | None = None,
|
|
54
54
|
on_ended: EventType[()] | None = None,
|
|
@@ -69,6 +69,7 @@ class ReactPlayer(NoSSRComponent):
|
|
|
69
69
|
on_progress: EventType[()] | EventType[Progress] | None = None,
|
|
70
70
|
on_ready: EventType[()] | None = None,
|
|
71
71
|
on_scroll: EventType[()] | None = None,
|
|
72
|
+
on_scroll_end: EventType[()] | None = None,
|
|
72
73
|
on_seek: EventType[()] | EventType[float] | None = None,
|
|
73
74
|
on_start: EventType[()] | None = None,
|
|
74
75
|
on_unmount: EventType[()] | None = None,
|
|
@@ -9,7 +9,7 @@ from typing import Any, overload
|
|
|
9
9
|
import reflex
|
|
10
10
|
from reflex.components.core.breakpoints import Breakpoints
|
|
11
11
|
from reflex.components.react_player.react_player import ReactPlayer
|
|
12
|
-
from reflex.event import EventType
|
|
12
|
+
from reflex.event import EventType, PointerEventInfo
|
|
13
13
|
from reflex.vars.base import Var
|
|
14
14
|
|
|
15
15
|
class Video(ReactPlayer):
|
|
@@ -39,11 +39,11 @@ class Video(ReactPlayer):
|
|
|
39
39
|
on_blur: EventType[()] | None = None,
|
|
40
40
|
on_buffer: EventType[()] | None = None,
|
|
41
41
|
on_buffer_end: EventType[()] | None = None,
|
|
42
|
-
on_click: EventType[()] | None = None,
|
|
42
|
+
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
43
43
|
on_click_preview: EventType[()] | None = None,
|
|
44
|
-
on_context_menu: EventType[()] | None = None,
|
|
44
|
+
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
45
45
|
on_disable_pip: EventType[()] | None = None,
|
|
46
|
-
on_double_click: EventType[()] | None = None,
|
|
46
|
+
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
47
47
|
on_duration: EventType[()] | EventType[float] | None = None,
|
|
48
48
|
on_enable_pip: EventType[()] | None = None,
|
|
49
49
|
on_ended: EventType[()] | None = None,
|
|
@@ -64,6 +64,7 @@ class Video(ReactPlayer):
|
|
|
64
64
|
on_progress: EventType[()] | EventType[reflex.components.react_player.react_player.Progress] | None = None,
|
|
65
65
|
on_ready: EventType[()] | None = None,
|
|
66
66
|
on_scroll: EventType[()] | None = None,
|
|
67
|
+
on_scroll_end: EventType[()] | None = None,
|
|
67
68
|
on_seek: EventType[()] | EventType[float] | None = None,
|
|
68
69
|
on_start: EventType[()] | None = None,
|
|
69
70
|
on_unmount: EventType[()] | None = None,
|
|
@@ -247,7 +247,8 @@ class Brush(Recharts):
|
|
|
247
247
|
# The stroke color of brush
|
|
248
248
|
stroke: Var[str | Color]
|
|
249
249
|
|
|
250
|
-
|
|
250
|
+
@classmethod
|
|
251
|
+
def get_event_triggers(cls) -> dict[str, Var | Any]:
|
|
251
252
|
"""Get the event triggers that pass the component's value to the handler.
|
|
252
253
|
|
|
253
254
|
Returns:
|