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