@devslab/dds-css 0.27.0 → 0.29.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.
@@ -358,3 +358,63 @@
358
358
  transition: none;
359
359
  }
360
360
  }
361
+
362
+ /* Optional disclosures: legacy navigation retains its layout. */
363
+ .dds-console-rail__group[data-collapsible="true"] > ul {
364
+ padding-inline-start: var(--dds-space-12);
365
+ }
366
+ .dds-console-rail__group[data-collapsible="true"] > .dds-console-rail__group-label {
367
+ padding: 0;
368
+ }
369
+ .dds-console-rail__group-toggle {
370
+ display: flex;
371
+ align-items: center;
372
+ justify-content: space-between;
373
+ gap: var(--dds-space-8);
374
+ inline-size: 100%;
375
+ min-block-size: var(--dds-space-40);
376
+ padding: var(--dds-space-8);
377
+ border: 0;
378
+ border-radius: var(--dds-radius-md);
379
+ background: transparent;
380
+ color: var(--dds-color-text-secondary);
381
+ font: inherit;
382
+ font-size: .75rem;
383
+ font-weight: 650;
384
+ letter-spacing: normal;
385
+ text-align: start;
386
+ cursor: pointer;
387
+ }
388
+ .dds-console-rail__group-toggle[hidden] { display: none; }
389
+ .dds-console-rail__group-toggle:hover { background: var(--dds-color-bg-subtle); }
390
+ .dds-console-rail__group-toggle:focus-visible {
391
+ outline: 2px solid var(--dds-color-border-focus);
392
+ outline-offset: 2px;
393
+ }
394
+ .dds-console-rail__chevron {
395
+ inline-size: .375rem;
396
+ block-size: .375rem;
397
+ border-inline-end: 1.5px solid currentColor;
398
+ border-block-end: 1.5px solid currentColor;
399
+ transform: rotate(-45deg);
400
+ }
401
+ .dds-console-rail__group-toggle[aria-expanded="true"] .dds-console-rail__chevron {
402
+ transform: rotate(45deg);
403
+ }
404
+ .dds-console-rail__item-content {
405
+ display: inline-flex;
406
+ align-items: center;
407
+ gap: var(--dds-space-8);
408
+ min-inline-size: 0;
409
+ }
410
+ .dds-console-rail__item-content[hidden] { display: none; }
411
+ .dds-console-rail__item-icon {
412
+ display: inline-flex;
413
+ align-items: center;
414
+ justify-content: center;
415
+ flex: 0 0 1rem;
416
+ inline-size: 1rem;
417
+ block-size: 1rem;
418
+ }
419
+ .dds-console-rail__item-icon[hidden] { display: none; }
420
+ .dds-console-rail__item-icon > svg { inline-size: 100%; block-size: 100%; }
@@ -0,0 +1,219 @@
1
+ /* Shared application geometry and type. Framework adapters contain no CSS. */
2
+ .dds-layout {
3
+ display: grid;
4
+ grid-template-columns: 14.5rem minmax(0, 1fr);
5
+ min-block-size: 100dvh;
6
+ font-family: var(--dds-font-family-sans);
7
+ font-size: var(--dds-typo-body-2-font-size);
8
+ line-height: var(--dds-typo-body-2-line-height);
9
+ font-weight: var(--dds-typo-body-2-font-weight);
10
+ color: var(--dds-color-text-primary);
11
+ background: var(--dds-color-bg-default);
12
+ }
13
+ .dds-layout[hidden] {
14
+ display: none;
15
+ }
16
+ .dds-layout *,
17
+ .dds-layout *::before,
18
+ .dds-layout *::after {
19
+ box-sizing: border-box;
20
+ }
21
+ .dds-layout[data-navigation-position="top"] {
22
+ grid-template-columns: minmax(0, 1fr);
23
+ grid-template-rows: auto minmax(0, 1fr);
24
+ }
25
+ .dds-layout .dds-layout__navigation {
26
+ padding: var(--dds-space-20) var(--dds-space-12);
27
+ }
28
+ .dds-layout[data-navigation-position="top"] .dds-layout__navigation {
29
+ position: relative;
30
+ display: flex;
31
+ align-items: center;
32
+ flex-wrap: wrap;
33
+ flex-direction: row;
34
+ gap: var(--dds-space-16);
35
+ block-size: auto;
36
+ min-block-size: 3.5rem;
37
+ padding: var(--dds-space-8) var(--dds-space-32);
38
+ overflow: visible;
39
+ border-inline-end: 0;
40
+ border-block-end: 1px solid var(--dds-color-border-default);
41
+ }
42
+ .dds-layout[data-navigation-position="top"] .dds-layout__navigation[hidden] {
43
+ display: none;
44
+ }
45
+ .dds-layout .dds-layout__main {
46
+ min-inline-size: 0;
47
+ padding: var(--dds-space-32);
48
+ }
49
+ .dds-layout__content {
50
+ display: flex;
51
+ flex-direction: column;
52
+ gap: var(--dds-space-32);
53
+ inline-size: 100%;
54
+ max-inline-size: 68.75rem;
55
+ margin-inline: auto;
56
+ min-inline-size: 0;
57
+ overflow-wrap: anywhere;
58
+ }
59
+ .dds-layout__content[hidden] {
60
+ display: none;
61
+ }
62
+ .dds-layout__content[data-width="form"] {
63
+ max-inline-size: 56.25rem;
64
+ }
65
+ .dds-layout__content[data-width="settings"] {
66
+ max-inline-size: 50rem;
67
+ }
68
+ .dds-layout__content[data-width="full"] {
69
+ max-inline-size: none;
70
+ }
71
+ .dds-layout h1 {
72
+ font-size: var(--dds-typo-title-1-font-size);
73
+ line-height: var(--dds-typo-title-1-line-height);
74
+ font-weight: var(--dds-typo-title-1-font-weight);
75
+ }
76
+ .dds-layout h2 {
77
+ font-size: var(--dds-typo-title-2-font-size);
78
+ line-height: var(--dds-typo-title-2-line-height);
79
+ font-weight: var(--dds-typo-title-2-font-weight);
80
+ }
81
+ .dds-layout h3 {
82
+ font-size: var(--dds-typo-title-3-font-size);
83
+ line-height: var(--dds-typo-title-3-line-height);
84
+ font-weight: var(--dds-typo-title-3-font-weight);
85
+ }
86
+ .dds-layout h1,
87
+ .dds-layout h2,
88
+ .dds-layout h3,
89
+ .dds-layout p {
90
+ margin: 0;
91
+ }
92
+ .dds-layout__header,
93
+ .dds-layout__section {
94
+ display: grid;
95
+ gap: var(--dds-space-16);
96
+ }
97
+ .dds-layout__header[hidden],
98
+ .dds-layout__section[hidden] {
99
+ display: none;
100
+ }
101
+ .dds-layout__panel {
102
+ padding: var(--dds-space-24);
103
+ border: 1px solid var(--dds-color-border-default);
104
+ border-radius: var(--dds-radius-md);
105
+ background: var(--dds-color-bg-elevated);
106
+ }
107
+ .dds-layout__fields {
108
+ display: grid;
109
+ gap: var(--dds-space-16);
110
+ }
111
+ .dds-layout__fields[hidden] {
112
+ display: none;
113
+ }
114
+ .dds-layout__reading {
115
+ font-size: var(--dds-typo-body-1-font-size);
116
+ line-height: var(--dds-typo-body-1-line-height);
117
+ font-weight: var(--dds-typo-body-1-font-weight);
118
+ }
119
+ .dds-layout__caption {
120
+ font-size: var(--dds-typo-caption-font-size);
121
+ line-height: var(--dds-typo-caption-line-height);
122
+ font-weight: var(--dds-typo-caption-font-weight);
123
+ color: var(--dds-color-text-muted);
124
+ }
125
+ .dds-layout .dds-console-rail__group-label,
126
+ .dds-layout .dds-console-rail__group-toggle {
127
+ font-size: var(--dds-typo-caption-font-size);
128
+ line-height: var(--dds-typo-caption-line-height);
129
+ font-weight: 600;
130
+ }
131
+ .dds-layout .dds-console-rail__item {
132
+ min-block-size: var(--dds-space-40);
133
+ font-size: var(--dds-typo-body-2-font-size);
134
+ line-height: var(--dds-typo-body-2-line-height);
135
+ }
136
+ .dds-layout .dds-console-page-header {
137
+ margin: 0;
138
+ }
139
+ .dds-layout__footer {
140
+ padding-block-start: var(--dds-space-24);
141
+ border-block-start: 1px solid var(--dds-color-border-default);
142
+ }
143
+ @media (max-width: 56.25rem) {
144
+ .dds-layout {
145
+ grid-template-columns: minmax(0, 1fr);
146
+ }
147
+ .dds-layout .dds-layout__main {
148
+ padding: 4rem var(--dds-space-16) var(--dds-space-16);
149
+ }
150
+ .dds-layout .dds-layout__navigation,
151
+ .dds-layout[data-navigation-position="top"] .dds-layout__navigation {
152
+ position: fixed;
153
+ inset-block: 0;
154
+ inset-inline-start: 0;
155
+ z-index: 60;
156
+ display: flex;
157
+ flex-direction: column;
158
+ align-items: stretch;
159
+ inline-size: min(20rem, 85vw);
160
+ block-size: 100dvh;
161
+ padding: 4rem var(--dds-space-12) var(--dds-space-20);
162
+ overflow-y: auto;
163
+ visibility: hidden;
164
+ pointer-events: none;
165
+ transform: translateX(-105%);
166
+ border-inline-end: 1px solid var(--dds-color-border-default);
167
+ }
168
+ .dds-layout .dds-layout__navigation[hidden] {
169
+ display: none;
170
+ }
171
+ .dds-layout .dds-layout__navigation[data-open="true"] {
172
+ visibility: visible;
173
+ pointer-events: auto;
174
+ transform: none;
175
+ }
176
+ [dir="rtl"] .dds-layout .dds-layout__navigation:not([data-open="true"]) {
177
+ transform: translateX(105%);
178
+ }
179
+ .dds-layout__panel {
180
+ padding: var(--dds-space-16);
181
+ }
182
+ .dds-layout .dds-console-rail__item,
183
+ .dds-layout .dds-console-rail__group-toggle {
184
+ min-block-size: 2.75rem;
185
+ }
186
+ }
187
+
188
+ .dds-layout .dds-console-rail__scrim {
189
+ border: 0;
190
+ padding: 0;
191
+ }
192
+
193
+ .dds-layout .dds-field-label {
194
+ font-size: var(--dds-typo-label-font-size);
195
+ line-height: var(--dds-typo-label-line-height);
196
+ font-weight: var(--dds-typo-label-font-weight);
197
+ }
198
+
199
+ .dds-left-nav {
200
+ font-family: var(--dds-font-family-sans);
201
+ font-size: var(--dds-typo-body-2-font-size);
202
+ line-height: var(--dds-typo-body-2-line-height);
203
+ color: var(--dds-color-text-primary);
204
+ }
205
+ .dds-left-nav .dds-console-rail__group-label,
206
+ .dds-left-nav .dds-console-rail__group-toggle {
207
+ font-size: var(--dds-typo-caption-font-size);
208
+ line-height: var(--dds-typo-caption-line-height);
209
+ font-weight: 600;
210
+ }
211
+ @media (max-width: 56.25rem) {
212
+ .dds-layout[data-navigation-position="top"] {
213
+ grid-template-rows: minmax(0, 1fr);
214
+ }
215
+ .dds-left-nav .dds-console-rail__item,
216
+ .dds-left-nav .dds-console-rail__group-toggle {
217
+ min-block-size: 44px;
218
+ }
219
+ }
@@ -0,0 +1,104 @@
1
+ .dds-top-nav {
2
+ display: flex;
3
+ align-items: center;
4
+ flex-wrap: wrap;
5
+ gap: var(--dds-space-8);
6
+ font-family: var(--dds-font-family-sans);
7
+ font-size: var(--dds-typo-body-2-font-size);
8
+ line-height: var(--dds-typo-body-2-line-height);
9
+ }
10
+ .dds-top-nav[hidden] {
11
+ display: none;
12
+ }
13
+ .dds-top-nav__group {
14
+ position: relative;
15
+ }
16
+ .dds-top-nav__trigger,
17
+ .dds-top-nav__item {
18
+ display: flex;
19
+ align-items: center;
20
+ gap: var(--dds-space-8);
21
+ min-block-size: var(--dds-space-40);
22
+ padding: var(--dds-space-8) var(--dds-space-12);
23
+ border-radius: var(--dds-radius-md);
24
+ color: var(--dds-color-text-secondary);
25
+ font-weight: 500;
26
+ text-decoration: none;
27
+ cursor: pointer;
28
+ }
29
+ .dds-top-nav__trigger[hidden],
30
+ .dds-top-nav__item[hidden] {
31
+ display: none;
32
+ }
33
+ .dds-top-nav__trigger {
34
+ list-style: none;
35
+ }
36
+ .dds-top-nav__trigger::-webkit-details-marker {
37
+ display: none;
38
+ }
39
+ .dds-top-nav__trigger::after {
40
+ content: "";
41
+ inline-size: 0.375rem;
42
+ block-size: 0.375rem;
43
+ border-inline-end: 1.5px solid currentColor;
44
+ border-block-end: 1.5px solid currentColor;
45
+ transform: rotate(45deg);
46
+ margin-inline-start: var(--dds-space-8);
47
+ }
48
+ .dds-top-nav__trigger:hover,
49
+ .dds-top-nav__item:hover {
50
+ background: var(--dds-color-bg-subtle);
51
+ }
52
+ .dds-top-nav__trigger:focus-visible,
53
+ .dds-top-nav__item:focus-visible {
54
+ outline: 2px solid var(--dds-color-border-focus);
55
+ outline-offset: 2px;
56
+ }
57
+ .dds-top-nav__item[aria-current="page"] {
58
+ color: var(--dds-color-text-brand);
59
+ background: var(--dds-color-bg-brand-subtle);
60
+ font-weight: 600;
61
+ }
62
+ .dds-top-nav__items {
63
+ position: absolute;
64
+ inset-inline-start: 0;
65
+ z-index: 40;
66
+ min-inline-size: 12rem;
67
+ max-inline-size: min(24rem, 85vw);
68
+ padding: var(--dds-space-8);
69
+ margin: 0;
70
+ list-style: none;
71
+ border: 1px solid var(--dds-color-border-default);
72
+ border-radius: var(--dds-radius-md);
73
+ background: var(--dds-color-bg-elevated);
74
+ overflow-wrap: anywhere;
75
+ }
76
+ .dds-top-nav__item-icon {
77
+ display: inline-flex;
78
+ flex: 0 0 1rem;
79
+ inline-size: 1rem;
80
+ block-size: 1rem;
81
+ }
82
+ .dds-top-nav__item-icon[hidden] {
83
+ display: none;
84
+ }
85
+ .dds-top-nav__item-icon > svg {
86
+ inline-size: 100%;
87
+ block-size: 100%;
88
+ }
89
+ @media (max-width: 56.25rem) {
90
+ .dds-top-nav {
91
+ flex-direction: column;
92
+ align-items: stretch;
93
+ }
94
+ .dds-top-nav__items {
95
+ position: static;
96
+ max-inline-size: none;
97
+ border: 0;
98
+ padding-inline-start: var(--dds-space-16);
99
+ }
100
+ .dds-top-nav__trigger,
101
+ .dds-top-nav__item {
102
+ min-block-size: 2.75rem;
103
+ }
104
+ }
package/dist/dds.css CHANGED
@@ -2356,3 +2356,388 @@ dialog.dds-dialog::backdrop {
2356
2356
  transition: none;
2357
2357
  }
