@sigx/zero-daisyui 0.7.0 → 0.8.0

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.
Files changed (47) hide show
  1. package/dist/audit.json +3813 -2
  2. package/dist/components.d.ts +28 -1
  3. package/dist/components.js +3 -0
  4. package/dist/css/components/breadcrumbs.css +30 -0
  5. package/dist/css/components/card.css +26 -0
  6. package/dist/css/components/chat-log.css +172 -0
  7. package/dist/css/components/divider.css +68 -3
  8. package/dist/css/components/hover-card.css +174 -0
  9. package/dist/css/components/menu.css +7 -0
  10. package/dist/css/components/menubar.css +75 -0
  11. package/dist/css/components/pagination.css +83 -0
  12. package/dist/css/components/steps.css +103 -0
  13. package/dist/css/components/timeline.css +14 -0
  14. package/dist/css/components/toast.css +65 -0
  15. package/dist/css/components/tree-view.css +118 -0
  16. package/dist/css/index.css +951 -22
  17. package/dist/lynx/components/accordion.css +3 -1
  18. package/dist/lynx/components/breadcrumbs.css +44 -0
  19. package/dist/lynx/components/button.css +71 -12
  20. package/dist/lynx/components/card.css +9 -0
  21. package/dist/lynx/components/chat-log.css +147 -0
  22. package/dist/lynx/components/dialog.css +9 -3
  23. package/dist/lynx/components/divider.css +8 -17
  24. package/dist/lynx/components/hover-card.css +211 -0
  25. package/dist/lynx/components/menu.css +7 -0
  26. package/dist/lynx/components/menubar.css +199 -0
  27. package/dist/lynx/components/pagination.css +107 -0
  28. package/dist/lynx/components/popover.css +7 -2
  29. package/dist/lynx/components/select.css +40 -3
  30. package/dist/lynx/components/slider.css +3 -2
  31. package/dist/lynx/components/steps.css +103 -0
  32. package/dist/lynx/components/switch.css +2 -1
  33. package/dist/lynx/components/tabs.css +7 -1
  34. package/dist/lynx/components/timeline.css +32 -0
  35. package/dist/lynx/components/toast.css +70 -2
  36. package/dist/lynx/components/tree-view.css +28 -0
  37. package/dist/lynx/index.css +1194 -128
  38. package/dist/lynx/manifest.json +85 -4
  39. package/dist/manifest.json +83 -2
  40. package/dist/recipes.d.ts +19 -1
  41. package/dist/recipes.d.ts.map +1 -1
  42. package/dist/recipes.js +741 -98
  43. package/dist/recipes.js.map +1 -1
  44. package/dist/register.d.ts +27 -0
  45. package/dist/report.json +1078 -159
  46. package/package.json +4 -4
  47. package/src/recipes.ts +763 -98
