@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
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
|
+
|
|
3
|
+
'use client';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* @file TimeWheels.tsx
|
|
7
|
+
* @input A time of day, the hour format, the bounds and a commit callback
|
|
8
|
+
* @output Exports TimeWheels: UIDatePicker's `.time` wheels as one picker
|
|
9
|
+
* @position Internal component; the wheels under a finger in the TimeInput
|
|
10
|
+
* sheet and DateTimeInput's time panel. timeWheelRules.ts holds the rules.
|
|
11
|
+
*
|
|
12
|
+
* A column that moves by itself turns on the Wheel's own spin (`spinTo`). The
|
|
13
|
+
* spin starts before the commit, so the new value finds the column moving.
|
|
14
|
+
*
|
|
15
|
+
* SYNC: When modified, update TimeWheels.test.tsx, timeWheelRules.ts,
|
|
16
|
+
* TimeInput.doc.mjs and DateTimeInput.doc.mjs.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
import {useMemo, useRef} from 'react';
|
|
20
|
+
import {Wheel, type WheelHandle} from '../DateInput/Wheel';
|
|
21
|
+
import type {ISOTimeString} from '../utils/timeParser';
|
|
22
|
+
import {
|
|
23
|
+
columnValue,
|
|
24
|
+
columnsToTurn,
|
|
25
|
+
displayedTime,
|
|
26
|
+
restingTime,
|
|
27
|
+
hourRows,
|
|
28
|
+
meridiemOf,
|
|
29
|
+
meridiemRows,
|
|
30
|
+
minuteRows,
|
|
31
|
+
secondRows,
|
|
32
|
+
turnColumn,
|
|
33
|
+
wheelBounds,
|
|
34
|
+
type TimeColumn,
|
|
35
|
+
type TimeParts,
|
|
36
|
+
type TimeRow,
|
|
37
|
+
} from './timeWheelRules';
|
|
38
|
+
import {
|
|
39
|
+
registerEnglishFallback,
|
|
40
|
+
useComponentTranslator,
|
|
41
|
+
} from '../i18n/useComponentTranslator';
|
|
42
|
+
import english from '../i18n/generated-english/TimeInput/TimeWheels.generated';
|
|
43
|
+
|
|
44
|
+
registerEnglishFallback(english);
|
|
45
|
+
|
|
46
|
+
export interface TimeWheelsProps {
|
|
47
|
+
/** The time the wheels show. */
|
|
48
|
+
time: TimeParts;
|
|
49
|
+
/** 12-hour (with an AM/PM column) or 24-hour time. */
|
|
50
|
+
hourFormat: '12h' | '24h';
|
|
51
|
+
/** Whether a seconds column shows. */
|
|
52
|
+
hasSeconds: boolean;
|
|
53
|
+
/** Earliest time that may commit. */
|
|
54
|
+
min?: ISOTimeString;
|
|
55
|
+
/** Latest time that may commit. */
|
|
56
|
+
max?: ISOTimeString;
|
|
57
|
+
/** False while the wheels are hidden. */
|
|
58
|
+
isActive: boolean;
|
|
59
|
+
/** Called with the committed time, already inside the bounds. */
|
|
60
|
+
onCommit: (time: TimeParts) => void;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
function sameTime(a: TimeParts, b: TimeParts): boolean {
|
|
64
|
+
return a.hour === b.hour && a.minute === b.minute && a.second === b.second;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* UIDatePicker's time wheels.
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* ```
|
|
72
|
+
* <TimeWheels time={{hour: 11, minute: 58, second: 0}} hourFormat="12h"
|
|
73
|
+
* hasSeconds={false} isActive onCommit={setTime} />
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
export function TimeWheels({
|
|
77
|
+
time,
|
|
78
|
+
hourFormat,
|
|
79
|
+
hasSeconds,
|
|
80
|
+
min,
|
|
81
|
+
max,
|
|
82
|
+
isActive,
|
|
83
|
+
onCommit,
|
|
84
|
+
}: TimeWheelsProps) {
|
|
85
|
+
const t = useComponentTranslator();
|
|
86
|
+
const bounds = useMemo(() => wheelBounds(min, max), [min, max]);
|
|
87
|
+
const shown = displayedTime(time, hasSeconds);
|
|
88
|
+
|
|
89
|
+
const hourOptions = useMemo(
|
|
90
|
+
() => hourRows(shown.hour, hourFormat, bounds),
|
|
91
|
+
[shown.hour, hourFormat, bounds],
|
|
92
|
+
);
|
|
93
|
+
const minuteOptions = useMemo(
|
|
94
|
+
() => minuteRows(shown.hour, hasSeconds, bounds),
|
|
95
|
+
[shown.hour, hasSeconds, bounds],
|
|
96
|
+
);
|
|
97
|
+
const secondOptions = useMemo(
|
|
98
|
+
() => secondRows(shown.hour, shown.minute, bounds),
|
|
99
|
+
[shown.hour, shown.minute, bounds],
|
|
100
|
+
);
|
|
101
|
+
const meridiemOptions = useMemo(
|
|
102
|
+
() =>
|
|
103
|
+
meridiemRows(
|
|
104
|
+
{
|
|
105
|
+
am: t('@astryx.dateTimeInput.meridiemAM'),
|
|
106
|
+
pm: t('@astryx.dateTimeInput.meridiemPM'),
|
|
107
|
+
},
|
|
108
|
+
bounds,
|
|
109
|
+
),
|
|
110
|
+
[t, bounds],
|
|
111
|
+
);
|
|
112
|
+
|
|
113
|
+
const hourRef = useRef<WheelHandle | null>(null);
|
|
114
|
+
const minuteRef = useRef<WheelHandle | null>(null);
|
|
115
|
+
const secondRef = useRef<WheelHandle | null>(null);
|
|
116
|
+
const meridiemRef = useRef<WheelHandle | null>(null);
|
|
117
|
+
|
|
118
|
+
const rows: Record<TimeColumn, TimeRow[]> = {
|
|
119
|
+
hour: hourOptions,
|
|
120
|
+
minute: minuteOptions,
|
|
121
|
+
second: secondOptions,
|
|
122
|
+
meridiem: meridiemOptions,
|
|
123
|
+
};
|
|
124
|
+
// The rows the columns turn onto by themselves (`spinTo`), each with the id of
|
|
125
|
+
// its turn. A turn's arrival is not a person's rest, so it commits nothing,
|
|
126
|
+
// even when the owner kept the old time.
|
|
127
|
+
const spinsRef = useRef<
|
|
128
|
+
Partial<Record<TimeColumn, {value: number; id: number}>>
|
|
129
|
+
>({});
|
|
130
|
+
const nextSpinIdRef = useRef(0);
|
|
131
|
+
|
|
132
|
+
const restOn = (column: TimeColumn) => (value: number) => {
|
|
133
|
+
if (spinsRef.current[column]?.value === value) {
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
const from = shown;
|
|
137
|
+
// What commits is the row the wheels come to rest on: past a bound, the
|
|
138
|
+
// nearest time inside it that has a row (datePicker.wheels.restPastBound).
|
|
139
|
+
const next = restingTime(
|
|
140
|
+
turnColumn(from, column, value, hourFormat),
|
|
141
|
+
hasSeconds,
|
|
142
|
+
bounds,
|
|
143
|
+
);
|
|
144
|
+
const handles: Record<TimeColumn, WheelHandle | null> = {
|
|
145
|
+
hour: hourRef.current,
|
|
146
|
+
minute: minuteRef.current,
|
|
147
|
+
second: secondRef.current,
|
|
148
|
+
meridiem: meridiemRef.current,
|
|
149
|
+
};
|
|
150
|
+
// Turn the other columns first, so the commit's new value finds them
|
|
151
|
+
// already moving (a Wheel never parks a moving column).
|
|
152
|
+
for (const turn of columnsToTurn(from, column, value, next, {
|
|
153
|
+
hourFormat,
|
|
154
|
+
hasSeconds,
|
|
155
|
+
})) {
|
|
156
|
+
const index = rows[turn.column].findIndex(
|
|
157
|
+
row => row.value === turn.value,
|
|
158
|
+
);
|
|
159
|
+
const handle = handles[turn.column];
|
|
160
|
+
if (index >= 0 && handle != null) {
|
|
161
|
+
nextSpinIdRef.current += 1;
|
|
162
|
+
const id = nextSpinIdRef.current;
|
|
163
|
+
spinsRef.current[turn.column] = {value: turn.value, id};
|
|
164
|
+
void handle.spinTo(index).finally(() => {
|
|
165
|
+
if (spinsRef.current[turn.column]?.id === id) {
|
|
166
|
+
spinsRef.current[turn.column] = undefined;
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
if (!sameTime(next, from)) {
|
|
172
|
+
onCommit(next);
|
|
173
|
+
}
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
return (
|
|
177
|
+
<>
|
|
178
|
+
<Wheel
|
|
179
|
+
ref={hourRef}
|
|
180
|
+
label={t('@astryx.dateTimeInput.hourWheel')}
|
|
181
|
+
options={hourOptions}
|
|
182
|
+
value={columnValue(shown, 'hour', hourFormat)}
|
|
183
|
+
isActive={isActive}
|
|
184
|
+
onChange={restOn('hour')}
|
|
185
|
+
/>
|
|
186
|
+
<Wheel
|
|
187
|
+
ref={minuteRef}
|
|
188
|
+
label={t('@astryx.dateTimeInput.minuteWheel')}
|
|
189
|
+
options={minuteOptions}
|
|
190
|
+
value={shown.minute}
|
|
191
|
+
isActive={isActive}
|
|
192
|
+
onChange={restOn('minute')}
|
|
193
|
+
/>
|
|
194
|
+
{hasSeconds && (
|
|
195
|
+
<Wheel
|
|
196
|
+
ref={secondRef}
|
|
197
|
+
label={t('@astryx.dateTimeInput.secondWheel')}
|
|
198
|
+
options={secondOptions}
|
|
199
|
+
value={shown.second}
|
|
200
|
+
isActive={isActive}
|
|
201
|
+
onChange={restOn('second')}
|
|
202
|
+
/>
|
|
203
|
+
)}
|
|
204
|
+
{hourFormat === '12h' && (
|
|
205
|
+
<Wheel
|
|
206
|
+
ref={meridiemRef}
|
|
207
|
+
label={t('@astryx.dateTimeInput.meridiemWheel')}
|
|
208
|
+
options={meridiemOptions}
|
|
209
|
+
value={meridiemOf(shown.hour)}
|
|
210
|
+
isActive={isActive}
|
|
211
|
+
onChange={restOn('meridiem')}
|
|
212
|
+
/>
|
|
213
|
+
)}
|
|
214
|
+
</>
|
|
215
|
+
);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
TimeWheels.displayName = 'TimeWheels';
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* @file TouchTimeField.tsx
|
|
7
|
-
* @input Uses React, Field, BottomSheet,
|
|
8
|
-
*
|
|
7
|
+
* @input Uses React, Field, BottomSheet, the wheels (TimeWheels under a finger,
|
|
8
|
+
* Wheel with a mouse), DateInput touch geometry tokens and time utilities
|
|
9
9
|
* @output Exports TouchTimeField — the bottom-sheet surface behind TimeInput
|
|
10
10
|
* @position Internal component; consumed by TimeInput.tsx for `presentation`
|
|
11
|
-
* sheet surfaces
|
|
11
|
+
* sheet surfaces
|
|
12
12
|
*
|
|
13
13
|
* SYNC: When modified, update these files to stay in sync:
|
|
14
14
|
* - /packages/core/src/TimeInput/TimeInput.tsx
|
|
@@ -54,6 +54,7 @@ import {useSize} from '../SizeContext/SizeContext';
|
|
|
54
54
|
import {Spinner} from '../Spinner';
|
|
55
55
|
import {useTooltip} from '../Tooltip';
|
|
56
56
|
import {Wheel, type WheelOption} from '../DateInput/Wheel';
|
|
57
|
+
import {useTouchPresentation} from '../utils/touchPresentation';
|
|
57
58
|
import {dateInputTouchGeometry} from '../DateInput/tokens.stylex';
|
|
58
59
|
import {focusOutlineStyles} from '../utils/focusOutline.stylex';
|
|
59
60
|
import {themeProps} from '../utils/themeProps';
|
|
@@ -68,6 +69,16 @@ import {
|
|
|
68
69
|
} from '../utils';
|
|
69
70
|
import {chainEventHandlers} from '../utils/chainEventHandlers';
|
|
70
71
|
import type {TimeInputProps} from './TimeInput';
|
|
72
|
+
import {TimeWheels} from '../DateInput/datePickerTouch';
|
|
73
|
+
import {
|
|
74
|
+
hour12From24,
|
|
75
|
+
hour24From12,
|
|
76
|
+
hourRowsInHalf,
|
|
77
|
+
meridiemRows,
|
|
78
|
+
minuteRows,
|
|
79
|
+
secondRows,
|
|
80
|
+
wheelBounds,
|
|
81
|
+
} from './timeWheelRules';
|
|
71
82
|
import {
|
|
72
83
|
registerEnglishFallback,
|
|
73
84
|
useComponentTranslator,
|
|
@@ -141,45 +152,6 @@ const styles = stylex.create({
|
|
|
141
152
|
},
|
|
142
153
|
});
|
|
143
154
|
|
|
144
|
-
function twoDigits(value: number): string {
|
|
145
|
-
return String(value).padStart(2, '0');
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
function hour12From24(hour: number): number {
|
|
149
|
-
return hour === 0 ? 12 : hour > 12 ? hour - 12 : hour;
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
function hour24From12(hour: number, meridiem: number): number {
|
|
153
|
-
if (meridiem === 0) {
|
|
154
|
-
return hour === 12 ? 0 : hour;
|
|
155
|
-
}
|
|
156
|
-
return hour === 12 ? 12 : hour + 12;
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
function timeToSeconds(time: ISOTimeString | undefined): number | null {
|
|
160
|
-
if (time == null) {
|
|
161
|
-
return null;
|
|
162
|
-
}
|
|
163
|
-
const parsed = parseISOTime(time);
|
|
164
|
-
return parsed == null
|
|
165
|
-
? null
|
|
166
|
-
: parsed.hour * 3600 + parsed.minute * 60 + parsed.second;
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
function rangeOverlaps(
|
|
170
|
-
startSecond: number,
|
|
171
|
-
endSecond: number,
|
|
172
|
-
min: ISOTimeString | undefined,
|
|
173
|
-
max: ISOTimeString | undefined,
|
|
174
|
-
): boolean {
|
|
175
|
-
const minSecond = timeToSeconds(min);
|
|
176
|
-
const maxSecond = timeToSeconds(max);
|
|
177
|
-
return (
|
|
178
|
-
(minSecond == null || endSecond >= minSecond) &&
|
|
179
|
-
(maxSecond == null || startSecond <= maxSecond)
|
|
180
|
-
);
|
|
181
|
-
}
|
|
182
|
-
|
|
183
155
|
/**
|
|
184
156
|
* The Astryx bottom-sheet time surface: a read-only closed field that opens
|
|
185
157
|
* hour/minute(/second/meridiem) wheels in a BottomSheet. Wheels commit live,
|
|
@@ -249,6 +221,7 @@ export function TouchTimeField({
|
|
|
249
221
|
const mergedInputRef = useMergedRefs(ref, inputRef);
|
|
250
222
|
const inputGroup = useInputGroup();
|
|
251
223
|
const [isSheetOpen, setIsSheetOpen] = useState(false);
|
|
224
|
+
const {isTouch} = useTouchPresentation();
|
|
252
225
|
const [, startTransition] = useTransition();
|
|
253
226
|
const [optimisticValue, setOptimisticValue] = useOptimistic(value);
|
|
254
227
|
const isBusy = isLoading || optimisticValue !== value;
|
|
@@ -363,84 +336,29 @@ export function TouchTimeField({
|
|
|
363
336
|
[fireChange, hasSeconds, max, min, optimisticValue],
|
|
364
337
|
);
|
|
365
338
|
|
|
366
|
-
const
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
isDisabled: !rangeOverlaps(hour * 3600, hour * 3600 + 3599, min, max),
|
|
372
|
-
}));
|
|
373
|
-
}
|
|
374
|
-
const meridiem = parsedWheelTime.hour < 12 ? 0 : 1;
|
|
375
|
-
return Array.from({length: 12}, (_, index) => {
|
|
376
|
-
const hour = index + 1;
|
|
377
|
-
const hour24 = hour24From12(hour, meridiem);
|
|
378
|
-
return {
|
|
379
|
-
value: hour,
|
|
380
|
-
label: String(hour),
|
|
381
|
-
isDisabled: !rangeOverlaps(
|
|
382
|
-
hour24 * 3600,
|
|
383
|
-
hour24 * 3600 + 3599,
|
|
384
|
-
min,
|
|
385
|
-
max,
|
|
386
|
-
),
|
|
387
|
-
};
|
|
388
|
-
});
|
|
389
|
-
}, [hourFormat, max, min, parsedWheelTime.hour]);
|
|
390
|
-
|
|
339
|
+
const bounds = useMemo(() => wheelBounds(min, max), [min, max]);
|
|
340
|
+
const hourOptions: WheelOption[] = useMemo(
|
|
341
|
+
() => hourRowsInHalf(parsedWheelTime.hour, hourFormat, bounds),
|
|
342
|
+
[bounds, hourFormat, parsedWheelTime.hour],
|
|
343
|
+
);
|
|
391
344
|
const minuteOptions: WheelOption[] = useMemo(
|
|
392
|
-
() =>
|
|
393
|
-
|
|
394
|
-
const start = parsedWheelTime.hour * 3600 + minute * 60;
|
|
395
|
-
return {
|
|
396
|
-
value: minute,
|
|
397
|
-
label: twoDigits(minute),
|
|
398
|
-
isDisabled: !rangeOverlaps(
|
|
399
|
-
start,
|
|
400
|
-
start + (hasSeconds ? 59 : 0),
|
|
401
|
-
min,
|
|
402
|
-
max,
|
|
403
|
-
),
|
|
404
|
-
};
|
|
405
|
-
}),
|
|
406
|
-
[hasSeconds, max, min, parsedWheelTime.hour],
|
|
345
|
+
() => minuteRows(parsedWheelTime.hour, hasSeconds, bounds),
|
|
346
|
+
[bounds, hasSeconds, parsedWheelTime.hour],
|
|
407
347
|
);
|
|
408
|
-
|
|
409
348
|
const secondOptions: WheelOption[] = useMemo(
|
|
410
|
-
() =>
|
|
411
|
-
|
|
412
|
-
value: second,
|
|
413
|
-
label: twoDigits(second),
|
|
414
|
-
isDisabled: !isTimeInRange(
|
|
415
|
-
formatISOTime(
|
|
416
|
-
{
|
|
417
|
-
hour: parsedWheelTime.hour,
|
|
418
|
-
minute: parsedWheelTime.minute,
|
|
419
|
-
second,
|
|
420
|
-
},
|
|
421
|
-
true,
|
|
422
|
-
),
|
|
423
|
-
min,
|
|
424
|
-
max,
|
|
425
|
-
),
|
|
426
|
-
})),
|
|
427
|
-
[max, min, parsedWheelTime.hour, parsedWheelTime.minute],
|
|
349
|
+
() => secondRows(parsedWheelTime.hour, parsedWheelTime.minute, bounds),
|
|
350
|
+
[bounds, parsedWheelTime.hour, parsedWheelTime.minute],
|
|
428
351
|
);
|
|
429
|
-
|
|
430
352
|
const meridiemOptions: WheelOption[] = useMemo(
|
|
431
|
-
() =>
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
isDisabled: !rangeOverlaps(12 * 3600, 23 * 3600 + 3599, min, max),
|
|
441
|
-
},
|
|
442
|
-
],
|
|
443
|
-
[max, min, t],
|
|
353
|
+
() =>
|
|
354
|
+
meridiemRows(
|
|
355
|
+
{
|
|
356
|
+
am: t('@astryx.dateTimeInput.meridiemAM'),
|
|
357
|
+
pm: t('@astryx.dateTimeInput.meridiemPM'),
|
|
358
|
+
},
|
|
359
|
+
bounds,
|
|
360
|
+
),
|
|
361
|
+
[bounds, t],
|
|
444
362
|
);
|
|
445
363
|
|
|
446
364
|
const openSheet = useCallback(() => {
|
|
@@ -539,49 +457,69 @@ export function TouchTimeField({
|
|
|
539
457
|
padding={0}>
|
|
540
458
|
<div ref={sheetBodyRef} {...stylex.props(styles.sheetBody)}>
|
|
541
459
|
<div {...stylex.props(styles.wheels)}>
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
}
|
|
550
|
-
isActive={isSheetOpen}
|
|
551
|
-
onChange={hour =>
|
|
552
|
-
commitWheelTime(
|
|
553
|
-
hourFormat === '24h'
|
|
554
|
-
? composeWheelTime({hour24: hour})
|
|
555
|
-
: composeWheelTime({hour12: hour}),
|
|
556
|
-
)
|
|
557
|
-
}
|
|
558
|
-
/>
|
|
559
|
-
<Wheel
|
|
560
|
-
label={t('@astryx.dateTimeInput.minuteWheel')}
|
|
561
|
-
options={minuteOptions}
|
|
562
|
-
value={parsedWheelTime.minute}
|
|
563
|
-
isActive={isSheetOpen}
|
|
564
|
-
onChange={minute => commitWheelTime(composeWheelTime({minute}))}
|
|
565
|
-
/>
|
|
566
|
-
{hasSeconds && (
|
|
567
|
-
<Wheel
|
|
568
|
-
label={t('@astryx.dateTimeInput.secondWheel')}
|
|
569
|
-
options={secondOptions}
|
|
570
|
-
value={parsedWheelTime.second}
|
|
571
|
-
isActive={isSheetOpen}
|
|
572
|
-
onChange={second => commitWheelTime(composeWheelTime({second}))}
|
|
573
|
-
/>
|
|
574
|
-
)}
|
|
575
|
-
{hourFormat === '12h' && (
|
|
576
|
-
<Wheel
|
|
577
|
-
label={t('@astryx.dateTimeInput.meridiemWheel')}
|
|
578
|
-
options={meridiemOptions}
|
|
579
|
-
value={parsedWheelTime.hour < 12 ? 0 : 1}
|
|
460
|
+
{isTouch ? (
|
|
461
|
+
<TimeWheels
|
|
462
|
+
time={parsedWheelTime}
|
|
463
|
+
hourFormat={hourFormat}
|
|
464
|
+
hasSeconds={hasSeconds}
|
|
465
|
+
min={min}
|
|
466
|
+
max={max}
|
|
580
467
|
isActive={isSheetOpen}
|
|
581
|
-
|
|
582
|
-
commitWheelTime(
|
|
468
|
+
onCommit={time =>
|
|
469
|
+
commitWheelTime(formatISOTime(time, hasSeconds))
|
|
583
470
|
}
|
|
584
471
|
/>
|
|
472
|
+
) : (
|
|
473
|
+
<>
|
|
474
|
+
<Wheel
|
|
475
|
+
label={t('@astryx.dateTimeInput.hourWheel')}
|
|
476
|
+
options={hourOptions}
|
|
477
|
+
value={
|
|
478
|
+
hourFormat === '24h'
|
|
479
|
+
? parsedWheelTime.hour
|
|
480
|
+
: hour12From24(parsedWheelTime.hour)
|
|
481
|
+
}
|
|
482
|
+
isActive={isSheetOpen}
|
|
483
|
+
onChange={hour =>
|
|
484
|
+
commitWheelTime(
|
|
485
|
+
hourFormat === '24h'
|
|
486
|
+
? composeWheelTime({hour24: hour})
|
|
487
|
+
: composeWheelTime({hour12: hour}),
|
|
488
|
+
)
|
|
489
|
+
}
|
|
490
|
+
/>
|
|
491
|
+
<Wheel
|
|
492
|
+
label={t('@astryx.dateTimeInput.minuteWheel')}
|
|
493
|
+
options={minuteOptions}
|
|
494
|
+
value={parsedWheelTime.minute}
|
|
495
|
+
isActive={isSheetOpen}
|
|
496
|
+
onChange={minute =>
|
|
497
|
+
commitWheelTime(composeWheelTime({minute}))
|
|
498
|
+
}
|
|
499
|
+
/>
|
|
500
|
+
{hasSeconds && (
|
|
501
|
+
<Wheel
|
|
502
|
+
label={t('@astryx.dateTimeInput.secondWheel')}
|
|
503
|
+
options={secondOptions}
|
|
504
|
+
value={parsedWheelTime.second}
|
|
505
|
+
isActive={isSheetOpen}
|
|
506
|
+
onChange={second =>
|
|
507
|
+
commitWheelTime(composeWheelTime({second}))
|
|
508
|
+
}
|
|
509
|
+
/>
|
|
510
|
+
)}
|
|
511
|
+
{hourFormat === '12h' && (
|
|
512
|
+
<Wheel
|
|
513
|
+
label={t('@astryx.dateTimeInput.meridiemWheel')}
|
|
514
|
+
options={meridiemOptions}
|
|
515
|
+
value={parsedWheelTime.hour < 12 ? 0 : 1}
|
|
516
|
+
isActive={isSheetOpen}
|
|
517
|
+
onChange={meridiem =>
|
|
518
|
+
commitWheelTime(composeWheelTime({meridiem}))
|
|
519
|
+
}
|
|
520
|
+
/>
|
|
521
|
+
)}
|
|
522
|
+
</>
|
|
585
523
|
)}
|
|
586
524
|
</div>
|
|
587
525
|
<div {...stylex.props(styles.footer)}>
|