@dxos/react-ui 0.8.4-main.f9ba587 → 0.8.4-main.fcc0d83b33
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/lib/browser/chunk-BDBC6H6V.mjs +848 -0
- package/dist/lib/browser/chunk-BDBC6H6V.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +4102 -61
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +112 -61
- package/dist/lib/browser/testing/index.mjs.map +4 -4
- package/dist/lib/browser/translations.mjs +18 -0
- package/dist/lib/browser/translations.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-3JSJK2ZY.mjs +850 -0
- package/dist/lib/node-esm/chunk-3JSJK2ZY.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +4102 -61
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/testing/index.mjs +112 -61
- package/dist/lib/node-esm/testing/index.mjs.map +4 -4
- package/dist/lib/node-esm/translations.mjs +20 -0
- package/dist/lib/node-esm/translations.mjs.map +7 -0
- package/dist/types/src/components/Avatars/Avatar.d.ts +2 -2
- package/dist/types/src/components/Avatars/Avatar.d.ts.map +1 -1
- package/dist/types/src/components/Avatars/Avatar.stories.d.ts +5 -31
- package/dist/types/src/components/Avatars/Avatar.stories.d.ts.map +1 -1
- package/dist/types/src/components/Avatars/AvatarGroup.stories.d.ts +5 -11
- package/dist/types/src/components/Avatars/AvatarGroup.stories.d.ts.map +1 -1
- package/dist/types/src/components/Breadcrumb/Breadcrumb.d.ts +1 -1
- package/dist/types/src/components/Breadcrumb/Breadcrumb.d.ts.map +1 -1
- package/dist/types/src/components/Breadcrumb/Breadcrumb.stories.d.ts +8 -20
- package/dist/types/src/components/Breadcrumb/Breadcrumb.stories.d.ts.map +1 -1
- package/dist/types/src/components/{Buttons → Button}/Button.d.ts +4 -4
- package/dist/types/src/components/Button/Button.d.ts.map +1 -0
- package/dist/types/src/components/Button/Button.stories.d.ts +17 -0
- package/dist/types/src/components/Button/Button.stories.d.ts.map +1 -0
- package/dist/types/src/components/{Buttons → Button}/IconButton.d.ts +5 -4
- package/dist/types/src/components/Button/IconButton.d.ts.map +1 -0
- package/dist/types/src/components/Button/IconButton.stories.d.ts +16 -0
- package/dist/types/src/components/Button/IconButton.stories.d.ts.map +1 -0
- package/dist/types/src/components/{Buttons → Button}/Toggle.d.ts +2 -2
- package/dist/types/src/components/Button/Toggle.d.ts.map +1 -0
- package/dist/types/src/components/Button/Toggle.stories.d.ts +16 -0
- package/dist/types/src/components/Button/Toggle.stories.d.ts.map +1 -0
- package/dist/types/src/components/Button/ToggleGroup.d.ts +27 -0
- package/dist/types/src/components/Button/ToggleGroup.d.ts.map +1 -0
- package/dist/types/src/components/Button/ToggleGroup.stories.d.ts +27 -0
- package/dist/types/src/components/Button/ToggleGroup.stories.d.ts.map +1 -0
- package/dist/types/src/components/Button/index.d.ts.map +1 -0
- package/dist/types/src/components/Card/Card.d.ts +127 -0
- package/dist/types/src/components/Card/Card.d.ts.map +1 -0
- package/dist/types/src/components/Card/Card.stories.d.ts +21 -0
- package/dist/types/src/components/Card/Card.stories.d.ts.map +1 -0
- package/dist/types/src/components/Card/index.d.ts +2 -0
- package/dist/types/src/components/Card/index.d.ts.map +1 -0
- package/dist/types/src/components/Clipboard/ClipboardProvider.d.ts.map +1 -1
- package/dist/types/src/components/Clipboard/CopyButton.d.ts +1 -1
- package/dist/types/src/components/Clipboard/CopyButton.d.ts.map +1 -1
- package/dist/types/src/components/Clipboard/index.d.ts +10 -1
- package/dist/types/src/components/Clipboard/index.d.ts.map +1 -1
- package/dist/types/src/components/DensityProvider/DensityProvider.d.ts +1 -1
- package/dist/types/src/components/DensityProvider/DensityProvider.d.ts.map +1 -1
- package/dist/types/src/components/Dialog/AlertDialog.d.ts +51 -0
- package/dist/types/src/components/Dialog/AlertDialog.d.ts.map +1 -0
- package/dist/types/src/components/Dialog/AlertDialog.stories.d.ts +11 -0
- package/dist/types/src/components/Dialog/AlertDialog.stories.d.ts.map +1 -0
- package/dist/types/src/components/Dialog/Dialog.d.ts +64 -0
- package/dist/types/src/components/Dialog/Dialog.d.ts.map +1 -0
- package/dist/types/src/components/Dialog/Dialog.stories.d.ts +25 -0
- package/dist/types/src/components/Dialog/Dialog.stories.d.ts.map +1 -0
- package/dist/types/src/components/Dialog/index.d.ts.map +1 -0
- package/dist/types/src/components/ElevationProvider/ElevationProvider.d.ts +1 -1
- package/dist/types/src/components/ElevationProvider/ElevationProvider.d.ts.map +1 -1
- package/dist/types/src/components/ErrorFallback/ErrorFallback.d.ts +11 -0
- package/dist/types/src/components/ErrorFallback/ErrorFallback.d.ts.map +1 -0
- package/dist/types/src/components/ErrorFallback/ErrorFallback.stories.d.ts +7 -0
- package/dist/types/src/components/ErrorFallback/ErrorFallback.stories.d.ts.map +1 -0
- package/dist/types/src/components/ErrorFallback/ErrorStack.d.ts +19 -0
- package/dist/types/src/components/ErrorFallback/ErrorStack.d.ts.map +1 -0
- package/dist/types/src/components/ErrorFallback/ThrowError.d.ts +9 -0
- package/dist/types/src/components/ErrorFallback/ThrowError.d.ts.map +1 -0
- package/dist/types/src/components/ErrorFallback/index.d.ts +5 -0
- package/dist/types/src/components/ErrorFallback/index.d.ts.map +1 -0
- package/dist/types/src/components/Focus/Focus.d.ts +36 -0
- package/dist/types/src/components/Focus/Focus.d.ts.map +1 -0
- package/dist/types/src/components/Focus/Focus.stories.d.ts +9 -0
- package/dist/types/src/components/Focus/Focus.stories.d.ts.map +1 -0
- package/dist/types/src/components/Focus/index.d.ts +2 -0
- package/dist/types/src/components/Focus/index.d.ts.map +1 -0
- package/dist/types/src/components/Icon/Icon.d.ts +5 -2
- package/dist/types/src/components/Icon/Icon.d.ts.map +1 -1
- package/dist/types/src/components/Icon/Icon.stories.d.ts +25 -0
- package/dist/types/src/components/Icon/Icon.stories.d.ts.map +1 -0
- package/dist/types/src/components/Image/Image.d.ts +15 -0
- package/dist/types/src/components/Image/Image.d.ts.map +1 -0
- package/dist/types/src/components/Image/Image.stories.d.ts +34 -0
- package/dist/types/src/components/Image/Image.stories.d.ts.map +1 -0
- package/dist/types/src/components/Image/index.d.ts +2 -0
- package/dist/types/src/components/Image/index.d.ts.map +1 -0
- package/dist/types/src/components/Input/Input.d.ts +19 -24
- package/dist/types/src/components/Input/Input.d.ts.map +1 -1
- package/dist/types/src/components/Input/Input.stories.d.ts +17 -18
- package/dist/types/src/components/Input/Input.stories.d.ts.map +1 -1
- package/dist/types/src/components/Link/Link.stories.d.ts +8 -8
- package/dist/types/src/components/Link/Link.stories.d.ts.map +1 -1
- package/dist/types/src/components/{Lists → List}/List.d.ts +8 -6
- package/dist/types/src/components/List/List.d.ts.map +1 -0
- package/dist/types/src/components/List/List.stories.d.ts +16 -0
- package/dist/types/src/components/List/List.stories.d.ts.map +1 -0
- package/dist/types/src/components/List/ListDropIndicator.d.ts.map +1 -0
- package/dist/types/src/components/{Lists → List}/Tree.d.ts +3 -3
- package/dist/types/src/components/List/Tree.d.ts.map +1 -0
- package/dist/types/src/components/List/Tree.stories.d.ts +15 -0
- package/dist/types/src/components/List/Tree.stories.d.ts.map +1 -0
- package/dist/types/src/components/List/TreeDropIndicator.d.ts.map +1 -0
- package/dist/types/src/components/{Lists → List}/Treegrid.d.ts +6 -10
- package/dist/types/src/components/List/Treegrid.d.ts.map +1 -0
- package/dist/types/src/components/List/Treegrid.stories.d.ts +12 -0
- package/dist/types/src/components/List/Treegrid.stories.d.ts.map +1 -0
- package/dist/types/src/components/List/index.d.ts.map +1 -0
- package/dist/types/src/components/Main/Main.d.ts +25 -31
- package/dist/types/src/components/Main/Main.d.ts.map +1 -1
- package/dist/types/src/components/Main/Main.stories.d.ts +6 -10
- package/dist/types/src/components/Main/Main.stories.d.ts.map +1 -1
- package/dist/types/src/components/Main/useSwipeToDismiss.d.ts.map +1 -1
- package/dist/types/src/components/{Menus → Menu}/ContextMenu.d.ts +6 -6
- package/dist/types/src/components/Menu/ContextMenu.d.ts.map +1 -0
- package/dist/types/src/components/Menu/ContextMenu.stories.d.ts +12 -0
- package/dist/types/src/components/Menu/ContextMenu.stories.d.ts.map +1 -0
- package/dist/types/src/components/Menu/DropdownMenu.d.ts +121 -0
- package/dist/types/src/components/Menu/DropdownMenu.d.ts.map +1 -0
- package/dist/types/src/components/Menu/DropdownMenu.stories.d.ts +28 -0
- package/dist/types/src/components/Menu/DropdownMenu.stories.d.ts.map +1 -0
- package/dist/types/src/components/Menu/index.d.ts.map +1 -0
- package/dist/types/src/components/Message/Message.d.ts +1 -1
- package/dist/types/src/components/Message/Message.d.ts.map +1 -1
- package/dist/types/src/components/Message/Message.stories.d.ts +12 -22
- package/dist/types/src/components/Message/Message.stories.d.ts.map +1 -1
- package/dist/types/src/components/Popover/Popover.d.ts +41 -24
- package/dist/types/src/components/Popover/Popover.d.ts.map +1 -1
- package/dist/types/src/components/Popover/Popover.stories.d.ts +6 -34
- package/dist/types/src/components/Popover/Popover.stories.d.ts.map +1 -1
- package/dist/types/src/components/ScrollArea/ScrollArea.d.ts +27 -27
- package/dist/types/src/components/ScrollArea/ScrollArea.d.ts.map +1 -1
- package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts +50 -27
- package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts.map +1 -1
- package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts +68 -0
- package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts.map +1 -0
- package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts +23 -0
- package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts.map +1 -0
- package/dist/types/src/components/ScrollContainer/index.d.ts +2 -0
- package/dist/types/src/components/ScrollContainer/index.d.ts.map +1 -0
- package/dist/types/src/components/Select/Select.d.ts +10 -10
- package/dist/types/src/components/Select/Select.d.ts.map +1 -1
- package/dist/types/src/components/Select/Select.stories.d.ts +6 -11
- package/dist/types/src/components/Select/Select.stories.d.ts.map +1 -1
- package/dist/types/src/components/Separator/Separator.d.ts +4 -4
- package/dist/types/src/components/Separator/Separator.d.ts.map +1 -1
- package/dist/types/src/components/Skeleton/Skeleton.d.ts +12 -0
- package/dist/types/src/components/Skeleton/Skeleton.d.ts.map +1 -0
- package/dist/types/src/components/Skeleton/Skeleton.stories.d.ts +17 -0
- package/dist/types/src/components/Skeleton/Skeleton.stories.d.ts.map +1 -0
- package/dist/types/src/components/Skeleton/index.d.ts +2 -0
- package/dist/types/src/components/Skeleton/index.d.ts.map +1 -0
- package/dist/types/src/components/Splitter/Splitter.d.ts +34 -0
- package/dist/types/src/components/Splitter/Splitter.d.ts.map +1 -0
- package/dist/types/src/components/Splitter/Splitter.stories.d.ts +7 -0
- package/dist/types/src/components/Splitter/Splitter.stories.d.ts.map +1 -0
- package/dist/types/src/components/Splitter/index.d.ts +2 -0
- package/dist/types/src/components/Splitter/index.d.ts.map +1 -0
- package/dist/types/src/components/Status/Status.d.ts +3 -4
- package/dist/types/src/components/Status/Status.d.ts.map +1 -1
- package/dist/types/src/components/Status/Status.stories.d.ts +6 -10
- package/dist/types/src/components/Status/Status.stories.d.ts.map +1 -1
- package/dist/types/src/components/Tag/Tag.d.ts +1 -1
- package/dist/types/src/components/Tag/Tag.d.ts.map +1 -1
- package/dist/types/src/components/Tag/Tag.stories.d.ts +8 -13
- package/dist/types/src/components/Tag/Tag.stories.d.ts.map +1 -1
- package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts +4 -4
- package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts.map +1 -1
- package/dist/types/src/components/ThemeProvider/ThemeProvider.stories.d.ts +12 -0
- package/dist/types/src/components/ThemeProvider/ThemeProvider.stories.d.ts.map +1 -0
- package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts +55 -63
- package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts.map +1 -1
- package/dist/types/src/components/ThemeProvider/index.d.ts +2 -1
- package/dist/types/src/components/ThemeProvider/index.d.ts.map +1 -1
- package/dist/types/src/components/Toast/Toast.d.ts +20 -20
- package/dist/types/src/components/Toast/Toast.d.ts.map +1 -1
- package/dist/types/src/components/Toast/Toast.stories.d.ts +6 -44
- package/dist/types/src/components/Toast/Toast.stories.d.ts.map +1 -1
- package/dist/types/src/components/Toolbar/Toolbar.d.ts +41 -23
- package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -1
- package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts +6 -50
- package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts.map +1 -1
- package/dist/types/src/components/Tooltip/Tooltip.d.ts +11 -13
- package/dist/types/src/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts +10 -63
- package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +14 -8
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/exemplars/generics.stories.d.ts +19 -0
- package/dist/types/src/exemplars/generics.stories.d.ts.map +1 -0
- package/dist/types/src/exemplars/slot.stories.d.ts +15 -0
- package/dist/types/src/exemplars/slot.stories.d.ts.map +1 -0
- package/dist/types/src/exemplars/tabster.stories.d.ts +8 -0
- package/dist/types/src/exemplars/tabster.stories.d.ts.map +1 -0
- package/dist/types/src/exemplars/virtualizer.stories.d.ts +11 -0
- package/dist/types/src/exemplars/virtualizer.stories.d.ts.map +1 -0
- package/dist/types/src/hooks/index.d.ts +1 -0
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useDensityContext.d.ts +2 -2
- package/dist/types/src/hooks/useDensityContext.d.ts.map +1 -1
- package/dist/types/src/hooks/useElevationContext.d.ts +1 -1
- package/dist/types/src/hooks/useElevationContext.d.ts.map +1 -1
- package/dist/types/src/hooks/useIconHref.d.ts.map +1 -1
- package/dist/types/src/hooks/useSafeArea.d.ts.map +1 -1
- package/dist/types/src/hooks/useSafeCollisionPadding.d.ts.map +1 -1
- package/dist/types/src/hooks/useVisualViewport.d.ts +2 -2
- package/dist/types/src/hooks/useVisualViewport.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +2 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/playground/Controls.stories.d.ts +5 -9
- package/dist/types/src/playground/Controls.stories.d.ts.map +1 -1
- package/dist/types/src/playground/Custom.stories.d.ts +12 -4
- package/dist/types/src/playground/Custom.stories.d.ts.map +1 -1
- package/dist/types/src/playground/Typography.stories.d.ts +5 -11
- package/dist/types/src/playground/Typography.stories.d.ts.map +1 -1
- package/dist/types/src/primitives/Column/Column.d.ts +33 -0
- package/dist/types/src/primitives/Column/Column.d.ts.map +1 -0
- package/dist/types/src/primitives/Column/Column.stories.d.ts +25 -0
- package/dist/types/src/primitives/Column/Column.stories.d.ts.map +1 -0
- package/dist/types/src/primitives/Column/index.d.ts +2 -0
- package/dist/types/src/primitives/Column/index.d.ts.map +1 -0
- package/dist/types/src/primitives/Container/Container.d.ts +7 -0
- package/dist/types/src/primitives/Container/Container.d.ts.map +1 -0
- package/dist/types/src/primitives/Container/Container.stories.d.ts +6 -0
- package/dist/types/src/primitives/Container/Container.stories.d.ts.map +1 -0
- package/dist/types/src/primitives/Container/index.d.ts +2 -0
- package/dist/types/src/primitives/Container/index.d.ts.map +1 -0
- package/dist/types/src/primitives/Flex/Flex.d.ts +11 -0
- package/dist/types/src/primitives/Flex/Flex.d.ts.map +1 -0
- package/dist/types/src/primitives/Flex/Flex.stories.d.ts +8 -0
- package/dist/types/src/primitives/Flex/Flex.stories.d.ts.map +1 -0
- package/dist/types/src/primitives/Flex/index.d.ts +2 -0
- package/dist/types/src/primitives/Flex/index.d.ts.map +1 -0
- package/dist/types/src/primitives/Grid/Grid.d.ts +10 -0
- package/dist/types/src/primitives/Grid/Grid.d.ts.map +1 -0
- package/dist/types/src/primitives/Grid/Grid.stories.d.ts +8 -0
- package/dist/types/src/primitives/Grid/Grid.stories.d.ts.map +1 -0
- package/dist/types/src/primitives/Grid/index.d.ts +2 -0
- package/dist/types/src/primitives/Grid/index.d.ts.map +1 -0
- package/dist/types/src/primitives/Panel/Panel.d.ts +35 -0
- package/dist/types/src/primitives/Panel/Panel.d.ts.map +1 -0
- package/dist/types/src/primitives/Panel/Panel.stories.d.ts +6 -0
- package/dist/types/src/primitives/Panel/Panel.stories.d.ts.map +1 -0
- package/dist/types/src/primitives/Panel/index.d.ts +2 -0
- package/dist/types/src/primitives/Panel/index.d.ts.map +1 -0
- package/dist/types/src/primitives/index.d.ts +6 -0
- package/dist/types/src/primitives/index.d.ts.map +1 -0
- package/dist/types/src/testing/Loading.d.ts +9 -0
- package/dist/types/src/testing/Loading.d.ts.map +1 -0
- package/dist/types/src/testing/decorators/index.d.ts +2 -1
- package/dist/types/src/testing/decorators/index.d.ts.map +1 -1
- package/dist/types/src/testing/decorators/withLayout.d.ts +15 -0
- package/dist/types/src/testing/decorators/withLayout.d.ts.map +1 -0
- package/dist/types/src/testing/decorators/withLayoutVariants.d.ts +12 -0
- package/dist/types/src/testing/decorators/withLayoutVariants.d.ts.map +1 -0
- package/dist/types/src/testing/decorators/withTheme.d.ts +5 -1
- package/dist/types/src/testing/decorators/withTheme.d.ts.map +1 -1
- package/dist/types/src/testing/index.d.ts +1 -0
- package/dist/types/src/testing/index.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +11 -0
- package/dist/types/src/translations.d.ts.map +1 -0
- package/dist/types/src/util/index.d.ts +2 -1
- package/dist/types/src/util/index.d.ts.map +1 -1
- package/dist/types/src/util/usePx.d.ts +8 -0
- package/dist/types/src/util/usePx.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +54 -39
- package/src/components/Avatars/Avatar.stories.tsx +23 -16
- package/src/components/Avatars/Avatar.tsx +10 -18
- package/src/components/Avatars/AvatarGroup.stories.tsx +11 -8
- package/src/components/Breadcrumb/Breadcrumb.stories.tsx +19 -15
- package/src/components/Breadcrumb/Breadcrumb.tsx +14 -40
- package/src/components/{Buttons → Button}/Button.stories.tsx +11 -13
- package/src/components/{Buttons → Button}/Button.tsx +12 -26
- package/src/components/{Buttons → Button}/IconButton.stories.tsx +18 -13
- package/src/components/{Buttons → Button}/IconButton.tsx +22 -16
- package/src/components/Button/Toggle.stories.tsx +36 -0
- package/src/components/{Buttons → Button}/Toggle.tsx +4 -4
- package/src/components/{Buttons → Button}/ToggleGroup.stories.tsx +14 -12
- package/src/components/Button/ToggleGroup.tsx +50 -0
- package/src/components/Card/Card.stories.tsx +151 -0
- package/src/components/Card/Card.tsx +505 -0
- package/src/components/Card/index.ts +5 -0
- package/src/components/Clipboard/ClipboardProvider.tsx +1 -1
- package/src/components/Clipboard/CopyButton.tsx +9 -9
- package/src/components/DensityProvider/DensityProvider.tsx +2 -2
- package/src/components/Dialog/AlertDialog.stories.tsx +68 -0
- package/src/components/Dialog/AlertDialog.tsx +213 -0
- package/src/components/Dialog/Dialog.stories.tsx +177 -0
- package/src/components/Dialog/Dialog.tsx +285 -0
- package/src/components/ElevationProvider/ElevationProvider.tsx +2 -2
- package/src/components/ErrorFallback/ErrorFallback.stories.tsx +45 -0
- package/src/components/ErrorFallback/ErrorFallback.tsx +70 -0
- package/src/components/ErrorFallback/ErrorStack.tsx +114 -0
- package/src/components/ErrorFallback/ThrowError.tsx +37 -0
- package/src/components/ErrorFallback/index.ts +9 -0
- package/src/components/Focus/AUDIT.md +43 -0
- package/src/components/Focus/Focus.stories.tsx +230 -0
- package/src/components/Focus/Focus.tsx +201 -0
- package/src/components/Focus/index.ts +5 -0
- package/src/components/Icon/Icon.stories.tsx +143 -0
- package/src/components/Icon/Icon.tsx +6 -2
- package/src/components/Image/Image.stories.tsx +86 -0
- package/src/components/Image/Image.tsx +246 -0
- package/src/components/Image/index.ts +5 -0
- package/src/components/Input/Input.stories.tsx +27 -49
- package/src/components/Input/Input.tsx +51 -87
- package/src/components/Link/Link.stories.tsx +11 -8
- package/src/components/Link/Link.tsx +2 -2
- package/src/components/{Lists → List}/List.stories.tsx +45 -47
- package/src/components/{Lists → List}/List.tsx +30 -35
- package/src/components/{Lists → List}/ListDropIndicator.tsx +7 -7
- package/src/components/{Lists → List}/Tree.stories.tsx +15 -13
- package/src/components/{Lists → List}/Tree.tsx +3 -3
- package/src/components/{Lists → List}/TreeDropIndicator.tsx +7 -7
- package/src/components/{Lists → List}/Treegrid.stories.tsx +39 -34
- package/src/components/List/Treegrid.tsx +188 -0
- package/src/components/Main/Main.stories.tsx +52 -27
- package/src/components/Main/Main.tsx +176 -105
- package/src/components/{Menus → Menu}/ContextMenu.stories.tsx +12 -10
- package/src/components/{Menus → Menu}/ContextMenu.tsx +10 -33
- package/src/components/{Menus → Menu}/DropdownMenu.stories.tsx +13 -11
- package/src/components/{Menus → Menu}/DropdownMenu.tsx +157 -120
- package/src/components/Message/Message.stories.tsx +36 -18
- package/src/components/Message/Message.tsx +43 -34
- package/src/components/Popover/Popover.stories.tsx +18 -16
- package/src/components/Popover/Popover.tsx +124 -102
- package/src/components/ScrollArea/ScrollArea.stories.tsx +224 -32
- package/src/components/ScrollArea/ScrollArea.tsx +97 -79
- package/src/components/ScrollArea/index.ts +1 -1
- package/src/components/ScrollContainer/ScrollContainer.stories.tsx +91 -0
- package/src/components/ScrollContainer/ScrollContainer.tsx +347 -0
- package/src/components/ScrollContainer/index.ts +5 -0
- package/src/components/Select/Select.stories.tsx +19 -17
- package/src/components/Select/Select.tsx +16 -32
- package/src/components/Separator/Separator.tsx +5 -8
- package/src/components/Skeleton/Skeleton.stories.tsx +51 -0
- package/src/components/Skeleton/Skeleton.tsx +26 -0
- package/src/components/Skeleton/index.ts +5 -0
- package/src/components/Splitter/Splitter.stories.tsx +83 -0
- package/src/components/Splitter/Splitter.tsx +127 -0
- package/src/components/Splitter/index.ts +5 -0
- package/src/components/Status/Status.stories.tsx +29 -23
- package/src/components/Status/Status.tsx +10 -7
- package/src/components/Tag/Tag.stories.tsx +16 -13
- package/src/components/Tag/Tag.tsx +3 -8
- package/src/components/ThemeProvider/ThemeProvider.stories.tsx +31 -0
- package/src/components/ThemeProvider/ThemeProvider.tsx +12 -11
- package/src/components/ThemeProvider/TranslationsProvider.tsx +3 -18
- package/src/components/ThemeProvider/index.ts +3 -3
- package/src/components/Toast/Toast.stories.tsx +13 -11
- package/src/components/Toast/Toast.tsx +23 -42
- package/src/components/Toolbar/Toolbar.stories.tsx +22 -21
- package/src/components/Toolbar/Toolbar.tsx +188 -13
- package/src/components/Tooltip/Tooltip.stories.tsx +35 -30
- package/src/components/Tooltip/Tooltip.tsx +44 -41
- package/src/components/index.ts +15 -9
- package/src/exemplars/generics.stories.tsx +41 -0
- package/src/exemplars/slot.stories.tsx +117 -0
- package/src/exemplars/tabster.stories.tsx +127 -0
- package/src/exemplars/virtualizer.stories.tsx +137 -0
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useDensityContext.ts +3 -3
- package/src/hooks/useElevationContext.ts +1 -1
- package/src/hooks/useSafeArea.ts +3 -2
- package/src/hooks/useSafeCollisionPadding.ts +1 -1
- package/src/hooks/useVisualViewport.ts +4 -4
- package/src/index.ts +2 -1
- package/src/playground/Controls.stories.tsx +20 -24
- package/src/playground/Custom.stories.tsx +20 -34
- package/src/playground/Typography.stories.tsx +11 -9
- package/src/primitives/Column/AUDIT.md +148 -0
- package/src/primitives/Column/Column.stories.tsx +181 -0
- package/src/primitives/Column/Column.tsx +165 -0
- package/src/primitives/Column/index.ts +5 -0
- package/src/primitives/Container/Container.stories.tsx +29 -0
- package/src/primitives/Container/Container.tsx +19 -0
- package/src/primitives/Container/index.ts +5 -0
- package/src/primitives/Flex/Flex.stories.tsx +57 -0
- package/src/primitives/Flex/Flex.tsx +27 -0
- package/src/primitives/Flex/index.ts +5 -0
- package/src/primitives/Grid/Grid.stories.tsx +56 -0
- package/src/primitives/Grid/Grid.tsx +30 -0
- package/src/primitives/Grid/index.ts +5 -0
- package/src/primitives/Panel/Panel.stories.tsx +68 -0
- package/src/primitives/Panel/Panel.tsx +120 -0
- package/src/primitives/Panel/index.ts +5 -0
- package/src/primitives/index.ts +9 -0
- package/src/testing/Loading.tsx +47 -0
- package/src/testing/decorators/index.ts +2 -1
- package/src/testing/decorators/withLayout.tsx +77 -0
- package/src/testing/decorators/withLayoutVariants.tsx +48 -0
- package/src/testing/decorators/withTheme.tsx +37 -0
- package/src/testing/index.ts +2 -0
- package/src/translations.ts +19 -0
- package/src/util/index.ts +3 -1
- package/src/util/usePx.ts +62 -0
- package/dist/lib/browser/chunk-T6YPS45E.mjs +0 -4376
- package/dist/lib/browser/chunk-T6YPS45E.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-TYVQJ4KW.mjs +0 -4378
- package/dist/lib/node-esm/chunk-TYVQJ4KW.mjs.map +0 -7
- package/dist/types/src/components/AnchoredOverflow/AnchoredOverflow.d.ts +0 -15
- package/dist/types/src/components/AnchoredOverflow/AnchoredOverflow.d.ts.map +0 -1
- package/dist/types/src/components/AnchoredOverflow/index.d.ts +0 -2
- package/dist/types/src/components/AnchoredOverflow/index.d.ts.map +0 -1
- package/dist/types/src/components/Buttons/Button.d.ts.map +0 -1
- package/dist/types/src/components/Buttons/Button.stories.d.ts +0 -12
- package/dist/types/src/components/Buttons/Button.stories.d.ts.map +0 -1
- package/dist/types/src/components/Buttons/IconButton.d.ts.map +0 -1
- package/dist/types/src/components/Buttons/IconButton.stories.d.ts +0 -22
- package/dist/types/src/components/Buttons/IconButton.stories.d.ts.map +0 -1
- package/dist/types/src/components/Buttons/Toggle.d.ts.map +0 -1
- package/dist/types/src/components/Buttons/Toggle.stories.d.ts +0 -19
- package/dist/types/src/components/Buttons/Toggle.stories.d.ts.map +0 -1
- package/dist/types/src/components/Buttons/ToggleGroup.d.ts +0 -28
- package/dist/types/src/components/Buttons/ToggleGroup.d.ts.map +0 -1
- package/dist/types/src/components/Buttons/ToggleGroup.stories.d.ts +0 -39
- package/dist/types/src/components/Buttons/ToggleGroup.stories.d.ts.map +0 -1
- package/dist/types/src/components/Buttons/index.d.ts.map +0 -1
- package/dist/types/src/components/Dialogs/AlertDialog.d.ts +0 -31
- package/dist/types/src/components/Dialogs/AlertDialog.d.ts.map +0 -1
- package/dist/types/src/components/Dialogs/AlertDialog.stories.d.ts +0 -43
- package/dist/types/src/components/Dialogs/AlertDialog.stories.d.ts.map +0 -1
- package/dist/types/src/components/Dialogs/Dialog.d.ts +0 -31
- package/dist/types/src/components/Dialogs/Dialog.d.ts.map +0 -1
- package/dist/types/src/components/Dialogs/Dialog.stories.d.ts +0 -48
- package/dist/types/src/components/Dialogs/Dialog.stories.d.ts.map +0 -1
- package/dist/types/src/components/Dialogs/index.d.ts.map +0 -1
- package/dist/types/src/components/Lists/List.d.ts.map +0 -1
- package/dist/types/src/components/Lists/List.stories.d.ts +0 -37
- package/dist/types/src/components/Lists/List.stories.d.ts.map +0 -1
- package/dist/types/src/components/Lists/ListDropIndicator.d.ts.map +0 -1
- package/dist/types/src/components/Lists/Tree.d.ts.map +0 -1
- package/dist/types/src/components/Lists/Tree.stories.d.ts +0 -41
- package/dist/types/src/components/Lists/Tree.stories.d.ts.map +0 -1
- package/dist/types/src/components/Lists/TreeDropIndicator.d.ts.map +0 -1
- package/dist/types/src/components/Lists/Treegrid.d.ts.map +0 -1
- package/dist/types/src/components/Lists/Treegrid.stories.d.ts +0 -10
- package/dist/types/src/components/Lists/Treegrid.stories.d.ts.map +0 -1
- package/dist/types/src/components/Lists/index.d.ts.map +0 -1
- package/dist/types/src/components/Menus/ContextMenu.d.ts.map +0 -1
- package/dist/types/src/components/Menus/ContextMenu.stories.d.ts +0 -50
- package/dist/types/src/components/Menus/ContextMenu.stories.d.ts.map +0 -1
- package/dist/types/src/components/Menus/DropdownMenu.d.ts +0 -112
- package/dist/types/src/components/Menus/DropdownMenu.d.ts.map +0 -1
- package/dist/types/src/components/Menus/DropdownMenu.stories.d.ts +0 -50
- package/dist/types/src/components/Menus/DropdownMenu.stories.d.ts.map +0 -1
- package/dist/types/src/components/Menus/index.d.ts.map +0 -1
- package/dist/types/src/testing/decorators/withSurfaceVariantsLayout.d.ts +0 -12
- package/dist/types/src/testing/decorators/withSurfaceVariantsLayout.d.ts.map +0 -1
- package/dist/types/src/util/ThemedClassName.d.ts +0 -5
- package/dist/types/src/util/ThemedClassName.d.ts.map +0 -1
- package/src/components/AnchoredOverflow/AnchoredOverflow.tsx +0 -59
- package/src/components/AnchoredOverflow/index.ts +0 -5
- package/src/components/Buttons/Toggle.stories.tsx +0 -33
- package/src/components/Buttons/ToggleGroup.tsx +0 -41
- package/src/components/Dialogs/AlertDialog.stories.tsx +0 -66
- package/src/components/Dialogs/AlertDialog.tsx +0 -172
- package/src/components/Dialogs/Dialog.stories.tsx +0 -65
- package/src/components/Dialogs/Dialog.tsx +0 -159
- package/src/components/Lists/Treegrid.tsx +0 -152
- package/src/testing/decorators/withSurfaceVariantsLayout.tsx +0 -51
- package/src/testing/decorators/withTheme.ts +0 -22
- package/src/util/ThemedClassName.ts +0 -7
- /package/dist/types/src/components/{Buttons → Button}/index.d.ts +0 -0
- /package/dist/types/src/components/{Dialogs → Dialog}/index.d.ts +0 -0
- /package/dist/types/src/components/{Lists → List}/ListDropIndicator.d.ts +0 -0
- /package/dist/types/src/components/{Lists → List}/TreeDropIndicator.d.ts +0 -0
- /package/dist/types/src/components/{Lists → List}/index.d.ts +0 -0
- /package/dist/types/src/components/{Menus → Menu}/index.d.ts +0 -0
- /package/src/components/{Buttons → Button}/index.ts +0 -0
- /package/src/components/{Dialogs → Dialog}/index.ts +0 -0
- /package/src/components/{Lists → List}/index.ts +0 -0
- /package/src/components/{Menus → Menu}/index.ts +0 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Copyright 2023 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
// This is based upon `@radix-ui/react-popover` fetched 25
|
|
5
|
+
// This is based upon `@radix-ui/react-popover` fetched Oct 25, 2024 at https://github.com/radix-ui/primitives at commit 374c7d7.
|
|
6
6
|
|
|
7
7
|
import { composeEventHandlers } from '@radix-ui/primitive';
|
|
8
8
|
import { useComposedRefs } from '@radix-ui/react-compose-refs';
|
|
@@ -22,55 +22,60 @@ import { useControllableState } from '@radix-ui/react-use-controllable-state';
|
|
|
22
22
|
import { hideOthers } from 'aria-hidden';
|
|
23
23
|
import React, {
|
|
24
24
|
type ComponentPropsWithRef,
|
|
25
|
-
forwardRef,
|
|
26
|
-
type ElementRef,
|
|
27
|
-
type RefObject,
|
|
28
|
-
type ReactNode,
|
|
29
|
-
useRef,
|
|
30
|
-
useCallback,
|
|
31
25
|
type ComponentPropsWithoutRef,
|
|
26
|
+
type ComponentRef,
|
|
32
27
|
type FC,
|
|
33
|
-
|
|
28
|
+
type ReactNode,
|
|
29
|
+
type RefObject,
|
|
30
|
+
forwardRef,
|
|
31
|
+
useCallback,
|
|
34
32
|
useEffect,
|
|
35
|
-
|
|
33
|
+
useMemo,
|
|
34
|
+
useRef,
|
|
35
|
+
useState,
|
|
36
36
|
} from 'react';
|
|
37
37
|
import { RemoveScroll } from 'react-remove-scroll';
|
|
38
38
|
|
|
39
|
-
import { useElevationContext, useThemeContext } from '../../hooks';
|
|
40
|
-
import { useSafeCollisionPadding } from '../../hooks/useSafeCollisionPadding';
|
|
39
|
+
import { useSafeCollisionPadding, useElevationContext, useThemeContext } from '../../hooks';
|
|
41
40
|
import { type ThemedClassName } from '../../util';
|
|
42
41
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
42
|
+
//
|
|
43
|
+
// Context
|
|
44
|
+
//
|
|
45
|
+
|
|
46
|
+
type ScopedProps<P> = P & { __scopePopover?: Scope };
|
|
46
47
|
|
|
47
48
|
const POPOVER_NAME = 'Popover';
|
|
48
49
|
|
|
49
|
-
type ScopedProps<P> = P & { __scopePopover?: Scope };
|
|
50
50
|
const [createPopoverContext, createPopoverScope] = createContextScope(POPOVER_NAME, [createPopperScope]);
|
|
51
|
+
|
|
51
52
|
const usePopperScope = createPopperScope();
|
|
52
53
|
|
|
53
54
|
type PopoverContextValue = {
|
|
54
|
-
triggerRef:
|
|
55
|
+
triggerRef: RefObject<HTMLButtonElement>;
|
|
55
56
|
contentId: string;
|
|
57
|
+
hasCustomAnchor: boolean;
|
|
58
|
+
modal: boolean;
|
|
56
59
|
open: boolean;
|
|
57
60
|
onOpenChange(open: boolean): void;
|
|
58
61
|
onOpenToggle(): void;
|
|
59
|
-
hasCustomAnchor: boolean;
|
|
60
62
|
onCustomAnchorAdd(): void;
|
|
61
63
|
onCustomAnchorRemove(): void;
|
|
62
|
-
modal: boolean;
|
|
63
64
|
};
|
|
64
65
|
|
|
65
66
|
const [PopoverProvider, usePopoverContext] = createPopoverContext<PopoverContextValue>(POPOVER_NAME);
|
|
66
67
|
|
|
67
|
-
|
|
68
|
+
//
|
|
69
|
+
// PopoverRoot
|
|
70
|
+
//
|
|
71
|
+
|
|
72
|
+
type PopoverRootProps = {
|
|
68
73
|
children?: ReactNode;
|
|
69
74
|
open?: boolean;
|
|
70
75
|
defaultOpen?: boolean;
|
|
71
76
|
onOpenChange?: (open: boolean) => void;
|
|
72
77
|
modal?: boolean;
|
|
73
|
-
}
|
|
78
|
+
};
|
|
74
79
|
|
|
75
80
|
const PopoverRoot: FC<PopoverRootProps> = (props: ScopedProps<PopoverRootProps>) => {
|
|
76
81
|
const { __scopePopover, children, open: openProp, defaultOpen, onOpenChange, modal = false } = props;
|
|
@@ -88,7 +93,7 @@ const PopoverRoot: FC<PopoverRootProps> = (props: ScopedProps<PopoverRootProps>)
|
|
|
88
93
|
<PopoverProvider
|
|
89
94
|
scope={__scopePopover}
|
|
90
95
|
contentId={useId()}
|
|
91
|
-
triggerRef={triggerRef as
|
|
96
|
+
triggerRef={triggerRef as RefObject<HTMLButtonElement>}
|
|
92
97
|
open={open}
|
|
93
98
|
onOpenChange={setOpen}
|
|
94
99
|
onOpenToggle={useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen])}
|
|
@@ -105,15 +110,15 @@ const PopoverRoot: FC<PopoverRootProps> = (props: ScopedProps<PopoverRootProps>)
|
|
|
105
110
|
|
|
106
111
|
PopoverRoot.displayName = POPOVER_NAME;
|
|
107
112
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
113
|
+
//
|
|
114
|
+
// PopoverAnchor
|
|
115
|
+
//
|
|
111
116
|
|
|
112
117
|
const ANCHOR_NAME = 'PopoverAnchor';
|
|
113
118
|
|
|
114
|
-
type PopoverAnchorElement =
|
|
119
|
+
type PopoverAnchorElement = ComponentRef<typeof PopperPrimitive.Anchor>;
|
|
115
120
|
type PopperAnchorProps = ComponentPropsWithoutRef<typeof PopperPrimitive.Anchor>;
|
|
116
|
-
|
|
121
|
+
type PopoverAnchorProps = PopperAnchorProps;
|
|
117
122
|
|
|
118
123
|
const PopoverAnchor = forwardRef<PopoverAnchorElement, PopoverAnchorProps>(
|
|
119
124
|
(props: ScopedProps<PopoverAnchorProps>, forwardedRef) => {
|
|
@@ -133,25 +138,28 @@ const PopoverAnchor = forwardRef<PopoverAnchorElement, PopoverAnchorProps>(
|
|
|
133
138
|
|
|
134
139
|
PopoverAnchor.displayName = ANCHOR_NAME;
|
|
135
140
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
141
|
+
//
|
|
142
|
+
// PopoverTrigger
|
|
143
|
+
//
|
|
139
144
|
|
|
140
145
|
const TRIGGER_NAME = 'PopoverTrigger';
|
|
141
146
|
|
|
142
|
-
type PopoverTriggerElement =
|
|
147
|
+
type PopoverTriggerElement = ComponentRef<typeof Primitive.button>;
|
|
143
148
|
type PrimitiveButtonProps = ComponentPropsWithoutRef<typeof Primitive.button>;
|
|
144
|
-
|
|
149
|
+
type PopoverTriggerProps = PrimitiveButtonProps & {
|
|
150
|
+
asChild?: boolean;
|
|
151
|
+
};
|
|
145
152
|
|
|
146
153
|
const PopoverTrigger = forwardRef<PopoverTriggerElement, PopoverTriggerProps>(
|
|
147
154
|
(props: ScopedProps<PopoverTriggerProps>, forwardedRef) => {
|
|
148
|
-
const { __scopePopover, ...triggerProps } = props;
|
|
155
|
+
const { __scopePopover, asChild, ...triggerProps } = props;
|
|
149
156
|
const context = usePopoverContext(TRIGGER_NAME, __scopePopover);
|
|
150
157
|
const popperScope = usePopperScope(__scopePopover);
|
|
151
158
|
const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);
|
|
159
|
+
const Comp = asChild ? Slot : Primitive.button;
|
|
152
160
|
|
|
153
161
|
const trigger = (
|
|
154
|
-
<
|
|
162
|
+
<Comp
|
|
155
163
|
type='button'
|
|
156
164
|
aria-haspopup='dialog'
|
|
157
165
|
aria-expanded={context.open}
|
|
@@ -175,15 +183,15 @@ const PopoverTrigger = forwardRef<PopoverTriggerElement, PopoverTriggerProps>(
|
|
|
175
183
|
|
|
176
184
|
PopoverTrigger.displayName = TRIGGER_NAME;
|
|
177
185
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
186
|
+
//
|
|
187
|
+
// PopoverVirtualTrigger
|
|
188
|
+
//
|
|
181
189
|
|
|
182
190
|
const VIRTUAL_TRIGGER_NAME = 'PopoverVirtualTrigger';
|
|
183
191
|
|
|
184
|
-
|
|
185
|
-
virtualRef: RefObject<PopoverTriggerElement>;
|
|
186
|
-
}
|
|
192
|
+
type PopoverVirtualTriggerProps = {
|
|
193
|
+
virtualRef: RefObject<PopoverTriggerElement | null>;
|
|
194
|
+
};
|
|
187
195
|
|
|
188
196
|
const PopoverVirtualTrigger = (props: ScopedProps<PopoverVirtualTriggerProps>) => {
|
|
189
197
|
const { __scopePopover, virtualRef } = props;
|
|
@@ -194,14 +202,14 @@ const PopoverVirtualTrigger = (props: ScopedProps<PopoverVirtualTriggerProps>) =
|
|
|
194
202
|
context.triggerRef.current = virtualRef.current;
|
|
195
203
|
}
|
|
196
204
|
});
|
|
197
|
-
return <PopperPrimitive.Anchor {...popperScope} virtualRef={virtualRef} />;
|
|
205
|
+
return <PopperPrimitive.Anchor {...popperScope} virtualRef={virtualRef as RefObject<PopoverTriggerElement>} />;
|
|
198
206
|
};
|
|
199
207
|
|
|
200
208
|
PopoverVirtualTrigger.displayName = VIRTUAL_TRIGGER_NAME;
|
|
201
209
|
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
210
|
+
//
|
|
211
|
+
// PopoverPortal
|
|
212
|
+
//
|
|
205
213
|
|
|
206
214
|
const PORTAL_NAME = 'PopoverPortal';
|
|
207
215
|
|
|
@@ -211,7 +219,7 @@ const [PortalProvider, usePortalContext] = createPopoverContext<PortalContextVal
|
|
|
211
219
|
});
|
|
212
220
|
|
|
213
221
|
type PortalProps = ComponentPropsWithoutRef<typeof PortalPrimitive>;
|
|
214
|
-
|
|
222
|
+
type PopoverPortalProps = {
|
|
215
223
|
children?: ReactNode;
|
|
216
224
|
/**
|
|
217
225
|
* Specify a container element to portal the content into.
|
|
@@ -222,9 +230,9 @@ interface PopoverPortalProps {
|
|
|
222
230
|
* controlling animation with React animation libraries.
|
|
223
231
|
*/
|
|
224
232
|
forceMount?: true;
|
|
225
|
-
}
|
|
233
|
+
};
|
|
226
234
|
|
|
227
|
-
const PopoverPortal
|
|
235
|
+
const PopoverPortal = (props: ScopedProps<PopoverPortalProps>) => {
|
|
228
236
|
const { __scopePopover, forceMount, children, container } = props;
|
|
229
237
|
const context = usePopoverContext(PORTAL_NAME, __scopePopover);
|
|
230
238
|
return (
|
|
@@ -240,9 +248,9 @@ const PopoverPortal: FC<PopoverPortalProps> = (props: ScopedProps<PopoverPortalP
|
|
|
240
248
|
|
|
241
249
|
PopoverPortal.displayName = PORTAL_NAME;
|
|
242
250
|
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
251
|
+
//
|
|
252
|
+
// PopoverContent
|
|
253
|
+
//
|
|
246
254
|
|
|
247
255
|
const CONTENT_NAME = 'PopoverContent';
|
|
248
256
|
|
|
@@ -274,11 +282,11 @@ const PopoverContent = forwardRef<PopoverContentTypeElement, PopoverContentProps
|
|
|
274
282
|
|
|
275
283
|
PopoverContent.displayName = CONTENT_NAME;
|
|
276
284
|
|
|
277
|
-
/* ----------------------------------------------------------------------------------------------- */
|
|
278
|
-
|
|
279
285
|
type PopoverContentTypeElement = PopoverContentImplElement;
|
|
280
|
-
export interface PopoverContentTypeProps
|
|
281
|
-
|
|
286
|
+
export interface PopoverContentTypeProps extends Omit<
|
|
287
|
+
PopoverContentImplProps,
|
|
288
|
+
'trapFocus' | 'disableOutsidePointerEvents'
|
|
289
|
+
> {}
|
|
282
290
|
|
|
283
291
|
const PopoverContentModal = forwardRef<PopoverContentTypeElement, PopoverContentTypeProps>(
|
|
284
292
|
(props: ScopedProps<PopoverContentTypeProps>, forwardedRef) => {
|
|
@@ -300,8 +308,7 @@ const PopoverContentModal = forwardRef<PopoverContentTypeElement, PopoverContent
|
|
|
300
308
|
<PopoverContentImpl
|
|
301
309
|
{...props}
|
|
302
310
|
ref={composedRefs}
|
|
303
|
-
//
|
|
304
|
-
// (closed !== unmounted when animating out)
|
|
311
|
+
// Make sure we're not trapping once it's been closed (closed !== unmounted when animating out).
|
|
305
312
|
trapFocus={context.open}
|
|
306
313
|
disableOutsidePointerEvents
|
|
307
314
|
onCloseAutoFocus={composeEventHandlers(props.onCloseAutoFocus, (event) => {
|
|
@@ -390,33 +397,31 @@ const PopoverContentNonModal = forwardRef<PopoverContentTypeElement, PopoverCont
|
|
|
390
397
|
},
|
|
391
398
|
);
|
|
392
399
|
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
type PopoverContentImplElement = ElementRef<typeof PopperPrimitive.Content>;
|
|
400
|
+
type PopoverContentImplElement = ComponentRef<typeof PopperPrimitive.Content>;
|
|
396
401
|
type FocusScopeProps = ComponentPropsWithoutRef<typeof FocusScope>;
|
|
397
402
|
type DismissableLayerProps = ComponentPropsWithoutRef<typeof DismissableLayer>;
|
|
398
403
|
type PopperContentProps = ThemedClassName<ComponentPropsWithoutRef<typeof PopperPrimitive.Content>>;
|
|
399
|
-
interface PopoverContentImplProps
|
|
400
|
-
extends Omit<PopperContentProps, 'onPlaced'>,
|
|
401
|
-
Omit<DismissableLayerProps, 'onDismiss'> {
|
|
402
|
-
/**
|
|
403
|
-
* Whether focus should be trapped within the `Popover`
|
|
404
|
-
* (default: false)
|
|
405
|
-
*/
|
|
406
|
-
trapFocus?: FocusScopeProps['trapped'];
|
|
407
|
-
|
|
408
|
-
/**
|
|
409
|
-
* Event handler called when auto-focusing on open.
|
|
410
|
-
* Can be prevented.
|
|
411
|
-
*/
|
|
412
|
-
onOpenAutoFocus?: FocusScopeProps['onMountAutoFocus'];
|
|
413
404
|
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
405
|
+
type PopoverContentImplProps = Omit<PopperContentProps, 'onPlaced'> &
|
|
406
|
+
Omit<DismissableLayerProps, 'onDismiss'> & {
|
|
407
|
+
/**
|
|
408
|
+
* Whether focus should be trapped within the `Popover`
|
|
409
|
+
* (default: false)
|
|
410
|
+
*/
|
|
411
|
+
trapFocus?: FocusScopeProps['trapped'];
|
|
412
|
+
|
|
413
|
+
/**
|
|
414
|
+
* Event handler called when auto-focusing on open.
|
|
415
|
+
* Can be prevented.
|
|
416
|
+
*/
|
|
417
|
+
onOpenAutoFocus?: FocusScopeProps['onMountAutoFocus'];
|
|
418
|
+
|
|
419
|
+
/**
|
|
420
|
+
* Event handler called when auto-focusing on close.
|
|
421
|
+
* Can be prevented.
|
|
422
|
+
*/
|
|
423
|
+
onCloseAutoFocus?: FocusScopeProps['onUnmountAutoFocus'];
|
|
424
|
+
};
|
|
420
425
|
|
|
421
426
|
const PopoverContentImpl = forwardRef<PopoverContentImplElement, PopoverContentImplProps>(
|
|
422
427
|
(props: ScopedProps<PopoverContentImplProps>, forwardedRef) => {
|
|
@@ -431,6 +436,7 @@ const PopoverContentImpl = forwardRef<PopoverContentImplElement, PopoverContentI
|
|
|
431
436
|
onFocusOutside,
|
|
432
437
|
onInteractOutside,
|
|
433
438
|
collisionPadding = 8,
|
|
439
|
+
collisionBoundary,
|
|
434
440
|
classNames,
|
|
435
441
|
...contentProps
|
|
436
442
|
} = props;
|
|
@@ -440,10 +446,23 @@ const PopoverContentImpl = forwardRef<PopoverContentImplElement, PopoverContentI
|
|
|
440
446
|
const elevation = useElevationContext();
|
|
441
447
|
const safeCollisionPadding = useSafeCollisionPadding(collisionPadding);
|
|
442
448
|
|
|
443
|
-
// Make sure the whole tree has focus guards as our `Popover` may be
|
|
444
|
-
// the last element in the DOM (because of the `Portal`)
|
|
449
|
+
// Make sure the whole tree has focus guards as our `Popover` may be the last element in the DOM (because of the `Portal`)
|
|
445
450
|
useFocusGuards();
|
|
446
451
|
|
|
452
|
+
// Check for the closest annotated collision boundary in the DOM tree.
|
|
453
|
+
const computedCollisionBoundary = useMemo(() => {
|
|
454
|
+
const closestBoundary = context.triggerRef.current?.closest(
|
|
455
|
+
'[data-popover-collision-boundary]',
|
|
456
|
+
) as HTMLElement | null;
|
|
457
|
+
return closestBoundary
|
|
458
|
+
? Array.isArray(collisionBoundary)
|
|
459
|
+
? [closestBoundary, ...collisionBoundary]
|
|
460
|
+
: collisionBoundary
|
|
461
|
+
? [closestBoundary, collisionBoundary]
|
|
462
|
+
: [closestBoundary]
|
|
463
|
+
: collisionBoundary;
|
|
464
|
+
}, [context.open, collisionBoundary, context.triggerRef.current]);
|
|
465
|
+
|
|
447
466
|
return (
|
|
448
467
|
<FocusScope
|
|
449
468
|
asChild
|
|
@@ -468,11 +487,12 @@ const PopoverContentImpl = forwardRef<PopoverContentImplElement, PopoverContentI
|
|
|
468
487
|
{...popperScope}
|
|
469
488
|
{...contentProps}
|
|
470
489
|
collisionPadding={safeCollisionPadding}
|
|
471
|
-
|
|
490
|
+
collisionBoundary={computedCollisionBoundary}
|
|
491
|
+
className={tx('popover.content', { elevation }, classNames)}
|
|
472
492
|
ref={forwardedRef}
|
|
473
493
|
style={{
|
|
474
494
|
...contentProps.style,
|
|
475
|
-
//
|
|
495
|
+
// Re-namespace exposed content custom properties.
|
|
476
496
|
...{
|
|
477
497
|
'--radix-popover-content-transform-origin': 'var(--radix-popper-transform-origin)',
|
|
478
498
|
'--radix-popover-content-available-width': 'var(--radix-popper-available-width)',
|
|
@@ -488,14 +508,14 @@ const PopoverContentImpl = forwardRef<PopoverContentImplElement, PopoverContentI
|
|
|
488
508
|
},
|
|
489
509
|
);
|
|
490
510
|
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
511
|
+
//
|
|
512
|
+
// PopoverClose
|
|
513
|
+
//
|
|
494
514
|
|
|
495
515
|
const CLOSE_NAME = 'PopoverClose';
|
|
496
516
|
|
|
497
|
-
type PopoverCloseElement =
|
|
498
|
-
|
|
517
|
+
type PopoverCloseElement = ComponentRef<typeof Primitive.button>;
|
|
518
|
+
type PopoverCloseProps = PrimitiveButtonProps;
|
|
499
519
|
|
|
500
520
|
const PopoverClose = forwardRef<PopoverCloseElement, PopoverCloseProps>(
|
|
501
521
|
(props: ScopedProps<PopoverCloseProps>, forwardedRef) => {
|
|
@@ -514,15 +534,15 @@ const PopoverClose = forwardRef<PopoverCloseElement, PopoverCloseProps>(
|
|
|
514
534
|
|
|
515
535
|
PopoverClose.displayName = CLOSE_NAME;
|
|
516
536
|
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
537
|
+
//
|
|
538
|
+
// PopoverArrow
|
|
539
|
+
//
|
|
520
540
|
|
|
521
541
|
const ARROW_NAME = 'PopoverArrow';
|
|
522
542
|
|
|
523
|
-
type PopoverArrowElement =
|
|
543
|
+
type PopoverArrowElement = ComponentRef<typeof PopperPrimitive.Arrow>;
|
|
524
544
|
type PopperArrowProps = ThemedClassName<ComponentPropsWithoutRef<typeof PopperPrimitive.Arrow>>;
|
|
525
|
-
|
|
545
|
+
type PopoverArrowProps = PopperArrowProps;
|
|
526
546
|
|
|
527
547
|
const PopoverArrow = forwardRef<PopoverArrowElement, PopoverArrowProps>(
|
|
528
548
|
(props: ScopedProps<PopoverArrowProps>, forwardedRef) => {
|
|
@@ -533,7 +553,7 @@ const PopoverArrow = forwardRef<PopoverArrowElement, PopoverArrowProps>(
|
|
|
533
553
|
<PopperPrimitive.Arrow
|
|
534
554
|
{...popperScope}
|
|
535
555
|
{...arrowProps}
|
|
536
|
-
className={tx('popover.arrow',
|
|
556
|
+
className={tx('popover.arrow', {}, classNames)}
|
|
537
557
|
ref={forwardedRef}
|
|
538
558
|
/>
|
|
539
559
|
);
|
|
@@ -542,9 +562,9 @@ const PopoverArrow = forwardRef<PopoverArrowElement, PopoverArrowProps>(
|
|
|
542
562
|
|
|
543
563
|
PopoverArrow.displayName = ARROW_NAME;
|
|
544
564
|
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
565
|
+
//
|
|
566
|
+
// PopoverViewport
|
|
567
|
+
//
|
|
548
568
|
|
|
549
569
|
type PopoverViewportProps = ThemedClassName<ComponentPropsWithRef<typeof Primitive.div>> & {
|
|
550
570
|
asChild?: boolean;
|
|
@@ -555,25 +575,27 @@ type PopoverViewportProps = ThemedClassName<ComponentPropsWithRef<typeof Primiti
|
|
|
555
575
|
const PopoverViewport = forwardRef<HTMLDivElement, PopoverViewportProps>(
|
|
556
576
|
({ classNames, asChild, constrainInline = true, constrainBlock = true, children, ...props }, forwardedRef) => {
|
|
557
577
|
const { tx } = useThemeContext();
|
|
558
|
-
const
|
|
578
|
+
const Comp = asChild ? Slot : Primitive.div;
|
|
559
579
|
return (
|
|
560
|
-
<
|
|
580
|
+
<Comp
|
|
561
581
|
{...props}
|
|
562
|
-
className={tx('popover.viewport',
|
|
582
|
+
className={tx('popover.viewport', { constrainInline, constrainBlock }, classNames)}
|
|
563
583
|
ref={forwardedRef}
|
|
564
584
|
>
|
|
565
585
|
{children}
|
|
566
|
-
</
|
|
586
|
+
</Comp>
|
|
567
587
|
);
|
|
568
588
|
},
|
|
569
589
|
);
|
|
570
590
|
|
|
571
|
-
/* ----------------------------------------------------------------------------------------------- */
|
|
572
|
-
|
|
573
591
|
const getState = (open: boolean) => (open ? 'open' : 'closed');
|
|
574
592
|
|
|
575
593
|
type PopoverContentInteractOutsideEvent = Parameters<NonNullable<PopoverContentProps['onInteractOutside']>>[0];
|
|
576
594
|
|
|
595
|
+
//
|
|
596
|
+
// Popver
|
|
597
|
+
//
|
|
598
|
+
|
|
577
599
|
export const Popover = {
|
|
578
600
|
Root: PopoverRoot,
|
|
579
601
|
Anchor: PopoverAnchor,
|