@dxos/ui-theme 0.8.4-staging.ac66bdf99f → 0.9.1-main.c7dcc2e112
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 +89 -867
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +89 -867
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/plugin/node-cjs/main.css +279 -120
- package/dist/plugin/node-cjs/main.css.map +3 -3
- package/dist/plugin/node-cjs/meta.json +1 -1
- package/dist/plugin/node-cjs/plugins/ThemePlugin.cjs +82 -10
- package/dist/plugin/node-cjs/plugins/ThemePlugin.cjs.map +3 -3
- package/dist/plugin/node-esm/main.css +279 -120
- package/dist/plugin/node-esm/main.css.map +3 -3
- package/dist/plugin/node-esm/meta.json +1 -1
- package/dist/plugin/node-esm/plugins/ThemePlugin.mjs +84 -12
- 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 +1 -1
- package/dist/types/src/defs.d.ts.map +1 -1
- package/dist/types/src/fragments/density.d.ts +2 -2
- 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/index.d.ts +0 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/plugins/ThemePlugin.d.ts +3 -2
- package/dist/types/src/plugins/ThemePlugin.d.ts.map +1 -1
- package/dist/types/src/util/hash-styles.d.ts +12 -2
- package/dist/types/src/util/hash-styles.d.ts.map +1 -1
- package/dist/types/src/util/mx.d.ts +0 -36
- package/dist/types/src/util/mx.d.ts.map +1 -1
- package/dist/types/src/util/size.d.ts.map +1 -1
- package/dist/types/src/util/valence.d.ts +8 -2
- package/dist/types/src/util/valence.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +14 -21
- package/src/Theme.stories.tsx +94 -27
- package/src/css/DESIGN_SYSTEM.md +187 -0
- package/src/css/base/base.css +2 -2
- package/src/css/components/button.css +57 -12
- package/src/css/components/card.css +14 -0
- package/src/css/components/checkbox.css +3 -3
- package/src/css/components/focus.css +12 -12
- package/src/css/components/link.css +4 -1
- package/src/css/components/panel.css +45 -45
- package/src/css/components/state.css +76 -0
- package/src/css/components/state.md +101 -0
- package/src/css/components/surface.css +86 -11
- package/src/css/components/tag.css +25 -24
- package/src/css/integrations/codemirror.css +4 -3
- package/src/css/integrations/tldraw.css +1 -1
- package/src/css/layout/main.css +6 -0
- package/src/css/layout/size.css +17 -4
- package/src/css/theme/animation.css +31 -0
- package/src/css/theme/palette.css +34 -0
- package/src/css/theme/semantic.css +190 -68
- package/src/css/theme/spacing.css +30 -13
- package/src/css/theme/styles.css +172 -119
- package/src/css/utilities.css +42 -0
- package/src/defs.ts +3 -1
- package/src/fragments/AUDIT.md +0 -2
- package/src/fragments/density.ts +34 -7
- package/src/fragments/hover.ts +0 -2
- package/src/index.ts +1 -1
- package/src/main.css +68 -9
- package/src/plugins/ThemePlugin.ts +102 -14
- package/src/plugins/main.css +10 -7
- package/src/util/hash-styles.ts +54 -42
- package/src/util/mx.ts +1 -126
- package/src/util/valence.ts +15 -5
- package/dist/types/src/theme/components/avatar.d.ts +0 -21
- package/dist/types/src/theme/components/avatar.d.ts.map +0 -1
- package/dist/types/src/theme/components/breadcrumb.d.ts +0 -9
- package/dist/types/src/theme/components/breadcrumb.d.ts.map +0 -1
- package/dist/types/src/theme/components/button.d.ts +0 -15
- package/dist/types/src/theme/components/button.d.ts.map +0 -1
- package/dist/types/src/theme/components/card.d.ts +0 -12
- package/dist/types/src/theme/components/card.d.ts.map +0 -1
- package/dist/types/src/theme/components/dialog.d.ts +0 -17
- package/dist/types/src/theme/components/dialog.d.ts.map +0 -1
- package/dist/types/src/theme/components/focus.d.ts +0 -6
- package/dist/types/src/theme/components/focus.d.ts.map +0 -1
- package/dist/types/src/theme/components/icon-button.d.ts +0 -8
- package/dist/types/src/theme/components/icon-button.d.ts.map +0 -1
- package/dist/types/src/theme/components/icon.d.ts +0 -10
- package/dist/types/src/theme/components/icon.d.ts.map +0 -1
- package/dist/types/src/theme/components/index.d.ts +0 -27
- package/dist/types/src/theme/components/index.d.ts.map +0 -1
- package/dist/types/src/theme/components/input.d.ts +0 -115
- package/dist/types/src/theme/components/input.d.ts.map +0 -1
- package/dist/types/src/theme/components/link.d.ts +0 -7
- package/dist/types/src/theme/components/link.d.ts.map +0 -1
- package/dist/types/src/theme/components/list.d.ts +0 -14
- package/dist/types/src/theme/components/list.d.ts.map +0 -1
- package/dist/types/src/theme/components/main.d.ts +0 -28
- package/dist/types/src/theme/components/main.d.ts.map +0 -1
- package/dist/types/src/theme/components/menu.d.ts +0 -13
- package/dist/types/src/theme/components/menu.d.ts.map +0 -1
- package/dist/types/src/theme/components/message.d.ts +0 -12
- package/dist/types/src/theme/components/message.d.ts.map +0 -1
- package/dist/types/src/theme/components/popover.d.ts +0 -11
- package/dist/types/src/theme/components/popover.d.ts.map +0 -1
- package/dist/types/src/theme/components/scroll-area.d.ts +0 -32
- package/dist/types/src/theme/components/scroll-area.d.ts.map +0 -1
- package/dist/types/src/theme/components/select.d.ts +0 -13
- package/dist/types/src/theme/components/select.d.ts.map +0 -1
- package/dist/types/src/theme/components/separator.d.ts +0 -8
- package/dist/types/src/theme/components/separator.d.ts.map +0 -1
- package/dist/types/src/theme/components/skeleton.d.ts +0 -7
- package/dist/types/src/theme/components/skeleton.d.ts.map +0 -1
- package/dist/types/src/theme/components/splitter.d.ts +0 -4
- package/dist/types/src/theme/components/splitter.d.ts.map +0 -1
- package/dist/types/src/theme/components/status.d.ts +0 -9
- package/dist/types/src/theme/components/status.d.ts.map +0 -1
- package/dist/types/src/theme/components/tag.d.ts +0 -7
- package/dist/types/src/theme/components/tag.d.ts.map +0 -1
- package/dist/types/src/theme/components/toast.d.ts +0 -12
- package/dist/types/src/theme/components/toast.d.ts.map +0 -1
- package/dist/types/src/theme/components/toolbar.d.ts +0 -11
- package/dist/types/src/theme/components/toolbar.d.ts.map +0 -1
- package/dist/types/src/theme/components/tooltip.d.ts +0 -8
- package/dist/types/src/theme/components/tooltip.d.ts.map +0 -1
- package/dist/types/src/theme/components/treegrid.d.ts +0 -10
- package/dist/types/src/theme/components/treegrid.d.ts.map +0 -1
- package/dist/types/src/theme/index.d.ts +0 -4
- package/dist/types/src/theme/index.d.ts.map +0 -1
- package/dist/types/src/theme/primitives/column.d.ts +0 -29
- package/dist/types/src/theme/primitives/column.d.ts.map +0 -1
- package/dist/types/src/theme/primitives/index.d.ts +0 -3
- package/dist/types/src/theme/primitives/index.d.ts.map +0 -1
- package/dist/types/src/theme/primitives/panel.d.ts +0 -13
- package/dist/types/src/theme/primitives/panel.d.ts.map +0 -1
- package/dist/types/src/theme/theme.d.ts +0 -5
- package/dist/types/src/theme/theme.d.ts.map +0 -1
- package/src/css/components/selected.css +0 -30
- package/src/theme/components/avatar.ts +0 -95
- package/src/theme/components/breadcrumb.ts +0 -29
- package/src/theme/components/button.ts +0 -48
- package/src/theme/components/card.ts +0 -102
- package/src/theme/components/dialog.ts +0 -61
- package/src/theme/components/focus.ts +0 -33
- package/src/theme/components/icon-button.ts +0 -18
- package/src/theme/components/icon.ts +0 -28
- package/src/theme/components/index.ts +0 -30
- package/src/theme/components/input.ts +0 -171
- package/src/theme/components/link.ts +0 -25
- package/src/theme/components/list.ts +0 -46
- package/src/theme/components/main.ts +0 -34
- package/src/theme/components/menu.ts +0 -50
- package/src/theme/components/message.ts +0 -40
- package/src/theme/components/popover.ts +0 -41
- package/src/theme/components/scroll-area.ts +0 -115
- package/src/theme/components/select.ts +0 -52
- package/src/theme/components/separator.ts +0 -24
- package/src/theme/components/skeleton.ts +0 -23
- package/src/theme/components/splitter.ts +0 -20
- package/src/theme/components/status.ts +0 -32
- package/src/theme/components/tag.ts +0 -23
- package/src/theme/components/toast.ts +0 -53
- package/src/theme/components/toolbar.ts +0 -35
- package/src/theme/components/tooltip.ts +0 -27
- package/src/theme/components/treegrid.ts +0 -37
- package/src/theme/index.ts +0 -7
- package/src/theme/primitives/column.ts +0 -71
- package/src/theme/primitives/index.ts +0 -6
- package/src/theme/primitives/panel.ts +0 -43
- package/src/theme/theme.ts +0 -87
|
@@ -31,10 +31,10 @@
|
|
|
31
31
|
/** Minimal trim to allow for ring/outline. */
|
|
32
32
|
--spacing-form-chrome: var(--spacing-trim-xs);
|
|
33
33
|
--spacing-form-gap: var(--spacing-trim-sm);
|
|
34
|
-
--spacing-form-section-gap: var(--spacing-trim-
|
|
34
|
+
--spacing-form-section-gap: var(--spacing-trim-md);
|
|
35
35
|
|
|
36
36
|
/**
|
|
37
|
-
* Density:
|
|
37
|
+
* Density: md (default).
|
|
38
38
|
*/
|
|
39
39
|
--spacing-form-padding: var(--spacing-trim-sm);
|
|
40
40
|
--spacing-icon-button-padding: var(--spacing-trim-xs);
|
|
@@ -43,15 +43,31 @@
|
|
|
43
43
|
|
|
44
44
|
@layer dx-tokens {
|
|
45
45
|
/**
|
|
46
|
-
*
|
|
46
|
+
* Density: lg — large touch targets (~40px controls).
|
|
47
47
|
*/
|
|
48
|
-
|
|
49
|
-
.dx-density-coarse {
|
|
48
|
+
.dx-density-lg {
|
|
50
49
|
--spacing-form-padding: var(--spacing-trim-md);
|
|
51
50
|
--spacing-icon-button-padding: var(--spacing-trim-sm);
|
|
52
51
|
--spacing-scroll-padding: 8px;
|
|
53
52
|
}
|
|
54
|
-
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Density: sm — compact (~28px controls).
|
|
56
|
+
*/
|
|
57
|
+
.dx-density-sm {
|
|
58
|
+
--spacing-form-padding: var(--spacing-trim-xs);
|
|
59
|
+
--spacing-icon-button-padding: var(--spacing-trim-xs);
|
|
60
|
+
--spacing-scroll-padding: 2px;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Density: xs — ultra-compact (~24px controls).
|
|
65
|
+
*/
|
|
66
|
+
.dx-density-xs {
|
|
67
|
+
--spacing-form-padding: var(--spacing-trim-xs);
|
|
68
|
+
--spacing-icon-button-padding: var(--spacing-trim-xs);
|
|
69
|
+
--spacing-scroll-padding: 2px;
|
|
70
|
+
}
|
|
55
71
|
}
|
|
56
72
|
|
|
57
73
|
/**
|
|
@@ -69,9 +85,9 @@
|
|
|
69
85
|
--dx-lacuna-6: 0.75rem;
|
|
70
86
|
|
|
71
87
|
--dx-gutter-xs: 0.25rem; /* Input rings */
|
|
72
|
-
--dx-gutter-sm: 1rem;
|
|
73
|
-
--dx-gutter-md: 2rem; /* 32px (
|
|
74
|
-
--dx-gutter-lg: 2.5rem; /* 40px (dialog,
|
|
88
|
+
--dx-gutter-sm: 1rem; /* 16px (sm density card) */
|
|
89
|
+
--dx-gutter-md: 2rem; /* 32px (md density card — default) */
|
|
90
|
+
--dx-gutter-lg: 2.5rem; /* 40px (dialog, lg density card) */
|
|
75
91
|
}
|
|
76
92
|
|
|
77
93
|
:root {
|
|
@@ -91,10 +107,11 @@
|
|
|
91
107
|
--dx-modal-line: var(--dx-hair-line);
|
|
92
108
|
--dx-grid-focus-indicator-width: var(--dx-hair-line);
|
|
93
109
|
|
|
94
|
-
--dx-input-
|
|
95
|
-
--dx-input-
|
|
110
|
+
--dx-input-md: var(--dx-lacuna-3);
|
|
111
|
+
--dx-input-lg: var(--dx-lacuna-4);
|
|
112
|
+
--dx-input-sm: var(--dx-lacuna-3);
|
|
96
113
|
|
|
97
|
-
--dx-default-icons-size:
|
|
114
|
+
--dx-default-icons-size: 1rem; /* size=4 */
|
|
98
115
|
}
|
|
99
116
|
|
|
100
117
|
[data-grid-focus-indicator-variant='stack'] {
|
|
@@ -124,7 +141,7 @@
|
|
|
124
141
|
--dx-l0-avatar-size: 3rem;
|
|
125
142
|
--dx-l1-size: calc(var(--dx-nav-sidebar-size) - var(--dx-l0-size));
|
|
126
143
|
--dx-r0-size: var(--dx-rail-size);
|
|
127
|
-
--dx-r1-size: calc(var(--dx-complementary-sidebar-size) - var(--dx-r0-size));
|
|
144
|
+
--dx-r1-size: calc(var(--dx-complementary-sidebar-size) - var(--dx-r0-size) - 1px);
|
|
128
145
|
}
|
|
129
146
|
|
|
130
147
|
:root {
|
package/src/css/theme/styles.css
CHANGED
|
@@ -1,145 +1,198 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Color styles
|
|
2
|
+
* Color styles.
|
|
3
|
+
*
|
|
4
|
+
* Roles:
|
|
5
|
+
* -bg background fill (e.g., button)
|
|
6
|
+
* -bg-hover hover background fill
|
|
7
|
+
* -fg foreground for text on surface
|
|
8
|
+
* -surface background for surface
|
|
9
|
+
* -text text on base surface
|
|
10
|
+
* -border border for surface
|
|
11
|
+
*
|
|
12
|
+
* Hue/role tokens: each hue exposes bg / bg-hover / surface / fg / text / border.
|
|
13
|
+
* `fg` is the on-color for a colored bg/surface; `text` is the hue as standalone
|
|
14
|
+
* colored text on the neutral background. Semantic names (primary, error, …) alias a source hue.
|
|
15
|
+
*
|
|
16
|
+
* These tokens are literal custom properties on disk (not expanded at PostCSS time) because
|
|
17
|
+
* several pipelines read the theme without our Vite plugin chain — notably Tailwind's
|
|
18
|
+
* `@reference "…/main.css"` loader used by the lit-* packages, and tailwindcss's design-system
|
|
19
|
+
* loader used in tests. Edit them here directly.
|
|
3
20
|
*/
|
|
4
21
|
|
|
5
22
|
@theme {
|
|
6
23
|
/*
|
|
7
|
-
* Semantic
|
|
24
|
+
* Semantic — each name aliases a source hue.
|
|
8
25
|
*/
|
|
9
26
|
|
|
10
|
-
--color-
|
|
27
|
+
--color-primary-bg: var(--color-blue-bg);
|
|
28
|
+
--color-primary-bg-hover: var(--color-blue-bg-hover);
|
|
29
|
+
--color-primary-fg: var(--color-blue-fg);
|
|
30
|
+
--color-primary-surface: var(--color-blue-surface);
|
|
31
|
+
--color-primary-text: var(--color-blue-text);
|
|
32
|
+
--color-primary-border: var(--color-blue-border);
|
|
33
|
+
|
|
34
|
+
--color-secondary-bg: var(--color-green-bg);
|
|
35
|
+
--color-secondary-bg-hover: var(--color-green-bg-hover);
|
|
36
|
+
--color-secondary-fg: var(--color-green-fg);
|
|
37
|
+
--color-secondary-surface: var(--color-green-surface);
|
|
38
|
+
--color-secondary-text: var(--color-green-text);
|
|
39
|
+
--color-secondary-border: var(--color-green-border);
|
|
40
|
+
|
|
41
|
+
--color-info-bg: var(--color-cyan-bg);
|
|
42
|
+
--color-info-bg-hover: var(--color-cyan-bg-hover);
|
|
43
|
+
--color-info-fg: var(--color-cyan-fg);
|
|
11
44
|
--color-info-surface: var(--color-cyan-surface);
|
|
12
|
-
--color-info-surface-text: var(--color-cyan-surface-text);
|
|
13
45
|
--color-info-text: var(--color-cyan-text);
|
|
14
46
|
--color-info-border: var(--color-cyan-border);
|
|
15
47
|
|
|
16
|
-
--color-success-
|
|
48
|
+
--color-success-bg: var(--color-emerald-bg);
|
|
49
|
+
--color-success-bg-hover: var(--color-emerald-bg-hover);
|
|
50
|
+
--color-success-fg: var(--color-emerald-fg);
|
|
17
51
|
--color-success-surface: var(--color-emerald-surface);
|
|
18
|
-
--color-success-surface-text: var(--color-emerald-surface-text);
|
|
19
52
|
--color-success-text: var(--color-emerald-text);
|
|
20
53
|
--color-success-border: var(--color-emerald-border);
|
|
21
54
|
|
|
22
|
-
--color-warning-
|
|
55
|
+
--color-warning-bg: var(--color-amber-bg);
|
|
56
|
+
--color-warning-bg-hover: var(--color-amber-bg-hover);
|
|
57
|
+
--color-warning-fg: var(--color-amber-fg);
|
|
23
58
|
--color-warning-surface: var(--color-amber-surface);
|
|
24
|
-
--color-warning-surface-text: var(--color-amber-surface-text);
|
|
25
59
|
--color-warning-text: var(--color-amber-text);
|
|
26
60
|
--color-warning-border: var(--color-amber-border);
|
|
27
61
|
|
|
28
|
-
--color-error-
|
|
62
|
+
--color-error-bg: var(--color-rose-bg);
|
|
63
|
+
--color-error-bg-hover: var(--color-rose-bg-hover);
|
|
64
|
+
--color-error-fg: var(--color-rose-fg);
|
|
29
65
|
--color-error-surface: var(--color-rose-surface);
|
|
30
|
-
--color-error-surface-text: var(--color-rose-surface-text);
|
|
31
66
|
--color-error-text: var(--color-rose-text);
|
|
32
67
|
--color-error-border: var(--color-rose-border);
|
|
33
68
|
|
|
34
|
-
|
|
35
|
-
* Hue
|
|
69
|
+
/*
|
|
70
|
+
* Hue.
|
|
36
71
|
*/
|
|
37
72
|
|
|
38
|
-
--color-neutral-
|
|
39
|
-
--color-neutral-
|
|
40
|
-
--color-neutral-
|
|
41
|
-
--color-neutral-
|
|
42
|
-
--color-neutral-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
--color-red-
|
|
46
|
-
--color-red-
|
|
47
|
-
--color-red-
|
|
48
|
-
--color-red-
|
|
49
|
-
|
|
50
|
-
--color-
|
|
51
|
-
|
|
52
|
-
--color-orange-
|
|
53
|
-
--color-orange-
|
|
54
|
-
--color-orange-
|
|
55
|
-
|
|
56
|
-
--color-
|
|
57
|
-
--color-
|
|
58
|
-
|
|
59
|
-
--color-amber-
|
|
60
|
-
--color-amber-
|
|
61
|
-
|
|
62
|
-
--color-
|
|
63
|
-
--color-
|
|
64
|
-
--color-
|
|
65
|
-
|
|
66
|
-
--color-yellow-
|
|
67
|
-
|
|
68
|
-
--color-
|
|
69
|
-
--color-
|
|
70
|
-
--color-
|
|
71
|
-
--color-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
--color-
|
|
75
|
-
--color-
|
|
76
|
-
--color-
|
|
77
|
-
--color-
|
|
78
|
-
--color-
|
|
79
|
-
|
|
80
|
-
--color-
|
|
81
|
-
--color-
|
|
82
|
-
--color-
|
|
83
|
-
--color-
|
|
84
|
-
--color-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
--color-
|
|
88
|
-
--color-
|
|
89
|
-
--color-
|
|
90
|
-
--color-
|
|
91
|
-
|
|
92
|
-
--color-
|
|
93
|
-
|
|
94
|
-
--color-
|
|
95
|
-
--color-
|
|
96
|
-
--color-
|
|
97
|
-
|
|
98
|
-
--color-
|
|
99
|
-
--color-
|
|
100
|
-
|
|
101
|
-
--color-
|
|
102
|
-
--color-
|
|
103
|
-
|
|
104
|
-
--color-
|
|
105
|
-
--color-
|
|
106
|
-
--color-
|
|
107
|
-
|
|
108
|
-
--color-
|
|
109
|
-
|
|
110
|
-
--color-
|
|
111
|
-
--color-
|
|
112
|
-
--color-
|
|
113
|
-
--color-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
--color-
|
|
117
|
-
--color-
|
|
118
|
-
--color-
|
|
119
|
-
--color-
|
|
120
|
-
--color-
|
|
121
|
-
|
|
122
|
-
--color-
|
|
123
|
-
--color-
|
|
124
|
-
--color-
|
|
125
|
-
--color-
|
|
126
|
-
--color-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
--color-
|
|
130
|
-
--color-
|
|
131
|
-
--color-
|
|
132
|
-
--color-
|
|
133
|
-
|
|
134
|
-
--color-
|
|
135
|
-
|
|
136
|
-
--color-
|
|
137
|
-
--color-
|
|
138
|
-
--color-
|
|
139
|
-
|
|
140
|
-
--color-
|
|
141
|
-
--color-
|
|
142
|
-
|
|
143
|
-
--color-
|
|
144
|
-
--color-
|
|
73
|
+
--color-neutral-bg: var(--color-neutral-600);
|
|
74
|
+
--color-neutral-bg-hover: var(--color-neutral-700);
|
|
75
|
+
--color-neutral-fg: var(--color-neutral-900);
|
|
76
|
+
--color-neutral-surface: var(--color-neutral-400);
|
|
77
|
+
--color-neutral-text: light-dark(var(--color-neutral-800), var(--color-neutral-500));
|
|
78
|
+
--color-neutral-border: var(--color-neutral-600);
|
|
79
|
+
|
|
80
|
+
--color-red-bg: var(--color-red-600);
|
|
81
|
+
--color-red-bg-hover: var(--color-red-700);
|
|
82
|
+
--color-red-fg: var(--color-red-900);
|
|
83
|
+
--color-red-surface: var(--color-red-400);
|
|
84
|
+
--color-red-text: light-dark(var(--color-red-800), var(--color-red-500));
|
|
85
|
+
--color-red-border: var(--color-red-600);
|
|
86
|
+
|
|
87
|
+
--color-orange-bg: var(--color-orange-600);
|
|
88
|
+
--color-orange-bg-hover: var(--color-orange-700);
|
|
89
|
+
--color-orange-fg: var(--color-orange-900);
|
|
90
|
+
--color-orange-surface: var(--color-orange-400);
|
|
91
|
+
--color-orange-text: light-dark(var(--color-orange-800), var(--color-orange-500));
|
|
92
|
+
--color-orange-border: var(--color-orange-600);
|
|
93
|
+
|
|
94
|
+
--color-amber-bg: var(--color-amber-600);
|
|
95
|
+
--color-amber-bg-hover: var(--color-amber-700);
|
|
96
|
+
--color-amber-fg: var(--color-amber-900);
|
|
97
|
+
--color-amber-surface: var(--color-amber-400);
|
|
98
|
+
--color-amber-text: light-dark(var(--color-amber-800), var(--color-amber-500));
|
|
99
|
+
--color-amber-border: var(--color-amber-600);
|
|
100
|
+
|
|
101
|
+
--color-yellow-bg: var(--color-yellow-600);
|
|
102
|
+
--color-yellow-bg-hover: var(--color-yellow-700);
|
|
103
|
+
--color-yellow-fg: var(--color-yellow-900);
|
|
104
|
+
--color-yellow-surface: var(--color-yellow-400);
|
|
105
|
+
--color-yellow-text: light-dark(var(--color-yellow-800), var(--color-yellow-500));
|
|
106
|
+
--color-yellow-border: var(--color-yellow-600);
|
|
107
|
+
|
|
108
|
+
--color-lime-bg: var(--color-lime-600);
|
|
109
|
+
--color-lime-bg-hover: var(--color-lime-700);
|
|
110
|
+
--color-lime-fg: var(--color-lime-900);
|
|
111
|
+
--color-lime-surface: var(--color-lime-400);
|
|
112
|
+
--color-lime-text: light-dark(var(--color-lime-800), var(--color-lime-500));
|
|
113
|
+
--color-lime-border: var(--color-lime-600);
|
|
114
|
+
|
|
115
|
+
--color-green-bg: var(--color-green-600);
|
|
116
|
+
--color-green-bg-hover: var(--color-green-700);
|
|
117
|
+
--color-green-fg: var(--color-green-900);
|
|
118
|
+
--color-green-surface: var(--color-green-400);
|
|
119
|
+
--color-green-text: light-dark(var(--color-green-800), var(--color-green-500));
|
|
120
|
+
--color-green-border: var(--color-green-600);
|
|
121
|
+
|
|
122
|
+
--color-emerald-bg: var(--color-emerald-600);
|
|
123
|
+
--color-emerald-bg-hover: var(--color-emerald-700);
|
|
124
|
+
--color-emerald-fg: var(--color-emerald-900);
|
|
125
|
+
--color-emerald-surface: var(--color-emerald-400);
|
|
126
|
+
--color-emerald-text: light-dark(var(--color-emerald-800), var(--color-emerald-500));
|
|
127
|
+
--color-emerald-border: var(--color-emerald-600);
|
|
128
|
+
|
|
129
|
+
--color-teal-bg: var(--color-teal-600);
|
|
130
|
+
--color-teal-bg-hover: var(--color-teal-700);
|
|
131
|
+
--color-teal-fg: var(--color-teal-900);
|
|
132
|
+
--color-teal-surface: var(--color-teal-400);
|
|
133
|
+
--color-teal-text: light-dark(var(--color-teal-800), var(--color-teal-500));
|
|
134
|
+
--color-teal-border: var(--color-teal-600);
|
|
135
|
+
|
|
136
|
+
--color-cyan-bg: var(--color-cyan-600);
|
|
137
|
+
--color-cyan-bg-hover: var(--color-cyan-700);
|
|
138
|
+
--color-cyan-fg: var(--color-cyan-900);
|
|
139
|
+
--color-cyan-surface: var(--color-cyan-400);
|
|
140
|
+
--color-cyan-text: light-dark(var(--color-cyan-800), var(--color-cyan-500));
|
|
141
|
+
--color-cyan-border: var(--color-cyan-600);
|
|
142
|
+
|
|
143
|
+
--color-sky-bg: var(--color-sky-600);
|
|
144
|
+
--color-sky-bg-hover: var(--color-sky-700);
|
|
145
|
+
--color-sky-fg: var(--color-sky-900);
|
|
146
|
+
--color-sky-surface: var(--color-sky-400);
|
|
147
|
+
--color-sky-text: light-dark(var(--color-sky-800), var(--color-sky-500));
|
|
148
|
+
--color-sky-border: var(--color-sky-600);
|
|
149
|
+
|
|
150
|
+
--color-blue-bg: var(--color-blue-600);
|
|
151
|
+
--color-blue-bg-hover: var(--color-blue-700);
|
|
152
|
+
--color-blue-fg: var(--color-blue-900);
|
|
153
|
+
--color-blue-surface: var(--color-blue-400);
|
|
154
|
+
--color-blue-text: light-dark(var(--color-blue-800), var(--color-blue-500));
|
|
155
|
+
--color-blue-border: var(--color-blue-600);
|
|
156
|
+
|
|
157
|
+
--color-indigo-bg: var(--color-indigo-600);
|
|
158
|
+
--color-indigo-bg-hover: var(--color-indigo-700);
|
|
159
|
+
--color-indigo-fg: var(--color-indigo-900);
|
|
160
|
+
--color-indigo-surface: var(--color-indigo-400);
|
|
161
|
+
--color-indigo-text: light-dark(var(--color-indigo-800), var(--color-indigo-500));
|
|
162
|
+
--color-indigo-border: var(--color-indigo-600);
|
|
163
|
+
|
|
164
|
+
--color-violet-bg: var(--color-violet-600);
|
|
165
|
+
--color-violet-bg-hover: var(--color-violet-700);
|
|
166
|
+
--color-violet-fg: var(--color-violet-900);
|
|
167
|
+
--color-violet-surface: var(--color-violet-400);
|
|
168
|
+
--color-violet-text: light-dark(var(--color-violet-800), var(--color-violet-500));
|
|
169
|
+
--color-violet-border: var(--color-violet-600);
|
|
170
|
+
|
|
171
|
+
--color-purple-bg: var(--color-purple-600);
|
|
172
|
+
--color-purple-bg-hover: var(--color-purple-700);
|
|
173
|
+
--color-purple-fg: var(--color-purple-900);
|
|
174
|
+
--color-purple-surface: var(--color-purple-400);
|
|
175
|
+
--color-purple-text: light-dark(var(--color-purple-800), var(--color-purple-500));
|
|
176
|
+
--color-purple-border: var(--color-purple-600);
|
|
177
|
+
|
|
178
|
+
--color-fuchsia-bg: var(--color-fuchsia-600);
|
|
179
|
+
--color-fuchsia-bg-hover: var(--color-fuchsia-700);
|
|
180
|
+
--color-fuchsia-fg: var(--color-fuchsia-900);
|
|
181
|
+
--color-fuchsia-surface: var(--color-fuchsia-400);
|
|
182
|
+
--color-fuchsia-text: light-dark(var(--color-fuchsia-800), var(--color-fuchsia-500));
|
|
183
|
+
--color-fuchsia-border: var(--color-fuchsia-600);
|
|
184
|
+
|
|
185
|
+
--color-pink-bg: var(--color-pink-600);
|
|
186
|
+
--color-pink-bg-hover: var(--color-pink-700);
|
|
187
|
+
--color-pink-fg: var(--color-pink-900);
|
|
188
|
+
--color-pink-surface: var(--color-pink-400);
|
|
189
|
+
--color-pink-text: light-dark(var(--color-pink-800), var(--color-pink-500));
|
|
190
|
+
--color-pink-border: var(--color-pink-600);
|
|
191
|
+
|
|
192
|
+
--color-rose-bg: var(--color-rose-600);
|
|
193
|
+
--color-rose-bg-hover: var(--color-rose-700);
|
|
194
|
+
--color-rose-fg: var(--color-rose-900);
|
|
195
|
+
--color-rose-surface: var(--color-rose-400);
|
|
196
|
+
--color-rose-text: light-dark(var(--color-rose-800), var(--color-rose-500));
|
|
197
|
+
--color-rose-border: var(--color-rose-600);
|
|
145
198
|
}
|
package/src/css/utilities.css
CHANGED
|
@@ -74,3 +74,45 @@
|
|
|
74
74
|
@apply relative after:content-[""] after:absolute after:inset-0 after:rounded-[inherit]
|
|
75
75
|
after:pointer-events-none after:ring after:ring-inset after:ring-transparent;
|
|
76
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
|
+
}
|
|
118
|
+
}
|
package/src/defs.ts
CHANGED
|
@@ -34,7 +34,9 @@ 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
|
-
|
|
37
|
+
// NOTE: These are the JS-side style-API role keys (see ColorStyles in util/hash-styles.ts), kept
|
|
38
|
+
// distinct from the renamed CSS custom-property suffixes (`-bg`/`-fg`).
|
|
39
|
+
export const roles = ['fill', 'surface', 'foreground', 'text', 'border'] as const;
|
|
38
40
|
|
|
39
41
|
/**
|
|
40
42
|
* Card size constants (Tailwind spacing units).
|
package/src/fragments/AUDIT.md
CHANGED
|
@@ -16,7 +16,6 @@ External packages importing fragment definitions from `ui-theme/src/fragments`.
|
|
|
16
16
|
| `focus.ts` | `focusRing` | 2 | 5 |
|
|
17
17
|
| `focus.ts` | `subduedFocus` | - | 2 |
|
|
18
18
|
| `focus.ts` | `staticFocusRing` | - | 1 |
|
|
19
|
-
| `hover.ts` | `subtleHover` | 4 | - |
|
|
20
19
|
| `hover.ts` | `ghostHover` | 8 | 2 |
|
|
21
20
|
| `hover.ts` | `ghostFocusWithin` | 1 | - |
|
|
22
21
|
| `hover.ts` | `hoverableControls` | 9 | - |
|
|
@@ -53,5 +52,4 @@ External packages importing fragment definitions from `ui-theme/src/fragments`.
|
|
|
53
52
|
|
|
54
53
|
**Completely unused:** 7 fragments
|
|
55
54
|
|
|
56
|
-
- `subtleHover` from `hover.ts`
|
|
57
55
|
- `hoverableOpenControlItem`, `groupHoverControlItemWithTransition` from `hover.ts` (only 2-3 uses)
|
package/src/fragments/density.ts
CHANGED
|
@@ -4,13 +4,40 @@
|
|
|
4
4
|
|
|
5
5
|
import { type Density } from '@dxos/ui-types';
|
|
6
6
|
|
|
7
|
-
const
|
|
8
|
-
const
|
|
7
|
+
const lgBlockSize = 'min-h-[2.5rem]';
|
|
8
|
+
const mdBlockSize = 'min-h-[2.5rem] pointer-fine:min-h-[2rem]';
|
|
9
|
+
const smBlockSize = 'min-h-[1.75rem]';
|
|
10
|
+
const xsBlockSize = 'min-h-[1.5rem]';
|
|
9
11
|
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
+
const lgDimensions = `${lgBlockSize} px-3`;
|
|
13
|
+
const mdDimensions = `${mdBlockSize} px-2`;
|
|
14
|
+
const smDimensions = `${smBlockSize} px-1.5`;
|
|
15
|
+
const xsDimensions = `${xsBlockSize} px-1`;
|
|
12
16
|
|
|
13
|
-
export const densityDimensions = (density: Density = '
|
|
14
|
-
density
|
|
17
|
+
export const densityDimensions = (density: Density = 'md') => {
|
|
18
|
+
switch (density) {
|
|
19
|
+
case 'lg':
|
|
20
|
+
return lgDimensions;
|
|
21
|
+
case 'sm':
|
|
22
|
+
return smDimensions;
|
|
23
|
+
case 'xs':
|
|
24
|
+
return xsDimensions;
|
|
25
|
+
case 'md':
|
|
26
|
+
default:
|
|
27
|
+
return mdDimensions;
|
|
28
|
+
}
|
|
29
|
+
};
|
|
15
30
|
|
|
16
|
-
export const densityBlockSize = (density: Density = '
|
|
31
|
+
export const densityBlockSize = (density: Density = 'md') => {
|
|
32
|
+
switch (density) {
|
|
33
|
+
case 'lg':
|
|
34
|
+
return lgBlockSize;
|
|
35
|
+
case 'sm':
|
|
36
|
+
return smBlockSize;
|
|
37
|
+
case 'xs':
|
|
38
|
+
return xsBlockSize;
|
|
39
|
+
case 'md':
|
|
40
|
+
default:
|
|
41
|
+
return mdBlockSize;
|
|
42
|
+
}
|
|
43
|
+
};
|
package/src/fragments/hover.ts
CHANGED
package/src/index.ts
CHANGED