2358
2358
  }
2359
+
2360
+ /* Optional disclosures: legacy navigation retains its layout. */
2361
+ .dds-console-rail__group[data-collapsible="true"] > ul {
2362
+ padding-inline-start: var(--dds-space-12);
2363
+ }
2364
+ .dds-console-rail__group[data-collapsible="true"] > .dds-console-rail__group-label {
2365
+ padding: 0;
2366
+ }
2367
+ .dds-console-rail__group-toggle {
2368
+ display: flex;
2369
+ align-items: center;
2370
+ justify-content: space-between;
2371
+ gap: var(--dds-space-8);
2372
+ inline-size: 100%;
2373
+ min-block-size: var(--dds-space-40);
2374
+ padding: var(--dds-space-8);
2375
+ border: 0;
2376
+ border-radius: var(--dds-radius-md);
2377
+ background: transparent;
2378
+ color: var(--dds-color-text-secondary);
2379
+ font: inherit;
2380
+ font-size: .75rem;
2381
+ font-weight: 650;
2382
+ letter-spacing: normal;
2383
+ text-align: start;
2384
+ cursor: pointer;
2385
+ }
2386
+ .dds-console-rail__group-toggle[hidden] { display: none; }
2387
+ .dds-console-rail__group-toggle:hover { background: var(--dds-color-bg-subtle); }
2388
+ .dds-console-rail__group-toggle:focus-visible {
2389
+ outline: 2px solid var(--dds-color-border-focus);
2390
+ outline-offset: 2px;
2391
+ }
2392
+ .dds-console-rail__chevron {
2393
+ inline-size: .375rem;
2394
+ block-size: .375rem;
2395
+ border-inline-end: 1.5px solid currentColor;
2396
+ border-block-end: 1.5px solid currentColor;
2397
+ transform: rotate(-45deg);
2398
+ }
2399
+ .dds-console-rail__group-toggle[aria-expanded="true"] .dds-console-rail__chevron {
2400
+ transform: rotate(45deg);
2401
+ }
2402
+ .dds-console-rail__item-content {
2403
+ display: inline-flex;
2404
+ align-items: center;
2405
+ gap: var(--dds-space-8);
2406
+ min-inline-size: 0;
2407
+ }
2408
+ .dds-console-rail__item-content[hidden] { display: none; }
2409
+ .dds-console-rail__item-icon {
2410
+ display: inline-flex;
2411
+ align-items: center;
2412
+ justify-content: center;
2413
+ flex: 0 0 1rem;
2414
+ inline-size: 1rem;
2415
+ block-size: 1rem;
2416
+ }
2417
+ .dds-console-rail__item-icon[hidden] { display: none; }
2418
+ .dds-console-rail__item-icon > svg { inline-size: 100%; block-size: 100%; }
2419
+
2420
+ /* Shared application geometry and type. Framework adapters contain no CSS. */
2421
+ .dds-layout {
2422
+ display: grid;
2423
+ grid-template-columns: 14.5rem minmax(0, 1fr);
2424
+ min-block-size: 100dvh;
2425
+ font-family: var(--dds-font-family-sans);
2426
+ font-size: var(--dds-typo-body-2-font-size);
2427
+ line-height: var(--dds-typo-body-2-line-height);
2428
+ font-weight: var(--dds-typo-body-2-font-weight);
2429
+ color: var(--dds-color-text-primary);
2430
+ background: var(--dds-color-bg-default);
2431
+ }
2432
+ .dds-layout[hidden] {
2433
+ display: none;
2434
+ }
2435
+ .dds-layout *,
2436
+ .dds-layout *::before,
2437
+ .dds-layout *::after {
2438
+ box-sizing: border-box;
2439
+ }
2440
+ .dds-layout[data-navigation-position="top"] {
2441
+ grid-template-columns: minmax(0, 1fr);
2442
+ grid-template-rows: auto minmax(0, 1fr);
2443
+ }
2444
+ .dds-layout .dds-layout__navigation {
2445
+ padding: var(--dds-space-20) var(--dds-space-12);
2446
+ }
2447
+ .dds-layout[data-navigation-position="top"] .dds-layout__navigation {
2448
+ position: relative;
2449
+ display: flex;
2450
+ align-items: center;
2451
+ flex-wrap: wrap;
2452
+ flex-direction: row;
2453
+ gap: var(--dds-space-16);
2454
+ block-size: auto;
2455
+ min-block-size: 3.5rem;
2456
+ padding: var(--dds-space-8) var(--dds-space-32);
2457
+ overflow: visible;
2458
+ border-inline-end: 0;
2459
+ border-block-end: 1px solid var(--dds-color-border-default);
2460
+ }
2461
+ .dds-layout[data-navigation-position="top"] .dds-layout__navigation[hidden] {
2462
+ display: none;
2463
+ }
2464
+ .dds-layout .dds-layout__main {
2465
+ min-inline-size: 0;
2466
+ padding: var(--dds-space-32);
2467
+ }
2468
+ .dds-layout__content {
2469
+ display: flex;
2470
+ flex-direction: column;
2471
+ gap: var(--dds-space-32);
2472
+ inline-size: 100%;
2473
+ max-inline-size: 68.75rem;
2474
+ margin-inline: auto;
2475
+ min-inline-size: 0;
2476
+ overflow-wrap: anywhere;
2477
+ }
2478
+ .dds-layout__content[hidden] {
2479
+ display: none;
2480
+ }
2481
+ .dds-layout__content[data-width="form"] {
2482
+ max-inline-size: 56.25rem;
2483
+ }
2484
+ .dds-layout__content[data-width="settings"] {
2485
+ max-inline-size: 50rem;
2486
+ }
2487
+ .dds-layout__content[data-width="full"] {
2488
+ max-inline-size: none;
2489
+ }
2490
+ .dds-layout h1 {
2491
+ font-size: var(--dds-typo-title-1-font-size);
2492
+ line-height: var(--dds-typo-title-1-line-height);
2493
+ font-weight: var(--dds-typo-title-1-font-weight);
2494
+ }
2495
+ .dds-layout h2 {
2496
+ font-size: var(--dds-typo-title-2-font-size);
2497
+ line-height: var(--dds-typo-title-2-line-height);
2498
+ font-weight: var(--dds-typo-title-2-font-weight);
2499
+ }
2500
+ .dds-layout h3 {
2501
+ font-size: var(--dds-typo-title-3-font-size);
2502
+ line-height: var(--dds-typo-title-3-line-height);
2503
+ font-weight: var(--dds-typo-title-3-font-weight);
2504
+ }
2505
+ .dds-layout h1,
2506
+ .dds-layout h2,
2507
+ .dds-layout h3,
2508
+ .dds-layout p {
2509
+ margin: 0;
2510
+ }
2511
+ .dds-layout__header,
2512
+ .dds-layout__section {
2513
+ display: grid;
2514
+ gap: var(--dds-space-16);
2515
+ }
2516
+ .dds-layout__header[hidden],
2517
+ .dds-layout__section[hidden] {
2518
+ display: none;
2519
+ }
2520
+ .dds-layout__panel {
2521
+ padding: var(--dds-space-24);
2522
+ border: 1px solid var(--dds-color-border-default);
2523
+ border-radius: var(--dds-radius-md);
2524
+ background: var(--dds-color-bg-elevated);
2525
+ }
2526
+ .dds-layout__fields {
2527
+ display: grid;
2528
+ gap: var(--dds-space-16);
2529
+ }
2530
+ .dds-layout__fields[hidden] {
2531
+ display: none;
2532
+ }
2533
+ .dds-layout__reading {
2534
+ font-size: var(--dds-typo-body-1-font-size);
2535
+ line-height: var(--dds-typo-body-1-line-height);
2536
+ font-weight: var(--dds-typo-body-1-font-weight);
2537
+ }
2538
+ .dds-layout__caption {
2539
+ font-size: var(--dds-typo-caption-font-size);
2540
+ line-height: var(--dds-typo-caption-line-height);
2541
+ font-weight: var(--dds-typo-caption-font-weight);
2542
+ color: var(--dds-color-text-muted);
2543
+ }
2544
+ .dds-layout .dds-console-rail__group-label,
2545
+ .dds-layout .dds-console-rail__group-toggle {
2546
+ font-size: var(--dds-typo-caption-font-size);
2547
+ line-height: var(--dds-typo-caption-line-height);
2548
+ font-weight: 600;
2549
+ }
2550
+ .dds-layout .dds-console-rail__item {
2551
+ min-block-size: var(--dds-space-40);
2552
+ font-size: var(--dds-typo-body-2-font-size);
2553
+ line-height: var(--dds-typo-body-2-line-height);
2554
+ }
2555
+ .dds-layout .dds-console-page-header {
2556
+ margin: 0;
2557
+ }
2558
+ .dds-layout__footer {
2559
+ padding-block-start: var(--dds-space-24);
2560
+ border-block-start: 1px solid var(--dds-color-border-default);
2561
+ }
2562
+ @media (max-width: 56.25rem) {
2563
+ .dds-layout {
2564
+ grid-template-columns: minmax(0, 1fr);
2565
+ }
2566
+ .dds-layout .dds-layout__main {
2567
+ padding: 4rem var(--dds-space-16) var(--dds-space-16);
2568
+ }
2569
+ .dds-layout .dds-layout__navigation,
2570
+ .dds-layout[data-navigation-position="top"] .dds-layout__navigation {
2571
+ position: fixed;
2572
+ inset-block: 0;
2573
+ inset-inline-start: 0;
2574
+ z-index: 60;
2575
+ display: flex;
2576
+ flex-direction: column;
2577
+ align-items: stretch;
2578
+ inline-size: min(20rem, 85vw);
2579
+ block-size: 100dvh;
2580
+ padding: 4rem var(--dds-space-12) var(--dds-space-20);
2581
+ overflow-y: auto;
2582
+ visibility: hidden;
2583
+ pointer-events: none;
2584
+ transform: translateX(-105%);
2585
+ border-inline-end: 1px solid var(--dds-color-border-default);
2586
+ }
2587
+ .dds-layout .dds-layout__navigation[hidden] {
2588
+ display: none;
2589
+ }
2590
+ .dds-layout .dds-layout__navigation[data-open="true"] {
2591
+ visibility: visible;
2592
+ pointer-events: auto;
2593
+ transform: none;
2594
+ }
2595
+ [dir="rtl"] .dds-layout .dds-layout__navigation:not([data-open="true"]) {
2596
+ transform: translateX(105%);
2597
+ }
2598
+ .dds-layout__panel {
2599
+ padding: var(--dds-space-16);
2600
+ }
2601
+ .dds-layout .dds-console-rail__item,
2602
+ .dds-layout .dds-console-rail__group-toggle {
2603
+ min-block-size: 2.75rem;
2604
+ }
2605
+ }
2606
+
2607
+ .dds-layout .dds-console-rail__scrim {
2608
+ border: 0;
2609
+ padding: 0;
2610
+ }
2611
+
2612
+ .dds-layout .dds-field-label {
2613
+ font-size: var(--dds-typo-label-font-size);
2614
+ line-height: var(--dds-typo-label-line-height);
2615
+ font-weight: var(--dds-typo-label-font-weight);
2616
+ }
2617
+
2618
+ .dds-left-nav {
2619
+ font-family: var(--dds-font-family-sans);
2620
+ font-size: var(--dds-typo-body-2-font-size);
2621
+ line-height: var(--dds-typo-body-2-line-height);
2622
+ color: var(--dds-color-text-primary);
2623
+ }
2624
+ .dds-left-nav .dds-console-rail__group-label,
2625
+ .dds-left-nav .dds-console-rail__group-toggle {
2626
+ font-size: var(--dds-typo-caption-font-size);
2627
+ line-height: var(--dds-typo-caption-line-height);
2628
+ font-weight: 600;
2629
+ }
2630
+ @media (max-width: 56.25rem) {
2631
+ .dds-layout[data-navigation-position="top"] {
2632
+ grid-template-rows: minmax(0, 1fr);
2633
+ }
2634
+ .dds-left-nav .dds-console-rail__item,
2635
+ .dds-left-nav .dds-console-rail__group-toggle {
2636
+ min-block-size: 44px;
2637
+ }
2638
+ }
2639
+
2640
+ .dds-top-nav {
2641
+ display: flex;
2642
+ align-items: center;
2643
+ flex-wrap: wrap;
2644
+ gap: var(--dds-space-8);
2645
+ font-family: var(--dds-font-family-sans);
2646
+ font-size: var(--dds-typo-body-2-font-size);
2647
+ line-height: var(--dds-typo-body-2-line-height);
2648
+ }
2649
+ .dds-top-nav[hidden] {
2650
+ display: none;
2651
+ }
2652
+ .dds-top-nav__group {
2653
+ position: relative;
2654
+ }
2655
+ .dds-top-nav__trigger,
2656
+ .dds-top-nav__item {
2657
+ display: flex;
2658
+ align-items: center;
2659
+ gap: var(--dds-space-8);
2660
+ min-block-size: var(--dds-space-40);
2661
+ padding: var(--dds-space-8) var(--dds-space-12);
2662
+ border-radius: var(--dds-radius-md);
2663
+ color: var(--dds-color-text-secondary);
2664
+ font-weight: 500;
2665
+ text-decoration: none;
2666
+ cursor: pointer;
2667
+ }
2668
+ .dds-top-nav__trigger[hidden],
2669
+ .dds-top-nav__item[hidden] {
2670
+ display: none;
2671
+ }
2672
+ .dds-top-nav__trigger {
2673
+ list-style: none;
2674
+ }
2675
+ .dds-top-nav__trigger::-webkit-details-marker {
2676
+ display: none;
2677
+ }
2678
+ .dds-top-nav__trigger::after {
2679
+ content: "";
2680
+ inline-size: 0.375rem;
2681
+ block-size: 0.375rem;
2682
+ border-inline-end: 1.5px solid currentColor;
2683
+ border-block-end: 1.5px solid currentColor;
2684
+ transform: rotate(45deg);
2685
+ margin-inline-start: var(--dds-space-8);
2686
+ }
2687
+ .dds-top-nav__trigger:hover,
2688
+ .dds-top-nav__item:hover {
2689
+ background: var(--dds-color-bg-subtle);
2690
+ }
2691
+ .dds-top-nav__trigger:focus-visible,
2692
+ .dds-top-nav__item:focus-visible {
2693
+ outline: 2px solid var(--dds-color-border-focus);
2694
+ outline-offset: 2px;
2695
+ }
2696
+ .dds-top-nav__item[aria-current="page"] {
2697
+ color: var(--dds-color-text-brand);
2698
+ background: var(--dds-color-bg-brand-subtle);
2699
+ font-weight: 600;
2700
+ }
2701
+ .dds-top-nav__items {
2702
+ position: absolute;
2703
+ inset-inline-start: 0;
2704
+ z-index: 40;
2705
+ min-inline-size: 12rem;
2706
+ max-inline-size: min(24rem, 85vw);
2707
+ padding: var(--dds-space-8);
2708
+ margin: 0;
2709
+ list-style: none;
2710
+ border: 1px solid var(--dds-color-border-default);
2711
+ border-radius: var(--dds-radius-md);
2712
+ background: var(--dds-color-bg-elevated);
2713
+ overflow-wrap: anywhere;
2714
+ }
2715
+ .dds-top-nav__item-icon {
2716
+ display: inline-flex;
2717
+ flex: 0 0 1rem;
2718
+ inline-size: 1rem;
2719
+ block-size: 1rem;
2720
+ }
2721
+ .dds-top-nav__item-icon[hidden] {
2722
+ display: none;
2723
+ }
2724
+ .dds-top-nav__item-icon > svg {
2725
+ inline-size: 100%;
2726
+ block-size: 100%;
2727
+ }
2728
+ @media (max-width: 56.25rem) {
2729
+ .dds-top-nav {
2730
+ flex-direction: column;
2731
+ align-items: stretch;
2732
+ }
2733
+ .dds-top-nav__items {
2734
+ position: static;
2735
+ max-inline-size: none;
2736
+ border: 0;
2737
+ padding-inline-start: var(--dds-space-16);
2738
+ }
2739
+ .dds-top-nav__trigger,
2740
+ .dds-top-nav__item {
2741
+ min-block-size: 2.75rem;
2742
+ }
2743
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devslab/dds-css",
3
- "version": "0.27.0",
3
+ "version": "0.29.0",
4
4
  "description": "DDS CSS component layer — class-based, framework-neutral, semantic-token-only (spec §4.3 v1 inventory, 20 components)",
5
5
  "type": "module",
6
6
  "license": "SEE LICENSE IN LICENSE",