@rokkit/themes 1.1.6 → 1.1.8

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rokkit/themes",
3
- "version": "1.1.6",
3
+ "version": "1.1.8",
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.6"
106
+ "@rokkit/core": "1.1.8"
107
107
  },
108
108
  "devDependencies": {
109
- "@rokkit/unocss": "1.1.6",
109
+ "@rokkit/unocss": "1.1.8",
110
110
  "magic-string": "^0.30.21",
111
111
  "unocss": "^66.5.1"
112
112
  },
package/src/base/grid.css CHANGED
@@ -91,3 +91,38 @@
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
+ }
@@ -53,6 +53,7 @@
53
53
  @import './alert-list.css';
54
54
  @import './chart.css';
55
55
  @import './swatch.css';
56
+ @import './palette-manager.css';
56
57
  @import './divider.css';
57
58
  @import './stack.css';
58
59
  @import './badge.css';
@@ -0,0 +1,291 @@
1
+ /**
2
+ * PaletteManager — Base structural styles + flipping default colors.
3
+ *
4
+ * Uses raw var(--token) named tokens (complete colors that flip under
5
+ * [data-mode="dark"]) so the component is usable in every theme without a
6
+ * dedicated theme layer. Structure first, readable colors second.
7
+ *
8
+ * Parts (from PaletteManager.svelte):
9
+ * data-palette-manager / data-compact — root container
10
+ * data-palette-presets / -label / -list — preset section
11
+ * data-palette-preset / -swatch / -name — preset card (--preset-color)
12
+ * data-palette-custom / -label / -list / -item — saved custom palettes
13
+ * data-palette-editor — role rows wrapper
14
+ * data-palette-role / -label / -controls — single role row
15
+ * data-palette-color-select / -color-input — color pickers
16
+ * data-palette-hex-toggle — toggle preset/hex entry
17
+ * data-palette-shades / -shade (data-shade) — generated shade ramp
18
+ * data-palette-actions / -save / -apply — footer buttons
19
+ * data-palette-*-icon — glyph spans
20
+ */
21
+
22
+ /* =============================================================================
23
+ Container
24
+ ============================================================================= */
25
+
26
+ [data-palette-manager] {
27
+ display: flex;
28
+ flex-direction: column;
29
+ gap: 1rem;
30
+ padding: 1rem;
31
+ border: 1px solid var(--paper-edge);
32
+ border-radius: var(--radius-md, 0.375rem);
33
+ background-color: var(--paper);
34
+ color: var(--ink);
35
+ font-size: 0.875rem;
36
+ }
37
+
38
+ [data-palette-manager][data-compact] {
39
+ gap: 0.625rem;
40
+ padding: 0.625rem;
41
+ }
42
+
43
+ /* =============================================================================
44
+ Section labels (presets / custom)
45
+ ============================================================================= */
46
+
47
+ [data-palette-presets-label],
48
+ [data-palette-custom-label] {
49
+ display: block;
50
+ margin-bottom: 0.5rem;
51
+ font-size: 0.75rem;
52
+ font-weight: 600;
53
+ text-transform: uppercase;
54
+ letter-spacing: 0.05em;
55
+ color: var(--ink-mute);
56
+ }
57
+
58
+ /* =============================================================================
59
+ Presets
60
+ ============================================================================= */
61
+
62
+ [data-palette-presets-list] {
63
+ display: flex;
64
+ flex-wrap: wrap;
65
+ gap: 0.5rem;
66
+ }
67
+
68
+ [data-palette-preset] {
69
+ display: inline-flex;
70
+ align-items: center;
71
+ gap: 0.5rem;
72
+ padding: 0.375rem 0.625rem;
73
+ border: 1px solid var(--paper-edge);
74
+ border-radius: var(--radius-md, 0.375rem);
75
+ background-color: var(--paper-soft);
76
+ color: var(--ink);
77
+ font-size: 0.8125rem;
78
+ cursor: pointer;
79
+ transition:
80
+ background-color 150ms ease,
81
+ border-color 150ms ease,
82
+ color 150ms ease;
83
+ }
84
+
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
+ [data-palette-preset-swatch] {
95
+ width: 1rem;
96
+ height: 1rem;
97
+ flex-shrink: 0;
98
+ border-radius: 9999px;
99
+ border: 1px solid var(--paper-edge);
100
+ background-color: var(--preset-color, var(--primary));
101
+ }
102
+
103
+ [data-palette-preset-name] {
104
+ white-space: nowrap;
105
+ }
106
+
107
+ /* =============================================================================
108
+ Custom palettes
109
+ ============================================================================= */
110
+
111
+ [data-palette-custom-list] {
112
+ display: flex;
113
+ flex-wrap: wrap;
114
+ gap: 0.5rem;
115
+ }
116
+
117
+ [data-palette-custom-item] {
118
+ padding: 0.375rem 0.625rem;
119
+ border: 1px solid var(--paper-edge);
120
+ border-radius: var(--radius-md, 0.375rem);
121
+ background-color: var(--paper-soft);
122
+ color: var(--ink-mute);
123
+ font-size: 0.8125rem;
124
+ cursor: pointer;
125
+ transition:
126
+ background-color 150ms ease,
127
+ border-color 150ms ease,
128
+ color 150ms ease;
129
+ }
130
+
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
+ /* =============================================================================
142
+ Editor / role rows
143
+ ============================================================================= */
144
+
145
+ [data-palette-editor] {
146
+ display: flex;
147
+ flex-direction: column;
148
+ gap: 0.625rem;
149
+ }
150
+
151
+ [data-palette-role] {
152
+ display: flex;
153
+ align-items: center;
154
+ gap: 0.75rem;
155
+ }
156
+
157
+ [data-palette-role-label] {
158
+ flex: 0 0 6rem;
159
+ font-size: 0.8125rem;
160
+ font-weight: 500;
161
+ color: var(--ink);
162
+ }
163
+
164
+ [data-palette-role-controls] {
165
+ display: inline-flex;
166
+ align-items: center;
167
+ gap: 0.375rem;
168
+ }
169
+
170
+ /* =============================================================================
171
+ Color pickers
172
+ ============================================================================= */
173
+
174
+ [data-palette-color-select],
175
+ [data-palette-color-input] {
176
+ padding: 0.3125rem 0.5rem;
177
+ border: 1px solid var(--paper-edge);
178
+ border-radius: var(--radius-md, 0.375rem);
179
+ background-color: var(--paper-soft);
180
+ color: var(--ink);
181
+ font-size: 0.8125rem;
182
+ line-height: 1.2;
183
+ }
184
+
185
+ [data-palette-color-input]::placeholder {
186
+ color: var(--ink-faint);
187
+ }
188
+
189
+ [data-palette-color-select]:focus-visible,
190
+ [data-palette-color-input]:focus-visible {
191
+ outline: 2px solid var(--primary);
192
+ outline-offset: 1px;
193
+ border-color: var(--primary);
194
+ }
195
+
196
+ [data-palette-hex-toggle] {
197
+ display: inline-flex;
198
+ align-items: center;
199
+ justify-content: center;
200
+ width: 1.75rem;
201
+ height: 1.75rem;
202
+ padding: 0;
203
+ border: 1px solid var(--paper-edge);
204
+ border-radius: var(--radius-md, 0.375rem);
205
+ background-color: var(--paper-soft);
206
+ color: var(--ink-mute);
207
+ cursor: pointer;
208
+ transition:
209
+ background-color 150ms ease,
210
+ color 150ms ease;
211
+ }
212
+
213
+ [data-palette-hex-toggle]:hover {
214
+ background-color: var(--paper-mute);
215
+ color: var(--ink);
216
+ }
217
+
218
+ /* =============================================================================
219
+ Shade ramp
220
+ ============================================================================= */
221
+
222
+ [data-palette-shades] {
223
+ display: inline-flex;
224
+ margin-left: auto;
225
+ border-radius: var(--radius-md, 0.375rem);
226
+ overflow: hidden;
227
+ border: 1px solid var(--paper-edge);
228
+ }
229
+
230
+ [data-palette-shade] {
231
+ width: 1rem;
232
+ height: 1rem;
233
+ }
234
+
235
+ /* =============================================================================
236
+ Actions
237
+ ============================================================================= */
238
+
239
+ [data-palette-actions] {
240
+ display: flex;
241
+ flex-wrap: wrap;
242
+ gap: 0.5rem;
243
+ }
244
+
245
+ [data-palette-save],
246
+ [data-palette-apply] {
247
+ display: inline-flex;
248
+ align-items: center;
249
+ gap: 0.375rem;
250
+ padding: 0.4375rem 0.875rem;
251
+ border-radius: var(--radius-md, 0.375rem);
252
+ font-size: 0.8125rem;
253
+ font-weight: 500;
254
+ cursor: pointer;
255
+ transition:
256
+ background-color 150ms ease,
257
+ border-color 150ms ease,
258
+ color 150ms ease;
259
+ }
260
+
261
+ /* Save = secondary / outlined */
262
+ [data-palette-save] {
263
+ border: 1px solid var(--paper-edge);
264
+ background-color: var(--paper-soft);
265
+ color: var(--ink-mute);
266
+ }
267
+
268
+ [data-palette-save]:hover {
269
+ background-color: var(--paper-mute);
270
+ color: var(--ink);
271
+ }
272
+
273
+ /* Apply = primary action */
274
+ [data-palette-apply] {
275
+ border: 1px solid var(--primary);
276
+ background-color: var(--primary);
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;
291
+ }
package/src/base/pill.css CHANGED
@@ -11,6 +11,8 @@
11
11
  white-space: nowrap;
