@dxos/ui-theme 0.8.4-main.c85a9c8dae → 0.8.4-main.d05539e30a
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/LICENSE +102 -5
- package/README.md +1 -1
- package/dist/lib/browser/index.mjs +423 -499
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +423 -499
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/plugin/node-cjs/{theme.css → main.css} +204 -125
- package/dist/plugin/node-cjs/main.css.map +7 -0
- package/dist/plugin/node-cjs/meta.json +1 -1
- package/dist/plugin/node-cjs/plugins/ThemePlugin.cjs +8 -15
- package/dist/plugin/node-cjs/plugins/ThemePlugin.cjs.map +3 -3
- package/dist/plugin/node-esm/{theme.css → main.css} +204 -125
- package/dist/plugin/node-esm/main.css.map +7 -0
- package/dist/plugin/node-esm/meta.json +1 -1
- package/dist/plugin/node-esm/plugins/ThemePlugin.mjs +8 -15
- package/dist/plugin/node-esm/plugins/ThemePlugin.mjs.map +3 -3
- package/dist/types/src/Theme.stories.d.ts.map +1 -1
- package/dist/types/src/defs.d.ts +2 -2
- package/dist/types/src/defs.d.ts.map +1 -1
- package/dist/types/src/fragments/density.d.ts +1 -4
- package/dist/types/src/fragments/density.d.ts.map +1 -1
- package/dist/types/src/fragments/hover.d.ts +0 -1
- package/dist/types/src/fragments/hover.d.ts.map +1 -1
- package/dist/types/src/fragments/index.d.ts +0 -5
- package/dist/types/src/fragments/index.d.ts.map +1 -1
- package/dist/types/src/fragments/text.d.ts +0 -5
- package/dist/types/src/fragments/text.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/plugins/ThemePlugin.d.ts +1 -1
- package/dist/types/src/plugins/ThemePlugin.d.ts.map +1 -1
- package/dist/types/src/theme/components/avatar.d.ts.map +1 -1
- package/dist/types/src/theme/components/button.d.ts +2 -2
- package/dist/types/src/theme/components/button.d.ts.map +1 -1
- package/dist/types/src/theme/components/card.d.ts +3 -2
- package/dist/types/src/theme/components/card.d.ts.map +1 -1
- package/dist/types/src/theme/components/dialog.d.ts.map +1 -1
- package/dist/types/src/theme/components/focus.d.ts +6 -0
- package/dist/types/src/theme/components/focus.d.ts.map +1 -0
- package/dist/types/src/theme/components/icon-button.d.ts +1 -0
- package/dist/types/src/theme/components/icon-button.d.ts.map +1 -1
- package/dist/types/src/theme/components/icon.d.ts +3 -0
- package/dist/types/src/theme/components/icon.d.ts.map +1 -1
- package/dist/types/src/theme/components/index.d.ts +1 -0
- package/dist/types/src/theme/components/index.d.ts.map +1 -1
- package/dist/types/src/theme/components/input.d.ts +8 -8
- package/dist/types/src/theme/components/input.d.ts.map +1 -1
- package/dist/types/src/theme/components/link.d.ts.map +1 -1
- package/dist/types/src/theme/components/list.d.ts.map +1 -1
- package/dist/types/src/theme/components/main.d.ts.map +1 -1
- package/dist/types/src/theme/components/message.d.ts.map +1 -1
- package/dist/types/src/theme/components/popover.d.ts.map +1 -1
- package/dist/types/src/theme/components/scroll-area.d.ts +12 -2
- package/dist/types/src/theme/components/scroll-area.d.ts.map +1 -1
- package/dist/types/src/theme/components/select.d.ts.map +1 -1
- package/dist/types/src/theme/components/status.d.ts +1 -1
- package/dist/types/src/theme/components/status.d.ts.map +1 -1
- package/dist/types/src/theme/components/toast.d.ts.map +1 -1
- package/dist/types/src/theme/components/toolbar.d.ts +0 -1
- package/dist/types/src/theme/components/toolbar.d.ts.map +1 -1
- package/dist/types/src/theme/components/tooltip.d.ts.map +1 -1
- package/dist/types/src/theme/components/treegrid.d.ts.map +1 -1
- package/dist/types/src/theme/index.d.ts +1 -0
- package/dist/types/src/theme/index.d.ts.map +1 -1
- package/dist/types/src/theme/primitives/column.d.ts +25 -3
- package/dist/types/src/theme/primitives/column.d.ts.map +1 -1
- package/dist/types/src/theme/primitives/panel.d.ts +9 -5
- package/dist/types/src/theme/primitives/panel.d.ts.map +1 -1
- package/dist/types/src/theme/theme.d.ts.map +1 -1
- package/dist/types/src/util/elevation.d.ts.map +1 -0
- package/dist/types/src/util/hash-styles.d.ts +1 -1
- package/dist/types/src/util/hash-styles.d.ts.map +1 -1
- package/dist/types/src/util/index.d.ts +3 -0
- package/dist/types/src/util/index.d.ts.map +1 -1
- package/dist/types/src/util/mx.d.ts +52 -4
- package/dist/types/src/util/mx.d.ts.map +1 -1
- package/dist/types/src/util/size.d.ts +27 -0
- package/dist/types/src/util/size.d.ts.map +1 -0
- package/dist/types/src/util/valence.d.ts +4 -0
- package/dist/types/src/util/valence.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +15 -18
- package/src/Theme.stories.tsx +5 -5
- package/src/css/DESIGN_SYSTEM.md +159 -0
- package/src/css/base/base.css +2 -2
- package/src/css/components/button.css +4 -3
- package/src/css/components/checkbox.css +1 -1
- package/src/css/components/{focus-ring.css → focus.css} +27 -13
- package/src/css/components/icon.css +9 -0
- package/src/css/components/link.css +3 -0
- package/src/css/components/panel.css +45 -45
- package/src/css/components/selected.css +76 -0
- package/src/css/components/selected.md +101 -0
- package/src/css/components/surface.css +4 -4
- package/src/css/components/tag.css +25 -23
- package/src/css/integrations/codemirror.css +5 -3
- package/src/css/integrations/tldraw.css +1 -0
- package/src/css/layout/main.css +0 -7
- package/src/css/layout/size.css +19 -27
- package/src/css/theme/animation.css +31 -0
- package/src/css/theme/palette.css +8 -0
- package/src/css/theme/semantic.css +48 -36
- package/src/css/theme/spacing.css +37 -20
- package/src/css/theme/styles.css +22 -22
- package/src/css/utilities.css +114 -3
- package/src/defs.ts +2 -2
- package/src/fragments/AUDIT.md +55 -0
- package/src/fragments/density.ts +8 -5
- package/src/fragments/hover.ts +0 -2
- package/src/fragments/index.ts +1 -6
- package/src/fragments/text.ts +1 -6
- package/src/index.ts +1 -1
- package/src/{theme.css → main.css} +48 -10
- package/src/plugins/ThemePlugin.ts +12 -24
- package/src/plugins/main.css +45 -0
- package/src/theme/components/avatar.ts +3 -4
- package/src/theme/components/button.ts +3 -3
- package/src/theme/components/card.ts +19 -11
- package/src/theme/components/dialog.ts +4 -3
- package/src/theme/components/focus.ts +33 -0
- package/src/theme/components/icon-button.ts +6 -5
- package/src/theme/components/icon.ts +13 -4
- package/src/theme/components/index.ts +1 -0
- package/src/theme/components/input.ts +18 -33
- package/src/theme/components/link.ts +1 -2
- package/src/theme/components/list.ts +4 -4
- package/src/theme/components/menu.ts +4 -4
- package/src/theme/components/message.ts +6 -7
- package/src/theme/components/popover.ts +4 -5
- package/src/theme/components/scroll-area.ts +58 -46
- package/src/theme/components/select.ts +3 -4
- package/src/theme/components/status.ts +5 -5
- package/src/theme/components/toast.ts +2 -3
- package/src/theme/components/toolbar.ts +1 -7
- package/src/theme/components/tooltip.ts +2 -3
- package/src/theme/components/treegrid.ts +1 -1
- package/src/theme/index.ts +1 -0
- package/src/theme/primitives/column.ts +49 -8
- package/src/theme/primitives/panel.ts +19 -23
- package/src/theme/theme.ts +2 -0
- package/src/typings.d.ts +3 -0
- package/src/util/hash-styles.ts +19 -19
- package/src/util/index.ts +3 -0
- package/src/util/mx.ts +119 -8
- package/src/util/size.ts +103 -0
- package/dist/plugin/node-cjs/theme.css.map +0 -7
- package/dist/plugin/node-esm/theme.css.map +0 -7
- package/dist/types/src/fragments/elevation.d.ts.map +0 -1
- package/dist/types/src/fragments/focus.d.ts +0 -4
- package/dist/types/src/fragments/focus.d.ts.map +0 -1
- package/dist/types/src/fragments/selected.d.ts +0 -4
- package/dist/types/src/fragments/selected.d.ts.map +0 -1
- package/dist/types/src/fragments/size.d.ts +0 -7
- package/dist/types/src/fragments/size.d.ts.map +0 -1
- package/dist/types/src/fragments/valence.d.ts +0 -4
- package/dist/types/src/fragments/valence.d.ts.map +0 -1
- package/src/fragments/focus.ts +0 -11
- package/src/fragments/selected.ts +0 -12
- package/src/fragments/size.ts +0 -117
- /package/dist/types/src/{fragments → util}/elevation.d.ts +0 -0
- /package/src/{fragments → util}/elevation.ts +0 -0
- /package/src/{fragments → util}/valence.ts +0 -0
|
@@ -1,99 +1,111 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Tokens
|
|
3
|
+
*
|
|
4
|
+
* Naming convention: --color-{name}-{part}[-{state}]
|
|
5
|
+
* part : surface | foreground | border | fill | text
|
|
6
|
+
* state : hover | active (optional)
|
|
7
|
+
*
|
|
8
|
+
* See DESIGN_SYSTEM.md.
|
|
3
9
|
*/
|
|
4
10
|
|
|
5
11
|
@theme {
|
|
6
12
|
/**
|
|
7
|
-
* Surfaces
|
|
8
|
-
*
|
|
9
|
-
* TODO(burdon): Align suffix with styles.css?
|
|
10
|
-
* -xxx-surface
|
|
11
|
-
* -xxx-surface-text
|
|
13
|
+
* Surfaces
|
|
12
14
|
*/
|
|
13
15
|
|
|
14
16
|
--color-base-surface: light-dark(var(--color-neutral-50), var(--color-neutral-950));
|
|
15
|
-
--color-base-
|
|
17
|
+
--color-base-foreground: light-dark(var(--color-neutral-950), var(--color-neutral-50));
|
|
16
18
|
|
|
17
19
|
--color-inverse-surface: light-dark(var(--color-neutral-800), var(--color-neutral-200));
|
|
18
|
-
--color-inverse-
|
|
20
|
+
--color-inverse-foreground: light-dark(var(--color-neutral-50), var(--color-neutral-950));
|
|
19
21
|
|
|
20
|
-
--color-
|
|
21
|
-
--color-input-surface-text: light-dark(var(--color-neutral-950), var(--color-neutral-50));
|
|
22
|
+
--color-focus-surface: light-dark(var(--color-neutral-50), var(--color-neutral-950));
|
|
22
23
|
|
|
23
24
|
--color-deck-surface: light-dark(var(--color-neutral-50), var(--color-neutral-950));
|
|
24
25
|
--color-scrim-surface: light-dark(
|
|
25
26
|
oklch(from var(--color-neutral-50) l c h / 0.5),
|
|
26
27
|
oklch(from var(--color-neutral-950) l c h / 0.25)
|
|
27
28
|
);
|
|
29
|
+
|
|
28
30
|
--color-toolbar-surface: light-dark(var(--color-neutral-75), var(--color-neutral-925));
|
|
31
|
+
--color-card-surface: light-dark(var(--color-neutral-75), var(--color-neutral-925));
|
|
32
|
+
|
|
29
33
|
--color-group-surface: light-dark(var(--color-neutral-100), var(--color-neutral-900));
|
|
30
34
|
--color-modal-surface: light-dark(var(--color-neutral-100), var(--color-neutral-900));
|
|
31
|
-
--color-card-surface: light-dark(var(--color-neutral-100), var(--color-neutral-900));
|
|
32
35
|
--color-sidebar-surface: light-dark(var(--color-neutral-100), var(--color-neutral-900));
|
|
33
36
|
--color-header-surface: light-dark(var(--color-neutral-100), var(--color-neutral-900));
|
|
34
37
|
|
|
35
|
-
|
|
38
|
+
/* input */
|
|
39
|
+
--color-input-surface: light-dark(var(--color-neutral-200), var(--color-neutral-800));
|
|
40
|
+
--color-input-foreground: light-dark(var(--color-neutral-950), var(--color-neutral-50));
|
|
41
|
+
|
|
42
|
+
/* current (aria-current) */
|
|
36
43
|
--color-current-surface: light-dark(var(--color-neutral-200), var(--color-neutral-800));
|
|
37
|
-
--color-
|
|
38
|
-
--color-
|
|
39
|
-
|
|
40
|
-
|
|
44
|
+
--color-current-surface-hover: light-dark(var(--color-neutral-300), var(--color-neutral-700));
|
|
45
|
+
--color-current-foreground: light-dark(var(--color-neutral-950), var(--color-neutral-50));
|
|
46
|
+
|
|
47
|
+
/* selected (aria-selected) */
|
|
48
|
+
--color-selected-surface: light-dark(var(--color-neutral-150), var(--color-neutral-850));
|
|
49
|
+
--color-selected-surface-hover: light-dark(var(--color-neutral-250), var(--color-neutral-750));
|
|
50
|
+
--color-selected-foreground: light-dark(var(--color-neutral-950), var(--color-neutral-50));
|
|
51
|
+
|
|
52
|
+
/* hover (:hover, data-highlighted) */
|
|
41
53
|
--color-hover-surface: light-dark(var(--color-neutral-250), var(--color-neutral-750));
|
|
42
|
-
--color-hover-
|
|
54
|
+
--color-hover-foreground: light-dark(var(--color-neutral-950), var(--color-neutral-50));
|
|
43
55
|
|
|
44
56
|
/* Map attention to focus-surface logic so that elements acting as active attention zones highlight correctly on focus. */
|
|
45
57
|
--color-attention-surface: var(--color-focus-surface);
|
|
46
|
-
--color-
|
|
47
|
-
--color-neutral-focus-indicator: light-dark(var(--color-neutral-400), var(--color-neutral-600));
|
|
48
|
-
|
|
49
|
-
/* Accent */
|
|
58
|
+
--color-attention-contains: oklch(from var(--color-accent-surface) l c h / 0.3);
|
|
50
59
|
|
|
51
|
-
|
|
60
|
+
/* Accent (primary) */
|
|
61
|
+
--color-accent-surface: light-dark(var(--color-blue-500), var(--color-blue-700));
|
|
52
62
|
--color-accent-surface-hover: light-dark(var(--color-blue-800), var(--color-blue-800));
|
|
53
|
-
--color-accent-
|
|
54
|
-
--color-accent-text: light-dark(var(--color-blue-600), var(--color-blue-
|
|
63
|
+
--color-accent-foreground: var(--color-blue-100);
|
|
64
|
+
--color-accent-text: light-dark(var(--color-blue-600), var(--color-blue-400));
|
|
55
65
|
--color-accent-text-hover: light-dark(var(--color-blue-500), var(--color-blue-500));
|
|
56
|
-
--color-accent-focus-indicator: light-dark(var(--color-blue-600), var(--color-blue-600));
|
|
57
66
|
|
|
58
67
|
--color-un-accent: var(--color-neutral-400);
|
|
59
68
|
--color-un-accent-hover: var(--color-neutral-500);
|
|
60
69
|
|
|
61
|
-
/*
|
|
70
|
+
/* Focus rings (global) */
|
|
71
|
+
--color-focus-ring: light-dark(var(--color-blue-600), var(--color-blue-600));
|
|
72
|
+
--color-focus-ring-subtle: light-dark(var(--color-neutral-400), var(--color-neutral-600));
|
|
62
73
|
|
|
74
|
+
/* Separator */
|
|
63
75
|
--color-separator: light-dark(var(--color-neutral-200), var(--color-neutral-800));
|
|
64
|
-
--color-
|
|
65
|
-
--color-
|
|
76
|
+
--color-subdued-separator: light-dark(var(--color-neutral-150), var(--color-neutral-850));
|
|
77
|
+
--color-primary-separator: light-dark(var(--color-neutral-500), var(--color-neutral-700));
|
|
78
|
+
--color-active-separator: light-dark(var(--color-blue-500), var(--color-blue-500));
|
|
66
79
|
|
|
67
80
|
/* Scrollbar */
|
|
68
|
-
|
|
69
81
|
--color-scrollbar-track: light-dark(var(--color-neutral-50), var(--color-neutral-950));
|
|
70
82
|
--color-scrollbar-thumb: light-dark(var(--color-neutral-200), var(--color-neutral-700));
|
|
71
83
|
--color-scrollbar-thumb-active: light-dark(var(--color-neutral-200), var(--color-neutral-600));
|
|
72
84
|
--color-scrollbar-thumb-hover: light-dark(var(--color-neutral-200), var(--color-neutral-600));
|
|
73
85
|
|
|
74
86
|
/* Sheet */
|
|
75
|
-
|
|
76
87
|
--color-axis-selected-surface: light-dark(var(--color-neutral-100), var(--color-neutral-900));
|
|
77
88
|
--color-axis-selected-text: light-dark(var(--color-neutral-100), var(--color-neutral-900));
|
|
78
89
|
--color-axis-surface: light-dark(var(--color-neutral-50), var(--color-neutral-800));
|
|
79
90
|
--color-axis-text: light-dark(var(--color-neutral-800), var(--color-neutral-200));
|
|
80
91
|
|
|
81
|
-
/*
|
|
82
|
-
|
|
92
|
+
/*
|
|
93
|
+
* Grid
|
|
94
|
+
* NOTE: Update main.css when changing grid tokens (and restart dev server).
|
|
95
|
+
*/
|
|
83
96
|
--color-grid-surface: light-dark(var(--color-neutral-50), var(--color-neutral-950));
|
|
97
|
+
--color-grid-foreground: light-dark(var(--color-neutral-950), var(--color-neutral-50));
|
|
98
|
+
--color-grid-line: light-dark(var(--color-neutral-200), var(--color-neutral-800));
|
|
84
99
|
--color-grid-highlight: oklch(from var(--color-emerald-500) l c h / 0.5);
|
|
100
|
+
--color-grid-selection-surface: light-dark(var(--color-blue-500), var(--color-blue-400));
|
|
101
|
+
--color-grid-selection-foreground: light-dark(var(--color-neutral-50), var(--color-neutral-950));
|
|
85
102
|
--color-grid-comment: light-dark(var(--color-green-400), var(--color-green-600));
|
|
86
103
|
--color-grid-comment-active: light-dark(
|
|
87
104
|
oklch(from var(--color-green-400) l c h / 0.5),
|
|
88
105
|
oklch(from var(--color-green-600) l c h / 0.5)
|
|
89
106
|
);
|
|
90
|
-
--color-grid-hover-overlay: oklch(from var(--color-neutral-500) l c h / 0.1);
|
|
91
|
-
--color-grid-selection-overlay: var(--color-blue-500);
|
|
92
|
-
--color-grid-line: light-dark(var(--color-neutral-200), var(--color-neutral-800));
|
|
93
|
-
--color-grid-focus-indicator: light-dark(var(--color-primary-600), var(--color-primary-600));
|
|
94
107
|
|
|
95
108
|
/* Text */
|
|
96
|
-
|
|
97
109
|
--color-placeholder: light-dark(var(--color-neutral-400), var(--color-neutral-600));
|
|
98
110
|
--color-subdued: light-dark(var(--color-neutral-500), var(--color-neutral-500));
|
|
99
111
|
--color-description: light-dark(var(--color-neutral-600), var(--color-neutral-400));
|
|
@@ -2,14 +2,18 @@
|
|
|
2
2
|
* Tokens
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
+
/**
|
|
6
|
+
* Utility classes
|
|
7
|
+
*/
|
|
5
8
|
@theme {
|
|
6
9
|
/** Minimum inset from the viewport edge for floating surfaces. */
|
|
7
|
-
--spacing-screen-border:
|
|
10
|
+
--spacing-screen-border: 2rem;
|
|
8
11
|
|
|
9
|
-
--spacing-
|
|
10
|
-
--spacing-
|
|
12
|
+
--spacing-popover-default-width: 20rem;
|
|
13
|
+
--spacing-popover-min-width: 16rem;
|
|
11
14
|
|
|
12
|
-
--spacing-
|
|
15
|
+
--spacing-document-max-width: 50rem;
|
|
16
|
+
--spacing-document-width: calc(50rem - env(safe-area-inset-left) - env(safe-area-inset-right));
|
|
13
17
|
|
|
14
18
|
--spacing-card-default-width: 20rem;
|
|
15
19
|
--spacing-card-min-width: 18rem;
|
|
@@ -17,16 +21,17 @@
|
|
|
17
21
|
--spacing-card-min-height: 18rem;
|
|
18
22
|
--spacing-card-max-height: 30rem;
|
|
19
23
|
|
|
20
|
-
--spacing-
|
|
24
|
+
--spacing-tag-padding-block: 0.125rem;
|
|
25
|
+
|
|
26
|
+
--spacing-trim-xs: 0.25rem;
|
|
21
27
|
--spacing-trim-sm: 0.5rem;
|
|
22
28
|
--spacing-trim-md: 0.75rem;
|
|
23
29
|
--spacing-trim-lg: 1.5rem;
|
|
24
30
|
|
|
25
|
-
--spacing-tag-padding-block: 0.125rem;
|
|
26
|
-
--spacing-text-content: calc(50rem - env(safe-area-inset-left) - env(safe-area-inset-right));
|
|
27
|
-
|
|
28
31
|
/** Minimal trim to allow for ring/outline. */
|
|
29
32
|
--spacing-form-chrome: var(--spacing-trim-xs);
|
|
33
|
+
--spacing-form-gap: var(--spacing-trim-sm);
|
|
34
|
+
--spacing-form-section-gap: var(--spacing-trim-lg);
|
|
30
35
|
|
|
31
36
|
/**
|
|
32
37
|
* Density: fine
|
|
@@ -38,15 +43,20 @@
|
|
|
38
43
|
|
|
39
44
|
@layer dx-tokens {
|
|
40
45
|
/**
|
|
41
|
-
* Density: coarse
|
|
46
|
+
* TODO(burdon): Density: coarse
|
|
42
47
|
*/
|
|
48
|
+
/*
|
|
43
49
|
.dx-density-coarse {
|
|
44
50
|
--spacing-form-padding: var(--spacing-trim-md);
|
|
45
51
|
--spacing-icon-button-padding: var(--spacing-trim-sm);
|
|
46
52
|
--spacing-scroll-padding: 8px;
|
|
47
53
|
}
|
|
54
|
+
*/
|
|
48
55
|
}
|
|
49
56
|
|
|
57
|
+
/**
|
|
58
|
+
* CSS variables.
|
|
59
|
+
*/
|
|
50
60
|
@layer dx-tokens {
|
|
51
61
|
:root {
|
|
52
62
|
--dx-line-0: 0px;
|
|
@@ -58,10 +68,10 @@
|
|
|
58
68
|
--dx-lacuna-4: 0.5rem;
|
|
59
69
|
--dx-lacuna-6: 0.75rem;
|
|
60
70
|
|
|
61
|
-
--dx-gutter-xs: 0.
|
|
62
|
-
--dx-gutter-sm:
|
|
63
|
-
--dx-gutter-md:
|
|
64
|
-
--dx-gutter-lg:
|
|
71
|
+
--dx-gutter-xs: 0.25rem; /* Input rings */
|
|
72
|
+
--dx-gutter-sm: 1rem;
|
|
73
|
+
--dx-gutter-md: 2rem; /* 32px (fine card) */
|
|
74
|
+
--dx-gutter-lg: 2.5rem; /* 40px (dialog, coarse card) */
|
|
65
75
|
}
|
|
66
76
|
|
|
67
77
|
:root {
|
|
@@ -83,6 +93,8 @@
|
|
|
83
93
|
|
|
84
94
|
--dx-input-fine: var(--dx-lacuna-3);
|
|
85
95
|
--dx-input-coarse: var(--dx-lacuna-4);
|
|
96
|
+
|
|
97
|
+
--dx-default-icons-size: 1rem; /* size=4 */
|
|
86
98
|
}
|
|
87
99
|
|
|
88
100
|
[data-grid-focus-indicator-variant='stack'] {
|
|
@@ -91,23 +103,28 @@
|
|
|
91
103
|
|
|
92
104
|
:root {
|
|
93
105
|
--dx-rail-content: 3rem;
|
|
106
|
+
/** TODO(burdon): Audit. */
|
|
107
|
+
/** TODO(burdon): Density (2 sizes). */
|
|
94
108
|
--dx-rail-size: calc(var(--dx-rail-content) + 1px);
|
|
95
109
|
--dx-rail-item: calc(var(--dx-rail-content) - 1rem);
|
|
96
|
-
|
|
110
|
+
/* TODO(burdon): Added 1px for border. */
|
|
111
|
+
/* TODO(burdon): Remove direct usage. */
|
|
112
|
+
--dx-rail-action: calc(var(--dx-rail-content) - 0.5rem);
|
|
97
113
|
|
|
98
|
-
--dx-topbar-size: var(--dx-rail-size);
|
|
99
|
-
--dx-toolbar-size: var(--dx-rail-
|
|
100
|
-
--dx-statusbar-size: var(--dx-rail-
|
|
114
|
+
--dx-topbar-size: var(--dx-rail-size); /* 50px */
|
|
115
|
+
--dx-toolbar-size: var(--dx-rail-action); /* 40px */
|
|
116
|
+
--dx-statusbar-size: var(--dx-rail-item); /* 32px */
|
|
101
117
|
|
|
102
|
-
|
|
118
|
+
/** NOTE: Sidebar optimized to show plank + companion with sidebar open on 16" MBP. */
|
|
119
|
+
--dx-nav-sidebar-size: 350px;
|
|
103
120
|
--dx-complementary-sidebar-size: 25rem;
|
|
104
121
|
--dx-drawer-size: 50dvh;
|
|
105
122
|
|
|
106
|
-
--dx-l0-size:
|
|
123
|
+
--dx-l0-size: 72px;
|
|
107
124
|
--dx-l0-avatar-size: 3rem;
|
|
108
125
|
--dx-l1-size: calc(var(--dx-nav-sidebar-size) - var(--dx-l0-size));
|
|
109
126
|
--dx-r0-size: var(--dx-rail-size);
|
|
110
|
-
--dx-r1-size: calc(var(--dx-complementary-sidebar-size) - var(--dx-r0-size));
|
|
127
|
+
--dx-r1-size: calc(var(--dx-complementary-sidebar-size) - var(--dx-r0-size) - 1px);
|
|
111
128
|
}
|
|
112
129
|
|
|
113
130
|
:root {
|
package/src/css/theme/styles.css
CHANGED
|
@@ -9,25 +9,25 @@
|
|
|
9
9
|
|
|
10
10
|
--color-info-fill: var(--color-cyan-fill);
|
|
11
11
|
--color-info-surface: var(--color-cyan-surface);
|
|
12
|
-
--color-info-
|
|
12
|
+
--color-info-foreground: var(--color-cyan-foreground);
|
|
13
13
|
--color-info-text: var(--color-cyan-text);
|
|
14
14
|
--color-info-border: var(--color-cyan-border);
|
|
15
15
|
|
|
16
16
|
--color-success-fill: var(--color-emerald-fill);
|
|
17
17
|
--color-success-surface: var(--color-emerald-surface);
|
|
18
|
-
--color-success-
|
|
18
|
+
--color-success-foreground: var(--color-emerald-foreground);
|
|
19
19
|
--color-success-text: var(--color-emerald-text);
|
|
20
20
|
--color-success-border: var(--color-emerald-border);
|
|
21
21
|
|
|
22
22
|
--color-warning-fill: var(--color-amber-fill);
|
|
23
23
|
--color-warning-surface: var(--color-amber-surface);
|
|
24
|
-
--color-warning-
|
|
24
|
+
--color-warning-foreground: var(--color-amber-foreground);
|
|
25
25
|
--color-warning-text: var(--color-amber-text);
|
|
26
26
|
--color-warning-border: var(--color-amber-border);
|
|
27
27
|
|
|
28
28
|
--color-error-fill: var(--color-rose-fill);
|
|
29
29
|
--color-error-surface: var(--color-rose-surface);
|
|
30
|
-
--color-error-
|
|
30
|
+
--color-error-foreground: var(--color-rose-foreground);
|
|
31
31
|
--color-error-text: var(--color-rose-text);
|
|
32
32
|
--color-error-border: var(--color-rose-border);
|
|
33
33
|
|
|
@@ -37,109 +37,109 @@
|
|
|
37
37
|
|
|
38
38
|
--color-neutral-fill: light-dark(var(--color-neutral-300), var(--color-neutral-700));
|
|
39
39
|
--color-neutral-surface: light-dark(var(--color-neutral-200), var(--color-neutral-800));
|
|
40
|
-
--color-neutral-
|
|
40
|
+
--color-neutral-foreground: light-dark(var(--color-neutral-800), var(--color-neutral-200));
|
|
41
41
|
--color-neutral-text: light-dark(var(--color-neutral-700), var(--color-neutral-300));
|
|
42
42
|
--color-neutral-border: light-dark(var(--color-neutral-400), var(--color-neutral-600));
|
|
43
43
|
|
|
44
44
|
--color-red-fill: light-dark(var(--color-red-300), var(--color-red-700));
|
|
45
45
|
--color-red-surface: light-dark(var(--color-red-200), var(--color-red-800));
|
|
46
|
-
--color-red-
|
|
46
|
+
--color-red-foreground: light-dark(var(--color-red-800), var(--color-red-200));
|
|
47
47
|
--color-red-text: light-dark(var(--color-red-700), var(--color-red-300));
|
|
48
48
|
--color-red-border: light-dark(var(--color-red-400), var(--color-red-600));
|
|
49
49
|
|
|
50
50
|
--color-orange-fill: light-dark(var(--color-orange-300), var(--color-orange-700));
|
|
51
51
|
--color-orange-surface: light-dark(var(--color-orange-200), var(--color-orange-800));
|
|
52
|
-
--color-orange-
|
|
52
|
+
--color-orange-foreground: light-dark(var(--color-orange-800), var(--color-orange-200));
|
|
53
53
|
--color-orange-text: light-dark(var(--color-orange-700), var(--color-orange-300));
|
|
54
54
|
--color-orange-border: light-dark(var(--color-orange-400), var(--color-orange-600));
|
|
55
55
|
|
|
56
56
|
--color-amber-fill: light-dark(var(--color-amber-300), var(--color-amber-700));
|
|
57
57
|
--color-amber-surface: light-dark(var(--color-amber-200), var(--color-amber-800));
|
|
58
|
-
--color-amber-
|
|
58
|
+
--color-amber-foreground: light-dark(var(--color-amber-800), var(--color-amber-200));
|
|
59
59
|
--color-amber-text: light-dark(var(--color-amber-700), var(--color-amber-300));
|
|
60
60
|
--color-amber-border: light-dark(var(--color-amber-400), var(--color-amber-600));
|
|
61
61
|
|
|
62
62
|
--color-yellow-fill: light-dark(var(--color-yellow-300), var(--color-yellow-700));
|
|
63
63
|
--color-yellow-surface: light-dark(var(--color-yellow-200), var(--color-yellow-800));
|
|
64
|
-
--color-yellow-
|
|
64
|
+
--color-yellow-foreground: light-dark(var(--color-yellow-800), var(--color-yellow-200));
|
|
65
65
|
--color-yellow-text: light-dark(var(--color-yellow-700), var(--color-yellow-300));
|
|
66
66
|
--color-yellow-border: light-dark(var(--color-yellow-400), var(--color-yellow-600));
|
|
67
67
|
|
|
68
68
|
--color-lime-fill: light-dark(var(--color-lime-300), var(--color-lime-700));
|
|
69
69
|
--color-lime-surface: light-dark(var(--color-lime-200), var(--color-lime-800));
|
|
70
|
-
--color-lime-
|
|
70
|
+
--color-lime-foreground: light-dark(var(--color-lime-800), var(--color-lime-200));
|
|
71
71
|
--color-lime-text: light-dark(var(--color-lime-700), var(--color-lime-300));
|
|
72
72
|
--color-lime-border: light-dark(var(--color-lime-400), var(--color-lime-600));
|
|
73
73
|
|
|
74
74
|
--color-green-fill: light-dark(var(--color-green-300), var(--color-green-700));
|
|
75
75
|
--color-green-surface: light-dark(var(--color-green-200), var(--color-green-800));
|
|
76
|
-
--color-green-
|
|
76
|
+
--color-green-foreground: light-dark(var(--color-green-800), var(--color-green-200));
|
|
77
77
|
--color-green-text: light-dark(var(--color-green-700), var(--color-green-300));
|
|
78
78
|
--color-green-border: light-dark(var(--color-green-400), var(--color-green-600));
|
|
79
79
|
|
|
80
80
|
--color-emerald-fill: light-dark(var(--color-emerald-300), var(--color-emerald-700));
|
|
81
81
|
--color-emerald-surface: light-dark(var(--color-emerald-200), var(--color-emerald-800));
|
|
82
|
-
--color-emerald-
|
|
82
|
+
--color-emerald-foreground: light-dark(var(--color-emerald-800), var(--color-emerald-200));
|
|
83
83
|
--color-emerald-text: light-dark(var(--color-emerald-700), var(--color-emerald-300));
|
|
84
84
|
--color-emerald-border: light-dark(var(--color-emerald-400), var(--color-emerald-600));
|
|
85
85
|
|
|
86
86
|
--color-teal-fill: light-dark(var(--color-teal-300), var(--color-teal-700));
|
|
87
87
|
--color-teal-surface: light-dark(var(--color-teal-200), var(--color-teal-800));
|
|
88
|
-
--color-teal-
|
|
88
|
+
--color-teal-foreground: light-dark(var(--color-teal-800), var(--color-teal-200));
|
|
89
89
|
--color-teal-text: light-dark(var(--color-teal-700), var(--color-teal-300));
|
|
90
90
|
--color-teal-border: light-dark(var(--color-teal-400), var(--color-teal-600));
|
|
91
91
|
|
|
92
92
|
--color-cyan-fill: light-dark(var(--color-cyan-300), var(--color-cyan-700));
|
|
93
93
|
--color-cyan-surface: light-dark(var(--color-cyan-200), var(--color-cyan-800));
|
|
94
|
-
--color-cyan-
|
|
94
|
+
--color-cyan-foreground: light-dark(var(--color-cyan-800), var(--color-cyan-200));
|
|
95
95
|
--color-cyan-text: light-dark(var(--color-cyan-700), var(--color-cyan-300));
|
|
96
96
|
--color-cyan-border: light-dark(var(--color-cyan-400), var(--color-cyan-600));
|
|
97
97
|
|
|
98
98
|
--color-sky-fill: light-dark(var(--color-sky-300), var(--color-sky-700));
|
|
99
99
|
--color-sky-surface: light-dark(var(--color-sky-200), var(--color-sky-800));
|
|
100
|
-
--color-sky-
|
|
100
|
+
--color-sky-foreground: light-dark(var(--color-sky-800), var(--color-sky-200));
|
|
101
101
|
--color-sky-text: light-dark(var(--color-sky-700), var(--color-sky-300));
|
|
102
102
|
--color-sky-border: light-dark(var(--color-sky-400), var(--color-sky-600));
|
|
103
103
|
|
|
104
104
|
--color-blue-fill: light-dark(var(--color-blue-300), var(--color-blue-700));
|
|
105
105
|
--color-blue-surface: light-dark(var(--color-blue-200), var(--color-blue-800));
|
|
106
|
-
--color-blue-
|
|
106
|
+
--color-blue-foreground: light-dark(var(--color-blue-800), var(--color-blue-200));
|
|
107
107
|
--color-blue-text: light-dark(var(--color-blue-700), var(--color-blue-300));
|
|
108
108
|
--color-blue-border: light-dark(var(--color-blue-400), var(--color-blue-600));
|
|
109
109
|
|
|
110
110
|
--color-indigo-fill: light-dark(var(--color-indigo-300), var(--color-indigo-700));
|
|
111
111
|
--color-indigo-surface: light-dark(var(--color-indigo-200), var(--color-indigo-800));
|
|
112
|
-
--color-indigo-
|
|
112
|
+
--color-indigo-foreground: light-dark(var(--color-indigo-800), var(--color-indigo-200));
|
|
113
113
|
--color-indigo-text: light-dark(var(--color-indigo-700), var(--color-indigo-300));
|
|
114
114
|
--color-indigo-border: light-dark(var(--color-indigo-400), var(--color-indigo-600));
|
|
115
115
|
|
|
116
116
|
--color-violet-fill: light-dark(var(--color-violet-300), var(--color-violet-700));
|
|
117
117
|
--color-violet-surface: light-dark(var(--color-violet-200), var(--color-violet-800));
|
|
118
|
-
--color-violet-
|
|
118
|
+
--color-violet-foreground: light-dark(var(--color-violet-800), var(--color-violet-200));
|
|
119
119
|
--color-violet-text: light-dark(var(--color-violet-700), var(--color-violet-300));
|
|
120
120
|
--color-violet-border: light-dark(var(--color-violet-400), var(--color-violet-600));
|
|
121
121
|
|
|
122
122
|
--color-purple-fill: light-dark(var(--color-purple-300), var(--color-purple-700));
|
|
123
123
|
--color-purple-surface: light-dark(var(--color-purple-200), var(--color-purple-800));
|
|
124
|
-
--color-purple-
|
|
124
|
+
--color-purple-foreground: light-dark(var(--color-purple-800), var(--color-purple-200));
|
|
125
125
|
--color-purple-text: light-dark(var(--color-purple-700), var(--color-purple-300));
|
|
126
126
|
--color-purple-border: light-dark(var(--color-purple-400), var(--color-purple-600));
|
|
127
127
|
|
|
128
128
|
--color-fuchsia-fill: light-dark(var(--color-fuchsia-300), var(--color-fuchsia-700));
|
|
129
129
|
--color-fuchsia-surface: light-dark(var(--color-fuchsia-200), var(--color-fuchsia-800));
|
|
130
|
-
--color-fuchsia-
|
|
130
|
+
--color-fuchsia-foreground: light-dark(var(--color-fuchsia-800), var(--color-fuchsia-200));
|
|
131
131
|
--color-fuchsia-text: light-dark(var(--color-fuchsia-700), var(--color-fuchsia-300));
|
|
132
132
|
--color-fuchsia-border: light-dark(var(--color-fuchsia-400), var(--color-fuchsia-600));
|
|
133
133
|
|
|
134
134
|
--color-pink-fill: light-dark(var(--color-pink-300), var(--color-pink-700));
|
|
135
135
|
--color-pink-surface: light-dark(var(--color-pink-200), var(--color-pink-800));
|
|
136
|
-
--color-pink-
|
|
136
|
+
--color-pink-foreground: light-dark(var(--color-pink-800), var(--color-pink-200));
|
|
137
137
|
--color-pink-text: light-dark(var(--color-pink-700), var(--color-pink-300));
|
|
138
138
|
--color-pink-border: light-dark(var(--color-pink-400), var(--color-pink-600));
|
|
139
139
|
|
|
140
140
|
--color-rose-fill: light-dark(var(--color-rose-300), var(--color-rose-700));
|
|
141
141
|
--color-rose-surface: light-dark(var(--color-rose-200), var(--color-rose-800));
|
|
142
|
-
--color-rose-
|
|
142
|
+
--color-rose-foreground: light-dark(var(--color-rose-800), var(--color-rose-200));
|
|
143
143
|
--color-rose-text: light-dark(var(--color-rose-700), var(--color-rose-300));
|
|
144
144
|
--color-rose-border: light-dark(var(--color-rose-400), var(--color-rose-600));
|
|
145
145
|
}
|
package/src/css/utilities.css
CHANGED
|
@@ -1,7 +1,118 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Tailwind utility classes.
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Layout rules for flex-based scroll containment:
|
|
7
|
+
* `flex flex-col`
|
|
8
|
+
* On a container: makes it a flex column so children stack and can use `flex-1`.
|
|
9
|
+
* `flex-1`
|
|
10
|
+
* On a child: grows to fill the flex parent. Requires the parent to be `flex`.
|
|
11
|
+
* `min-h-0` (alongside `flex-1`):
|
|
12
|
+
* Overrides default flex children: `min-height:auto` (sized to content), which prevents shrinking.
|
|
13
|
+
* Allows element to shrink and trigger overflow/scrolling.
|
|
14
|
+
* Always pair with `flex-1` when scroll is needed.
|
|
15
|
+
* `h-full`:
|
|
16
|
+
* Fills 100% of the parent's *computed* height.
|
|
17
|
+
* Use when the parent has a definite height but is not a flex container (e.g. `overflow:hidden` wrapper).
|
|
18
|
+
* Unlike `flex-1`, does not require the parent to be flex.
|
|
19
|
+
*
|
|
20
|
+
* Pattern for a scrollable region inside a flex ancestor:
|
|
21
|
+
* ancestor → `flex flex-col` (or `flex flex-row`)
|
|
22
|
+
* scroll root → `flex-1 min-h-0` (fills ancestor, can shrink)
|
|
23
|
+
* scroll viewport → `h-full overflow-y-scroll` (fills root, scrolls)
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Fills the available space.
|
|
28
|
+
*/
|
|
29
|
+
@utility dx-expander {
|
|
30
|
+
@apply flex-1 min-h-0 min-w-0 h-full w-full;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Container that fills the available space (extends dx-expander with overflow clipping).
|
|
35
|
+
*/
|
|
36
|
+
@utility dx-container {
|
|
37
|
+
@apply dx-expander overflow-hidden;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Column that fills the available space (extends dx-expander with overflow clipping).
|
|
42
|
+
*/
|
|
43
|
+
@utility dx-column {
|
|
44
|
+
@apply flex-1 min-w-0 w-full;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Fullscreen
|
|
49
|
+
*/
|
|
50
|
+
@utility dx-fullscreen {
|
|
51
|
+
@apply absolute inset-0;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Visual warning to indicate incorrect usage of `slottable`.
|
|
56
|
+
*/
|
|
57
|
+
@utility dx-slot-warning {
|
|
58
|
+
@apply border border-rose-500 border-dashed;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Pseudo-element overlay for ring indicators (focus, current, etc.).
|
|
63
|
+
*
|
|
64
|
+
* A standard CSS `box-shadow` ring is painted behind child content, so children with
|
|
65
|
+
* opaque backgrounds (e.g., cards, avatars) obscure it. By painting the ring on an
|
|
66
|
+
* absolutely-positioned `::after` pseudo-element that sits above the element's children
|
|
67
|
+
* in stacking order, the ring is always visible regardless of child backgrounds.
|
|
68
|
+
*
|
|
69
|
+
* The pseudo-element inherits `border-radius` from its parent and is `pointer-events-none`
|
|
70
|
+
* so it doesn't interfere with interactions. The ring starts transparent; consumers
|
|
71
|
+
* activate it conditionally (e.g., `focus:after:ring-*`, `aria-[current=true]:after:ring-*`).
|
|
72
|
+
*/
|
|
73
|
+
@utility dx-ring-pseudo {
|
|
74
|
+
@apply relative after:content-[""] after:absolute after:inset-0 after:rounded-[inherit]
|
|
75
|
+
after:pointer-events-none after:ring after:ring-inset after:ring-transparent;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Shimmer text — animates opacity left → right across the contained text.
|
|
80
|
+
* See @keyframes shimmer-text in theme/animation.css for the keyframe definition.
|
|
81
|
+
* Geometry: mask-size 200% 100% with mask-repeat: repeat-x means each tile is
|
|
82
|
+
* 2× the element width; the keyframe slides mask-position-x by 200% (one full
|
|
83
|
+
* tile period), giving a seamless loop. The 5-stop gradient (0.4 → 1.0 → 0.4)
|
|
84
|
+
* produces a single bright pulse per cycle that traverses left → right during
|
|
85
|
+
* the first half, with a brief calm interval during the second half.
|
|
86
|
+
*/
|
|
87
|
+
@utility shimmer-text {
|
|
88
|
+
mask-image: linear-gradient(
|
|
89
|
+
90deg,
|
|
90
|
+
rgba(0, 0, 0, 0.4) 0%,
|
|
91
|
+
rgba(0, 0, 0, 0.4) 30%,
|
|
92
|
+
rgba(0, 0, 0, 1) 50%,
|
|
93
|
+
rgba(0, 0, 0, 0.4) 70%,
|
|
94
|
+
rgba(0, 0, 0, 0.4) 100%
|
|
95
|
+
);
|
|
96
|
+
-webkit-mask-image: linear-gradient(
|
|
97
|
+
90deg,
|
|
98
|
+
rgba(0, 0, 0, 0.4) 0%,
|
|
99
|
+
rgba(0, 0, 0, 0.4) 30%,
|
|
100
|
+
rgba(0, 0, 0, 1) 50%,
|
|
101
|
+
rgba(0, 0, 0, 0.4) 70%,
|
|
102
|
+
rgba(0, 0, 0, 0.4) 100%
|
|
103
|
+
);
|
|
104
|
+
mask-size: 200% 100%;
|
|
105
|
+
-webkit-mask-size: 200% 100%;
|
|
106
|
+
mask-repeat: repeat-x;
|
|
107
|
+
-webkit-mask-repeat: repeat-x;
|
|
108
|
+
animation: shimmer-text 2s linear infinite;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
@media (prefers-reduced-motion: reduce) {
|
|
112
|
+
.shimmer-text {
|
|
113
|
+
animation: none;
|
|
114
|
+
mask-image: none;
|
|
115
|
+
-webkit-mask-image: none;
|
|
116
|
+
opacity: 0.6;
|
|
117
|
+
}
|
|
7
118
|
}
|
package/src/defs.ts
CHANGED
|
@@ -7,7 +7,7 @@ import { type ChromaticPalette } from '@dxos/ui-types';
|
|
|
7
7
|
/**
|
|
8
8
|
* Translation namespace for OS-level translations.
|
|
9
9
|
*/
|
|
10
|
-
export const osTranslations = 'dxos.
|
|
10
|
+
export const osTranslations = 'org.dxos.i18n.os';
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Available color hues for UI components.
|
|
@@ -34,7 +34,7 @@ export const hues: ChromaticPalette[] = [
|
|
|
34
34
|
|
|
35
35
|
export const hueShades = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950] as const;
|
|
36
36
|
|
|
37
|
-
export const roles = ['fill', 'surface', '
|
|
37
|
+
export const roles = ['fill', 'surface', 'foreground', 'text', 'border'] as const;
|
|
38
38
|
|
|
39
39
|
/**
|
|
40
40
|
* Card size constants (Tailwind spacing units).
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Fragment Definitions Audit
|
|
2
|
+
|
|
3
|
+
External packages importing fragment definitions from `ui-theme/src/fragments`.
|
|
4
|
+
|
|
5
|
+
## Current Fragment Exports
|
|
6
|
+
|
|
7
|
+
| File | Definition | External | Internal |
|
|
8
|
+
| ------------- | ------------------------------------- | -------- | -------- |
|
|
9
|
+
| `density.ts` | `densityBlockSize` | - | 1 |
|
|
10
|
+
| `density.ts` | `coarseBlockSize` | - | 1 |
|
|
11
|
+
| `density.ts` | `coarseDimensions` | - | 1 |
|
|
12
|
+
| `density.ts` | `fineBlockSize` | - | 1 |
|
|
13
|
+
| `density.ts` | `fineDimensions` | - | 1 |
|
|
14
|
+
| `disabled.ts` | `staticDisabled` | - | 1 |
|
|
15
|
+
| `disabled.ts` | `dataDisabled` | - | 1 |
|
|
16
|
+
| `focus.ts` | `focusRing` | 2 | 5 |
|
|
17
|
+
| `focus.ts` | `subduedFocus` | - | 2 |
|
|
18
|
+
| `focus.ts` | `staticFocusRing` | - | 1 |
|
|
19
|
+
| `hover.ts` | `ghostHover` | 8 | 2 |
|
|
20
|
+
| `hover.ts` | `ghostFocusWithin` | 1 | - |
|
|
21
|
+
| `hover.ts` | `hoverableControls` | 9 | - |
|
|
22
|
+
| `hover.ts` | `groupHoverControlItemWithTransition` | 2 | - |
|
|
23
|
+
| `hover.ts` | `hoverableFocusedKeyboardControls` | 1 | - |
|
|
24
|
+
| `hover.ts` | `hoverableFocusedWithinControls` | 9 | - |
|
|
25
|
+
| `hover.ts` | `hoverableOpenControlItem` | 3 | - |
|
|
26
|
+
| `hover.ts` | `hoverableControlItem` | 7 | - |
|
|
27
|
+
| `text.ts` | `descriptionTextPrimary` | 1 | - |
|
|
28
|
+
| `text.ts` | `descriptionMessage` | 5 | - |
|
|
29
|
+
|
|
30
|
+
## Summary
|
|
31
|
+
|
|
32
|
+
**Total fragments:** 21
|
|
33
|
+
**Total imports (external + internal):** 96
|
|
34
|
+
|
|
35
|
+
- **External:** 63
|
|
36
|
+
- **Internal:** 33
|
|
37
|
+
|
|
38
|
+
**Most imported overall:**
|
|
39
|
+
|
|
40
|
+
- `hoverableControls` (9 external)
|
|
41
|
+
- `hoverableFocusedWithinControls` (9 external)
|
|
42
|
+
- `ghostHover` (8 external + 2 internal = 10 total)
|
|
43
|
+
- `hoverableControlItem` (7 external)
|
|
44
|
+
- `focusRing` (2 external + 5 internal = 7 total)
|
|
45
|
+
|
|
46
|
+
**Internal imports by file:**
|
|
47
|
+
|
|
48
|
+
- `input.ts`: 8 definitions (coarseBlockSize, coarseDimensions, fineBlockSize, fineDimensions, focusRing, staticDisabled, staticFocusRing, subduedFocus)
|
|
49
|
+
- `list.ts`: 3 definitions (densityBlockSize, focusRing, ghostHover)
|
|
50
|
+
- `menu.ts`: 2 definitions (dataDisabled, subduedFocus)
|
|
51
|
+
- `button.ts`, `link.ts`, `popover.ts`, `toast.ts`: 1 definition each (ghostHover, focusRing, focusRing, focusRing)
|
|
52
|
+
|
|
53
|
+
**Completely unused:** 7 fragments
|
|
54
|
+
|
|
55
|
+
- `hoverableOpenControlItem`, `groupHoverControlItemWithTransition` from `hover.ts` (only 2-3 uses)
|
package/src/fragments/density.ts
CHANGED
|
@@ -4,10 +4,13 @@
|
|
|
4
4
|
|
|
5
5
|
import { type Density } from '@dxos/ui-types';
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
const fineBlockSize = 'min-h-[2.5rem] pointer-fine:min-h-[2rem]';
|
|
8
|
+
const coarseBlockSize = 'min-h-[2.5rem]';
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
const fineDimensions = `${fineBlockSize} px-2`;
|
|
11
|
+
const coarseDimensions = `${coarseBlockSize} px-3`;
|
|
12
12
|
|
|
13
|
-
export const
|
|
13
|
+
export const densityDimensions = (density: Density = 'fine') =>
|
|
14
|
+
density === 'fine' ? fineDimensions : coarseDimensions;
|
|
15
|
+
|
|
16
|
+
export const densityBlockSize = (density: Density = 'fine') => (density === 'fine' ? fineBlockSize : coarseBlockSize);
|