@dxos/react-ui 0.8.4-main.bc674ce → 0.8.4-main.c351d160a8
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-CEKVHJ27.mjs → chunk-EJSGYGYH.mjs} +117 -117
- package/dist/lib/browser/chunk-EJSGYGYH.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +2747 -1997
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +56 -32
- package/dist/lib/browser/testing/index.mjs.map +4 -4
- package/dist/lib/node-esm/{chunk-2NHEX4AD.mjs → chunk-B7MXDDMJ.mjs} +117 -117
- package/dist/lib/node-esm/chunk-B7MXDDMJ.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +2747 -1997
- 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 +56 -32
- 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 +2 -2
- package/dist/types/src/components/Button/Button.d.ts.map +1 -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 +6 -6
- package/dist/types/src/components/Button/ToggleGroup.d.ts.map +1 -1
- 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/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 +25 -18
- package/dist/types/src/components/Dialog/Dialog.d.ts.map +1 -1
- package/dist/types/src/components/Dialog/Dialog.stories.d.ts +3 -6
- package/dist/types/src/components/Dialog/Dialog.stories.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.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 +4 -7
- package/dist/types/src/components/Input/Input.d.ts.map +1 -1
- package/dist/types/src/components/Input/Input.stories.d.ts +7 -7
- package/dist/types/src/components/Input/Input.stories.d.ts.map +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 +6 -32
- package/dist/types/src/components/Main/Main.d.ts.map +1 -1
- package/dist/types/src/components/Main/Main.stories.d.ts +1 -5
- package/dist/types/src/components/Main/Main.stories.d.ts.map +1 -1
- package/dist/types/src/components/Menu/ContextMenu.d.ts.map +1 -1
- package/dist/types/src/components/Menu/DropdownMenu.d.ts +51 -49
- package/dist/types/src/components/Menu/DropdownMenu.d.ts.map +1 -1
- package/dist/types/src/components/Menu/DropdownMenu.stories.d.ts +6 -1
- package/dist/types/src/components/Menu/DropdownMenu.stories.d.ts.map +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 -3
- package/dist/types/src/components/Message/Message.stories.d.ts.map +1 -1
- package/dist/types/src/components/Popover/Popover.d.ts +28 -22
- package/dist/types/src/components/Popover/Popover.d.ts.map +1 -1
- package/dist/types/src/components/ScrollArea/ScrollArea.d.ts +21 -26
- package/dist/types/src/components/ScrollArea/ScrollArea.d.ts.map +1 -1
- package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts +41 -9
- package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts.map +1 -1
- package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts.map +1 -1
- package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts +6 -1
- 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/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.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.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 +1 -0
- package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts.map +1 -1
- package/dist/types/src/components/ThemeProvider/ThemeProvider.stories.d.ts +12 -0
- package/dist/types/src/components/ThemeProvider/ThemeProvider.stories.d.ts.map +1 -0
- package/dist/types/src/components/Toast/Toast.d.ts +15 -15
- package/dist/types/src/components/Toast/Toast.d.ts.map +1 -1
- package/dist/types/src/components/Toolbar/Toolbar.d.ts +33 -11
- 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 +8 -4
- 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/index.d.ts +1 -0
- 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 +1 -1
- 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 +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/tsconfig.tsbuildinfo +1 -1
- package/package.json +25 -21
- package/src/components/Avatars/Avatar.stories.tsx +5 -6
- package/src/components/Avatars/Avatar.tsx +5 -12
- 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 +8 -14
- package/src/components/Button/IconButton.stories.tsx +4 -4
- package/src/components/Button/IconButton.tsx +2 -3
- 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 +3 -3
- package/src/components/Dialog/AlertDialog.stories.tsx +15 -15
- package/src/components/Dialog/AlertDialog.tsx +137 -54
- package/src/components/Dialog/Dialog.stories.tsx +40 -15
- package/src/components/Dialog/Dialog.tsx +94 -78
- 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 +2 -2
- package/src/components/Icon/Icon.tsx +3 -2
- 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 +20 -39
- package/src/components/Input/Input.tsx +24 -69
- package/src/components/Link/Link.stories.tsx +2 -2
- package/src/components/Link/Link.tsx +2 -2
- package/src/components/List/List.stories.tsx +15 -22
- package/src/components/List/List.tsx +11 -16
- 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 +6 -95
- package/src/components/Main/Main.tsx +61 -211
- package/src/components/Menu/ContextMenu.stories.tsx +2 -2
- package/src/components/Menu/ContextMenu.tsx +9 -33
- package/src/components/Menu/DropdownMenu.stories.tsx +2 -2
- package/src/components/Menu/DropdownMenu.tsx +56 -50
- package/src/components/Message/Message.stories.tsx +25 -10
- package/src/components/Message/Message.tsx +17 -29
- package/src/components/Popover/Popover.stories.tsx +4 -4
- package/src/components/Popover/Popover.tsx +61 -58
- package/src/components/ScrollArea/ScrollArea.stories.tsx +152 -76
- package/src/components/ScrollArea/ScrollArea.tsx +72 -116
- package/src/components/ScrollArea/index.ts +1 -1
- package/src/components/ScrollContainer/ScrollContainer.stories.tsx +41 -22
- package/src/components/ScrollContainer/ScrollContainer.tsx +18 -13
- 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 +4 -9
- package/src/components/Tag/Tag.tsx +2 -7
- package/src/components/ThemeProvider/ThemeProvider.stories.tsx +32 -0
- package/src/components/ThemeProvider/ThemeProvider.tsx +4 -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 +166 -21
- package/src/components/Tooltip/Tooltip.stories.tsx +15 -13
- package/src/components/Tooltip/Tooltip.tsx +18 -18
- package/src/components/index.ts +9 -5
- 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/index.ts +1 -0
- 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 +21 -7
- package/src/testing/decorators/withLayoutVariants.tsx +18 -21
- package/src/testing/decorators/withTheme.tsx +19 -17
- package/src/testing/index.ts +2 -0
- package/src/translations.ts +19 -0
- package/dist/lib/browser/chunk-CEKVHJ27.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-2NHEX4AD.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/src/components/AnchoredOverflow/AnchoredOverflow.tsx +0 -59
- package/src/components/AnchoredOverflow/index.ts +0 -5
|
@@ -2,58 +2,71 @@
|
|
|
2
2
|
// Copyright 2023 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import
|
|
6
|
-
AlertDialogAction as AlertDialogActionPrimitive,
|
|
7
|
-
type AlertDialogActionProps as AlertDialogActionPrimitiveProps,
|
|
8
|
-
AlertDialogCancel as AlertDialogCancelPrimitive,
|
|
9
|
-
type AlertDialogCancelProps as AlertDialogCancelPrimitiveProps,
|
|
10
|
-
AlertDialogContent as AlertDialogContentPrimitive,
|
|
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
|
-
} from '@radix-ui/react-alert-dialog';
|
|
5
|
+
import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';
|
|
25
6
|
import { createContext } from '@radix-ui/react-context';
|
|
26
|
-
import React, {
|
|
7
|
+
import React, {
|
|
8
|
+
type ForwardRefExoticComponent,
|
|
9
|
+
type FunctionComponent,
|
|
10
|
+
type PropsWithChildren,
|
|
11
|
+
forwardRef,
|
|
12
|
+
} from 'react';
|
|
13
|
+
|
|
14
|
+
import { type DialogSize } from '@dxos/ui-theme';
|
|
27
15
|
|
|
28
16
|
import { useThemeContext } from '../../hooks';
|
|
17
|
+
import { Column } from '../../primitives';
|
|
29
18
|
import { type ThemedClassName } from '../../util';
|
|
30
19
|
import { ElevationProvider } from '../ElevationProvider';
|
|
31
20
|
|
|
32
|
-
|
|
21
|
+
//
|
|
22
|
+
// Root
|
|
23
|
+
//
|
|
24
|
+
|
|
25
|
+
type AlertDialogRootProps = AlertDialogPrimitive.AlertDialogProps;
|
|
33
26
|
|
|
34
27
|
const AlertDialogRoot: FunctionComponent<AlertDialogRootProps> = (props) => (
|
|
35
28
|
<ElevationProvider elevation='dialog'>
|
|
36
|
-
<
|
|
29
|
+
<AlertDialogPrimitive.Root {...props} />
|
|
37
30
|
</ElevationProvider>
|
|
38
31
|
);
|
|
39
32
|
|
|
40
|
-
|
|
33
|
+
//
|
|
34
|
+
// Trigger
|
|
35
|
+
//
|
|
36
|
+
|
|
37
|
+
type AlertDialogTriggerProps = AlertDialogPrimitive.AlertDialogTriggerProps;
|
|
38
|
+
|
|
39
|
+
const AlertDialogTrigger: FunctionComponent<AlertDialogTriggerProps> = AlertDialogPrimitive.Trigger;
|
|
41
40
|
|
|
42
|
-
|
|
41
|
+
//
|
|
42
|
+
// Portal
|
|
43
|
+
//
|
|
44
|
+
|
|
45
|
+
type AlertDialogPortalProps = AlertDialogPrimitive.AlertDialogPortalProps;
|
|
46
|
+
|
|
47
|
+
const AlertDialogPortal: FunctionComponent<AlertDialogPortalProps> = AlertDialogPrimitive.Portal;
|
|
43
48
|
|
|
44
|
-
|
|
49
|
+
//
|
|
50
|
+
// Cancel
|
|
51
|
+
//
|
|
45
52
|
|
|
46
|
-
|
|
53
|
+
type AlertDialogCancelProps = AlertDialogPrimitive.AlertDialogCancelProps;
|
|
47
54
|
|
|
48
|
-
|
|
55
|
+
const AlertDialogCancel: FunctionComponent<AlertDialogCancelProps> = AlertDialogPrimitive.Cancel;
|
|
56
|
+
|
|
57
|
+
//
|
|
58
|
+
// Action
|
|
59
|
+
//
|
|
49
60
|
|
|
50
|
-
|
|
61
|
+
type AlertDialogActionProps = AlertDialogPrimitive.AlertDialogActionProps;
|
|
51
62
|
|
|
52
|
-
|
|
63
|
+
const AlertDialogAction: FunctionComponent<AlertDialogActionProps> = AlertDialogPrimitive.Action;
|
|
53
64
|
|
|
54
|
-
|
|
65
|
+
//
|
|
66
|
+
// Title
|
|
67
|
+
//
|
|
55
68
|
|
|
56
|
-
type AlertDialogTitleProps = ThemedClassName<
|
|
69
|
+
type AlertDialogTitleProps = ThemedClassName<AlertDialogPrimitive.AlertDialogTitleProps> & { srOnly?: boolean };
|
|
57
70
|
|
|
58
71
|
const AlertDialogTitle: ForwardRefExoticComponent<AlertDialogTitleProps> = forwardRef<
|
|
59
72
|
HTMLHeadingElement,
|
|
@@ -61,15 +74,17 @@ const AlertDialogTitle: ForwardRefExoticComponent<AlertDialogTitleProps> = forwa
|
|
|
61
74
|
>(({ classNames, srOnly, ...props }, forwardedRef) => {
|
|
62
75
|
const { tx } = useThemeContext();
|
|
63
76
|
return (
|
|
64
|
-
<
|
|
65
|
-
{...props}
|
|
66
|
-
className={tx('dialog.title', 'dialog--alert__title', { srOnly }, classNames)}
|
|
67
|
-
ref={forwardedRef}
|
|
68
|
-
/>
|
|
77
|
+
<AlertDialogPrimitive.Title {...props} className={tx('dialog.title', { srOnly }, classNames)} ref={forwardedRef} />
|
|
69
78
|
);
|
|
70
79
|
});
|
|
71
80
|
|
|
72
|
-
|
|
81
|
+
//
|
|
82
|
+
// Description
|
|
83
|
+
//
|
|
84
|
+
|
|
85
|
+
type AlertDialogDescriptionProps = ThemedClassName<AlertDialogPrimitive.AlertDialogDescriptionProps> & {
|
|
86
|
+
srOnly?: boolean;
|
|
87
|
+
};
|
|
73
88
|
|
|
74
89
|
const AlertDialogDescription: ForwardRefExoticComponent<AlertDialogTitleProps> = forwardRef<
|
|
75
90
|
HTMLParagraphElement,
|
|
@@ -77,17 +92,25 @@ const AlertDialogDescription: ForwardRefExoticComponent<AlertDialogTitleProps> =
|
|
|
77
92
|
>(({ classNames, srOnly, ...props }, forwardedRef) => {
|
|
78
93
|
const { tx } = useThemeContext();
|
|
79
94
|
return (
|
|
80
|
-
<
|
|
95
|
+
<AlertDialogPrimitive.Description
|
|
81
96
|
{...props}
|
|
82
|
-
className={tx('dialog.description',
|
|
97
|
+
className={tx('dialog.description', { srOnly }, classNames)}
|
|
83
98
|
ref={forwardedRef}
|
|
84
99
|
/>
|
|
85
100
|
);
|
|
86
101
|
});
|
|
87
102
|
|
|
88
103
|
type OverlayLayoutContextValue = { inOverlayLayout?: boolean };
|
|
104
|
+
|
|
105
|
+
//
|
|
106
|
+
// Context
|
|
107
|
+
//
|
|
108
|
+
|
|
89
109
|
const ALERT_DIALOG_OVERLAY_NAME = 'AlertDialogOverlay';
|
|
90
110
|
const ALERT_DIALOG_CONTENT_NAME = 'AlertDialogContent';
|
|
111
|
+
const ALERT_DIALOG_BODY_NAME = 'AlertDialogBody';
|
|
112
|
+
const ALERT_DIALOG_ACTIONBAR_NAME = 'AlertDialogActionBar';
|
|
113
|
+
|
|
91
114
|
const [OverlayLayoutProvider, useOverlayLayoutContext] = createContext<OverlayLayoutContextValue>(
|
|
92
115
|
ALERT_DIALOG_OVERLAY_NAME,
|
|
93
116
|
{
|
|
@@ -95,7 +118,11 @@ const [OverlayLayoutProvider, useOverlayLayoutContext] = createContext<OverlayLa
|
|
|
95
118
|
},
|
|
96
119
|
);
|
|
97
120
|
|
|
98
|
-
|
|
121
|
+
//
|
|
122
|
+
// Overlay
|
|
123
|
+
//
|
|
124
|
+
|
|
125
|
+
type AlertDialogOverlayProps = ThemedClassName<AlertDialogPrimitive.AlertDialogOverlayProps> & {
|
|
99
126
|
blockAlign?: 'center' | 'start' | 'end';
|
|
100
127
|
};
|
|
101
128
|
|
|
@@ -105,56 +132,110 @@ const AlertDialogOverlay: ForwardRefExoticComponent<AlertDialogOverlayProps> = f
|
|
|
105
132
|
>(({ classNames, children, blockAlign, ...props }, forwardedRef) => {
|
|
106
133
|
const { tx } = useThemeContext();
|
|
107
134
|
return (
|
|
108
|
-
<
|
|
135
|
+
<AlertDialogPrimitive.Overlay
|
|
109
136
|
{...props}
|
|
137
|
+
data-block-align={blockAlign}
|
|
110
138
|
className={tx(
|
|
111
139
|
'dialog.overlay',
|
|
112
|
-
'dialog--alert__overlay',
|
|
113
140
|
{},
|
|
114
141
|
classNames,
|
|
115
|
-
|
|
116
|
-
'data-[
|
|
117
|
-
'data-[
|
|
142
|
+
// TODO(burdon): Move to dialog.ts.
|
|
143
|
+
'data-[h-align=start]:justify-center',
|
|
144
|
+
'data-[h-align=start]:items-start',
|
|
145
|
+
'data-[h-align=center]:place-content-center',
|
|
118
146
|
)}
|
|
119
147
|
ref={forwardedRef}
|
|
120
|
-
data-block-align={blockAlign}
|
|
121
148
|
>
|
|
122
149
|
<OverlayLayoutProvider inOverlayLayout>{children}</OverlayLayoutProvider>
|
|
123
|
-
</
|
|
150
|
+
</AlertDialogPrimitive.Overlay>
|
|
124
151
|
);
|
|
125
152
|
});
|
|
126
153
|
|
|
127
154
|
AlertDialogOverlay.displayName = ALERT_DIALOG_OVERLAY_NAME;
|
|
128
155
|
|
|
129
|
-
|
|
156
|
+
//
|
|
157
|
+
// Content
|
|
158
|
+
//
|
|
159
|
+
|
|
160
|
+
type AlertDialogContentProps = ThemedClassName<AlertDialogPrimitive.AlertDialogContentProps> & { size?: DialogSize };
|
|
130
161
|
|
|
131
162
|
const AlertDialogContent: ForwardRefExoticComponent<AlertDialogContentProps> = forwardRef<
|
|
132
163
|
HTMLDivElement,
|
|
133
164
|
AlertDialogContentProps
|
|
134
|
-
>(({ classNames, children, ...props }, forwardedRef) => {
|
|
165
|
+
>(({ classNames, children, size = 'md', ...props }, forwardedRef) => {
|
|
135
166
|
const { tx } = useThemeContext();
|
|
136
167
|
const { inOverlayLayout } = useOverlayLayoutContext(ALERT_DIALOG_CONTENT_NAME);
|
|
137
168
|
return (
|
|
138
|
-
<
|
|
169
|
+
<AlertDialogPrimitive.Content
|
|
139
170
|
{...props}
|
|
140
|
-
className={tx('dialog.content',
|
|
171
|
+
className={tx('dialog.content', { inOverlayLayout, size }, classNames)}
|
|
141
172
|
ref={forwardedRef}
|
|
142
173
|
>
|
|
143
|
-
{children}
|
|
144
|
-
</
|
|
174
|
+
<Column.Root>{children}</Column.Root>
|
|
175
|
+
</AlertDialogPrimitive.Content>
|
|
145
176
|
);
|
|
146
177
|
});
|
|
147
178
|
|
|
148
179
|
AlertDialogContent.displayName = ALERT_DIALOG_CONTENT_NAME;
|
|
149
180
|
|
|
181
|
+
//
|
|
182
|
+
// Body
|
|
183
|
+
//
|
|
184
|
+
|
|
185
|
+
type AlertDialogBodyProps = PropsWithChildren;
|
|
186
|
+
|
|
187
|
+
const AlertDialogBody: ForwardRefExoticComponent<AlertDialogBodyProps> = forwardRef<
|
|
188
|
+
HTMLDivElement,
|
|
189
|
+
AlertDialogBodyProps
|
|
190
|
+
>(({ children, ...props }, forwardedRef) => {
|
|
191
|
+
const { tx } = useThemeContext();
|
|
192
|
+
return (
|
|
193
|
+
<Column.Segment asChild>
|
|
194
|
+
<div role='none' {...props} className={tx('dialog.body')} ref={forwardedRef}>
|
|
195
|
+
{children}
|
|
196
|
+
</div>
|
|
197
|
+
</Column.Segment>
|
|
198
|
+
);
|
|
199
|
+
});
|
|
200
|
+
|
|
201
|
+
AlertDialogBody.displayName = ALERT_DIALOG_BODY_NAME;
|
|
202
|
+
|
|
203
|
+
//
|
|
204
|
+
// ActionBar
|
|
205
|
+
//
|
|
206
|
+
|
|
207
|
+
type AlertDialogActionBarProps = ThemedClassName<PropsWithChildren>;
|
|
208
|
+
|
|
209
|
+
const AlertDialogActionBar: ForwardRefExoticComponent<AlertDialogActionBarProps> = forwardRef<
|
|
210
|
+
HTMLDivElement,
|
|
211
|
+
AlertDialogActionBarProps
|
|
212
|
+
>(({ children, classNames, ...props }, forwardedRef) => {
|
|
213
|
+
const { tx } = useThemeContext();
|
|
214
|
+
return (
|
|
215
|
+
<Column.Segment asChild>
|
|
216
|
+
<div {...props} className={tx('dialog.actionbar', {}, classNames)} ref={forwardedRef}>
|
|
217
|
+
{children}
|
|
218
|
+
</div>
|
|
219
|
+
</Column.Segment>
|
|
220
|
+
);
|
|
221
|
+
});
|
|
222
|
+
|
|
223
|
+
AlertDialogActionBar.displayName = ALERT_DIALOG_ACTIONBAR_NAME;
|
|
224
|
+
|
|
225
|
+
//
|
|
226
|
+
// AlertDialog
|
|
227
|
+
//
|
|
228
|
+
|
|
150
229
|
export const AlertDialog = {
|
|
151
230
|
Root: AlertDialogRoot,
|
|
152
231
|
Trigger: AlertDialogTrigger,
|
|
153
232
|
Portal: AlertDialogPortal,
|
|
154
233
|
Overlay: AlertDialogOverlay,
|
|
155
234
|
Content: AlertDialogContent,
|
|
235
|
+
Body: AlertDialogBody,
|
|
156
236
|
Title: AlertDialogTitle,
|
|
157
237
|
Description: AlertDialogDescription,
|
|
238
|
+
ActionBar: AlertDialogActionBar,
|
|
158
239
|
Cancel: AlertDialogCancel,
|
|
159
240
|
Action: AlertDialogAction,
|
|
160
241
|
};
|
|
@@ -165,8 +246,10 @@ export type {
|
|
|
165
246
|
AlertDialogPortalProps,
|
|
166
247
|
AlertDialogOverlayProps,
|
|
167
248
|
AlertDialogContentProps,
|
|
249
|
+
AlertDialogBodyProps,
|
|
168
250
|
AlertDialogTitleProps,
|
|
169
251
|
AlertDialogDescriptionProps,
|
|
252
|
+
AlertDialogActionBarProps,
|
|
170
253
|
AlertDialogCancelProps,
|
|
171
254
|
AlertDialogActionProps,
|
|
172
255
|
};
|
|
@@ -9,6 +9,7 @@ import { faker } from '@dxos/random';
|
|
|
9
9
|
|
|
10
10
|
import { withTheme } from '../../testing';
|
|
11
11
|
import { Button } from '../Button';
|
|
12
|
+
import { Input } from '../Input';
|
|
12
13
|
|
|
13
14
|
import { Dialog, type DialogContentProps } from './Dialog';
|
|
14
15
|
|
|
@@ -18,12 +19,12 @@ type StoryProps = Pick<DialogContentProps, 'size'> &
|
|
|
18
19
|
description: string;
|
|
19
20
|
openTrigger: string;
|
|
20
21
|
closeTrigger: string;
|
|
21
|
-
blockAlign: '
|
|
22
|
+
blockAlign: 'start' | 'center';
|
|
22
23
|
}>;
|
|
23
24
|
|
|
24
25
|
const DefaultStory = ({ size, title, description, openTrigger, closeTrigger, blockAlign }: StoryProps) => {
|
|
25
26
|
return (
|
|
26
|
-
<Dialog.Root defaultOpen>
|
|
27
|
+
<Dialog.Root defaultOpen modal>
|
|
27
28
|
<Dialog.Trigger asChild>
|
|
28
29
|
<Button>{openTrigger}</Button>
|
|
29
30
|
</Dialog.Trigger>
|
|
@@ -37,10 +38,18 @@ const DefaultStory = ({ size, title, description, openTrigger, closeTrigger, blo
|
|
|
37
38
|
</Dialog.Close>
|
|
38
39
|
)}
|
|
39
40
|
</Dialog.Header>
|
|
40
|
-
<Dialog.
|
|
41
|
-
|
|
42
|
-
<
|
|
43
|
-
|
|
41
|
+
<Dialog.Body>
|
|
42
|
+
<Dialog.Description>{description}</Dialog.Description>
|
|
43
|
+
<Input.Root>
|
|
44
|
+
<Input.Label>Value</Input.Label>
|
|
45
|
+
<Input.TextInput placeholder='Enter value' />
|
|
46
|
+
</Input.Root>
|
|
47
|
+
</Dialog.Body>
|
|
48
|
+
<Dialog.ActionBar>
|
|
49
|
+
<Dialog.Close asChild>
|
|
50
|
+
<Button variant='primary'>{closeTrigger}</Button>
|
|
51
|
+
</Dialog.Close>
|
|
52
|
+
</Dialog.ActionBar>
|
|
44
53
|
</Dialog.Content>
|
|
45
54
|
</Dialog.Overlay>
|
|
46
55
|
</Dialog.Root>
|
|
@@ -48,25 +57,30 @@ const DefaultStory = ({ size, title, description, openTrigger, closeTrigger, blo
|
|
|
48
57
|
};
|
|
49
58
|
|
|
50
59
|
const meta = {
|
|
51
|
-
title: 'ui/react-ui-core/Dialog',
|
|
60
|
+
title: 'ui/react-ui-core/components/Dialog',
|
|
52
61
|
component: Dialog as any,
|
|
53
62
|
render: DefaultStory,
|
|
54
|
-
decorators: [withTheme],
|
|
55
|
-
parameters: {
|
|
56
|
-
chromatic: {
|
|
57
|
-
disableSnapshot: false,
|
|
58
|
-
},
|
|
59
|
-
},
|
|
63
|
+
decorators: [withTheme()],
|
|
60
64
|
} satisfies Meta<typeof DefaultStory>;
|
|
61
65
|
|
|
62
66
|
export default meta;
|
|
63
67
|
|
|
64
68
|
type Story = StoryObj<typeof meta>;
|
|
65
69
|
|
|
70
|
+
export const Default: Story = {
|
|
71
|
+
args: {
|
|
72
|
+
title: 'Dialog title',
|
|
73
|
+
description: faker.lorem.paragraph(1),
|
|
74
|
+
openTrigger: 'Open',
|
|
75
|
+
closeTrigger: 'Close',
|
|
76
|
+
blockAlign: 'start',
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
|
|
66
80
|
export const Small: Story = {
|
|
67
81
|
args: {
|
|
68
82
|
title: 'Dialog title',
|
|
69
|
-
description: faker.lorem.paragraph(
|
|
83
|
+
description: faker.lorem.paragraph(1),
|
|
70
84
|
openTrigger: 'Open',
|
|
71
85
|
closeTrigger: 'Close',
|
|
72
86
|
blockAlign: 'center',
|
|
@@ -77,7 +91,7 @@ export const Small: Story = {
|
|
|
77
91
|
export const Medium: Story = {
|
|
78
92
|
args: {
|
|
79
93
|
title: 'Dialog title',
|
|
80
|
-
description: faker.lorem.paragraph(
|
|
94
|
+
description: faker.lorem.paragraph(1),
|
|
81
95
|
openTrigger: 'Open',
|
|
82
96
|
closeTrigger: 'Close',
|
|
83
97
|
blockAlign: 'center',
|
|
@@ -95,3 +109,14 @@ export const Large: Story = {
|
|
|
95
109
|
size: 'lg',
|
|
96
110
|
},
|
|
97
111
|
};
|
|
112
|
+
|
|
113
|
+
export const ExtraLarge: Story = {
|
|
114
|
+
args: {
|
|
115
|
+
title: 'Dialog title',
|
|
116
|
+
description: faker.lorem.paragraph(2),
|
|
117
|
+
openTrigger: 'Open Dialog',
|
|
118
|
+
closeTrigger: 'Close',
|
|
119
|
+
blockAlign: 'center',
|
|
120
|
+
size: 'xl',
|
|
121
|
+
},
|
|
122
|
+
};
|