@rokkit/themes 1.1.8 → 1.1.10
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/package.json +3 -3
- package/src/base/button.css +6 -6
- package/src/base/density.css +9 -0
- package/src/base/dropdown.css +3 -3
- package/src/base/grid.css +0 -35
- package/src/base/input.css +9 -0
- package/src/base/menu.css +3 -3
- package/src/base/palette-manager.css +30 -77
- package/src/base/pill.css +3 -4
- package/src/base/progress.css +0 -2
- package/src/base/range.css +2 -1
- package/src/base/rating.css +0 -8
- package/src/base/select.css +3 -3
- package/src/base/switch.css +16 -0
- package/src/base/table.css +0 -15
- package/src/base/toggle.css +9 -9
- package/src/base/tooltip.css +0 -12
- package/src/frosted/grid.css +26 -0
- package/src/frosted/index.css +6 -0
- package/src/frosted/palette-manager.css +97 -0
- package/src/frosted/pill.css +17 -0
- package/src/frosted/progress.css +13 -0
- package/src/frosted/rating.css +13 -0
- package/src/frosted/table.css +10 -0
- package/src/frosted/tooltip.css +7 -0
- package/src/material/grid.css +26 -0
- package/src/material/index.css +6 -0
- package/src/material/palette-manager.css +97 -0
- package/src/material/pill.css +17 -0
- package/src/material/progress.css +13 -0
- package/src/material/rating.css +13 -0
- package/src/material/table.css +10 -0
- package/src/material/tooltip.css +7 -0
- package/src/minimal/grid.css +26 -0
- package/src/minimal/index.css +6 -0
- package/src/minimal/palette-manager.css +97 -0
- package/src/minimal/pill.css +17 -0
- package/src/minimal/progress.css +13 -0
- package/src/minimal/rating.css +13 -0
- package/src/minimal/table.css +10 -0
- package/src/minimal/tooltip.css +7 -0
- package/src/rokkit/index.css +4 -0
- package/src/rokkit/palette-manager.css +97 -0
- package/src/rokkit/pill.css +17 -0
- package/src/rokkit/progress.css +13 -0
- package/src/rokkit/rating.css +13 -0
- package/src/rokkit/table.css +10 -0
- package/src/zen-sumi/grid.css +26 -0
- package/src/zen-sumi/index.css +6 -0
- package/src/zen-sumi/palette-manager.css +97 -0
- package/src/zen-sumi/pill.css +17 -0
- package/src/zen-sumi/progress.css +13 -0
- package/src/zen-sumi/rating.css +13 -0
- package/src/zen-sumi/table.css +10 -0
- package/src/zen-sumi/tooltip.css +7 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rokkit/themes",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.10",
|
|
4
4
|
"description": "Theme styles for @rokkit/ui components",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -103,10 +103,10 @@
|
|
|
103
103
|
"build": "bun run build.mjs"
|
|
104
104
|
},
|
|
105
105
|
"dependencies": {
|
|
106
|
-
"@rokkit/core": "1.1.
|
|
106
|
+
"@rokkit/core": "1.1.10"
|
|
107
107
|
},
|
|
108
108
|
"devDependencies": {
|
|
109
|
-
"@rokkit/unocss": "1.1.
|
|
109
|
+
"@rokkit/unocss": "1.1.10",
|
|
110
110
|
"magic-string": "^0.30.21",
|
|
111
111
|
"unocss": "^66.5.1"
|
|
112
112
|
},
|
package/src/base/button.css
CHANGED
|
@@ -67,14 +67,14 @@
|
|
|
67
67
|
|
|
68
68
|
/* Small */
|
|
69
69
|
[data-button][data-size='sm'] {
|
|
70
|
-
height:
|
|
70
|
+
height: var(--control-h-sm);
|
|
71
71
|
padding-inline: 0.625rem;
|
|
72
72
|
font-size: 0.75rem;
|
|
73
73
|
gap: 0.375rem;
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
[data-button][data-size='sm'][data-icon-only] {
|
|
77
|
-
width:
|
|
77
|
+
width: var(--control-h-sm);
|
|
78
78
|
}
|
|
79
79
|
|
|
80
80
|
[data-button][data-size='sm'] [data-item-icon],
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
/* Medium (default) — responds to density */
|
|
86
86
|
[data-button][data-size='md'],
|
|
87
87
|
[data-button]:not([data-size]) {
|
|
88
|
-
height:
|
|
88
|
+
height: var(--control-h-md);
|
|
89
89
|
padding-inline: var(--density-spacing-lg);
|
|
90
90
|
font-size: 0.875rem;
|
|
91
91
|
gap: var(--density-spacing-sm);
|
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
|
|
94
94
|
[data-button][data-size='md'][data-icon-only],
|
|
95
95
|
[data-button]:not([data-size])[data-icon-only] {
|
|
96
|
-
width:
|
|
96
|
+
width: var(--control-h-md);
|
|
97
97
|
}
|
|
98
98
|
|
|
99
99
|
[data-button][data-size='md'] [data-item-icon],
|
|
@@ -105,14 +105,14 @@
|
|
|
105
105
|
|
|
106
106
|
/* Large */
|
|
107
107
|
[data-button][data-size='lg'] {
|
|
108
|
-
height:
|
|
108
|
+
height: var(--control-h-lg);
|
|
109
109
|
padding-inline: 1.5rem;
|
|
110
110
|
font-size: 1rem;
|
|
111
111
|
gap: 0.625rem;
|
|
112
112
|
}
|
|
113
113
|
|
|
114
114
|
[data-button][data-size='lg'][data-icon-only] {
|
|
115
|
-
width:
|
|
115
|
+
width: var(--control-h-lg);
|
|
116
116
|
}
|
|
117
117
|
|
|
118
118
|
[data-button][data-size='lg'] [data-item-icon],
|
package/src/base/density.css
CHANGED
|
@@ -7,6 +7,15 @@
|
|
|
7
7
|
* Axes: compact → comfortable (default) → cozy
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
+
/* Control heights — fixed scale (rem, so they track font-size). Density drives
|
|
11
|
+
internal spacing/padding/typography, NOT the control height, so same-size
|
|
12
|
+
controls (button, select, dropdown, menu, toggle, input) always align. */
|
|
13
|
+
:root {
|
|
14
|
+
--control-h-sm: 1.75rem;
|
|
15
|
+
--control-h-md: 2.25rem;
|
|
16
|
+
--control-h-lg: 2.75rem;
|
|
17
|
+
}
|
|
18
|
+
|
|
10
19
|
:root,
|
|
11
20
|
[data-density='comfortable'] {
|
|
12
21
|
--density-spacing-base: 1rem;
|
package/src/base/dropdown.css
CHANGED
|
@@ -47,20 +47,20 @@
|
|
|
47
47
|
|
|
48
48
|
/* Size variants */
|
|
49
49
|
[data-dropdown][data-size='sm'] [data-dropdown-trigger] {
|
|
50
|
-
height:
|
|
50
|
+
height: var(--control-h-sm);
|
|
51
51
|
padding-inline: 0.5rem;
|
|
52
52
|
font-size: 0.75rem;
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
[data-dropdown][data-size='md'] [data-dropdown-trigger],
|
|
56
56
|
[data-dropdown]:not([data-size]) [data-dropdown-trigger] {
|
|
57
|
-
height:
|
|
57
|
+
height: var(--control-h-md);
|
|
58
58
|
padding-inline: var(--density-spacing-md);
|
|
59
59
|
font-size: 0.875rem;
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
[data-dropdown][data-size='lg'] [data-dropdown-trigger] {
|
|
63
|
-
height:
|
|
63
|
+
height: var(--control-h-lg);
|
|
64
64
|
padding-inline: 0.75rem;
|
|
65
65
|
font-size: 1rem;
|
|
66
66
|
}
|
package/src/base/grid.css
CHANGED
|
@@ -91,38 +91,3 @@
|
|
|
91
91
|
[data-grid][data-size='lg'] [data-grid-item] [data-item-icon] {
|
|
92
92
|
font-size: 2rem;
|
|
93
93
|
}
|
|
94
|
-
|
|
95
|
-
/* =============================================================================
|
|
96
|
-
Default Colors (flipping named tokens — applies to every style)
|
|
97
|
-
Mirrors rokkit/grid.css using raw var(--token) so non-rokkit styles
|
|
98
|
-
inherit tile borders, hover/focus, active selection, and icon tinting.
|
|
99
|
-
============================================================================= */
|
|
100
|
-
|
|
101
|
-
[data-grid-item] {
|
|
102
|
-
border-color: var(--paper-edge);
|
|
103
|
-
color: var(--ink-mute);
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
[data-grid-item]:hover:not(:disabled):not([data-disabled]),
|
|
107
|
-
[data-grid-item]:focus:not(:disabled):not([data-disabled]) {
|
|
108
|
-
border-color: var(--ink-soft);
|
|
109
|
-
background: var(--paper-mute);
|
|
110
|
-
color: var(--ink);
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
[data-grid-item][data-active] {
|
|
114
|
-
border-color: var(--primary);
|
|
115
|
-
color: var(--primary);
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
[data-grid-item] [data-item-icon] {
|
|
119
|
-
color: var(--ink-soft);
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
[data-grid-item]:hover:not(:disabled):not([data-disabled]) [data-item-icon] {
|
|
123
|
-
color: var(--ink-mute);
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
[data-grid-item][data-active] [data-item-icon] {
|
|
127
|
-
color: var(--primary);
|
|
128
|
-
}
|
package/src/base/input.css
CHANGED
|
@@ -169,6 +169,11 @@ button[data-form-reset]:disabled {
|
|
|
169
169
|
[data-input-root] [data-select] [data-select-trigger] {
|
|
170
170
|
@apply flex-1 self-stretch;
|
|
171
171
|
min-width: 0;
|
|
172
|
+
/* Fill the field (via self-stretch) instead of imposing the standalone control
|
|
173
|
+
height — so a control embedded in a form field is the same height as a plain
|
|
174
|
+
field (the wrapper owns the height). Any control embedded in [data-input-root]
|
|
175
|
+
should follow this contract. */
|
|
176
|
+
height: auto;
|
|
172
177
|
}
|
|
173
178
|
|
|
174
179
|
/* Checkbox icon */
|
|
@@ -201,6 +206,10 @@ button[data-form-reset]:disabled {
|
|
|
201
206
|
/* Input wrapper: horizontal for input + icon */
|
|
202
207
|
[data-input-root] {
|
|
203
208
|
@apply flex flex-row items-center;
|
|
209
|
+
/* Align to the shared control-height scale so a text field lines up with
|
|
210
|
+
buttons/selects/etc. at the default (md) size. min-height (not height) so
|
|
211
|
+
a textarea still grows past one line. */
|
|
212
|
+
min-height: var(--control-h-md);
|
|
204
213
|
}
|
|
205
214
|
|
|
206
215
|
/* Input elements fill available width */
|
package/src/base/menu.css
CHANGED
|
@@ -48,20 +48,20 @@
|
|
|
48
48
|
|
|
49
49
|
/* Size variants */
|
|
50
50
|
[data-menu][data-size='sm'] [data-menu-trigger] {
|
|
51
|
-
height:
|
|
51
|
+
height: var(--control-h-sm);
|
|
52
52
|
padding-inline: 0.5rem;
|
|
53
53
|
font-size: 0.75rem;
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
[data-menu][data-size='md'] [data-menu-trigger],
|
|
57
57
|
[data-menu]:not([data-size]) [data-menu-trigger] {
|
|
58
|
-
height:
|
|
58
|
+
height: var(--control-h-md);
|
|
59
59
|
padding-inline: var(--density-spacing-md);
|
|
60
60
|
font-size: 0.875rem;
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
[data-menu][data-size='lg'] [data-menu-trigger] {
|
|
64
|
-
height:
|
|
64
|
+
height: var(--control-h-lg);
|
|
65
65
|
padding-inline: 0.75rem;
|
|
66
66
|
font-size: 1rem;
|
|
67
67
|
}
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* PaletteManager — Base
|
|
2
|
+
* PaletteManager — Base STRUCTURAL styles only.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* Headless base: this file owns layout/structure (display, flex/grid, gap,
|
|
5
|
+
* padding, sizing, border-width/style, border-radius, font metrics, cursor,
|
|
6
|
+
* transition, overflow, etc.). All COLOR (background/text/border-color, focus
|
|
7
|
+
* ring color, placeholder color) lives in the per-style theme layers
|
|
8
|
+
* (rokkit / minimal / material / frosted / zen-sumi) via @apply token classes.
|
|
9
|
+
*
|
|
10
|
+
* The shade-swatch background uses the component-supplied inline
|
|
11
|
+
* `--preset-color` variable — that is component-driven, not a theme token, so
|
|
12
|
+
* it stays here.
|
|
7
13
|
*
|
|
8
14
|
* Parts (from PaletteManager.svelte):
|
|
9
15
|
* data-palette-manager / data-compact — root container
|
|
@@ -28,10 +34,9 @@
|
|
|
28
34
|
flex-direction: column;
|
|
29
35
|
gap: 1rem;
|
|
30
36
|
padding: 1rem;
|
|
31
|
-
border: 1px
|
|
37
|
+
border-width: 1px;
|
|
38
|
+
border-style: solid;
|
|
32
39
|
border-radius: var(--radius-md, 0.375rem);
|
|
33
|
-
background-color: var(--paper);
|
|
34
|
-
color: var(--ink);
|
|
35
40
|
font-size: 0.875rem;
|
|
36
41
|
}
|
|
37
42
|
|
|
@@ -52,7 +57,6 @@
|
|
|
52
57
|
font-weight: 600;
|
|
53
58
|
text-transform: uppercase;
|
|
54
59
|
letter-spacing: 0.05em;
|
|
55
|
-
color: var(--ink-mute);
|
|
56
60
|
}
|
|
57
61
|
|
|
58
62
|
/* =============================================================================
|
|
@@ -70,10 +74,9 @@
|
|
|
70
74
|
align-items: center;
|
|
71
75
|
gap: 0.5rem;
|
|
72
76
|
padding: 0.375rem 0.625rem;
|
|
73
|
-
border: 1px
|
|
77
|
+
border-width: 1px;
|
|
78
|
+
border-style: solid;
|
|
74
79
|
border-radius: var(--radius-md, 0.375rem);
|
|
75
|
-
background-color: var(--paper-soft);
|
|
76
|
-
color: var(--ink);
|
|
77
80
|
font-size: 0.8125rem;
|
|
78
81
|
cursor: pointer;
|
|
79
82
|
transition:
|
|
@@ -82,21 +85,13 @@
|
|
|
82
85
|
color 150ms ease;
|
|
83
86
|
}
|
|
84
87
|
|
|
85
|
-
[data-palette-preset]:hover {
|
|
86
|
-
background-color: var(--paper-mute);
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
[data-palette-preset][data-active] {
|
|
90
|
-
border-color: var(--primary);
|
|
91
|
-
color: var(--primary);
|
|
92
|
-
}
|
|
93
|
-
|
|
94
88
|
[data-palette-preset-swatch] {
|
|
95
89
|
width: 1rem;
|
|
96
90
|
height: 1rem;
|
|
97
91
|
flex-shrink: 0;
|
|
98
92
|
border-radius: 9999px;
|
|
99
|
-
border: 1px
|
|
93
|
+
border-width: 1px;
|
|
94
|
+
border-style: solid;
|
|
100
95
|
background-color: var(--preset-color, var(--primary));
|
|
101
96
|
}
|
|
102
97
|
|
|
@@ -116,10 +111,9 @@
|
|
|
116
111
|
|
|
117
112
|
[data-palette-custom-item] {
|
|
118
113
|
padding: 0.375rem 0.625rem;
|
|
119
|
-
border: 1px
|
|
114
|
+
border-width: 1px;
|
|
115
|
+
border-style: solid;
|
|
120
116
|
border-radius: var(--radius-md, 0.375rem);
|
|
121
|
-
background-color: var(--paper-soft);
|
|
122
|
-
color: var(--ink-mute);
|
|
123
117
|
font-size: 0.8125rem;
|
|
124
118
|
cursor: pointer;
|
|
125
119
|
transition:
|
|
@@ -128,16 +122,6 @@
|
|
|
128
122
|
color 150ms ease;
|
|
129
123
|
}
|
|
130
124
|
|
|
131
|
-
[data-palette-custom-item]:hover {
|
|
132
|
-
background-color: var(--paper-mute);
|
|
133
|
-
color: var(--ink);
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
[data-palette-custom-item][data-active] {
|
|
137
|
-
border-color: var(--primary);
|
|
138
|
-
color: var(--primary);
|
|
139
|
-
}
|
|
140
|
-
|
|
141
125
|
/* =============================================================================
|
|
142
126
|
Editor / role rows
|
|
143
127
|
============================================================================= */
|
|
@@ -158,7 +142,6 @@
|
|
|
158
142
|
flex: 0 0 6rem;
|
|
159
143
|
font-size: 0.8125rem;
|
|
160
144
|
font-weight: 500;
|
|
161
|
-
color: var(--ink);
|
|
162
145
|
}
|
|
163
146
|
|
|
164
147
|
[data-palette-role-controls] {
|
|
@@ -174,23 +157,18 @@
|
|
|
174
157
|
[data-palette-color-select],
|
|
175
158
|
[data-palette-color-input] {
|
|
176
159
|
padding: 0.3125rem 0.5rem;
|
|
177
|
-
border: 1px
|
|
160
|
+
border-width: 1px;
|
|
161
|
+
border-style: solid;
|
|
178
162
|
border-radius: var(--radius-md, 0.375rem);
|
|
179
|
-
background-color: var(--paper-soft);
|
|
180
|
-
color: var(--ink);
|
|
181
163
|
font-size: 0.8125rem;
|
|
182
164
|
line-height: 1.2;
|
|
183
165
|
}
|
|
184
166
|
|
|
185
|
-
[data-palette-color-input]::placeholder {
|
|
186
|
-
color: var(--ink-faint);
|
|
187
|
-
}
|
|
188
|
-
|
|
189
167
|
[data-palette-color-select]:focus-visible,
|
|
190
168
|
[data-palette-color-input]:focus-visible {
|
|
191
|
-
outline: 2px
|
|
169
|
+
outline-width: 2px;
|
|
170
|
+
outline-style: solid;
|
|
192
171
|
outline-offset: 1px;
|
|
193
|
-
border-color: var(--primary);
|
|
194
172
|
}
|
|
195
173
|
|
|
196
174
|
[data-palette-hex-toggle] {
|
|
@@ -200,21 +178,15 @@
|
|
|
200
178
|
width: 1.75rem;
|
|
201
179
|
height: 1.75rem;
|
|
202
180
|
padding: 0;
|
|
203
|
-
border: 1px
|
|
181
|
+
border-width: 1px;
|
|
182
|
+
border-style: solid;
|
|
204
183
|
border-radius: var(--radius-md, 0.375rem);
|
|
205
|
-
background-color: var(--paper-soft);
|
|
206
|
-
color: var(--ink-mute);
|
|
207
184
|
cursor: pointer;
|
|
208
185
|
transition:
|
|
209
186
|
background-color 150ms ease,
|
|
210
187
|
color 150ms ease;
|
|
211
188
|
}
|
|
212
189
|
|
|
213
|
-
[data-palette-hex-toggle]:hover {
|
|
214
|
-
background-color: var(--paper-mute);
|
|
215
|
-
color: var(--ink);
|
|
216
|
-
}
|
|
217
|
-
|
|
218
190
|
/* =============================================================================
|
|
219
191
|
Shade ramp
|
|
220
192
|
============================================================================= */
|
|
@@ -224,7 +196,8 @@
|
|
|
224
196
|
margin-left: auto;
|
|
225
197
|
border-radius: var(--radius-md, 0.375rem);
|
|
226
198
|
overflow: hidden;
|
|
227
|
-
border: 1px
|
|
199
|
+
border-width: 1px;
|
|
200
|
+
border-style: solid;
|
|
228
201
|
}
|
|
229
202
|
|
|
230
203
|
[data-palette-shade] {
|
|
@@ -260,32 +233,12 @@
|
|
|
260
233
|
|
|
261
234
|
/* Save = secondary / outlined */
|
|
262
235
|
[data-palette-save] {
|
|
263
|
-
border: 1px
|
|
264
|
-
|
|
265
|
-
color: var(--ink-mute);
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
[data-palette-save]:hover {
|
|
269
|
-
background-color: var(--paper-mute);
|
|
270
|
-
color: var(--ink);
|
|
236
|
+
border-width: 1px;
|
|
237
|
+
border-style: solid;
|
|
271
238
|
}
|
|
272
239
|
|
|
273
240
|
/* Apply = primary action */
|
|
274
241
|
[data-palette-apply] {
|
|
275
|
-
border: 1px
|
|
276
|
-
|
|
277
|
-
color: var(--on-primary);
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
[data-palette-apply]:hover {
|
|
281
|
-
background-color: var(--primary-soft);
|
|
282
|
-
border-color: var(--primary-soft);
|
|
283
|
-
}
|
|
284
|
-
|
|
285
|
-
/* Icon glyphs follow their button's text color */
|
|
286
|
-
[data-palette-presets-icon],
|
|
287
|
-
[data-palette-hex-icon],
|
|
288
|
-
[data-palette-save-icon],
|
|
289
|
-
[data-palette-check-icon] {
|
|
290
|
-
color: inherit;
|
|
242
|
+
border-width: 1px;
|
|
243
|
+
border-style: solid;
|
|
291
244
|
}
|
package/src/base/pill.css
CHANGED
|
@@ -11,8 +11,9 @@
|
|
|
11
11
|
white-space: nowrap;
|
|
12
12
|
outline: none;
|
|
13
13
|
vertical-align: middle;
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
/* Align to the smallest control rung (pills are the compact end of the family);
|
|
15
|
+
min-height so content can still grow. */
|
|
16
|
+
min-height: var(--control-h-sm);
|
|
16
17
|
}
|
|
17
18
|
|
|
18
19
|
[data-pill-icon] {
|
|
@@ -37,7 +38,6 @@
|
|
|
37
38
|
border-radius: 9999px;
|
|
38
39
|
cursor: pointer;
|
|
39
40
|
background: transparent;
|
|
40
|
-
color: var(--ink-soft);
|
|
41
41
|
opacity: 0.6;
|
|
42
42
|
transition:
|
|
43
43
|
opacity 0.15s ease,
|
|
@@ -48,7 +48,6 @@
|
|
|
48
48
|
|
|
49
49
|
[data-pill-remove]:hover {
|
|
50
50
|
opacity: 1;
|
|
51
|
-
color: var(--ink);
|
|
52
51
|
}
|
|
53
52
|
|
|
54
53
|
[data-pill-remove]:disabled {
|
package/src/base/progress.css
CHANGED
|
@@ -6,14 +6,12 @@
|
|
|
6
6
|
height: 0.5rem;
|
|
7
7
|
border-radius: 9999px;
|
|
8
8
|
overflow: hidden;
|
|
9
|
-
background: var(--paper-mute);
|
|
10
9
|
}
|
|
11
10
|
|
|
12
11
|
[data-progress-bar] {
|
|
13
12
|
height: 100%;
|
|
14
13
|
border-radius: 9999px;
|
|
15
14
|
transition: width 0.3s ease;
|
|
16
|
-
background: var(--primary);
|
|
17
15
|
}
|
|
18
16
|
|
|
19
17
|
[data-progress][data-indeterminate] [data-progress-bar] {
|
package/src/base/range.css
CHANGED
package/src/base/rating.css
CHANGED
package/src/base/select.css
CHANGED
|
@@ -49,20 +49,20 @@
|
|
|
49
49
|
|
|
50
50
|
/* Size variants */
|
|
51
51
|
[data-select][data-size='sm'] [data-select-trigger] {
|
|
52
|
-
height:
|
|
52
|
+
height: var(--control-h-sm);
|
|
53
53
|
padding-inline: 0.5rem;
|
|
54
54
|
font-size: 0.75rem;
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
[data-select][data-size='md'] [data-select-trigger],
|
|
58
58
|
[data-select]:not([data-size]) [data-select-trigger] {
|
|
59
|
-
height:
|
|
59
|
+
height: var(--control-h-md);
|
|
60
60
|
padding-inline: 0.75rem;
|
|
61
61
|
font-size: 0.875rem;
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
[data-select][data-size='lg'] [data-select-trigger] {
|
|
65
|
-
height:
|
|
65
|
+
height: var(--control-h-lg);
|
|
66
66
|
padding-inline: 1rem;
|
|
67
67
|
font-size: 1rem;
|
|
68
68
|
}
|
package/src/base/switch.css
CHANGED
|
@@ -30,6 +30,22 @@
|
|
|
30
30
|
cursor: not-allowed;
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
+
/* Bounding height aligns to the shared control scale (so a switch lines up with
|
|
34
|
+
buttons/inputs/etc. in a row); the track/thumb keep their geometry, centered
|
|
35
|
+
via align-items: center. */
|
|
36
|
+
[data-switch][data-switch-size='sm'] {
|
|
37
|
+
min-height: var(--control-h-sm);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
[data-switch][data-switch-size='md'],
|
|
41
|
+
[data-switch]:not([data-switch-size]) {
|
|
42
|
+
min-height: var(--control-h-md);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
[data-switch][data-switch-size='lg'] {
|
|
46
|
+
min-height: var(--control-h-lg);
|
|
47
|
+
}
|
|
48
|
+
|
|
33
49
|
/* =============================================================================
|
|
34
50
|
Track
|
|
35
51
|
============================================================================= */
|
package/src/base/table.css
CHANGED
|
@@ -92,21 +92,6 @@
|
|
|
92
92
|
outline: none;
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
-
/* Default state colors (flipping named tokens — applies to every style).
|
|
96
|
-
data-focused = keyboard-focused row (Table + TreeTable emit it as a bare
|
|
97
|
-
attribute). data-group = synthesised group row in TreeTable. Scoped under
|
|
98
|
-
[data-table] so the bare attribute selectors don't bleed into other
|
|
99
|
-
components. Selected/hover remain owned by per-style theme CSS. */
|
|
100
|
-
[data-table] tr[data-table-row][data-focused] {
|
|
101
|
-
background: var(--paper-mute);
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
[data-table] tr[data-table-row][data-group] {
|
|
105
|
-
background: var(--paper-soft);
|
|
106
|
-
color: var(--ink);
|
|
107
|
-
font-weight: 500;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
95
|
/* =============================================================================
|
|
111
96
|
Cells
|
|
112
97
|
============================================================================= */
|
package/src/base/toggle.css
CHANGED
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
|
|
66
66
|
/* Small */
|
|
67
67
|
[data-toggle][data-toggle-size='sm'] [data-toggle-option] {
|
|
68
|
-
height:
|
|
68
|
+
height: var(--control-h-sm);
|
|
69
69
|
font-size: 0.75rem;
|
|
70
70
|
gap: 0.25rem;
|
|
71
71
|
}
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
/* Medium (default) */
|
|
86
86
|
[data-toggle][data-toggle-size='md'] [data-toggle-option],
|
|
87
87
|
[data-toggle]:not([data-toggle-size]) [data-toggle-option] {
|
|
88
|
-
height:
|
|
88
|
+
height: var(--control-h-md);
|
|
89
89
|
font-size: 0.875rem;
|
|
90
90
|
gap: 0.375rem;
|
|
91
91
|
}
|
|
@@ -107,7 +107,7 @@
|
|
|
107
107
|
|
|
108
108
|
/* Large */
|
|
109
109
|
[data-toggle][data-toggle-size='lg'] [data-toggle-option] {
|
|
110
|
-
height:
|
|
110
|
+
height: var(--control-h-lg);
|
|
111
111
|
font-size: 1rem;
|
|
112
112
|
gap: 0.5rem;
|
|
113
113
|
}
|
|
@@ -169,17 +169,17 @@
|
|
|
169
169
|
|
|
170
170
|
/* Square control sized to match the option height scale */
|
|
171
171
|
[data-toggle][data-toggle-variant='button'][data-toggle-size='sm'] {
|
|
172
|
-
height:
|
|
173
|
-
min-width:
|
|
172
|
+
height: var(--control-h-sm);
|
|
173
|
+
min-width: var(--control-h-sm);
|
|
174
174
|
}
|
|
175
175
|
|
|
176
176
|
[data-toggle][data-toggle-variant='button'][data-toggle-size='md'],
|
|
177
177
|
[data-toggle][data-toggle-variant='button']:not([data-toggle-size]) {
|
|
178
|
-
height:
|
|
179
|
-
min-width:
|
|
178
|
+
height: var(--control-h-md);
|
|
179
|
+
min-width: var(--control-h-md);
|
|
180
180
|
}
|
|
181
181
|
|
|
182
182
|
[data-toggle][data-toggle-variant='button'][data-toggle-size='lg'] {
|
|
183
|
-
height:
|
|
184
|
-
min-width:
|
|
183
|
+
height: var(--control-h-lg);
|
|
184
|
+
min-width: var(--control-h-lg);
|
|
185
185
|
}
|
package/src/base/tooltip.css
CHANGED
|
@@ -62,15 +62,3 @@
|
|
|
62
62
|
visibility: visible;
|
|
63
63
|
opacity: 1;
|
|
64
64
|
}
|
|
65
|
-
|
|
66
|
-
/* =============================================================================
|
|
67
|
-
Default Colors (flipping named tokens — applies to every style)
|
|
68
|
-
Tooltips are inverse: dark bubble on light text. Mirrors rokkit/tooltip.css
|
|
69
|
-
using raw var(--token). The component renders no arrow element, so only the
|
|
70
|
-
bubble (data-tooltip-content) is colored.
|
|
71
|
-
============================================================================= */
|
|
72
|
-
|
|
73
|
-
[data-tooltip-content] {
|
|
74
|
-
background: var(--ink);
|
|
75
|
-
color: var(--paper);
|
|
76
|
-
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Grid - Glass Theme Styles
|
|
3
|
+
*
|
|
4
|
+
* Tile borders, hover/focus effects, selection highlight.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
[data-style='frosted'] [data-grid-item] {
|
|
8
|
+
@apply border-paper-edge text-ink-mute;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
[data-style='frosted'] [data-grid-item]:hover:not(:disabled):not([data-disabled]),
|
|
12
|
+
[data-style='frosted'] [data-grid-item]:focus:not(:disabled):not([data-disabled]) {
|
|
13
|
+
@apply border-ink-soft bg-paper-mute text-ink;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
[data-style='frosted'] [data-grid-item][data-active] {
|
|
17
|
+
@apply border-primary text-primary;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
[data-style='frosted'] [data-grid-item] [data-item-icon] {
|
|
21
|
+
@apply text-ink-soft;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
[data-style='frosted'] [data-grid-item][data-active] [data-item-icon] {
|
|
25
|
+
@apply text-primary;
|
|
26
|
+
}
|
package/src/frosted/index.css
CHANGED
|
@@ -18,6 +18,8 @@
|
|
|
18
18
|
@import './dropdown.css';
|
|
19
19
|
@import './floating-action.css';
|
|
20
20
|
@import './table.css';
|
|
21
|
+
@import './grid.css';
|
|
22
|
+
@import './tooltip.css';
|
|
21
23
|
@import './search-filter.css';
|
|
22
24
|
@import './range.css';
|
|
23
25
|
@import './timeline.css';
|
|
@@ -31,3 +33,7 @@
|
|
|
31
33
|
@import './step-indicator.css';
|
|
32
34
|
@import './chart.css';
|
|
33
35
|
@import './swatch.css';
|
|
36
|
+
@import './palette-manager.css';
|
|
37
|
+
@import './progress.css';
|
|
38
|
+
@import './pill.css';
|
|
39
|
+
@import './rating.css';
|