@astryxdesign/core 0.7.5-canary.dbcfc30 → 0.7.5-canary.dcdb356
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.js +1 -1
- package/dist/BottomSheet/BottomSheet.d.ts +51 -7
- package/dist/BottomSheet/BottomSheet.d.ts.map +1 -1
- package/dist/BottomSheet/BottomSheet.js +396 -139
- package/dist/BottomSheet/BottomSheetHostContext.d.ts +8 -0
- package/dist/BottomSheet/BottomSheetHostContext.d.ts.map +1 -0
- package/dist/BottomSheet/BottomSheetHostContext.js +35 -0
- package/dist/BottomSheet/BottomSheetPanel.d.ts +9 -1
- package/dist/BottomSheet/BottomSheetPanel.d.ts.map +1 -1
- package/dist/BottomSheet/BottomSheetPanel.js +46 -10
- package/dist/BottomSheet/BottomSheetSwitcher.d.ts +53 -14
- package/dist/BottomSheet/BottomSheetSwitcher.d.ts.map +1 -1
- package/dist/BottomSheet/BottomSheetSwitcher.js +229 -27
- package/dist/BottomSheet/BottomSheetSwitcherContext.d.ts +6 -0
- package/dist/BottomSheet/BottomSheetSwitcherContext.d.ts.map +1 -1
- package/dist/BottomSheet/bottomSheetStack.d.ts +262 -0
- package/dist/BottomSheet/bottomSheetStack.d.ts.map +1 -0
- package/dist/BottomSheet/bottomSheetStack.js +1652 -0
- package/dist/BottomSheet/useSheetGestures.d.ts +19 -3
- package/dist/BottomSheet/useSheetGestures.d.ts.map +1 -1
- package/dist/BottomSheet/useSheetGestures.js +38 -13
- package/dist/Chat/ChatComposer.js +1 -1
- package/dist/Chat/ChatComposerInput.d.ts.map +1 -1
- package/dist/Chat/ChatComposerInput.js +55 -16
- package/dist/Collapsible/Collapsible.d.ts +8 -1
- package/dist/Collapsible/Collapsible.d.ts.map +1 -1
- package/dist/Collapsible/Collapsible.js +84 -2
- package/dist/CommandPalette/CommandPaletteEmpty.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPaletteEmpty.js +1 -0
- package/dist/ComplexSelector/ComplexSelector.d.ts.map +1 -1
- package/dist/ComplexSelector/ComplexSelector.js +6 -2
- package/dist/Dialog/Dialog.d.ts.map +1 -1
- package/dist/Dialog/Dialog.js +8 -3
- package/dist/Drawer/Drawer.d.ts.map +1 -1
- package/dist/Drawer/Drawer.js +18 -13
- package/dist/Field/Field.js +1 -1
- package/dist/Field/FieldLabel.js +1 -1
- package/dist/Field/PanelSearchInput.d.ts +9 -1
- package/dist/Field/PanelSearchInput.d.ts.map +1 -1
- package/dist/Field/PanelSearchInput.js +20 -8
- package/dist/Layer/modalOutlet.d.ts +43 -5
- package/dist/Layer/modalOutlet.d.ts.map +1 -1
- package/dist/Layer/modalOutlet.js +149 -13
- package/dist/Layer/useLayer.d.ts.map +1 -1
- package/dist/Layer/useLayer.js +96 -37
- package/dist/Lightbox/Lightbox.d.ts.map +1 -1
- package/dist/Lightbox/Lightbox.js +88 -81
- package/dist/Lightbox/LightboxViewport.a11y.browser.spec.d.ts +2 -0
- package/dist/Lightbox/LightboxViewport.a11y.browser.spec.d.ts.map +1 -0
- package/dist/Lightbox/LightboxViewport.a11y.browser.spec.js +65 -0
- package/dist/MobileNav/MobileNav.d.ts.map +1 -1
- package/dist/MobileNav/MobileNav.js +37 -32
- package/dist/MultiSelector/MultiSelector.d.ts +1 -1
- package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
- package/dist/MultiSelector/MultiSelector.js +13 -1
- package/dist/NumberInput/NumberInput.d.ts +1 -1
- package/dist/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/NumberInput/NumberInput.js +8 -1
- package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearch.js +7 -5
- package/dist/Selector/Selector.d.ts.map +1 -1
- package/dist/Selector/Selector.js +8 -1
- package/dist/SideNav/SideNavItem.d.ts +5 -1
- package/dist/SideNav/SideNavItem.d.ts.map +1 -1
- package/dist/SideNav/SideNavItem.js +36 -13
- package/dist/TabList/Tab.d.ts.map +1 -1
- package/dist/TabList/Tab.js +5 -1
- package/dist/TabList/TabMenu.d.ts.map +1 -1
- package/dist/TabList/TabMenu.js +1 -0
- package/dist/Table/TableCell.d.ts.map +1 -1
- package/dist/Table/TableCell.js +1 -0
- package/dist/Table/TableHeaderCell.d.ts.map +1 -1
- package/dist/Table/TableHeaderCell.js +1 -0
- package/dist/Table/plugins/columnResize/useTableColumnResize.d.ts.map +1 -1
- package/dist/Table/plugins/columnResize/useTableColumnResize.js +11 -2
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -1
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +103 -4
- package/dist/Table/plugins/stickyColumns/useTableStickyColumns.d.ts.map +1 -1
- package/dist/Table/plugins/stickyColumns/useTableStickyColumns.js +233 -6
- package/dist/Table/rowDivider.d.ts +34 -0
- package/dist/Table/rowDivider.d.ts.map +1 -0
- package/dist/Table/rowDivider.js +118 -0
- package/dist/Thumbnail/Thumbnail.d.ts.map +1 -1
- package/dist/Thumbnail/Thumbnail.js +35 -5
- package/dist/Toast/ToastViewport.d.ts.map +1 -1
- package/dist/Toast/ToastViewport.js +28 -2
- package/dist/Tokenizer/Tokenizer.d.ts +71 -4
- package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
- package/dist/Tokenizer/Tokenizer.js +418 -32
- package/dist/Tokenizer/TokenizerBottomSheet.d.ts +98 -0
- package/dist/Tokenizer/TokenizerBottomSheet.d.ts.map +1 -0
- package/dist/Tokenizer/TokenizerBottomSheet.js +721 -0
- package/dist/TopNav/TopNavMegaMenu.d.ts.map +1 -1
- package/dist/TopNav/TopNavMegaMenu.js +4 -4
- package/dist/TreeList/TreeList.d.ts +8 -23
- package/dist/TreeList/TreeList.d.ts.map +1 -1
- package/dist/TreeList/TreeList.js +175 -3
- package/dist/TreeList/TreeListItem.d.ts +7 -1
- package/dist/TreeList/TreeListItem.d.ts.map +1 -1
- package/dist/TreeList/TreeListItem.js +3 -1
- package/dist/astryx.css +35 -1
- package/dist/hooks/ModalAnnounceProvider.d.ts +41 -0
- package/dist/hooks/ModalAnnounceProvider.d.ts.map +1 -0
- package/dist/hooks/ModalAnnounceProvider.js +133 -0
- package/dist/hooks/actionGroupTracker.d.ts +98 -0
- package/dist/hooks/actionGroupTracker.d.ts.map +1 -0
- package/dist/hooks/actionGroupTracker.js +338 -0
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/modalAnnounce.d.ts +18 -0
- package/dist/hooks/modalAnnounce.d.ts.map +1 -0
- package/dist/hooks/modalAnnounce.js +382 -0
- package/dist/hooks/useAdaptivePresentation.d.ts +8 -0
- package/dist/hooks/useAdaptivePresentation.d.ts.map +1 -1
- package/dist/hooks/useAdaptivePresentation.js +27 -5
- package/dist/hooks/useAnimatedLayout.d.ts +42 -0
- package/dist/hooks/useAnimatedLayout.d.ts.map +1 -0
- package/dist/hooks/useAnimatedLayout.js +46 -0
- package/dist/hooks/useAnnounce.d.ts +114 -0
- package/dist/hooks/useAnnounce.d.ts.map +1 -1
- package/dist/hooks/useAnnounce.js +273 -10
- package/dist/hooks/useBusyAnnouncement.d.ts +5 -3
- package/dist/hooks/useBusyAnnouncement.d.ts.map +1 -1
- package/dist/hooks/useBusyAnnouncement.js +30 -44
- package/dist/hooks/useFocusTrap.d.ts.map +1 -1
- package/dist/hooks/useFocusTrap.js +15 -8
- package/dist/i18n/generated-locales/en.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/en.generated.js +13 -0
- package/dist/i18n/generated-locales/pseudo.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/pseudo.generated.js +13 -0
- package/dist/internal/tokenizer-presentation.d.ts +21 -0
- package/dist/internal/tokenizer-presentation.d.ts.map +1 -0
- package/dist/internal/tokenizer-presentation.js +21 -0
- package/dist/internal/touch.d.ts +26 -0
- package/dist/internal/touch.d.ts.map +1 -0
- package/dist/internal/touch.js +28 -0
- package/dist/motion/LayoutChangeSnapshot.d.ts +33 -0
- package/dist/motion/LayoutChangeSnapshot.d.ts.map +1 -0
- package/dist/motion/LayoutChangeSnapshot.js +37 -0
- package/dist/motion/animatedLayout.d.ts +94 -0
- package/dist/motion/animatedLayout.d.ts.map +1 -0
- package/dist/motion/animatedLayout.js +869 -0
- package/dist/motion/animator.d.ts +135 -27
- package/dist/motion/animator.d.ts.map +1 -1
- package/dist/motion/animator.js +1376 -233
- package/dist/motion/coast.d.ts +12 -7
- package/dist/motion/coast.d.ts.map +1 -1
- package/dist/motion/coast.js +9 -13
- package/dist/motion/projection.d.ts +4 -15
- package/dist/motion/projection.d.ts.map +1 -1
- package/dist/motion/projection.js +5 -29
- package/dist/motion/reducedMotion.d.ts +25 -0
- package/dist/motion/reducedMotion.d.ts.map +1 -0
- package/dist/motion/reducedMotion.js +85 -0
- package/dist/motion/reducedMotion.stylex.d.ts +19 -0
- package/dist/motion/reducedMotion.stylex.d.ts.map +1 -0
- package/dist/motion/reducedMotion.stylex.js +37 -0
- package/dist/motion/reducedMotionPlan.d.ts +89 -0
- package/dist/motion/reducedMotionPlan.d.ts.map +1 -0
- package/dist/motion/reducedMotionPlan.js +194 -0
- package/dist/motion/resolveSnapPoint.d.ts +52 -0
- package/dist/motion/resolveSnapPoint.d.ts.map +1 -0
- package/dist/motion/resolveSnapPoint.js +135 -0
- package/dist/motion/selectPage.d.ts +26 -0
- package/dist/motion/selectPage.d.ts.map +1 -0
- package/dist/motion/selectPage.js +55 -0
- package/dist/motion/uikit/timing.d.ts +8 -9
- package/dist/motion/uikit/timing.d.ts.map +1 -1
- package/dist/motion/uikit/timing.js +7 -8
- package/dist/utils/hitArea.d.ts +72 -0
- package/dist/utils/hitArea.d.ts.map +1 -0
- package/dist/utils/hitArea.js +681 -0
- package/locales/en.json +52 -0
- package/locales/pseudo.json +39 -0
- package/package.json +13 -3
- package/src/AlertDialog/AlertDialog.tsx +1 -1
- package/src/AspectRatio/AspectRatio.spec.md +179 -0
- package/src/Blockquote/Blockquote.spec.md +171 -0
- package/src/BottomSheet/BottomSheet.doc.mjs +106 -24
- package/src/BottomSheet/BottomSheet.spec.md +48 -44
- package/src/BottomSheet/BottomSheet.test.tsx +468 -5
- package/src/BottomSheet/BottomSheet.tsx +505 -140
- package/src/BottomSheet/BottomSheetHostContext.ts +44 -0
- package/src/BottomSheet/BottomSheetPanel.test.tsx +21 -10
- package/src/BottomSheet/BottomSheetPanel.tsx +89 -11
- package/src/BottomSheet/BottomSheetReplace.test.tsx +1526 -0
- package/src/BottomSheet/BottomSheetStacking.announce.test.tsx +246 -0
- package/src/BottomSheet/BottomSheetStacking.test.tsx +3184 -0
- package/src/BottomSheet/BottomSheetSwitcher.doc.mjs +27 -31
- package/src/BottomSheet/BottomSheetSwitcher.spec.md +26 -33
- package/src/BottomSheet/BottomSheetSwitcher.tsx +275 -26
- package/src/BottomSheet/BottomSheetSwitcherContext.ts +6 -0
- package/src/BottomSheet/bottomSheetStack.ts +2031 -0
- package/src/BottomSheet/useSheetGestures.ts +63 -11
- package/src/Breadcrumbs/BreadcrumbItem.spec.md +96 -59
- package/src/Breadcrumbs/Breadcrumbs.spec.md +165 -0
- package/src/Button/Button.spec.md +30 -28
- package/src/Chat/ChatComposer.test.tsx +32 -0
- package/src/Chat/ChatComposer.tsx +1 -1
- package/src/Chat/ChatComposerInput.test.tsx +165 -21
- package/src/Chat/ChatComposerInput.tsx +73 -16
- package/src/Code/Code.spec.md +30 -32
- package/src/Collapsible/Collapsible.doc.mjs +6 -0
- package/src/Collapsible/Collapsible.spec.md +26 -23
- package/src/Collapsible/Collapsible.tsx +121 -2
- package/src/CommandPalette/CommandPalette.perf.test.ts +8 -4
- package/src/CommandPalette/CommandPaletteEmpty.doc.mjs +6 -3
- package/src/CommandPalette/CommandPaletteEmpty.spec.md +190 -0
- package/src/CommandPalette/CommandPaletteEmpty.tsx +4 -0
- package/src/CommandPalette/__tests__/CommandPaletteEmptyAudit.a11y.chromium.spec.ts +715 -0
- package/src/ComplexSelector/ComplexSelector.spec.md +1 -1
- package/src/ComplexSelector/ComplexSelector.test.tsx +43 -0
- package/src/ComplexSelector/ComplexSelector.tsx +7 -1
- package/src/DateInput/DateInputTouch.test.tsx +1 -1
- package/src/Dialog/Dialog.tsx +6 -3
- package/src/Divider/Divider.spec.md +79 -70
- package/src/Drawer/Drawer.tsx +38 -35
- package/src/DropdownMenu/DropdownMenu.spec.md +3 -1
- package/src/DropdownMenu/DropdownMenu.ssr.test.tsx +33 -7
- package/src/DropdownMenu/modules/useMenuPress.spec.md +35 -36
- package/src/Field/Field.tsx +1 -1
- package/src/Field/FieldLabel.tsx +1 -1
- package/src/Field/PanelSearchInput.tsx +11 -0
- package/src/Heading/Heading.spec.md +198 -0
- package/src/InputGroup/InputGroup.spec.md +199 -0
- package/src/InputGroup/InputGroupText.spec.md +139 -0
- package/src/Layer/layerDismissalInvariants.test.tsx +9 -0
- package/src/Layer/modalOutlet.ts +155 -14
- package/src/Layer/useLayer.doc.mjs +1 -1
- package/src/Layer/useLayer.test.tsx +109 -1
- package/src/Layer/useLayer.tsx +110 -41
- package/src/Lightbox/Lightbox.test.tsx +15 -0
- package/src/Lightbox/Lightbox.tsx +126 -118
- package/src/Lightbox/LightboxViewport.a11y.browser.spec.ts +70 -0
- package/src/List/List.spec.md +74 -33
- package/src/MobileNav/MobileNav.tsx +41 -35
- package/src/MoreMenu/MoreMenu.spec.md +88 -53
- package/src/MultiSelector/MultiSelector.test.tsx +97 -0
- package/src/MultiSelector/MultiSelector.tsx +16 -1
- package/src/NavMenu/NavHeadingMenu.spec.md +100 -44
- package/src/NumberInput/NumberInput.spec.md +248 -0
- package/src/NumberInput/NumberInput.test.tsx +43 -0
- package/src/NumberInput/NumberInput.tsx +11 -1
- package/src/Popover/Popover.spec.md +29 -4
- package/src/Popover/Popover.test.tsx +95 -0
- package/src/PowerSearch/PowerSearch.spec.md +423 -53
- package/src/PowerSearch/PowerSearch.test.tsx +32 -1
- package/src/PowerSearch/PowerSearch.tsx +7 -5
- package/src/Selector/Selector.test.tsx +47 -0
- package/src/Selector/Selector.tsx +11 -1
- package/src/SideNav/SideNav.test.tsx +219 -17
- package/src/SideNav/SideNavItem.tsx +40 -9
- package/src/Skeleton/Skeleton.spec.md +7 -7
- package/src/Spinner/Spinner.spec.md +10 -10
- package/src/Stepper/Step.spec.md +206 -0
- package/src/TabList/Tab.spec.md +201 -0
- package/src/TabList/Tab.tsx +7 -1
- package/src/TabList/TabMenu.spec.md +196 -0
- package/src/TabList/TabMenu.tsx +2 -0
- package/src/TabList/__tests__/TabListOverflow.interaction.browser.spec.ts +99 -0
- package/src/Table/Table.spec.md +51 -31
- package/src/Table/TableCell.tsx +6 -0
- package/src/Table/TableHeaderCell.tsx +2 -0
- package/src/Table/__tests__/TableStickyDividers.a11y.browser.spec.ts +560 -0
- package/src/Table/plugins/columnResize/useTableColumnResize.tsx +23 -8
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.test.tsx +91 -9
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +120 -5
- package/src/Table/plugins/stickyColumns/useTableStickyColumns.test.tsx +51 -1
- package/src/Table/plugins/stickyColumns/useTableStickyColumns.tsx +291 -12
- package/src/Table/rowDivider.ts +154 -0
- package/src/Text/Text.spec.md +114 -127
- package/src/TextArea/TextArea.spec.md +164 -64
- package/src/Thumbnail/Thumbnail.spec.md +244 -0
- package/src/Thumbnail/Thumbnail.test.tsx +109 -6
- package/src/Thumbnail/Thumbnail.tsx +34 -4
- package/src/TimeInput/TimeInput.spec.md +273 -0
- package/src/Timestamp/Timestamp.spec.md +252 -0
- package/src/Toast/ToastViewport.modalHost.test.tsx +496 -6
- package/src/Toast/ToastViewport.tsx +27 -2
- package/src/Tokenizer/Tokenizer.props-type.test.tsx +126 -0
- package/src/Tokenizer/Tokenizer.spec.md +312 -71
- package/src/Tokenizer/Tokenizer.ssr.test.tsx +146 -0
- package/src/Tokenizer/Tokenizer.tsx +573 -25
- package/src/Tokenizer/TokenizerBottomSheet.test.tsx +2719 -0
- package/src/Tokenizer/TokenizerBottomSheet.tsx +957 -0
- package/src/Tokenizer/__tests__/TokenizerEndLane.a11y.chromium.spec.ts +60 -27
- package/src/Toolbar/Toolbar.spec.md +101 -48
- package/src/TopNav/TopNavMegaMenu.reduced-motion.source-build.test.mjs +83 -0
- package/src/TopNav/TopNavMegaMenu.tsx +21 -4
- package/src/TreeList/TreeList.doc.mjs +13 -0
- package/src/TreeList/TreeList.spec.md +51 -35
- package/src/TreeList/TreeList.tsx +234 -2
- package/src/TreeList/TreeListItem.tsx +12 -2
- package/src/VisuallyHidden/VisuallyHidden.spec.md +170 -0
- package/src/__tests__/BusyOwnerAnnouncement.test.tsx +7 -5
- package/src/hooks/ModalAnnounceProvider.tsx +155 -0
- package/src/hooks/actionGroupTracker.exports.test.ts +28 -0
- package/src/hooks/actionGroupTracker.test.ts +510 -0
- package/src/hooks/actionGroupTracker.ts +449 -0
- package/src/hooks/index.ts +6 -0
- package/src/hooks/modalAnnounce.ts +439 -0
- package/src/hooks/useAdaptivePresentation.ts +36 -6
- package/src/hooks/useAnimatedLayout.doc.mjs +101 -0
- package/src/hooks/useAnimatedLayout.ts +61 -0
- package/src/hooks/useAnnounce.doc.mjs +4 -4
- package/src/hooks/useAnnounce.modal.test.tsx +1291 -0
- package/src/hooks/useAnnounce.ts +362 -10
- package/src/hooks/useAnnounceRenderedText.adopters.test.tsx +22 -0
- package/src/hooks/useBusyAnnouncement.ts +29 -50
- package/src/hooks/useFocusTrap.doc.mjs +3 -3
- package/src/hooks/useFocusTrap.test.tsx +64 -0
- package/src/hooks/useFocusTrap.ts +15 -8
- package/src/i18n/generated-locales/en.generated.ts +14 -0
- package/src/i18n/generated-locales/pseudo.generated.ts +14 -0
- package/src/internal/tokenizer-presentation.test.ts +29 -0
- package/src/internal/tokenizer-presentation.ts +25 -0
- package/src/internal/touch.test.ts +44 -0
- package/src/internal/touch.ts +41 -0
- package/src/motion/LayoutChangeSnapshot.tsx +50 -0
- package/src/motion/MEASUREMENTS.md +21 -21
- package/src/motion/README.md +75 -28
- package/src/motion/__tests__/animatedLayout.interaction.browser.spec.ts +1041 -0
- package/src/motion/__tests__/animatedLayoutAdopters.interaction.browser.spec.ts +217 -0
- package/src/motion/__tests__/animatedLayoutBundle.ts +17 -0
- package/src/motion/animatedLayout.boundary.test.ts +133 -0
- package/src/motion/animatedLayout.test.ts +714 -0
- package/src/motion/animatedLayout.ts +1015 -0
- package/src/motion/animatedLayoutAdopters.test.tsx +500 -0
- package/src/motion/animator.test.ts +1767 -169
- package/src/motion/animator.ts +1763 -360
- package/src/motion/coast.test.ts +6 -6
- package/src/motion/coast.ts +17 -30
- package/src/motion/projection.test.ts +2 -34
- package/src/motion/projection.ts +5 -37
- package/src/motion/reducedMotion.stylex.ts +41 -0
- package/src/motion/reducedMotion.test.ts +129 -0
- package/src/motion/reducedMotion.ts +94 -0
- package/src/motion/reducedMotionPlan.test.ts +182 -0
- package/src/motion/reducedMotionPlan.ts +263 -0
- package/src/motion/resolveSnapPoint.test.ts +189 -0
- package/src/motion/resolveSnapPoint.ts +169 -0
- package/src/motion/selectPage.test.ts +31 -0
- package/src/motion/selectPage.ts +55 -0
- package/src/motion/uikit/timing.ts +7 -8
- package/src/theme/derivedVarRegistry.test.ts +4 -0
- package/src/utils/hitArea.test.ts +628 -0
- package/src/utils/hitArea.ts +770 -0
|
@@ -28,7 +28,7 @@ import { Button } from "../Button/index.js";
|
|
|
28
28
|
import { mergeProps } from "../utils/index.js";
|
|
29
29
|
import { themeProps } from "../utils/themeProps.js";
|
|
30
30
|
import { useTranslator } from "../i18n/index.js";
|
|
31
|
-
import { useMediaQuery } from "../hooks/
|
|
31
|
+
import { useMediaQuery } from "../hooks/useMediaQuery.js";
|
|
32
32
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
33
33
|
const SMALL_SCREEN_QUERY = '(max-width: 640px)';
|
|
34
34
|
const styles = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @file BottomSheet.tsx
|
|
3
|
-
* @input Uses React, StyleX, core hooks, shared layer dismissal, the modal outlet registry, the shared interaction modality, named BottomSheetPanel, BottomSheetSwitcherContext
|
|
3
|
+
* @input Uses React, StyleX, core hooks, shared layer dismissal, the modal outlet registry, the shared interaction modality, named BottomSheetPanel, BottomSheetSwitcherContext, BottomSheetHostContext, the private bottom-sheet stack registry
|
|
4
4
|
* @output Exports BottomSheet component and BottomSheetProps
|
|
5
5
|
* @position Public BottomSheet router plus private standalone/switcher hosts
|
|
6
6
|
*
|
|
@@ -19,24 +19,57 @@
|
|
|
19
19
|
* scroll is locked by the shared useScrollLock hook, as for Dialog: a
|
|
20
20
|
* standalone sheet holds it while presented, a switcher holds one for the
|
|
21
21
|
* whole modal flow. The remaining script is what no single dialog can
|
|
22
|
-
* decide: gating `cancel` by `purpose` and the shared dismissal stack,
|
|
23
|
-
* in a switcher, handing one scrim between two
|
|
24
|
-
* the active sheet when a retained dialog
|
|
22
|
+
* decide: gating `cancel` by `purpose` and the shared dismissal stack, the
|
|
23
|
+
* stack of sheets below, and, in a switcher, handing one scrim between two
|
|
24
|
+
* dialogs and keeping focus in the active sheet when a retained dialog
|
|
25
|
+
* closes.
|
|
25
26
|
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
27
|
+
* A standalone sheet also joins the private bottom-sheet stack
|
|
28
|
+
* (bottomSheetStack.ts) while it is presented. The stack is behaviour, not
|
|
29
|
+
* API: a modal sheet opened while another modal sheet is open stacks on top
|
|
30
|
+
* of it, the covered sheet recedes and is blocked, one scrim stays visible,
|
|
31
|
+
* and the native top layer is kept in open order even when several sheets
|
|
32
|
+
* open in one commit. A sheet rendered in another sheet's content leaves
|
|
33
|
+
* with its host and returns with it while its own `isOpen` is still true;
|
|
34
|
+
* its state is never written for it. A modal sheet on its own never
|
|
35
|
+
* notices the stack; when every sheet of a stack closes in one update, the
|
|
36
|
+
* registry returns focus once, to the bottom sheet's target, after the last
|
|
37
|
+
* dialog has closed.
|
|
38
|
+
*
|
|
39
|
+
* A standalone sheet closing in the same update as another standalone sheet
|
|
40
|
+
* opens, at the same level and from a control inside the closing sheet, is
|
|
41
|
+
* replaced by it: the two run the handoff a BottomSheetSwitcher runs between
|
|
42
|
+
* its steps (entering sheet above, retained sheet aligning down then fading,
|
|
43
|
+
* one steady scrim, focus into the new sheet and back to the flow's opener
|
|
44
|
+
* on close). The registry pairs them and drives the handoff; this host
|
|
45
|
+
* renders the retained panel state it reports, and reports its panel's
|
|
46
|
+
* motions back. Non-modal sheets (`hasScrim={false}`) are hosted as manual
|
|
47
|
+
* popovers so the top layer orders them, with `show()` below the Popover API
|
|
48
|
+
* floor; they never stack, but they replace each other the same way, and
|
|
49
|
+
* return focus to their opener on close only while the person is still in
|
|
50
|
+
* them.
|
|
51
|
+
*
|
|
52
|
+
* Every open standalone modal sheet supplies its dialog as an outlet for
|
|
53
|
+
* app-global surfaces (toasts) (Layer/modalOutlet.ts); the latest outlet,
|
|
54
|
+
* the one they render into, follows the sheet stack's order, so toasts land
|
|
55
|
+
* in the top sheet and return to the sheet beneath when it closes.
|
|
28
56
|
*
|
|
29
57
|
* SYNC: When modified, update these files to stay in sync:
|
|
30
58
|
* - /packages/core/src/BottomSheet/BottomSheetPanel.tsx
|
|
31
59
|
* - /packages/core/src/BottomSheet/BottomSheetEdgeTint.tsx
|
|
60
|
+
* - /packages/core/src/BottomSheet/BottomSheetHostContext.ts
|
|
61
|
+
* - /packages/core/src/BottomSheet/bottomSheetStack.ts
|
|
32
62
|
* - /packages/core/src/BottomSheet/BottomSheet.doc.mjs
|
|
33
63
|
* - /packages/core/src/BottomSheet/BottomSheet.test.tsx
|
|
64
|
+
* - /packages/core/src/BottomSheet/BottomSheetStacking.test.tsx
|
|
34
65
|
* - /packages/core/src/BottomSheet/BottomSheetSwitcher.tsx
|
|
35
66
|
* - /packages/core/src/BottomSheet/BottomSheetSwitcher.test.tsx
|
|
36
67
|
* - /packages/core/src/Layer/layerDismissalFamilies.test.tsx
|
|
37
68
|
* - /packages/core/src/Layer/layerDismissalInvariants.test.tsx
|
|
38
69
|
* - /packages/core/src/Toast/ToastViewport.modalHost.test.tsx
|
|
39
70
|
* - /apps/storybook/stories/BottomSheet.stories.tsx
|
|
71
|
+
* - /apps/storybook/stories/BottomSheetStacking.stories.tsx
|
|
72
|
+
* - /apps/storybook/stories/BottomSheetReplace.stories.tsx
|
|
40
73
|
* - /packages/cli/assets/templates/blocks/components/BottomSheet/BottomSheetShowcase.tsx
|
|
41
74
|
*/
|
|
42
75
|
import { type RefObject, type ReactNode } from 'react';
|
|
@@ -86,11 +119,22 @@ interface StandaloneBottomSheetProps extends BottomSheetSharedProps {
|
|
|
86
119
|
isOpen: boolean;
|
|
87
120
|
onOpenChange: (isOpen: boolean) => void;
|
|
88
121
|
hasScrim?: boolean;
|
|
89
|
-
/**
|
|
122
|
+
/**
|
|
123
|
+
* Element that receives focus after the sheet closes. For a sheet on its
|
|
124
|
+
* own, or the last sheet of a stack, it is always focused, wherever focus
|
|
125
|
+
* was. When the sheet closes with a modal sheet still open beneath it,
|
|
126
|
+
* focus returns into that sheet instead (to this element if it is inside
|
|
127
|
+
* it, else the revealed sheet's panel), because the page is still inert.
|
|
128
|
+
*/
|
|
90
129
|
finalFocusRef?: RefObject<HTMLElement | null>;
|
|
91
130
|
sheetId?: never;
|
|
92
131
|
}
|
|
93
132
|
interface SwitcherBottomSheetProps extends BottomSheetSharedProps {
|
|
133
|
+
/**
|
|
134
|
+
* @deprecated `BottomSheetSwitcher` is deprecated; give each step its own
|
|
135
|
+
* standalone sheet with `isOpen` instead. Keeps working until a future
|
|
136
|
+
* minor release removes the switcher.
|
|
137
|
+
*/
|
|
94
138
|
sheetId: string;
|
|
95
139
|
isOpen?: never;
|
|
96
140
|
onOpenChange?: never;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BottomSheet.d.ts","sourceRoot":"","sources":["../../src/BottomSheet/BottomSheet.tsx"],"names":[],"mappings":"AAIA
|
|
1
|
+
{"version":3,"file":"BottomSheet.d.ts","sourceRoot":"","sources":["../../src/BottomSheet/BottomSheet.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AAEH,OAAO,EAOL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAsDhD,YAAY,EAAC,iBAAiB,EAAE,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AAChF,OAAO,KAAK,EAAC,iBAAiB,EAAE,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AAsJhF,UAAU,sBAAuB,SAAQ,SAAS,CAAC,cAAc,CAAC;IAChE,qDAAqD;IACrD,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAEhC,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IAEd,0EAA0E;IAC1E,QAAQ,EAAE,SAAS,CAAC;IAEpB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB,wGAAwG;IACxG,MAAM,CAAC,EAAE,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;IAE7C;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;IAEjD;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,UAAU,0BAA2B,SAAQ,sBAAsB;IACjE,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB;AAED,UAAU,wBAAyB,SAAQ,sBAAsB;IAC/D;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB;AAED,MAAM,MAAM,gBAAgB,GAC1B,0BAA0B,GAAG,wBAAwB,CAAC;AAm0BxD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,+BA6BlD;yBA7Be,WAAW"}
|