@sigx/zero-daisyui 0.6.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 (56) hide show
  1. package/README.md +1 -2
  2. package/dist/audit.json +5618 -72
  3. package/dist/components.d.ts +37 -1
  4. package/dist/components.js +4 -0
  5. package/dist/css/components/breadcrumbs.css +30 -0
  6. package/dist/css/components/card.css +26 -0
  7. package/dist/css/components/chat-log.css +172 -0
  8. package/dist/css/components/divider.css +68 -3
  9. package/dist/css/components/fieldset.css +91 -0
  10. package/dist/css/components/hover-card.css +174 -0
  11. package/dist/css/components/menu.css +73 -0
  12. package/dist/css/components/menubar.css +75 -0
  13. package/dist/css/components/pagination.css +83 -0
  14. package/dist/css/components/popover.css +72 -0
  15. package/dist/css/components/progress.css +0 -4
  16. package/dist/css/components/steps.css +103 -0
  17. package/dist/css/components/table.css +70 -0
  18. package/dist/css/components/timeline.css +14 -0
  19. package/dist/css/components/toast.css +65 -0
  20. package/dist/css/components/tooltip.css +65 -0
  21. package/dist/css/components/tree-view.css +118 -0
  22. package/dist/css/index.css +1330 -42
  23. package/dist/lynx/components/accordion.css +7 -1
  24. package/dist/lynx/components/breadcrumbs.css +44 -0
  25. package/dist/lynx/components/button.css +121 -10
  26. package/dist/lynx/components/card.css +9 -0
  27. package/dist/lynx/components/chat-log.css +147 -0
  28. package/dist/lynx/components/dialog.css +28 -3
  29. package/dist/lynx/components/divider.css +8 -17
  30. package/dist/lynx/components/fieldset.css +219 -0
  31. package/dist/lynx/components/hover-card.css +211 -0
  32. package/dist/lynx/components/menu.css +7 -0
  33. package/dist/lynx/components/menubar.css +199 -0
  34. package/dist/lynx/components/pagination.css +107 -0
  35. package/dist/lynx/components/popover.css +44 -2
  36. package/dist/lynx/components/progress.css +0 -20
  37. package/dist/lynx/components/select.css +51 -3
  38. package/dist/lynx/components/slider.css +295 -12
  39. package/dist/lynx/components/steps.css +103 -0
  40. package/dist/lynx/components/switch.css +4 -1
  41. package/dist/lynx/components/table.css +52 -0
  42. package/dist/lynx/components/tabs.css +109 -94
  43. package/dist/lynx/components/timeline.css +90 -1
  44. package/dist/lynx/components/toast.css +111 -8
  45. package/dist/lynx/components/tree-view.css +28 -0
  46. package/dist/lynx/index.css +2081 -255
  47. package/dist/lynx/manifest.json +112 -4
  48. package/dist/manifest.json +110 -2
  49. package/dist/recipes.d.ts +29 -1
  50. package/dist/recipes.d.ts.map +1 -1
  51. package/dist/recipes.js +1225 -129
  52. package/dist/recipes.js.map +1 -1
  53. package/dist/register.d.ts +36 -0
  54. package/dist/report.json +1353 -188
  55. package/package.json +4 -4
  56. package/src/recipes.ts +1254 -130
@@ -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);
@@ -57,6 +57,66 @@
57
57
  color: color-mix(in oklab, var(--table-accent) 60%, transparent);
58
58
  }
59
59
 
60
+ [data-scope="table"][data-part="sort-trigger"] {
61
+ appearance: none;
62
+ display: inline-flex;
63
+ align-items: center;
64
+ margin: 0;
65
+ border: 0;
66
+ font: inherit;
67
+ letter-spacing: inherit;
68
+ text-transform: inherit;
69
+ text-align: inherit;
70
+ cursor: pointer;
71
+ gap: var(--space-2xs);
72
+ padding: 0;
73
+ border-radius: var(--radius-selector);
74
+ background: transparent;
75
+ color: inherit;
76
+ transition: color var(--duration-fast) var(--ease-standard);
77
+ }
78
+
79
+ [data-scope="table"][data-part="sort-trigger"][data-state="ascending"] {
80
+ color: var(--table-accent);
81
+ }
82
+
83
+ [data-scope="table"][data-part="sort-trigger"][data-state="descending"] {
84
+ color: var(--table-accent);
85
+ }
86
+
87
+ [data-scope="table"][data-part="sort-trigger"]:hover:not([data-disabled]) {
88
+ color: var(--table-accent);
89
+ }
90
+
91
+ [data-scope="table"][data-part="sort-trigger"][data-disabled] {
92
+ cursor: not-allowed;
93
+ opacity: var(--disabled-opacity);
94
+ }
95
+
96
+ [data-scope="table"][data-part="sort-trigger"][data-focus-visible] {
97
+ outline: 2px solid var(--color-base-content);
98
+ outline-offset: 2px;
99
+ }
100
+
101
+ [data-scope="table"][data-part="sort-indicator"] {
102
+ display: inline-block;
103
+ font-size: 0.75em;
104
+ line-height: 1;
105
+ transition: transform var(--duration-fast) var(--ease-standard), opacity var(--duration-fast) var(--ease-standard);
106
+ }
107
+
108
+ [data-scope="table"][data-part="sort-indicator"][data-state="descending"] {
109
+ transform: rotate(180deg);
110
+ }
111
+
112
+ [data-scope="table"][data-part="sort-indicator"][data-state="none"] {
113
+ opacity: 0;
114
+ }
115
+
116
+ [data-scope="table"][data-part="sort-trigger"]:is(:hover, [data-focus-visible]) > [data-scope="table"][data-part="sort-indicator"][data-state="none"] {
117
+ opacity: 0.6;
118
+ }
119
+
60
120
  [data-scope="table"][data-part="cell"] {
61
121
  padding: var(--table-pad-block) var(--table-pad-inline);
62
122
  text-align: var(--table-cell-align);
@@ -246,6 +306,16 @@
246
306
  padding-block: var(--space-xs);
247
307
  }
