@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/Group.tsx
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
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 {AriaLabelingProps, DOMProps, forwardRefType} from '@react-types/shared';
|
|
14
|
+
import {
|
|
15
|
+
ClassNameOrFunction,
|
|
16
|
+
ContextValue,
|
|
17
|
+
dom,
|
|
18
|
+
RenderProps,
|
|
19
|
+
SlotProps,
|
|
20
|
+
useContextProps,
|
|
21
|
+
useRenderProps
|
|
22
|
+
} from './utils';
|
|
23
|
+
import {HoverProps, mergeProps, useFocusRing, useHover} from 'react-aria';
|
|
24
|
+
import React, {createContext, ForwardedRef, forwardRef, HTMLAttributes} from 'react';
|
|
25
|
+
|
|
26
|
+
export interface GroupRenderProps {
|
|
27
|
+
/**
|
|
28
|
+
* Whether the group is currently hovered with a mouse.
|
|
29
|
+
* @selector [data-hovered]
|
|
30
|
+
*/
|
|
31
|
+
isHovered: boolean,
|
|
32
|
+
/**
|
|
33
|
+
* Whether an element within the group is focused, either via a mouse or keyboard.
|
|
34
|
+
* @selector [data-focus-within]
|
|
35
|
+
*/
|
|
36
|
+
isFocusWithin: boolean,
|
|
37
|
+
/**
|
|
38
|
+
* Whether an element within the group is keyboard focused.
|
|
39
|
+
* @selector [data-focus-visible]
|
|
40
|
+
*/
|
|
41
|
+
isFocusVisible: boolean,
|
|
42
|
+
/**
|
|
43
|
+
* Whether the group is disabled.
|
|
44
|
+
* @selector [data-disabled]
|
|
45
|
+
*/
|
|
46
|
+
isDisabled: boolean,
|
|
47
|
+
/**
|
|
48
|
+
* Whether the group is invalid.
|
|
49
|
+
* @selector [data-invalid]
|
|
50
|
+
*/
|
|
51
|
+
isInvalid: boolean
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export interface GroupProps extends AriaLabelingProps, Omit<HTMLAttributes<HTMLElement>, 'children' | 'className' | 'style' | 'render' | 'role' | 'slot'>, DOMProps, HoverProps, RenderProps<GroupRenderProps>, SlotProps {
|
|
55
|
+
/**
|
|
56
|
+
* 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.
|
|
57
|
+
* @default 'react-aria-Group'
|
|
58
|
+
*/
|
|
59
|
+
className?: ClassNameOrFunction<GroupRenderProps>,
|
|
60
|
+
/** Whether the group is disabled. */
|
|
61
|
+
isDisabled?: boolean,
|
|
62
|
+
/** Whether the group is invalid. */
|
|
63
|
+
isInvalid?: boolean,
|
|
64
|
+
/** Whether the group is read only. */
|
|
65
|
+
isReadOnly?: boolean,
|
|
66
|
+
/**
|
|
67
|
+
* An accessibility role for the group. By default, this is set to `'group'`.
|
|
68
|
+
* Use `'region'` when the contents of the group is important enough to be
|
|
69
|
+
* included in the page table of contents. Use `'presentation'` if the group
|
|
70
|
+
* is visual only and does not represent a semantic grouping of controls.
|
|
71
|
+
* @default 'group'
|
|
72
|
+
*/
|
|
73
|
+
role?: 'group' | 'region' | 'presentation'
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export const GroupContext = createContext<ContextValue<GroupProps, HTMLDivElement>>({});
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* A group represents a set of related UI controls, and supports interactive states for styling.
|
|
80
|
+
*/
|
|
81
|
+
export const Group = /*#__PURE__*/ (forwardRef as forwardRefType)(function Group(props: GroupProps, ref: ForwardedRef<HTMLDivElement>) {
|
|
82
|
+
[props, ref] = useContextProps(props, ref, GroupContext);
|
|
83
|
+
let {isDisabled, isInvalid, isReadOnly, onHoverStart, onHoverChange, onHoverEnd, ...otherProps} = props;
|
|
84
|
+
isDisabled ??= !!props['aria-disabled'] && props['aria-disabled'] !== 'false';
|
|
85
|
+
isInvalid ??= !!props['aria-invalid'] && props['aria-invalid'] !== 'false';
|
|
86
|
+
|
|
87
|
+
let {hoverProps, isHovered} = useHover({onHoverStart, onHoverChange, onHoverEnd, isDisabled});
|
|
88
|
+
let {isFocused, isFocusVisible, focusProps} = useFocusRing({
|
|
89
|
+
within: true
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
let renderProps = useRenderProps({
|
|
93
|
+
...props,
|
|
94
|
+
values: {isHovered, isFocusWithin: isFocused, isFocusVisible, isDisabled, isInvalid},
|
|
95
|
+
defaultClassName: 'react-aria-Group'
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
return (
|
|
99
|
+
<dom.div
|
|
100
|
+
{...mergeProps(otherProps, focusProps, hoverProps)}
|
|
101
|
+
{...renderProps}
|
|
102
|
+
ref={ref}
|
|
103
|
+
role={props.role ?? 'group'}
|
|
104
|
+
slot={props.slot ?? undefined}
|
|
105
|
+
data-focus-within={isFocused || undefined}
|
|
106
|
+
data-hovered={isHovered || undefined}
|
|
107
|
+
data-focus-visible={isFocusVisible || undefined}
|
|
108
|
+
data-disabled={isDisabled || undefined}
|
|
109
|
+
data-invalid={isInvalid || undefined}
|
|
110
|
+
data-readonly={isReadOnly || undefined}>
|
|
111
|
+
{renderProps.children}
|
|
112
|
+
</dom.div>
|
|
113
|
+
);
|
|
114
|
+
});
|
package/src/Header.tsx
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
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 {ContextValue, dom, DOMRenderProps, useContextProps} from './utils';
|
|
14
|
+
import {createLeafComponent, HeaderNode} from '@react-aria/collections';
|
|
15
|
+
import React, {createContext, ForwardedRef, HTMLAttributes} from 'react';
|
|
16
|
+
|
|
17
|
+
export interface HeaderProps extends HTMLAttributes<HTMLElement>, DOMRenderProps<'header', undefined> {}
|
|
18
|
+
|
|
19
|
+
export const HeaderContext = createContext<ContextValue<HeaderProps, HTMLElement>>({});
|
|
20
|
+
|
|
21
|
+
export const Header = /*#__PURE__*/ createLeafComponent(HeaderNode, function Header(props: HeaderProps, ref: ForwardedRef<HTMLElement>) {
|
|
22
|
+
[props, ref] = useContextProps(props, ref, HeaderContext);
|
|
23
|
+
return (
|
|
24
|
+
<dom.header className="react-aria-Header" {...props} ref={ref}>
|
|
25
|
+
{props.children}
|
|
26
|
+
</dom.header>
|
|
27
|
+
);
|
|
28
|
+
});
|
package/src/Heading.tsx
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
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 {dom, DOMRenderProps, useContextProps} from './utils';
|
|
14
|
+
import {HeadingContext} from './RSPContexts';
|
|
15
|
+
import React, {ForwardedRef, forwardRef, HTMLAttributes} from 'react';
|
|
16
|
+
|
|
17
|
+
export interface HeadingProps extends HTMLAttributes<HTMLElement>, DOMRenderProps<'h1', undefined> {
|
|
18
|
+
level?: number
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export const Heading = forwardRef(function Heading(props: HeadingProps, ref: ForwardedRef<HTMLHeadingElement>) {
|
|
22
|
+
[props, ref] = useContextProps(props, ref, HeadingContext);
|
|
23
|
+
let {children, level = 3, className, ...domProps} = props;
|
|
24
|
+
let Element = dom[`h${level}`];
|
|
25
|
+
|
|
26
|
+
return (
|
|
27
|
+
<Element {...domProps} ref={ref} className={className ?? 'react-aria-Heading'}>
|
|
28
|
+
{children}
|
|
29
|
+
</Element>
|
|
30
|
+
);
|
|
31
|
+
});
|
|
@@ -0,0 +1,152 @@
|
|
|
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
|
+
|
|
14
|
+
import {CalendarDate, CalendarDateTime, parseDate, parseDateTime, toCalendarDate, toCalendarDateTime, toLocalTimeZone} from '@internationalized/date';
|
|
15
|
+
import {DateFieldState, DatePickerState, DateSegmentType} from 'react-stately';
|
|
16
|
+
import {getEventTarget} from '@react-aria/utils';
|
|
17
|
+
import React, {ReactNode} from 'react';
|
|
18
|
+
import {useVisuallyHidden} from 'react-aria';
|
|
19
|
+
|
|
20
|
+
interface AriaHiddenDateInputProps {
|
|
21
|
+
/**
|
|
22
|
+
* Describes the type of autocomplete functionality the input should provide if any. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#htmlattrdefautocomplete).
|
|
23
|
+
*/
|
|
24
|
+
autoComplete?: string,
|
|
25
|
+
/** HTML form input name. */
|
|
26
|
+
name?: string,
|
|
27
|
+
/** Sets the disabled state of the input. */
|
|
28
|
+
isDisabled?: boolean
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
interface HiddenDateInputProps extends AriaHiddenDateInputProps {
|
|
32
|
+
/**
|
|
33
|
+
* State for the input.
|
|
34
|
+
*/
|
|
35
|
+
state: DateFieldState | DatePickerState
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export interface HiddenDateAria {
|
|
39
|
+
/** Props for the container element. */
|
|
40
|
+
containerProps: React.HTMLAttributes<HTMLDivElement>,
|
|
41
|
+
/** Props for the hidden input element. */
|
|
42
|
+
inputProps: React.InputHTMLAttributes<HTMLInputElement>
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
const dateSegments = ['day', 'month', 'year'];
|
|
46
|
+
const granularityMap = {'hour': 1, 'minute': 2, 'second': 3};
|
|
47
|
+
|
|
48
|
+
export function useHiddenDateInput(props: HiddenDateInputProps, state: DateFieldState | DatePickerState) : HiddenDateAria {
|
|
49
|
+
let {
|
|
50
|
+
autoComplete,
|
|
51
|
+
isDisabled,
|
|
52
|
+
name
|
|
53
|
+
} = props;
|
|
54
|
+
let {visuallyHiddenProps} = useVisuallyHidden({
|
|
55
|
+
style: {
|
|
56
|
+
// Prevent page scrolling.
|
|
57
|
+
position: 'fixed',
|
|
58
|
+
top: 0,
|
|
59
|
+
left: 0
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
let inputStep = 60;
|
|
64
|
+
if (state.granularity === 'second') {
|
|
65
|
+
inputStep = 1;
|
|
66
|
+
} else if (state.granularity === 'hour') {
|
|
67
|
+
inputStep = 3600;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
let dateValue = '';
|
|
71
|
+
if (state.value) {
|
|
72
|
+
if (state.granularity === 'day') {
|
|
73
|
+
dateValue = toCalendarDate(state.value).toString();
|
|
74
|
+
} else {
|
|
75
|
+
dateValue = toCalendarDateTime('timeZone' in state.value ? toLocalTimeZone(state.value) : state.value).toString();
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
let inputType = state.granularity === 'day' ? 'date' : 'datetime-local';
|
|
80
|
+
|
|
81
|
+
let timeSegments = ['hour', 'minute', 'second'];
|
|
82
|
+
// Depending on the granularity, we only want to validate certain time segments
|
|
83
|
+
let end = 0;
|
|
84
|
+
if (timeSegments.includes(state.granularity)) {
|
|
85
|
+
end = granularityMap[state.granularity];
|
|
86
|
+
timeSegments = timeSegments.slice(0, end);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
return {
|
|
90
|
+
containerProps: {
|
|
91
|
+
...visuallyHiddenProps,
|
|
92
|
+
'aria-hidden': true,
|
|
93
|
+
// @ts-ignore
|
|
94
|
+
['data-react-aria-prevent-focus']: true,
|
|
95
|
+
// @ts-ignore
|
|
96
|
+
['data-a11y-ignore']: 'aria-hidden-focus'
|
|
97
|
+
},
|
|
98
|
+
inputProps: {
|
|
99
|
+
tabIndex: -1,
|
|
100
|
+
autoComplete,
|
|
101
|
+
disabled: isDisabled,
|
|
102
|
+
type: inputType,
|
|
103
|
+
// We set the form prop to an empty string to prevent the hidden date input's value from being submitted
|
|
104
|
+
form: '',
|
|
105
|
+
name,
|
|
106
|
+
step: inputStep,
|
|
107
|
+
value: dateValue,
|
|
108
|
+
onChange: (e) => {
|
|
109
|
+
let targetString = getEventTarget(e).value.toString();
|
|
110
|
+
if (targetString) {
|
|
111
|
+
try {
|
|
112
|
+
let targetValue: CalendarDateTime | CalendarDate = parseDateTime(targetString);
|
|
113
|
+
if (state.granularity === 'day') {
|
|
114
|
+
targetValue = parseDate(targetString);
|
|
115
|
+
}
|
|
116
|
+
// We check to to see if setSegment exists in the state since it only exists in DateFieldState and not DatePickerState.
|
|
117
|
+
// The setValue method has different behavior depending on if it's coming from DateFieldState or DatePickerState.
|
|
118
|
+
// In DateFieldState, setValue firsts checks to make sure that each segment is filled before committing the newValue
|
|
119
|
+
// which is why in the code below we first set each segment to validate it before committing the new value.
|
|
120
|
+
// However, in DatePickerState, since we have to be able to commit values from the Calendar popover, we are also able to
|
|
121
|
+
// set a new value when the field itself is empty.
|
|
122
|
+
if ('setSegment' in state) {
|
|
123
|
+
for (let type in targetValue) {
|
|
124
|
+
// eslint-disable-next-line max-depth
|
|
125
|
+
if (dateSegments.includes(type)) {
|
|
126
|
+
state.setSegment(type as DateSegmentType, targetValue[type]);
|
|
127
|
+
}
|
|
128
|
+
// eslint-disable-next-line max-depth
|
|
129
|
+
if (timeSegments.includes(type)) {
|
|
130
|
+
state.setSegment(type as DateSegmentType, targetValue[type]);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
state.setValue(targetValue);
|
|
135
|
+
} catch {
|
|
136
|
+
// ignore
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
export function HiddenDateInput(props: HiddenDateInputProps): ReactNode | null {
|
|
145
|
+
let {state} = props;
|
|
146
|
+
let {containerProps, inputProps} = useHiddenDateInput({...props}, state);
|
|
147
|
+
return (
|
|
148
|
+
<div {...containerProps} data-testid="hidden-dateinput-container">
|
|
149
|
+
<input {...inputProps} />
|
|
150
|
+
</div>
|
|
151
|
+
);
|
|
152
|
+
}
|
package/src/Input.tsx
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
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 {
|
|
14
|
+
ClassNameOrFunction,
|
|
15
|
+
ContextValue,
|
|
16
|
+
dom,
|
|
17
|
+
StyleRenderProps,
|
|
18
|
+
useContextProps,
|
|
19
|
+
useRenderProps
|
|
20
|
+
} from './utils';
|
|
21
|
+
import {createHideableComponent} from '@react-aria/collections';
|
|
22
|
+
import {HoverEvents, mergeProps, useFocusRing, useHover} from 'react-aria';
|
|
23
|
+
import React, {createContext, ForwardedRef, InputHTMLAttributes} from 'react';
|
|
24
|
+
|
|
25
|
+
export interface InputRenderProps {
|
|
26
|
+
/**
|
|
27
|
+
* Whether the input is currently hovered with a mouse.
|
|
28
|
+
* @selector [data-hovered]
|
|
29
|
+
*/
|
|
30
|
+
isHovered: boolean,
|
|
31
|
+
/**
|
|
32
|
+
* Whether the input is focused, either via a mouse or keyboard.
|
|
33
|
+
* @selector [data-focused]
|
|
34
|
+
*/
|
|
35
|
+
isFocused: boolean,
|
|
36
|
+
/**
|
|
37
|
+
* Whether the input is keyboard focused.
|
|
38
|
+
* @selector [data-focus-visible]
|
|
39
|
+
*/
|
|
40
|
+
isFocusVisible: boolean,
|
|
41
|
+
/**
|
|
42
|
+
* Whether the input is disabled.
|
|
43
|
+
* @selector [data-disabled]
|
|
44
|
+
*/
|
|
45
|
+
isDisabled: boolean,
|
|
46
|
+
/**
|
|
47
|
+
* Whether the input is invalid.
|
|
48
|
+
* @selector [data-invalid]
|
|
49
|
+
*/
|
|
50
|
+
isInvalid: boolean
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'className' | 'style'>, HoverEvents, StyleRenderProps<InputRenderProps, 'input'> {
|
|
54
|
+
/**
|
|
55
|
+
* 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.
|
|
56
|
+
* @default 'react-aria-Input'
|
|
57
|
+
*/
|
|
58
|
+
className?: ClassNameOrFunction<InputRenderProps>,
|
|
59
|
+
/**
|
|
60
|
+
* Temporary text that occupies the text input when it is empty.
|
|
61
|
+
* See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/placeholder).
|
|
62
|
+
*/
|
|
63
|
+
placeholder?: string
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export const InputContext = createContext<ContextValue<InputProps, HTMLInputElement>>({});
|
|
67
|
+
|
|
68
|
+
let filterHoverProps = (props: InputProps) => {
|
|
69
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
70
|
+
let {onHoverStart, onHoverChange, onHoverEnd, ...otherProps} = props;
|
|
71
|
+
return otherProps;
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* An input allows a user to input text.
|
|
76
|
+
*/
|
|
77
|
+
export const Input = /*#__PURE__*/ createHideableComponent(function Input(props: InputProps, ref: ForwardedRef<HTMLInputElement>) {
|
|
78
|
+
[props, ref] = useContextProps(props, ref, InputContext);
|
|
79
|
+
|
|
80
|
+
let {hoverProps, isHovered} = useHover({
|
|
81
|
+
...props,
|
|
82
|
+
isDisabled: props.disabled
|
|
83
|
+
});
|
|
84
|
+
let {isFocused, isFocusVisible, focusProps} = useFocusRing({
|
|
85
|
+
isTextInput: true,
|
|
86
|
+
autoFocus: props.autoFocus
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
let isInvalid = !!props['aria-invalid'] && props['aria-invalid'] !== 'false';
|
|
90
|
+
let renderProps = useRenderProps({
|
|
91
|
+
...props,
|
|
92
|
+
values: {
|
|
93
|
+
isHovered,
|
|
94
|
+
isFocused,
|
|
95
|
+
isFocusVisible,
|
|
96
|
+
isDisabled: props.disabled || false,
|
|
97
|
+
isInvalid
|
|
98
|
+
},
|
|
99
|
+
defaultClassName: 'react-aria-Input'
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
return (
|
|
103
|
+
<dom.input
|
|
104
|
+
{...mergeProps(filterHoverProps(props), focusProps, hoverProps)}
|
|
105
|
+
{...renderProps}
|
|
106
|
+
ref={ref}
|
|
107
|
+
data-focused={isFocused || undefined}
|
|
108
|
+
data-disabled={props.disabled || undefined}
|
|
109
|
+
data-hovered={isHovered || undefined}
|
|
110
|
+
data-focus-visible={isFocusVisible || undefined}
|
|
111
|
+
data-invalid={isInvalid || undefined} />
|
|
112
|
+
);
|
|
113
|
+
});
|
package/src/Keyboard.tsx
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
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 {ContextValue, dom, DOMRenderProps, useContextProps} from './utils';
|
|
14
|
+
import React, {createContext, ForwardedRef, forwardRef, HTMLAttributes} from 'react';
|
|
15
|
+
|
|
16
|
+
export interface KeyboardProps extends HTMLAttributes<HTMLElement>, DOMRenderProps<'kbd', undefined> {}
|
|
17
|
+
|
|
18
|
+
export const KeyboardContext = createContext<ContextValue<KeyboardProps, HTMLElement>>({});
|
|
19
|
+
|
|
20
|
+
export const Keyboard = forwardRef(function Keyboard(props: KeyboardProps, ref: ForwardedRef<HTMLElement>) {
|
|
21
|
+
[props, ref] = useContextProps(props, ref, KeyboardContext);
|
|
22
|
+
return <dom.kbd dir="ltr" {...props} ref={ref} />;
|
|
23
|
+
});
|
package/src/Label.tsx
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
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 {ContextValue, dom, DOMRenderProps, useContextProps} from './utils';
|
|
14
|
+
import {createHideableComponent} from '@react-aria/collections';
|
|
15
|
+
import React, {createContext, ForwardedRef, LabelHTMLAttributes} from 'react';
|
|
16
|
+
|
|
17
|
+
export interface LabelProps extends LabelHTMLAttributes<HTMLLabelElement>, DOMRenderProps<'label', undefined> {
|
|
18
|
+
elementType?: string
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export const LabelContext = createContext<ContextValue<LabelProps, HTMLLabelElement>>({});
|
|
22
|
+
|
|
23
|
+
export const Label = /*#__PURE__*/ createHideableComponent(function Label(props: LabelProps, ref: ForwardedRef<HTMLLabelElement>) {
|
|
24
|
+
[props, ref] = useContextProps(props, ref, LabelContext);
|
|
25
|
+
let {elementType = 'label', ...labelProps} = props;
|
|
26
|
+
let ElementType = dom[elementType];
|
|
27
|
+
// @ts-ignore
|
|
28
|
+
return <ElementType className="react-aria-Label" {...labelProps} ref={ref} />;
|
|
29
|
+
});
|
package/src/Link.tsx
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
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 {AriaLinkOptions, HoverEvents, mergeProps, useFocusRing, useHover, useLink} from 'react-aria';
|
|
14
|
+
import {
|
|
15
|
+
ClassNameOrFunction,
|
|
16
|
+
ContextValue,
|
|
17
|
+
dom,
|
|
18
|
+
PossibleLinkDOMRenderProps,
|
|
19
|
+
RenderProps,
|
|
20
|
+
SlotProps,
|
|
21
|
+
useContextProps,
|
|
22
|
+
useRenderProps
|
|
23
|
+
} from './utils';
|
|
24
|
+
import {DOMProps, forwardRefType, GlobalDOMAttributes} from '@react-types/shared';
|
|
25
|
+
import {filterDOMProps} from '@react-aria/utils';
|
|
26
|
+
import React, {createContext, ForwardedRef, forwardRef} from 'react';
|
|
27
|
+
|
|
28
|
+
export interface LinkProps extends Omit<AriaLinkOptions, 'elementType'>, HoverEvents, Omit<RenderProps<LinkRenderProps>, 'render'>, PossibleLinkDOMRenderProps<'span', LinkRenderProps>, SlotProps, DOMProps, Omit<GlobalDOMAttributes<HTMLAnchorElement>, 'onClick'> {
|
|
29
|
+
/**
|
|
30
|
+
* 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.
|
|
31
|
+
* @default 'react-aria-Link'
|
|
32
|
+
*/
|
|
33
|
+
className?: ClassNameOrFunction<LinkRenderProps>
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export interface LinkRenderProps {
|
|
37
|
+
/**
|
|
38
|
+
* Whether the link is the current item within a list.
|
|
39
|
+
* @selector [data-current]
|
|
40
|
+
*/
|
|
41
|
+
isCurrent: boolean,
|
|
42
|
+
/**
|
|
43
|
+
* Whether the link is currently hovered with a mouse.
|
|
44
|
+
* @selector [data-hovered]
|
|
45
|
+
*/
|
|
46
|
+
isHovered: boolean,
|
|
47
|
+
/**
|
|
48
|
+
* Whether the link is currently in a pressed state.
|
|
49
|
+
* @selector [data-pressed]
|
|
50
|
+
*/
|
|
51
|
+
isPressed: boolean,
|
|
52
|
+
/**
|
|
53
|
+
* Whether the link is focused, either via a mouse or keyboard.
|
|
54
|
+
* @selector [data-focused]
|
|
55
|
+
*/
|
|
56
|
+
isFocused: boolean,
|
|
57
|
+
/**
|
|
58
|
+
* Whether the link is keyboard focused.
|
|
59
|
+
* @selector [data-focus-visible]
|
|
60
|
+
*/
|
|
61
|
+
isFocusVisible: boolean,
|
|
62
|
+
/**
|
|
63
|
+
* Whether the link is disabled.
|
|
64
|
+
* @selector [data-disabled]
|
|
65
|
+
*/
|
|
66
|
+
isDisabled: boolean
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export const LinkContext = createContext<ContextValue<LinkProps, HTMLAnchorElement>>(null);
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* A link allows a user to navigate to another page or resource within a web page
|
|
73
|
+
* or application.
|
|
74
|
+
*/
|
|
75
|
+
export const Link = /*#__PURE__*/ (forwardRef as forwardRefType)(function Link(props: LinkProps, ref: ForwardedRef<HTMLAnchorElement>) {
|
|
76
|
+
[props, ref] = useContextProps(props, ref, LinkContext);
|
|
77
|
+
|
|
78
|
+
let elementType = props.href && !props.isDisabled ? 'a' : 'span';
|
|
79
|
+
let {linkProps, isPressed} = useLink({...props, elementType}, ref);
|
|
80
|
+
let ElementType = dom[elementType];
|
|
81
|
+
|
|
82
|
+
let {hoverProps, isHovered} = useHover(props);
|
|
83
|
+
let {focusProps, isFocused, isFocusVisible} = useFocusRing();
|
|
84
|
+
|
|
85
|
+
let renderProps = useRenderProps<LinkRenderProps, 'span' | 'a'>({
|
|
86
|
+
...props,
|
|
87
|
+
defaultClassName: 'react-aria-Link',
|
|
88
|
+
values: {
|
|
89
|
+
isCurrent: !!props['aria-current'],
|
|
90
|
+
isDisabled: props.isDisabled || false,
|
|
91
|
+
isPressed,
|
|
92
|
+
isHovered,
|
|
93
|
+
isFocused,
|
|
94
|
+
isFocusVisible
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
let DOMProps = filterDOMProps(props, {global: true});
|
|
99
|
+
delete DOMProps.onClick;
|
|
100
|
+
|
|
101
|
+
return (
|
|
102
|
+
<ElementType
|
|
103
|
+
ref={ref}
|
|
104
|
+
slot={props.slot || undefined}
|
|
105
|
+
{...mergeProps(DOMProps, renderProps, linkProps, hoverProps, focusProps)}
|
|
106
|
+
data-focused={isFocused || undefined}
|
|
107
|
+
data-hovered={isHovered || undefined}
|
|
108
|
+
data-pressed={isPressed || undefined}
|
|
109
|
+
data-focus-visible={isFocusVisible || undefined}
|
|
110
|
+
data-current={!!props['aria-current'] || undefined}
|
|
111
|
+
data-disabled={props.isDisabled || undefined}>
|
|
112
|
+
{renderProps.children}
|
|
113
|
+
</ElementType>
|
|
114
|
+
);
|
|
115
|
+
});
|