@astryxdesign/core 0.7.7 → 0.7.8-canary.0588a13
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/dist/AlertDialog/AlertDialog.d.ts +4 -1
- package/dist/AlertDialog/AlertDialog.d.ts.map +1 -1
- package/dist/AlertDialog/AlertDialog.js +46 -6
- package/dist/AppShell/AppShell.d.ts.map +1 -1
- package/dist/AppShell/AppShell.js +11 -3
- package/dist/BottomSheet/BottomSheet.d.ts.map +1 -1
- package/dist/BottomSheet/BottomSheet.js +1 -0
- package/dist/BottomSheet/BottomSheetPanel.d.ts +1 -1
- package/dist/BottomSheet/BottomSheetPanel.d.ts.map +1 -1
- package/dist/BottomSheet/BottomSheetPanel.js +55 -18
- package/dist/BottomSheet/BottomSheetSwitcher.d.ts.map +1 -1
- package/dist/BottomSheet/BottomSheetSwitcher.js +5 -0
- package/dist/BottomSheet/bottomSheetStack.js +1 -1
- package/dist/BottomSheet/useSheetGestures.d.ts +3 -1
- package/dist/BottomSheet/useSheetGestures.d.ts.map +1 -1
- package/dist/BottomSheet/useSheetGestures.js +16 -1
- package/dist/Button/Button.d.ts.map +1 -1
- package/dist/Button/Button.js +17 -1
- package/dist/Calendar/Calendar.d.ts.map +1 -1
- package/dist/Calendar/Calendar.js +18 -22
- package/dist/Calendar/getWeekdayHeaderNames.d.ts +16 -0
- package/dist/Calendar/getWeekdayHeaderNames.d.ts.map +1 -0
- package/dist/Calendar/getWeekdayHeaderNames.js +70 -0
- package/dist/Calendar/hooks/useCalendarDays.d.ts.map +1 -1
- package/dist/Calendar/hooks/useCalendarDays.js +2 -10
- package/dist/Calendar/{standaloneShortWeekdayNames.generated.d.ts → weekdayHeaderNames.generated.d.ts} +14 -14
- package/dist/Calendar/weekdayHeaderNames.generated.d.ts.map +1 -0
- package/dist/Calendar/{standaloneShortWeekdayNames.generated.js → weekdayHeaderNames.generated.js} +12 -12
- package/dist/Carousel/Carousel.d.ts.map +1 -1
- package/dist/Carousel/Carousel.js +2 -0
- package/dist/Chat/ChatComposerInput.d.ts.map +1 -1
- package/dist/Chat/ChatComposerInput.js +6 -1
- package/dist/Chat/ChatMessageList.d.ts.map +1 -1
- package/dist/Chat/ChatMessageList.js +2 -1
- package/dist/Chat/useChatDictation.d.ts.map +1 -1
- package/dist/Chat/useChatDictation.js +2 -0
- package/dist/Chat/useChatNewMessages.js +1 -1
- package/dist/Chat/useChatStreamScroll.d.ts.map +1 -1
- package/dist/Chat/useChatStreamScroll.js +2 -0
- package/dist/Chat/useSpeechRecognition.d.ts.map +1 -1
- package/dist/Chat/useSpeechRecognition.js +3 -0
- package/dist/Chat/useTriggerMenu.js +1 -1
- package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
- package/dist/CheckboxInput/CheckboxInput.js +17 -12
- package/dist/CheckboxList/CheckboxList.d.ts +20 -2
- package/dist/CheckboxList/CheckboxList.d.ts.map +1 -1
- package/dist/CheckboxList/CheckboxList.js +12 -4
- package/dist/CheckboxList/CheckboxListContext.d.ts +7 -0
- package/dist/CheckboxList/CheckboxListContext.d.ts.map +1 -1
- package/dist/CheckboxList/CheckboxListContext.js +2 -1
- package/dist/CheckboxList/CheckboxListItem.d.ts.map +1 -1
- package/dist/CheckboxList/CheckboxListItem.js +14 -2
- package/dist/CheckboxList/requiredGroup.d.ts +22 -0
- package/dist/CheckboxList/requiredGroup.d.ts.map +1 -0
- package/dist/CheckboxList/requiredGroup.js +52 -0
- package/dist/CodeBlock/CodeBlock.d.ts +10 -1
- package/dist/CodeBlock/CodeBlock.d.ts.map +1 -1
- package/dist/CodeBlock/CodeBlock.js +28 -11
- package/dist/CommandPalette/CommandPalette.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPalette.js +2 -0
- package/dist/CommandPalette/CommandPaletteItem.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPaletteItem.js +2 -0
- package/dist/ComplexSelector/ComplexSelector.d.ts +4 -1
- package/dist/ComplexSelector/ComplexSelector.d.ts.map +1 -1
- package/dist/ComplexSelector/ComplexSelector.js +14 -4
- package/dist/ContextMenu/ContextMenu.js +2 -2
- package/dist/DateInput/MonthScroller.d.ts.map +1 -1
- package/dist/DateInput/MonthScroller.js +5 -2
- package/dist/DateInput/PickerWheel.d.ts +19 -0
- package/dist/DateInput/PickerWheel.d.ts.map +1 -0
- package/dist/DateInput/PickerWheel.js +646 -0
- package/dist/DateInput/TouchDateField.d.ts.map +1 -1
- package/dist/DateInput/TouchDateField.js +9 -30
- package/dist/DateInput/Wheel.d.ts +18 -37
- package/dist/DateInput/Wheel.d.ts.map +1 -1
- package/dist/DateInput/Wheel.js +133 -120
- package/dist/DateInput/datePickerTouch.d.ts +13 -0
- package/dist/DateInput/datePickerTouch.d.ts.map +1 -0
- package/dist/DateInput/datePickerTouch.js +14 -0
- package/dist/DateInput/useOwnScrollGesture.d.ts +10 -0
- package/dist/DateInput/useOwnScrollGesture.d.ts.map +1 -1
- package/dist/DateInput/useOwnScrollGesture.js +16 -3
- package/dist/DateInput/usePointerDragScroll.d.ts.map +1 -1
- package/dist/DateInput/usePointerDragScroll.js +2 -0
- package/dist/DateInput/useScrollSettle.d.ts.map +1 -1
- package/dist/DateInput/useScrollSettle.js +3 -0
- package/dist/DateInput/useWheelListbox.d.ts +59 -0
- package/dist/DateInput/useWheelListbox.d.ts.map +1 -0
- package/dist/DateInput/useWheelListbox.js +88 -0
- package/dist/DateInput/wheelOptions.d.ts +94 -0
- package/dist/DateInput/wheelOptions.d.ts.map +1 -0
- package/dist/DateInput/wheelOptions.js +110 -0
- package/dist/DateInput/wheelPhysics.d.ts +127 -0
- package/dist/DateInput/wheelPhysics.d.ts.map +1 -0
- package/dist/DateInput/wheelPhysics.js +341 -0
- package/dist/DateInput/wheelStrip.d.ts +92 -0
- package/dist/DateInput/wheelStrip.d.ts.map +1 -0
- package/dist/DateInput/wheelStrip.js +258 -0
- package/dist/DateTimeInput/TouchDateTimeField.d.ts.map +1 -1
- package/dist/DateTimeInput/TouchDateTimeField.js +70 -127
- package/dist/Dialog/Dialog.d.ts.map +1 -1
- package/dist/Dialog/Dialog.js +9 -32
- package/dist/Drawer/useDrawerDialogPresence.d.ts.map +1 -1
- package/dist/Drawer/useDrawerDialogPresence.js +3 -0
- package/dist/DropdownMenu/useMenuOverflow.d.ts.map +1 -1
- package/dist/DropdownMenu/useMenuOverflow.js +5 -0
- package/dist/Field/Field.js +2 -2
- package/dist/FieldStatus/useFieldStatusAnnouncement.d.ts.map +1 -1
- package/dist/FieldStatus/useFieldStatusAnnouncement.js +1 -0
- package/dist/FormLayout/FormLayout.d.ts +5 -1
- package/dist/FormLayout/FormLayout.d.ts.map +1 -1
- package/dist/HoverCard/HoverCard.d.ts +6 -4
- package/dist/HoverCard/HoverCard.d.ts.map +1 -1
- package/dist/HoverCard/HoverCard.js +48 -3
- package/dist/HoverCard/useHoverCard.d.ts +5 -4
- package/dist/HoverCard/useHoverCard.d.ts.map +1 -1
- package/dist/HoverCard/useHoverCard.js +26 -34
- package/dist/Icon/Icon.d.ts +5 -1
- package/dist/Icon/Icon.d.ts.map +1 -1
- package/dist/Icon/Icon.js +20 -3
- package/dist/InfoTip/InfoTip.d.ts +5 -5
- package/dist/InfoTip/InfoTip.d.ts.map +1 -1
- package/dist/InfoTip/InfoTip.js +58 -19
- package/dist/Item/useSwipeAction.d.ts.map +1 -1
- package/dist/Item/useSwipeAction.js +3 -0
- package/dist/Layer/modalOutlet.d.ts.map +1 -1
- package/dist/Layer/modalOutlet.js +2 -0
- package/dist/Layer/outsidePress.d.ts.map +1 -1
- package/dist/Layer/outsidePress.js +1 -0
- package/dist/Layer/useLayer.d.ts.map +1 -1
- package/dist/Layer/useLayer.js +4 -1
- package/dist/Layer/useLayerDismissal.d.ts.map +1 -1
- package/dist/Layer/useLayerDismissal.js +3 -0
- package/dist/Layer/useTouchTrigger.d.ts +13 -7
- package/dist/Layer/useTouchTrigger.d.ts.map +1 -1
- package/dist/Layer/useTouchTrigger.js +20 -6
- package/dist/Layout/index.d.ts +1 -1
- package/dist/Layout/index.d.ts.map +1 -1
- package/dist/Layout/index.js +1 -1
- package/dist/Layout/layoutReset.js +1 -1
- package/dist/Layout/overlayPaddingReset.stylex.d.ts +68 -0
- package/dist/Layout/overlayPaddingReset.stylex.d.ts.map +1 -0
- package/dist/Layout/overlayPaddingReset.stylex.js +72 -0
- package/dist/Layout/padding.stylex.d.ts +5 -129
- package/dist/Layout/padding.stylex.d.ts.map +1 -1
- package/dist/Layout/padding.stylex.js +9 -143
- package/dist/Layout/paddingStyles.stylex.d.ts +83 -0
- package/dist/Layout/paddingStyles.stylex.d.ts.map +1 -0
- package/dist/Layout/paddingStyles.stylex.js +99 -0
- package/dist/Lightbox/Lightbox.d.ts.map +1 -1
- package/dist/Lightbox/Lightbox.js +20 -1
- package/dist/MobileNav/MobileNav.d.ts +3 -2
- package/dist/MobileNav/MobileNav.d.ts.map +1 -1
- package/dist/MobileNav/MobileNav.js +10 -26
- package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
- package/dist/MultiSelector/MultiSelector.js +2 -1
- package/dist/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/NumberInput/NumberInput.js +2 -1
- package/dist/Outline/useOutlineFromDOM.d.ts.map +1 -1
- package/dist/Outline/useOutlineFromDOM.js +3 -0
- package/dist/Outline/useScrollSpy.d.ts.map +1 -1
- package/dist/Outline/useScrollSpy.js +3 -0
- package/dist/OverflowList/OverflowList.d.ts.map +1 -1
- package/dist/OverflowList/OverflowList.js +3 -0
- package/dist/Overlay/Overlay.d.ts.map +1 -1
- package/dist/Overlay/Overlay.js +7 -2
- package/dist/Popover/Popover.d.ts.map +1 -1
- package/dist/Popover/Popover.js +6 -0
- package/dist/Popover/usePopover.js +2 -2
- package/dist/PowerSearch/PowerSearch.d.ts +41 -4
- package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearch.js +441 -134
- package/dist/PowerSearch/PowerSearchBottomSheet.d.ts +125 -0
- package/dist/PowerSearch/PowerSearchBottomSheet.d.ts.map +1 -0
- package/dist/PowerSearch/PowerSearchBottomSheet.js +2041 -0
- package/dist/PowerSearch/PowerSearchEditPopover.d.ts +35 -2
- package/dist/PowerSearch/PowerSearchEditPopover.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearchEditPopover.js +43 -10
- package/dist/PowerSearch/PowerSearchFilterEditor.d.ts +1 -1
- package/dist/PowerSearch/PowerSearchFilterEditor.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearchFilterEditor.js +4 -2
- package/dist/PowerSearch/PowerSearchToken.d.ts +1 -1
- package/dist/PowerSearch/PowerSearchToken.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearchToken.js +3 -2
- package/dist/PowerSearch/PowerSearchValueEditor.d.ts +38 -3
- package/dist/PowerSearch/PowerSearchValueEditor.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearchValueEditor.js +273 -86
- package/dist/PowerSearch/formatFilterValue.d.ts +14 -7
- package/dist/PowerSearch/formatFilterValue.d.ts.map +1 -1
- package/dist/PowerSearch/formatFilterValue.js +31 -23
- package/dist/PowerSearch/formatTokenValue.d.ts +28 -0
- package/dist/PowerSearch/formatTokenValue.d.ts.map +1 -0
- package/dist/PowerSearch/formatTokenValue.js +161 -0
- package/dist/PowerSearch/index.d.ts +1 -1
- package/dist/PowerSearch/index.d.ts.map +1 -1
- package/dist/PowerSearch/powerSearchDateZone.d.ts +25 -0
- package/dist/PowerSearch/powerSearchDateZone.d.ts.map +1 -0
- package/dist/PowerSearch/powerSearchDateZone.js +57 -0
- package/dist/PowerSearch/powerSearchSheetUtils.d.ts +65 -0
- package/dist/PowerSearch/powerSearchSheetUtils.d.ts.map +1 -0
- package/dist/PowerSearch/powerSearchSheetUtils.js +168 -0
- package/dist/PowerSearch/types.d.ts +8 -1
- package/dist/PowerSearch/types.d.ts.map +1 -1
- package/dist/ProgressBar/ProgressBarTouch.d.ts.map +1 -1
- package/dist/ProgressBar/ProgressBarTouch.js +2 -0
- package/dist/RadioList/RadioList.d.ts.map +1 -1
- package/dist/RadioList/RadioList.js +3 -2
- package/dist/RadioList/RadioListItem.d.ts +1 -1
- package/dist/RadioList/RadioListItem.d.ts.map +1 -1
- package/dist/RadioList/RadioListItem.js +5 -3
- package/dist/Resizable/ResizeHandle.d.ts +2 -1
- package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
- package/dist/Resizable/ResizeHandle.js +116 -92
- package/dist/Resizable/createResizable.d.ts +199 -0
- package/dist/Resizable/createResizable.d.ts.map +1 -0
- package/dist/Resizable/createResizable.js +733 -0
- package/dist/Resizable/separatorAttributes.d.ts +45 -0
- package/dist/Resizable/separatorAttributes.d.ts.map +1 -0
- package/dist/Resizable/separatorAttributes.js +35 -0
- package/dist/Resizable/useResizable.d.ts +3 -3
- package/dist/Resizable/useResizable.d.ts.map +1 -1
- package/dist/Resizable/useResizable.js +252 -459
- package/dist/SegmentedControl/useSegmentedSelectionMotion.d.ts.map +1 -1
- package/dist/SegmentedControl/useSegmentedSelectionMotion.js +3 -3
- package/dist/SelectableCard/SelectableCard.d.ts +2 -0
- package/dist/SelectableCard/SelectableCard.d.ts.map +1 -1
- package/dist/SelectableCard/SelectableCard.js +36 -11
- package/dist/SelectableCard/selectableCardInput.d.ts +12 -0
- package/dist/SelectableCard/selectableCardInput.d.ts.map +1 -0
- package/dist/SelectableCard/selectableCardInput.js +20 -0
- package/dist/Selector/Selector.d.ts.map +1 -1
- package/dist/Selector/Selector.js +7 -9
- package/dist/SideNav/SideNav.d.ts.map +1 -1
- package/dist/SideNav/SideNav.js +36 -5
- package/dist/Slider/Slider.d.ts.map +1 -1
- package/dist/Slider/Slider.js +16 -11
- package/dist/Slider/sliderTouchController.js +2 -2
- package/dist/Spinner/Spinner.d.ts +1 -1
- package/dist/Spinner/Spinner.d.ts.map +1 -1
- package/dist/Spinner/Spinner.js +60 -58
- package/dist/Stepper/Stepper.d.ts.map +1 -1
- package/dist/Stepper/Stepper.js +10 -15
- package/dist/Switch/Switch.d.ts.map +1 -1
- package/dist/Switch/Switch.js +4 -10
- package/dist/Switch/useSwitchTouch.js +4 -4
- package/dist/Table/BaseTable.d.ts.map +1 -1
- package/dist/Table/BaseTable.js +29 -8
- package/dist/Table/plugins/columnResize/useTableColumnResize.d.ts.map +1 -1
- package/dist/Table/plugins/columnResize/useTableColumnResize.js +3 -1
- package/dist/Table/plugins/filtering/useTableFiltering.d.ts.map +1 -1
- package/dist/Table/plugins/filtering/useTableFiltering.js +2 -1
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts +12 -0
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -1
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +17 -3
- package/dist/Table/plugins/stickyColumns/useTableStickyColumns.d.ts.map +1 -1
- package/dist/Table/plugins/stickyColumns/useTableStickyColumns.js +2 -0
- package/dist/Table/plugins/tree/useTableTreeData.d.ts +11 -0
- package/dist/Table/plugins/tree/useTableTreeData.d.ts.map +1 -1
- package/dist/Table/plugins/tree/useTableTreeData.js +27 -14
- package/dist/TextArea/TextArea.d.ts.map +1 -1
- package/dist/TextArea/TextArea.js +2 -1
- package/dist/TextInput/TextInput.d.ts +2 -2
- package/dist/TextInput/TextInput.d.ts.map +1 -1
- package/dist/TextInput/TextInput.js +12 -8
- package/dist/TimeInput/TimeInput.d.ts.map +1 -1
- package/dist/TimeInput/TimeInput.js +2 -0
- package/dist/TimeInput/TimeWheels.d.ts +32 -0
- package/dist/TimeInput/TimeWheels.d.ts.map +1 -0
- package/dist/TimeInput/TimeWheels.js +144 -0
- package/dist/TimeInput/TouchTimeField.d.ts.map +1 -1
- package/dist/TimeInput/TouchTimeField.js +63 -116
- package/dist/TimeInput/timeWheelRules.d.ts +124 -0
- package/dist/TimeInput/timeWheelRules.d.ts.map +1 -0
- package/dist/TimeInput/timeWheelRules.js +277 -0
- package/dist/Timer/Timer.d.ts.map +1 -1
- package/dist/Timer/Timer.js +2 -0
- package/dist/Timestamp/Timestamp.js +1 -1
- package/dist/Timestamp/formatInstant.d.ts.map +1 -1
- package/dist/Timestamp/formatInstant.js +1 -23
- package/dist/Toast/Toast.d.ts +11 -1
- package/dist/Toast/Toast.d.ts.map +1 -1
- package/dist/Toast/Toast.js +25 -15
- package/dist/Toast/ToastViewport.d.ts.map +1 -1
- package/dist/Toast/ToastViewport.js +97 -34
- package/dist/Toast/types.d.ts +9 -3
- package/dist/Toast/types.d.ts.map +1 -1
- package/dist/Toast/useToast.d.ts.map +1 -1
- package/dist/Toast/useToast.js +1 -0
- package/dist/Tokenizer/Tokenizer.d.ts +44 -46
- package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
- package/dist/Tokenizer/Tokenizer.js +20 -21
- package/dist/Tokenizer/TokenizerBottomSheet.d.ts +1 -1
- package/dist/Tokenizer/TokenizerBottomSheet.js +12 -18
- package/dist/Tokenizer/index.d.ts +1 -1
- package/dist/Tokenizer/index.d.ts.map +1 -1
- package/dist/Tooltip/Tooltip.d.ts +2 -23
- package/dist/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/Tooltip/Tooltip.js +5 -29
- package/dist/Tooltip/useTooltip.d.ts +23 -30
- package/dist/Tooltip/useTooltip.d.ts.map +1 -1
- package/dist/Tooltip/useTooltip.js +200 -108
- package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
- package/dist/Typeahead/BaseTypeahead.js +27 -18
- package/dist/Typeahead/TypeaheadItem.d.ts +2 -1
- package/dist/Typeahead/TypeaheadItem.d.ts.map +1 -1
- package/dist/animator/createAnimator.d.ts +98 -0
- package/dist/animator/createAnimator.d.ts.map +1 -0
- package/dist/animator/createAnimator.js +259 -0
- package/dist/astryx.css +53 -8
- package/dist/gestures/GestureHost.d.ts +16 -1
- package/dist/gestures/GestureHost.d.ts.map +1 -1
- package/dist/gestures/GestureHost.js +4 -1
- package/dist/gestures/PressTracker.d.ts.map +1 -1
- package/dist/gestures/PressTracker.js +4 -3
- package/dist/hooks/ModalAnnounceProvider.d.ts.map +1 -1
- package/dist/hooks/ModalAnnounceProvider.js +1 -0
- package/dist/hooks/actionGroupTracker.d.ts +4 -1
- package/dist/hooks/actionGroupTracker.d.ts.map +1 -1
- package/dist/hooks/actionGroupTracker.js +18 -7
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/longPressDetector.d.ts +66 -0
- package/dist/hooks/longPressDetector.d.ts.map +1 -0
- package/dist/hooks/longPressDetector.js +200 -0
- package/dist/hooks/pressGroupContext.d.ts +6 -0
- package/dist/hooks/pressGroupContext.d.ts.map +1 -0
- package/dist/hooks/pressGroupContext.js +20 -0
- package/dist/hooks/rootScrollStyles.d.ts +48 -0
- package/dist/hooks/rootScrollStyles.d.ts.map +1 -0
- package/dist/hooks/rootScrollStyles.js +207 -0
- package/dist/hooks/scrollLockTouchGuard.d.ts +13 -0
- package/dist/hooks/scrollLockTouchGuard.d.ts.map +1 -0
- package/dist/hooks/scrollLockTouchGuard.js +117 -0
- package/dist/hooks/scrollbarGutter.d.ts +4 -4
- package/dist/hooks/scrollbarGutter.d.ts.map +1 -1
- package/dist/hooks/scrollbarGutter.js +36 -23
- package/dist/hooks/useActionGroupTracking.d.ts +53 -0
- package/dist/hooks/useActionGroupTracking.d.ts.map +1 -0
- package/dist/hooks/useActionGroupTracking.js +174 -0
- package/dist/hooks/useAnimator.d.ts +41 -0
- package/dist/hooks/useAnimator.d.ts.map +1 -0
- package/dist/hooks/useAnimator.js +70 -0
- package/dist/hooks/useAnnounceRenderedText.d.ts.map +1 -1
- package/dist/hooks/useAnnounceRenderedText.js +1 -0
- package/dist/hooks/useAttachment.d.ts +1 -1
- package/dist/hooks/useAttachment.js +1 -1
- package/dist/hooks/useAutoMediaMode.d.ts.map +1 -1
- package/dist/hooks/useAutoMediaMode.js +1 -0
- package/dist/hooks/useBusyAnnouncement.d.ts.map +1 -1
- package/dist/hooks/useBusyAnnouncement.js +2 -0
- package/dist/hooks/useDevWarning.d.ts.map +1 -1
- package/dist/hooks/useDevWarning.js +2 -0
- package/dist/hooks/useFocusTrap.d.ts.map +1 -1
- package/dist/hooks/useFocusTrap.js +2 -0
- package/dist/hooks/useGridFocus.d.ts +8 -5
- package/dist/hooks/useGridFocus.d.ts.map +1 -1
- package/dist/hooks/useGridFocus.js +4 -3
- package/dist/hooks/useHotkeys.d.ts.map +1 -1
- package/dist/hooks/useHotkeys.js +3 -0
- package/dist/hooks/useImageMode.d.ts.map +1 -1
- package/dist/hooks/useImageMode.js +3 -0
- package/dist/hooks/useInputStatusIcon.d.ts +1 -1
- package/dist/hooks/useInputStatusIcon.d.ts.map +1 -1
- package/dist/hooks/useInputStatusIcon.js +2 -2
- package/dist/hooks/useIsomorphicLayoutEffect.d.ts +2 -2
- package/dist/hooks/useIsomorphicLayoutEffect.d.ts.map +1 -1
- package/dist/hooks/useKeyboardHint.js +1 -1
- package/dist/hooks/useLongPress.d.ts +8 -9
- package/dist/hooks/useLongPress.d.ts.map +1 -1
- package/dist/hooks/useLongPress.js +23 -106
- package/dist/hooks/useMenuHover.d.ts.map +1 -1
- package/dist/hooks/useMenuHover.js +2 -0
- package/dist/hooks/useMenuPress.d.ts.map +1 -1
- package/dist/hooks/useMenuPress.js +3 -0
- package/dist/hooks/useOverflow.d.ts.map +1 -1
- package/dist/hooks/useOverflow.js +2 -1
- package/dist/hooks/usePressFeedback.d.ts.map +1 -1
- package/dist/hooks/usePressFeedback.js +1 -0
- package/dist/hooks/useResolvedRequired.d.ts +3 -0
- package/dist/hooks/useResolvedRequired.d.ts.map +1 -1
- package/dist/hooks/useResolvedRequired.js +3 -0
- package/dist/hooks/useScrollLock.d.ts +8 -9
- package/dist/hooks/useScrollLock.d.ts.map +1 -1
- package/dist/hooks/useScrollLock.js +50 -48
- package/dist/hooks/useScrollableArea.d.ts.map +1 -1
- package/dist/hooks/useScrollableArea.js +5 -0
- package/dist/hooks/useStreamingText.d.ts.map +1 -1
- package/dist/hooks/useStreamingText.js +3 -0
- package/dist/i18n/generated-english/PowerSearch/PowerSearchBottomSheet.generated.d.ts +8 -0
- package/dist/i18n/generated-english/PowerSearch/PowerSearchBottomSheet.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/PowerSearch/PowerSearchBottomSheet.generated.js +45 -0
- package/dist/i18n/generated-english/PowerSearch/PowerSearchValueEditor.generated.d.ts.map +1 -1
- package/dist/i18n/generated-english/PowerSearch/PowerSearchValueEditor.generated.js +6 -0
- package/dist/i18n/generated-english/PowerSearch/formatTokenValue.generated.d.ts +8 -0
- package/dist/i18n/generated-english/PowerSearch/formatTokenValue.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/PowerSearch/formatTokenValue.generated.js +14 -0
- package/dist/i18n/generated-english/Resizable/createResizable.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Resizable/createResizable.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Resizable/createResizable.generated.js +13 -0
- package/dist/i18n/generated-english/Table/plugins/rowExpansion/useTableRowExpansion.generated.d.ts.map +1 -1
- package/dist/i18n/generated-english/Table/plugins/rowExpansion/useTableRowExpansion.generated.js +3 -1
- package/dist/i18n/generated-english/Table/plugins/tree/useTableTreeData.generated.d.ts.map +1 -1
- package/dist/i18n/generated-english/Table/plugins/tree/useTableTreeData.generated.js +3 -1
- package/dist/i18n/generated-english/TimeInput/TimeWheels.generated.d.ts +8 -0
- package/dist/i18n/generated-english/TimeInput/TimeWheels.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/TimeInput/TimeWheels.generated.js +17 -0
- package/dist/i18n/generated-locales/en.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/en.generated.js +37 -0
- package/dist/i18n/generated-locales/pseudo.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/pseudo.generated.js +37 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/internal/indicatorPress.stylex.d.ts +20 -0
- package/dist/internal/indicatorPress.stylex.d.ts.map +1 -0
- package/dist/internal/indicatorPress.stylex.js +26 -0
- package/dist/internal/selectable-card.d.ts +21 -0
- package/dist/internal/selectable-card.d.ts.map +1 -0
- package/dist/internal/selectable-card.js +20 -0
- package/dist/internal/sheetDraft.d.ts +2 -2
- package/dist/internal/sheetDraft.js +2 -2
- package/dist/keyboard/index.d.ts +17 -0
- package/dist/keyboard/index.d.ts.map +1 -0
- package/dist/keyboard/index.js +19 -0
- package/dist/keyboard/keyboardHeight.d.ts +149 -0
- package/dist/keyboard/keyboardHeight.d.ts.map +1 -0
- package/dist/keyboard/keyboardHeight.js +432 -0
- package/dist/keyboard/keyboardLayoutGuide.d.ts +59 -0
- package/dist/keyboard/keyboardLayoutGuide.d.ts.map +1 -0
- package/dist/keyboard/keyboardLayoutGuide.js +207 -0
- package/dist/keyboard/keyboardModel.d.ts +93 -0
- package/dist/keyboard/keyboardModel.d.ts.map +1 -0
- package/dist/keyboard/keyboardModel.js +220 -0
- package/dist/keyboard/rideKeyboard.d.ts +42 -0
- package/dist/keyboard/rideKeyboard.d.ts.map +1 -0
- package/dist/keyboard/rideKeyboard.js +77 -0
- package/dist/keyboard/useMobileKeyboard.d.ts +61 -0
- package/dist/keyboard/useMobileKeyboard.d.ts.map +1 -0
- package/dist/keyboard/useMobileKeyboard.js +699 -0
- package/dist/motion/android/index.d.ts +16 -0
- package/dist/motion/android/index.d.ts.map +1 -0
- package/dist/motion/android/index.js +18 -0
- package/dist/motion/android/keyboard.d.ts +83 -0
- package/dist/motion/android/keyboard.d.ts.map +1 -0
- package/dist/motion/android/keyboard.js +96 -0
- package/dist/motion/animatedLayout.d.ts +8 -0
- package/dist/motion/animatedLayout.d.ts.map +1 -1
- package/dist/motion/animatedLayout.js +246 -53
- package/dist/motion/animator.d.ts +14 -14
- package/dist/motion/animator.d.ts.map +1 -1
- package/dist/motion/animator.js +45 -26
- package/dist/motion/frameBlock.d.ts +14 -0
- package/dist/motion/frameBlock.d.ts.map +1 -0
- package/dist/motion/frameBlock.js +16 -0
- package/dist/motion/progress.d.ts +88 -0
- package/dist/motion/progress.d.ts.map +1 -0
- package/dist/motion/progress.js +128 -0
- package/dist/motion/reducedMotion.d.ts.map +1 -1
- package/dist/motion/reducedMotion.js +3 -1
- package/dist/motion/uikit/alert.d.ts +41 -0
- package/dist/motion/uikit/alert.d.ts.map +1 -0
- package/dist/motion/uikit/alert.js +43 -0
- package/dist/motion/uikit/datePicker.d.ts +58 -0
- package/dist/motion/uikit/datePicker.d.ts.map +1 -0
- package/dist/motion/uikit/datePicker.js +60 -0
- package/dist/motion/uikit/index.d.ts +6 -4
- package/dist/motion/uikit/index.d.ts.map +1 -1
- package/dist/motion/uikit/index.js +6 -4
- package/dist/motion/uikit/picker.d.ts +96 -0
- package/dist/motion/uikit/picker.d.ts.map +1 -0
- package/dist/motion/uikit/picker.js +117 -0
- package/dist/privateAttributes/pressGroupItem.stylex.d.ts +22 -0
- package/dist/privateAttributes/pressGroupItem.stylex.d.ts.map +1 -0
- package/dist/privateAttributes/pressGroupItem.stylex.js +36 -0
- package/dist/privateAttributes/reducedMotion.stylex.d.ts +23 -0
- package/dist/privateAttributes/reducedMotion.stylex.d.ts.map +1 -0
- package/dist/privateAttributes/reducedMotion.stylex.js +40 -0
- package/dist/theme/Theme.d.ts.map +1 -1
- package/dist/theme/Theme.js +29 -4
- package/dist/theme/generateThemeRules.d.ts.map +1 -1
- package/dist/theme/generateThemeRules.js +14 -13
- package/dist/theme/motionKnobs.d.ts +4 -3
- package/dist/theme/motionKnobs.d.ts.map +1 -1
- package/dist/theme/motionKnobs.js +3 -2
- package/dist/theme/themeMotion.d.ts +6 -0
- package/dist/theme/themeMotion.d.ts.map +1 -1
- package/dist/theme/themeMotion.js +15 -2
- package/dist/theme/tokens.stylex.d.ts +3 -0
- package/dist/theme/tokens.stylex.d.ts.map +1 -1
- package/dist/theme/tokens.stylex.js +4 -1
- package/dist/utils/dateParser.d.ts.map +1 -1
- package/dist/utils/dateParser.js +12 -0
- package/dist/utils/disabledInteraction.d.ts +10 -2
- package/dist/utils/disabledInteraction.d.ts.map +1 -1
- package/dist/utils/disabledInteraction.js +16 -2
- package/dist/utils/focusReturn.d.ts +22 -25
- package/dist/utils/focusReturn.d.ts.map +1 -1
- package/dist/utils/focusReturn.js +36 -29
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/interactionModality.d.ts.map +1 -1
- package/dist/utils/interactionModality.js +4 -0
- package/dist/utils/interactionOverlay.stylex.d.ts +6 -4
- package/dist/utils/interactionOverlay.stylex.d.ts.map +1 -1
- package/dist/utils/interactionOverlay.stylex.js +6 -4
- package/dist/utils/isFocusDetached.d.ts +27 -0
- package/dist/utils/isFocusDetached.d.ts.map +1 -0
- package/dist/utils/isFocusDetached.js +32 -0
- package/dist/utils/layoutViewport.d.ts +25 -0
- package/dist/utils/layoutViewport.d.ts.map +1 -0
- package/dist/utils/layoutViewport.js +102 -0
- package/dist/utils/plainDate.d.ts +31 -0
- package/dist/utils/plainDate.d.ts.map +1 -1
- package/dist/utils/plainDate.js +68 -4
- package/dist/utils/pressFeedback.d.ts +6 -0
- package/dist/utils/pressFeedback.d.ts.map +1 -1
- package/dist/utils/pressFeedback.js +97 -18
- package/dist/utils/pressGesture.d.ts +4 -2
- package/dist/utils/pressGesture.d.ts.map +1 -1
- package/dist/utils/pressGesture.js +3 -1
- package/dist/utils/selectionLock.d.ts +10 -1
- package/dist/utils/selectionLock.d.ts.map +1 -1
- package/dist/utils/selectionLock.js +31 -5
- package/dist/utils/sharedMutationObserver.d.ts +2 -1
- package/dist/utils/sharedMutationObserver.d.ts.map +1 -1
- package/dist/utils/sharedMutationObserver.js +2 -1
- package/dist/utils/timeParser.d.ts +2 -1
- package/dist/utils/timeParser.d.ts.map +1 -1
- package/dist/utils/timeParser.js +29 -3
- package/dist/utils/triggerFocus.d.ts +36 -0
- package/dist/utils/triggerFocus.d.ts.map +1 -0
- package/dist/utils/triggerFocus.js +65 -0
- package/locales/en.json +148 -0
- package/locales/pseudo.json +111 -0
- package/package.json +14 -9
- package/src/AlertDialog/AlertDialog.doc.mjs +2 -2
- package/src/AlertDialog/AlertDialog.tsx +46 -5
- package/src/AppShell/AppShell.tsx +13 -4
- package/src/BottomSheet/BottomSheet.doc.mjs +1 -1
- package/src/BottomSheet/BottomSheet.tsx +1 -0
- package/src/BottomSheet/BottomSheetPanel.tsx +80 -16
- package/src/BottomSheet/BottomSheetSwitcher.doc.mjs +5 -0
- package/src/BottomSheet/BottomSheetSwitcher.tsx +5 -0
- package/src/BottomSheet/bottomSheetStack.ts +1 -1
- package/src/BottomSheet/useSheetGestures.ts +16 -1
- package/src/Button/Button.tsx +26 -4
- package/src/Calendar/Calendar.tsx +40 -32
- package/src/Calendar/getWeekdayHeaderNames.ts +88 -0
- package/src/Calendar/hooks/useCalendarDays.ts +5 -10
- package/src/Calendar/{standaloneShortWeekdayNames.generated.ts → weekdayHeaderNames.generated.ts} +14 -14
- package/src/Carousel/Carousel.tsx +1 -0
- package/src/Chat/ChatComposerInput.tsx +4 -7
- package/src/Chat/ChatMessageList.tsx +2 -1
- package/src/Chat/useChatDictation.ts +1 -0
- package/src/Chat/useChatNewMessages.ts +1 -1
- package/src/Chat/useChatStreamScroll.ts +2 -0
- package/src/Chat/useSpeechRecognition.ts +2 -0
- package/src/Chat/useTriggerMenu.tsx +1 -1
- package/src/CheckboxInput/CheckboxInput.doc.mjs +18 -0
- package/src/CheckboxInput/CheckboxInput.tsx +38 -15
- package/src/CheckboxList/CheckboxList.doc.mjs +14 -0
- package/src/CheckboxList/CheckboxList.tsx +43 -2
- package/src/CheckboxList/CheckboxListContext.tsx +9 -1
- package/src/CheckboxList/CheckboxListItem.tsx +23 -2
- package/src/CheckboxList/requiredGroup.ts +77 -0
- package/src/CodeBlock/CodeBlock.doc.mjs +9 -1
- package/src/CodeBlock/CodeBlock.tsx +41 -4
- package/src/CommandPalette/CommandPalette.tsx +1 -0
- package/src/CommandPalette/CommandPaletteItem.tsx +1 -0
- package/src/ComplexSelector/ComplexSelector.tsx +20 -5
- package/src/ContextMenu/ContextMenu.tsx +2 -2
- package/src/DateInput/MonthScroller.tsx +8 -2
- package/src/DateInput/PickerWheel.tsx +796 -0
- package/src/DateInput/TouchDateField.tsx +6 -32
- package/src/DateInput/Wheel.tsx +188 -171
- package/src/DateInput/datePickerTouch.ts +15 -0
- package/src/DateInput/useOwnScrollGesture.ts +25 -3
- package/src/DateInput/usePointerDragScroll.ts +1 -0
- package/src/DateInput/useScrollSettle.ts +2 -0
- package/src/DateInput/useWheelListbox.ts +112 -0
- package/src/DateInput/wheelOptions.ts +184 -0
- package/src/DateInput/wheelPhysics.ts +406 -0
- package/src/DateInput/wheelStrip.ts +341 -0
- package/src/DateTimeInput/TouchDateTimeField.tsx +100 -189
- package/src/Dialog/Dialog.tsx +12 -32
- package/src/Drawer/useDrawerDialogPresence.ts +2 -0
- package/src/DropdownMenu/useMenuOverflow.ts +3 -0
- package/src/Field/Field.tsx +2 -2
- package/src/FieldStatus/useFieldStatusAnnouncement.ts +1 -0
- package/src/FormLayout/FormLayout.doc.mjs +181 -46
- package/src/FormLayout/FormLayout.tsx +5 -1
- package/src/HoverCard/HoverCard.doc.mjs +10 -8
- package/src/HoverCard/HoverCard.tsx +58 -6
- package/src/HoverCard/useHoverCard.doc.mjs +178 -36
- package/src/HoverCard/useHoverCard.tsx +55 -55
- package/src/Icon/Icon.doc.mjs +51 -10
- package/src/Icon/Icon.tsx +31 -8
- package/src/IconButton/IconButton.doc.mjs +141 -21
- package/src/InfoTip/InfoTip.tsx +72 -16
- package/src/Item/useSwipeAction.ts +2 -0
- package/src/Layer/modalOutlet.ts +2 -0
- package/src/Layer/outsidePress.ts +1 -0
- package/src/Layer/useLayer.tsx +3 -1
- package/src/Layer/useLayerDismissal.ts +2 -0
- package/src/Layer/useTouchTrigger.ts +19 -6
- package/src/Layout/index.ts +1 -1
- package/src/Layout/layoutReset.ts +1 -1
- package/src/Layout/overlayPaddingReset.stylex.ts +73 -0
- package/src/Layout/padding.stylex.ts +9 -133
- package/src/Layout/paddingStyles.stylex.ts +87 -0
- package/src/Lightbox/Lightbox.tsx +20 -1
- package/src/Lightbox/useLightbox.doc.mjs +167 -0
- package/src/MobileNav/MobileNav.tsx +10 -31
- package/src/MultiSelector/MultiSelector.tsx +2 -7
- package/src/NumberInput/NumberInput.tsx +2 -7
- package/src/Outline/useOutlineFromDOM.ts +2 -0
- package/src/Outline/useScrollSpy.ts +2 -0
- package/src/OverflowList/OverflowList.tsx +2 -0
- package/src/Overlay/Overlay.tsx +7 -2
- package/src/Popover/Popover.tsx +4 -0
- package/src/Popover/usePopover.tsx +2 -2
- package/src/PowerSearch/PowerSearch.doc.mjs +60 -8
- package/src/PowerSearch/PowerSearch.tsx +622 -157
- package/src/PowerSearch/PowerSearchBottomSheet.tsx +2700 -0
- package/src/PowerSearch/PowerSearchEditPopover.tsx +65 -9
- package/src/PowerSearch/PowerSearchFilterEditor.tsx +2 -0
- package/src/PowerSearch/PowerSearchToken.tsx +2 -0
- package/src/PowerSearch/PowerSearchValueEditor.tsx +340 -59
- package/src/PowerSearch/formatFilterValue.ts +49 -27
- package/src/PowerSearch/formatTokenValue.ts +220 -0
- package/src/PowerSearch/index.ts +5 -1
- package/src/PowerSearch/powerSearchDateZone.ts +95 -0
- package/src/PowerSearch/powerSearchSheetUtils.ts +224 -0
- package/src/PowerSearch/types.ts +8 -1
- package/src/ProgressBar/ProgressBarTouch.ts +2 -0
- package/src/RadioList/RadioList.tsx +3 -2
- package/src/RadioList/RadioListItem.tsx +5 -3
- package/src/Resizable/Resizable.doc.mjs +5 -4
- package/src/Resizable/ResizeHandle.tsx +187 -135
- package/src/Resizable/createResizable.ts +1046 -0
- package/src/Resizable/separatorAttributes.ts +73 -0
- package/src/Resizable/useResizable.ts +292 -623
- package/src/SegmentedControl/useSegmentedSelectionMotion.ts +6 -3
- package/src/SelectableCard/SelectableCard.tsx +39 -10
- package/src/SelectableCard/selectableCardInput.ts +30 -0
- package/src/Selector/Selector.tsx +7 -19
- package/src/SideNav/SideNav.tsx +41 -5
- package/src/Slider/Slider.tsx +20 -11
- package/src/Slider/sliderTouchController.ts +2 -2
- package/src/Spinner/Spinner.tsx +77 -63
- package/src/Stepper/Stepper.tsx +10 -27
- package/src/Switch/Switch.tsx +2 -6
- package/src/Switch/useSwitchTouch.ts +4 -4
- package/src/Table/BaseTable.tsx +46 -12
- package/src/Table/plugins/columnResize/useTableColumnResize.tsx +2 -1
- package/src/Table/plugins/filtering/useTableFiltering.tsx +1 -0
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +31 -7
- package/src/Table/plugins/stickyColumns/useTableStickyColumns.tsx +2 -0
- package/src/Table/plugins/tree/useTableTreeData.tsx +43 -20
- package/src/Table/useTableRowExpansion.doc.mjs +9 -0
- package/src/Table/useTableTreeData.doc.mjs +15 -3
- package/src/TextArea/TextArea.tsx +2 -7
- package/src/TextInput/TextInput.tsx +13 -17
- package/src/TimeInput/TimeInput.tsx +2 -0
- package/src/TimeInput/TimeWheels.tsx +218 -0
- package/src/TimeInput/TouchTimeField.tsx +93 -155
- package/src/TimeInput/timeWheelRules.ts +352 -0
- package/src/Timer/Timer.tsx +1 -0
- package/src/Timestamp/Timestamp.tsx +1 -1
- package/src/Timestamp/formatInstant.ts +1 -33
- package/src/Toast/Toast.doc.mjs +4 -3
- package/src/Toast/Toast.tsx +52 -32
- package/src/Toast/ToastViewport.tsx +123 -35
- package/src/Toast/types.ts +9 -3
- package/src/Toast/useToast.tsx +1 -0
- package/src/Tokenizer/Tokenizer.doc.mjs +10 -10
- package/src/Tokenizer/Tokenizer.tsx +61 -62
- package/src/Tokenizer/TokenizerBottomSheet.tsx +17 -23
- package/src/Tokenizer/index.ts +1 -0
- package/src/Tooltip/Tooltip.tsx +6 -42
- package/src/Tooltip/useTooltip.doc.mjs +24 -0
- package/src/Tooltip/useTooltip.tsx +243 -134
- package/src/Typeahead/BaseTypeahead.tsx +27 -17
- package/src/Typeahead/TypeaheadItem.doc.mjs +6 -3
- package/src/Typeahead/TypeaheadItem.tsx +2 -1
- package/src/animator/createAnimator.doc.mjs +153 -0
- package/src/animator/createAnimator.ts +324 -0
- package/src/gestures/GestureHost.ts +6 -5
- package/src/gestures/PressTracker.ts +4 -3
- package/src/gestures/README.md +10 -4
- package/src/hooks/ModalAnnounceProvider.tsx +1 -0
- package/src/hooks/actionGroupTracker.ts +25 -9
- package/src/hooks/index.ts +2 -0
- package/src/hooks/longPressDetector.ts +273 -0
- package/src/hooks/pressGroupContext.ts +21 -0
- package/src/hooks/rootScrollStyles.ts +247 -0
- package/src/hooks/scrollLockTouchGuard.ts +149 -0
- package/src/hooks/scrollbarGutter.ts +41 -26
- package/src/hooks/useActionGroupTracking.ts +224 -0
- package/src/hooks/useAnimator.doc.mjs +109 -0
- package/src/hooks/useAnimator.ts +67 -0
- package/src/hooks/useAnnounceRenderedText.ts +1 -0
- package/src/hooks/useAttachment.ts +1 -1
- package/src/hooks/useAutoMediaMode.ts +1 -0
- package/src/hooks/useBusyAnnouncement.ts +2 -0
- package/src/hooks/useDevWarning.ts +2 -0
- package/src/hooks/useFocusTrap.ts +2 -0
- package/src/hooks/useGridFocus.doc.mjs +6 -6
- package/src/hooks/useGridFocus.ts +10 -7
- package/src/hooks/useHotkeys.ts +2 -0
- package/src/hooks/useImageMode.ts +2 -0
- package/src/hooks/useInputStatusIcon.tsx +3 -2
- package/src/hooks/useKeyboardHint.tsx +1 -1
- package/src/hooks/useLongPress.doc.mjs +2 -2
- package/src/hooks/useLongPress.ts +32 -122
- package/src/hooks/useMenuHover.ts +1 -0
- package/src/hooks/useMenuPress.ts +2 -0
- package/src/hooks/useOverflow.ts +2 -1
- package/src/hooks/usePressFeedback.ts +1 -0
- package/src/hooks/useResolvedRequired.ts +3 -0
- package/src/hooks/useScrollLock.doc.mjs +51 -12
- package/src/hooks/useScrollLock.ts +53 -60
- package/src/hooks/useScrollableArea.ts +4 -0
- package/src/hooks/useStreamingText.ts +2 -0
- package/src/i18n/generated-english/PowerSearch/PowerSearchBottomSheet.generated.ts +46 -0
- package/src/i18n/generated-english/PowerSearch/PowerSearchValueEditor.generated.ts +6 -0
- package/src/i18n/generated-english/PowerSearch/formatTokenValue.generated.ts +15 -0
- package/src/i18n/generated-english/Resizable/createResizable.generated.ts +14 -0
- package/src/i18n/generated-english/Table/plugins/rowExpansion/useTableRowExpansion.generated.ts +3 -1
- package/src/i18n/generated-english/Table/plugins/tree/useTableTreeData.generated.ts +3 -1
- package/src/i18n/generated-english/TimeInput/TimeWheels.generated.ts +18 -0
- package/src/i18n/generated-locales/en.generated.ts +47 -0
- package/src/i18n/generated-locales/pseudo.generated.ts +48 -0
- package/src/index.ts +13 -0
- package/src/internal/indicatorPress.stylex.ts +24 -0
- package/src/internal/selectable-card.ts +21 -0
- package/src/internal/sheetDraft.ts +2 -2
- package/src/keyboard/README.md +197 -0
- package/src/keyboard/index.ts +48 -0
- package/src/keyboard/keyboardHeight.ts +543 -0
- package/src/keyboard/keyboardLayoutGuide.ts +266 -0
- package/src/keyboard/keyboardModel.ts +301 -0
- package/src/keyboard/rideKeyboard.ts +100 -0
- package/src/keyboard/useMobileKeyboard.ts +866 -0
- package/src/motion/MEASUREMENTS.md +28 -0
- package/src/motion/README.md +12 -5
- package/src/motion/android/index.ts +18 -0
- package/src/motion/android/keyboard.ts +96 -0
- package/src/motion/animatedLayout.ts +323 -60
- package/src/motion/animator.ts +66 -37
- package/src/motion/frameBlock.ts +16 -0
- package/src/motion/progress.ts +155 -0
- package/src/motion/reducedMotion.ts +3 -1
- package/src/motion/uikit/alert.ts +43 -0
- package/src/motion/uikit/datePicker.ts +60 -0
- package/src/motion/uikit/index.ts +6 -4
- package/src/motion/uikit/picker.ts +116 -0
- package/src/privateAttributes/pressGroupItem.stylex.ts +44 -0
- package/src/privateAttributes/reducedMotion.stylex.ts +45 -0
- package/src/theme/Theme.tsx +37 -3
- package/src/theme/generateThemeRules.ts +14 -12
- package/src/theme/motionKnobs.ts +4 -3
- package/src/theme/themeMotion.ts +17 -2
- package/src/theme/tokens.stylex.ts +2 -0
- package/src/utils/dateParser.ts +16 -0
- package/src/utils/disabledInteraction.ts +23 -2
- package/src/utils/focusReturn.ts +38 -31
- package/src/utils/index.ts +1 -1
- package/src/utils/interactionModality.ts +4 -0
- package/src/utils/interactionOverlay.stylex.ts +6 -4
- package/src/utils/isFocusDetached.ts +34 -0
- package/src/utils/layoutViewport.ts +104 -0
- package/src/utils/plainDate.ts +80 -4
- package/src/utils/pressFeedback.ts +126 -30
- package/src/utils/pressGesture.ts +4 -2
- package/src/utils/selectionLock.ts +40 -6
- package/src/utils/sharedMutationObserver.ts +2 -1
- package/src/utils/timeParser.ts +40 -3
- package/src/utils/triggerFocus.ts +80 -0
- package/dist/BottomSheet/useMobileKeyboard.d.ts +0 -21
- package/dist/BottomSheet/useMobileKeyboard.d.ts.map +0 -1
- package/dist/BottomSheet/useMobileKeyboard.js +0 -407
- package/dist/Calendar/getStandaloneShortWeekdayNames.d.ts +0 -14
- package/dist/Calendar/getStandaloneShortWeekdayNames.d.ts.map +0 -1
- package/dist/Calendar/getStandaloneShortWeekdayNames.js +0 -26
- package/dist/Calendar/standaloneShortWeekdayNames.generated.d.ts.map +0 -1
- package/dist/Layer/usePressPin.d.ts +0 -93
- package/dist/Layer/usePressPin.d.ts.map +0 -1
- package/dist/Layer/usePressPin.js +0 -363
- package/dist/internal/touch-sheet.d.ts +0 -21
- package/dist/internal/touch-sheet.d.ts.map +0 -1
- package/dist/internal/touch-sheet.js +0 -19
- package/src/BottomSheet/useMobileKeyboard.ts +0 -538
- package/src/Calendar/getStandaloneShortWeekdayNames.ts +0 -38
- package/src/Layer/usePressPin.ts +0 -510
- package/src/internal/touch-sheet.ts +0 -21
|
@@ -70,12 +70,13 @@ import "../theme/tokens.stylex.js";
|
|
|
70
70
|
import { colorVars, spacingVars, radiusVars, sizeVars, borderVars, fontWeightVars, typeScaleVars, typographyVars, durationVars, easeVars } from "../theme/tokens.stylex.js";
|
|
71
71
|
import { useTooltip } from "../Tooltip/index.js";
|
|
72
72
|
import { VisuallyHidden } from "../VisuallyHidden/index.js";
|
|
73
|
-
import { focusOutlineStyles, getInputARIA, isImeKeyEvent, mergeProps, rtlStyles, themeProps, formatSharedDate, plainDateFromISO, plainDateToday
|
|
73
|
+
import { focusOutlineStyles, getInputARIA, isImeKeyEvent, mergeProps, rtlStyles, themeProps, formatSharedDate, plainDateFromISO, plainDateToday } from "../utils/index.js";
|
|
74
74
|
import { plainDateFormatStandaloneMonthYear } from "../utils/plainDate.js";
|
|
75
75
|
import { chainEventHandlers } from "../utils/chainEventHandlers.js";
|
|
76
76
|
import { interactionOverlayStyles } from "../utils/interactionOverlay.stylex.js";
|
|
77
77
|
import { usePressFeedback } from "../hooks/usePressFeedback.js";
|
|
78
78
|
import { normalizeDayOfWeek } from "../utils/dateTypes.js";
|
|
79
|
+
import { getWeekdayHeaders } from "../Calendar/getWeekdayHeaderNames.js";
|
|
79
80
|
import { MonthScroller } from "./MonthScroller.js";
|
|
80
81
|
import { MonthYearWheels } from "./MonthYearWheels.js";
|
|
81
82
|
import { DEFAULT_MONTH_REACH, clampIndex, fromMonthIndex, monthIndexOf } from "./monthGeometry.js";
|
|
@@ -322,6 +323,7 @@ export function TouchDateField({
|
|
|
322
323
|
const scrollerHandleRef = useRef(null);
|
|
323
324
|
// Pending focus handoff from the clear button; see handleClear.
|
|
324
325
|
const clearFocusTimerRef = useRef(null);
|
|
326
|
+
// Releases the focus timer on unmount.
|
|
325
327
|
useEffect(() => () => {
|
|
326
328
|
if (clearFocusTimerRef.current != null) {
|
|
327
329
|
clearTimeout(clearFocusTimerRef.current);
|
|
@@ -342,33 +344,7 @@ export function TouchDateField({
|
|
|
342
344
|
year,
|
|
343
345
|
month
|
|
344
346
|
} = fromMonthIndex(monthIndex);
|
|
345
|
-
|
|
346
|
-
/**
|
|
347
|
-
* Three-letter weekday names — "Sun", not Calendar's "Su".
|
|
348
|
-
*
|
|
349
|
-
* The sheet is full width and the columns are ~51px, so there is room for
|
|
350
|
-
* the form people actually read, and a picker operated by thumb should not
|
|
351
|
-
* make anyone decode "Tu" against "Th".
|
|
352
|
-
*
|
|
353
|
-
* This is CLDR's `abbreviated` width, which `Intl` produces natively — no
|
|
354
|
-
* truncation, so the 28 non-English locales stay correct rather than being
|
|
355
|
-
* sliced to three characters. (Verified against the CLDR tables for all 30
|
|
356
|
-
* locales in the catalog.) Calendar's 2-letter row is CLDR's *short* width,
|
|
357
|
-
* which `Intl` cannot express, which is exactly why that surface needs a
|
|
358
|
-
* generated table and this one does not.
|
|
359
|
-
*
|
|
360
|
-
* Built here rather than taken from `useCalendarDays`, which supplies the
|
|
361
|
-
* short form for Calendar's own header. The rotation matches: day 4 of
|
|
362
|
-
* January 1970 was a Sunday, so offsetting from it by `weekStartsOn` walks
|
|
363
|
-
* the week in the same order the panes lay out their columns.
|
|
364
|
-
*/
|
|
365
|
-
const dayNames = useMemo(() => Array.from({
|
|
366
|
-
length: 7
|
|
367
|
-
}, (_, offset) => plainDateFormat({
|
|
368
|
-
year: 1970,
|
|
369
|
-
month: 1,
|
|
370
|
-
day: 4 + (weekStartsOn + offset) % 7
|
|
371
|
-
}, DATE_FORMAT_WEEKDAY_ONLY, locale)), [locale, weekStartsOn]);
|
|
347
|
+
const weekdayHeaders = useMemo(() => getWeekdayHeaders(locale, weekStartsOn), [locale, weekStartsOn]);
|
|
372
348
|
const monthYearLabel = plainDateFormatStandaloneMonthYear({
|
|
373
349
|
year,
|
|
374
350
|
month,
|
|
@@ -689,12 +665,15 @@ export function TouchDateField({
|
|
|
689
665
|
className: "xrvj5dj x1mzazjb x6k0iem x6s0dn4 x1jl3cmp xuedmi6 xcj1dhv xzg1mie xlshs6z xg01cxk"
|
|
690
666
|
}
|
|
691
667
|
}[!!isWheelOpen << 0],
|
|
692
|
-
children:
|
|
668
|
+
children: weekdayHeaders.map(({
|
|
669
|
+
dayOfWeek,
|
|
670
|
+
name
|
|
671
|
+
}) => /*#__PURE__*/_jsx("div", {
|
|
693
672
|
...{
|
|
694
673
|
className: "x2b8uid x141an7d x1sodnla xv1l7n4"
|
|
695
674
|
},
|
|
696
675
|
children: name
|
|
697
|
-
},
|
|
676
|
+
}, dayOfWeek))
|
|
698
677
|
}), /*#__PURE__*/_jsxs("div", {
|
|
699
678
|
...{
|
|
700
679
|
className: "xrvj5dj xm8gem x1n2onr6"
|
|
@@ -1,48 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
value: number;
|
|
4
|
-
/** Row text. */
|
|
5
|
-
label: string;
|
|
6
|
-
/**
|
|
7
|
-
* Rows outside min/max stay visible but cannot be committed: a wheel that
|
|
8
|
-
* stops on one travels on to the nearest enabled row.
|
|
9
|
-
*/
|
|
10
|
-
isDisabled?: boolean;
|
|
11
|
-
}
|
|
12
|
-
export interface WheelProps {
|
|
13
|
-
/** Accessible name for the column, e.g. "Month". */
|
|
14
|
-
label: string;
|
|
15
|
-
/** Rows, top to bottom. */
|
|
16
|
-
options: ReadonlyArray<WheelOption>;
|
|
17
|
-
/** Committed value; must match one option's `value`. */
|
|
18
|
-
value: number;
|
|
19
|
-
/** Fired when the wheel comes to rest on a different, enabled row. */
|
|
20
|
-
onChange: (value: number) => void;
|
|
21
|
-
/**
|
|
22
|
-
* False while the wheel is hidden — scroll offsets of a display:none
|
|
23
|
-
* scroller are meaningless, so listeners and the initial scroll wait.
|
|
24
|
-
*/
|
|
25
|
-
isActive?: boolean;
|
|
26
|
-
}
|
|
1
|
+
import { type WheelProps } from './wheelOptions.js';
|
|
2
|
+
export { nearestEnabledIndex, type WheelHandle, type WheelOption, type WheelProps, } from './wheelOptions.js';
|
|
27
3
|
/**
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
* `towardIndex` (the committed row), and a wheel with no enabled row stays on
|
|
31
|
-
* `towardIndex`.
|
|
4
|
+
* One picker column: UIPickerView's motion with flat rows under a finger, the
|
|
5
|
+
* snap-scrolling column under a fine pointer.
|
|
32
6
|
*
|
|
33
7
|
* @example
|
|
34
8
|
* ```
|
|
35
|
-
*
|
|
36
|
-
*
|
|
9
|
+
* <Wheel
|
|
10
|
+
* label="Month"
|
|
11
|
+
* options={monthOptions}
|
|
12
|
+
* value={month}
|
|
13
|
+
* onChange={setMonth}
|
|
14
|
+
* />
|
|
37
15
|
* ```
|
|
38
16
|
*/
|
|
39
|
-
export declare function
|
|
17
|
+
export declare function Wheel(props: WheelProps): import("react").JSX.Element;
|
|
18
|
+
export declare namespace Wheel {
|
|
19
|
+
var displayName: string;
|
|
20
|
+
}
|
|
40
21
|
/**
|
|
41
|
-
* One snap-scrolling picker column.
|
|
22
|
+
* One snap-scrolling picker column, under a fine pointer.
|
|
42
23
|
*
|
|
43
24
|
* @example
|
|
44
25
|
* ```
|
|
45
|
-
* <
|
|
26
|
+
* <ScrollWheel
|
|
46
27
|
* label="Month"
|
|
47
28
|
* options={monthOptions}
|
|
48
29
|
* value={month}
|
|
@@ -50,8 +31,8 @@ export declare function nearestEnabledIndex(options: ReadonlyArray<WheelOption>,
|
|
|
50
31
|
* />
|
|
51
32
|
* ```
|
|
52
33
|
*/
|
|
53
|
-
export declare function
|
|
54
|
-
export declare namespace
|
|
34
|
+
export declare function ScrollWheel({ label, options, value, onChange, isActive, ref, }: WheelProps): import("react").JSX.Element;
|
|
35
|
+
export declare namespace ScrollWheel {
|
|
55
36
|
var displayName: string;
|
|
56
37
|
}
|
|
57
38
|
//# sourceMappingURL=Wheel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Wheel.d.ts","sourceRoot":"","sources":["../../src/DateInput/Wheel.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Wheel.d.ts","sourceRoot":"","sources":["../../src/DateInput/Wheel.tsx"],"names":[],"mappings":"AA2DA,OAAO,EAKL,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,mBAAmB,EACnB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,UAAU,GAChB,MAAM,gBAAgB,CAAC;AAoMxB;;;;;;;;;;;;;GAaG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,+BAKtC;yBALe,KAAK;;;AASrB;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,OAAO,EACP,KAAK,EACL,QAAQ,EACR,QAAe,EACf,GAAG,GACJ,EAAE,UAAU,+BAqVZ;yBA5Ve,WAAW"}
|
package/dist/DateInput/Wheel.js
CHANGED
|
@@ -4,51 +4,46 @@
|
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* @file Wheel.tsx
|
|
7
|
-
* @input Option list, selected value
|
|
8
|
-
*
|
|
9
|
-
* @
|
|
7
|
+
* @input Option list, selected value and change callback; a ref for
|
|
8
|
+
* programmatic turns
|
|
9
|
+
* @output Exports Wheel (one picker column), ScrollWheel (the scrolling
|
|
10
|
+
* column) and the shared types of wheelOptions.ts
|
|
11
|
+
* @position Internal component; consumed by MonthYearWheels.tsx,
|
|
12
|
+
* TouchTimeField.tsx and TouchDateTimeField.tsx
|
|
10
13
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* is
|
|
14
|
-
* each end so the first and last option can reach the middle, and a commit
|
|
15
|
-
* when the scrolling stops and no finger or mouse drag still holds it.
|
|
14
|
+
* Wheel picks its column by the primary pointer. Under a finger it is
|
|
15
|
+
* PickerWheel.tsx, the touch layer, imported here alone. Under a fine pointer
|
|
16
|
+
* it is the snap-scrolling column below.
|
|
16
17
|
*
|
|
17
|
-
* The
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* finger with no JS in the frame loop. It is guarded by `@supports`, because a
|
|
21
|
-
* browser that does not understand `animation-timeline` would otherwise run
|
|
22
|
-
* the same keyframes on the document timeline and simply play them once.
|
|
23
|
-
*
|
|
24
|
-
* Under Reduce Motion, the wheel's own scrolls (a step from a key or a click,
|
|
25
|
-
* the travel to the nearest enabled row) land without travel. They cross-fade
|
|
26
|
-
* on a touch screen and land at once otherwise. A finger's scroll and its
|
|
27
|
-
* momentum stay the platform's.
|
|
28
|
-
*
|
|
29
|
-
* Accessibility: this is a listbox, not a novel widget. It is one tab stop
|
|
30
|
-
* with arrow/Home/End/PageUp/PageDown keys, `aria-activedescendant` tracking
|
|
31
|
-
* the active row, and every row reachable by tap — none of which depends on
|
|
32
|
-
* the scroll-driven decoration.
|
|
18
|
+
* The scrolling column is a scroll container: momentum, rubber-banding and the
|
|
19
|
+
* settle are the platform's. Its rows fade and tip on a CSS `view()` timeline,
|
|
20
|
+
* behind `@supports`. Under Reduce Motion its own scrolls land without travel.
|
|
33
21
|
*
|
|
34
22
|
* SYNC: When modified, update:
|
|
23
|
+
* - /packages/core/src/DateInput/PickerWheel.tsx (the touch column)
|
|
24
|
+
* - /packages/core/src/DateInput/wheelOptions.ts
|
|
35
25
|
* - /packages/core/src/DateInput/TouchDateField.tsx
|
|
36
26
|
* - /packages/core/src/DateTimeInput/TouchDateTimeField.tsx
|
|
37
27
|
* - /packages/core/src/DateInput/DateInput.doc.mjs
|
|
38
28
|
* - /packages/core/src/DateInput/DateInputTouch.test.tsx
|
|
39
29
|
*/
|
|
40
|
-
import { useCallback, useEffect,
|
|
30
|
+
import { useCallback, useEffect, useImperativeHandle, useRef, useState } from 'react';
|
|
41
31
|
import * as stylex from '@stylexjs/stylex';
|
|
42
32
|
import "../theme/tokens.stylex.js";
|
|
43
33
|
import { colorVars, radiusVars, fontWeightVars, typeScaleVars, spacingVars, durationVars } from "../theme/tokens.stylex.js";
|
|
44
34
|
import { focusOutlineStyles } from "../utils/index.js";
|
|
45
35
|
import { playReducedMotionDip, reducedMotionFade } from "../motion/reducedMotion.js";
|
|
36
|
+
import { useTouchPresentation } from "../utils/touchPresentation.js";
|
|
37
|
+
import { PickerWheel } from "./PickerWheel.js";
|
|
46
38
|
import "./tokens.stylex.js";
|
|
47
39
|
import { dateInputTouchSizes, dateInputTouchGeometry } from "./tokens.stylex.js";
|
|
48
40
|
import { useOwnScrollGesture } from "./useOwnScrollGesture.js";
|
|
49
41
|
import { usePointerDragScroll } from "./usePointerDragScroll.js";
|
|
50
42
|
import { useScrollSettle } from "./useScrollSettle.js";
|
|
43
|
+
import { useWheelListbox } from "./useWheelListbox.js";
|
|
44
|
+
import { canSpinTo, endIndex, nearestEnabledIndex, steppedIndex } from "./wheelOptions.js";
|
|
51
45
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
46
|
+
export { nearestEnabledIndex } from "./wheelOptions.js";
|
|
52
47
|
const ITEM_BLOCK_SIZE = dateInputTouchSizes.wheelItemSize;
|
|
53
48
|
|
|
54
49
|
/**
|
|
@@ -57,10 +52,21 @@ const ITEM_BLOCK_SIZE = dateInputTouchSizes.wheelItemSize;
|
|
|
57
52
|
* at the top — which is what a `view()` timeline over the `cover` range means,
|
|
58
53
|
* and why this reads as a cylinder rotating under the finger.
|
|
59
54
|
*/
|
|
60
|
-
const
|
|
55
|
+
const tip = "x18sn2u9-B";
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Colour keeps every row at WCAG AA, which an opacity fade does not. The ends
|
|
59
|
+
* stop halfway to the secondary text colour, because that colour alone falls
|
|
60
|
+
* below AA in two shipped themes.
|
|
61
|
+
*/
|
|
62
|
+
const fade = "x1ofkhwi-B";
|
|
61
63
|
|
|
62
|
-
/**
|
|
63
|
-
|
|
64
|
+
/**
|
|
65
|
+
* A disabled row keeps its disabled colour and fades by opacity instead: WCAG
|
|
66
|
+
* 1.4.3 exempts inactive components from the contrast minimum.
|
|
67
|
+
*/
|
|
68
|
+
const tipAndDim = "x1tut0r7-B";
|
|
69
|
+
const dim = "xuvekqa-B";
|
|
64
70
|
const styles = {
|
|
65
71
|
scroller: {
|
|
66
72
|
kZKoxP: "xm8gem",
|
|
@@ -78,47 +84,41 @@ const styles = {
|
|
|
78
84
|
$$css: true
|
|
79
85
|
}
|
|
80
86
|
};
|
|
87
|
+
|
|
81
88
|
/**
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
* `towardIndex` (the committed row), and a wheel with no enabled row stays on
|
|
85
|
-
* `towardIndex`.
|
|
89
|
+
* One picker column: UIPickerView's motion with flat rows under a finger, the
|
|
90
|
+
* snap-scrolling column under a fine pointer.
|
|
86
91
|
*
|
|
87
92
|
* @example
|
|
88
93
|
* ```
|
|
89
|
-
*
|
|
90
|
-
*
|
|
94
|
+
* <Wheel
|
|
95
|
+
* label="Month"
|
|
96
|
+
* options={monthOptions}
|
|
97
|
+
* value={month}
|
|
98
|
+
* onChange={setMonth}
|
|
99
|
+
* />
|
|
91
100
|
* ```
|
|
92
101
|
*/
|
|
93
|
-
export function
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
return towardIndex < index ? below : above;
|
|
105
|
-
}
|
|
106
|
-
if (isBelowEnabled) {
|
|
107
|
-
return below;
|
|
108
|
-
}
|
|
109
|
-
if (isAboveEnabled) {
|
|
110
|
-
return above;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
return towardIndex;
|
|
102
|
+
export function Wheel(props) {
|
|
103
|
+
// One touch model on every touch device: a finger gets UIPickerView's motion
|
|
104
|
+
// with flat rows, a fine pointer the scrolling column.
|
|
105
|
+
const {
|
|
106
|
+
isTouch
|
|
107
|
+
} = useTouchPresentation();
|
|
108
|
+
return isTouch ? /*#__PURE__*/_jsx(PickerWheel, {
|
|
109
|
+
...props
|
|
110
|
+
}) : /*#__PURE__*/_jsx(ScrollWheel, {
|
|
111
|
+
...props
|
|
112
|
+
});
|
|
114
113
|
}
|
|
114
|
+
Wheel.displayName = 'Wheel';
|
|
115
115
|
|
|
116
116
|
/**
|
|
117
|
-
* One snap-scrolling picker column.
|
|
117
|
+
* One snap-scrolling picker column, under a fine pointer.
|
|
118
118
|
*
|
|
119
119
|
* @example
|
|
120
120
|
* ```
|
|
121
|
-
* <
|
|
121
|
+
* <ScrollWheel
|
|
122
122
|
* label="Month"
|
|
123
123
|
* options={monthOptions}
|
|
124
124
|
* value={month}
|
|
@@ -126,14 +126,28 @@ export function nearestEnabledIndex(options, index, towardIndex) {
|
|
|
126
126
|
* />
|
|
127
127
|
* ```
|
|
128
128
|
*/
|
|
129
|
-
export function
|
|
129
|
+
export function ScrollWheel({
|
|
130
130
|
label,
|
|
131
131
|
options,
|
|
132
132
|
value,
|
|
133
133
|
onChange,
|
|
134
|
-
isActive = true
|
|
134
|
+
isActive = true,
|
|
135
|
+
ref
|
|
135
136
|
}) {
|
|
136
|
-
|
|
137
|
+
// A spin commits the row at once. The new value then scrolls the column
|
|
138
|
+
// there, as any new value does.
|
|
139
|
+
useImperativeHandle(ref, () => ({
|
|
140
|
+
spinTo: async index => {
|
|
141
|
+
if (!canSpinTo(options, index)) {
|
|
142
|
+
return false;
|
|
143
|
+
}
|
|
144
|
+
const option = options[index];
|
|
145
|
+
if (option.value !== value) {
|
|
146
|
+
onChange(option.value);
|
|
147
|
+
}
|
|
148
|
+
return true;
|
|
149
|
+
}
|
|
150
|
+
}), [options, value, onChange]);
|
|
137
151
|
const scrollerRef = useRef(null);
|
|
138
152
|
const selectedIndex = Math.max(0, options.findIndex(option => option.value === value));
|
|
139
153
|
// Which row is under the band right now. Tracks the finger during a scroll;
|
|
@@ -277,6 +291,8 @@ export function Wheel({
|
|
|
277
291
|
// useScrollSettle. The settle handler re-checks the position afterwards, so
|
|
278
292
|
// a correction that is genuinely needed still happens, just at rest.
|
|
279
293
|
const parkedRef = useRef(false);
|
|
294
|
+
// Syncs the wheel's scroll position with the selected index while the wheel
|
|
295
|
+
// is active.
|
|
280
296
|
useEffect(() => {
|
|
281
297
|
if (!isActive) {
|
|
282
298
|
parkedRef.current = false;
|
|
@@ -310,6 +326,8 @@ export function Wheel({
|
|
|
310
326
|
// Highlight follows the finger. rAF-throttled: a scroll can fire far more
|
|
311
327
|
// often than the display refreshes, and this only feeds a repaint.
|
|
312
328
|
const frameRef = useRef(undefined);
|
|
329
|
+
// Syncs a scroll listener with the active wheel. It updates the highlighted
|
|
330
|
+
// row.
|
|
313
331
|
useEffect(() => {
|
|
314
332
|
const scroller = scrollerRef.current;
|
|
315
333
|
if (scroller == null || !isActive) {
|
|
@@ -349,48 +367,44 @@ export function Wheel({
|
|
|
349
367
|
useOwnScrollGesture(scrollerRef, 'all', {
|
|
350
368
|
isEnabled: isActive
|
|
351
369
|
});
|
|
352
|
-
const
|
|
353
|
-
const
|
|
354
|
-
|
|
355
|
-
if (option == null || option.isDisabled) {
|
|
370
|
+
const moveTo = useCallback(row => {
|
|
371
|
+
const option = row == null ? undefined : options[row];
|
|
372
|
+
if (row == null || option == null || option.isDisabled) {
|
|
356
373
|
return;
|
|
357
374
|
}
|
|
358
|
-
setActiveIndex(
|
|
359
|
-
scrollToIndex(
|
|
375
|
+
setActiveIndex(row);
|
|
376
|
+
scrollToIndex(row, 'smooth');
|
|
360
377
|
if (option.value !== value) {
|
|
361
378
|
onChange(option.value);
|
|
362
379
|
}
|
|
363
|
-
}, [
|
|
364
|
-
const
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
moveBy(-1);
|
|
373
|
-
break;
|
|
374
|
-
case 'PageDown':
|
|
375
|
-
event.preventDefault();
|
|
376
|
-
moveBy(10);
|
|
377
|
-
break;
|
|
378
|
-
case 'PageUp':
|
|
379
|
-
event.preventDefault();
|
|
380
|
-
moveBy(-10);
|
|
381
|
-
break;
|
|
382
|
-
case 'Home':
|
|
383
|
-
event.preventDefault();
|
|
384
|
-
moveBy(-activeIndex);
|
|
385
|
-
break;
|
|
386
|
-
case 'End':
|
|
387
|
-
event.preventDefault();
|
|
388
|
-
moveBy(options.length - 1 - activeIndex);
|
|
389
|
-
break;
|
|
390
|
-
default:
|
|
391
|
-
break;
|
|
380
|
+
}, [options, scrollToIndex, value, onChange]);
|
|
381
|
+
const moveBy = useCallback(delta => moveTo(steppedIndex(options, activeIndex, delta)), [moveTo, options, activeIndex]);
|
|
382
|
+
|
|
383
|
+
// Home and End: the first and the last enabled row.
|
|
384
|
+
const toEnd = useCallback(end => moveTo(endIndex(options, end)), [moveTo, options]);
|
|
385
|
+
const activate = useCallback(index => {
|
|
386
|
+
const option = options[index];
|
|
387
|
+
if (option == null || option.isDisabled) {
|
|
388
|
+
return;
|
|
392
389
|
}
|
|
393
|
-
|
|
390
|
+
setActiveIndex(index);
|
|
391
|
+
scrollToIndex(index, 'smooth');
|
|
392
|
+
if (option.value !== value) {
|
|
393
|
+
onChange(option.value);
|
|
394
|
+
}
|
|
395
|
+
}, [options, scrollToIndex, value, onChange]);
|
|
396
|
+
const {
|
|
397
|
+
listboxProps,
|
|
398
|
+
optionProps
|
|
399
|
+
} = useWheelListbox({
|
|
400
|
+
label,
|
|
401
|
+
options,
|
|
402
|
+
value,
|
|
403
|
+
activeIndex,
|
|
404
|
+
stepBy: moveBy,
|
|
405
|
+
toEnd,
|
|
406
|
+
activate
|
|
407
|
+
});
|
|
394
408
|
return /*#__PURE__*/_jsxs("div", {
|
|
395
409
|
...{
|
|
396
410
|
className: "x1n2onr6 x1cqoux5 xeuugli"
|
|
@@ -402,16 +416,11 @@ export function Wheel({
|
|
|
402
416
|
}
|
|
403
417
|
}), /*#__PURE__*/_jsx("div", {
|
|
404
418
|
ref: scrollerRef,
|
|
405
|
-
|
|
406
|
-
"aria-label": label,
|
|
407
|
-
"aria-activedescendant": `${id}-${options[activeIndex]?.value}`,
|
|
408
|
-
tabIndex: 0,
|
|
409
|
-
onKeyDown: handleKeyDown
|
|
419
|
+
...listboxProps,
|
|
410
420
|
// Read in the capture phase. usePointerDragScroll stops a primary
|
|
411
421
|
// mouse press from bubbling, so that it does not reach BottomSheet's
|
|
412
422
|
// drag. A bubbling handler would never see a mouse, and would keep the
|
|
413
423
|
// last touch.
|
|
414
|
-
,
|
|
415
424
|
onPointerDownCapture: event => {
|
|
416
425
|
lastPointerRef.current = event.pointerType;
|
|
417
426
|
},
|
|
@@ -420,42 +429,46 @@ export function Wheel({
|
|
|
420
429
|
},
|
|
421
430
|
...stylex.props(styles.scroller, focusOutlineStyles.focusVisible),
|
|
422
431
|
children: options.map((option, index) => /*#__PURE__*/_jsx("div", {
|
|
423
|
-
|
|
424
|
-
role: "option",
|
|
425
|
-
"aria-selected": option.value === value,
|
|
426
|
-
"aria-disabled": option.isDisabled || undefined,
|
|
427
|
-
onClick: () => {
|
|
428
|
-
if (option.isDisabled) {
|
|
429
|
-
return;
|
|
430
|
-
}
|
|
431
|
-
setActiveIndex(index);
|
|
432
|
-
scrollToIndex(index, 'smooth');
|
|
433
|
-
if (option.value !== value) {
|
|
434
|
-
onChange(option.value);
|
|
435
|
-
}
|
|
436
|
-
},
|
|
432
|
+
...optionProps(option, index),
|
|
437
433
|
...{
|
|
438
434
|
0: {
|
|
439
435
|
className: "x78zum5 x6s0dn4 xl56j7k x6hpsvf xf314gf x1hdbdi8 xc342km xng3xce xjbqb8w x18juvz8 x1sodnla x1tgivj0 xuxw1ft x1ypdohk x16khyan x87ps6o x1jbe559 xuedmi6"
|
|
440
436
|
},
|
|
437
|
+
4: {
|
|
438
|
+
className: "x78zum5 x6s0dn4 xl56j7k x6hpsvf xf314gf x1hdbdi8 xc342km xng3xce xjbqb8w x18juvz8 x1sodnla x1tgivj0 xuxw1ft x1ypdohk x16khyan x87ps6o x1jbe559 xuedmi6 xssvwzl x190lv1 xg8s4dl x1u6ievf xwms9i0 x1esw782"
|
|
439
|
+
},
|
|
441
440
|
2: {
|
|
442
441
|
className: "x78zum5 x6s0dn4 xl56j7k x6hpsvf xf314gf x1hdbdi8 xc342km xng3xce xjbqb8w x18juvz8 xuxw1ft x1ypdohk x16khyan x87ps6o x1jbe559 xuedmi6 xjse4m1 x2mo6ok"
|
|
443
442
|
},
|
|
443
|
+
6: {
|
|
444
|
+
className: "x78zum5 x6s0dn4 xl56j7k x6hpsvf xf314gf x1hdbdi8 xc342km xng3xce xjbqb8w x18juvz8 xuxw1ft x1ypdohk x16khyan x87ps6o x1jbe559 xuedmi6 xssvwzl x190lv1 xg8s4dl x1u6ievf xwms9i0 x1esw782 xjse4m1 x2mo6ok"
|
|
445
|
+
},
|
|
444
446
|
1: {
|
|
445
447
|
className: "x78zum5 x6s0dn4 xl56j7k x6hpsvf xf314gf x1hdbdi8 xc342km xng3xce xjbqb8w x18juvz8 x1sodnla xuxw1ft x87ps6o x1jbe559 xuedmi6 xnbbluu xt0e3qv"
|
|
446
448
|
},
|
|
449
|
+
5: {
|
|
450
|
+
className: "x78zum5 x6s0dn4 xl56j7k x6hpsvf xf314gf x1hdbdi8 xc342km xng3xce xjbqb8w x18juvz8 x1sodnla xuxw1ft x87ps6o x1jbe559 xuedmi6 xssvwzl x190lv1 xg8s4dl x1u6ievf xwms9i0 x1esw782 xnbbluu xt0e3qv"
|
|
451
|
+
},
|
|
447
452
|
3: {
|
|
448
453
|
className: "x78zum5 x6s0dn4 xl56j7k x6hpsvf xf314gf x1hdbdi8 xc342km xng3xce xjbqb8w x18juvz8 xuxw1ft x87ps6o x1jbe559 xuedmi6 x2mo6ok xnbbluu xt0e3qv"
|
|
454
|
+
},
|
|
455
|
+
7: {
|
|
456
|
+
className: "x78zum5 x6s0dn4 xl56j7k x6hpsvf xf314gf x1hdbdi8 xc342km xng3xce xjbqb8w x18juvz8 xuxw1ft x87ps6o x1jbe559 xuedmi6 xssvwzl x190lv1 xg8s4dl x1u6ievf xwms9i0 x1esw782 x2mo6ok xnbbluu xt0e3qv"
|
|
449
457
|
}
|
|
450
|
-
}[!!(index === activeIndex) << 1 | !!option.isDisabled << 0],
|
|
458
|
+
}[!!(index !== activeIndex && !option.isDisabled) << 2 | !!(index === activeIndex) << 1 | !!option.isDisabled << 0],
|
|
451
459
|
children: /*#__PURE__*/_jsx("span", {
|
|
452
460
|
...{
|
|
453
|
-
|
|
454
|
-
|
|
461
|
+
0: {
|
|
462
|
+
className: "x78zum5 x6s0dn4 xl56j7k xh8yej3 x5yr21d xb3r6kr xlyipyv x1trhrh1 x1pljy2o x190lv1 xg8s4dl x1u6ievf xwms9i0 x1esw782 xlp1x4z"
|
|
463
|
+
},
|
|
464
|
+
1: {
|
|
465
|
+
className: "x78zum5 x6s0dn4 xl56j7k xh8yej3 x5yr21d xb3r6kr xlyipyv x190lv1 xg8s4dl x1u6ievf xwms9i0 x1esw782 xlp1x4z x1iu2jvn xk3h8ob"
|
|
466
|
+
}
|
|
467
|
+
}[!!option.isDisabled << 0],
|
|
455
468
|
children: option.label
|
|
456
469
|
})
|
|
457
470
|
}, option.value))
|
|
458
471
|
})]
|
|
459
472
|
});
|
|
460
473
|
}
|
|
461
|
-
|
|
474
|
+
ScrollWheel.displayName = 'ScrollWheel';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file datePickerTouch.ts
|
|
3
|
+
* @input The date and time pickers' touch-only pieces
|
|
4
|
+
* @output Re-exports what the date and time sheets use only under a finger:
|
|
5
|
+
* TimeWheels
|
|
6
|
+
* @position The pickers' touch layer. The sheets import touch behaviour from
|
|
7
|
+
* here only, so a desktop build can replace this one module.
|
|
8
|
+
*
|
|
9
|
+
* SYNC: When modified, update TouchTimeField.tsx and TouchDateTimeField.tsx.
|
|
10
|
+
*/
|
|
11
|
+
export { TimeWheels } from '../TimeInput/TimeWheels.js';
|
|
12
|
+
export type { TimeWheelsProps } from '../TimeInput/TimeWheels.js';
|
|
13
|
+
//# sourceMappingURL=datePickerTouch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"datePickerTouch.d.ts","sourceRoot":"","sources":["../../src/DateInput/datePickerTouch.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AAEH,OAAO,EAAC,UAAU,EAAC,MAAM,yBAAyB,CAAC;AACnD,YAAY,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @file datePickerTouch.ts
|
|
5
|
+
* @input The date and time pickers' touch-only pieces
|
|
6
|
+
* @output Re-exports what the date and time sheets use only under a finger:
|
|
7
|
+
* TimeWheels
|
|
8
|
+
* @position The pickers' touch layer. The sheets import touch behaviour from
|
|
9
|
+
* here only, so a desktop build can replace this one module.
|
|
10
|
+
*
|
|
11
|
+
* SYNC: When modified, update TouchTimeField.tsx and TouchDateTimeField.tsx.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
export { TimeWheels } from "../TimeInput/TimeWheels.js";
|
|
@@ -27,6 +27,16 @@ export type OwnScrollGestureOptions = {
|
|
|
27
27
|
* so momentum and snapping are never second-guessed.
|
|
28
28
|
*/
|
|
29
29
|
onSwipe?: (direction: 1 | -1) => void;
|
|
30
|
+
/**
|
|
31
|
+
* Also keep the pointer a touch lands with, for an `'all'` scroller that pans
|
|
32
|
+
* through the gesture system rather than natively. A sheet arms its pull-down
|
|
33
|
+
* on its body's `pointerdown`, and counts on a native pan to cancel a touch
|
|
34
|
+
* pointer. A pan of the gesture system never cancels it. Without this, the
|
|
35
|
+
* sheet follows the first 8 px of a downward drag before the scroller's own
|
|
36
|
+
* pan takes over. The gesture host and the shared modality tracker listen in
|
|
37
|
+
* the capture phase, before this.
|
|
38
|
+
*/
|
|
39
|
+
isPointerKept?: boolean;
|
|
30
40
|
};
|
|
31
41
|
/**
|
|
32
42
|
* Claim touch gestures that start on `ref`'s element, so an ancestor cannot
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useOwnScrollGesture.d.ts","sourceRoot":"","sources":["../../src/DateInput/useOwnScrollGesture.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useOwnScrollGesture.d.ts","sourceRoot":"","sources":["../../src/DateInput/useOwnScrollGesture.ts"],"names":[],"mappings":"AAkFA;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAKpC;;;GAGG;AACH,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEzC,MAAM,MAAM,uBAAuB,GAAG;IACpC;yDACqD;IACrD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC;IACtC;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EACxC,IAAI,GAAE,SAAiB,EACvB,OAAO,GAAE,uBAA4B,GACpC,IAAI,CA0GN"}
|
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
* @file useOwnScrollGesture.ts
|
|
7
7
|
* @input A scroll container ref and which axis it owns
|
|
8
8
|
* @output Stops touch gestures on that container from reaching an ancestor
|
|
9
|
-
* @position Internal behavior hook; consumed by Wheel.tsx
|
|
9
|
+
* @position Internal behavior hook; consumed by Wheel.tsx, PickerWheel.tsx and
|
|
10
|
+
* MonthScroller.tsx
|
|
10
11
|
*
|
|
11
12
|
* Lets a nested scroller keep the finger that lands on it.
|
|
12
13
|
*
|
|
@@ -106,13 +107,17 @@ export const SWIPE_DISTANCE = 32;
|
|
|
106
107
|
export function useOwnScrollGesture(ref, axis = 'all', options = {}) {
|
|
107
108
|
const {
|
|
108
109
|
isEnabled = true,
|
|
109
|
-
onSwipe
|
|
110
|
+
onSwipe,
|
|
111
|
+
isPointerKept = false
|
|
110
112
|
} = options;
|
|
111
113
|
|
|
112
114
|
// Read through a ref so a caller need not memoize the callback: re-running
|
|
113
115
|
// this effect would tear the listeners off mid-gesture.
|
|
114
116
|
const onSwipeRef = useRef(onSwipe);
|
|
115
117
|
onSwipeRef.current = onSwipe;
|
|
118
|
+
|
|
119
|
+
// Syncs touch listeners on the element with `isEnabled`. They decide which
|
|
120
|
+
// gesture owns a horizontal scroll.
|
|
116
121
|
useEffect(() => {
|
|
117
122
|
const element = ref.current;
|
|
118
123
|
if (element == null || !isEnabled) {
|
|
@@ -180,6 +185,8 @@ export function useOwnScrollGesture(ref, axis = 'all', options = {}) {
|
|
|
180
185
|
// bookkeeping.
|
|
181
186
|
claimed = null;
|
|
182
187
|
};
|
|
188
|
+
const keepPointer = event => event.stopPropagation();
|
|
189
|
+
const isKeepingPointer = axis === 'all' && isPointerKept;
|
|
183
190
|
element.addEventListener('touchstart', onStart, {
|
|
184
191
|
passive: true
|
|
185
192
|
});
|
|
@@ -192,11 +199,17 @@ export function useOwnScrollGesture(ref, axis = 'all', options = {}) {
|
|
|
192
199
|
element.addEventListener('touchcancel', onEnd, {
|
|
193
200
|
passive: true
|
|
194
201
|
});
|
|
202
|
+
if (isKeepingPointer) {
|
|
203
|
+
element.addEventListener('pointerdown', keepPointer);
|
|
204
|
+
}
|
|
195
205
|
return () => {
|
|
196
206
|
element.removeEventListener('touchstart', onStart);
|
|
197
207
|
element.removeEventListener('touchmove', onMove);
|
|
198
208
|
element.removeEventListener('touchend', onEnd);
|
|
199
209
|
element.removeEventListener('touchcancel', onEnd);
|
|
210
|
+
if (isKeepingPointer) {
|
|
211
|
+
element.removeEventListener('pointerdown', keepPointer);
|
|
212
|
+
}
|
|
200
213
|
};
|
|
201
|
-
}, [ref, axis, isEnabled]);
|
|
214
|
+
}, [ref, axis, isEnabled, isPointerKept]);
|
|
202
215
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePointerDragScroll.d.ts","sourceRoot":"","sources":["../../src/DateInput/usePointerDragScroll.ts"],"names":[],"mappings":"AAwDA;;;GAGG;AACH,eAAO,MAAM,SAAS,IAAI,CAAC;AAK3B,qEAAqE;AACrE,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;;OAIG;IACH,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;CACzC,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EACxC,SAAS,GAAE,OAAc,GACxB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"usePointerDragScroll.d.ts","sourceRoot":"","sources":["../../src/DateInput/usePointerDragScroll.ts"],"names":[],"mappings":"AAwDA;;;GAGG;AACH,eAAO,MAAM,SAAS,IAAI,CAAC;AAK3B,qEAAqE;AACrE,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;;OAIG;IACH,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;CACzC,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EACxC,SAAS,GAAE,OAAc,GACxB,sBAAsB,CAoJxB"}
|