@proyecto-viviana/solidaria-components 0.5.0 → 0.7.0-rc.0
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.
- package/LICENSE-APACHE-2.0 +201 -0
- package/NOTICE +91 -0
- package/README.md +4 -7
- package/dist/ActionBar.d.ts +2 -10
- package/dist/ActionBar.d.ts.map +1 -1
- package/dist/ActionBar.js +95 -59
- package/dist/ActionBar.js.map +1 -1
- package/dist/ActionBar.jsx +42 -15
- package/dist/ActionBar.jsx.map +1 -1
- package/dist/ActionGroup.d.ts +1 -12
- package/dist/ActionGroup.d.ts.map +1 -1
- package/dist/ActionGroup.js +66 -44
- package/dist/ActionGroup.js.map +1 -1
- package/dist/ActionGroup.jsx +25 -10
- package/dist/ActionGroup.jsx.map +1 -1
- package/dist/Alert.d.ts +4 -1
- package/dist/Alert.d.ts.map +1 -1
- package/dist/Alert.js +25 -17
- package/dist/Alert.js.map +1 -1
- package/dist/Alert.jsx +9 -5
- package/dist/Alert.jsx.map +1 -1
- package/dist/Autocomplete.d.ts +2 -9
- package/dist/Autocomplete.d.ts.map +1 -1
- package/dist/Autocomplete.js +18 -5
- package/dist/Autocomplete.js.map +1 -1
- package/dist/Autocomplete.jsx +20 -7
- package/dist/Autocomplete.jsx.map +1 -1
- package/dist/Breadcrumbs.d.ts +2 -7
- package/dist/Breadcrumbs.d.ts.map +1 -1
- package/dist/Breadcrumbs.js +71 -51
- package/dist/Breadcrumbs.js.map +1 -1
- package/dist/Breadcrumbs.jsx +25 -12
- package/dist/Breadcrumbs.jsx.map +1 -1
- package/dist/Button.d.ts +1 -7
- package/dist/Button.d.ts.map +1 -1
- package/dist/Button.js +125 -72
- package/dist/Button.js.map +1 -1
- package/dist/Button.jsx +105 -43
- package/dist/Button.jsx.map +1 -1
- package/dist/Calendar.d.ts +1 -7
- package/dist/Calendar.d.ts.map +1 -1
- package/dist/Calendar.js +297 -221
- package/dist/Calendar.js.map +1 -1
- package/dist/Calendar.jsx +52 -32
- package/dist/Calendar.jsx.map +1 -1
- package/dist/CalendarPicker.d.ts +1 -10
- package/dist/CalendarPicker.d.ts.map +1 -1
- package/dist/CalendarPicker.js +12 -0
- package/dist/CalendarPicker.js.map +1 -1
- package/dist/CalendarPicker.jsx +12 -0
- package/dist/CalendarPicker.jsx.map +1 -1
- package/dist/Checkbox.d.ts +2 -7
- package/dist/Checkbox.d.ts.map +1 -1
- package/dist/Checkbox.js +332 -270
- package/dist/Checkbox.js.map +1 -1
- package/dist/Checkbox.jsx +70 -77
- package/dist/Checkbox.jsx.map +1 -1
- package/dist/Collection.d.ts +33 -7
- package/dist/Collection.d.ts.map +1 -1
- package/dist/Collection.js +128 -74
- package/dist/Collection.js.map +1 -1
- package/dist/Collection.jsx +46 -7
- package/dist/Collection.jsx.map +1 -1
- package/dist/Color.d.ts +15 -20
- package/dist/Color.d.ts.map +1 -1
- package/dist/Color.js +572 -334
- package/dist/Color.js.map +1 -1
- package/dist/Color.jsx +205 -85
- package/dist/Color.jsx.map +1 -1
- package/dist/ColorEditor.d.ts +3 -1
- package/dist/ColorEditor.d.ts.map +1 -1
- package/dist/ColorEditor.js +147 -124
- package/dist/ColorEditor.js.map +1 -1
- package/dist/ColorEditor.jsx +4 -1
- package/dist/ColorEditor.jsx.map +1 -1
- package/dist/ComboBox.d.ts +31 -10
- package/dist/ComboBox.d.ts.map +1 -1
- package/dist/ComboBox.js +539 -274
- package/dist/ComboBox.js.map +1 -1
- package/dist/ComboBox.jsx +213 -70
- package/dist/ComboBox.jsx.map +1 -1
- package/dist/ContextualHelpTrigger.d.ts +1 -7
- package/dist/ContextualHelpTrigger.d.ts.map +1 -1
- package/dist/ContextualHelpTrigger.js +102 -72
- package/dist/ContextualHelpTrigger.js.map +1 -1
- package/dist/ContextualHelpTrigger.jsx +36 -16
- package/dist/ContextualHelpTrigger.jsx.map +1 -1
- package/dist/DateField.d.ts +2 -7
- package/dist/DateField.d.ts.map +1 -1
- package/dist/DateField.js +0 -2
- package/dist/DateField.jsx +0 -2
- package/dist/DateField2.js +194 -179
- package/dist/DateField2.js.map +1 -1
- package/dist/DateField2.jsx +58 -55
- package/dist/DateField2.jsx.map +1 -1
- package/dist/DatePicker.d.ts +7 -7
- package/dist/DatePicker.d.ts.map +1 -1
- package/dist/DatePicker.js +2 -2
- package/dist/DatePicker.jsx +2 -2
- package/dist/DatePicker2.js +357 -435
- package/dist/DatePicker2.js.map +1 -1
- package/dist/DatePicker2.jsx +109 -178
- package/dist/DatePicker2.jsx.map +1 -1
- package/dist/DateRangePickerContext.d.ts +7 -0
- package/dist/DateRangePickerContext.d.ts.map +1 -1
- package/dist/Dialog.d.ts +4 -9
- package/dist/Dialog.d.ts.map +1 -1
- package/dist/Dialog.js +168 -101
- package/dist/Dialog.js.map +1 -1
- package/dist/Dialog.jsx +75 -27
- package/dist/Dialog.jsx.map +1 -1
- package/dist/Disclosure.d.ts +1 -9
- package/dist/Disclosure.d.ts.map +1 -1
- package/dist/Disclosure.js +121 -79
- package/dist/Disclosure.js.map +1 -1
- package/dist/Disclosure.jsx +32 -19
- package/dist/Disclosure.jsx.map +1 -1
- package/dist/DragAndDrop.d.ts +9 -6
- package/dist/DragAndDrop.d.ts.map +1 -1
- package/dist/DragAndDrop.js +37 -22
- package/dist/DragAndDrop.js.map +1 -1
- package/dist/DragAndDrop.jsx +20 -4
- package/dist/DragAndDrop.jsx.map +1 -1
- package/dist/DragPreview.d.ts +1 -1
- package/dist/DragPreview.d.ts.map +1 -1
- package/dist/DropZone.d.ts +1 -7
- package/dist/DropZone.d.ts.map +1 -1
- package/dist/DropZone.js +74 -40
- package/dist/DropZone.js.map +1 -1
- package/dist/DropZone.jsx +24 -8
- package/dist/DropZone.jsx.map +1 -1
- package/dist/ElementTag.d.ts +9 -20
- package/dist/ElementTag.d.ts.map +1 -1
- package/dist/ElementTag.js +8 -210
- package/dist/ElementTag.js.map +1 -1
- package/dist/ElementTag.jsx +8 -57
- package/dist/ElementTag.jsx.map +1 -1
- package/dist/FieldError.d.ts +8 -7
- package/dist/FieldError.d.ts.map +1 -1
- package/dist/FieldError.js +33 -13
- package/dist/FieldError.js.map +1 -1
- package/dist/FieldError.jsx +20 -5
- package/dist/FieldError.jsx.map +1 -1
- package/dist/FileTrigger.d.ts +1 -7
- package/dist/FileTrigger.d.ts.map +1 -1
- package/dist/FileTrigger.js +30 -12
- package/dist/FileTrigger.js.map +1 -1
- package/dist/FileTrigger.jsx +15 -2
- package/dist/FileTrigger.jsx.map +1 -1
- package/dist/Focusable.d.ts +2 -8
- package/dist/Focusable.d.ts.map +1 -1
- package/dist/Focusable.js +23 -6
- package/dist/Focusable.js.map +1 -1
- package/dist/Focusable.jsx +22 -5
- package/dist/Focusable.jsx.map +1 -1
- package/dist/Form.d.ts +9 -8
- package/dist/Form.d.ts.map +1 -1
- package/dist/Form.js +66 -43
- package/dist/Form.js.map +1 -1
- package/dist/Form.jsx +36 -16
- package/dist/Form.jsx.map +1 -1
- package/dist/GridList.d.ts +5 -10
- package/dist/GridList.d.ts.map +1 -1
- package/dist/GridList.js +372 -243
- package/dist/GridList.js.map +1 -1
- package/dist/GridList.jsx +177 -99
- package/dist/GridList.jsx.map +1 -1
- package/dist/HiddenDateInput.d.ts +1 -7
- package/dist/HiddenDateInput.d.ts.map +1 -1
- package/dist/Icon.d.ts +4 -1
- package/dist/Icon.d.ts.map +1 -1
- package/dist/Icon.js +41 -37
- package/dist/Icon.js.map +1 -1
- package/dist/Icon.jsx +7 -3
- package/dist/Icon.jsx.map +1 -1
- package/dist/Keyboard.d.ts +1 -7
- package/dist/Keyboard.d.ts.map +1 -1
- package/dist/Keyboard.js +24 -11
- package/dist/Keyboard.js.map +1 -1
- package/dist/Keyboard.jsx +15 -2
- package/dist/Keyboard.jsx.map +1 -1
- package/dist/Label.d.ts +20 -0
- package/dist/Label.d.ts.map +1 -0
- package/dist/Label.js +60 -0
- package/dist/Label.js.map +1 -0
- package/dist/Label.jsx +47 -0
- package/dist/Label.jsx.map +1 -0
- package/dist/Landmark.d.ts +4 -1
- package/dist/Landmark.d.ts.map +1 -1
- package/dist/Landmark.js +10 -4
- package/dist/Landmark.js.map +1 -1
- package/dist/Landmark.jsx +5 -1
- package/dist/Landmark.jsx.map +1 -1
- package/dist/Link.d.ts +2 -7
- package/dist/Link.d.ts.map +1 -1
- package/dist/Link.js +56 -36
- package/dist/Link.js.map +1 -1
- package/dist/Link.jsx +52 -10
- package/dist/Link.jsx.map +1 -1
- package/dist/ListBox.d.ts +17 -13
- package/dist/ListBox.d.ts.map +1 -1
- package/dist/ListBox.js +647 -348
- package/dist/ListBox.js.map +1 -1
- package/dist/ListBox.jsx +339 -236
- package/dist/ListBox.jsx.map +1 -1
- package/dist/ListDropTargetDelegate.d.ts +3 -0
- package/dist/ListDropTargetDelegate.d.ts.map +1 -1
- package/dist/Menu.d.ts +39 -30
- package/dist/Menu.d.ts.map +1 -1
- package/dist/Menu.js +547 -368
- package/dist/Menu.js.map +1 -1
- package/dist/Menu.jsx +328 -230
- package/dist/Menu.jsx.map +1 -1
- package/dist/Meter.d.ts +6 -13
- package/dist/Meter.d.ts.map +1 -1
- package/dist/Meter.js +55 -18
- package/dist/Meter.js.map +1 -1
- package/dist/Meter.jsx +33 -8
- package/dist/Meter.jsx.map +1 -1
- package/dist/Modal.d.ts +1 -7
- package/dist/Modal.d.ts.map +1 -1
- package/dist/Modal.js +104 -56
- package/dist/Modal.js.map +1 -1
- package/dist/Modal.jsx +68 -38
- package/dist/Modal.jsx.map +1 -1
- package/dist/NumberField.d.ts +4 -7
- package/dist/NumberField.d.ts.map +1 -1
- package/dist/NumberField.js +243 -124
- package/dist/NumberField.js.map +1 -1
- package/dist/NumberField.jsx +115 -26
- package/dist/NumberField.jsx.map +1 -1
- package/dist/Popover.d.ts +15 -7
- package/dist/Popover.d.ts.map +1 -1
- package/dist/Popover.js +370 -181
- package/dist/Popover.js.map +1 -1
- package/dist/Popover.jsx +215 -82
- package/dist/Popover.jsx.map +1 -1
- package/dist/Pressable.d.ts +2 -8
- package/dist/Pressable.d.ts.map +1 -1
- package/dist/Pressable.js +23 -6
- package/dist/Pressable.js.map +1 -1
- package/dist/Pressable.jsx +22 -5
- package/dist/Pressable.jsx.map +1 -1
- package/dist/PreviewTrigger.d.ts +24 -0
- package/dist/PreviewTrigger.d.ts.map +1 -0
- package/dist/PreviewTrigger.js +128 -0
- package/dist/PreviewTrigger.js.map +1 -0
- package/dist/PreviewTrigger.jsx +117 -0
- package/dist/PreviewTrigger.jsx.map +1 -0
- package/dist/ProgressBar.d.ts +1 -7
- package/dist/ProgressBar.d.ts.map +1 -1
- package/dist/ProgressBar.js +34 -14
- package/dist/ProgressBar.js.map +1 -1
- package/dist/ProgressBar.jsx +17 -3
- package/dist/ProgressBar.jsx.map +1 -1
- package/dist/RadioGroup.d.ts +2 -7
- package/dist/RadioGroup.d.ts.map +1 -1
- package/dist/RadioGroup.js +388 -269
- package/dist/RadioGroup.js.map +1 -1
- package/dist/RadioGroup.jsx +110 -99
- package/dist/RadioGroup.jsx.map +1 -1
- package/dist/RangeCalendar.d.ts +3 -7
- package/dist/RangeCalendar.d.ts.map +1 -1
- package/dist/RangeCalendar.js +271 -202
- package/dist/RangeCalendar.js.map +1 -1
- package/dist/RangeCalendar.jsx +56 -37
- package/dist/RangeCalendar.jsx.map +1 -1
- package/dist/RouterProvider.d.ts +3 -9
- package/dist/RouterProvider.d.ts.map +1 -1
- package/dist/RouterProvider.js +15 -14
- package/dist/RouterProvider.js.map +1 -1
- package/dist/RouterProvider.jsx +14 -13
- package/dist/RouterProvider.jsx.map +1 -1
- package/dist/SearchField.d.ts +4 -7
- package/dist/SearchField.d.ts.map +1 -1
- package/dist/SearchField.js +191 -164
- package/dist/SearchField.js.map +1 -1
- package/dist/SearchField.jsx +69 -62
- package/dist/SearchField.jsx.map +1 -1
- package/dist/Select.d.ts +5 -10
- package/dist/Select.d.ts.map +1 -1
- package/dist/Select.js +565 -359
- package/dist/Select.js.map +1 -1
- package/dist/Select.jsx +281 -161
- package/dist/Select.jsx.map +1 -1
- package/dist/SelectionIndicator.d.ts +1 -4
- package/dist/SelectionIndicator.d.ts.map +1 -1
- package/dist/SelectionIndicator.js +29 -13
- package/dist/SelectionIndicator.js.map +1 -1
- package/dist/SelectionIndicator.jsx +18 -4
- package/dist/SelectionIndicator.jsx.map +1 -1
- package/dist/Separator.d.ts +1 -7
- package/dist/Separator.d.ts.map +1 -1
- package/dist/Separator.js +22 -6
- package/dist/Separator.js.map +1 -1
- package/dist/Separator.jsx +16 -3
- package/dist/Separator.jsx.map +1 -1
- package/dist/SharedElementTransition.d.ts +1 -10
- package/dist/SharedElementTransition.d.ts.map +1 -1
- package/dist/SharedElementTransition.js +68 -40
- package/dist/SharedElementTransition.js.map +1 -1
- package/dist/SharedElementTransition.jsx +49 -25
- package/dist/SharedElementTransition.jsx.map +1 -1
- package/dist/Slider.d.ts +2 -8
- package/dist/Slider.d.ts.map +1 -1
- package/dist/Slider.js +155 -97
- package/dist/Slider.js.map +1 -1
- package/dist/Slider.jsx +25 -12
- package/dist/Slider.jsx.map +1 -1
- package/dist/StepList.d.ts +1 -7
- package/dist/StepList.d.ts.map +1 -1
- package/dist/StepList.js +112 -68
- package/dist/StepList.js.map +1 -1
- package/dist/StepList.jsx +58 -20
- package/dist/StepList.jsx.map +1 -1
- package/dist/Switch.d.ts +2 -9
- package/dist/Switch.d.ts.map +1 -1
- package/dist/Switch.js +164 -114
- package/dist/Switch.js.map +1 -1
- package/dist/Switch.jsx +26 -13
- package/dist/Switch.jsx.map +1 -1
- package/dist/Table.d.ts +2 -1
- package/dist/Table.d.ts.map +1 -1
- package/dist/Table.js +689 -592
- package/dist/Table.js.map +1 -1
- package/dist/Table.jsx +317 -237
- package/dist/Table.jsx.map +1 -1
- package/dist/Tabs.d.ts +2 -7
- package/dist/Tabs.d.ts.map +1 -1
- package/dist/Tabs.js +278 -293
- package/dist/Tabs.js.map +1 -1
- package/dist/Tabs.jsx +68 -66
- package/dist/Tabs.jsx.map +1 -1
- package/dist/TagGroup.d.ts +4 -11
- package/dist/TagGroup.d.ts.map +1 -1
- package/dist/TagGroup.js +153 -115
- package/dist/TagGroup.js.map +1 -1
- package/dist/TagGroup.jsx +37 -24
- package/dist/TagGroup.jsx.map +1 -1
- package/dist/Text.d.ts +3 -3
- package/dist/Text.d.ts.map +1 -1
- package/dist/Text.js +24 -7
- package/dist/Text.js.map +1 -1
- package/dist/Text.jsx +17 -5
- package/dist/Text.jsx.map +1 -1
- package/dist/TextField.d.ts +3 -16
- package/dist/TextField.d.ts.map +1 -1
- package/dist/TextField.js +104 -129
- package/dist/TextField.js.map +1 -1
- package/dist/TextField.jsx +76 -102
- package/dist/TextField.jsx.map +1 -1
- package/dist/TimeField.d.ts +2 -15
- package/dist/TimeField.d.ts.map +1 -1
- package/dist/TimeField.js +86 -102
- package/dist/TimeField.js.map +1 -1
- package/dist/TimeField.jsx +32 -49
- package/dist/TimeField.jsx.map +1 -1
- package/dist/Toast.d.ts +10 -13
- package/dist/Toast.d.ts.map +1 -1
- package/dist/Toast.js +209 -108
- package/dist/Toast.js.map +1 -1
- package/dist/Toast.jsx +127 -22
- package/dist/Toast.jsx.map +1 -1
- package/dist/ToggleButton.d.ts +1 -7
- package/dist/ToggleButton.d.ts.map +1 -1
- package/dist/ToggleButton.js +57 -35
- package/dist/ToggleButton.js.map +1 -1
- package/dist/ToggleButton.jsx +26 -12
- package/dist/ToggleButton.jsx.map +1 -1
- package/dist/ToggleButtonGroup.d.ts +1 -7
- package/dist/ToggleButtonGroup.d.ts.map +1 -1
- package/dist/ToggleButtonGroup.js +59 -44
- package/dist/ToggleButtonGroup.js.map +1 -1
- package/dist/ToggleButtonGroup.jsx +25 -12
- package/dist/ToggleButtonGroup.jsx.map +1 -1
- package/dist/TokenField.d.ts +52 -0
- package/dist/TokenField.d.ts.map +1 -0
- package/dist/TokenField.js +301 -0
- package/dist/TokenField.js.map +1 -0
- package/dist/TokenField.jsx +197 -0
- package/dist/TokenField.jsx.map +1 -0
- package/dist/Toolbar.d.ts +2 -7
- package/dist/Toolbar.d.ts.map +1 -1
- package/dist/Toolbar.js +35 -16
- package/dist/Toolbar.js.map +1 -1
- package/dist/Toolbar.jsx +15 -2
- package/dist/Toolbar.jsx.map +1 -1
- package/dist/Tooltip.d.ts +2 -7
- package/dist/Tooltip.d.ts.map +1 -1
- package/dist/Tooltip.js +105 -68
- package/dist/Tooltip.js.map +1 -1
- package/dist/Tooltip.jsx +60 -36
- package/dist/Tooltip.jsx.map +1 -1
- package/dist/Tree.d.ts +8 -11
- package/dist/Tree.d.ts.map +1 -1
- package/dist/Tree.js +486 -339
- package/dist/Tree.js.map +1 -1
- package/dist/Tree.jsx +155 -107
- package/dist/Tree.jsx.map +1 -1
- package/dist/Virtualizer.d.ts +39 -9
- package/dist/Virtualizer.d.ts.map +1 -1
- package/dist/Virtualizer.js +2 -2
- package/dist/Virtualizer.jsx +2 -2
- package/dist/Virtualizer2.js +491 -136
- package/dist/Virtualizer2.js.map +1 -1
- package/dist/Virtualizer2.jsx +455 -122
- package/dist/Virtualizer2.jsx.map +1 -1
- package/dist/VirtualizerLayouts.d.ts +55 -2
- package/dist/VirtualizerLayouts.d.ts.map +1 -1
- package/dist/VisuallyHidden.d.ts +4 -3
- package/dist/VisuallyHidden.d.ts.map +1 -1
- package/dist/VisuallyHidden.js +18 -11
- package/dist/VisuallyHidden.js.map +1 -1
- package/dist/VisuallyHidden.jsx +15 -9
- package/dist/VisuallyHidden.jsx.map +1 -1
- package/dist/contexts.d.ts +25 -0
- package/dist/contexts.d.ts.map +1 -1
- package/dist/contexts.js +3 -0
- package/dist/contexts.js.map +1 -1
- package/dist/contexts.jsx +3 -0
- package/dist/contexts.jsx.map +1 -1
- package/dist/index.d.ts +11 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -11
- package/dist/index.jsx +14 -11
- package/dist/intl/index.d.ts +16 -0
- package/dist/intl/index.d.ts.map +1 -0
- package/dist/intl.js +212 -0
- package/dist/intl.js.map +1 -0
- package/dist/intl.jsx +212 -0
- package/dist/intl.jsx.map +1 -0
- package/dist/useDragAndDrop.d.ts +4 -2
- package/dist/useDragAndDrop.d.ts.map +1 -1
- package/dist/useDragAndDrop2.js +39 -21
- package/dist/useDragAndDrop2.js.map +1 -1
- package/dist/useDragAndDrop2.jsx +39 -21
- package/dist/useDragAndDrop2.jsx.map +1 -1
- package/dist/utils.d.ts +28 -9
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +96 -24
- package/dist/utils.js.map +1 -1
- package/dist/utils.jsx +81 -24
- package/dist/utils.jsx.map +1 -1
- package/dist/virtualizer/Layout.d.ts +9 -0
- package/dist/virtualizer/Layout.d.ts.map +1 -1
- package/dist/virtualizer/Layout.js +23 -2
- package/dist/virtualizer/Layout.js.map +1 -1
- package/dist/virtualizer/Layout.jsx +23 -2
- package/dist/virtualizer/Layout.jsx.map +1 -1
- package/package.json +29 -10
- package/src/ActionBar.tsx +50 -24
- package/src/ActionGroup.tsx +31 -19
- package/src/Alert.tsx +10 -4
- package/src/Autocomplete.tsx +24 -15
- package/src/Breadcrumbs.tsx +32 -16
- package/src/Button.tsx +182 -67
- package/src/Calendar.tsx +65 -47
- package/src/CalendarPicker.tsx +16 -1
- package/src/Checkbox.tsx +84 -116
- package/src/Collection.tsx +84 -3
- package/src/Color.tsx +282 -104
- package/src/ColorEditor.tsx +5 -1
- package/src/ComboBox.tsx +384 -109
- package/src/ContextualHelpTrigger.tsx +47 -41
- package/src/DateField.tsx +74 -106
- package/src/DatePicker.tsx +156 -352
- package/src/DateRangePickerContext.tsx +8 -0
- package/src/Dialog.tsx +105 -38
- package/src/Disclosure.tsx +29 -19
- package/src/DragAndDrop.tsx +43 -8
- package/src/DragPreview.tsx +20 -1
- package/src/DropZone.tsx +32 -18
- package/src/ElementTag.tsx +14 -104
- package/src/FieldError.tsx +39 -7
- package/src/FileTrigger.tsx +18 -3
- package/src/Focusable.tsx +27 -6
- package/src/Form.tsx +57 -11
- package/src/GridList.tsx +233 -141
- package/src/HiddenDateInput.tsx +19 -3
- package/src/Icon.tsx +8 -2
- package/src/Keyboard.tsx +18 -2
- package/src/Label.tsx +77 -0
- package/src/Landmark.tsx +6 -1
- package/src/Link.tsx +65 -19
- package/src/ListBox.tsx +645 -468
- package/src/ListDropTargetDelegate.ts +4 -0
- package/src/Menu.tsx +512 -349
- package/src/Meter.tsx +42 -8
- package/src/Modal.tsx +85 -42
- package/src/NumberField.tsx +161 -48
- package/src/Popover.tsx +424 -148
- package/src/Pressable.tsx +27 -6
- package/src/PreviewTrigger.tsx +171 -0
- package/src/ProgressBar.tsx +25 -3
- package/src/RadioGroup.tsx +230 -161
- package/src/RangeCalendar.tsx +75 -63
- package/src/RouterProvider.tsx +24 -14
- package/src/SearchField.tsx +118 -121
- package/src/Select.tsx +454 -274
- package/src/SelectionIndicator.tsx +21 -3
- package/src/Separator.tsx +17 -1
- package/src/SharedElementTransition.tsx +115 -97
- package/src/Slider.tsx +35 -17
- package/src/StepList.tsx +71 -32
- package/src/Switch.tsx +45 -29
- package/src/Table.tsx +446 -380
- package/src/Tabs.tsx +132 -155
- package/src/TagGroup.tsx +53 -40
- package/src/Text.tsx +23 -6
- package/src/TextField.tsx +118 -159
- package/src/TimeField.tsx +34 -95
- package/src/Toast.tsx +141 -67
- package/src/ToggleButton.tsx +33 -15
- package/src/ToggleButtonGroup.tsx +27 -9
- package/src/TokenField.tsx +379 -0
- package/src/Toolbar.tsx +19 -9
- package/src/Tooltip.tsx +126 -84
- package/src/Tree.tsx +233 -173
- package/src/Virtualizer.tsx +400 -138
- package/src/VirtualizerLayouts.ts +211 -26
- package/src/VisuallyHidden.tsx +22 -8
- package/src/contexts.ts +13 -0
- package/src/index.ts +32 -11
- package/src/intl/ar-AE.json +6 -0
- package/src/intl/bg-BG.json +6 -0
- package/src/intl/cs-CZ.json +6 -0
- package/src/intl/da-DK.json +6 -0
- package/src/intl/de-DE.json +6 -0
- package/src/intl/el-GR.json +6 -0
- package/src/intl/en-US.json +6 -0
- package/src/intl/es-ES.json +6 -0
- package/src/intl/et-EE.json +6 -0
- package/src/intl/fi-FI.json +6 -0
- package/src/intl/fr-FR.json +6 -0
- package/src/intl/he-IL.json +6 -0
- package/src/intl/hr-HR.json +6 -0
- package/src/intl/hu-HU.json +6 -0
- package/src/intl/index.ts +125 -0
- package/src/intl/it-IT.json +6 -0
- package/src/intl/ja-JP.json +6 -0
- package/src/intl/ko-KR.json +6 -0
- package/src/intl/lt-LT.json +6 -0
- package/src/intl/lv-LV.json +6 -0
- package/src/intl/nb-NO.json +6 -0
- package/src/intl/nl-NL.json +6 -0
- package/src/intl/pl-PL.json +6 -0
- package/src/intl/pt-BR.json +6 -0
- package/src/intl/pt-PT.json +6 -0
- package/src/intl/ro-RO.json +6 -0
- package/src/intl/ru-RU.json +6 -0
- package/src/intl/sk-SK.json +6 -0
- package/src/intl/sl-SI.json +6 -0
- package/src/intl/sr-SP.json +6 -0
- package/src/intl/sv-SE.json +6 -0
- package/src/intl/tr-TR.json +6 -0
- package/src/intl/uk-UA.json +6 -0
- package/src/intl/zh-CN.json +6 -0
- package/src/intl/zh-TW.json +6 -0
- package/src/useDragAndDrop.ts +30 -32
- package/src/utils.tsx +124 -68
- package/src/virtualizer/Layout.ts +29 -0
package/dist/RadioGroup.jsx
CHANGED
|
@@ -1,10 +1,23 @@
|
|
|
1
|
-
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2022 Adobe. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria-components/src/RadioGroup.tsx
|
|
13
|
+
import { Provider, dataAttr, filterDOMProps, useRenderProps } from "./utils.jsx";
|
|
2
14
|
import { VisuallyHidden } from "./VisuallyHidden.jsx";
|
|
3
|
-
import { FieldErrorContext } from "./FieldError.jsx";
|
|
4
15
|
import { TextContext } from "./Text.jsx";
|
|
16
|
+
import { FieldErrorContext } from "./FieldError.jsx";
|
|
5
17
|
import { SelectionIndicatorContext } from "./SelectionIndicator.jsx";
|
|
6
|
-
import { Show, createContext, createMemo, createSignal, createUniqueId,
|
|
7
|
-
import { createFocusRing, createHover, createRadio, createRadioGroup, mergeProps
|
|
18
|
+
import { Show, createContext, createMemo, createSignal, createUniqueId, useContext } from "solid-js";
|
|
19
|
+
import { bindCapture, createFocusRing, createHover, createRadio, createRadioGroup, mergeProps } from "@proyecto-viviana/solidaria";
|
|
20
|
+
import { splitProps } from "@proyecto-viviana/solidaria/utils";
|
|
8
21
|
import { VALID_VALIDITY_STATE, createRadioGroupState } from "@proyecto-viviana/solid-stately";
|
|
9
22
|
//#region src/RadioGroup.tsx
|
|
10
23
|
/**
|
|
@@ -13,7 +26,7 @@ import { VALID_VALIDITY_STATE, createRadioGroupState } from "@proyecto-viviana/s
|
|
|
13
26
|
* Pre-wired headless radio components that combine state + aria hooks.
|
|
14
27
|
* Port of react-aria-components/src/RadioGroup.tsx
|
|
15
28
|
*/
|
|
16
|
-
function assignRef(ref, el) {
|
|
29
|
+
function assignRef$1(ref, el) {
|
|
17
30
|
if (!ref) return;
|
|
18
31
|
if (typeof ref === "function") ref(el);
|
|
19
32
|
else ref.current = el;
|
|
@@ -58,20 +71,21 @@ const RadioContext = createContext(null);
|
|
|
58
71
|
*/
|
|
59
72
|
function RadioGroup(props) {
|
|
60
73
|
const contextProps = useContext(RadioGroupContext);
|
|
61
|
-
const contextSlotProps = contextProps?.slots?.[props.slot
|
|
74
|
+
const contextSlotProps = contextProps?.slots?.[typeof props.slot === "string" ? props.slot : "default"];
|
|
62
75
|
const contextBaseProps = createMemo(() => {
|
|
63
76
|
if (!contextProps) return {};
|
|
64
77
|
const { slots: _slots, ...rest } = contextProps;
|
|
65
78
|
return rest;
|
|
66
79
|
});
|
|
67
|
-
const mergedProps = contextProps ? mergeProps
|
|
80
|
+
const mergedProps = contextProps ? mergeProps(contextBaseProps(), contextSlotProps ?? {}, props) : props;
|
|
68
81
|
const [local, ariaProps] = splitProps(mergedProps, [
|
|
69
82
|
"class",
|
|
70
83
|
"style",
|
|
71
84
|
"render",
|
|
72
85
|
"ref",
|
|
73
86
|
"slot",
|
|
74
|
-
"renderHelpText"
|
|
87
|
+
"renderHelpText",
|
|
88
|
+
"children"
|
|
75
89
|
]);
|
|
76
90
|
const state = createRadioGroupState(() => ({
|
|
77
91
|
value: mergedProps.value,
|
|
@@ -105,9 +119,6 @@ function RadioGroup(props) {
|
|
|
105
119
|
state
|
|
106
120
|
}));
|
|
107
121
|
const renderProps = useRenderProps({
|
|
108
|
-
get children() {
|
|
109
|
-
return props.children;
|
|
110
|
-
},
|
|
111
122
|
class: local.class,
|
|
112
123
|
style: local.style,
|
|
113
124
|
defaultClassName: "solidaria-RadioGroup"
|
|
@@ -128,8 +139,6 @@ function RadioGroup(props) {
|
|
|
128
139
|
if (!(target instanceof HTMLInputElement) || target.type !== "radio") return;
|
|
129
140
|
state.updateValidation(getNativeValidation(target));
|
|
130
141
|
state.commitValidation();
|
|
131
|
-
target.focus();
|
|
132
|
-
event.preventDefault();
|
|
133
142
|
};
|
|
134
143
|
const handleGroupChangeCapture = (event) => {
|
|
135
144
|
const target = event.target;
|
|
@@ -137,9 +146,15 @@ function RadioGroup(props) {
|
|
|
137
146
|
state.updateValidation(target.validity.valid ? validValidation : getNativeValidation(target));
|
|
138
147
|
state.commitValidation();
|
|
139
148
|
};
|
|
149
|
+
const [groupEl, setGroupEl] = createSignal(null);
|
|
140
150
|
const setGroupRef = (el) => {
|
|
141
|
-
|
|
151
|
+
setGroupEl(el);
|
|
152
|
+
assignRef$1(local.ref, el);
|
|
142
153
|
};
|
|
154
|
+
bindCapture(groupEl, {
|
|
155
|
+
invalid: handleGroupInvalidCapture,
|
|
156
|
+
change: handleGroupChangeCapture
|
|
157
|
+
});
|
|
143
158
|
const groupDescribedBy = () => {
|
|
144
159
|
const ids = [
|
|
145
160
|
cleanGroupProps()["aria-describedby"],
|
|
@@ -180,13 +195,13 @@ function RadioGroup(props) {
|
|
|
180
195
|
return state;
|
|
181
196
|
}
|
|
182
197
|
};
|
|
183
|
-
const
|
|
184
|
-
|
|
185
|
-
if (typeof
|
|
186
|
-
return
|
|
187
|
-
}
|
|
198
|
+
const childrenOnce = local.children;
|
|
199
|
+
const renderedChildren = () => {
|
|
200
|
+
if (typeof childrenOnce === "function") return childrenOnce.length > 0 ? childrenOnce(childRenderValues) : childrenOnce();
|
|
201
|
+
return childrenOnce;
|
|
202
|
+
};
|
|
188
203
|
return <>
|
|
189
|
-
{renderedChildren()}
|
|
204
|
+
{typeof childrenOnce === "function" ? renderedChildren() : childrenOnce}
|
|
190
205
|
<Show when={(local.renderHelpText ?? true) && mergedProps.description}>
|
|
191
206
|
<div {...groupAria.descriptionProps}>
|
|
192
207
|
{mergedProps.description}
|
|
@@ -199,10 +214,7 @@ function RadioGroup(props) {
|
|
|
199
214
|
</Show>
|
|
200
215
|
</>;
|
|
201
216
|
};
|
|
202
|
-
const groupEventProps = {
|
|
203
|
-
onInvalidCapture: handleGroupInvalidCapture,
|
|
204
|
-
onChangeCapture: handleGroupChangeCapture
|
|
205
|
-
};
|
|
217
|
+
const groupEventProps = {};
|
|
206
218
|
const customRootProps = () => ({
|
|
207
219
|
...domProps(),
|
|
208
220
|
...cleanGroupProps(),
|
|
@@ -215,19 +227,28 @@ function RadioGroup(props) {
|
|
|
215
227
|
style: renderProps.style(),
|
|
216
228
|
slot: local.slot,
|
|
217
229
|
"data-orientation": ariaProps.orientation ?? "vertical",
|
|
218
|
-
"data-disabled": state.isDisabled
|
|
219
|
-
"data-readonly": state.isReadOnly
|
|
220
|
-
"data-required": state.isRequired
|
|
221
|
-
"data-invalid": isInvalid()
|
|
222
|
-
children: <GroupChildren />
|
|
230
|
+
"data-disabled": dataAttr(state.isDisabled),
|
|
231
|
+
"data-readonly": dataAttr(state.isReadOnly),
|
|
232
|
+
"data-required": dataAttr(state.isRequired),
|
|
233
|
+
"data-invalid": dataAttr(isInvalid())
|
|
223
234
|
});
|
|
224
|
-
return <RadioGroupStateContext
|
|
225
|
-
<FieldErrorContext
|
|
226
|
-
{local.render
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
</FieldErrorContext
|
|
230
|
-
</RadioGroupStateContext
|
|
235
|
+
return <RadioGroupStateContext value={state}>
|
|
236
|
+
<FieldErrorContext value={fieldErrorContext}>
|
|
237
|
+
<RadioGroupDefaultRoot render={local.render} getCustomRootProps={customRootProps} getRenderValues={renderValues} getDomProps={domProps} getCleanGroupProps={cleanGroupProps} groupEventProps={groupEventProps} setGroupRef={setGroupRef} onFocusIn={handleGroupFocusIn} onFocusOut={handleGroupFocusOut} getDescribedBy={groupDescribedBy} getClass={renderProps.class} getStyle={renderProps.style} slot={local.slot} getOrientation={() => ariaProps.orientation ?? "vertical"} getDisabled={() => state.isDisabled || void 0} getReadOnly={() => state.isReadOnly || void 0} getRequired={() => state.isRequired || void 0} getInvalid={() => isInvalid() || void 0}>
|
|
238
|
+
<GroupChildren />
|
|
239
|
+
</RadioGroupDefaultRoot>
|
|
240
|
+
</FieldErrorContext>
|
|
241
|
+
</RadioGroupStateContext>;
|
|
242
|
+
}
|
|
243
|
+
function RadioGroupDefaultRoot(props) {
|
|
244
|
+
const children = props.children;
|
|
245
|
+
if (props.render) return props.render({
|
|
246
|
+
...props.getCustomRootProps(),
|
|
247
|
+
children
|
|
248
|
+
}, props.getRenderValues());
|
|
249
|
+
return <div {...props.getDomProps()} {...props.getCleanGroupProps()} {...props.groupEventProps} ref={props.setGroupRef} onFocusIn={props.onFocusIn} onFocusOut={props.onFocusOut} aria-describedby={props.getDescribedBy()} class={props.getClass()} style={props.getStyle()} slot={props.slot} data-orientation={props.getOrientation()} data-disabled={dataAttr(props.getDisabled())} data-readonly={dataAttr(props.getReadOnly())} data-required={dataAttr(props.getRequired())} data-invalid={dataAttr(props.getInvalid())}>
|
|
250
|
+
{children}
|
|
251
|
+
</div>;
|
|
231
252
|
}
|
|
232
253
|
/**
|
|
233
254
|
* Internal Radio implementation that has access to RadioGroupStateContext.
|
|
@@ -237,13 +258,13 @@ function RadioImpl(props) {
|
|
|
237
258
|
const [inputElement, setInputElement] = createSignal(null);
|
|
238
259
|
const { state } = props;
|
|
239
260
|
const contextProps = useContext(RadioContext);
|
|
240
|
-
const contextSlotProps = contextProps?.slots?.[props.radioProps.slot
|
|
261
|
+
const contextSlotProps = contextProps?.slots?.[typeof props.radioProps.slot === "string" ? props.radioProps.slot : "default"];
|
|
241
262
|
const contextBaseProps = createMemo(() => {
|
|
242
263
|
if (!contextProps) return {};
|
|
243
264
|
const { slots: _slots, ...rest } = contextProps;
|
|
244
265
|
return rest;
|
|
245
266
|
});
|
|
246
|
-
const radioProps = contextProps ? mergeProps
|
|
267
|
+
const radioProps = contextProps ? mergeProps(contextBaseProps(), contextSlotProps ?? {}, props.radioProps) : props.radioProps;
|
|
247
268
|
const inputRefs = createMemo(() => [
|
|
248
269
|
contextBaseProps().inputRef,
|
|
249
270
|
contextSlotProps?.inputRef,
|
|
@@ -324,9 +345,15 @@ function RadioImpl(props) {
|
|
|
324
345
|
return rest;
|
|
325
346
|
};
|
|
326
347
|
const cleanInputProps = () => {
|
|
327
|
-
const
|
|
348
|
+
const inputProps = radioAria.inputProps;
|
|
349
|
+
const rest = {};
|
|
350
|
+
for (const key of Object.keys(inputProps)) {
|
|
351
|
+
if (key === "ref" || key === "onFocus" || key === "onBlur" || key === "aria-describedby") continue;
|
|
352
|
+
rest[key] = inputProps[key];
|
|
353
|
+
}
|
|
328
354
|
return rest;
|
|
329
355
|
};
|
|
356
|
+
const inputDescribedBy = () => radioAria.inputDescribedBy();
|
|
330
357
|
const cleanFocusProps = () => {
|
|
331
358
|
const { ref: _ref4, onFocus: _onFocus, onBlur: _onBlur, ...rest } = focusProps;
|
|
332
359
|
return rest;
|
|
@@ -340,7 +367,6 @@ function RadioImpl(props) {
|
|
|
340
367
|
focusProps.onBlur?.(event);
|
|
341
368
|
};
|
|
342
369
|
const handleLabelClick = (event) => {
|
|
343
|
-
ariaProps.onClickCapture?.(event);
|
|
344
370
|
radioAria.labelProps.onClick?.(event);
|
|
345
371
|
};
|
|
346
372
|
const handleLabelClickCapture = (event) => {
|
|
@@ -349,36 +375,31 @@ function RadioImpl(props) {
|
|
|
349
375
|
const handleInputClick = (event) => {
|
|
350
376
|
radioAria.inputProps.onClick?.(event);
|
|
351
377
|
};
|
|
352
|
-
const handleInputInvalid = (event) => {
|
|
353
|
-
state.updateValidation(getNativeValidation(event.currentTarget));
|
|
354
|
-
state.commitValidation();
|
|
355
|
-
event.currentTarget.focus();
|
|
356
|
-
event.preventDefault();
|
|
357
|
-
};
|
|
358
378
|
const handleInputChange = (event) => {
|
|
359
379
|
radioAria.inputProps.onChange?.(event);
|
|
360
380
|
state.updateValidation(event.currentTarget.validity.valid ? validValidation : getNativeValidation(event.currentTarget));
|
|
361
381
|
state.commitValidation();
|
|
362
382
|
};
|
|
383
|
+
const [labelEl, setLabelEl] = createSignal(null);
|
|
363
384
|
const setLabelRef = (el) => {
|
|
364
|
-
|
|
385
|
+
setLabelEl(el);
|
|
386
|
+
assignRef$1(local.ref, el);
|
|
365
387
|
};
|
|
388
|
+
bindCapture(labelEl, { click: handleLabelClickCapture });
|
|
366
389
|
const setInputRef = (el) => {
|
|
390
|
+
if (!el) {
|
|
391
|
+
setInputElement(null);
|
|
392
|
+
return;
|
|
393
|
+
}
|
|
367
394
|
setInputElement(el);
|
|
368
|
-
el.addEventListener("invalid", (event) => {
|
|
369
|
-
state.updateValidation(getNativeValidation(el));
|
|
370
|
-
state.commitValidation();
|
|
371
|
-
el.focus();
|
|
372
|
-
event.preventDefault();
|
|
373
|
-
});
|
|
374
395
|
el.addEventListener("change", () => {
|
|
375
396
|
state.updateValidation(el.validity.valid ? validValidation : getNativeValidation(el));
|
|
376
397
|
state.commitValidation();
|
|
377
398
|
});
|
|
378
|
-
for (const ref of inputRefs()) assignRef(ref, el);
|
|
399
|
+
for (const ref of inputRefs()) assignRef$1(ref, el);
|
|
379
400
|
};
|
|
380
401
|
const hiddenInput = <VisuallyHidden>
|
|
381
|
-
<input ref={setInputRef} {...cleanInputProps()} {...cleanFocusProps()} onFocus={handleInputFocus} onBlur={handleInputBlur}
|
|
402
|
+
<input ref={setInputRef} {...cleanInputProps()} {...cleanFocusProps()} aria-describedby={inputDescribedBy()} onFocus={handleInputFocus} onBlur={handleInputBlur} onChange={handleInputChange} onClick={handleInputClick} />
|
|
382
403
|
</VisuallyHidden>;
|
|
383
404
|
const labelChildren = () => <>
|
|
384
405
|
{hiddenInput}
|
|
@@ -403,24 +424,26 @@ function RadioImpl(props) {
|
|
|
403
424
|
style: renderProps.style(),
|
|
404
425
|
slot: local.slot,
|
|
405
426
|
onClick: handleLabelClick,
|
|
406
|
-
|
|
407
|
-
"data-
|
|
408
|
-
"data-
|
|
409
|
-
"data-
|
|
410
|
-
"data-
|
|
411
|
-
"data-
|
|
412
|
-
"data-
|
|
413
|
-
"data-
|
|
414
|
-
"data-
|
|
415
|
-
"data-required": state.isRequired || void 0,
|
|
427
|
+
"data-selected": dataAttr(radioAria.isSelected()),
|
|
428
|
+
"data-pressed": dataAttr(radioAria.isPressed()),
|
|
429
|
+
"data-hovered": dataAttr(isHovered()),
|
|
430
|
+
"data-focused": dataAttr(isFocused()),
|
|
431
|
+
"data-focus-visible": dataAttr(isFocusVisible()),
|
|
432
|
+
"data-disabled": dataAttr(radioAria.isDisabled),
|
|
433
|
+
"data-readonly": dataAttr(state.isReadOnly),
|
|
434
|
+
"data-invalid": dataAttr(state.isInvalid),
|
|
435
|
+
"data-required": dataAttr(state.isRequired),
|
|
416
436
|
children: labelChildren()
|
|
417
437
|
});
|
|
418
|
-
const labelCaptureProps = {
|
|
419
|
-
return <SelectionIndicatorContext
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
438
|
+
const labelCaptureProps = {};
|
|
439
|
+
if (local.render) return <SelectionIndicatorContext value={selectionIndicatorContext()}>
|
|
440
|
+
{local.render(customLabelProps(), renderValues())}
|
|
441
|
+
</SelectionIndicatorContext>;
|
|
442
|
+
return <SelectionIndicatorContext value={selectionIndicatorContext()}>
|
|
443
|
+
<label {...domProps()} {...cleanLabelProps()} {...cleanHoverProps()} ref={setLabelRef} class={renderProps.class()} style={renderProps.style()} slot={local.slot} onClick={handleLabelClick} {...labelCaptureProps} data-selected={dataAttr(radioAria.isSelected())} data-pressed={dataAttr(radioAria.isPressed())} data-hovered={dataAttr(isHovered())} data-focused={dataAttr(isFocused())} data-focus-visible={dataAttr(isFocusVisible())} data-disabled={dataAttr(radioAria.isDisabled)} data-readonly={dataAttr(state.isReadOnly)} data-invalid={dataAttr(state.isInvalid)} data-required={dataAttr(state.isRequired)}>
|
|
444
|
+
{labelChildren()}
|
|
445
|
+
</label>
|
|
446
|
+
</SelectionIndicatorContext>;
|
|
424
447
|
}
|
|
425
448
|
/**
|
|
426
449
|
* A radio represents an individual option within a radio group.
|
|
@@ -440,10 +463,9 @@ function RadioImpl(props) {
|
|
|
440
463
|
* ```
|
|
441
464
|
*/
|
|
442
465
|
function Radio(props) {
|
|
443
|
-
const
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
</Show>;
|
|
466
|
+
const state = useContext(RadioGroupStateContext);
|
|
467
|
+
if (!state) return null;
|
|
468
|
+
return <RadioImpl radioProps={props} state={state} />;
|
|
447
469
|
}
|
|
448
470
|
const RadioFieldContext = createContext(null);
|
|
449
471
|
const InternalRadioContext = createContext(null);
|
|
@@ -474,13 +496,13 @@ function RadioFieldImpl(props) {
|
|
|
474
496
|
const [inputElement, setInputElement] = createSignal(null);
|
|
475
497
|
const { state } = props;
|
|
476
498
|
const contextProps = useContext(RadioFieldContext);
|
|
477
|
-
const contextSlotProps = contextProps?.slots?.[props.fieldProps.slot
|
|
499
|
+
const contextSlotProps = contextProps?.slots?.[typeof props.fieldProps.slot === "string" ? props.fieldProps.slot : "default"];
|
|
478
500
|
const contextBaseProps = createMemo(() => {
|
|
479
501
|
if (!contextProps) return {};
|
|
480
502
|
const { slots: _slots, ...rest } = contextProps;
|
|
481
503
|
return rest;
|
|
482
504
|
});
|
|
483
|
-
const fieldProps = contextProps ? mergeProps
|
|
505
|
+
const fieldProps = contextProps ? mergeProps(contextBaseProps(), contextSlotProps ?? {}, props.fieldProps) : props.fieldProps;
|
|
484
506
|
const inputRefs = createMemo(() => [
|
|
485
507
|
contextBaseProps().inputRef,
|
|
486
508
|
contextSlotProps?.inputRef,
|
|
@@ -508,20 +530,14 @@ function RadioFieldImpl(props) {
|
|
|
508
530
|
} } };
|
|
509
531
|
const setInputRef = (el) => {
|
|
510
532
|
setInputElement(el);
|
|
511
|
-
el.addEventListener("invalid", (event) => {
|
|
512
|
-
state.updateValidation(getNativeValidation(el));
|
|
513
|
-
state.commitValidation();
|
|
514
|
-
el.focus();
|
|
515
|
-
event.preventDefault();
|
|
516
|
-
});
|
|
517
533
|
el.addEventListener("change", () => {
|
|
518
534
|
state.updateValidation(el.validity.valid ? validValidation : getNativeValidation(el));
|
|
519
535
|
state.commitValidation();
|
|
520
536
|
});
|
|
521
|
-
for (const ref of inputRefs()) assignRef(ref, el);
|
|
537
|
+
for (const ref of inputRefs()) assignRef$1(ref, el);
|
|
522
538
|
};
|
|
523
539
|
const setFieldRef = (el) => {
|
|
524
|
-
assignRef(local.ref, el);
|
|
540
|
+
assignRef$1(local.ref, el);
|
|
525
541
|
};
|
|
526
542
|
const internalContext = {
|
|
527
543
|
isSelected: () => radioAria.isSelected(),
|
|
@@ -529,6 +545,7 @@ function RadioFieldImpl(props) {
|
|
|
529
545
|
isDisabled: () => radioAria.isDisabled,
|
|
530
546
|
labelProps: () => radioAria.labelProps,
|
|
531
547
|
inputProps: () => radioAria.inputProps,
|
|
548
|
+
inputDescribedBy: () => radioAria.inputDescribedBy(),
|
|
532
549
|
setInputRef,
|
|
533
550
|
defaultClassName: "solidaria-RadioButton"
|
|
534
551
|
};
|
|
@@ -576,14 +593,14 @@ function RadioFieldImpl(props) {
|
|
|
576
593
|
});
|
|
577
594
|
return <>{renderedChildren()}</>;
|
|
578
595
|
};
|
|
579
|
-
return <div {...domProps()} ref={setFieldRef} class={renderProps.class()} style={renderProps.style()} slot={local.slot} data-selected={radioAria.isSelected()
|
|
580
|
-
<SelectionIndicatorContext
|
|
581
|
-
<InternalRadioContext
|
|
596
|
+
return <div {...domProps()} ref={setFieldRef} class={renderProps.class()} style={renderProps.style()} slot={local.slot} data-selected={dataAttr(radioAria.isSelected())} data-disabled={dataAttr(radioAria.isDisabled)} data-readonly={dataAttr(state.isReadOnly)} data-invalid={dataAttr(state.isInvalid)} data-required={dataAttr(state.isRequired)}>
|
|
597
|
+
<SelectionIndicatorContext value={selectionIndicatorContext()}>
|
|
598
|
+
<InternalRadioContext value={internalContext}>
|
|
582
599
|
<Provider values={[[TextContext, textSlots]]}>
|
|
583
600
|
<FieldChildren />
|
|
584
601
|
</Provider>
|
|
585
|
-
</InternalRadioContext
|
|
586
|
-
</SelectionIndicatorContext
|
|
602
|
+
</InternalRadioContext>
|
|
603
|
+
</SelectionIndicatorContext>
|
|
587
604
|
</div>;
|
|
588
605
|
}
|
|
589
606
|
/**
|
|
@@ -654,23 +671,17 @@ function RadioButtonImpl(props) {
|
|
|
654
671
|
const handleInputClick = (event) => {
|
|
655
672
|
ctx.inputProps().onClick?.(event);
|
|
656
673
|
};
|
|
657
|
-
const handleInputInvalid = (event) => {
|
|
658
|
-
state.updateValidation(getNativeValidation(event.currentTarget));
|
|
659
|
-
state.commitValidation();
|
|
660
|
-
event.currentTarget.focus();
|
|
661
|
-
event.preventDefault();
|
|
662
|
-
};
|
|
663
674
|
const handleInputChange = (event) => {
|
|
664
675
|
ctx.inputProps().onChange?.(event);
|
|
665
676
|
state.updateValidation(event.currentTarget.validity.valid ? validValidation : getNativeValidation(event.currentTarget));
|
|
666
677
|
state.commitValidation();
|
|
667
678
|
};
|
|
668
679
|
const setButtonRef = (el) => {
|
|
669
|
-
assignRef(props.buttonProps.ref, el);
|
|
680
|
+
assignRef$1(props.buttonProps.ref, el);
|
|
670
681
|
};
|
|
671
|
-
return <label {...cleanLabelProps()} {...cleanHoverProps()} ref={setButtonRef} class={renderProps.class()} style={renderProps.style()} slot={props.buttonProps.slot} data-selected={ctx.isSelected()
|
|
682
|
+
return <label {...cleanLabelProps()} {...cleanHoverProps()} ref={setButtonRef} class={renderProps.class()} style={renderProps.style()} slot={props.buttonProps.slot} data-selected={dataAttr(ctx.isSelected())} data-pressed={dataAttr(ctx.isPressed())} data-hovered={dataAttr(isHovered())} data-focused={dataAttr(isFocused())} data-focus-visible={dataAttr(isFocusVisible())} data-disabled={dataAttr(ctx.isDisabled())} data-readonly={dataAttr(state.isReadOnly)} data-invalid={dataAttr(state.isInvalid)} data-required={dataAttr(state.isRequired)}>
|
|
672
683
|
<VisuallyHidden>
|
|
673
|
-
<input ref={ctx.setInputRef} {...cleanInputProps()} {...cleanFocusProps()} onFocus={handleInputFocus} onBlur={handleInputBlur}
|
|
684
|
+
<input ref={ctx.setInputRef} {...cleanInputProps()} {...cleanFocusProps()} aria-describedby={ctx.inputDescribedBy()} onFocus={handleInputFocus} onBlur={handleInputBlur} onChange={handleInputChange} onClick={handleInputClick} />
|
|
674
685
|
</VisuallyHidden>
|
|
675
686
|
{renderProps.renderChildren()}
|
|
676
687
|
</label>;
|