@dxos/react-ui 0.8.4-main.3c1ae3b → 0.8.4-main.3eb6e50203
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 +3198 -66
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +34 -45
- package/dist/lib/browser/testing/index.mjs.map +3 -3
- 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 +3198 -66
- 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 +34 -45
- package/dist/lib/node-esm/testing/index.mjs.map +3 -3
- 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.map +1 -1
- package/dist/types/src/components/Breadcrumb/Breadcrumb.d.ts.map +1 -1
- package/dist/types/src/components/Button/Button.d.ts +1 -1
- 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/ToggleGroup.d.ts +4 -4
- package/dist/types/src/components/Button/ToggleGroup.stories.d.ts +4 -4
- 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.map +1 -1
- package/dist/types/src/components/Dialog/Dialog.d.ts +23 -8
- package/dist/types/src/components/Dialog/Dialog.d.ts.map +1 -1
- package/dist/types/src/components/Dialog/Dialog.stories.d.ts +7 -5
- 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/Icon/Icon.d.ts +1 -1
- package/dist/types/src/components/Icon/Icon.d.ts.map +1 -1
- package/dist/types/src/components/Input/Input.d.ts +1 -1
- package/dist/types/src/components/Input/Input.d.ts.map +1 -1
- package/dist/types/src/components/Input/Input.stories.d.ts +2 -2
- 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 +8 -9
- package/dist/types/src/components/Main/Main.d.ts.map +1 -1
- package/dist/types/src/components/Main/Main.stories.d.ts.map +1 -1
- package/dist/types/src/components/{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 +1 -1
- package/dist/types/src/components/Menu/DropdownMenu.d.ts.map +1 -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 +1 -1
- package/dist/types/src/components/Message/Message.stories.d.ts.map +1 -1
- package/dist/types/src/components/Popover/Popover.d.ts +1 -1
- package/dist/types/src/components/Popover/Popover.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 +46 -8
- package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts.map +1 -1
- package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts +2 -2
- package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts.map +1 -1
- package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts +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 +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/Tag/Tag.d.ts +1 -1
- package/dist/types/src/components/Tag/Tag.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/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 +4 -4
- package/dist/types/src/components/Toast/Toast.d.ts.map +1 -1
- package/dist/types/src/components/Toolbar/Toolbar.d.ts +13 -12
- package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -1
- package/dist/types/src/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +3 -1
- 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/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/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/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/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 +37 -32
- package/src/components/AnchoredOverflow/AnchoredOverflow.tsx +10 -12
- package/src/components/Avatars/Avatar.stories.tsx +4 -4
- package/src/components/Avatars/Avatar.tsx +3 -10
- package/src/components/Avatars/AvatarGroup.stories.tsx +2 -2
- package/src/components/Breadcrumb/Breadcrumb.stories.tsx +2 -2
- package/src/components/Breadcrumb/Breadcrumb.tsx +5 -31
- package/src/components/Button/Button.stories.tsx +2 -2
- package/src/components/Button/Button.tsx +2 -8
- package/src/components/Button/IconButton.stories.tsx +2 -2
- package/src/components/Button/IconButton.tsx +5 -2
- package/src/components/Button/Toggle.stories.tsx +2 -2
- package/src/components/Button/ToggleGroup.stories.tsx +2 -2
- package/src/components/Clipboard/CopyButton.tsx +3 -3
- package/src/components/DensityProvider/DensityProvider.tsx +1 -1
- package/src/components/Dialog/AlertDialog.stories.tsx +2 -2
- package/src/components/Dialog/AlertDialog.tsx +3 -8
- package/src/components/Dialog/Dialog.stories.tsx +57 -23
- package/src/components/Dialog/Dialog.tsx +162 -43
- package/src/components/ElevationProvider/ElevationProvider.tsx +1 -1
- package/src/components/Icon/Icon.stories.tsx +3 -3
- package/src/components/Icon/Icon.tsx +2 -2
- package/src/components/Input/Input.stories.tsx +12 -11
- package/src/components/Input/Input.tsx +12 -27
- package/src/components/Link/Link.stories.tsx +2 -2
- package/src/components/Link/Link.tsx +1 -1
- package/src/components/List/List.stories.tsx +18 -14
- package/src/components/List/List.tsx +8 -14
- package/src/components/List/Tree.stories.tsx +2 -2
- package/src/components/List/Treegrid.stories.tsx +2 -2
- package/src/components/List/Treegrid.tsx +4 -9
- package/src/components/Main/Main.stories.tsx +41 -20
- package/src/components/Main/Main.tsx +128 -71
- package/src/components/{Menus → Menu}/ContextMenu.stories.tsx +2 -2
- package/src/components/{Menus → Menu}/ContextMenu.tsx +7 -31
- package/src/components/{Menus → Menu}/DropdownMenu.stories.tsx +2 -2
- package/src/components/{Menus → Menu}/DropdownMenu.tsx +65 -63
- package/src/components/Message/Message.stories.tsx +3 -3
- package/src/components/Message/Message.tsx +32 -23
- package/src/components/Popover/Popover.stories.tsx +2 -2
- package/src/components/Popover/Popover.tsx +38 -36
- package/src/components/ScrollArea/ScrollArea.stories.tsx +166 -40
- package/src/components/ScrollArea/ScrollArea.tsx +80 -82
- package/src/components/ScrollArea/index.ts +1 -1
- package/src/components/ScrollContainer/ScrollContainer.stories.tsx +2 -2
- package/src/components/ScrollContainer/ScrollContainer.tsx +14 -9
- package/src/components/Select/Select.stories.tsx +2 -2
- package/src/components/Select/Select.tsx +9 -25
- 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 +2 -2
- package/src/components/Status/Status.tsx +2 -2
- package/src/components/Tag/Tag.stories.tsx +4 -4
- package/src/components/Tag/Tag.tsx +2 -7
- package/src/components/ThemeProvider/ThemeProvider.tsx +3 -4
- 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 +6 -10
- package/src/components/Toolbar/Toolbar.stories.tsx +2 -2
- package/src/components/Toolbar/Toolbar.tsx +31 -12
- package/src/components/Tooltip/Tooltip.stories.tsx +2 -2
- package/src/components/Tooltip/Tooltip.tsx +24 -22
- package/src/components/index.ts +3 -1
- 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/index.ts +2 -1
- package/src/playground/Controls.stories.tsx +3 -4
- package/src/playground/Custom.stories.tsx +2 -2
- package/src/playground/Typography.stories.tsx +2 -2
- 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/withLayout.tsx +22 -15
- package/src/testing/decorators/withLayoutVariants.tsx +2 -2
- package/src/testing/decorators/withTheme.tsx +21 -18
- package/src/util/index.ts +2 -2
- package/dist/lib/browser/chunk-BFCXP6YC.mjs +0 -4710
- package/dist/lib/browser/chunk-BFCXP6YC.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-F4Z46DD6.mjs +0 -4712
- package/dist/lib/node-esm/chunk-F4Z46DD6.mjs.map +0 -7
- 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/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}/DropdownMenu.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
|
@@ -36,7 +36,7 @@ const ContextMenuContent = forwardRef<HTMLDivElement, ContextMenuContentProps>(
|
|
|
36
36
|
{...props}
|
|
37
37
|
data-arrow-keys='up down'
|
|
38
38
|
collisionPadding={safeCollisionPadding}
|
|
39
|
-
className={tx('menu.content',
|
|
39
|
+
className={tx('menu.content', { elevation }, classNames)}
|
|
40
40
|
ref={forwardedRef}
|
|
41
41
|
>
|
|
42
42
|
{children}
|
|
@@ -54,7 +54,7 @@ const ContextMenuViewport = forwardRef<HTMLDivElement, ContextMenuViewportProps>
|
|
|
54
54
|
const { tx } = useThemeContext();
|
|
55
55
|
const Root = asChild ? Slot : Primitive.div;
|
|
56
56
|
return (
|
|
57
|
-
<Root {...props} className={tx('menu.viewport',
|
|
57
|
+
<Root {...props} className={tx('menu.viewport', {}, classNames)} ref={forwardedRef}>
|
|
58
58
|
{children}
|
|
59
59
|
</Root>
|
|
60
60
|
);
|
|
@@ -65,13 +65,7 @@ type ContextMenuArrowProps = ThemedClassName<ContextMenuPrimitive.ContextMenuArr
|
|
|
65
65
|
|
|
66
66
|
const ContextMenuArrow = forwardRef<SVGSVGElement, ContextMenuArrowProps>(({ classNames, ...props }, forwardedRef) => {
|
|
67
67
|
const { tx } = useThemeContext();
|
|
68
|
-
return (
|
|
69
|
-
<ContextMenuPrimitive.Arrow
|
|
70
|
-
{...props}
|
|
71
|
-
className={tx('menu.arrow', 'menu__arrow', {}, classNames)}
|
|
72
|
-
ref={forwardedRef}
|
|
73
|
-
/>
|
|
74
|
-
);
|
|
68
|
+
return <ContextMenuPrimitive.Arrow {...props} className={tx('menu.arrow', {}, classNames)} ref={forwardedRef} />;
|
|
75
69
|
});
|
|
76
70
|
|
|
77
71
|
type ContextMenuGroupProps = ContextMenuPrimitive.ContextMenuGroupProps;
|
|
@@ -87,13 +81,7 @@ type ContextMenuItemProps = ThemedClassName<ContextMenuPrimitive.ContextMenuItem
|
|
|
87
81
|
const ContextMenuItem = forwardRef<HTMLDivElement, ContextMenuItemProps>(
|
|
88
82
|
({ classNames, ...props }: ContextMenuItemProps, forwardedRef) => {
|
|
89
83
|
const { tx } = useThemeContext();
|
|
90
|
-
return (
|
|
91
|
-
<ContextMenuPrimitive.Item
|
|
92
|
-
{...props}
|
|
93
|
-
className={tx('menu.item', 'menu__item', {}, classNames)}
|
|
94
|
-
ref={forwardedRef}
|
|
95
|
-
/>
|
|
96
|
-
);
|
|
84
|
+
return <ContextMenuPrimitive.Item {...props} className={tx('menu.item', {}, classNames)} ref={forwardedRef} />;
|
|
97
85
|
},
|
|
98
86
|
);
|
|
99
87
|
|
|
@@ -103,11 +91,7 @@ const ContextMenuCheckboxItem = forwardRef<HTMLDivElement, ContextMenuCheckboxIt
|
|
|
103
91
|
({ classNames, ...props }: ContextMenuItemProps, forwardedRef) => {
|
|
104
92
|
const { tx } = useThemeContext();
|
|
105
93
|
return (
|
|
106
|
-
<ContextMenuPrimitive.CheckboxItem
|
|
107
|
-
{...props}
|
|
108
|
-
className={tx('menu.item', 'menu__item--checkbox', {}, classNames)}
|
|
109
|
-
ref={forwardedRef}
|
|
110
|
-
/>
|
|
94
|
+
<ContextMenuPrimitive.CheckboxItem {...props} className={tx('menu.item', {}, classNames)} ref={forwardedRef} />
|
|
111
95
|
);
|
|
112
96
|
},
|
|
113
97
|
);
|
|
@@ -118,11 +102,7 @@ const ContextMenuSeparator = forwardRef<HTMLDivElement, ContextMenuSeparatorProp
|
|
|
118
102
|
({ classNames, ...props }, forwardedRef) => {
|
|
119
103
|
const { tx } = useThemeContext();
|
|
120
104
|
return (
|
|
121
|
-
<ContextMenuPrimitive.Separator
|
|
122
|
-
{...props}
|
|
123
|
-
className={tx('menu.separator', 'menu__item', {}, classNames)}
|
|
124
|
-
ref={forwardedRef}
|
|
125
|
-
/>
|
|
105
|
+
<ContextMenuPrimitive.Separator {...props} className={tx('menu.separator', {}, classNames)} ref={forwardedRef} />
|
|
126
106
|
);
|
|
127
107
|
},
|
|
128
108
|
);
|
|
@@ -133,11 +113,7 @@ const ContextMenuGroupLabel = forwardRef<HTMLDivElement, ContextMenuGroupLabelPr
|
|
|
133
113
|
({ classNames, ...props }, forwardedRef) => {
|
|
134
114
|
const { tx } = useThemeContext();
|
|
135
115
|
return (
|
|
136
|
-
<ContextMenuPrimitive.Label
|
|
137
|
-
{...props}
|
|
138
|
-
className={tx('menu.groupLabel', 'menu__group__label', {}, classNames)}
|
|
139
|
-
ref={forwardedRef}
|
|
140
|
-
/>
|
|
116
|
+
<ContextMenuPrimitive.Label {...props} className={tx('menu.groupLabel', {}, classNames)} ref={forwardedRef} />
|
|
141
117
|
);
|
|
142
118
|
},
|
|
143
119
|
);
|
|
@@ -92,10 +92,10 @@ const DefaultStory = () => {
|
|
|
92
92
|
};
|
|
93
93
|
|
|
94
94
|
const meta = {
|
|
95
|
-
title: 'ui/react-ui-core/DropdownMenu',
|
|
95
|
+
title: 'ui/react-ui-core/components/DropdownMenu',
|
|
96
96
|
component: DropdownMenu.Root,
|
|
97
97
|
render: DefaultStory,
|
|
98
|
-
decorators: [withTheme],
|
|
98
|
+
decorators: [withTheme()],
|
|
99
99
|
} satisfies Meta<typeof DefaultStory>;
|
|
100
100
|
|
|
101
101
|
export default meta;
|
|
@@ -35,9 +35,9 @@ import { type ThemedClassName } from '../../util';
|
|
|
35
35
|
|
|
36
36
|
type Direction = 'ltr' | 'rtl';
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
//
|
|
39
|
+
// DropdownMenu
|
|
40
|
+
//
|
|
41
41
|
|
|
42
42
|
const DROPDOWN_MENU_NAME = 'DropdownMenu';
|
|
43
43
|
|
|
@@ -97,9 +97,9 @@ const DropdownMenuRoot: FC<DropdownMenuRootProps> = (props: ScopedProps<Dropdown
|
|
|
97
97
|
|
|
98
98
|
DropdownMenuRoot.displayName = DROPDOWN_MENU_NAME;
|
|
99
99
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
100
|
+
//
|
|
101
|
+
// DropdownMenuTrigger
|
|
102
|
+
//
|
|
103
103
|
|
|
104
104
|
const TRIGGER_NAME = 'DropdownMenuTrigger';
|
|
105
105
|
|
|
@@ -162,9 +162,9 @@ const DropdownMenuTrigger = forwardRef<DropdownMenuTriggerElement, DropdownMenuT
|
|
|
162
162
|
|
|
163
163
|
DropdownMenuTrigger.displayName = TRIGGER_NAME;
|
|
164
164
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
165
|
+
//
|
|
166
|
+
// DropdownMenuVirtualTrigger
|
|
167
|
+
//
|
|
168
168
|
|
|
169
169
|
const VIRTUAL_TRIGGER_NAME = 'DropdownMenuVirtualTrigger';
|
|
170
170
|
|
|
@@ -186,9 +186,9 @@ const DropdownMenuVirtualTrigger = (props: ScopedProps<DropdownMenuVirtualTrigge
|
|
|
186
186
|
|
|
187
187
|
DropdownMenuVirtualTrigger.displayName = VIRTUAL_TRIGGER_NAME;
|
|
188
188
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
189
|
+
//
|
|
190
|
+
// DropdownMenuPortal
|
|
191
|
+
//
|
|
192
192
|
|
|
193
193
|
const PORTAL_NAME = 'DropdownMenuPortal';
|
|
194
194
|
|
|
@@ -203,9 +203,9 @@ const DropdownMenuPortal: FC<DropdownMenuPortalProps> = (props: ScopedProps<Drop
|
|
|
203
203
|
|
|
204
204
|
DropdownMenuPortal.displayName = PORTAL_NAME;
|
|
205
205
|
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
206
|
+
//
|
|
207
|
+
// DropdownMenuViewport
|
|
208
|
+
//
|
|
209
209
|
|
|
210
210
|
type DropdownMenuViewportProps = ThemedClassName<ComponentPropsWithRef<typeof Primitive.div>> & {
|
|
211
211
|
asChild?: boolean;
|
|
@@ -216,16 +216,16 @@ const DropdownMenuViewport = forwardRef<HTMLDivElement, DropdownMenuViewportProp
|
|
|
216
216
|
const { tx } = useThemeContext();
|
|
217
217
|
const Root = asChild ? Slot : Primitive.div;
|
|
218
218
|
return (
|
|
219
|
-
<Root {...props} className={tx('menu.viewport',
|
|
219
|
+
<Root {...props} className={tx('menu.viewport', {}, classNames)} ref={forwardedRef}>
|
|
220
220
|
{children}
|
|
221
221
|
</Root>
|
|
222
222
|
);
|
|
223
223
|
},
|
|
224
224
|
);
|
|
225
225
|
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
226
|
+
//
|
|
227
|
+
// DropdownMenuContent
|
|
228
|
+
//
|
|
229
229
|
|
|
230
230
|
const CONTENT_NAME = 'DropdownMenuContent';
|
|
231
231
|
|
|
@@ -283,7 +283,7 @@ const DropdownMenuContent = forwardRef<DropdownMenuContentElement, DropdownMenuC
|
|
|
283
283
|
}
|
|
284
284
|
})}
|
|
285
285
|
data-arrow-keys='up down'
|
|
286
|
-
className={tx('menu.content',
|
|
286
|
+
className={tx('menu.content', { elevation }, classNames)}
|
|
287
287
|
style={{
|
|
288
288
|
...props.style,
|
|
289
289
|
// re-namespace exposed content custom properties
|
|
@@ -302,9 +302,9 @@ const DropdownMenuContent = forwardRef<DropdownMenuContentElement, DropdownMenuC
|
|
|
302
302
|
|
|
303
303
|
DropdownMenuContent.displayName = CONTENT_NAME;
|
|
304
304
|
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
305
|
+
//
|
|
306
|
+
// DropdownMenuGroup
|
|
307
|
+
//
|
|
308
308
|
|
|
309
309
|
const GROUP_NAME = 'DropdownMenuGroup';
|
|
310
310
|
|
|
@@ -322,9 +322,9 @@ const DropdownMenuGroup = forwardRef<DropdownMenuGroupElement, DropdownMenuGroup
|
|
|
322
322
|
|
|
323
323
|
DropdownMenuGroup.displayName = GROUP_NAME;
|
|
324
324
|
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
325
|
+
//
|
|
326
|
+
// DropdownMenuLabel
|
|
327
|
+
//
|
|
328
328
|
|
|
329
329
|
const LABEL_NAME = 'DropdownMenuLabel';
|
|
330
330
|
|
|
@@ -341,7 +341,7 @@ const DropdownMenuGroupLabel = forwardRef<DropdownMenuLabelElement, DropdownMenu
|
|
|
341
341
|
<MenuPrimitive.Label
|
|
342
342
|
{...menuScope}
|
|
343
343
|
{...labelProps}
|
|
344
|
-
className={tx('menu.groupLabel',
|
|
344
|
+
className={tx('menu.groupLabel', {}, classNames)}
|
|
345
345
|
ref={forwardedRef}
|
|
346
346
|
/>
|
|
347
347
|
);
|
|
@@ -350,9 +350,9 @@ const DropdownMenuGroupLabel = forwardRef<DropdownMenuLabelElement, DropdownMenu
|
|
|
350
350
|
|
|
351
351
|
DropdownMenuGroupLabel.displayName = LABEL_NAME;
|
|
352
352
|
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
353
|
+
//
|
|
354
|
+
// DropdownMenuItem
|
|
355
|
+
//
|
|
356
356
|
|
|
357
357
|
const ITEM_NAME = 'DropdownMenuItem';
|
|
358
358
|
|
|
@@ -369,7 +369,7 @@ const DropdownMenuItem = forwardRef<DropdownMenuItemElement, DropdownMenuItemPro
|
|
|
369
369
|
<MenuPrimitive.Item
|
|
370
370
|
{...menuScope}
|
|
371
371
|
{...itemProps}
|
|
372
|
-
className={tx('menu.item',
|
|
372
|
+
className={tx('menu.item', {}, classNames)}
|
|
373
373
|
ref={forwardedRef}
|
|
374
374
|
/>
|
|
375
375
|
);
|
|
@@ -378,9 +378,9 @@ const DropdownMenuItem = forwardRef<DropdownMenuItemElement, DropdownMenuItemPro
|
|
|
378
378
|
|
|
379
379
|
DropdownMenuItem.displayName = ITEM_NAME;
|
|
380
380
|
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
381
|
+
//
|
|
382
|
+
// DropdownMenuCheckboxItem
|
|
383
|
+
//
|
|
384
384
|
|
|
385
385
|
const CHECKBOX_ITEM_NAME = 'DropdownMenuCheckboxItem';
|
|
386
386
|
|
|
@@ -397,7 +397,7 @@ const DropdownMenuCheckboxItem = forwardRef<DropdownMenuCheckboxItemElement, Dro
|
|
|
397
397
|
<MenuPrimitive.CheckboxItem
|
|
398
398
|
{...menuScope}
|
|
399
399
|
{...checkboxItemProps}
|
|
400
|
-
className={tx('menu.item',
|
|
400
|
+
className={tx('menu.item', {}, classNames)}
|
|
401
401
|
ref={forwardedRef}
|
|
402
402
|
/>
|
|
403
403
|
);
|
|
@@ -406,9 +406,9 @@ const DropdownMenuCheckboxItem = forwardRef<DropdownMenuCheckboxItemElement, Dro
|
|
|
406
406
|
|
|
407
407
|
DropdownMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;
|
|
408
408
|
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
409
|
+
//
|
|
410
|
+
// DropdownMenuRadioGroup
|
|
411
|
+
//
|
|
412
412
|
|
|
413
413
|
const RADIO_GROUP_NAME = 'DropdownMenuRadioGroup';
|
|
414
414
|
|
|
@@ -426,9 +426,9 @@ const DropdownMenuRadioGroup = forwardRef<DropdownMenuRadioGroupElement, Dropdow
|
|
|
426
426
|
|
|
427
427
|
DropdownMenuRadioGroup.displayName = RADIO_GROUP_NAME;
|
|
428
428
|
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
429
|
+
//
|
|
430
|
+
// DropdownMenuRadioItem
|
|
431
|
+
//
|
|
432
432
|
|
|
433
433
|
const RADIO_ITEM_NAME = 'DropdownMenuRadioItem';
|
|
434
434
|
|
|
@@ -445,7 +445,7 @@ const DropdownMenuRadioItem = forwardRef<DropdownMenuRadioItemElement, DropdownM
|
|
|
445
445
|
<MenuPrimitive.Item
|
|
446
446
|
{...menuScope}
|
|
447
447
|
{...itemProps}
|
|
448
|
-
className={tx('menu.item',
|
|
448
|
+
className={tx('menu.item', {}, classNames)}
|
|
449
449
|
ref={forwardedRef}
|
|
450
450
|
/>
|
|
451
451
|
);
|
|
@@ -454,9 +454,9 @@ const DropdownMenuRadioItem = forwardRef<DropdownMenuRadioItemElement, DropdownM
|
|
|
454
454
|
|
|
455
455
|
DropdownMenuRadioItem.displayName = RADIO_ITEM_NAME;
|
|
456
456
|
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
457
|
+
//
|
|
458
|
+
// DropdownMenuItemIndicator
|
|
459
|
+
//
|
|
460
460
|
|
|
461
461
|
const INDICATOR_NAME = 'DropdownMenuItemIndicator';
|
|
462
462
|
|
|
@@ -474,9 +474,9 @@ const DropdownMenuItemIndicator = forwardRef<DropdownMenuItemIndicatorElement, D
|
|
|
474
474
|
|
|
475
475
|
DropdownMenuItemIndicator.displayName = INDICATOR_NAME;
|
|
476
476
|
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
477
|
+
//
|
|
478
|
+
// DropdownMenuSeparator
|
|
479
|
+
//
|
|
480
480
|
|
|
481
481
|
const SEPARATOR_NAME = 'DropdownMenuSeparator';
|
|
482
482
|
|
|
@@ -493,7 +493,7 @@ const DropdownMenuSeparator = forwardRef<DropdownMenuSeparatorElement, DropdownM
|
|
|
493
493
|
<MenuPrimitive.Separator
|
|
494
494
|
{...menuScope}
|
|
495
495
|
{...separatorProps}
|
|
496
|
-
className={tx('menu.separator',
|
|
496
|
+
className={tx('menu.separator', {}, classNames)}
|
|
497
497
|
ref={forwardedRef}
|
|
498
498
|
/>
|
|
499
499
|
);
|
|
@@ -502,9 +502,9 @@ const DropdownMenuSeparator = forwardRef<DropdownMenuSeparatorElement, DropdownM
|
|
|
502
502
|
|
|
503
503
|
DropdownMenuSeparator.displayName = SEPARATOR_NAME;
|
|
504
504
|
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
505
|
+
//
|
|
506
|
+
// DropdownMenuArrow
|
|
507
|
+
//
|
|
508
508
|
|
|
509
509
|
const ARROW_NAME = 'DropdownMenuArrow';
|
|
510
510
|
|
|
@@ -521,7 +521,7 @@ const DropdownMenuArrow = forwardRef<DropdownMenuArrowElement, DropdownMenuArrow
|
|
|
521
521
|
<MenuPrimitive.Arrow
|
|
522
522
|
{...menuScope}
|
|
523
523
|
{...arrowProps}
|
|
524
|
-
className={tx('menu.arrow',
|
|
524
|
+
className={tx('menu.arrow', {}, classNames)}
|
|
525
525
|
ref={forwardedRef}
|
|
526
526
|
/>
|
|
527
527
|
);
|
|
@@ -530,9 +530,9 @@ const DropdownMenuArrow = forwardRef<DropdownMenuArrowElement, DropdownMenuArrow
|
|
|
530
530
|
|
|
531
531
|
DropdownMenuArrow.displayName = ARROW_NAME;
|
|
532
532
|
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
533
|
+
//
|
|
534
|
+
// DropdownMenuSub
|
|
535
|
+
//
|
|
536
536
|
|
|
537
537
|
interface DropdownMenuSubProps {
|
|
538
538
|
children?: ReactNode;
|
|
@@ -557,9 +557,9 @@ const DropdownMenuSub: FC<DropdownMenuSubProps> = (props: ScopedProps<DropdownMe
|
|
|
557
557
|
);
|
|
558
558
|
};
|
|
559
559
|
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
560
|
+
//
|
|
561
|
+
// DropdownMenuSubTrigger
|
|
562
|
+
//
|
|
563
563
|
|
|
564
564
|
const SUB_TRIGGER_NAME = 'DropdownMenuSubTrigger';
|
|
565
565
|
|
|
@@ -577,9 +577,9 @@ const DropdownMenuSubTrigger = forwardRef<DropdownMenuSubTriggerElement, Dropdow
|
|
|
577
577
|
|
|
578
578
|
DropdownMenuSubTrigger.displayName = SUB_TRIGGER_NAME;
|
|
579
579
|
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
580
|
+
//
|
|
581
|
+
// DropdownMenuSubContent
|
|
582
|
+
//
|
|
583
583
|
|
|
584
584
|
const SUB_CONTENT_NAME = 'DropdownMenuSubContent';
|
|
585
585
|
|
|
@@ -615,7 +615,9 @@ const DropdownMenuSubContent = forwardRef<DropdownMenuSubContentElement, Dropdow
|
|
|
615
615
|
|
|
616
616
|
DropdownMenuSubContent.displayName = SUB_CONTENT_NAME;
|
|
617
617
|
|
|
618
|
-
|
|
618
|
+
//
|
|
619
|
+
// DropdownMenu
|
|
620
|
+
//
|
|
619
621
|
|
|
620
622
|
export const DropdownMenu = {
|
|
621
623
|
Root: DropdownMenuRoot,
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import { type Meta, type StoryObj } from '@storybook/react-vite';
|
|
6
6
|
import React from 'react';
|
|
7
7
|
|
|
8
|
-
import { type MessageValence } from '@dxos/
|
|
8
|
+
import { type MessageValence } from '@dxos/ui-types';
|
|
9
9
|
|
|
10
10
|
import { withTheme } from '../../testing';
|
|
11
11
|
|
|
@@ -25,10 +25,10 @@ const DefaultStory = ({ valence, title, body }: StoryProps) => (
|
|
|
25
25
|
);
|
|
26
26
|
|
|
27
27
|
const meta = {
|
|
28
|
-
title: 'ui/react-ui-core/Callout',
|
|
28
|
+
title: 'ui/react-ui-core/components/Callout',
|
|
29
29
|
component: Callout.Root as any,
|
|
30
30
|
render: DefaultStory,
|
|
31
|
-
decorators: [withTheme],
|
|
31
|
+
decorators: [withTheme()],
|
|
32
32
|
parameters: { chromatic: { disableSnapshot: false } },
|
|
33
33
|
argTypes: {
|
|
34
34
|
valence: {
|
|
@@ -8,7 +8,7 @@ import { Slot } from '@radix-ui/react-slot';
|
|
|
8
8
|
import React, { type ComponentPropsWithRef, forwardRef } from 'react';
|
|
9
9
|
|
|
10
10
|
import { useId } from '@dxos/react-hooks';
|
|
11
|
-
import { type Elevation, type MessageValence } from '@dxos/
|
|
11
|
+
import { type Elevation, type MessageValence } from '@dxos/ui-types';
|
|
12
12
|
|
|
13
13
|
import { useElevationContext, useThemeContext } from '../../hooks';
|
|
14
14
|
import { type ThemedClassName } from '../../util';
|
|
@@ -31,9 +31,15 @@ type MessageRootProps = ThemedClassName<ComponentPropsWithRef<typeof Primitive.d
|
|
|
31
31
|
};
|
|
32
32
|
|
|
33
33
|
type MessageContextValue = { titleId?: string; descriptionId: string; valence: MessageValence };
|
|
34
|
+
|
|
34
35
|
const MESSAGE_NAME = 'Message';
|
|
36
|
+
|
|
35
37
|
const [MessageProvider, useMessageContext] = createContext<MessageContextValue>(MESSAGE_NAME);
|
|
36
38
|
|
|
39
|
+
//
|
|
40
|
+
// Root
|
|
41
|
+
//
|
|
42
|
+
|
|
37
43
|
const MessageRoot = forwardRef<HTMLDivElement, MessageRootProps>(
|
|
38
44
|
(
|
|
39
45
|
{
|
|
@@ -59,7 +65,7 @@ const MessageRoot = forwardRef<HTMLDivElement, MessageRootProps>(
|
|
|
59
65
|
<Root
|
|
60
66
|
role={valence === 'neutral' ? 'paragraph' : 'alert'}
|
|
61
67
|
{...props}
|
|
62
|
-
className={tx('message.root',
|
|
68
|
+
className={tx('message.root', { valence, elevation }, classNames)}
|
|
63
69
|
aria-labelledby={titleId}
|
|
64
70
|
aria-describedby={descriptionId}
|
|
65
71
|
ref={forwardedRef}
|
|
@@ -73,6 +79,10 @@ const MessageRoot = forwardRef<HTMLDivElement, MessageRootProps>(
|
|
|
73
79
|
|
|
74
80
|
MessageRoot.displayName = MESSAGE_NAME;
|
|
75
81
|
|
|
82
|
+
//
|
|
83
|
+
// Title
|
|
84
|
+
//
|
|
85
|
+
|
|
76
86
|
type MessageTitleProps = Omit<ThemedClassName<ComponentPropsWithRef<typeof Primitive.h2>>, 'id'> & {
|
|
77
87
|
asChild?: boolean;
|
|
78
88
|
icon?: string;
|
|
@@ -87,18 +97,9 @@ const MessageTitle = forwardRef<HTMLHeadingElement, MessageTitleProps>(
|
|
|
87
97
|
const Root = asChild ? Slot : Primitive.h2;
|
|
88
98
|
|
|
89
99
|
return (
|
|
90
|
-
<Root
|
|
91
|
-
{...props}
|
|
92
|
-
className={tx('message.title', 'message__title', {}, classNames)}
|
|
93
|
-
id={titleId}
|
|
94
|
-
ref={forwardedRef}
|
|
95
|
-
>
|
|
100
|
+
<Root {...props} className={tx('message.title', {}, classNames)} id={titleId} ref={forwardedRef}>
|
|
96
101
|
{!icon && valence === 'neutral' ? null : (
|
|
97
|
-
<Icon
|
|
98
|
-
size={5}
|
|
99
|
-
icon={icon ?? messageIcons[valence]}
|
|
100
|
-
classNames={tx('message.icon', 'message__icon', { valence })}
|
|
101
|
-
/>
|
|
102
|
+
<Icon size={5} icon={icon ?? messageIcons[valence]} classNames={tx('message.icon', { valence })} />
|
|
102
103
|
)}
|
|
103
104
|
<span>{children}</span>
|
|
104
105
|
</Root>
|
|
@@ -108,33 +109,41 @@ const MessageTitle = forwardRef<HTMLHeadingElement, MessageTitleProps>(
|
|
|
108
109
|
|
|
109
110
|
MessageTitle.displayName = MESSAGE_TITLE_NAME;
|
|
110
111
|
|
|
112
|
+
//
|
|
113
|
+
// Content
|
|
114
|
+
//
|
|
115
|
+
|
|
111
116
|
type MessageContentProps = Omit<ThemedClassName<ComponentPropsWithRef<typeof Primitive.h2>>, 'id'> & {
|
|
112
117
|
asChild?: boolean;
|
|
113
118
|
};
|
|
114
119
|
|
|
115
|
-
const
|
|
120
|
+
const MESSAGE_CONTENT_NAME = 'MessageContent';
|
|
116
121
|
|
|
117
122
|
const MessageContent = forwardRef<HTMLParagraphElement, MessageContentProps>(
|
|
118
123
|
({ asChild, classNames, children, ...props }, forwardedRef) => {
|
|
119
124
|
const { tx } = useThemeContext();
|
|
120
|
-
const { descriptionId } = useMessageContext(
|
|
125
|
+
const { descriptionId } = useMessageContext(MESSAGE_CONTENT_NAME);
|
|
121
126
|
const Root = asChild ? Slot : Primitive.p;
|
|
122
127
|
return (
|
|
123
|
-
<Root
|
|
124
|
-
{...props}
|
|
125
|
-
className={tx('message.content', 'message__content', {}, classNames)}
|
|
126
|
-
id={descriptionId}
|
|
127
|
-
ref={forwardedRef}
|
|
128
|
-
>
|
|
128
|
+
<Root {...props} className={tx('message.content', {}, classNames)} id={descriptionId} ref={forwardedRef}>
|
|
129
129
|
{children}
|
|
130
130
|
</Root>
|
|
131
131
|
);
|
|
132
132
|
},
|
|
133
133
|
);
|
|
134
134
|
|
|
135
|
-
MessageContent.displayName =
|
|
135
|
+
MessageContent.displayName = MESSAGE_CONTENT_NAME;
|
|
136
|
+
|
|
137
|
+
//
|
|
138
|
+
// Message
|
|
139
|
+
//
|
|
140
|
+
|
|
141
|
+
export const Message = {
|
|
142
|
+
Root: MessageRoot,
|
|
143
|
+
Title: MessageTitle,
|
|
144
|
+
Content: MessageContent,
|
|
145
|
+
};
|
|
136
146
|
|
|
137
|
-
export const Message = { Root: MessageRoot, Title: MessageTitle, Content: MessageContent };
|
|
138
147
|
export const Callout = Message;
|
|
139
148
|
|
|
140
149
|
export type { MessageRootProps, MessageTitleProps, MessageContentProps };
|
|
@@ -29,10 +29,10 @@ const DefaultStory = ({ openTrigger, children }: PropsWithChildren<{ openTrigger
|
|
|
29
29
|
};
|
|
30
30
|
|
|
31
31
|
const meta = {
|
|
32
|
-
title: 'ui/react-ui-core/Popover',
|
|
32
|
+
title: 'ui/react-ui-core/components/Popover',
|
|
33
33
|
component: Popover.Root,
|
|
34
34
|
render: DefaultStory,
|
|
35
|
-
decorators: [withTheme],
|
|
35
|
+
decorators: [withTheme()],
|
|
36
36
|
} satisfies Meta<typeof DefaultStory>;
|
|
37
37
|
|
|
38
38
|
export default meta;
|