Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

small changes to texfield and separator #2448

Merged
merged 2 commits into from
Jan 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion reflex/components/radix/themes/components/separator.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ class Separator(CommonMarginProps, RadixThemesComponent):

tag = "Separator"

# The size of the select: "1" | "2" | "3"
# The size of the select: "1" | "2" | "3" | "4"
size: Var[LiteralSeperatorSize]

# The color of the select
Expand Down
2 changes: 1 addition & 1 deletion reflex/components/radix/themes/components/separator.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ class Separator(CommonMarginProps, RadixThemesComponent):
*children: Child components.
color: map to CSS default color property.
color_scheme: map to radix color property.
size: The size of the select: "1" | "2" | "3"
size: The size of the select: "1" | "2" | "3" | "4"
orientation: The orientation of the separator.
decorative: When true, signifies that it is purely visual, carries no semantic meaning, and ensures it is not present in the accessibility tree.
m: Margin: "0" - "9"
Expand Down
26 changes: 25 additions & 1 deletion reflex/components/radix/themes/components/textfield.py
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ class TextFieldSlot(RadixThemesComponent):
gap: Var[LiteralSize]


class Input(TextFieldInput):
class Input(RadixThemesComponent):
"""High level wrapper for the Input component."""

# The icon to render before the input.
Expand All @@ -115,6 +115,9 @@ class Input(TextFieldInput):
# Whether the input should have autocomplete enabled
auto_complete: Var[bool]

# The value of the input when initially rendered.
default_value: Var[str]

# Disables the input
disabled: Var[bool]

