@donotdev/ui 0.0.6 → 0.0.8
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/assets/fonts/fonts.css +4 -4
- package/dist/components/auth/AuthHeader.d.ts +5 -0
- package/dist/components/auth/AuthHeader.d.ts.map +1 -1
- package/dist/components/auth/AuthHeader.js +22 -8
- package/dist/components/auth/AuthMenu.d.ts +6 -2
- package/dist/components/auth/AuthMenu.d.ts.map +1 -1
- package/dist/components/auth/AuthMenu.js +2 -2
- package/dist/components/common/RedirectOverlay.d.ts +37 -0
- package/dist/components/common/RedirectOverlay.d.ts.map +1 -0
- package/dist/components/common/RedirectOverlay.js +243 -0
- package/dist/components/common/index.d.ts +1 -0
- package/dist/components/common/index.d.ts.map +1 -1
- package/dist/components/common/index.js +1 -0
- package/dist/components/layout/components/header/SettingsMenu.d.ts.map +1 -1
- package/dist/components/layout/components/header/SettingsMenu.js +1 -1
- package/dist/crud/components/DisplayFieldRenderer.js +1 -1
- package/dist/dndev.css +517 -90
- package/dist/index.js +4 -4
- package/dist/internal/devtools/components/DesignTab.d.ts.map +1 -1
- package/dist/internal/devtools/components/DesignTab.js +25 -3
- package/dist/internal/layout/components/PerformanceHints.d.ts +64 -0
- package/dist/internal/layout/components/PerformanceHints.d.ts.map +1 -0
- package/dist/internal/layout/components/PerformanceHints.js +88 -0
- package/dist/internal/layout/components/footer/FooterBranding.js +1 -1
- package/dist/internal/layout/config/presets/admin.d.ts +2 -2
- package/dist/internal/layout/config/presets/admin.d.ts.map +1 -1
- package/dist/internal/layout/config/presets/admin.js +8 -4
- package/dist/providers/NextJsAppProviders.d.ts.map +1 -1
- package/dist/providers/NextJsAppProviders.js +5 -1
- package/dist/providers/ViteAppProviders.d.ts.map +1 -1
- package/dist/providers/ViteAppProviders.js +4 -1
- package/dist/routing/hooks/hooks.next.d.ts +1 -0
- package/dist/routing/hooks/hooks.next.d.ts.map +1 -1
- package/dist/routing/hooks/hooks.next.js +1 -1
- package/dist/routing/hooks/hooks.vite.d.ts +1 -0
- package/dist/routing/hooks/hooks.vite.d.ts.map +1 -1
- package/dist/routing/hooks/hooks.vite.js +1 -1
- package/dist/routing/hooks/useRouteParam.next.d.ts +18 -0
- package/dist/routing/hooks/useRouteParam.next.d.ts.map +1 -0
- package/dist/routing/hooks/useRouteParam.next.js +38 -0
- package/dist/routing/hooks/useRouteParam.vite.d.ts +18 -0
- package/dist/routing/hooks/useRouteParam.vite.d.ts.map +1 -0
- package/dist/routing/hooks/useRouteParam.vite.js +38 -0
- package/dist/routing/index.d.ts +1 -1
- package/dist/routing/index.d.ts.map +1 -1
- package/dist/routing/index.js +1 -1
- package/dist/routing/useGoTo.d.ts +3 -4
- package/dist/routing/useGoTo.d.ts.map +1 -1
- package/dist/routing/useGoTo.js +16 -23
- package/dist/styles/index.css +513 -86
- package/dist/utils/useCrudSafe.d.ts.map +1 -1
- package/dist/utils/useCrudSafe.js +2 -1
- package/dist/vite-routing/RootLayout.d.ts.map +1 -1
- package/dist/vite-routing/RootLayout.js +4 -1
- package/package.json +10 -11
package/dist/styles/index.css
CHANGED
|
@@ -18,9 +18,9 @@
|
|
|
18
18
|
Used by: CSS @media queries, JavaScript hooks, responsive components
|
|
19
19
|
Note: CSS variables don't work in @media, so we use hardcoded px values
|
|
20
20
|
=========================== */
|
|
21
|
-
--breakpoint-mobile: 768px;
|
|
22
|
-
--breakpoint-tablet: 1024px;
|
|
23
|
-
--breakpoint-laptop: 1440px;
|
|
21
|
+
--breakpoint-mobile: 768px; /* < 768 = mobile */
|
|
22
|
+
--breakpoint-tablet: 1024px; /* 768-1023 = tablet */
|
|
23
|
+
--breakpoint-laptop: 1440px; /* 1024-1439 = laptop (key layout split) */
|
|
24
24
|
--breakpoint-desktop: 1920px; /* 1440+ = desktop */
|
|
25
25
|
|
|
26
26
|
/* ===========================
|
|
@@ -153,7 +153,7 @@
|
|
|
153
153
|
--font-headline: var(--font-sans);
|
|
154
154
|
|
|
155
155
|
--font-mono:
|
|
156
|
-
ui-monospace, 'SF Mono', 'Cascadia Code',
|
|
156
|
+
ui-monospace, 'SF Mono', 'Cascadia Code', Consolas, Monaco,
|
|
157
157
|
'Liberation Mono', monospace;
|
|
158
158
|
|
|
159
159
|
/* Typography Scale - Musical Scale System (STANDARD density defaults - Major Third 1.25×) */
|
|
@@ -287,23 +287,39 @@
|
|
|
287
287
|
|
|
288
288
|
[data-density='compact'] {
|
|
289
289
|
/* Base sizes: Fluid responsiveness for all text, zoom-safe */
|
|
290
|
-
--font-size-base: clamp(
|
|
291
|
-
|
|
292
|
-
|
|
290
|
+
--font-size-base: clamp(
|
|
291
|
+
0.875rem,
|
|
292
|
+
0.8125rem + 0.25vw,
|
|
293
|
+
0.9375rem
|
|
294
|
+
); /* 14-15px fluid */
|
|
295
|
+
--font-size-lg: clamp(
|
|
296
|
+
1.05rem,
|
|
297
|
+
0.9375rem + 0.5vw,
|
|
298
|
+
1.125rem
|
|
299
|
+
); /* 17-18px fluid */
|
|
300
|
+
--font-size-xl: clamp(
|
|
301
|
+
1.26rem,
|
|
302
|
+
1.125rem + 0.75vw,
|
|
303
|
+
1.375rem
|
|
304
|
+
); /* 20-22px fluid */
|
|
293
305
|
/* Display sizes: Musical scale + fluid responsiveness */
|
|
294
306
|
--font-size-2xl: clamp(
|
|
295
307
|
1.512rem,
|
|
296
308
|
1.375rem + 0.75vw,
|
|
297
309
|
1.625rem
|
|
298
310
|
); /* 24-26px fluid */
|
|
299
|
-
--font-size-3xl: clamp(
|
|
300
|
-
1.814rem,
|
|
301
|
-
1.625rem + 1vw,
|
|
302
|
-
2rem
|
|
303
|
-
); /* 29-32px fluid */
|
|
311
|
+
--font-size-3xl: clamp(1.814rem, 1.625rem + 1vw, 2rem); /* 29-32px fluid */
|
|
304
312
|
--gap-sm: clamp(0.375rem, 0.3125rem + 0.25vw, 0.5rem); /* 6-8px fluid */
|
|
305
|
-
--gap-md: clamp(
|
|
306
|
-
|
|
313
|
+
--gap-md: clamp(
|
|
314
|
+
0.75rem,
|
|
315
|
+
0.625rem + 0.5vw,
|
|
316
|
+
0.875rem
|
|
317
|
+
); /* 12-14px fluid, zoom-safe */
|
|
318
|
+
--gap-lg: clamp(
|
|
319
|
+
1.5rem,
|
|
320
|
+
1.25rem + 1vw,
|
|
321
|
+
1.75rem
|
|
322
|
+
); /* 24-28px fluid, zoom-safe */
|
|
307
323
|
--line-height: 1.2; /* Minor Third - All text */
|
|
308
324
|
}
|
|
309
325
|
|
|
@@ -311,22 +327,34 @@
|
|
|
311
327
|
|
|
312
328
|
[data-density='standard'] {
|
|
313
329
|
/* Base sizes: Fluid responsiveness for all text, zoom-safe */
|
|
314
|
-
--font-size-base: clamp(
|
|
315
|
-
|
|
316
|
-
|
|
330
|
+
--font-size-base: clamp(
|
|
331
|
+
1rem,
|
|
332
|
+
0.9375rem + 0.25vw,
|
|
333
|
+
1.0625rem
|
|
334
|
+
); /* 16-17px fluid */
|
|
335
|
+
--font-size-lg: clamp(
|
|
336
|
+
1.25rem,
|
|
337
|
+
1.125rem + 0.5vw,
|
|
338
|
+
1.375rem
|
|
339
|
+
); /* 20-22px fluid */
|
|
340
|
+
--font-size-xl: clamp(
|
|
341
|
+
1.563rem,
|
|
342
|
+
1.375rem + 0.75vw,
|
|
343
|
+
1.75rem
|
|
344
|
+
); /* 25-28px fluid */
|
|
317
345
|
/* Display sizes: Musical scale + fluid responsiveness */
|
|
318
|
-
--font-size-2xl: clamp(
|
|
319
|
-
1.953rem,
|
|
320
|
-
1.75rem + 1vw,
|
|
321
|
-
2.25rem
|
|
322
|
-
); /* 31-36px fluid */
|
|
346
|
+
--font-size-2xl: clamp(1.953rem, 1.75rem + 1vw, 2.25rem); /* 31-36px fluid */
|
|
323
347
|
--font-size-3xl: clamp(
|
|
324
348
|
2.441rem,
|
|
325
349
|
2rem + 1.5vw,
|
|
326
350
|
3rem
|
|
327
351
|
); /* 39-48px fluid - hero text */
|
|
328
352
|
--gap-sm: clamp(0.5rem, 0.4375rem + 0.25vw, 0.625rem); /* 8-10px fluid */
|
|
329
|
-
--gap-md: clamp(
|
|
353
|
+
--gap-md: clamp(
|
|
354
|
+
1rem,
|
|
355
|
+
0.875rem + 0.5vw,
|
|
356
|
+
1.25rem
|
|
357
|
+
); /* 16-20px fluid, zoom-safe */
|
|
330
358
|
--gap-lg: clamp(2rem, 1.75rem + 1vw, 2.5rem); /* 32-40px fluid, zoom-safe */
|
|
331
359
|
--line-height: 1.25; /* Major Third - All text */
|
|
332
360
|
}
|
|
@@ -581,6 +609,7 @@ h6 {
|
|
|
581
609
|
line-height: var(--line-height);
|
|
582
610
|
color: var(--foreground);
|
|
583
611
|
background: transparent;
|
|
612
|
+
text-wrap: balance; /* Equalize line lengths, prevent orphans */
|
|
584
613
|
}
|
|
585
614
|
|
|
586
615
|
h1 {
|
|
@@ -618,6 +647,7 @@ p {
|
|
|
618
647
|
line-height: var(--line-height);
|
|
619
648
|
color: var(--foreground);
|
|
620
649
|
background: transparent;
|
|
650
|
+
text-wrap: pretty; /* Optimize last line, avoid orphans */
|
|
621
651
|
}
|
|
622
652
|
|
|
623
653
|
ul,
|
|
@@ -627,6 +657,7 @@ ol {
|
|
|
627
657
|
color: var(--foreground);
|
|
628
658
|
background: transparent;
|
|
629
659
|
list-style-position: outside;
|
|
660
|
+
text-wrap: pretty;
|
|
630
661
|
}
|
|
631
662
|
|
|
632
663
|
ul {
|
|
@@ -679,6 +710,16 @@ em {
|
|
|
679
710
|
|
|
680
711
|
/* packages/components/src/styles/patterns.css */
|
|
681
712
|
|
|
713
|
+
/* Menu scroll area pattern - shared by DropdownMenu, Select, Combobox */
|
|
714
|
+
|
|
715
|
+
.dndev-menu-scroll-area {
|
|
716
|
+
max-height: 50dvh;
|
|
717
|
+
}
|
|
718
|
+
|
|
719
|
+
.dndev-menu-scroll-area .dndev-scroll-area-viewport {
|
|
720
|
+
max-height: 50dvh;
|
|
721
|
+
}
|
|
722
|
+
|
|
682
723
|
/* ===========================
|
|
683
724
|
FORM COMPONENTS (BASE)
|
|
684
725
|
=========================== */
|
|
@@ -873,6 +914,9 @@ em {
|
|
|
873
914
|
border-radius: var(--radius-surface);
|
|
874
915
|
box-shadow: var(--shadow-md);
|
|
875
916
|
padding: var(--gap-md); /* 1rem / 16px default */
|
|
917
|
+
padding-block-start: calc(
|
|
918
|
+
var(--gap-md) + var(--gap-sm)
|
|
919
|
+
); /* Extra top padding for FloatingLabels */
|
|
876
920
|
position: relative;
|
|
877
921
|
overflow: hidden;
|
|
878
922
|
contain: layout style;
|
|
@@ -1070,8 +1114,10 @@ em {
|
|
|
1070
1114
|
-webkit-backdrop-filter: blur(20px) saturate(180%);
|
|
1071
1115
|
border: var(--border-hairline) solid
|
|
1072
1116
|
color-mix(in oklab, var(--card-foreground) 25%, transparent);
|
|
1073
|
-
box-shadow:
|
|
1074
|
-
|
|
1117
|
+
box-shadow:
|
|
1118
|
+
var(--shadow-lg),
|
|
1119
|
+
inset 0 1px 0 0
|
|
1120
|
+
color-mix(in oklab, var(--card-foreground) 10%, transparent);
|
|
1075
1121
|
}
|
|
1076
1122
|
|
|
1077
1123
|
/* Separator style */
|
|
@@ -1121,6 +1167,9 @@ em {
|
|
|
1121
1167
|
border-radius: var(--radius-floating);
|
|
1122
1168
|
box-shadow: var(--shadow-md);
|
|
1123
1169
|
padding: var(--gap-md); /* 1rem / 16px default */
|
|
1170
|
+
padding-block-start: calc(
|
|
1171
|
+
var(--gap-md) + var(--gap-sm)
|
|
1172
|
+
); /* Extra top padding for FloatingLabels */
|
|
1124
1173
|
position: relative;
|
|
1125
1174
|
overflow: hidden;
|
|
1126
1175
|
contain: layout style;
|
|
@@ -2051,8 +2100,9 @@ em {
|
|
|
2051
2100
|
display: flex;
|
|
2052
2101
|
flex-direction: column;
|
|
2053
2102
|
overflow-y: auto;
|
|
2054
|
-
overflow-x:
|
|
2103
|
+
overflow-x: visible;
|
|
2055
2104
|
min-height: 0;
|
|
2105
|
+
padding-block-start: var(--gap-sm);
|
|
2056
2106
|
}
|
|
2057
2107
|
|
|
2058
2108
|
.dndev-modal-title {
|
|
@@ -2111,6 +2161,60 @@ em {
|
|
|
2111
2161
|
flex-direction: column;
|
|
2112
2162
|
}
|
|
2113
2163
|
|
|
2164
|
+
/* ===========================
|
|
2165
|
+
AUTH FORM PATTERNS
|
|
2166
|
+
=========================== */
|
|
2167
|
+
|
|
2168
|
+
/* Auth form step indicator */
|
|
2169
|
+
|
|
2170
|
+
.dndev-auth-step {
|
|
2171
|
+
display: inline-flex;
|
|
2172
|
+
align-items: center;
|
|
2173
|
+
justify-content: center;
|
|
2174
|
+
min-width: 1.5em;
|
|
2175
|
+
padding: var(--gap-sm);
|
|
2176
|
+
border-radius: var(--radius-sm);
|
|
2177
|
+
font-weight: var(--font-weight-semibold);
|
|
2178
|
+
transition: all var(--dur-fast) var(--ease-in-out);
|
|
2179
|
+
}
|
|
2180
|
+
|
|
2181
|
+
.dndev-auth-step[data-state='active'] {
|
|
2182
|
+
background-color: var(--primary);
|
|
2183
|
+
color: var(--primary-foreground);
|
|
2184
|
+
}
|
|
2185
|
+
|
|
2186
|
+
.dndev-auth-step[data-state='pending'] {
|
|
2187
|
+
background-color: var(--muted);
|
|
2188
|
+
color: var(--muted-foreground);
|
|
2189
|
+
}
|
|
2190
|
+
|
|
2191
|
+
.dndev-auth-step[data-state='completed'] {
|
|
2192
|
+
background-color: var(--success);
|
|
2193
|
+
color: var(--success-foreground);
|
|
2194
|
+
}
|
|
2195
|
+
|
|
2196
|
+
/* Opacity data attribute */
|
|
2197
|
+
|
|
2198
|
+
[data-opacity='50'] {
|
|
2199
|
+
opacity: 0.5;
|
|
2200
|
+
}
|
|
2201
|
+
|
|
2202
|
+
[data-opacity='70'] {
|
|
2203
|
+
opacity: 0.7;
|
|
2204
|
+
}
|
|
2205
|
+
|
|
2206
|
+
/* Inset data attribute - indent content */
|
|
2207
|
+
|
|
2208
|
+
[data-inset='true'] {
|
|
2209
|
+
padding-inline-start: var(--gap-md);
|
|
2210
|
+
}
|
|
2211
|
+
|
|
2212
|
+
/* Password strength bar height override */
|
|
2213
|
+
|
|
2214
|
+
.dndev-password-strength-bar {
|
|
2215
|
+
height: 4px;
|
|
2216
|
+
}
|
|
2217
|
+
|
|
2114
2218
|
/* 5. Individual Component Styles */
|
|
2115
2219
|
|
|
2116
2220
|
/* packages/components/src/atomic/Accordion/Accordion.css */
|
|
@@ -2157,21 +2261,46 @@ em {
|
|
|
2157
2261
|
flex-shrink: 0;
|
|
2158
2262
|
width: var(--icon-md);
|
|
2159
2263
|
height: var(--icon-md);
|
|
2160
|
-
transition: transform var(--dur-
|
|
2264
|
+
transition: transform var(--dur-normal) var(--ease-in-out);
|
|
2161
2265
|
}
|
|
2162
2266
|
|
|
2163
2267
|
.dndev-accordion-content {
|
|
2164
2268
|
overflow: hidden;
|
|
2165
2269
|
font-size: var(--font-size-base);
|
|
2166
|
-
transition: all var(--dur-fast) var(--ease-in-out);
|
|
2167
2270
|
width: 100%;
|
|
2168
2271
|
min-width: 0;
|
|
2169
2272
|
text-align: start;
|
|
2170
2273
|
}
|
|
2171
2274
|
|
|
2275
|
+
.dndev-accordion-content[data-state='open'] {
|
|
2276
|
+
animation: slideDown var(--dur-normal) var(--ease-in-out);
|
|
2277
|
+
}
|
|
2278
|
+
|
|
2172
2279
|
.dndev-accordion-content[data-state='closed'] {
|
|
2173
|
-
|
|
2280
|
+
animation: slideUp var(--dur-normal) var(--ease-in-out);
|
|
2281
|
+
}
|
|
2282
|
+
|
|
2283
|
+
@keyframes slideDown {
|
|
2284
|
+
from {
|
|
2285
|
+
height: 0;
|
|
2286
|
+
opacity: 0;
|
|
2287
|
+
}
|
|
2288
|
+
to {
|
|
2289
|
+
height: var(--radix-collapsible-content-height);
|
|
2290
|
+
opacity: 1;
|
|
2291
|
+
}
|
|
2292
|
+
}
|
|
2293
|
+
|
|
2294
|
+
@keyframes slideUp {
|
|
2295
|
+
from {
|
|
2296
|
+
height: var(--radix-collapsible-content-height);
|
|
2297
|
+
opacity: 1;
|
|
2298
|
+
}
|
|
2299
|
+
to {
|
|
2300
|
+
height: 0;
|
|
2301
|
+
opacity: 0;
|
|
2174
2302
|
}
|
|
2303
|
+
}
|
|
2175
2304
|
|
|
2176
2305
|
.dndev-accordion-content-inner {
|
|
2177
2306
|
padding-bottom: var(--gap-md);
|
|
@@ -3162,21 +3291,58 @@ em {
|
|
|
3162
3291
|
@keyframes slideDown {
|
|
3163
3292
|
from {
|
|
3164
3293
|
height: 0;
|
|
3294
|
+
opacity: 0;
|
|
3165
3295
|
}
|
|
3166
3296
|
to {
|
|
3167
3297
|
height: var(--radix-collapsible-content-height);
|
|
3298
|
+
opacity: 1;
|
|
3168
3299
|
}
|
|
3169
3300
|
}
|
|
3170
3301
|
|
|
3171
3302
|
@keyframes slideUp {
|
|
3172
3303
|
from {
|
|
3173
3304
|
height: var(--radix-collapsible-content-height);
|
|
3305
|
+
opacity: 1;
|
|
3174
3306
|
}
|
|
3175
3307
|
to {
|
|
3176
3308
|
height: 0;
|
|
3309
|
+
opacity: 0;
|
|
3177
3310
|
}
|
|
3178
3311
|
}
|
|
3179
3312
|
|
|
3313
|
+
.dndev-collapsible-trigger {
|
|
3314
|
+
width: 100%;
|
|
3315
|
+
cursor: pointer;
|
|
3316
|
+
transition: opacity var(--dur-fast) var(--ease-in-out);
|
|
3317
|
+
}
|
|
3318
|
+
|
|
3319
|
+
.dndev-collapsible-trigger:hover {
|
|
3320
|
+
opacity: var(--opacity-strong);
|
|
3321
|
+
}
|
|
3322
|
+
|
|
3323
|
+
.dndev-collapsible-trigger:focus-visible {
|
|
3324
|
+
outline: 2px solid var(--ring);
|
|
3325
|
+
outline-offset: 2px;
|
|
3326
|
+
border-radius: var(--radius-interactive);
|
|
3327
|
+
}
|
|
3328
|
+
|
|
3329
|
+
.dndev-collapsible-icon {
|
|
3330
|
+
width: var(--size-md);
|
|
3331
|
+
height: var(--size-md);
|
|
3332
|
+
flex-shrink: 0;
|
|
3333
|
+
color: var(--accent);
|
|
3334
|
+
transition: transform var(--dur-normal) var(--ease-in-out);
|
|
3335
|
+
}
|
|
3336
|
+
|
|
3337
|
+
.dndev-collapsible-chevron {
|
|
3338
|
+
transform: rotate(0deg);
|
|
3339
|
+
transition: transform var(--dur-normal) var(--ease-in-out);
|
|
3340
|
+
}
|
|
3341
|
+
|
|
3342
|
+
.dndev-collapsible[data-state='open'] .dndev-collapsible-chevron {
|
|
3343
|
+
transform: rotate(180deg);
|
|
3344
|
+
}
|
|
3345
|
+
|
|
3180
3346
|
/* packages/components/src/atomic/Combobox/Combobox.css */
|
|
3181
3347
|
|
|
3182
3348
|
.dndev-combobox-trigger {
|
|
@@ -3256,7 +3422,7 @@ em {
|
|
|
3256
3422
|
.dndev-combobox-content {
|
|
3257
3423
|
width: var(--radix-popover-trigger-width);
|
|
3258
3424
|
min-width: var(--radix-popover-trigger-width);
|
|
3259
|
-
max-
|
|
3425
|
+
max-width: var(--radix-popover-trigger-width);
|
|
3260
3426
|
display: flex;
|
|
3261
3427
|
flex-direction: column;
|
|
3262
3428
|
padding: 0;
|
|
@@ -3271,14 +3437,6 @@ em {
|
|
|
3271
3437
|
width: 100%;
|
|
3272
3438
|
}
|
|
3273
3439
|
|
|
3274
|
-
.dndev-combobox-list {
|
|
3275
|
-
overflow-y: auto;
|
|
3276
|
-
padding: var(--gap-tight);
|
|
3277
|
-
display: flex;
|
|
3278
|
-
flex-direction: column;
|
|
3279
|
-
gap: var(--gap-none);
|
|
3280
|
-
}
|
|
3281
|
-
|
|
3282
3440
|
.dndev-combobox-option {
|
|
3283
3441
|
all: unset;
|
|
3284
3442
|
display: flex;
|
|
@@ -3335,6 +3493,30 @@ em {
|
|
|
3335
3493
|
color: var(--muted-foreground);
|
|
3336
3494
|
}
|
|
3337
3495
|
|
|
3496
|
+
/* Creatable option styling */
|
|
3497
|
+
|
|
3498
|
+
.dndev-combobox-option-create {
|
|
3499
|
+
color: var(--primary);
|
|
3500
|
+
font-style: italic;
|
|
3501
|
+
}
|
|
3502
|
+
|
|
3503
|
+
.dndev-combobox-option-create-icon {
|
|
3504
|
+
width: var(--icon-md);
|
|
3505
|
+
height: var(--icon-md);
|
|
3506
|
+
margin-inline-end: var(--gap-sm);
|
|
3507
|
+
flex-shrink: 0;
|
|
3508
|
+
}
|
|
3509
|
+
|
|
3510
|
+
.dndev-combobox-open .dndev-input-with-trailing-icon .dndev-input-icon svg,
|
|
3511
|
+
.dndev-combobox-open .dndev-input-with-trailing-icon .dndev-input-icon > * {
|
|
3512
|
+
transform: rotate(180deg);
|
|
3513
|
+
}
|
|
3514
|
+
|
|
3515
|
+
.dndev-input-with-trailing-icon .dndev-input-icon svg,
|
|
3516
|
+
.dndev-input-with-trailing-icon .dndev-input-icon > * {
|
|
3517
|
+
transition: transform var(--dur-fast) var(--ease-in-out);
|
|
3518
|
+
}
|
|
3519
|
+
|
|
3338
3520
|
/* packages/components/src/atomic/DualCard/DualCard.css */
|
|
3339
3521
|
|
|
3340
3522
|
.dndev-dual-card {
|
|
@@ -3521,13 +3703,15 @@ em {
|
|
|
3521
3703
|
text-align: start;
|
|
3522
3704
|
display: block;
|
|
3523
3705
|
line-height: 1.5; /* Match line numbers */
|
|
3706
|
+
font-size: var(--font-size-sm); /* Explicit match with line numbers */
|
|
3524
3707
|
}
|
|
3525
3708
|
|
|
3526
|
-
/* Ensure shiki-generated code respects line-height */
|
|
3709
|
+
/* Ensure shiki-generated code respects line-height AND font-size */
|
|
3527
3710
|
|
|
3528
3711
|
.dndev-code-code pre,
|
|
3529
3712
|
.dndev-code-code code {
|
|
3530
3713
|
line-height: inherit;
|
|
3714
|
+
font-size: inherit; /* Match parent font-size */
|
|
3531
3715
|
}
|
|
3532
3716
|
|
|
3533
3717
|
/* packages/components/src/atomic/Command/Command.css */
|
|
@@ -3905,16 +4089,6 @@ em {
|
|
|
3905
4089
|
padding: var(--gap-sm);
|
|
3906
4090
|
}
|
|
3907
4091
|
|
|
3908
|
-
/* Dropdown scroll area - constrain height to 50dvh */
|
|
3909
|
-
|
|
3910
|
-
.dndev-dropdown-scroll-area {
|
|
3911
|
-
max-height: 50dvh;
|
|
3912
|
-
}
|
|
3913
|
-
|
|
3914
|
-
.dndev-dropdown-scroll-area .dndev-scroll-area-viewport {
|
|
3915
|
-
max-height: 50dvh;
|
|
3916
|
-
}
|
|
3917
|
-
|
|
3918
4092
|
/* Checked state styling */
|
|
3919
4093
|
|
|
3920
4094
|
.dndev-interactive[data-role='menu-item'][data-state='checked'] {
|
|
@@ -4438,6 +4612,49 @@ em {
|
|
|
4438
4612
|
margin-inline-start: var(--gap-sm);
|
|
4439
4613
|
}
|
|
4440
4614
|
|
|
4615
|
+
/* Floating Label - positioned absolutely at top of input fields */
|
|
4616
|
+
|
|
4617
|
+
.dndev-floating-label {
|
|
4618
|
+
position: absolute;
|
|
4619
|
+
inset-inline-start: var(--gap-md);
|
|
4620
|
+
top: calc(-1 * var(--font-size-xs) / 2 - 1px);
|
|
4621
|
+
font-size: var(--font-size-xs);
|
|
4622
|
+
font-weight: 500;
|
|
4623
|
+
pointer-events: none;
|
|
4624
|
+
z-index: 1;
|
|
4625
|
+
background-color: var(--background);
|
|
4626
|
+
padding: 0 var(--gap-sm);
|
|
4627
|
+
line-height: 1;
|
|
4628
|
+
color: var(--foreground);
|
|
4629
|
+
}
|
|
4630
|
+
|
|
4631
|
+
/* Inherit background when inside floating containers (dropdowns, menus, popovers) */
|
|
4632
|
+
|
|
4633
|
+
.dndev-floating .dndev-floating-label,
|
|
4634
|
+
.dndev-menu-content .dndev-floating-label,
|
|
4635
|
+
[class*='dndev-dropdown'] .dndev-floating-label,
|
|
4636
|
+
[class*='dndev-navigation'] .dndev-floating-label {
|
|
4637
|
+
background-color: var(--popover);
|
|
4638
|
+
color: var(--popover-foreground);
|
|
4639
|
+
}
|
|
4640
|
+
|
|
4641
|
+
/* When floating container has blank glow, use solid popover background */
|
|
4642
|
+
|
|
4643
|
+
.dndev-floating[data-glow='blank'] .dndev-floating-label {
|
|
4644
|
+
background-color: var(--popover);
|
|
4645
|
+
}
|
|
4646
|
+
|
|
4647
|
+
.dndev-floating-label[data-disabled='true'] {
|
|
4648
|
+
color: var(--muted-foreground);
|
|
4649
|
+
}
|
|
4650
|
+
|
|
4651
|
+
.dndev-floating-label[data-truncate='true'] {
|
|
4652
|
+
max-width: calc(100% - var(--gap-md) * 2);
|
|
4653
|
+
overflow: hidden;
|
|
4654
|
+
text-overflow: ellipsis;
|
|
4655
|
+
white-space: nowrap;
|
|
4656
|
+
}
|
|
4657
|
+
|
|
4441
4658
|
/* packages/components/src/atomic/List/List.css */
|
|
4442
4659
|
|
|
4443
4660
|
.dndev-list {
|
|
@@ -4746,20 +4963,41 @@ em {
|
|
|
4746
4963
|
/* packages/components/src/atomic/PasswordInput/PasswordInput.css */
|
|
4747
4964
|
|
|
4748
4965
|
.dndev-password-input-with-toggle {
|
|
4749
|
-
padding-inline-end: var(--gap-
|
|
4966
|
+
padding-inline-end: calc(var(--gap-xl) + var(--gap-md)) !important;
|
|
4750
4967
|
}
|
|
4751
4968
|
|
|
4969
|
+
/* Eye icon toggle - ALWAYS at end, cannot be overridden */
|
|
4970
|
+
|
|
4752
4971
|
.dndev-password-toggle-button {
|
|
4753
|
-
position: absolute;
|
|
4754
|
-
|
|
4755
|
-
|
|
4756
|
-
|
|
4757
|
-
|
|
4758
|
-
|
|
4972
|
+
position: absolute !important;
|
|
4973
|
+
top: 50% !important;
|
|
4974
|
+
transform: translateY(-50%) !important;
|
|
4975
|
+
inset-inline-end: var(--gap-sm) !important;
|
|
4976
|
+
inset-inline-start: unset !important;
|
|
4977
|
+
background: none !important;
|
|
4978
|
+
border: none !important;
|
|
4979
|
+
cursor: pointer !important;
|
|
4980
|
+
padding: var(--gap-tight) !important;
|
|
4981
|
+
display: flex !important;
|
|
4982
|
+
align-items: center !important;
|
|
4983
|
+
opacity: var(--opacity-muted) !important;
|
|
4984
|
+
transition: opacity var(--dur-fast) var(--ease-in-out) !important;
|
|
4985
|
+
-webkit-user-select: none !important;
|
|
4986
|
+
-moz-user-select: none !important;
|
|
4987
|
+
user-select: none !important;
|
|
4988
|
+
z-index: 1 !important;
|
|
4989
|
+
}
|
|
4990
|
+
|
|
4991
|
+
.dndev-password-toggle-button:hover,
|
|
4992
|
+
.dndev-password-toggle-button:focus {
|
|
4993
|
+
opacity: 1 !important;
|
|
4994
|
+
outline: none !important;
|
|
4759
4995
|
}
|
|
4760
4996
|
|
|
4761
4997
|
.dndev-password-toggle-icon {
|
|
4762
4998
|
color: var(--muted-foreground);
|
|
4999
|
+
width: var(--icon-sm);
|
|
5000
|
+
height: var(--icon-sm);
|
|
4763
5001
|
}
|
|
4764
5002
|
|
|
4765
5003
|
/* packages/components/src/atomic/Pagination/Pagination.css */
|
|
@@ -4851,9 +5089,32 @@ em {
|
|
|
4851
5089
|
height: 100%;
|
|
4852
5090
|
width: 100%;
|
|
4853
5091
|
flex: 1;
|
|
5092
|
+
background-color: var(--primary);
|
|
4854
5093
|
transition: transform var(--dur-normal) var(--ease-in-out);
|
|
5094
|
+
|
|
5095
|
+
/* Variant colors */
|
|
4855
5096
|
}
|
|
4856
5097
|
|
|
5098
|
+
[data-variant='default']:is(.dndev-progress [data-radix-progress-indicator]) {
|
|
5099
|
+
background-color: var(--primary);
|
|
5100
|
+
}
|
|
5101
|
+
|
|
5102
|
+
[data-variant='accent']:is(.dndev-progress [data-radix-progress-indicator]) {
|
|
5103
|
+
background-color: var(--accent);
|
|
5104
|
+
}
|
|
5105
|
+
|
|
5106
|
+
[data-variant='success']:is(.dndev-progress [data-radix-progress-indicator]) {
|
|
5107
|
+
background-color: var(--success);
|
|
5108
|
+
}
|
|
5109
|
+
|
|
5110
|
+
[data-variant='warning']:is(.dndev-progress [data-radix-progress-indicator]) {
|
|
5111
|
+
background-color: var(--warning);
|
|
5112
|
+
}
|
|
5113
|
+
|
|
5114
|
+
[data-variant='destructive']:is(.dndev-progress [data-radix-progress-indicator]) {
|
|
5115
|
+
background-color: var(--destructive);
|
|
5116
|
+
}
|
|
5117
|
+
|
|
4857
5118
|
/* packages/components/src/atomic/RadioGroup/RadioGroup.css */
|
|
4858
5119
|
|
|
4859
5120
|
/* Uses shared .dndev-control-group pattern from patterns.css */
|
|
@@ -5059,7 +5320,6 @@ em {
|
|
|
5059
5320
|
display: flex;
|
|
5060
5321
|
flex-direction: column;
|
|
5061
5322
|
padding: 0;
|
|
5062
|
-
overflow-y: auto;
|
|
5063
5323
|
}
|
|
5064
5324
|
|
|
5065
5325
|
.dndev-interactive[data-radix-select-item] {
|
|
@@ -5181,6 +5441,7 @@ em {
|
|
|
5181
5441
|
letter-spacing: 0.2em;
|
|
5182
5442
|
color: var(--accent) !important;
|
|
5183
5443
|
margin-block-end: var(--gap-md);
|
|
5444
|
+
text-align: center; /* DEFAULT - works without attribute selector */
|
|
5184
5445
|
}
|
|
5185
5446
|
|
|
5186
5447
|
.dndev-section-full-width[data-text-align='start'] .dndev-section-title {
|
|
@@ -5195,6 +5456,51 @@ em {
|
|
|
5195
5456
|
text-align: end;
|
|
5196
5457
|
}
|
|
5197
5458
|
|
|
5459
|
+
/* Collapsible title trigger */
|
|
5460
|
+
|
|
5461
|
+
.dndev-section-title-trigger {
|
|
5462
|
+
width: 100%;
|
|
5463
|
+
cursor: pointer;
|
|
5464
|
+
transition: opacity var(--dur-fast) var(--ease-in-out);
|
|
5465
|
+
margin-block-end: var(--gap-md);
|
|
5466
|
+
}
|
|
5467
|
+
|
|
5468
|
+
.dndev-section-title-trigger .dndev-section-title {
|
|
5469
|
+
margin-block-end: 0;
|
|
5470
|
+
}
|
|
5471
|
+
|
|
5472
|
+
.dndev-section-title-trigger:hover {
|
|
5473
|
+
opacity: var(--opacity-strong);
|
|
5474
|
+
}
|
|
5475
|
+
|
|
5476
|
+
.dndev-section-title-trigger:focus-visible {
|
|
5477
|
+
outline: 2px solid var(--ring);
|
|
5478
|
+
outline-offset: 2px;
|
|
5479
|
+
border-radius: var(--radius-interactive);
|
|
5480
|
+
}
|
|
5481
|
+
|
|
5482
|
+
.dndev-section-icon {
|
|
5483
|
+
width: var(--size-md);
|
|
5484
|
+
height: var(--size-md);
|
|
5485
|
+
flex-shrink: 0;
|
|
5486
|
+
color: var(--accent);
|
|
5487
|
+
transition: transform var(--dur-normal) var(--ease-in-out);
|
|
5488
|
+
}
|
|
5489
|
+
|
|
5490
|
+
.dndev-section-full-width[data-text-align='start']
|
|
5491
|
+
.dndev-section-title-trigger {
|
|
5492
|
+
justify-content: flex-start;
|
|
5493
|
+
}
|
|
5494
|
+
|
|
5495
|
+
.dndev-section-full-width[data-text-align='center']
|
|
5496
|
+
.dndev-section-title-trigger {
|
|
5497
|
+
justify-content: center;
|
|
5498
|
+
}
|
|
5499
|
+
|
|
5500
|
+
.dndev-section-full-width[data-text-align='end'] .dndev-section-title-trigger {
|
|
5501
|
+
justify-content: flex-end;
|
|
5502
|
+
}
|
|
5503
|
+
|
|
5198
5504
|
/* packages/components/src/atomic/Separator/Separator.css */
|
|
5199
5505
|
|
|
5200
5506
|
.dndev-separator {
|
|
@@ -6057,6 +6363,64 @@ em {
|
|
|
6057
6363
|
transform: translateX(calc(2.75rem - 1.25rem - 0.125rem));
|
|
6058
6364
|
}
|
|
6059
6365
|
|
|
6366
|
+
/* Switch with labels container */
|
|
6367
|
+
|
|
6368
|
+
.dndev-switch-with-labels {
|
|
6369
|
+
display: inline-flex;
|
|
6370
|
+
align-items: center;
|
|
6371
|
+
gap: var(--gap-sm);
|
|
6372
|
+
flex-wrap: wrap;
|
|
6373
|
+
}
|
|
6374
|
+
|
|
6375
|
+
/* Labels - keep switch and its labels on one line when possible */
|
|
6376
|
+
|
|
6377
|
+
.dndev-switch-with-labels > .dndev-switch {
|
|
6378
|
+
flex-shrink: 0;
|
|
6379
|
+
}
|
|
6380
|
+
|
|
6381
|
+
.dndev-switch-label {
|
|
6382
|
+
font-size: var(--font-size-sm);
|
|
6383
|
+
transition: color var(--dur-normal) var(--ease-in-out),
|
|
6384
|
+
font-weight var(--dur-normal) var(--ease-in-out);
|
|
6385
|
+
white-space: nowrap;
|
|
6386
|
+
}
|
|
6387
|
+
|
|
6388
|
+
/* Unchecked label - active when switch is unchecked */
|
|
6389
|
+
|
|
6390
|
+
.dndev-switch-with-labels:not(:has(.dndev-switch[data-state='checked']))
|
|
6391
|
+
.dndev-switch-label-unchecked,
|
|
6392
|
+
.dndev-switch-with-labels[data-checked='false']
|
|
6393
|
+
.dndev-switch-label-unchecked {
|
|
6394
|
+
color: var(--foreground);
|
|
6395
|
+
font-weight: var(--font-weight-medium);
|
|
6396
|
+
}
|
|
6397
|
+
|
|
6398
|
+
.dndev-switch-with-labels:has(.dndev-switch[data-state='checked'])
|
|
6399
|
+
.dndev-switch-label-unchecked,
|
|
6400
|
+
.dndev-switch-with-labels[data-checked='true']
|
|
6401
|
+
.dndev-switch-label-unchecked {
|
|
6402
|
+
color: var(--muted-foreground);
|
|
6403
|
+
font-weight: var(--font-weight-normal);
|
|
6404
|
+
}
|
|
6405
|
+
|
|
6406
|
+
/* Checked label - active when switch is checked */
|
|
6407
|
+
|
|
6408
|
+
.dndev-switch-with-labels:has(.dndev-switch[data-state='checked'])
|
|
6409
|
+
.dndev-switch-label-checked,
|
|
6410
|
+
.dndev-switch-with-labels[data-checked='true']
|
|
6411
|
+
.dndev-switch-label-checked {
|
|
6412
|
+
color: var(--foreground);
|
|
6413
|
+
font-weight: var(--font-weight-medium);
|
|
6414
|
+
}
|
|
6415
|
+
|
|
6416
|
+
.dndev-switch-with-labels:not(:has(.dndev-switch[data-state='checked']))
|
|
6417
|
+
.dndev-switch-label-checked,
|
|
6418
|
+
.dndev-switch-with-labels[data-checked='false']
|
|
6419
|
+
.dndev-switch-label-checked {
|
|
6420
|
+
color: var(--muted-foreground);
|
|
6421
|
+
font-weight: var(--font-weight-normal);
|
|
6422
|
+
}
|
|
6423
|
+
|
|
6060
6424
|
/* packages/components/src/atomic/Table/Table.css */
|
|
6061
6425
|
|
|
6062
6426
|
.dndev-table-wrapper {
|
|
@@ -6122,7 +6486,7 @@ em {
|
|
|
6122
6486
|
/* Table head (th) styles */
|
|
6123
6487
|
|
|
6124
6488
|
.dndev-table-head {
|
|
6125
|
-
text-align:
|
|
6489
|
+
text-align: start;
|
|
6126
6490
|
vertical-align: middle;
|
|
6127
6491
|
font-weight: 500;
|
|
6128
6492
|
color: var(--muted-foreground);
|
|
@@ -6139,12 +6503,12 @@ em {
|
|
|
6139
6503
|
text-align: center;
|
|
6140
6504
|
}
|
|
6141
6505
|
|
|
6142
|
-
.dndev-table-head[data-align='
|
|
6143
|
-
text-align:
|
|
6506
|
+
.dndev-table-head[data-align='end'] {
|
|
6507
|
+
text-align: end;
|
|
6144
6508
|
}
|
|
6145
6509
|
|
|
6146
|
-
.dndev-table-head[data-align='
|
|
6147
|
-
text-align:
|
|
6510
|
+
.dndev-table-head[data-align='start'] {
|
|
6511
|
+
text-align: start;
|
|
6148
6512
|
}
|
|
6149
6513
|
|
|
6150
6514
|
/* Table cell (td) styles */
|
|
@@ -6160,14 +6524,48 @@ em {
|
|
|
6160
6524
|
text-align: center;
|
|
6161
6525
|
}
|
|
6162
6526
|
|
|
6163
|
-
.dndev-table-cell[data-align='
|
|
6164
|
-
text-align:
|
|
6527
|
+
.dndev-table-cell[data-align='end'] {
|
|
6528
|
+
text-align: end;
|
|
6165
6529
|
}
|
|
6166
6530
|
|
|
6167
|
-
.dndev-table-cell[data-align='
|
|
6168
|
-
text-align:
|
|
6531
|
+
.dndev-table-cell[data-align='start'] {
|
|
6532
|
+
text-align: start;
|
|
6169
6533
|
}
|
|
6170
6534
|
|
|
6535
|
+
/* Excel-like grid lines variant */
|
|
6536
|
+
|
|
6537
|
+
.dndev-table-grid .dndev-table-head,
|
|
6538
|
+
.dndev-table-grid .dndev-table-cell {
|
|
6539
|
+
border: 1px solid var(--border);
|
|
6540
|
+
padding: 0;
|
|
6541
|
+
}
|
|
6542
|
+
|
|
6543
|
+
.dndev-table-grid .dndev-table-row {
|
|
6544
|
+
border-bottom: 1px solid var(--border);
|
|
6545
|
+
}
|
|
6546
|
+
|
|
6547
|
+
.dndev-table-grid .dndev-table-row:last-child {
|
|
6548
|
+
border-bottom: 1px solid var(--border);
|
|
6549
|
+
}
|
|
6550
|
+
|
|
6551
|
+
/* Input components inside grid cells should be borderless and fit snugly */
|
|
6552
|
+
|
|
6553
|
+
.dndev-table-grid .dndev-table-cell .dndev-input,
|
|
6554
|
+
.dndev-table-grid .dndev-table-cell input[type="text"],
|
|
6555
|
+
.dndev-table-grid .dndev-table-cell input[type="number"] {
|
|
6556
|
+
border: none;
|
|
6557
|
+
background: transparent;
|
|
6558
|
+
width: 100%;
|
|
6559
|
+
height: 100%;
|
|
6560
|
+
box-shadow: none;
|
|
6561
|
+
}
|
|
6562
|
+
|
|
6563
|
+
.dndev-table-grid .dndev-table-cell .dndev-input:focus,
|
|
6564
|
+
.dndev-table-grid .dndev-table-cell input:focus {
|
|
6565
|
+
outline: 2px solid var(--primary);
|
|
6566
|
+
outline-offset: -2px;
|
|
6567
|
+
}
|
|
6568
|
+
|
|
6171
6569
|
/* Table caption styles */
|
|
6172
6570
|
|
|
6173
6571
|
.dndev-table-caption {
|
|
@@ -6184,7 +6582,7 @@ em {
|
|
|
6184
6582
|
|
|
6185
6583
|
.dndev-table-search-icon {
|
|
6186
6584
|
position: absolute;
|
|
6187
|
-
|
|
6585
|
+
inset-inline-start: var(--gap-md);
|
|
6188
6586
|
top: 50%;
|
|
6189
6587
|
transform: translateY(-50%);
|
|
6190
6588
|
width: var(--icon-md);
|
|
@@ -6351,7 +6749,7 @@ em {
|
|
|
6351
6749
|
.dndev-tag {
|
|
6352
6750
|
display: inline-flex;
|
|
6353
6751
|
align-items: center;
|
|
6354
|
-
gap: var(--gap-
|
|
6752
|
+
gap: var(--gap-sm);
|
|
6355
6753
|
border-radius: var(--radius-full);
|
|
6356
6754
|
border: 1px solid transparent;
|
|
6357
6755
|
font-size: var(--font-size-sm);
|
|
@@ -6481,8 +6879,18 @@ em {
|
|
|
6481
6879
|
font-weight: var(--font-weight-medium);
|
|
6482
6880
|
line-height: var(--line-height);
|
|
6483
6881
|
background-color: transparent; /* Text never has background, only color changes */
|
|
6882
|
+
|
|
6883
|
+
/* Respect semantic HTML elements */
|
|
6484
6884
|
}
|
|
6485
6885
|
|
|
6886
|
+
.dndev-text-base:is(strong) {
|
|
6887
|
+
font-weight: var(--font-weight-semibold);
|
|
6888
|
+
}
|
|
6889
|
+
|
|
6890
|
+
.dndev-text-base:is(em) {
|
|
6891
|
+
font-style: italic;
|
|
6892
|
+
}
|
|
6893
|
+
|
|
6486
6894
|
.dndev-text-base[data-variant='default'] {
|
|
6487
6895
|
color: inherit;
|
|
6488
6896
|
}
|
|
@@ -7430,7 +7838,7 @@ em {
|
|
|
7430
7838
|
align-items: stretch;
|
|
7431
7839
|
}
|
|
7432
7840
|
|
|
7433
|
-
@media (width <=
|
|
7841
|
+
@media (width <=699px) {
|
|
7434
7842
|
|
|
7435
7843
|
[data-cols='2'] {
|
|
7436
7844
|
grid-template-columns: repeat(1, minmax(350px, 1fr));
|
|
@@ -7442,14 +7850,14 @@ em {
|
|
|
7442
7850
|
align-items: stretch;
|
|
7443
7851
|
}
|
|
7444
7852
|
|
|
7445
|
-
@media (width <=
|
|
7853
|
+
@media (width <=1049px) {
|
|
7446
7854
|
|
|
7447
7855
|
[data-cols='3'] {
|
|
7448
7856
|
grid-template-columns: repeat(2, minmax(350px, 1fr));
|
|
7449
7857
|
}
|
|
7450
7858
|
}
|
|
7451
7859
|
|
|
7452
|
-
@media (width <=
|
|
7860
|
+
@media (width <=699px) {
|
|
7453
7861
|
|
|
7454
7862
|
[data-cols='3'] {
|
|
7455
7863
|
grid-template-columns: repeat(1, minmax(350px, 1fr));
|
|
@@ -7463,21 +7871,21 @@ em {
|
|
|
7463
7871
|
/* Responsive: reduce columns when container is narrow */
|
|
7464
7872
|
}
|
|
7465
7873
|
|
|
7466
|
-
@media (width <=
|
|
7874
|
+
@media (width <=1399px) {
|
|
7467
7875
|
|
|
7468
7876
|
[data-cols='4'] {
|
|
7469
7877
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
7470
7878
|
}
|
|
7471
7879
|
}
|
|
7472
7880
|
|
|
7473
|
-
@media (width <=
|
|
7881
|
+
@media (width <=1049px) {
|
|
7474
7882
|
|
|
7475
7883
|
[data-cols='4'] {
|
|
7476
7884
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
7477
7885
|
}
|
|
7478
7886
|
}
|
|
7479
7887
|
|
|
7480
|
-
@media (width <=
|
|
7888
|
+
@media (width <=699px) {
|
|
7481
7889
|
|
|
7482
7890
|
[data-cols='4'] {
|
|
7483
7891
|
grid-template-columns: repeat(1, minmax(0, 1fr));
|
|
@@ -7544,18 +7952,22 @@ em {
|
|
|
7544
7952
|
|
|
7545
7953
|
code {
|
|
7546
7954
|
font-family: var(--font-mono);
|
|
7547
|
-
font-size: inherit;
|
|
7548
|
-
|
|
7955
|
+
font-size: inherit;
|
|
7956
|
+
/* Inherit parent size */
|
|
7957
|
+
font-weight: inherit;
|
|
7958
|
+
/* Inherit parent weight */
|
|
7549
7959
|
line-height: inherit;
|
|
7550
7960
|
color: inherit;
|
|
7551
|
-
background: transparent;
|
|
7961
|
+
background: transparent;
|
|
7962
|
+
/* No background by default */
|
|
7552
7963
|
}
|
|
7553
7964
|
|
|
7554
7965
|
/* Code variant - visual styling (background, padding, can apply to any element) */
|
|
7555
7966
|
|
|
7556
7967
|
[data-variant='code'] {
|
|
7557
7968
|
font-family: var(--font-mono);
|
|
7558
|
-
font-size: var(--font-size-sm);
|
|
7969
|
+
font-size: var(--font-size-sm);
|
|
7970
|
+
/* Default small size */
|
|
7559
7971
|
background: var(--muted);
|
|
7560
7972
|
color: var(--muted-foreground);
|
|
7561
7973
|
padding: var(--gap-sm) var(--gap-md);
|
|
@@ -7650,7 +8062,8 @@ h4[data-variant='code'] {
|
|
|
7650
8062
|
|
|
7651
8063
|
.dndev-relative {
|
|
7652
8064
|
position: relative;
|
|
7653
|
-
min-width: 0;
|
|
8065
|
+
min-width: 0;
|
|
8066
|
+
/* Allow flex items to shrink below content size */
|
|
7654
8067
|
}
|
|
7655
8068
|
|
|
7656
8069
|
.dndev-absolute {
|
|
@@ -7755,7 +8168,7 @@ h4[data-variant='code'] {
|
|
|
7755
8168
|
RESPONSIVE DISPLAY
|
|
7756
8169
|
=========================== */
|
|
7757
8170
|
|
|
7758
|
-
@media (width >=
|
|
8171
|
+
@media (width >=768px) {
|
|
7759
8172
|
.dndev-md\:block {
|
|
7760
8173
|
display: block;
|
|
7761
8174
|
}
|
|
@@ -7781,7 +8194,7 @@ h4[data-variant='code'] {
|
|
|
7781
8194
|
}
|
|
7782
8195
|
}
|
|
7783
8196
|
|
|
7784
|
-
@media (width >=
|
|
8197
|
+
@media (width >=1024px) {
|
|
7785
8198
|
.dndev-lg\:block {
|
|
7786
8199
|
display: block;
|
|
7787
8200
|
}
|
|
@@ -7841,6 +8254,10 @@ h4[data-variant='code'] {
|
|
|
7841
8254
|
Components are unaffected - they own their own spacing
|
|
7842
8255
|
=========================== */
|
|
7843
8256
|
|
|
8257
|
+
.prose {
|
|
8258
|
+
text-align: start;
|
|
8259
|
+
}
|
|
8260
|
+
|
|
7844
8261
|
.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6 {
|
|
7845
8262
|
margin-block: var(--gap-md);
|
|
7846
8263
|
}
|
|
@@ -8312,14 +8729,20 @@ main[role='main'][data-routing-animation='none'] {
|
|
|
8312
8729
|
'header header'
|
|
8313
8730
|
'sidebar main'
|
|
8314
8731
|
'footer footer';
|
|
8315
|
-
grid-template-rows: var(--header-height) 1fr minmax(
|
|
8732
|
+
grid-template-rows: var(--header-height) 1fr minmax(
|
|
8733
|
+
var(--footer-height),
|
|
8734
|
+
auto
|
|
8735
|
+
);
|
|
8316
8736
|
grid-template-columns: var(--sidebar-width) 1fr;
|
|
8317
8737
|
|
|
8318
8738
|
/* Game layout: Grid rows adjust based on breakpoint (footer hidden on tablet/mobile) */
|
|
8319
8739
|
}
|
|
8320
8740
|
|
|
8321
8741
|
[data-layout='game']:root .dndev-layout {
|
|
8322
|
-
grid-template-rows: var(--header-height) 1fr minmax(
|
|
8742
|
+
grid-template-rows: var(--header-height) 1fr minmax(
|
|
8743
|
+
var(--footer-height),
|
|
8744
|
+
auto
|
|
8745
|
+
);
|
|
8323
8746
|
}
|
|
8324
8747
|
|
|
8325
8748
|
/* ===========================
|
|
@@ -8575,10 +8998,14 @@ aside[role='navigation'].sidebar[data-collapsed='true'] .dndev-interactive kbd {
|
|
|
8575
8998
|
|
|
8576
8999
|
/* Force sidebar children to shrink - no blocking resize */
|
|
8577
9000
|
|
|
8578
|
-
aside.sidebar[role='navigation'] .sidebar-
|
|
9001
|
+
aside.sidebar[role='navigation'] .sidebar-top,aside.sidebar[role='navigation'] .sidebar-bottom {
|
|
8579
9002
|
overflow: hidden;
|
|
8580
9003
|
}
|
|
8581
9004
|
|
|
9005
|
+
aside.sidebar[role='navigation'] .sidebar-content {
|
|
9006
|
+
overflow-x: hidden; /* Prevent horizontal scroll, allow vertical */
|
|
9007
|
+
}
|
|
9008
|
+
|
|
8582
9009
|
aside.sidebar[role='navigation'] .dndev-interactive {
|
|
8583
9010
|
overflow: hidden;
|
|
8584
9011
|
}
|
|
@@ -9034,7 +9461,7 @@ footer[role='contentinfo'] a:not(.dndev-interactive):hover {
|
|
|
9034
9461
|
.breadcrumb-item {
|
|
9035
9462
|
display: inline-flex;
|
|
9036
9463
|
align-items: center;
|
|
9037
|
-
gap: var(--gap-
|
|
9464
|
+
gap: var(--gap-sm);
|
|
9038
9465
|
}
|
|
9039
9466
|
|
|
9040
9467
|
.breadcrumbs .separator,
|
|
@@ -9111,7 +9538,7 @@ footer[role='contentinfo'] a:not(.dndev-interactive):hover {
|
|
|
9111
9538
|
min-height: 0;
|
|
9112
9539
|
display: flex;
|
|
9113
9540
|
flex-direction: column;
|
|
9114
|
-
justify-content:
|
|
9541
|
+
justify-content: flex-start;
|
|
9115
9542
|
gap: var(--gap-lg);
|
|
9116
9543
|
/* Controlled by density system */
|
|
9117
9544
|
/* Default: centered */
|