@duskmoon-dev/core 1.2.0 → 1.3.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.
- 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 +401 -8
- package/package.json +1 -1
package/dist/index.css
CHANGED
|
@@ -2250,6 +2250,7 @@ html {
|
|
|
2250
2250
|
font-size: 0.875rem;
|
|
2251
2251
|
}
|
|
2252
2252
|
|
|
2253
|
+
/* List-based breadcrumbs (legacy) */
|
|
2253
2254
|
.breadcrumbs li {
|
|
2254
2255
|
display: flex;
|
|
2255
2256
|
align-items: center;
|
|
@@ -2280,6 +2281,198 @@ html {
|
|
|
2280
2281
|
color: var(--color-on-surface-variant);
|
|
2281
2282
|
}
|
|
2282
2283
|
|
|
2284
|
+
/* Span-based breadcrumbs */
|
|
2285
|
+
.breadcrumb-item {
|
|
2286
|
+
display: inline-flex;
|
|
2287
|
+
align-items: center;
|
|
2288
|
+
gap: 0.375rem;
|
|
2289
|
+
color: var(--color-on-surface-variant);
|
|
2290
|
+
text-decoration: none;
|
|
2291
|
+
transition: color 150ms ease-in-out;
|
|
2292
|
+
}
|
|
2293
|
+
|
|
2294
|
+
.breadcrumb-item:hover {
|
|
2295
|
+
color: var(--color-on-surface);
|
|
2296
|
+
}
|
|
2297
|
+
|
|
2298
|
+
.breadcrumb-item-active {
|
|
2299
|
+
color: var(--color-on-surface);
|
|
2300
|
+
font-weight: 500;
|
|
2301
|
+
pointer-events: none;
|
|
2302
|
+
}
|
|
2303
|
+
|
|
2304
|
+
.breadcrumb-link {
|
|
2305
|
+
display: inline-flex;
|
|
2306
|
+
align-items: center;
|
|
2307
|
+
gap: 0.375rem;
|
|
2308
|
+
color: var(--color-on-surface-variant);
|
|
2309
|
+
text-decoration: none;
|
|
2310
|
+
transition: color 150ms ease-in-out;
|
|
2311
|
+
cursor: pointer;
|
|
2312
|
+
}
|
|
2313
|
+
|
|
2314
|
+
.breadcrumb-link:hover {
|
|
2315
|
+
color: var(--color-primary);
|
|
2316
|
+
text-decoration: underline;
|
|
2317
|
+
}
|
|
2318
|
+
|
|
2319
|
+
.breadcrumb-link:focus-visible {
|
|
2320
|
+
outline: 2px solid var(--color-primary);
|
|
2321
|
+
outline-offset: 2px;
|
|
2322
|
+
border-radius: 0.25rem;
|
|
2323
|
+
}
|
|
2324
|
+
|
|
2325
|
+
/* Separator - Default shows "/" */
|
|
2326
|
+
.breadcrumb-separator {
|
|
2327
|
+
display: inline-flex;
|
|
2328
|
+
align-items: center;
|
|
2329
|
+
color: var(--color-on-surface-variant);
|
|
2330
|
+
font-size: 0.875rem;
|
|
2331
|
+
user-select: none;
|
|
2332
|
+
opacity: 0.6;
|
|
2333
|
+
}
|
|
2334
|
+
|
|
2335
|
+
.breadcrumb-separator::before {
|
|
2336
|
+
content: "/";
|
|
2337
|
+
}
|
|
2338
|
+
|
|
2339
|
+
/* Separator Variants */
|
|
2340
|
+
.breadcrumbs-slash .breadcrumb-separator::before {
|
|
2341
|
+
content: "/";
|
|
2342
|
+
}
|
|
2343
|
+
|
|
2344
|
+
.breadcrumbs-chevron .breadcrumb-separator::before {
|
|
2345
|
+
content: "›";
|
|
2346
|
+
font-size: 1.125rem;
|
|
2347
|
+
}
|
|
2348
|
+
|
|
2349
|
+
.breadcrumbs-dot .breadcrumb-separator::before {
|
|
2350
|
+
content: "•";
|
|
2351
|
+
}
|
|
2352
|
+
|
|
2353
|
+
.breadcrumbs-arrow .breadcrumb-separator::before {
|
|
2354
|
+
content: "→";
|
|
2355
|
+
}
|
|
2356
|
+
|
|
2357
|
+
.breadcrumbs-pipe .breadcrumb-separator::before {
|
|
2358
|
+
content: "|";
|
|
2359
|
+
}
|
|
2360
|
+
|
|
2361
|
+
/* Breadcrumb Icon */
|
|
2362
|
+
.breadcrumb-icon {
|
|
2363
|
+
display: inline-flex;
|
|
2364
|
+
align-items: center;
|
|
2365
|
+
justify-content: center;
|
|
2366
|
+
width: 1rem;
|
|
2367
|
+
height: 1rem;
|
|
2368
|
+
flex-shrink: 0;
|
|
2369
|
+
}
|
|
2370
|
+
|
|
2371
|
+
.breadcrumb-icon svg {
|
|
2372
|
+
width: 100%;
|
|
2373
|
+
height: 100%;
|
|
2374
|
+
}
|
|
2375
|
+
|
|
2376
|
+
/* Home Icon Link */
|
|
2377
|
+
.breadcrumb-home {
|
|
2378
|
+
display: inline-flex;
|
|
2379
|
+
align-items: center;
|
|
2380
|
+
justify-content: center;
|
|
2381
|
+
color: var(--color-on-surface-variant);
|
|
2382
|
+
text-decoration: none;
|
|
2383
|
+
transition: color 150ms ease-in-out;
|
|
2384
|
+
}
|
|
2385
|
+
|
|
2386
|
+
.breadcrumb-home:hover {
|
|
2387
|
+
color: var(--color-primary);
|
|
2388
|
+
}
|
|
2389
|
+
|
|
2390
|
+
.breadcrumb-home-icon {
|
|
2391
|
+
width: 1.125rem;
|
|
2392
|
+
height: 1.125rem;
|
|
2393
|
+
}
|
|
2394
|
+
|
|
2395
|
+
/* Collapsed Breadcrumbs (with ellipsis) */
|
|
2396
|
+
.breadcrumb-ellipsis {
|
|
2397
|
+
display: inline-flex;
|
|
2398
|
+
align-items: center;
|
|
2399
|
+
justify-content: center;
|
|
2400
|
+
padding: 0.25rem 0.5rem;
|
|
2401
|
+
color: var(--color-on-surface-variant);
|
|
2402
|
+
background-color: transparent;
|
|
2403
|
+
border: none;
|
|
2404
|
+
border-radius: 0.25rem;
|
|
2405
|
+
cursor: pointer;
|
|
2406
|
+
transition: background-color 150ms ease-in-out;
|
|
2407
|
+
}
|
|
2408
|
+
|
|
2409
|
+
.breadcrumb-ellipsis::before {
|
|
2410
|
+
content: "...";
|
|
2411
|
+
}
|
|
2412
|
+
|
|
2413
|
+
.breadcrumb-ellipsis:hover {
|
|
2414
|
+
background-color: color-mix(in oklch, var(--color-on-surface) 8%, transparent);
|
|
2415
|
+
}
|
|
2416
|
+
|
|
2417
|
+
/* Color Variants */
|
|
2418
|
+
.breadcrumbs-primary .breadcrumb-link:hover,
|
|
2419
|
+
.breadcrumbs-primary .breadcrumb-item-active {
|
|
2420
|
+
color: var(--color-primary);
|
|
2421
|
+
}
|
|
2422
|
+
|
|
2423
|
+
.breadcrumbs-secondary .breadcrumb-link:hover,
|
|
2424
|
+
.breadcrumbs-secondary .breadcrumb-item-active {
|
|
2425
|
+
color: var(--color-secondary);
|
|
2426
|
+
}
|
|
2427
|
+
|
|
2428
|
+
.breadcrumbs-tertiary .breadcrumb-link:hover,
|
|
2429
|
+
.breadcrumbs-tertiary .breadcrumb-item-active {
|
|
2430
|
+
color: var(--color-tertiary);
|
|
2431
|
+
}
|
|
2432
|
+
|
|
2433
|
+
/* Size Variants */
|
|
2434
|
+
.breadcrumbs-sm {
|
|
2435
|
+
font-size: 0.75rem;
|
|
2436
|
+
gap: 0.375rem;
|
|
2437
|
+
}
|
|
2438
|
+
|
|
2439
|
+
.breadcrumbs-sm .breadcrumb-icon,
|
|
2440
|
+
.breadcrumbs-sm .breadcrumb-home-icon {
|
|
2441
|
+
width: 0.875rem;
|
|
2442
|
+
height: 0.875rem;
|
|
2443
|
+
}
|
|
2444
|
+
|
|
2445
|
+
.breadcrumbs-lg {
|
|
2446
|
+
font-size: 1rem;
|
|
2447
|
+
gap: 0.625rem;
|
|
2448
|
+
}
|
|
2449
|
+
|
|
2450
|
+
.breadcrumbs-lg .breadcrumb-icon,
|
|
2451
|
+
.breadcrumbs-lg .breadcrumb-home-icon {
|
|
2452
|
+
width: 1.25rem;
|
|
2453
|
+
height: 1.25rem;
|
|
2454
|
+
}
|
|
2455
|
+
|
|
2456
|
+
/* Contained Variant (with background) */
|
|
2457
|
+
.breadcrumbs-contained {
|
|
2458
|
+
padding: 0.75rem 1rem;
|
|
2459
|
+
background-color: var(--color-surface-container);
|
|
2460
|
+
border-radius: 0.5rem;
|
|
2461
|
+
}
|
|
2462
|
+
|
|
2463
|
+
/* No Wrap Variant */
|
|
2464
|
+
.breadcrumbs-nowrap {
|
|
2465
|
+
flex-wrap: nowrap;
|
|
2466
|
+
overflow-x: auto;
|
|
2467
|
+
}
|
|
2468
|
+
|
|
2469
|
+
/* Disabled Breadcrumb Item */
|
|
2470
|
+
.breadcrumb-item-disabled {
|
|
2471
|
+
opacity: 0.38;
|
|
2472
|
+
pointer-events: none;
|
|
2473
|
+
cursor: not-allowed;
|
|
2474
|
+
}
|
|
2475
|
+
|
|
2283
2476
|
/* Tabs */
|
|
2284
2477
|
.tabs {
|
|
2285
2478
|
display: flex;
|
|
@@ -12741,18 +12934,93 @@ html {
|
|
|
12741
12934
|
@layer components {
|
|
12742
12935
|
/* Base Collapse */
|
|
12743
12936
|
.collapse {
|
|
12937
|
+
display: flex;
|
|
12938
|
+
flex-direction: column;
|
|
12939
|
+
border-radius: 0.5rem;
|
|
12940
|
+
background-color: var(--color-surface);
|
|
12941
|
+
/* Override Tailwind's visibility: collapse utility */
|
|
12942
|
+
visibility: visible !important;
|
|
12943
|
+
}
|
|
12944
|
+
|
|
12945
|
+
/* Collapse Trigger */
|
|
12946
|
+
.collapse-trigger {
|
|
12947
|
+
display: flex;
|
|
12948
|
+
align-items: center;
|
|
12949
|
+
justify-content: space-between;
|
|
12950
|
+
width: 100%;
|
|
12951
|
+
padding: 0.75rem 1rem;
|
|
12952
|
+
font-size: 1rem;
|
|
12953
|
+
font-weight: 500;
|
|
12954
|
+
color: var(--color-on-surface);
|
|
12955
|
+
background-color: transparent;
|
|
12956
|
+
border: none;
|
|
12957
|
+
cursor: pointer;
|
|
12958
|
+
transition: background-color 150ms ease-in-out;
|
|
12959
|
+
text-align: left;
|
|
12960
|
+
}
|
|
12961
|
+
|
|
12962
|
+
.collapse-trigger:hover {
|
|
12963
|
+
background-color: var(--color-surface-container);
|
|
12964
|
+
}
|
|
12965
|
+
|
|
12966
|
+
.collapse-trigger:focus-visible {
|
|
12967
|
+
outline: 2px solid var(--color-primary);
|
|
12968
|
+
outline-offset: -2px;
|
|
12969
|
+
}
|
|
12970
|
+
|
|
12971
|
+
/* Collapse Icon */
|
|
12972
|
+
.collapse-icon {
|
|
12973
|
+
display: flex;
|
|
12974
|
+
align-items: center;
|
|
12975
|
+
justify-content: center;
|
|
12976
|
+
width: 1.5rem;
|
|
12977
|
+
height: 1.5rem;
|
|
12978
|
+
transition: transform 300ms ease-in-out;
|
|
12979
|
+
flex-shrink: 0;
|
|
12980
|
+
}
|
|
12981
|
+
|
|
12982
|
+
/* Collapse Content - hidden by default */
|
|
12983
|
+
.collapse-content {
|
|
12744
12984
|
display: grid;
|
|
12745
12985
|
grid-template-rows: 0fr;
|
|
12746
12986
|
transition: grid-template-rows 300ms ease-in-out;
|
|
12987
|
+
overflow: hidden;
|
|
12747
12988
|
}
|
|
12748
12989
|
|
|
12749
|
-
.collapse
|
|
12990
|
+
.collapse-content > * {
|
|
12991
|
+
overflow: hidden;
|
|
12992
|
+
padding: 0 1rem;
|
|
12993
|
+
}
|
|
12994
|
+
|
|
12995
|
+
/* Open State */
|
|
12996
|
+
.collapse-open .collapse-content {
|
|
12750
12997
|
grid-template-rows: 1fr;
|
|
12751
12998
|
}
|
|
12752
12999
|
|
|
12753
|
-
|
|
12754
|
-
|
|
12755
|
-
|
|
13000
|
+
.collapse-open .collapse-content > * {
|
|
13001
|
+
padding: 0 1rem 1rem;
|
|
13002
|
+
}
|
|
13003
|
+
|
|
13004
|
+
.collapse-open .collapse-icon {
|
|
13005
|
+
transform: rotate(180deg);
|
|
13006
|
+
}
|
|
13007
|
+
|
|
13008
|
+
/* Closed State (explicit) */
|
|
13009
|
+
.collapse-closed .collapse-content {
|
|
13010
|
+
grid-template-rows: 0fr;
|
|
13011
|
+
}
|
|
13012
|
+
|
|
13013
|
+
/* Legacy show class for backwards compatibility */
|
|
13014
|
+
.collapse.show .collapse-content {
|
|
13015
|
+
grid-template-rows: 1fr;
|
|
13016
|
+
}
|
|
13017
|
+
|
|
13018
|
+
.collapse.show .collapse-content > * {
|
|
13019
|
+
padding: 0 1rem 1rem;
|
|
13020
|
+
}
|
|
13021
|
+
|
|
13022
|
+
.collapse.show .collapse-icon {
|
|
13023
|
+
transform: rotate(180deg);
|
|
12756
13024
|
}
|
|
12757
13025
|
|
|
12758
13026
|
/* Collapse Inner (for padding) */
|
|
@@ -12816,9 +13084,11 @@ html {
|
|
|
12816
13084
|
border: 1px solid var(--color-outline-variant);
|
|
12817
13085
|
border-radius: 0.75rem;
|
|
12818
13086
|
overflow: hidden;
|
|
13087
|
+
box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1);
|
|
12819
13088
|
}
|
|
12820
13089
|
|
|
12821
|
-
.collapse-card .collapse-toggle
|
|
13090
|
+
.collapse-card .collapse-toggle,
|
|
13091
|
+
.collapse-card .collapse-trigger {
|
|
12822
13092
|
width: 100%;
|
|
12823
13093
|
justify-content: space-between;
|
|
12824
13094
|
padding: 1rem;
|
|
@@ -12826,15 +13096,132 @@ html {
|
|
|
12826
13096
|
color: var(--color-on-surface);
|
|
12827
13097
|
}
|
|
12828
13098
|
|
|
12829
|
-
.collapse-card .collapse-toggle:hover
|
|
13099
|
+
.collapse-card .collapse-toggle:hover,
|
|
13100
|
+
.collapse-card .collapse-trigger:hover {
|
|
12830
13101
|
background-color: var(--color-surface-container);
|
|
12831
13102
|
}
|
|
12832
13103
|
|
|
12833
|
-
.collapse-card .collapse-inner
|
|
13104
|
+
.collapse-card .collapse-inner,
|
|
13105
|
+
.collapse-card .collapse-content > * {
|
|
12834
13106
|
padding: 0 1rem 1rem;
|
|
12835
13107
|
color: var(--color-on-surface-variant);
|
|
12836
13108
|
}
|
|
12837
13109
|
|
|
13110
|
+
/* Bordered Variant */
|
|
13111
|
+
.collapse-bordered {
|
|
13112
|
+
border: 1px solid var(--color-outline-variant);
|
|
13113
|
+
border-radius: 0.5rem;
|
|
13114
|
+
}
|
|
13115
|
+
|
|
13116
|
+
/* Ghost Variant */
|
|
13117
|
+
.collapse-ghost {
|
|
13118
|
+
background-color: transparent;
|
|
13119
|
+
}
|
|
13120
|
+
|
|
13121
|
+
.collapse-ghost .collapse-trigger:hover {
|
|
13122
|
+
background-color: color-mix(in oklch, var(--color-on-surface) 5%, transparent);
|
|
13123
|
+
}
|
|
13124
|
+
|
|
13125
|
+
/* Color Variants */
|
|
13126
|
+
.collapse-primary .collapse-trigger {
|
|
13127
|
+
color: var(--color-primary);
|
|
13128
|
+
}
|
|
13129
|
+
|
|
13130
|
+
.collapse-primary .collapse-trigger:hover {
|
|
13131
|
+
background-color: var(--color-primary-container);
|
|
13132
|
+
}
|
|
13133
|
+
|
|
13134
|
+
.collapse-secondary .collapse-trigger {
|
|
13135
|
+
color: var(--color-secondary);
|
|
13136
|
+
}
|
|
13137
|
+
|
|
13138
|
+
.collapse-secondary .collapse-trigger:hover {
|
|
13139
|
+
background-color: var(--color-secondary-container);
|
|
13140
|
+
}
|
|
13141
|
+
|
|
13142
|
+
.collapse-tertiary .collapse-trigger {
|
|
13143
|
+
color: var(--color-tertiary);
|
|
13144
|
+
}
|
|
13145
|
+
|
|
13146
|
+
.collapse-tertiary .collapse-trigger:hover {
|
|
13147
|
+
background-color: var(--color-tertiary-container);
|
|
13148
|
+
}
|
|
13149
|
+
|
|
13150
|
+
/* Size Variants */
|
|
13151
|
+
.collapse-sm .collapse-trigger {
|
|
13152
|
+
padding: 0.5rem 0.75rem;
|
|
13153
|
+
font-size: 0.875rem;
|
|
13154
|
+
}
|
|
13155
|
+
|
|
13156
|
+
.collapse-sm .collapse-content > * {
|
|
13157
|
+
padding: 0 0.75rem;
|
|
13158
|
+
}
|
|
13159
|
+
|
|
13160
|
+
.collapse-sm.collapse-open .collapse-content > * {
|
|
13161
|
+
padding: 0 0.75rem 0.75rem;
|
|
13162
|
+
}
|
|
13163
|
+
|
|
13164
|
+
.collapse-lg .collapse-trigger {
|
|
13165
|
+
padding: 1rem 1.25rem;
|
|
13166
|
+
font-size: 1.125rem;
|
|
13167
|
+
}
|
|
13168
|
+
|
|
13169
|
+
.collapse-lg .collapse-content > * {
|
|
13170
|
+
padding: 0 1.25rem;
|
|
13171
|
+
}
|
|
13172
|
+
|
|
13173
|
+
.collapse-lg.collapse-open .collapse-content > * {
|
|
13174
|
+
padding: 0 1.25rem 1.25rem;
|
|
13175
|
+
}
|
|
13176
|
+
|
|
13177
|
+
/* Divider Variant */
|
|
13178
|
+
.collapse-divider .collapse-trigger {
|
|
13179
|
+
border-bottom: 1px solid var(--color-outline-variant);
|
|
13180
|
+
}
|
|
13181
|
+
|
|
13182
|
+
.collapse-divider.collapse-open .collapse-trigger {
|
|
13183
|
+
border-bottom-color: var(--color-outline-variant);
|
|
13184
|
+
}
|
|
13185
|
+
|
|
13186
|
+
/* Disabled State */
|
|
13187
|
+
.collapse-disabled {
|
|
13188
|
+
opacity: 0.5;
|
|
13189
|
+
pointer-events: none;
|
|
13190
|
+
}
|
|
13191
|
+
|
|
13192
|
+
.collapse-disabled .collapse-trigger {
|
|
13193
|
+
cursor: not-allowed;
|
|
13194
|
+
}
|
|
13195
|
+
|
|
13196
|
+
/* Loading State */
|
|
13197
|
+
.collapse-loading .collapse-trigger::after {
|
|
13198
|
+
content: '';
|
|
13199
|
+
display: inline-block;
|
|
13200
|
+
width: 1rem;
|
|
13201
|
+
height: 1rem;
|
|
13202
|
+
margin-left: 0.5rem;
|
|
13203
|
+
border: 2px solid var(--color-outline);
|
|
13204
|
+
border-top-color: var(--color-primary);
|
|
13205
|
+
border-radius: 50%;
|
|
13206
|
+
animation: collapse-spin 0.8s linear infinite;
|
|
13207
|
+
}
|
|
13208
|
+
|
|
13209
|
+
@keyframes collapse-spin {
|
|
13210
|
+
to { transform: rotate(360deg); }
|
|
13211
|
+
}
|
|
13212
|
+
|
|
13213
|
+
/* Slide Animation */
|
|
13214
|
+
.collapse-slide .collapse-content > * {
|
|
13215
|
+
transform: translateY(-0.5rem);
|
|
13216
|
+
opacity: 0;
|
|
13217
|
+
transition: transform 300ms ease-in-out, opacity 200ms ease-in-out;
|
|
13218
|
+
}
|
|
13219
|
+
|
|
13220
|
+
.collapse-slide.collapse-open .collapse-content > * {
|
|
13221
|
+
transform: translateY(0);
|
|
13222
|
+
opacity: 1;
|
|
13223
|
+
}
|
|
13224
|
+
|
|
12838
13225
|
/* Horizontal Collapse */
|
|
12839
13226
|
.collapse-horizontal {
|
|
12840
13227
|
display: grid;
|
|
@@ -12977,14 +13364,20 @@ html {
|
|
|
12977
13364
|
/* Reduce Motion */
|
|
12978
13365
|
@media (prefers-reduced-motion: reduce) {
|
|
12979
13366
|
.collapse,
|
|
13367
|
+
.collapse-content,
|
|
13368
|
+
.collapse-icon,
|
|
12980
13369
|
.collapse-fade,
|
|
12981
13370
|
.collapse-horizontal,
|
|
12982
13371
|
.collapse-horizontal-fixed,
|
|
12983
13372
|
.collapse-toggle-icon,
|
|
12984
13373
|
.collapse-maxheight,
|
|
12985
|
-
.collapse-animating
|
|
13374
|
+
.collapse-animating,
|
|
13375
|
+
.collapse-slide .collapse-content > * {
|
|
12986
13376
|
transition: none;
|
|
12987
13377
|
}
|
|
13378
|
+
.collapse-loading .collapse-trigger::after {
|
|
13379
|
+
animation: none;
|
|
13380
|
+
}
|
|
12988
13381
|
}
|
|
12989
13382
|
}
|
|
12990
13383
|
|
package/package.json
CHANGED