12
12
  outline: none;
13
13
  vertical-align: middle;
14
+ background: var(--paper-mute);
15
+ color: var(--ink);
14
16
  }
15
17
 
16
18
  [data-pill-icon] {
@@ -35,15 +37,18 @@
35
37
  border-radius: 9999px;
36
38
  cursor: pointer;
37
39
  background: transparent;
38
- color: inherit;
40
+ color: var(--ink-soft);
39
41
  opacity: 0.6;
40
- transition: opacity 0.15s ease;
42
+ transition:
43
+ opacity 0.15s ease,
44
+ color 0.15s ease;
41
45
  font-size: 0.75rem;
42
46
  flex-shrink: 0;
43
47
  }
44
48
 
45
49
  [data-pill-remove]:hover {
46
50
  opacity: 1;
51
+ color: var(--ink);
47
52
  }
48
53
 
49
54
  [data-pill-remove]:disabled {
@@ -6,12 +6,14 @@
6
6
  height: 0.5rem;
7
7
  border-radius: 9999px;
8
8
  overflow: hidden;
9
+ background: var(--paper-mute);
9
10
  }
10
11
 
11
12
  [data-progress-bar] {
12
13
  height: 100%;
13
14
  border-radius: 9999px;
14
15
  transition: width 0.3s ease;
16
+ background: var(--primary);
15
17
  }