@@ -0,0 +1,75 @@
1
+ @layer zero.fallback, zero.tokens, zero.recipes, zero.structure;
2
+
3
+ @layer zero.recipes {
4
+ [data-scope="menubar"][data-part="root"] {
5
+ --menubar-surface: var(--color-base-200);
6
+ }
7
+
8
+ [data-scope="menubar"][data-part="root"] {
9
+ display: flex;
10
+ align-items: center;
11
+ gap: var(--space-xs);
12
+ padding: var(--space-xs);
13
+ width: max-content;
14
+ max-width: 100%;
15
+ flex-wrap: wrap;
16
+ background: var(--menubar-surface);
17
+ border-radius: var(--radius-box);
18
+ }
19
+
20
+ [data-scope="menubar"][data-part="root"][data-orientation="vertical"] {
21
+ flex-direction: column;
22
+ align-items: stretch;
23
+ }
24
+
25
+ [data-scope="menubar"][data-part="root"][data-color="primary"] {
26
+ --menubar-surface: color-mix(in oklch, var(--color-primary) 12%, var(--color-base-200));
27
+ }
28
+
29
+ [data-scope="menubar"][data-part="root"][data-color="secondary"] {
30
+ --menubar-surface: color-mix(in oklch, var(--color-secondary) 12%, var(--color-base-200));
31
+ }
32
+
33
+ [data-scope="menubar"][data-part="root"][data-color="accent"] {
34
+ --menubar-surface: color-mix(in oklch, var(--color-accent) 12%, var(--color-base-200));
35
+ }
36
+
37
+ [data-scope="menubar"][data-part="root"][data-color="neutral"] {
38
+ --menubar-surface: color-mix(in oklch, var(--color-neutral) 12%, var(--color-base-200));
39
+ }
40
+
41
+ [data-scope="menubar"][data-part="root"][data-color="info"] {
42
+ --menubar-surface: color-mix(in oklch, var(--color-info) 12%, var(--color-base-200));
43
+ }
44
+
45
+ [data-scope="menubar"][data-part="root"][data-color="success"] {
46
+ --menubar-surface: color-mix(in oklch, var(--color-success) 12%, var(--color-base-200));
47
+ }
48
+
49
+ [data-scope="menubar"][data-part="root"][data-color="warning"] {
50
+ --menubar-surface: color-mix(in oklch, var(--color-warning) 12%, var(--color-base-200));
51
+ }
52
+
53
+ [data-scope="menubar"][data-part="root"][data-color="error"] {
54
+ --menubar-surface: color-mix(in oklch, var(--color-error) 12%, var(--color-base-200));
55
+ }
56
+
57
+ [data-scope="menubar"][data-part="root"][data-size="xs"] {
58
+ gap: 0;
59
+ padding: 0;
60
+ }
61
+
62
+ [data-scope="menubar"][data-part="root"][data-size="sm"] {
63
+ padding: var(--space-2xs);
64
+ }
65
+
66
+ [data-scope="menubar"][data-part="root"][data-size="lg"] {
67
+ gap: var(--space-sm);
68
+ padding: var(--space-sm);
69
+ }
70
+
71
+ [data-scope="menubar"][data-part="root"][data-size="xl"] {
72
+ gap: var(--space-md);
73
+ padding: var(--space-sm);
74
+ }
75
+ }
@@ -33,6 +33,7 @@
33
33
  font-weight: var(--weight-semibold);
34
34
  font-variant-numeric: tabular-nums;
35
35
  appearance: none;
36
+ text-decoration: none;
36
37
  cursor: pointer;
37
38
  transition: background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);
38
39
  }
@@ -71,6 +72,46 @@
71
72
  user-select: none;
72
73
  }
73
74
 
75
+ [data-scope="pagination"][data-part="first-trigger"] {
76
+ display: inline-flex;
77
+ align-items: center;
78
+ justify-content: center;
79
+ min-inline-size: var(--pg-size);
80
+ block-size: var(--pg-size);
81
+ background: var(--color-base-200);
82
+ color: var(--color-base-content);
83
+ border: none;
84
+ border-radius: var(--radius-field);
85
+ font-size: calc(var(--pg-font) * 1.2);
86
+ line-height: var(--leading-none);
87
+ appearance: none;
88
+ text-decoration: none;
89
+ cursor: pointer;
90
+ transition: background var(--duration-fast) var(--ease-standard);
91
+ }
92
+
93
+ [data-scope="pagination"][data-part="first-trigger"]:hover:not([data-disabled]) {
94
+ background: var(--color-base-300);
95
+ }
96
+
97
+ [data-scope="pagination"][data-part="first-trigger"][data-disabled] {
98
+ opacity: var(--disabled-opacity);
99
+ cursor: not-allowed;
100
+ }
101
+
102
+ [data-scope="pagination"][data-part="first-trigger"][data-focus-visible] {
103
+ outline: 2px solid var(--color-base-content);
104
+ outline-offset: 2px;
105
+ }
106
+
107
+ [data-scope="pagination"][data-part="first-trigger"][data-pressed]:not([data-disabled]) {
108
+ transform: translateY(1px);
109
+ }
110
+
111
+ [data-scope="pagination"][data-part="first-trigger"]:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
112
+ scale: -1 1;
113
+ }
114
+
74
115
  [data-scope="pagination"][data-part="prev-trigger"] {
75
116
  display: inline-flex;
76
117
  align-items: center;
@@ -84,6 +125,7 @@
84
125
  font-size: calc(var(--pg-font) * 1.2);
85
126
  line-height: var(--leading-none);
86
127
  appearance: none;
128
+ text-decoration: none;
87
129
  cursor: pointer;
88
130
  transition: background var(--duration-fast) var(--ease-standard);
89
131
  }
