@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
|
@@ -1,7 +1,40 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2024 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
|
+
|
|
13
|
+
/*
|
|
14
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
15
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
16
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
17
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
18
|
+
*
|
|
19
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
20
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
21
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
22
|
+
* governing permissions and limitations under the License.
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/src/layout/GridLayout.ts
|
|
26
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/src/layout/ListLayout.ts
|
|
27
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/src/layout/TableLayout.ts
|
|
28
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/src/layout/WaterfallLayout.ts
|
|
29
|
+
|
|
1
30
|
/**
|
|
2
31
|
* Layout primitives for solidaria-components Virtualizer.
|
|
3
32
|
*
|
|
4
|
-
* These
|
|
33
|
+
* These layout contracts are based on:
|
|
34
|
+
* - packages/react-stately/src/layout/ListLayout.ts
|
|
35
|
+
* - packages/react-stately/src/layout/GridLayout.ts
|
|
36
|
+
* - packages/react-stately/src/layout/TableLayout.ts
|
|
37
|
+
* - packages/react-stately/src/layout/WaterfallLayout.ts
|
|
5
38
|
*/
|
|
6
39
|
|
|
7
40
|
export interface Point {
|
|
@@ -32,6 +65,8 @@ export interface LayoutInfo {
|
|
|
32
65
|
key: string | number;
|
|
33
66
|
index: number;
|
|
34
67
|
rect: Rect;
|
|
68
|
+
/** True while this rect still uses `estimatedRowHeight` / `estimatedRowSize`. */
|
|
69
|
+
estimatedSize?: boolean;
|
|
35
70
|
}
|
|
36
71
|
|
|
37
72
|
export interface VirtualizerVisibleRange {
|
|
@@ -60,12 +95,43 @@ export interface DefaultVirtualizerLayoutOptions {
|
|
|
60
95
|
* @default 'vertical'
|
|
61
96
|
*/
|
|
62
97
|
orientation?: Orientation;
|
|
98
|
+
/**
|
|
99
|
+
* Fixed row size along the primary axis. Alias of RAC `rowSize` / `rowHeight`.
|
|
100
|
+
* Takes precedence over `estimatedRowHeight`.
|
|
101
|
+
*/
|
|
102
|
+
rowSize?: number;
|
|
103
|
+
/** @deprecated Use `rowSize`. */
|
|
104
|
+
rowHeight?: number;
|
|
105
|
+
/**
|
|
106
|
+
* Estimated row size when heights are variable. RAC `estimatedRowSize` /
|
|
107
|
+
* `estimatedRowHeight` — ComboBox/Picker pass `estimatedRowHeight: 32`.
|
|
108
|
+
*/
|
|
109
|
+
estimatedRowSize?: number;
|
|
110
|
+
/** @deprecated Use `estimatedRowSize`. */
|
|
111
|
+
estimatedRowHeight?: number;
|
|
112
|
+
/**
|
|
113
|
+
* Padding around the list along both axes. RAC `ListLayoutOptions.padding`.
|
|
114
|
+
* ComboBox/Picker pass `padding: 8`; the listbox element itself is `padding: 0`.
|
|
115
|
+
*/
|
|
116
|
+
padding?: number;
|
|
117
|
+
/** Gap between items along the primary axis. */
|
|
118
|
+
gap?: number;
|
|
119
|
+
estimatedHeadingSize?: number;
|
|
120
|
+
estimatedHeadingHeight?: number;
|
|
121
|
+
loaderSize?: number;
|
|
122
|
+
loaderHeight?: number;
|
|
63
123
|
}
|
|
64
124
|
|
|
65
125
|
export interface GridLayoutOptions extends DefaultVirtualizerLayoutOptions {
|
|
66
126
|
rowHeight?: number;
|
|
67
127
|
columnCount?: number;
|
|
68
128
|
viewportWidth?: number;
|
|
129
|
+
/** Minimum card/item width used to derive `columnCount` when it is omitted. */
|
|
130
|
+
minItemSize?: number;
|
|
131
|
+
/** Maximum card/item width. Consumed by CardView packing. */
|
|
132
|
+
maxItemSize?: number;
|
|
133
|
+
/** Gutter between items. */
|
|
134
|
+
minSpace?: number;
|
|
69
135
|
}
|
|
70
136
|
|
|
71
137
|
export interface WaterfallLayoutOptions extends GridLayoutOptions {
|
|
@@ -103,28 +169,59 @@ function clampRange(
|
|
|
103
169
|
return {
|
|
104
170
|
start: safeStart,
|
|
105
171
|
end: safeEnd,
|
|
172
|
+
// Layout padding lives in layoutInfo / contentSize, not in these spacers.
|
|
173
|
+
// RAC CollectionRoot has no CSS padding; items are absolutely inset.
|
|
106
174
|
offsetTop: safeStart * itemSize,
|
|
107
175
|
offsetBottom: Math.max(0, (itemCount - safeEnd) * itemSize),
|
|
108
176
|
};
|
|
109
177
|
}
|
|
110
178
|
|
|
179
|
+
/**
|
|
180
|
+
* Resolve the primary-axis row size. Fixed `rowSize` / `rowHeight` / `itemSize`
|
|
181
|
+
* win over `estimatedRowHeight`. Default 40 matches the existing Solid fallback
|
|
182
|
+
* (RAC ListLayout defaults to 48 only when neither fixed nor estimated is set).
|
|
183
|
+
*/
|
|
184
|
+
export function resolveListRowSizeInfo(options?: DefaultVirtualizerLayoutOptions): {
|
|
185
|
+
size: number;
|
|
186
|
+
estimated: boolean;
|
|
187
|
+
} {
|
|
188
|
+
const fixed = options?.rowSize ?? options?.rowHeight ?? options?.itemSize;
|
|
189
|
+
if (fixed != null && Number.isFinite(fixed)) {
|
|
190
|
+
return { size: Math.max(1, fixed), estimated: false };
|
|
191
|
+
}
|
|
192
|
+
const estimated = options?.estimatedRowSize ?? options?.estimatedRowHeight;
|
|
193
|
+
if (estimated != null && Number.isFinite(estimated)) {
|
|
194
|
+
return { size: Math.max(1, estimated), estimated: true };
|
|
195
|
+
}
|
|
196
|
+
return { size: 40, estimated: false };
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
export function resolveListRowSize(options?: DefaultVirtualizerLayoutOptions): number {
|
|
200
|
+
return resolveListRowSizeInfo(options).size;
|
|
201
|
+
}
|
|
202
|
+
|
|
111
203
|
export function calculateLinearVisibleRange(
|
|
112
204
|
itemCount: number,
|
|
113
205
|
scrollOffset: number,
|
|
114
206
|
viewportSize: number,
|
|
115
207
|
itemSize: number,
|
|
116
208
|
overscan: number,
|
|
209
|
+
padding = 0,
|
|
117
210
|
): VirtualizerVisibleRange {
|
|
118
211
|
if (itemCount <= 0) return { start: 0, end: 0, offsetTop: 0, offsetBottom: 0 };
|
|
119
212
|
const safeItemSize = Math.max(1, itemSize);
|
|
120
213
|
const safeViewport = Math.max(1, viewportSize);
|
|
121
214
|
const safeOverscan = Math.max(0, overscan);
|
|
122
|
-
const
|
|
215
|
+
const safePadding = Math.max(0, padding);
|
|
216
|
+
const start = Math.floor((scrollOffset - safePadding) / safeItemSize) - safeOverscan;
|
|
123
217
|
const visibleCount = Math.ceil(safeViewport / safeItemSize) + safeOverscan * 2;
|
|
124
218
|
return clampRange(itemCount, start, start + visibleCount, safeItemSize);
|
|
125
219
|
}
|
|
126
220
|
|
|
127
221
|
export class ListLayout {
|
|
222
|
+
/** Measured primary-axis size per index, filled by VirtualizerItem. */
|
|
223
|
+
private measuredMain = new Map<number, number>();
|
|
224
|
+
|
|
128
225
|
getVisibleRange(
|
|
129
226
|
ctx: VirtualizerRangeContext,
|
|
130
227
|
options?: DefaultVirtualizerLayoutOptions,
|
|
@@ -133,39 +230,77 @@ export class ListLayout {
|
|
|
133
230
|
ctx.itemCount,
|
|
134
231
|
ctx.scrollOffset,
|
|
135
232
|
ctx.viewportSize,
|
|
136
|
-
options
|
|
233
|
+
resolveListRowSize(options),
|
|
137
234
|
options?.overscan ?? ctx.overscan,
|
|
235
|
+
Math.max(0, options?.padding ?? 0),
|
|
138
236
|
);
|
|
139
237
|
}
|
|
140
238
|
|
|
239
|
+
updateItemSize(index: number, mainSize: number): boolean {
|
|
240
|
+
if (!(mainSize > 0)) return false;
|
|
241
|
+
if (this.measuredMain.get(index) === mainSize) return false;
|
|
242
|
+
this.measuredMain.set(index, mainSize);
|
|
243
|
+
return true;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
getContentSize(
|
|
247
|
+
itemCount: number,
|
|
248
|
+
context: VirtualizerLayoutInfoContext,
|
|
249
|
+
options?: DefaultVirtualizerLayoutOptions,
|
|
250
|
+
): Size {
|
|
251
|
+
const { size: rowSize } = resolveListRowSizeInfo(options);
|
|
252
|
+
const padding = Math.max(0, options?.padding ?? 0);
|
|
253
|
+
const gap = Math.max(0, options?.gap ?? 0);
|
|
254
|
+
const horizontal = (options?.orientation ?? "vertical") === "horizontal";
|
|
255
|
+
let main = 0;
|
|
256
|
+
if (itemCount > 0) {
|
|
257
|
+
main = padding;
|
|
258
|
+
for (let i = 0; i < itemCount; i++) {
|
|
259
|
+
main += this.measuredMain.get(i) ?? rowSize;
|
|
260
|
+
if (i < itemCount - 1) main += gap;
|
|
261
|
+
}
|
|
262
|
+
main += padding;
|
|
263
|
+
}
|
|
264
|
+
if (horizontal) {
|
|
265
|
+
return { width: main, height: Math.max(0, context.viewportHeight ?? 0) };
|
|
266
|
+
}
|
|
267
|
+
return { width: Math.max(0, context.viewportWidth), height: main };
|
|
268
|
+
}
|
|
269
|
+
|
|
141
270
|
getLayoutInfo(
|
|
142
271
|
index: number,
|
|
143
272
|
context: VirtualizerLayoutInfoContext,
|
|
144
273
|
options?: DefaultVirtualizerLayoutOptions,
|
|
145
274
|
): LayoutInfo {
|
|
146
|
-
const
|
|
275
|
+
const { size: rowSize, estimated } = resolveListRowSizeInfo(options);
|
|
276
|
+
const padding = Math.max(0, options?.padding ?? 0);
|
|
277
|
+
const gap = Math.max(0, options?.gap ?? 0);
|
|
278
|
+
const measured = this.measuredMain.get(index);
|
|
279
|
+
const main = measured ?? rowSize;
|
|
280
|
+
const estimatedSize = measured == null && estimated;
|
|
281
|
+
const origin = this.offsetForIndex(index, rowSize, padding, gap);
|
|
147
282
|
if ((options?.orientation ?? "vertical") === "horizontal") {
|
|
148
|
-
// Items stack along the x axis; the cross axis (height) fills the viewport.
|
|
149
283
|
return {
|
|
150
284
|
key: String(index),
|
|
151
285
|
index,
|
|
286
|
+
estimatedSize,
|
|
152
287
|
rect: {
|
|
153
|
-
x:
|
|
154
|
-
y:
|
|
155
|
-
width:
|
|
156
|
-
height: Math.max(0, context.viewportHeight ?? 0),
|
|
288
|
+
x: origin,
|
|
289
|
+
y: padding,
|
|
290
|
+
width: main,
|
|
291
|
+
height: Math.max(0, (context.viewportHeight ?? 0) - padding * 2),
|
|
157
292
|
},
|
|
158
293
|
};
|
|
159
294
|
}
|
|
160
|
-
// Items stack along the y axis; the cross axis (width) fills the viewport.
|
|
161
295
|
return {
|
|
162
296
|
key: String(index),
|
|
163
297
|
index,
|
|
298
|
+
estimatedSize,
|
|
164
299
|
rect: {
|
|
165
|
-
x:
|
|
166
|
-
y:
|
|
167
|
-
width: Math.max(0, context.viewportWidth),
|
|
168
|
-
height:
|
|
300
|
+
x: padding,
|
|
301
|
+
y: origin,
|
|
302
|
+
width: Math.max(0, context.viewportWidth - padding * 2),
|
|
303
|
+
height: main,
|
|
169
304
|
},
|
|
170
305
|
};
|
|
171
306
|
}
|
|
@@ -176,36 +311,63 @@ export class ListLayout {
|
|
|
176
311
|
options?: DefaultVirtualizerLayoutOptions,
|
|
177
312
|
): VirtualizerDropTarget | null {
|
|
178
313
|
if (itemCount <= 0) return { type: "root", index: -1, position: "on" };
|
|
179
|
-
const itemSize =
|
|
180
|
-
|
|
181
|
-
const
|
|
314
|
+
const itemSize = resolveListRowSize(options);
|
|
315
|
+
const padding = Math.max(0, options?.padding ?? 0);
|
|
316
|
+
const gap = Math.max(0, options?.gap ?? 0);
|
|
317
|
+
const stride = itemSize + gap;
|
|
318
|
+
const offset =
|
|
319
|
+
((options?.orientation ?? "vertical") === "horizontal" ? point.x : point.y) - padding;
|
|
182
320
|
if (offset < 0) {
|
|
183
321
|
return { type: "item", index: 0, position: "before" };
|
|
184
322
|
}
|
|
185
|
-
const totalSize = itemCount *
|
|
323
|
+
const totalSize = itemCount * stride - (itemCount > 0 ? gap : 0);
|
|
186
324
|
if (offset >= totalSize) {
|
|
187
325
|
return { type: "item", index: itemCount - 1, position: "after" };
|
|
188
326
|
}
|
|
189
|
-
const rawIndex = Math.floor(offset /
|
|
327
|
+
const rawIndex = Math.floor(offset / stride);
|
|
190
328
|
const index = Math.max(0, Math.min(rawIndex, itemCount - 1));
|
|
191
|
-
const offsetWithinItem = Math.max(0, offset - index *
|
|
329
|
+
const offsetWithinItem = Math.max(0, offset - index * stride);
|
|
192
330
|
const threshold = itemSize / 3;
|
|
193
331
|
const position: VirtualizerDropTarget["position"] =
|
|
194
332
|
offsetWithinItem < threshold ? "before" : offsetWithinItem > threshold * 2 ? "after" : "on";
|
|
195
333
|
return { type: "item", index, position };
|
|
196
334
|
}
|
|
335
|
+
|
|
336
|
+
private offsetForIndex(index: number, rowSize: number, padding: number, gap: number): number {
|
|
337
|
+
if (this.measuredMain.size === 0) {
|
|
338
|
+
return padding + index * (rowSize + gap);
|
|
339
|
+
}
|
|
340
|
+
let offset = padding;
|
|
341
|
+
for (let i = 0; i < index; i++) {
|
|
342
|
+
offset += (this.measuredMain.get(i) ?? rowSize) + gap;
|
|
343
|
+
}
|
|
344
|
+
return offset;
|
|
345
|
+
}
|
|
197
346
|
}
|
|
198
347
|
|
|
199
348
|
export class TableLayout extends ListLayout {}
|
|
200
349
|
|
|
350
|
+
function resolveGridColumnCount(ctxWidth: number | undefined, options?: GridLayoutOptions): number {
|
|
351
|
+
if (options?.columnCount != null && options.columnCount > 0) {
|
|
352
|
+
return Math.max(1, options.columnCount);
|
|
353
|
+
}
|
|
354
|
+
const width = Math.max(1, options?.viewportWidth ?? ctxWidth ?? 320);
|
|
355
|
+
const minItem = Math.max(1, options?.minItemSize ?? options?.itemSize ?? 150);
|
|
356
|
+
const minSpace = Math.max(0, options?.minSpace ?? 0);
|
|
357
|
+
return Math.max(1, Math.floor((width + minSpace) / (minItem + minSpace)));
|
|
358
|
+
}
|
|
359
|
+
|
|
201
360
|
export class GridLayout {
|
|
202
361
|
getVisibleRange(
|
|
203
362
|
ctx: VirtualizerRangeContext,
|
|
204
363
|
options?: GridLayoutOptions,
|
|
205
364
|
): VirtualizerVisibleRange {
|
|
206
365
|
if (ctx.itemCount <= 0) return { start: 0, end: 0, offsetTop: 0, offsetBottom: 0 };
|
|
207
|
-
const rowHeight = Math.max(
|
|
208
|
-
|
|
366
|
+
const rowHeight = Math.max(
|
|
367
|
+
1,
|
|
368
|
+
options?.rowHeight ?? options?.itemSize ?? options?.minItemSize ?? 40,
|
|
369
|
+
);
|
|
370
|
+
const columns = resolveGridColumnCount(ctx.viewportWidth, options);
|
|
209
371
|
const safeViewport = Math.max(1, ctx.viewportSize);
|
|
210
372
|
const safeOverscan = Math.max(0, options?.overscan ?? ctx.overscan);
|
|
211
373
|
|
|
@@ -225,13 +387,33 @@ export class GridLayout {
|
|
|
225
387
|
return { start, end, offsetTop, offsetBottom };
|
|
226
388
|
}
|
|
227
389
|
|
|
390
|
+
getContentSize(
|
|
391
|
+
itemCount: number,
|
|
392
|
+
context: VirtualizerLayoutInfoContext,
|
|
393
|
+
options?: GridLayoutOptions,
|
|
394
|
+
): Size {
|
|
395
|
+
const rowHeight = Math.max(
|
|
396
|
+
1,
|
|
397
|
+
options?.rowHeight ?? options?.itemSize ?? options?.minItemSize ?? 40,
|
|
398
|
+
);
|
|
399
|
+
const columns = resolveGridColumnCount(context.viewportWidth, options);
|
|
400
|
+
const totalRows = itemCount <= 0 ? 0 : Math.ceil(itemCount / columns);
|
|
401
|
+
return {
|
|
402
|
+
width: Math.max(0, context.viewportWidth),
|
|
403
|
+
height: totalRows * rowHeight,
|
|
404
|
+
};
|
|
405
|
+
}
|
|
406
|
+
|
|
228
407
|
getLayoutInfo(
|
|
229
408
|
index: number,
|
|
230
409
|
context: VirtualizerLayoutInfoContext,
|
|
231
410
|
options?: GridLayoutOptions,
|
|
232
411
|
): LayoutInfo {
|
|
233
|
-
const rowHeight = Math.max(
|
|
234
|
-
|
|
412
|
+
const rowHeight = Math.max(
|
|
413
|
+
1,
|
|
414
|
+
options?.rowHeight ?? options?.itemSize ?? options?.minItemSize ?? 40,
|
|
415
|
+
);
|
|
416
|
+
const columns = resolveGridColumnCount(context.viewportWidth, options);
|
|
235
417
|
const row = Math.floor(index / columns);
|
|
236
418
|
const col = index % columns;
|
|
237
419
|
const width = Math.max(1, context.viewportWidth);
|
|
@@ -254,8 +436,11 @@ export class GridLayout {
|
|
|
254
436
|
options?: GridLayoutOptions,
|
|
255
437
|
): VirtualizerDropTarget | null {
|
|
256
438
|
if (itemCount <= 0) return { type: "root", index: -1, position: "on" };
|
|
257
|
-
const rowHeight = Math.max(
|
|
258
|
-
|
|
439
|
+
const rowHeight = Math.max(
|
|
440
|
+
1,
|
|
441
|
+
options?.rowHeight ?? options?.itemSize ?? options?.minItemSize ?? 40,
|
|
442
|
+
);
|
|
443
|
+
const columns = resolveGridColumnCount(options?.viewportWidth, options);
|
|
259
444
|
const totalRows = Math.ceil(itemCount / columns);
|
|
260
445
|
const totalHeight = totalRows * rowHeight;
|
|
261
446
|
if (point.y < 0) {
|
package/src/VisuallyHidden.tsx
CHANGED
|
@@ -1,15 +1,32 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2020 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
|
+
|
|
13
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/visually-hidden/VisuallyHidden.tsx
|
|
14
|
+
|
|
1
15
|
/**
|
|
2
16
|
* VisuallyHidden component for solidaria-components
|
|
3
17
|
*
|
|
4
18
|
* Hides content visually but keeps it accessible to screen readers.
|
|
5
|
-
*
|
|
19
|
+
* Solid adaptation of the pinned VisuallyHidden component.
|
|
6
20
|
*/
|
|
7
21
|
|
|
8
|
-
import
|
|
22
|
+
import type { ParentProps } from "solid-js";
|
|
23
|
+
import type { JSX } from "@solidjs/web";
|
|
9
24
|
import { ElementTag } from "./ElementTag";
|
|
10
25
|
import { createVisuallyHidden, mergeProps } from "@proyecto-viviana/solidaria";
|
|
26
|
+
import { splitProps } from "@proyecto-viviana/solidaria/utils";
|
|
11
27
|
|
|
12
|
-
export interface VisuallyHiddenProps
|
|
28
|
+
export interface VisuallyHiddenProps
|
|
29
|
+
extends ParentProps, Omit<JSX.HTMLAttributes<HTMLElement>, "children"> {
|
|
13
30
|
/** The element type to render. @default 'span' */
|
|
14
31
|
elementType?: keyof JSX.IntrinsicElements;
|
|
15
32
|
/** Whether the element should be focusable when focused. */
|
|
@@ -36,11 +53,8 @@ export function VisuallyHidden(props: VisuallyHiddenProps): JSX.Element {
|
|
|
36
53
|
visuallyHiddenProps() as unknown as Record<string, unknown>,
|
|
37
54
|
);
|
|
38
55
|
|
|
39
|
-
// elementType is read once (structural, not reactive).
|
|
40
|
-
//
|
|
41
|
-
// Solid's hydration markers, leaving the registry dirty so a later sibling
|
|
42
|
-
// re-render throws "template is not a function" in prod (and a hard hydration
|
|
43
|
-
// crash under solid-refresh in dev). See ElementTag.tsx for the mechanism.
|
|
56
|
+
// elementType is read once (structural, not reactive). ElementTag delegates
|
|
57
|
+
// element creation and hydration adoption to Solid 2's native dynamic helper.
|
|
44
58
|
const tag = local.elementType ?? "span";
|
|
45
59
|
return (
|
|
46
60
|
<ElementTag tag={tag} {...mergedProps()}>
|
package/src/contexts.ts
CHANGED
|
@@ -3,6 +3,9 @@
|
|
|
3
3
|
*
|
|
4
4
|
* These are separated to avoid circular dependencies between
|
|
5
5
|
* Dialog, Modal, Popover, and Button components.
|
|
6
|
+
*
|
|
7
|
+
* This is a local Solid module split. The owning overlay components record
|
|
8
|
+
* their upstream sources.
|
|
6
9
|
*/
|
|
7
10
|
|
|
8
11
|
import { createContext, useContext } from "solid-js";
|
|
@@ -13,6 +16,9 @@ export interface OverlayTriggerState {
|
|
|
13
16
|
open: () => void;
|
|
14
17
|
close: () => void;
|
|
15
18
|
toggle: () => void;
|
|
19
|
+
setOpen: (isOpen: boolean) => void;
|
|
20
|
+
point: { x: number; y: number } | null;
|
|
21
|
+
setPoint: (point: { x: number; y: number }) => void;
|
|
16
22
|
}
|
|
17
23
|
|
|
18
24
|
export const OverlayTriggerStateContext = createContext<OverlayTriggerState | null>(null);
|
|
@@ -48,6 +54,9 @@ export interface PopoverTriggerContextValue {
|
|
|
48
54
|
open: () => void;
|
|
49
55
|
close: () => void;
|
|
50
56
|
toggle: () => void;
|
|
57
|
+
setOpen?: (isOpen: boolean) => void;
|
|
58
|
+
point?: () => { x: number; y: number } | null;
|
|
59
|
+
setPoint?: (point: { x: number; y: number }) => void;
|
|
51
60
|
};
|
|
52
61
|
triggerRef: () => HTMLElement | null;
|
|
53
62
|
setTriggerRef: (el: HTMLElement | null) => void;
|
|
@@ -55,6 +64,10 @@ export interface PopoverTriggerContextValue {
|
|
|
55
64
|
triggerProps?: Record<string, unknown>;
|
|
56
65
|
overlayProps?: Record<string, unknown>;
|
|
57
66
|
trigger: string;
|
|
67
|
+
/** Lets a trigger capture the popover element (PreviewTrigger safe-area). */
|
|
68
|
+
setOverlayRef?: (el: HTMLElement | null) => void;
|
|
69
|
+
/** RAC PreviewTrigger skips enter/exit when swapping previews during warmup. */
|
|
70
|
+
shouldSkipAnimation?: () => boolean;
|
|
58
71
|
}
|
|
59
72
|
|
|
60
73
|
export const PopoverTriggerContext = createContext<PopoverTriggerContextValue | null>(null);
|
package/src/index.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* solidaria-components
|
|
2
|
+
* solidaria-components.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* These components combine state management + accessibility hooks into
|
|
4
|
+
* This is the local package barrel. Each exported module owns its upstream
|
|
5
|
+
* source mapping.
|
|
6
|
+
* The components combine state management and accessibility hooks into
|
|
8
7
|
* ready-to-style components using the render props pattern and data attributes.
|
|
9
8
|
*/
|
|
10
9
|
|
|
@@ -138,6 +137,19 @@ export {
|
|
|
138
137
|
type TextAreaProps,
|
|
139
138
|
} from "./TextField";
|
|
140
139
|
|
|
140
|
+
export {
|
|
141
|
+
TokenField,
|
|
142
|
+
TokenInput,
|
|
143
|
+
Token,
|
|
144
|
+
TokenFieldContext,
|
|
145
|
+
type TokenFieldProps,
|
|
146
|
+
type TokenFieldRenderProps,
|
|
147
|
+
type TokenInputProps,
|
|
148
|
+
type TokenInputRenderProps,
|
|
149
|
+
type TokenProps,
|
|
150
|
+
type TokenRenderProps,
|
|
151
|
+
} from "./TokenField";
|
|
152
|
+
|
|
141
153
|
export { Text, TextContext, type TextProps } from "./Text";
|
|
142
154
|
|
|
143
155
|
export { Link, LinkContext, type LinkProps, type LinkRenderProps } from "./Link";
|
|
@@ -155,6 +167,8 @@ export {
|
|
|
155
167
|
|
|
156
168
|
export { FileTrigger, type FileTriggerProps } from "./FileTrigger";
|
|
157
169
|
|
|
170
|
+
export { PreviewTrigger, type PreviewTriggerProps } from "./PreviewTrigger";
|
|
171
|
+
|
|
158
172
|
export {
|
|
159
173
|
DropZone,
|
|
160
174
|
DropZoneContext,
|
|
@@ -240,8 +254,8 @@ export {
|
|
|
240
254
|
|
|
241
255
|
export {
|
|
242
256
|
ListBox,
|
|
257
|
+
ListBoxItem,
|
|
243
258
|
ListBoxOption,
|
|
244
|
-
ListBoxOption as ListBoxItem,
|
|
245
259
|
ListBoxSection,
|
|
246
260
|
ListBoxLoadMoreItem,
|
|
247
261
|
ListBoxContext,
|
|
@@ -249,10 +263,10 @@ export {
|
|
|
249
263
|
ListStateContext,
|
|
250
264
|
type ListBoxProps,
|
|
251
265
|
type ListBoxRenderProps,
|
|
266
|
+
type ListBoxItemProps,
|
|
267
|
+
type ListBoxItemRenderProps,
|
|
252
268
|
type ListBoxOptionProps,
|
|
253
269
|
type ListBoxOptionRenderProps,
|
|
254
|
-
type ListBoxOptionProps as ListBoxItemProps,
|
|
255
|
-
type ListBoxOptionRenderProps as ListBoxItemRenderProps,
|
|
256
270
|
type ListBoxSectionProps,
|
|
257
271
|
type ListBoxLoadMoreItemProps,
|
|
258
272
|
} from "./ListBox";
|
|
@@ -260,10 +274,10 @@ export {
|
|
|
260
274
|
export {
|
|
261
275
|
Menu,
|
|
262
276
|
MenuItem,
|
|
277
|
+
MenuLoadMoreItem,
|
|
263
278
|
MenuSection,
|
|
264
279
|
MenuTrigger,
|
|
265
280
|
SubmenuTrigger,
|
|
266
|
-
MenuButton,
|
|
267
281
|
MenuContext,
|
|
268
282
|
MenuStateContext,
|
|
269
283
|
MenuTriggerContext,
|
|
@@ -272,11 +286,11 @@ export {
|
|
|
272
286
|
type MenuRenderProps,
|
|
273
287
|
type MenuItemProps,
|
|
274
288
|
type MenuItemRenderProps,
|
|
289
|
+
type MenuLoadMoreItemProps,
|
|
275
290
|
type MenuSectionProps,
|
|
276
291
|
type MenuTriggerProps,
|
|
277
292
|
type SubmenuTriggerProps,
|
|
278
293
|
type MenuTriggerRenderProps,
|
|
279
|
-
type MenuButtonProps,
|
|
280
294
|
} from "./Menu";
|
|
281
295
|
|
|
282
296
|
export {
|
|
@@ -458,6 +472,7 @@ export {
|
|
|
458
472
|
ComboBoxErrorMessage,
|
|
459
473
|
ComboBoxButton,
|
|
460
474
|
ComboBoxListBox,
|
|
475
|
+
ComboBoxItem,
|
|
461
476
|
ComboBoxOption,
|
|
462
477
|
ComboBoxTagGroup,
|
|
463
478
|
ComboBoxTag,
|
|
@@ -478,6 +493,8 @@ export {
|
|
|
478
493
|
type ComboBoxButtonRenderProps,
|
|
479
494
|
type ComboBoxListBoxProps,
|
|
480
495
|
type ComboBoxListBoxRenderProps,
|
|
496
|
+
type ComboBoxItemProps,
|
|
497
|
+
type ComboBoxItemRenderProps,
|
|
481
498
|
type ComboBoxOptionProps,
|
|
482
499
|
type ComboBoxOptionRenderProps,
|
|
483
500
|
type ComboBoxTagGroupProps,
|
|
@@ -529,7 +546,8 @@ export {
|
|
|
529
546
|
Toast as UNSTABLE_Toast,
|
|
530
547
|
ToastRegion as UNSTABLE_ToastRegion,
|
|
531
548
|
ToastRegion as UNSTABLE_ToastList,
|
|
532
|
-
|
|
549
|
+
ToastContent as UNSTABLE_ToastContent,
|
|
550
|
+
ToastContentContext,
|
|
533
551
|
ToastRegion,
|
|
534
552
|
ToastProvider,
|
|
535
553
|
ToastContext,
|
|
@@ -542,6 +560,7 @@ export {
|
|
|
542
560
|
globalToastQueue,
|
|
543
561
|
addToast,
|
|
544
562
|
type ToastContent,
|
|
563
|
+
type ToastContentProps as UNSTABLE_ToastContentProps,
|
|
545
564
|
type ToastProps,
|
|
546
565
|
type ToastRenderProps,
|
|
547
566
|
type ToastRegionProps,
|
|
@@ -993,6 +1012,8 @@ export { SSRProvider } from "@proyecto-viviana/solidaria";
|
|
|
993
1012
|
|
|
994
1013
|
export { parseColor, FormValidationContext } from "@proyecto-viviana/solid-stately";
|
|
995
1014
|
|
|
1015
|
+
export { setInteractionModality } from "@proyecto-viviana/solidaria";
|
|
1016
|
+
|
|
996
1017
|
export { ToastQueue as UNSTABLE_ToastQueue } from "@proyecto-viviana/solid-stately";
|
|
997
1018
|
|
|
998
1019
|
// Data hooks (aliased to match RAC's useXxx naming)
|