16
18
 
17
19
  [data-progress][data-indeterminate] [data-progress-bar] {
@@ -40,3 +40,11 @@
40
40
  [data-rating-item][data-filled] {
41
41
  opacity: 1;
42
42
  }
43
+
44
+ [data-rating-icon] {
45
+ color: var(--ink-faint);
46
+ }
47
+
48
+ [data-rating-item][data-filled] [data-rating-icon] {
49
+ color: var(--warning);
50
+ }
@@ -52,6 +52,12 @@
52
52
  color: var(--paper);
53
53
  }
54
54
 
55
+ /* Check glyph inside a completed circle follows the circle's color
56
+ (var(--paper) on a --primary background → correct contrast). */
57
+ [data-stepper-check-icon] {
58
+ color: inherit;
59
+ }
60
+
55
61
  [data-stepper-step][data-active] [data-stepper-circle] {
56
62
  border-color: var(--primary);
57
63
  color: var(--primary);
@@ -92,6 +92,21 @@
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
+
95
110
  /* =============================================================================
96
111
  Cells
97
112
  ============================================================================= */
@@ -136,3 +136,50 @@
136
136
  overflow: hidden;
137
137
  text-overflow: ellipsis;
138
138
  }
139
+
140
+ /* =============================================================================
141
+ Button Variant — single cycling control
142
+ The `button` variant renders one <button data-toggle-variant="button"> with
143
+ the icon as a direct child (no [data-toggle-option]). Give it real control
144
+ structure + sizing here; color lives in the style themes (variant-agnostic).
145
+ ============================================================================= */
146
+
147
+ [data-toggle][data-toggle-variant='button'] {
148
+ justify-content: center;
149
+ padding: 0;
150
+ border: 1px solid transparent;
151
+ border-radius: 0.375rem;
152
+ font-weight: 500;
153
+ cursor: pointer;
154
+ transition: all 150ms ease;
155
+ user-select: none;
156
+ }
157
+
158
+ [data-toggle][data-toggle-variant='button']:focus,
159
+ [data-toggle][data-toggle-variant='button']:focus-visible {
160
+ outline: none;
161
+ }
162
+
163
+ [data-toggle][data-toggle-variant='button']:disabled,
164
+ [data-toggle][data-toggle-variant='button'][data-toggle-disabled='true'] {
165
+ pointer-events: none;
166
+ opacity: 0.5;
167
+ cursor: not-allowed;
168
+ }
169
+
170
+ /* Square control sized to match the option height scale */
171
+ [data-toggle][data-toggle-variant='button'][data-toggle-size='sm'] {
172
+ height: 1.5rem;
173
+ min-width: 1.5rem;
174
+ }
175
+
176
+ [data-toggle][data-toggle-variant='button'][data-toggle-size='md'],
177
+ [data-toggle][data-toggle-variant='button']:not([data-toggle-size]) {
178
+ height: 2rem;
179
+ min-width: 2rem;
180
+ }
181
+
182
+ [data-toggle][data-toggle-variant='button'][data-toggle-size='lg'] {
183
+ height: 2.5rem;
184
+ min-width: 2.5rem;
185
+ }
@@ -62,3 +62,15 @@
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
+ }
@@ -46,3 +46,29 @@
46
46
  [data-style='frosted'] [data-toggle-option][data-selected='true'] [data-toggle-icon] {
47
47
  @apply text-primary;
48
48
  }
