@duskmoon-dev/core 1.8.0 → 1.10.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/appbar.css +2 -2
- package/dist/components/autocomplete.css +1 -1
- package/dist/components/card.css +4 -4
- package/dist/components/cascader.css +1 -1
- package/dist/components/collapse.css +1 -1
- package/dist/components/datepicker.css +2 -2
- package/dist/components/dialog.css +1 -1
- package/dist/components/drawer.css +1 -1
- package/dist/components/file-upload.css +1 -1
- package/dist/components/form-group.css +33 -1
- package/dist/components/index.css +349 -42
- package/dist/components/modal.css +1 -1
- package/dist/components/multi-select.css +1 -1
- package/dist/components/navigation.css +2 -2
- package/dist/components/nested-menu.css +261 -0
- package/dist/components/popover.css +28 -16
- package/dist/components/snackbar.css +1 -1
- package/dist/components/time-input.css +1 -1
- package/dist/components/toast.css +1 -1
- package/dist/components/tooltip.css +2 -2
- package/dist/components/tree-select.css +1 -1
- package/dist/esm/components/appbar.js +2 -2
- package/dist/esm/components/autocomplete.js +1 -1
- package/dist/esm/components/card.js +4 -4
- package/dist/esm/components/cascader.js +1 -1
- package/dist/esm/components/collapse.js +1 -1
- package/dist/esm/components/datepicker.js +2 -2
- package/dist/esm/components/dialog.js +1 -1
- package/dist/esm/components/drawer.js +1 -1
- package/dist/esm/components/file-upload.js +1 -1
- package/dist/esm/components/form-group.js +33 -1
- package/dist/esm/components/modal.js +1 -1
- package/dist/esm/components/multi-select.js +1 -1
- package/dist/esm/components/navigation.js +2 -2
- package/dist/esm/components/nested-menu.js +268 -0
- package/dist/esm/components/popover.js +28 -16
- package/dist/esm/components/snackbar.js +1 -1
- package/dist/esm/components/time-input.js +1 -1
- package/dist/esm/components/toast.js +1 -1
- package/dist/esm/components/tooltip.js +2 -2
- package/dist/esm/components/tree-select.js +1 -1
- package/dist/index.css +439 -91
- package/dist/index.min.css +1 -0
- package/dist/themes/moonlight.css +34 -16
- package/dist/themes/ocean.css +16 -7
- package/dist/themes/sunset.css +5 -4
- package/dist/themes/sunshine.css +24 -22
- package/package.json +1 -1
|
@@ -501,12 +501,12 @@
|
|
|
501
501
|
border-radius: 1rem;
|
|
502
502
|
background-color: var(--color-surface);
|
|
503
503
|
color: var(--color-on-surface);
|
|
504
|
-
box-shadow:
|
|
504
|
+
box-shadow: var(--shadow-sm);
|
|
505
505
|
transition: box-shadow 150ms ease-in-out, transform 150ms ease-in-out;
|
|
506
506
|
}
|
|
507
507
|
|
|
508
508
|
.card:hover {
|
|
509
|
-
box-shadow:
|
|
509
|
+
box-shadow: var(--shadow-md);
|
|
510
510
|
}
|
|
511
511
|
|
|
512
512
|
/* Card Image */
|
|
@@ -659,11 +659,11 @@
|
|
|
659
659
|
|
|
660
660
|
/* Elevated Variants */
|
|
661
661
|
.card-elevated {
|
|
662
|
-
box-shadow:
|
|
662
|
+
box-shadow: var(--shadow-lg);
|
|
663
663
|
}
|
|
664
664
|
|
|
665
665
|
.card-elevated:hover {
|
|
666
|
-
box-shadow:
|
|
666
|
+
box-shadow: var(--shadow-xl);
|
|
667
667
|
transform: translateY(-2px);
|
|
668
668
|
}
|
|
669
669
|
|
|
@@ -1836,7 +1836,7 @@
|
|
|
1836
1836
|
.tabs-boxed .tab[aria-selected="true"] {
|
|
1837
1837
|
background-color: var(--color-surface);
|
|
1838
1838
|
color: var(--color-on-surface);
|
|
1839
|
-
box-shadow:
|
|
1839
|
+
box-shadow: var(--shadow-xs);
|
|
1840
1840
|
}
|
|
1841
1841
|
|
|
1842
1842
|
/* Tabs Lifted */
|
|
@@ -1888,7 +1888,7 @@
|
|
|
1888
1888
|
background-color: var(--color-surface);
|
|
1889
1889
|
border: 1px solid var(--color-outline);
|
|
1890
1890
|
border-radius: 0.5rem;
|
|
1891
|
-
box-shadow:
|
|
1891
|
+
box-shadow: var(--shadow-lg);
|
|
1892
1892
|
opacity: 0;
|
|
1893
1893
|
visibility: hidden;
|
|
1894
1894
|
transform: translateY(-0.5rem);
|
|
@@ -2172,7 +2172,7 @@
|
|
|
2172
2172
|
background-color: var(--color-surface);
|
|
2173
2173
|
color: var(--color-on-surface);
|
|
2174
2174
|
border-radius: 1rem;
|
|
2175
|
-
box-shadow:
|
|
2175
|
+
box-shadow: var(--shadow-2xl);
|
|
2176
2176
|
overflow-y: auto;
|
|
2177
2177
|
transform: scale(0.95);
|
|
2178
2178
|
transition: transform 200ms ease-out;
|
|
@@ -3436,7 +3436,7 @@
|
|
|
3436
3436
|
background-color: var(--color-surface);
|
|
3437
3437
|
border: 1px solid var(--color-outline);
|
|
3438
3438
|
border-radius: 0.5rem;
|
|
3439
|
-
box-shadow:
|
|
3439
|
+
box-shadow: var(--shadow-lg);
|
|
3440
3440
|
overflow-y: auto;
|
|
3441
3441
|
opacity: 0;
|
|
3442
3442
|
visibility: hidden;
|
|
@@ -3782,7 +3782,7 @@
|
|
|
3782
3782
|
background-color: var(--color-surface);
|
|
3783
3783
|
border: 1px solid var(--color-outline-variant);
|
|
3784
3784
|
border-radius: 0.5rem;
|
|
3785
|
-
box-shadow:
|
|
3785
|
+
box-shadow: var(--shadow-md);
|
|
3786
3786
|
overflow: hidden;
|
|
3787
3787
|
}
|
|
3788
3788
|
|
|
@@ -4425,7 +4425,7 @@
|
|
|
4425
4425
|
background-color: var(--color-surface);
|
|
4426
4426
|
border: 1px solid var(--color-outline);
|
|
4427
4427
|
border-radius: 0.75rem;
|
|
4428
|
-
box-shadow:
|
|
4428
|
+
box-shadow: var(--shadow-lg);
|
|
4429
4429
|
opacity: 0;
|
|
4430
4430
|
visibility: hidden;
|
|
4431
4431
|
transform: translateY(-0.5rem);
|
|
@@ -4451,7 +4451,7 @@
|
|
|
4451
4451
|
background-color: var(--color-surface);
|
|
4452
4452
|
border: 1px solid var(--color-outline);
|
|
4453
4453
|
border-radius: 0.75rem;
|
|
4454
|
-
box-shadow:
|
|
4454
|
+
box-shadow: var(--shadow-lg);
|
|
4455
4455
|
}
|
|
4456
4456
|
|
|
4457
4457
|
/* Calendar Header */
|
|
@@ -5337,7 +5337,7 @@
|
|
|
5337
5337
|
}
|
|
5338
5338
|
|
|
5339
5339
|
.file-upload-button:hover {
|
|
5340
|
-
box-shadow:
|
|
5340
|
+
box-shadow: var(--shadow-md);
|
|
5341
5341
|
}
|
|
5342
5342
|
|
|
5343
5343
|
.file-upload-button:focus-visible {
|
|
@@ -5520,7 +5520,7 @@
|
|
|
5520
5520
|
.fieldset-card {
|
|
5521
5521
|
background-color: var(--color-surface);
|
|
5522
5522
|
border-color: transparent;
|
|
5523
|
-
box-shadow:
|
|
5523
|
+
box-shadow: var(--shadow-xs);
|
|
5524
5524
|
padding: 1.5rem;
|
|
5525
5525
|
}
|
|
5526
5526
|
|
|
@@ -5662,6 +5662,13 @@
|
|
|
5662
5662
|
border-color: var(--color-error);
|
|
5663
5663
|
}
|
|
5664
5664
|
|
|
5665
|
+
.form-group-error .input:focus-visible,
|
|
5666
|
+
.form-group-error .select:focus-visible,
|
|
5667
|
+
.form-group-error .textarea:focus-visible {
|
|
5668
|
+
border-color: var(--color-error);
|
|
5669
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-error) 10%, transparent);
|
|
5670
|
+
}
|
|
5671
|
+
|
|
5665
5672
|
/* Success State on Form Group */
|
|
5666
5673
|
.form-group-success .form-label {
|
|
5667
5674
|
color: var(--color-success);
|
|
@@ -5673,6 +5680,31 @@
|
|
|
5673
5680
|
border-color: var(--color-success);
|
|
5674
5681
|
}
|
|
5675
5682
|
|
|
5683
|
+
.form-group-success .input:focus-visible,
|
|
5684
|
+
.form-group-success .select:focus-visible,
|
|
5685
|
+
.form-group-success .textarea:focus-visible {
|
|
5686
|
+
border-color: var(--color-success);
|
|
5687
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-success) 10%, transparent);
|
|
5688
|
+
}
|
|
5689
|
+
|
|
5690
|
+
/* Warning State on Form Group */
|
|
5691
|
+
.form-group-warning .form-label {
|
|
5692
|
+
color: var(--color-warning);
|
|
5693
|
+
}
|
|
5694
|
+
|
|
5695
|
+
.form-group-warning .input,
|
|
5696
|
+
.form-group-warning .select,
|
|
5697
|
+
.form-group-warning .textarea {
|
|
5698
|
+
border-color: var(--color-warning);
|
|
5699
|
+
}
|
|
5700
|
+
|
|
5701
|
+
.form-group-warning .input:focus-visible,
|
|
5702
|
+
.form-group-warning .select:focus-visible,
|
|
5703
|
+
.form-group-warning .textarea:focus-visible {
|
|
5704
|
+
border-color: var(--color-warning);
|
|
5705
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-warning) 10%, transparent);
|
|
5706
|
+
}
|
|
5707
|
+
|
|
5676
5708
|
/* Disabled Form Group */
|
|
5677
5709
|
.form-group-disabled {
|
|
5678
5710
|
opacity: 0.5;
|
|
@@ -5873,7 +5905,7 @@
|
|
|
5873
5905
|
background-color: var(--color-surface);
|
|
5874
5906
|
border: 1px solid var(--color-outline-variant);
|
|
5875
5907
|
border-radius: 0.5rem;
|
|
5876
|
-
box-shadow:
|
|
5908
|
+
box-shadow: var(--shadow-md);
|
|
5877
5909
|
overflow: hidden;
|
|
5878
5910
|
}
|
|
5879
5911
|
|
|
@@ -8323,6 +8355,7 @@
|
|
|
8323
8355
|
}
|
|
8324
8356
|
}
|
|
8325
8357
|
|
|
8358
|
+
|
|
8326
8359
|
/**
|
|
8327
8360
|
* Toggle Button Component Styles
|
|
8328
8361
|
* DuskMoonUI - Material Design 3 inspired toggle button
|
|
@@ -8490,7 +8523,7 @@
|
|
|
8490
8523
|
.toggle-segmented .toggle-btn.active {
|
|
8491
8524
|
background-color: var(--color-surface-variant);
|
|
8492
8525
|
border-color: transparent;
|
|
8493
|
-
box-shadow:
|
|
8526
|
+
box-shadow: var(--shadow-sm);
|
|
8494
8527
|
}
|
|
8495
8528
|
|
|
8496
8529
|
/* Chip-like toggle */
|
|
@@ -8798,7 +8831,7 @@
|
|
|
8798
8831
|
background-color: var(--color-surface);
|
|
8799
8832
|
border: 1px solid var(--color-outline-variant);
|
|
8800
8833
|
border-radius: 0.5rem;
|
|
8801
|
-
box-shadow:
|
|
8834
|
+
box-shadow: var(--shadow-md);
|
|
8802
8835
|
}
|
|
8803
8836
|
|
|
8804
8837
|
.time-picker-dropdown-open {
|
|
@@ -8989,7 +9022,7 @@
|
|
|
8989
9022
|
background-color: var(--color-surface);
|
|
8990
9023
|
border: 1px solid var(--color-outline-variant);
|
|
8991
9024
|
border-radius: 0.5rem;
|
|
8992
|
-
box-shadow:
|
|
9025
|
+
box-shadow: var(--shadow-md);
|
|
8993
9026
|
overflow-y: auto;
|
|
8994
9027
|
}
|
|
8995
9028
|
|
|
@@ -9548,7 +9581,7 @@
|
|
|
9548
9581
|
background-color: var(--color-surface);
|
|
9549
9582
|
color: var(--color-on-surface);
|
|
9550
9583
|
border-radius: 1.5rem;
|
|
9551
|
-
box-shadow:
|
|
9584
|
+
box-shadow: var(--shadow-2xl);
|
|
9552
9585
|
overflow: hidden;
|
|
9553
9586
|
}
|
|
9554
9587
|
|
|
@@ -10226,7 +10259,7 @@
|
|
|
10226
10259
|
background-color: var(--color-surface-container-highest);
|
|
10227
10260
|
color: var(--color-on-surface);
|
|
10228
10261
|
border-radius: 0.5rem;
|
|
10229
|
-
box-shadow:
|
|
10262
|
+
box-shadow: var(--shadow-md);
|
|
10230
10263
|
pointer-events: auto;
|
|
10231
10264
|
opacity: 0;
|
|
10232
10265
|
transform: translateY(100%);
|
|
@@ -10539,7 +10572,7 @@
|
|
|
10539
10572
|
color: var(--color-on-surface);
|
|
10540
10573
|
border: 1px solid var(--color-outline);
|
|
10541
10574
|
border-radius: 0.75rem;
|
|
10542
|
-
box-shadow:
|
|
10575
|
+
box-shadow: var(--shadow-lg);
|
|
10543
10576
|
pointer-events: auto;
|
|
10544
10577
|
opacity: 0;
|
|
10545
10578
|
transform: translateX(100%);
|
|
@@ -10747,7 +10780,7 @@
|
|
|
10747
10780
|
background-color: var(--color-on-surface);
|
|
10748
10781
|
color: var(--color-surface);
|
|
10749
10782
|
border-radius: 0.25rem;
|
|
10750
|
-
box-shadow:
|
|
10783
|
+
box-shadow: var(--shadow-md);
|
|
10751
10784
|
opacity: 0;
|
|
10752
10785
|
visibility: hidden;
|
|
10753
10786
|
transition: opacity 150ms ease-out, visibility 150ms ease-out;
|
|
@@ -10876,7 +10909,7 @@
|
|
|
10876
10909
|
background-color: var(--color-surface);
|
|
10877
10910
|
color: var(--color-on-surface);
|
|
10878
10911
|
border: 1px solid var(--color-outline);
|
|
10879
|
-
box-shadow:
|
|
10912
|
+
box-shadow: var(--shadow-md);
|
|
10880
10913
|
}
|
|
10881
10914
|
|
|
10882
10915
|
.tooltip.tooltip-light .tooltip-content::before {
|
|
@@ -11029,7 +11062,7 @@
|
|
|
11029
11062
|
padding: 0 1rem;
|
|
11030
11063
|
background-color: var(--color-surface);
|
|
11031
11064
|
color: var(--color-on-surface);
|
|
11032
|
-
box-shadow:
|
|
11065
|
+
box-shadow: var(--shadow-sm);
|
|
11033
11066
|
}
|
|
11034
11067
|
|
|
11035
11068
|
/* Static App Bar (default) */
|
|
@@ -11070,7 +11103,7 @@
|
|
|
11070
11103
|
|
|
11071
11104
|
/* App Bar with Shadow (elevated) */
|
|
11072
11105
|
.appbar-elevated {
|
|
11073
|
-
box-shadow:
|
|
11106
|
+
box-shadow: var(--shadow-sm);
|
|
11074
11107
|
}
|
|
11075
11108
|
|
|
11076
11109
|
/* Flat App Bar (no shadow) */
|
|
@@ -12090,7 +12123,7 @@
|
|
|
12090
12123
|
display: flex;
|
|
12091
12124
|
flex-direction: column;
|
|
12092
12125
|
background-color: var(--color-surface-container-low);
|
|
12093
|
-
box-shadow:
|
|
12126
|
+
box-shadow: var(--shadow-2xl);
|
|
12094
12127
|
transition: transform 300ms ease-out;
|
|
12095
12128
|
}
|
|
12096
12129
|
|
|
@@ -12433,6 +12466,268 @@
|
|
|
12433
12466
|
}
|
|
12434
12467
|
}
|
|
12435
12468
|
|
|
12469
|
+
/**
|
|
12470
|
+
* Nested Menu Component Styles
|
|
12471
|
+
* DuskMoonUI - Sidebar navigation with collapsible cascading levels via <details>/<summary>
|
|
12472
|
+
*/
|
|
12473
|
+
|
|
12474
|
+
@layer components {
|
|
12475
|
+
/* ============================================
|
|
12476
|
+
* ROOT CONTAINER
|
|
12477
|
+
* ============================================ */
|
|
12478
|
+
|
|
12479
|
+
.nested-menu {
|
|
12480
|
+
display: flex;
|
|
12481
|
+
flex-direction: column;
|
|
12482
|
+
list-style: none;
|
|
12483
|
+
margin: 0;
|
|
12484
|
+
padding: 0.5rem;
|
|
12485
|
+
gap: 0.125rem;
|
|
12486
|
+
font-size: 0.875rem;
|
|
12487
|
+
color: var(--color-on-surface);
|
|
12488
|
+
}
|
|
12489
|
+
|
|
12490
|
+
/* ============================================
|
|
12491
|
+
* SECTION TITLES
|
|
12492
|
+
* ============================================ */
|
|
12493
|
+
|
|
12494
|
+
.nested-menu-title {
|
|
12495
|
+
padding: 0.75rem 0.75rem 0.25rem;
|
|
12496
|
+
font-size: 0.6875rem;
|
|
12497
|
+
font-weight: 600;
|
|
12498
|
+
text-transform: uppercase;
|
|
12499
|
+
letter-spacing: 0.05em;
|
|
12500
|
+
color: var(--color-on-surface-variant);
|
|
12501
|
+
user-select: none;
|
|
12502
|
+
}
|
|
12503
|
+
|
|
12504
|
+
/* ============================================
|
|
12505
|
+
* MENU ITEMS (links and buttons)
|
|
12506
|
+
* ============================================ */
|
|
12507
|
+
|
|
12508
|
+
.nested-menu li > a,
|
|
12509
|
+
.nested-menu li > button {
|
|
12510
|
+
display: flex;
|
|
12511
|
+
align-items: center;
|
|
12512
|
+
gap: 0.5rem;
|
|
12513
|
+
width: 100%;
|
|
12514
|
+
padding: 0.5rem 0.75rem;
|
|
12515
|
+
font-size: inherit;
|
|
12516
|
+
color: var(--color-on-surface);
|
|
12517
|
+
text-decoration: none;
|
|
12518
|
+
background-color: transparent;
|
|
12519
|
+
border: none;
|
|
12520
|
+
border-radius: var(--radius-field, 0.375rem);
|
|
12521
|
+
cursor: pointer;
|
|
12522
|
+
transition: background-color 150ms ease-in-out, color 150ms ease-in-out;
|
|
12523
|
+
}
|
|
12524
|
+
|
|
12525
|
+
.nested-menu li > a:hover,
|
|
12526
|
+
.nested-menu li > button:hover {
|
|
12527
|
+
background-color: var(--color-surface-container);
|
|
12528
|
+
}
|
|
12529
|
+
|
|
12530
|
+
.nested-menu li > a:focus-visible,
|
|
12531
|
+
.nested-menu li > button:focus-visible {
|
|
12532
|
+
outline: 2px solid var(--color-primary);
|
|
12533
|
+
outline-offset: -2px;
|
|
12534
|
+
}
|
|
12535
|
+
|
|
12536
|
+
/* Active state */
|
|
12537
|
+
.nested-menu li > a.active,
|
|
12538
|
+
.nested-menu li > button.active,
|
|
12539
|
+
.nested-menu li > a[aria-current="page"],
|
|
12540
|
+
.nested-menu li > button[aria-current="page"] {
|
|
12541
|
+
background-color: var(--color-primary-container);
|
|
12542
|
+
color: var(--color-on-primary-container);
|
|
12543
|
+
}
|
|
12544
|
+
|
|
12545
|
+
.nested-menu li > a.active:hover,
|
|
12546
|
+
.nested-menu li > button.active:hover,
|
|
12547
|
+
.nested-menu li > a[aria-current="page"]:hover,
|
|
12548
|
+
.nested-menu li > button[aria-current="page"]:hover {
|
|
12549
|
+
background-color: color-mix(in oklch, var(--color-primary-container), var(--color-on-primary-container) 8%);
|
|
12550
|
+
}
|
|
12551
|
+
|
|
12552
|
+
/* Disabled state */
|
|
12553
|
+
.nested-menu li.disabled {
|
|
12554
|
+
opacity: 0.5;
|
|
12555
|
+
pointer-events: none;
|
|
12556
|
+
}
|
|
12557
|
+
|
|
12558
|
+
/* ============================================
|
|
12559
|
+
* COLLAPSIBLE SUBMENUS (<details>/<summary>)
|
|
12560
|
+
* ============================================ */
|
|
12561
|
+
|
|
12562
|
+
.nested-menu details {
|
|
12563
|
+
width: 100%;
|
|
12564
|
+
}
|
|
12565
|
+
|
|
12566
|
+
/* Remove native marker */
|
|
12567
|
+
.nested-menu summary {
|
|
12568
|
+
display: flex;
|
|
12569
|
+
align-items: center;
|
|
12570
|
+
gap: 0.5rem;
|
|
12571
|
+
width: 100%;
|
|
12572
|
+
padding: 0.5rem 0.75rem;
|
|
12573
|
+
font-size: inherit;
|
|
12574
|
+
color: var(--color-on-surface);
|
|
12575
|
+
background-color: transparent;
|
|
12576
|
+
border: none;
|
|
12577
|
+
border-radius: var(--radius-field, 0.375rem);
|
|
12578
|
+
cursor: pointer;
|
|
12579
|
+
list-style: none;
|
|
12580
|
+
transition: background-color 150ms ease-in-out;
|
|
12581
|
+
}
|
|
12582
|
+
|
|
12583
|
+
.nested-menu summary::-webkit-details-marker {
|
|
12584
|
+
display: none;
|
|
12585
|
+
}
|
|
12586
|
+
|
|
12587
|
+
.nested-menu summary::marker {
|
|
12588
|
+
display: none;
|
|
12589
|
+
content: "";
|
|
12590
|
+
}
|
|
12591
|
+
|
|
12592
|
+
.nested-menu summary:hover {
|
|
12593
|
+
background-color: var(--color-surface-container);
|
|
12594
|
+
}
|
|
12595
|
+
|
|
12596
|
+
.nested-menu summary:focus-visible {
|
|
12597
|
+
outline: 2px solid var(--color-primary);
|
|
12598
|
+
outline-offset: -2px;
|
|
12599
|
+
}
|
|
12600
|
+
|
|
12601
|
+
/* Chevron indicator */
|
|
12602
|
+
.nested-menu summary::after {
|
|
12603
|
+
content: "";
|
|
12604
|
+
display: inline-block;
|
|
12605
|
+
margin-left: auto;
|
|
12606
|
+
width: 0.375rem;
|
|
12607
|
+
height: 0.375rem;
|
|
12608
|
+
border-right: 1.5px solid currentColor;
|
|
12609
|
+
border-bottom: 1.5px solid currentColor;
|
|
12610
|
+
transform: rotate(-45deg);
|
|
12611
|
+
transition: transform 200ms ease-in-out;
|
|
12612
|
+
flex-shrink: 0;
|
|
12613
|
+
opacity: 0.6;
|
|
12614
|
+
}
|
|
12615
|
+
|
|
12616
|
+
.nested-menu details[open] > summary::after {
|
|
12617
|
+
transform: rotate(45deg);
|
|
12618
|
+
}
|
|
12619
|
+
|
|
12620
|
+
/* Nested <ul> inside details — auto-indentation */
|
|
12621
|
+
.nested-menu details > ul {
|
|
12622
|
+
list-style: none;
|
|
12623
|
+
margin: 0;
|
|
12624
|
+
padding: 0.125rem 0 0.125rem 1rem;
|
|
12625
|
+
display: flex;
|
|
12626
|
+
flex-direction: column;
|
|
12627
|
+
gap: 0.125rem;
|
|
12628
|
+
}
|
|
12629
|
+
|
|
12630
|
+
/* ============================================
|
|
12631
|
+
* SIZE VARIANTS
|
|
12632
|
+
* ============================================ */
|
|
12633
|
+
|
|
12634
|
+
.nested-menu-xs {
|
|
12635
|
+
font-size: 0.75rem;
|
|
12636
|
+
padding: 0.25rem;
|
|
12637
|
+
}
|
|
12638
|
+
|
|
12639
|
+
.nested-menu-xs li > a,
|
|
12640
|
+
.nested-menu-xs li > button,
|
|
12641
|
+
.nested-menu-xs summary {
|
|
12642
|
+
padding: 0.25rem 0.5rem;
|
|
12643
|
+
gap: 0.375rem;
|
|
12644
|
+
}
|
|
12645
|
+
|
|
12646
|
+
.nested-menu-xs .nested-menu-title {
|
|
12647
|
+
padding: 0.5rem 0.5rem 0.125rem;
|
|
12648
|
+
font-size: 0.625rem;
|
|
12649
|
+
}
|
|
12650
|
+
|
|
12651
|
+
.nested-menu-sm {
|
|
12652
|
+
font-size: 0.8125rem;
|
|
12653
|
+
padding: 0.375rem;
|
|
12654
|
+
}
|
|
12655
|
+
|
|
12656
|
+
.nested-menu-sm li > a,
|
|
12657
|
+
.nested-menu-sm li > button,
|
|
12658
|
+
.nested-menu-sm summary {
|
|
12659
|
+
padding: 0.375rem 0.625rem;
|
|
12660
|
+
gap: 0.375rem;
|
|
12661
|
+
}
|
|
12662
|
+
|
|
12663
|
+
.nested-menu-sm .nested-menu-title {
|
|
12664
|
+
padding: 0.625rem 0.625rem 0.1875rem;
|
|
12665
|
+
font-size: 0.625rem;
|
|
12666
|
+
}
|
|
12667
|
+
|
|
12668
|
+
.nested-menu-lg {
|
|
12669
|
+
font-size: 1rem;
|
|
12670
|
+
padding: 0.625rem;
|
|
12671
|
+
}
|
|
12672
|
+
|
|
12673
|
+
.nested-menu-lg li > a,
|
|
12674
|
+
.nested-menu-lg li > button,
|
|
12675
|
+
.nested-menu-lg summary {
|
|
12676
|
+
padding: 0.625rem 1rem;
|
|
12677
|
+
gap: 0.625rem;
|
|
12678
|
+
}
|
|
12679
|
+
|
|
12680
|
+
.nested-menu-lg .nested-menu-title {
|
|
12681
|
+
padding: 0.875rem 1rem 0.375rem;
|
|
12682
|
+
font-size: 0.75rem;
|
|
12683
|
+
}
|
|
12684
|
+
|
|
12685
|
+
/* ============================================
|
|
12686
|
+
* MODIFIER VARIANTS
|
|
12687
|
+
* ============================================ */
|
|
12688
|
+
|
|
12689
|
+
/* Bordered — sidebar panel look */
|
|
12690
|
+
.nested-menu-bordered {
|
|
12691
|
+
background-color: var(--color-surface);
|
|
12692
|
+
border: 1px solid var(--color-outline-variant);
|
|
12693
|
+
border-radius: var(--radius-card, 0.75rem);
|
|
12694
|
+
box-shadow: var(--shadow-sm, 0 1px 2px 0 rgb(0 0 0 / 0.05));
|
|
12695
|
+
}
|
|
12696
|
+
|
|
12697
|
+
/* Compact — tighter padding throughout */
|
|
12698
|
+
.nested-menu-compact {
|
|
12699
|
+
padding: 0.25rem;
|
|
12700
|
+
gap: 0;
|
|
12701
|
+
}
|
|
12702
|
+
|
|
12703
|
+
.nested-menu-compact li > a,
|
|
12704
|
+
.nested-menu-compact li > button,
|
|
12705
|
+
.nested-menu-compact summary {
|
|
12706
|
+
padding: 0.3125rem 0.625rem;
|
|
12707
|
+
}
|
|
12708
|
+
|
|
12709
|
+
.nested-menu-compact .nested-menu-title {
|
|
12710
|
+
padding: 0.5rem 0.625rem 0.125rem;
|
|
12711
|
+
}
|
|
12712
|
+
|
|
12713
|
+
.nested-menu-compact details > ul {
|
|
12714
|
+
padding: 0 0 0 0.75rem;
|
|
12715
|
+
}
|
|
12716
|
+
|
|
12717
|
+
/* ============================================
|
|
12718
|
+
* REDUCED MOTION
|
|
12719
|
+
* ============================================ */
|
|
12720
|
+
|
|
12721
|
+
@media (prefers-reduced-motion: reduce) {
|
|
12722
|
+
.nested-menu li > a,
|
|
12723
|
+
.nested-menu li > button,
|
|
12724
|
+
.nested-menu summary,
|
|
12725
|
+
.nested-menu summary::after {
|
|
12726
|
+
transition: none;
|
|
12727
|
+
}
|
|
12728
|
+
}
|
|
12729
|
+
}
|
|
12730
|
+
|
|
12436
12731
|
/**
|
|
12437
12732
|
* Stepper Component Styles
|
|
12438
12733
|
* DuskMoonUI - Material Design 3 inspired stepper/wizard system
|
|
@@ -13490,7 +13785,7 @@
|
|
|
13490
13785
|
border: 1px solid var(--color-outline-variant);
|
|
13491
13786
|
border-radius: 0.75rem;
|
|
13492
13787
|
overflow: hidden;
|
|
13493
|
-
box-shadow:
|
|
13788
|
+
box-shadow: var(--shadow-sm);
|
|
13494
13789
|
}
|
|
13495
13790
|
|
|
13496
13791
|
.collapse-card .collapse-toggle,
|
|
@@ -13793,8 +14088,8 @@
|
|
|
13793
14088
|
*/
|
|
13794
14089
|
|
|
13795
14090
|
@layer components {
|
|
13796
|
-
/* Popover Container */
|
|
13797
|
-
.popover {
|
|
14091
|
+
/* Popover Container (class-based approach only, not native [popover]) */
|
|
14092
|
+
.popover:not([popover]) {
|
|
13798
14093
|
position: relative;
|
|
13799
14094
|
display: inline-block;
|
|
13800
14095
|
}
|
|
@@ -13809,7 +14104,7 @@
|
|
|
13809
14104
|
background-color: var(--color-surface);
|
|
13810
14105
|
border: 1px solid var(--color-outline-variant);
|
|
13811
14106
|
border-radius: 0.75rem;
|
|
13812
|
-
box-shadow:
|
|
14107
|
+
box-shadow: var(--shadow-lg);
|
|
13813
14108
|
opacity: 0;
|
|
13814
14109
|
visibility: hidden;
|
|
13815
14110
|
transform: scale(0.95);
|
|
@@ -13844,7 +14139,7 @@
|
|
|
13844
14139
|
background-color: var(--color-surface);
|
|
13845
14140
|
border: 1px solid var(--color-outline-variant);
|
|
13846
14141
|
border-radius: 0.75rem;
|
|
13847
|
-
box-shadow:
|
|
14142
|
+
box-shadow: var(--shadow-lg);
|
|
13848
14143
|
opacity: 0;
|
|
13849
14144
|
visibility: hidden;
|
|
13850
14145
|
transition: opacity 150ms ease-out, visibility 150ms ease-out;
|
|
@@ -14298,7 +14593,7 @@
|
|
|
14298
14593
|
background-color: var(--color-surface);
|
|
14299
14594
|
border: 1px solid var(--color-outline-variant);
|
|
14300
14595
|
border-radius: 0.75rem;
|
|
14301
|
-
box-shadow:
|
|
14596
|
+
box-shadow: var(--shadow-lg);
|
|
14302
14597
|
opacity: 0;
|
|
14303
14598
|
transform: scale(0.95);
|
|
14304
14599
|
transition: opacity 150ms ease-out, transform 150ms ease-out, overlay 150ms ease-out allow-discrete, display 150ms ease-out allow-discrete;
|
|
@@ -14440,53 +14735,65 @@
|
|
|
14440
14735
|
style="anchor-name: --my-popover" */
|
|
14441
14736
|
}
|
|
14442
14737
|
|
|
14443
|
-
/* Anchored popover positioning
|
|
14738
|
+
/* Anchored popover positioning
|
|
14739
|
+
* Uses anchor() functions instead of position-area to avoid
|
|
14740
|
+
* a Chrome rendering bug at HiDPI (DPR>=2) where position-area
|
|
14741
|
+
* computes correct CSS-pixel offsets but renders at physical-pixel
|
|
14742
|
+
* coordinates, doubling the distance from the anchor. */
|
|
14444
14743
|
.popover[popover][style*="position-anchor"] {
|
|
14445
|
-
|
|
14446
|
-
|
|
14744
|
+
inset: unset;
|
|
14745
|
+
top: anchor(bottom);
|
|
14746
|
+
justify-self: anchor-center;
|
|
14447
14747
|
margin-top: 0.5rem;
|
|
14448
14748
|
}
|
|
14449
14749
|
|
|
14450
14750
|
/* Position variants for anchored popovers */
|
|
14451
14751
|
.popover-top[popover][style*="position-anchor"] {
|
|
14452
|
-
|
|
14752
|
+
top: unset;
|
|
14753
|
+
bottom: anchor(top);
|
|
14453
14754
|
margin-top: 0;
|
|
14454
14755
|
margin-bottom: 0.5rem;
|
|
14455
14756
|
}
|
|
14456
14757
|
|
|
14457
14758
|
.popover-bottom[popover][style*="position-anchor"] {
|
|
14458
|
-
|
|
14759
|
+
top: anchor(bottom);
|
|
14459
14760
|
margin-top: 0.5rem;
|
|
14460
14761
|
margin-bottom: 0;
|
|
14461
14762
|
}
|
|
14462
14763
|
|
|
14463
14764
|
.popover-left[popover][style*="position-anchor"] {
|
|
14464
|
-
|
|
14765
|
+
top: anchor(center);
|
|
14766
|
+
right: anchor(left);
|
|
14767
|
+
justify-self: unset;
|
|
14768
|
+
translate: 0 -50%;
|
|
14465
14769
|
margin-top: 0;
|
|
14466
14770
|
margin-right: 0.5rem;
|
|
14467
14771
|
}
|
|
14468
14772
|
|
|
14469
14773
|
.popover-right[popover][style*="position-anchor"] {
|
|
14470
|
-
|
|
14774
|
+
top: anchor(center);
|
|
14775
|
+
left: anchor(right);
|
|
14776
|
+
justify-self: unset;
|
|
14777
|
+
translate: 0 -50%;
|
|
14471
14778
|
margin-top: 0;
|
|
14472
14779
|
margin-left: 0.5rem;
|
|
14473
14780
|
}
|
|
14474
14781
|
|
|
14475
14782
|
/* Anchored popover alignment variants */
|
|
14476
14783
|
.popover-start[popover][style*="position-anchor"] {
|
|
14477
|
-
|
|
14784
|
+
justify-self: start;
|
|
14478
14785
|
}
|
|
14479
14786
|
|
|
14480
14787
|
.popover-end[popover][style*="position-anchor"] {
|
|
14481
|
-
|
|
14788
|
+
justify-self: end;
|
|
14482
14789
|
}
|
|
14483
14790
|
|
|
14484
14791
|
.popover-top.popover-start[popover][style*="position-anchor"] {
|
|
14485
|
-
|
|
14792
|
+
justify-self: start;
|
|
14486
14793
|
}
|
|
14487
14794
|
|
|
14488
14795
|
.popover-top.popover-end[popover][style*="position-anchor"] {
|
|
14489
|
-
|
|
14796
|
+
justify-self: end;
|
|
14490
14797
|
}
|
|
14491
14798
|
|
|
14492
14799
|
/* Reduce Motion */
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
background-color: var(--color-surface);
|
|
36
36
|
color: var(--color-on-surface);
|
|
37
37
|
border-radius: 1rem;
|
|
38
|
-
box-shadow:
|
|
38
|
+
box-shadow: var(--shadow-2xl);
|
|
39
39
|
overflow-y: auto;
|
|
40
40
|
transform: scale(0.95);
|
|
41
41
|
transition: transform 200ms ease-out;
|
|
@@ -191,7 +191,7 @@
|
|
|
191
191
|
background-color: var(--color-surface);
|
|
192
192
|
border: 1px solid var(--color-outline-variant);
|
|
193
193
|
border-radius: 0.5rem;
|
|
194
|
-
box-shadow:
|
|
194
|
+
box-shadow: var(--shadow-md);
|
|
195
195
|
overflow: hidden;
|
|
196
196
|
}
|
|
197
197
|
|
|
@@ -438,7 +438,7 @@
|
|
|
438
438
|
.tabs-boxed .tab[aria-selected="true"] {
|
|
439
439
|
background-color: var(--color-surface);
|
|
440
440
|
color: var(--color-on-surface);
|
|
441
|
-
box-shadow:
|
|
441
|
+
box-shadow: var(--shadow-xs);
|
|
442
442
|
}
|
|
443
443
|
|
|
444
444
|
/* Tabs Lifted */
|
|
@@ -490,7 +490,7 @@
|
|
|
490
490
|
background-color: var(--color-surface);
|
|
491
491
|
border: 1px solid var(--color-outline);
|
|
492
492
|
border-radius: 0.5rem;
|
|
493
|
-
box-shadow:
|
|
493
|
+
box-shadow: var(--shadow-lg);
|
|
494
494
|
opacity: 0;
|
|
495
495
|
visibility: hidden;
|
|
496
496
|
transform: translateY(-0.5rem);
|