@astryxdesign/core 0.7.8 → 0.7.9-canary.0200dfe
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/AppShell/observeMainOverflow.d.ts.map +1 -1
- package/dist/AppShell/observeMainOverflow.js +9 -6
- package/dist/BottomSheet/BottomSheet.d.ts.map +1 -1
- package/dist/BottomSheet/BottomSheet.js +37 -3
- package/dist/BottomSheet/BottomSheetPanel.d.ts.map +1 -1
- package/dist/BottomSheet/BottomSheetPanel.js +40 -8
- package/dist/BottomSheet/bottomSheetStack.d.ts.map +1 -1
- package/dist/BottomSheet/bottomSheetStack.js +4 -3
- package/dist/BottomSheet/useSheetGestures.d.ts.map +1 -1
- package/dist/BottomSheet/useSheetGestures.js +61 -21
- package/dist/Calendar/Calendar.d.ts +14 -2
- package/dist/Calendar/Calendar.d.ts.map +1 -1
- package/dist/Calendar/Calendar.js +63 -74
- package/dist/Calendar/getInitialFocusDate.d.ts +4 -1
- package/dist/Calendar/getInitialFocusDate.d.ts.map +1 -1
- package/dist/Calendar/getInitialFocusDate.js +7 -5
- package/dist/Calendar/hooks/useCalendarDays.d.ts +19 -2
- package/dist/Calendar/hooks/useCalendarDays.d.ts.map +1 -1
- package/dist/Calendar/hooks/useCalendarDays.js +57 -64
- package/dist/Calendar/hooks/useCalendarNavigation.d.ts +28 -3
- package/dist/Calendar/hooks/useCalendarNavigation.d.ts.map +1 -1
- package/dist/Calendar/hooks/useCalendarNavigation.js +33 -22
- package/dist/Calendar/styles.d.ts +1 -1
- package/dist/CheckboxInput/CheckboxInput.d.ts +2 -1
- package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
- package/dist/CheckboxInput/CheckboxInput.js +74 -18
- package/dist/CheckboxInput/CheckboxRowPressContext.d.ts +2 -0
- package/dist/CheckboxInput/CheckboxRowPressContext.d.ts.map +1 -0
- package/dist/CheckboxInput/CheckboxRowPressContext.js +20 -0
- package/dist/CheckboxList/CheckboxListItem.d.ts +2 -1
- package/dist/CheckboxList/CheckboxListItem.d.ts.map +1 -1
- package/dist/CheckboxList/CheckboxListItem.js +40 -14
- package/dist/ClickableCard/ClickableCard.d.ts +1 -1
- package/dist/ClickableCard/ClickableCard.d.ts.map +1 -1
- package/dist/ClickableCard/ClickableCard.js +5 -1
- package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
- package/dist/ContextMenu/ContextMenu.js +2 -0
- package/dist/DateInput/DateInput.d.ts +37 -6
- package/dist/DateInput/DateInput.d.ts.map +1 -1
- package/dist/DateInput/DateInput.js +97 -124
- package/dist/DateInput/MonthScroller.d.ts +5 -2
- package/dist/DateInput/MonthScroller.d.ts.map +1 -1
- package/dist/DateInput/MonthScroller.js +26 -29
- package/dist/DateInput/MonthYearWheels.d.ts +10 -1
- package/dist/DateInput/MonthYearWheels.d.ts.map +1 -1
- package/dist/DateInput/MonthYearWheels.js +54 -42
- package/dist/DateInput/PickerWheel.d.ts.map +1 -1
- package/dist/DateInput/PickerWheel.js +7 -1
- package/dist/DateInput/TouchDateField.d.ts +1 -1
- package/dist/DateInput/TouchDateField.d.ts.map +1 -1
- package/dist/DateInput/TouchDateField.js +26 -21
- package/dist/DateInput/monthGeometry.d.ts +42 -8
- package/dist/DateInput/monthGeometry.d.ts.map +1 -1
- package/dist/DateInput/monthGeometry.js +81 -7
- package/dist/DateInput/useCalendarPresentation.d.ts +10 -0
- package/dist/DateInput/useCalendarPresentation.d.ts.map +1 -0
- package/dist/DateInput/useCalendarPresentation.js +32 -0
- package/dist/DateInput/useTypedDate.d.ts +92 -0
- package/dist/DateInput/useTypedDate.d.ts.map +1 -0
- package/dist/DateInput/useTypedDate.js +269 -0
- package/dist/DateInput/wheelStrip.js +2 -2
- package/dist/DateRangeInput/DateRangeInput.d.ts +17 -1
- package/dist/DateRangeInput/DateRangeInput.d.ts.map +1 -1
- package/dist/DateRangeInput/DateRangeInput.js +15 -8
- package/dist/DateTimeInput/DateTimeInput.d.ts +26 -3
- package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
- package/dist/DateTimeInput/DateTimeInput.js +92 -88
- package/dist/DateTimeInput/TouchDateTimeField.d.ts +1 -1
- package/dist/DateTimeInput/TouchDateTimeField.d.ts.map +1 -1
- package/dist/DateTimeInput/TouchDateTimeField.js +26 -20
- package/dist/Dialog/Dialog.d.ts +2 -1
- package/dist/Dialog/Dialog.d.ts.map +1 -1
- package/dist/Dialog/Dialog.js +14 -3
- package/dist/Drawer/useDrawerDialogPresence.d.ts +2 -1
- package/dist/Drawer/useDrawerDialogPresence.d.ts.map +1 -1
- package/dist/Drawer/useDrawerDialogPresence.js +11 -2
- package/dist/DropdownMenu/DropdownMenu.d.ts +9 -1
- package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenu.js +11 -8
- package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuCheckboxItem.js +3 -2
- package/dist/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuItem.js +3 -2
- package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuRadioItem.js +3 -2
- package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuSubMenu.js +3 -2
- package/dist/Field/inputDisabledFocus.d.ts +4 -4
- package/dist/Field/inputStyles.stylex.d.ts +1 -1
- package/dist/FileInput/FileInput.d.ts.map +1 -1
- package/dist/FileInput/FileInput.js +16 -2
- package/dist/HoverCard/useHoverCard.d.ts +3 -1
- package/dist/HoverCard/useHoverCard.d.ts.map +1 -1
- package/dist/Icon/Icon.d.ts +1 -1
- package/dist/InfoTip/InfoTip.d.ts +1 -0
- package/dist/InfoTip/InfoTip.d.ts.map +1 -1
- package/dist/InfoTip/InfoTip.js +6 -18
- package/dist/InputGroup/InputGroup.d.ts +4 -3
- package/dist/InputGroup/InputGroup.d.ts.map +1 -1
- package/dist/InputGroup/InputGroup.js +2 -2
- package/dist/InputGroup/InputGroupText.d.ts +2 -1
- package/dist/InputGroup/InputGroupText.d.ts.map +1 -1
- package/dist/InputGroup/InputGroupText.js +2 -1
- package/dist/InputGroup/groupStyles.d.ts +1 -1
- package/dist/InputGroup/groupStyles.d.ts.map +1 -1
- package/dist/InputGroup/groupStyles.js +1 -1
- package/dist/Item/Item.d.ts +20 -1
- package/dist/Item/Item.d.ts.map +1 -1
- package/dist/Item/Item.js +97 -29
- package/dist/Item/ItemListRowContext.d.ts +2 -0
- package/dist/Item/ItemListRowContext.d.ts.map +1 -0
- package/dist/Item/ItemListRowContext.js +16 -0
- package/dist/Layer/holdEntranceInput.d.ts +24 -0
- package/dist/Layer/holdEntranceInput.d.ts.map +1 -0
- package/dist/Layer/holdEntranceInput.js +65 -0
- package/dist/Layer/inputHold.d.ts +49 -0
- package/dist/Layer/inputHold.d.ts.map +1 -0
- package/dist/Layer/inputHold.js +636 -0
- package/dist/Layer/outsidePress.d.ts +4 -0
- package/dist/Layer/outsidePress.d.ts.map +1 -1
- package/dist/Layer/outsidePress.js +18 -1
- package/dist/Layer/preserveAnimations.d.ts +1 -5
- package/dist/Layer/preserveAnimations.d.ts.map +1 -1
- package/dist/Layer/preserveAnimations.js +12 -214
- package/dist/Layer/useBackdropPress.d.ts +8 -0
- package/dist/Layer/useBackdropPress.d.ts.map +1 -1
- package/dist/Layer/useBackdropPress.js +31 -2
- package/dist/Layer/useLayer.d.ts +3 -1
- package/dist/Layer/useLayer.d.ts.map +1 -1
- package/dist/Layer/useLayer.js +64 -4
- package/dist/Layer/useTouchTrigger.d.ts.map +1 -1
- package/dist/Layer/useTouchTrigger.js +4 -0
- package/dist/Layout/LayoutContent.d.ts +3 -1
- package/dist/Layout/LayoutContent.d.ts.map +1 -1
- package/dist/Layout/LayoutContent.js +12 -4
- package/dist/Layout/LayoutPanel.d.ts +13 -10
- package/dist/Layout/LayoutPanel.d.ts.map +1 -1
- package/dist/Layout/LayoutPanel.js +81 -11
- package/dist/Lightbox/Lightbox.d.ts.map +1 -1
- package/dist/Lightbox/Lightbox.js +4 -0
- package/dist/List/List.d.ts.map +1 -1
- package/dist/List/List.js +1 -0
- package/dist/List/ListItem.d.ts +5 -4
- package/dist/List/ListItem.d.ts.map +1 -1
- package/dist/List/ListItem.js +45 -9
- package/dist/Markdown/parser.d.ts.map +1 -1
- package/dist/Markdown/parser.js +56 -39
- package/dist/MetadataList/MetadataList.js +1 -1
- package/dist/MobileNav/MobileNav.d.ts +11 -1
- package/dist/MobileNav/MobileNav.d.ts.map +1 -1
- package/dist/MobileNav/MobileNav.js +39 -1
- package/dist/MoreMenu/MoreMenu.d.ts +5 -3
- package/dist/MoreMenu/MoreMenu.d.ts.map +1 -1
- package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
- package/dist/MultiSelector/MultiSelector.js +6 -9
- package/dist/NumberInput/NumberInput.d.ts +4 -2
- package/dist/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/NumberInput/NumberInput.js +244 -11
- package/dist/OverflowList/OverflowList.d.ts.map +1 -1
- package/dist/OverflowList/OverflowList.js +7 -2
- package/dist/Popover/usePopover.d.ts +1 -0
- package/dist/Popover/usePopover.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearch.js +12 -5
- package/dist/PowerSearch/PowerSearchBottomSheet.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearchBottomSheet.js +4 -2
- package/dist/PowerSearch/PowerSearchToken.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearchToken.js +3 -1
- package/dist/PowerSearch/formatFilterValue.d.ts +9 -3
- package/dist/PowerSearch/formatFilterValue.d.ts.map +1 -1
- package/dist/PowerSearch/formatFilterValue.js +14 -11
- package/dist/PowerSearch/formatTokenValue.d.ts +6 -2
- package/dist/PowerSearch/formatTokenValue.d.ts.map +1 -1
- package/dist/PowerSearch/formatTokenValue.js +6 -3
- package/dist/RadioList/RadioListItem.d.ts.map +1 -1
- package/dist/RadioList/RadioListItem.js +16 -3
- package/dist/Resizable/ResizeHandle.d.ts +5 -5
- package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
- package/dist/Resizable/ResizeHandle.js +44 -5
- package/dist/Resizable/resizablePane.d.ts +58 -0
- package/dist/Resizable/resizablePane.d.ts.map +1 -0
- package/dist/Resizable/resizablePane.js +137 -0
- package/dist/Resizable/useResizable.d.ts +7 -0
- package/dist/Resizable/useResizable.d.ts.map +1 -1
- package/dist/Resizable/useResizable.js +13 -0
- package/dist/SegmentedControl/useSegmentedSelectionMotion.js +3 -3
- package/dist/SelectableCard/SelectableCard.d.ts +1 -1
- package/dist/SelectableCard/SelectableCard.d.ts.map +1 -1
- package/dist/SelectableCard/SelectableCard.js +5 -1
- package/dist/Selector/Selector.d.ts.map +1 -1
- package/dist/Selector/Selector.js +51 -10
- package/dist/SideNav/SideNav.d.ts +9 -3
- package/dist/SideNav/SideNav.d.ts.map +1 -1
- package/dist/SideNav/SideNav.js +45 -10
- package/dist/Slider/sliderTouchController.js +2 -2
- package/dist/Spinner/Spinner.d.ts.map +1 -1
- package/dist/Spinner/Spinner.js +14 -71
- package/dist/Spinner/index.d.ts +1 -1
- package/dist/Spinner/index.d.ts.map +1 -1
- package/dist/Spinner/spinnerRotor.d.ts +28 -0
- package/dist/Spinner/spinnerRotor.d.ts.map +1 -0
- package/dist/Spinner/spinnerRotor.js +98 -0
- package/dist/Stack/StackItem.d.ts +8 -4
- package/dist/Stack/StackItem.d.ts.map +1 -1
- package/dist/Stack/StackItem.js +17 -4
- package/dist/Switch/Switch.d.ts.map +1 -1
- package/dist/Switch/Switch.js +13 -10
- package/dist/Switch/useSwitchTouch.js +4 -4
- package/dist/TabList/Tab.d.ts.map +1 -1
- package/dist/TabList/Tab.js +5 -1
- package/dist/Table/plugins/sortable/useTableSortable.js +1 -1
- package/dist/Timestamp/Timestamp.d.ts.map +1 -1
- package/dist/Timestamp/Timestamp.js +14 -8
- package/dist/Timestamp/formatInstant.d.ts +10 -1
- package/dist/Timestamp/formatInstant.d.ts.map +1 -1
- package/dist/Timestamp/formatInstant.js +13 -27
- package/dist/Timestamp/tooltipEntries.d.ts +5 -3
- package/dist/Timestamp/tooltipEntries.d.ts.map +1 -1
- package/dist/Timestamp/tooltipEntries.js +6 -4
- package/dist/Token/Token.d.ts.map +1 -1
- package/dist/Token/Token.js +9 -0
- package/dist/Token/TokenLink.d.ts +1 -1
- package/dist/Token/TokenLink.d.ts.map +1 -1
- package/dist/Token/TokenLink.js +4 -1
- package/dist/Tokenizer/Tokenizer.d.ts +14 -10
- package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
- package/dist/Tokenizer/Tokenizer.js +189 -89
- package/dist/Tooltip/useTooltip.d.ts +3 -1
- package/dist/Tooltip/useTooltip.d.ts.map +1 -1
- package/dist/Tooltip/useTooltip.js +164 -59
- package/dist/TreeList/TreeListItem.d.ts +2 -1
- package/dist/TreeList/TreeListItem.d.ts.map +1 -1
- package/dist/TreeList/TreeListItem.js +27 -3
- package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
- package/dist/Typeahead/BaseTypeahead.js +2 -1
- package/dist/animator/createAnimator.js +2 -2
- package/dist/astryx.css +362 -325
- package/dist/gestures/GestureHost.d.ts +2 -2
- package/dist/gestures/GestureHost.d.ts.map +1 -1
- package/dist/gestures/GestureHost.js +21 -6
- package/dist/gestures/PanGestureRecognizer.d.ts +11 -1
- package/dist/gestures/PanGestureRecognizer.d.ts.map +1 -1
- package/dist/gestures/PanGestureRecognizer.js +15 -1
- package/dist/gestures/ScreenEdgePanGestureRecognizer.d.ts +6 -1
- package/dist/gestures/ScreenEdgePanGestureRecognizer.d.ts.map +1 -1
- package/dist/gestures/nativeScroll.d.ts +3 -6
- package/dist/gestures/nativeScroll.d.ts.map +1 -1
- package/dist/gestures/nativeScroll.js +7 -52
- package/dist/gestures/wheelSegmenter.d.ts +68 -1
- package/dist/gestures/wheelSegmenter.d.ts.map +1 -1
- package/dist/gestures/wheelSegmenter.js +199 -10
- package/dist/hooks/StackItemScrollRegion.d.ts +31 -0
- package/dist/hooks/StackItemScrollRegion.d.ts.map +1 -0
- package/dist/hooks/StackItemScrollRegion.js +40 -0
- package/dist/hooks/computeOverflow.d.ts +2 -0
- package/dist/hooks/computeOverflow.d.ts.map +1 -1
- package/dist/hooks/computeOverflow.js +1 -1
- package/dist/hooks/menuPressGesture.d.ts +133 -21
- package/dist/hooks/menuPressGesture.d.ts.map +1 -1
- package/dist/hooks/menuPressGesture.js +155 -30
- package/dist/hooks/menuPressValues.d.ts +16 -0
- package/dist/hooks/menuPressValues.d.ts.map +1 -0
- package/dist/hooks/menuPressValues.js +18 -0
- package/dist/hooks/useClickableContainer.d.ts +36 -7
- package/dist/hooks/useClickableContainer.d.ts.map +1 -1
- package/dist/hooks/useClickableContainer.js +63 -14
- package/dist/hooks/useFocusTrap.d.ts +10 -0
- package/dist/hooks/useFocusTrap.d.ts.map +1 -1
- package/dist/hooks/useFocusTrap.js +225 -132
- package/dist/hooks/useKeyboardHighlight.d.ts +17 -0
- package/dist/hooks/useKeyboardHighlight.d.ts.map +1 -0
- package/dist/hooks/useKeyboardHighlight.js +38 -0
- package/dist/hooks/useMediaQuery.d.ts +2 -1
- package/dist/hooks/useMediaQuery.d.ts.map +1 -1
- package/dist/hooks/useMediaQuery.js +37 -12
- package/dist/hooks/useMenuPress.d.ts +34 -1
- package/dist/hooks/useMenuPress.d.ts.map +1 -1
- package/dist/hooks/useMenuPress.js +93 -5
- package/dist/hooks/useOverflow.d.ts +10 -0
- package/dist/hooks/useOverflow.d.ts.map +1 -1
- package/dist/hooks/useOverflow.js +214 -23
- package/dist/hooks/usePressFeedback.d.ts +6 -6
- package/dist/hooks/usePressFeedback.js +6 -6
- package/dist/hooks/useScrollRegionProps.d.ts +35 -0
- package/dist/hooks/useScrollRegionProps.d.ts.map +1 -0
- package/dist/hooks/useScrollRegionProps.js +51 -0
- package/dist/i18n/InternationalizationContext.d.ts +6 -0
- package/dist/i18n/InternationalizationContext.d.ts.map +1 -1
- package/dist/i18n/InternationalizationProvider.d.ts +23 -3
- package/dist/i18n/InternationalizationProvider.d.ts.map +1 -1
- package/dist/i18n/InternationalizationProvider.js +8 -3
- package/dist/i18n/generated-english/DateInput/DateInput.generated.d.ts.map +1 -1
- package/dist/i18n/generated-english/DateInput/DateInput.generated.js +0 -1
- package/dist/i18n/generated-english/DateInput/useTypedDate.generated.d.ts +8 -0
- package/dist/i18n/generated-english/DateInput/useTypedDate.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/DateInput/useTypedDate.generated.js +16 -0
- package/dist/i18n/generated-english/DateTimeInput/DateTimeInput.generated.d.ts.map +1 -1
- package/dist/i18n/generated-english/DateTimeInput/DateTimeInput.generated.js +0 -1
- package/dist/i18n/generated-english/hooks/useScrollRegionProps.generated.d.ts +8 -0
- package/dist/i18n/generated-english/hooks/useScrollRegionProps.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/hooks/useScrollRegionProps.generated.js +12 -0
- package/dist/i18n/generated-locales/en.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/en.generated.js +5 -0
- package/dist/i18n/generated-locales/pseudo.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/pseudo.generated.js +5 -0
- package/dist/i18n/index.d.ts +2 -0
- package/dist/i18n/index.d.ts.map +1 -1
- package/dist/i18n/index.js +1 -0
- package/dist/i18n/useCalendarSystem.d.ts +19 -0
- package/dist/i18n/useCalendarSystem.d.ts.map +1 -0
- package/dist/i18n/useCalendarSystem.js +61 -0
- package/dist/internal/calendar-system.d.ts +18 -0
- package/dist/internal/calendar-system.d.ts.map +1 -0
- package/dist/internal/calendar-system.js +19 -0
- package/dist/internal/spinner-rotor.d.ts +16 -0
- package/dist/internal/spinner-rotor.d.ts.map +1 -0
- package/dist/internal/spinner-rotor.js +16 -0
- package/dist/internal/touch.d.ts +20 -2
- package/dist/internal/touch.d.ts.map +1 -1
- package/dist/internal/touch.js +29 -3
- package/dist/motion/animator.d.ts +5 -5
- package/dist/motion/animator.d.ts.map +1 -1
- package/dist/motion/animator.js +7 -6
- package/dist/motion/carryAnimations.d.ts +58 -0
- package/dist/motion/carryAnimations.d.ts.map +1 -0
- package/dist/motion/carryAnimations.js +305 -0
- package/dist/motion/transientCopy.d.ts +4 -2
- package/dist/motion/transientCopy.d.ts.map +1 -1
- package/dist/motion/transientCopy.js +34 -5
- package/dist/motion/uikit/gestures.d.ts +41 -0
- package/dist/motion/uikit/gestures.d.ts.map +1 -1
- package/dist/motion/uikit/gestures.js +25 -0
- package/dist/motion/uikit/index.d.ts +1 -1
- package/dist/motion/uikit/index.d.ts.map +1 -1
- package/dist/motion/uikit/index.js +1 -1
- package/dist/motion/uikit/timing.d.ts +14 -10
- package/dist/motion/uikit/timing.d.ts.map +1 -1
- package/dist/motion/uikit/timing.js +7 -5
- package/dist/privateAttributes/menuPressLit.stylex.d.ts +52 -0
- package/dist/privateAttributes/menuPressLit.stylex.d.ts.map +1 -0
- package/dist/privateAttributes/menuPressLit.stylex.js +99 -0
- package/dist/privateAttributes/press.stylex.d.ts +142 -0
- package/dist/privateAttributes/press.stylex.d.ts.map +1 -0
- package/dist/privateAttributes/press.stylex.js +101 -0
- package/dist/theme/themeMotion.d.ts +3 -2
- package/dist/theme/themeMotion.d.ts.map +1 -1
- package/dist/theme/themeMotion.js +3 -2
- package/dist/theme/tokens.stylex.d.ts +2 -2
- package/dist/theme/tokens.stylex.js +1 -1
- package/dist/utils/calendarDateParser.d.ts +110 -0
- package/dist/utils/calendarDateParser.d.ts.map +1 -0
- package/dist/utils/calendarDateParser.js +1225 -0
- package/dist/utils/calendarSystem.d.ts +176 -0
- package/dist/utils/calendarSystem.d.ts.map +1 -0
- package/dist/utils/calendarSystem.js +569 -0
- package/dist/utils/coarsePointer.d.ts +5 -0
- package/dist/utils/coarsePointer.d.ts.map +1 -1
- package/dist/utils/coarsePointer.js +22 -13
- package/dist/utils/flatTree.d.ts +6 -3
- package/dist/utils/flatTree.d.ts.map +1 -1
- package/dist/utils/flatTree.js +13 -3
- package/dist/utils/focusReturn.d.ts +34 -13
- package/dist/utils/focusReturn.d.ts.map +1 -1
- package/dist/utils/focusReturn.js +64 -17
- package/dist/utils/hitArea.d.ts +8 -1
- package/dist/utils/hitArea.d.ts.map +1 -1
- package/dist/utils/hitArea.js +99 -9
- package/dist/utils/inputPresentation.d.ts +9 -1
- package/dist/utils/inputPresentation.d.ts.map +1 -1
- package/dist/utils/inputPresentation.js +15 -1
- package/dist/utils/inputStream.d.ts +14 -1
- package/dist/utils/inputStream.d.ts.map +1 -1
- package/dist/utils/inputStream.js +40 -9
- package/dist/utils/interactionOverlay.stylex.d.ts +5 -9
- package/dist/utils/interactionOverlay.stylex.d.ts.map +1 -1
- package/dist/utils/interactionOverlay.stylex.js +29 -31
- package/dist/utils/plainDate.d.ts +38 -7
- package/dist/utils/plainDate.d.ts.map +1 -1
- package/dist/utils/plainDate.js +92 -18
- package/dist/utils/pressFeedback.d.ts +10 -2
- package/dist/utils/pressFeedback.d.ts.map +1 -1
- package/dist/utils/pressFeedback.js +40 -15
- package/dist/utils/pressGesture.d.ts +12 -6
- package/dist/utils/pressGesture.d.ts.map +1 -1
- package/dist/utils/pressGesture.js +26 -8
- package/dist/utils/scrollView.d.ts +25 -0
- package/dist/utils/scrollView.d.ts.map +1 -0
- package/dist/utils/scrollView.js +108 -0
- package/dist/utils/selectionLock.d.ts.map +1 -1
- package/dist/utils/selectionLock.js +1 -10
- package/dist/utils/touchHitArea.d.ts +30 -0
- package/dist/utils/touchHitArea.d.ts.map +1 -0
- package/dist/utils/touchHitArea.js +167 -0
- package/dist/utils/touchHitArea.stylex.d.ts +38 -0
- package/dist/utils/touchHitArea.stylex.d.ts.map +1 -0
- package/dist/utils/touchHitArea.stylex.js +48 -0
- package/dist/utils/triggerFocus.d.ts +5 -0
- package/dist/utils/triggerFocus.d.ts.map +1 -1
- package/dist/utils/triggerFocus.js +9 -2
- package/locales/en.json +21 -1
- package/locales/pseudo.json +15 -0
- package/package.json +15 -4
- package/src/AppShell/observeMainOverflow.ts +9 -6
- package/src/BottomSheet/BottomSheet.tsx +45 -3
- package/src/BottomSheet/BottomSheetPanel.tsx +64 -7
- package/src/BottomSheet/bottomSheetStack.ts +4 -3
- package/src/BottomSheet/useSheetGestures.ts +83 -20
- package/src/Calendar/Calendar.doc.mjs +76 -6
- package/src/Calendar/Calendar.tsx +123 -104
- package/src/Calendar/getInitialFocusDate.ts +22 -8
- package/src/Calendar/hooks/useCalendarDays.ts +89 -63
- package/src/Calendar/hooks/useCalendarNavigation.ts +68 -26
- package/src/CheckboxInput/CheckboxInput.doc.mjs +5 -4
- package/src/CheckboxInput/CheckboxInput.tsx +105 -20
- package/src/CheckboxInput/CheckboxRowPressContext.ts +22 -0
- package/src/CheckboxList/CheckboxList.doc.mjs +9 -0
- package/src/CheckboxList/CheckboxListItem.doc.mjs +3 -3
- package/src/CheckboxList/CheckboxListItem.tsx +35 -14
- package/src/ClickableCard/ClickableCard.tsx +8 -1
- package/src/ContextMenu/ContextMenu.tsx +2 -0
- package/src/DateInput/DateInput.doc.mjs +45 -12
- package/src/DateInput/DateInput.tsx +165 -179
- package/src/DateInput/MonthScroller.tsx +39 -37
- package/src/DateInput/MonthYearWheels.tsx +68 -47
- package/src/DateInput/PickerWheel.tsx +7 -2
- package/src/DateInput/TouchDateField.tsx +45 -17
- package/src/DateInput/monthGeometry.ts +110 -8
- package/src/DateInput/useCalendarPresentation.ts +64 -0
- package/src/DateInput/useTypedDate.ts +469 -0
- package/src/DateInput/wheelStrip.ts +2 -2
- package/src/DateRangeInput/DateRangeInput.doc.mjs +9 -0
- package/src/DateRangeInput/DateRangeInput.tsx +43 -9
- package/src/DateTimeInput/DateTimeInput.doc.mjs +42 -9
- package/src/DateTimeInput/DateTimeInput.tsx +138 -148
- package/src/DateTimeInput/TouchDateTimeField.tsx +31 -16
- package/src/Dialog/Dialog.doc.mjs +1 -1
- package/src/Dialog/Dialog.tsx +14 -2
- package/src/Drawer/Drawer.doc.mjs +1 -1
- package/src/Drawer/useDrawerDialogPresence.ts +9 -2
- package/src/DropdownMenu/DropdownMenu.doc.mjs +1 -2
- package/src/DropdownMenu/DropdownMenu.tsx +31 -7
- package/src/DropdownMenu/DropdownMenuCheckboxItem.tsx +5 -1
- package/src/DropdownMenu/DropdownMenuItem.tsx +8 -4
- package/src/DropdownMenu/DropdownMenuRadioItem.tsx +5 -1
- package/src/DropdownMenu/DropdownMenuSubMenu.tsx +5 -1
- package/src/FileInput/FileInput.tsx +16 -2
- package/src/HoverCard/useHoverCard.tsx +3 -1
- package/src/Icon/useIcon.doc.mjs +94 -0
- package/src/InfoTip/InfoTip.doc.mjs +26 -2
- package/src/InfoTip/InfoTip.tsx +6 -27
- package/src/InputGroup/InputGroup.doc.mjs +4 -3
- package/src/InputGroup/InputGroup.tsx +4 -3
- package/src/InputGroup/InputGroupText.doc.mjs +45 -3
- package/src/InputGroup/InputGroupText.tsx +2 -1
- package/src/InputGroup/groupStyles.ts +3 -1
- package/src/Item/Item.tsx +139 -35
- package/src/Item/ItemListRowContext.tsx +18 -0
- package/src/Layer/holdEntranceInput.ts +84 -0
- package/src/Layer/inputHold.ts +734 -0
- package/src/Layer/outsidePress.ts +18 -1
- package/src/Layer/preserveAnimations.ts +12 -275
- package/src/Layer/useBackdropPress.ts +41 -1
- package/src/Layer/useLayer.tsx +77 -4
- package/src/Layer/useTouchTrigger.ts +4 -0
- package/src/Layout/LayoutContent.doc.mjs +6 -3
- package/src/Layout/LayoutContent.tsx +10 -4
- package/src/Layout/LayoutPanel.doc.mjs +14 -11
- package/src/Layout/LayoutPanel.tsx +113 -16
- package/src/Lightbox/Lightbox.tsx +4 -0
- package/src/List/List.doc.mjs +10 -1
- package/src/List/List.tsx +5 -0
- package/src/List/ListItem.tsx +63 -8
- package/src/Markdown/parser.ts +65 -42
- package/src/MetadataList/MetadataList.tsx +1 -1
- package/src/MobileNav/MobileNav.doc.mjs +3 -3
- package/src/MobileNav/MobileNav.tsx +39 -1
- package/src/MoreMenu/MoreMenu.doc.mjs +2 -4
- package/src/MoreMenu/MoreMenu.tsx +5 -3
- package/src/MultiSelector/MultiSelector.tsx +7 -17
- package/src/NumberInput/NumberInput.doc.mjs +1 -1
- package/src/NumberInput/NumberInput.tsx +259 -11
- package/src/OverflowList/OverflowList.tsx +15 -9
- package/src/Popover/usePopover.tsx +1 -0
- package/src/PowerSearch/PowerSearch.doc.mjs +3 -3
- package/src/PowerSearch/PowerSearch.tsx +20 -3
- package/src/PowerSearch/PowerSearchBottomSheet.tsx +4 -1
- package/src/PowerSearch/PowerSearchToken.tsx +3 -0
- package/src/PowerSearch/formatFilterValue.ts +21 -11
- package/src/PowerSearch/formatTokenValue.ts +7 -1
- package/src/RadioList/RadioListItem.doc.mjs +3 -2
- package/src/RadioList/RadioListItem.tsx +16 -6
- package/src/Resizable/Resizable.doc.mjs +40 -12
- package/src/Resizable/ResizeHandle.tsx +68 -6
- package/src/Resizable/resizablePane.ts +179 -0
- package/src/Resizable/useResizable.ts +15 -0
- package/src/SegmentedControl/useSegmentedSelectionMotion.ts +3 -3
- package/src/SelectableCard/SelectableCard.tsx +8 -1
- package/src/Selector/Selector.tsx +83 -8
- package/src/SideNav/SideNav.doc.mjs +2 -2
- package/src/SideNav/SideNav.tsx +87 -12
- package/src/Slider/sliderTouchController.ts +2 -2
- package/src/Spinner/Spinner.tsx +7 -89
- package/src/Spinner/index.ts +1 -5
- package/src/Spinner/spinnerRotor.ts +113 -0
- package/src/Stack/Stack.doc.mjs +1 -1
- package/src/Stack/StackItem.tsx +27 -13
- package/src/Switch/Switch.tsx +7 -6
- package/src/Switch/useSwitchTouch.ts +4 -4
- package/src/TabList/Tab.tsx +5 -1
- package/src/Table/plugins/sortable/useTableSortable.tsx +1 -1
- package/src/Timestamp/Timestamp.doc.mjs +3 -3
- package/src/Timestamp/Timestamp.tsx +13 -8
- package/src/Timestamp/formatInstant.ts +49 -28
- package/src/Timestamp/tooltipEntries.ts +7 -3
- package/src/Token/Token.tsx +18 -1
- package/src/Token/TokenLink.tsx +7 -1
- package/src/Tokenizer/Tokenizer.doc.mjs +3 -3
- package/src/Tokenizer/Tokenizer.tsx +252 -115
- package/src/Tooltip/useTooltip.tsx +180 -80
- package/src/TreeList/TreeListItem.tsx +36 -2
- package/src/Typeahead/BaseTypeahead.tsx +2 -0
- package/src/animator/createAnimator.ts +3 -3
- package/src/gestures/GestureHost.ts +21 -5
- package/src/gestures/PanGestureRecognizer.ts +19 -2
- package/src/gestures/README.md +14 -5
- package/src/gestures/ScreenEdgePanGestureRecognizer.ts +6 -1
- package/src/gestures/nativeScroll.ts +12 -68
- package/src/gestures/wheelSegmenter.ts +243 -10
- package/src/hooks/StackItemScrollRegion.tsx +57 -0
- package/src/hooks/computeOverflow.ts +1 -1
- package/src/hooks/menuPressGesture.ts +244 -38
- package/src/hooks/menuPressValues.ts +18 -0
- package/src/hooks/useClickableContainer.doc.mjs +8 -2
- package/src/hooks/useClickableContainer.ts +93 -15
- package/src/hooks/useFocusTrap.ts +268 -151
- package/src/hooks/useKeyboardHighlight.ts +71 -0
- package/src/hooks/useMediaQuery.ts +41 -12
- package/src/hooks/useMenuPress.ts +118 -11
- package/src/hooks/useOverflow.ts +321 -75
- package/src/hooks/usePressFeedback.doc.mjs +3 -3
- package/src/hooks/usePressFeedback.ts +6 -6
- package/src/hooks/useScrollRegionProps.ts +76 -0
- package/src/i18n/InternationalizationContext.ts +6 -0
- package/src/i18n/InternationalizationProvider.doc.mjs +29 -1
- package/src/i18n/InternationalizationProvider.tsx +35 -3
- package/src/i18n/generated-english/DateInput/DateInput.generated.ts +0 -1
- package/src/i18n/generated-english/DateInput/useTypedDate.generated.ts +17 -0
- package/src/i18n/generated-english/DateTimeInput/DateTimeInput.generated.ts +0 -1
- package/src/i18n/generated-english/hooks/useScrollRegionProps.generated.ts +13 -0
- package/src/i18n/generated-locales/en.generated.ts +7 -0
- package/src/i18n/generated-locales/pseudo.generated.ts +7 -0
- package/src/i18n/index.ts +2 -0
- package/src/i18n/useCalendarSystem.ts +95 -0
- package/src/internal/calendar-system.ts +26 -0
- package/src/internal/spinner-rotor.ts +20 -0
- package/src/internal/touch.ts +43 -2
- package/src/motion/MEASUREMENTS.md +11 -0
- package/src/motion/README.md +3 -3
- package/src/motion/animator.ts +7 -7
- package/src/motion/carryAnimations.ts +389 -0
- package/src/motion/transientCopy.ts +45 -5
- package/src/motion/uikit/gestures.ts +22 -0
- package/src/motion/uikit/index.ts +1 -0
- package/src/motion/uikit/timing.ts +7 -5
- package/src/privateAttributes/menuPressLit.stylex.ts +104 -0
- package/src/privateAttributes/press.stylex.ts +261 -0
- package/src/theme/themeMotion.ts +3 -2
- package/src/theme/tokens.stylex.ts +1 -1
- package/src/utils/calendarDateParser.ts +1385 -0
- package/src/utils/calendarSystem.ts +832 -0
- package/src/utils/coarsePointer.ts +27 -14
- package/src/utils/flatTree.ts +15 -3
- package/src/utils/focusReturn.ts +78 -18
- package/src/utils/hitArea.ts +138 -9
- package/src/utils/inputPresentation.ts +21 -1
- package/src/utils/inputStream.ts +47 -10
- package/src/utils/interactionOverlay.stylex.ts +19 -22
- package/src/utils/plainDate.ts +130 -19
- package/src/utils/pressFeedback.ts +46 -14
- package/src/utils/pressGesture.ts +35 -9
- package/src/utils/scrollView.ts +135 -0
- package/src/utils/selectionLock.ts +5 -10
- package/src/utils/touchHitArea.stylex.ts +56 -0
- package/src/utils/touchHitArea.ts +177 -0
- package/src/utils/triggerFocus.ts +17 -4
|
@@ -86,6 +86,7 @@ import {
|
|
|
86
86
|
import {resolveOperatorLabel} from './resolveOperatorLabel';
|
|
87
87
|
import {themeProps} from '../utils/themeProps';
|
|
88
88
|
import {useLocale} from '../i18n/useLocale';
|
|
89
|
+
import {useCalendarSystem} from '../i18n/useCalendarSystem';
|
|
89
90
|
import type {Locale} from '../i18n/types';
|
|
90
91
|
import type {SearchableItem} from '../Typeahead/types';
|
|
91
92
|
import type {
|
|
@@ -242,6 +243,15 @@ const sheetTriggerStyles = stylex.create({
|
|
|
242
243
|
},
|
|
243
244
|
outline: 'none',
|
|
244
245
|
},
|
|
246
|
+
// A placeholder longer than the trigger ends in an ellipsis inside it, as
|
|
247
|
+
// Selector's value does. It never runs under the result count or past the
|
|
248
|
+
// field's border.
|
|
249
|
+
placeholder: {
|
|
250
|
+
minWidth: 0,
|
|
251
|
+
overflow: 'hidden',
|
|
252
|
+
textOverflow: 'ellipsis',
|
|
253
|
+
whiteSpace: 'nowrap',
|
|
254
|
+
},
|
|
245
255
|
// Once a token is present the empty trigger covers the token lane instead
|
|
246
256
|
// of reserving 40px or wrapping onto an otherwise blank row.
|
|
247
257
|
triggerWithTokens: {
|
|
@@ -590,6 +600,7 @@ export function PowerSearch({
|
|
|
590
600
|
const searchSource = usePowerSearchSource(config, maxSearchResults);
|
|
591
601
|
const t = useComponentTranslator();
|
|
592
602
|
const locale = useLocale();
|
|
603
|
+
const calendar = useCalendarSystem(undefined, 'PowerSearch');
|
|
593
604
|
const label = labelFromProps ?? t('@astryx.powersearch.label');
|
|
594
605
|
const placeholder =
|
|
595
606
|
placeholderFromProps ?? t('@astryx.powersearch.placeholder');
|
|
@@ -714,6 +725,7 @@ export function PowerSearch({
|
|
|
714
725
|
10,
|
|
715
726
|
),
|
|
716
727
|
locale,
|
|
728
|
+
calendar,
|
|
717
729
|
undefined,
|
|
718
730
|
undefined,
|
|
719
731
|
timezoneID,
|
|
@@ -721,7 +733,7 @@ export function PowerSearch({
|
|
|
721
733
|
: null;
|
|
722
734
|
return {label, value, full: value != null ? `${label} ${value}` : label};
|
|
723
735
|
},
|
|
724
|
-
[config, maxTokenLength, t, locale, timezoneID],
|
|
736
|
+
[config, maxTokenLength, t, locale, timezoneID, calendar],
|
|
725
737
|
);
|
|
726
738
|
// The built-in token being edited. A token from a `components` override
|
|
727
739
|
// names itself, so its editor keeps the plain popover.
|
|
@@ -872,6 +884,7 @@ export function PowerSearch({
|
|
|
872
884
|
t,
|
|
873
885
|
locale,
|
|
874
886
|
timezoneID,
|
|
887
|
+
calendar,
|
|
875
888
|
)
|
|
876
889
|
: '';
|
|
877
890
|
|
|
@@ -890,7 +903,7 @@ export function PowerSearch({
|
|
|
890
903
|
},
|
|
891
904
|
};
|
|
892
905
|
});
|
|
893
|
-
}, [filters, config, maxTokenLength, timezoneID, t, locale]);
|
|
906
|
+
}, [filters, config, maxTokenLength, timezoneID, t, locale, calendar]);
|
|
894
907
|
|
|
895
908
|
// Handle tokenizer onChange (field selected from typeahead)
|
|
896
909
|
const handleTokenizerChange = useCallback(
|
|
@@ -1544,7 +1557,11 @@ export function PowerSearch({
|
|
|
1544
1557
|
sheetTriggerStyles.trigger,
|
|
1545
1558
|
filters.length > 0 && sheetTriggerStyles.triggerWithTokens,
|
|
1546
1559
|
)}>
|
|
1547
|
-
{filters.length === 0 ?
|
|
1560
|
+
{filters.length === 0 ? (
|
|
1561
|
+
<span {...stylex.props(sheetTriggerStyles.placeholder)}>
|
|
1562
|
+
{placeholder}
|
|
1563
|
+
</span>
|
|
1564
|
+
) : null}
|
|
1548
1565
|
</button>
|
|
1549
1566
|
</div>
|
|
1550
1567
|
{(endContent || isRenderable(resultCountText)) && (
|
|
@@ -76,6 +76,7 @@ import {useAnnounce, type AnnounceFn} from '../hooks/useAnnounce';
|
|
|
76
76
|
import type {TranslatorFn} from '../i18n';
|
|
77
77
|
import {useListFormatter} from '../i18n/useListFormatter';
|
|
78
78
|
import {useLocale} from '../i18n/useLocale';
|
|
79
|
+
import {useCalendarSystem} from '../i18n/useCalendarSystem';
|
|
79
80
|
import {SheetConfirmation} from '../internal/SheetConfirmation';
|
|
80
81
|
import {useDismissSearchOnTouchDrag} from '../internal/useDismissSearchOnTouchDrag';
|
|
81
82
|
import {
|
|
@@ -968,6 +969,7 @@ export function PowerSearchBottomSheet({
|
|
|
968
969
|
const {NestedEditor} = editors;
|
|
969
970
|
const t = useComponentTranslator();
|
|
970
971
|
const locale = useLocale();
|
|
972
|
+
const calendar = useCalendarSystem(undefined, 'PowerSearch');
|
|
971
973
|
const formatList = useListFormatter();
|
|
972
974
|
const isInteractive = !isDisabled && !isReadOnly;
|
|
973
975
|
|
|
@@ -1524,13 +1526,14 @@ export function PowerSearchBottomSheet({
|
|
|
1524
1526
|
filter.value,
|
|
1525
1527
|
Number.MAX_SAFE_INTEGER,
|
|
1526
1528
|
locale,
|
|
1529
|
+
calendar,
|
|
1527
1530
|
t,
|
|
1528
1531
|
formatList,
|
|
1529
1532
|
timezoneID,
|
|
1530
1533
|
);
|
|
1531
1534
|
return {label, value};
|
|
1532
1535
|
},
|
|
1533
|
-
[config, editors, formatList, locale, t, timezoneID],
|
|
1536
|
+
[calendar, config, editors, formatList, locale, t, timezoneID],
|
|
1534
1537
|
);
|
|
1535
1538
|
const describeFilter = useCallback(
|
|
1536
1539
|
(filter: PowerSearchFilter): string => {
|
|
@@ -13,6 +13,7 @@ import React from 'react';
|
|
|
13
13
|
import * as stylex from '@stylexjs/stylex';
|
|
14
14
|
import {Token} from '../Token';
|
|
15
15
|
import {useLocale} from '../i18n/useLocale';
|
|
16
|
+
import {useCalendarSystem} from '../i18n/useCalendarSystem';
|
|
16
17
|
import {fontWeightVars} from '../theme/tokens.stylex';
|
|
17
18
|
import {formatFilterValue} from './formatFilterValue';
|
|
18
19
|
import {resolveOperatorLabel} from './resolveOperatorLabel';
|
|
@@ -47,6 +48,7 @@ export function PowerSearchToken({
|
|
|
47
48
|
const config = useInternalConfig(configProp);
|
|
48
49
|
const t = useComponentTranslator();
|
|
49
50
|
const locale = useLocale();
|
|
51
|
+
const calendar = useCalendarSystem(undefined, 'PowerSearchToken');
|
|
50
52
|
|
|
51
53
|
const fieldLabel = field.label;
|
|
52
54
|
const resolvedOperatorLabel = resolveOperatorLabel(operator, t);
|
|
@@ -68,6 +70,7 @@ export function PowerSearchToken({
|
|
|
68
70
|
t,
|
|
69
71
|
locale,
|
|
70
72
|
timezoneID,
|
|
73
|
+
calendar,
|
|
71
74
|
);
|
|
72
75
|
|
|
73
76
|
const valueContent = valueStr ? (
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @file formatFilterValue.ts
|
|
5
|
-
* @input OperatorValue, FilterValue, config
|
|
5
|
+
* @input OperatorValue, FilterValue, config, locale, time zone, calendar
|
|
6
6
|
* @output Formatted display string for a filter value
|
|
7
7
|
* @position Pure utility; consumed by PowerSearch token rendering
|
|
8
8
|
*
|
|
@@ -13,6 +13,10 @@
|
|
|
13
13
|
import type {OperatorValue, FilterValue, EnumItem} from './types';
|
|
14
14
|
import type {InternalConfig} from './useInternalConfig';
|
|
15
15
|
import type {Locale, TranslatorFn} from '../i18n';
|
|
16
|
+
import {
|
|
17
|
+
formatCalendarInstant,
|
|
18
|
+
type CalendarSystem,
|
|
19
|
+
} from '../utils/calendarSystem';
|
|
16
20
|
import {truncateCharacters} from '../utils/characters';
|
|
17
21
|
import {registerEnglishFallback} from '../i18n/englishFallback';
|
|
18
22
|
import english from '../i18n/generated-english/PowerSearch/formatFilterValue.generated';
|
|
@@ -67,25 +71,24 @@ export function formatDateAbsolute(
|
|
|
67
71
|
locale: Locale,
|
|
68
72
|
timezoneID: string | undefined,
|
|
69
73
|
isDateOnly = true,
|
|
74
|
+
calendar: CalendarSystem = 'gregory',
|
|
70
75
|
): string {
|
|
71
76
|
const options: Intl.DateTimeFormatOptions = isDateOnly
|
|
72
|
-
? {
|
|
73
|
-
year: 'numeric',
|
|
74
|
-
month: 'short',
|
|
75
|
-
day: 'numeric',
|
|
76
|
-
timeZone: resolveDateZone(timezoneID, true),
|
|
77
|
-
calendar: 'gregory',
|
|
78
|
-
}
|
|
77
|
+
? {year: 'numeric', month: 'short', day: 'numeric'}
|
|
79
78
|
: {
|
|
80
79
|
year: 'numeric',
|
|
81
80
|
month: 'short',
|
|
82
81
|
day: 'numeric',
|
|
83
82
|
hour: 'numeric',
|
|
84
83
|
minute: '2-digit',
|
|
85
|
-
timeZone: resolveDateZone(timezoneID, false),
|
|
86
|
-
calendar: 'gregory',
|
|
87
84
|
};
|
|
88
|
-
return
|
|
85
|
+
return formatCalendarInstant(
|
|
86
|
+
calendar,
|
|
87
|
+
new Date(unixSeconds * 1000),
|
|
88
|
+
options,
|
|
89
|
+
locale,
|
|
90
|
+
resolveDateZone(timezoneID, isDateOnly),
|
|
91
|
+
);
|
|
89
92
|
}
|
|
90
93
|
|
|
91
94
|
function formatRelativeDate(value: string): string {
|
|
@@ -100,6 +103,11 @@ function formatDateRange(
|
|
|
100
103
|
return t('@astryx.powersearch.valueEditor.dateRange');
|
|
101
104
|
}
|
|
102
105
|
|
|
106
|
+
/**
|
|
107
|
+
* The display text of a filter value. A `date_absolute` value is written in
|
|
108
|
+
* `calendar`, which defaults to Gregorian; PowerSearch passes the calendar that
|
|
109
|
+
* its provider resolves.
|
|
110
|
+
*/
|
|
103
111
|
export function formatFilterValue(
|
|
104
112
|
_config: InternalConfig,
|
|
105
113
|
operatorValue: OperatorValue,
|
|
@@ -108,6 +116,7 @@ export function formatFilterValue(
|
|
|
108
116
|
t: TranslatorFn,
|
|
109
117
|
locale: Locale,
|
|
110
118
|
timezoneID?: string,
|
|
119
|
+
calendar: CalendarSystem = 'gregory',
|
|
111
120
|
): string {
|
|
112
121
|
switch (filterValue.type) {
|
|
113
122
|
case 'empty':
|
|
@@ -210,6 +219,7 @@ export function formatFilterValue(
|
|
|
210
219
|
timezoneID,
|
|
211
220
|
operatorValue.type !== 'date_absolute' ||
|
|
212
221
|
operatorValue.isDateOnly !== false,
|
|
222
|
+
calendar,
|
|
213
223
|
),
|
|
214
224
|
maxLength,
|
|
215
225
|
);
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
/**
|
|
4
4
|
* @fileoverview The text a PowerSearch filter token shows for a value.
|
|
5
5
|
*
|
|
6
|
-
* @input `OperatorValue`, `FilterValue`, a width budget, and the
|
|
6
|
+
* @input `OperatorValue`, `FilterValue`, a width budget, the locale, and the
|
|
7
|
+
* calendar.
|
|
7
8
|
* @output `formatTokenValueText` — one string, or null for an empty value.
|
|
8
9
|
* @position Shared by the token itself (`PowerSearch.tsx`) and the sheet
|
|
9
10
|
* presentation's Filters rows and removal announcement
|
|
@@ -13,6 +14,7 @@
|
|
|
13
14
|
|
|
14
15
|
import type {OperatorValue, FilterValue, EnumItem} from './types';
|
|
15
16
|
import type {Locale, TranslatorFn} from '../i18n';
|
|
17
|
+
import type {CalendarSystem} from '../utils/calendarSystem';
|
|
16
18
|
import {truncateCharacters} from '../utils/characters';
|
|
17
19
|
import {formatDateAbsolute, formatSharedNumber} from './formatFilterValue';
|
|
18
20
|
import {registerEnglishFallback} from '../i18n/englishFallback';
|
|
@@ -103,6 +105,8 @@ function formatListText(
|
|
|
103
105
|
* the sheet presentation's Filters rows and its removal announcement — can
|
|
104
106
|
* use the same words and the same zone handling. `maxLength` is the token's
|
|
105
107
|
* width budget; pass `Number.MAX_SAFE_INTEGER` for the untruncated text.
|
|
108
|
+
* A `date_absolute` value is written in `calendar`, the calendar that the
|
|
109
|
+
* provider resolves.
|
|
106
110
|
* With `t`, the list, date-range and nested summaries resolve through the
|
|
107
111
|
* catalog (`@astryx.powersearch.valueEditor.*`); without it they are the
|
|
108
112
|
* token's own literals. With `formatList` (the provider's list formatter),
|
|
@@ -114,6 +118,7 @@ export function formatTokenValueText(
|
|
|
114
118
|
filterValue: FilterValue,
|
|
115
119
|
maxLength: number,
|
|
116
120
|
locale: Locale,
|
|
121
|
+
calendar: CalendarSystem,
|
|
117
122
|
t?: TranslatorFn,
|
|
118
123
|
formatList?: ListFormatFn,
|
|
119
124
|
timezoneID?: string,
|
|
@@ -182,6 +187,7 @@ export function formatTokenValueText(
|
|
|
182
187
|
timezoneID,
|
|
183
188
|
operatorValue.type !== 'date_absolute' ||
|
|
184
189
|
operatorValue.isDateOnly !== false,
|
|
190
|
+
calendar,
|
|
185
191
|
),
|
|
186
192
|
maxLength,
|
|
187
193
|
);
|
|
@@ -8,7 +8,7 @@ export const docs = {
|
|
|
8
8
|
displayName: 'Radio List Item',
|
|
9
9
|
isHiddenFromOverview: true,
|
|
10
10
|
description:
|
|
11
|
-
'Individual radio item with label, description, and content slots.',
|
|
11
|
+
'Individual radio item with label, description, and content slots. Under a coarse pointer an enabled option’s target grows toward 44 px through an invisible hit area. It never shrinks below the row and stops at half the gap to a closer neighbour; the row keeps its size. That hit area is the row’s `::after`, so decorate a row with a child.',
|
|
12
12
|
// RadioListItem requires RadioList context; wrap it so the preview doesn't throw.
|
|
13
13
|
playground: {
|
|
14
14
|
defaults: {value: 'option-1', label: 'Option'},
|
|
@@ -97,7 +97,8 @@ export const docsZh = {
|
|
|
97
97
|
name: 'RadioListItem',
|
|
98
98
|
isHiddenFromOverview: true,
|
|
99
99
|
displayName: 'Radio List Item',
|
|
100
|
-
description:
|
|
100
|
+
description:
|
|
101
|
+
'单个单选选项,包含标签、描述和内容插槽。在粗指针(触摸)下,已启用选项的目标通过不可见的点击区域向 44 px 扩展。它不小于所在行,与相邻控件较近时止于间距的一半;行尺寸不变。该点击区域是行的 `::after`,因此请用子元素装饰行。',
|
|
101
102
|
props: [
|
|
102
103
|
{
|
|
103
104
|
name: 'label',
|
|
@@ -32,9 +32,13 @@ import {rtlStyles} from '../utils/rtlStyles';
|
|
|
32
32
|
import {indicatorScope} from '../Indicator/indicator.markers.stylex';
|
|
33
33
|
import {useIndicatorFocusRing} from '../hooks/useIndicatorFocusRing';
|
|
34
34
|
import {usePressFeedback} from '../hooks/usePressFeedback';
|
|
35
|
+
import {useMergedRefs} from '../hooks/useMergedRefs';
|
|
36
|
+
import {useTouchHitArea} from '../utils/touchHitArea';
|
|
37
|
+
import {touchHitAreaStyles} from '../utils/touchHitArea.stylex';
|
|
35
38
|
import {useIndicator} from '../Indicator/useIndicator';
|
|
36
39
|
import {Item, type ItemAlign} from '../Item/Item';
|
|
37
40
|
import {themeProps} from '../utils/themeProps';
|
|
41
|
+
import {rowPressLayerStyles} from '../privateAttributes/press.stylex';
|
|
38
42
|
|
|
39
43
|
// The touch press's paint, declared by the shared overlay styles on the
|
|
40
44
|
// element the controller writes to (`pressedAlpha`) at the press's strength,
|
|
@@ -147,11 +151,6 @@ const rowStyles = stylex.create({
|
|
|
147
151
|
// Suppress Item's interactive hover/press background so the resting and
|
|
148
152
|
// hovered row look identical by default (a theme can restyle either).
|
|
149
153
|
backgroundColor: 'transparent',
|
|
150
|
-
// ...and the touch press's overlay image, for the same reason: under a
|
|
151
|
-
// finger only the radio circle paints, as under a mouse. The press's
|
|
152
|
-
// strength still lands on the row, which is where the layer over the
|
|
153
|
-
// circle reads it.
|
|
154
|
-
backgroundImage: 'none',
|
|
155
154
|
},
|
|
156
155
|
// The mouse press (a finger's lives on `data-astryx-press`): the row is
|
|
157
156
|
// pressed, but not through a nested link or button, which keep their own
|
|
@@ -309,6 +308,13 @@ export function RadioListItem({
|
|
|
309
308
|
// `<label htmlFor>` would double-fire under delegation.
|
|
310
309
|
const radioRef = useRef<HTMLInputElement>(null);
|
|
311
310
|
|
|
311
|
+
// Under a coarse pointer an option's row grows toward 44 px through an
|
|
312
|
+
// invisible band, and the row keeps its size. A tap on the band lands on
|
|
313
|
+
// the row, which hands it to the radio. The band's insets stay live while
|
|
314
|
+
// the row takes taps, and clear when it stops.
|
|
315
|
+
const watchRowHitArea = useTouchHitArea(!isDisabled);
|
|
316
|
+
const mergedRowRef = useMergedRefs(ref, watchRowHitArea);
|
|
317
|
+
|
|
312
318
|
const radioCircle = (
|
|
313
319
|
<div
|
|
314
320
|
{...stylex.props(
|
|
@@ -391,7 +397,7 @@ export function RadioListItem({
|
|
|
391
397
|
|
|
392
398
|
return (
|
|
393
399
|
<Item
|
|
394
|
-
ref={
|
|
400
|
+
ref={mergedRowRef}
|
|
395
401
|
{...(isDisabled ? undefined : pressable)}
|
|
396
402
|
startContent={mediaContent}
|
|
397
403
|
// Delegate row-surface clicks (label text, description, and the empty
|
|
@@ -414,12 +420,16 @@ export function RadioListItem({
|
|
|
414
420
|
// the painting row element (Item), the same element that carries the
|
|
415
421
|
// theme target, so a theme's hover styling stays in step with the tint.
|
|
416
422
|
!isDisabled && indicatorScope,
|
|
423
|
+
// The row keeps no press paint of its own: the circle paints, and
|
|
424
|
+
// reads the strength whose release the row keeps.
|
|
425
|
+
rowPressLayerStyles.cellWithoutLayer,
|
|
417
426
|
// Restore the bare default look: zero Item's padding/radius and its
|
|
418
427
|
// interactive hover/press background. Applied after Item's own base
|
|
419
428
|
// styles so it wins within the base layer; a `radio-list-item` theme
|
|
420
429
|
// still overrides it from the higher `astryx-theme` layer.
|
|
421
430
|
rowStyles.root,
|
|
422
431
|
!isDisabled && rowStyles.press,
|
|
432
|
+
!isDisabled && touchHitAreaStyles.layer,
|
|
423
433
|
xstyle,
|
|
424
434
|
] as StyleXStyles
|
|
425
435
|
}
|
|
@@ -45,7 +45,7 @@ export const docs = {
|
|
|
45
45
|
description:
|
|
46
46
|
'Hook-based resizable panel system. useResizable() manages size state ' +
|
|
47
47
|
'and ResizeHandle provides the interactive pill-grip separator. ' +
|
|
48
|
-
|
|
48
|
+
"Pass the hook's output to existing layout components via their resizable prop.",
|
|
49
49
|
bestPractices: [
|
|
50
50
|
{
|
|
51
51
|
guidance: true,
|
|
@@ -56,7 +56,7 @@ export const docs = {
|
|
|
56
56
|
guidance: true,
|
|
57
57
|
description:
|
|
58
58
|
'Use useResizable() with existing Astryx layout components. ' +
|
|
59
|
-
'Pass
|
|
59
|
+
'Pass its output to the resizable prop on LayoutPanel, ResizeHandle or SideNav; any other element can use its size.',
|
|
60
60
|
},
|
|
61
61
|
{
|
|
62
62
|
guidance: true,
|
|
@@ -88,7 +88,7 @@ export const docs = {
|
|
|
88
88
|
examples: [
|
|
89
89
|
{
|
|
90
90
|
label: 'Structured fixed pixels',
|
|
91
|
-
code: `const
|
|
91
|
+
code: `const resizable = useResizable({
|
|
92
92
|
defaultSize: pixel(333),
|
|
93
93
|
containerRef,
|
|
94
94
|
});`,
|
|
@@ -101,16 +101,44 @@ import {percent, pixel} from '@astryxdesign/core/Resizable/utils';
|
|
|
101
101
|
|
|
102
102
|
const containerRef = useRef<HTMLDivElement>(null);
|
|
103
103
|
|
|
104
|
-
const
|
|
104
|
+
const resizable = useResizable({
|
|
105
105
|
defaultSize: percent(40, {min: pixel(333)}),
|
|
106
106
|
containerRef,
|
|
107
107
|
});
|
|
108
108
|
|
|
109
|
-
<ResizeHandle direction="horizontal" resizable={
|
|
109
|
+
<ResizeHandle direction="horizontal" resizable={resizable} />;`,
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
label: 'Any element, sized by the hook',
|
|
113
|
+
code: `'use client';
|
|
114
|
+
|
|
115
|
+
import * as stylex from '@stylexjs/stylex';
|
|
116
|
+
import {Card} from '@astryxdesign/core/Card';
|
|
117
|
+
import {ResizeHandle, useResizable} from '@astryxdesign/core/Resizable';
|
|
118
|
+
import {Stack} from '@astryxdesign/core/Stack';
|
|
119
|
+
import {Text} from '@astryxdesign/core/Text';
|
|
120
|
+
|
|
121
|
+
const styles = stylex.create({
|
|
122
|
+
// The hook's size as a dynamic style; the card keeps it in the row.
|
|
123
|
+
preview: (width: number) => ({width, flexShrink: 0}),
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
export default function InvoicePreviewSplit() {
|
|
127
|
+
const resizable = useResizable({defaultSize: 320, minSize: 240, maxSize: 480});
|
|
128
|
+
return (
|
|
129
|
+
<Stack direction="horizontal">
|
|
130
|
+
<Card xstyle={styles.preview(resizable.size)}>
|
|
131
|
+
<Text>Invoice INV-2041, $1,280.00, due Nov 18</Text>
|
|
132
|
+
</Card>
|
|
133
|
+
<ResizeHandle resizable={resizable} label="Resize invoice preview" />
|
|
134
|
+
<Text>Line items, payments and notes for the selected invoice.</Text>
|
|
135
|
+
</Stack>
|
|
136
|
+
);
|
|
137
|
+
}`,
|
|
110
138
|
},
|
|
111
139
|
{
|
|
112
140
|
label: 'Live percentage floor',
|
|
113
|
-
code: `const
|
|
141
|
+
code: `const resizable = useResizable({
|
|
114
142
|
defaultSize: 0,
|
|
115
143
|
minSize: percent(40, {min: pixel(333)}),
|
|
116
144
|
containerRef,
|
|
@@ -118,7 +146,7 @@ const region = useResizable({
|
|
|
118
146
|
},
|
|
119
147
|
{
|
|
120
148
|
label: 'Live percentage ceiling',
|
|
121
|
-
code: `const
|
|
149
|
+
code: `const resizable = useResizable({
|
|
122
150
|
defaultSize: 500,
|
|
123
151
|
maxSize: percent(10, {max: pixel(400)}),
|
|
124
152
|
containerRef,
|
|
@@ -236,9 +264,9 @@ const region = useResizable({
|
|
|
236
264
|
},
|
|
237
265
|
{
|
|
238
266
|
name: 'resizable',
|
|
239
|
-
type: 'ResizableProps',
|
|
267
|
+
type: 'ResizableRegion | ResizableProps',
|
|
240
268
|
description:
|
|
241
|
-
"
|
|
269
|
+
"The output of useResizable, or its props: connects handle to panel. Carries the region's axis ('horizontal' | 'vertical'), which must match this handle's direction.",
|
|
242
270
|
required: true,
|
|
243
271
|
},
|
|
244
272
|
{
|
|
@@ -265,12 +293,12 @@ export const docsDense = {
|
|
|
265
293
|
usage: {
|
|
266
294
|
anatomy,
|
|
267
295
|
description:
|
|
268
|
-
'Hook-based resizable panel system. useResizable() manages size state; ResizeHandle provides interactive pill-grip separator. Pass
|
|
296
|
+
'Hook-based resizable panel system. useResizable() manages size state; ResizeHandle provides interactive pill-grip separator. Pass the hook output to existing layout components via their resizable prop.',
|
|
269
297
|
bestPractices: [
|
|
270
298
|
{
|
|
271
299
|
guidance: true,
|
|
272
300
|
description:
|
|
273
|
-
'Use useResizable() w/ existing Astryx layout components. Pass
|
|
301
|
+
'Use useResizable() w/ existing Astryx layout components. Pass its output to resizable prop on LayoutPanel, ResizeHandle or SideNav.',
|
|
274
302
|
},
|
|
275
303
|
{
|
|
276
304
|
guidance: true,
|
|
@@ -320,7 +348,7 @@ export const docsDense = {
|
|
|
320
348
|
pillPlacement:
|
|
321
349
|
'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',
|
|
322
350
|
label: 'accessible label for separator',
|
|
323
|
-
resizable: '
|
|
351
|
+
resizable: 'useResizable output or its props: connects handle to panel',
|
|
324
352
|
},
|
|
325
353
|
},
|
|
326
354
|
],
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* embedded frame still arrive.
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
|
-
import {useEffect, useRef, useState} from 'react';
|
|
15
|
+
import {useCallback, useEffect, useReducer, useRef, useState} from 'react';
|
|
16
16
|
import type {HTMLAttributes, ReactNode} from 'react';
|
|
17
17
|
import * as stylex from '@stylexjs/stylex';
|
|
18
18
|
import type {BaseProps} from '../BaseProps';
|
|
@@ -28,18 +28,29 @@ import {mergeProps, rtlStyles} from '../utils';
|
|
|
28
28
|
import {
|
|
29
29
|
getCollapseControls,
|
|
30
30
|
getEffectiveMaxPx,
|
|
31
|
+
resizablePropsOf,
|
|
31
32
|
type ResizableProps,
|
|
33
|
+
type ResizableRegion,
|
|
32
34
|
} from './useResizable';
|
|
33
35
|
import {
|
|
34
36
|
createResizeGesture,
|
|
35
37
|
type ResizeGesture,
|
|
36
38
|
type ResizeGestureModel,
|
|
37
39
|
} from './resizeGesture';
|
|
40
|
+
import {
|
|
41
|
+
handOverPane,
|
|
42
|
+
registerResizeHandle,
|
|
43
|
+
resizablePaneFor,
|
|
44
|
+
watchResizablePanes,
|
|
45
|
+
type ResizablePane,
|
|
46
|
+
} from './resizablePane';
|
|
38
47
|
import {separatorAttributes} from './separatorAttributes';
|
|
39
48
|
import {themeProps} from '../utils/themeProps';
|
|
40
49
|
|
|
41
50
|
import {useDevWarning} from '../hooks/useDevWarning';
|
|
51
|
+
import {useIsomorphicLayoutEffect} from '../hooks/useIsomorphicLayoutEffect';
|
|
42
52
|
import {useMergedRefs} from '../hooks/useMergedRefs';
|
|
53
|
+
import {useInteractionModalityTracking} from '../utils/interactionModality';
|
|
43
54
|
import {
|
|
44
55
|
registerEnglishFallback,
|
|
45
56
|
useComponentTranslator,
|
|
@@ -369,8 +380,8 @@ export interface ResizeHandleProps extends Omit<
|
|
|
369
380
|
*/
|
|
370
381
|
label?: string;
|
|
371
382
|
|
|
372
|
-
/**
|
|
373
|
-
resizable?: ResizableProps;
|
|
383
|
+
/** The output of `useResizable()`, or its `props`. */
|
|
384
|
+
resizable?: ResizableRegion | ResizableProps;
|
|
374
385
|
|
|
375
386
|
/** Custom handle content. Overrides the default pill. */
|
|
376
387
|
children?: ReactNode;
|
|
@@ -386,7 +397,7 @@ export interface ResizeHandleProps extends Omit<
|
|
|
386
397
|
* @example
|
|
387
398
|
* ```
|
|
388
399
|
* <ResizeHandle
|
|
389
|
-
* resizable={
|
|
400
|
+
* resizable={resizable}
|
|
390
401
|
* direction="horizontal"
|
|
391
402
|
* hasDivider />
|
|
392
403
|
* ```
|
|
@@ -401,13 +412,15 @@ export function ResizeHandle({
|
|
|
401
412
|
isAlwaysVisible = true,
|
|
402
413
|
pillPlacement = 'auto',
|
|
403
414
|
label: labelFromProps,
|
|
404
|
-
resizable,
|
|
415
|
+
resizable: resizableValue,
|
|
405
416
|
children,
|
|
406
417
|
xstyle,
|
|
407
418
|
className,
|
|
408
419
|
ref,
|
|
409
420
|
...props
|
|
410
421
|
}: ResizeHandleProps) {
|
|
422
|
+
const resizable =
|
|
423
|
+
resizableValue == null ? undefined : resizablePropsOf(resizableValue);
|
|
411
424
|
const t = useComponentTranslator();
|
|
412
425
|
const label = labelFromProps ?? t('@astryx.resizable.handle.label');
|
|
413
426
|
const handleRef = useRef<HTMLDivElement>(null);
|
|
@@ -529,6 +542,55 @@ export function ResizeHandle({
|
|
|
529
542
|
};
|
|
530
543
|
}, [hasRegion, regionGesture]);
|
|
531
544
|
|
|
545
|
+
// --- The LayoutPanel beside a handle given `resizable` props ---
|
|
546
|
+
|
|
547
|
+
// A collapsing panel moves focus here, and the ring follows the last input.
|
|
548
|
+
const {ref: modalityRef} = useInteractionModalityTracking();
|
|
549
|
+
// A LayoutPanel at the region's size, with no `resizable` prop, has no
|
|
550
|
+
// controller to find it. This handle holds it collapsed with the region, so
|
|
551
|
+
// focus inside it moves here and it goes inert. A panel lent later is found
|
|
552
|
+
// at once.
|
|
553
|
+
const [, rerender] = useReducer((count: number) => count + 1, 0);
|
|
554
|
+
const heldPaneRef = useRef<ResizablePane | null>(null);
|
|
555
|
+
// The element goes in the handle registry, for a collapsing panel beside it
|
|
556
|
+
// to hand focus to. When the element goes, a held panel opens.
|
|
557
|
+
const registryRef = useCallback((element: HTMLDivElement | null) => {
|
|
558
|
+
if (element == null) {
|
|
559
|
+
return;
|
|
560
|
+
}
|
|
561
|
+
const unregister = registerResizeHandle(element);
|
|
562
|
+
return () => {
|
|
563
|
+
unregister();
|
|
564
|
+
heldPaneRef.current = handOverPane(
|
|
565
|
+
heldPaneRef.current,
|
|
566
|
+
null,
|
|
567
|
+
false,
|
|
568
|
+
null,
|
|
569
|
+
);
|
|
570
|
+
};
|
|
571
|
+
}, []);
|
|
572
|
+
const isRegionCollapsed = resizable?._isCollapsed ?? false;
|
|
573
|
+
// Syncs with the lent-panel registry. A panel lent or taken back re-renders
|
|
574
|
+
// this handle, so it looks for its pane again.
|
|
575
|
+
useEffect(
|
|
576
|
+
() => (hasRegion ? watchResizablePanes(rerender) : undefined),
|
|
577
|
+
[hasRegion],
|
|
578
|
+
);
|
|
579
|
+
// Syncs the held panel with the region's collapse state after each commit.
|
|
580
|
+
useIsomorphicLayoutEffect(() => {
|
|
581
|
+
const element = handleRef.current;
|
|
582
|
+
const pane =
|
|
583
|
+
hasRegion && element != null
|
|
584
|
+
? resizablePaneFor(element, isReversed)
|
|
585
|
+
: null;
|
|
586
|
+
heldPaneRef.current = handOverPane(
|
|
587
|
+
heldPaneRef.current,
|
|
588
|
+
pane,
|
|
589
|
+
isRegionCollapsed,
|
|
590
|
+
element,
|
|
591
|
+
);
|
|
592
|
+
});
|
|
593
|
+
|
|
532
594
|
// --- ARIA ---
|
|
533
595
|
const sizeNow = resizable?._size;
|
|
534
596
|
const minNow = resizable?._minSizePx;
|
|
@@ -587,7 +649,7 @@ export function ResizeHandle({
|
|
|
587
649
|
|
|
588
650
|
return (
|
|
589
651
|
<div
|
|
590
|
-
ref={useMergedRefs(ref, handleRef)}
|
|
652
|
+
ref={useMergedRefs(ref, handleRef, registryRef, modalityRef)}
|
|
591
653
|
role="separator"
|
|
592
654
|
{...aria}
|
|
593
655
|
aria-label={label}
|