@dxos/react-ui 0.8.4-main.7ace549 → 0.8.4-main.8360d9e660
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-EJSGYGYH.mjs +774 -0
- package/dist/lib/browser/chunk-EJSGYGYH.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +3913 -68
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +73 -61
- package/dist/lib/browser/testing/index.mjs.map +4 -4
- package/dist/lib/node-esm/chunk-B7MXDDMJ.mjs +776 -0
- package/dist/lib/node-esm/chunk-B7MXDDMJ.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +3913 -68
- 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 +73 -61
- package/dist/lib/node-esm/testing/index.mjs.map +4 -4
- 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/Breadcrumb/Breadcrumb.d.ts.map +1 -1
- package/dist/types/src/components/Button/Button.d.ts +3 -3
- package/dist/types/src/components/Button/Button.d.ts.map +1 -1
- package/dist/types/src/components/Button/IconButton.d.ts +2 -1
- package/dist/types/src/components/Button/IconButton.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/ToggleGroup.d.ts +10 -10
- package/dist/types/src/components/Button/ToggleGroup.d.ts.map +1 -1
- package/dist/types/src/components/Button/ToggleGroup.stories.d.ts +4 -4
- package/dist/types/src/components/Card/Card.d.ts +107 -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/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 +26 -17
- 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 +35 -19
- package/dist/types/src/components/Dialog/Dialog.d.ts.map +1 -1
- package/dist/types/src/components/Dialog/Dialog.stories.d.ts +9 -10
- package/dist/types/src/components/Dialog/Dialog.stories.d.ts.map +1 -1
- 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 +8 -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/Icon/Icon.d.ts +1 -1
- package/dist/types/src/components/Icon/Icon.d.ts.map +1 -1
- package/dist/types/src/components/Image/Image.d.ts +14 -0
- package/dist/types/src/components/Image/Image.d.ts.map +1 -0
- package/dist/types/src/components/Image/Image.stories.d.ts +33 -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 +7 -7
- package/dist/types/src/components/Input/Input.d.ts.map +1 -1
- package/dist/types/src/components/Input/Input.stories.d.ts +8 -8
- package/dist/types/src/components/Input/Input.stories.d.ts.map +1 -1
- package/dist/types/src/components/List/List.d.ts +1 -1
- package/dist/types/src/components/List/List.d.ts.map +1 -1
- package/dist/types/src/components/List/List.stories.d.ts.map +1 -1
- package/dist/types/src/components/List/Treegrid.d.ts.map +1 -1
- package/dist/types/src/components/Main/Main.d.ts +9 -10
- package/dist/types/src/components/Main/Main.d.ts.map +1 -1
- package/dist/types/src/components/Main/Main.stories.d.ts +0 -3
- package/dist/types/src/components/Main/Main.stories.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.map +1 -0
- package/dist/types/src/components/{Menus → Menu}/DropdownMenu.d.ts +52 -50
- package/dist/types/src/components/Menu/DropdownMenu.d.ts.map +1 -0
- package/dist/types/src/components/Menu/DropdownMenu.stories.d.ts +20 -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 +3 -4
- package/dist/types/src/components/Message/Message.stories.d.ts.map +1 -1
- package/dist/types/src/components/Popover/Popover.d.ts +29 -23
- package/dist/types/src/components/Popover/Popover.d.ts.map +1 -1
- package/dist/types/src/components/ScrollArea/ScrollArea.d.ts +23 -26
- package/dist/types/src/components/ScrollArea/ScrollArea.d.ts.map +1 -1
- package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts +44 -8
- package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts.map +1 -1
- package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts +4 -2
- package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts.map +1 -1
- package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts +8 -2
- package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/Select/Select.d.ts +9 -9
- package/dist/types/src/components/Select/Select.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 +32 -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.stories.d.ts +4 -2
- 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 +0 -5
- package/dist/types/src/components/Tag/Tag.stories.d.ts.map +1 -1
- package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts +2 -2
- package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts.map +1 -1
- package/dist/types/src/components/{Menus/DropdownMenu.stories.d.ts → ThemeProvider/ThemeProvider.stories.d.ts} +2 -5
- package/dist/types/src/components/ThemeProvider/ThemeProvider.stories.d.ts.map +1 -0
- package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts +1 -8
- 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 +19 -19
- package/dist/types/src/components/Toast/Toast.d.ts.map +1 -1
- package/dist/types/src/components/Toolbar/Toolbar.d.ts +39 -17
- package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -1
- package/dist/types/src/components/Tooltip/Tooltip.d.ts +9 -9
- package/dist/types/src/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +9 -5
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/exemplars/generics.stories.d.ts +18 -0
- package/dist/types/src/exemplars/generics.stories.d.ts.map +1 -0
- package/dist/types/src/exemplars/slot.stories.d.ts +14 -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 +1 -1
- 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/index.d.ts +2 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/playground/Controls.stories.d.ts.map +1 -1
- package/dist/types/src/primitives/Column/Column.d.ts +26 -0
- package/dist/types/src/primitives/Column/Column.d.ts.map +1 -0
- package/dist/types/src/primitives/Column/Column.stories.d.ts +6 -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 +8 -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 +13 -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 +15 -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 +26 -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/withLayout.d.ts +3 -3
- package/dist/types/src/testing/decorators/withLayout.d.ts.map +1 -1
- package/dist/types/src/testing/decorators/withLayoutVariants.d.ts +1 -1
- package/dist/types/src/testing/decorators/withLayoutVariants.d.ts.map +1 -1
- package/dist/types/src/testing/decorators/withTheme.d.ts +3 -2
- 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 +1 -2
- package/dist/types/src/util/index.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +40 -31
- package/src/components/Avatars/Avatar.stories.tsx +5 -6
- package/src/components/Avatars/Avatar.tsx +6 -13
- package/src/components/Avatars/AvatarGroup.stories.tsx +2 -2
- package/src/components/Breadcrumb/Breadcrumb.stories.tsx +3 -3
- package/src/components/Breadcrumb/Breadcrumb.tsx +11 -37
- package/src/components/Button/Button.stories.tsx +3 -3
- package/src/components/Button/Button.tsx +9 -15
- package/src/components/Button/IconButton.stories.tsx +4 -4
- package/src/components/Button/IconButton.tsx +9 -5
- package/src/components/Button/Toggle.stories.tsx +2 -2
- package/src/components/Button/Toggle.tsx +4 -4
- package/src/components/Button/ToggleGroup.stories.tsx +2 -2
- package/src/components/Button/ToggleGroup.tsx +12 -16
- package/src/components/Card/Card.stories.tsx +151 -0
- package/src/components/Card/Card.tsx +390 -0
- package/src/components/Card/index.ts +5 -0
- package/src/components/Clipboard/CopyButton.tsx +6 -6
- package/src/components/DensityProvider/DensityProvider.tsx +1 -1
- package/src/components/Dialog/AlertDialog.stories.tsx +15 -15
- package/src/components/Dialog/AlertDialog.tsx +137 -54
- package/src/components/Dialog/Dialog.stories.tsx +83 -28
- package/src/components/Dialog/Dialog.tsx +191 -75
- package/src/components/ElevationProvider/ElevationProvider.tsx +1 -1
- package/src/components/ErrorFallback/ErrorFallback.stories.tsx +50 -0
- package/src/components/ErrorFallback/ErrorFallback.tsx +70 -0
- package/src/components/ErrorFallback/ErrorStack.tsx +80 -0
- package/src/components/ErrorFallback/ThrowError.tsx +37 -0
- package/src/components/ErrorFallback/index.ts +9 -0
- package/src/components/Icon/Icon.stories.tsx +3 -3
- package/src/components/Icon/Icon.tsx +4 -3
- package/src/components/Image/Image.stories.tsx +86 -0
- package/src/components/Image/Image.tsx +223 -0
- package/src/components/Image/index.ts +5 -0
- package/src/components/Input/Input.stories.tsx +21 -40
- package/src/components/Input/Input.tsx +36 -72
- package/src/components/Link/Link.stories.tsx +2 -2
- package/src/components/Link/Link.tsx +2 -2
- package/src/components/List/List.stories.tsx +30 -33
- package/src/components/List/List.tsx +12 -17
- package/src/components/List/ListDropIndicator.tsx +7 -7
- package/src/components/List/Tree.stories.tsx +4 -4
- package/src/components/List/TreeDropIndicator.tsx +6 -6
- package/src/components/List/Treegrid.stories.tsx +3 -3
- package/src/components/List/Treegrid.tsx +10 -15
- package/src/components/Main/Main.stories.tsx +41 -23
- package/src/components/Main/Main.tsx +139 -82
- package/src/components/{Menus → Menu}/ContextMenu.stories.tsx +2 -2
- package/src/components/{Menus → Menu}/ContextMenu.tsx +9 -33
- package/src/components/{Menus → Menu}/DropdownMenu.stories.tsx +2 -2
- package/src/components/{Menus → Menu}/DropdownMenu.tsx +113 -105
- package/src/components/Message/Message.stories.tsx +26 -11
- package/src/components/Message/Message.tsx +46 -33
- package/src/components/Popover/Popover.stories.tsx +4 -4
- package/src/components/Popover/Popover.tsx +96 -91
- package/src/components/ScrollArea/ScrollArea.stories.tsx +166 -40
- package/src/components/ScrollArea/ScrollArea.tsx +84 -82
- package/src/components/ScrollArea/index.ts +1 -1
- package/src/components/ScrollContainer/ScrollContainer.stories.tsx +41 -21
- package/src/components/ScrollContainer/ScrollContainer.tsx +101 -94
- package/src/components/Select/Select.stories.tsx +2 -2
- package/src/components/Select/Select.tsx +11 -27
- package/src/components/Separator/Separator.tsx +5 -8
- package/src/components/Skeleton/Skeleton.stories.tsx +52 -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 +126 -0
- package/src/components/Splitter/index.ts +5 -0
- package/src/components/Status/Status.stories.tsx +21 -17
- package/src/components/Status/Status.tsx +2 -2
- package/src/components/Tag/Tag.stories.tsx +6 -11
- package/src/components/Tag/Tag.tsx +3 -8
- package/src/components/ThemeProvider/ThemeProvider.stories.tsx +32 -0
- package/src/components/ThemeProvider/ThemeProvider.tsx +5 -6
- package/src/components/ThemeProvider/TranslationsProvider.tsx +1 -16
- package/src/components/ThemeProvider/index.ts +3 -3
- package/src/components/Toast/Toast.stories.tsx +2 -2
- package/src/components/Toast/Toast.tsx +22 -41
- package/src/components/Toolbar/Toolbar.stories.tsx +2 -2
- package/src/components/Toolbar/Toolbar.tsx +179 -19
- package/src/components/Tooltip/Tooltip.stories.tsx +15 -13
- package/src/components/Tooltip/Tooltip.tsx +40 -38
- package/src/components/index.ts +10 -6
- package/src/exemplars/generics.stories.tsx +49 -0
- package/src/exemplars/slot.stories.tsx +107 -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 +1 -1
- package/src/hooks/useElevationContext.ts +1 -1
- package/src/index.ts +2 -1
- package/src/playground/Controls.stories.tsx +3 -10
- package/src/playground/Custom.stories.tsx +11 -11
- package/src/playground/Typography.stories.tsx +3 -3
- package/src/primitives/Column/Column.stories.tsx +78 -0
- package/src/primitives/Column/Column.tsx +133 -0
- package/src/primitives/Column/index.ts +5 -0
- package/src/primitives/Container/Container.stories.tsx +30 -0
- package/src/primitives/Container/Container.tsx +22 -0
- package/src/primitives/Container/index.ts +5 -0
- package/src/primitives/Flex/Flex.stories.tsx +58 -0
- package/src/primitives/Flex/Flex.tsx +29 -0
- package/src/primitives/Flex/index.ts +5 -0
- package/src/primitives/Grid/Grid.stories.tsx +57 -0
- package/src/primitives/Grid/Grid.tsx +35 -0
- package/src/primitives/Grid/index.ts +5 -0
- package/src/primitives/Panel/Panel.stories.tsx +67 -0
- package/src/primitives/Panel/Panel.tsx +119 -0
- package/src/primitives/Panel/index.ts +5 -0
- package/src/primitives/index.ts +9 -0
- package/src/testing/Loading.tsx +26 -0
- package/src/testing/decorators/withLayout.tsx +39 -18
- package/src/testing/decorators/withLayoutVariants.tsx +20 -23
- package/src/testing/decorators/withTheme.tsx +21 -18
- package/src/testing/index.ts +2 -0
- package/src/translations.ts +19 -0
- package/src/util/index.ts +2 -2
- package/dist/lib/browser/chunk-N5GDJTT2.mjs +0 -4707
- package/dist/lib/browser/chunk-N5GDJTT2.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-SP7VQH72.mjs +0 -4709
- package/dist/lib/node-esm/chunk-SP7VQH72.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/Menus/ContextMenu.d.ts.map +0 -1
- package/dist/types/src/components/Menus/ContextMenu.stories.d.ts.map +0 -1
- package/dist/types/src/components/Menus/DropdownMenu.d.ts.map +0 -1
- 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/util/ThemedClassName.d.ts +0 -5
- package/dist/types/src/util/ThemedClassName.d.ts.map +0 -1
- package/dist/types/src/util/domino.d.ts +0 -18
- package/dist/types/src/util/domino.d.ts.map +0 -1
- package/src/components/AnchoredOverflow/AnchoredOverflow.tsx +0 -59
- package/src/components/AnchoredOverflow/index.ts +0 -5
- package/src/util/ThemedClassName.ts +0 -7
- package/src/util/domino.ts +0 -53
- /package/dist/types/src/components/{Menus → Menu}/ContextMenu.stories.d.ts +0 -0
- /package/dist/types/src/components/{Menus → Menu}/index.d.ts +0 -0
- /package/src/components/{Menus → Menu}/index.ts +0 -0
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2026 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import { createContextScope } from '@radix-ui/react-context';
|
|
6
|
+
import { Primitive } from '@radix-ui/react-primitive';
|
|
7
|
+
import { Slot } from '@radix-ui/react-slot';
|
|
8
|
+
import React, { forwardRef } from 'react';
|
|
9
|
+
|
|
10
|
+
import { composableProps } from '@dxos/ui-theme';
|
|
11
|
+
import { type SlottableProps } from '@dxos/ui-types';
|
|
12
|
+
|
|
13
|
+
import { useThemeContext } from '../../hooks';
|
|
14
|
+
|
|
15
|
+
type ScopedProps<P> = P & { __scopeSplitter?: any };
|
|
16
|
+
|
|
17
|
+
// TODO(burdon): Enable resize.
|
|
18
|
+
// TODO(burdon): Generalize horizontal/vertical and change to start/end.
|
|
19
|
+
type Mode = 'upper' | 'lower' | 'both';
|
|
20
|
+
|
|
21
|
+
type SplitterContextValue = {
|
|
22
|
+
mode: Mode;
|
|
23
|
+
ratio: number;
|
|
24
|
+
transition: number;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
const SPLITTER_NAME = 'Splitter';
|
|
28
|
+
|
|
29
|
+
const [createSplitterContext, createSplitterScope] = createContextScope(SPLITTER_NAME);
|
|
30
|
+
|
|
31
|
+
const [SplitterProvider, useSplitterContext] = createSplitterContext<SplitterContextValue>(SPLITTER_NAME);
|
|
32
|
+
|
|
33
|
+
//
|
|
34
|
+
// Root
|
|
35
|
+
//
|
|
36
|
+
|
|
37
|
+
const ROOT_NAME = 'Splitter.Root';
|
|
38
|
+
|
|
39
|
+
type RootProps = SlottableProps<HTMLDivElement, Partial<SplitterContextValue>>;
|
|
40
|
+
|
|
41
|
+
const Root = forwardRef<HTMLDivElement, ScopedProps<RootProps>>(
|
|
42
|
+
({ __scopeSplitter, asChild, mode = 'upper', ratio = 0.5, transition = 250, children, ...props }, forwardedRef) => {
|
|
43
|
+
const { className, ...rest } = composableProps(props);
|
|
44
|
+
const Comp = asChild ? Slot : Primitive.div;
|
|
45
|
+
const { tx } = useThemeContext();
|
|
46
|
+
return (
|
|
47
|
+
<SplitterProvider scope={__scopeSplitter} mode={mode} ratio={ratio} transition={transition}>
|
|
48
|
+
<Comp role='none' {...rest} ref={forwardedRef} className={tx('splitter.root', {}, className)}>
|
|
49
|
+
{children}
|
|
50
|
+
</Comp>
|
|
51
|
+
</SplitterProvider>
|
|
52
|
+
);
|
|
53
|
+
},
|
|
54
|
+
);
|
|
55
|
+
|
|
56
|
+
Root.displayName = ROOT_NAME;
|
|
57
|
+
|
|
58
|
+
//
|
|
59
|
+
// Panel
|
|
60
|
+
//
|
|
61
|
+
|
|
62
|
+
const PANEL_NAME = 'Splitter.Panel';
|
|
63
|
+
|
|
64
|
+
type PanelProps = SlottableProps<
|
|
65
|
+
HTMLDivElement,
|
|
66
|
+
{
|
|
67
|
+
position: 'upper' | 'lower';
|
|
68
|
+
}
|
|
69
|
+
>;
|
|
70
|
+
|
|
71
|
+
const Panel = forwardRef<HTMLDivElement, ScopedProps<PanelProps>>(
|
|
72
|
+
({ __scopeSplitter, asChild, children, position, style, ...props }, forwardedRef) => {
|
|
73
|
+
const { className, ...rest } = composableProps(props);
|
|
74
|
+
const Comp = asChild ? Slot : Primitive.div;
|
|
75
|
+
const { mode, ratio, transition } = useSplitterContext(PANEL_NAME, __scopeSplitter);
|
|
76
|
+
const { tx } = useThemeContext();
|
|
77
|
+
|
|
78
|
+
// Calculate position and height based on mode and ratio.
|
|
79
|
+
const isUpper = position === 'upper';
|
|
80
|
+
const top = isUpper ? '0%' : mode === 'upper' ? '100%' : mode === 'lower' ? '0%' : `${ratio * 100}%`;
|
|
81
|
+
|
|
82
|
+
const height = isUpper
|
|
83
|
+
? mode === 'upper'
|
|
84
|
+
? '100%'
|
|
85
|
+
: mode === 'lower'
|
|
86
|
+
? '0%'
|
|
87
|
+
: `${ratio * 100}%`
|
|
88
|
+
: mode === 'lower'
|
|
89
|
+
? '100%'
|
|
90
|
+
: mode === 'upper'
|
|
91
|
+
? '0%'
|
|
92
|
+
: `${(1 - ratio) * 100}%`;
|
|
93
|
+
|
|
94
|
+
return (
|
|
95
|
+
<Comp
|
|
96
|
+
role='none'
|
|
97
|
+
{...rest}
|
|
98
|
+
ref={forwardedRef}
|
|
99
|
+
className={tx('splitter.panel', {}, className)}
|
|
100
|
+
style={{
|
|
101
|
+
top,
|
|
102
|
+
height,
|
|
103
|
+
transition: `top ${transition}ms, height ${transition}ms ease-out`,
|
|
104
|
+
...style,
|
|
105
|
+
}}
|
|
106
|
+
>
|
|
107
|
+
{children}
|
|
108
|
+
</Comp>
|
|
109
|
+
);
|
|
110
|
+
},
|
|
111
|
+
);
|
|
112
|
+
|
|
113
|
+
Panel.displayName = PANEL_NAME;
|
|
114
|
+
|
|
115
|
+
//
|
|
116
|
+
// Splitter
|
|
117
|
+
//
|
|
118
|
+
|
|
119
|
+
const Splitter = {
|
|
120
|
+
Root,
|
|
121
|
+
Panel,
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
export { Splitter, createSplitterScope };
|
|
125
|
+
|
|
126
|
+
export type { Mode as SplitterMode, RootProps as SplitterRootProps, PanelProps as SplitterPanelProps };
|
|
@@ -10,30 +10,34 @@ import { withTheme } from '../../testing';
|
|
|
10
10
|
import { Status } from './Status';
|
|
11
11
|
|
|
12
12
|
const meta = {
|
|
13
|
-
title: 'ui/react-ui-core/Status',
|
|
13
|
+
title: 'ui/react-ui-core/components/Status',
|
|
14
14
|
component: Status,
|
|
15
|
-
decorators: [withTheme],
|
|
15
|
+
decorators: [withTheme()],
|
|
16
16
|
} satisfies Meta<typeof Status>;
|
|
17
17
|
|
|
18
18
|
export default meta;
|
|
19
19
|
|
|
20
20
|
type Story = StoryObj<typeof meta>;
|
|
21
21
|
|
|
22
|
-
export const Normal
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
<
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
22
|
+
export const Normal: Story = {
|
|
23
|
+
render: (props) => {
|
|
24
|
+
return (
|
|
25
|
+
<div className='m-5 space-b-5'>
|
|
26
|
+
<Status classNames='block' progress={0} {...props} />
|
|
27
|
+
<Status classNames='block' progress={0.3} {...props} />
|
|
28
|
+
<Status classNames='block' progress={0.7} {...props} />
|
|
29
|
+
<Status classNames='block' progress={1} {...props} />
|
|
30
|
+
</div>
|
|
31
|
+
);
|
|
32
|
+
},
|
|
31
33
|
};
|
|
32
34
|
|
|
33
|
-
export const Indeterminate
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
<
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
export const Indeterminate: Story = {
|
|
36
|
+
render: (props) => {
|
|
37
|
+
return (
|
|
38
|
+
<div className='m-5'>
|
|
39
|
+
<Status classNames='block' indeterminate {...props} />
|
|
40
|
+
</div>
|
|
41
|
+
);
|
|
42
|
+
},
|
|
39
43
|
};
|
|
@@ -20,12 +20,12 @@ const Status = forwardRef<HTMLSpanElement, StatusProps>(
|
|
|
20
20
|
<span
|
|
21
21
|
role='status'
|
|
22
22
|
{...props}
|
|
23
|
-
className={tx('status.root',
|
|
23
|
+
className={tx('status.root', { indeterminate, variant }, classNames)}
|
|
24
24
|
ref={forwardedRef}
|
|
25
25
|
>
|
|
26
26
|
<span
|
|
27
27
|
role='none'
|
|
28
|
-
className={tx('status.bar',
|
|
28
|
+
className={tx('status.bar', { indeterminate, variant }, classNames)}
|
|
29
29
|
{...(!indeterminate && { style: { width: `${Math.round(progress * 100)}%` } })}
|
|
30
30
|
/>
|
|
31
31
|
{children}
|
|
@@ -5,20 +5,20 @@
|
|
|
5
5
|
import { type Meta, type StoryObj } from '@storybook/react-vite';
|
|
6
6
|
import React from 'react';
|
|
7
7
|
|
|
8
|
-
import { hues } from '@dxos/
|
|
9
|
-
import { type ChromaticPalette, type MessageValence } from '@dxos/
|
|
8
|
+
import { hues } from '@dxos/ui-theme';
|
|
9
|
+
import { type ChromaticPalette, type MessageValence } from '@dxos/ui-types';
|
|
10
10
|
|
|
11
|
-
import { withTheme } from '../../testing';
|
|
11
|
+
import { withLayout, withTheme } from '../../testing';
|
|
12
12
|
|
|
13
13
|
import { Tag } from './Tag';
|
|
14
14
|
|
|
15
15
|
const palettes = ['neutral', 'success', 'info', 'warning', 'error', ...hues] as (ChromaticPalette | MessageValence)[];
|
|
16
16
|
|
|
17
17
|
const meta = {
|
|
18
|
-
title: 'ui/react-ui-core/Tag',
|
|
18
|
+
title: 'ui/react-ui-core/components/Tag',
|
|
19
19
|
component: Tag,
|
|
20
20
|
render: () => (
|
|
21
|
-
<div
|
|
21
|
+
<div>
|
|
22
22
|
{palettes.map((palette) => (
|
|
23
23
|
<Tag key={palette} palette={palette}>
|
|
24
24
|
{palette}
|
|
@@ -26,12 +26,7 @@ const meta = {
|
|
|
26
26
|
))}
|
|
27
27
|
</div>
|
|
28
28
|
),
|
|
29
|
-
decorators: [withTheme],
|
|
30
|
-
parameters: {
|
|
31
|
-
chromatic: {
|
|
32
|
-
disableSnapshot: false,
|
|
33
|
-
},
|
|
34
|
-
},
|
|
29
|
+
decorators: [withTheme(), withLayout({ layout: 'default' })],
|
|
35
30
|
} satisfies Meta<typeof Tag>;
|
|
36
31
|
|
|
37
32
|
export default meta;
|
|
@@ -6,7 +6,7 @@ import { Primitive } from '@radix-ui/react-primitive';
|
|
|
6
6
|
import { Slot } from '@radix-ui/react-slot';
|
|
7
7
|
import React, { type ComponentPropsWithRef, forwardRef } from 'react';
|
|
8
8
|
|
|
9
|
-
import { type ChromaticPalette, type MessageValence, type NeutralPalette } from '@dxos/
|
|
9
|
+
import { type ChromaticPalette, type MessageValence, type NeutralPalette } from '@dxos/ui-types';
|
|
10
10
|
|
|
11
11
|
import { useThemeContext } from '../../hooks';
|
|
12
12
|
import { type ThemedClassName } from '../../util';
|
|
@@ -19,14 +19,9 @@ export type TagProps = ThemedClassName<ComponentPropsWithRef<typeof Primitive.sp
|
|
|
19
19
|
export const Tag = forwardRef<HTMLSpanElement, TagProps>(
|
|
20
20
|
({ asChild, palette = 'neutral', classNames, ...props }, forwardedRef) => {
|
|
21
21
|
const { tx } = useThemeContext();
|
|
22
|
-
const
|
|
22
|
+
const Comp = asChild ? Slot : Primitive.span;
|
|
23
23
|
return (
|
|
24
|
-
<
|
|
25
|
-
{...props}
|
|
26
|
-
className={tx('tag.root', 'dx-tag', { palette }, classNames)}
|
|
27
|
-
data-hue={palette}
|
|
28
|
-
ref={forwardedRef}
|
|
29
|
-
/>
|
|
24
|
+
<Comp {...props} className={tx('tag.root', { palette }, classNames)} data-hue={palette} ref={forwardedRef} />
|
|
30
25
|
);
|
|
31
26
|
},
|
|
32
27
|
);
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2025 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import { type Meta, type StoryObj } from '@storybook/react-vite';
|
|
6
|
+
import React from 'react';
|
|
7
|
+
|
|
8
|
+
import { useThemeContext } from '../../hooks';
|
|
9
|
+
import { withLayout, withTheme } from '../../testing';
|
|
10
|
+
|
|
11
|
+
import { ThemeProvider } from './ThemeProvider';
|
|
12
|
+
|
|
13
|
+
const meta = {
|
|
14
|
+
title: 'ui/react-ui-core/components/ThemeProvider',
|
|
15
|
+
component: ThemeProvider,
|
|
16
|
+
render: () => {
|
|
17
|
+
const { themeMode, platform } = useThemeContext();
|
|
18
|
+
return (
|
|
19
|
+
<div className='p-4 flex flex-col gap-4'>
|
|
20
|
+
<h1>ThemeProvider</h1>
|
|
21
|
+
<pre className='text-sm text-description'>{JSON.stringify({ themeMode, platform }, null, 2)}</pre>
|
|
22
|
+
</div>
|
|
23
|
+
);
|
|
24
|
+
},
|
|
25
|
+
decorators: [withTheme(), withLayout()],
|
|
26
|
+
} satisfies Meta<typeof ThemeProvider>;
|
|
27
|
+
|
|
28
|
+
export default meta;
|
|
29
|
+
|
|
30
|
+
type Story = StoryObj<typeof meta>;
|
|
31
|
+
|
|
32
|
+
export const Default: Story = {};
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import { createKeyborg } from 'keyborg';
|
|
6
6
|
import React, { type PropsWithChildren, createContext, useEffect, useMemo } from 'react';
|
|
7
7
|
|
|
8
|
-
import { type Density, type Elevation, type ThemeFunction } from '@dxos/
|
|
8
|
+
import { type Density, type Elevation, type ThemeFunction, type ThemeMode } from '@dxos/ui-types';
|
|
9
9
|
|
|
10
10
|
import { type SafeAreaPadding, useSafeArea } from '../../hooks';
|
|
11
11
|
import { hasIosKeyboard } from '../../util';
|
|
@@ -14,14 +14,13 @@ import { ElevationProvider } from '../ElevationProvider';
|
|
|
14
14
|
|
|
15
15
|
import { TranslationsProvider, type TranslationsProviderProps } from './TranslationsProvider';
|
|
16
16
|
|
|
17
|
-
export type ThemeMode = 'dark' | 'light';
|
|
18
|
-
|
|
19
17
|
export type ThemeContextValue = {
|
|
20
18
|
tx: ThemeFunction<any>;
|
|
21
19
|
themeMode: ThemeMode;
|
|
22
20
|
hasIosKeyboard: boolean;
|
|
23
21
|
safeAreaPadding?: SafeAreaPadding;
|
|
24
22
|
noCache?: boolean;
|
|
23
|
+
platform?: 'mobile' | 'desktop';
|
|
25
24
|
};
|
|
26
25
|
|
|
27
26
|
/**
|
|
@@ -41,7 +40,7 @@ export const ThemeProvider = ({
|
|
|
41
40
|
fallback = null,
|
|
42
41
|
resourceExtensions,
|
|
43
42
|
appNs,
|
|
44
|
-
tx = (_path,
|
|
43
|
+
tx = (_path, _styleProps, ..._options) => undefined,
|
|
45
44
|
themeMode = 'dark',
|
|
46
45
|
rootDensity = 'fine',
|
|
47
46
|
...rest
|
|
@@ -79,8 +78,8 @@ export const ThemeProvider = ({
|
|
|
79
78
|
|
|
80
79
|
const handleInputModalityChange = (isUsingKeyboard: boolean) => {
|
|
81
80
|
if (isUsingKeyboard) {
|
|
82
|
-
document.body.setAttribute('data-
|
|
81
|
+
document.body.setAttribute('data-w-keyboard', 'true');
|
|
83
82
|
} else {
|
|
84
|
-
document.body.removeAttribute('data-
|
|
83
|
+
document.body.removeAttribute('data-w-keyboard');
|
|
85
84
|
}
|
|
86
85
|
};
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
//
|
|
4
4
|
|
|
5
5
|
import { type Locale, enUS as dtLocaleEnUs } from 'date-fns/locale';
|
|
6
|
-
import i18Next, { type Resource
|
|
6
|
+
import i18Next, { type Resource } from 'i18next';
|
|
7
7
|
import React, { type ReactNode, Suspense, createContext, useContext, useEffect, useState } from 'react';
|
|
8
8
|
import { initReactI18next, useTranslation as useI18NextTranslation } from 'react-i18next';
|
|
9
9
|
|
|
@@ -11,21 +11,6 @@ const initialLng = 'en-US';
|
|
|
11
11
|
const initialNs = 'dxos-common';
|
|
12
12
|
const initialDtLocale = dtLocaleEnUs;
|
|
13
13
|
|
|
14
|
-
// TODO(thure): `Parameters<TFunction>` causes typechecking issues because `TFunction` has so many signatures.
|
|
15
|
-
export type Label = string | [string, { ns: string; count?: number; defaultValue?: string }];
|
|
16
|
-
|
|
17
|
-
export const isLabel = (o: any): o is Label =>
|
|
18
|
-
typeof o === 'string' ||
|
|
19
|
-
(Array.isArray(o) &&
|
|
20
|
-
o.length === 2 &&
|
|
21
|
-
typeof o[0] === 'string' &&
|
|
22
|
-
!!o[1] &&
|
|
23
|
-
typeof o[1] === 'object' &&
|
|
24
|
-
'ns' in o[1] &&
|
|
25
|
-
typeof o[1].ns === 'string');
|
|
26
|
-
|
|
27
|
-
export const toLocalizedString = (label: Label, t: TFunction) => (Array.isArray(label) ? t(...label) : label);
|
|
28
|
-
|
|
29
14
|
export const resources = {
|
|
30
15
|
[initialLng]: {
|
|
31
16
|
[initialNs]: {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Copyright 2022 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
export
|
|
6
|
-
export { type Label, isLabel, toLocalizedString, useTranslation } from './TranslationsProvider';
|
|
5
|
+
export { type Label, isLabel, toLocalizedString } from '@dxos/ui-types';
|
|
7
6
|
|
|
8
|
-
|
|
7
|
+
export * from './ThemeProvider';
|
|
8
|
+
export { useTranslation } from './TranslationsProvider';
|
|
@@ -45,10 +45,10 @@ const DefaultStory = ({ title, description, actionTriggers, openTrigger, closeTr
|
|
|
45
45
|
};
|
|
46
46
|
|
|
47
47
|
const meta = {
|
|
48
|
-
title: 'ui/react-ui-core/Toast',
|
|
48
|
+
title: 'ui/react-ui-core/components/Toast',
|
|
49
49
|
component: Toast as any,
|
|
50
50
|
render: DefaultStory,
|
|
51
|
-
decorators: [withTheme],
|
|
51
|
+
decorators: [withTheme()],
|
|
52
52
|
} satisfies Meta<typeof DefaultStory>;
|
|
53
53
|
|
|
54
54
|
export default meta;
|
|
@@ -4,49 +4,32 @@
|
|
|
4
4
|
|
|
5
5
|
import { Primitive } from '@radix-ui/react-primitive';
|
|
6
6
|
import { Slot } from '@radix-ui/react-slot';
|
|
7
|
-
import
|
|
8
|
-
ToastAction as ToastActionPrimitive,
|
|
9
|
-
type ToastActionProps as ToastActionPrimitiveProps,
|
|
10
|
-
ToastClose as ToastClosePrimitive,
|
|
11
|
-
type ToastCloseProps as ToastClosePrimitiveProps,
|
|
12
|
-
ToastDescription as ToastDescriptionPrimitive,
|
|
13
|
-
type ToastDescriptionProps as ToastDescriptionPrimitiveProps,
|
|
14
|
-
ToastProvider as ToastProviderPrimitive,
|
|
15
|
-
type ToastProviderProps as ToastProviderPrimitiveProps,
|
|
16
|
-
Root as ToastRootPrimitive,
|
|
17
|
-
type ToastProps as ToastRootPrimitiveProps,
|
|
18
|
-
ToastTitle as ToastTitlePrimitive,
|
|
19
|
-
type ToastTitleProps as ToastTitlePrimitiveProps,
|
|
20
|
-
ToastViewport as ToastViewportPrimitive,
|
|
21
|
-
type ToastViewportProps as ToastViewportPrimitiveProps,
|
|
22
|
-
} from '@radix-ui/react-toast';
|
|
7
|
+
import * as ToastPrimitive from '@radix-ui/react-toast';
|
|
23
8
|
import React, { type ComponentPropsWithRef, type FunctionComponent, forwardRef } from 'react';
|
|
24
9
|
|
|
25
10
|
import { useThemeContext } from '../../hooks';
|
|
26
11
|
import { type ThemedClassName } from '../../util';
|
|
27
12
|
import { ElevationProvider } from '../ElevationProvider';
|
|
28
13
|
|
|
29
|
-
type ToastProviderProps =
|
|
14
|
+
type ToastProviderProps = ToastPrimitive.ToastProviderProps;
|
|
30
15
|
|
|
31
|
-
const ToastProvider: FunctionComponent<ToastProviderProps> =
|
|
16
|
+
const ToastProvider: FunctionComponent<ToastProviderProps> = ToastPrimitive.Provider;
|
|
32
17
|
|
|
33
|
-
type ToastViewportProps = ThemedClassName<
|
|
18
|
+
type ToastViewportProps = ThemedClassName<ToastPrimitive.ToastViewportProps>;
|
|
34
19
|
|
|
35
20
|
const ToastViewport = forwardRef<HTMLOListElement, ToastViewportProps>(({ classNames, ...props }, forwardedRef) => {
|
|
36
21
|
const { tx } = useThemeContext();
|
|
37
|
-
return (
|
|
38
|
-
<ToastViewportPrimitive className={tx('toast.viewport', 'toast-viewport', {}, classNames)} ref={forwardedRef} />
|
|
39
|
-
);
|
|
22
|
+
return <ToastPrimitive.Viewport {...props} className={tx('toast.viewport', {}, classNames)} ref={forwardedRef} />;
|
|
40
23
|
});
|
|
41
24
|
|
|
42
|
-
type ToastRootProps = ThemedClassName<
|
|
25
|
+
type ToastRootProps = ThemedClassName<ToastPrimitive.ToastProps>;
|
|
43
26
|
|
|
44
27
|
const ToastRoot = forwardRef<HTMLLIElement, ToastRootProps>(({ classNames, children, ...props }, forwardedRef) => {
|
|
45
28
|
const { tx } = useThemeContext();
|
|
46
29
|
return (
|
|
47
|
-
<
|
|
30
|
+
<ToastPrimitive.Root {...props} className={tx('toast.root', {}, classNames)} ref={forwardedRef}>
|
|
48
31
|
<ElevationProvider elevation='toast'>{children}</ElevationProvider>
|
|
49
|
-
</
|
|
32
|
+
</ToastPrimitive.Root>
|
|
50
33
|
);
|
|
51
34
|
});
|
|
52
35
|
|
|
@@ -54,29 +37,27 @@ type ToastBodyProps = ThemedClassName<ComponentPropsWithRef<typeof Primitive.div
|
|
|
54
37
|
|
|
55
38
|
const ToastBody = forwardRef<HTMLDivElement, ToastBodyProps>(({ asChild, classNames, ...props }, forwardedRef) => {
|
|
56
39
|
const { tx } = useThemeContext();
|
|
57
|
-
const
|
|
58
|
-
return <
|
|
40
|
+
const Comp = asChild ? Slot : Primitive.div;
|
|
41
|
+
return <Comp {...props} className={tx('toast.body', {}, classNames)} ref={forwardedRef} />;
|
|
59
42
|
});
|
|
60
43
|
|
|
61
|
-
type ToastTitleProps = ThemedClassName<
|
|
44
|
+
type ToastTitleProps = ThemedClassName<ToastPrimitive.ToastTitleProps>;
|
|
62
45
|
|
|
63
46
|
const ToastTitle = forwardRef<HTMLHeadingElement, ToastTitleProps>(
|
|
64
47
|
({ asChild, classNames, ...props }, forwardedRef) => {
|
|
65
48
|
const { tx } = useThemeContext();
|
|
66
|
-
const
|
|
67
|
-
return <
|
|
49
|
+
const Comp = asChild ? Slot : ToastPrimitive.Title;
|
|
50
|
+
return <Comp {...props} className={tx('toast.title', {}, classNames)} ref={forwardedRef} />;
|
|
68
51
|
},
|
|
69
52
|
);
|
|
70
53
|
|
|
71
|
-
type ToastDescriptionProps = ThemedClassName<
|
|
54
|
+
type ToastDescriptionProps = ThemedClassName<ToastPrimitive.ToastDescriptionProps>;
|
|
72
55
|
|
|
73
56
|
const ToastDescription = forwardRef<HTMLParagraphElement, ToastDescriptionProps>(
|
|
74
57
|
({ asChild, classNames, ...props }, forwardedRef) => {
|
|
75
58
|
const { tx } = useThemeContext();
|
|
76
|
-
const
|
|
77
|
-
return (
|
|
78
|
-
<Root {...props} className={tx('toast.description', 'toast__description', {}, classNames)} ref={forwardedRef} />
|
|
79
|
-
);
|
|
59
|
+
const Comp = asChild ? Slot : ToastPrimitive.Description;
|
|
60
|
+
return <Comp {...props} className={tx('toast.description', {}, classNames)} ref={forwardedRef} />;
|
|
80
61
|
},
|
|
81
62
|
);
|
|
82
63
|
|
|
@@ -85,18 +66,18 @@ type ToastActionsProps = ThemedClassName<ComponentPropsWithRef<typeof Primitive.
|
|
|
85
66
|
const ToastActions = forwardRef<HTMLDivElement, ToastActionsProps>(
|
|
86
67
|
({ asChild, classNames, ...props }, forwardedRef) => {
|
|
87
68
|
const { tx } = useThemeContext();
|
|
88
|
-
const
|
|
89
|
-
return <
|
|
69
|
+
const Comp = asChild ? Slot : Primitive.div;
|
|
70
|
+
return <Comp {...props} className={tx('toast.actions', {}, classNames)} ref={forwardedRef} />;
|
|
90
71
|
},
|
|
91
72
|
);
|
|
92
73
|
|
|
93
|
-
type ToastActionProps =
|
|
74
|
+
type ToastActionProps = ToastPrimitive.ToastActionProps;
|
|
94
75
|
|
|
95
|
-
const ToastAction: FunctionComponent<ToastActionProps> =
|
|
76
|
+
const ToastAction: FunctionComponent<ToastActionProps> = ToastPrimitive.Action;
|
|
96
77
|
|
|
97
|
-
type ToastCloseProps =
|
|
78
|
+
type ToastCloseProps = ToastPrimitive.ToastCloseProps;
|
|
98
79
|
|
|
99
|
-
const ToastClose: FunctionComponent<ToastCloseProps> =
|
|
80
|
+
const ToastClose: FunctionComponent<ToastCloseProps> = ToastPrimitive.Close;
|
|
100
81
|
|
|
101
82
|
export const Toast = {
|
|
102
83
|
Provider: ToastProvider,
|
|
@@ -69,10 +69,10 @@ const DefaultStory = (props: StorybookToolbarProps) => {
|
|
|
69
69
|
};
|
|
70
70
|
|
|
71
71
|
const meta = {
|
|
72
|
-
title: 'ui/react-ui-core/Toolbar',
|
|
72
|
+
title: 'ui/react-ui-core/components/Toolbar',
|
|
73
73
|
component: Toolbar as any,
|
|
74
74
|
render: DefaultStory,
|
|
75
|
-
decorators: [withTheme],
|
|
75
|
+
decorators: [withTheme()],
|
|
76
76
|
} satisfies Meta<typeof DefaultStory>;
|
|
77
77
|
|
|
78
78
|
export default meta;
|