248
308
  }
309
+
310
+ @media (prefers-reduced-motion: reduce) {
311
+ [data-scope="table"][data-part="sort-trigger"] {
312
+ transition: none;
313
+ }
314
+
315
+ [data-scope="table"][data-part="sort-indicator"] {
316
+ transition: none;
317
+ }
318
+ }
249
319
  }
250
320
 
251
321
  @layer zero.structure {
@@ -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
+ }
@@ -57,6 +57,71 @@
57
57
  transform: none;
58
58
  }
59
59
 
60
+ [data-scope="tooltip"][data-part="popup"]:has(> [data-scope="tooltip"][data-part="arrow"]) {
61
+ overflow: visible;
62
+ }
63
+
64
+ [data-scope="tooltip"][data-part="arrow"] {
65
+ display: none;
66
+ position: absolute;
67
+ box-sizing: border-box;
68
+ width: 0.5rem;
69
+ height: 0.5rem;
70
+ rotate: 45deg;
71
+ pointer-events: none;
72
+ background: var(--color-neutral);
73
+ }
74
+
75
+ [data-scope="tooltip"][data-part="popup"][data-placement^="top"] > [data-scope="tooltip"][data-part="arrow"] {
76
+ display: block;
77
+ top: calc(100% - 0.5rem / 2);
78
+ left: var(--arrow-x, calc(50% - 0.5rem / 2));
79
+ clip-path: polygon(100% 0, 100% 100%, 0 100%);
80
+ }
81
+
82
+ [data-scope="tooltip"][data-part="popup"][data-placement^="bottom"] > [data-scope="tooltip"][data-part="arrow"] {
83
+ display: block;
84
+ top: calc(0.5rem / -2);
85
+ left: var(--arrow-x, calc(50% - 0.5rem / 2));
86
+ clip-path: polygon(0 0, 100% 0, 0 100%);
87
+ }
88
+
89
+ [data-scope="tooltip"][data-part="popup"][data-placement^="left"] > [data-scope="tooltip"][data-part="arrow"] {
90
+ display: block;
91
+ left: calc(100% - 0.5rem / 2);
92
+ top: var(--arrow-y, calc(50% - 0.5rem / 2));
93
+ clip-path: polygon(0 0, 100% 0, 100% 100%);
94
+ }
95
+
96
+ [data-scope="tooltip"][data-part="popup"][data-placement^="right"] > [data-scope="tooltip"][data-part="arrow"] {
97
+ display: block;
98
+ left: calc(0.5rem / -2);
99
+ top: var(--arrow-y, calc(50% - 0.5rem / 2));
100
+ clip-path: polygon(0 0, 100% 100%, 0 100%);
101
+ }
102
+
103
+ [data-scope="tooltip"][data-part="popup"][data-placement^="start"] > [data-scope="tooltip"][data-part="arrow"] {
104
+ display: block;
105
+ inset-inline-start: calc(100% - 0.5rem / 2);
106
+ top: var(--arrow-y, calc(50% - 0.5rem / 2));
107
+ clip-path: polygon(0 0, 100% 0, 100% 100%);
108
+ }
109
+
110
+ [data-scope="tooltip"][data-part="popup"][data-placement^="end"] > [data-scope="tooltip"][data-part="arrow"] {
111
+ display: block;
112
+ inset-inline-start: calc(0.5rem / -2);
113
+ top: var(--arrow-y, calc(50% - 0.5rem / 2));
114
+ clip-path: polygon(0 0, 100% 100%, 0 100%);
115
+ }
116
+
117
+ [data-scope="tooltip"][data-part="popup"][data-placement^="start"]:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) > [data-scope="tooltip"][data-part="arrow"] {
118
+ clip-path: polygon(0 0, 100% 100%, 0 100%);
119
+ }
120
+
121
+ [data-scope="tooltip"][data-part="popup"][data-placement^="end"]:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) > [data-scope="tooltip"][data-part="arrow"] {
122
+ clip-path: polygon(0 0, 100% 0, 100% 100%);
123
+ }
124
+
60
125
  [data-scope="tooltip"][data-part="trigger"][data-color="primary"] {
61
126
  background: var(--color-primary);
62
127
  color: var(--color-primary-content);
@@ -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
  }