@dxos/react-ui 0.8.4-main.c85a9c8dae → 0.8.4-main.d05539e30a
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/LICENSE +102 -5
- package/README.md +1 -1
- package/dist/lib/browser/chunk-A5QCIG5R.mjs +24 -0
- package/dist/lib/browser/chunk-A5QCIG5R.mjs.map +7 -0
- package/dist/lib/browser/{chunk-2FKSMWNY.mjs → chunk-LY5XDQR5.mjs} +84 -12
- package/dist/lib/browser/chunk-LY5XDQR5.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +1559 -1062
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +44 -20
- package/dist/lib/browser/testing/index.mjs.map +4 -4
- package/dist/lib/browser/translations.mjs +9 -0
- package/dist/lib/browser/translations.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-ZNBLTSHI.mjs → chunk-NGKLIKP3.mjs} +84 -12
- package/dist/lib/node-esm/chunk-NGKLIKP3.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-XCFLA74M.mjs +26 -0
- package/dist/lib/node-esm/chunk-XCFLA74M.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +1559 -1062
- 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 +44 -20
- package/dist/lib/node-esm/testing/index.mjs.map +4 -4
- package/dist/lib/node-esm/translations.mjs +10 -0
- package/dist/lib/node-esm/translations.mjs.map +7 -0
- package/dist/types/src/components/Avatars/Avatar.d.ts +1 -1
- package/dist/types/src/components/Avatars/Avatar.d.ts.map +1 -1
- package/dist/types/src/components/Avatars/Avatar.stories.d.ts.map +1 -1
- package/dist/types/src/components/Avatars/AvatarGroup.stories.d.ts.map +1 -1
- package/dist/types/src/components/Breadcrumb/Breadcrumb.d.ts.map +1 -1
- package/dist/types/src/components/Breadcrumb/Breadcrumb.stories.d.ts.map +1 -1
- package/dist/types/src/components/Button/Button.d.ts +2 -2
- package/dist/types/src/components/Button/Button.d.ts.map +1 -1
- package/dist/types/src/components/Button/Button.stories.d.ts +1 -1
- package/dist/types/src/components/Button/Button.stories.d.ts.map +1 -1
- package/dist/types/src/components/Button/IconButton.d.ts +1 -0
- package/dist/types/src/components/Button/IconButton.d.ts.map +1 -1
- package/dist/types/src/components/Button/IconButton.stories.d.ts +3 -0
- package/dist/types/src/components/Button/IconButton.stories.d.ts.map +1 -1
- package/dist/types/src/components/Button/Toggle.d.ts +2 -2
- package/dist/types/src/components/Button/Toggle.d.ts.map +1 -1
- package/dist/types/src/components/Button/Toggle.stories.d.ts.map +1 -1
- package/dist/types/src/components/Button/ToggleGroup.d.ts +6 -6
- package/dist/types/src/components/Button/ToggleGroup.d.ts.map +1 -1
- package/dist/types/src/components/Button/ToggleGroup.stories.d.ts +2 -2
- package/dist/types/src/components/Button/ToggleGroup.stories.d.ts.map +1 -1
- package/dist/types/src/components/Card/Card.d.ts +68 -65
- package/dist/types/src/components/Card/Card.d.ts.map +1 -1
- package/dist/types/src/components/Card/Card.stories.d.ts +2 -2
- package/dist/types/src/components/Card/Card.stories.d.ts.map +1 -1
- package/dist/types/src/components/Carousel/Carousel.d.ts +106 -0
- package/dist/types/src/components/Carousel/Carousel.d.ts.map +1 -0
- package/dist/types/src/components/Carousel/index.d.ts +2 -0
- package/dist/types/src/components/Carousel/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.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.map +1 -1
- package/dist/types/src/components/Dialog/AlertDialog.d.ts +42 -31
- package/dist/types/src/components/Dialog/AlertDialog.d.ts.map +1 -1
- package/dist/types/src/components/Dialog/AlertDialog.stories.d.ts.map +1 -1
- package/dist/types/src/components/Dialog/Dialog.d.ts +47 -30
- package/dist/types/src/components/Dialog/Dialog.d.ts.map +1 -1
- package/dist/types/src/components/Dialog/Dialog.stories.d.ts +3 -2
- package/dist/types/src/components/Dialog/Dialog.stories.d.ts.map +1 -1
- package/dist/types/src/components/ElevationProvider/ElevationProvider.d.ts.map +1 -1
- package/dist/types/src/components/ErrorFallback/ErrorFallback.d.ts.map +1 -1
- package/dist/types/src/components/ErrorFallback/ErrorFallback.stories.d.ts.map +1 -1
- package/dist/types/src/components/ErrorFallback/ErrorStack.d.ts +14 -3
- package/dist/types/src/components/ErrorFallback/ErrorStack.d.ts.map +1 -1
- package/dist/types/src/components/ErrorFallback/ThrowError.d.ts.map +1 -1
- 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 +4 -0
- package/dist/types/src/components/Icon/Icon.d.ts.map +1 -1
- package/dist/types/src/components/Icon/Icon.stories.d.ts +11 -3
- package/dist/types/src/components/Icon/Icon.stories.d.ts.map +1 -1
- package/dist/types/src/components/Image/Image.d.ts +2 -1
- package/dist/types/src/components/Image/Image.d.ts.map +1 -1
- package/dist/types/src/components/Image/Image.stories.d.ts +3 -2
- package/dist/types/src/components/Image/Image.stories.d.ts.map +1 -1
- package/dist/types/src/components/Input/Input.d.ts +14 -17
- package/dist/types/src/components/Input/Input.d.ts.map +1 -1
- package/dist/types/src/components/Input/Input.stories.d.ts +3 -3
- package/dist/types/src/components/Input/Input.stories.d.ts.map +1 -1
- package/dist/types/src/components/Link/Link.d.ts.map +1 -1
- package/dist/types/src/components/Link/Link.stories.d.ts.map +1 -1
- package/dist/types/src/components/List/List.d.ts +5 -3
- package/dist/types/src/components/List/List.d.ts.map +1 -1
- package/dist/types/src/components/List/List.stories.d.ts +3 -1
- package/dist/types/src/components/List/List.stories.d.ts.map +1 -1
- package/dist/types/src/components/List/ListDropIndicator.d.ts.map +1 -1
- package/dist/types/src/components/List/Tree.d.ts +2 -2
- package/dist/types/src/components/List/Tree.d.ts.map +1 -1
- package/dist/types/src/components/List/Tree.stories.d.ts.map +1 -1
- package/dist/types/src/components/List/TreeDropIndicator.d.ts.map +1 -1
- package/dist/types/src/components/List/Treegrid.d.ts +5 -9
- package/dist/types/src/components/List/Treegrid.d.ts.map +1 -1
- package/dist/types/src/components/List/Treegrid.stories.d.ts.map +1 -1
- package/dist/types/src/components/Main/Main.d.ts +7 -3
- package/dist/types/src/components/Main/Main.d.ts.map +1 -1
- 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/MediaPlayer/MediaPlayer.d.ts +46 -0
- package/dist/types/src/components/MediaPlayer/MediaPlayer.d.ts.map +1 -0
- package/dist/types/src/components/MediaPlayer/MediaPlayer.stories.d.ts +16 -0
- package/dist/types/src/components/MediaPlayer/MediaPlayer.stories.d.ts.map +1 -0
- package/dist/types/src/components/MediaPlayer/index.d.ts +2 -0
- package/dist/types/src/components/MediaPlayer/index.d.ts.map +1 -0
- package/dist/types/src/components/Menu/ContextMenu.d.ts.map +1 -1
- package/dist/types/src/components/Menu/ContextMenu.stories.d.ts.map +1 -1
- package/dist/types/src/components/Menu/DropdownMenu.d.ts +58 -49
- package/dist/types/src/components/Menu/DropdownMenu.d.ts.map +1 -1
- package/dist/types/src/components/Menu/DropdownMenu.stories.d.ts +14 -1
- package/dist/types/src/components/Menu/DropdownMenu.stories.d.ts.map +1 -1
- 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 +2 -2
- package/dist/types/src/components/Message/Message.stories.d.ts.map +1 -1
- package/dist/types/src/components/Popover/Popover.d.ts +38 -22
- package/dist/types/src/components/Popover/Popover.d.ts.map +1 -1
- package/dist/types/src/components/Popover/Popover.stories.d.ts.map +1 -1
- package/dist/types/src/components/ScrollArea/ScrollArea.d.ts +12 -11
- package/dist/types/src/components/ScrollArea/ScrollArea.d.ts.map +1 -1
- package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts +21 -10
- package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts.map +1 -1
- package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts +42 -13
- package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts.map +1 -1
- package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts +5 -6
- package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/Select/Select.d.ts.map +1 -1
- package/dist/types/src/components/Select/Select.stories.d.ts +2 -2
- package/dist/types/src/components/Select/Select.stories.d.ts.map +1 -1
- package/dist/types/src/components/Separator/Separator.d.ts +3 -3
- package/dist/types/src/components/Separator/Separator.d.ts.map +1 -1
- package/dist/types/src/components/Skeleton/Skeleton.stories.d.ts.map +1 -1
- package/dist/types/src/components/Splitter/Splitter.d.ts +19 -21
- package/dist/types/src/components/Splitter/Splitter.d.ts.map +1 -1
- package/dist/types/src/components/Splitter/Splitter.stories.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/types/src/components/Tag/Tag.stories.d.ts.map +1 -1
- package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts +1 -1
- package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts.map +1 -1
- package/dist/types/src/components/ThemeProvider/ThemeProvider.stories.d.ts +1 -1
- package/dist/types/src/components/ThemeProvider/ThemeProvider.stories.d.ts.map +1 -1
- package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts +54 -55
- package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts.map +1 -1
- package/dist/types/src/components/ThemeProvider/index.d.ts +1 -1
- package/dist/types/src/components/ThemeProvider/index.d.ts.map +1 -1
- package/dist/types/src/components/Toast/Toast.d.ts +16 -16
- package/dist/types/src/components/Toast/Toast.d.ts.map +1 -1
- package/dist/types/src/components/Toast/Toast.stories.d.ts.map +1 -1
- package/dist/types/src/components/Toolbar/Toolbar.d.ts +10 -20
- package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -1
- package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts.map +1 -1
- package/dist/types/src/components/Tooltip/Tooltip.d.ts +16 -16
- package/dist/types/src/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts +2 -2
- package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +3 -0
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/exemplars/generics.stories.d.ts +6 -5
- package/dist/types/src/exemplars/generics.stories.d.ts.map +1 -1
- package/dist/types/src/exemplars/slot.stories.d.ts +1 -0
- package/dist/types/src/exemplars/slot.stories.d.ts.map +1 -1
- package/dist/types/src/exemplars/tabster.stories.d.ts.map +1 -1
- package/dist/types/src/exemplars/virtualizer.stories.d.ts.map +1 -1
- 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 +1 -1
- package/dist/types/src/hooks/useDensityContext.d.ts.map +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.map +1 -1
- package/dist/types/src/playground/Controls.stories.d.ts.map +1 -1
- package/dist/types/src/playground/Custom.stories.d.ts +1 -1
- package/dist/types/src/playground/Custom.stories.d.ts.map +1 -1
- package/dist/types/src/playground/Typography.stories.d.ts.map +1 -1
- package/dist/types/src/primitives/Column/Column.d.ts +20 -19
- package/dist/types/src/primitives/Column/Column.d.ts.map +1 -1
- package/dist/types/src/primitives/Column/Column.stories.d.ts +19 -0
- package/dist/types/src/primitives/Column/Column.stories.d.ts.map +1 -1
- 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 +8 -5
- package/dist/types/src/primitives/Flex/Flex.d.ts.map +1 -1
- package/dist/types/src/primitives/Flex/Flex.stories.d.ts.map +1 -1
- package/dist/types/src/primitives/Grid/Grid.d.ts +6 -5
- package/dist/types/src/primitives/Grid/Grid.d.ts.map +1 -1
- package/dist/types/src/primitives/Grid/Grid.stories.d.ts.map +1 -1
- package/dist/types/src/primitives/Panel/Panel.d.ts +23 -22
- package/dist/types/src/primitives/Panel/Panel.d.ts.map +1 -1
- package/dist/types/src/primitives/Panel/Panel.stories.d.ts.map +1 -1
- package/dist/types/src/primitives/index.d.ts +1 -0
- package/dist/types/src/primitives/index.d.ts.map +1 -1
- 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/withLayout.d.ts.map +1 -1
- package/dist/types/src/testing/decorators/withLayoutVariants.d.ts.map +1 -1
- package/dist/types/src/testing/decorators/withTheme.d.ts +1 -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 +8 -3
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/util/usePx.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +29 -26
- package/src/components/Avatars/Avatar.stories.tsx +2 -3
- package/src/components/Avatars/Avatar.tsx +1 -2
- package/src/components/Avatars/AvatarGroup.stories.tsx +0 -1
- package/src/components/Breadcrumb/Breadcrumb.stories.tsx +1 -2
- package/src/components/Button/Button.stories.tsx +0 -1
- package/src/components/Button/Button.tsx +5 -13
- package/src/components/Button/IconButton.stories.tsx +6 -4
- package/src/components/Button/IconButton.tsx +3 -4
- package/src/components/Button/Toggle.stories.tsx +0 -1
- package/src/components/Button/Toggle.tsx +4 -4
- package/src/components/Button/ToggleGroup.stories.tsx +0 -1
- package/src/components/Button/ToggleGroup.tsx +12 -16
- package/src/components/Card/Card.stories.tsx +15 -15
- package/src/components/Card/Card.tsx +294 -132
- package/src/components/Carousel/Carousel.tsx +379 -0
- package/src/components/Carousel/index.ts +5 -0
- package/src/components/Clipboard/CopyButton.tsx +5 -6
- package/src/components/Dialog/AlertDialog.stories.tsx +5 -6
- package/src/components/Dialog/AlertDialog.tsx +67 -126
- package/src/components/Dialog/Dialog.stories.tsx +64 -9
- package/src/components/Dialog/Dialog.tsx +84 -88
- package/src/components/ErrorFallback/ErrorFallback.stories.tsx +3 -8
- package/src/components/ErrorFallback/ErrorStack.tsx +36 -2
- 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 +43 -13
- package/src/components/Icon/Icon.tsx +14 -3
- package/src/components/Image/Image.stories.tsx +3 -3
- package/src/components/Image/Image.tsx +31 -8
- package/src/components/Input/Input.stories.tsx +3 -4
- package/src/components/Input/Input.tsx +7 -7
- package/src/components/Link/Link.stories.tsx +0 -1
- package/src/components/Link/Link.tsx +10 -2
- package/src/components/List/List.stories.tsx +3 -4
- package/src/components/List/List.tsx +7 -6
- package/src/components/List/ListDropIndicator.tsx +0 -1
- package/src/components/List/Tree.stories.tsx +2 -3
- package/src/components/List/Tree.tsx +0 -1
- package/src/components/List/TreeDropIndicator.tsx +1 -1
- package/src/components/List/Treegrid.stories.tsx +26 -27
- package/src/components/List/Treegrid.tsx +14 -14
- package/src/components/Main/Main.stories.tsx +0 -1
- package/src/components/Main/Main.tsx +1 -2
- package/src/components/MediaPlayer/MediaPlayer.stories.tsx +50 -0
- package/src/components/MediaPlayer/MediaPlayer.tsx +153 -0
- package/src/components/MediaPlayer/index.ts +5 -0
- package/src/components/Menu/ContextMenu.stories.tsx +0 -1
- package/src/components/Menu/DropdownMenu.stories.tsx +0 -1
- package/src/components/Menu/DropdownMenu.tsx +48 -42
- package/src/components/Message/Message.stories.tsx +7 -8
- package/src/components/Message/Message.tsx +23 -10
- package/src/components/Popover/Popover.stories.tsx +4 -5
- package/src/components/Popover/Popover.tsx +42 -42
- package/src/components/ScrollArea/ScrollArea.stories.tsx +89 -30
- package/src/components/ScrollArea/ScrollArea.tsx +41 -25
- package/src/components/ScrollContainer/ScrollContainer.stories.tsx +20 -18
- package/src/components/ScrollContainer/ScrollContainer.tsx +199 -92
- package/src/components/Select/Select.stories.tsx +5 -6
- package/src/components/Separator/Separator.tsx +4 -7
- package/src/components/Skeleton/Skeleton.stories.tsx +0 -1
- package/src/components/Splitter/Splitter.stories.tsx +29 -29
- package/src/components/Splitter/Splitter.tsx +35 -46
- package/src/components/Status/Status.stories.tsx +0 -1
- package/src/components/Status/Status.tsx +8 -5
- package/src/components/Tag/Tag.stories.tsx +0 -1
- package/src/components/ThemeProvider/ThemeProvider.stories.tsx +0 -1
- package/src/components/ThemeProvider/ThemeProvider.tsx +5 -4
- package/src/components/ThemeProvider/index.ts +1 -1
- package/src/components/Toast/Toast.stories.tsx +0 -1
- package/src/components/Toast/Toast.tsx +16 -31
- package/src/components/Toolbar/Toolbar.stories.tsx +0 -1
- package/src/components/Toolbar/Toolbar.tsx +36 -48
- package/src/components/Tooltip/Tooltip.stories.tsx +7 -8
- package/src/components/Tooltip/Tooltip.tsx +29 -29
- package/src/components/index.ts +3 -0
- package/src/exemplars/generics.stories.tsx +7 -15
- package/src/exemplars/slot.stories.tsx +64 -68
- package/src/exemplars/tabster.stories.tsx +1 -1
- package/src/exemplars/virtualizer.stories.tsx +4 -5
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useDensityContext.ts +2 -2
- package/src/playground/Custom.stories.tsx +6 -9
- package/src/primitives/Column/AUDIT.md +148 -0
- package/src/primitives/Column/Column.stories.tsx +128 -19
- package/src/primitives/Column/Column.tsx +89 -80
- 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 +0 -1
- package/src/primitives/Flex/Flex.tsx +20 -20
- package/src/primitives/Grid/Grid.stories.tsx +0 -1
- package/src/primitives/Grid/Grid.tsx +23 -36
- package/src/primitives/Panel/Panel.stories.tsx +9 -8
- package/src/primitives/Panel/Panel.tsx +43 -60
- package/src/primitives/index.ts +1 -0
- package/src/testing/Loading.tsx +47 -0
- package/src/testing/decorators/withLayout.tsx +7 -17
- package/src/testing/decorators/withTheme.tsx +10 -7
- package/src/testing/index.ts +2 -0
- package/src/translations.ts +8 -3
- package/src/util/usePx.ts +1 -0
- package/dist/lib/browser/chunk-2FKSMWNY.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-ZNBLTSHI.mjs.map +0 -7
|
@@ -22,9 +22,8 @@ import { useControllableState } from '@radix-ui/react-use-controllable-state';
|
|
|
22
22
|
import * as VisuallyHiddenPrimitive from '@radix-ui/react-visually-hidden';
|
|
23
23
|
import React, {
|
|
24
24
|
type ComponentPropsWithoutRef,
|
|
25
|
-
type
|
|
25
|
+
type ComponentRef,
|
|
26
26
|
type FC,
|
|
27
|
-
type MutableRefObject,
|
|
28
27
|
type ReactNode,
|
|
29
28
|
type RefObject,
|
|
30
29
|
type SyntheticEvent,
|
|
@@ -55,19 +54,19 @@ type TooltipContextValue = {
|
|
|
55
54
|
open: boolean;
|
|
56
55
|
stateAttribute: 'closed' | 'delayed-open' | 'instant-open';
|
|
57
56
|
trigger: TooltipTriggerElement | null;
|
|
58
|
-
onTriggerChange(trigger: TooltipTriggerElement | null): void;
|
|
57
|
+
onTriggerChange(trigger: TooltipTriggerElement | null, content?: ReactNode, side?: TooltipSide): void;
|
|
59
58
|
onTriggerEnter(): void;
|
|
60
59
|
onTriggerLeave(): void;
|
|
61
60
|
onOpen(): void;
|
|
62
61
|
onClose(): void;
|
|
63
62
|
onPointerInTransitChange(inTransit: boolean): void;
|
|
64
|
-
isPointerInTransitRef:
|
|
63
|
+
isPointerInTransitRef: RefObject<boolean>;
|
|
65
64
|
disableHoverableContent: boolean;
|
|
66
65
|
};
|
|
67
66
|
|
|
68
67
|
const [TooltipContextProvider, useTooltipContext] = createTooltipContext<TooltipContextValue>(TOOLTIP_NAME);
|
|
69
68
|
|
|
70
|
-
|
|
69
|
+
type TooltipProviderProps = {
|
|
71
70
|
children?: ReactNode;
|
|
72
71
|
open?: boolean;
|
|
73
72
|
defaultOpen?: boolean;
|
|
@@ -88,7 +87,7 @@ interface TooltipProviderProps {
|
|
|
88
87
|
* @defaultValue 300
|
|
89
88
|
*/
|
|
90
89
|
skipDelayDuration?: number;
|
|
91
|
-
}
|
|
90
|
+
};
|
|
92
91
|
|
|
93
92
|
const TooltipProvider: FC<TooltipProviderProps> = (props: TooltipScopedProps<TooltipProviderProps>) => {
|
|
94
93
|
const {
|
|
@@ -112,15 +111,18 @@ const TooltipProvider: FC<TooltipProviderProps> = (props: TooltipScopedProps<Too
|
|
|
112
111
|
|
|
113
112
|
const popperScope = usePopperScope(__scopeTooltip);
|
|
114
113
|
const [trigger, setTrigger] = useState<HTMLButtonElement | null>(null);
|
|
115
|
-
const [content, setContent] = useState<
|
|
114
|
+
const [content, setContent] = useState<ReactNode>(null);
|
|
116
115
|
const [side, setSide] = useState<TooltipSide | undefined>(undefined);
|
|
117
116
|
const triggerRef = useRef<HTMLButtonElement | null>(trigger);
|
|
118
|
-
const handleTriggerChange = useCallback(
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
117
|
+
const handleTriggerChange = useCallback(
|
|
118
|
+
(nextTrigger: HTMLButtonElement | null, nextContent?: ReactNode, nextSide?: TooltipSide) => {
|
|
119
|
+
setTrigger(nextTrigger);
|
|
120
|
+
triggerRef.current = nextTrigger;
|
|
121
|
+
setContent(nextContent ?? null);
|
|
122
|
+
setSide(nextSide);
|
|
123
|
+
},
|
|
124
|
+
[],
|
|
125
|
+
);
|
|
124
126
|
const contentId = useId();
|
|
125
127
|
const openTimerRef = useRef(0);
|
|
126
128
|
const wasOpenDelayedRef = useRef(false);
|
|
@@ -247,11 +249,11 @@ const TooltipVirtualTrigger = ({
|
|
|
247
249
|
|
|
248
250
|
const TRIGGER_NAME = 'TooltipTrigger';
|
|
249
251
|
|
|
250
|
-
type TooltipTriggerElement =
|
|
252
|
+
type TooltipTriggerElement = ComponentRef<typeof Primitive.button>;
|
|
251
253
|
type PrimitiveButtonProps = ComponentPropsWithoutRef<typeof Primitive.button>;
|
|
252
|
-
type TooltipTriggerProps = PrimitiveButtonProps &
|
|
254
|
+
type TooltipTriggerProps = Omit<PrimitiveButtonProps, 'content'> &
|
|
253
255
|
Pick<TooltipProps, 'delayDuration'> & {
|
|
254
|
-
content?:
|
|
256
|
+
content?: ReactNode;
|
|
255
257
|
side?: TooltipSide;
|
|
256
258
|
onInteract?: (event: SyntheticEvent) => void;
|
|
257
259
|
};
|
|
@@ -284,8 +286,6 @@ const TooltipTrigger = forwardRef<TooltipTriggerElement, TooltipTriggerProps>(
|
|
|
284
286
|
// commonly anchors and the anchor `type` attribute signifies MIME type.
|
|
285
287
|
aria-describedby={context.open ? context.contentId : undefined}
|
|
286
288
|
data-state={context.stateAttribute}
|
|
287
|
-
data-tooltip-content={content}
|
|
288
|
-
data-tooltip-side={side}
|
|
289
289
|
{...triggerProps}
|
|
290
290
|
ref={composedRefs}
|
|
291
291
|
onPointerMove={composeEventHandlers(props.onPointerMove, (event) => {
|
|
@@ -297,7 +297,7 @@ const TooltipTrigger = forwardRef<TooltipTriggerElement, TooltipTriggerProps>(
|
|
|
297
297
|
if (event.defaultPrevented) {
|
|
298
298
|
return;
|
|
299
299
|
}
|
|
300
|
-
context.onTriggerChange(ref.current);
|
|
300
|
+
context.onTriggerChange(ref.current, content, side);
|
|
301
301
|
context.onTriggerEnter();
|
|
302
302
|
hasPointerMoveOpenedRef.current = true;
|
|
303
303
|
}
|
|
@@ -335,7 +335,7 @@ const [PortalProvider, usePortalContext] = createTooltipContext<PortalContextVal
|
|
|
335
335
|
});
|
|
336
336
|
|
|
337
337
|
type PortalProps = ComponentPropsWithoutRef<typeof PortalPrimitive>;
|
|
338
|
-
|
|
338
|
+
type TooltipPortalProps = {
|
|
339
339
|
children?: ReactNode;
|
|
340
340
|
/**
|
|
341
341
|
* Specify a container element to portal the content into.
|
|
@@ -346,7 +346,7 @@ interface TooltipPortalProps {
|
|
|
346
346
|
* controlling animation with React animation libraries.
|
|
347
347
|
*/
|
|
348
348
|
forceMount?: true;
|
|
349
|
-
}
|
|
349
|
+
};
|
|
350
350
|
|
|
351
351
|
const TooltipPortal: FC<TooltipPortalProps> = (props: TooltipScopedProps<TooltipPortalProps>) => {
|
|
352
352
|
const { __scopeTooltip, forceMount, children, container } = props;
|
|
@@ -371,13 +371,13 @@ TooltipPortal.displayName = PORTAL_NAME;
|
|
|
371
371
|
const CONTENT_NAME = 'TooltipContent';
|
|
372
372
|
|
|
373
373
|
type TooltipContentElement = TooltipContentImplElement;
|
|
374
|
-
|
|
374
|
+
type TooltipContentProps = TooltipContentImplProps & {
|
|
375
375
|
/**
|
|
376
376
|
* Used to force mounting when more control is needed. Useful when
|
|
377
377
|
* controlling animation with React animation libraries.
|
|
378
378
|
*/
|
|
379
379
|
forceMount?: true;
|
|
380
|
-
}
|
|
380
|
+
};
|
|
381
381
|
|
|
382
382
|
const TooltipContent = forwardRef<TooltipContentElement, TooltipContentProps>(
|
|
383
383
|
(props: TooltipScopedProps<TooltipContentProps>, forwardedRef) => {
|
|
@@ -401,7 +401,7 @@ type Point = { x: number; y: number };
|
|
|
401
401
|
type Polygon = Point[];
|
|
402
402
|
|
|
403
403
|
type TooltipContentHoverableElement = TooltipContentImplElement;
|
|
404
|
-
|
|
404
|
+
type TooltipContentHoverableProps = TooltipContentImplProps;
|
|
405
405
|
|
|
406
406
|
const TooltipContentHoverable = forwardRef<TooltipContentHoverableElement, TooltipContentHoverableProps>(
|
|
407
407
|
(props: TooltipScopedProps<TooltipContentHoverableProps>, forwardedRef) => {
|
|
@@ -480,10 +480,10 @@ const [VisuallyHiddenContentContextProvider, useVisuallyHiddenContentContext] =
|
|
|
480
480
|
isInside: false,
|
|
481
481
|
});
|
|
482
482
|
|
|
483
|
-
type TooltipContentImplElement =
|
|
483
|
+
type TooltipContentImplElement = ComponentRef<typeof PopperPrimitive.Content>;
|
|
484
484
|
type DismissableLayerProps = ComponentPropsWithoutRef<typeof DismissableLayer>;
|
|
485
485
|
type PopperContentProps = ComponentPropsWithoutRef<typeof PopperPrimitive.Content>;
|
|
486
|
-
|
|
486
|
+
type TooltipContentImplProps = Omit<PopperContentProps, 'onPlaced'> & {
|
|
487
487
|
/**
|
|
488
488
|
* A more descriptive label for accessibility purpose
|
|
489
489
|
*/
|
|
@@ -499,7 +499,7 @@ interface TooltipContentImplProps extends Omit<PopperContentProps, 'onPlaced'> {
|
|
|
499
499
|
* Can be prevented.
|
|
500
500
|
*/
|
|
501
501
|
onPointerDownOutside?: DismissableLayerProps['onPointerDownOutside'];
|
|
502
|
-
}
|
|
502
|
+
};
|
|
503
503
|
|
|
504
504
|
const TooltipContentImpl = forwardRef<TooltipContentImplElement, TooltipContentImplProps>(
|
|
505
505
|
(props: TooltipScopedProps<TooltipContentImplProps>, forwardedRef) => {
|
|
@@ -581,9 +581,9 @@ TooltipContent.displayName = CONTENT_NAME;
|
|
|
581
581
|
|
|
582
582
|
const ARROW_NAME = 'TooltipArrow';
|
|
583
583
|
|
|
584
|
-
type TooltipArrowElement =
|
|
584
|
+
type TooltipArrowElement = ComponentRef<typeof PopperPrimitive.Arrow>;
|
|
585
585
|
type PopperArrowProps = ComponentPropsWithoutRef<typeof PopperPrimitive.Arrow>;
|
|
586
|
-
|
|
586
|
+
type TooltipArrowProps = PopperArrowProps;
|
|
587
587
|
|
|
588
588
|
const TooltipArrow = forwardRef<TooltipArrowElement, TooltipArrowProps>(
|
|
589
589
|
(props: TooltipScopedProps<TooltipArrowProps>, forwardedRef) => {
|
package/src/components/index.ts
CHANGED
|
@@ -10,15 +10,18 @@ export * from './Avatars';
|
|
|
10
10
|
export * from './Breadcrumb';
|
|
11
11
|
export * from './Button';
|
|
12
12
|
export * from './Card';
|
|
13
|
+
export * from './Carousel';
|
|
13
14
|
export * from './Clipboard';
|
|
14
15
|
export * from './Dialog';
|
|
15
16
|
export * from './ErrorFallback';
|
|
17
|
+
export * from './Focus';
|
|
16
18
|
export * from './Icon';
|
|
17
19
|
export * from './Image';
|
|
18
20
|
export * from './Input';
|
|
19
21
|
export * from './Link';
|
|
20
22
|
export * from './List';
|
|
21
23
|
export * from './Main';
|
|
24
|
+
export * from './MediaPlayer';
|
|
22
25
|
export * from './Menu';
|
|
23
26
|
export * from './Message';
|
|
24
27
|
export * from './Popover';
|
|
@@ -3,13 +3,16 @@
|
|
|
3
3
|
//
|
|
4
4
|
|
|
5
5
|
import { type Meta, type StoryObj } from '@storybook/react-vite';
|
|
6
|
-
import React
|
|
6
|
+
import React from 'react';
|
|
7
7
|
|
|
8
|
-
import {
|
|
8
|
+
import { slottable } from '@dxos/ui-theme';
|
|
9
9
|
|
|
10
10
|
import { withTheme } from '../testing';
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
/**
|
|
13
|
+
* Generic component pattern using the slottable factory.
|
|
14
|
+
*/
|
|
15
|
+
const Component = slottable<HTMLDivElement>(({ children, ...props }, forwardedRef) => {
|
|
13
16
|
return (
|
|
14
17
|
<div {...props} ref={forwardedRef}>
|
|
15
18
|
{children}
|
|
@@ -17,21 +20,10 @@ const ComponentInner = forwardRef<HTMLDivElement, ComponentProps>(({ children, .
|
|
|
17
20
|
);
|
|
18
21
|
});
|
|
19
22
|
|
|
20
|
-
ComponentInner.displayName = 'Component';
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Generic component pattern.
|
|
24
|
-
*/
|
|
25
|
-
type ComponentProps<P extends HTMLElement = any> = SlottableProps<P>;
|
|
26
|
-
|
|
27
|
-
const Component = ComponentInner as <P extends HTMLElement>(
|
|
28
|
-
props: SlottableProps<P> & { ref?: Ref<P> },
|
|
29
|
-
) => ReactElement;
|
|
30
|
-
|
|
31
23
|
const meta = {
|
|
32
24
|
title: 'ui/react-ui-core/exemplars/generics',
|
|
33
25
|
component: Component,
|
|
34
|
-
render: (props) => <Component
|
|
26
|
+
render: (props) => <Component {...props} />,
|
|
35
27
|
decorators: [withTheme()],
|
|
36
28
|
parameters: {
|
|
37
29
|
layout: 'centered',
|
|
@@ -5,94 +5,62 @@
|
|
|
5
5
|
import { Primitive } from '@radix-ui/react-primitive';
|
|
6
6
|
import { Slot } from '@radix-ui/react-slot';
|
|
7
7
|
import { type Meta, type StoryObj } from '@storybook/react-vite';
|
|
8
|
-
import React, {
|
|
8
|
+
import React, { PropsWithChildren } from 'react';
|
|
9
9
|
|
|
10
|
-
import {
|
|
11
|
-
import { type ComposableProps, type SlottableProps, type ThemedClassName } from '@dxos/ui-types';
|
|
10
|
+
import { composable, composableProps, mx, slottable } from '@dxos/ui-theme';
|
|
12
11
|
|
|
13
12
|
import { withTheme } from '../testing';
|
|
13
|
+
import { ThemedClassName } from '../util';
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
17
|
-
*
|
|
16
|
+
* Radix-style composition.
|
|
18
17
|
* All Radix primitive parts that render a DOM element accept an asChild prop.
|
|
19
|
-
* When asChild is set to true, Radix will not render a default DOM element,
|
|
18
|
+
* When asChild is set to true, Radix will not render a default DOM element,
|
|
19
|
+
* instead cloning the part's child and passing it the props and behavior required to make it functional.
|
|
20
20
|
* https://www.radix-ui.com/primitives/docs/guides/composition
|
|
21
21
|
*/
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
({ children, asChild, ...props }, forwardedRef) => {
|
|
26
|
-
const { className, ...rest } = useComposableProps(props);
|
|
23
|
+
const Outer = slottable<HTMLDivElement, { priority?: number }>(
|
|
24
|
+
({ children, asChild, priority, ...props }, forwardedRef) => {
|
|
27
25
|
const Comp = asChild ? Slot : Primitive.div;
|
|
28
26
|
return (
|
|
29
|
-
<Comp
|
|
27
|
+
<Comp
|
|
28
|
+
{...composableProps<HTMLDivElement>(props, { classNames: 'p-2 border border-red-500 rounded' })}
|
|
29
|
+
ref={forwardedRef}
|
|
30
|
+
>
|
|
30
31
|
{children}
|
|
31
32
|
</Comp>
|
|
32
33
|
);
|
|
33
34
|
},
|
|
34
35
|
);
|
|
35
36
|
|
|
36
|
-
|
|
37
|
-
const
|
|
38
|
-
({ children, asChild, ...props }, forwardedRef) => {
|
|
39
|
-
const { className, ...rest } = useComposableProps(props);
|
|
40
|
-
const Comp = asChild ? Slot : Primitive.div;
|
|
41
|
-
return (
|
|
42
|
-
<Comp {...rest} className={className} data-middle='true' ref={forwardedRef}>
|
|
43
|
-
{children}
|
|
44
|
-
</Comp>
|
|
45
|
-
);
|
|
46
|
-
},
|
|
47
|
-
);
|
|
48
|
-
|
|
49
|
-
// Leaf component (like Card.Root).
|
|
50
|
-
const Leaf = forwardRef<HTMLButtonElement, ComposableProps<PropsWithChildren>>(
|
|
51
|
-
({ children, ...props }, forwardedRef) => {
|
|
52
|
-
const { className, ...rest } = useComposableProps(props);
|
|
53
|
-
return (
|
|
54
|
-
<button {...rest} className={className} ref={forwardedRef}>
|
|
55
|
-
{children}
|
|
56
|
-
</button>
|
|
57
|
-
);
|
|
58
|
-
},
|
|
59
|
-
);
|
|
60
|
-
|
|
61
|
-
// Test 1: Single asChild.
|
|
62
|
-
const TestSingle = (props: ThemedClassName<{ role?: string }>) => {
|
|
63
|
-
const { className, ...rest } = useComposableProps(props);
|
|
37
|
+
const Middle = slottable<HTMLDivElement>(({ children, asChild, ...props }, forwardedRef) => {
|
|
38
|
+
const Comp = asChild ? Slot : Primitive.div;
|
|
64
39
|
return (
|
|
65
|
-
<
|
|
66
|
-
<
|
|
67
|
-
|
|
40
|
+
<Comp
|
|
41
|
+
{...composableProps<HTMLDivElement>(props, { classNames: 'p-2 border border-red-500 rounded' })}
|
|
42
|
+
ref={forwardedRef}
|
|
43
|
+
>
|
|
44
|
+
{children}
|
|
45
|
+
</Comp>
|
|
68
46
|
);
|
|
69
|
-
};
|
|
47
|
+
});
|
|
70
48
|
|
|
71
|
-
|
|
72
|
-
const TestNested = (props: ThemedClassName<{ role?: string }>) => {
|
|
73
|
-
const { className, ...rest } = useComposableProps(props);
|
|
49
|
+
const Leaf = composable<HTMLButtonElement>(({ children, ...props }, forwardedRef) => {
|
|
74
50
|
return (
|
|
75
|
-
<
|
|
76
|
-
<
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
51
|
+
<button
|
|
52
|
+
{...composableProps<HTMLButtonElement>(props, { classNames: 'p-2 border border-red-500 rounded' })}
|
|
53
|
+
ref={forwardedRef}
|
|
54
|
+
>
|
|
55
|
+
{children}
|
|
56
|
+
</button>
|
|
80
57
|
);
|
|
81
|
-
};
|
|
58
|
+
});
|
|
82
59
|
|
|
83
|
-
|
|
84
|
-
const
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
<Outer asChild {...rest} className={className}>
|
|
88
|
-
<Middle asChild>
|
|
89
|
-
<Leaf>
|
|
90
|
-
<div role='none'>Leaf</div>
|
|
91
|
-
</Leaf>
|
|
92
|
-
</Middle>
|
|
93
|
-
</Outer>
|
|
94
|
-
);
|
|
95
|
-
};
|
|
60
|
+
/** This isn't a valid child for a `slottable` component. */
|
|
61
|
+
const Simple = ({ children, classNames }: ThemedClassName<PropsWithChildren>) => (
|
|
62
|
+
<div className={mx(classNames)}>{children}</div>
|
|
63
|
+
);
|
|
96
64
|
|
|
97
65
|
const meta = {
|
|
98
66
|
title: 'ui/react-ui-core/exemplars/slot',
|
|
@@ -107,13 +75,41 @@ export default meta;
|
|
|
107
75
|
type Story = StoryObj<typeof meta>;
|
|
108
76
|
|
|
109
77
|
export const Single: Story = {
|
|
110
|
-
render: () =>
|
|
78
|
+
render: () => (
|
|
79
|
+
<Outer asChild role='article' classNames='border-green-500' priority={1}>
|
|
80
|
+
<Leaf>Single asChild (non-compliant — see console)</Leaf>
|
|
81
|
+
</Outer>
|
|
82
|
+
),
|
|
111
83
|
};
|
|
112
84
|
|
|
113
85
|
export const Nested: Story = {
|
|
114
|
-
render: () =>
|
|
86
|
+
render: () => (
|
|
87
|
+
<Outer asChild role='article' classNames='border-blue-500'>
|
|
88
|
+
<Middle asChild>
|
|
89
|
+
<Leaf>Nested asChild</Leaf>
|
|
90
|
+
</Middle>
|
|
91
|
+
</Outer>
|
|
92
|
+
),
|
|
115
93
|
};
|
|
116
94
|
|
|
117
95
|
export const Inner: Story = {
|
|
118
|
-
render: () =>
|
|
96
|
+
render: () => (
|
|
97
|
+
<Outer asChild role='article' classNames='border-orange-500'>
|
|
98
|
+
<Middle asChild>
|
|
99
|
+
<Leaf>
|
|
100
|
+
<div>Leaf</div>
|
|
101
|
+
</Leaf>
|
|
102
|
+
</Middle>
|
|
103
|
+
</Outer>
|
|
104
|
+
),
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
export const Error: Story = {
|
|
108
|
+
render: () => (
|
|
109
|
+
<Outer asChild role='none' classNames='p-2 border border-green-500 rounded'>
|
|
110
|
+
<Middle asChild>
|
|
111
|
+
<Simple>Simple</Simple>
|
|
112
|
+
</Middle>
|
|
113
|
+
</Outer>
|
|
114
|
+
),
|
|
119
115
|
};
|
|
@@ -43,7 +43,7 @@ const Column = forwardRef<HTMLDivElement, { items: string[] }>(({ items }, ref)
|
|
|
43
43
|
const tabsterAttrs = useMergedTabsterAttributes_unstable(focusableGroupAttrs, arrowNavigationAttrs);
|
|
44
44
|
|
|
45
45
|
return (
|
|
46
|
-
<ScrollArea.Root
|
|
46
|
+
<ScrollArea.Root orientation='vertical' classNames={mx('w-[25rem]', border)}>
|
|
47
47
|
<ScrollArea.Viewport {...tabsterAttrs} classNames='p-4 gap-4' ref={ref}>
|
|
48
48
|
{items.map((item) => (
|
|
49
49
|
<Item key={item} value={item} />
|
|
@@ -6,11 +6,11 @@ import { type Meta } from '@storybook/react-vite';
|
|
|
6
6
|
import { useVirtualizer } from '@tanstack/react-virtual';
|
|
7
7
|
import React, { useEffect, useMemo, useRef, useState } from 'react';
|
|
8
8
|
|
|
9
|
-
import {
|
|
9
|
+
import { random } from '@dxos/random';
|
|
10
10
|
import { Panel, ScrollArea, Toolbar } from '@dxos/react-ui';
|
|
11
11
|
import { withLayout, withTheme } from '@dxos/react-ui/testing';
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
random.seed(999);
|
|
14
14
|
|
|
15
15
|
type TestItem = {
|
|
16
16
|
name: string;
|
|
@@ -37,7 +37,7 @@ export const Default = {
|
|
|
37
37
|
const items = useMemo<TestItem[]>(
|
|
38
38
|
() =>
|
|
39
39
|
Array.from({ length: NUM_ITEMS }, () => ({
|
|
40
|
-
name:
|
|
40
|
+
name: random.lorem.paragraph(),
|
|
41
41
|
})),
|
|
42
42
|
[],
|
|
43
43
|
);
|
|
@@ -63,10 +63,9 @@ export const Default = {
|
|
|
63
63
|
<ScrollToolbar items={items} index={index} setIndex={setIndex} />
|
|
64
64
|
</Panel.Toolbar>
|
|
65
65
|
<Panel.Content asChild>
|
|
66
|
-
<ScrollArea.Root orientation='vertical'
|
|
66
|
+
<ScrollArea.Root orientation='vertical' centered>
|
|
67
67
|
<ScrollArea.Viewport classNames='p-2' ref={setViewport}>
|
|
68
68
|
<div
|
|
69
|
-
role='none'
|
|
70
69
|
style={{
|
|
71
70
|
position: 'relative',
|
|
72
71
|
height: virtualizer.getTotalSize(),
|
package/src/hooks/index.ts
CHANGED
|
@@ -6,6 +6,7 @@ export * from './useDensityContext';
|
|
|
6
6
|
export * from './useElevationContext';
|
|
7
7
|
export * from './useIconHref';
|
|
8
8
|
export * from './useSafeArea';
|
|
9
|
+
export * from './useSafeCollisionPadding';
|
|
9
10
|
export * from './useTranslationsContext';
|
|
10
11
|
export * from './useThemeContext';
|
|
11
12
|
export * from './useVisualViewport';
|
|
@@ -8,7 +8,7 @@ import { type Density } from '@dxos/ui-types';
|
|
|
8
8
|
|
|
9
9
|
import { DensityContext } from '../components';
|
|
10
10
|
|
|
11
|
-
export const useDensityContext = (
|
|
11
|
+
export const useDensityContext = (densityProp?: Density): Density | undefined => {
|
|
12
12
|
const { density } = useContext(DensityContext);
|
|
13
|
-
return
|
|
13
|
+
return densityProp ?? density;
|
|
14
14
|
};
|
|
@@ -20,15 +20,14 @@ const DefaultStory = ({ children, ...args }: Omit<ButtonProps, 'ref'>) => {
|
|
|
20
20
|
</Button>
|
|
21
21
|
</div>
|
|
22
22
|
<div className='flex justify-center'>
|
|
23
|
-
<IconButton {...args} label='Test' icon='ph--
|
|
23
|
+
<IconButton {...args} label='Test' icon='ph--circle--regular' density='coarse' />
|
|
24
24
|
</div>
|
|
25
25
|
<div className='flex justify-center'>
|
|
26
26
|
<IconButton
|
|
27
27
|
{...args}
|
|
28
28
|
label='Test'
|
|
29
|
-
icon='ph--
|
|
29
|
+
icon='ph--circle--regular'
|
|
30
30
|
iconOnly
|
|
31
|
-
size={7}
|
|
32
31
|
density='coarse'
|
|
33
32
|
classNames='px-1.5'
|
|
34
33
|
/>
|
|
@@ -43,13 +42,13 @@ const DefaultStory = ({ children, ...args }: Omit<ButtonProps, 'ref'>) => {
|
|
|
43
42
|
</Button>
|
|
44
43
|
</div>
|
|
45
44
|
<div className='flex justify-center'>
|
|
46
|
-
<IconButton {...args} label='Test' icon='ph--
|
|
45
|
+
<IconButton {...args} label='Test' icon='ph--circle--regular' density='fine' classNames='px-2' />
|
|
47
46
|
</div>
|
|
48
47
|
<div className='flex justify-center'>
|
|
49
48
|
<IconButton
|
|
50
49
|
{...args}
|
|
51
50
|
label='Test'
|
|
52
|
-
icon='ph--
|
|
51
|
+
icon='ph--circle--regular'
|
|
53
52
|
iconOnly
|
|
54
53
|
density='fine'
|
|
55
54
|
classNames='py-1 px-1.5'
|
|
@@ -68,9 +67,8 @@ const DefaultStory = ({ children, ...args }: Omit<ButtonProps, 'ref'>) => {
|
|
|
68
67
|
<IconButton
|
|
69
68
|
{...args}
|
|
70
69
|
label='Test'
|
|
71
|
-
icon='ph--
|
|
70
|
+
icon='ph--circle--regular'
|
|
72
71
|
density='fine'
|
|
73
|
-
size={4}
|
|
74
72
|
classNames={'!h-[24px] !text-[14px] p-1 min-h-0 gap-0.5'}
|
|
75
73
|
/>
|
|
76
74
|
</div>
|
|
@@ -78,10 +76,9 @@ const DefaultStory = ({ children, ...args }: Omit<ButtonProps, 'ref'>) => {
|
|
|
78
76
|
<IconButton
|
|
79
77
|
{...args}
|
|
80
78
|
label='Test'
|
|
81
|
-
icon='ph--
|
|
79
|
+
icon='ph--circle--regular'
|
|
82
80
|
iconOnly
|
|
83
81
|
density='fine'
|
|
84
|
-
size={4}
|
|
85
82
|
classNames={'!h-[24px] !text-[14px] p-1 min-h-0'}
|
|
86
83
|
/>
|
|
87
84
|
</div>
|