@@ -123,6 +165,7 @@
123
165
  font-size: calc(var(--pg-font) * 1.2);
124
166
  line-height: var(--leading-none);
125
167
  appearance: none;
168
+ text-decoration: none;
126
169
  cursor: pointer;
127
170
  transition: background var(--duration-fast) var(--ease-standard);
128
171
  }
@@ -149,6 +192,46 @@
149
192
  scale: -1 1;
150
193
  }
151
194
 
195
+ [data-scope="pagination"][data-part="last-trigger"] {
196
+ display: inline-flex;
197
+ align-items: center;
198
+ justify-content: center;
199
+ min-inline-size: var(--pg-size);
200
+ block-size: var(--pg-size);
201
+ background: var(--color-base-200);
202
+ color: var(--color-base-content);
203
+ border: none;
204
+ border-radius: var(--radius-field);
205
+ font-size: calc(var(--pg-font) * 1.2);
206
+ line-height: var(--leading-none);
207
+ appearance: none;
208
+ text-decoration: none;
209
+ cursor: pointer;
210
+ transition: background var(--duration-fast) var(--ease-standard);
211
+ }
212
+
213
+ [data-scope="pagination"][data-part="last-trigger"]:hover:not([data-disabled]) {
214
+ background: var(--color-base-300);
215
+ }
216
+
217
+ [data-scope="pagination"][data-part="last-trigger"][data-disabled] {
218
+ opacity: var(--disabled-opacity);
219
+ cursor: not-allowed;
220
+ }
221
+
222
+ [data-scope="pagination"][data-part="last-trigger"][data-focus-visible] {
223
+ outline: 2px solid var(--color-base-content);
224
+ outline-offset: 2px;
225
+ }
226
+
227
+ [data-scope="pagination"][data-part="last-trigger"][data-pressed]:not([data-disabled]) {
228
+ transform: translateY(1px);
229
+ }
230
+
231
+ [data-scope="pagination"][data-part="last-trigger"]:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
232
+ scale: -1 1;
233
+ }
234
+
152
235
  [data-scope="pagination"][data-part="root"][data-color="primary"] {
153
236
  --pg-accent: var(--color-primary);
154
237
  --pg-accent-content: var(--color-primary-content);
@@ -19,6 +19,11 @@
19
19
  flex-direction: column;
20
20
  }
21
21
 
22
+ [data-scope="steps"][data-part="root"]:has(> [data-scope="steps"]:is([data-part="content"], [data-part="prev-trigger"], [data-part="next-trigger"])) {
23
+ flex-wrap: wrap;
24
+ row-gap: var(--space-md);
25
+ }
26
+
22
27
  [data-scope="steps"][data-part="item"] {
23
28
  appearance: none;
24
29
  position: relative;
@@ -47,6 +52,10 @@
47
52
  color: color-mix(in oklch, var(--color-base-content) 65%, transparent);
48
53
  }
49
54
 
55
+ [data-scope="steps"][data-part="item"][data-invalid] {
56
+ color: color-mix(in oklab, var(--color-error) 70%, var(--color-base-content));
57
+ }
58
+
50
59
  [data-scope="steps"][data-part="item"][data-disabled] {
51
60
  opacity: var(--disabled-opacity);
52
61
  cursor: not-allowed;
@@ -105,6 +114,11 @@
105
114
  color: var(--color-base-content);
106
115
  }
107
116
 
