diff --git a/reflex/components/el/elements/forms.py b/reflex/components/el/elements/forms.py index d5cdeefce..094ee4bd7 100644 --- a/reflex/components/el/elements/forms.py +++ b/reflex/components/el/elements/forms.py @@ -1,7 +1,8 @@ """Element classes. This is an auto-generated file. Do not edit. See ../generate.py.""" -from typing import Union +from typing import Any, Dict, Union from reflex.components.el.element import Element +from reflex.constants.event import EventTriggers from reflex.vars import Var from .base import BaseHTML @@ -205,6 +206,21 @@ class Input(BaseHTML): # The width of the input (only for type="image") width: Var[Union[str, int, bool]] + def get_event_triggers(self) -> Dict[str, Any]: + """Get the event triggers that pass the component's value to the handler. + + Returns: + A dict mapping the event trigger to the var that is passed to the handler. + """ + return { + **super().get_event_triggers(), + EventTriggers.ON_CHANGE: lambda e0: [e0.target.value], + EventTriggers.ON_FOCUS: lambda e0: [e0.target.value], + EventTriggers.ON_BLUR: lambda e0: [e0.target.value], + EventTriggers.ON_KEY_DOWN: lambda e0: [e0.key], + EventTriggers.ON_KEY_UP: lambda e0: [e0.key], + } + class Label(BaseHTML): """Display the label element.""" @@ -341,6 +357,17 @@ class Select(BaseHTML): # Number of visible options in a drop-down list size: Var[Union[str, int, bool]] + def get_event_triggers(self) -> Dict[str, Any]: + """Get the event triggers that pass the component's value to the handler. + + Returns: + A dict mapping the event trigger to the var that is passed to the handler. + """ + return { + **super().get_event_triggers(), + EventTriggers.ON_CHANGE: lambda e0: [e0.target.value], + } + class Textarea(BaseHTML): """Display the textarea element.""" @@ -388,3 +415,18 @@ class Textarea(BaseHTML): # How the text in the textarea is to be wrapped when submitting the form wrap: Var[Union[str, int, bool]] + + def get_event_triggers(self) -> Dict[str, Any]: + """Get the event triggers that pass the component's value to the handler. + + Returns: + A dict mapping the event trigger to the var that is passed to the handler. + """ + return { + **super().get_event_triggers(), + EventTriggers.ON_CHANGE: lambda e0: [e0.target.value], + EventTriggers.ON_FOCUS: lambda e0: [e0.target.value], + EventTriggers.ON_BLUR: lambda e0: [e0.target.value], + EventTriggers.ON_KEY_DOWN: lambda e0: [e0.key], + EventTriggers.ON_KEY_UP: lambda e0: [e0.key], + } diff --git a/reflex/components/el/elements/forms.pyi b/reflex/components/el/elements/forms.pyi index af4885be2..4dffc4f0a 100644 --- a/reflex/components/el/elements/forms.pyi +++ b/reflex/components/el/elements/forms.pyi @@ -7,8 +7,9 @@ from typing import Any, Dict, Literal, Optional, Union, overload from reflex.vars import Var, BaseVar, ComputedVar from reflex.event import EventChain, EventHandler, EventSpec from reflex.style import Style -from typing import Union +from typing import Any, Dict, Union from reflex.components.el.element import Element +from reflex.constants.event import EventTriggers from reflex.vars import Var from .base import BaseHTML @@ -589,6 +590,7 @@ class Form(BaseHTML): ... class Input(BaseHTML): + def get_event_triggers(self) -> Dict[str, Any]: ... @overload @classmethod def create( # type: ignore @@ -725,6 +727,9 @@ class Input(BaseHTML): on_blur: Optional[ Union[EventHandler, EventSpec, list, function, BaseVar] ] = None, + on_change: Optional[ + Union[EventHandler, EventSpec, list, function, BaseVar] + ] = None, on_click: Optional[ Union[EventHandler, EventSpec, list, function, BaseVar] ] = None, @@ -737,6 +742,12 @@ class Input(BaseHTML): on_focus: Optional[ Union[EventHandler, EventSpec, list, function, BaseVar] ] = None, + on_key_down: Optional[ + Union[EventHandler, EventSpec, list, function, BaseVar] + ] = None, + on_key_up: Optional[ + Union[EventHandler, EventSpec, list, function, BaseVar] + ] = None, on_mount: Optional[ Union[EventHandler, EventSpec, list, function, BaseVar] ] = None, @@ -1877,6 +1888,7 @@ class Progress(BaseHTML): ... class Select(BaseHTML): + def get_event_triggers(self) -> Dict[str, Any]: ... @overload @classmethod def create( # type: ignore @@ -1952,6 +1964,9 @@ class Select(BaseHTML): on_blur: Optional[ Union[EventHandler, EventSpec, list, function, BaseVar] ] = None, + on_change: Optional[ + Union[EventHandler, EventSpec, list, function, BaseVar] + ] = None, on_click: Optional[ Union[EventHandler, EventSpec, list, function, BaseVar] ] = None, @@ -2042,6 +2057,7 @@ class Select(BaseHTML): ... class Textarea(BaseHTML): + def get_event_triggers(self) -> Dict[str, Any]: ... @overload @classmethod def create( # type: ignore @@ -2131,6 +2147,9 @@ class Textarea(BaseHTML): on_blur: Optional[ Union[EventHandler, EventSpec, list, function, BaseVar] ] = None, + on_change: Optional[ + Union[EventHandler, EventSpec, list, function, BaseVar] + ] = None, on_click: Optional[ Union[EventHandler, EventSpec, list, function, BaseVar] ] = None, @@ -2143,6 +2162,12 @@ class Textarea(BaseHTML): on_focus: Optional[ Union[EventHandler, EventSpec, list, function, BaseVar] ] = None, + on_key_down: Optional[ + Union[EventHandler, EventSpec, list, function, BaseVar] + ] = None, + on_key_up: Optional[ + Union[EventHandler, EventSpec, list, function, BaseVar] + ] = None, on_mount: Optional[ Union[EventHandler, EventSpec, list, function, BaseVar] ] = None,