@duskmoon-dev/core 1.2.0 → 1.3.1
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/dist/components/collapse.css +208 -8
- package/dist/components/index.css +401 -8
- package/dist/components/navigation.css +193 -0
- package/dist/esm/components/collapse.js +208 -8
- package/dist/esm/components/navigation.js +193 -0
- package/dist/index.css +731 -128
- package/dist/themes/moonlight.css +145 -60
- package/dist/themes/sunshine.css +144 -60
- package/package.json +1 -1
|
@@ -6,18 +6,93 @@
|
|
|
6
6
|
@layer components {
|
|
7
7
|
/* Base Collapse */
|
|
8
8
|
.collapse {
|
|
9
|
+
display: flex;
|
|
10
|
+
flex-direction: column;
|
|
11
|
+
border-radius: 0.5rem;
|
|
12
|
+
background-color: var(--color-surface);
|
|
13
|
+
/* Override Tailwind's visibility: collapse utility */
|
|
14
|
+
visibility: visible !important;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/* Collapse Trigger */
|
|
18
|
+
.collapse-trigger {
|
|
19
|
+
display: flex;
|
|
20
|
+
align-items: center;
|
|
21
|
+
justify-content: space-between;
|
|
22
|
+
width: 100%;
|
|
23
|
+
padding: 0.75rem 1rem;
|
|
24
|
+
font-size: 1rem;
|
|
25
|
+
font-weight: 500;
|
|
26
|
+
color: var(--color-on-surface);
|
|
27
|
+
background-color: transparent;
|
|
28
|
+
border: none;
|
|
29
|
+
cursor: pointer;
|
|
30
|
+
transition: background-color 150ms ease-in-out;
|
|
31
|
+
text-align: left;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.collapse-trigger:hover {
|
|
35
|
+
background-color: var(--color-surface-container);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.collapse-trigger:focus-visible {
|
|
39
|
+
outline: 2px solid var(--color-primary);
|
|
40
|
+
outline-offset: -2px;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/* Collapse Icon */
|
|
44
|
+
.collapse-icon {
|
|
45
|
+
display: flex;
|
|
46
|
+
align-items: center;
|
|
47
|
+
justify-content: center;
|
|
48
|
+
width: 1.5rem;
|
|
49
|
+
height: 1.5rem;
|
|
50
|
+
transition: transform 300ms ease-in-out;
|
|
51
|
+
flex-shrink: 0;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/* Collapse Content - hidden by default */
|
|
55
|
+
.collapse-content {
|
|
9
56
|
display: grid;
|
|
10
57
|
grid-template-rows: 0fr;
|
|
11
58
|
transition: grid-template-rows 300ms ease-in-out;
|
|
59
|
+
overflow: hidden;
|
|
12
60
|
}
|
|
13
61
|
|
|
14
|
-
.collapse
|
|
62
|
+
.collapse-content > * {
|
|
63
|
+
overflow: hidden;
|
|
64
|
+
padding: 0 1rem;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/* Open State */
|
|
68
|
+
.collapse-open .collapse-content {
|
|
15
69
|
grid-template-rows: 1fr;
|
|
16
70
|
}
|
|
17
71
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
72
|
+
.collapse-open .collapse-content > * {
|
|
73
|
+
padding: 0 1rem 1rem;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.collapse-open .collapse-icon {
|
|
77
|
+
transform: rotate(180deg);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/* Closed State (explicit) */
|
|
81
|
+
.collapse-closed .collapse-content {
|
|
82
|
+
grid-template-rows: 0fr;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/* Legacy show class for backwards compatibility */
|
|
86
|
+
.collapse.show .collapse-content {
|
|
87
|
+
grid-template-rows: 1fr;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.collapse.show .collapse-content > * {
|
|
91
|
+
padding: 0 1rem 1rem;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.collapse.show .collapse-icon {
|
|
95
|
+
transform: rotate(180deg);
|
|
21
96
|
}
|
|
22
97
|
|
|
23
98
|
/* Collapse Inner (for padding) */
|
|
@@ -81,9 +156,11 @@
|
|
|
81
156
|
border: 1px solid var(--color-outline-variant);
|
|
82
157
|
border-radius: 0.75rem;
|
|
83
158
|
overflow: hidden;
|
|
159
|
+
box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1);
|
|
84
160
|
}
|
|
85
161
|
|
|
86
|
-
.collapse-card .collapse-toggle
|
|
162
|
+
.collapse-card .collapse-toggle,
|
|
163
|
+
.collapse-card .collapse-trigger {
|
|
87
164
|
width: 100%;
|
|
88
165
|
justify-content: space-between;
|
|
89
166
|
padding: 1rem;
|
|
@@ -91,15 +168,132 @@
|
|
|
91
168
|
color: var(--color-on-surface);
|
|
92
169
|
}
|
|
93
170
|
|
|
94
|
-
.collapse-card .collapse-toggle:hover
|
|
171
|
+
.collapse-card .collapse-toggle:hover,
|
|
172
|
+
.collapse-card .collapse-trigger:hover {
|
|
95
173
|
background-color: var(--color-surface-container);
|
|
96
174
|
}
|
|
97
175
|
|
|
98
|
-
.collapse-card .collapse-inner
|
|
176
|
+
.collapse-card .collapse-inner,
|
|
177
|
+
.collapse-card .collapse-content > * {
|
|
99
178
|
padding: 0 1rem 1rem;
|
|
100
179
|
color: var(--color-on-surface-variant);
|
|
101
180
|
}
|
|
102
181
|
|
|
182
|
+
/* Bordered Variant */
|
|
183
|
+
.collapse-bordered {
|
|
184
|
+
border: 1px solid var(--color-outline-variant);
|
|
185
|
+
border-radius: 0.5rem;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
/* Ghost Variant */
|
|
189
|
+
.collapse-ghost {
|
|
190
|
+
background-color: transparent;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
.collapse-ghost .collapse-trigger:hover {
|
|
194
|
+
background-color: color-mix(in oklch, var(--color-on-surface) 5%, transparent);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
/* Color Variants */
|
|
198
|
+
.collapse-primary .collapse-trigger {
|
|
199
|
+
color: var(--color-primary);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
.collapse-primary .collapse-trigger:hover {
|
|
203
|
+
background-color: var(--color-primary-container);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
.collapse-secondary .collapse-trigger {
|
|
207
|
+
color: var(--color-secondary);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
.collapse-secondary .collapse-trigger:hover {
|
|
211
|
+
background-color: var(--color-secondary-container);
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
.collapse-tertiary .collapse-trigger {
|
|
215
|
+
color: var(--color-tertiary);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
.collapse-tertiary .collapse-trigger:hover {
|
|
219
|
+
background-color: var(--color-tertiary-container);
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
/* Size Variants */
|
|
223
|
+
.collapse-sm .collapse-trigger {
|
|
224
|
+
padding: 0.5rem 0.75rem;
|
|
225
|
+
font-size: 0.875rem;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
.collapse-sm .collapse-content > * {
|
|
229
|
+
padding: 0 0.75rem;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
.collapse-sm.collapse-open .collapse-content > * {
|
|
233
|
+
padding: 0 0.75rem 0.75rem;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
.collapse-lg .collapse-trigger {
|
|
237
|
+
padding: 1rem 1.25rem;
|
|
238
|
+
font-size: 1.125rem;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
.collapse-lg .collapse-content > * {
|
|
242
|
+
padding: 0 1.25rem;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
.collapse-lg.collapse-open .collapse-content > * {
|
|
246
|
+
padding: 0 1.25rem 1.25rem;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
/* Divider Variant */
|
|
250
|
+
.collapse-divider .collapse-trigger {
|
|
251
|
+
border-bottom: 1px solid var(--color-outline-variant);
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
.collapse-divider.collapse-open .collapse-trigger {
|
|
255
|
+
border-bottom-color: var(--color-outline-variant);
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
/* Disabled State */
|
|
259
|
+
.collapse-disabled {
|
|
260
|
+
opacity: 0.5;
|
|
261
|
+
pointer-events: none;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
.collapse-disabled .collapse-trigger {
|
|
265
|
+
cursor: not-allowed;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
/* Loading State */
|
|
269
|
+
.collapse-loading .collapse-trigger::after {
|
|
270
|
+
content: '';
|
|
271
|
+
display: inline-block;
|
|
272
|
+
width: 1rem;
|
|
273
|
+
height: 1rem;
|
|
274
|
+
margin-left: 0.5rem;
|
|
275
|
+
border: 2px solid var(--color-outline);
|
|
276
|
+
border-top-color: var(--color-primary);
|
|
277
|
+
border-radius: 50%;
|
|
278
|
+
animation: collapse-spin 0.8s linear infinite;
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
@keyframes collapse-spin {
|
|
282
|
+
to { transform: rotate(360deg); }
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
/* Slide Animation */
|
|
286
|
+
.collapse-slide .collapse-content > * {
|
|
287
|
+
transform: translateY(-0.5rem);
|
|
288
|
+
opacity: 0;
|
|
289
|
+
transition: transform 300ms ease-in-out, opacity 200ms ease-in-out;
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
.collapse-slide.collapse-open .collapse-content > * {
|
|
293
|
+
transform: translateY(0);
|
|
294
|
+
opacity: 1;
|
|
295
|
+
}
|
|
296
|
+
|
|
103
297
|
/* Horizontal Collapse */
|
|
104
298
|
.collapse-horizontal {
|
|
105
299
|
display: grid;
|
|
@@ -242,13 +436,19 @@
|
|
|
242
436
|
/* Reduce Motion */
|
|
243
437
|
@media (prefers-reduced-motion: reduce) {
|
|
244
438
|
.collapse,
|
|
439
|
+
.collapse-content,
|
|
440
|
+
.collapse-icon,
|
|
245
441
|
.collapse-fade,
|
|
246
442
|
.collapse-horizontal,
|
|
247
443
|
.collapse-horizontal-fixed,
|
|
248
444
|
.collapse-toggle-icon,
|
|
249
445
|
.collapse-maxheight,
|
|
250
|
-
.collapse-animating
|
|
446
|
+
.collapse-animating,
|
|
447
|
+
.collapse-slide .collapse-content > * {
|
|
251
448
|
transition: none;
|
|
252
449
|
}
|
|
450
|
+
.collapse-loading .collapse-trigger::after {
|
|
451
|
+
animation: none;
|
|
452
|
+
}
|
|
253
453
|
}
|
|
254
454
|
}
|