117
+ [data-scope="steps"][data-part="indicator"][data-invalid] {
118
+ background: var(--color-error);
119
+ color: var(--color-error-content);
120
+ }
121
+
108
122
  [data-scope="steps"][data-part="separator"] {
109
123
  position: absolute;
110
124
  pointer-events: none;
@@ -119,6 +133,10 @@
119
133
  background: var(--color-base-300);
120
134
  }
121
135
 
136
+ [data-scope="steps"][data-part="separator"][data-invalid] {
137
+ background: var(--color-error);
138
+ }
139
+
122
140
  [data-scope="steps"][data-part="separator"][data-orientation="horizontal"] {
123
141
  inset-block-start: calc(var(--space-xs) + var(--steps-ind) / 2);
124
142
  inset-inline-start: 50%;
@@ -143,6 +161,91 @@
143
161
  font-weight: var(--weight-normal);
144
162
  }
145
163
 
164
+ [data-scope="steps"][data-part="content"] {
165
+ flex: 1 0 100%;
166
+ font-size: var(--text-md);
167
+ color: var(--color-base-content);
168
+ }
169
+
170
+ [data-scope="steps"][data-part="prev-trigger"] {
171
+ appearance: none;
172
+ display: inline-flex;
173
+ align-items: center;
174
+ justify-content: center;
175
+ gap: 0.5em;
176
+ height: calc(var(--size-field) * 12);
177
+ padding-inline: calc(var(--size-field) * 4);
178
+ font-size: var(--text-sm);
179
+ font-weight: var(--weight-semibold);
180
+ color: var(--color-base-content);
181
+ background: var(--color-base-200);
182
+ border: var(--border) solid var(--color-base-300);
183
+ border-radius: var(--radius-field);
184
+ box-shadow: var(--shadow-xs);
185
+ cursor: pointer;
186
+ transition: background var(--duration-normal) var(--ease-standard);
187
+ flex: 0 0 auto;
188
+ align-self: flex-start;
189
+ }
190
+
191
+ [data-scope="steps"][data-part="prev-trigger"]:hover:not([data-disabled]) {
192
+ background: var(--color-base-300);
193
+ }
194
+
195
+ [data-scope="steps"][data-part="prev-trigger"][data-disabled] {
196
+ opacity: var(--disabled-opacity);
197
+ cursor: not-allowed;
198
+ }
199
+
200
+ [data-scope="steps"][data-part="prev-trigger"][data-focus-visible] {
201
+ outline: 2px solid var(--color-base-content);
202
+ outline-offset: 2px;
203
+ }
204
+
205
+ [data-scope="steps"][data-part="prev-trigger"][data-pressed]:not([data-disabled]) {
206
+ transform: translateY(1px);
207
+ }
208
+
209
+ [data-scope="steps"][data-part="next-trigger"] {
210
+ appearance: none;
211
+ display: inline-flex;
212
+ align-items: center;
213
+ justify-content: center;
214
+ gap: 0.5em;
215
+ height: calc(var(--size-field) * 12);
216
+ padding-inline: calc(var(--size-field) * 4);
217
+ font-size: var(--text-sm);
218
+ font-weight: var(--weight-semibold);
219
+ color: var(--color-base-content);
220
+ background: var(--color-base-200);
221
+ border: var(--border) solid var(--color-base-300);
222
+ border-radius: var(--radius-field);
223
+ box-shadow: var(--shadow-xs);
224
+ cursor: pointer;
225
+ transition: background var(--duration-normal) var(--ease-standard);
226
+ flex: 0 0 auto;
227
+ align-self: flex-start;
228
+ margin-inline-start: auto;
229
+ }
230
+
231
+ [data-scope="steps"][data-part="next-trigger"]:hover:not([data-disabled]) {
232
+ background: var(--color-base-300);
233
+ }
234
+
235
+ [data-scope="steps"][data-part="next-trigger"][data-disabled] {
236
+ opacity: var(--disabled-opacity);
237
+ cursor: not-allowed;
238
+ }
239
+
240
+ [data-scope="steps"][data-part="next-trigger"][data-focus-visible] {
241
+ outline: 2px solid var(--color-base-content);
242
+ outline-offset: 2px;
243
+ }
244
+
245
+ [data-scope="steps"][data-part="next-trigger"][data-pressed]:not([data-disabled]) {
246
+ transform: translateY(1px);
247
+ }
248
+
146
249
  [data-scope="steps"][data-part="root"][data-size="xs"] {
147
250
  --steps-ind: calc(var(--size-selector) * 5);
148
251
  --steps-font: var(--text-xs);
@@ -126,6 +126,20 @@
126
126
  align-self: start;
127
127
  }
