@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
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* - /packages/core/src/Tooltip/index.ts
|
|
14
14
|
*/
|
|
15
15
|
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
16
|
-
import { createTriggerFocusGate } from "../utils/triggerFocus.js";
|
|
16
|
+
import { createTriggerFocusGate, isFocusOnTrigger } from "../utils/triggerFocus.js";
|
|
17
17
|
import * as stylex from '@stylexjs/stylex';
|
|
18
18
|
import { useLayerInternal } from "../Layer/useLayer.js";
|
|
19
19
|
import { useTouchTriggerInternal } from "../Layer/useTouchTrigger.js";
|
|
@@ -21,6 +21,7 @@ import { useAnnounceRenderedText } from "../hooks/useAnnounceRenderedText.js";
|
|
|
21
21
|
import { useMergedRefs } from "../hooks/useMergedRefs.js";
|
|
22
22
|
import { layerAnimations } from "../Layer/layerAnimations.stylex.js";
|
|
23
23
|
import { registerLayerSurface } from "../Layer/layerSurfacePress.js";
|
|
24
|
+
import { noteOutsideDismissal } from "../Layer/outsidePress.js";
|
|
24
25
|
import { useLayerDismissal } from "../Layer/useLayerDismissal.js";
|
|
25
26
|
import { themeProps } from "../utils/themeProps.js";
|
|
26
27
|
import "../theme/tokens.stylex.js";
|
|
@@ -116,6 +117,17 @@ export function useTooltip(options = {}) {
|
|
|
116
117
|
const showTimeoutRef = useRef(null);
|
|
117
118
|
const hideTimeoutRef = useRef(null);
|
|
118
119
|
const triggerRef = useRef(null);
|
|
120
|
+
// Whether the tooltip is enabled now, for a show that runs after a render
|
|
121
|
+
// (a pending hover show) and for the trigger ref callback.
|
|
122
|
+
const isEnabledRef = useRef(isEnabled);
|
|
123
|
+
isEnabledRef.current = isEnabled;
|
|
124
|
+
// Counts the renders in which the tooltip is disabled. A pending show
|
|
125
|
+
// records it, so a show scheduled before a disable is dropped even when
|
|
126
|
+
// the tooltip is enabled again before the timer fires.
|
|
127
|
+
const disabledRendersRef = useRef(0);
|
|
128
|
+
if (!isEnabled) {
|
|
129
|
+
disabledRendersRef.current += 1;
|
|
130
|
+
}
|
|
119
131
|
|
|
120
132
|
// Clear all timeouts
|
|
121
133
|
const clearTimeouts = useCallback(() => {
|
|
@@ -244,6 +256,7 @@ export function useTooltip(options = {}) {
|
|
|
244
256
|
if (trigger?.contains(next) === true || surface?.contains(next) === true) {
|
|
245
257
|
return;
|
|
246
258
|
}
|
|
259
|
+
noteOutsideDismissal(view.document);
|
|
247
260
|
releaseHold();
|
|
248
261
|
}, [isHeldOpen, layerId, releaseHold]);
|
|
249
262
|
const isHoldShown = isHeldState && isLayerOpen && isOpen !== false;
|
|
@@ -260,22 +273,16 @@ export function useTooltip(options = {}) {
|
|
|
260
273
|
return;
|
|
261
274
|
}
|
|
262
275
|
clearTimeouts();
|
|
276
|
+
const disabledRenders = disabledRendersRef.current;
|
|
263
277
|
showTimeoutRef.current = setTimeout(() => {
|
|
264
|
-
|
|
278
|
+
// A show runs only if the tooltip stayed enabled since it was
|
|
279
|
+
// scheduled: nothing would close a tooltip that opens after a disable.
|
|
280
|
+
if (disabledRendersRef.current === disabledRenders) {
|
|
281
|
+
showLayer();
|
|
282
|
+
}
|
|
265
283
|
}, delay);
|
|
266
284
|
}, [isEnabled, isOpen, clearTimeouts, showLayer, delay]);
|
|
267
285
|
|
|
268
|
-
// A show scheduled while the triggers were enabled must not outlive them:
|
|
269
|
-
// disabling also detaches the leave listener that would have cancelled it,
|
|
270
|
-
// so the timer would open a tooltip that nothing ever closes. Only the
|
|
271
|
-
// pending show is dropped; a pending hide still runs.
|
|
272
|
-
useEffect(() => {
|
|
273
|
-
if (!isEnabled && showTimeoutRef.current) {
|
|
274
|
-
clearTimeout(showTimeoutRef.current);
|
|
275
|
-
showTimeoutRef.current = null;
|
|
276
|
-
}
|
|
277
|
-
}, [isEnabled]);
|
|
278
|
-
|
|
279
286
|
// Schedule hide with delay (suppressed when isOpen is true).
|
|
280
287
|
// A small hover bridge (when hideDelay is 0) lets the pointer travel from the
|
|
281
288
|
// trigger onto the tooltip surface without the tooltip vanishing — required
|
|
@@ -331,27 +338,26 @@ export function useTooltip(options = {}) {
|
|
|
331
338
|
// Under `auto`, whether focus counts is decided when it arrives, and a
|
|
332
339
|
// focus that counted still hides on blur (utils/triggerFocus.ts).
|
|
333
340
|
const [focusGate] = useState(createTriggerFocusGate);
|
|
341
|
+
|
|
342
|
+
// Whether focus on `target` opens the tooltip. With a `trigger`, its
|
|
343
|
+
// `focusTrigger` rule applies too. Only `:focus-visible` focus opens it, and
|
|
344
|
+
// a tap never does: a tapped `<input>` also matches `:focus-visible`.
|
|
345
|
+
const opensOnFocus = useCallback((target, trigger) => {
|
|
346
|
+
if (trigger != null && !isFocusOnTrigger(target, trigger, focusTrigger)) {
|
|
347
|
+
return false;
|
|
348
|
+
}
|
|
349
|
+
return !isTouchInteraction() && target.matches(':focus-visible');
|
|
350
|
+
}, [focusTrigger, isTouchInteraction]);
|
|
334
351
|
const handleFocusIn = useCallback(e => {
|
|
335
352
|
if (!focusGate.focusIn(e, focusTrigger) || !isEnabled) {
|
|
336
353
|
return;
|
|
337
354
|
}
|
|
338
|
-
|
|
339
|
-
// filter that out on every element: a tapped `<input>` or contenteditable
|
|
340
|
-
// matches it. Those are exactly the action triggers `auto` just decided
|
|
341
|
-
// to keep shut, so without this the focus reopens what the tap
|
|
342
|
-
// suppressed, over the field the user is trying to type into.
|
|
343
|
-
if (isTouchInteraction()) {
|
|
344
|
-
return;
|
|
345
|
-
}
|
|
346
|
-
// Only show tooltip for keyboard focus (:focus-visible),
|
|
347
|
-
// not programmatic focus (e.g. dialog auto-focus, touch tap)
|
|
348
|
-
const target = e.target;
|
|
349
|
-
if (!target.matches(':focus-visible')) {
|
|
355
|
+
if (!opensOnFocus(e.target, null)) {
|
|
350
356
|
return;
|
|
351
357
|
}
|
|
352
358
|
clearTimeouts();
|
|
353
359
|
showLayer();
|
|
354
|
-
}, [focusGate, focusTrigger, isEnabled,
|
|
360
|
+
}, [focusGate, focusTrigger, isEnabled, opensOnFocus, clearTimeouts, showLayer]);
|
|
355
361
|
|
|
356
362
|
// A held tooltip's focus-leave close is the hold's own: it listens on the
|
|
357
363
|
// trigger whatever `focusTrigger` is. This schedules the unheld hide, which
|
|
@@ -423,46 +429,145 @@ export function useTooltip(options = {}) {
|
|
|
423
429
|
hideLayer();
|
|
424
430
|
}, [handleTouchPointerDown, trackTriggerPress, isOpen, clearTimeouts, hideLayer]);
|
|
425
431
|
|
|
426
|
-
//
|
|
432
|
+
// The trigger's listeners call the latest handlers through this ref, so the
|
|
433
|
+
// trigger ref callback keeps one identity.
|
|
434
|
+
const handlersRef = useRef({
|
|
435
|
+
handleMouseEnter,
|
|
436
|
+
handleMouseLeave,
|
|
437
|
+
handleFocusIn,
|
|
438
|
+
handleFocusOut,
|
|
439
|
+
handleHeldFocusOut,
|
|
440
|
+
handlePointerEnter,
|
|
441
|
+
handlePointerDown,
|
|
442
|
+
focusTrigger,
|
|
443
|
+
isOpen,
|
|
444
|
+
dropHold,
|
|
445
|
+
hideNow,
|
|
446
|
+
showNow,
|
|
447
|
+
opensOnFocus
|
|
448
|
+
});
|
|
449
|
+
handlersRef.current = {
|
|
450
|
+
handleMouseEnter,
|
|
451
|
+
handleMouseLeave,
|
|
452
|
+
handleFocusIn,
|
|
453
|
+
handleFocusOut,
|
|
454
|
+
handleHeldFocusOut,
|
|
455
|
+
handlePointerEnter,
|
|
456
|
+
handlePointerDown,
|
|
457
|
+
focusTrigger,
|
|
458
|
+
isOpen,
|
|
459
|
+
dropHold,
|
|
460
|
+
hideNow,
|
|
461
|
+
showNow,
|
|
462
|
+
opensOnFocus
|
|
463
|
+
};
|
|
464
|
+
|
|
465
|
+
// Removes the attached trigger's listeners (the trigger ref callback's
|
|
466
|
+
// cleanup).
|
|
467
|
+
const detachTriggerRef = useRef(null);
|
|
468
|
+
// Set when the trigger detached while the tooltip was disabled: the
|
|
469
|
+
// caller removed the wiring (DropdownMenu's Button while its menu is
|
|
470
|
+
// open), so the next enabled attach reads the focus that arrived meanwhile.
|
|
471
|
+
const wasSuppressedRef = useRef(false);
|
|
472
|
+
|
|
473
|
+
// The trigger's ref callback owns every trigger listener, and reads the
|
|
474
|
+
// trigger's state when it attaches and detaches.
|
|
427
475
|
const interactionRef = useCallback(el => {
|
|
428
|
-
//
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
triggerRef.current.removeEventListener('focusout', handleFocusOut);
|
|
434
|
-
triggerRef.current.removeEventListener('focusout', handleHeldFocusOut);
|
|
435
|
-
stopPressTrackingRef.current?.();
|
|
436
|
-
triggerRef.current.removeEventListener('pointerenter', handlePointerEnter);
|
|
437
|
-
triggerRef.current.removeEventListener('pointerdown', handlePointerDown);
|
|
438
|
-
}
|
|
439
|
-
if (el) {
|
|
440
|
-
// Attach hover listeners. `pointerenter` runs before the synthesized
|
|
441
|
-
// `mouseenter` a tap produces, which is what lets the hover path know
|
|
442
|
-
// it is looking at a finger.
|
|
443
|
-
el.addEventListener('pointerenter', handlePointerEnter);
|
|
444
|
-
el.addEventListener('mouseenter', handleMouseEnter);
|
|
445
|
-
el.addEventListener('mouseleave', handleMouseLeave);
|
|
446
|
-
// Press-to-dismiss on a mouse; tap-to-open on a touch pointer.
|
|
447
|
-
el.addEventListener('pointerdown', handlePointerDown);
|
|
448
|
-
|
|
449
|
-
// Focus listeners unless focus never opens the tooltip; `auto` decides
|
|
450
|
-
// per event (utils/triggerFocus.ts).
|
|
451
|
-
if (focusTrigger !== 'never') {
|
|
452
|
-
el.addEventListener('focusin', handleFocusIn);
|
|
453
|
-
el.addEventListener('focusout', handleFocusOut);
|
|
454
|
-
}
|
|
476
|
+
// A caller that reports `null` by hand detaches the trigger, as the
|
|
477
|
+
// returned cleanup does.
|
|
478
|
+
if (el == null) {
|
|
479
|
+
detachTriggerRef.current?.();
|
|
480
|
+
return;
|
|
455
481
|
}
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
482
|
+
if (el === triggerRef.current) {
|
|
483
|
+
return;
|
|
484
|
+
}
|
|
485
|
+
detachTriggerRef.current?.();
|
|
486
|
+
const latest = () => handlersRef.current;
|
|
487
|
+
// `pointerenter` runs before the synthesized `mouseenter` a tap produces,
|
|
488
|
+
// which is what lets the hover path know it is looking at a finger.
|
|
489
|
+
const onPointerEnter = e => latest().handlePointerEnter(e);
|
|
490
|
+
const onMouseEnter = () => latest().handleMouseEnter();
|
|
491
|
+
const onMouseLeave = e => latest().handleMouseLeave(e);
|
|
492
|
+
// Press-to-dismiss on a mouse; tap-to-open on a touch pointer.
|
|
493
|
+
const onPointerDown = e => latest().handlePointerDown(e);
|
|
494
|
+
// Focus counts unless focus never opens the tooltip; `auto` decides per
|
|
495
|
+
// event (isFocusForTrigger).
|
|
496
|
+
const onFocusIn = e => {
|
|
497
|
+
if (latest().focusTrigger !== 'never') {
|
|
498
|
+
latest().handleFocusIn(e);
|
|
499
|
+
}
|
|
500
|
+
};
|
|
501
|
+
const onFocusOut = e => {
|
|
502
|
+
if (latest().focusTrigger !== 'never') {
|
|
503
|
+
latest().handleFocusOut(e);
|
|
504
|
+
}
|
|
505
|
+
};
|
|
506
|
+
// A held tooltip's own focus-leave close, whatever `focusTrigger` is.
|
|
507
|
+
const onHeldFocusOut = e => latest().handleHeldFocusOut(e);
|
|
508
|
+
el.addEventListener('pointerenter', onPointerEnter);
|
|
509
|
+
el.addEventListener('mouseenter', onMouseEnter);
|
|
510
|
+
el.addEventListener('mouseleave', onMouseLeave);
|
|
511
|
+
el.addEventListener('pointerdown', onPointerDown);
|
|
512
|
+
el.addEventListener('focusin', onFocusIn);
|
|
513
|
+
el.addEventListener('focusout', onFocusOut);
|
|
514
|
+
el.addEventListener('focusout', onHeldFocusOut);
|
|
459
515
|
triggerRef.current = el;
|
|
460
|
-
|
|
516
|
+
|
|
517
|
+
// A trigger that attaches again after its wiring was removed
|
|
518
|
+
// (DropdownMenu's Button as its menu closes) missed the focus that
|
|
519
|
+
// arrived meanwhile. Show for it only if it would open the tooltip:
|
|
520
|
+
// returned keyboard focus does, focus returned after a pointer pick does
|
|
521
|
+
// not. Any other attach leaves the tooltip as it is, so a tooltip
|
|
522
|
+
// dismissed with Escape stays closed.
|
|
523
|
+
const focused = el.ownerDocument.activeElement;
|
|
524
|
+
const wasSuppressed = wasSuppressedRef.current;
|
|
525
|
+
if (isEnabledRef.current) {
|
|
526
|
+
wasSuppressedRef.current = false;
|
|
527
|
+
}
|
|
528
|
+
if (wasSuppressed && isEnabledRef.current && latest().isOpen === undefined && latest().focusTrigger !== 'never' && focused instanceof HTMLElement && el.contains(focused) && latest().opensOnFocus(focused, el)) {
|
|
529
|
+
latest().showNow();
|
|
530
|
+
}
|
|
531
|
+
const detach = () => {
|
|
532
|
+
if (detachTriggerRef.current === detach) {
|
|
533
|
+
detachTriggerRef.current = null;
|
|
534
|
+
}
|
|
535
|
+
el.removeEventListener('pointerenter', onPointerEnter);
|
|
536
|
+
el.removeEventListener('mouseenter', onMouseEnter);
|
|
537
|
+
el.removeEventListener('mouseleave', onMouseLeave);
|
|
538
|
+
el.removeEventListener('pointerdown', onPointerDown);
|
|
539
|
+
el.removeEventListener('focusin', onFocusIn);
|
|
540
|
+
el.removeEventListener('focusout', onFocusOut);
|
|
541
|
+
el.removeEventListener('focusout', onHeldFocusOut);
|
|
542
|
+
stopPressTrackingRef.current?.();
|
|
543
|
+
if (triggerRef.current === el) {
|
|
544
|
+
triggerRef.current = null;
|
|
545
|
+
}
|
|
546
|
+
// A caller removes the wiring as it disables the tooltip. Close an
|
|
547
|
+
// uncontrolled tooltip then, or the next attach shows a stale tooltip.
|
|
548
|
+
// A detach while enabled, such as a merged ref that changes identity
|
|
549
|
+
// on a re-render, keeps a hovered or held tooltip open.
|
|
550
|
+
if (!isEnabledRef.current && latest().isOpen === undefined) {
|
|
551
|
+
wasSuppressedRef.current = true;
|
|
552
|
+
latest().dropHold();
|
|
553
|
+
latest().hideNow();
|
|
554
|
+
}
|
|
555
|
+
};
|
|
556
|
+
detachTriggerRef.current = detach;
|
|
557
|
+
return detach;
|
|
558
|
+
}, []);
|
|
461
559
|
|
|
462
560
|
// Combined ref - shorthand for calling both positionRef and interactionRef
|
|
463
561
|
const ref = useCallback(el => {
|
|
464
562
|
layerRef(el);
|
|
465
|
-
interactionRef(el);
|
|
563
|
+
const detachInteraction = interactionRef(el);
|
|
564
|
+
if (el == null) {
|
|
565
|
+
return;
|
|
566
|
+
}
|
|
567
|
+
return () => {
|
|
568
|
+
detachInteraction?.();
|
|
569
|
+
layerRef(null);
|
|
570
|
+
};
|
|
466
571
|
}, [layerRef, interactionRef]);
|
|
467
572
|
|
|
468
573
|
// Cleanup on unmount
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @file TreeListItem.tsx
|
|
3
|
-
* @input Uses React, StyleX, theme tokens, TreeListBranches
|
|
3
|
+
* @input Uses React, StyleX, theme tokens, TreeListBranches, the shared press
|
|
4
|
+
* overlays and the compositor press layer
|
|
4
5
|
* @output Exports TreeListItem component (internal, not publicly exported)
|
|
5
6
|
* @position Internal implementation; consumed by TreeList.tsx
|
|
6
7
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeListItem.d.ts","sourceRoot":"","sources":["../../src/TreeList/TreeListItem.tsx"],"names":[],"mappings":"AAIA
|
|
1
|
+
{"version":3,"file":"TreeListItem.d.ts","sourceRoot":"","sources":["../../src/TreeList/TreeListItem.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAyB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAE7D,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAuB3C,OAAO,KAAK,EAAC,eAAe,EAAE,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAgStE,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,WAAW,EAAE,OAAO,CAAC;IACrB;;;;;;;;OAQG;IACH,kBAAkB,EAAE,OAAO,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,eAAe,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACxC,UAAU,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,OAAO,EAAE,eAAe,CAAC;IACzB;;;;OAIG;IACH,OAAO,EAAE,eAAe,CAAC;IACzB,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,wEAAwE;IACxE,QAAQ,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,UAAU,EAAE,OAAO,CAAC;CACrB;AASD,wBAAgB,YAAY,CAAC,EAC3B,EAAE,EACF,KAAK,EACL,WAAW,EACX,YAAY,EACZ,UAAU,EACV,MAAM,EACN,SAAS,EACT,KAAK,EACL,OAAO,EACP,IAAI,EACJ,MAAM,EACN,UAAkB,EAClB,UAAkB,EAClB,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,MAAM,EACN,eAAe,EACf,UAAU,EACV,SAAiB,EACjB,QAAQ,EACR,OAAO,EACP,OAAO,EACP,gBAAgB,EAChB,QAAQ,EACR,OAAO,EACP,UAAU,GACX,EAAE,yBAAyB,+BAuW3B;yBAnYe,YAAY"}
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* @file TreeListItem.tsx
|
|
7
|
-
* @input Uses React, StyleX, theme tokens, TreeListBranches
|
|
7
|
+
* @input Uses React, StyleX, theme tokens, TreeListBranches, the shared press
|
|
8
|
+
* overlays and the compositor press layer
|
|
8
9
|
* @output Exports TreeListItem component (internal, not publicly exported)
|
|
9
10
|
* @position Internal implementation; consumed by TreeList.tsx
|
|
10
11
|
*
|
|
@@ -20,8 +21,9 @@ import "../theme/tokens.stylex.js";
|
|
|
20
21
|
import { colorVars, radiusVars, spacingVars, durationVars, easeVars, typeScaleVars } from "../theme/tokens.stylex.js";
|
|
21
22
|
import { focusOutlineProps } from "../utils/focusOutline.stylex.js";
|
|
22
23
|
import { interactionOverlayStyles } from "../utils/interactionOverlay.stylex.js";
|
|
24
|
+
import { rowPressLayerStyles } from "../privateAttributes/press.stylex.js";
|
|
23
25
|
import { usePressFeedback } from "../hooks/usePressFeedback.js";
|
|
24
|
-
import { hasInteractiveAncestor, useClickableContainer } from "../hooks/useClickableContainer.js";
|
|
26
|
+
import { cancelNestedTouchPress, hasInteractiveAncestor, useClickableContainer } from "../hooks/useClickableContainer.js";
|
|
25
27
|
import { Icon } from "../Icon/index.js";
|
|
26
28
|
import { mergeProps } from "../utils/mergeProps.js";
|
|
27
29
|
import { useFocusAcrossSwap } from "../utils/useFocusAcrossSwap.js";
|
|
@@ -246,6 +248,22 @@ export function TreeListItem({
|
|
|
246
248
|
interactiveRef: linkRef,
|
|
247
249
|
disabled: isDisabled || !forwardsToLink
|
|
248
250
|
});
|
|
251
|
+
|
|
252
|
+
// A finger press that starts on a control inside the row does not activate
|
|
253
|
+
// the row, so the row shows no press for it. The row's own action, its link
|
|
254
|
+
// or invisible button, activates it. The Chevron does too when the row's
|
|
255
|
+
// surface toggles, since it runs that same toggle.
|
|
256
|
+
const actionButtonRef = useRef(null);
|
|
257
|
+
const chevronRef = useRef(null);
|
|
258
|
+
const surfaceToggles = onClick == null && handleClick != null;
|
|
259
|
+
const pressOnRow = event => {
|
|
260
|
+
if (isDisabled) {
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
263
|
+
const chevron = chevronRef.current;
|
|
264
|
+
const ownAction = surfaceToggles && chevron != null && event.target instanceof Node && chevron.contains(event.target) ? chevron : linkRef.current ?? actionButtonRef.current;
|
|
265
|
+
cancelNestedTouchPress(event, event.currentTarget, ownAction);
|
|
266
|
+
};
|
|
249
267
|
const {
|
|
250
268
|
onMouseUp: openLinkOnMiddleClick
|
|
251
269
|
} = useClickableContainer({
|
|
@@ -318,6 +336,7 @@ export function TreeListItem({
|
|
|
318
336
|
// focusable element to receive Enter/Space). The row's handleClick ignores
|
|
319
337
|
// clicks originating inside a <button>, so this never double-toggles.
|
|
320
338
|
_jsx("button", {
|
|
339
|
+
ref: chevronRef,
|
|
321
340
|
type: "button",
|
|
322
341
|
"aria-expanded": isExpanded,
|
|
323
342
|
"aria-label": t('@astryx.treeList.toggleChildren')
|
|
@@ -395,6 +414,7 @@ export function TreeListItem({
|
|
|
395
414
|
},
|
|
396
415
|
children: labelAndDescription
|
|
397
416
|
}) : onClick != null ? /*#__PURE__*/_jsx("button", {
|
|
417
|
+
ref: actionButtonRef,
|
|
398
418
|
type: "button",
|
|
399
419
|
onClick: onClick,
|
|
400
420
|
"aria-disabled": isDisabled || undefined,
|
|
@@ -463,7 +483,10 @@ export function TreeListItem({
|
|
|
463
483
|
density,
|
|
464
484
|
selected: isSelected ? 'selected' : null,
|
|
465
485
|
disabled: isDisabled ? 'disabled' : null
|
|
466
|
-
}), isInteractive || hasChildren && onClick == null ? focusOutlineProps.focusWithinOrPublished(styles.contentWrapper, styles.focusLift, densityStyles[density], styles.interactive, interactionOverlayStyles.backgroundImage,
|
|
486
|
+
}), isInteractive || hasChildren && onClick == null ? focusOutlineProps.focusWithinOrPublished(styles.contentWrapper, styles.focusLift, densityStyles[density], styles.interactive, interactionOverlayStyles.backgroundImage,
|
|
487
|
+
// The touch press on a compositor layer (after the
|
|
488
|
+
// overlay, whose own touch paint it turns off).
|
|
489
|
+
rowPressLayerStyles.cell, rowPressLayerStyles.cellOnImage, isDisabled && styles.disabled, isSelected && styles.selected, xstyle) : stylex.props(styles.contentWrapper, densityStyles[density], isDisabled && styles.disabled, isSelected && styles.selected, xstyle),
|
|
467
490
|
// Consumer row props are merged last so useContainerReveal can
|
|
468
491
|
// publish both its classes and inline custom properties. Seed the
|
|
469
492
|
// private indent first, then preserve the standard inline-style
|
|
@@ -475,6 +498,7 @@ export function TreeListItem({
|
|
|
475
498
|
ref: forwardsToLink ? linkRowRef : undefined,
|
|
476
499
|
onClick: forwardsToLink ? delegateToLink : handleClick,
|
|
477
500
|
onMouseUp: forwardsToLink ? openLinkOnMiddleClick : undefined,
|
|
501
|
+
onPointerDown: forwardsToLink || handleClick != null ? pressOnRow : undefined,
|
|
478
502
|
children: /*#__PURE__*/_jsx("div", {
|
|
479
503
|
...{
|
|
480
504
|
className: "x78zum5 x98rzlu xeuugli x1h91t0o x14kbac9 xw2xrtw"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseTypeahead.d.ts","sourceRoot":"","sources":["../../src/Typeahead/BaseTypeahead.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAQZ,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAKf,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseTypeahead.d.ts","sourceRoot":"","sources":["../../src/Typeahead/BaseTypeahead.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAQZ,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAKf,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAiCnD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAgB,cAAc,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AAmBzE,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,cAAc,CAAE,SAAQ,IAAI,CACxE,SAAS,CAAC,WAAW,CAAC,EACtB,UAAU,CACX;IACC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClC;;OAEG;IACH,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAE9B;;OAEG;IACH,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAEhB;;OAEG;IACH,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IAEnC;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,SAAS,CAAC;IAEpC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;;;;;;;;OAaG;IACH,eAAe,CAAC,EAAE,SAAS,CAAC;IAE5B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;;;;;;OASG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAExC;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAEzC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;IAEtD;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,WAAW,CAAC,EAAE,YAAY,CAAC;IAE3B;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAE1C;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAE/D;;;;OAIG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CAC3B;AA8MD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,aAAa,EA+1CrB,CAAC,CAAC,SAAS,cAAc,EAC5B,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,KACzB,KAAK,CAAC,YAAY,CAAC"}
|
|
@@ -29,7 +29,7 @@ import { useAnnounce } from "../hooks/useAnnounce.js";
|
|
|
29
29
|
import { useAnnounceRenderedText } from "../hooks/useAnnounceRenderedText.js";
|
|
30
30
|
import { useHighlightedOptionScroll } from "../hooks/useHighlightedOptionScroll.js";
|
|
31
31
|
import { useIsomorphicLayoutEffect } from "../hooks/useIsomorphicLayoutEffect.js";
|
|
32
|
-
import { isFocusInsideOwnedLayer, isPressInsideOwnedLayer, useOutsidePress } from "../Layer/outsidePress.js";
|
|
32
|
+
import { isFocusInsideOwnedLayer, isPressInsideOwnedLayer, noteOutsideDismissal, useOutsidePress } from "../Layer/outsidePress.js";
|
|
33
33
|
import { isImeKeyEvent } from "../utils/ime.js";
|
|
34
34
|
import { TypeaheadItem } from "./TypeaheadItem.js";
|
|
35
35
|
import { Icon } from "../Icon/index.js";
|
|
@@ -1024,6 +1024,7 @@ export const BaseTypeahead = function BaseTypeahead({
|
|
|
1024
1024
|
if (isFocusInsideOwnedLayer(e.relatedTarget, anchorEl, popover.id)) {
|
|
1025
1025
|
return;
|
|
1026
1026
|
}
|
|
1027
|
+
noteOutsideDismissal(e.currentTarget.ownerDocument);
|
|
1027
1028
|
popover.hide();
|
|
1028
1029
|
}, [popover, anchorRef]);
|
|
1029
1030
|
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* - /packages/core/src/animator/createAnimator.doc.mjs
|
|
17
17
|
* - /packages/core/src/hooks/useAnimator.ts
|
|
18
18
|
*/
|
|
19
|
-
import {
|
|
19
|
+
import { createMotionEngine, SETTLE_THRESHOLD } from "../motion/animator.js";
|
|
20
20
|
import { coast } from "../motion/coast.js";
|
|
21
21
|
import { solveDecay } from "../motion/decay.js";
|
|
22
22
|
import { registerSpringsTable, springs } from "../motion/uikit/springs.js";
|
|
@@ -125,7 +125,7 @@ async function settledOrTakenOver(moving) {
|
|
|
125
125
|
* no behavior of its own. Not exported from the package.
|
|
126
126
|
*/
|
|
127
127
|
export function createAttachableAnimator() {
|
|
128
|
-
const motion =
|
|
128
|
+
const motion = createMotionEngine(null);
|
|
129
129
|
// Calls do nothing while no element is attached, before the ref attaches
|
|
130
130
|
// or after it lets go. They also do nothing after destroy, and animate and
|
|
131
131
|
// decay then resolve at once.
|