@dxos/react-ui 0.8.3 → 0.8.4-main.1068cf700f
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-6DTBPJE4.mjs +774 -0
- package/dist/lib/browser/chunk-6DTBPJE4.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +3203 -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 +66 -50
- package/dist/lib/browser/testing/index.mjs.map +4 -4
- package/dist/lib/node-esm/chunk-JKHQSGNU.mjs +776 -0
- package/dist/lib/node-esm/chunk-JKHQSGNU.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +3203 -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 +66 -50
- package/dist/lib/node-esm/testing/index.mjs.map +4 -4
- package/dist/types/src/components/AnchoredOverflow/AnchoredOverflow.d.ts +7 -0
- package/dist/types/src/components/AnchoredOverflow/AnchoredOverflow.d.ts.map +1 -1
- 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 +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 +2 -2
- 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 +4 -4
- package/dist/types/src/components/Button/IconButton.d.ts.map +1 -0
- package/dist/types/src/components/Button/IconButton.stories.d.ts +13 -0
- package/dist/types/src/components/Button/IconButton.stories.d.ts.map +1 -0
- 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/Clipboard/ClipboardProvider.d.ts.map +1 -1
- package/dist/types/src/components/Clipboard/CopyButton.d.ts +5 -6
- package/dist/types/src/components/Clipboard/CopyButton.d.ts.map +1 -1
- package/dist/types/src/components/Clipboard/index.d.ts +2 -3
- 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/{Dialogs → Dialog}/AlertDialog.d.ts +1 -1
- 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 +46 -0
- package/dist/types/src/components/Dialog/Dialog.d.ts.map +1 -0
- package/dist/types/src/components/Dialog/Dialog.stories.d.ts +27 -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/Icon/Icon.d.ts +2 -2
- package/dist/types/src/components/Icon/Icon.d.ts.map +1 -1
- package/dist/types/src/components/Icon/Icon.stories.d.ts +17 -0
- package/dist/types/src/components/Icon/Icon.stories.d.ts.map +1 -0
- package/dist/types/src/components/Input/Input.d.ts +6 -5
- package/dist/types/src/components/Input/Input.d.ts.map +1 -1
- package/dist/types/src/components/Input/Input.stories.d.ts +12 -13
- 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 +3 -3
- package/dist/types/src/components/List/List.d.ts.map +1 -0
- package/dist/types/src/components/List/List.stories.d.ts +14 -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 +1 -1
- 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 +1 -1
- package/dist/types/src/components/{Lists → List}/Treegrid.d.ts.map +1 -1
- 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 +17 -27
- package/dist/types/src/components/Main/Main.d.ts.map +1 -1
- package/dist/types/src/components/Main/Main.stories.d.ts +6 -7
- 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 +12 -0
- package/dist/types/src/components/Menu/ContextMenu.stories.d.ts.map +1 -0
- package/dist/types/src/components/{Menus → Menu}/DropdownMenu.d.ts +8 -8
- package/dist/types/src/components/Menu/DropdownMenu.d.ts.map +1 -0
- package/dist/types/src/components/Menu/DropdownMenu.stories.d.ts +15 -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 +8 -17
- package/dist/types/src/components/Message/Message.stories.d.ts.map +1 -1
- package/dist/types/src/components/Popover/Popover.d.ts +4 -4
- 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 +25 -26
- package/dist/types/src/components/ScrollArea/ScrollArea.d.ts.map +1 -1
- package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts +37 -25
- package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts.map +1 -1
- package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts +39 -0
- package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts.map +1 -0
- package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts +19 -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 +5 -10
- package/dist/types/src/components/Select/Select.stories.d.ts.map +1 -1
- package/dist/types/src/components/Separator/Separator.d.ts +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 +26 -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 +2 -8
- 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 +12 -12
- package/dist/types/src/components/Tag/Tag.stories.d.ts.map +1 -1
- package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts +3 -3
- package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts.map +1 -1
- 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 +5 -5
- 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 +20 -19
- 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 +2 -4
- package/dist/types/src/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts +8 -61
- package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +7 -4
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/exemplars/generics.stories.d.ts +17 -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/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/hooks/useSafeArea.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 +3 -2
- 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/Container/Container.d.ts +23 -0
- package/dist/types/src/primitives/Container/Container.d.ts.map +1 -0
- package/dist/types/src/primitives/Container/Container.stories.d.ts +11 -0
- package/dist/types/src/primitives/Container/Container.stories.d.ts.map +1 -0
- package/dist/types/src/primitives/Container/Layout.d.ts +18 -0
- package/dist/types/src/primitives/Container/Layout.d.ts.map +1 -0
- package/dist/types/src/primitives/Container/Layout.stories.d.ts +10 -0
- package/dist/types/src/primitives/Container/Layout.stories.d.ts.map +1 -0
- package/dist/types/src/primitives/Container/index.d.ts +3 -0
- package/dist/types/src/primitives/Container/index.d.ts.map +1 -0
- package/dist/types/src/primitives/Flex/Flex.d.ts +8 -0
- package/dist/types/src/primitives/Flex/Flex.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/index.d.ts +3 -0
- package/dist/types/src/primitives/index.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/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 +39 -31
- package/src/components/AnchoredOverflow/AnchoredOverflow.tsx +10 -12
- package/src/components/Avatars/Avatar.stories.tsx +23 -14
- package/src/components/Avatars/Avatar.tsx +6 -13
- package/src/components/Avatars/AvatarGroup.stories.tsx +12 -8
- package/src/components/Breadcrumb/Breadcrumb.stories.tsx +19 -14
- package/src/components/Breadcrumb/Breadcrumb.tsx +8 -34
- package/src/components/{Buttons → Button}/Button.stories.tsx +11 -12
- package/src/components/{Buttons → Button}/Button.tsx +3 -8
- package/src/components/{Buttons → Button}/IconButton.stories.tsx +13 -10
- package/src/components/{Buttons → Button}/IconButton.tsx +23 -16
- package/src/components/Button/Toggle.stories.tsx +37 -0
- package/src/components/{Buttons → Button}/ToggleGroup.stories.tsx +15 -12
- package/src/components/{Buttons → Button}/ToggleGroup.tsx +17 -4
- package/src/components/Clipboard/ClipboardProvider.tsx +1 -1
- package/src/components/Clipboard/CopyButton.tsx +17 -18
- package/src/components/DensityProvider/DensityProvider.tsx +2 -2
- package/src/components/{Dialogs → Dialog}/AlertDialog.stories.tsx +17 -14
- package/src/components/{Dialogs → Dialog}/AlertDialog.tsx +16 -21
- package/src/components/Dialog/Dialog.stories.tsx +101 -0
- package/src/components/{Dialogs → Dialog}/Dialog.tsx +182 -57
- package/src/components/ElevationProvider/ElevationProvider.tsx +2 -2
- package/src/components/Icon/Icon.stories.tsx +113 -0
- package/src/components/Icon/Icon.tsx +3 -3
- package/src/components/Input/Input.stories.tsx +22 -23
- package/src/components/Input/Input.tsx +38 -44
- package/src/components/Link/Link.stories.tsx +12 -8
- package/src/components/Link/Link.tsx +1 -1
- package/src/components/{Lists → List}/List.stories.tsx +40 -34
- package/src/components/{Lists → List}/List.tsx +22 -29
- package/src/components/{Lists → List}/ListDropIndicator.tsx +1 -1
- package/src/components/{Lists → List}/Tree.stories.tsx +13 -10
- package/src/components/{Lists → List}/Tree.tsx +4 -3
- package/src/components/{Lists → List}/TreeDropIndicator.tsx +1 -1
- package/src/components/{Lists → List}/Treegrid.stories.tsx +14 -8
- package/src/components/{Lists → List}/Treegrid.tsx +61 -25
- package/src/components/Main/Main.stories.tsx +56 -27
- package/src/components/Main/Main.tsx +166 -94
- package/src/components/{Menus → Menu}/ContextMenu.stories.tsx +13 -10
- package/src/components/{Menus → Menu}/ContextMenu.tsx +8 -31
- package/src/components/{Menus → Menu}/DropdownMenu.stories.tsx +14 -11
- package/src/components/{Menus → Menu}/DropdownMenu.tsx +109 -78
- package/src/components/Message/Message.stories.tsx +14 -10
- package/src/components/Message/Message.tsx +34 -23
- package/src/components/Popover/Popover.stories.tsx +14 -11
- package/src/components/Popover/Popover.tsx +68 -49
- package/src/components/ScrollArea/ScrollArea.stories.tsx +163 -34
- package/src/components/ScrollArea/ScrollArea.tsx +80 -82
- package/src/components/ScrollArea/index.ts +1 -1
- package/src/components/ScrollContainer/ScrollContainer.stories.tsx +70 -0
- package/src/components/ScrollContainer/ScrollContainer.tsx +238 -0
- package/src/components/ScrollContainer/index.ts +5 -0
- package/src/components/Select/Select.stories.tsx +15 -12
- package/src/components/Select/Select.tsx +18 -34
- package/src/components/Separator/Separator.tsx +1 -1
- 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 +73 -0
- package/src/components/Splitter/Splitter.tsx +123 -0
- package/src/components/Splitter/index.ts +5 -0
- package/src/components/Status/Status.stories.tsx +11 -8
- package/src/components/Status/Status.tsx +2 -2
- package/src/components/Tag/Tag.stories.tsx +21 -12
- package/src/components/Tag/Tag.tsx +2 -7
- package/src/components/ThemeProvider/ThemeProvider.tsx +5 -6
- package/src/components/ThemeProvider/TranslationsProvider.tsx +4 -19
- package/src/components/ThemeProvider/index.ts +3 -1
- package/src/components/Toast/Toast.stories.tsx +14 -11
- package/src/components/Toast/Toast.tsx +15 -19
- package/src/components/Toolbar/Toolbar.stories.tsx +23 -21
- package/src/components/Toolbar/Toolbar.tsx +41 -10
- package/src/components/Tooltip/Tooltip.stories.tsx +18 -14
- package/src/components/Tooltip/Tooltip.tsx +29 -26
- package/src/components/index.ts +7 -4
- package/src/exemplars/generics.stories.tsx +44 -0
- package/src/exemplars/slot.stories.tsx +108 -0
- package/src/exemplars/tabster.stories.tsx +127 -0
- package/src/hooks/useDensityContext.ts +1 -1
- 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 +3 -2
- package/src/playground/Controls.stories.tsx +20 -18
- package/src/playground/Custom.stories.tsx +15 -26
- package/src/playground/Typography.stories.tsx +10 -8
- package/src/primitives/Container/Container.stories.tsx +67 -0
- package/src/primitives/Container/Container.tsx +79 -0
- package/src/primitives/Container/Layout.stories.tsx +57 -0
- package/src/primitives/Container/Layout.tsx +61 -0
- package/src/primitives/Container/index.ts +6 -0
- package/src/primitives/Flex/Flex.tsx +26 -0
- package/src/primitives/Flex/index.ts +5 -0
- package/src/primitives/index.ts +6 -0
- package/src/testing/decorators/index.ts +2 -1
- package/src/testing/decorators/withLayout.tsx +63 -0
- package/src/testing/decorators/{withSurfaceVariantsLayout.tsx → withLayoutVariants.tsx} +4 -4
- package/src/testing/decorators/withTheme.tsx +34 -0
- package/src/util/index.ts +3 -1
- package/src/util/usePx.ts +61 -0
- package/README.yml +0 -1
- package/dist/lib/browser/chunk-WXW6KSRL.mjs +0 -4376
- package/dist/lib/browser/chunk-WXW6KSRL.mjs.map +0 -7
- package/dist/lib/node/chunk-3E3QKWX4.cjs +0 -4363
- package/dist/lib/node/chunk-3E3QKWX4.cjs.map +0 -7
- package/dist/lib/node/index.cjs +0 -175
- package/dist/lib/node/index.cjs.map +0 -7
- package/dist/lib/node/meta.json +0 -1
- package/dist/lib/node/testing/index.cjs +0 -114
- package/dist/lib/node/testing/index.cjs.map +0 -7
- package/dist/lib/node-esm/chunk-EQ7EG74H.mjs +0 -4378
- package/dist/lib/node-esm/chunk-EQ7EG74H.mjs.map +0 -7
- 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.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.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.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/Buttons/Toggle.stories.tsx +0 -33
- package/src/components/Dialogs/Dialog.stories.tsx +0 -65
- package/src/testing/decorators/withTheme.ts +0 -22
- package/src/util/ThemedClassName.ts +0 -7
- /package/dist/types/src/components/{Buttons → Button}/Toggle.d.ts +0 -0
- /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}/Toggle.tsx +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
|
@@ -4,28 +4,38 @@
|
|
|
4
4
|
|
|
5
5
|
import React, { forwardRef } from 'react';
|
|
6
6
|
|
|
7
|
-
import { Button, type ButtonProps } from './Button';
|
|
8
7
|
import { useThemeContext } from '../../hooks';
|
|
9
8
|
import { type ThemedClassName } from '../../util';
|
|
10
9
|
import { Icon, type IconProps } from '../Icon';
|
|
11
10
|
import { Tooltip, type TooltipSide } from '../Tooltip';
|
|
12
11
|
|
|
12
|
+
import { Button, type ButtonProps } from './Button';
|
|
13
|
+
|
|
13
14
|
type IconButtonProps = Omit<ButtonProps, 'children'> &
|
|
14
|
-
Pick<IconProps, 'icon' | 'size'
|
|
15
|
+
Partial<Pick<IconProps, 'icon' | 'size'>> & {
|
|
15
16
|
label: string;
|
|
16
|
-
iconOnly?: boolean;
|
|
17
17
|
noTooltip?: boolean;
|
|
18
18
|
caretDown?: boolean;
|
|
19
|
+
iconOnly?: boolean;
|
|
20
|
+
iconEnd?: boolean;
|
|
19
21
|
iconClassNames?: ThemedClassName<any>['classNames'];
|
|
20
|
-
tooltipPortal?: boolean;
|
|
21
22
|
tooltipSide?: TooltipSide;
|
|
22
23
|
};
|
|
23
24
|
|
|
25
|
+
const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>((props, forwardedRef) =>
|
|
26
|
+
props.iconOnly ? (
|
|
27
|
+
<IconOnlyButton {...props} ref={forwardedRef} />
|
|
28
|
+
) : (
|
|
29
|
+
<LabelledIconButton {...props} ref={forwardedRef} />
|
|
30
|
+
),
|
|
31
|
+
);
|
|
32
|
+
|
|
24
33
|
const IconOnlyButton = forwardRef<HTMLButtonElement, IconButtonProps>(
|
|
25
|
-
({ noTooltip,
|
|
34
|
+
({ noTooltip, tooltipSide, ...props }, forwardedRef) => {
|
|
26
35
|
if (noTooltip) {
|
|
27
36
|
return <LabelledIconButton {...props} ref={forwardedRef} />;
|
|
28
37
|
}
|
|
38
|
+
|
|
29
39
|
return (
|
|
30
40
|
<Tooltip.Trigger asChild content={props.label} side={tooltipSide}>
|
|
31
41
|
<LabelledIconButton {...props} ref={forwardedRef} />
|
|
@@ -34,27 +44,24 @@ const IconOnlyButton = forwardRef<HTMLButtonElement, IconButtonProps>(
|
|
|
34
44
|
},
|
|
35
45
|
);
|
|
36
46
|
|
|
47
|
+
// TODO(burdon): Inherit size from container/density.
|
|
37
48
|
const LabelledIconButton = forwardRef<HTMLButtonElement, IconButtonProps>(
|
|
38
|
-
(
|
|
49
|
+
(
|
|
50
|
+
{ size = 5, icon, iconOnly, iconEnd, iconClassNames, label, caretDown, noTooltip: _, classNames, ...props },
|
|
51
|
+
forwardedRef,
|
|
52
|
+
) => {
|
|
39
53
|
const { tx } = useThemeContext();
|
|
40
54
|
return (
|
|
41
|
-
<Button {...props} classNames={tx('iconButton.root',
|
|
42
|
-
<Icon icon={icon} size={size} classNames={iconClassNames} />
|
|
55
|
+
<Button {...props} classNames={tx('iconButton.root', { iconOnly }, classNames)} ref={forwardedRef}>
|
|
56
|
+
{icon && !iconEnd && <Icon icon={icon} size={size} classNames={iconClassNames} />}
|
|
43
57
|
<span className={iconOnly ? 'sr-only' : undefined}>{label}</span>
|
|
58
|
+
{icon && iconEnd && <Icon icon={icon} size={size} classNames={iconClassNames} />}
|
|
44
59
|
{caretDown && <Icon size={3} icon='ph--caret-down--bold' />}
|
|
45
60
|
</Button>
|
|
46
61
|
);
|
|
47
62
|
},
|
|
48
63
|
);
|
|
49
64
|
|
|
50
|
-
const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>((props, forwardedRef) =>
|
|
51
|
-
props.iconOnly ? (
|
|
52
|
-
<IconOnlyButton {...props} ref={forwardedRef} />
|
|
53
|
-
) : (
|
|
54
|
-
<LabelledIconButton {...props} ref={forwardedRef} />
|
|
55
|
-
),
|
|
56
|
-
);
|
|
57
|
-
|
|
58
65
|
export { IconButton };
|
|
59
66
|
|
|
60
67
|
export type { IconButtonProps };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2023 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import { type Meta, type StoryObj } from '@storybook/react-vite';
|
|
6
|
+
import React from 'react';
|
|
7
|
+
|
|
8
|
+
import { withTheme } from '../../testing';
|
|
9
|
+
import { Icon } from '../Icon';
|
|
10
|
+
|
|
11
|
+
import { Toggle, type ToggleProps } from './Toggle';
|
|
12
|
+
|
|
13
|
+
const DefaultStory = (props: ToggleProps) => {
|
|
14
|
+
return (
|
|
15
|
+
<Toggle {...props}>
|
|
16
|
+
<Icon icon='ph--text-b--regular' />
|
|
17
|
+
</Toggle>
|
|
18
|
+
);
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const meta = {
|
|
22
|
+
title: 'ui/react-ui-core/components/Toggle',
|
|
23
|
+
component: Toggle,
|
|
24
|
+
render: DefaultStory,
|
|
25
|
+
decorators: [withTheme()],
|
|
26
|
+
parameters: {
|
|
27
|
+
layout: 'centered',
|
|
28
|
+
},
|
|
29
|
+
} satisfies Meta<typeof Toggle>;
|
|
30
|
+
|
|
31
|
+
export default meta;
|
|
32
|
+
|
|
33
|
+
type Story = StoryObj<typeof meta>;
|
|
34
|
+
|
|
35
|
+
export const Default: Story = {
|
|
36
|
+
args: {},
|
|
37
|
+
};
|
|
@@ -2,37 +2,40 @@
|
|
|
2
2
|
// Copyright 2023 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import '@
|
|
6
|
-
|
|
7
|
-
import { TextB, TextItalic } from '@phosphor-icons/react';
|
|
5
|
+
import { type Meta, type StoryObj } from '@storybook/react-vite';
|
|
8
6
|
import React from 'react';
|
|
9
7
|
|
|
10
|
-
import { ToggleGroup, ToggleGroupItem, type ToggleGroupProps } from './ToggleGroup';
|
|
11
8
|
import { withTheme } from '../../testing';
|
|
9
|
+
import { Icon } from '../Icon';
|
|
10
|
+
|
|
11
|
+
import { ToggleGroup, ToggleGroupItem, type ToggleGroupProps } from './ToggleGroup';
|
|
12
12
|
|
|
13
13
|
// TODO(burdon): Create Radix-style Root, Item, etc?
|
|
14
14
|
const DefaultStory = (props: ToggleGroupProps) => {
|
|
15
15
|
return (
|
|
16
16
|
<ToggleGroup {...props}>
|
|
17
17
|
<ToggleGroupItem value='textb'>
|
|
18
|
-
<
|
|
18
|
+
<Icon icon='ph--text-b--regular' />
|
|
19
19
|
</ToggleGroupItem>
|
|
20
20
|
<ToggleGroupItem value='texti'>
|
|
21
|
-
<
|
|
21
|
+
<Icon icon='ph--text-italic--regular' />
|
|
22
22
|
</ToggleGroupItem>
|
|
23
23
|
</ToggleGroup>
|
|
24
24
|
);
|
|
25
25
|
};
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
title: 'ui/react-ui-core/ToggleGroup',
|
|
27
|
+
const meta = {
|
|
28
|
+
title: 'ui/react-ui-core/components/ToggleGroup',
|
|
29
29
|
component: ToggleGroup,
|
|
30
30
|
render: DefaultStory,
|
|
31
|
-
decorators: [withTheme],
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
decorators: [withTheme()],
|
|
32
|
+
} satisfies Meta<typeof ToggleGroup>;
|
|
33
|
+
|
|
34
|
+
export default meta;
|
|
35
|
+
|
|
36
|
+
type Story = StoryObj<typeof meta>;
|
|
34
37
|
|
|
35
|
-
export const Default = {
|
|
38
|
+
export const Default: Story = {
|
|
36
39
|
args: {
|
|
37
40
|
type: 'single',
|
|
38
41
|
},
|
|
@@ -3,15 +3,16 @@
|
|
|
3
3
|
//
|
|
4
4
|
|
|
5
5
|
import {
|
|
6
|
+
ToggleGroupItem as ToggleGroupItemPrimitive,
|
|
7
|
+
type ToggleGroupItemProps as ToggleGroupItemPrimitiveProps,
|
|
8
|
+
type ToggleGroupMultipleProps,
|
|
6
9
|
ToggleGroup as ToggleGroupPrimitive,
|
|
7
10
|
type ToggleGroupSingleProps,
|
|
8
|
-
type ToggleGroupMultipleProps,
|
|
9
|
-
type ToggleGroupItemProps as ToggleGroupItemPrimitiveProps,
|
|
10
|
-
ToggleGroupItem as ToggleGroupItemPrimitive,
|
|
11
11
|
} from '@radix-ui/react-toggle-group';
|
|
12
12
|
import React, { forwardRef } from 'react';
|
|
13
13
|
|
|
14
14
|
import { Button, ButtonGroup, type ButtonGroupProps, type ButtonProps } from './Button';
|
|
15
|
+
import { IconButton, type IconButtonProps } from './IconButton';
|
|
15
16
|
|
|
16
17
|
type ToggleGroupProps = Omit<ToggleGroupSingleProps, 'className'> | Omit<ToggleGroupMultipleProps, 'className'>;
|
|
17
18
|
|
|
@@ -37,5 +38,17 @@ const ToggleGroupItem = forwardRef<HTMLButtonElement, ToggleGroupItemProps>(
|
|
|
37
38
|
},
|
|
38
39
|
);
|
|
39
40
|
|
|
40
|
-
|
|
41
|
+
type ToggleGroupIconItemProps = Omit<ToggleGroupItemPrimitiveProps, 'className'> & IconButtonProps;
|
|
42
|
+
|
|
43
|
+
const ToggleGroupIconItem = forwardRef<HTMLButtonElement, ToggleGroupIconItemProps>(
|
|
44
|
+
({ variant, label, icon, size, elevation, density, classNames, ...props }, forwardedRef) => {
|
|
45
|
+
return (
|
|
46
|
+
<ToggleGroupItemPrimitive {...props} asChild>
|
|
47
|
+
<IconButton {...{ variant, elevation, density, classNames, label, icon, size }} ref={forwardedRef} />
|
|
48
|
+
</ToggleGroupItemPrimitive>
|
|
49
|
+
);
|
|
50
|
+
},
|
|
51
|
+
);
|
|
52
|
+
|
|
53
|
+
export { ToggleGroup, ToggleGroupItem, ToggleGroupIconItem };
|
|
41
54
|
export type { ToggleGroupProps, ToggleGroupItemProps };
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Copyright 2023 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import React, {
|
|
5
|
+
import React, { type PropsWithChildren, createContext, useCallback, useContext, useState } from 'react';
|
|
6
6
|
|
|
7
7
|
export type ClipboardContextValue = {
|
|
8
8
|
textValue: string;
|
|
@@ -2,26 +2,26 @@
|
|
|
2
2
|
// Copyright 2023 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import { type IconProps } from '@phosphor-icons/react';
|
|
6
5
|
import React from 'react';
|
|
7
6
|
|
|
8
|
-
import { mx } from '@dxos/
|
|
7
|
+
import { mx, osTranslations } from '@dxos/ui-theme';
|
|
9
8
|
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import { Icon } from '../Icon';
|
|
9
|
+
import { Button, type ButtonProps, IconButton } from '../Button';
|
|
10
|
+
import { Icon, type IconProps } from '../Icon';
|
|
13
11
|
import { useTranslation } from '../ThemeProvider';
|
|
14
12
|
import { type TooltipScopedProps, useTooltipContext } from '../Tooltip';
|
|
15
13
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
14
|
+
import { useClipboard } from './ClipboardProvider';
|
|
15
|
+
|
|
16
|
+
export type CopyButtonProps = ButtonProps &
|
|
17
|
+
Pick<IconProps, 'size'> & {
|
|
18
|
+
value: string;
|
|
19
|
+
};
|
|
20
20
|
|
|
21
21
|
const inactiveLabelStyles = 'invisible bs-px -mbe-px overflow-hidden';
|
|
22
22
|
|
|
23
|
-
export const CopyButton = ({
|
|
24
|
-
const { t } = useTranslation(
|
|
23
|
+
export const CopyButton = ({ classNames, value, size = 5, ...props }: CopyButtonProps) => {
|
|
24
|
+
const { t } = useTranslation(osTranslations);
|
|
25
25
|
const { textValue, setTextValue } = useClipboard();
|
|
26
26
|
const isCopied = textValue === value;
|
|
27
27
|
return (
|
|
@@ -33,12 +33,11 @@ export const CopyButton = ({ value, classNames, iconProps, ...props }: CopyButto
|
|
|
33
33
|
>
|
|
34
34
|
<div role='none' className={mx('flex gap-1 items-center', isCopied && inactiveLabelStyles)}>
|
|
35
35
|
<span className='pli-1'>{t('copy label')}</span>
|
|
36
|
-
|
|
37
|
-
<Icon icon='ph--copy--regular' size={5 as any} {...iconProps} />
|
|
36
|
+
<Icon icon='ph--copy--regular' size={size} />
|
|
38
37
|
</div>
|
|
39
38
|
<div role='none' className={mx('flex gap-1 items-center', !isCopied && inactiveLabelStyles)}>
|
|
40
39
|
<span className='pli-1'>{t('copy success label')}</span>
|
|
41
|
-
<Icon icon='ph--check--regular' size={
|
|
40
|
+
<Icon icon='ph--check--regular' size={size} />
|
|
42
41
|
</div>
|
|
43
42
|
</Button>
|
|
44
43
|
);
|
|
@@ -52,21 +51,21 @@ export const CopyButtonIconOnly = ({
|
|
|
52
51
|
__scopeTooltip,
|
|
53
52
|
value,
|
|
54
53
|
classNames,
|
|
55
|
-
|
|
54
|
+
size,
|
|
56
55
|
variant,
|
|
57
56
|
...props
|
|
58
57
|
}: TooltipScopedProps<CopyButtonIconOnlyProps>) => {
|
|
59
|
-
const { t } = useTranslation(
|
|
58
|
+
const { t } = useTranslation(osTranslations);
|
|
60
59
|
const { textValue, setTextValue } = useClipboard();
|
|
61
60
|
const isCopied = textValue === value;
|
|
62
|
-
const label = isCopied ? t('copy success label') : props.label ?? t('copy label');
|
|
61
|
+
const label = isCopied ? t('copy success label') : (props.label ?? t('copy label'));
|
|
63
62
|
const { onOpen } = useTooltipContext('CopyButton', __scopeTooltip);
|
|
64
63
|
return (
|
|
65
64
|
<IconButton
|
|
66
65
|
iconOnly
|
|
67
66
|
label={label!}
|
|
68
67
|
icon='ph--copy--regular'
|
|
69
|
-
size={
|
|
68
|
+
size={size}
|
|
70
69
|
variant={variant}
|
|
71
70
|
classNames={['inline-flex flex-col justify-center', classNames]}
|
|
72
71
|
onClick={() => setTextValue(value).then(onOpen)}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
// Copyright 2023 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import React, {
|
|
5
|
+
import React, { type PropsWithChildren, createContext } from 'react';
|
|
6
6
|
|
|
7
|
-
import { type Density } from '@dxos/
|
|
7
|
+
import { type Density } from '@dxos/ui-types';
|
|
8
8
|
|
|
9
9
|
export interface DensityContextValue {
|
|
10
10
|
density?: Density;
|
|
@@ -2,25 +2,25 @@
|
|
|
2
2
|
// Copyright 2022 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import '@
|
|
6
|
-
|
|
5
|
+
import { type Meta, type StoryObj } from '@storybook/react-vite';
|
|
7
6
|
import React from 'react';
|
|
8
7
|
|
|
9
|
-
import { AlertDialog } from './AlertDialog';
|
|
10
8
|
import { withTheme } from '../../testing';
|
|
11
|
-
import { Button } from '../
|
|
9
|
+
import { Button } from '../Button';
|
|
12
10
|
import { Toolbar } from '../Toolbar';
|
|
13
11
|
|
|
12
|
+
import { AlertDialog } from './AlertDialog';
|
|
13
|
+
|
|
14
14
|
type StoryProps = Partial<{
|
|
15
15
|
title: string;
|
|
16
16
|
description: string;
|
|
17
17
|
body: string;
|
|
18
|
+
openTrigger: string;
|
|
18
19
|
cancelTrigger: string;
|
|
19
20
|
actionTrigger: string;
|
|
20
|
-
openTrigger: string;
|
|
21
21
|
}>;
|
|
22
22
|
|
|
23
|
-
const DefaultStory = ({ title,
|
|
23
|
+
const DefaultStory = ({ title, description, body, openTrigger, cancelTrigger, actionTrigger }: StoryProps) => {
|
|
24
24
|
return (
|
|
25
25
|
<AlertDialog.Root defaultOpen>
|
|
26
26
|
<AlertDialog.Trigger asChild>
|
|
@@ -46,15 +46,18 @@ const DefaultStory = ({ title, openTrigger, description, body, cancelTrigger, ac
|
|
|
46
46
|
);
|
|
47
47
|
};
|
|
48
48
|
|
|
49
|
-
|
|
50
|
-
title: 'ui/react-ui-core/AlertDialog',
|
|
51
|
-
component: AlertDialog,
|
|
52
|
-
render: DefaultStory,
|
|
53
|
-
decorators: [withTheme],
|
|
54
|
-
|
|
55
|
-
|
|
49
|
+
const meta = {
|
|
50
|
+
title: 'ui/react-ui-core/components/AlertDialog',
|
|
51
|
+
component: AlertDialog.Root as any,
|
|
52
|
+
render: DefaultStory as any,
|
|
53
|
+
decorators: [withTheme()],
|
|
54
|
+
} satisfies Meta<typeof DefaultStory>;
|
|
55
|
+
|
|
56
|
+
export default meta;
|
|
57
|
+
|
|
58
|
+
type Story = StoryObj<typeof meta>;
|
|
56
59
|
|
|
57
|
-
export const Default = {
|
|
60
|
+
export const Default: Story = {
|
|
58
61
|
args: {
|
|
59
62
|
title: 'AlertDialog title',
|
|
60
63
|
openTrigger: 'Open AlertDialog',
|
|
@@ -3,27 +3,27 @@
|
|
|
3
3
|
//
|
|
4
4
|
|
|
5
5
|
import {
|
|
6
|
-
type AlertDialogProps as AlertDialogRootPrimitiveProps,
|
|
7
|
-
Root as AlertDialogRootPrimitive,
|
|
8
|
-
AlertDialogTrigger as AlertDialogTriggerPrimitive,
|
|
9
|
-
type AlertDialogTriggerProps as AlertDialogTriggerPrimitiveProps,
|
|
10
|
-
AlertDialogPortal as AlertDialogPortalPrimitive,
|
|
11
|
-
type AlertDialogPortalProps as AlertDialogPortalPrimitiveProps,
|
|
12
|
-
AlertDialogOverlay as AlertDialogOverlayPrimitive,
|
|
13
|
-
type AlertDialogOverlayProps as AlertDialogOverlayPrimitiveProps,
|
|
14
|
-
AlertDialogTitle as AlertDialogTitlePrimitive,
|
|
15
|
-
type AlertDialogTitleProps as AlertDialogTitlePrimitiveProps,
|
|
16
|
-
AlertDialogDescription as AlertDialogDescriptionPrimitive,
|
|
17
|
-
type AlertDialogDescriptionProps as AlertDialogDescriptionPrimitiveProps,
|
|
18
6
|
AlertDialogAction as AlertDialogActionPrimitive,
|
|
19
7
|
type AlertDialogActionProps as AlertDialogActionPrimitiveProps,
|
|
20
8
|
AlertDialogCancel as AlertDialogCancelPrimitive,
|
|
21
9
|
type AlertDialogCancelProps as AlertDialogCancelPrimitiveProps,
|
|
22
10
|
AlertDialogContent as AlertDialogContentPrimitive,
|
|
23
11
|
type AlertDialogContentProps as AlertDialogContentPrimitiveProps,
|
|
12
|
+
AlertDialogDescription as AlertDialogDescriptionPrimitive,
|
|
13
|
+
type AlertDialogDescriptionProps as AlertDialogDescriptionPrimitiveProps,
|
|
14
|
+
AlertDialogOverlay as AlertDialogOverlayPrimitive,
|
|
15
|
+
type AlertDialogOverlayProps as AlertDialogOverlayPrimitiveProps,
|
|
16
|
+
AlertDialogPortal as AlertDialogPortalPrimitive,
|
|
17
|
+
type AlertDialogPortalProps as AlertDialogPortalPrimitiveProps,
|
|
18
|
+
Root as AlertDialogRootPrimitive,
|
|
19
|
+
type AlertDialogProps as AlertDialogRootPrimitiveProps,
|
|
20
|
+
AlertDialogTitle as AlertDialogTitlePrimitive,
|
|
21
|
+
type AlertDialogTitleProps as AlertDialogTitlePrimitiveProps,
|
|
22
|
+
AlertDialogTrigger as AlertDialogTriggerPrimitive,
|
|
23
|
+
type AlertDialogTriggerProps as AlertDialogTriggerPrimitiveProps,
|
|
24
24
|
} from '@radix-ui/react-alert-dialog';
|
|
25
25
|
import { createContext } from '@radix-ui/react-context';
|
|
26
|
-
import React, {
|
|
26
|
+
import React, { type ForwardRefExoticComponent, type FunctionComponent, forwardRef } from 'react';
|
|
27
27
|
|
|
28
28
|
import { useThemeContext } from '../../hooks';
|
|
29
29
|
import { type ThemedClassName } from '../../util';
|
|
@@ -61,11 +61,7 @@ const AlertDialogTitle: ForwardRefExoticComponent<AlertDialogTitleProps> = forwa
|
|
|
61
61
|
>(({ classNames, srOnly, ...props }, forwardedRef) => {
|
|
62
62
|
const { tx } = useThemeContext();
|
|
63
63
|
return (
|
|
64
|
-
<AlertDialogTitlePrimitive
|
|
65
|
-
{...props}
|
|
66
|
-
className={tx('dialog.title', 'dialog--alert__title', { srOnly }, classNames)}
|
|
67
|
-
ref={forwardedRef}
|
|
68
|
-
/>
|
|
64
|
+
<AlertDialogTitlePrimitive {...props} className={tx('dialog.title', { srOnly }, classNames)} ref={forwardedRef} />
|
|
69
65
|
);
|
|
70
66
|
});
|
|
71
67
|
|
|
@@ -79,7 +75,7 @@ const AlertDialogDescription: ForwardRefExoticComponent<AlertDialogTitleProps> =
|
|
|
79
75
|
return (
|
|
80
76
|
<AlertDialogDescriptionPrimitive
|
|
81
77
|
{...props}
|
|
82
|
-
className={tx('dialog.description',
|
|
78
|
+
className={tx('dialog.description', { srOnly }, classNames)}
|
|
83
79
|
ref={forwardedRef}
|
|
84
80
|
/>
|
|
85
81
|
);
|
|
@@ -109,7 +105,6 @@ const AlertDialogOverlay: ForwardRefExoticComponent<AlertDialogOverlayProps> = f
|
|
|
109
105
|
{...props}
|
|
110
106
|
className={tx(
|
|
111
107
|
'dialog.overlay',
|
|
112
|
-
'dialog--alert__overlay',
|
|
113
108
|
{},
|
|
114
109
|
classNames,
|
|
115
110
|
'data-[block-align=start]:justify-center',
|
|
@@ -137,7 +132,7 @@ const AlertDialogContent: ForwardRefExoticComponent<AlertDialogContentProps> = f
|
|
|
137
132
|
return (
|
|
138
133
|
<AlertDialogContentPrimitive
|
|
139
134
|
{...props}
|
|
140
|
-
className={tx('dialog.content',
|
|
135
|
+
className={tx('dialog.content', { inOverlayLayout }, classNames)}
|
|
141
136
|
ref={forwardedRef}
|
|
142
137
|
>
|
|
143
138
|
{children}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2022 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import { type Meta, type StoryObj } from '@storybook/react-vite';
|
|
6
|
+
import React from 'react';
|
|
7
|
+
|
|
8
|
+
import { faker } from '@dxos/random';
|
|
9
|
+
|
|
10
|
+
import { withTheme } from '../../testing';
|
|
11
|
+
import { Button } from '../Button';
|
|
12
|
+
|
|
13
|
+
import { Dialog, type DialogContentProps } from './Dialog';
|
|
14
|
+
|
|
15
|
+
type StoryProps = Pick<DialogContentProps, 'size'> &
|
|
16
|
+
Partial<{
|
|
17
|
+
title: string;
|
|
18
|
+
description: string;
|
|
19
|
+
openTrigger: string;
|
|
20
|
+
closeTrigger: string;
|
|
21
|
+
blockAlign: 'center' | 'start';
|
|
22
|
+
}>;
|
|
23
|
+
|
|
24
|
+
const DefaultStory = ({ size, title, description, openTrigger, closeTrigger, blockAlign }: StoryProps) => {
|
|
25
|
+
return (
|
|
26
|
+
<Dialog.Root defaultOpen>
|
|
27
|
+
<Dialog.Trigger asChild>
|
|
28
|
+
<Button>{openTrigger}</Button>
|
|
29
|
+
</Dialog.Trigger>
|
|
30
|
+
<Dialog.Overlay blockAlign={blockAlign}>
|
|
31
|
+
<Dialog.Content size={size}>
|
|
32
|
+
<Dialog.Header>
|
|
33
|
+
<Dialog.Title>{title}</Dialog.Title>
|
|
34
|
+
{closeTrigger && (
|
|
35
|
+
<Dialog.Close asChild>
|
|
36
|
+
<Dialog.CloseIconButton />
|
|
37
|
+
</Dialog.Close>
|
|
38
|
+
)}
|
|
39
|
+
</Dialog.Header>
|
|
40
|
+
<Dialog.Body>
|
|
41
|
+
<Dialog.Description>{description}</Dialog.Description>
|
|
42
|
+
</Dialog.Body>
|
|
43
|
+
<Dialog.ActionBar>
|
|
44
|
+
<Dialog.Close asChild>
|
|
45
|
+
<Button variant='primary'>{closeTrigger}</Button>
|
|
46
|
+
</Dialog.Close>
|
|
47
|
+
</Dialog.ActionBar>
|
|
48
|
+
</Dialog.Content>
|
|
49
|
+
</Dialog.Overlay>
|
|
50
|
+
</Dialog.Root>
|
|
51
|
+
);
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
const meta = {
|
|
55
|
+
title: 'ui/react-ui-core/components/Dialog',
|
|
56
|
+
component: Dialog as any,
|
|
57
|
+
render: DefaultStory,
|
|
58
|
+
decorators: [withTheme()],
|
|
59
|
+
parameters: {
|
|
60
|
+
chromatic: {
|
|
61
|
+
disableSnapshot: false,
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
} satisfies Meta<typeof DefaultStory>;
|
|
65
|
+
|
|
66
|
+
export default meta;
|
|
67
|
+
|
|
68
|
+
type Story = StoryObj<typeof meta>;
|
|
69
|
+
|
|
70
|
+
export const Small: Story = {
|
|
71
|
+
args: {
|
|
72
|
+
title: 'Dialog title',
|
|
73
|
+
description: faker.lorem.paragraph(2),
|
|
74
|
+
openTrigger: 'Open',
|
|
75
|
+
closeTrigger: 'Close',
|
|
76
|
+
blockAlign: 'center',
|
|
77
|
+
size: 'sm',
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
export const Medium: Story = {
|
|
82
|
+
args: {
|
|
83
|
+
title: 'Dialog title',
|
|
84
|
+
description: faker.lorem.paragraph(2),
|
|
85
|
+
openTrigger: 'Open',
|
|
86
|
+
closeTrigger: 'Close',
|
|
87
|
+
blockAlign: 'center',
|
|
88
|
+
size: 'md',
|
|
89
|
+
},
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
export const Large: Story = {
|
|
93
|
+
args: {
|
|
94
|
+
title: 'Dialog title',
|
|
95
|
+
description: faker.lorem.paragraph(2),
|
|
96
|
+
openTrigger: 'Open Dialog',
|
|
97
|
+
closeTrigger: 'Close',
|
|
98
|
+
blockAlign: 'center',
|
|
99
|
+
size: 'lg',
|
|
100
|
+
},
|
|
101
|
+
};
|