@octanejs/aria 0.0.39 → 0.0.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE-APACHE-2.0 +201 -0
- package/README.md +20 -7
- package/UPSTREAM.md +108 -0
- package/package.json +10 -6
- package/src/calendar/useCalendar.tsx +36 -0
- package/src/calendar/useCalendarBase.tsx +142 -0
- package/src/calendar/useCalendarCell.tsx +416 -0
- package/src/calendar/useCalendarGrid.tsx +202 -0
- package/src/calendar/useCalendarHeading.tsx +85 -0
- package/src/calendar/useCalendarMonthPicker.tsx +92 -0
- package/src/calendar/useCalendarYearPicker.tsx +127 -0
- package/src/calendar/useRangeCalendar.tsx +121 -0
- package/src/calendar/utils.tsx +183 -0
- package/src/color/useColorArea.tsx +599 -0
- package/src/color/useColorAreaGradient.tsx +157 -0
- package/src/color/useColorChannelField.tsx +53 -0
- package/src/color/useColorField.tsx +170 -0
- package/src/color/useColorSlider.tsx +177 -0
- package/src/color/useColorSwatch.tsx +83 -0
- package/src/color/useColorWheel.tsx +401 -0
- package/src/compat/react.ts +111 -0
- package/src/components/Calendar.tsx +842 -0
- package/src/components/ColorArea.tsx +120 -0
- package/src/components/ColorField.tsx +304 -0
- package/src/components/ColorPicker.tsx +86 -0
- package/src/components/ColorSlider.tsx +144 -0
- package/src/components/ColorSwatch.tsx +72 -0
- package/src/components/ColorSwatchPicker.tsx +176 -0
- package/src/components/ColorThumb.tsx +140 -0
- package/src/components/ColorWheel.tsx +163 -0
- package/src/components/DateField.tsx +580 -0
- package/src/components/DatePicker.tsx +386 -0
- package/src/components/DropZone.tsx +181 -0
- package/src/components/FileTrigger.tsx +96 -0
- package/src/components/GridLayout.tsx +33 -0
- package/src/components/HiddenDateInput.tsx +169 -0
- package/src/components/TableLayout.tsx +39 -0
- package/src/components/Toast.tsx +336 -0
- package/src/components/Virtualizer.tsx +219 -0
- package/src/components/index.ts +257 -7
- package/src/components/useDragAndDrop.tsx +221 -0
- package/src/components/utils.ts +12 -89
- package/src/datepicker/useDateField.tsx +272 -0
- package/src/datepicker/useDatePicker.tsx +229 -0
- package/src/datepicker/useDatePickerGroup.tsx +147 -0
- package/src/datepicker/useDateRangePicker.tsx +288 -0
- package/src/datepicker/useDateSegment.tsx +439 -0
- package/src/datepicker/useDisplayNames.tsx +53 -0
- package/src/dnd/DragManager.tsx +718 -0
- package/src/dnd/DragPreview.tsx +100 -0
- package/src/dnd/DropTargetKeyboardNavigation.tsx +317 -0
- package/src/dnd/ListDropTargetDelegate.tsx +215 -0
- package/src/dnd/constants.tsx +93 -0
- package/src/dnd/useAutoScroll.tsx +116 -0
- package/src/dnd/useClipboard.tsx +160 -0
- package/src/dnd/useDrag.tsx +437 -0
- package/src/dnd/useDraggableCollection.tsx +35 -0
- package/src/dnd/useDraggableItem.tsx +168 -0
- package/src/dnd/useDrop.tsx +518 -0
- package/src/dnd/useDropIndicator.tsx +129 -0
- package/src/dnd/useDroppableCollection.tsx +808 -0
- package/src/dnd/useDroppableItem.tsx +99 -0
- package/src/dnd/useVirtualDrop.tsx +52 -0
- package/src/dnd/utils.tsx +430 -0
- package/src/intl/calendar/ar-AE.json +14 -0
- package/src/intl/calendar/bg-BG.json +14 -0
- package/src/intl/calendar/cs-CZ.json +14 -0
- package/src/intl/calendar/da-DK.json +14 -0
- package/src/intl/calendar/de-DE.json +14 -0
- package/src/intl/calendar/el-GR.json +14 -0
- package/src/intl/calendar/en-US.json +14 -0
- package/src/intl/calendar/es-ES.json +14 -0
- package/src/intl/calendar/et-EE.json +14 -0
- package/src/intl/calendar/fi-FI.json +14 -0
- package/src/intl/calendar/fr-FR.json +14 -0
- package/src/intl/calendar/he-IL.json +14 -0
- package/src/intl/calendar/hr-HR.json +14 -0
- package/src/intl/calendar/hu-HU.json +14 -0
- package/src/intl/calendar/index.ts +73 -0
- package/src/intl/calendar/it-IT.json +14 -0
- package/src/intl/calendar/ja-JP.json +14 -0
- package/src/intl/calendar/ko-KR.json +14 -0
- package/src/intl/calendar/lt-LT.json +14 -0
- package/src/intl/calendar/lv-LV.json +14 -0
- package/src/intl/calendar/nb-NO.json +14 -0
- package/src/intl/calendar/nl-NL.json +14 -0
- package/src/intl/calendar/pl-PL.json +14 -0
- package/src/intl/calendar/pt-BR.json +14 -0
- package/src/intl/calendar/pt-PT.json +14 -0
- package/src/intl/calendar/ro-RO.json +14 -0
- package/src/intl/calendar/ru-RU.json +14 -0
- package/src/intl/calendar/sk-SK.json +14 -0
- package/src/intl/calendar/sl-SI.json +14 -0
- package/src/intl/calendar/sr-SP.json +14 -0
- package/src/intl/calendar/sv-SE.json +14 -0
- package/src/intl/calendar/tr-TR.json +14 -0
- package/src/intl/calendar/uk-UA.json +14 -0
- package/src/intl/calendar/zh-CN.json +14 -0
- package/src/intl/calendar/zh-TW.json +14 -0
- package/src/intl/color/ar-AE.json +8 -0
- package/src/intl/color/bg-BG.json +8 -0
- package/src/intl/color/cs-CZ.json +8 -0
- package/src/intl/color/da-DK.json +8 -0
- package/src/intl/color/de-DE.json +8 -0
- package/src/intl/color/el-GR.json +8 -0
- package/src/intl/color/en-US.json +8 -0
- package/src/intl/color/es-ES.json +8 -0
- package/src/intl/color/et-EE.json +8 -0
- package/src/intl/color/fi-FI.json +8 -0
- package/src/intl/color/fr-FR.json +8 -0
- package/src/intl/color/he-IL.json +8 -0
- package/src/intl/color/hr-HR.json +8 -0
- package/src/intl/color/hu-HU.json +8 -0
- package/src/intl/color/index.ts +73 -0
- package/src/intl/color/it-IT.json +8 -0
- package/src/intl/color/ja-JP.json +8 -0
- package/src/intl/color/ko-KR.json +8 -0
- package/src/intl/color/lt-LT.json +8 -0
- package/src/intl/color/lv-LV.json +8 -0
- package/src/intl/color/nb-NO.json +8 -0
- package/src/intl/color/nl-NL.json +8 -0
- package/src/intl/color/pl-PL.json +8 -0
- package/src/intl/color/pt-BR.json +8 -0
- package/src/intl/color/pt-PT.json +8 -0
- package/src/intl/color/ro-RO.json +8 -0
- package/src/intl/color/ru-RU.json +8 -0
- package/src/intl/color/sk-SK.json +8 -0
- package/src/intl/color/sl-SI.json +8 -0
- package/src/intl/color/sr-SP.json +8 -0
- package/src/intl/color/sv-SE.json +8 -0
- package/src/intl/color/tr-TR.json +8 -0
- package/src/intl/color/uk-UA.json +8 -0
- package/src/intl/color/zh-CN.json +8 -0
- package/src/intl/color/zh-TW.json +8 -0
- package/src/intl/datepicker/ar-AE.json +18 -0
- package/src/intl/datepicker/bg-BG.json +18 -0
- package/src/intl/datepicker/cs-CZ.json +18 -0
- package/src/intl/datepicker/da-DK.json +18 -0
- package/src/intl/datepicker/de-DE.json +18 -0
- package/src/intl/datepicker/el-GR.json +18 -0
- package/src/intl/datepicker/en-US.json +18 -0
- package/src/intl/datepicker/es-ES.json +18 -0
- package/src/intl/datepicker/et-EE.json +18 -0
- package/src/intl/datepicker/fi-FI.json +18 -0
- package/src/intl/datepicker/fr-FR.json +18 -0
- package/src/intl/datepicker/he-IL.json +18 -0
- package/src/intl/datepicker/hr-HR.json +18 -0
- package/src/intl/datepicker/hu-HU.json +18 -0
- package/src/intl/datepicker/index.ts +73 -0
- package/src/intl/datepicker/it-IT.json +18 -0
- package/src/intl/datepicker/ja-JP.json +18 -0
- package/src/intl/datepicker/ko-KR.json +18 -0
- package/src/intl/datepicker/lt-LT.json +18 -0
- package/src/intl/datepicker/lv-LV.json +18 -0
- package/src/intl/datepicker/nb-NO.json +18 -0
- package/src/intl/datepicker/nl-NL.json +18 -0
- package/src/intl/datepicker/pl-PL.json +18 -0
- package/src/intl/datepicker/pt-BR.json +18 -0
- package/src/intl/datepicker/pt-PT.json +18 -0
- package/src/intl/datepicker/ro-RO.json +18 -0
- package/src/intl/datepicker/ru-RU.json +18 -0
- package/src/intl/datepicker/sk-SK.json +18 -0
- package/src/intl/datepicker/sl-SI.json +18 -0
- package/src/intl/datepicker/sr-SP.json +18 -0
- package/src/intl/datepicker/sv-SE.json +18 -0
- package/src/intl/datepicker/tr-TR.json +18 -0
- package/src/intl/datepicker/uk-UA.json +18 -0
- package/src/intl/datepicker/zh-CN.json +18 -0
- package/src/intl/datepicker/zh-TW.json +18 -0
- package/src/intl/dnd/ar-AE.json +29 -0
- package/src/intl/dnd/bg-BG.json +29 -0
- package/src/intl/dnd/cs-CZ.json +29 -0
- package/src/intl/dnd/da-DK.json +29 -0
- package/src/intl/dnd/de-DE.json +29 -0
- package/src/intl/dnd/el-GR.json +29 -0
- package/src/intl/dnd/en-US.json +29 -0
- package/src/intl/dnd/es-ES.json +29 -0
- package/src/intl/dnd/et-EE.json +29 -0
- package/src/intl/dnd/fi-FI.json +29 -0
- package/src/intl/dnd/fr-FR.json +29 -0
- package/src/intl/dnd/he-IL.json +29 -0
- package/src/intl/dnd/hr-HR.json +29 -0
- package/src/intl/dnd/hu-HU.json +29 -0
- package/src/intl/dnd/index.ts +73 -0
- package/src/intl/dnd/it-IT.json +29 -0
- package/src/intl/dnd/ja-JP.json +29 -0
- package/src/intl/dnd/ko-KR.json +29 -0
- package/src/intl/dnd/lt-LT.json +29 -0
- package/src/intl/dnd/lv-LV.json +29 -0
- package/src/intl/dnd/nb-NO.json +29 -0
- package/src/intl/dnd/nl-NL.json +29 -0
- package/src/intl/dnd/pl-PL.json +29 -0
- package/src/intl/dnd/pt-BR.json +29 -0
- package/src/intl/dnd/pt-PT.json +29 -0
- package/src/intl/dnd/ro-RO.json +29 -0
- package/src/intl/dnd/ru-RU.json +29 -0
- package/src/intl/dnd/sk-SK.json +29 -0
- package/src/intl/dnd/sl-SI.json +29 -0
- package/src/intl/dnd/sr-SP.json +29 -0
- package/src/intl/dnd/sv-SE.json +29 -0
- package/src/intl/dnd/tr-TR.json +29 -0
- package/src/intl/dnd/uk-UA.json +29 -0
- package/src/intl/dnd/zh-CN.json +29 -0
- package/src/intl/dnd/zh-TW.json +29 -0
- package/src/intl/react-aria-components/ar-AE.json +6 -0
- package/src/intl/react-aria-components/bg-BG.json +6 -0
- package/src/intl/react-aria-components/cs-CZ.json +6 -0
- package/src/intl/react-aria-components/da-DK.json +6 -0
- package/src/intl/react-aria-components/de-DE.json +6 -0
- package/src/intl/react-aria-components/el-GR.json +6 -0
- package/src/intl/react-aria-components/en-US.json +6 -0
- package/src/intl/react-aria-components/es-ES.json +6 -0
- package/src/intl/react-aria-components/et-EE.json +6 -0
- package/src/intl/react-aria-components/fi-FI.json +6 -0
- package/src/intl/react-aria-components/fr-FR.json +6 -0
- package/src/intl/react-aria-components/he-IL.json +6 -0
- package/src/intl/react-aria-components/hr-HR.json +6 -0
- package/src/intl/react-aria-components/hu-HU.json +6 -0
- package/src/intl/react-aria-components/index.ts +73 -0
- package/src/intl/react-aria-components/it-IT.json +6 -0
- package/src/intl/react-aria-components/ja-JP.json +6 -0
- package/src/intl/react-aria-components/ko-KR.json +6 -0
- package/src/intl/react-aria-components/lt-LT.json +6 -0
- package/src/intl/react-aria-components/lv-LV.json +6 -0
- package/src/intl/react-aria-components/nb-NO.json +6 -0
- package/src/intl/react-aria-components/nl-NL.json +6 -0
- package/src/intl/react-aria-components/pl-PL.json +6 -0
- package/src/intl/react-aria-components/pt-BR.json +6 -0
- package/src/intl/react-aria-components/pt-PT.json +6 -0
- package/src/intl/react-aria-components/ro-RO.json +6 -0
- package/src/intl/react-aria-components/ru-RU.json +6 -0
- package/src/intl/react-aria-components/sk-SK.json +6 -0
- package/src/intl/react-aria-components/sl-SI.json +6 -0
- package/src/intl/react-aria-components/sr-SP.json +6 -0
- package/src/intl/react-aria-components/sv-SE.json +6 -0
- package/src/intl/react-aria-components/tr-TR.json +6 -0
- package/src/intl/react-aria-components/uk-UA.json +6 -0
- package/src/intl/react-aria-components/zh-CN.json +6 -0
- package/src/intl/react-aria-components/zh-TW.json +6 -0
- package/src/intl/stately-color/ar-AE.json +39 -0
- package/src/intl/stately-color/bg-BG.json +39 -0
- package/src/intl/stately-color/cs-CZ.json +39 -0
- package/src/intl/stately-color/da-DK.json +39 -0
- package/src/intl/stately-color/de-DE.json +39 -0
- package/src/intl/stately-color/el-GR.json +39 -0
- package/src/intl/stately-color/en-US.json +39 -0
- package/src/intl/stately-color/es-ES.json +39 -0
- package/src/intl/stately-color/et-EE.json +39 -0
- package/src/intl/stately-color/fi-FI.json +39 -0
- package/src/intl/stately-color/fr-FR.json +39 -0
- package/src/intl/stately-color/he-IL.json +39 -0
- package/src/intl/stately-color/hr-HR.json +39 -0
- package/src/intl/stately-color/hu-HU.json +39 -0
- package/src/intl/stately-color/index.ts +73 -0
- package/src/intl/stately-color/it-IT.json +39 -0
- package/src/intl/stately-color/ja-JP.json +39 -0
- package/src/intl/stately-color/ko-KR.json +39 -0
- package/src/intl/stately-color/lt-LT.json +39 -0
- package/src/intl/stately-color/lv-LV.json +39 -0
- package/src/intl/stately-color/nb-NO.json +39 -0
- package/src/intl/stately-color/nl-NL.json +39 -0
- package/src/intl/stately-color/pl-PL.json +39 -0
- package/src/intl/stately-color/pt-BR.json +39 -0
- package/src/intl/stately-color/pt-PT.json +39 -0
- package/src/intl/stately-color/ro-RO.json +39 -0
- package/src/intl/stately-color/ru-RU.json +39 -0
- package/src/intl/stately-color/sk-SK.json +39 -0
- package/src/intl/stately-color/sl-SI.json +39 -0
- package/src/intl/stately-color/sr-SP.json +39 -0
- package/src/intl/stately-color/sv-SE.json +39 -0
- package/src/intl/stately-color/tr-TR.json +39 -0
- package/src/intl/stately-color/uk-UA.json +39 -0
- package/src/intl/stately-color/zh-CN.json +39 -0
- package/src/intl/stately-color/zh-TW.json +39 -0
- package/src/intl/toast/ar-AE.json +4 -0
- package/src/intl/toast/bg-BG.json +4 -0
- package/src/intl/toast/cs-CZ.json +4 -0
- package/src/intl/toast/da-DK.json +4 -0
- package/src/intl/toast/de-DE.json +4 -0
- package/src/intl/toast/el-GR.json +4 -0
- package/src/intl/toast/en-US.json +4 -0
- package/src/intl/toast/es-ES.json +4 -0
- package/src/intl/toast/et-EE.json +4 -0
- package/src/intl/toast/fi-FI.json +4 -0
- package/src/intl/toast/fr-FR.json +4 -0
- package/src/intl/toast/he-IL.json +4 -0
- package/src/intl/toast/hr-HR.json +4 -0
- package/src/intl/toast/hu-HU.json +4 -0
- package/src/intl/toast/index.ts +73 -0
- package/src/intl/toast/it-IT.json +4 -0
- package/src/intl/toast/ja-JP.json +4 -0
- package/src/intl/toast/ko-KR.json +4 -0
- package/src/intl/toast/lt-LT.json +4 -0
- package/src/intl/toast/lv-LV.json +4 -0
- package/src/intl/toast/nb-NO.json +4 -0
- package/src/intl/toast/nl-NL.json +4 -0
- package/src/intl/toast/pl-PL.json +4 -0
- package/src/intl/toast/pt-BR.json +4 -0
- package/src/intl/toast/pt-PT.json +4 -0
- package/src/intl/toast/ro-RO.json +4 -0
- package/src/intl/toast/ru-RU.json +4 -0
- package/src/intl/toast/sk-SK.json +4 -0
- package/src/intl/toast/sl-SI.json +4 -0
- package/src/intl/toast/sr-SP.json +4 -0
- package/src/intl/toast/sv-SE.json +4 -0
- package/src/intl/toast/tr-TR.json +4 -0
- package/src/intl/toast/uk-UA.json +4 -0
- package/src/intl/toast/zh-CN.json +4 -0
- package/src/intl/toast/zh-TW.json +4 -0
- package/src/landmark/useLandmark.tsx +569 -0
- package/src/stately/calendar/types.tsx +239 -0
- package/src/stately/calendar/useCalendarState.tsx +527 -0
- package/src/stately/calendar/useRangeCalendarState.tsx +323 -0
- package/src/stately/calendar/utils.tsx +175 -0
- package/src/stately/color/Color.tsx +889 -0
- package/src/stately/color/types.tsx +82 -0
- package/src/stately/color/useColor.tsx +30 -0
- package/src/stately/color/useColorAreaState.tsx +255 -0
- package/src/stately/color/useColorChannelFieldState.tsx +86 -0
- package/src/stately/color/useColorFieldState.tsx +220 -0
- package/src/stately/color/useColorPickerState.tsx +31 -0
- package/src/stately/color/useColorSliderState.tsx +143 -0
- package/src/stately/color/useColorWheelState.tsx +225 -0
- package/src/stately/data/useAsyncList.tsx +382 -0
- package/src/stately/data/useListData.tsx +447 -0
- package/src/stately/data/useTreeData.tsx +603 -0
- package/src/stately/datepicker/IncompleteDate.tsx +427 -0
- package/src/stately/datepicker/placeholders.tsx +116 -0
- package/src/stately/datepicker/types.tsx +169 -0
- package/src/stately/datepicker/useDateFieldState.tsx +564 -0
- package/src/stately/datepicker/useDatePickerState.tsx +244 -0
- package/src/stately/datepicker/useDateRangePickerState.tsx +397 -0
- package/src/stately/datepicker/useTimeFieldState.tsx +123 -0
- package/src/stately/datepicker/utils.tsx +316 -0
- package/src/stately/dnd/useDraggableCollectionState.tsx +191 -0
- package/src/stately/dnd/useDroppableCollectionState.tsx +288 -0
- package/src/stately/layout/GridLayout.tsx +449 -0
- package/src/stately/layout/ListLayout.tsx +872 -0
- package/src/stately/layout/TableLayout.tsx +793 -0
- package/src/stately/layout/WaterfallLayout.tsx +399 -0
- package/src/stately/toast/useToastState.tsx +219 -0
- package/src/stately/virtualizer/Layout.tsx +105 -0
- package/src/stately/virtualizer/LayoutInfo.tsx +127 -0
- package/src/stately/virtualizer/OverscanManager.tsx +56 -0
- package/src/stately/virtualizer/Point.tsx +47 -0
- package/src/stately/virtualizer/Rect.tsx +194 -0
- package/src/stately/virtualizer/ReusableView.tsx +101 -0
- package/src/stately/virtualizer/Size.tsx +48 -0
- package/src/stately/virtualizer/Virtualizer.tsx +408 -0
- package/src/stately/virtualizer/types.tsx +48 -0
- package/src/stately/virtualizer/useVirtualizerState.tsx +138 -0
- package/src/stately/virtualizer/utils.tsx +32 -0
- package/src/textfield/useTextField.ts +3 -0
- package/src/toast/useToast.tsx +105 -0
- package/src/toast/useToastRegion.tsx +223 -0
- package/src/upstream-exports/react-aria/I18nProvider.tsx +17 -0
- package/src/upstream-exports/react-aria/ListDropTargetDelegate.tsx +15 -0
- package/src/upstream-exports/react-aria/PortalProvider.tsx +19 -0
- package/src/upstream-exports/react-aria/SSRProvider.tsx +15 -0
- package/src/upstream-exports/react-aria/VisuallyHidden.tsx +15 -0
- package/src/upstream-exports/react-aria/filterDOMProps.tsx +3 -0
- package/src/upstream-exports/react-aria/mergeProps.tsx +14 -0
- package/src/upstream-exports/react-aria/private/dnd/DragManager.tsx +3 -0
- package/src/upstream-exports/react-aria/private/interactions/PressResponder.tsx +3 -0
- package/src/upstream-exports/react-aria/private/utils/isFocusable.tsx +3 -0
- package/src/upstream-exports/react-aria/private/utils/shadowdom/DOMFunctions.tsx +8 -0
- package/src/upstream-exports/react-aria/private/utils/useId.tsx +3 -0
- package/src/upstream-exports/react-aria/private/utils/useLabels.tsx +3 -0
- package/src/upstream-exports/react-aria/private/virtualizer/ScrollView.tsx +3 -0
- package/src/upstream-exports/react-aria/private/virtualizer/VirtualizerItem.tsx +3 -0
- package/src/upstream-exports/react-aria/useButton.tsx +22 -0
- package/src/upstream-exports/react-aria/useCalendar.tsx +37 -0
- package/src/upstream-exports/react-aria/useClipboard.tsx +23 -0
- package/src/upstream-exports/react-aria/useColorArea.tsx +19 -0
- package/src/upstream-exports/react-aria/useColorField.tsx +20 -0
- package/src/upstream-exports/react-aria/useColorSlider.tsx +19 -0
- package/src/upstream-exports/react-aria/useColorSwatch.tsx +15 -0
- package/src/upstream-exports/react-aria/useColorWheel.tsx +19 -0
- package/src/upstream-exports/react-aria/useDateField.tsx +23 -0
- package/src/upstream-exports/react-aria/useDatePicker.tsx +17 -0
- package/src/upstream-exports/react-aria/useDateRangePicker.tsx +24 -0
- package/src/upstream-exports/react-aria/useDraggableCollection.tsx +31 -0
- package/src/upstream-exports/react-aria/useDrop.tsx +33 -0
- package/src/upstream-exports/react-aria/useDroppableCollection.tsx +47 -0
- package/src/upstream-exports/react-aria/useFocusRing.tsx +16 -0
- package/src/upstream-exports/react-aria/useHover.tsx +17 -0
- package/src/upstream-exports/react-aria/useLocalizedStringFormatter.tsx +19 -0
- package/src/upstream-exports/react-aria/useObjectRef.tsx +14 -0
- package/src/upstream-exports/react-aria/useRangeCalendar.tsx +38 -0
- package/src/upstream-exports/react-aria/useTimeField.tsx +23 -0
- package/src/upstream-exports/react-aria/useToast.tsx +18 -0
- package/src/upstream-exports/react-stately/Color.tsx +23 -0
- package/src/upstream-exports/react-stately/private/form/useFormValidationState.tsx +11 -0
- package/src/upstream-exports/react-stately/useCalendarState.tsx +24 -0
- package/src/upstream-exports/react-stately/useColorAreaState.tsx +24 -0
- package/src/upstream-exports/react-stately/useColorFieldState.tsx +22 -0
- package/src/upstream-exports/react-stately/useColorPickerState.tsx +25 -0
- package/src/upstream-exports/react-stately/useColorSliderState.tsx +25 -0
- package/src/upstream-exports/react-stately/useColorWheelState.tsx +24 -0
- package/src/upstream-exports/react-stately/useDateFieldState.tsx +29 -0
- package/src/upstream-exports/react-stately/useDatePickerState.tsx +25 -0
- package/src/upstream-exports/react-stately/useDateRangePickerState.tsx +26 -0
- package/src/upstream-exports/react-stately/useDraggableCollectionState.tsx +19 -0
- package/src/upstream-exports/react-stately/useDroppableCollectionState.tsx +19 -0
- package/src/upstream-exports/react-stately/useRangeCalendarState.tsx +27 -0
- package/src/upstream-exports/react-stately/useTimeFieldState.tsx +26 -0
- package/src/upstream-exports/react-stately/useToastState.tsx +21 -0
- package/src/upstream-exports/react-stately/useVirtualizerState.tsx +22 -0
- package/src/utils/useLoadMore.tsx +89 -0
- package/src/virtualizer/ScrollView.tsx +401 -0
- package/src/virtualizer/Virtualizer.tsx +147 -0
- package/src/virtualizer/VirtualizerItem.tsx +108 -0
- package/src/virtualizer/useVirtualizerItem.tsx +57 -0
- package/src/virtualizer/utils.tsx +105 -0
- package/LICENSE +0 -21
- package/src/components/useDragAndDrop.ts +0 -164
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
/** @jsxImportSource octane */
|
|
2
|
+
// Ported from adobe/react-spectrum@1c84a49a1faf50b571c84e00bcf9c60b22ddd03e (packages/react-stately/src/calendar/types.ts).
|
|
3
|
+
/*
|
|
4
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
5
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
7
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
10
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
11
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
12
|
+
* governing permissions and limitations under the License.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import {
|
|
16
|
+
CalendarDate,
|
|
17
|
+
CalendarDateTime,
|
|
18
|
+
DateDuration,
|
|
19
|
+
ZonedDateTime,
|
|
20
|
+
} from '@internationalized/date';
|
|
21
|
+
import { RangeValue, ValidationState } from '@react-types/shared';
|
|
22
|
+
import { ReactNode } from '../../compat/react';
|
|
23
|
+
|
|
24
|
+
export type DateValue = CalendarDate | CalendarDateTime | ZonedDateTime;
|
|
25
|
+
export type MappedDateValue<T> = T extends ZonedDateTime
|
|
26
|
+
? ZonedDateTime
|
|
27
|
+
: T extends CalendarDateTime
|
|
28
|
+
? CalendarDateTime
|
|
29
|
+
: T extends CalendarDate
|
|
30
|
+
? CalendarDate
|
|
31
|
+
: never;
|
|
32
|
+
|
|
33
|
+
export type PageBehavior = 'single' | 'visible';
|
|
34
|
+
export interface CalendarPropsBase {
|
|
35
|
+
/** The minimum allowed date that a user may select. */
|
|
36
|
+
minValue?: DateValue | null;
|
|
37
|
+
/** The maximum allowed date that a user may select. */
|
|
38
|
+
maxValue?: DateValue | null;
|
|
39
|
+
/**
|
|
40
|
+
* Whether the calendar is disabled.
|
|
41
|
+
*
|
|
42
|
+
* @default false
|
|
43
|
+
*/
|
|
44
|
+
isDisabled?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Whether the calendar value is immutable.
|
|
47
|
+
*
|
|
48
|
+
* @default false
|
|
49
|
+
*/
|
|
50
|
+
isReadOnly?: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Whether to automatically focus the calendar when it mounts.
|
|
53
|
+
*
|
|
54
|
+
* @default false
|
|
55
|
+
*/
|
|
56
|
+
autoFocus?: boolean;
|
|
57
|
+
/** Controls the currently focused date within the calendar. */
|
|
58
|
+
focusedValue?: DateValue | null;
|
|
59
|
+
/** The date that is focused when the calendar first mounts (uncontrolled). */
|
|
60
|
+
defaultFocusedValue?: DateValue | null;
|
|
61
|
+
/** Handler that is called when the focused date changes. */
|
|
62
|
+
onFocusChange?: (date: CalendarDate) => void;
|
|
63
|
+
/**
|
|
64
|
+
* Whether the current selection is valid or invalid according to application logic.
|
|
65
|
+
*
|
|
66
|
+
* @deprecated Use `isInvalid` instead.
|
|
67
|
+
*/
|
|
68
|
+
validationState?: ValidationState;
|
|
69
|
+
/** Whether the current selection is invalid according to application logic. */
|
|
70
|
+
isInvalid?: boolean;
|
|
71
|
+
/** An error message to display when the selected value is invalid. */
|
|
72
|
+
errorMessage?: ReactNode;
|
|
73
|
+
/**
|
|
74
|
+
* Controls the behavior of paging. Pagination either works by advancing the visible page by
|
|
75
|
+
* visibleDuration (default) or one unit of visibleDuration.
|
|
76
|
+
*
|
|
77
|
+
* @default visible
|
|
78
|
+
*/
|
|
79
|
+
pageBehavior?: PageBehavior;
|
|
80
|
+
/**
|
|
81
|
+
* The day that starts the week.
|
|
82
|
+
*/
|
|
83
|
+
firstDayOfWeek?: 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat';
|
|
84
|
+
/**
|
|
85
|
+
* Determines the alignment of the visible months on initial render based on the current selection
|
|
86
|
+
* or current date if there is no selection.
|
|
87
|
+
*
|
|
88
|
+
* @default 'center'
|
|
89
|
+
*/
|
|
90
|
+
selectionAlignment?: 'start' | 'center' | 'end';
|
|
91
|
+
/**
|
|
92
|
+
* The number of weeks in a month. This overrides the default set by the locale.
|
|
93
|
+
*/
|
|
94
|
+
weeksInMonth?: number;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
interface CalendarStateBase {
|
|
98
|
+
/** Whether the calendar is disabled. */
|
|
99
|
+
readonly isDisabled: boolean;
|
|
100
|
+
/** Whether the calendar is in a read only state. */
|
|
101
|
+
readonly isReadOnly: boolean;
|
|
102
|
+
/** The visible duration in the calendar. */
|
|
103
|
+
readonly visibleDuration: DateDuration;
|
|
104
|
+
/** The date range that is currently visible in the calendar. */
|
|
105
|
+
readonly visibleRange: RangeValue<CalendarDate>;
|
|
106
|
+
/** The minimum allowed date that a user may select. */
|
|
107
|
+
readonly minValue?: DateValue | null;
|
|
108
|
+
/** The maximum allowed date that a user may select. */
|
|
109
|
+
readonly maxValue?: DateValue | null;
|
|
110
|
+
/** The time zone of the dates currently being displayed. */
|
|
111
|
+
readonly timeZone: string;
|
|
112
|
+
/**
|
|
113
|
+
* The current validation state of the selected value.
|
|
114
|
+
*
|
|
115
|
+
* @deprecated Use `isValueInvalid` instead.
|
|
116
|
+
*/
|
|
117
|
+
readonly validationState: ValidationState | null;
|
|
118
|
+
/** Whether the calendar is invalid. */
|
|
119
|
+
readonly isValueInvalid: boolean;
|
|
120
|
+
/** The currently focused date. */
|
|
121
|
+
readonly focusedDate: CalendarDate;
|
|
122
|
+
/** Sets the focused date. */
|
|
123
|
+
setFocusedDate(value: CalendarDate): void;
|
|
124
|
+
/** Moves focus to the next calendar date. */
|
|
125
|
+
focusNextDay(): void;
|
|
126
|
+
/** Moves focus to the previous calendar date. */
|
|
127
|
+
focusPreviousDay(): void;
|
|
128
|
+
/** Moves focus to the next row of dates, e.g. the next week. */
|
|
129
|
+
focusNextRow(): void;
|
|
130
|
+
/** Moves focus to the previous row of dates, e.g. the previous work. */
|
|
131
|
+
focusPreviousRow(): void;
|
|
132
|
+
/** Moves focus to the next page of dates, e.g. the next month if one month is visible. */
|
|
133
|
+
focusNextPage(): void;
|
|
134
|
+
/** Moves focus to the previous page of dates, e.g. the previous month if one month is visible. */
|
|
135
|
+
focusPreviousPage(): void;
|
|
136
|
+
/** Moves focus to the start of the current section of dates, e.g. the start of the current month. */
|
|
137
|
+
focusSectionStart(): void;
|
|
138
|
+
/**
|
|
139
|
+
* Moves focus to the end of the current section of dates, e.g. the end of the current month
|
|
140
|
+
* month.
|
|
141
|
+
*/
|
|
142
|
+
focusSectionEnd(): void;
|
|
143
|
+
/**
|
|
144
|
+
* Moves focus to the next section of dates based on what is currently displayed.
|
|
145
|
+
* By default, focus is moved by one of the currently displayed unit. For example, if
|
|
146
|
+
* one or more months are displayed, then focus is moved forward by one month.
|
|
147
|
+
* If the `larger` option is `true`, the focus is moved by the next larger unit than
|
|
148
|
+
* the one displayed. For example, if months are displayed, then focus moves to the next year.
|
|
149
|
+
*/
|
|
150
|
+
focusNextSection(larger?: boolean): void;
|
|
151
|
+
/**
|
|
152
|
+
* Moves focus to the previous section of dates based on what is currently displayed.
|
|
153
|
+
* By default, focus is moved by one of the currently displayed unit. For example, if
|
|
154
|
+
* one or more months are displayed, then focus is moved backward by one month.
|
|
155
|
+
* If the `larger` option is `true`, the focus is moved by the next larger unit than
|
|
156
|
+
* the one displayed. For example, if months are displayed, then focus moves to the previous year.
|
|
157
|
+
*/
|
|
158
|
+
focusPreviousSection(larger?: boolean): void;
|
|
159
|
+
/** Selects the currently focused date. */
|
|
160
|
+
selectFocusedDate(): void;
|
|
161
|
+
/** Selects the given date. */
|
|
162
|
+
selectDate(date: CalendarDate): void;
|
|
163
|
+
/** Whether focus is currently within the calendar. */
|
|
164
|
+
readonly isFocused: boolean;
|
|
165
|
+
/** Sets whether focus is currently within the calendar. */
|
|
166
|
+
setFocused(value: boolean): void;
|
|
167
|
+
/** Returns whether the given date is invalid according to the `minValue` and `maxValue` props. */
|
|
168
|
+
isInvalid(date: CalendarDate): boolean;
|
|
169
|
+
/** Returns whether the given date is currently selected. */
|
|
170
|
+
isSelected(date: CalendarDate): boolean;
|
|
171
|
+
/** Returns whether the given date is currently focused. */
|
|
172
|
+
isCellFocused(date: CalendarDate): boolean;
|
|
173
|
+
/**
|
|
174
|
+
* Returns whether the given date is disabled according to the `minValue, `maxValue`, and
|
|
175
|
+
* `isDisabled` props.
|
|
176
|
+
*/
|
|
177
|
+
isCellDisabled(date: CalendarDate): boolean;
|
|
178
|
+
/** Returns whether the given date is unavailable according to the `isDateUnavailable` prop. */
|
|
179
|
+
isCellUnavailable(date: CalendarDate): boolean;
|
|
180
|
+
/**
|
|
181
|
+
* Returns whether the previous visible date range is allowed to be selected according to the
|
|
182
|
+
* `minValue` prop.
|
|
183
|
+
*/
|
|
184
|
+
isPreviousVisibleRangeInvalid(): boolean;
|
|
185
|
+
/**
|
|
186
|
+
* Returns whether the next visible date range is allowed to be selected according to the
|
|
187
|
+
* `maxValue` prop.
|
|
188
|
+
*/
|
|
189
|
+
isNextVisibleRangeInvalid(): boolean;
|
|
190
|
+
/**
|
|
191
|
+
* Returns an array of dates in the week index counted from the provided start date, or the first
|
|
192
|
+
* visible date if not given. The returned array always has 7 elements, but may include null if
|
|
193
|
+
* the date does not exist according to the calendar system.
|
|
194
|
+
*/
|
|
195
|
+
getDatesInWeek(weekIndex: number, startDate?: CalendarDate): Array<CalendarDate | null>;
|
|
196
|
+
/** Returns the number of weeks in a month. */
|
|
197
|
+
getWeeksInMonth(startDate?: CalendarDate): number;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
export type CalendarSelectionMode = 'single' | 'multiple';
|
|
201
|
+
export type CalendarValueType<T, M extends CalendarSelectionMode> = M extends 'single'
|
|
202
|
+
? T
|
|
203
|
+
: readonly T[];
|
|
204
|
+
|
|
205
|
+
export interface CalendarState<
|
|
206
|
+
M extends CalendarSelectionMode = 'single',
|
|
207
|
+
> extends CalendarStateBase {
|
|
208
|
+
/** Whether single or multiple selection is enabled. */
|
|
209
|
+
readonly selectionMode: M;
|
|
210
|
+
/** The currently selected date. */
|
|
211
|
+
readonly value: CalendarValueType<CalendarDate | null, M>;
|
|
212
|
+
/** Sets the currently selected date. */
|
|
213
|
+
setValue(value: CalendarValueType<CalendarDate | null, M>): void;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
export interface RangeCalendarState<T extends DateValue = DateValue> extends CalendarStateBase {
|
|
217
|
+
/** The currently selected date range. */
|
|
218
|
+
readonly value: RangeValue<T> | null;
|
|
219
|
+
/** Sets the currently selected date range. */
|
|
220
|
+
setValue(value: RangeValue<T> | null): void;
|
|
221
|
+
/** Highlights the given date during selection, e.g. by hovering or dragging. */
|
|
222
|
+
highlightDate(date: CalendarDate): void;
|
|
223
|
+
/** The current anchor date that the user clicked on to begin range selection. */
|
|
224
|
+
readonly anchorDate: CalendarDate | null;
|
|
225
|
+
/** Sets the anchor date that the user clicked on to begin range selection. */
|
|
226
|
+
setAnchorDate(date: CalendarDate | null): void;
|
|
227
|
+
/** The currently highlighted date range. */
|
|
228
|
+
readonly highlightedRange: RangeValue<CalendarDate> | null;
|
|
229
|
+
/** Whether the user is currently dragging over the calendar. */
|
|
230
|
+
readonly isDragging: boolean;
|
|
231
|
+
/** Sets whether the user is dragging over the calendar. */
|
|
232
|
+
setDragging(isDragging: boolean): void;
|
|
233
|
+
/** Clears the current selection. */
|
|
234
|
+
clearSelection(): void;
|
|
235
|
+
/** Commits the current selection. */
|
|
236
|
+
commitSelection(): void;
|
|
237
|
+
/** Focuses the next available day before or after the anchor date. */
|
|
238
|
+
focusNearestAvailableDate(anchorDate: CalendarDate): void;
|
|
239
|
+
}
|