128
128
 
129
+ [data-scope="timeline"][data-part="title"] {
130
+ display: block;
131
+ margin: 0;
132
+ font-weight: var(--weight-semibold);
133
+ line-height: var(--leading-tight);
134
+ }
135
+
136
+ [data-scope="timeline"][data-part="description"] {
137
+ display: block;
138
+ margin: 0;
139
+ margin-block-start: var(--space-2xs);
140
+ color: color-mix(in oklab, var(--color-base-content) 70%, transparent);
141
+ }
142
+
129
143
  [data-scope="timeline"][data-part="marker"][data-color="primary"] {
130
144
  --timeline-accent: var(--color-primary);
131
145
  --timeline-ring: var(--color-primary-content);
@@ -5,6 +5,7 @@
5
5
  --toast-bg: var(--color-base-200);
6
6
  --toast-ink: var(--color-base-content);
7
7
  --toast-from: 8px;
8
+ --toast-mark: 1rem;
8
9
  }
9
10
 
10
11
  [data-scope="toast"][data-part="viewport"] {
@@ -87,17 +88,54 @@
87
88
  --toast-from: -8px;
88
89
  }
89
90
 
91
+ [data-scope="toast"][data-part="root"]:has(> [data-scope="toast"][data-part="indicator"]) {
92
+ grid-template-columns: auto 1fr auto auto;
93
+ }
94
+
95
+ [data-scope="toast"][data-part="indicator"] {
96
+ grid-column: 1;
97
+ grid-row: 1 / span 2;
98
+ inline-size: var(--toast-mark);
99
+ block-size: var(--toast-mark);
100
+ box-sizing: border-box;
101
+ }
102
+
103
+ [data-scope="toast"][data-part="indicator"][data-state="loading"] {
104
+ border-radius: 50%;
105
+ border: calc(var(--border) * 2) solid color-mix(in oklab, var(--toast-ink) 25%, transparent);
106
+ border-block-start-color: var(--toast-ink);
107
+ animation: zero-daisyui-toast-spin 0.75s linear infinite;
108
+ }
109
+
110
+ [data-scope="toast"][data-part="indicator"][data-state="complete"] {
111
+ background: color-mix(in oklab, var(--color-success) 55%, var(--color-base-content));
112
+ clip-path: polygon(15.1% 41.3%, 1% 55%, 37.6% 92.8%, 99% 19.8%, 83.9% 7.2%, 36.6% 63.5%);
113
+ }
114
+
115
+ [data-scope="toast"][data-part="indicator"][data-state="error"] {
116
+ background: color-mix(in oklab, var(--color-error) 55%, var(--color-base-content));
117
+ clip-path: polygon(20% 8%, 50% 38%, 80% 8%, 92% 20%, 62% 50%, 92% 80%, 80% 92%, 50% 62%, 20% 92%, 8% 80%, 38% 50%, 8% 20%);
118
+ }
119
+
90
120
  [data-scope="toast"][data-part="title"] {
91
121
  grid-column: 1;
92
122
  font-weight: var(--weight-semibold);
93
123
  }
94
124
 
125
+ [data-scope="toast"][data-part="root"]:has(> [data-scope="toast"][data-part="indicator"]) > [data-scope="toast"][data-part="title"] {
126
+ grid-column: 2;
127
+ }
128
+
95
129
  [data-scope="toast"][data-part="description"] {
96
130
  grid-column: 1;
97
131
  font-size: var(--text-xs);
98
132
  color: color-mix(in oklab, var(--toast-ink) 75%, transparent);
99
133
  }
100
134
 
