@donotdev/ui 0.0.3 → 0.0.5
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/auth/AuthMenu.d.ts.map +1 -1
- package/dist/components/auth/AuthMenu.js +4 -4
- package/dist/components/common/FeatureCard.d.ts +7 -19
- package/dist/components/common/FeatureCard.d.ts.map +1 -1
- package/dist/components/common/FeatureCard.js +4 -28
- package/dist/components/common/TechBento.d.ts +15 -3
- package/dist/components/common/TechBento.d.ts.map +1 -1
- package/dist/components/common/TechBento.js +20 -2
- package/dist/dndev.css +600 -163
- package/dist/index.js +4 -4
- package/dist/internal/devtools/DebugTools.js +1 -1
- package/dist/internal/devtools/components/ConfigTab.d.ts.map +1 -1
- package/dist/internal/devtools/components/ConfigTab.js +8 -6
- package/dist/internal/devtools/components/DesignTab.d.ts.map +1 -1
- package/dist/internal/devtools/components/DesignTab.js +256 -45
- package/dist/internal/devtools/components/StoresTab.d.ts.map +1 -1
- package/dist/internal/initializers/BaseStoresInitializer.d.ts.map +1 -1
- package/dist/internal/initializers/BaseStoresInitializer.js +11 -1
- package/dist/internal/layout/DnDevLayout.d.ts.map +1 -1
- package/dist/internal/layout/DnDevLayout.js +1 -5
- package/dist/internal/layout/components/AutoMetaTags.d.ts.map +1 -1
- package/dist/internal/layout/components/AutoMetaTags.js +6 -1
- package/dist/internal/layout/zones/DnDevFooter.js +2 -2
- package/dist/styles/index.css +600 -163
- package/dist/utils/assetResolver.d.ts.map +1 -1
- package/dist/utils/assetResolver.js +22 -11
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/tList.d.ts +30 -0
- package/dist/utils/tList.d.ts.map +1 -0
- package/dist/utils/tList.js +51 -0
- package/dist/vite-routing/AppRoutes.d.ts.map +1 -1
- package/package.json +9 -9
package/dist/dndev.css
CHANGED
|
@@ -22,9 +22,10 @@
|
|
|
22
22
|
Used by: CSS @media queries, JavaScript hooks, responsive components
|
|
23
23
|
Note: CSS variables don't work in @media, so we use hardcoded px values
|
|
24
24
|
=========================== */
|
|
25
|
-
--breakpoint-mobile: 768px;
|
|
26
|
-
--breakpoint-tablet: 1024px;
|
|
27
|
-
--breakpoint-
|
|
25
|
+
--breakpoint-mobile: 768px; /* < 768 = mobile */
|
|
26
|
+
--breakpoint-tablet: 1024px; /* 768-1023 = tablet */
|
|
27
|
+
--breakpoint-laptop: 1440px; /* 1024-1439 = laptop (key layout split) */
|
|
28
|
+
--breakpoint-desktop: 1920px; /* 1440+ = desktop */
|
|
28
29
|
|
|
29
30
|
/* ===========================
|
|
30
31
|
INTERACTIVE ELEMENTS
|
|
@@ -289,28 +290,48 @@
|
|
|
289
290
|
/* Compact (Admin/Data) - Dense, information-dense layouts - Minor Third (1.2×) */
|
|
290
291
|
|
|
291
292
|
[data-density='compact'] {
|
|
292
|
-
|
|
293
|
-
--font-size-
|
|
294
|
-
--font-size-
|
|
295
|
-
--font-size-
|
|
296
|
-
|
|
297
|
-
--
|
|
298
|
-
|
|
299
|
-
|
|
293
|
+
/* Base sizes: Fluid responsiveness for all text, zoom-safe */
|
|
294
|
+
--font-size-base: clamp(0.875rem, 0.8125rem + 0.25vw, 0.9375rem); /* 14-15px fluid */
|
|
295
|
+
--font-size-lg: clamp(1.05rem, 0.9375rem + 0.5vw, 1.125rem); /* 17-18px fluid */
|
|
296
|
+
--font-size-xl: clamp(1.26rem, 1.125rem + 0.75vw, 1.375rem); /* 20-22px fluid */
|
|
297
|
+
/* Display sizes: Musical scale + fluid responsiveness */
|
|
298
|
+
--font-size-2xl: clamp(
|
|
299
|
+
1.512rem,
|
|
300
|
+
1.375rem + 0.75vw,
|
|
301
|
+
1.625rem
|
|
302
|
+
); /* 24-26px fluid */
|
|
303
|
+
--font-size-3xl: clamp(
|
|
304
|
+
1.814rem,
|
|
305
|
+
1.625rem + 1vw,
|
|
306
|
+
2rem
|
|
307
|
+
); /* 29-32px fluid */
|
|
308
|
+
--gap-sm: clamp(0.375rem, 0.3125rem + 0.25vw, 0.5rem); /* 6-8px fluid */
|
|
309
|
+
--gap-md: clamp(0.75rem, 0.625rem + 0.5vw, 0.875rem); /* 12-14px fluid, zoom-safe */
|
|
310
|
+
--gap-lg: clamp(1.5rem, 1.25rem + 1vw, 1.75rem); /* 24-28px fluid, zoom-safe */
|
|
300
311
|
--line-height: 1.2; /* Minor Third - All text */
|
|
301
312
|
}
|
|
302
313
|
|
|
303
314
|
/* Standard (Docs/SaaS) - DEFAULT, balanced for readability */
|
|
304
315
|
|
|
305
316
|
[data-density='standard'] {
|
|
306
|
-
|
|
307
|
-
--font-size-
|
|
308
|
-
--font-size-
|
|
309
|
-
--font-size-
|
|
310
|
-
|
|
311
|
-
--
|
|
312
|
-
|
|
313
|
-
|
|
317
|
+
/* Base sizes: Fluid responsiveness for all text, zoom-safe */
|
|
318
|
+
--font-size-base: clamp(1rem, 0.9375rem + 0.25vw, 1.0625rem); /* 16-17px fluid */
|
|
319
|
+
--font-size-lg: clamp(1.25rem, 1.125rem + 0.5vw, 1.375rem); /* 20-22px fluid */
|
|
320
|
+
--font-size-xl: clamp(1.563rem, 1.375rem + 0.75vw, 1.75rem); /* 25-28px fluid */
|
|
321
|
+
/* Display sizes: Musical scale + fluid responsiveness */
|
|
322
|
+
--font-size-2xl: clamp(
|
|
323
|
+
1.953rem,
|
|
324
|
+
1.75rem + 1vw,
|
|
325
|
+
2.25rem
|
|
326
|
+
); /* 31-36px fluid */
|
|
327
|
+
--font-size-3xl: clamp(
|
|
328
|
+
2.441rem,
|
|
329
|
+
2rem + 1.5vw,
|
|
330
|
+
3rem
|
|
331
|
+
); /* 39-48px fluid - hero text */
|
|
332
|
+
--gap-sm: clamp(0.5rem, 0.4375rem + 0.25vw, 0.625rem); /* 8-10px fluid */
|
|
333
|
+
--gap-md: clamp(1rem, 0.875rem + 0.5vw, 1.25rem); /* 16-20px fluid, zoom-safe */
|
|
334
|
+
--gap-lg: clamp(2rem, 1.75rem + 1vw, 2.5rem); /* 32-40px fluid, zoom-safe */
|
|
314
335
|
--line-height: 1.25; /* Major Third - All text */
|
|
315
336
|
}
|
|
316
337
|
|
|
@@ -542,49 +563,16 @@ a:focus-visible {
|
|
|
542
563
|
border-radius: var(--radius-interactive);
|
|
543
564
|
}
|
|
544
565
|
|
|
545
|
-
/*
|
|
546
|
-
BASE LIST STYLING
|
|
547
|
-
Use text-base styles for lists
|
|
548
|
-
=========================== */
|
|
549
|
-
|
|
550
|
-
/* Content lists only - not navigation menus */
|
|
566
|
+
/* Main element - no focus outline (programmatic focus for keyboard nav) */
|
|
551
567
|
|
|
552
|
-
main
|
|
553
|
-
|
|
554
|
-
article ul,
|
|
555
|
-
article ol {
|
|
556
|
-
font-weight: 500;
|
|
557
|
-
line-height: var(--line-height);
|
|
558
|
-
color: var(--foreground);
|
|
559
|
-
background: transparent !important;
|
|
560
|
-
list-style-position: outside;
|
|
561
|
-
padding-inline-start: var(--gap-lg);
|
|
562
|
-
margin-block: var(--gap-md);
|
|
563
|
-
}
|
|
564
|
-
|
|
565
|
-
main ul,
|
|
566
|
-
article ul {
|
|
567
|
-
list-style-type: disc;
|
|
568
|
-
}
|
|
569
|
-
|
|
570
|
-
main ol,
|
|
571
|
-
article ol {
|
|
572
|
-
list-style-type: decimal;
|
|
573
|
-
}
|
|
574
|
-
|
|
575
|
-
main li,
|
|
576
|
-
article li {
|
|
577
|
-
font-weight: 500;
|
|
578
|
-
line-height: var(--line-height);
|
|
579
|
-
color: var(--foreground);
|
|
580
|
-
background: transparent !important;
|
|
581
|
-
margin-block: var(--gap-sm);
|
|
582
|
-
padding-inline-start: var(--gap-sm);
|
|
568
|
+
main:focus-visible {
|
|
569
|
+
outline: none;
|
|
583
570
|
}
|
|
584
571
|
|
|
585
572
|
/* ===========================
|
|
586
|
-
BASE TYPOGRAPHY
|
|
587
|
-
|
|
573
|
+
BASE TYPOGRAPHY - RESET ONLY
|
|
574
|
+
Zero margins, components own their spacing
|
|
575
|
+
Use .prose wrapper for content pages (docs, markdown)
|
|
588
576
|
=========================== */
|
|
589
577
|
|
|
590
578
|
h1,
|
|
@@ -593,49 +581,71 @@ h3,
|
|
|
593
581
|
h4,
|
|
594
582
|
h5,
|
|
595
583
|
h6 {
|
|
596
|
-
font-weight:
|
|
584
|
+
font-weight: var(--font-weight-medium);
|
|
597
585
|
line-height: var(--line-height);
|
|
598
586
|
color: var(--foreground);
|
|
599
587
|
background: transparent;
|
|
600
|
-
margin-block: var(--gap-md);
|
|
601
588
|
}
|
|
602
589
|
|
|
603
590
|
h1 {
|
|
604
591
|
font-family: var(--font-headline);
|
|
605
592
|
font-size: var(--font-size-3xl);
|
|
606
|
-
font-weight:
|
|
593
|
+
font-weight: var(--font-weight-bold);
|
|
607
594
|
letter-spacing: -0.02em;
|
|
608
595
|
}
|
|
609
596
|
|
|
610
597
|
h2 {
|
|
611
598
|
font-family: var(--font-headline);
|
|
612
599
|
font-size: var(--font-size-2xl);
|
|
613
|
-
font-weight:
|
|
600
|
+
font-weight: var(--font-weight-bold);
|
|
614
601
|
letter-spacing: -0.01em;
|
|
615
602
|
}
|
|
616
603
|
|
|
617
604
|
h3 {
|
|
618
605
|
font-size: var(--font-size-xl);
|
|
619
|
-
font-weight:
|
|
606
|
+
font-weight: var(--font-weight-semibold);
|
|
620
607
|
}
|
|
621
608
|
|
|
622
609
|
h4 {
|
|
623
610
|
font-size: var(--font-size-lg);
|
|
624
|
-
font-weight:
|
|
611
|
+
font-weight: var(--font-weight-semibold);
|
|
625
612
|
}
|
|
626
613
|
|
|
627
614
|
h5,
|
|
628
615
|
h6 {
|
|
629
616
|
font-size: var(--font-size-base);
|
|
630
|
-
font-weight:
|
|
617
|
+
font-weight: var(--font-weight-semibold);
|
|
631
618
|
}
|
|
632
619
|
|
|
633
620
|
p {
|
|
634
|
-
font-weight:
|
|
621
|
+
font-weight: var(--font-weight-medium);
|
|
622
|
+
line-height: var(--line-height);
|
|
623
|
+
color: var(--foreground);
|
|
624
|
+
background: transparent;
|
|
625
|
+
}
|
|
626
|
+
|
|
627
|
+
ul,
|
|
628
|
+
ol {
|
|
629
|
+
font-weight: var(--font-weight-medium);
|
|
630
|
+
line-height: var(--line-height);
|
|
631
|
+
color: var(--foreground);
|
|
632
|
+
background: transparent;
|
|
633
|
+
list-style-position: outside;
|
|
634
|
+
}
|
|
635
|
+
|
|
636
|
+
ul {
|
|
637
|
+
list-style-type: disc;
|
|
638
|
+
}
|
|
639
|
+
|
|
640
|
+
ol {
|
|
641
|
+
list-style-type: decimal;
|
|
642
|
+
}
|
|
643
|
+
|
|
644
|
+
li {
|
|
645
|
+
font-weight: var(--font-weight-medium);
|
|
635
646
|
line-height: var(--line-height);
|
|
636
647
|
color: var(--foreground);
|
|
637
648
|
background: transparent;
|
|
638
|
-
margin-block: var(--gap-md);
|
|
639
649
|
}
|
|
640
650
|
|
|
641
651
|
/* Semantic HTML - strong and em */
|
|
@@ -1059,12 +1069,13 @@ em {
|
|
|
1059
1069
|
}
|
|
1060
1070
|
|
|
1061
1071
|
.dndev-surface[data-variant='glass'] {
|
|
1062
|
-
background: color-mix(in oklab, var(--card)
|
|
1063
|
-
backdrop-filter: blur(
|
|
1064
|
-
-webkit-backdrop-filter: blur(
|
|
1072
|
+
background: color-mix(in oklab, var(--card) 55%, transparent);
|
|
1073
|
+
backdrop-filter: blur(20px) saturate(180%);
|
|
1074
|
+
-webkit-backdrop-filter: blur(20px) saturate(180%);
|
|
1065
1075
|
border: var(--border-hairline) solid
|
|
1066
|
-
color-mix(in oklab, var(--card-foreground)
|
|
1067
|
-
box-shadow: var(--shadow-lg)
|
|
1076
|
+
color-mix(in oklab, var(--card-foreground) 25%, transparent);
|
|
1077
|
+
box-shadow: var(--shadow-lg),
|
|
1078
|
+
inset 0 1px 0 0 color-mix(in oklab, var(--card-foreground) 10%, transparent);
|
|
1068
1079
|
}
|
|
1069
1080
|
|
|
1070
1081
|
/* Separator style */
|
|
@@ -2134,6 +2145,7 @@ em {
|
|
|
2134
2145
|
background: transparent;
|
|
2135
2146
|
color: inherit;
|
|
2136
2147
|
font-size: var(--font-size-base);
|
|
2148
|
+
font-weight: var(--font-weight-medium);
|
|
2137
2149
|
}
|
|
2138
2150
|
|
|
2139
2151
|
.dndev-interactive[data-role='accordion-trigger']:hover {
|
|
@@ -2158,6 +2170,7 @@ em {
|
|
|
2158
2170
|
transition: all var(--dur-fast) var(--ease-in-out);
|
|
2159
2171
|
width: 100%;
|
|
2160
2172
|
min-width: 0;
|
|
2173
|
+
text-align: start;
|
|
2161
2174
|
}
|
|
2162
2175
|
|
|
2163
2176
|
.dndev-accordion-content[data-state='closed'] {
|
|
@@ -2369,14 +2382,15 @@ em {
|
|
|
2369
2382
|
margin-top: var(--gap-md);
|
|
2370
2383
|
}
|
|
2371
2384
|
|
|
2372
|
-
/* Tech card */
|
|
2385
|
+
/* Tech card - override Card's grid layout for centered content */
|
|
2373
2386
|
|
|
2374
2387
|
.dndev-tech-card {
|
|
2375
2388
|
height: 100%;
|
|
2376
2389
|
min-height: 120px;
|
|
2377
|
-
display: flex;
|
|
2390
|
+
display: flex !important; /* Override Card's grid layout */
|
|
2378
2391
|
align-items: center;
|
|
2379
2392
|
justify-content: center;
|
|
2393
|
+
align-content: center; /* Override Card's align-content: start */
|
|
2380
2394
|
transition:
|
|
2381
2395
|
border-color 0.2s ease,
|
|
2382
2396
|
box-shadow 0.2s ease;
|
|
@@ -2486,7 +2500,8 @@ em {
|
|
|
2486
2500
|
border-inline-end: none;
|
|
2487
2501
|
border-block-start: none;
|
|
2488
2502
|
border-block-end: none;
|
|
2489
|
-
border-radius: var(--radius-interactive) var(--radius-surface)
|
|
2503
|
+
border-radius: var(--radius-interactive) var(--radius-surface)
|
|
2504
|
+
var(--radius-surface) var(--radius-interactive);
|
|
2490
2505
|
overflow: hidden;
|
|
2491
2506
|
}
|
|
2492
2507
|
|
|
@@ -2888,13 +2903,41 @@ em {
|
|
|
2888
2903
|
/* packages/components/src/atomic/CallToAction/CallToAction.css */
|
|
2889
2904
|
|
|
2890
2905
|
.dndev-cta {
|
|
2891
|
-
/* Full width gradient */
|
|
2892
|
-
background: linear-gradient(to right, var(--secondary), var(--background));
|
|
2893
2906
|
color: var(--foreground);
|
|
2894
2907
|
/* Padding for background - vertical only, horizontal handled by content */
|
|
2895
2908
|
padding-block: var(--gap-lg);
|
|
2896
2909
|
}
|
|
2897
2910
|
|
|
2911
|
+
/* Tone variants - leverage existing data-tone system */
|
|
2912
|
+
|
|
2913
|
+
/* Ghost (default) - no background */
|
|
2914
|
+
|
|
2915
|
+
.dndev-cta[data-tone='ghost'],
|
|
2916
|
+
.dndev-cta:not([data-tone]) {
|
|
2917
|
+
background: transparent;
|
|
2918
|
+
}
|
|
2919
|
+
|
|
2920
|
+
.dndev-cta[data-tone='base'] {
|
|
2921
|
+
background: var(--background);
|
|
2922
|
+
}
|
|
2923
|
+
|
|
2924
|
+
.dndev-cta[data-tone='muted'] {
|
|
2925
|
+
background: var(--muted);
|
|
2926
|
+
}
|
|
2927
|
+
|
|
2928
|
+
.dndev-cta[data-tone='elevated'] {
|
|
2929
|
+
background: var(--background);
|
|
2930
|
+
}
|
|
2931
|
+
|
|
2932
|
+
.dndev-cta[data-tone='contrast'] {
|
|
2933
|
+
background: var(--foreground);
|
|
2934
|
+
color: var(--background);
|
|
2935
|
+
}
|
|
2936
|
+
|
|
2937
|
+
.dndev-cta[data-tone='accent'] {
|
|
2938
|
+
background: color-mix(in oklab, var(--accent) 5%, transparent);
|
|
2939
|
+
}
|
|
2940
|
+
|
|
2898
2941
|
.dndev-cta-content {
|
|
2899
2942
|
display: flex;
|
|
2900
2943
|
flex-direction: column;
|
|
@@ -2975,19 +3018,36 @@ em {
|
|
|
2975
3018
|
.dndev-card {
|
|
2976
3019
|
display: grid;
|
|
2977
3020
|
gap: var(--gap-md);
|
|
3021
|
+
text-align: start;
|
|
3022
|
+
align-content: start;
|
|
3023
|
+
}
|
|
3024
|
+
|
|
3025
|
+
.dndev-card-header {
|
|
3026
|
+
display: flex;
|
|
3027
|
+
flex-direction: column;
|
|
3028
|
+
}
|
|
3029
|
+
|
|
3030
|
+
.dndev-card-header > .dndev-stack {
|
|
3031
|
+
min-width: 0;
|
|
3032
|
+
}
|
|
3033
|
+
|
|
3034
|
+
.dndev-card-header > .dndev-stack > .dndev-card-title {
|
|
3035
|
+
flex: 1;
|
|
3036
|
+
min-width: 0;
|
|
2978
3037
|
}
|
|
2979
3038
|
|
|
2980
3039
|
.dndev-card-title {
|
|
2981
|
-
font-size: var(--font-size-xl);
|
|
2982
|
-
font-weight: 600;
|
|
2983
|
-
color: inherit; /* Inherit from surface variant */
|
|
2984
3040
|
margin: 0;
|
|
3041
|
+
min-width: 0;
|
|
3042
|
+
word-wrap: break-word;
|
|
2985
3043
|
}
|
|
2986
3044
|
|
|
2987
|
-
.dndev-card-subtitle {
|
|
2988
|
-
|
|
2989
|
-
|
|
2990
|
-
|
|
3045
|
+
.dndev-surface .dndev-card-subtitle {
|
|
3046
|
+
margin-top: 0;
|
|
3047
|
+
margin-bottom: 0;
|
|
3048
|
+
min-width: 0;
|
|
3049
|
+
word-wrap: break-word;
|
|
3050
|
+
color: color-mix(in oklab, var(--card-foreground) 70%, transparent);
|
|
2991
3051
|
}
|
|
2992
3052
|
|
|
2993
3053
|
/* packages/components/src/atomic/Checkbox/Checkbox.css */
|
|
@@ -3078,6 +3138,203 @@ em {
|
|
|
3078
3138
|
}
|
|
3079
3139
|
}
|
|
3080
3140
|
|
|
3141
|
+
/* packages/components/src/atomic/Collapsible/Collapsible.css */
|
|
3142
|
+
|
|
3143
|
+
.dndev-collapsible {
|
|
3144
|
+
width: 100%;
|
|
3145
|
+
display: flex;
|
|
3146
|
+
flex-direction: column;
|
|
3147
|
+
}
|
|
3148
|
+
|
|
3149
|
+
.dndev-collapsible-content {
|
|
3150
|
+
overflow: hidden;
|
|
3151
|
+
width: 100%;
|
|
3152
|
+
}
|
|
3153
|
+
|
|
3154
|
+
.dndev-collapsible-content[data-state='open'] {
|
|
3155
|
+
animation: slideDown var(--dur-normal) var(--ease-in-out);
|
|
3156
|
+
}
|
|
3157
|
+
|
|
3158
|
+
.dndev-collapsible-content[data-state='closed'] {
|
|
3159
|
+
animation: slideUp var(--dur-normal) var(--ease-in-out);
|
|
3160
|
+
}
|
|
3161
|
+
|
|
3162
|
+
@keyframes slideDown {
|
|
3163
|
+
from {
|
|
3164
|
+
height: 0;
|
|
3165
|
+
}
|
|
3166
|
+
to {
|
|
3167
|
+
height: var(--radix-collapsible-content-height);
|
|
3168
|
+
}
|
|
3169
|
+
}
|
|
3170
|
+
|
|
3171
|
+
@keyframes slideUp {
|
|
3172
|
+
from {
|
|
3173
|
+
height: var(--radix-collapsible-content-height);
|
|
3174
|
+
}
|
|
3175
|
+
to {
|
|
3176
|
+
height: 0;
|
|
3177
|
+
}
|
|
3178
|
+
}
|
|
3179
|
+
|
|
3180
|
+
/* packages/components/src/atomic/Combobox/Combobox.css */
|
|
3181
|
+
|
|
3182
|
+
.dndev-combobox-trigger {
|
|
3183
|
+
display: flex;
|
|
3184
|
+
justify-content: space-between;
|
|
3185
|
+
align-items: center;
|
|
3186
|
+
width: 100%;
|
|
3187
|
+
text-align: left;
|
|
3188
|
+
}
|
|
3189
|
+
|
|
3190
|
+
.dndev-combobox-trigger button {
|
|
3191
|
+
display: flex;
|
|
3192
|
+
justify-content: space-between;
|
|
3193
|
+
align-items: center;
|
|
3194
|
+
width: 100%;
|
|
3195
|
+
}
|
|
3196
|
+
|
|
3197
|
+
.dndev-combobox-placeholder {
|
|
3198
|
+
opacity: var(--opacity-muted);
|
|
3199
|
+
}
|
|
3200
|
+
|
|
3201
|
+
.dndev-combobox-trigger-icons {
|
|
3202
|
+
display: flex;
|
|
3203
|
+
align-items: center;
|
|
3204
|
+
gap: var(--gap-tight);
|
|
3205
|
+
margin-inline-start: auto;
|
|
3206
|
+
}
|
|
3207
|
+
|
|
3208
|
+
.dndev-combobox-clear {
|
|
3209
|
+
display: flex;
|
|
3210
|
+
align-items: center;
|
|
3211
|
+
justify-content: center;
|
|
3212
|
+
cursor: pointer;
|
|
3213
|
+
opacity: var(--opacity-muted);
|
|
3214
|
+
transition: opacity var(--dur-fast) var(--ease-in-out);
|
|
3215
|
+
-webkit-user-select: none;
|
|
3216
|
+
-moz-user-select: none;
|
|
3217
|
+
user-select: none;
|
|
3218
|
+
}
|
|
3219
|
+
|
|
3220
|
+
.dndev-combobox-clear:hover,
|
|
3221
|
+
.dndev-combobox-clear:focus {
|
|
3222
|
+
opacity: 1;
|
|
3223
|
+
outline: none;
|
|
3224
|
+
}
|
|
3225
|
+
|
|
3226
|
+
.dndev-combobox-clear svg {
|
|
3227
|
+
width: var(--icon-sm);
|
|
3228
|
+
height: var(--icon-sm);
|
|
3229
|
+
}
|
|
3230
|
+
|
|
3231
|
+
.dndev-combobox-chevron {
|
|
3232
|
+
width: var(--icon-md);
|
|
3233
|
+
height: var(--icon-md);
|
|
3234
|
+
opacity: var(--opacity-muted);
|
|
3235
|
+
transition: transform var(--dur-fast) var(--ease-in-out);
|
|
3236
|
+
}
|
|
3237
|
+
|
|
3238
|
+
[data-state='open'] .dndev-combobox-chevron {
|
|
3239
|
+
transform: rotate(180deg);
|
|
3240
|
+
}
|
|
3241
|
+
|
|
3242
|
+
.dndev-combobox-loading-container {
|
|
3243
|
+
display: flex;
|
|
3244
|
+
align-items: center;
|
|
3245
|
+
gap: var(--gap-sm);
|
|
3246
|
+
}
|
|
3247
|
+
|
|
3248
|
+
.dndev-combobox-loading-spinner {
|
|
3249
|
+
width: var(--icon-md);
|
|
3250
|
+
height: var(--icon-md);
|
|
3251
|
+
border-radius: var(--radius-full);
|
|
3252
|
+
border: 2px solid currentColor;
|
|
3253
|
+
border-top-color: transparent;
|
|
3254
|
+
}
|
|
3255
|
+
|
|
3256
|
+
.dndev-combobox-content {
|
|
3257
|
+
width: var(--radix-popover-trigger-width);
|
|
3258
|
+
min-width: var(--radix-popover-trigger-width);
|
|
3259
|
+
max-height: 300px;
|
|
3260
|
+
display: flex;
|
|
3261
|
+
flex-direction: column;
|
|
3262
|
+
padding: 0;
|
|
3263
|
+
}
|
|
3264
|
+
|
|
3265
|
+
.dndev-combobox-search-container {
|
|
3266
|
+
padding: var(--gap-sm);
|
|
3267
|
+
border-bottom: var(--border-width) solid var(--line-2);
|
|
3268
|
+
}
|
|
3269
|
+
|
|
3270
|
+
.dndev-combobox-search-input {
|
|
3271
|
+
width: 100%;
|
|
3272
|
+
}
|
|
3273
|
+
|
|
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
|
+
.dndev-combobox-option {
|
|
3283
|
+
all: unset;
|
|
3284
|
+
display: flex;
|
|
3285
|
+
align-items: center;
|
|
3286
|
+
justify-content: space-between;
|
|
3287
|
+
padding: var(--gap-sm) var(--gap-md);
|
|
3288
|
+
cursor: pointer;
|
|
3289
|
+
border-radius: var(--radius-interactive);
|
|
3290
|
+
transition: background-color var(--dur-fast) var(--ease-in-out);
|
|
3291
|
+
}
|
|
3292
|
+
|
|
3293
|
+
.dndev-combobox-option:disabled {
|
|
3294
|
+
opacity: var(--opacity-muted);
|
|
3295
|
+
cursor: not-allowed;
|
|
3296
|
+
}
|
|
3297
|
+
|
|
3298
|
+
.dndev-combobox-option-highlighted:not(:disabled) {
|
|
3299
|
+
background-color: var(--accent);
|
|
3300
|
+
opacity: var(--opacity-strong);
|
|
3301
|
+
}
|
|
3302
|
+
|
|
3303
|
+
.dndev-combobox-option-selected {
|
|
3304
|
+
font-weight: var(--font-weight-medium);
|
|
3305
|
+
}
|
|
3306
|
+
|
|
3307
|
+
.dndev-combobox-option-content {
|
|
3308
|
+
display: flex;
|
|
3309
|
+
flex-direction: column;
|
|
3310
|
+
gap: var(--gap-tight);
|
|
3311
|
+
flex: 1;
|
|
3312
|
+
}
|
|
3313
|
+
|
|
3314
|
+
.dndev-combobox-option-label {
|
|
3315
|
+
font-size: var(--font-size-sm);
|
|
3316
|
+
color: var(--foreground);
|
|
3317
|
+
}
|
|
3318
|
+
|
|
3319
|
+
.dndev-combobox-option-description {
|
|
3320
|
+
font-size: var(--font-size-xs);
|
|
3321
|
+
color: var(--muted-foreground);
|
|
3322
|
+
}
|
|
3323
|
+
|
|
3324
|
+
.dndev-combobox-option-check {
|
|
3325
|
+
width: var(--icon-md);
|
|
3326
|
+
height: var(--icon-md);
|
|
3327
|
+
color: currentColor;
|
|
3328
|
+
flex-shrink: 0;
|
|
3329
|
+
}
|
|
3330
|
+
|
|
3331
|
+
.dndev-combobox-empty {
|
|
3332
|
+
padding: var(--gap-lg) var(--gap-md);
|
|
3333
|
+
text-align: center;
|
|
3334
|
+
font-size: var(--font-size-sm);
|
|
3335
|
+
color: var(--muted-foreground);
|
|
3336
|
+
}
|
|
3337
|
+
|
|
3081
3338
|
/* packages/components/src/atomic/DualCard/DualCard.css */
|
|
3082
3339
|
|
|
3083
3340
|
.dndev-dual-card {
|
|
@@ -3700,9 +3957,35 @@ em {
|
|
|
3700
3957
|
display: grid;
|
|
3701
3958
|
min-width: 0;
|
|
3702
3959
|
width: 100%;
|
|
3960
|
+
/* Default: use mobile columns */
|
|
3961
|
+
grid-template-columns: repeat(var(--grid-cols-mobile, 1), 1fr);
|
|
3962
|
+
}
|
|
3963
|
+
|
|
3964
|
+
/* Responsive columns via media queries */
|
|
3965
|
+
|
|
3966
|
+
/* Tablet: 768px+ */
|
|
3967
|
+
|
|
3968
|
+
@media (min-width: 768px) {
|
|
3969
|
+
.dndev-grid-component {
|
|
3970
|
+
grid-template-columns: repeat(var(--grid-cols-tablet, 1), 1fr);
|
|
3971
|
+
}
|
|
3703
3972
|
}
|
|
3704
3973
|
|
|
3705
|
-
/*
|
|
3974
|
+
/* Laptop: 1024px+ (key layout split) */
|
|
3975
|
+
|
|
3976
|
+
@media (min-width: 1024px) {
|
|
3977
|
+
.dndev-grid-component {
|
|
3978
|
+
grid-template-columns: repeat(var(--grid-cols-laptop, 1), 1fr);
|
|
3979
|
+
}
|
|
3980
|
+
}
|
|
3981
|
+
|
|
3982
|
+
/* Desktop: 1440px+ */
|
|
3983
|
+
|
|
3984
|
+
@media (min-width: 1440px) {
|
|
3985
|
+
.dndev-grid-component {
|
|
3986
|
+
grid-template-columns: repeat(var(--grid-cols-desktop, 1), 1fr);
|
|
3987
|
+
}
|
|
3988
|
+
}
|
|
3706
3989
|
|
|
3707
3990
|
/* Spacing from CSS variables */
|
|
3708
3991
|
|
|
@@ -3847,21 +4130,7 @@ em {
|
|
|
3847
4130
|
}
|
|
3848
4131
|
|
|
3849
4132
|
.dndev-hero-subtitle {
|
|
3850
|
-
font-size: var(--font-size-
|
|
3851
|
-
}
|
|
3852
|
-
|
|
3853
|
-
/* Responsive Content Visibility */
|
|
3854
|
-
|
|
3855
|
-
@media (width < 1024px) {
|
|
3856
|
-
.dndev-hero-section .dndev-desktop-only {
|
|
3857
|
-
display: none !important;
|
|
3858
|
-
}
|
|
3859
|
-
}
|
|
3860
|
-
|
|
3861
|
-
@media (width >= 1024px) {
|
|
3862
|
-
.dndev-hero-section .dndev-mobile-only {
|
|
3863
|
-
display: none !important;
|
|
3864
|
-
}
|
|
4133
|
+
font-size: var(--font-size-lg); /* 20px - muted via component */
|
|
3865
4134
|
}
|
|
3866
4135
|
|
|
3867
4136
|
/* packages/components/src/atomic/HoverCard/HoverCard.css */
|
|
@@ -4174,10 +4443,11 @@ em {
|
|
|
4174
4443
|
.dndev-list {
|
|
4175
4444
|
display: flex;
|
|
4176
4445
|
flex-direction: column;
|
|
4177
|
-
gap: var(--gap-
|
|
4446
|
+
gap: var(--gap-sm);
|
|
4178
4447
|
padding-inline-start: 0; /* Controllable via parent/style prop */
|
|
4448
|
+
margin: 0;
|
|
4179
4449
|
list-style-position: outside;
|
|
4180
|
-
|
|
4450
|
+
text-align: start; /* Always start-aligned, even when parent is centered */
|
|
4181
4451
|
}
|
|
4182
4452
|
|
|
4183
4453
|
.dndev-list[data-gap='none'] {
|
|
@@ -4232,29 +4502,18 @@ em {
|
|
|
4232
4502
|
font-size: var(--font-size-base);
|
|
4233
4503
|
}
|
|
4234
4504
|
|
|
4235
|
-
/*
|
|
4505
|
+
/* Always use flex layout for consistent alignment */
|
|
4236
4506
|
|
|
4237
4507
|
.dndev-list .dndev-list-item {
|
|
4238
4508
|
font-size: var(--font-size-sm);
|
|
4239
|
-
|
|
4240
|
-
|
|
4241
|
-
|
|
4509
|
+
display: flex;
|
|
4510
|
+
align-items: flex-start;
|
|
4511
|
+
gap: var(--gap-sm);
|
|
4512
|
+
list-style: none; /* Remove native marker */
|
|
4513
|
+
margin-block: 0;
|
|
4514
|
+
padding-inline-start: 0;
|
|
4242
4515
|
}
|
|
4243
4516
|
|
|
4244
|
-
:is(.dndev-list .dndev-list-item)::marker {
|
|
4245
|
-
color: currentColor;
|
|
4246
|
-
}
|
|
4247
|
-
|
|
4248
|
-
/* Only use flex when icon is present */
|
|
4249
|
-
|
|
4250
|
-
:is(.dndev-list .dndev-list-item):has(.dndev-list-item-icon) {
|
|
4251
|
-
display: flex;
|
|
4252
|
-
align-items: center; /* Center vertically */
|
|
4253
|
-
gap: var(--gap-sm);
|
|
4254
|
-
list-style: none; /* Remove native marker when using icon */
|
|
4255
|
-
padding-inline-start: 0; /* Reset padding when flex */
|
|
4256
|
-
}
|
|
4257
|
-
|
|
4258
4517
|
:is(.dndev-list .dndev-list-item) .dndev-list-item-icon {
|
|
4259
4518
|
display: flex;
|
|
4260
4519
|
align-items: center;
|
|
@@ -4609,23 +4868,43 @@ em {
|
|
|
4609
4868
|
margin-inline: auto; /* Self-center in parent */
|
|
4610
4869
|
}
|
|
4611
4870
|
|
|
4612
|
-
.dndev-radio-group[data-cols='2'] {
|
|
4871
|
+
.dndev-radio-group[data-cols='2'] {
|
|
4872
|
+
grid-template-columns: repeat(2, auto);
|
|
4873
|
+
}
|
|
4613
4874
|
|
|
4614
|
-
.dndev-radio-group[data-cols='3'] {
|
|
4875
|
+
.dndev-radio-group[data-cols='3'] {
|
|
4876
|
+
grid-template-columns: repeat(3, auto);
|
|
4877
|
+
}
|
|
4615
4878
|
|
|
4616
|
-
.dndev-radio-group[data-cols='4'] {
|
|
4879
|
+
.dndev-radio-group[data-cols='4'] {
|
|
4880
|
+
grid-template-columns: repeat(4, auto);
|
|
4881
|
+
}
|
|
4617
4882
|
|
|
4618
|
-
.dndev-radio-group[data-cols='5'] {
|
|
4883
|
+
.dndev-radio-group[data-cols='5'] {
|
|
4884
|
+
grid-template-columns: repeat(5, auto);
|
|
4885
|
+
}
|
|
4619
4886
|
|
|
4620
|
-
.dndev-radio-group[data-cols='6'] {
|
|
4887
|
+
.dndev-radio-group[data-cols='6'] {
|
|
4888
|
+
grid-template-columns: repeat(6, auto);
|
|
4889
|
+
}
|
|
4621
4890
|
|
|
4622
|
-
.dndev-radio-group[data-cols='10'] {
|
|
4891
|
+
.dndev-radio-group[data-cols='10'] {
|
|
4892
|
+
grid-template-columns: repeat(10, auto);
|
|
4893
|
+
}
|
|
4623
4894
|
|
|
4624
|
-
.dndev-radio-group[data-cols='12'] {
|
|
4895
|
+
.dndev-radio-group[data-cols='12'] {
|
|
4896
|
+
grid-template-columns: repeat(12, auto);
|
|
4897
|
+
}
|
|
4625
4898
|
|
|
4626
|
-
.dndev-radio-group[data-cols='auto-fit'] {
|
|
4899
|
+
.dndev-radio-group[data-cols='auto-fit'] {
|
|
4900
|
+
grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
|
|
4901
|
+
width: 100%;
|
|
4902
|
+
}
|
|
4627
4903
|
|
|
4628
|
-
.dndev-radio-group[data-cols='auto-fill'] {
|
|
4904
|
+
.dndev-radio-group[data-cols='auto-fill'] {
|
|
4905
|
+
grid-template-columns: repeat(auto-fill, minmax(8rem, 1fr));
|
|
4906
|
+
width: 100%;
|
|
4907
|
+
}
|
|
4629
4908
|
|
|
4630
4909
|
/* Variant colors for checked labels - override base pattern */
|
|
4631
4910
|
|
|
@@ -4895,36 +5174,26 @@ em {
|
|
|
4895
5174
|
}
|
|
4896
5175
|
}
|
|
4897
5176
|
|
|
4898
|
-
/* Section title:
|
|
5177
|
+
/* Section title: uppercase, accent color, letter spacing */
|
|
4899
5178
|
|
|
4900
5179
|
.dndev-section-title {
|
|
4901
|
-
display: block;
|
|
4902
|
-
font-size: var(--font-size-lg);
|
|
4903
|
-
font-weight: var(--font-weight-semibold);
|
|
4904
5180
|
text-transform: uppercase;
|
|
4905
5181
|
letter-spacing: 0.2em;
|
|
4906
|
-
color: var(--accent);
|
|
4907
|
-
margin-
|
|
5182
|
+
color: var(--accent) !important;
|
|
5183
|
+
margin-block-end: var(--gap-md);
|
|
4908
5184
|
}
|
|
4909
5185
|
|
|
4910
|
-
|
|
4911
|
-
|
|
4912
|
-
.dndev-section-grid {
|
|
4913
|
-
display: grid;
|
|
4914
|
-
gap: var(--gap-md);
|
|
5186
|
+
.dndev-section-full-width[data-text-align='start'] .dndev-section-title {
|
|
5187
|
+
text-align: start;
|
|
4915
5188
|
}
|
|
4916
5189
|
|
|
4917
|
-
.dndev-section-full-width[data-text-align='
|
|
4918
|
-
|
|
4919
|
-
|
|
4920
|
-
|
|
4921
|
-
.dndev-section-full-width[data-text-align='center'] .dndev-section-content {
|
|
4922
|
-
text-align: center;
|
|
4923
|
-
}
|
|
5190
|
+
.dndev-section-full-width[data-text-align='center'] .dndev-section-title {
|
|
5191
|
+
text-align: center;
|
|
5192
|
+
}
|
|
4924
5193
|
|
|
4925
|
-
.dndev-section-full-width[data-text-align='end'] .dndev-section-
|
|
4926
|
-
|
|
4927
|
-
|
|
5194
|
+
.dndev-section-full-width[data-text-align='end'] .dndev-section-title {
|
|
5195
|
+
text-align: end;
|
|
5196
|
+
}
|
|
4928
5197
|
|
|
4929
5198
|
/* packages/components/src/atomic/Separator/Separator.css */
|
|
4930
5199
|
|
|
@@ -6077,6 +6346,123 @@ em {
|
|
|
6077
6346
|
display: none;
|
|
6078
6347
|
}
|
|
6079
6348
|
|
|
6349
|
+
/* packages/components/src/atomic/Tag/Tag.css */
|
|
6350
|
+
|
|
6351
|
+
.dndev-tag {
|
|
6352
|
+
display: inline-flex;
|
|
6353
|
+
align-items: center;
|
|
6354
|
+
gap: var(--gap-xs);
|
|
6355
|
+
border-radius: var(--radius-full);
|
|
6356
|
+
border: 1px solid transparent;
|
|
6357
|
+
font-size: var(--font-size-sm);
|
|
6358
|
+
font-weight: 500;
|
|
6359
|
+
line-height: 1;
|
|
6360
|
+
white-space: nowrap;
|
|
6361
|
+
transition: all var(--dur-fast) var(--ease-in-out);
|
|
6362
|
+
|
|
6363
|
+
/* Default variant */
|
|
6364
|
+
background-color: var(--secondary);
|
|
6365
|
+
color: var(--secondary-foreground);
|
|
6366
|
+
}
|
|
6367
|
+
|
|
6368
|
+
.dndev-tag .dndev-tag-remove {
|
|
6369
|
+
display: inline-flex;
|
|
6370
|
+
align-items: center;
|
|
6371
|
+
justify-content: center;
|
|
6372
|
+
padding: 0;
|
|
6373
|
+
margin-left: 2px;
|
|
6374
|
+
background: transparent;
|
|
6375
|
+
border: none;
|
|
6376
|
+
cursor: pointer;
|
|
6377
|
+
color: inherit;
|
|
6378
|
+
opacity: 0.7;
|
|
6379
|
+
border-radius: 50%;
|
|
6380
|
+
width: 14px;
|
|
6381
|
+
height: 14px;
|
|
6382
|
+
transition: opacity var(--dur-fast);
|
|
6383
|
+
}
|
|
6384
|
+
|
|
6385
|
+
:is(.dndev-tag .dndev-tag-remove):hover {
|
|
6386
|
+
opacity: 1;
|
|
6387
|
+
background-color: rgba(0, 0, 0, 0.1);
|
|
6388
|
+
}
|
|
6389
|
+
|
|
6390
|
+
:is(.dndev-tag .dndev-tag-remove):focus-visible {
|
|
6391
|
+
outline: 2px solid var(--ring);
|
|
6392
|
+
}
|
|
6393
|
+
|
|
6394
|
+
.dndev-tag .dndev-tag-remove-icon {
|
|
6395
|
+
width: 10px;
|
|
6396
|
+
height: 10px;
|
|
6397
|
+
}
|
|
6398
|
+
|
|
6399
|
+
/* Sizes */
|
|
6400
|
+
|
|
6401
|
+
.dndev-tag-sm {
|
|
6402
|
+
padding: 0.125rem 0.5rem;
|
|
6403
|
+
font-size: var(--font-size-xs);
|
|
6404
|
+
height: 20px;
|
|
6405
|
+
}
|
|
6406
|
+
|
|
6407
|
+
.dndev-tag-md {
|
|
6408
|
+
padding: 0.25rem 0.75rem;
|
|
6409
|
+
font-size: var(--font-size-sm);
|
|
6410
|
+
height: 24px;
|
|
6411
|
+
}
|
|
6412
|
+
|
|
6413
|
+
.dndev-tag-lg {
|
|
6414
|
+
padding: 0.375rem 0.875rem;
|
|
6415
|
+
font-size: var(--font-size-base);
|
|
6416
|
+
height: 32px;
|
|
6417
|
+
}
|
|
6418
|
+
|
|
6419
|
+
/* Variants */
|
|
6420
|
+
|
|
6421
|
+
.dndev-tag-outline {
|
|
6422
|
+
background-color: transparent;
|
|
6423
|
+
border-color: var(--border);
|
|
6424
|
+
color: var(--foreground);
|
|
6425
|
+
}
|
|
6426
|
+
|
|
6427
|
+
.dndev-tag-accent {
|
|
6428
|
+
background-color: var(--accent);
|
|
6429
|
+
color: var(--accent-foreground);
|
|
6430
|
+
border-color: transparent;
|
|
6431
|
+
}
|
|
6432
|
+
|
|
6433
|
+
/* Interactive States */
|
|
6434
|
+
|
|
6435
|
+
.dndev-tag-interactive {
|
|
6436
|
+
cursor: pointer;
|
|
6437
|
+
-webkit-user-select: none;
|
|
6438
|
+
-moz-user-select: none;
|
|
6439
|
+
user-select: none;
|
|
6440
|
+
}
|
|
6441
|
+
|
|
6442
|
+
.dndev-tag-interactive:hover {
|
|
6443
|
+
opacity: 0.8;
|
|
6444
|
+
}
|
|
6445
|
+
|
|
6446
|
+
.dndev-tag-interactive:focus-visible {
|
|
6447
|
+
outline: 2px solid var(--ring);
|
|
6448
|
+
outline-offset: 2px;
|
|
6449
|
+
}
|
|
6450
|
+
|
|
6451
|
+
.dndev-tag-disabled {
|
|
6452
|
+
pointer-events: none;
|
|
6453
|
+
opacity: 0.5;
|
|
6454
|
+
}
|
|
6455
|
+
|
|
6456
|
+
.dndev-tag-sm .dndev-tag-remove-icon {
|
|
6457
|
+
width: 8px;
|
|
6458
|
+
height: 8px;
|
|
6459
|
+
}
|
|
6460
|
+
|
|
6461
|
+
.dndev-tag-lg .dndev-tag-remove-icon {
|
|
6462
|
+
width: 12px;
|
|
6463
|
+
height: 12px;
|
|
6464
|
+
}
|
|
6465
|
+
|
|
6080
6466
|
/* packages/components/src/atomic/Text/Text.css */
|
|
6081
6467
|
|
|
6082
6468
|
.dndev-text-base[data-text-align='start'] {
|
|
@@ -6092,13 +6478,13 @@ em {
|
|
|
6092
6478
|
}
|
|
6093
6479
|
|
|
6094
6480
|
.dndev-text-base {
|
|
6095
|
-
font-weight:
|
|
6481
|
+
font-weight: var(--font-weight-medium);
|
|
6096
6482
|
line-height: var(--line-height);
|
|
6097
6483
|
background-color: transparent; /* Text never has background, only color changes */
|
|
6098
6484
|
}
|
|
6099
6485
|
|
|
6100
6486
|
.dndev-text-base[data-variant='default'] {
|
|
6101
|
-
color:
|
|
6487
|
+
color: inherit;
|
|
6102
6488
|
}
|
|
6103
6489
|
|
|
6104
6490
|
.dndev-text-base[data-variant='muted'] {
|
|
@@ -6129,28 +6515,35 @@ em {
|
|
|
6129
6515
|
color: var(--destructive);
|
|
6130
6516
|
}
|
|
6131
6517
|
|
|
6518
|
+
.dndev-text-base[data-variant='code'] {
|
|
6519
|
+
font-family: var(--font-mono);
|
|
6520
|
+
font-size: 0.9em;
|
|
6521
|
+
background: var(--muted);
|
|
6522
|
+
padding: 0.1em 0.4em;
|
|
6523
|
+
border-radius: var(--radius-interactive);
|
|
6524
|
+
}
|
|
6525
|
+
|
|
6132
6526
|
/* Level overrides */
|
|
6133
6527
|
|
|
6134
6528
|
.dndev-text-base[data-level='h1'] {
|
|
6135
6529
|
font-size: var(--font-size-3xl);
|
|
6136
|
-
font-weight:
|
|
6530
|
+
font-weight: var(--font-weight-bold);
|
|
6137
6531
|
letter-spacing: -0.02em;
|
|
6138
6532
|
}
|
|
6139
6533
|
|
|
6140
6534
|
.dndev-text-base[data-level='h2'] {
|
|
6141
|
-
font-size: var(--font-size-
|
|
6142
|
-
font-weight:
|
|
6143
|
-
letter-spacing: -0.01em;
|
|
6535
|
+
font-size: var(--font-size-lg);
|
|
6536
|
+
font-weight: var(--font-weight-semibold);
|
|
6144
6537
|
}
|
|
6145
6538
|
|
|
6146
6539
|
.dndev-text-base[data-level='h3'] {
|
|
6147
|
-
font-size: var(--font-size-
|
|
6148
|
-
font-weight:
|
|
6540
|
+
font-size: var(--font-size-lg);
|
|
6541
|
+
font-weight: var(--font-weight-semibold);
|
|
6149
6542
|
}
|
|
6150
6543
|
|
|
6151
6544
|
.dndev-text-base[data-level='h4'] {
|
|
6152
|
-
font-size: var(--font-size-
|
|
6153
|
-
font-weight:
|
|
6545
|
+
font-size: var(--font-size-base);
|
|
6546
|
+
font-weight: var(--font-weight-medium);
|
|
6154
6547
|
}
|
|
6155
6548
|
|
|
6156
6549
|
.dndev-text-base[data-level='body'] {
|
|
@@ -6514,6 +6907,14 @@ em {
|
|
|
6514
6907
|
display: block;
|
|
6515
6908
|
}
|
|
6516
6909
|
|
|
6910
|
+
/* SVG placeholder - zero bytes, instant render */
|
|
6911
|
+
|
|
6912
|
+
.dndev-video-placeholder {
|
|
6913
|
+
width: 100%;
|
|
6914
|
+
height: 100%;
|
|
6915
|
+
display: block;
|
|
6916
|
+
}
|
|
6917
|
+
|
|
6517
6918
|
/* Play button overlay */
|
|
6518
6919
|
|
|
6519
6920
|
.dndev-video-play-overlay {
|
|
@@ -7434,6 +7835,40 @@ h4[data-variant='code'] {
|
|
|
7434
7835
|
border: 0;
|
|
7435
7836
|
}
|
|
7436
7837
|
|
|
7838
|
+
/* ===========================
|
|
7839
|
+
PROSE - SEMANTIC TYPOGRAPHY FOR CONTENT PAGES
|
|
7840
|
+
Wrap docs/markdown/article content in .prose for semantic margins
|
|
7841
|
+
Components are unaffected - they own their own spacing
|
|
7842
|
+
=========================== */
|
|
7843
|
+
|
|
7844
|
+
.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6 {
|
|
7845
|
+
margin-block: var(--gap-md);
|
|
7846
|
+
}
|
|
7847
|
+
|
|
7848
|
+
.prose p {
|
|
7849
|
+
margin-block: var(--gap-md);
|
|
7850
|
+
}
|
|
7851
|
+
|
|
7852
|
+
.prose ul,.prose ol {
|
|
7853
|
+
padding-inline-start: var(--gap-lg);
|
|
7854
|
+
margin-block: var(--gap-md);
|
|
7855
|
+
}
|
|
7856
|
+
|
|
7857
|
+
.prose li {
|
|
7858
|
+
margin-block: var(--gap-sm);
|
|
7859
|
+
padding-inline-start: var(--gap-sm);
|
|
7860
|
+
}
|
|
7861
|
+
|
|
7862
|
+
/* First/last child: remove top/bottom margin for clean container edges */
|
|
7863
|
+
|
|
7864
|
+
.prose > :first-child {
|
|
7865
|
+
margin-block-start: 0;
|
|
7866
|
+
}
|
|
7867
|
+
|
|
7868
|
+
.prose > :last-child {
|
|
7869
|
+
margin-block-end: 0;
|
|
7870
|
+
}
|
|
7871
|
+
|
|
7437
7872
|
/* ===========================
|
|
7438
7873
|
SHADOW CONTROL (Universal)
|
|
7439
7874
|
Works with any element
|
|
@@ -7871,18 +8306,20 @@ main[role='main'][data-routing-animation='none'] {
|
|
|
7871
8306
|
display: grid;
|
|
7872
8307
|
/* ONE DRY grid structure: 3 rows, 2 columns */
|
|
7873
8308
|
/* Footer starts at sidebar edge (column 2) - when sidebar-width is 0px, footer starts at left edge */
|
|
8309
|
+
/* Footer grows with content wrapping. For pixel-perfect calc() accuracy when footer wraps,
|
|
8310
|
+
implement ResizeObserver to update --footer-height dynamically. */
|
|
7874
8311
|
grid-template-areas:
|
|
7875
8312
|
'header header'
|
|
7876
8313
|
'sidebar main'
|
|
7877
8314
|
'footer footer';
|
|
7878
|
-
grid-template-rows: var(--header-height) 1fr var(--footer-height);
|
|
8315
|
+
grid-template-rows: var(--header-height) 1fr minmax(var(--footer-height), auto);
|
|
7879
8316
|
grid-template-columns: var(--sidebar-width) 1fr;
|
|
7880
8317
|
|
|
7881
8318
|
/* Game layout: Grid rows adjust based on breakpoint (footer hidden on tablet/mobile) */
|
|
7882
8319
|
}
|
|
7883
8320
|
|
|
7884
8321
|
[data-layout='game']:root .dndev-layout {
|
|
7885
|
-
grid-template-rows: var(--header-height) 1fr var(--footer-height);
|
|
8322
|
+
grid-template-rows: var(--header-height) 1fr minmax(var(--footer-height), auto);
|
|
7886
8323
|
}
|
|
7887
8324
|
|
|
7888
8325
|
/* ===========================
|
|
@@ -8234,7 +8671,7 @@ footer[role='contentinfo'] {
|
|
|
8234
8671
|
grid-area: footer;
|
|
8235
8672
|
box-sizing: border-box;
|
|
8236
8673
|
grid-column: 1 / -1;
|
|
8237
|
-
height: var(--footer-height);
|
|
8674
|
+
min-height: var(--footer-height);
|
|
8238
8675
|
z-index: var(--z-footer);
|
|
8239
8676
|
|
|
8240
8677
|
/* Theme-aware styling - 100% controlled by theme system */
|