@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
|
@@ -29,9 +29,10 @@ import * as stylex from '@stylexjs/stylex';
|
|
|
29
29
|
import {spacingVars} from '../theme/tokens.stylex';
|
|
30
30
|
import {Field} from '../Field/Field';
|
|
31
31
|
import type {InputStatus} from '../Field/types';
|
|
32
|
-
import {useTooltip} from '../Tooltip';
|
|
32
|
+
import {useTooltip} from '../Tooltip/useTooltip';
|
|
33
33
|
import {useResolvedRequired} from '../hooks/useResolvedRequired';
|
|
34
|
-
import {composeEventHandlers
|
|
34
|
+
import {composeEventHandlers} from '../utils/composeEventHandlers';
|
|
35
|
+
import {mergeProps} from '../utils/mergeProps';
|
|
35
36
|
import {joinAriaIDs} from '../utils/inputAria';
|
|
36
37
|
import {
|
|
37
38
|
type FieldInputBaseProps,
|
|
@@ -26,12 +26,14 @@ import {RadioListContext} from './RadioList';
|
|
|
26
26
|
import {RadioListReasonContext} from './RadioListReasonContext';
|
|
27
27
|
import {joinAriaIDs} from '../utils/inputAria';
|
|
28
28
|
import {colorVars, radiusVars} from '../theme/tokens.stylex';
|
|
29
|
-
import {
|
|
29
|
+
import {isRenderable} from '../utils/isRenderable';
|
|
30
|
+
import {mergeProps} from '../utils/mergeProps';
|
|
31
|
+
import {rtlStyles} from '../utils/rtlStyles';
|
|
30
32
|
import {indicatorScope} from '../Indicator/indicator.markers.stylex';
|
|
31
33
|
import {useIndicatorFocusRing} from '../hooks/useIndicatorFocusRing';
|
|
32
34
|
import {usePressFeedback} from '../hooks/usePressFeedback';
|
|
33
|
-
import {useIndicator} from '../Indicator';
|
|
34
|
-
import {Item, type ItemAlign} from '../Item';
|
|
35
|
+
import {useIndicator} from '../Indicator/useIndicator';
|
|
36
|
+
import {Item, type ItemAlign} from '../Item/Item';
|
|
35
37
|
import {themeProps} from '../utils/themeProps';
|
|
36
38
|
|
|
37
39
|
// The touch press's paint, declared by the shared overlay styles on the
|
|
@@ -12,13 +12,13 @@ const anatomy = [
|
|
|
12
12
|
name: 'Grip pill',
|
|
13
13
|
required: false,
|
|
14
14
|
description:
|
|
15
|
-
'Default visible grip indicator;
|
|
15
|
+
'Default visible grip indicator; dragging it resizes, wherever it sits. Custom handle content can replace it.',
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
18
|
name: 'Grab zone',
|
|
19
19
|
required: true,
|
|
20
20
|
description:
|
|
21
|
-
'Invisible enlarged pointer region
|
|
21
|
+
'Invisible enlarged pointer region centred on the divider. An inline zone takes at most half of a pane shorter than it; an overlay handle takes at most half of its pane.',
|
|
22
22
|
},
|
|
23
23
|
];
|
|
24
24
|
|
|
@@ -224,7 +224,8 @@ const region = useResizable({
|
|
|
224
224
|
description:
|
|
225
225
|
'Which side of the divider the pill sits on. ' +
|
|
226
226
|
'auto = content side (derived from isReversed), flips when collapsed. ' +
|
|
227
|
-
'start = left/top, end = right/bottom, center = centered on divider.'
|
|
227
|
+
'start = left/top, end = right/bottom, center = centered on divider. ' +
|
|
228
|
+
'It moves only the pill, which a drag can still take wherever it sits; the grab zone stays centred on the divider.',
|
|
228
229
|
default: "'auto'",
|
|
229
230
|
},
|
|
230
231
|
{
|
|
@@ -317,7 +318,7 @@ export const docsDense = {
|
|
|
317
318
|
isAlwaysVisible:
|
|
318
319
|
'show pill grip at rest instead of only on hover. Use when discoverability important',
|
|
319
320
|
pillPlacement:
|
|
320
|
-
'which side of divider pill sits on. auto = content side (derived from isReversed), flips when collapsed; start = left/top, end = right/bottom, center = centered on divider',
|
|
321
|
+
'which side of divider pill sits on. auto = content side (derived from isReversed), flips when collapsed; start = left/top, end = right/bottom, center = centered on divider. Moves only the pill (still draggable); grab zone stays on the divider',
|
|
321
322
|
label: 'accessible label for separator',
|
|
322
323
|
resizable: 'resize props from useResizable: connects handle to panel',
|
|
323
324
|
},
|
|
@@ -8,29 +8,12 @@
|
|
|
8
8
|
* @output Styled drag handle with WAI-ARIA separator role and keyboard support
|
|
9
9
|
* @position Between resizable panels; consumed directly by builders
|
|
10
10
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* Pill grip indicator can sit on either side of the divider (or centered)
|
|
14
|
-
* via pillPlacement. Default 'auto' places the pill on the panel side and
|
|
15
|
-
* flips when the panel collapses to 0px so it stays accessible.
|
|
16
|
-
*
|
|
17
|
-
* Pill placement uses a single stylex dynamic style that accepts a direction
|
|
18
|
-
* multiplier (-1 or 1). The pill element has its own themeProps
|
|
19
|
-
* ('resize-handle-pill') so themes can target size/shape directly.
|
|
20
|
-
*
|
|
21
|
-
* While the panel is collapsed, aria-valuenow is clamped to aria-valuemin
|
|
22
|
-
* (a value below the minimum is invalid per WCAG 4.1.2) and a localized
|
|
23
|
-
* "Collapsed" aria-valuetext announces the real state.
|
|
24
|
-
*
|
|
25
|
-
* The handle's input (the pointer drag, the keys, the double-click) is
|
|
26
|
-
* resizeGesture.ts. ResizeHandle forwards its React events to it, over the
|
|
27
|
-
* region its `resizable` prop describes. A drag takes pointer capture on the grab zone.
|
|
28
|
-
* The gesture's move, up and cancel events then go there, as in Slider, even
|
|
29
|
-
* over an embedded frame.
|
|
11
|
+
* A drag takes pointer capture on the element it starts on, so moves over an
|
|
12
|
+
* embedded frame still arrive.
|
|
30
13
|
*/
|
|
31
14
|
|
|
32
15
|
import {useEffect, useRef, useState} from 'react';
|
|
33
|
-
import type {ReactNode} from 'react';
|
|
16
|
+
import type {HTMLAttributes, ReactNode} from 'react';
|
|
34
17
|
import * as stylex from '@stylexjs/stylex';
|
|
35
18
|
import type {BaseProps} from '../BaseProps';
|
|
36
19
|
import {
|
|
@@ -52,6 +35,7 @@ import {
|
|
|
52
35
|
type ResizeGesture,
|
|
53
36
|
type ResizeGestureModel,
|
|
54
37
|
} from './resizeGesture';
|
|
38
|
+
import {separatorAttributes} from './separatorAttributes';
|
|
55
39
|
import {themeProps} from '../utils/themeProps';
|
|
56
40
|
|
|
57
41
|
import {useDevWarning} from '../hooks/useDevWarning';
|
|
@@ -81,30 +65,6 @@ function resolveEffectiveSide(
|
|
|
81
65
|
return panelSide;
|
|
82
66
|
}
|
|
83
67
|
|
|
84
|
-
/**
|
|
85
|
-
* Hit-area inline bias, expressed as a fraction of the pill's per-side offset.
|
|
86
|
-
*
|
|
87
|
-
* The visible pill is placed by `pillOffsetX`/`pillOffsetY`: anchored at the
|
|
88
|
-
* divider's inline-start edge and pushed one grip-width-plus-gap toward the
|
|
89
|
-
* panel side via a PHYSICAL translate (dir −1 = start, +1 = end). Because that
|
|
90
|
-
* offset is physical, the pill sits on the same physical side of the divider in
|
|
91
|
-
* both LTR and RTL. The grab zone must sit OVER that pill, so it has to use the
|
|
92
|
-
* exact same anchor + physical-offset construction as the pill (just wider) —
|
|
93
|
-
* anchoring the hit area at the divider centre (`insetInlineStart: 50%`) and
|
|
94
|
-
* biasing with a percentage translate mixes a logical anchor (which flips under
|
|
95
|
-
* RTL) with a physical translate (which doesn't), leaving the grab zone stranded
|
|
96
|
-
* to one side under RTL. Returning the pill's `dir` here lets the hit area reuse
|
|
97
|
-
* `pillOffsetX`/`pillOffsetY` so the two elements are positioned identically.
|
|
98
|
-
*/
|
|
99
|
-
function hitAreaBiasDir(
|
|
100
|
-
effectiveSide: 'start' | 'end' | 'center',
|
|
101
|
-
): number | null {
|
|
102
|
-
if (effectiveSide === 'center') {
|
|
103
|
-
return null;
|
|
104
|
-
}
|
|
105
|
-
return effectiveSide === 'start' ? -1 : 1;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
68
|
const styles = stylex.create({
|
|
109
69
|
handle: {
|
|
110
70
|
position: 'relative',
|
|
@@ -137,6 +97,12 @@ const styles = stylex.create({
|
|
|
137
97
|
insetInlineEnd: 0,
|
|
138
98
|
height: 'var(--resize-handle-hit-area, 16px)',
|
|
139
99
|
},
|
|
100
|
+
overlayHorizontalOnShortPane: {
|
|
101
|
+
width: 'min(var(--resize-handle-hit-area, 16px), 50%)',
|
|
102
|
+
},
|
|
103
|
+
overlayVerticalOnShortPane: {
|
|
104
|
+
height: 'min(var(--resize-handle-hit-area, 16px), 50%)',
|
|
105
|
+
},
|
|
140
106
|
horizontal: {
|
|
141
107
|
width: 1,
|
|
142
108
|
height: '100%',
|
|
@@ -196,19 +162,27 @@ const styles = stylex.create({
|
|
|
196
162
|
':is(:disabled,[aria-disabled="true"])': 'default',
|
|
197
163
|
},
|
|
198
164
|
},
|
|
199
|
-
//
|
|
200
|
-
// the
|
|
201
|
-
// the call site (correct in LTR and RTL); this
|
|
165
|
+
// The grab zone sits centred on the Handle whatever `pillPlacement` says,
|
|
166
|
+
// which only places the pill. Inline centering comes from
|
|
167
|
+
// rtlStyles.centerInline at the call site (correct in LTR and RTL); this
|
|
168
|
+
// block owns only the block axis.
|
|
202
169
|
hitAreaCenteredY: {
|
|
203
170
|
insetBlockStart: '50%',
|
|
204
171
|
transform: 'translateY(-50%)',
|
|
205
172
|
},
|
|
173
|
+
hitAreaWithinHandleX: {
|
|
174
|
+
width: `min(${spacingVars['--spacing-4']}, 100%)`,
|
|
175
|
+
},
|
|
176
|
+
hitAreaWithinHandleY: {
|
|
177
|
+
height: `min(${spacingVars['--spacing-4']}, 100%)`,
|
|
178
|
+
},
|
|
206
179
|
|
|
207
180
|
// Pill base — themes target .astryx-resize-handle-pill for size/shape.
|
|
208
181
|
pill: {
|
|
209
182
|
position: 'absolute',
|
|
210
183
|
zIndex: 2,
|
|
211
|
-
|
|
184
|
+
touchAction: 'none',
|
|
185
|
+
userSelect: 'none',
|
|
212
186
|
borderRadius: radiusVars['--radius-full'],
|
|
213
187
|
backgroundColor: colorVars['--color-border'],
|
|
214
188
|
transitionProperty: 'opacity, background-color, transform',
|
|
@@ -216,6 +190,18 @@ const styles = stylex.create({
|
|
|
216
190
|
transitionTimingFunction: easeVars['--ease-standard'],
|
|
217
191
|
top: '50%',
|
|
218
192
|
},
|
|
193
|
+
pillGrabHorizontal: {
|
|
194
|
+
cursor: {
|
|
195
|
+
default: 'col-resize',
|
|
196
|
+
':is(:disabled,[aria-disabled="true"])': 'default',
|
|
197
|
+
},
|
|
198
|
+
},
|
|
199
|
+
pillGrabVertical: {
|
|
200
|
+
cursor: {
|
|
201
|
+
default: 'row-resize',
|
|
202
|
+
':is(:disabled,[aria-disabled="true"])': 'default',
|
|
203
|
+
},
|
|
204
|
+
},
|
|
219
205
|
pillHorizontal: {
|
|
220
206
|
width: 3,
|
|
221
207
|
height: spacingVars['--spacing-8'],
|
|
@@ -224,59 +210,93 @@ const styles = stylex.create({
|
|
|
224
210
|
width: spacingVars['--spacing-8'],
|
|
225
211
|
height: 3,
|
|
226
212
|
},
|
|
227
|
-
|
|
213
|
+
// A hidden pill paints nothing, so it takes no pointer either.
|
|
214
|
+
pillHidden: {opacity: 0, pointerEvents: 'none'},
|
|
228
215
|
pillVisible: {opacity: 1},
|
|
229
216
|
pillHover: {
|
|
230
217
|
opacity: 1,
|
|
218
|
+
pointerEvents: 'auto',
|
|
231
219
|
backgroundColor: colorVars['--color-border'],
|
|
232
220
|
},
|
|
233
221
|
pillActive: {
|
|
234
222
|
opacity: 1,
|
|
223
|
+
pointerEvents: 'auto',
|
|
235
224
|
backgroundColor: colorVars['--color-border-emphasized'],
|
|
236
225
|
},
|
|
226
|
+
// A pill shown on hover can sit outside the Grab zone. This invisible
|
|
227
|
+
// extension spans the gap toward the Handle, so the pointer keeps the hover
|
|
228
|
+
// on its way to the pill. It reaches no further than the pill, and it takes
|
|
229
|
+
// the pointer only while the pill does. The pill's offset is a physical
|
|
230
|
+
// translate, so the side toward the Handle is physical too.
|
|
231
|
+
pillBridgeRight: {
|
|
232
|
+
'::before': {
|
|
233
|
+
content: '""',
|
|
234
|
+
position: 'absolute',
|
|
235
|
+
insetBlock: 0,
|
|
236
|
+
insetInlineStart: {
|
|
237
|
+
default: 0,
|
|
238
|
+
':is([dir="rtl"] *)': `calc(-1 * ${spacingVars['--spacing-1']} - 1px)`,
|
|
239
|
+
},
|
|
240
|
+
insetInlineEnd: {
|
|
241
|
+
default: `calc(-1 * ${spacingVars['--spacing-1']} - 1px)`,
|
|
242
|
+
':is([dir="rtl"] *)': 0,
|
|
243
|
+
},
|
|
244
|
+
},
|
|
245
|
+
},
|
|
246
|
+
pillBridgeLeft: {
|
|
247
|
+
'::before': {
|
|
248
|
+
content: '""',
|
|
249
|
+
position: 'absolute',
|
|
250
|
+
insetBlock: 0,
|
|
251
|
+
insetInlineStart: {
|
|
252
|
+
default: `calc(-1 * ${spacingVars['--spacing-1']} - 1px)`,
|
|
253
|
+
':is([dir="rtl"] *)': 0,
|
|
254
|
+
},
|
|
255
|
+
insetInlineEnd: {
|
|
256
|
+
default: 0,
|
|
257
|
+
':is([dir="rtl"] *)': `calc(-1 * ${spacingVars['--spacing-1']} - 1px)`,
|
|
258
|
+
},
|
|
259
|
+
},
|
|
260
|
+
},
|
|
261
|
+
pillBridgeDown: {
|
|
262
|
+
'::before': {
|
|
263
|
+
content: '""',
|
|
264
|
+
position: 'absolute',
|
|
265
|
+
insetInline: 0,
|
|
266
|
+
insetBlockStart: 0,
|
|
267
|
+
insetBlockEnd: `calc(-1 * ${spacingVars['--spacing-1']} - 1px)`,
|
|
268
|
+
},
|
|
269
|
+
},
|
|
270
|
+
pillBridgeUp: {
|
|
271
|
+
'::before': {
|
|
272
|
+
content: '""',
|
|
273
|
+
position: 'absolute',
|
|
274
|
+
insetInline: 0,
|
|
275
|
+
insetBlockStart: `calc(-1 * ${spacingVars['--spacing-1']} - 1px)`,
|
|
276
|
+
insetBlockEnd: 0,
|
|
277
|
+
},
|
|
278
|
+
},
|
|
237
279
|
});
|
|
238
280
|
|
|
239
281
|
// Dynamic styles — avoids inline style overrides.
|
|
240
282
|
// Each axis gets its own function since StyleX requires static structure.
|
|
241
283
|
const dynamicStyles = stylex.create({
|
|
242
|
-
//
|
|
243
|
-
//
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
// physical translate `dir * (gripWidth + gap)`, so they share the pill's
|
|
247
|
-
// near edge. The hit area is wider, so it also shifts by half the width
|
|
248
|
-
// difference `(16px − 3px) / 2 = 6.5px` to align the two CENTRES. That
|
|
249
|
-
// centring shift is along the inline axis (a box grows from its inline-start
|
|
250
|
-
// edge toward inline-end), so it must flip physical sign under RTL — unlike
|
|
251
|
-
// the `dir * (...)` travel, which is physical and identical in both
|
|
252
|
-
// directions because the pill's own offset is physical. Mixing the previous
|
|
253
|
-
// divider-relative `50%` anchor with a percentage translate stranded the grab
|
|
254
|
-
// zone to one side under RTL; this construction keeps it on the pill.
|
|
255
|
-
//
|
|
256
|
-
// Only the offset axis is translated. Unlike the pill — a small box anchored
|
|
257
|
-
// at the divider's midpoint, so it needs a −50% self-shift to centre — the
|
|
258
|
-
// grab zone is STRETCHED along the handle by hitAreaHorizontal/Vertical's
|
|
259
|
-
// 0/0 insets, so it is already in place on that axis. A percentage there
|
|
260
|
-
// would displace it by half the handle's own length, growing with the panel.
|
|
261
|
-
hitAreaOffsetX: (dir: number) => ({
|
|
262
|
-
insetInlineStart: 0,
|
|
263
|
-
transform: {
|
|
264
|
-
default: `translateX(calc(${dir} * (3px + ${spacingVars['--spacing-1']}) - 6.5px))`,
|
|
265
|
-
':is([dir="rtl"] *)': `translateX(calc(${dir} * (3px + ${spacingVars['--spacing-1']}) + 6.5px))`,
|
|
266
|
-
},
|
|
284
|
+
// An inline Handle's zone is centred on its line, so half of it reaches into
|
|
285
|
+
// the pane.
|
|
286
|
+
hitAreaLengthX: (pane: number) => ({
|
|
287
|
+
width: `min(${spacingVars['--spacing-4']}, ${pane}px)`,
|
|
267
288
|
}),
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
transform: `translateY(calc(${dir} * (3px + ${spacingVars['--spacing-1']}) - 6.5px))`,
|
|
289
|
+
hitAreaLengthY: (pane: number) => ({
|
|
290
|
+
height: `min(${spacingVars['--spacing-4']}, ${pane}px)`,
|
|
271
291
|
}),
|
|
272
|
-
pillOffsetX: (dir:
|
|
292
|
+
pillOffsetX: (dir: -1 | 1) => ({
|
|
273
293
|
insetInlineStart: 0,
|
|
274
294
|
transform: `translate(calc(${dir} * (100% + ${spacingVars['--spacing-1']})), -50%)`,
|
|
275
295
|
}),
|
|
276
296
|
// Vertical offset: no rotation — use explicit landscape dimensions.
|
|
277
297
|
// Rotation + offset creates confusing coordinate math since translate
|
|
278
298
|
// operates in pre-rotation local space.
|
|
279
|
-
pillOffsetY: (dir:
|
|
299
|
+
pillOffsetY: (dir: -1 | 1) => ({
|
|
280
300
|
top: 0,
|
|
281
301
|
transform: `translate(-50%, calc(${dir} * (100% + ${spacingVars['--spacing-1']})))`,
|
|
282
302
|
}),
|
|
@@ -333,7 +353,8 @@ export interface ResizeHandleProps extends Omit<
|
|
|
333
353
|
isAlwaysVisible?: boolean;
|
|
334
354
|
|
|
335
355
|
/**
|
|
336
|
-
* Which side of the divider line the pill sits on.
|
|
356
|
+
* Which side of the divider line the pill sits on. It moves only the pill:
|
|
357
|
+
* the grab zone stays centred on the divider.
|
|
337
358
|
* - `'auto'` — panel side by default, flips when panel is collapsed to 0px
|
|
338
359
|
* - `'start'` — left (horizontal) or top (vertical)
|
|
339
360
|
* - `'end'` — right (horizontal) or bottom (vertical)
|
|
@@ -468,9 +489,12 @@ export function ResizeHandle({
|
|
|
468
489
|
isReversed,
|
|
469
490
|
isCollapsed,
|
|
470
491
|
);
|
|
471
|
-
//
|
|
472
|
-
//
|
|
473
|
-
|
|
492
|
+
// An inline zone reaches at most half of the pane the Handle resizes. An
|
|
493
|
+
// overlay Handle takes at most half of it. A collapsed pane, or one at 0px,
|
|
494
|
+
// has nothing to protect and keeps the whole zone.
|
|
495
|
+
const paneSize = resizable?._size;
|
|
496
|
+
const paneLength =
|
|
497
|
+
isCollapsed || paneSize == null || paneSize <= 0 ? undefined : paneSize;
|
|
474
498
|
const isInteracting = isHovered || isFocused;
|
|
475
499
|
|
|
476
500
|
// A handle whose axis disagrees with its region drags along one axis while
|
|
@@ -494,6 +518,8 @@ export function ResizeHandle({
|
|
|
494
518
|
// are released here. The region outlives this handle and still has to hear
|
|
495
519
|
// that its gesture is over.
|
|
496
520
|
const hasRegion = resizable != null;
|
|
521
|
+
// Interrupts the region's gesture when the handle loses its region or
|
|
522
|
+
// unmounts.
|
|
497
523
|
useEffect(() => {
|
|
498
524
|
if (!hasRegion) {
|
|
499
525
|
return;
|
|
@@ -504,19 +530,8 @@ export function ResizeHandle({
|
|
|
504
530
|
}, [hasRegion, regionGesture]);
|
|
505
531
|
|
|
506
532
|
// --- ARIA ---
|
|
507
|
-
// When collapsed the panel's real size (0) sits below aria-valuemin, which
|
|
508
|
-
// is invalid per WCAG 4.1.2. Clamp aria-valuenow to the minimum and announce
|
|
509
|
-
// the true state via aria-valuetext instead; the valuetext is removed as
|
|
510
|
-
// soon as the panel expands so the numeric value reads again.
|
|
511
533
|
const sizeNow = resizable?._size;
|
|
512
534
|
const minNow = resizable?._minSizePx;
|
|
513
|
-
const ariaValueNow =
|
|
514
|
-
sizeNow == null || minNow == null
|
|
515
|
-
? undefined
|
|
516
|
-
: isCollapsed
|
|
517
|
-
? Math.max(sizeNow, minNow)
|
|
518
|
-
: sizeNow;
|
|
519
|
-
const ariaValueMin = minNow;
|
|
520
535
|
// A separator with a value needs a maximum (WAI-ARIA, APG window splitter).
|
|
521
536
|
// Unbounded regions report the basis they can fill; a hand-built props
|
|
522
537
|
// object without it reports only a configured maximum.
|
|
@@ -524,27 +539,58 @@ export function ResizeHandle({
|
|
|
524
539
|
? (getEffectiveMaxPx(resizable) ??
|
|
525
540
|
(resizable._maxSizePx !== Infinity ? resizable._maxSizePx : undefined))
|
|
526
541
|
: undefined;
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
542
|
+
// The attributes createResizable writes on a plain element, from the same
|
|
543
|
+
// derivation.
|
|
544
|
+
const aria = separatorAttributes({
|
|
545
|
+
direction,
|
|
546
|
+
isDisabled,
|
|
547
|
+
value:
|
|
548
|
+
sizeNow == null || minNow == null
|
|
549
|
+
? undefined
|
|
550
|
+
: {
|
|
551
|
+
size: sizeNow,
|
|
552
|
+
minPx: minNow,
|
|
553
|
+
maxPx: effectiveMax,
|
|
554
|
+
isCollapsed,
|
|
555
|
+
collapsedText: t('@astryx.resizable.collapsed'),
|
|
556
|
+
},
|
|
557
|
+
});
|
|
558
|
+
|
|
559
|
+
// The Grip pill takes the pointer as the Grab zone does, so a pill drawn
|
|
560
|
+
// outside the zone still resizes.
|
|
561
|
+
const grabHandlers: Pick<
|
|
562
|
+
HTMLAttributes<HTMLDivElement>,
|
|
563
|
+
| 'onPointerDown'
|
|
564
|
+
| 'onPointerMove'
|
|
565
|
+
| 'onPointerUp'
|
|
566
|
+
| 'onPointerCancel'
|
|
567
|
+
| 'onLostPointerCapture'
|
|
568
|
+
| 'onPointerEnter'
|
|
569
|
+
| 'onPointerLeave'
|
|
570
|
+
> = {
|
|
571
|
+
onPointerDown: e => {
|
|
572
|
+
if (!isDisabled) {
|
|
573
|
+
gesture?.pointerDown(e);
|
|
574
|
+
}
|
|
575
|
+
},
|
|
576
|
+
onPointerMove: e => gesture?.pointerMove(e),
|
|
577
|
+
onPointerUp: e => gesture?.pointerUp(e),
|
|
578
|
+
onPointerCancel: e => gesture?.pointerCancel(e),
|
|
579
|
+
onLostPointerCapture: e => gesture?.pointerCancel(e),
|
|
580
|
+
onPointerEnter: () => setIsHovered(true),
|
|
581
|
+
onPointerLeave: () => {
|
|
582
|
+
if (!isDragging) {
|
|
583
|
+
setIsHovered(false);
|
|
584
|
+
}
|
|
585
|
+
},
|
|
586
|
+
};
|
|
535
587
|
|
|
536
588
|
return (
|
|
537
589
|
<div
|
|
538
590
|
ref={useMergedRefs(ref, handleRef)}
|
|
539
591
|
role="separator"
|
|
540
|
-
aria
|
|
541
|
-
aria-valuenow={ariaValueNow}
|
|
542
|
-
aria-valuemin={ariaValueMin}
|
|
543
|
-
aria-valuemax={ariaValueMax}
|
|
544
|
-
aria-valuetext={ariaValueText}
|
|
592
|
+
{...aria}
|
|
545
593
|
aria-label={label}
|
|
546
|
-
aria-disabled={isDisabled || undefined}
|
|
547
|
-
tabIndex={isDisabled ? -1 : 0}
|
|
548
594
|
onDoubleClick={() => {
|
|
549
595
|
if (!isDisabled) {
|
|
550
596
|
gesture?.doubleClick();
|
|
@@ -560,6 +606,11 @@ export function ResizeHandle({
|
|
|
560
606
|
isOverlay && styles.overlay,
|
|
561
607
|
isOverlay &&
|
|
562
608
|
(isHorizontal ? styles.overlayHorizontal : styles.overlayVertical),
|
|
609
|
+
isOverlay &&
|
|
610
|
+
paneLength != null &&
|
|
611
|
+
(isHorizontal
|
|
612
|
+
? styles.overlayHorizontalOnShortPane
|
|
613
|
+
: styles.overlayVerticalOnShortPane),
|
|
563
614
|
!isOverlay && (isHorizontal ? styles.horizontal : styles.vertical),
|
|
564
615
|
!isOverlay &&
|
|
565
616
|
!hasDivider &&
|
|
@@ -594,34 +645,21 @@ export function ResizeHandle({
|
|
|
594
645
|
{...stylex.props(
|
|
595
646
|
styles.hitArea,
|
|
596
647
|
isHorizontal ? styles.hitAreaHorizontal : styles.hitAreaVertical,
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
648
|
+
isHorizontal
|
|
649
|
+
? rtlStyles.centerInline('0px')
|
|
650
|
+
: styles.hitAreaCenteredY,
|
|
651
|
+
isOverlay &&
|
|
652
|
+
(isHorizontal
|
|
653
|
+
? styles.hitAreaWithinHandleX
|
|
654
|
+
: styles.hitAreaWithinHandleY),
|
|
655
|
+
!isOverlay &&
|
|
656
|
+
paneLength != null &&
|
|
657
|
+
(isHorizontal
|
|
658
|
+
? dynamicStyles.hitAreaLengthX(paneLength)
|
|
659
|
+
: dynamicStyles.hitAreaLengthY(paneLength)),
|
|
608
660
|
isDisabled && styles.disabled,
|
|
609
661
|
)}
|
|
610
|
-
|
|
611
|
-
if (!isDisabled) {
|
|
612
|
-
gesture?.pointerDown(e);
|
|
613
|
-
}
|
|
614
|
-
}}
|
|
615
|
-
onPointerMove={e => gesture?.pointerMove(e)}
|
|
616
|
-
onPointerUp={e => gesture?.pointerUp(e)}
|
|
617
|
-
onPointerCancel={e => gesture?.pointerCancel(e)}
|
|
618
|
-
onLostPointerCapture={e => gesture?.pointerCancel(e)}
|
|
619
|
-
onPointerEnter={() => setIsHovered(true)}
|
|
620
|
-
onPointerLeave={() => {
|
|
621
|
-
if (!isDragging) {
|
|
622
|
-
setIsHovered(false);
|
|
623
|
-
}
|
|
624
|
-
}}
|
|
662
|
+
{...grabHandlers}
|
|
625
663
|
/>
|
|
626
664
|
{/* Pill grip indicator — themed via .astryx-resize-handle-pill */}
|
|
627
665
|
{children ?? (
|
|
@@ -640,11 +678,25 @@ export function ResizeHandle({
|
|
|
640
678
|
: dynamicStyles.pillOffsetY(
|
|
641
679
|
effectiveSide === 'start' ? -1 : 1,
|
|
642
680
|
),
|
|
681
|
+
isHorizontal
|
|
682
|
+
? styles.pillGrabHorizontal
|
|
683
|
+
: styles.pillGrabVertical,
|
|
643
684
|
isAlwaysVisible ? styles.pillVisible : styles.pillHidden,
|
|
685
|
+
!isAlwaysVisible &&
|
|
686
|
+
effectiveSide !== 'center' &&
|
|
687
|
+
(isHorizontal
|
|
688
|
+
? effectiveSide === 'start'
|
|
689
|
+
? styles.pillBridgeRight
|
|
690
|
+
: styles.pillBridgeLeft
|
|
691
|
+
: effectiveSide === 'start'
|
|
692
|
+
? styles.pillBridgeDown
|
|
693
|
+
: styles.pillBridgeUp),
|
|
644
694
|
isInteracting && !isDragging && styles.pillHover,
|
|
645
695
|
isDragging && styles.pillActive,
|
|
696
|
+
isDisabled && styles.disabled,
|
|
646
697
|
),
|
|
647
698
|
)}
|
|
699
|
+
{...grabHandlers}
|
|
648
700
|
/>
|
|
649
701
|
)}
|
|
650
702
|
</div>
|