@astryxdesign/core 0.7.7-canary.c0929c8 → 0.7.7-canary.c19ca12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AlertDialog/AlertDialog.d.ts +4 -1
- package/dist/AlertDialog/AlertDialog.d.ts.map +1 -1
- package/dist/AlertDialog/AlertDialog.js +36 -6
- package/dist/AppShell/useCloseMobileDrawerOnActivate.d.ts +13 -0
- package/dist/AppShell/useCloseMobileDrawerOnActivate.d.ts.map +1 -0
- package/dist/AppShell/useCloseMobileDrawerOnActivate.js +45 -0
- package/dist/BottomSheet/BottomSheet.d.ts.map +1 -1
- package/dist/BottomSheet/BottomSheet.js +79 -9
- package/dist/BottomSheet/BottomSheetPanel.d.ts.map +1 -1
- package/dist/BottomSheet/BottomSheetPanel.js +23 -4
- package/dist/BottomSheet/bottomSheetStack.d.ts.map +1 -1
- package/dist/BottomSheet/bottomSheetStack.js +5 -4
- package/dist/BottomSheet/useSheetGestures.d.ts.map +1 -1
- package/dist/BottomSheet/useSheetGestures.js +3 -1
- package/dist/Breadcrumbs/BreadcrumbItem.d.ts +2 -1
- package/dist/Breadcrumbs/BreadcrumbItem.d.ts.map +1 -1
- package/dist/Breadcrumbs/BreadcrumbItem.js +7 -3
- package/dist/Button/Button.d.ts.map +1 -1
- package/dist/Button/Button.js +47 -3
- package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
- package/dist/CheckboxInput/CheckboxInput.js +13 -2
- package/dist/CheckboxList/CheckboxList.d.ts.map +1 -1
- package/dist/CheckboxList/CheckboxList.js +7 -1
- package/dist/CheckboxList/CheckboxListContext.d.ts +6 -0
- package/dist/CheckboxList/CheckboxListContext.d.ts.map +1 -1
- package/dist/CheckboxList/CheckboxListItem.d.ts.map +1 -1
- package/dist/CheckboxList/CheckboxListItem.js +10 -2
- package/dist/ComplexSelector/ComplexSelector.d.ts +4 -1
- package/dist/ComplexSelector/ComplexSelector.d.ts.map +1 -1
- package/dist/ComplexSelector/ComplexSelector.js +14 -4
- package/dist/ContextMenu/ContextMenu.js +2 -2
- package/dist/DateInput/DateInput.d.ts.map +1 -1
- package/dist/DateInput/DateInput.js +5 -2
- package/dist/DateInput/MonthScroller.d.ts.map +1 -1
- package/dist/DateInput/MonthScroller.js +13 -27
- package/dist/DateInput/Wheel.d.ts.map +1 -1
- package/dist/DateInput/Wheel.js +22 -41
- package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
- package/dist/DateTimeInput/DateTimeInput.js +5 -2
- package/dist/Dialog/Dialog.d.ts.map +1 -1
- package/dist/Dialog/Dialog.js +23 -45
- package/dist/Drawer/Drawer.d.ts.map +1 -1
- package/dist/Drawer/Drawer.js +15 -11
- package/dist/Drawer/useDrawerDialogPresence.d.ts.map +1 -1
- package/dist/Drawer/useDrawerDialogPresence.js +5 -1
- package/dist/Field/Field.js +2 -2
- package/dist/Field/PanelSearchInput.d.ts +9 -1
- package/dist/Field/PanelSearchInput.d.ts.map +1 -1
- package/dist/Field/PanelSearchInput.js +3 -1
- package/dist/HoverCard/HoverCard.d.ts +4 -3
- package/dist/HoverCard/HoverCard.d.ts.map +1 -1
- package/dist/HoverCard/HoverCard.js +27 -2
- package/dist/HoverCard/useHoverCard.d.ts +5 -4
- package/dist/HoverCard/useHoverCard.d.ts.map +1 -1
- package/dist/HoverCard/useHoverCard.js +17 -31
- package/dist/Icon/Icon.d.ts +5 -1
- package/dist/Icon/Icon.d.ts.map +1 -1
- package/dist/Icon/Icon.js +5 -2
- package/dist/InfoTip/InfoTip.d.ts +63 -0
- package/dist/InfoTip/InfoTip.d.ts.map +1 -0
- package/dist/InfoTip/InfoTip.js +126 -0
- package/dist/InfoTip/index.d.ts +10 -0
- package/dist/InfoTip/index.d.ts.map +1 -0
- package/dist/InfoTip/index.js +12 -0
- package/dist/Layer/layerAnimations.stylex.d.ts +7 -8
- package/dist/Layer/layerAnimations.stylex.d.ts.map +1 -1
- package/dist/Layer/layerAnimations.stylex.js +25 -20
- package/dist/Layer/useBackdropPress.d.ts +27 -0
- package/dist/Layer/useBackdropPress.d.ts.map +1 -0
- package/dist/Layer/useBackdropPress.js +53 -0
- package/dist/Layer/usePressPin.d.ts +20 -10
- package/dist/Layer/usePressPin.d.ts.map +1 -1
- package/dist/Layer/usePressPin.js +66 -18
- package/dist/Lightbox/Lightbox.d.ts.map +1 -1
- package/dist/Lightbox/Lightbox.js +18 -0
- package/dist/MobileNav/MobileNav.js +0 -1
- package/dist/MultiSelector/hooks.d.ts.map +1 -1
- package/dist/MultiSelector/hooks.js +2 -4
- package/dist/Outline/Outline.d.ts +2 -4
- package/dist/Outline/Outline.d.ts.map +1 -1
- package/dist/Outline/Outline.js +4 -52
- package/dist/Outline/useOutlineFromMarkdown.d.ts.map +1 -1
- package/dist/Outline/useOutlineFromMarkdown.js +1 -0
- package/dist/Outline/useScrollSpy.js +3 -3
- package/dist/PowerSearch/PowerSearch.d.ts +36 -3
- package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearch.js +571 -302
- package/dist/PowerSearch/PowerSearchBottomSheet.d.ts +100 -0
- package/dist/PowerSearch/PowerSearchBottomSheet.d.ts.map +1 -0
- package/dist/PowerSearch/PowerSearchBottomSheet.js +1913 -0
- package/dist/PowerSearch/PowerSearchEditPopover.d.ts +32 -1
- package/dist/PowerSearch/PowerSearchEditPopover.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearchEditPopover.js +17 -6
- package/dist/PowerSearch/PowerSearchValueEditor.d.ts +38 -3
- package/dist/PowerSearch/PowerSearchValueEditor.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearchValueEditor.js +170 -61
- package/dist/PowerSearch/formatFilterValue.d.ts +7 -0
- package/dist/PowerSearch/formatFilterValue.d.ts.map +1 -1
- package/dist/PowerSearch/formatFilterValue.js +11 -1
- package/dist/PowerSearch/formatTokenValue.d.ts +28 -0
- package/dist/PowerSearch/formatTokenValue.d.ts.map +1 -0
- package/dist/PowerSearch/formatTokenValue.js +160 -0
- package/dist/PowerSearch/powerSearchSheetUtils.d.ts +65 -0
- package/dist/PowerSearch/powerSearchSheetUtils.d.ts.map +1 -0
- package/dist/PowerSearch/powerSearchSheetUtils.js +168 -0
- package/dist/RadioList/RadioList.d.ts.map +1 -1
- package/dist/RadioList/RadioList.js +8 -2
- package/dist/RadioList/RadioListItem.d.ts +1 -1
- package/dist/RadioList/RadioListItem.d.ts.map +1 -1
- package/dist/RadioList/RadioListItem.js +5 -3
- package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
- package/dist/Resizable/ResizeHandle.js +118 -260
- package/dist/Resizable/resizeGesture.d.ts +91 -0
- package/dist/Resizable/resizeGesture.d.ts.map +1 -0
- package/dist/Resizable/resizeGesture.js +251 -0
- package/dist/SegmentedControl/SegmentedControl.d.ts +3 -1
- package/dist/SegmentedControl/SegmentedControl.d.ts.map +1 -1
- package/dist/SegmentedControl/SegmentedControl.js +115 -8
- package/dist/SegmentedControl/SegmentedControlContext.d.ts +6 -0
- package/dist/SegmentedControl/SegmentedControlContext.d.ts.map +1 -1
- package/dist/SegmentedControl/SegmentedControlItem.d.ts +1 -0
- package/dist/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
- package/dist/SegmentedControl/SegmentedControlItem.js +8 -1
- package/dist/SegmentedControl/useSegmentedSelectionMotion.d.ts +357 -0
- package/dist/SegmentedControl/useSegmentedSelectionMotion.d.ts.map +1 -0
- package/dist/SegmentedControl/useSegmentedSelectionMotion.js +1349 -0
- package/dist/SegmentedControl/useSegmentedTouchTracking.d.ts +70 -0
- package/dist/SegmentedControl/useSegmentedTouchTracking.d.ts.map +1 -0
- package/dist/SegmentedControl/useSegmentedTouchTracking.js +264 -0
- package/dist/Selector/Selector.d.ts.map +1 -1
- package/dist/Selector/Selector.js +96 -67
- package/dist/Selector/optionShape.d.ts +24 -0
- package/dist/Selector/optionShape.d.ts.map +1 -0
- package/dist/Selector/optionShape.js +48 -0
- package/dist/Selector/selectableOptionEntries.d.ts +20 -0
- package/dist/Selector/selectableOptionEntries.d.ts.map +1 -0
- package/dist/Selector/selectableOptionEntries.js +38 -0
- package/dist/Selector/utils.d.ts +2 -17
- package/dist/Selector/utils.d.ts.map +1 -1
- package/dist/Selector/utils.js +3 -51
- package/dist/SideNav/SideNavItem.d.ts.map +1 -1
- package/dist/SideNav/SideNavItem.js +3 -9
- package/dist/Slider/sliderTouchController.js +2 -2
- package/dist/Spinner/Spinner.d.ts +1 -1
- package/dist/Spinner/Spinner.d.ts.map +1 -1
- package/dist/Spinner/Spinner.js +60 -58
- package/dist/Switch/switchTouch.d.ts +0 -7
- package/dist/Switch/switchTouch.d.ts.map +1 -1
- package/dist/Switch/switchTouch.js +2 -10
- package/dist/Switch/useSwitchTouch.d.ts +2 -11
- package/dist/Switch/useSwitchTouch.d.ts.map +1 -1
- package/dist/Switch/useSwitchTouch.js +35 -93
- package/dist/Table/BaseTable.d.ts.map +1 -1
- package/dist/Table/BaseTable.js +29 -8
- package/dist/TextInput/TextInput.d.ts +2 -2
- package/dist/TextInput/TextInput.d.ts.map +1 -1
- package/dist/TextInput/TextInput.js +10 -7
- package/dist/Toast/Toast.d.ts +11 -1
- package/dist/Toast/Toast.d.ts.map +1 -1
- package/dist/Toast/Toast.js +30 -15
- package/dist/Toast/ToastViewport.d.ts.map +1 -1
- package/dist/Toast/ToastViewport.js +94 -34
- package/dist/Toast/types.d.ts +9 -3
- package/dist/Toast/types.d.ts.map +1 -1
- package/dist/Token/Token.d.ts +2 -2
- package/dist/Token/Token.d.ts.map +1 -1
- package/dist/Token/Token.js +13 -4
- package/dist/Token/TokenNamingContext.d.ts +14 -0
- package/dist/Token/TokenNamingContext.d.ts.map +1 -0
- package/dist/Token/TokenNamingContext.js +23 -0
- package/dist/Tokenizer/Tokenizer.d.ts +46 -59
- package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
- package/dist/Tokenizer/Tokenizer.js +40 -57
- package/dist/Tokenizer/TokenizerBottomSheet.d.ts +25 -28
- package/dist/Tokenizer/TokenizerBottomSheet.d.ts.map +1 -1
- package/dist/Tokenizer/TokenizerBottomSheet.js +157 -54
- package/dist/Tokenizer/TokenizerItemRemovableContext.d.ts +3 -0
- package/dist/Tokenizer/TokenizerItemRemovableContext.d.ts.map +1 -0
- package/dist/Tokenizer/TokenizerItemRemovableContext.js +19 -0
- package/dist/Tooltip/Tooltip.d.ts +25 -30
- package/dist/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/Tooltip/Tooltip.js +24 -5
- package/dist/Tooltip/index.d.ts +1 -1
- package/dist/Tooltip/index.d.ts.map +1 -1
- package/dist/Tooltip/useTooltip.d.ts +45 -28
- package/dist/Tooltip/useTooltip.d.ts.map +1 -1
- package/dist/Tooltip/useTooltip.js +52 -59
- package/dist/TopNav/TopNavItem.d.ts.map +1 -1
- package/dist/TopNav/TopNavItem.js +4 -7
- package/dist/TopNav/TopNavMegaMenuItem.d.ts.map +1 -1
- package/dist/TopNav/TopNavMegaMenuItem.js +4 -7
- package/dist/TopNav/TopNavMenu.d.ts.map +1 -1
- package/dist/TopNav/TopNavMenu.js +4 -7
- package/dist/Typeahead/TypeaheadItem.d.ts +2 -1
- package/dist/Typeahead/TypeaheadItem.d.ts.map +1 -1
- package/dist/animator/createAnimator.d.ts +98 -0
- package/dist/animator/createAnimator.d.ts.map +1 -0
- package/dist/animator/createAnimator.js +259 -0
- package/dist/astryx.css +96 -7
- package/dist/gestures/GestureHost.d.ts +27 -1
- package/dist/gestures/GestureHost.d.ts.map +1 -1
- package/dist/gestures/GestureHost.js +157 -21
- package/dist/gestures/PressTracker.d.ts.map +1 -1
- package/dist/gestures/PressTracker.js +4 -3
- package/dist/hooks/actionGroupTracker.d.ts +7 -4
- package/dist/hooks/actionGroupTracker.d.ts.map +1 -1
- package/dist/hooks/actionGroupTracker.js +19 -56
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/pressGroupContext.d.ts +6 -0
- package/dist/hooks/pressGroupContext.d.ts.map +1 -0
- package/dist/hooks/pressGroupContext.js +20 -0
- package/dist/hooks/useActionGroupTracking.d.ts +53 -0
- package/dist/hooks/useActionGroupTracking.d.ts.map +1 -0
- package/dist/hooks/useActionGroupTracking.js +174 -0
- package/dist/hooks/useAnimator.d.ts +41 -0
- package/dist/hooks/useAnimator.d.ts.map +1 -0
- package/dist/hooks/useAnimator.js +70 -0
- package/dist/hooks/useAttachment.d.ts +1 -1
- package/dist/hooks/useAttachment.js +1 -1
- package/dist/hooks/useHighlightedOptionScroll.d.ts +11 -1
- package/dist/hooks/useHighlightedOptionScroll.d.ts.map +1 -1
- package/dist/hooks/useHighlightedOptionScroll.js +112 -11
- package/dist/hooks/useInputStatusIcon.d.ts +1 -1
- package/dist/hooks/useInputStatusIcon.d.ts.map +1 -1
- package/dist/hooks/useInputStatusIcon.js +2 -2
- package/dist/hooks/useLongPress.d.ts +6 -2
- package/dist/hooks/useLongPress.d.ts.map +1 -1
- package/dist/hooks/useLongPress.js +95 -15
- package/dist/hooks/useMediaQuery.d.ts +2 -1
- package/dist/hooks/useMediaQuery.d.ts.map +1 -1
- package/dist/hooks/useMediaQuery.js +7 -4
- package/dist/hooks/useMenuPress.d.ts.map +1 -1
- package/dist/hooks/useMenuPress.js +4 -2
- package/dist/i18n/generated-english/InfoTip/InfoTip.generated.d.ts +8 -0
- package/dist/i18n/generated-english/InfoTip/InfoTip.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/InfoTip/InfoTip.generated.js +12 -0
- package/dist/i18n/generated-english/PowerSearch/PowerSearch.generated.d.ts.map +1 -1
- package/dist/i18n/generated-english/PowerSearch/PowerSearch.generated.js +1 -0
- package/dist/i18n/generated-english/PowerSearch/PowerSearchBottomSheet.generated.d.ts +8 -0
- package/dist/i18n/generated-english/PowerSearch/PowerSearchBottomSheet.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/PowerSearch/PowerSearchBottomSheet.generated.js +42 -0
- package/dist/i18n/generated-english/PowerSearch/PowerSearchValueEditor.generated.d.ts.map +1 -1
- package/dist/i18n/generated-english/PowerSearch/PowerSearchValueEditor.generated.js +6 -0
- package/dist/i18n/generated-english/PowerSearch/formatTokenValue.generated.d.ts +8 -0
- package/dist/i18n/generated-english/PowerSearch/formatTokenValue.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/PowerSearch/formatTokenValue.generated.js +14 -0
- package/dist/i18n/generated-english/Tokenizer/TokenizerBottomSheet.generated.d.ts.map +1 -1
- package/dist/i18n/generated-english/Tokenizer/TokenizerBottomSheet.generated.js +7 -1
- package/dist/i18n/generated-locales/en.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/en.generated.js +33 -1
- package/dist/i18n/generated-locales/pseudo.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/pseudo.generated.js +33 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/internal/SheetConfirmation.d.ts +11 -0
- package/dist/internal/SheetConfirmation.d.ts.map +1 -0
- package/dist/internal/SheetConfirmation.js +92 -0
- package/dist/internal/indicatorPress.stylex.d.ts +20 -0
- package/dist/internal/indicatorPress.stylex.d.ts.map +1 -0
- package/dist/internal/indicatorPress.stylex.js +26 -0
- package/dist/internal/sheetDraft.d.ts +35 -0
- package/dist/internal/sheetDraft.d.ts.map +1 -0
- package/dist/internal/sheetDraft.js +65 -0
- package/dist/internal/touch-sheet.d.ts +21 -0
- package/dist/internal/touch-sheet.d.ts.map +1 -0
- package/dist/internal/touch-sheet.js +19 -0
- package/dist/internal/useDismissSearchOnTouchDrag.d.ts +24 -0
- package/dist/internal/useDismissSearchOnTouchDrag.d.ts.map +1 -0
- package/dist/internal/useDismissSearchOnTouchDrag.js +56 -0
- package/dist/motion/animator.d.ts +14 -14
- package/dist/motion/animator.d.ts.map +1 -1
- package/dist/motion/animator.js +41 -18
- package/dist/motion/reducedMotion.d.ts +24 -0
- package/dist/motion/reducedMotion.d.ts.map +1 -1
- package/dist/motion/reducedMotion.js +78 -1
- package/dist/motion/roles.d.ts +7 -1
- package/dist/motion/roles.d.ts.map +1 -1
- package/dist/motion/roles.js +20 -1
- package/dist/motion/uikit/alert.d.ts +41 -0
- package/dist/motion/uikit/alert.d.ts.map +1 -0
- package/dist/motion/uikit/alert.js +43 -0
- package/dist/motion/uikit/index.d.ts +6 -5
- package/dist/motion/uikit/index.d.ts.map +1 -1
- package/dist/motion/uikit/index.js +6 -5
- package/dist/motion/uikit/segmented.d.ts +55 -0
- package/dist/motion/uikit/segmented.d.ts.map +1 -0
- package/dist/motion/uikit/segmented.js +77 -0
- package/dist/motion/uikit/springs.d.ts +0 -18
- package/dist/motion/uikit/springs.d.ts.map +1 -1
- package/dist/motion/uikit/springs.js +5 -21
- package/dist/privateAttributes/pressGroupItem.stylex.d.ts +15 -0
- package/dist/privateAttributes/pressGroupItem.stylex.d.ts.map +1 -0
- package/dist/privateAttributes/pressGroupItem.stylex.js +23 -0
- package/dist/privateAttributes/segmentTitle.stylex.d.ts +5 -0
- package/dist/privateAttributes/segmentTitle.stylex.d.ts.map +1 -0
- package/dist/privateAttributes/segmentTitle.stylex.js +22 -0
- package/dist/utils/browserClickWait.d.ts +35 -0
- package/dist/utils/browserClickWait.d.ts.map +1 -0
- package/dist/utils/browserClickWait.js +123 -0
- package/dist/utils/clickGuard.d.ts +14 -1
- package/dist/utils/clickGuard.d.ts.map +1 -1
- package/dist/utils/clickGuard.js +46 -1
- package/dist/utils/dateParser.d.ts.map +1 -1
- package/dist/utils/dateParser.js +12 -0
- package/dist/utils/focusReturn.d.ts +15 -0
- package/dist/utils/focusReturn.d.ts.map +1 -1
- package/dist/utils/focusReturn.js +28 -0
- package/dist/utils/interactionOverlay.stylex.d.ts +3 -2
- package/dist/utils/interactionOverlay.stylex.d.ts.map +1 -1
- package/dist/utils/interactionOverlay.stylex.js +3 -2
- package/dist/utils/pressFeedback.d.ts.map +1 -1
- package/dist/utils/pressFeedback.js +19 -6
- package/dist/utils/triggerFocus.d.ts +36 -0
- package/dist/utils/triggerFocus.d.ts.map +1 -0
- package/dist/utils/triggerFocus.js +65 -0
- package/locales/en.json +128 -0
- package/locales/pseudo.json +96 -0
- package/package.json +18 -8
- package/src/AlertDialog/AlertDialog.doc.mjs +2 -2
- package/src/AlertDialog/AlertDialog.tsx +37 -5
- package/src/AppShell/useCloseMobileDrawerOnActivate.ts +52 -0
- package/src/BottomSheet/BottomSheet.tsx +95 -10
- package/src/BottomSheet/BottomSheetPanel.tsx +40 -5
- package/src/BottomSheet/bottomSheetStack.ts +8 -4
- package/src/BottomSheet/useSheetGestures.ts +3 -1
- package/src/Breadcrumbs/BreadcrumbItem.tsx +13 -3
- package/src/Button/Button.tsx +63 -5
- package/src/CheckboxInput/CheckboxInput.doc.mjs +18 -0
- package/src/CheckboxInput/CheckboxInput.tsx +36 -9
- package/src/CheckboxList/CheckboxList.doc.mjs +4 -2
- package/src/CheckboxList/CheckboxList.tsx +6 -0
- package/src/CheckboxList/CheckboxListContext.tsx +6 -0
- package/src/CheckboxList/CheckboxListItem.tsx +11 -2
- package/src/ComplexSelector/ComplexSelector.tsx +20 -5
- package/src/ContextMenu/ContextMenu.tsx +2 -2
- package/src/DateInput/DateInput.tsx +8 -2
- package/src/DateInput/MonthScroller.tsx +18 -22
- package/src/DateInput/Wheel.tsx +30 -32
- package/src/DateTimeInput/DateTimeInput.tsx +8 -2
- package/src/Dialog/Dialog.tsx +54 -45
- package/src/Drawer/Drawer.tsx +28 -11
- package/src/Drawer/useDrawerDialogPresence.ts +5 -1
- package/src/Field/Field.tsx +2 -2
- package/src/Field/PanelSearchInput.tsx +11 -0
- package/src/HoverCard/HoverCard.doc.mjs +4 -2
- package/src/HoverCard/HoverCard.tsx +35 -4
- package/src/HoverCard/useHoverCard.doc.mjs +178 -36
- package/src/HoverCard/useHoverCard.tsx +46 -52
- package/src/Icon/Icon.doc.mjs +49 -8
- package/src/Icon/Icon.tsx +15 -7
- package/src/InfoTip/InfoTip.doc.mjs +192 -0
- package/src/InfoTip/InfoTip.tsx +186 -0
- package/src/InfoTip/index.ts +14 -0
- package/src/Layer/layerAnimations.stylex.ts +24 -16
- package/src/Layer/useBackdropPress.ts +81 -0
- package/src/Layer/usePressPin.ts +86 -26
- package/src/Lightbox/Lightbox.tsx +18 -0
- package/src/MobileNav/MobileNav.tsx +1 -1
- package/src/MultiSelector/hooks.ts +2 -4
- package/src/Outline/Outline.doc.mjs +177 -51
- package/src/Outline/Outline.tsx +5 -57
- package/src/Outline/useOutlineFromMarkdown.doc.mjs +157 -0
- package/src/Outline/useOutlineFromMarkdown.ts +1 -0
- package/src/Outline/useScrollSpy.ts +3 -3
- package/src/PowerSearch/PowerSearch.doc.mjs +55 -6
- package/src/PowerSearch/PowerSearch.tsx +798 -324
- package/src/PowerSearch/PowerSearchBottomSheet.tsx +2515 -0
- package/src/PowerSearch/PowerSearchEditPopover.tsx +28 -6
- package/src/PowerSearch/PowerSearchValueEditor.tsx +203 -38
- package/src/PowerSearch/formatFilterValue.ts +18 -1
- package/src/PowerSearch/formatTokenValue.ts +215 -0
- package/src/PowerSearch/powerSearchSheetUtils.ts +224 -0
- package/src/RadioList/RadioList.doc.mjs +4 -2
- package/src/RadioList/RadioList.tsx +7 -2
- package/src/RadioList/RadioListItem.tsx +5 -3
- package/src/Resizable/ResizeHandle.tsx +133 -328
- package/src/Resizable/resizeGesture.ts +368 -0
- package/src/SegmentedControl/SegmentedControl.doc.mjs +3 -3
- package/src/SegmentedControl/SegmentedControl.tsx +179 -5
- package/src/SegmentedControl/SegmentedControlContext.ts +6 -0
- package/src/SegmentedControl/SegmentedControlItem.tsx +12 -1
- package/src/SegmentedControl/useSegmentedSelectionMotion.ts +1640 -0
- package/src/SegmentedControl/useSegmentedTouchTracking.ts +308 -0
- package/src/Selector/Selector.tsx +136 -89
- package/src/Selector/optionShape.ts +64 -0
- package/src/Selector/selectableOptionEntries.ts +39 -0
- package/src/Selector/utils.ts +9 -68
- package/src/SideNav/SideNavItem.tsx +3 -7
- package/src/Slider/sliderTouchController.ts +2 -2
- package/src/Spinner/Spinner.tsx +77 -63
- package/src/Switch/switchTouch.ts +2 -10
- package/src/Switch/useSwitchTouch.ts +38 -104
- package/src/Table/BaseTable.tsx +46 -12
- package/src/TextInput/TextInput.tsx +11 -10
- package/src/Toast/Toast.doc.mjs +4 -3
- package/src/Toast/Toast.tsx +57 -32
- package/src/Toast/ToastViewport.tsx +121 -35
- package/src/Toast/types.ts +9 -3
- package/src/Token/Token.tsx +15 -4
- package/src/Token/TokenNamingContext.ts +28 -0
- package/src/Tokenizer/Tokenizer.doc.mjs +16 -0
- package/src/Tokenizer/Tokenizer.tsx +89 -85
- package/src/Tokenizer/TokenizerBottomSheet.tsx +219 -93
- package/src/Tokenizer/TokenizerItemRemovableContext.ts +24 -0
- package/src/Tooltip/Tooltip.doc.mjs +123 -54
- package/src/Tooltip/Tooltip.tsx +36 -39
- package/src/Tooltip/index.ts +0 -1
- package/src/Tooltip/useTooltip.doc.mjs +171 -33
- package/src/Tooltip/useTooltip.tsx +98 -86
- package/src/TopNav/TopNavItem.tsx +6 -5
- package/src/TopNav/TopNavMegaMenuItem.tsx +6 -5
- package/src/TopNav/TopNavMenu.tsx +6 -5
- package/src/Typeahead/TypeaheadItem.doc.mjs +6 -3
- package/src/Typeahead/TypeaheadItem.tsx +2 -1
- package/src/animator/createAnimator.doc.mjs +153 -0
- package/src/animator/createAnimator.ts +324 -0
- package/src/gestures/GestureHost.ts +198 -20
- package/src/gestures/PressTracker.ts +4 -3
- package/src/gestures/README.md +7 -1
- package/src/hooks/actionGroupTracker.ts +32 -61
- package/src/hooks/index.ts +2 -0
- package/src/hooks/pressGroupContext.ts +21 -0
- package/src/hooks/useActionGroupTracking.ts +224 -0
- package/src/hooks/useAnimator.doc.mjs +109 -0
- package/src/hooks/useAnimator.ts +67 -0
- package/src/hooks/useAttachment.ts +1 -1
- package/src/hooks/useHighlightedOptionScroll.ts +123 -15
- package/src/hooks/useInputStatusIcon.tsx +3 -2
- package/src/hooks/useLongPress.doc.mjs +2 -2
- package/src/hooks/useLongPress.ts +136 -15
- package/src/hooks/useMediaQuery.doc.mjs +2 -2
- package/src/hooks/useMediaQuery.ts +13 -4
- package/src/hooks/useMenuPress.ts +8 -2
- package/src/i18n/generated-english/InfoTip/InfoTip.generated.ts +13 -0
- package/src/i18n/generated-english/PowerSearch/PowerSearch.generated.ts +1 -0
- package/src/i18n/generated-english/PowerSearch/PowerSearchBottomSheet.generated.ts +43 -0
- package/src/i18n/generated-english/PowerSearch/PowerSearchValueEditor.generated.ts +6 -0
- package/src/i18n/generated-english/PowerSearch/formatTokenValue.generated.ts +15 -0
- package/src/i18n/generated-english/Tokenizer/TokenizerBottomSheet.generated.ts +7 -1
- package/src/i18n/generated-locales/en.generated.ts +43 -0
- package/src/i18n/generated-locales/pseudo.generated.ts +44 -0
- package/src/index.ts +14 -0
- package/src/internal/SheetConfirmation.tsx +101 -0
- package/src/internal/indicatorPress.stylex.ts +24 -0
- package/src/internal/sheetDraft.ts +80 -0
- package/src/internal/touch-sheet.ts +21 -0
- package/src/internal/useDismissSearchOnTouchDrag.ts +69 -0
- package/src/motion/MEASUREMENTS.md +7 -0
- package/src/motion/README.md +9 -5
- package/src/motion/animator.ts +61 -29
- package/src/motion/reducedMotion.ts +79 -1
- package/src/motion/roles.ts +20 -1
- package/src/motion/uikit/alert.ts +43 -0
- package/src/motion/uikit/index.ts +5 -5
- package/src/motion/uikit/segmented.ts +74 -0
- package/src/motion/uikit/springs.ts +5 -21
- package/src/privateAttributes/pressGroupItem.stylex.ts +23 -0
- package/src/privateAttributes/segmentTitle.stylex.ts +22 -0
- package/src/utils/browserClickWait.ts +133 -0
- package/src/utils/clickGuard.ts +64 -1
- package/src/utils/dateParser.ts +16 -0
- package/src/utils/focusReturn.ts +30 -0
- package/src/utils/interactionOverlay.stylex.ts +3 -2
- package/src/utils/pressFeedback.ts +19 -6
- package/src/utils/triggerFocus.ts +80 -0
- package/dist/internal/tokenizer-presentation.d.ts +0 -21
- package/dist/internal/tokenizer-presentation.d.ts.map +0 -1
- package/dist/internal/tokenizer-presentation.js +0 -21
- package/src/internal/tokenizer-presentation.ts +0 -25
|
@@ -25,6 +25,11 @@
|
|
|
25
25
|
// its tolerance as a distance, as UIKit does. This hook measures it on each
|
|
26
26
|
// axis. The context menu's own movement allowance is a guess and is not
|
|
27
27
|
// measured yet (AST-094).
|
|
28
|
+
//
|
|
29
|
+
// The hold is a deadline on the touch events' timestamps, on the clock of the
|
|
30
|
+
// touch's own window. A busy main thread can delay the timer past the
|
|
31
|
+
// deadline. A touch stamped after the deadline then reports the press before
|
|
32
|
+
// it acts.
|
|
28
33
|
|
|
29
34
|
import {useCallback, useEffect, useRef} from 'react';
|
|
30
35
|
import {
|
|
@@ -37,6 +42,41 @@ import {
|
|
|
37
42
|
const DEFAULT_DELAY_MS = LONG_PRESS_DURATION_MS;
|
|
38
43
|
const DEFAULT_MOVE_CANCEL_PX = LONG_PRESS_ALLOWABLE_MOVEMENT_PX;
|
|
39
44
|
|
|
45
|
+
/** The part of a window's performance timeline a press reads. */
|
|
46
|
+
type EventClock = Pick<Performance, 'now'>;
|
|
47
|
+
|
|
48
|
+
function clockOf(e: React.TouchEvent): EventClock | null {
|
|
49
|
+
const view = e.view as unknown as {performance?: EventClock} | null;
|
|
50
|
+
return (
|
|
51
|
+
view?.performance ??
|
|
52
|
+
(typeof performance === 'undefined' ? null : performance)
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* An event's time on its window's clock. jsdom stamps events with
|
|
58
|
+
* `Date.now()`. The hook reads the age of such a stamp on that clock, so a
|
|
59
|
+
* frozen system time keeps the hold's length. A stamp nearer `Date.now()` than
|
|
60
|
+
* the window's clock is that kind of stamp.
|
|
61
|
+
*/
|
|
62
|
+
function timeOn(
|
|
63
|
+
clock: EventClock | null,
|
|
64
|
+
timeStamp: number | undefined,
|
|
65
|
+
): number | undefined {
|
|
66
|
+
// A stamp of 0 means the event carries no time, so the hold falls back to
|
|
67
|
+
// the full delay on the page's timer.
|
|
68
|
+
if (timeStamp == null || !Number.isFinite(timeStamp) || timeStamp <= 0) {
|
|
69
|
+
return undefined;
|
|
70
|
+
}
|
|
71
|
+
if (
|
|
72
|
+
clock != null &&
|
|
73
|
+
Math.abs(Date.now() - timeStamp) < Math.abs(clock.now() - timeStamp)
|
|
74
|
+
) {
|
|
75
|
+
return clock.now() - (Date.now() - timeStamp);
|
|
76
|
+
}
|
|
77
|
+
return timeStamp;
|
|
78
|
+
}
|
|
79
|
+
|
|
40
80
|
export interface UseLongPressOptions {
|
|
41
81
|
/** Fired with the touch start point once the press is held for `delayMs`. */
|
|
42
82
|
onLongPress: (point: {x: number; y: number}) => void;
|
|
@@ -59,8 +99,12 @@ export interface LongPressTolerance {
|
|
|
59
99
|
export interface UseLongPressHandlers {
|
|
60
100
|
onTouchStart: (e: React.TouchEvent) => void;
|
|
61
101
|
onTouchMove: (e: React.TouchEvent) => void;
|
|
62
|
-
|
|
63
|
-
|
|
102
|
+
/**
|
|
103
|
+
* The lift. Pass the event, so a press it is stamped past (its timer held
|
|
104
|
+
* back by a busy page) still reports first. Spreading the handlers does.
|
|
105
|
+
*/
|
|
106
|
+
onTouchEnd: (e?: React.TouchEvent) => void;
|
|
107
|
+
onTouchCancel: (e?: React.TouchEvent) => void;
|
|
64
108
|
/**
|
|
65
109
|
* Begin detection at a point, for a caller driving this from its own
|
|
66
110
|
* pointer events rather than the touch handlers above.
|
|
@@ -118,6 +162,9 @@ export function useLongPressDetector(
|
|
|
118
162
|
|
|
119
163
|
const timerRef = useRef<ReturnType<typeof setTimeout> | null>(null);
|
|
120
164
|
const startRef = useRef<{x: number; y: number} | null>(null);
|
|
165
|
+
// The pending press's deadline and clock, when it started from a touch.
|
|
166
|
+
const deadlineRef = useRef<number | null>(null);
|
|
167
|
+
const clockRef = useRef<EventClock | null>(null);
|
|
121
168
|
// The press in progress's tolerance, when its caller chose one at start.
|
|
122
169
|
const pressToleranceRef = useRef<LongPressTolerance | null>(null);
|
|
123
170
|
// Keep the latest callback without re-creating handlers on every render.
|
|
@@ -130,10 +177,39 @@ export function useLongPressDetector(
|
|
|
130
177
|
timerRef.current = null;
|
|
131
178
|
}
|
|
132
179
|
startRef.current = null;
|
|
180
|
+
deadlineRef.current = null;
|
|
181
|
+
clockRef.current = null;
|
|
133
182
|
}, []);
|
|
134
183
|
|
|
135
|
-
const
|
|
136
|
-
|
|
184
|
+
const fire = useCallback(() => {
|
|
185
|
+
const from = startRef.current;
|
|
186
|
+
if (from == null) {
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
clear();
|
|
190
|
+
onLongPressRef.current({x: from.x, y: from.y});
|
|
191
|
+
}, [clear]);
|
|
192
|
+
|
|
193
|
+
// A touch stamped at or past the deadline: the finger was down for the
|
|
194
|
+
// whole delay, so the press reports before the touch acts.
|
|
195
|
+
const fireIfDue = useCallback(
|
|
196
|
+
(e: React.TouchEvent | undefined) => {
|
|
197
|
+
const deadline = deadlineRef.current;
|
|
198
|
+
const eventTime =
|
|
199
|
+
e == null ? undefined : timeOn(clockRef.current, e.timeStamp);
|
|
200
|
+
if (deadline != null && eventTime != null && eventTime >= deadline) {
|
|
201
|
+
fire();
|
|
202
|
+
}
|
|
203
|
+
},
|
|
204
|
+
[fire],
|
|
205
|
+
);
|
|
206
|
+
|
|
207
|
+
const begin = useCallback(
|
|
208
|
+
(
|
|
209
|
+
point: {x: number; y: number},
|
|
210
|
+
tolerance: LongPressTolerance | undefined,
|
|
211
|
+
started: {at: number; clock: EventClock} | undefined,
|
|
212
|
+
) => {
|
|
137
213
|
if (disabled) {
|
|
138
214
|
return;
|
|
139
215
|
}
|
|
@@ -142,15 +218,40 @@ export function useLongPressDetector(
|
|
|
142
218
|
clear();
|
|
143
219
|
startRef.current = {x: point.x, y: point.y};
|
|
144
220
|
pressToleranceRef.current = tolerance ?? null;
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
221
|
+
const clock = started?.clock ?? null;
|
|
222
|
+
const deadline = started == null ? null : started.at + delayMs;
|
|
223
|
+
clockRef.current = clock;
|
|
224
|
+
deadlineRef.current = deadline;
|
|
225
|
+
// Wait only for the rest of the hold, so a touch handled late does not
|
|
226
|
+
// lengthen it, and never past the delay.
|
|
227
|
+
const remaining =
|
|
228
|
+
clock == null || deadline == null
|
|
229
|
+
? delayMs
|
|
230
|
+
: Math.min(delayMs, Math.max(0, deadline - clock.now()));
|
|
231
|
+
// A late timer yields to queued input once, so a lift stamped before
|
|
232
|
+
// the deadline still cancels the press. The gesture arena does the same.
|
|
233
|
+
const run = (mayYield: boolean) => {
|
|
234
|
+
timerRef.current = null;
|
|
235
|
+
if (
|
|
236
|
+
mayYield &&
|
|
237
|
+
clock != null &&
|
|
238
|
+
deadline != null &&
|
|
239
|
+
clock.now() > deadline
|
|
240
|
+
) {
|
|
241
|
+
timerRef.current = setTimeout(() => run(false), 0);
|
|
148
242
|
return;
|
|
149
243
|
}
|
|
150
|
-
|
|
151
|
-
}
|
|
244
|
+
fire();
|
|
245
|
+
};
|
|
246
|
+
timerRef.current = setTimeout(() => run(true), remaining);
|
|
152
247
|
},
|
|
153
|
-
[disabled, delayMs, clear],
|
|
248
|
+
[disabled, delayMs, clear, fire],
|
|
249
|
+
);
|
|
250
|
+
|
|
251
|
+
const start = useCallback(
|
|
252
|
+
(point: {x: number; y: number}, tolerance?: LongPressTolerance) =>
|
|
253
|
+
begin(point, tolerance, undefined),
|
|
254
|
+
[begin],
|
|
154
255
|
);
|
|
155
256
|
|
|
156
257
|
const moveTo = useCallback(
|
|
@@ -179,17 +280,29 @@ export function useLongPressDetector(
|
|
|
179
280
|
return;
|
|
180
281
|
}
|
|
181
282
|
if (e.touches.length !== 1) {
|
|
283
|
+
// A second finger ends the press, unless the press was already due.
|
|
284
|
+
fireIfDue(e);
|
|
182
285
|
clear();
|
|
183
286
|
return;
|
|
184
287
|
}
|
|
185
288
|
const touch = e.touches[0];
|
|
186
|
-
|
|
289
|
+
const clock = clockOf(e);
|
|
290
|
+
const at = timeOn(clock, e.timeStamp);
|
|
291
|
+
begin(
|
|
292
|
+
{x: touch.clientX, y: touch.clientY},
|
|
293
|
+
undefined,
|
|
294
|
+
clock == null || at == null ? undefined : {at, clock},
|
|
295
|
+
);
|
|
187
296
|
},
|
|
188
|
-
[disabled, clear,
|
|
297
|
+
[disabled, clear, begin, fireIfDue],
|
|
189
298
|
);
|
|
190
299
|
|
|
191
300
|
const onTouchMove = useCallback(
|
|
192
301
|
(e: React.TouchEvent) => {
|
|
302
|
+
if (startRef.current == null) {
|
|
303
|
+
return;
|
|
304
|
+
}
|
|
305
|
+
fireIfDue(e);
|
|
193
306
|
if (startRef.current == null) {
|
|
194
307
|
return;
|
|
195
308
|
}
|
|
@@ -200,7 +313,15 @@ export function useLongPressDetector(
|
|
|
200
313
|
const touch = e.touches[0];
|
|
201
314
|
moveTo({x: touch.clientX, y: touch.clientY});
|
|
202
315
|
},
|
|
203
|
-
[clear, moveTo],
|
|
316
|
+
[clear, moveTo, fireIfDue],
|
|
317
|
+
);
|
|
318
|
+
|
|
319
|
+
const onTouchEnd = useCallback(
|
|
320
|
+
(e?: React.TouchEvent) => {
|
|
321
|
+
fireIfDue(e);
|
|
322
|
+
clear();
|
|
323
|
+
},
|
|
324
|
+
[clear, fireIfDue],
|
|
204
325
|
);
|
|
205
326
|
|
|
206
327
|
useEffect(() => clear, [clear]);
|
|
@@ -208,8 +329,8 @@ export function useLongPressDetector(
|
|
|
208
329
|
return {
|
|
209
330
|
onTouchStart,
|
|
210
331
|
onTouchMove,
|
|
211
|
-
onTouchEnd
|
|
212
|
-
onTouchCancel:
|
|
332
|
+
onTouchEnd,
|
|
333
|
+
onTouchCancel: onTouchEnd,
|
|
213
334
|
start,
|
|
214
335
|
moveTo,
|
|
215
336
|
cancel: clear,
|
|
@@ -21,7 +21,7 @@ export const docs = {
|
|
|
21
21
|
},
|
|
22
22
|
],
|
|
23
23
|
usage: {
|
|
24
|
-
description: 'SSR-safe media query hook that subscribes to window.matchMedia changes. Returns whether the given media query matches. Always returns false on first render for SSR compatibility.',
|
|
24
|
+
description: 'SSR-safe media query hook that subscribes to window.matchMedia changes. Returns whether the given media query matches. Always returns false on first render for SSR compatibility. Where `window.matchMedia` is missing, it returns its server default and never throws.',
|
|
25
25
|
bestPractices: [
|
|
26
26
|
{ guidance: true, description: 'Use for responsive layout switching based on viewport width, color scheme, or motion preferences.' },
|
|
27
27
|
{ guidance: true, description: 'Prefer Astryx responsive tokens and component props over manual breakpoint logic when possible.' },
|
|
@@ -44,7 +44,7 @@ export const docsDense = {
|
|
|
44
44
|
matches: 'whether media query currently matches. Always false on first render (SSR-safe).',
|
|
45
45
|
},
|
|
46
46
|
usage: {
|
|
47
|
-
description: 'SSR-safe media query hook subscribing to window.matchMedia changes. Returns whether given media query matches. Always returns false on first render for SSR compatibility.',
|
|
47
|
+
description: 'SSR-safe media query hook subscribing to window.matchMedia changes. Returns whether given media query matches. Always returns false on first render for SSR compatibility. Where `window.matchMedia` is missing, returns its server default and never throws.',
|
|
48
48
|
bestPractices: [
|
|
49
49
|
{ guidance: true, description: 'Use for responsive layout switching based on viewport width, color scheme, or motion preferences.' },
|
|
50
50
|
{ guidance: true, description: 'Prefer Astryx responsive tokens + component props over manual breakpoint logic when possible.' },
|
|
@@ -20,7 +20,8 @@ import {useCallback, useSyncExternalStore} from 'react';
|
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
22
|
* SSR-safe media query hook.
|
|
23
|
-
* Returns whether the given media query matches.
|
|
23
|
+
* Returns whether the given media query matches. Where the window has no
|
|
24
|
+
* `matchMedia`, as in a test DOM, it returns `serverDefault`.
|
|
24
25
|
*
|
|
25
26
|
* @param query - CSS media query string
|
|
26
27
|
* @param serverDefault - Value to return during SSR. Pass a server-side hint
|
|
@@ -35,6 +36,10 @@ import {useCallback, useSyncExternalStore} from 'react';
|
|
|
35
36
|
export function useMediaQuery(query: string, serverDefault = false): boolean {
|
|
36
37
|
const subscribe = useCallback(
|
|
37
38
|
(onStoreChange: () => void) => {
|
|
39
|
+
// A DOM without `matchMedia`, such as a test DOM, has nothing to watch.
|
|
40
|
+
if (typeof window.matchMedia !== 'function') {
|
|
41
|
+
return () => {};
|
|
42
|
+
}
|
|
38
43
|
const mql = window.matchMedia(query);
|
|
39
44
|
mql.addEventListener('change', onStoreChange);
|
|
40
45
|
return () => mql.removeEventListener('change', onStoreChange);
|
|
@@ -42,9 +47,13 @@ export function useMediaQuery(query: string, serverDefault = false): boolean {
|
|
|
42
47
|
[query],
|
|
43
48
|
);
|
|
44
49
|
|
|
45
|
-
const getSnapshot = useCallback(
|
|
46
|
-
|
|
47
|
-
|
|
50
|
+
const getSnapshot = useCallback(
|
|
51
|
+
() =>
|
|
52
|
+
typeof window.matchMedia === 'function'
|
|
53
|
+
? window.matchMedia(query).matches
|
|
54
|
+
: serverDefault,
|
|
55
|
+
[query, serverDefault],
|
|
56
|
+
);
|
|
48
57
|
|
|
49
58
|
const getServerSnapshot = useCallback(() => serverDefault, [serverDefault]);
|
|
50
59
|
|
|
@@ -483,7 +483,10 @@ export function useMenuPress(options: UseMenuPressOptions): UseMenuPressReturn {
|
|
|
483
483
|
// Detach before acting: the activation usually closes the menu.
|
|
484
484
|
endGesture();
|
|
485
485
|
// Once armed, the one swallower stays installed.
|
|
486
|
-
armClickGuard(doc, {
|
|
486
|
+
armClickGuard(doc, {
|
|
487
|
+
staysInstalled: true,
|
|
488
|
+
cancelsTouchEnd: native?.pointerType === 'touch',
|
|
489
|
+
});
|
|
487
490
|
if (native != null) {
|
|
488
491
|
activate(effect.row, native);
|
|
489
492
|
}
|
|
@@ -492,7 +495,10 @@ export function useMenuPress(options: UseMenuPressOptions): UseMenuPressReturn {
|
|
|
492
495
|
case 'settle': {
|
|
493
496
|
endGesture();
|
|
494
497
|
if (effect.stray) {
|
|
495
|
-
armClickGuard(doc, {
|
|
498
|
+
armClickGuard(doc, {
|
|
499
|
+
staysInstalled: true,
|
|
500
|
+
cancelsTouchEnd: native?.pointerType === 'touch',
|
|
501
|
+
});
|
|
496
502
|
}
|
|
497
503
|
if (effect.dismiss) {
|
|
498
504
|
optionsRef.current.onDismiss?.();
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @generated by scripts/generate-i18n-runtime.mjs from packages/core/locales/en.json,
|
|
5
|
+
* holding the English for the catalog keys named in packages/core/src/InfoTip/InfoTip.tsx.
|
|
6
|
+
* Do not edit by hand. Run `pnpm generate:i18n-runtime` instead.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
const english: Readonly<Record<string, string>> = {
|
|
10
|
+
"@astryx.infoTip.label": "More information"
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export default english;
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
const english: Readonly<Record<string, string>> = {
|
|
10
10
|
"@astryx.powersearch.allFiltersRemoved": "All filters removed",
|
|
11
|
+
"@astryx.powersearch.editableFiltersRemoved": "Editable filters removed",
|
|
11
12
|
"@astryx.powersearch.editor.apply": "Apply",
|
|
12
13
|
"@astryx.powersearch.label": "Search",
|
|
13
14
|
"@astryx.powersearch.placeholder": "Search…",
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @generated by scripts/generate-i18n-runtime.mjs from packages/core/locales/en.json,
|
|
5
|
+
* holding the English for the catalog keys named in packages/core/src/PowerSearch/PowerSearchBottomSheet.tsx.
|
|
6
|
+
* Do not edit by hand. Run `pnpm generate:i18n-runtime` instead.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
const english: Readonly<Record<string, string>> = {
|
|
10
|
+
"@astryx.powersearch.allFiltersRemoved": "All filters removed",
|
|
11
|
+
"@astryx.powersearch.editableFiltersRemoved": "Editable filters removed",
|
|
12
|
+
"@astryx.powersearch.editor.apply": "Apply",
|
|
13
|
+
"@astryx.powersearch.editor.cancel": "Cancel",
|
|
14
|
+
"@astryx.powersearch.editor.operator": "Operator",
|
|
15
|
+
"@astryx.powersearch.sheet.addFilter": "Add filter",
|
|
16
|
+
"@astryx.powersearch.sheet.clearAll": "Clear all",
|
|
17
|
+
"@astryx.powersearch.sheet.clearAllCancel": "Keep filters",
|
|
18
|
+
"@astryx.powersearch.sheet.clearAllConfirm": "Clear filters",
|
|
19
|
+
"@astryx.powersearch.sheet.clearAllDescription": "This removes all editable filters from this search.",
|
|
20
|
+
"@astryx.powersearch.sheet.clearAllTitle": "Clear all filters?",
|
|
21
|
+
"@astryx.powersearch.sheet.done": "Done",
|
|
22
|
+
"@astryx.powersearch.sheet.editableFiltersClearedWithCount": "Editable filters removed. {resultCount}",
|
|
23
|
+
"@astryx.powersearch.sheet.fieldOperator": "{field} {operator}",
|
|
24
|
+
"@astryx.powersearch.sheet.filterUnavailable": "This filter is no longer available",
|
|
25
|
+
"@astryx.powersearch.sheet.filtersClearedWithCount": "All filters removed. {resultCount}",
|
|
26
|
+
"@astryx.powersearch.sheet.filtersTitle": "Filters",
|
|
27
|
+
"@astryx.powersearch.sheet.labelValue": "{label} {value}",
|
|
28
|
+
"@astryx.powersearch.sheet.noFilters": "No filters applied",
|
|
29
|
+
"@astryx.powersearch.sheet.noFiltersDescription": "Add a filter to narrow your results and find what you need faster.",
|
|
30
|
+
"@astryx.powersearch.sheet.noMatchingFields": "No filters match your search",
|
|
31
|
+
"@astryx.powersearch.sheet.noResults": "No results found",
|
|
32
|
+
"@astryx.powersearch.sheet.removeFilter": "Remove {field} filter",
|
|
33
|
+
"@astryx.powersearch.sheet.search": "Search",
|
|
34
|
+
"@astryx.powersearch.sheet.searchFields": "Search filters",
|
|
35
|
+
"@astryx.powersearch.sheet.searchFieldsPlaceholder": "Search filters…",
|
|
36
|
+
"@astryx.powersearch.sheet.searchResults": "Search results",
|
|
37
|
+
"@astryx.powersearch.sheet.tryDifferentSearch": "Try a different search.",
|
|
38
|
+
"@astryx.powersearch.sheet.ungroupedFields": "General",
|
|
39
|
+
"@astryx.tokenizer.tokenAdded": "Added {label}",
|
|
40
|
+
"@astryx.tokenizer.tokenRemoved": "Removed {label}"
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
export default english;
|
|
@@ -7,6 +7,12 @@
|
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
const english: Readonly<Record<string, string>> = {
|
|
10
|
+
"@astryx.powersearch.sheet.relativeDaysAgo": "{count, number} {count, plural, one {day} other {days}} ago",
|
|
11
|
+
"@astryx.powersearch.sheet.relativeDaysFromNow": "{count, number} {count, plural, one {day} other {days}} from now",
|
|
12
|
+
"@astryx.powersearch.sheet.relativeMonthsAgo": "{count, number} {count, plural, one {month} other {months}} ago",
|
|
13
|
+
"@astryx.powersearch.sheet.relativeMonthsFromNow": "{count, number} {count, plural, one {month} other {months}} from now",
|
|
14
|
+
"@astryx.powersearch.sheet.relativeWeeksAgo": "{count, number} {count, plural, one {week} other {weeks}} ago",
|
|
15
|
+
"@astryx.powersearch.sheet.relativeWeeksFromNow": "{count, number} {count, plural, one {week} other {weeks}} from now",
|
|
10
16
|
"@astryx.powersearch.valueEditor.addValuesPlaceholder": "Add values…",
|
|
11
17
|
"@astryx.powersearch.valueEditor.date": "Date",
|
|
12
18
|
"@astryx.powersearch.valueEditor.dateRange": "date range",
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @generated by scripts/generate-i18n-runtime.mjs from packages/core/locales/en.json,
|
|
5
|
+
* holding the English for the catalog keys named in packages/core/src/PowerSearch/formatTokenValue.ts.
|
|
6
|
+
* Do not edit by hand. Run `pnpm generate:i18n-runtime` instead.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
const english: Readonly<Record<string, string>> = {
|
|
10
|
+
"@astryx.powersearch.valueEditor.dateRange": "date range",
|
|
11
|
+
"@astryx.powersearch.valueEditor.filtersCount": "{count, number} {count, plural, one {filter} other {filters}}",
|
|
12
|
+
"@astryx.powersearch.valueEditor.itemsCount": "{count, number} {count, plural, one {item} other {items}}"
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export default english;
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
const english: Readonly<Record<string, string>> = {
|
|
10
|
+
"@astryx.alertDialog.cancel": "Cancel",
|
|
10
11
|
"@astryx.textInput.clearLabel": "Clear {label}",
|
|
11
12
|
"@astryx.tokenizer.add": "Add",
|
|
12
13
|
"@astryx.tokenizer.addValue": "Add {value}",
|
|
@@ -16,11 +17,16 @@ const english: Readonly<Record<string, string>> = {
|
|
|
16
17
|
"@astryx.tokenizer.clearAllTitle": "Clear all selected items?",
|
|
17
18
|
"@astryx.tokenizer.clearSelection": "Clear selection",
|
|
18
19
|
"@astryx.tokenizer.create": "Create \"{value}\"",
|
|
19
|
-
"@astryx.tokenizer.
|
|
20
|
+
"@astryx.tokenizer.discardChanges": "Discard changes",
|
|
21
|
+
"@astryx.tokenizer.discardChangesDescription": "Your changes to {label} haven't been saved.",
|
|
22
|
+
"@astryx.tokenizer.discardChangesTitle": "Discard changes?",
|
|
23
|
+
"@astryx.tokenizer.keepEditing": "Keep editing",
|
|
20
24
|
"@astryx.tokenizer.noResultsDescription": "Try a different search.",
|
|
21
25
|
"@astryx.tokenizer.nothingToClear": "Nothing selected",
|
|
26
|
+
"@astryx.tokenizer.save": "Save",
|
|
22
27
|
"@astryx.tokenizer.search": "Search {label}",
|
|
23
28
|
"@astryx.tokenizer.searchPlaceholder": "Search…",
|
|
29
|
+
"@astryx.tokenizer.selectionLimit": "Select up to {count, plural, one {# item} other {# items}}",
|
|
24
30
|
"@astryx.tokenizer.tokenAdded": "Added {label}",
|
|
25
31
|
"@astryx.tokenizer.tokenRemoved": "Removed {label}",
|
|
26
32
|
"@astryx.typeahead.emptySearchResults": "No results found",
|
|
@@ -78,6 +78,47 @@ const runtimeCatalog: Readonly<Record<string, string>> = {
|
|
|
78
78
|
'{count, number} {count, plural, one {filter} other {filters}}',
|
|
79
79
|
'@astryx.powersearch.resultCount':
|
|
80
80
|
'{count, number} {count, plural, one {result} other {results}}',
|
|
81
|
+
'@astryx.powersearch.sheet.filtersTitle': 'Filters',
|
|
82
|
+
'@astryx.powersearch.sheet.addFilter': 'Add filter',
|
|
83
|
+
'@astryx.powersearch.sheet.noFilters': 'No filters applied',
|
|
84
|
+
'@astryx.powersearch.sheet.noFiltersDescription':
|
|
85
|
+
'Add a filter to narrow your results and find what you need faster.',
|
|
86
|
+
'@astryx.powersearch.sheet.clearAll': 'Clear all',
|
|
87
|
+
'@astryx.powersearch.sheet.clearAllTitle': 'Clear all filters?',
|
|
88
|
+
'@astryx.powersearch.sheet.clearAllDescription':
|
|
89
|
+
'This removes all editable filters from this search.',
|
|
90
|
+
'@astryx.powersearch.sheet.clearAllConfirm': 'Clear filters',
|
|
91
|
+
'@astryx.powersearch.sheet.clearAllCancel': 'Keep filters',
|
|
92
|
+
'@astryx.powersearch.sheet.done': 'Done',
|
|
93
|
+
'@astryx.powersearch.sheet.search': 'Search',
|
|
94
|
+
'@astryx.powersearch.sheet.searchResults': 'Search results',
|
|
95
|
+
'@astryx.powersearch.sheet.searchFields': 'Search filters',
|
|
96
|
+
'@astryx.powersearch.sheet.searchFieldsPlaceholder': 'Search filters…',
|
|
97
|
+
'@astryx.powersearch.sheet.ungroupedFields': 'General',
|
|
98
|
+
'@astryx.powersearch.sheet.noMatchingFields': 'No filters match your search',
|
|
99
|
+
'@astryx.powersearch.sheet.tryDifferentSearch': 'Try a different search.',
|
|
100
|
+
'@astryx.powersearch.sheet.noResults': 'No results found',
|
|
101
|
+
'@astryx.powersearch.sheet.filterUnavailable':
|
|
102
|
+
'This filter is no longer available',
|
|
103
|
+
'@astryx.powersearch.sheet.removeFilter': 'Remove {field} filter',
|
|
104
|
+
'@astryx.powersearch.sheet.relativeDaysAgo':
|
|
105
|
+
'{count, number} {count, plural, one {day} other {days}} ago',
|
|
106
|
+
'@astryx.powersearch.sheet.relativeDaysFromNow':
|
|
107
|
+
'{count, number} {count, plural, one {day} other {days}} from now',
|
|
108
|
+
'@astryx.powersearch.sheet.relativeWeeksAgo':
|
|
109
|
+
'{count, number} {count, plural, one {week} other {weeks}} ago',
|
|
110
|
+
'@astryx.powersearch.sheet.relativeWeeksFromNow':
|
|
111
|
+
'{count, number} {count, plural, one {week} other {weeks}} from now',
|
|
112
|
+
'@astryx.powersearch.sheet.relativeMonthsAgo':
|
|
113
|
+
'{count, number} {count, plural, one {month} other {months}} ago',
|
|
114
|
+
'@astryx.powersearch.sheet.relativeMonthsFromNow':
|
|
115
|
+
'{count, number} {count, plural, one {month} other {months}} from now',
|
|
116
|
+
'@astryx.powersearch.sheet.fieldOperator': '{field} {operator}',
|
|
117
|
+
'@astryx.powersearch.sheet.labelValue': '{label} {value}',
|
|
118
|
+
'@astryx.powersearch.sheet.filtersClearedWithCount':
|
|
119
|
+
'All filters removed. {resultCount}',
|
|
120
|
+
'@astryx.powersearch.sheet.editableFiltersClearedWithCount':
|
|
121
|
+
'Editable filters removed. {resultCount}',
|
|
81
122
|
'@astryx.alertDialog.cancel': 'Cancel',
|
|
82
123
|
'@astryx.appShell.mobileNavigation': 'Mobile navigation',
|
|
83
124
|
'@astryx.appShell.skipToContent': 'Skip to content',
|
|
@@ -315,6 +356,7 @@ const runtimeCatalog: Readonly<Record<string, string>> = {
|
|
|
315
356
|
'@astryx.powersearch.label': 'Search',
|
|
316
357
|
'@astryx.powersearch.placeholder': 'Search…',
|
|
317
358
|
'@astryx.powersearch.allFiltersRemoved': 'All filters removed',
|
|
359
|
+
'@astryx.powersearch.editableFiltersRemoved': 'Editable filters removed',
|
|
318
360
|
'@astryx.resizable.collapsed': 'Collapsed',
|
|
319
361
|
'@astryx.resizable.handle.label': 'Resize handle',
|
|
320
362
|
'@astryx.selector.placeholder': 'Select…',
|
|
@@ -632,6 +674,7 @@ const runtimeCatalog: Readonly<Record<string, string>> = {
|
|
|
632
674
|
'@astryx.comments.loading': 'Loading comments',
|
|
633
675
|
'@astryx.comments.olderFailed': "Earlier comments couldn't load",
|
|
634
676
|
'@astryx.comments.postFailed': "Your comment couldn't be posted.",
|
|
677
|
+
'@astryx.infoTip.label': 'More information',
|
|
635
678
|
};
|
|
636
679
|
|
|
637
680
|
export default runtimeCatalog;
|
|
@@ -80,6 +80,48 @@ const runtimeCatalog: Readonly<Record<string, string>> = {
|
|
|
80
80
|
'⟦{count, number} {count, plural, one {filter} other {filters}}⟧',
|
|
81
81
|
'@astryx.powersearch.resultCount':
|
|
82
82
|
'⟦{count, number} {count, plural, one {result} other {results}}⟧',
|
|
83
|
+
'@astryx.powersearch.sheet.filtersTitle': '⟦Ƒíłţéřš⟧',
|
|
84
|
+
'@astryx.powersearch.sheet.addFilter': '⟦Àðð ƒíłţéř⟧',
|
|
85
|
+
'@astryx.powersearch.sheet.noFilters': '⟦Ñó ƒíłţéřš àþþłíéð⟧',
|
|
86
|
+
'@astryx.powersearch.sheet.noFiltersDescription':
|
|
87
|
+
'⟦Àðð à ƒíłţéř ţó ñàřřóŵ ýóúř řéšúłţš àñð ƒíñð ŵĥàţ ýóú ñééð ƒàšţéř.⟧',
|
|
88
|
+
'@astryx.powersearch.sheet.clearAll': '⟦Çłéàř àłł⟧',
|
|
89
|
+
'@astryx.powersearch.sheet.clearAllTitle': '⟦Çłéàř àłł ƒíłţéřš?⟧',
|
|
90
|
+
'@astryx.powersearch.sheet.clearAllDescription':
|
|
91
|
+
'⟦Ţĥíš řéɱóṽéš àłł éðíţàƀłé ƒíłţéřš ƒřóɱ ţĥíš šéàřçĥ.⟧',
|
|
92
|
+
'@astryx.powersearch.sheet.clearAllConfirm': '⟦Çłéàř ƒíłţéřš⟧',
|
|
93
|
+
'@astryx.powersearch.sheet.clearAllCancel': '⟦Ķééþ ƒíłţéřš⟧',
|
|
94
|
+
'@astryx.powersearch.sheet.done': '⟦Ðóñé⟧',
|
|
95
|
+
'@astryx.powersearch.sheet.search': '⟦Šéàřçĥ⟧',
|
|
96
|
+
'@astryx.powersearch.sheet.searchResults': '⟦Šéàřçĥ řéšúłţš⟧',
|
|
97
|
+
'@astryx.powersearch.sheet.searchFields': '⟦Šéàřçĥ ƒíłţéřš⟧',
|
|
98
|
+
'@astryx.powersearch.sheet.searchFieldsPlaceholder': '⟦Šéàřçĥ ƒíłţéřš…⟧',
|
|
99
|
+
'@astryx.powersearch.sheet.ungroupedFields': '⟦Ĝéñéřàł⟧',
|
|
100
|
+
'@astryx.powersearch.sheet.noMatchingFields':
|
|
101
|
+
'⟦Ñó ƒíłţéřš ɱàţçĥ ýóúř šéàřçĥ⟧',
|
|
102
|
+
'@astryx.powersearch.sheet.tryDifferentSearch': '⟦Ţřý à ð탃éřéñţ šéàřçĥ.⟧',
|
|
103
|
+
'@astryx.powersearch.sheet.noResults': '⟦Ñó řéšúłţš ƒóúñð⟧',
|
|
104
|
+
'@astryx.powersearch.sheet.filterUnavailable':
|
|
105
|
+
'⟦Ţĥíš ƒíłţéř íš ñó łóñĝéř àṽàíłàƀłé⟧',
|
|
106
|
+
'@astryx.powersearch.sheet.removeFilter': '⟦Řéɱóṽé {field} ƒíłţéř⟧',
|
|
107
|
+
'@astryx.powersearch.sheet.relativeDaysAgo':
|
|
108
|
+
'⟦{count, number} {count, plural, one {day} other {days}} àĝó⟧',
|
|
109
|
+
'@astryx.powersearch.sheet.relativeDaysFromNow':
|
|
110
|
+
'⟦{count, number} {count, plural, one {day} other {days}} ƒřóɱ ñóŵ⟧',
|
|
111
|
+
'@astryx.powersearch.sheet.relativeWeeksAgo':
|
|
112
|
+
'⟦{count, number} {count, plural, one {week} other {weeks}} àĝó⟧',
|
|
113
|
+
'@astryx.powersearch.sheet.relativeWeeksFromNow':
|
|
114
|
+
'⟦{count, number} {count, plural, one {week} other {weeks}} ƒřóɱ ñóŵ⟧',
|
|
115
|
+
'@astryx.powersearch.sheet.relativeMonthsAgo':
|
|
116
|
+
'⟦{count, number} {count, plural, one {month} other {months}} àĝó⟧',
|
|
117
|
+
'@astryx.powersearch.sheet.relativeMonthsFromNow':
|
|
118
|
+
'⟦{count, number} {count, plural, one {month} other {months}} ƒřóɱ ñóŵ⟧',
|
|
119
|
+
'@astryx.powersearch.sheet.fieldOperator': '⟦{field} {operator}⟧',
|
|
120
|
+
'@astryx.powersearch.sheet.labelValue': '⟦{label} {value}⟧',
|
|
121
|
+
'@astryx.powersearch.sheet.filtersClearedWithCount':
|
|
122
|
+
'⟦Àłł ƒíłţéřš řéɱóṽéð. {resultCount}⟧',
|
|
123
|
+
'@astryx.powersearch.sheet.editableFiltersClearedWithCount':
|
|
124
|
+
'⟦Éðíţàƀłé ƒíłţéřš řéɱóṽéð. {resultCount}⟧',
|
|
83
125
|
'@astryx.alertDialog.cancel': '⟦Çàñçéł⟧',
|
|
84
126
|
'@astryx.appShell.mobileNavigation': '⟦Ṁóƀíłé ñàṽíĝàţíóñ⟧',
|
|
85
127
|
'@astryx.appShell.skipToContent': '⟦Šķíþ ţó çóñţéñţ⟧',
|
|
@@ -322,6 +364,7 @@ const runtimeCatalog: Readonly<Record<string, string>> = {
|
|
|
322
364
|
'@astryx.powersearch.label': '⟦Šéàřçĥ⟧',
|
|
323
365
|
'@astryx.powersearch.placeholder': '⟦Šéàřçĥ…⟧',
|
|
324
366
|
'@astryx.powersearch.allFiltersRemoved': '⟦Àłł ƒíłţéřš řéɱóṽéð⟧',
|
|
367
|
+
'@astryx.powersearch.editableFiltersRemoved': '⟦Éðíţàƀłé ƒíłţéřš řéɱóṽéð⟧',
|
|
325
368
|
'@astryx.resizable.collapsed': '⟦Çółłàþšéð⟧',
|
|
326
369
|
'@astryx.resizable.handle.label': '⟦Řéšížé ĥàñðłé⟧',
|
|
327
370
|
'@astryx.selector.placeholder': '⟦Šéłéçţ…⟧',
|
|
@@ -643,6 +686,7 @@ const runtimeCatalog: Readonly<Record<string, string>> = {
|
|
|
643
686
|
'@astryx.comments.loading': '⟦Łóàðíñĝ çóɱɱéñţš⟧',
|
|
644
687
|
'@astryx.comments.olderFailed': "⟦Éàřłíéř çóɱɱéñţš çóúłðñ'ţ łóàð⟧",
|
|
645
688
|
'@astryx.comments.postFailed': "⟦Ýóúř çóɱɱéñţ çóúłðñ'ţ ƀé þóšţéð.⟧",
|
|
689
|
+
'@astryx.infoTip.label': '⟦Ṁóřé íñƒóřɱàţíóñ⟧',
|
|
646
690
|
};
|
|
647
691
|
|
|
648
692
|
export default runtimeCatalog;
|
package/src/index.ts
CHANGED
|
@@ -71,6 +71,7 @@ export * from './SelectableCard';
|
|
|
71
71
|
export * from './Selector';
|
|
72
72
|
export * from './MultiSelector';
|
|
73
73
|
export * from './Icon';
|
|
74
|
+
export * from './InfoTip';
|
|
74
75
|
export * from './Indicator';
|
|
75
76
|
export * from './InputGroup';
|
|
76
77
|
export * from './Item';
|
|
@@ -172,6 +173,19 @@ export * from './Outline';
|
|
|
172
173
|
// Overflow list
|
|
173
174
|
export * from './OverflowList';
|
|
174
175
|
|
|
176
|
+
// Animating one element: from the package root only, since one API has one
|
|
177
|
+
// entry. Its hook ships from './hooks'.
|
|
178
|
+
export {
|
|
179
|
+
createAnimator,
|
|
180
|
+
type Animator,
|
|
181
|
+
type AnimatorAnimateOptions,
|
|
182
|
+
type AnimatorChannel,
|
|
183
|
+
type AnimatorDecayVelocity,
|
|
184
|
+
type AnimatorHandle,
|
|
185
|
+
type AnimatorSnapshot,
|
|
186
|
+
type AnimatorValues,
|
|
187
|
+
} from './animator/createAnimator';
|
|
188
|
+
|
|
175
189
|
// Hooks
|
|
176
190
|
export * from './hooks';
|
|
177
191
|
|