@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
|
@@ -1547,6 +1547,7 @@
|
|
|
1547
1547
|
font-size: 0.875rem;
|
|
1548
1548
|
}
|
|
1549
1549
|
|
|
1550
|
+
/* List-based breadcrumbs (legacy) */
|
|
1550
1551
|
.breadcrumbs li {
|
|
1551
1552
|
display: flex;
|
|
1552
1553
|
align-items: center;
|
|
@@ -1577,6 +1578,198 @@
|
|
|
1577
1578
|
color: var(--color-on-surface-variant);
|
|
1578
1579
|
}
|
|
1579
1580
|
|
|
1581
|
+
/* Span-based breadcrumbs */
|
|
1582
|
+
.breadcrumb-item {
|
|
1583
|
+
display: inline-flex;
|
|
1584
|
+
align-items: center;
|
|
1585
|
+
gap: 0.375rem;
|
|
1586
|
+
color: var(--color-on-surface-variant);
|
|
1587
|
+
text-decoration: none;
|
|
1588
|
+
transition: color 150ms ease-in-out;
|
|
1589
|
+
}
|
|
1590
|
+
|
|
1591
|
+
.breadcrumb-item:hover {
|
|
1592
|
+
color: var(--color-on-surface);
|
|
1593
|
+
}
|
|
1594
|
+
|
|
1595
|
+
.breadcrumb-item-active {
|
|
1596
|
+
color: var(--color-on-surface);
|
|
1597
|
+
font-weight: 500;
|
|
1598
|
+
pointer-events: none;
|
|
1599
|
+
}
|
|
1600
|
+
|
|
1601
|
+
.breadcrumb-link {
|
|
1602
|
+
display: inline-flex;
|
|
1603
|
+
align-items: center;
|
|
1604
|
+
gap: 0.375rem;
|
|
1605
|
+
color: var(--color-on-surface-variant);
|
|
1606
|
+
text-decoration: none;
|
|
1607
|
+
transition: color 150ms ease-in-out;
|
|
1608
|
+
cursor: pointer;
|
|
1609
|
+
}
|
|
1610
|
+
|
|
1611
|
+
.breadcrumb-link:hover {
|
|
1612
|
+
color: var(--color-primary);
|
|
1613
|
+
text-decoration: underline;
|
|
1614
|
+
}
|
|
1615
|
+
|
|
1616
|
+
.breadcrumb-link:focus-visible {
|
|
1617
|
+
outline: 2px solid var(--color-primary);
|
|
1618
|
+
outline-offset: 2px;
|
|
1619
|
+
border-radius: 0.25rem;
|
|
1620
|
+
}
|
|
1621
|
+
|
|
1622
|
+
/* Separator - Default shows "/" */
|
|
1623
|
+
.breadcrumb-separator {
|
|
1624
|
+
display: inline-flex;
|
|
1625
|
+
align-items: center;
|
|
1626
|
+
color: var(--color-on-surface-variant);
|
|
1627
|
+
font-size: 0.875rem;
|
|
1628
|
+
user-select: none;
|
|
1629
|
+
opacity: 0.6;
|
|
1630
|
+
}
|
|
1631
|
+
|
|
1632
|
+
.breadcrumb-separator::before {
|
|
1633
|
+
content: "/";
|
|
1634
|
+
}
|
|
1635
|
+
|
|
1636
|
+
/* Separator Variants */
|
|
1637
|
+
.breadcrumbs-slash .breadcrumb-separator::before {
|
|
1638
|
+
content: "/";
|
|
1639
|
+
}
|
|
1640
|
+
|
|
1641
|
+
.breadcrumbs-chevron .breadcrumb-separator::before {
|
|
1642
|
+
content: "›";
|
|
1643
|
+
font-size: 1.125rem;
|
|
1644
|
+
}
|
|
1645
|
+
|
|
1646
|
+
.breadcrumbs-dot .breadcrumb-separator::before {
|
|
1647
|
+
content: "•";
|
|
1648
|
+
}
|
|
1649
|
+
|
|
1650
|
+
.breadcrumbs-arrow .breadcrumb-separator::before {
|
|
1651
|
+
content: "→";
|
|
1652
|
+
}
|
|
1653
|
+
|
|
1654
|
+
.breadcrumbs-pipe .breadcrumb-separator::before {
|
|
1655
|
+
content: "|";
|
|
1656
|
+
}
|
|
1657
|
+
|
|
1658
|
+
/* Breadcrumb Icon */
|
|
1659
|
+
.breadcrumb-icon {
|
|
1660
|
+
display: inline-flex;
|
|
1661
|
+
align-items: center;
|
|
1662
|
+
justify-content: center;
|
|
1663
|
+
width: 1rem;
|
|
1664
|
+
height: 1rem;
|
|
1665
|
+
flex-shrink: 0;
|
|
1666
|
+
}
|
|
1667
|
+
|
|
1668
|
+
.breadcrumb-icon svg {
|
|
1669
|
+
width: 100%;
|
|
1670
|
+
height: 100%;
|
|
1671
|
+
}
|
|
1672
|
+
|
|
1673
|
+
/* Home Icon Link */
|
|
1674
|
+
.breadcrumb-home {
|
|
1675
|
+
display: inline-flex;
|
|
1676
|
+
align-items: center;
|
|
1677
|
+
justify-content: center;
|
|
1678
|
+
color: var(--color-on-surface-variant);
|
|
1679
|
+
text-decoration: none;
|
|
1680
|
+
transition: color 150ms ease-in-out;
|
|
1681
|
+
}
|
|
1682
|
+
|
|
1683
|
+
.breadcrumb-home:hover {
|
|
1684
|
+
color: var(--color-primary);
|
|
1685
|
+
}
|
|
1686
|
+
|
|
1687
|
+
.breadcrumb-home-icon {
|
|
1688
|
+
width: 1.125rem;
|
|
1689
|
+
height: 1.125rem;
|
|
1690
|
+
}
|
|
1691
|
+
|
|
1692
|
+
/* Collapsed Breadcrumbs (with ellipsis) */
|
|
1693
|
+
.breadcrumb-ellipsis {
|
|
1694
|
+
display: inline-flex;
|
|
1695
|
+
align-items: center;
|
|
1696
|
+
justify-content: center;
|
|
1697
|
+
padding: 0.25rem 0.5rem;
|
|
1698
|
+
color: var(--color-on-surface-variant);
|
|
1699
|
+
background-color: transparent;
|
|
1700
|
+
border: none;
|
|
1701
|
+
border-radius: 0.25rem;
|
|
1702
|
+
cursor: pointer;
|
|
1703
|
+
transition: background-color 150ms ease-in-out;
|
|
1704
|
+
}
|
|
1705
|
+
|
|
1706
|
+
.breadcrumb-ellipsis::before {
|
|
1707
|
+
content: "...";
|
|
1708
|
+
}
|
|
1709
|
+
|
|
1710
|
+
.breadcrumb-ellipsis:hover {
|
|
1711
|
+
background-color: color-mix(in oklch, var(--color-on-surface) 8%, transparent);
|
|
1712
|
+
}
|
|
1713
|
+
|
|
1714
|
+
/* Color Variants */
|
|
1715
|
+
.breadcrumbs-primary .breadcrumb-link:hover,
|
|
1716
|
+
.breadcrumbs-primary .breadcrumb-item-active {
|
|
1717
|
+
color: var(--color-primary);
|
|
1718
|
+
}
|
|
1719
|
+
|
|
1720
|
+
.breadcrumbs-secondary .breadcrumb-link:hover,
|
|
1721
|
+
.breadcrumbs-secondary .breadcrumb-item-active {
|
|
1722
|
+
color: var(--color-secondary);
|
|
1723
|
+
}
|
|
1724
|
+
|
|
1725
|
+
.breadcrumbs-tertiary .breadcrumb-link:hover,
|
|
1726
|
+
.breadcrumbs-tertiary .breadcrumb-item-active {
|
|
1727
|
+
color: var(--color-tertiary);
|
|
1728
|
+
}
|
|
1729
|
+
|
|
1730
|
+
/* Size Variants */
|
|
1731
|
+
.breadcrumbs-sm {
|
|
1732
|
+
font-size: 0.75rem;
|
|
1733
|
+
gap: 0.375rem;
|
|
1734
|
+
}
|
|
1735
|
+
|
|
1736
|
+
.breadcrumbs-sm .breadcrumb-icon,
|
|
1737
|
+
.breadcrumbs-sm .breadcrumb-home-icon {
|
|
1738
|
+
width: 0.875rem;
|
|
1739
|
+
height: 0.875rem;
|
|
1740
|
+
}
|
|
1741
|
+
|
|
1742
|
+
.breadcrumbs-lg {
|
|
1743
|
+
font-size: 1rem;
|
|
1744
|
+
gap: 0.625rem;
|
|
1745
|
+
}
|
|
1746
|
+
|
|
1747
|
+
.breadcrumbs-lg .breadcrumb-icon,
|
|
1748
|
+
.breadcrumbs-lg .breadcrumb-home-icon {
|
|
1749
|
+
width: 1.25rem;
|
|
1750
|
+
height: 1.25rem;
|
|
1751
|
+
}
|
|
1752
|
+
|
|
1753
|
+
/* Contained Variant (with background) */
|
|
1754
|
+
.breadcrumbs-contained {
|
|
1755
|
+
padding: 0.75rem 1rem;
|
|
1756
|
+
background-color: var(--color-surface-container);
|
|
1757
|
+
border-radius: 0.5rem;
|
|
1758
|
+
}
|
|
1759
|
+
|
|
1760
|
+
/* No Wrap Variant */
|
|
1761
|
+
.breadcrumbs-nowrap {
|
|
1762
|
+
flex-wrap: nowrap;
|
|
1763
|
+
overflow-x: auto;
|
|
1764
|
+
}
|
|
1765
|
+
|
|
1766
|
+
/* Disabled Breadcrumb Item */
|
|
1767
|
+
.breadcrumb-item-disabled {
|
|
1768
|
+
opacity: 0.38;
|
|
1769
|
+
pointer-events: none;
|
|
1770
|
+
cursor: not-allowed;
|
|
1771
|
+
}
|
|
1772
|
+
|
|
1580
1773
|
/* Tabs */
|
|
1581
1774
|
.tabs {
|
|
1582
1775
|
display: flex;
|
|
@@ -12038,18 +12231,93 @@
|
|
|
12038
12231
|
@layer components {
|
|
12039
12232
|
/* Base Collapse */
|
|
12040
12233
|
.collapse {
|
|
12234
|
+
display: flex;
|
|
12235
|
+
flex-direction: column;
|
|
12236
|
+
border-radius: 0.5rem;
|
|
12237
|
+
background-color: var(--color-surface);
|
|
12238
|
+
/* Override Tailwind's visibility: collapse utility */
|
|
12239
|
+
visibility: visible !important;
|
|
12240
|
+
}
|
|
12241
|
+
|
|
12242
|
+
/* Collapse Trigger */
|
|
12243
|
+
.collapse-trigger {
|
|
12244
|
+
display: flex;
|
|
12245
|
+
align-items: center;
|
|
12246
|
+
justify-content: space-between;
|
|
12247
|
+
width: 100%;
|
|
12248
|
+
padding: 0.75rem 1rem;
|
|
12249
|
+
font-size: 1rem;
|
|
12250
|
+
font-weight: 500;
|
|
12251
|
+
color: var(--color-on-surface);
|
|
12252
|
+
background-color: transparent;
|
|
12253
|
+
border: none;
|
|
12254
|
+
cursor: pointer;
|
|
12255
|
+
transition: background-color 150ms ease-in-out;
|
|
12256
|
+
text-align: left;
|
|
12257
|
+
}
|
|
12258
|
+
|
|
12259
|
+
.collapse-trigger:hover {
|
|
12260
|
+
background-color: var(--color-surface-container);
|
|
12261
|
+
}
|
|
12262
|
+
|
|
12263
|
+
.collapse-trigger:focus-visible {
|
|
12264
|
+
outline: 2px solid var(--color-primary);
|
|
12265
|
+
outline-offset: -2px;
|
|
12266
|
+
}
|
|
12267
|
+
|
|
12268
|
+
/* Collapse Icon */
|
|
12269
|
+
.collapse-icon {
|
|
12270
|
+
display: flex;
|
|
12271
|
+
align-items: center;
|
|
12272
|
+
justify-content: center;
|
|
12273
|
+
width: 1.5rem;
|
|
12274
|
+
height: 1.5rem;
|
|
12275
|
+
transition: transform 300ms ease-in-out;
|
|
12276
|
+
flex-shrink: 0;
|
|
12277
|
+
}
|
|
12278
|
+
|
|
12279
|
+
/* Collapse Content - hidden by default */
|
|
12280
|
+
.collapse-content {
|
|
12041
12281
|
display: grid;
|
|
12042
12282
|
grid-template-rows: 0fr;
|
|
12043
12283
|
transition: grid-template-rows 300ms ease-in-out;
|
|
12284
|
+
overflow: hidden;
|
|
12044
12285
|
}
|
|
12045
12286
|
|
|
12046
|
-
.collapse
|
|
12287
|
+
.collapse-content > * {
|
|
12288
|
+
overflow: hidden;
|
|
12289
|
+
padding: 0 1rem;
|
|
12290
|
+
}
|
|
12291
|
+
|
|
12292
|
+
/* Open State */
|
|
12293
|
+
.collapse-open .collapse-content {
|
|
12047
12294
|
grid-template-rows: 1fr;
|
|
12048
12295
|
}
|
|
12049
12296
|
|
|
12050
|
-
|
|
12051
|
-
|
|
12052
|
-
|
|
12297
|
+
.collapse-open .collapse-content > * {
|
|
12298
|
+
padding: 0 1rem 1rem;
|
|
12299
|
+
}
|
|
12300
|
+
|
|
12301
|
+
.collapse-open .collapse-icon {
|
|
12302
|
+
transform: rotate(180deg);
|
|
12303
|
+
}
|
|
12304
|
+
|
|
12305
|
+
/* Closed State (explicit) */
|
|
12306
|
+
.collapse-closed .collapse-content {
|
|
12307
|
+
grid-template-rows: 0fr;
|
|
12308
|
+
}
|
|
12309
|
+
|
|
12310
|
+
/* Legacy show class for backwards compatibility */
|
|
12311
|
+
.collapse.show .collapse-content {
|
|
12312
|
+
grid-template-rows: 1fr;
|
|
12313
|
+
}
|
|
12314
|
+
|
|
12315
|
+
.collapse.show .collapse-content > * {
|
|
12316
|
+
padding: 0 1rem 1rem;
|
|
12317
|
+
}
|
|
12318
|
+
|
|
12319
|
+
.collapse.show .collapse-icon {
|
|
12320
|
+
transform: rotate(180deg);
|
|
12053
12321
|
}
|
|
12054
12322
|
|
|
12055
12323
|
/* Collapse Inner (for padding) */
|
|
@@ -12113,9 +12381,11 @@
|
|
|
12113
12381
|
border: 1px solid var(--color-outline-variant);
|
|
12114
12382
|
border-radius: 0.75rem;
|
|
12115
12383
|
overflow: hidden;
|
|
12384
|
+
box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1);
|
|
12116
12385
|
}
|
|
12117
12386
|
|
|
12118
|
-
.collapse-card .collapse-toggle
|
|
12387
|
+
.collapse-card .collapse-toggle,
|
|
12388
|
+
.collapse-card .collapse-trigger {
|
|
12119
12389
|
width: 100%;
|
|
12120
12390
|
justify-content: space-between;
|
|
12121
12391
|
padding: 1rem;
|
|
@@ -12123,15 +12393,132 @@
|
|
|
12123
12393
|
color: var(--color-on-surface);
|
|
12124
12394
|
}
|
|
12125
12395
|
|
|
12126
|
-
.collapse-card .collapse-toggle:hover
|
|
12396
|
+
.collapse-card .collapse-toggle:hover,
|
|
12397
|
+
.collapse-card .collapse-trigger:hover {
|
|
12127
12398
|
background-color: var(--color-surface-container);
|
|
12128
12399
|
}
|
|
12129
12400
|
|
|
12130
|
-
.collapse-card .collapse-inner
|
|
12401
|
+
.collapse-card .collapse-inner,
|
|
12402
|
+
.collapse-card .collapse-content > * {
|
|
12131
12403
|
padding: 0 1rem 1rem;
|
|
12132
12404
|
color: var(--color-on-surface-variant);
|
|
12133
12405
|
}
|
|
12134
12406
|
|
|
12407
|
+
/* Bordered Variant */
|
|
12408
|
+
.collapse-bordered {
|
|
12409
|
+
border: 1px solid var(--color-outline-variant);
|
|
12410
|
+
border-radius: 0.5rem;
|
|
12411
|
+
}
|
|
12412
|
+
|
|
12413
|
+
/* Ghost Variant */
|
|
12414
|
+
.collapse-ghost {
|
|
12415
|
+
background-color: transparent;
|
|
12416
|
+
}
|
|
12417
|
+
|
|
12418
|
+
.collapse-ghost .collapse-trigger:hover {
|
|
12419
|
+
background-color: color-mix(in oklch, var(--color-on-surface) 5%, transparent);
|
|
12420
|
+
}
|
|
12421
|
+
|
|
12422
|
+
/* Color Variants */
|
|
12423
|
+
.collapse-primary .collapse-trigger {
|
|
12424
|
+
color: var(--color-primary);
|
|
12425
|
+
}
|
|
12426
|
+
|
|
12427
|
+
.collapse-primary .collapse-trigger:hover {
|
|
12428
|
+
background-color: var(--color-primary-container);
|
|
12429
|
+
}
|
|
12430
|
+
|
|
12431
|
+
.collapse-secondary .collapse-trigger {
|
|
12432
|
+
color: var(--color-secondary);
|
|
12433
|
+
}
|
|
12434
|
+
|
|
12435
|
+
.collapse-secondary .collapse-trigger:hover {
|
|
12436
|
+
background-color: var(--color-secondary-container);
|
|
12437
|
+
}
|
|
12438
|
+
|
|
12439
|
+
.collapse-tertiary .collapse-trigger {
|
|
12440
|
+
color: var(--color-tertiary);
|
|
12441
|
+
}
|
|
12442
|
+
|
|
12443
|
+
.collapse-tertiary .collapse-trigger:hover {
|
|
12444
|
+
background-color: var(--color-tertiary-container);
|
|
12445
|
+
}
|
|
12446
|
+
|
|
12447
|
+
/* Size Variants */
|
|
12448
|
+
.collapse-sm .collapse-trigger {
|
|
12449
|
+
padding: 0.5rem 0.75rem;
|
|
12450
|
+
font-size: 0.875rem;
|
|
12451
|
+
}
|
|
12452
|
+
|
|
12453
|
+
.collapse-sm .collapse-content > * {
|
|
12454
|
+
padding: 0 0.75rem;
|
|
12455
|
+
}
|
|
12456
|
+
|
|
12457
|
+
.collapse-sm.collapse-open .collapse-content > * {
|
|
12458
|
+
padding: 0 0.75rem 0.75rem;
|
|
12459
|
+
}
|
|
12460
|
+
|
|
12461
|
+
.collapse-lg .collapse-trigger {
|
|
12462
|
+
padding: 1rem 1.25rem;
|
|
12463
|
+
font-size: 1.125rem;
|
|
12464
|
+
}
|
|
12465
|
+
|
|
12466
|
+
.collapse-lg .collapse-content > * {
|
|
12467
|
+
padding: 0 1.25rem;
|
|
12468
|
+
}
|
|
12469
|
+
|
|
12470
|
+
.collapse-lg.collapse-open .collapse-content > * {
|
|
12471
|
+
padding: 0 1.25rem 1.25rem;
|
|
12472
|
+
}
|
|
12473
|
+
|
|
12474
|
+
/* Divider Variant */
|
|
12475
|
+
.collapse-divider .collapse-trigger {
|
|
12476
|
+
border-bottom: 1px solid var(--color-outline-variant);
|
|
12477
|
+
}
|
|
12478
|
+
|
|
12479
|
+
.collapse-divider.collapse-open .collapse-trigger {
|
|
12480
|
+
border-bottom-color: var(--color-outline-variant);
|
|
12481
|
+
}
|
|
12482
|
+
|
|
12483
|
+
/* Disabled State */
|
|
12484
|
+
.collapse-disabled {
|
|
12485
|
+
opacity: 0.5;
|
|
12486
|
+
pointer-events: none;
|
|
12487
|
+
}
|
|
12488
|
+
|
|
12489
|
+
.collapse-disabled .collapse-trigger {
|
|
12490
|
+
cursor: not-allowed;
|
|
12491
|
+
}
|
|
12492
|
+
|
|
12493
|
+
/* Loading State */
|
|
12494
|
+
.collapse-loading .collapse-trigger::after {
|
|
12495
|
+
content: '';
|
|
12496
|
+
display: inline-block;
|
|
12497
|
+
width: 1rem;
|
|
12498
|
+
height: 1rem;
|
|
12499
|
+
margin-left: 0.5rem;
|
|
12500
|
+
border: 2px solid var(--color-outline);
|
|
12501
|
+
border-top-color: var(--color-primary);
|
|
12502
|
+
border-radius: 50%;
|
|
12503
|
+
animation: collapse-spin 0.8s linear infinite;
|
|
12504
|
+
}
|
|
12505
|
+
|
|
12506
|
+
@keyframes collapse-spin {
|
|
12507
|
+
to { transform: rotate(360deg); }
|
|
12508
|
+
}
|
|
12509
|
+
|
|
12510
|
+
/* Slide Animation */
|
|
12511
|
+
.collapse-slide .collapse-content > * {
|
|
12512
|
+
transform: translateY(-0.5rem);
|
|
12513
|
+
opacity: 0;
|
|
12514
|
+
transition: transform 300ms ease-in-out, opacity 200ms ease-in-out;
|
|
12515
|
+
}
|
|
12516
|
+
|
|
12517
|
+
.collapse-slide.collapse-open .collapse-content > * {
|
|
12518
|
+
transform: translateY(0);
|
|
12519
|
+
opacity: 1;
|
|
12520
|
+
}
|
|
12521
|
+
|
|
12135
12522
|
/* Horizontal Collapse */
|
|
12136
12523
|
.collapse-horizontal {
|
|
12137
12524
|
display: grid;
|
|
@@ -12274,14 +12661,20 @@
|
|
|
12274
12661
|
/* Reduce Motion */
|
|
12275
12662
|
@media (prefers-reduced-motion: reduce) {
|
|
12276
12663
|
.collapse,
|
|
12664
|
+
.collapse-content,
|
|
12665
|
+
.collapse-icon,
|
|
12277
12666
|
.collapse-fade,
|
|
12278
12667
|
.collapse-horizontal,
|
|
12279
12668
|
.collapse-horizontal-fixed,
|
|
12280
12669
|
.collapse-toggle-icon,
|
|
12281
12670
|
.collapse-maxheight,
|
|
12282
|
-
.collapse-animating
|
|
12671
|
+
.collapse-animating,
|
|
12672
|
+
.collapse-slide .collapse-content > * {
|
|
12283
12673
|
transition: none;
|
|
12284
12674
|
}
|
|
12675
|
+
.collapse-loading .collapse-trigger::after {
|
|
12676
|
+
animation: none;
|
|
12677
|
+
}
|
|
12285
12678
|
}
|
|
12286
12679
|
}
|
|
12287
12680
|
|
|
@@ -149,6 +149,7 @@
|
|
|
149
149
|
font-size: 0.875rem;
|
|
150
150
|
}
|
|
151
151
|
|
|
152
|
+
/* List-based breadcrumbs (legacy) */
|
|
152
153
|
.breadcrumbs li {
|
|
153
154
|
display: flex;
|
|
154
155
|
align-items: center;
|
|
@@ -179,6 +180,198 @@
|
|
|
179
180
|
color: var(--color-on-surface-variant);
|
|
180
181
|
}
|
|
181
182
|
|
|
183
|
+
/* Span-based breadcrumbs */
|
|
184
|
+
.breadcrumb-item {
|
|
185
|
+
display: inline-flex;
|
|
186
|
+
align-items: center;
|
|
187
|
+
gap: 0.375rem;
|
|
188
|
+
color: var(--color-on-surface-variant);
|
|
189
|
+
text-decoration: none;
|
|
190
|
+
transition: color 150ms ease-in-out;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
.breadcrumb-item:hover {
|
|
194
|
+
color: var(--color-on-surface);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
.breadcrumb-item-active {
|
|
198
|
+
color: var(--color-on-surface);
|
|
199
|
+
font-weight: 500;
|
|
200
|
+
pointer-events: none;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
.breadcrumb-link {
|
|
204
|
+
display: inline-flex;
|
|
205
|
+
align-items: center;
|
|
206
|
+
gap: 0.375rem;
|
|
207
|
+
color: var(--color-on-surface-variant);
|
|
208
|
+
text-decoration: none;
|
|
209
|
+
transition: color 150ms ease-in-out;
|
|
210
|
+
cursor: pointer;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
.breadcrumb-link:hover {
|
|
214
|
+
color: var(--color-primary);
|
|
215
|
+
text-decoration: underline;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
.breadcrumb-link:focus-visible {
|
|
219
|
+
outline: 2px solid var(--color-primary);
|
|
220
|
+
outline-offset: 2px;
|
|
221
|
+
border-radius: 0.25rem;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
/* Separator - Default shows "/" */
|
|
225
|
+
.breadcrumb-separator {
|
|
226
|
+
display: inline-flex;
|
|
227
|
+
align-items: center;
|
|
228
|
+
color: var(--color-on-surface-variant);
|
|
229
|
+
font-size: 0.875rem;
|
|
230
|
+
user-select: none;
|
|
231
|
+
opacity: 0.6;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
.breadcrumb-separator::before {
|
|
235
|
+
content: "/";
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
/* Separator Variants */
|
|
239
|
+
.breadcrumbs-slash .breadcrumb-separator::before {
|
|
240
|
+
content: "/";
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
.breadcrumbs-chevron .breadcrumb-separator::before {
|
|
244
|
+
content: "›";
|
|
245
|
+
font-size: 1.125rem;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
.breadcrumbs-dot .breadcrumb-separator::before {
|
|
249
|
+
content: "•";
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
.breadcrumbs-arrow .breadcrumb-separator::before {
|
|
253
|
+
content: "→";
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
.breadcrumbs-pipe .breadcrumb-separator::before {
|
|
257
|
+
content: "|";
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
/* Breadcrumb Icon */
|
|
261
|
+
.breadcrumb-icon {
|
|
262
|
+
display: inline-flex;
|
|
263
|
+
align-items: center;
|
|
264
|
+
justify-content: center;
|
|
265
|
+
width: 1rem;
|
|
266
|
+
height: 1rem;
|
|
267
|
+
flex-shrink: 0;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
.breadcrumb-icon svg {
|
|
271
|
+
width: 100%;
|
|
272
|
+
height: 100%;
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
/* Home Icon Link */
|
|
276
|
+
.breadcrumb-home {
|
|
277
|
+
display: inline-flex;
|
|
278
|
+
align-items: center;
|
|
279
|
+
justify-content: center;
|
|
280
|
+
color: var(--color-on-surface-variant);
|
|
281
|
+
text-decoration: none;
|
|
282
|
+
transition: color 150ms ease-in-out;
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
.breadcrumb-home:hover {
|
|
286
|
+
color: var(--color-primary);
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
.breadcrumb-home-icon {
|
|
290
|
+
width: 1.125rem;
|
|
291
|
+
height: 1.125rem;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
/* Collapsed Breadcrumbs (with ellipsis) */
|
|
295
|
+
.breadcrumb-ellipsis {
|
|
296
|
+
display: inline-flex;
|
|
297
|
+
align-items: center;
|
|
298
|
+
justify-content: center;
|
|
299
|
+
padding: 0.25rem 0.5rem;
|
|
300
|
+
color: var(--color-on-surface-variant);
|
|
301
|
+
background-color: transparent;
|
|
302
|
+
border: none;
|
|
303
|
+
border-radius: 0.25rem;
|
|
304
|
+
cursor: pointer;
|
|
305
|
+
transition: background-color 150ms ease-in-out;
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
.breadcrumb-ellipsis::before {
|
|
309
|
+
content: "...";
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
.breadcrumb-ellipsis:hover {
|
|
313
|
+
background-color: color-mix(in oklch, var(--color-on-surface) 8%, transparent);
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
/* Color Variants */
|
|
317
|
+
.breadcrumbs-primary .breadcrumb-link:hover,
|
|
318
|
+
.breadcrumbs-primary .breadcrumb-item-active {
|
|
319
|
+
color: var(--color-primary);
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
.breadcrumbs-secondary .breadcrumb-link:hover,
|
|
323
|
+
.breadcrumbs-secondary .breadcrumb-item-active {
|
|
324
|
+
color: var(--color-secondary);
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
.breadcrumbs-tertiary .breadcrumb-link:hover,
|
|
328
|
+
.breadcrumbs-tertiary .breadcrumb-item-active {
|
|
329
|
+
color: var(--color-tertiary);
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
/* Size Variants */
|
|
333
|
+
.breadcrumbs-sm {
|
|
334
|
+
font-size: 0.75rem;
|
|
335
|
+
gap: 0.375rem;
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
.breadcrumbs-sm .breadcrumb-icon,
|
|
339
|
+
.breadcrumbs-sm .breadcrumb-home-icon {
|
|
340
|
+
width: 0.875rem;
|
|
341
|
+
height: 0.875rem;
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
.breadcrumbs-lg {
|
|
345
|
+
font-size: 1rem;
|
|
346
|
+
gap: 0.625rem;
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
.breadcrumbs-lg .breadcrumb-icon,
|
|
350
|
+
.breadcrumbs-lg .breadcrumb-home-icon {
|
|
351
|
+
width: 1.25rem;
|
|
352
|
+
height: 1.25rem;
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
/* Contained Variant (with background) */
|
|
356
|
+
.breadcrumbs-contained {
|
|
357
|
+
padding: 0.75rem 1rem;
|
|
358
|
+
background-color: var(--color-surface-container);
|
|
359
|
+
border-radius: 0.5rem;
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
/* No Wrap Variant */
|
|
363
|
+
.breadcrumbs-nowrap {
|
|
364
|
+
flex-wrap: nowrap;
|
|
365
|
+
overflow-x: auto;
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
/* Disabled Breadcrumb Item */
|
|
369
|
+
.breadcrumb-item-disabled {
|
|
370
|
+
opacity: 0.38;
|
|
371
|
+
pointer-events: none;
|
|
372
|
+
cursor: not-allowed;
|
|
373
|
+
}
|
|
374
|
+
|
|
182
375
|
/* Tabs */
|
|
183
376
|
.tabs {
|
|
184
377
|
display: flex;
|