@dxos/react-ui 0.8.4-main.e8ec1fe → 0.8.4-main.ef1bc66f44
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-EJYV4HAH.mjs +774 -0
- package/dist/lib/browser/chunk-EJYV4HAH.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +3197 -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-YTLZCZ2M.mjs +776 -0
- package/dist/lib/node-esm/chunk-YTLZCZ2M.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +3197 -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/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 +2 -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/Dialog.d.ts +24 -9
- 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 +5 -2
- 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/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 +3 -4
- 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 +4 -2
- package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts.map +1 -1
- package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts +2 -1
- package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/Select/Select.d.ts +9 -9
- package/dist/types/src/components/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/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 +8 -0
- package/src/components/Avatars/Avatar.stories.tsx +4 -4
- package/src/components/Avatars/Avatar.tsx +1 -1
- package/src/components/Avatars/AvatarGroup.stories.tsx +2 -2
- package/src/components/Breadcrumb/Breadcrumb.stories.tsx +2 -2
- package/src/components/Button/Button.stories.tsx +2 -2
- package/src/components/Button/Button.tsx +1 -1
- package/src/components/Button/IconButton.stories.tsx +2 -2
- package/src/components/Button/IconButton.tsx +8 -3
- 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/Dialog.stories.tsx +57 -23
- package/src/components/Dialog/Dialog.tsx +181 -40
- package/src/components/ElevationProvider/ElevationProvider.tsx +1 -1
- package/src/components/Icon/Icon.stories.tsx +3 -3
- package/src/components/Icon/Icon.tsx +1 -1
- package/src/components/Input/Input.stories.tsx +12 -11
- package/src/components/Input/Input.tsx +13 -5
- package/src/components/Link/Link.stories.tsx +2 -2
- package/src/components/List/List.stories.tsx +18 -14
- package/src/components/List/List.tsx +1 -1
- package/src/components/List/Tree.stories.tsx +2 -2
- package/src/components/List/Treegrid.stories.tsx +2 -2
- package/src/components/List/Treegrid.tsx +1 -1
- package/src/components/Main/Main.stories.tsx +41 -20
- package/src/components/Main/Main.tsx +92 -45
- package/src/components/{Menus → Menu}/ContextMenu.stories.tsx +2 -2
- package/src/components/{Menus → Menu}/DropdownMenu.stories.tsx +2 -2
- package/src/components/{Menus → Menu}/DropdownMenu.tsx +61 -57
- package/src/components/Message/Message.stories.tsx +3 -3
- package/src/components/Message/Message.tsx +30 -5
- package/src/components/Popover/Popover.stories.tsx +2 -2
- package/src/components/Popover/Popover.tsx +35 -33
- package/src/components/ScrollArea/ScrollArea.stories.tsx +166 -40
- package/src/components/ScrollArea/ScrollArea.tsx +86 -80
- package/src/components/ScrollArea/index.ts +1 -1
- package/src/components/ScrollContainer/ScrollContainer.stories.tsx +3 -2
- package/src/components/ScrollContainer/ScrollContainer.tsx +99 -92
- package/src/components/Select/Select.stories.tsx +2 -2
- 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/Tag/Tag.stories.tsx +4 -4
- package/src/components/Tag/Tag.tsx +1 -1
- package/src/components/ThemeProvider/ThemeProvider.tsx +2 -3
- 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/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 +22 -20
- 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 +82 -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 +3 -3
- package/src/testing/decorators/withTheme.tsx +21 -18
- package/src/util/index.ts +2 -2
- package/dist/lib/browser/chunk-53MI2QCM.mjs +0 -4707
- package/dist/lib/browser/chunk-53MI2QCM.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-ID67AFFF.mjs +0 -4709
- package/dist/lib/node-esm/chunk-ID67AFFF.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}/ContextMenu.tsx +0 -0
- /package/src/components/{Menus → Menu}/index.ts +0 -0
package/package.json
CHANGED
|
@@ -1,25 +1,29 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/react-ui",
|
|
3
|
-
"version": "0.8.4-main.
|
|
3
|
+
"version": "0.8.4-main.ef1bc66f44",
|
|
4
4
|
"description": "Low-level React components for DXOS, applying a theme to a core group of primitives",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "https://github.com/dxos/dxos"
|
|
10
|
+
},
|
|
7
11
|
"license": "MIT",
|
|
8
12
|
"author": "DXOS.org",
|
|
9
|
-
"sideEffects":
|
|
13
|
+
"sideEffects": false,
|
|
10
14
|
"type": "module",
|
|
11
15
|
"exports": {
|
|
12
16
|
".": {
|
|
13
|
-
"source": "./src/index.ts",
|
|
14
|
-
"types": "./dist/types/src/index.d.ts",
|
|
15
17
|
"browser": "./dist/lib/browser/index.mjs",
|
|
16
|
-
"node": "./dist/lib/node-esm/index.mjs"
|
|
18
|
+
"node": "./dist/lib/node-esm/index.mjs",
|
|
19
|
+
"source": "./src/index.ts",
|
|
20
|
+
"types": "./dist/types/src/index.d.ts"
|
|
17
21
|
},
|
|
18
22
|
"./testing": {
|
|
19
|
-
"source": "./src/testing/index.ts",
|
|
20
|
-
"types": "./dist/types/src/testing/index.d.ts",
|
|
21
23
|
"browser": "./dist/lib/browser/testing/index.mjs",
|
|
22
|
-
"node": "./dist/lib/node-esm/testing/index.mjs"
|
|
24
|
+
"node": "./dist/lib/node-esm/testing/index.mjs",
|
|
25
|
+
"source": "./src/testing/index.ts",
|
|
26
|
+
"types": "./dist/types/src/testing/index.d.ts"
|
|
23
27
|
}
|
|
24
28
|
},
|
|
25
29
|
"types": "dist/types/src/index.d.ts",
|
|
@@ -35,9 +39,9 @@
|
|
|
35
39
|
"src"
|
|
36
40
|
],
|
|
37
41
|
"dependencies": {
|
|
38
|
-
"@atlaskit/pragmatic-drag-and-drop-hitbox": "
|
|
39
|
-
"@
|
|
40
|
-
"@
|
|
42
|
+
"@atlaskit/pragmatic-drag-and-drop-hitbox": "1.1.0",
|
|
43
|
+
"@effect-atom/atom-react": "^0.5.0",
|
|
44
|
+
"@fluentui/react-tabster": "9.26.11",
|
|
41
45
|
"@radix-ui/primitive": "1.1.1",
|
|
42
46
|
"@radix-ui/react-alert-dialog": "1.1.6",
|
|
43
47
|
"@radix-ui/react-avatar": "1.1.3",
|
|
@@ -74,35 +78,36 @@
|
|
|
74
78
|
"keyborg": "^2.5.0",
|
|
75
79
|
"react-i18next": "^11.18.6",
|
|
76
80
|
"react-remove-scroll": "^2.6.0",
|
|
77
|
-
"@dxos/
|
|
78
|
-
"@dxos/
|
|
79
|
-
"@dxos/
|
|
80
|
-
"@dxos/
|
|
81
|
-
"@dxos/
|
|
82
|
-
"@dxos/
|
|
83
|
-
"@dxos/react-
|
|
84
|
-
"@dxos/
|
|
85
|
-
"@dxos/react-
|
|
86
|
-
"@dxos/util": "0.8.4-main.
|
|
81
|
+
"@dxos/debug": "0.8.4-main.ef1bc66f44",
|
|
82
|
+
"@dxos/invariant": "0.8.4-main.ef1bc66f44",
|
|
83
|
+
"@dxos/async": "0.8.4-main.ef1bc66f44",
|
|
84
|
+
"@dxos/lit-ui": "0.8.4-main.ef1bc66f44",
|
|
85
|
+
"@dxos/react-hooks": "0.8.4-main.ef1bc66f44",
|
|
86
|
+
"@dxos/log": "0.8.4-main.ef1bc66f44",
|
|
87
|
+
"@dxos/react-input": "0.8.4-main.ef1bc66f44",
|
|
88
|
+
"@dxos/ui-types": "0.8.4-main.ef1bc66f44",
|
|
89
|
+
"@dxos/react-list": "0.8.4-main.ef1bc66f44",
|
|
90
|
+
"@dxos/util": "0.8.4-main.ef1bc66f44"
|
|
87
91
|
},
|
|
88
92
|
"devDependencies": {
|
|
89
93
|
"@dnd-kit/core": "^6.0.5",
|
|
90
94
|
"@dnd-kit/sortable": "^7.0.1",
|
|
91
95
|
"@dnd-kit/utilities": "^3.2.0",
|
|
92
|
-
"@phosphor-icons/react": "
|
|
93
|
-
"@types/react": "~19.2.
|
|
94
|
-
"@types/react-dom": "~19.2.
|
|
95
|
-
"react": "~19.2.
|
|
96
|
-
"react-dom": "~19.2.
|
|
96
|
+
"@phosphor-icons/react": "2.1.10",
|
|
97
|
+
"@types/react": "~19.2.7",
|
|
98
|
+
"@types/react-dom": "~19.2.3",
|
|
99
|
+
"react": "~19.2.3",
|
|
100
|
+
"react-dom": "~19.2.3",
|
|
101
|
+
"tabster": "^8.5.5",
|
|
97
102
|
"vite": "7.1.9",
|
|
98
|
-
"@dxos/random": "0.8.4-main.
|
|
99
|
-
"@dxos/
|
|
100
|
-
"@dxos/util": "0.8.4-main.
|
|
103
|
+
"@dxos/random": "0.8.4-main.ef1bc66f44",
|
|
104
|
+
"@dxos/ui-theme": "0.8.4-main.ef1bc66f44",
|
|
105
|
+
"@dxos/util": "0.8.4-main.ef1bc66f44"
|
|
101
106
|
},
|
|
102
107
|
"peerDependencies": {
|
|
103
|
-
"react": "
|
|
104
|
-
"react-dom": "
|
|
105
|
-
"@dxos/
|
|
108
|
+
"react": "~19.2.3",
|
|
109
|
+
"react-dom": "~19.2.3",
|
|
110
|
+
"@dxos/ui-theme": "0.8.4-main.ef1bc66f44"
|
|
106
111
|
},
|
|
107
112
|
"publishConfig": {
|
|
108
113
|
"access": "public"
|
|
@@ -51,6 +51,14 @@ const AnchoredOverflowAnchor = forwardRef<HTMLDivElement, AnchoredOverflowAnchor
|
|
|
51
51
|
},
|
|
52
52
|
);
|
|
53
53
|
|
|
54
|
+
/**
|
|
55
|
+
* This component leverages the CSS https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-anchor property to prevent unwanted scroll jumps when content is dynamically
|
|
56
|
+
* added above the viewport. This is particularly useful for:
|
|
57
|
+
* - Chat applications where new messages are prepended to the list.
|
|
58
|
+
* - Notification feeds where new items appear at the top.
|
|
59
|
+
* - Any scenario where content is inserted at the start of a scrollable container.
|
|
60
|
+
*/
|
|
61
|
+
// TODO(burdon): Move into container?
|
|
54
62
|
export const AnchoredOverflow = {
|
|
55
63
|
Root: AnchoredOverflowRoot,
|
|
56
64
|
Anchor: AnchoredOverflowAnchor,
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
import { type Meta } from '@storybook/react-vite';
|
|
6
6
|
import React, { type PropsWithChildren } from 'react';
|
|
7
7
|
|
|
8
|
-
import { type HuePalette } from '@dxos/
|
|
9
|
-
import { type Size } from '@dxos/
|
|
8
|
+
import { type HuePalette } from '@dxos/ui-theme';
|
|
9
|
+
import { type Size } from '@dxos/ui-types';
|
|
10
10
|
import { hexToFallback } from '@dxos/util';
|
|
11
11
|
|
|
12
12
|
import { withTheme } from '../../testing';
|
|
@@ -57,9 +57,9 @@ const DefaultStory = (props: StoryProps) => {
|
|
|
57
57
|
};
|
|
58
58
|
|
|
59
59
|
const meta = {
|
|
60
|
-
title: 'ui/react-ui-core/Avatar',
|
|
60
|
+
title: 'ui/react-ui-core/components/Avatar',
|
|
61
61
|
component: Avatar.Root,
|
|
62
|
-
decorators: [withTheme],
|
|
62
|
+
decorators: [withTheme()],
|
|
63
63
|
} satisfies Meta<typeof Avatar.Root>;
|
|
64
64
|
|
|
65
65
|
export default meta;
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
} from '@dxos/lit-ui';
|
|
18
18
|
import { DxAvatar } from '@dxos/lit-ui/react';
|
|
19
19
|
import { useId } from '@dxos/react-hooks';
|
|
20
|
-
import { mx } from '@dxos/
|
|
20
|
+
import { mx } from '@dxos/ui-theme';
|
|
21
21
|
|
|
22
22
|
import { useIconHref, useThemeContext } from '../../hooks';
|
|
23
23
|
import { type ThemedClassName } from '../../util';
|
|
@@ -38,9 +38,9 @@ const DefaultStory = () => {
|
|
|
38
38
|
};
|
|
39
39
|
|
|
40
40
|
const meta = {
|
|
41
|
-
title: 'ui/react-ui-core/AvatarGroup',
|
|
41
|
+
title: 'ui/react-ui-core/components/AvatarGroup',
|
|
42
42
|
render: DefaultStory,
|
|
43
|
-
decorators: [withTheme],
|
|
43
|
+
decorators: [withTheme()],
|
|
44
44
|
} satisfies Meta<typeof DefaultStory>;
|
|
45
45
|
|
|
46
46
|
export default meta;
|
|
@@ -39,10 +39,10 @@ const DefaultStory = (props: BreadcrumbRootProps) => {
|
|
|
39
39
|
};
|
|
40
40
|
|
|
41
41
|
const meta = {
|
|
42
|
-
title: 'ui/react-ui-core/Breadcrumb',
|
|
42
|
+
title: 'ui/react-ui-core/components/Breadcrumb',
|
|
43
43
|
component: Breadcrumb.Root as any,
|
|
44
44
|
render: DefaultStory,
|
|
45
|
-
decorators: [withTheme],
|
|
45
|
+
decorators: [withTheme()],
|
|
46
46
|
} satisfies Meta<typeof DefaultStory>;
|
|
47
47
|
|
|
48
48
|
export default meta;
|
|
@@ -33,10 +33,10 @@ const DefaultStory = ({ children, ...args }: Omit<ButtonProps, 'ref'>) => {
|
|
|
33
33
|
};
|
|
34
34
|
|
|
35
35
|
const meta = {
|
|
36
|
-
title: 'ui/react-ui-core/Button',
|
|
36
|
+
title: 'ui/react-ui-core/components/Button',
|
|
37
37
|
component: Button,
|
|
38
38
|
render: DefaultStory,
|
|
39
|
-
decorators: [withTheme, withLayoutVariants()],
|
|
39
|
+
decorators: [withTheme(), withLayoutVariants()],
|
|
40
40
|
} satisfies Meta<typeof Button>;
|
|
41
41
|
|
|
42
42
|
export default meta;
|
|
@@ -7,7 +7,7 @@ import { Primitive } from '@radix-ui/react-primitive';
|
|
|
7
7
|
import { Slot } from '@radix-ui/react-slot';
|
|
8
8
|
import React, { type ComponentPropsWithRef, forwardRef, memo } from 'react';
|
|
9
9
|
|
|
10
|
-
import { type Density, type Elevation } from '@dxos/
|
|
10
|
+
import { type Density, type Elevation } from '@dxos/ui-types';
|
|
11
11
|
|
|
12
12
|
import { useDensityContext, useElevationContext, useThemeContext } from '../../hooks';
|
|
13
13
|
import { type ThemedClassName } from '../../util';
|
|
@@ -24,10 +24,10 @@ const DefaultStory = (props: IconButtonProps) => {
|
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
const meta = {
|
|
27
|
-
title: 'ui/react-ui-core/IconButton',
|
|
27
|
+
title: 'ui/react-ui-core/components/IconButton',
|
|
28
28
|
component: IconButton,
|
|
29
29
|
render: DefaultStory as any,
|
|
30
|
-
decorators: [withTheme],
|
|
30
|
+
decorators: [withTheme()],
|
|
31
31
|
} satisfies Meta<typeof IconButton>;
|
|
32
32
|
|
|
33
33
|
export default meta;
|
|
@@ -14,9 +14,10 @@ import { Button, type ButtonProps } from './Button';
|
|
|
14
14
|
type IconButtonProps = Omit<ButtonProps, 'children'> &
|
|
15
15
|
Partial<Pick<IconProps, 'icon' | 'size'>> & {
|
|
16
16
|
label: string;
|
|
17
|
-
iconOnly?: boolean;
|
|
18
17
|
noTooltip?: boolean;
|
|
19
18
|
caretDown?: boolean;
|
|
19
|
+
iconOnly?: boolean;
|
|
20
|
+
iconEnd?: boolean;
|
|
20
21
|
iconClassNames?: ThemedClassName<any>['classNames'];
|
|
21
22
|
tooltipSide?: TooltipSide;
|
|
22
23
|
};
|
|
@@ -45,12 +46,16 @@ const IconOnlyButton = forwardRef<HTMLButtonElement, IconButtonProps>(
|
|
|
45
46
|
|
|
46
47
|
// TODO(burdon): Inherit size from container/density.
|
|
47
48
|
const LabelledIconButton = forwardRef<HTMLButtonElement, IconButtonProps>(
|
|
48
|
-
(
|
|
49
|
+
(
|
|
50
|
+
{ size = 5, icon, iconOnly, iconEnd, iconClassNames, label, caretDown, noTooltip: _, classNames, ...props },
|
|
51
|
+
forwardedRef,
|
|
52
|
+
) => {
|
|
49
53
|
const { tx } = useThemeContext();
|
|
50
54
|
return (
|
|
51
55
|
<Button {...props} classNames={tx('iconButton.root', 'iconButton', { iconOnly }, classNames)} ref={forwardedRef}>
|
|
52
|
-
{icon && <Icon icon={icon} size={size} classNames={iconClassNames} />}
|
|
56
|
+
{icon && !iconEnd && <Icon icon={icon} size={size} classNames={iconClassNames} />}
|
|
53
57
|
<span className={iconOnly ? 'sr-only' : undefined}>{label}</span>
|
|
58
|
+
{icon && iconEnd && <Icon icon={icon} size={size} classNames={iconClassNames} />}
|
|
54
59
|
{caretDown && <Icon size={3} icon='ph--caret-down--bold' />}
|
|
55
60
|
</Button>
|
|
56
61
|
);
|
|
@@ -19,10 +19,10 @@ const DefaultStory = (props: ToggleProps) => {
|
|
|
19
19
|
};
|
|
20
20
|
|
|
21
21
|
const meta = {
|
|
22
|
-
title: 'ui/react-ui-core/Toggle',
|
|
22
|
+
title: 'ui/react-ui-core/components/Toggle',
|
|
23
23
|
component: Toggle,
|
|
24
24
|
render: DefaultStory,
|
|
25
|
-
decorators: [withTheme],
|
|
25
|
+
decorators: [withTheme()],
|
|
26
26
|
parameters: {
|
|
27
27
|
layout: 'centered',
|
|
28
28
|
},
|
|
@@ -25,10 +25,10 @@ const DefaultStory = (props: ToggleGroupProps) => {
|
|
|
25
25
|
};
|
|
26
26
|
|
|
27
27
|
const meta = {
|
|
28
|
-
title: 'ui/react-ui-core/ToggleGroup',
|
|
28
|
+
title: 'ui/react-ui-core/components/ToggleGroup',
|
|
29
29
|
component: ToggleGroup,
|
|
30
30
|
render: DefaultStory,
|
|
31
|
-
decorators: [withTheme],
|
|
31
|
+
decorators: [withTheme()],
|
|
32
32
|
} satisfies Meta<typeof ToggleGroup>;
|
|
33
33
|
|
|
34
34
|
export default meta;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
import React from 'react';
|
|
6
6
|
|
|
7
|
-
import { mx } from '@dxos/
|
|
7
|
+
import { mx, osTranslations } from '@dxos/ui-theme';
|
|
8
8
|
|
|
9
9
|
import { Button, type ButtonProps, IconButton } from '../Button';
|
|
10
10
|
import { Icon, type IconProps } from '../Icon';
|
|
@@ -21,7 +21,7 @@ export type CopyButtonProps = ButtonProps &
|
|
|
21
21
|
const inactiveLabelStyles = 'invisible bs-px -mbe-px overflow-hidden';
|
|
22
22
|
|
|
23
23
|
export const CopyButton = ({ classNames, value, size = 5, ...props }: CopyButtonProps) => {
|
|
24
|
-
const { t } = useTranslation(
|
|
24
|
+
const { t } = useTranslation(osTranslations);
|
|
25
25
|
const { textValue, setTextValue } = useClipboard();
|
|
26
26
|
const isCopied = textValue === value;
|
|
27
27
|
return (
|
|
@@ -55,7 +55,7 @@ export const CopyButtonIconOnly = ({
|
|
|
55
55
|
variant,
|
|
56
56
|
...props
|
|
57
57
|
}: TooltipScopedProps<CopyButtonIconOnlyProps>) => {
|
|
58
|
-
const { t } = useTranslation(
|
|
58
|
+
const { t } = useTranslation(osTranslations);
|
|
59
59
|
const { textValue, setTextValue } = useClipboard();
|
|
60
60
|
const isCopied = textValue === value;
|
|
61
61
|
const label = isCopied ? t('copy success label') : (props.label ?? t('copy label'));
|
|
@@ -47,10 +47,10 @@ const DefaultStory = ({ title, description, body, openTrigger, cancelTrigger, ac
|
|
|
47
47
|
};
|
|
48
48
|
|
|
49
49
|
const meta = {
|
|
50
|
-
title: 'ui/react-ui-core/AlertDialog',
|
|
50
|
+
title: 'ui/react-ui-core/components/AlertDialog',
|
|
51
51
|
component: AlertDialog.Root as any,
|
|
52
52
|
render: DefaultStory as any,
|
|
53
|
-
decorators: [withTheme],
|
|
53
|
+
decorators: [withTheme()],
|
|
54
54
|
} satisfies Meta<typeof DefaultStory>;
|
|
55
55
|
|
|
56
56
|
export default meta;
|
|
@@ -5,34 +5,46 @@
|
|
|
5
5
|
import { type Meta, type StoryObj } from '@storybook/react-vite';
|
|
6
6
|
import React from 'react';
|
|
7
7
|
|
|
8
|
+
import { faker } from '@dxos/random';
|
|
9
|
+
|
|
8
10
|
import { withTheme } from '../../testing';
|
|
9
11
|
import { Button } from '../Button';
|
|
10
12
|
|
|
11
|
-
import { Dialog } from './Dialog';
|
|
13
|
+
import { Dialog, type DialogContentProps } from './Dialog';
|
|
12
14
|
|
|
13
|
-
type StoryProps =
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}>;
|
|
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
|
+
}>;
|
|
21
23
|
|
|
22
|
-
const DefaultStory = ({
|
|
24
|
+
const DefaultStory = ({ size, title, description, openTrigger, closeTrigger, blockAlign }: StoryProps) => {
|
|
23
25
|
return (
|
|
24
26
|
<Dialog.Root defaultOpen>
|
|
25
27
|
<Dialog.Trigger asChild>
|
|
26
28
|
<Button>{openTrigger}</Button>
|
|
27
29
|
</Dialog.Trigger>
|
|
28
30
|
<Dialog.Overlay blockAlign={blockAlign}>
|
|
29
|
-
<Dialog.Content>
|
|
30
|
-
<Dialog.
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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>
|
|
36
48
|
</Dialog.Content>
|
|
37
49
|
</Dialog.Overlay>
|
|
38
50
|
</Dialog.Root>
|
|
@@ -40,10 +52,10 @@ const DefaultStory = ({ title, openTrigger, description, body, closeTrigger, blo
|
|
|
40
52
|
};
|
|
41
53
|
|
|
42
54
|
const meta = {
|
|
43
|
-
title: 'ui/react-ui-core/Dialog',
|
|
55
|
+
title: 'ui/react-ui-core/components/Dialog',
|
|
44
56
|
component: Dialog as any,
|
|
45
57
|
render: DefaultStory,
|
|
46
|
-
decorators: [withTheme],
|
|
58
|
+
decorators: [withTheme()],
|
|
47
59
|
parameters: {
|
|
48
60
|
chromatic: {
|
|
49
61
|
disableSnapshot: false,
|
|
@@ -55,13 +67,35 @@ export default meta;
|
|
|
55
67
|
|
|
56
68
|
type Story = StoryObj<typeof meta>;
|
|
57
69
|
|
|
58
|
-
export const
|
|
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 = {
|
|
59
93
|
args: {
|
|
60
94
|
title: 'Dialog title',
|
|
95
|
+
description: faker.lorem.paragraph(2),
|
|
61
96
|
openTrigger: 'Open Dialog',
|
|
62
|
-
|
|
63
|
-
body: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',
|
|
64
|
-
closeTrigger: 'Close trigger',
|
|
97
|
+
closeTrigger: 'Close',
|
|
65
98
|
blockAlign: 'center',
|
|
99
|
+
size: 'lg',
|
|
66
100
|
},
|
|
67
101
|
};
|