@depup/react-aria-components 1.16.0-depup.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 +201 -0
- package/README.md +31 -0
- package/changes.json +10 -0
- package/dist/Autocomplete.main.js +78 -0
- package/dist/Autocomplete.main.js.map +1 -0
- package/dist/Autocomplete.mjs +67 -0
- package/dist/Autocomplete.module.js +67 -0
- package/dist/Autocomplete.module.js.map +1 -0
- package/dist/Breadcrumbs.main.js +103 -0
- package/dist/Breadcrumbs.main.js.map +1 -0
- package/dist/Breadcrumbs.mjs +92 -0
- package/dist/Breadcrumbs.module.js +92 -0
- package/dist/Breadcrumbs.module.js.map +1 -0
- package/dist/Button.main.js +123 -0
- package/dist/Button.main.js.map +1 -0
- package/dist/Button.mjs +113 -0
- package/dist/Button.module.js +113 -0
- package/dist/Button.module.js.map +1 -0
- package/dist/Calendar.main.js +364 -0
- package/dist/Calendar.main.js.map +1 -0
- package/dist/Calendar.mjs +345 -0
- package/dist/Calendar.module.js +345 -0
- package/dist/Calendar.module.js.map +1 -0
- package/dist/Checkbox.main.js +188 -0
- package/dist/Checkbox.main.js.map +1 -0
- package/dist/Checkbox.mjs +176 -0
- package/dist/Checkbox.module.js +176 -0
- package/dist/Checkbox.module.js.map +1 -0
- package/dist/Collection.main.js +105 -0
- package/dist/Collection.main.js.map +1 -0
- package/dist/Collection.mjs +91 -0
- package/dist/Collection.module.js +91 -0
- package/dist/Collection.module.js.map +1 -0
- package/dist/ColorArea.main.js +80 -0
- package/dist/ColorArea.main.js.map +1 -0
- package/dist/ColorArea.mjs +70 -0
- package/dist/ColorArea.module.js +70 -0
- package/dist/ColorArea.module.js.map +1 -0
- package/dist/ColorField.main.js +168 -0
- package/dist/ColorField.main.js.map +1 -0
- package/dist/ColorField.mjs +158 -0
- package/dist/ColorField.module.js +158 -0
- package/dist/ColorField.module.js.map +1 -0
- package/dist/ColorPicker.main.js +102 -0
- package/dist/ColorPicker.main.js.map +1 -0
- package/dist/ColorPicker.mjs +91 -0
- package/dist/ColorPicker.module.js +91 -0
- package/dist/ColorPicker.module.js.map +1 -0
- package/dist/ColorSlider.main.js +112 -0
- package/dist/ColorSlider.main.js.map +1 -0
- package/dist/ColorSlider.mjs +102 -0
- package/dist/ColorSlider.module.js +102 -0
- package/dist/ColorSlider.module.js.map +1 -0
- package/dist/ColorSwatch.main.js +44 -0
- package/dist/ColorSwatch.main.js.map +1 -0
- package/dist/ColorSwatch.mjs +34 -0
- package/dist/ColorSwatch.module.js +34 -0
- package/dist/ColorSwatch.module.js.map +1 -0
- package/dist/ColorSwatchPicker.main.js +102 -0
- package/dist/ColorSwatchPicker.main.js.map +1 -0
- package/dist/ColorSwatchPicker.mjs +95 -0
- package/dist/ColorSwatchPicker.module.js +95 -0
- package/dist/ColorSwatchPicker.module.js.map +1 -0
- package/dist/ColorThumb.main.js +67 -0
- package/dist/ColorThumb.main.js.map +1 -0
- package/dist/ColorThumb.mjs +57 -0
- package/dist/ColorThumb.module.js +57 -0
- package/dist/ColorThumb.module.js.map +1 -0
- package/dist/ColorWheel.main.js +102 -0
- package/dist/ColorWheel.main.js.map +1 -0
- package/dist/ColorWheel.mjs +90 -0
- package/dist/ColorWheel.module.js +90 -0
- package/dist/ColorWheel.module.js.map +1 -0
- package/dist/ComboBox.main.js +322 -0
- package/dist/ComboBox.main.js.map +1 -0
- package/dist/ComboBox.mjs +309 -0
- package/dist/ComboBox.module.js +309 -0
- package/dist/ComboBox.module.js.map +1 -0
- package/dist/DateField.main.js +361 -0
- package/dist/DateField.main.js.map +1 -0
- package/dist/DateField.mjs +345 -0
- package/dist/DateField.module.js +345 -0
- package/dist/DateField.module.js.map +1 -0
- package/dist/DatePicker.main.js +342 -0
- package/dist/DatePicker.main.js.map +1 -0
- package/dist/DatePicker.mjs +328 -0
- package/dist/DatePicker.module.js +328 -0
- package/dist/DatePicker.module.js.map +1 -0
- package/dist/Dialog.main.js +167 -0
- package/dist/Dialog.main.js.map +1 -0
- package/dist/Dialog.mjs +155 -0
- package/dist/Dialog.module.js +155 -0
- package/dist/Dialog.module.js.map +1 -0
- package/dist/Disclosure.main.js +171 -0
- package/dist/Disclosure.main.js.map +1 -0
- package/dist/Disclosure.mjs +157 -0
- package/dist/Disclosure.module.js +157 -0
- package/dist/Disclosure.module.js.map +1 -0
- package/dist/DragAndDrop.main.js +103 -0
- package/dist/DragAndDrop.main.js.map +1 -0
- package/dist/DragAndDrop.mjs +90 -0
- package/dist/DragAndDrop.module.js +90 -0
- package/dist/DragAndDrop.module.js.map +1 -0
- package/dist/DropZone.main.js +127 -0
- package/dist/DropZone.main.js.map +1 -0
- package/dist/DropZone.mjs +121 -0
- package/dist/DropZone.module.js +121 -0
- package/dist/DropZone.module.js.map +1 -0
- package/dist/FieldError.main.js +61 -0
- package/dist/FieldError.main.js.map +1 -0
- package/dist/FieldError.mjs +51 -0
- package/dist/FieldError.module.js +51 -0
- package/dist/FieldError.module.js.map +1 -0
- package/dist/FileTrigger.main.js +60 -0
- package/dist/FileTrigger.main.js.map +1 -0
- package/dist/FileTrigger.mjs +51 -0
- package/dist/FileTrigger.module.js +51 -0
- package/dist/FileTrigger.module.js.map +1 -0
- package/dist/Form.main.js +49 -0
- package/dist/Form.main.js.map +1 -0
- package/dist/Form.mjs +39 -0
- package/dist/Form.module.js +39 -0
- package/dist/Form.module.js.map +1 -0
- package/dist/GridList.main.js +589 -0
- package/dist/GridList.main.js.map +1 -0
- package/dist/GridList.mjs +573 -0
- package/dist/GridList.module.js +573 -0
- package/dist/GridList.module.js.map +1 -0
- package/dist/Group.main.js +72 -0
- package/dist/Group.main.js.map +1 -0
- package/dist/Group.mjs +62 -0
- package/dist/Group.module.js +62 -0
- package/dist/Group.module.js.map +1 -0
- package/dist/Header.main.js +40 -0
- package/dist/Header.main.js.map +1 -0
- package/dist/Header.mjs +30 -0
- package/dist/Header.module.js +30 -0
- package/dist/Header.module.js.map +1 -0
- package/dist/Heading.main.js +40 -0
- package/dist/Heading.main.js.map +1 -0
- package/dist/Heading.mjs +31 -0
- package/dist/Heading.module.js +31 -0
- package/dist/Heading.module.js.map +1 -0
- package/dist/HiddenDateInput.main.js +126 -0
- package/dist/HiddenDateInput.main.js.map +1 -0
- package/dist/HiddenDateInput.mjs +117 -0
- package/dist/HiddenDateInput.module.js +117 -0
- package/dist/HiddenDateInput.module.js.map +1 -0
- package/dist/Input.main.js +72 -0
- package/dist/Input.main.js.map +1 -0
- package/dist/Input.mjs +62 -0
- package/dist/Input.module.js +62 -0
- package/dist/Input.module.js.map +1 -0
- package/dist/Keyboard.main.js +38 -0
- package/dist/Keyboard.main.js.map +1 -0
- package/dist/Keyboard.mjs +28 -0
- package/dist/Keyboard.module.js +28 -0
- package/dist/Keyboard.module.js.map +1 -0
- package/dist/Label.main.js +43 -0
- package/dist/Label.main.js.map +1 -0
- package/dist/Label.mjs +33 -0
- package/dist/Label.module.js +33 -0
- package/dist/Label.module.js.map +1 -0
- package/dist/Link.main.js +72 -0
- package/dist/Link.main.js.map +1 -0
- package/dist/Link.mjs +62 -0
- package/dist/Link.module.js +62 -0
- package/dist/Link.module.js.map +1 -0
- package/dist/ListBox.main.js +477 -0
- package/dist/ListBox.main.js.map +1 -0
- package/dist/ListBox.mjs +463 -0
- package/dist/ListBox.module.js +463 -0
- package/dist/ListBox.module.js.map +1 -0
- package/dist/Menu.main.js +459 -0
- package/dist/Menu.main.js.map +1 -0
- package/dist/Menu.mjs +443 -0
- package/dist/Menu.module.js +443 -0
- package/dist/Menu.module.js.map +1 -0
- package/dist/Meter.main.js +72 -0
- package/dist/Meter.main.js.map +1 -0
- package/dist/Meter.mjs +62 -0
- package/dist/Meter.module.js +62 -0
- package/dist/Meter.module.js.map +1 -0
- package/dist/Modal.main.js +191 -0
- package/dist/Modal.main.js.map +1 -0
- package/dist/Modal.mjs +180 -0
- package/dist/Modal.module.js +180 -0
- package/dist/Modal.module.js.map +1 -0
- package/dist/NumberField.main.js +147 -0
- package/dist/NumberField.main.js.map +1 -0
- package/dist/NumberField.mjs +136 -0
- package/dist/NumberField.module.js +136 -0
- package/dist/NumberField.module.js.map +1 -0
- package/dist/OverlayArrow.main.js +64 -0
- package/dist/OverlayArrow.main.js.map +1 -0
- package/dist/OverlayArrow.mjs +54 -0
- package/dist/OverlayArrow.module.js +54 -0
- package/dist/OverlayArrow.module.js.map +1 -0
- package/dist/Popover.main.js +196 -0
- package/dist/Popover.main.js.map +1 -0
- package/dist/Popover.mjs +186 -0
- package/dist/Popover.module.js +186 -0
- package/dist/Popover.module.js.map +1 -0
- package/dist/ProgressBar.main.js +73 -0
- package/dist/ProgressBar.main.js.map +1 -0
- package/dist/ProgressBar.mjs +63 -0
- package/dist/ProgressBar.module.js +63 -0
- package/dist/ProgressBar.module.js.map +1 -0
- package/dist/RSPContexts.main.js +37 -0
- package/dist/RSPContexts.main.js.map +1 -0
- package/dist/RSPContexts.mjs +25 -0
- package/dist/RSPContexts.module.js +25 -0
- package/dist/RSPContexts.module.js.map +1 -0
- package/dist/RadioGroup.main.js +184 -0
- package/dist/RadioGroup.main.js.map +1 -0
- package/dist/RadioGroup.mjs +171 -0
- package/dist/RadioGroup.module.js +171 -0
- package/dist/RadioGroup.module.js.map +1 -0
- package/dist/SearchField.main.js +140 -0
- package/dist/SearchField.main.js.map +1 -0
- package/dist/SearchField.mjs +130 -0
- package/dist/SearchField.module.js +130 -0
- package/dist/SearchField.module.js.map +1 -0
- package/dist/Select.main.js +324 -0
- package/dist/Select.main.js.map +1 -0
- package/dist/Select.mjs +315 -0
- package/dist/Select.module.js +315 -0
- package/dist/Select.module.js.map +1 -0
- package/dist/SelectionIndicator.main.js +45 -0
- package/dist/SelectionIndicator.main.js.map +1 -0
- package/dist/SelectionIndicator.mjs +35 -0
- package/dist/SelectionIndicator.module.js +35 -0
- package/dist/SelectionIndicator.module.js.map +1 -0
- package/dist/Separator.main.js +71 -0
- package/dist/Separator.main.js.map +1 -0
- package/dist/Separator.mjs +61 -0
- package/dist/Separator.module.js +61 -0
- package/dist/Separator.module.js.map +1 -0
- package/dist/SharedElementTransition.main.js +140 -0
- package/dist/SharedElementTransition.main.js.map +1 -0
- package/dist/SharedElementTransition.mjs +130 -0
- package/dist/SharedElementTransition.module.js +130 -0
- package/dist/SharedElementTransition.module.js.map +1 -0
- package/dist/Slider.main.js +220 -0
- package/dist/Slider.main.js.map +1 -0
- package/dist/Slider.mjs +204 -0
- package/dist/Slider.module.js +204 -0
- package/dist/Slider.module.js.map +1 -0
- package/dist/Switch.main.js +89 -0
- package/dist/Switch.main.js.map +1 -0
- package/dist/Switch.mjs +79 -0
- package/dist/Switch.module.js +79 -0
- package/dist/Switch.module.js.map +1 -0
- package/dist/Table.main.js +1171 -0
- package/dist/Table.main.js.map +1 -0
- package/dist/Table.mjs +1154 -0
- package/dist/Table.module.js +1154 -0
- package/dist/Table.module.js.map +1 -0
- package/dist/TableLayout.main.js +38 -0
- package/dist/TableLayout.main.js.map +1 -0
- package/dist/TableLayout.mjs +33 -0
- package/dist/TableLayout.module.js +33 -0
- package/dist/TableLayout.module.js.map +1 -0
- package/dist/Tabs.main.js +330 -0
- package/dist/Tabs.main.js.map +1 -0
- package/dist/Tabs.mjs +315 -0
- package/dist/Tabs.module.js +315 -0
- package/dist/Tabs.module.js.map +1 -0
- package/dist/TagGroup.main.js +255 -0
- package/dist/TagGroup.main.js.map +1 -0
- package/dist/TagGroup.mjs +242 -0
- package/dist/TagGroup.module.js +242 -0
- package/dist/TagGroup.module.js.map +1 -0
- package/dist/Text.main.js +41 -0
- package/dist/Text.main.js.map +1 -0
- package/dist/Text.mjs +31 -0
- package/dist/Text.module.js +31 -0
- package/dist/Text.module.js.map +1 -0
- package/dist/TextArea.main.js +57 -0
- package/dist/TextArea.main.js.map +1 -0
- package/dist/TextArea.mjs +47 -0
- package/dist/TextArea.module.js +47 -0
- package/dist/TextArea.module.js.map +1 -0
- package/dist/TextField.main.js +145 -0
- package/dist/TextField.main.js.map +1 -0
- package/dist/TextField.mjs +135 -0
- package/dist/TextField.module.js +135 -0
- package/dist/TextField.module.js.map +1 -0
- package/dist/Toast.main.js +183 -0
- package/dist/Toast.main.js.map +1 -0
- package/dist/Toast.mjs +170 -0
- package/dist/Toast.module.js +170 -0
- package/dist/Toast.module.js.map +1 -0
- package/dist/ToggleButton.main.js +96 -0
- package/dist/ToggleButton.main.js.map +1 -0
- package/dist/ToggleButton.mjs +86 -0
- package/dist/ToggleButton.module.js +86 -0
- package/dist/ToggleButton.module.js.map +1 -0
- package/dist/ToggleButtonGroup.main.js +66 -0
- package/dist/ToggleButtonGroup.main.js.map +1 -0
- package/dist/ToggleButtonGroup.mjs +55 -0
- package/dist/ToggleButtonGroup.module.js +55 -0
- package/dist/ToggleButtonGroup.module.js.map +1 -0
- package/dist/Toolbar.main.js +55 -0
- package/dist/Toolbar.main.js.map +1 -0
- package/dist/Toolbar.mjs +45 -0
- package/dist/Toolbar.module.js +45 -0
- package/dist/Toolbar.module.js.map +1 -0
- package/dist/Tooltip.main.js +132 -0
- package/dist/Tooltip.main.js.map +1 -0
- package/dist/Tooltip.mjs +120 -0
- package/dist/Tooltip.module.js +120 -0
- package/dist/Tooltip.module.js.map +1 -0
- package/dist/Tree.main.js +834 -0
- package/dist/Tree.main.js.map +1 -0
- package/dist/Tree.mjs +818 -0
- package/dist/Tree.module.js +818 -0
- package/dist/Tree.module.js.map +1 -0
- package/dist/TreeDropTargetDelegate.main.js +216 -0
- package/dist/TreeDropTargetDelegate.main.js.map +1 -0
- package/dist/TreeDropTargetDelegate.mjs +211 -0
- package/dist/TreeDropTargetDelegate.module.js +211 -0
- package/dist/TreeDropTargetDelegate.module.js.map +1 -0
- package/dist/Virtualizer.main.js +135 -0
- package/dist/Virtualizer.main.js.map +1 -0
- package/dist/Virtualizer.mjs +126 -0
- package/dist/Virtualizer.module.js +126 -0
- package/dist/Virtualizer.module.js.map +1 -0
- package/dist/ar-AE.main.js +9 -0
- package/dist/ar-AE.main.js.map +1 -0
- package/dist/ar-AE.mjs +11 -0
- package/dist/ar-AE.module.js +11 -0
- package/dist/ar-AE.module.js.map +1 -0
- package/dist/bg-BG.main.js +9 -0
- package/dist/bg-BG.main.js.map +1 -0
- package/dist/bg-BG.mjs +11 -0
- package/dist/bg-BG.module.js +11 -0
- package/dist/bg-BG.module.js.map +1 -0
- package/dist/cs-CZ.main.js +9 -0
- package/dist/cs-CZ.main.js.map +1 -0
- package/dist/cs-CZ.mjs +11 -0
- package/dist/cs-CZ.module.js +11 -0
- package/dist/cs-CZ.module.js.map +1 -0
- package/dist/da-DK.main.js +9 -0
- package/dist/da-DK.main.js.map +1 -0
- package/dist/da-DK.mjs +11 -0
- package/dist/da-DK.module.js +11 -0
- package/dist/da-DK.module.js.map +1 -0
- package/dist/de-DE.main.js +9 -0
- package/dist/de-DE.main.js.map +1 -0
- package/dist/de-DE.mjs +11 -0
- package/dist/de-DE.module.js +11 -0
- package/dist/de-DE.module.js.map +1 -0
- package/dist/el-GR.main.js +9 -0
- package/dist/el-GR.main.js.map +1 -0
- package/dist/el-GR.mjs +11 -0
- package/dist/el-GR.module.js +11 -0
- package/dist/el-GR.module.js.map +1 -0
- package/dist/en-US.main.js +9 -0
- package/dist/en-US.main.js.map +1 -0
- package/dist/en-US.mjs +11 -0
- package/dist/en-US.module.js +11 -0
- package/dist/en-US.module.js.map +1 -0
- package/dist/es-ES.main.js +9 -0
- package/dist/es-ES.main.js.map +1 -0
- package/dist/es-ES.mjs +11 -0
- package/dist/es-ES.module.js +11 -0
- package/dist/es-ES.module.js.map +1 -0
- package/dist/et-EE.main.js +9 -0
- package/dist/et-EE.main.js.map +1 -0
- package/dist/et-EE.mjs +11 -0
- package/dist/et-EE.module.js +11 -0
- package/dist/et-EE.module.js.map +1 -0
- package/dist/fi-FI.main.js +9 -0
- package/dist/fi-FI.main.js.map +1 -0
- package/dist/fi-FI.mjs +11 -0
- package/dist/fi-FI.module.js +11 -0
- package/dist/fi-FI.module.js.map +1 -0
- package/dist/fr-FR.main.js +9 -0
- package/dist/fr-FR.main.js.map +1 -0
- package/dist/fr-FR.mjs +11 -0
- package/dist/fr-FR.module.js +11 -0
- package/dist/fr-FR.module.js.map +1 -0
- package/dist/he-IL.main.js +9 -0
- package/dist/he-IL.main.js.map +1 -0
- package/dist/he-IL.mjs +11 -0
- package/dist/he-IL.module.js +11 -0
- package/dist/he-IL.module.js.map +1 -0
- package/dist/hr-HR.main.js +9 -0
- package/dist/hr-HR.main.js.map +1 -0
- package/dist/hr-HR.mjs +11 -0
- package/dist/hr-HR.module.js +11 -0
- package/dist/hr-HR.module.js.map +1 -0
- package/dist/hu-HU.main.js +9 -0
- package/dist/hu-HU.main.js.map +1 -0
- package/dist/hu-HU.mjs +11 -0
- package/dist/hu-HU.module.js +11 -0
- package/dist/hu-HU.module.js.map +1 -0
- package/dist/import.mjs +161 -0
- package/dist/intlStrings.main.js +108 -0
- package/dist/intlStrings.main.js.map +1 -0
- package/dist/intlStrings.mjs +110 -0
- package/dist/intlStrings.module.js +110 -0
- package/dist/intlStrings.module.js.map +1 -0
- package/dist/it-IT.main.js +9 -0
- package/dist/it-IT.main.js.map +1 -0
- package/dist/it-IT.mjs +11 -0
- package/dist/it-IT.module.js +11 -0
- package/dist/it-IT.module.js.map +1 -0
- package/dist/ja-JP.main.js +9 -0
- package/dist/ja-JP.main.js.map +1 -0
- package/dist/ja-JP.mjs +11 -0
- package/dist/ja-JP.module.js +11 -0
- package/dist/ja-JP.module.js.map +1 -0
- package/dist/ko-KR.main.js +9 -0
- package/dist/ko-KR.main.js.map +1 -0
- package/dist/ko-KR.mjs +11 -0
- package/dist/ko-KR.module.js +11 -0
- package/dist/ko-KR.module.js.map +1 -0
- package/dist/lt-LT.main.js +9 -0
- package/dist/lt-LT.main.js.map +1 -0
- package/dist/lt-LT.mjs +11 -0
- package/dist/lt-LT.module.js +11 -0
- package/dist/lt-LT.module.js.map +1 -0
- package/dist/lv-LV.main.js +9 -0
- package/dist/lv-LV.main.js.map +1 -0
- package/dist/lv-LV.mjs +11 -0
- package/dist/lv-LV.module.js +11 -0
- package/dist/lv-LV.module.js.map +1 -0
- package/dist/main.js +430 -0
- package/dist/main.js.map +1 -0
- package/dist/module.js +161 -0
- package/dist/module.js.map +1 -0
- package/dist/nb-NO.main.js +9 -0
- package/dist/nb-NO.main.js.map +1 -0
- package/dist/nb-NO.mjs +11 -0
- package/dist/nb-NO.module.js +11 -0
- package/dist/nb-NO.module.js.map +1 -0
- package/dist/nl-NL.main.js +9 -0
- package/dist/nl-NL.main.js.map +1 -0
- package/dist/nl-NL.mjs +11 -0
- package/dist/nl-NL.module.js +11 -0
- package/dist/nl-NL.module.js.map +1 -0
- package/dist/pl-PL.main.js +9 -0
- package/dist/pl-PL.main.js.map +1 -0
- package/dist/pl-PL.mjs +11 -0
- package/dist/pl-PL.module.js +11 -0
- package/dist/pl-PL.module.js.map +1 -0
- package/dist/pt-BR.main.js +9 -0
- package/dist/pt-BR.main.js.map +1 -0
- package/dist/pt-BR.mjs +11 -0
- package/dist/pt-BR.module.js +11 -0
- package/dist/pt-BR.module.js.map +1 -0
- package/dist/pt-PT.main.js +9 -0
- package/dist/pt-PT.main.js.map +1 -0
- package/dist/pt-PT.mjs +11 -0
- package/dist/pt-PT.module.js +11 -0
- package/dist/pt-PT.module.js.map +1 -0
- package/dist/ro-RO.main.js +9 -0
- package/dist/ro-RO.main.js.map +1 -0
- package/dist/ro-RO.mjs +11 -0
- package/dist/ro-RO.module.js +11 -0
- package/dist/ro-RO.module.js.map +1 -0
- package/dist/ru-RU.main.js +9 -0
- package/dist/ru-RU.main.js.map +1 -0
- package/dist/ru-RU.mjs +11 -0
- package/dist/ru-RU.module.js +11 -0
- package/dist/ru-RU.module.js.map +1 -0
- package/dist/sk-SK.main.js +9 -0
- package/dist/sk-SK.main.js.map +1 -0
- package/dist/sk-SK.mjs +11 -0
- package/dist/sk-SK.module.js +11 -0
- package/dist/sk-SK.module.js.map +1 -0
- package/dist/sl-SI.main.js +9 -0
- package/dist/sl-SI.main.js.map +1 -0
- package/dist/sl-SI.mjs +11 -0
- package/dist/sl-SI.module.js +11 -0
- package/dist/sl-SI.module.js.map +1 -0
- package/dist/sr-SP.main.js +9 -0
- package/dist/sr-SP.main.js.map +1 -0
- package/dist/sr-SP.mjs +11 -0
- package/dist/sr-SP.module.js +11 -0
- package/dist/sr-SP.module.js.map +1 -0
- package/dist/sv-SE.main.js +9 -0
- package/dist/sv-SE.main.js.map +1 -0
- package/dist/sv-SE.mjs +11 -0
- package/dist/sv-SE.module.js +11 -0
- package/dist/sv-SE.module.js.map +1 -0
- package/dist/tr-TR.main.js +9 -0
- package/dist/tr-TR.main.js.map +1 -0
- package/dist/tr-TR.mjs +11 -0
- package/dist/tr-TR.module.js +11 -0
- package/dist/tr-TR.module.js.map +1 -0
- package/dist/types.d.ts +3764 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/uk-UA.main.js +9 -0
- package/dist/uk-UA.main.js.map +1 -0
- package/dist/uk-UA.mjs +11 -0
- package/dist/uk-UA.module.js +11 -0
- package/dist/uk-UA.module.js.map +1 -0
- package/dist/useDragAndDrop.main.js +74 -0
- package/dist/useDragAndDrop.main.js.map +1 -0
- package/dist/useDragAndDrop.mjs +69 -0
- package/dist/useDragAndDrop.module.js +69 -0
- package/dist/useDragAndDrop.module.js.map +1 -0
- package/dist/utils.main.js +205 -0
- package/dist/utils.main.js.map +1 -0
- package/dist/utils.mjs +188 -0
- package/dist/utils.module.js +188 -0
- package/dist/utils.module.js.map +1 -0
- package/dist/zh-CN.main.js +9 -0
- package/dist/zh-CN.main.js.map +1 -0
- package/dist/zh-CN.mjs +11 -0
- package/dist/zh-CN.module.js +11 -0
- package/dist/zh-CN.module.js.map +1 -0
- package/dist/zh-TW.main.js +9 -0
- package/dist/zh-TW.main.js.map +1 -0
- package/dist/zh-TW.mjs +11 -0
- package/dist/zh-TW.module.js +11 -0
- package/dist/zh-TW.module.js.map +1 -0
- package/i18n/ar-AE.js +1 -0
- package/i18n/ar-AE.mjs +1 -0
- package/i18n/bg-BG.js +1 -0
- package/i18n/bg-BG.mjs +1 -0
- package/i18n/cs-CZ.js +1 -0
- package/i18n/cs-CZ.mjs +1 -0
- package/i18n/da-DK.js +1 -0
- package/i18n/da-DK.mjs +1 -0
- package/i18n/de-DE.js +1 -0
- package/i18n/de-DE.mjs +1 -0
- package/i18n/el-GR.js +1 -0
- package/i18n/el-GR.mjs +1 -0
- package/i18n/en-US.js +1 -0
- package/i18n/en-US.mjs +1 -0
- package/i18n/es-ES.js +1 -0
- package/i18n/es-ES.mjs +1 -0
- package/i18n/et-EE.js +1 -0
- package/i18n/et-EE.mjs +1 -0
- package/i18n/fi-FI.js +1 -0
- package/i18n/fi-FI.mjs +1 -0
- package/i18n/fr-FR.js +1 -0
- package/i18n/fr-FR.mjs +1 -0
- package/i18n/he-IL.js +1 -0
- package/i18n/he-IL.mjs +1 -0
- package/i18n/hr-HR.js +1 -0
- package/i18n/hr-HR.mjs +1 -0
- package/i18n/hu-HU.js +1 -0
- package/i18n/hu-HU.mjs +1 -0
- package/i18n/index.d.ts +13 -0
- package/i18n/index.js +118 -0
- package/i18n/index.mjs +115 -0
- package/i18n/it-IT.js +1 -0
- package/i18n/it-IT.mjs +1 -0
- package/i18n/ja-JP.js +1 -0
- package/i18n/ja-JP.mjs +1 -0
- package/i18n/ko-KR.js +1 -0
- package/i18n/ko-KR.mjs +1 -0
- package/i18n/lang.d.ts +7 -0
- package/i18n/lt-LT.js +1 -0
- package/i18n/lt-LT.mjs +1 -0
- package/i18n/lv-LV.js +1 -0
- package/i18n/lv-LV.mjs +1 -0
- package/i18n/nb-NO.js +1 -0
- package/i18n/nb-NO.mjs +1 -0
- package/i18n/nl-NL.js +1 -0
- package/i18n/nl-NL.mjs +1 -0
- package/i18n/pl-PL.js +1 -0
- package/i18n/pl-PL.mjs +1 -0
- package/i18n/pt-BR.js +1 -0
- package/i18n/pt-BR.mjs +1 -0
- package/i18n/pt-PT.js +1 -0
- package/i18n/pt-PT.mjs +1 -0
- package/i18n/ro-RO.js +1 -0
- package/i18n/ro-RO.mjs +1 -0
- package/i18n/ru-RU.js +1 -0
- package/i18n/ru-RU.mjs +1 -0
- package/i18n/sk-SK.js +1 -0
- package/i18n/sk-SK.mjs +1 -0
- package/i18n/sl-SI.js +1 -0
- package/i18n/sl-SI.mjs +1 -0
- package/i18n/sr-SP.js +1 -0
- package/i18n/sr-SP.mjs +1 -0
- package/i18n/sv-SE.js +1 -0
- package/i18n/sv-SE.mjs +1 -0
- package/i18n/tr-TR.js +1 -0
- package/i18n/tr-TR.mjs +1 -0
- package/i18n/uk-UA.js +1 -0
- package/i18n/uk-UA.mjs +1 -0
- package/i18n/zh-CN.js +1 -0
- package/i18n/zh-CN.mjs +1 -0
- package/i18n/zh-TW.js +1 -0
- package/i18n/zh-TW.mjs +1 -0
- package/package.json +105 -0
- package/src/Autocomplete.tsx +64 -0
- package/src/Breadcrumbs.tsx +137 -0
- package/src/Button.tsx +185 -0
- package/src/Calendar.tsx +620 -0
- package/src/Checkbox.tsx +282 -0
- package/src/Collection.tsx +225 -0
- package/src/ColorArea.tsx +89 -0
- package/src/ColorField.tsx +243 -0
- package/src/ColorPicker.tsx +63 -0
- package/src/ColorSlider.tsx +110 -0
- package/src/ColorSwatch.tsx +54 -0
- package/src/ColorSwatchPicker.tsx +125 -0
- package/src/ColorThumb.tsx +108 -0
- package/src/ColorWheel.tsx +122 -0
- package/src/ComboBox.tsx +325 -0
- package/src/DateField.tsx +425 -0
- package/src/DatePicker.tsx +334 -0
- package/src/Dialog.tsx +159 -0
- package/src/Disclosure.tsx +259 -0
- package/src/DragAndDrop.tsx +115 -0
- package/src/DropZone.tsx +145 -0
- package/src/FieldError.tsx +57 -0
- package/src/FileTrigger.tsx +79 -0
- package/src/Form.tsx +52 -0
- package/src/GridList.tsx +678 -0
- package/src/Group.tsx +114 -0
- package/src/Header.tsx +28 -0
- package/src/Heading.tsx +31 -0
- package/src/HiddenDateInput.tsx +152 -0
- package/src/Input.tsx +113 -0
- package/src/Keyboard.tsx +23 -0
- package/src/Label.tsx +29 -0
- package/src/Link.tsx +115 -0
- package/src/ListBox.tsx +577 -0
- package/src/Menu.tsx +496 -0
- package/src/Meter.tsx +93 -0
- package/src/Modal.tsx +262 -0
- package/src/NumberField.tsx +152 -0
- package/src/OverlayArrow.tsx +91 -0
- package/src/Popover.tsx +267 -0
- package/src/ProgressBar.tsx +101 -0
- package/src/RSPContexts.ts +52 -0
- package/src/RadioGroup.tsx +273 -0
- package/src/SearchField.tsx +152 -0
- package/src/Select.tsx +356 -0
- package/src/SelectionIndicator.tsx +46 -0
- package/src/Separator.tsx +76 -0
- package/src/SharedElementTransition.tsx +186 -0
- package/src/Slider.tsx +310 -0
- package/src/Switch.tsx +146 -0
- package/src/Table.tsx +1597 -0
- package/src/TableLayout.ts +28 -0
- package/src/Tabs.tsx +495 -0
- package/src/TagGroup.tsx +310 -0
- package/src/Text.tsx +28 -0
- package/src/TextArea.tsx +65 -0
- package/src/TextField.tsx +148 -0
- package/src/Toast.tsx +248 -0
- package/src/ToggleButton.tsx +103 -0
- package/src/ToggleButtonGroup.tsx +90 -0
- package/src/Toolbar.tsx +69 -0
- package/src/Tooltip.tsx +187 -0
- package/src/Tree.tsx +1066 -0
- package/src/TreeDropTargetDelegate.ts +308 -0
- package/src/Virtualizer.tsx +174 -0
- package/src/index.ts +160 -0
- package/src/useDragAndDrop.tsx +150 -0
- package/src/utils.tsx +351 -0
package/src/Toast.tsx
ADDED
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 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
|
+
import {AriaToastProps, AriaToastRegionProps, mergeProps, useFocusRing, useHover, useLocale, useToast, useToastRegion} from 'react-aria';
|
|
14
|
+
import {ButtonContext} from './Button';
|
|
15
|
+
import {
|
|
16
|
+
ClassNameOrFunction,
|
|
17
|
+
ContextValue,
|
|
18
|
+
DEFAULT_SLOT,
|
|
19
|
+
dom,
|
|
20
|
+
DOMRenderProps,
|
|
21
|
+
Provider,
|
|
22
|
+
RenderProps,
|
|
23
|
+
StyleRenderProps,
|
|
24
|
+
useContextProps,
|
|
25
|
+
useRenderProps
|
|
26
|
+
} from './utils';
|
|
27
|
+
import {createPortal} from 'react-dom';
|
|
28
|
+
import {filterDOMProps, useObjectRef} from '@react-aria/utils';
|
|
29
|
+
import {forwardRefType, GlobalDOMAttributes} from '@react-types/shared';
|
|
30
|
+
import {QueuedToast, ToastQueue, ToastState, useToastQueue} from 'react-stately';
|
|
31
|
+
import React, {createContext, ForwardedRef, forwardRef, HTMLAttributes, JSX, ReactElement, ReactNode, useContext} from 'react';
|
|
32
|
+
import {TextContext} from './Text';
|
|
33
|
+
import {useIsSSR} from '@react-aria/ssr';
|
|
34
|
+
import {useUNSAFE_PortalContext} from '@react-aria/overlays';
|
|
35
|
+
|
|
36
|
+
export const ToastStateContext = createContext<ToastState<any> | null>(null);
|
|
37
|
+
|
|
38
|
+
export interface ToastRegionRenderProps<T> {
|
|
39
|
+
/** A list of all currently visible toasts. */
|
|
40
|
+
visibleToasts: QueuedToast<T>[],
|
|
41
|
+
/**
|
|
42
|
+
* Whether the toast region is currently hovered with a mouse.
|
|
43
|
+
* @selector [data-hovered]
|
|
44
|
+
*/
|
|
45
|
+
isHovered: boolean,
|
|
46
|
+
/**
|
|
47
|
+
* Whether the toast region is currently focused.
|
|
48
|
+
* @selector [data-focused]
|
|
49
|
+
*/
|
|
50
|
+
isFocused: boolean,
|
|
51
|
+
/**
|
|
52
|
+
* Whether the toast region is keyboard focused.
|
|
53
|
+
* @selector [data-focus-visible]
|
|
54
|
+
*/
|
|
55
|
+
isFocusVisible: boolean
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export interface ToastRegionProps<T> extends AriaToastRegionProps, StyleRenderProps<ToastRegionRenderProps<T>>, GlobalDOMAttributes<HTMLDivElement> {
|
|
59
|
+
/**
|
|
60
|
+
* The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the element. A function may be provided to compute the class based on component state.
|
|
61
|
+
* @default 'react-aria-ToastRegion'
|
|
62
|
+
*/
|
|
63
|
+
className?: ClassNameOrFunction<ToastRegionRenderProps<T>>,
|
|
64
|
+
/** The queue of toasts to display. */
|
|
65
|
+
queue: ToastQueue<T>,
|
|
66
|
+
/** A function to render each toast, or children containing a `<ToastList>`. */
|
|
67
|
+
children: ReactNode | ((renderProps: {toast: QueuedToast<T>}) => ReactElement)
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* A ToastRegion displays one or more toast notifications.
|
|
72
|
+
*/
|
|
73
|
+
export const ToastRegion = /*#__PURE__*/ (forwardRef as forwardRefType)(function ToastRegion<T>(props: ToastRegionProps<T>, ref: ForwardedRef<HTMLDivElement>): JSX.Element | null {
|
|
74
|
+
let isSSR = useIsSSR();
|
|
75
|
+
let state = useToastQueue(props.queue);
|
|
76
|
+
let objectRef = useObjectRef(ref);
|
|
77
|
+
let {regionProps} = useToastRegion(props, state, objectRef);
|
|
78
|
+
|
|
79
|
+
let {focusProps, isFocused, isFocusVisible} = useFocusRing();
|
|
80
|
+
let {hoverProps, isHovered} = useHover({});
|
|
81
|
+
let renderProps = useRenderProps({
|
|
82
|
+
...props,
|
|
83
|
+
children: undefined,
|
|
84
|
+
defaultClassName: 'react-aria-ToastRegion',
|
|
85
|
+
values: {
|
|
86
|
+
visibleToasts: state.visibleToasts,
|
|
87
|
+
isHovered,
|
|
88
|
+
isFocused,
|
|
89
|
+
isFocusVisible
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
let {direction} = useLocale();
|
|
94
|
+
let portalContainer;
|
|
95
|
+
let {getContainer} = useUNSAFE_PortalContext();
|
|
96
|
+
if (!isSSR) {
|
|
97
|
+
portalContainer = document.body;
|
|
98
|
+
if (getContainer) {
|
|
99
|
+
portalContainer = getContainer();
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
let DOMProps = filterDOMProps(props, {global: true});
|
|
104
|
+
|
|
105
|
+
let region = (
|
|
106
|
+
<ToastStateContext.Provider value={state}>
|
|
107
|
+
<dom.div
|
|
108
|
+
{...mergeProps(DOMProps, renderProps, regionProps, focusProps, hoverProps)}
|
|
109
|
+
dir={direction}
|
|
110
|
+
ref={objectRef}
|
|
111
|
+
data-hovered={isHovered || undefined}
|
|
112
|
+
data-focused={isFocused || undefined}
|
|
113
|
+
data-focus-visible={isFocusVisible || undefined}>
|
|
114
|
+
{typeof props.children === 'function' ? <ToastList {...props} render={undefined} className={undefined} style={{display: 'contents'}}>{props.children}</ToastList> : props.children}
|
|
115
|
+
</dom.div>
|
|
116
|
+
</ToastStateContext.Provider>
|
|
117
|
+
);
|
|
118
|
+
|
|
119
|
+
return state.visibleToasts.length > 0 && portalContainer
|
|
120
|
+
? createPortal(region, portalContainer)
|
|
121
|
+
: null;
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
export interface ToastListProps<T> extends Omit<ToastRegionProps<T>, 'queue' | 'children' | 'render'>, DOMRenderProps<'ol', ToastRegionRenderProps<T>> {
|
|
125
|
+
/** A function to render each toast. */
|
|
126
|
+
children: (renderProps: {toast: QueuedToast<T>}) => ReactElement
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
export const ToastList = /*#__PURE__*/ (forwardRef as forwardRefType)(function ToastList<T>(props: ToastListProps<T>, ref: ForwardedRef<HTMLOListElement>) {
|
|
130
|
+
let state = useContext(ToastStateContext)!;
|
|
131
|
+
let {hoverProps, isHovered} = useHover({});
|
|
132
|
+
let renderProps = useRenderProps({
|
|
133
|
+
...props,
|
|
134
|
+
children: undefined,
|
|
135
|
+
defaultClassName: 'react-aria-ToastList',
|
|
136
|
+
values: {
|
|
137
|
+
visibleToasts: state.visibleToasts,
|
|
138
|
+
isFocused: false,
|
|
139
|
+
isFocusVisible: false,
|
|
140
|
+
isHovered
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
return (
|
|
145
|
+
<dom.ol {...hoverProps} {...renderProps} ref={ref}>
|
|
146
|
+
{state.visibleToasts.map((toast) => (
|
|
147
|
+
<li key={toast.key} style={{display: 'contents'}}>
|
|
148
|
+
{props.children({toast})}
|
|
149
|
+
</li>
|
|
150
|
+
))}
|
|
151
|
+
</dom.ol>
|
|
152
|
+
);
|
|
153
|
+
});
|
|
154
|
+
|
|
155
|
+
export interface ToastRenderProps<T> {
|
|
156
|
+
/**
|
|
157
|
+
* The toast object to display.
|
|
158
|
+
*/
|
|
159
|
+
toast: QueuedToast<T>,
|
|
160
|
+
/**
|
|
161
|
+
* Whether the toast is currently focused.
|
|
162
|
+
* @selector [data-focused]
|
|
163
|
+
*/
|
|
164
|
+
isFocused: boolean,
|
|
165
|
+
/**
|
|
166
|
+
* Whether the toast is keyboard focused.
|
|
167
|
+
* @selector [data-focus-visible]
|
|
168
|
+
*/
|
|
169
|
+
isFocusVisible: boolean
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
export interface ToastProps<T> extends AriaToastProps<T>, RenderProps<ToastRenderProps<T>>, GlobalDOMAttributes<HTMLDivElement> {
|
|
173
|
+
/**
|
|
174
|
+
* The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the element. A function may be provided to compute the class based on component state.
|
|
175
|
+
* @default 'react-aria-Toast'
|
|
176
|
+
*/
|
|
177
|
+
className?: ClassNameOrFunction<ToastRenderProps<T>>
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* A Toast displays a brief, temporary notification of actions, errors, or other events in an application.
|
|
182
|
+
*/
|
|
183
|
+
export const Toast = /*#__PURE__*/ (forwardRef as forwardRefType)(function Toast<T>(props: ToastProps<T>, ref: ForwardedRef<HTMLDivElement>) {
|
|
184
|
+
let state = useContext(ToastStateContext)!;
|
|
185
|
+
let objectRef = useObjectRef(ref);
|
|
186
|
+
let {toastProps, contentProps, titleProps, descriptionProps, closeButtonProps} = useToast(
|
|
187
|
+
props,
|
|
188
|
+
state,
|
|
189
|
+
objectRef
|
|
190
|
+
);
|
|
191
|
+
|
|
192
|
+
let {focusProps, isFocused, isFocusVisible} = useFocusRing();
|
|
193
|
+
let renderProps = useRenderProps({
|
|
194
|
+
...props,
|
|
195
|
+
defaultClassName: 'react-aria-Toast',
|
|
196
|
+
values: {
|
|
197
|
+
toast: props.toast,
|
|
198
|
+
isFocused,
|
|
199
|
+
isFocusVisible
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
|
|
203
|
+
let DOMProps = filterDOMProps(props, {global: true});
|
|
204
|
+
|
|
205
|
+
return (
|
|
206
|
+
<dom.div
|
|
207
|
+
{...mergeProps(DOMProps, renderProps, toastProps, focusProps)}
|
|
208
|
+
ref={objectRef}
|
|
209
|
+
data-focused={isFocused || undefined}
|
|
210
|
+
data-focus-visible={isFocusVisible || undefined}>
|
|
211
|
+
<Provider
|
|
212
|
+
values={[
|
|
213
|
+
[ToastContentContext, contentProps],
|
|
214
|
+
[TextContext, {
|
|
215
|
+
slots: {
|
|
216
|
+
[DEFAULT_SLOT]: {},
|
|
217
|
+
title: titleProps,
|
|
218
|
+
description: descriptionProps
|
|
219
|
+
}
|
|
220
|
+
}],
|
|
221
|
+
[ButtonContext, {
|
|
222
|
+
slots: {
|
|
223
|
+
[DEFAULT_SLOT]: {},
|
|
224
|
+
close: closeButtonProps
|
|
225
|
+
}
|
|
226
|
+
}]
|
|
227
|
+
]}>
|
|
228
|
+
{renderProps.children}
|
|
229
|
+
</Provider>
|
|
230
|
+
</dom.div>
|
|
231
|
+
);
|
|
232
|
+
});
|
|
233
|
+
|
|
234
|
+
export interface ToastContentProps extends HTMLAttributes<HTMLElement>, DOMRenderProps<'div', undefined> {}
|
|
235
|
+
|
|
236
|
+
export const ToastContentContext = createContext<ContextValue<HTMLAttributes<HTMLElement>, HTMLDivElement>>({});
|
|
237
|
+
|
|
238
|
+
/**
|
|
239
|
+
* ToastContent wraps the main content of a toast notification.
|
|
240
|
+
*/
|
|
241
|
+
export const ToastContent = /*#__PURE__*/ forwardRef(function ToastContent(props: ToastContentProps, ref: ForwardedRef<HTMLDivElement>) {
|
|
242
|
+
[props, ref] = useContextProps(props, ref, ToastContentContext);
|
|
243
|
+
return (
|
|
244
|
+
<dom.div render={props.render} className="react-aria-ToastContent" {...props} ref={ref}>
|
|
245
|
+
{props.children}
|
|
246
|
+
</dom.div>
|
|
247
|
+
);
|
|
248
|
+
});
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2022 Adobe. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import {AriaToggleButtonProps, HoverEvents, mergeProps, useFocusRing, useHover, useToggleButton, useToggleButtonGroupItem} from 'react-aria';
|
|
14
|
+
import {ButtonRenderProps} from './Button';
|
|
15
|
+
import {
|
|
16
|
+
ClassNameOrFunction,
|
|
17
|
+
ContextValue,
|
|
18
|
+
dom,
|
|
19
|
+
RenderProps,
|
|
20
|
+
SlotProps,
|
|
21
|
+
useContextProps,
|
|
22
|
+
useRenderProps
|
|
23
|
+
} from './utils';
|
|
24
|
+
import {filterDOMProps} from '@react-aria/utils';
|
|
25
|
+
import {forwardRefType, GlobalDOMAttributes, Key} from '@react-types/shared';
|
|
26
|
+
import React, {createContext, ForwardedRef, forwardRef, useContext} from 'react';
|
|
27
|
+
import {SelectionIndicatorContext} from './SelectionIndicator';
|
|
28
|
+
import {ToggleGroupStateContext} from './ToggleButtonGroup';
|
|
29
|
+
import {ToggleState, useToggleState} from 'react-stately';
|
|
30
|
+
|
|
31
|
+
export interface ToggleButtonRenderProps extends Omit<ButtonRenderProps, 'isPending'> {
|
|
32
|
+
/**
|
|
33
|
+
* Whether the button is currently selected.
|
|
34
|
+
* @selector [data-selected]
|
|
35
|
+
*/
|
|
36
|
+
isSelected: boolean,
|
|
37
|
+
/**
|
|
38
|
+
* State of the toggle button.
|
|
39
|
+
*/
|
|
40
|
+
state: ToggleState
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export interface ToggleButtonProps extends Omit<AriaToggleButtonProps, 'children' | 'elementType' | 'id'>, HoverEvents, SlotProps, RenderProps<ToggleButtonRenderProps, 'button'>, Omit<GlobalDOMAttributes<HTMLDivElement>, 'onClick'> {
|
|
44
|
+
/**
|
|
45
|
+
* The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the element. A function may be provided to compute the class based on component state.
|
|
46
|
+
* @default 'react-aria-ToggleButton'
|
|
47
|
+
*/
|
|
48
|
+
className?: ClassNameOrFunction<ToggleButtonRenderProps>,
|
|
49
|
+
/** When used in a ToggleButtonGroup, an identifier for the item in `selectedKeys`. When used standalone, a DOM id. */
|
|
50
|
+
id?: Key
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export const ToggleButtonContext = createContext<ContextValue<ToggleButtonProps, HTMLButtonElement>>({});
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* A toggle button allows a user to toggle a selection on or off, for example switching between two states or modes.
|
|
57
|
+
*/
|
|
58
|
+
export const ToggleButton = /*#__PURE__*/ (forwardRef as forwardRefType)(function ToggleButton(props: ToggleButtonProps, ref: ForwardedRef<HTMLButtonElement>) {
|
|
59
|
+
[props, ref] = useContextProps(props, ref, ToggleButtonContext);
|
|
60
|
+
let groupState = useContext(ToggleGroupStateContext);
|
|
61
|
+
let state = useToggleState(groupState && props.id != null ? {
|
|
62
|
+
isSelected: groupState.selectedKeys.has(props.id),
|
|
63
|
+
onChange(isSelected) {
|
|
64
|
+
groupState.setSelected(props.id!, isSelected);
|
|
65
|
+
}
|
|
66
|
+
} : props);
|
|
67
|
+
|
|
68
|
+
let {buttonProps, isPressed, isSelected, isDisabled} = groupState && props.id != null
|
|
69
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
70
|
+
? useToggleButtonGroupItem({...props, id: props.id}, groupState, ref)
|
|
71
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
72
|
+
: useToggleButton({...props, id: props.id != null ? String(props.id) : undefined}, state, ref);
|
|
73
|
+
|
|
74
|
+
let {focusProps, isFocused, isFocusVisible} = useFocusRing(props);
|
|
75
|
+
let {hoverProps, isHovered} = useHover({...props, isDisabled});
|
|
76
|
+
let renderProps = useRenderProps({
|
|
77
|
+
...props,
|
|
78
|
+
id: undefined,
|
|
79
|
+
values: {isHovered, isPressed, isFocused, isSelected: state.isSelected, isFocusVisible, isDisabled, state},
|
|
80
|
+
defaultClassName: 'react-aria-ToggleButton'
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
let DOMProps = filterDOMProps(props as any, {global: true});
|
|
84
|
+
delete DOMProps.id;
|
|
85
|
+
delete DOMProps.onClick;
|
|
86
|
+
|
|
87
|
+
return (
|
|
88
|
+
<dom.button
|
|
89
|
+
{...mergeProps(DOMProps, renderProps, buttonProps, focusProps, hoverProps)}
|
|
90
|
+
ref={ref}
|
|
91
|
+
slot={props.slot || undefined}
|
|
92
|
+
data-focused={isFocused || undefined}
|
|
93
|
+
data-disabled={isDisabled || undefined}
|
|
94
|
+
data-pressed={isPressed || undefined}
|
|
95
|
+
data-selected={isSelected || undefined}
|
|
96
|
+
data-hovered={isHovered || undefined}
|
|
97
|
+
data-focus-visible={isFocusVisible || undefined}>
|
|
98
|
+
<SelectionIndicatorContext.Provider value={{isSelected}}>
|
|
99
|
+
{renderProps.children}
|
|
100
|
+
</SelectionIndicatorContext.Provider>
|
|
101
|
+
</dom.button>
|
|
102
|
+
);
|
|
103
|
+
});
|
|
@@ -0,0 +1,90 @@
|
|
|
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
|
+
import {AriaToggleButtonGroupProps, useToggleButtonGroup} from 'react-aria';
|
|
13
|
+
import {
|
|
14
|
+
ClassNameOrFunction,
|
|
15
|
+
ContextValue,
|
|
16
|
+
dom,
|
|
17
|
+
RenderProps,
|
|
18
|
+
SlotProps,
|
|
19
|
+
useContextProps,
|
|
20
|
+
useRenderProps
|
|
21
|
+
} from './utils';
|
|
22
|
+
import {filterDOMProps, mergeProps} from '@react-aria/utils';
|
|
23
|
+
import {forwardRefType, GlobalDOMAttributes, Orientation} from '@react-types/shared';
|
|
24
|
+
import React, {createContext, ForwardedRef, forwardRef} from 'react';
|
|
25
|
+
import {SharedElementTransition} from './SharedElementTransition';
|
|
26
|
+
import {ToggleGroupState, useToggleGroupState} from 'react-stately';
|
|
27
|
+
|
|
28
|
+
export interface ToggleButtonGroupRenderProps {
|
|
29
|
+
/**
|
|
30
|
+
* The orientation of the toggle button group.
|
|
31
|
+
* @selector [data-orientation="horizontal | vertical"]
|
|
32
|
+
*/
|
|
33
|
+
orientation: Orientation,
|
|
34
|
+
/**
|
|
35
|
+
* Whether the toggle button group is disabled.
|
|
36
|
+
* @selector [data-disabled]
|
|
37
|
+
*/
|
|
38
|
+
isDisabled: boolean,
|
|
39
|
+
/**
|
|
40
|
+
* State of the toggle button group.
|
|
41
|
+
*/
|
|
42
|
+
state: ToggleGroupState
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export interface ToggleButtonGroupProps extends AriaToggleButtonGroupProps, RenderProps<ToggleButtonGroupRenderProps>, SlotProps, GlobalDOMAttributes<HTMLDivElement> {
|
|
46
|
+
/**
|
|
47
|
+
* The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the element. A function may be provided to compute the class based on component state.
|
|
48
|
+
* @default 'react-aria-ToggleButtonGroup'
|
|
49
|
+
*/
|
|
50
|
+
className?: ClassNameOrFunction<ToggleButtonGroupRenderProps>
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export const ToggleButtonGroupContext = createContext<ContextValue<ToggleButtonGroupProps, HTMLDivElement>>({});
|
|
54
|
+
export const ToggleGroupStateContext = createContext<ToggleGroupState | null>(null);
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* A toggle button group allows a user to toggle multiple options, with single or multiple selection.
|
|
58
|
+
*/
|
|
59
|
+
export const ToggleButtonGroup = /*#__PURE__*/ (forwardRef as forwardRefType)(function ToggleButtonGroup(props: ToggleButtonGroupProps, ref: ForwardedRef<HTMLDivElement>) {
|
|
60
|
+
[props, ref] = useContextProps(props, ref, ToggleButtonGroupContext);
|
|
61
|
+
let state = useToggleGroupState(props);
|
|
62
|
+
let {groupProps} = useToggleButtonGroup(props, state, ref);
|
|
63
|
+
|
|
64
|
+
let renderProps = useRenderProps({
|
|
65
|
+
...props,
|
|
66
|
+
values: {
|
|
67
|
+
orientation: props.orientation || 'horizontal',
|
|
68
|
+
isDisabled: state.isDisabled,
|
|
69
|
+
state
|
|
70
|
+
},
|
|
71
|
+
defaultClassName: 'react-aria-ToggleButtonGroup'
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
let DOMProps = filterDOMProps(props, {global: true});
|
|
75
|
+
|
|
76
|
+
return (
|
|
77
|
+
<dom.div
|
|
78
|
+
{...mergeProps(DOMProps, renderProps, groupProps)}
|
|
79
|
+
ref={ref}
|
|
80
|
+
slot={props.slot || undefined}
|
|
81
|
+
data-orientation={props.orientation || 'horizontal'}
|
|
82
|
+
data-disabled={props.isDisabled || undefined}>
|
|
83
|
+
<ToggleGroupStateContext.Provider value={state}>
|
|
84
|
+
<SharedElementTransition>
|
|
85
|
+
{renderProps.children}
|
|
86
|
+
</SharedElementTransition>
|
|
87
|
+
</ToggleGroupStateContext.Provider>
|
|
88
|
+
</dom.div>
|
|
89
|
+
);
|
|
90
|
+
});
|
package/src/Toolbar.tsx
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 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
|
+
import {AriaToolbarProps, useToolbar} from '@react-aria/toolbar';
|
|
14
|
+
import {
|
|
15
|
+
ClassNameOrFunction,
|
|
16
|
+
ContextValue,
|
|
17
|
+
dom,
|
|
18
|
+
RenderProps,
|
|
19
|
+
SlotProps,
|
|
20
|
+
useContextProps,
|
|
21
|
+
useRenderProps
|
|
22
|
+
} from './utils';
|
|
23
|
+
import {filterDOMProps, mergeProps} from '@react-aria/utils';
|
|
24
|
+
import {forwardRefType, GlobalDOMAttributes, Orientation} from '@react-types/shared';
|
|
25
|
+
import React, {createContext, ForwardedRef, forwardRef} from 'react';
|
|
26
|
+
|
|
27
|
+
export interface ToolbarRenderProps {
|
|
28
|
+
/**
|
|
29
|
+
* The current orientation of the toolbar.
|
|
30
|
+
* @selector [data-orientation]
|
|
31
|
+
*/
|
|
32
|
+
orientation: Orientation
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export interface ToolbarProps extends AriaToolbarProps, SlotProps, RenderProps<ToolbarRenderProps>, GlobalDOMAttributes<HTMLDivElement> {
|
|
36
|
+
/**
|
|
37
|
+
* The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the element. A function may be provided to compute the class based on component state.
|
|
38
|
+
* @default 'react-aria-Toolbar'
|
|
39
|
+
*/
|
|
40
|
+
className?: ClassNameOrFunction<ToolbarRenderProps>
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export const ToolbarContext = createContext<ContextValue<ToolbarProps, HTMLDivElement>>({});
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* A toolbar is a container for a set of interactive controls, such as buttons, dropdown menus, or checkboxes,
|
|
47
|
+
* with arrow key navigation.
|
|
48
|
+
*/
|
|
49
|
+
export const Toolbar = /*#__PURE__*/ (forwardRef as forwardRefType)(function Toolbar(props: ToolbarProps, ref: ForwardedRef<HTMLDivElement>) {
|
|
50
|
+
[props, ref] = useContextProps(props, ref, ToolbarContext);
|
|
51
|
+
let {toolbarProps} = useToolbar(props, ref);
|
|
52
|
+
let renderProps = useRenderProps({
|
|
53
|
+
...props,
|
|
54
|
+
values: {orientation: props.orientation || 'horizontal'},
|
|
55
|
+
defaultClassName: 'react-aria-Toolbar'
|
|
56
|
+
});
|
|
57
|
+
let DOMProps = filterDOMProps(props, {global: true});
|
|
58
|
+
delete DOMProps.id;
|
|
59
|
+
|
|
60
|
+
return (
|
|
61
|
+
<dom.div
|
|
62
|
+
{...mergeProps(DOMProps, renderProps, toolbarProps)}
|
|
63
|
+
ref={ref}
|
|
64
|
+
slot={props.slot || undefined}
|
|
65
|
+
data-orientation={props.orientation || 'horizontal'}>
|
|
66
|
+
{renderProps.children}
|
|
67
|
+
</dom.div>
|
|
68
|
+
);
|
|
69
|
+
});
|