@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/ColorEditor.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ColorArea, ColorAreaGradient, ColorAreaThumb, ColorField, ColorFieldInput, ColorPicker, ColorSlider, ColorSliderThumb, ColorSliderTrack } from "./Color.js";
|
|
2
|
-
import { className, createComponent, effect, getNextElement, getNextMarker, insert, memo, setAttribute, setProperty, style, template } from "
|
|
3
|
-
import { For, Show, createMemo, createSignal
|
|
2
|
+
import { className, createComponent, effect, getNextElement, getNextMarker, insert, memo, readShallow, setAttribute, setProperty, style, template } from "@solidjs/web";
|
|
3
|
+
import { For, Show, createMemo, createSignal } from "solid-js";
|
|
4
|
+
import { splitProps } from "@proyecto-viviana/solidaria/utils";
|
|
4
5
|
import { getColorChannels } from "@proyecto-viviana/solid-stately";
|
|
5
6
|
//#region src/ColorEditor.tsx
|
|
6
7
|
/**
|
|
@@ -8,8 +9,12 @@ import { getColorChannels } from "@proyecto-viviana/solid-stately";
|
|
|
8
9
|
*
|
|
9
10
|
* A composite component that combines ColorArea, ColorSlider, and ColorField
|
|
10
11
|
* into a complete color editing UI. Pure composition — no new ARIA hooks needed.
|
|
12
|
+
* Based on @react-spectrum/color source:
|
|
13
|
+
* https://github.com/adobe/react-spectrum/blob/5ecb3333001313e83898cd07644227897e3bae1f/packages/@adobe/react-spectrum/src/color/ColorEditor.tsx.
|
|
11
14
|
*/
|
|
12
|
-
var _tmpl$ =
|
|
15
|
+
var _tmpl$ = /* @__PURE__ */ template(`<div>`);
|
|
16
|
+
var _tmpl$2 = /* @__PURE__ */ template(`<div class=solidaria-ColorEditor-top><!$><!/><!$><!/><!$><!/>`);
|
|
17
|
+
var _tmpl$3 = /* @__PURE__ */ template(`<div class=solidaria-ColorEditor-bottom><select aria-label="Color format"class=solidaria-ColorEditor-format><option value=hex>Hex</option><option value=rgb>RGB</option><option value=hsl>HSL</option><option value=hsb>HSB</option></select><!$><!/><!$><!/>`);
|
|
13
18
|
/**
|
|
14
19
|
* ColorEditor provides a default UI for editing colors.
|
|
15
20
|
*
|
|
@@ -43,7 +48,7 @@ function ColorEditor(props) {
|
|
|
43
48
|
if (typeof local.class === "function") return local.class({ colorSpace: activeSpace() });
|
|
44
49
|
return local.class ?? "";
|
|
45
50
|
};
|
|
46
|
-
if (local.children)
|
|
51
|
+
if (local.children) {
|
|
47
52
|
var _el$ = getNextElement(_tmpl$);
|
|
48
53
|
insert(_el$, createComponent(ColorPicker, {
|
|
49
54
|
get value() {
|
|
@@ -57,17 +62,17 @@ function ColorEditor(props) {
|
|
|
57
62
|
},
|
|
58
63
|
children: () => local.children
|
|
59
64
|
}));
|
|
60
|
-
effect((
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
}, {
|
|
66
|
-
e
|
|
67
|
-
t
|
|
65
|
+
effect(() => {
|
|
66
|
+
return {
|
|
67
|
+
e: readShallow(resolvedClass()),
|
|
68
|
+
t: readShallow(local.style)
|
|
69
|
+
};
|
|
70
|
+
}, ({ e, t }, _p$) => {
|
|
71
|
+
className(_el$, e, _p$?.e);
|
|
72
|
+
style(_el$, t, _p$?.t);
|
|
68
73
|
});
|
|
69
74
|
return _el$;
|
|
70
|
-
}
|
|
75
|
+
}
|
|
71
76
|
const areaChannels = createMemo(() => {
|
|
72
77
|
const space = activeSpace();
|
|
73
78
|
if (space === "hsb" || space === "hex") return {
|
|
@@ -86,121 +91,139 @@ function ColorEditor(props) {
|
|
|
86
91
|
colorSpace: "rgb"
|
|
87
92
|
};
|
|
88
93
|
});
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
get when() {
|
|
173
|
-
return memo(() => !!!local.hideAlphaChannel)() && activeSpace() !== "hex";
|
|
174
|
-
},
|
|
175
|
-
get children() {
|
|
176
|
-
return createComponent(ColorField, {
|
|
177
|
-
channel: "alpha",
|
|
94
|
+
var _el$2 = getNextElement(_tmpl$);
|
|
95
|
+
insert(_el$2, createComponent(ColorPicker, {
|
|
96
|
+
get value() {
|
|
97
|
+
return local.value;
|
|
98
|
+
},
|
|
99
|
+
get defaultValue() {
|
|
100
|
+
return local.defaultValue;
|
|
101
|
+
},
|
|
102
|
+
get onChange() {
|
|
103
|
+
return local.onChange;
|
|
104
|
+
},
|
|
105
|
+
children: () => [(() => {
|
|
106
|
+
var _el$3 = getNextElement(_tmpl$2);
|
|
107
|
+
var _el$4 = _el$3.firstChild;
|
|
108
|
+
var [_el$5, _el$6] = getNextMarker(_el$4.nextSibling);
|
|
109
|
+
var _el$7 = _el$5.nextSibling;
|
|
110
|
+
var [_el$8, _el$9] = getNextMarker(_el$7.nextSibling);
|
|
111
|
+
var _el$10 = _el$8.nextSibling;
|
|
112
|
+
var [_el$11, _el$12] = getNextMarker(_el$10.nextSibling);
|
|
113
|
+
insert(_el$3, createComponent(ColorArea, {
|
|
114
|
+
get xChannel() {
|
|
115
|
+
return areaChannels().x;
|
|
116
|
+
},
|
|
117
|
+
get yChannel() {
|
|
118
|
+
return areaChannels().y;
|
|
119
|
+
},
|
|
120
|
+
get isDisabled() {
|
|
121
|
+
return local.isDisabled;
|
|
122
|
+
},
|
|
123
|
+
children: () => [createComponent(ColorAreaGradient, {}), createComponent(ColorAreaThumb, {})]
|
|
124
|
+
}), _el$5, _el$6);
|
|
125
|
+
insert(_el$3, createComponent(ColorSlider, {
|
|
126
|
+
channel: "hue",
|
|
127
|
+
get isDisabled() {
|
|
128
|
+
return local.isDisabled;
|
|
129
|
+
},
|
|
130
|
+
"aria-label": "Hue",
|
|
131
|
+
children: () => createComponent(ColorSliderTrack, { children: () => createComponent(ColorSliderThumb, {}) })
|
|
132
|
+
}), _el$8, _el$9);
|
|
133
|
+
insert(_el$3, createComponent(Show, {
|
|
134
|
+
get when() {
|
|
135
|
+
return !local.hideAlphaChannel;
|
|
136
|
+
},
|
|
137
|
+
get children() {
|
|
138
|
+
return createComponent(ColorSlider, {
|
|
139
|
+
channel: "alpha",
|
|
140
|
+
get isDisabled() {
|
|
141
|
+
return local.isDisabled;
|
|
142
|
+
},
|
|
143
|
+
"aria-label": "Alpha",
|
|
144
|
+
children: () => createComponent(ColorSliderTrack, { children: () => createComponent(ColorSliderThumb, {}) })
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
}), _el$11, _el$12);
|
|
148
|
+
return _el$3;
|
|
149
|
+
})(), (() => {
|
|
150
|
+
var _el$13 = getNextElement(_tmpl$3);
|
|
151
|
+
var _el$14 = _el$13.firstChild;
|
|
152
|
+
var _el$15 = _el$14.nextSibling;
|
|
153
|
+
var [_el$16, _el$17] = getNextMarker(_el$15.nextSibling);
|
|
154
|
+
var _el$18 = _el$16.nextSibling;
|
|
155
|
+
var [_el$19, _el$20] = getNextMarker(_el$18.nextSibling);
|
|
156
|
+
_el$14.addEventListener("change", (e) => handleSpaceChange(e.currentTarget.value));
|
|
157
|
+
insert(_el$13, createComponent(Show, {
|
|
158
|
+
get when() {
|
|
159
|
+
return activeSpace() !== "hex";
|
|
160
|
+
},
|
|
161
|
+
get fallback() {
|
|
162
|
+
return createComponent(ColorField, {
|
|
163
|
+
get isDisabled() {
|
|
164
|
+
return local.isDisabled;
|
|
165
|
+
},
|
|
166
|
+
"aria-label": "Hex color",
|
|
167
|
+
children: () => createComponent(ColorFieldInput, {})
|
|
168
|
+
});
|
|
169
|
+
},
|
|
170
|
+
get children() {
|
|
171
|
+
return createComponent(For, {
|
|
172
|
+
get each() {
|
|
173
|
+
return channels();
|
|
174
|
+
},
|
|
175
|
+
children: (channel) => createComponent(ColorField, {
|
|
176
|
+
channel,
|
|
178
177
|
get isDisabled() {
|
|
179
178
|
return local.isDisabled;
|
|
180
179
|
},
|
|
181
|
-
"aria-label":
|
|
180
|
+
"aria-label": channel,
|
|
182
181
|
children: () => createComponent(ColorFieldInput, {})
|
|
183
|
-
})
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
182
|
+
})
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
}), _el$16, _el$17);
|
|
186
|
+
insert(_el$13, createComponent(Show, {
|
|
187
|
+
get when() {
|
|
188
|
+
return memo(() => {
|
|
189
|
+
return !local.hideAlphaChannel;
|
|
190
|
+
})() && activeSpace() !== "hex";
|
|
191
|
+
},
|
|
192
|
+
get children() {
|
|
193
|
+
return createComponent(ColorField, {
|
|
194
|
+
channel: "alpha",
|
|
195
|
+
get isDisabled() {
|
|
196
|
+
return local.isDisabled;
|
|
197
|
+
},
|
|
198
|
+
"aria-label": "Alpha",
|
|
199
|
+
children: () => createComponent(ColorFieldInput, {})
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
}), _el$19, _el$20);
|
|
203
|
+
effect(() => {
|
|
204
|
+
return {
|
|
205
|
+
e: activeSpace(),
|
|
206
|
+
t: local.isDisabled
|
|
207
|
+
};
|
|
208
|
+
}, ({ e, t }, _p$) => {
|
|
209
|
+
setProperty(_el$14, "value", e);
|
|
210
|
+
t !== _p$?.t && setAttribute(_el$14, "disabled", t);
|
|
211
|
+
});
|
|
212
|
+
return _el$13;
|
|
213
|
+
})()]
|
|
214
|
+
}));
|
|
215
|
+
effect(() => {
|
|
216
|
+
return {
|
|
217
|
+
e: `solidaria-ColorEditor ${resolvedClass()}`,
|
|
218
|
+
t: readShallow(local.style),
|
|
219
|
+
a: activeSpace()
|
|
220
|
+
};
|
|
221
|
+
}, ({ e, t, a }, _p$) => {
|
|
222
|
+
className(_el$2, e, _p$?.e);
|
|
223
|
+
style(_el$2, t, _p$?.t);
|
|
224
|
+
a !== _p$?.a && setAttribute(_el$2, "data-color-space", a);
|
|
225
|
+
});
|
|
226
|
+
return _el$2;
|
|
204
227
|
}
|
|
205
228
|
//#endregion
|
|
206
229
|
export { ColorEditor };
|
package/dist/ColorEditor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorEditor.js","names":["JSX","createSignal","For","Show","splitProps","createMemo","ColorPicker","ColorArea","ColorAreaGradient","ColorAreaThumb","ColorSlider","ColorSliderTrack","ColorSliderThumb","ColorField","ColorFieldInput","getColorChannels","Color","ColorChannel","ColorSpace","ColorEditorColorSpace","ColorEditorRenderProps","colorSpace","ColorEditorProps","value","defaultValue","onChange","color","hideAlphaChannel","onColorSpaceChange","class","renderProps","style","CSSProperties","children","Element","isDisabled","ColorEditor","props","local","activeSpace","setActiveSpace","handleSpaceChange","space","channels","resolvedClass","_el$","_$getNextElement","_tmpl$","_$insert","_$createComponent","_$effect","_p$","_v$","_v$2","e","_$className","t","_$style","undefined","areaChannels","x","y","_el$2","_el$3","_tmpl$2","_el$4","firstChild","_el$5","_co$","_$getNextMarker","nextSibling","_el$6","_el$7","_co$2","_el$8","_el$9","_co$3","xChannel","yChannel","channel","when","_el$0","_tmpl$3","_el$1","_el$10","_el$11","_co$4","_el$12","_el$13","_co$5","addEventListener","currentTarget","fallback","each","_$memo","_$setProperty","_v$3","_v$4","_v$5","a","_$setAttribute"],"sources":["../src/ColorEditor.tsx"],"sourcesContent":["/**\n * ColorEditor headless component\n *\n * A composite component that combines ColorArea, ColorSlider, and ColorField\n * into a complete color editing UI. Pure composition — no new ARIA hooks needed.\n */\n\nimport { type JSX, createSignal, For, Show, splitProps, createMemo } from \"solid-js\";\nimport {\n ColorPicker,\n ColorArea,\n ColorAreaGradient,\n ColorAreaThumb,\n ColorSlider,\n ColorSliderTrack,\n ColorSliderThumb,\n ColorField,\n ColorFieldInput,\n} from \"./Color\";\nimport { getColorChannels } from \"@proyecto-viviana/solid-stately\";\nimport type { Color, ColorChannel, ColorSpace } from \"@proyecto-viviana/solid-stately\";\n\nexport type ColorEditorColorSpace = \"rgb\" | \"hsl\" | \"hsb\";\n\nexport interface ColorEditorRenderProps {\n colorSpace: ColorEditorColorSpace | \"hex\";\n}\n\nexport interface ColorEditorProps {\n /** The current color value (controlled). */\n value?: Color | string;\n /** The default color value (uncontrolled). */\n defaultValue?: Color | string;\n /** Handler called when the color changes. */\n onChange?: (color: Color) => void;\n /** Whether to hide the alpha channel. */\n hideAlphaChannel?: boolean;\n /** The initial color space. @default 'hex' */\n colorSpace?: ColorEditorColorSpace | \"hex\";\n /** Handler called when the color space changes. */\n onColorSpaceChange?: (colorSpace: ColorEditorColorSpace | \"hex\") => void;\n /** The CSS class name. */\n class?: string | ((renderProps: ColorEditorRenderProps) => string);\n /** The inline style. */\n style?: JSX.CSSProperties;\n /** Children override. If provided, replaces the default layout. */\n children?: JSX.Element;\n /** Whether the editor is disabled. */\n isDisabled?: boolean;\n}\n\n/**\n * ColorEditor provides a default UI for editing colors.\n *\n * Composes: ColorArea + ColorSlider (hue) + optional ColorSlider (alpha) +\n * color space selector + channel ColorFields.\n */\nexport function ColorEditor(props: ColorEditorProps): JSX.Element {\n const [local] = splitProps(props, [\n \"value\",\n \"defaultValue\",\n \"onChange\",\n \"hideAlphaChannel\",\n \"colorSpace\",\n \"onColorSpaceChange\",\n \"class\",\n \"style\",\n \"children\",\n \"isDisabled\",\n ]);\n\n const [activeSpace, setActiveSpace] = createSignal<ColorEditorColorSpace | \"hex\">(\n local.colorSpace ?? \"hex\",\n );\n\n const handleSpaceChange = (space: ColorEditorColorSpace | \"hex\") => {\n setActiveSpace(space);\n local.onColorSpaceChange?.(space);\n };\n\n const channels = createMemo<ColorChannel[]>(() => {\n const space = activeSpace();\n if (space === \"hex\") return [];\n return getColorChannels(space as ColorSpace);\n });\n\n const resolvedClass = () => {\n if (typeof local.class === \"function\") {\n return local.class({ colorSpace: activeSpace() });\n }\n return local.class ?? \"\";\n };\n\n if (local.children) {\n return (\n <div class={resolvedClass()} style={local.style}>\n <ColorPicker\n value={local.value}\n defaultValue={local.defaultValue}\n onChange={local.onChange}\n >\n {() => local.children}\n </ColorPicker>\n </div>\n );\n }\n\n const areaChannels = createMemo(() => {\n const space = activeSpace();\n if (space === \"hsb\" || space === \"hex\") {\n return {\n x: \"saturation\" as ColorChannel,\n y: \"brightness\" as ColorChannel,\n colorSpace: \"hsb\" as ColorSpace,\n };\n }\n if (space === \"hsl\") {\n return {\n x: \"saturation\" as ColorChannel,\n y: \"lightness\" as ColorChannel,\n colorSpace: \"hsl\" as ColorSpace,\n };\n }\n return {\n x: \"green\" as ColorChannel,\n y: \"blue\" as ColorChannel,\n colorSpace: \"rgb\" as ColorSpace,\n };\n });\n\n return (\n <div\n class={`solidaria-ColorEditor ${resolvedClass()}`}\n style={local.style}\n data-color-space={activeSpace()}\n >\n <ColorPicker value={local.value} defaultValue={local.defaultValue} onChange={local.onChange}>\n {() => (\n <>\n <div class=\"solidaria-ColorEditor-top\">\n <ColorArea\n xChannel={areaChannels().x}\n yChannel={areaChannels().y}\n isDisabled={local.isDisabled}\n >\n {() => (\n <>\n <ColorAreaGradient />\n <ColorAreaThumb />\n </>\n )}\n </ColorArea>\n\n <ColorSlider channel=\"hue\" isDisabled={local.isDisabled} aria-label=\"Hue\">\n {() => <ColorSliderTrack>{() => <ColorSliderThumb />}</ColorSliderTrack>}\n </ColorSlider>\n\n <Show when={!local.hideAlphaChannel}>\n <ColorSlider channel=\"alpha\" isDisabled={local.isDisabled} aria-label=\"Alpha\">\n {() => <ColorSliderTrack>{() => <ColorSliderThumb />}</ColorSliderTrack>}\n </ColorSlider>\n </Show>\n </div>\n\n <div class=\"solidaria-ColorEditor-bottom\">\n <select\n value={activeSpace()}\n onChange={(e) =>\n handleSpaceChange(e.currentTarget.value as ColorEditorColorSpace | \"hex\")\n }\n disabled={local.isDisabled}\n aria-label=\"Color format\"\n class=\"solidaria-ColorEditor-format\"\n >\n <option value=\"hex\">Hex</option>\n <option value=\"rgb\">RGB</option>\n <option value=\"hsl\">HSL</option>\n <option value=\"hsb\">HSB</option>\n </select>\n\n <Show\n when={activeSpace() !== \"hex\"}\n fallback={\n <ColorField isDisabled={local.isDisabled} aria-label=\"Hex color\">\n {() => <ColorFieldInput />}\n </ColorField>\n }\n >\n <For each={channels()}>\n {(channel) => (\n <ColorField\n channel={channel}\n isDisabled={local.isDisabled}\n aria-label={channel}\n >\n {() => <ColorFieldInput />}\n </ColorField>\n )}\n </For>\n </Show>\n\n <Show when={!local.hideAlphaChannel && activeSpace() !== \"hex\"}>\n <ColorField channel=\"alpha\" isDisabled={local.isDisabled} aria-label=\"Alpha\">\n {() => <ColorFieldInput />}\n </ColorField>\n </Show>\n </div>\n </>\n )}\n </ColorPicker>\n </div>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ColorEditor.js","names":["<ColorPicker\n value={local.value}\n defaultValue={local.defaultValue}\n onChange={local.onChange}\n >\n {() => local.children}\n </ColorPicker>","style={local.style}","<div class={resolvedClass()} style={local.style}>\n <ColorPicker\n value={local.value}\n defaultValue={local.defaultValue}\n onChange={local.onChange}\n >\n {() => local.children}\n </ColorPicker>\n </div>","<ColorPicker value={local.value} defaultValue={local.defaultValue} onChange={local.onChange}>\n {() => (\n <>\n <div class=\"solidaria-ColorEditor-top\">\n <ColorArea\n xChannel={areaChannels().x}\n yChannel={areaChannels().y}\n isDisabled={local.isDisabled}\n >\n {() => (\n <>\n <ColorAreaGradient />\n <ColorAreaThumb />\n </>\n )}\n </ColorArea>\n\n <ColorSlider channel=\"hue\" isDisabled={local.isDisabled} aria-label=\"Hue\">\n {() => <ColorSliderTrack>{() => <ColorSliderThumb />}</ColorSliderTrack>}\n </ColorSlider>\n\n <Show when={!local.hideAlphaChannel}>\n <ColorSlider channel=\"alpha\" isDisabled={local.isDisabled} aria-label=\"Alpha\">\n {() => <ColorSliderTrack>{() => <ColorSliderThumb />}</ColorSliderTrack>}\n </ColorSlider>\n </Show>\n </div>\n\n <div class=\"solidaria-ColorEditor-bottom\">\n <select\n value={activeSpace()}\n onChange={(e) =>\n handleSpaceChange(e.currentTarget.value as ColorEditorColorSpace | \"hex\")\n }\n disabled={local.isDisabled}\n aria-label=\"Color format\"\n class=\"solidaria-ColorEditor-format\"\n >\n <option value=\"hex\">Hex</option>\n <option value=\"rgb\">RGB</option>\n <option value=\"hsl\">HSL</option>\n <option value=\"hsb\">HSB</option>\n </select>\n\n <Show\n when={activeSpace() !== \"hex\"}\n fallback={\n <ColorField isDisabled={local.isDisabled} aria-label=\"Hex color\">\n {() => <ColorFieldInput />}\n </ColorField>\n }\n >\n <For each={channels()}>\n {(channel) => (\n <ColorField\n channel={channel}\n isDisabled={local.isDisabled}\n aria-label={channel}\n >\n {() => <ColorFieldInput />}\n </ColorField>\n )}\n </For>\n </Show>\n\n <Show when={!local.hideAlphaChannel && activeSpace() !== \"hex\"}>\n <ColorField channel=\"alpha\" isDisabled={local.isDisabled} aria-label=\"Alpha\">\n {() => <ColorFieldInput />}\n </ColorField>\n </Show>\n </div>\n </>\n )}\n </ColorPicker>","<ColorArea\n xChannel={areaChannels().x}\n yChannel={areaChannels().y}\n isDisabled={local.isDisabled}\n >\n {() => (\n <>\n <ColorAreaGradient />\n <ColorAreaThumb />\n </>\n )}\n </ColorArea>","<ColorAreaGradient />","<ColorAreaThumb />","<div class=\"solidaria-ColorEditor-top\">\n <ColorArea\n xChannel={areaChannels().x}\n yChannel={areaChannels().y}\n isDisabled={local.isDisabled}\n >\n {() => (\n <>\n <ColorAreaGradient />\n <ColorAreaThumb />\n </>\n )}\n </ColorArea>\n\n <ColorSlider channel=\"hue\" isDisabled={local.isDisabled} aria-label=\"Hue\">\n {() => <ColorSliderTrack>{() => <ColorSliderThumb />}</ColorSliderTrack>}\n </ColorSlider>\n\n <Show when={!local.hideAlphaChannel}>\n <ColorSlider channel=\"alpha\" isDisabled={local.isDisabled} aria-label=\"Alpha\">\n {() => <ColorSliderTrack>{() => <ColorSliderThumb />}</ColorSliderTrack>}\n </ColorSlider>\n </Show>\n </div>","<ColorSlider channel=\"hue\" isDisabled={local.isDisabled} aria-label=\"Hue\">\n {() => <ColorSliderTrack>{() => <ColorSliderThumb />}</ColorSliderTrack>}\n </ColorSlider>","channel=\"hue\"","<ColorSliderTrack>{() => <ColorSliderThumb />}</ColorSliderTrack>","<ColorSliderThumb />","<Show when={!local.hideAlphaChannel}>\n <ColorSlider channel=\"alpha\" isDisabled={local.isDisabled} aria-label=\"Alpha\">\n {() => <ColorSliderTrack>{() => <ColorSliderThumb />}</ColorSliderTrack>}\n </ColorSlider>\n </Show>","<ColorSlider channel=\"alpha\" isDisabled={local.isDisabled} aria-label=\"Alpha\">\n {() => <ColorSliderTrack>{() => <ColorSliderThumb />}</ColorSliderTrack>}\n </ColorSlider>","channel=\"alpha\"","<Show\n when={activeSpace() !== \"hex\"}\n fallback={\n <ColorField isDisabled={local.isDisabled} aria-label=\"Hex color\">\n {() => <ColorFieldInput />}\n </ColorField>\n }\n >\n <For each={channels()}>\n {(channel) => (\n <ColorField\n channel={channel}\n isDisabled={local.isDisabled}\n aria-label={channel}\n >\n {() => <ColorFieldInput />}\n </ColorField>\n )}\n </For>\n </Show>","<ColorField isDisabled={local.isDisabled} aria-label=\"Hex color\">\n {() => <ColorFieldInput />}\n </ColorField>","<ColorFieldInput />","<For each={channels()}>\n {(channel) => (\n <ColorField\n channel={channel}\n isDisabled={local.isDisabled}\n aria-label={channel}\n >\n {() => <ColorFieldInput />}\n </ColorField>\n )}\n </For>","<ColorField\n channel={channel}\n isDisabled={local.isDisabled}\n aria-label={channel}\n >\n {() => <ColorFieldInput />}\n </ColorField>","<div class=\"solidaria-ColorEditor-bottom\">\n <select\n value={activeSpace()}\n onChange={(e) =>\n handleSpaceChange(e.currentTarget.value as ColorEditorColorSpace | \"hex\")\n }\n disabled={local.isDisabled}\n aria-label=\"Color format\"\n class=\"solidaria-ColorEditor-format\"\n >\n <option value=\"hex\">Hex</option>\n <option value=\"rgb\">RGB</option>\n <option value=\"hsl\">HSL</option>\n <option value=\"hsb\">HSB</option>\n </select>\n\n <Show\n when={activeSpace() !== \"hex\"}\n fallback={\n <ColorField isDisabled={local.isDisabled} aria-label=\"Hex color\">\n {() => <ColorFieldInput />}\n </ColorField>\n }\n >\n <For each={channels()}>\n {(channel) => (\n <ColorField\n channel={channel}\n isDisabled={local.isDisabled}\n aria-label={channel}\n >\n {() => <ColorFieldInput />}\n </ColorField>\n )}\n </For>\n </Show>\n\n <Show when={!local.hideAlphaChannel && activeSpace() !== \"hex\"}>\n <ColorField channel=\"alpha\" isDisabled={local.isDisabled} aria-label=\"Alpha\">\n {() => <ColorFieldInput />}\n </ColorField>\n </Show>\n </div>","<Show when={!local.hideAlphaChannel && activeSpace() !== \"hex\"}>\n <ColorField channel=\"alpha\" isDisabled={local.isDisabled} aria-label=\"Alpha\">\n {() => <ColorFieldInput />}\n </ColorField>\n </Show>","!local.hideAlphaChannel && activeSpace() !== \"hex\"","<ColorField channel=\"alpha\" isDisabled={local.isDisabled} aria-label=\"Alpha\">\n {() => <ColorFieldInput />}\n </ColorField>","disabled={local.isDisabled}","data-color-space={activeSpace()}","<div\n class={`solidaria-ColorEditor ${resolvedClass()}`}\n style={local.style}\n data-color-space={activeSpace()}\n >\n <ColorPicker value={local.value} defaultValue={local.defaultValue} onChange={local.onChange}>\n {() => (\n <>\n <div class=\"solidaria-ColorEditor-top\">\n <ColorArea\n xChannel={areaChannels().x}\n yChannel={areaChannels().y}\n isDisabled={local.isDisabled}\n >\n {() => (\n <>\n <ColorAreaGradient />\n <ColorAreaThumb />\n </>\n )}\n </ColorArea>\n\n <ColorSlider channel=\"hue\" isDisabled={local.isDisabled} aria-label=\"Hue\">\n {() => <ColorSliderTrack>{() => <ColorSliderThumb />}</ColorSliderTrack>}\n </ColorSlider>\n\n <Show when={!local.hideAlphaChannel}>\n <ColorSlider channel=\"alpha\" isDisabled={local.isDisabled} aria-label=\"Alpha\">\n {() => <ColorSliderTrack>{() => <ColorSliderThumb />}</ColorSliderTrack>}\n </ColorSlider>\n </Show>\n </div>\n\n <div class=\"solidaria-ColorEditor-bottom\">\n <select\n value={activeSpace()}\n onChange={(e) =>\n handleSpaceChange(e.currentTarget.value as ColorEditorColorSpace | \"hex\")\n }\n disabled={local.isDisabled}\n aria-label=\"Color format\"\n class=\"solidaria-ColorEditor-format\"\n >\n <option value=\"hex\">Hex</option>\n <option value=\"rgb\">RGB</option>\n <option value=\"hsl\">HSL</option>\n <option value=\"hsb\">HSB</option>\n </select>\n\n <Show\n when={activeSpace() !== \"hex\"}\n fallback={\n <ColorField isDisabled={local.isDisabled} aria-label=\"Hex color\">\n {() => <ColorFieldInput />}\n </ColorField>\n }\n >\n <For each={channels()}>\n {(channel) => (\n <ColorField\n channel={channel}\n isDisabled={local.isDisabled}\n aria-label={channel}\n >\n {() => <ColorFieldInput />}\n </ColorField>\n )}\n </For>\n </Show>\n\n <Show when={!local.hideAlphaChannel && activeSpace() !== \"hex\"}>\n <ColorField channel=\"alpha\" isDisabled={local.isDisabled} aria-label=\"Alpha\">\n {() => <ColorFieldInput />}\n </ColorField>\n </Show>\n </div>\n </>\n )}\n </ColorPicker>\n </div>"],"sources":["../src/ColorEditor.tsx"],"sourcesContent":["/**\n * ColorEditor headless component\n *\n * A composite component that combines ColorArea, ColorSlider, and ColorField\n * into a complete color editing UI. Pure composition — no new ARIA hooks needed.\n * Based on @react-spectrum/color source:\n * https://github.com/adobe/react-spectrum/blob/5ecb3333001313e83898cd07644227897e3bae1f/packages/@adobe/react-spectrum/src/color/ColorEditor.tsx.\n */\n\nimport { createSignal, For, Show, createMemo } from \"solid-js\";\nimport type { JSX } from \"@solidjs/web\";\nimport {\n ColorPicker,\n ColorArea,\n ColorAreaGradient,\n ColorAreaThumb,\n ColorSlider,\n ColorSliderTrack,\n ColorSliderThumb,\n ColorField,\n ColorFieldInput,\n} from \"./Color\";\nimport { getColorChannels } from \"@proyecto-viviana/solid-stately\";\nimport type { Color, ColorChannel, ColorSpace } from \"@proyecto-viviana/solid-stately\";\nimport { splitProps } from \"@proyecto-viviana/solidaria/utils\";\n\nexport type ColorEditorColorSpace = \"rgb\" | \"hsl\" | \"hsb\";\n\nexport interface ColorEditorRenderProps {\n colorSpace: ColorEditorColorSpace | \"hex\";\n}\n\nexport interface ColorEditorProps {\n /** The current color value (controlled). */\n value?: Color | string;\n /** The default color value (uncontrolled). */\n defaultValue?: Color | string;\n /** Handler called when the color changes. */\n onChange?: (color: Color) => void;\n /** Whether to hide the alpha channel. */\n hideAlphaChannel?: boolean;\n /** The initial color space. @default 'hex' */\n colorSpace?: ColorEditorColorSpace | \"hex\";\n /** Handler called when the color space changes. */\n onColorSpaceChange?: (colorSpace: ColorEditorColorSpace | \"hex\") => void;\n /** The CSS class name. */\n class?: string | ((renderProps: ColorEditorRenderProps) => string);\n /** The inline style. */\n style?: JSX.CSSProperties;\n /** Children override. If provided, replaces the default layout. */\n children?: JSX.Element;\n /** Whether the editor is disabled. */\n isDisabled?: boolean;\n}\n\n/**\n * ColorEditor provides a default UI for editing colors.\n *\n * Composes: ColorArea + ColorSlider (hue) + optional ColorSlider (alpha) +\n * color space selector + channel ColorFields.\n */\nexport function ColorEditor(props: ColorEditorProps): JSX.Element {\n const [local] = splitProps(props, [\n \"value\",\n \"defaultValue\",\n \"onChange\",\n \"hideAlphaChannel\",\n \"colorSpace\",\n \"onColorSpaceChange\",\n \"class\",\n \"style\",\n \"children\",\n \"isDisabled\",\n ]);\n\n const [activeSpace, setActiveSpace] = createSignal<ColorEditorColorSpace | \"hex\">(\n local.colorSpace ?? \"hex\",\n );\n\n const handleSpaceChange = (space: ColorEditorColorSpace | \"hex\") => {\n setActiveSpace(space);\n local.onColorSpaceChange?.(space);\n };\n\n const channels = createMemo<ColorChannel[]>(() => {\n const space = activeSpace();\n if (space === \"hex\") return [];\n return getColorChannels(space as ColorSpace);\n });\n\n const resolvedClass = () => {\n if (typeof local.class === \"function\") {\n return local.class({ colorSpace: activeSpace() });\n }\n return local.class ?? \"\";\n };\n\n if (local.children) {\n return (\n <div class={resolvedClass()} style={local.style}>\n <ColorPicker\n value={local.value}\n defaultValue={local.defaultValue}\n onChange={local.onChange}\n >\n {() => local.children}\n </ColorPicker>\n </div>\n );\n }\n\n const areaChannels = createMemo(() => {\n const space = activeSpace();\n if (space === \"hsb\" || space === \"hex\") {\n return {\n x: \"saturation\" as ColorChannel,\n y: \"brightness\" as ColorChannel,\n colorSpace: \"hsb\" as ColorSpace,\n };\n }\n if (space === \"hsl\") {\n return {\n x: \"saturation\" as ColorChannel,\n y: \"lightness\" as ColorChannel,\n colorSpace: \"hsl\" as ColorSpace,\n };\n }\n return {\n x: \"green\" as ColorChannel,\n y: \"blue\" as ColorChannel,\n colorSpace: \"rgb\" as ColorSpace,\n };\n });\n\n return (\n <div\n class={`solidaria-ColorEditor ${resolvedClass()}`}\n style={local.style}\n data-color-space={activeSpace()}\n >\n <ColorPicker value={local.value} defaultValue={local.defaultValue} onChange={local.onChange}>\n {() => (\n <>\n <div class=\"solidaria-ColorEditor-top\">\n <ColorArea\n xChannel={areaChannels().x}\n yChannel={areaChannels().y}\n isDisabled={local.isDisabled}\n >\n {() => (\n <>\n <ColorAreaGradient />\n <ColorAreaThumb />\n </>\n )}\n </ColorArea>\n\n <ColorSlider channel=\"hue\" isDisabled={local.isDisabled} aria-label=\"Hue\">\n {() => <ColorSliderTrack>{() => <ColorSliderThumb />}</ColorSliderTrack>}\n </ColorSlider>\n\n <Show when={!local.hideAlphaChannel}>\n <ColorSlider channel=\"alpha\" isDisabled={local.isDisabled} aria-label=\"Alpha\">\n {() => <ColorSliderTrack>{() => <ColorSliderThumb />}</ColorSliderTrack>}\n </ColorSlider>\n </Show>\n </div>\n\n <div class=\"solidaria-ColorEditor-bottom\">\n <select\n value={activeSpace()}\n onChange={(e) =>\n handleSpaceChange(e.currentTarget.value as ColorEditorColorSpace | \"hex\")\n }\n disabled={local.isDisabled}\n aria-label=\"Color format\"\n class=\"solidaria-ColorEditor-format\"\n >\n <option value=\"hex\">Hex</option>\n <option value=\"rgb\">RGB</option>\n <option value=\"hsl\">HSL</option>\n <option value=\"hsb\">HSB</option>\n </select>\n\n <Show\n when={activeSpace() !== \"hex\"}\n fallback={\n <ColorField isDisabled={local.isDisabled} aria-label=\"Hex color\">\n {() => <ColorFieldInput />}\n </ColorField>\n }\n >\n <For each={channels()}>\n {(channel) => (\n <ColorField\n channel={channel}\n isDisabled={local.isDisabled}\n aria-label={channel}\n >\n {() => <ColorFieldInput />}\n </ColorField>\n )}\n </For>\n </Show>\n\n <Show when={!local.hideAlphaChannel && activeSpace() !== \"hex\"}>\n <ColorField channel=\"alpha\" isDisabled={local.isDisabled} aria-label=\"Alpha\">\n {() => <ColorFieldInput />}\n </ColorField>\n </Show>\n </div>\n </>\n )}\n </ColorPicker>\n </div>\n );\n}\n"],"mappings":"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"}
|
package/dist/ColorEditor.jsx
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ColorArea, ColorAreaGradient, ColorAreaThumb, ColorField, ColorFieldInput, ColorPicker, ColorSlider, ColorSliderThumb, ColorSliderTrack } from "./Color.jsx";
|
|
2
|
-
import { For, Show, createMemo, createSignal
|
|
2
|
+
import { For, Show, createMemo, createSignal } from "solid-js";
|
|
3
|
+
import { splitProps } from "@proyecto-viviana/solidaria/utils";
|
|
3
4
|
import { getColorChannels } from "@proyecto-viviana/solid-stately";
|
|
4
5
|
//#region src/ColorEditor.tsx
|
|
5
6
|
/**
|
|
@@ -7,6 +8,8 @@ import { getColorChannels } from "@proyecto-viviana/solid-stately";
|
|
|
7
8
|
*
|
|
8
9
|
* A composite component that combines ColorArea, ColorSlider, and ColorField
|
|
9
10
|
* into a complete color editing UI. Pure composition — no new ARIA hooks needed.
|
|
11
|
+
* Based on @react-spectrum/color source:
|
|
12
|
+
* https://github.com/adobe/react-spectrum/blob/5ecb3333001313e83898cd07644227897e3bae1f/packages/@adobe/react-spectrum/src/color/ColorEditor.tsx.
|
|
10
13
|
*/
|
|
11
14
|
/**
|
|
12
15
|
* ColorEditor provides a default UI for editing colors.
|
package/dist/ColorEditor.jsx.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorEditor.jsx","names":[],"sources":["../src/ColorEditor.tsx"],"sourcesContent":["/**\n * ColorEditor headless component\n *\n * A composite component that combines ColorArea, ColorSlider, and ColorField\n * into a complete color editing UI. Pure composition — no new ARIA hooks needed.\n */\n\nimport {
|
|
1
|
+
{"version":3,"file":"ColorEditor.jsx","names":[],"sources":["../src/ColorEditor.tsx"],"sourcesContent":["/**\n * ColorEditor headless component\n *\n * A composite component that combines ColorArea, ColorSlider, and ColorField\n * into a complete color editing UI. Pure composition — no new ARIA hooks needed.\n * Based on @react-spectrum/color source:\n * https://github.com/adobe/react-spectrum/blob/5ecb3333001313e83898cd07644227897e3bae1f/packages/@adobe/react-spectrum/src/color/ColorEditor.tsx.\n */\n\nimport { createSignal, For, Show, createMemo } from \"solid-js\";\nimport type { JSX } from \"@solidjs/web\";\nimport {\n ColorPicker,\n ColorArea,\n ColorAreaGradient,\n ColorAreaThumb,\n ColorSlider,\n ColorSliderTrack,\n ColorSliderThumb,\n ColorField,\n ColorFieldInput,\n} from \"./Color\";\nimport { getColorChannels } from \"@proyecto-viviana/solid-stately\";\nimport type { Color, ColorChannel, ColorSpace } from \"@proyecto-viviana/solid-stately\";\nimport { splitProps } from \"@proyecto-viviana/solidaria/utils\";\n\nexport type ColorEditorColorSpace = \"rgb\" | \"hsl\" | \"hsb\";\n\nexport interface ColorEditorRenderProps {\n colorSpace: ColorEditorColorSpace | \"hex\";\n}\n\nexport interface ColorEditorProps {\n /** The current color value (controlled). */\n value?: Color | string;\n /** The default color value (uncontrolled). */\n defaultValue?: Color | string;\n /** Handler called when the color changes. */\n onChange?: (color: Color) => void;\n /** Whether to hide the alpha channel. */\n hideAlphaChannel?: boolean;\n /** The initial color space. @default 'hex' */\n colorSpace?: ColorEditorColorSpace | \"hex\";\n /** Handler called when the color space changes. */\n onColorSpaceChange?: (colorSpace: ColorEditorColorSpace | \"hex\") => void;\n /** The CSS class name. */\n class?: string | ((renderProps: ColorEditorRenderProps) => string);\n /** The inline style. */\n style?: JSX.CSSProperties;\n /** Children override. If provided, replaces the default layout. */\n children?: JSX.Element;\n /** Whether the editor is disabled. */\n isDisabled?: boolean;\n}\n\n/**\n * ColorEditor provides a default UI for editing colors.\n *\n * Composes: ColorArea + ColorSlider (hue) + optional ColorSlider (alpha) +\n * color space selector + channel ColorFields.\n */\nexport function ColorEditor(props: ColorEditorProps): JSX.Element {\n const [local] = splitProps(props, [\n \"value\",\n \"defaultValue\",\n \"onChange\",\n \"hideAlphaChannel\",\n \"colorSpace\",\n \"onColorSpaceChange\",\n \"class\",\n \"style\",\n \"children\",\n \"isDisabled\",\n ]);\n\n const [activeSpace, setActiveSpace] = createSignal<ColorEditorColorSpace | \"hex\">(\n local.colorSpace ?? \"hex\",\n );\n\n const handleSpaceChange = (space: ColorEditorColorSpace | \"hex\") => {\n setActiveSpace(space);\n local.onColorSpaceChange?.(space);\n };\n\n const channels = createMemo<ColorChannel[]>(() => {\n const space = activeSpace();\n if (space === \"hex\") return [];\n return getColorChannels(space as ColorSpace);\n });\n\n const resolvedClass = () => {\n if (typeof local.class === \"function\") {\n return local.class({ colorSpace: activeSpace() });\n }\n return local.class ?? \"\";\n };\n\n if (local.children) {\n return (\n <div class={resolvedClass()} style={local.style}>\n <ColorPicker\n value={local.value}\n defaultValue={local.defaultValue}\n onChange={local.onChange}\n >\n {() => local.children}\n </ColorPicker>\n </div>\n );\n }\n\n const areaChannels = createMemo(() => {\n const space = activeSpace();\n if (space === \"hsb\" || space === \"hex\") {\n return {\n x: \"saturation\" as ColorChannel,\n y: \"brightness\" as ColorChannel,\n colorSpace: \"hsb\" as ColorSpace,\n };\n }\n if (space === \"hsl\") {\n return {\n x: \"saturation\" as ColorChannel,\n y: \"lightness\" as ColorChannel,\n colorSpace: \"hsl\" as ColorSpace,\n };\n }\n return {\n x: \"green\" as ColorChannel,\n y: \"blue\" as ColorChannel,\n colorSpace: \"rgb\" as ColorSpace,\n };\n });\n\n return (\n <div\n class={`solidaria-ColorEditor ${resolvedClass()}`}\n style={local.style}\n data-color-space={activeSpace()}\n >\n <ColorPicker value={local.value} defaultValue={local.defaultValue} onChange={local.onChange}>\n {() => (\n <>\n <div class=\"solidaria-ColorEditor-top\">\n <ColorArea\n xChannel={areaChannels().x}\n yChannel={areaChannels().y}\n isDisabled={local.isDisabled}\n >\n {() => (\n <>\n <ColorAreaGradient />\n <ColorAreaThumb />\n </>\n )}\n </ColorArea>\n\n <ColorSlider channel=\"hue\" isDisabled={local.isDisabled} aria-label=\"Hue\">\n {() => <ColorSliderTrack>{() => <ColorSliderThumb />}</ColorSliderTrack>}\n </ColorSlider>\n\n <Show when={!local.hideAlphaChannel}>\n <ColorSlider channel=\"alpha\" isDisabled={local.isDisabled} aria-label=\"Alpha\">\n {() => <ColorSliderTrack>{() => <ColorSliderThumb />}</ColorSliderTrack>}\n </ColorSlider>\n </Show>\n </div>\n\n <div class=\"solidaria-ColorEditor-bottom\">\n <select\n value={activeSpace()}\n onChange={(e) =>\n handleSpaceChange(e.currentTarget.value as ColorEditorColorSpace | \"hex\")\n }\n disabled={local.isDisabled}\n aria-label=\"Color format\"\n class=\"solidaria-ColorEditor-format\"\n >\n <option value=\"hex\">Hex</option>\n <option value=\"rgb\">RGB</option>\n <option value=\"hsl\">HSL</option>\n <option value=\"hsb\">HSB</option>\n </select>\n\n <Show\n when={activeSpace() !== \"hex\"}\n fallback={\n <ColorField isDisabled={local.isDisabled} aria-label=\"Hex color\">\n {() => <ColorFieldInput />}\n </ColorField>\n }\n >\n <For each={channels()}>\n {(channel) => (\n <ColorField\n channel={channel}\n isDisabled={local.isDisabled}\n aria-label={channel}\n >\n {() => <ColorFieldInput />}\n </ColorField>\n )}\n </For>\n </Show>\n\n <Show when={!local.hideAlphaChannel && activeSpace() !== \"hex\"}>\n <ColorField channel=\"alpha\" isDisabled={local.isDisabled} aria-label=\"Alpha\">\n {() => <ColorFieldInput />}\n </ColorField>\n </Show>\n </div>\n </>\n )}\n </ColorPicker>\n </div>\n );\n}\n"],"mappings":"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"}
|
package/dist/ComboBox.d.ts
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
* A pre-wired headless combobox that combines state + aria hooks.
|
|
5
|
-
* Port of react-aria-components/src/ComboBox.tsx
|
|
6
|
-
*/
|
|
7
|
-
import { type JSX, type Accessor, type Context } from "solid-js";
|
|
1
|
+
import type { Accessor, Context } from "solid-js";
|
|
2
|
+
import type { JSX } from "@solidjs/web";
|
|
8
3
|
import { type AriaComboBoxProps, type AriaOptionProps } from "@proyecto-viviana/solidaria";
|
|
9
4
|
import { defaultContainsFilter, type ComboBoxState, type ListState, type Key, type FilterFn, type MenuTriggerAction } from "@proyecto-viviana/solid-stately";
|
|
10
5
|
import { type RenderChildren, type ClassNameOrFunction, type StyleOrFunction, type SlotProps } from "./utils";
|
|
@@ -193,7 +188,24 @@ export interface ComboBoxListBoxProps<T> extends SlotProps {
|
|
|
193
188
|
class?: ClassNameOrFunction<ComboBoxListBoxRenderProps>;
|
|
194
189
|
/** The inline style for the element. */
|
|
195
190
|
style?: StyleOrFunction<ComboBoxListBoxRenderProps>;
|
|
191
|
+
/** A function to render when the listbox is empty. RAC ListBox `renderEmptyState`. */
|
|
192
|
+
renderEmptyState?: () => JSX.Element;
|
|
193
|
+
/** Called when the load more sentinel becomes visible. */
|
|
194
|
+
onLoadMore?: () => void | Promise<void>;
|
|
195
|
+
/** Whether additional items are currently loading. */
|
|
196
|
+
isLoading?: boolean;
|
|
197
|
+
/** Content to display in the load more sentinel row. */
|
|
198
|
+
renderLoadMore?: () => JSX.Element | undefined;
|
|
199
|
+
/** CSS class for the load more sentinel row. */
|
|
200
|
+
loadMoreClass?: ClassNameOrFunction<{
|
|
201
|
+
isLoading: boolean;
|
|
202
|
+
}>;
|
|
196
203
|
}
|
|
204
|
+
export type ComboBoxItemRenderProps = ComboBoxOptionRenderProps;
|
|
205
|
+
export type ComboBoxItemProps<T> = ComboBoxOptionProps<T>;
|
|
206
|
+
/**
|
|
207
|
+
* @deprecated Use {@link ComboBoxItemProps}. Removed in a future minor.
|
|
208
|
+
*/
|
|
197
209
|
export interface ComboBoxOptionRenderProps {
|
|
198
210
|
/** Whether the option is selected. */
|
|
199
211
|
isSelected: boolean;
|
|
@@ -247,6 +259,8 @@ interface ComboBoxContextValue<T> {
|
|
|
247
259
|
setTriggerRef: (el: HTMLElement | null) => void;
|
|
248
260
|
listBoxRef: () => HTMLElement | null;
|
|
249
261
|
setListBoxRef: (el: HTMLElement | null) => void;
|
|
262
|
+
popoverRef: () => HTMLElement | null;
|
|
263
|
+
setPopoverRef: (el: HTMLElement | null) => void;
|
|
250
264
|
registerOptionAction: (key: Key, action: (() => void) | undefined) => void;
|
|
251
265
|
runOptionAction: (key: Key) => void;
|
|
252
266
|
slots?: Record<string, Partial<ComboBoxProps<T>>>;
|
|
@@ -262,7 +276,7 @@ export declare namespace ComboBox {
|
|
|
262
276
|
var Input: typeof ComboBoxInput;
|
|
263
277
|
var Button: typeof ComboBoxButton;
|
|
264
278
|
var ListBox: typeof ComboBoxListBox;
|
|
265
|
-
var Option: typeof
|
|
279
|
+
var Option: typeof ComboBoxItem;
|
|
266
280
|
var Label: typeof ComboBoxLabel;
|
|
267
281
|
var Description: typeof ComboBoxDescription;
|
|
268
282
|
var ErrorMessage: typeof ComboBoxErrorMessage;
|
|
@@ -295,9 +309,12 @@ export declare function ComboBoxButton(props: ComboBoxButtonProps): JSX.Element;
|
|
|
295
309
|
*/
|
|
296
310
|
export declare function ComboBoxListBox<T>(props: ComboBoxListBoxProps<T>): JSX.Element;
|
|
297
311
|
/**
|
|
298
|
-
* An
|
|
312
|
+
* An item in a combobox listbox.
|
|
313
|
+
*
|
|
314
|
+
* Local addition: RAC ComboBox uses {@link ListBoxItem}. Prefer that when
|
|
315
|
+
* composing the headless ComboBox. This wrapper stays for existing call sites.
|
|
299
316
|
*/
|
|
300
|
-
export declare function
|
|
317
|
+
export declare function ComboBoxItem<T>(props: ComboBoxItemProps<T>): JSX.Element;
|
|
301
318
|
export interface ComboBoxTagGroupProps {
|
|
302
319
|
/** Render function for each selected item. */
|
|
303
320
|
children: (item: {
|
|
@@ -332,5 +349,9 @@ export interface ComboBoxTagProps {
|
|
|
332
349
|
* A tag representing a selected item in a multi-select combobox.
|
|
333
350
|
*/
|
|
334
351
|
export declare function ComboBoxTag(props: ComboBoxTagProps): JSX.Element;
|
|
352
|
+
/**
|
|
353
|
+
* @deprecated Use {@link ComboBoxItem}. Local addition — RAC ComboBox uses ListBoxItem. Removed in a future minor.
|
|
354
|
+
*/
|
|
355
|
+
export declare const ComboBoxOption: typeof ComboBoxItem;
|
|
335
356
|
export { defaultContainsFilter };
|
|
336
357
|
//# sourceMappingURL=ComboBox.d.ts.map
|
package/dist/ComboBox.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboBox.d.ts","sourceRoot":"","sources":["../src/ComboBox.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ComboBox.d.ts","sourceRoot":"","sources":["../src/ComboBox.tsx"],"names":[],"mappings":"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"}
|