@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
|
@@ -20,13 +20,14 @@ import { getGestureHost } from "../gestures/GestureHost.js";
|
|
|
20
20
|
import { createPressTracker } from "../gestures/PressTracker.js";
|
|
21
21
|
import { isRtlElement } from "../hooks/isRtlElement.js";
|
|
22
22
|
import { useIsomorphicLayoutEffect } from "../hooks/useIsomorphicLayoutEffect.js";
|
|
23
|
-
import {
|
|
23
|
+
import { createMotionAnimator } from "../motion/animator.js";
|
|
24
24
|
import { solveSpring, toSpring } from "../motion/spring.js";
|
|
25
25
|
import { UIKIT_GESTURES } from "../motion/uikit/gestures.js";
|
|
26
26
|
import { registerSwitchTable, switchControl } from "../motion/uikit/switch.js";
|
|
27
27
|
import { useTouchPresentation } from "../utils/touchPresentation.js";
|
|
28
|
-
import {
|
|
29
|
-
import {
|
|
28
|
+
import { awaitBrowserClick, clickForLift } from "../utils/browserClickWait.js";
|
|
29
|
+
import { armClickGuard } from "../utils/clickGuard.js";
|
|
30
|
+
import { commitOnRelease, dragTarget, settleTime, startFlip, stepFlip, switchTouchGeometry } from "./switchTouch.js";
|
|
30
31
|
import { readFillOf, sameTrackState, trackStateOf } from "./switchFill.js";
|
|
31
32
|
/** The fade layer's colour, set on the track for its ::after (Switch.tsx). */
|
|
32
33
|
const FADE_FILL = '--_switch-fade-fill';
|
|
@@ -176,11 +177,8 @@ export class SwitchTouchController {
|
|
|
176
177
|
isTracking = false;
|
|
177
178
|
/** Which presentation the switch has: the touch one, or its own. */
|
|
178
179
|
presentation = 'touch';
|
|
179
|
-
/**
|
|
180
|
-
|
|
181
|
-
pressListenersTimer = null;
|
|
182
|
-
/** Passive: a lift is waiting for the browser's own click. */
|
|
183
|
-
browserClickTimer = null;
|
|
180
|
+
/** Passive: a lift is waiting for the browser's own click; this ends it. */
|
|
181
|
+
endBrowserClickWait = null;
|
|
184
182
|
reconcileTimer = null;
|
|
185
183
|
constructor(isOn, geometry) {
|
|
186
184
|
this.isOn = isOn;
|
|
@@ -205,10 +203,10 @@ export class SwitchTouchController {
|
|
|
205
203
|
return;
|
|
206
204
|
}
|
|
207
205
|
registerSwitchTable();
|
|
208
|
-
this.thumb =
|
|
206
|
+
this.thumb = createMotionAnimator(elements.thumb);
|
|
209
207
|
// The layer rests clear (its class's opacity 0) while the visuals show
|
|
210
208
|
// the value; from here its opacity is the animator's.
|
|
211
|
-
this.fade =
|
|
209
|
+
this.fade = createMotionAnimator(elements.track, {
|
|
212
210
|
pseudoElement: '::after',
|
|
213
211
|
initial: {
|
|
214
212
|
opacity: 0
|
|
@@ -217,7 +215,7 @@ export class SwitchTouchController {
|
|
|
217
215
|
this.fade.set({
|
|
218
216
|
opacity: 0
|
|
219
217
|
});
|
|
220
|
-
this.shadow =
|
|
218
|
+
this.shadow = createMotionAnimator(elements.thumb, {
|
|
221
219
|
pseudoElement: '::after',
|
|
222
220
|
initial: {
|
|
223
221
|
opacity: 0
|
|
@@ -255,63 +253,7 @@ export class SwitchTouchController {
|
|
|
255
253
|
}
|
|
256
254
|
}
|
|
257
255
|
});
|
|
258
|
-
|
|
259
|
-
// clicks nothing itself.
|
|
260
|
-
const onClick = event => {
|
|
261
|
-
if (event.isTrusted && this.browserClickTimer != null) {
|
|
262
|
-
clearTimeout(this.browserClickTimer);
|
|
263
|
-
this.browserClickTimer = null;
|
|
264
|
-
this.scheduleReconcile();
|
|
265
|
-
}
|
|
266
|
-
};
|
|
267
|
-
const listen = () => {
|
|
268
|
-
surface.addEventListener('click', onClick, true);
|
|
269
|
-
return () => {
|
|
270
|
-
surface.removeEventListener('click', onClick, true);
|
|
271
|
-
};
|
|
272
|
-
};
|
|
273
|
-
if (this.presentation === 'pointer') {
|
|
274
|
-
// Under a fine pointer only the press the host arms listens at rest.
|
|
275
|
-
// The switch's click listener comes with a press and goes after its
|
|
276
|
-
// click wait.
|
|
277
|
-
this.listenForPress = listen;
|
|
278
|
-
return [host.attachConsumer(surface, tracker), () => tracker.dispose(), () => this.stopPressListeners()];
|
|
279
|
-
}
|
|
280
|
-
return [host.attachConsumer(surface, tracker), () => tracker.dispose(), listen()];
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
/** Under a fine pointer: adds the switch's own listeners for a press. */
|
|
284
|
-
listenForPress = null;
|
|
285
|
-
startPressListeners() {
|
|
286
|
-
if (this.pressListenersTimer != null) {
|
|
287
|
-
clearTimeout(this.pressListenersTimer);
|
|
288
|
-
this.pressListenersTimer = null;
|
|
289
|
-
}
|
|
290
|
-
if (this.pressListeners == null && this.listenForPress != null) {
|
|
291
|
-
this.pressListeners = this.listenForPress();
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
/** The press's click window is over: its listeners go. */
|
|
296
|
-
endPressListeners(afterMs) {
|
|
297
|
-
if (this.pressListeners == null) {
|
|
298
|
-
return;
|
|
299
|
-
}
|
|
300
|
-
if (this.pressListenersTimer != null) {
|
|
301
|
-
clearTimeout(this.pressListenersTimer);
|
|
302
|
-
}
|
|
303
|
-
this.pressListenersTimer = setTimeout(() => {
|
|
304
|
-
this.pressListenersTimer = null;
|
|
305
|
-
this.stopPressListeners();
|
|
306
|
-
}, afterMs);
|
|
307
|
-
}
|
|
308
|
-
stopPressListeners() {
|
|
309
|
-
if (this.pressListenersTimer != null) {
|
|
310
|
-
clearTimeout(this.pressListenersTimer);
|
|
311
|
-
this.pressListenersTimer = null;
|
|
312
|
-
}
|
|
313
|
-
this.pressListeners?.();
|
|
314
|
-
this.pressListeners = null;
|
|
256
|
+
return [host.attachConsumer(surface, tracker), () => tracker.dispose()];
|
|
315
257
|
}
|
|
316
258
|
|
|
317
259
|
/** Undo everything: listeners, timers, animations and inline styles. */
|
|
@@ -320,7 +262,6 @@ export class SwitchTouchController {
|
|
|
320
262
|
detach();
|
|
321
263
|
}
|
|
322
264
|
this.detachers = [];
|
|
323
|
-
this.listenForPress = null;
|
|
324
265
|
this.clearTimers();
|
|
325
266
|
for (const animator of [this.thumb, this.fade, this.shadow]) {
|
|
326
267
|
const element = animator?.element;
|
|
@@ -487,7 +428,6 @@ export class SwitchTouchController {
|
|
|
487
428
|
switch (event) {
|
|
488
429
|
case 'touchDown':
|
|
489
430
|
this.isTracking = true;
|
|
490
|
-
this.startPressListeners();
|
|
491
431
|
this.touchDown(time);
|
|
492
432
|
return;
|
|
493
433
|
case 'touchDragInside':
|
|
@@ -523,16 +463,15 @@ export class SwitchTouchController {
|
|
|
523
463
|
byBrowserClick: true,
|
|
524
464
|
clicksIfNoBrowserClick: touch.pointerType === 'touch'
|
|
525
465
|
});
|
|
526
|
-
this.endPressListeners(BROWSER_CLICK_WAIT_MS);
|
|
527
466
|
return;
|
|
528
467
|
}
|
|
529
|
-
if (this.drag?.flip.didFlip !== true
|
|
530
|
-
// A mouse or a pen
|
|
531
|
-
// the switch
|
|
532
|
-
// finger's press slid
|
|
468
|
+
if (touch.pointerType !== 'touch' && (event === 'touchUpOutside' || this.drag?.flip.didFlip !== true)) {
|
|
469
|
+
// A mouse or a pen released outside the tracking bounds, flipped or
|
|
470
|
+
// not, leaves the switch alone, as the native checkbox does. So the
|
|
471
|
+
// press can be taken back (WCAG 2.5.2). Only a finger's press slid
|
|
472
|
+
// off toggles.
|
|
533
473
|
this.released = true;
|
|
534
474
|
this.abandon(time);
|
|
535
|
-
this.endPressListeners(0);
|
|
536
475
|
return;
|
|
537
476
|
}
|
|
538
477
|
// A drag that flipped, or a press slid off and lifted outside, which
|
|
@@ -544,7 +483,6 @@ export class SwitchTouchController {
|
|
|
544
483
|
armClickGuard(this.elements.input.ownerDocument);
|
|
545
484
|
}
|
|
546
485
|
this.release(time);
|
|
547
|
-
this.endPressListeners(0);
|
|
548
486
|
return;
|
|
549
487
|
case 'touchCancel':
|
|
550
488
|
// The browser took the touch for its scroll, or a recognizer above
|
|
@@ -554,7 +492,6 @@ export class SwitchTouchController {
|
|
|
554
492
|
this.released = true;
|
|
555
493
|
this.abandon(time);
|
|
556
494
|
}
|
|
557
|
-
this.endPressListeners(0);
|
|
558
495
|
return;
|
|
559
496
|
case 'touchDragEnter':
|
|
560
497
|
case 'touchDragExit':
|
|
@@ -637,14 +574,23 @@ export class SwitchTouchController {
|
|
|
637
574
|
this.showSide(commit, time, undefined, true);
|
|
638
575
|
}
|
|
639
576
|
this.pressEnded(time, true);
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
577
|
+
const surface = this.elements?.surface;
|
|
578
|
+
if (byBrowserClick && surface != null) {
|
|
579
|
+
// The lift's own click activates the input natively: the switch then
|
|
580
|
+
// clicks nothing itself.
|
|
581
|
+
this.endBrowserClickWait = awaitBrowserClick(surface, {
|
|
582
|
+
onClicked: () => {
|
|
583
|
+
this.endBrowserClickWait = null;
|
|
584
|
+
this.scheduleReconcile();
|
|
585
|
+
},
|
|
586
|
+
onNoClick: () => {
|
|
587
|
+
this.endBrowserClickWait = null;
|
|
588
|
+
if (clicksIfNoBrowserClick && commit !== this.isOn) {
|
|
589
|
+
this.clickInput();
|
|
590
|
+
}
|
|
591
|
+
this.scheduleReconcile();
|
|
645
592
|
}
|
|
646
|
-
|
|
647
|
-
}, BROWSER_CLICK_WAIT_MS);
|
|
593
|
+
});
|
|
648
594
|
return;
|
|
649
595
|
}
|
|
650
596
|
if (commit !== this.isOn) {
|
|
@@ -661,11 +607,9 @@ export class SwitchTouchController {
|
|
|
661
607
|
*/
|
|
662
608
|
clickInput() {
|
|
663
609
|
const input = this.elements?.input;
|
|
664
|
-
if (input
|
|
665
|
-
|
|
610
|
+
if (input != null) {
|
|
611
|
+
clickForLift(input);
|
|
666
612
|
}
|
|
667
|
-
armClickGuard(input.ownerDocument);
|
|
668
|
-
withoutClickGuard(() => input.click());
|
|
669
613
|
}
|
|
670
614
|
|
|
671
615
|
/** If the owner kept the old value, the visuals go back to it. */
|
|
@@ -924,10 +868,8 @@ export class SwitchTouchController {
|
|
|
924
868
|
}
|
|
925
869
|
}
|
|
926
870
|
clearTimers() {
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
this.browserClickTimer = null;
|
|
930
|
-
}
|
|
871
|
+
this.endBrowserClickWait?.();
|
|
872
|
+
this.endBrowserClickWait = null;
|
|
931
873
|
if (this.reconcileTimer != null) {
|
|
932
874
|
clearTimeout(this.reconcileTimer);
|
|
933
875
|
this.reconcileTimer = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseTable.d.ts","sourceRoot":"","sources":["../../src/Table/BaseTable.tsx"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"BaseTable.d.ts","sourceRoot":"","sources":["../../src/Table/BaseTable.tsx"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AAEH,OAAO,EAIL,KAAK,YAAY,EAEjB,KAAK,GAAG,EACT,MAAM,OAAO,CAAC;AAIf,OAAO,KAAK,EACV,cAAc,EAYf,MAAM,SAAS,CAAC;AAkpBjB;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,SAAS,EAAqB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3E,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG;IAAC,GAAG,CAAC,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAA;CAAC,KACrD,YAAY,CAAC"}
|
package/dist/Table/BaseTable.js
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* - /packages/core/src/Table/index.ts (exports if types change)
|
|
15
15
|
* - /packages/cli/assets/templates/blocks/components/Table/ (showcase blocks)
|
|
16
16
|
*/
|
|
17
|
-
import { memo, useRef } from 'react';
|
|
17
|
+
import { memo, useId, useRef } from 'react';
|
|
18
18
|
import { isRenderable } from "../utils/isRenderable.js";
|
|
19
19
|
import * as stylex from '@stylexjs/stylex';
|
|
20
20
|
import "../theme/tokens.stylex.js";
|
|
@@ -317,6 +317,7 @@ function BaseTableInner({
|
|
|
317
317
|
});
|
|
318
318
|
|
|
319
319
|
// --- Plugin pipeline: header cells ---
|
|
320
|
+
const headerLabelIdBase = useId();
|
|
320
321
|
const headerCells = resolvedColumns.map((col, columnIndex) => {
|
|
321
322
|
const headerContent = col.header ?? col.key;
|
|
322
323
|
|
|
@@ -367,16 +368,36 @@ function BaseTableInner({
|
|
|
367
368
|
below
|
|
368
369
|
} = cellRenderProps;
|
|
369
370
|
const hasSlots = before != null || after != null || overlay != null || below != null;
|
|
370
|
-
const
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
children: [resolvedContent, after]
|
|
376
|
-
}) : resolvedContent, overlay, below]
|
|
371
|
+
const labelRow = isRenderable(after) ? /*#__PURE__*/_jsxs("div", {
|
|
372
|
+
...{
|
|
373
|
+
className: "x3nfvp2 x6s0dn4 xzye2dw xeuugli"
|
|
374
|
+
},
|
|
375
|
+
children: [resolvedContent, after]
|
|
377
376
|
}) : resolvedContent;
|
|
377
|
+
|
|
378
|
+
// The overlay is a control of its own. Keep its name and value out of the
|
|
379
|
+
// header's name.
|
|
380
|
+
const namesOwnHeader = isRenderable(overlay) && mergedHtmlProps['aria-label'] == null && mergedHtmlProps['aria-labelledby'] == null;
|
|
381
|
+
const labelId = `${headerLabelIdBase}-label-${columnIndex}`;
|
|
382
|
+
const belowId = `${headerLabelIdBase}-below-${columnIndex}`;
|
|
383
|
+
const hasBelow = isRenderable(below);
|
|
384
|
+
const headerInner = !hasSlots ? resolvedContent : namesOwnHeader ? /*#__PURE__*/_jsxs(_Fragment, {
|
|
385
|
+
children: [/*#__PURE__*/_jsxs("span", {
|
|
386
|
+
id: labelId,
|
|
387
|
+
children: [before, labelRow]
|
|
388
|
+
}), overlay, hasBelow && /*#__PURE__*/_jsx("div", {
|
|
389
|
+
id: belowId,
|
|
390
|
+
children: below
|
|
391
|
+
})]
|
|
392
|
+
}) : /*#__PURE__*/_jsxs(_Fragment, {
|
|
393
|
+
children: [before, labelRow, overlay, below]
|
|
394
|
+
});
|
|
395
|
+
const headerNameProps = namesOwnHeader ? {
|
|
396
|
+
'aria-labelledby': hasBelow ? `${labelId} ${belowId}` : labelId
|
|
397
|
+
} : {};
|
|
378
398
|
return /*#__PURE__*/_jsx(HeaderCellComponent, {
|
|
379
399
|
...mergedHtmlProps,
|
|
400
|
+
...headerNameProps,
|
|
380
401
|
...headerTitleProp,
|
|
381
402
|
contextMenuActions: cellRenderProps.contextMenuActions,
|
|
382
403
|
xstyle: cellRenderProps.xstyle,
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
*/
|
|
15
15
|
import { type ChangeEvent, type KeyboardEvent, type ReactNode } from 'react';
|
|
16
16
|
import * as stylex from '@stylexjs/stylex';
|
|
17
|
-
import {
|
|
18
|
-
import { type IconType } from '../Icon/
|
|
17
|
+
import type { InputStatus } from '../Field/types.js';
|
|
18
|
+
import { type IconType } from '../Icon/Icon.js';
|
|
19
19
|
import { type TextEntryTraitProps } from '../Field/textEntryTraits.js';
|
|
20
20
|
declare const sizeStyles: Readonly<{
|
|
21
21
|
readonly sm: Readonly<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextInput.d.ts","sourceRoot":"","sources":["../../src/TextInput/TextInput.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAOL,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"TextInput.d.ts","sourceRoot":"","sources":["../../src/TextInput/TextInput.tsx"],"names":[],"mappings":"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"}
|
|
@@ -20,13 +20,16 @@ import { use, useId, useOptimistic, useTransition, useCallback, useRef } from 'r
|
|
|
20
20
|
import * as stylex from '@stylexjs/stylex';
|
|
21
21
|
import "../theme/tokens.stylex.js";
|
|
22
22
|
import { colorVars, sizeVars, typographyVars, typeScaleVars } from "../theme/tokens.stylex.js";
|
|
23
|
-
import { Field
|
|
24
|
-
import {
|
|
23
|
+
import { Field } from "../Field/Field.js";
|
|
24
|
+
import { InputClearButton } from "../Field/InputClearButton.js";
|
|
25
|
+
import { inputWrapperStyles, inputStatusBorderStyles, inputStatusHoverShadowStyles, inputStatusFocusWithinStyles } from "../Field/inputStyles.stylex.js";
|
|
26
|
+
import { renderIconSlot } from "../Icon/Icon.js";
|
|
25
27
|
import { isRenderable } from "../utils/isRenderable.js";
|
|
26
|
-
import { Spinner } from "../Spinner/
|
|
27
|
-
import { useTooltip } from "../Tooltip/
|
|
28
|
-
import { VisuallyHidden } from "../VisuallyHidden/
|
|
29
|
-
import { getInputARIA
|
|
28
|
+
import { Spinner } from "../Spinner/Spinner.js";
|
|
29
|
+
import { useTooltip } from "../Tooltip/useTooltip.js";
|
|
30
|
+
import { VisuallyHidden } from "../VisuallyHidden/VisuallyHidden.js";
|
|
31
|
+
import { getInputARIA } from "../utils/inputAria.js";
|
|
32
|
+
import { isImeKeyEvent } from "../utils/ime.js";
|
|
30
33
|
import { textEntryTraitAttributes } from "../Field/textEntryTraits.js";
|
|
31
34
|
import { joinAriaIDs } from "../utils/inputAria.js";
|
|
32
35
|
const sizeStyles = {
|
|
@@ -47,7 +50,7 @@ import { groupStyles, inputGroupItemProps } from "../InputGroup/groupStyles.js";
|
|
|
47
50
|
|
|
48
51
|
// Re-export shared types for convenience
|
|
49
52
|
|
|
50
|
-
import { mergeProps } from "../utils/
|
|
53
|
+
import { mergeProps } from "../utils/mergeProps.js";
|
|
51
54
|
import { useSize } from "../SizeContext/SizeContext.js";
|
|
52
55
|
import { useInputContainer } from "../hooks/useInputContainer.js";
|
|
53
56
|
import { useInputStatusIcon } from "../hooks/useInputStatusIcon.js";
|
package/dist/Toast/Toast.d.ts
CHANGED
|
@@ -18,6 +18,16 @@ export interface ToastProps {
|
|
|
18
18
|
}
|
|
19
19
|
interface ToastSurfaceProps extends ToastProps {
|
|
20
20
|
gestureDirection: ToastGestureDirection;
|
|
21
|
+
/**
|
|
22
|
+
* Changes when a uniqueID overwrite updates this card in place: the new
|
|
23
|
+
* toast's auto-hide timer starts over.
|
|
24
|
+
*/
|
|
25
|
+
timerKey?: string;
|
|
26
|
+
/**
|
|
27
|
+
* False when the viewport announces the toast: the card then carries no
|
|
28
|
+
* live region of its own, so an update in place is announced once.
|
|
29
|
+
*/
|
|
30
|
+
isLiveRegion?: boolean;
|
|
21
31
|
}
|
|
22
32
|
/**
|
|
23
33
|
* Individual toast notification.
|
|
@@ -43,7 +53,7 @@ export declare function Toast(props: ToastProps): import("react").JSX.Element;
|
|
|
43
53
|
export declare namespace Toast {
|
|
44
54
|
var displayName: string;
|
|
45
55
|
}
|
|
46
|
-
export declare function ToastSurface({ type, body, endContent, isAutoHide, autoHideDuration, isExiting, onDismiss, renderContent, gestureDirection, }: ToastSurfaceProps): import("react").JSX.Element;
|
|
56
|
+
export declare function ToastSurface({ type, body, endContent, isAutoHide, autoHideDuration, isExiting, onDismiss, renderContent, gestureDirection, timerKey, isLiveRegion, }: ToastSurfaceProps): import("react").JSX.Element;
|
|
47
57
|
export declare namespace ToastSurface {
|
|
48
58
|
var displayName: string;
|
|
49
59
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../src/Toast/Toast.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAa,SAAS,EAAY,MAAM,OAAO,CAAC;AAkB5D,OAAO,KAAK,EACV,SAAS,EACT,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAkB,KAAK,qBAAqB,EAAC,MAAM,mBAAmB,CAAC;AA8F9E,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;IAChB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAChD;;;;OAIG;IACH,aAAa,CAAC,EAAE,oBAAoB,CAAC;CACtC;AAED,UAAU,iBAAkB,SAAQ,UAAU;IAC5C,gBAAgB,EAAE,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../src/Toast/Toast.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAa,SAAS,EAAY,MAAM,OAAO,CAAC;AAkB5D,OAAO,KAAK,EACV,SAAS,EACT,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAkB,KAAK,qBAAqB,EAAC,MAAM,mBAAmB,CAAC;AA8F9E,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;IAChB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAChD;;;;OAIG;IACH,aAAa,CAAC,EAAE,oBAAoB,CAAC;CACtC;AAED,UAAU,iBAAkB,SAAQ,UAAU;IAC5C,gBAAgB,EAAE,qBAAqB,CAAC;IACxC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,+BAEtC;yBAFe,KAAK;;;AAOrB,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EACJ,IAAI,EACJ,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,SAAiB,EACjB,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,QAAQ,EACR,YAAmB,GACpB,EAAE,iBAAiB,+BAqOnB;yBAjPe,YAAY"}
|
package/dist/Toast/Toast.js
CHANGED
|
@@ -85,7 +85,9 @@ export function ToastSurface({
|
|
|
85
85
|
isExiting = false,
|
|
86
86
|
onDismiss,
|
|
87
87
|
renderContent,
|
|
88
|
-
gestureDirection
|
|
88
|
+
gestureDirection,
|
|
89
|
+
timerKey,
|
|
90
|
+
isLiveRegion = true
|
|
89
91
|
}) {
|
|
90
92
|
const t = useComponentTranslator();
|
|
91
93
|
const timerRef = useRef(null);
|
|
@@ -117,10 +119,11 @@ export function ToastSurface({
|
|
|
117
119
|
onDismissRef.current('auto');
|
|
118
120
|
}, remainingRef.current);
|
|
119
121
|
}, [isAutoHide]);
|
|
122
|
+
|
|
123
|
+
// Pointer, focus and gesture holds are tracked whatever isAutoHide is: an
|
|
124
|
+
// overwrite can turn a toast that does not auto-hide into one that does
|
|
125
|
+
// while a hold is in place. The window hold leaves with its listeners.
|
|
120
126
|
const pauseTimer = useCallback(source => {
|
|
121
|
-
if (!isAutoHide) {
|
|
122
|
-
return;
|
|
123
|
-
}
|
|
124
127
|
const sources = pauseSourcesRef.current;
|
|
125
128
|
const wasRunning = sources.size === 0;
|
|
126
129
|
sources.add(source);
|
|
@@ -135,11 +138,8 @@ export function ToastSurface({
|
|
|
135
138
|
const elapsed = Date.now() - startTimeRef.current;
|
|
136
139
|
remainingRef.current = Math.max(remainingRef.current - elapsed, 1000);
|
|
137
140
|
}
|
|
138
|
-
}, [
|
|
141
|
+
}, []);
|
|
139
142
|
const resumeTimer = useCallback(source => {
|
|
140
|
-
if (!isAutoHide) {
|
|
141
|
-
return;
|
|
142
|
-
}
|
|
143
143
|
const sources = pauseSourcesRef.current;
|
|
144
144
|
if (!sources.delete(source)) {
|
|
145
145
|
return;
|
|
@@ -152,18 +152,25 @@ export function ToastSurface({
|
|
|
152
152
|
return;
|
|
153
153
|
}
|
|
154
154
|
startTimer();
|
|
155
|
-
}, [
|
|
155
|
+
}, [startTimer]);
|
|
156
156
|
useEffect(() => {
|
|
157
157
|
remainingRef.current = autoHideDuration;
|
|
158
|
+
// An update in place can remove the focused control, which fires no blur:
|
|
159
|
+
// a focus hold whose focus has left the card is stale.
|
|
160
|
+
const root = cardRootRef.current?.current;
|
|
161
|
+
if (pauseSourcesRef.current.has('focus') && root != null && !root.contains(root.ownerDocument.activeElement)) {
|
|
162
|
+
pauseSourcesRef.current.delete('focus');
|
|
163
|
+
}
|
|
158
164
|
startTimer();
|
|
159
165
|
return () => {
|
|
160
166
|
if (timerRef.current) {
|
|
161
167
|
clearTimeout(timerRef.current);
|
|
162
168
|
}
|
|
163
169
|
};
|
|
164
|
-
// startTimer's identity is stable per isAutoHide, so this runs on mount
|
|
165
|
-
//
|
|
166
|
-
|
|
170
|
+
// startTimer's identity is stable per isAutoHide, so this runs on mount,
|
|
171
|
+
// on a genuine duration change and on an overwrite (timerKey), not on
|
|
172
|
+
// unrelated viewport renders.
|
|
173
|
+
}, [autoHideDuration, startTimer, timerKey]);
|
|
167
174
|
|
|
168
175
|
// Pause the auto-hide timer while the window is not focused, so a toast
|
|
169
176
|
// doesn't silently expire while the user is in another window or tab.
|
|
@@ -171,13 +178,21 @@ export function ToastSurface({
|
|
|
171
178
|
if (!isAutoHide) {
|
|
172
179
|
return;
|
|
173
180
|
}
|
|
181
|
+
const pauseSources = pauseSourcesRef.current;
|
|
174
182
|
const pauseForWindow = () => pauseTimer('window');
|
|
175
183
|
const resumeForWindow = () => resumeTimer('window');
|
|
176
184
|
window.addEventListener('blur', pauseForWindow);
|
|
177
185
|
window.addEventListener('focus', resumeForWindow);
|
|
186
|
+
// A toast raised while the window is already blurred gets no blur event,
|
|
187
|
+
// so it starts held, and the window's next focus resumes it.
|
|
188
|
+
if (!document.hasFocus()) {
|
|
189
|
+
pauseForWindow();
|
|
190
|
+
}
|
|
178
191
|
return () => {
|
|
179
192
|
window.removeEventListener('blur', pauseForWindow);
|
|
180
193
|
window.removeEventListener('focus', resumeForWindow);
|
|
194
|
+
// With the listeners gone, no focus event would clear the window hold.
|
|
195
|
+
pauseSources.delete('window');
|
|
181
196
|
};
|
|
182
197
|
}, [isAutoHide, pauseTimer, resumeTimer]);
|
|
183
198
|
const isGesturePausing = useCallback(() => pauseSourcesRef.current.has('gesture'), []);
|
|
@@ -224,9 +239,9 @@ export function ToastSurface({
|
|
|
224
239
|
const fallbackMediaMode = isError || mode === 'light' ? 'dark' : 'light';
|
|
225
240
|
return /*#__PURE__*/_jsx("div", {
|
|
226
241
|
ref: rootRef,
|
|
227
|
-
role: isError ? 'alert' : 'status',
|
|
228
|
-
"aria-live": isError ? 'assertive' : 'polite',
|
|
229
|
-
"aria-atomic":
|
|
242
|
+
role: isLiveRegion ? isError ? 'alert' : 'status' : undefined,
|
|
243
|
+
"aria-live": isLiveRegion ? isError ? 'assertive' : 'polite' : undefined,
|
|
244
|
+
"aria-atomic": isLiveRegion ? 'true' : undefined,
|
|
230
245
|
onMouseEnter: pauseForPointer,
|
|
231
246
|
onMouseLeave: resumeForPointer,
|
|
232
247
|
onFocusCapture: pauseForFocus,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToastViewport.d.ts","sourceRoot":"","sources":["../../src/Toast/ToastViewport.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ToastViewport.d.ts","sourceRoot":"","sources":["../../src/Toast/ToastViewport.tsx"],"names":[],"mappings":"AAiDA,OAAO,KAAK,EAAa,aAAa,EAAqB,MAAM,SAAS,CAAC;AAE3E,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAwItD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC;IACtE;;;OAGG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAiHD;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAsB,EACtB,UAAc,EACd,KAAK,EACL,UAAU,EACV,UAAiB,EACjB,QAAQ,GACT,EAAE,kBAAkB,+BA6lBpB;yBApmBe,aAAa"}
|