49
+
50
+ /* =============================================================================
51
+ Button Variant — single cycling control (variant-agnostic color)
52
+ Higher specificity than the [data-toggle] container rule above, so it
53
+ neutralises the group-pill chrome and gives the single button the same
54
+ flipping icon treatment an unselected option gets.
55
+ ============================================================================= */
56
+
57
+ [data-style='frosted'] [data-toggle][data-toggle-variant='button'] {
58
+ @apply border-transparent bg-transparent text-ink-soft;
59
+ background-image: none;
60
+ }
61
+
62
+ [data-style='frosted'] [data-toggle][data-toggle-variant='button']:hover:not(:disabled):not([data-toggle-disabled='true']),
63
+ [data-style='frosted'] [data-toggle][data-toggle-variant='button']:focus-visible:not(:disabled):not([data-toggle-disabled='true']) {
64
+ @apply bg-paper-mute text-ink-mute;
65
+ }
66
+
67
+ [data-style='frosted'] [data-toggle][data-toggle-variant='button'] [data-toggle-icon] {
68
+ @apply text-ink-soft;
69
+ }
70
+
71
+ [data-style='frosted'] [data-toggle][data-toggle-variant='button']:hover:not(:disabled) [data-toggle-icon],
72
+ [data-style='frosted'] [data-toggle][data-toggle-variant='button']:focus-visible:not(:disabled) [data-toggle-icon] {
73
+ @apply text-ink-mute;
74
+ }
@@ -46,3 +46,29 @@
46
46
  [data-style='material'] [data-toggle-option][data-selected='true'] [data-toggle-icon] {
47
47
  @apply text-on-primary;
48
48
  }
49
+
50
+ /* =============================================================================
51
+ Button Variant — single cycling control (variant-agnostic color)
52
+ Higher specificity than the [data-toggle] container rule above, so it
53
+ neutralises the group-pill chrome and gives the single button the same
54
+ flipping icon treatment an unselected option gets.
55
+ ============================================================================= */
56
+
57
+ [data-style='material'] [data-toggle][data-toggle-variant='button'] {
58
+ @apply border-transparent bg-transparent text-ink-soft;
59
+ background-image: none;
60
+ }
61
+
62
+ [data-style='material'] [data-toggle][data-toggle-variant='button']:hover:not(:disabled):not([data-toggle-disabled='true']),
63
+ [data-style='material'] [data-toggle][data-toggle-variant='button']:focus-visible:not(:disabled):not([data-toggle-disabled='true']) {
64
+ @apply bg-paper-mute text-ink-mute;
65
+ }
66
+
67
+ [data-style='material'] [data-toggle][data-toggle-variant='button'] [data-toggle-icon] {
68
+ @apply text-ink-soft;
69
+ }
70
+
71
+ [data-style='material'] [data-toggle][data-toggle-variant='button']:hover:not(:disabled) [data-toggle-icon],
72
+ [data-style='material'] [data-toggle][data-toggle-variant='button']:focus-visible:not(:disabled) [data-toggle-icon] {
73
+ @apply text-ink-mute;
74
+ }
@@ -46,3 +46,29 @@
46
46
  [data-style='minimal'] [data-toggle-option][data-selected='true'] [data-toggle-icon] {
47
47
  @apply text-ink-mute;
48
48
  }