135
+ [data-scope="toast"][data-part="root"]:has(> [data-scope="toast"][data-part="indicator"]) > [data-scope="toast"][data-part="description"] {
136
+ grid-column: 2;
137
+ }
138
+
101
139
  [data-scope="toast"][data-part="action"] {
102
140
  grid-column: 2;
103
141
  grid-row: 1;
@@ -126,6 +164,10 @@
126
164
  outline-offset: 2px;
127
165
  }
128
166
 
167
+ [data-scope="toast"][data-part="root"]:has(> [data-scope="toast"][data-part="indicator"]) > [data-scope="toast"][data-part="action"] {
168
+ grid-column: 3;
169
+ }
170
+
129
171
  [data-scope="toast"][data-part="close"] {
130
172
  grid-column: 3;
131
173
  grid-row: 1;
@@ -152,6 +194,10 @@
152
194
  outline-offset: 2px;
153
195
  }
154
196
 
197
+ [data-scope="toast"][data-part="root"]:has(> [data-scope="toast"][data-part="indicator"]) > [data-scope="toast"][data-part="close"] {
198
+ grid-column: 4;
199
+ }
200
+
155
201
  [data-scope="toast"][data-part="root"][data-color="primary"] {
156
202
  --toast-bg: var(--color-primary-soft);
157
203
  --toast-ink: var(--color-primary);
@@ -224,6 +270,18 @@
224
270
  }
225
271
  }
226
272
 
273
+ @media (forced-colors: active) {
274
+ [data-scope="toast"][data-part="indicator"][data-state="complete"] {
275
+ background: CanvasText;
276
+ forced-color-adjust: none;
277
+ }
278
+
279
+ [data-scope="toast"][data-part="indicator"][data-state="error"] {
280
+ background: CanvasText;
281
+ forced-color-adjust: none;
282
+ }
283
+ }
284
+
227
285
  @media (prefers-reduced-motion: reduce) {
228
286
  [data-scope="toast"][data-part="root"] {
229
287
  transition: none;
@@ -232,5 +290,12 @@
232
290
  [data-scope="toast"][data-part="root"][data-state="open"] {
233
291
  transform: none;
234
292
  }
293
+
294
+ [data-scope="toast"][data-part="indicator"][data-state="loading"] {
295
+ animation: none;
296
+ }
235
297
  }
236
298
  }
299
+ @keyframes zero-daisyui-toast-spin {
300
+ to { transform: rotate(360deg); }
301
+ }
@@ -5,6 +5,8 @@
5
5
  --tree-accent: var(--color-primary);
6
6
  --tree-text: var(--text-sm);
7
7
  --tree-on-accent: var(--color-primary-content);
8
+ --tree-check: var(--tree-accent);
9
+ --tree-on-check: var(--tree-on-accent);
8
10
  }
9
11
 
10
12
  [data-scope="tree-view"][data-part="root"] {
@@ -133,6 +135,60 @@
133
135
  scale: -1 1;
134
136
  }
135
137
 