Expand Down Expand Up @@ -150,13 +153,19 @@ def create(cls, **props):
prop: props.pop(prop)
for prop in [
"auto_complete",
"default_value",
"disabled",
"max_length",
"min_length",
"name",
"placeholder",
"required",
"value",
"on_change",
"on_focus",
"on_blur",
"on_key_down",
"on_key_up",
]
if prop in props
}
Expand All @@ -168,3 +177,18 @@ def create(cls, **props):
TextFieldInput.create(**input_props),
**props,
)

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],
}
194 changes: 4 additions & 190 deletions reflex/components/radix/themes/components/textfield.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -832,7 +832,7 @@ class TextFieldSlot(RadixThemesComponent):
"""
...

class Input(TextFieldInput):
class Input(RadixThemesComponent):
@overload
@classmethod
def create( # type: ignore
Expand Down Expand Up @@ -917,154 +917,14 @@ class Input(TextFieldInput):
]
] = None,
auto_complete: Optional[Union[Var[bool], bool]] = None,
default_value: Optional[Union[Var[str], str]] = None,
disabled: Optional[Union[Var[bool], bool]] = None,
max_length: Optional[Union[Var[str], str]] = None,
min_length: Optional[Union[Var[str], str]] = None,
name: Optional[Union[Var[str], str]] = None,
placeholder: Optional[Union[Var[str], str]] = None,
required: Optional[Union[Var[bool], bool]] = None,
value: Optional[Union[Var[str], str]] = None,
accept: Optional[
Union[Var[Union[str, int, bool]], Union[str, int, bool]]
] = None,
alt: Optional[Union[Var[Union[str, int, bool]], Union[str, int, bool]]] = None,
auto_focus: Optional[
Union[Var[Union[str, int, bool]], Union[str, int, bool]]
] = None,
capture: Optional[
Union[Var[Union[str, int, bool]], Union[str, int, bool]]
] = None,
checked: Optional[
Union[Var[Union[str, int, bool]], Union[str, int, bool]]
] = None,
dirname: Optional[
Union[Var[Union[str, int, bool]], Union[str, int, bool]]
] = None,
form: Optional[Union[Var[Union[str, int, bool]], Union[str, int, bool]]] = None,
form_action: Optional[
Union[Var[Union[str, int, bool]], Union[str, int, bool]]
] = None,
form_enc_type: Optional[
Union[Var[Union[str, int, bool]], Union[str, int, bool]]
] = None,
form_method: Optional[
Union[Var[Union[str, int, bool]], Union[str, int, bool]]
] = None,
form_no_validate: Optional[
Union[Var[Union[str, int, bool]], Union[str, int, bool]]
] = None,
form_target: Optional[
Union[Var[Union[str, int, bool]], Union[str, int, bool]]
] = None,
height: Optional[
Union[Var[Union[str, int, bool]], Union[str, int, bool]]
] = None,
list: Optional[Union[Var[Union[str, int, bool]], Union[str, int, bool]]] = None,
max: Optional[Union[Var[Union[str, int, bool]], Union[str, int, bool]]] = None,
min: Optional[Union[Var[Union[str, int, bool]], Union[str, int, bool]]] = None,
multiple: Optional[
Union[Var[Union[str, int, bool]], Union[str, int, bool]]
] = None,
pattern: Optional[
Union[Var[Union[str, int, bool]], Union[str, int, bool]]
] = None,
read_only: Optional[
Union[Var[Union[str, int, bool]], Union[str, int, bool]]
] = None,
src: Optional[Union[Var[Union[str, int, bool]], Union[str, int, bool]]] = None,
step: Optional[Union[Var[Union[str, int, bool]], Union[str, int, bool]]] = None,
type: Optional[Union[Var[Union[str, int, bool]], Union[str, int, bool]]] = None,
use_map: Optional[
Union[Var[Union[str, int, bool]], Union[str, int, bool]]
] = None,
width: Optional[
Union[Var[Union[str, int, bool]], Union[str, int, bool]]
] = None,
access_key: Optional[
Union[Var[Union[str, int, bool]], Union[str, int, bool]]
] = None,
auto_capitalize: Optional[
Union[Var[Union[str, int, bool]], Union[str, int, bool]]
] = None,
content_editable: Optional[
Union[Var[Union[str, int, bool]], Union[str, int, bool]]
] = None,
context_menu: Optional[
Union[Var[Union[str, int, bool]], Union[str, int, bool]]
] = None,
dir: Optional[Union[Var[Union[str, int, bool]], Union[str, int, bool]]] = None,
draggable: Optional[
Union[Var[Union[str, int, bool]], Union[str, int, bool]]
] = None,
enter_key_hint: Optional[
Union[Var[Union[str, int, bool]], Union[str, int, bool]]
] = None,
hidden: Optional[
Union[Var[Union[str, int, bool]], Union[str, int, bool]]
] = None,
input_mode: Optional[
Union[Var[Union[str, int, bool]], Union[str, int, bool]]
] = None,
item_prop: Optional[
Union[Var[Union[str, int, bool]], Union[str, int, bool]]
] = None,
lang: Optional[Union[Var[Union[str, int, bool]], Union[str, int, bool]]] = None,
role: Optional[Union[Var[Union[str, int, bool]], Union[str, int, bool]]] = None,
slot: Optional[Union[Var[Union[str, int, bool]], Union[str, int, bool]]] = None,
spell_check: Optional[
Union[Var[Union[str, int, bool]], Union[str, int, bool]]
] = None,
tab_index: Optional[
Union[Var[Union[str, int, bool]], Union[str, int, bool]]
] = None,
title: Optional[
Union[Var[Union[str, int, bool]], Union[str, int, bool]]
] = None,
translate: Optional[
Union[Var[Union[str, int, bool]], Union[str, int, bool]]
] = None,
m: Optional[
Union[
Var[Literal["1", "2", "3", "4", "5", "6", "7", "8", "9"]],
Literal["1", "2", "3", "4", "5", "6", "7", "8", "9"],
]
] = None,
mx: Optional[
Union[
Var[Literal["1", "2", "3", "4", "5", "6", "7", "8", "9"]],
Literal["1", "2", "3", "4", "5", "6", "7", "8", "9"],
]
] = None,
my: Optional[
Union[
Var[Literal["1", "2", "3", "4", "5", "6", "7", "8", "9"]],
Literal["1", "2", "3", "4", "5", "6", "7", "8", "9"],
]
] = None,
mt: Optional[
Union[
Var[Literal["1", "2", "3", "4", "5", "6", "7", "8", "9"]],
Literal["1", "2", "3", "4", "5", "6", "7", "8", "9"],
]
] = None,
mr: Optional[
Union[
Var[Literal["1", "2", "3", "4", "5", "6", "7", "8", "9"]],
Literal["1", "2", "3", "4", "5", "6", "7", "8", "9"],
]
] = None,
mb: Optional[
Union[
Var[Literal["1", "2", "3", "4", "5", "6", "7", "8", "9"]],
Literal["1", "2", "3", "4", "5", "6", "7", "8", "9"],
]
] = None,
ml: Optional[
Union[
Var[Literal["1", "2", "3", "4", "5", "6", "7", "8", "9"]],
Literal["1", "2", "3", "4", "5", "6", "7", "8", "9"],
]
] = None,
style: Optional[Style] = None,
key: Optional[Any] = None,
id: Optional[Any] = None,
Expand Down Expand Up @@ -1136,61 +996,14 @@ class Input(TextFieldInput):
color: Override theme color for text field
radius: Override theme radius for text field: "none" | "small" | "medium" | "large" | "full"
auto_complete: Whether the input should have autocomplete enabled
default_value: The value of the input when initially rendered.
disabled: Disables the input
max_length: Specifies the maximum number of characters allowed in the input
min_length: Specifies the minimum number of characters required in the input
name: Name of the input, used when sending form data
placeholder: Placeholder text in the input
required: Indicates that the input is required
value: Value of the input
accept: Accepted types of files when the input is file type
alt: Alternate text for input type="image"
auto_focus: Automatically focuses the input when the page loads
capture: Captures media from the user (camera or microphone)
checked: Indicates whether the input is checked (for checkboxes and radio buttons)
dirname: Name part of the input to submit in 'dir' and 'name' pair when form is submitted
form: Associates the input with a form (by id)
form_action: URL to send the form data to (for type="submit" buttons)
form_enc_type: How the form data should be encoded when submitting to the server (for type="submit" buttons)
form_method: HTTP method to use for sending form data (for type="submit" buttons)
form_no_validate: Bypasses form validation when submitting (for type="submit" buttons)
form_target: Specifies where to display the response after submitting the form (for type="submit" buttons)
height: The height of the input (only for type="image")
list: References a datalist for suggested options
max: Specifies the maximum value for the input
min: Specifies the minimum value for the input
multiple: Indicates whether multiple values can be entered in an input of the type email or file
pattern: Regex pattern the input's value must match to be valid
read_only: Indicates whether the input is read-only
src: URL for image inputs
step: Specifies the legal number intervals for an input
type: Specifies the type of input
use_map: Name of the image map used with the input
width: The width of the input (only for type="image")
access_key: Provides a hint for generating a keyboard shortcut for the current element.
auto_capitalize: Controls whether and how text input is automatically capitalized as it is entered/edited by the user.
content_editable: Indicates whether the element's content is editable.
context_menu: Defines the ID of a <menu> element which will serve as the element's context menu.
dir: Defines the text direction. Allowed values are ltr (Left-To-Right) or rtl (Right-To-Left)
draggable: Defines whether the element can be dragged.
enter_key_hint: Hints what media types the media element is able to play.
hidden: Defines whether the element is hidden.
input_mode: Defines the type of the element.
item_prop: Defines the name of the element for metadata purposes.
lang: Defines the language used in the element.
role: Defines the role of the element.
slot: Assigns a slot in a shadow DOM shadow tree to an element.
spell_check: Defines whether the element may be checked for spelling errors.
tab_index: Defines the position of the current element in the tabbing order.
title: Defines a tooltip for the element.
translate: Specifies whether the content of an element should be translated or not.
m: Margin: "0" - "9"
mx: Margin horizontal: "0" - "9"
my: Margin vertical: "0" - "9"
mt: Margin top: "0" - "9"
mr: Margin right: "0" - "9"
mb: Margin bottom: "0" - "9"
ml: Margin left: "0" - "9"
style: The style of the component.
key: A unique key for the component.
id: The id for the component.
Expand All @@ -1203,3 +1016,4 @@ class Input(TextFieldInput):
The component.
"""
...
def get_event_triggers(self) -> Dict[str, Any]: ...
Loading