49
+
50
+ /* =============================================================================
51
+ Button Variant — single cycling control (variant-agnostic color)
52
+ Higher specificity than the [data-toggle] container rule above, so it
53
+ neutralises the group-pill chrome and gives the single button the same
54
+ flipping icon treatment an unselected option gets.
55
+ ============================================================================= */
56
+
57
+ [data-style='minimal'] [data-toggle][data-toggle-variant='button'] {
58
+ @apply border-transparent bg-transparent text-ink-soft;
59
+ background-image: none;
60
+ }
61
+
62
+ [data-style='minimal'] [data-toggle][data-toggle-variant='button']:hover:not(:disabled):not([data-toggle-disabled='true']),
63
+ [data-style='minimal'] [data-toggle][data-toggle-variant='button']:focus-visible:not(:disabled):not([data-toggle-disabled='true']) {
64
+ @apply bg-paper-mute text-ink-mute;
65
+ }
66
+
67
+ [data-style='minimal'] [data-toggle][data-toggle-variant='button'] [data-toggle-icon] {
68
+ @apply text-ink-soft;
69
+ }
70
+
71
+ [data-style='minimal'] [data-toggle][data-toggle-variant='button']:hover:not(:disabled) [data-toggle-icon],
72
+ [data-style='minimal'] [data-toggle][data-toggle-variant='button']:focus-visible:not(:disabled) [data-toggle-icon] {
73
+ @apply text-ink-mute;
74
+ }
@@ -57,3 +57,29 @@
57
57
  [data-style='rokkit'] [data-toggle-option][data-selected='true'] [data-toggle-icon] {
58
58
  @apply text-on-primary;
59
59
  }
60
+
61
+ /* =============================================================================
62
+ Button Variant — single cycling control (variant-agnostic color)
63
+ Higher specificity than the [data-toggle] container rule above, so it
64
+ neutralises the group-pill chrome and gives the single button the same
65
+ flipping icon treatment an unselected option gets.
66
+ ============================================================================= */
67
+
68
+ [data-style='rokkit'] [data-toggle][data-toggle-variant='button'] {
69
+ @apply border-transparent bg-transparent text-ink-soft;
70
+ background-image: none;
71
+ }
72
+
73
+ [data-style='rokkit'] [data-toggle][data-toggle-variant='button']:hover:not(:disabled):not([data-toggle-disabled='true']),
74
+ [data-style='rokkit'] [data-toggle][data-toggle-variant='button']:focus-visible:not(:disabled):not([data-toggle-disabled='true']) {
75
+ @apply bg-paper-mute text-ink-mute;
76
+ }
77
+
78
+ [data-style='rokkit'] [data-toggle][data-toggle-variant='button'] [data-toggle-icon] {
79
+ @apply text-ink-soft;
80
+ }
81
+
82
+ [data-style='rokkit'] [data-toggle][data-toggle-variant='button']:hover:not(:disabled) [data-toggle-icon],
83
+ [data-style='rokkit'] [data-toggle][data-toggle-variant='button']:focus-visible:not(:disabled) [data-toggle-icon] {
84
+ @apply text-ink-mute;
85
+ }
@@ -57,3 +57,29 @@
57
57
  [data-style='zen-sumi'] [data-toggle-option][data-selected='true'] [data-toggle-icon] {
58
58
  @apply text-on-primary;
59
59
  }
60
+
61
+ /* =============================================================================
62
+ Button Variant — single cycling control (variant-agnostic color)
63
+ Higher specificity than the [data-toggle] container rule above, so it
64
+ neutralises the group-pill chrome and gives the single button the same
65
+ flipping icon treatment an unselected option gets.
66
+ ============================================================================= */
67
+
68
+ [data-style='zen-sumi'] [data-toggle][data-toggle-variant='button'] {
69
+ @apply border-transparent bg-transparent text-ink-soft;
70
+ background-image: none;
71
+ }
72
+
73
+ [data-style='zen-sumi'] [data-toggle][data-toggle-variant='button']:hover:not(:disabled):not([data-toggle-disabled='true']),
74
+ [data-style='zen-sumi'] [data-toggle][data-toggle-variant='button']:focus-visible:not(:disabled):not([data-toggle-disabled='true']) {
75
+ @apply bg-paper-mute text-ink-mute;
76
+ }
77
+
78
+ [data-style='zen-sumi'] [data-toggle][data-toggle-variant='button'] [data-toggle-icon] {
79
+ @apply text-ink-soft;
80
+ }
81
+
82
+ [data-style='zen-sumi'] [data-toggle][data-toggle-variant='button']:hover:not(:disabled) [data-toggle-icon],
83
+ [data-style='zen-sumi'] [data-toggle][data-toggle-variant='button']:focus-visible:not(:disabled) [data-toggle-icon] {
84
+ @apply text-ink-mute;
85
+ }