138
+ [data-scope="tree-view"][data-part="node-checkbox"] {
139
+ display: inline-block;
140
+ position: relative;
141
+ flex-shrink: 0;
142
+ box-sizing: border-box;
143
+ width: 1.25em;
144
+ height: 1.25em;
145
+ border: var(--border) solid var(--tree-check);
146
+ border-radius: var(--radius-selector);
147
+ box-shadow: 0 1px var(--depth-shade) inset;
148
+ cursor: pointer;
149
+ transition: background-color var(--duration-normal) var(--ease-standard);
150
+ }
151
+
152
+ [data-scope="tree-view"][data-part="node-checkbox"][data-state="checked"] {
153
+ background-color: var(--tree-check);
154
+ }
155
+
156
+ [data-scope="tree-view"][data-part="node-checkbox"][data-state="indeterminate"] {
157
+ background-color: var(--tree-check);
158
+ }
159
+
160
+ [data-scope="tree-view"][data-part="node-checkbox"][data-disabled] {
161
+ cursor: not-allowed;
162
+ }
163
+
164
+ [data-scope="tree-view"][data-part="node-checkbox"]::after {
165
+ content: "";
166
+ position: absolute;
167
+ inset: 15%;
168
+ opacity: 0;
169
+ rotate: 45deg;
170
+ background-color: var(--tree-on-check);
171
+ clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 80%, 70% 80%, 70% 100%);
172
+ transition: clip-path var(--duration-slow) var(--ease-standard) var(--duration-instant), opacity var(--duration-instant) var(--ease-standard) var(--duration-instant), rotate var(--duration-slow) var(--ease-standard) var(--duration-instant), translate var(--duration-slow) var(--ease-standard) var(--duration-instant);
173
+ }
174
+
175
+ [data-scope="tree-view"][data-part="node-checkbox"][data-state="checked"]::after {
176
+ clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 0%, 70% 0%, 70% 100%);
177
+ opacity: 1;
178
+ }
179
+
180
+ [data-scope="tree-view"][data-part="node-checkbox"][data-state="indeterminate"]::after {
181
+ clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 80%, 80% 80%, 80% 100%);
182
+ opacity: 1;
183
+ translate: 0 -35%;
184
+ rotate: 0deg;
185
+ }
186
+
187
+ [data-scope="tree-view"][data-selected] [data-scope="tree-view"][data-part="node-checkbox"] {
188
+ --tree-check: var(--tree-on-accent);
189
+ --tree-on-check: var(--tree-accent);
190
+ }
191
+
136
192
  [data-scope="tree-view"][data-part="branch-content"] {
137
193
  display: flex;
138
194
  flex-direction: column;
@@ -195,9 +251,71 @@
195
251
  --tree-text: var(--text-lg);
196
252
  }
197
253
 
254
+ @media (forced-colors: active) {
255
+ [data-scope="tree-view"][data-part="node-checkbox"]::after {
256
+ clip-path: none;
257
+ background-color: #0000;
258
+ rotate: 0deg;
259
+ inset: 0;
260
+ display: grid;
261
+ place-items: center;
262
+ color: CanvasText;
263
+ font-size: 0.85em;
264
+ line-height: 1;
265
+ }
266
+
267
+ [data-scope="tree-view"][data-part="node-checkbox"][data-state="checked"]::after {
268
+ content: "✔︎";
269
+ clip-path: none;
270
+ rotate: 0deg;
271
+ }
272
+
273
+ [data-scope="tree-view"][data-part="node-checkbox"][data-state="indeterminate"]::after {
274
+ content: "−";
275
+ clip-path: none;
276
+ rotate: 0deg;
277
+ translate: none;
278
+ }
279
+ }
280
+
281
+ @media print {
282
+ [data-scope="tree-view"][data-part="node-checkbox"]::after {
283
+ clip-path: none;
284
+ background-color: #0000;
285
+ rotate: 0deg;
286
+ inset: 0;
287
+ display: grid;
288
+ place-items: center;
289
+ color: var(--print-ink);
290
+ font-size: 0.85em;
291
+ line-height: 1;
292
+ }
293
+
294
+ [data-scope="tree-view"][data-part="node-checkbox"][data-state="checked"]::after {
295
+ content: "✔︎";
296
+ clip-path: none;
297
+ rotate: 0deg;
298
+ }
299
+
300
+ [data-scope="tree-view"][data-part="node-checkbox"][data-state="indeterminate"]::after {
301
+ content: "−";
302
+ clip-path: none;
303
+ rotate: 0deg;
304
+ translate: none;
305
+ }
306
+ }
307
+
198
308
  @media (prefers-reduced-motion: reduce) {
199
309
  [data-scope="tree-view"][data-part="branch-indicator"] {
200
310
  transition: none;
201
311
  }
312
+
313
+ [data-scope="tree-view"][data-part="node-checkbox"] {
314
+ transition: none;
315
+ }
316
+
317
+ [data-scope="tree-view"][data-part="node-checkbox"]::after {
318
+ transition: none;
319
+ }
202
320
  }
203
321
  }