@donotdev/ui 0.0.13 → 0.0.14
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 +19 -20
- package/dist/components/common/FeatureCard.d.ts +3 -1
- package/dist/components/common/FeatureCard.d.ts.map +1 -1
- package/dist/components/common/FeatureCard.js +2 -2
- package/dist/components/common/ProgressBar.js +2 -2
- package/dist/components/common/TechBento.d.ts +14 -2
- package/dist/components/common/TechBento.d.ts.map +1 -1
- package/dist/components/common/TechBento.js +8 -9
- package/dist/components/cookie-consent/CookieConsent.d.ts.map +1 -1
- package/dist/components/cookie-consent/CookieConsent.js +3 -4
- package/dist/components/layout/components/DropdownNavigation.d.ts.map +1 -1
- package/dist/components/layout/components/DropdownNavigation.js +3 -12
- package/dist/components/layout/components/FloatingLanguageSwitcher.js +1 -1
- package/dist/components/layout/components/Notifications.d.ts +1 -3
- package/dist/components/layout/components/Notifications.d.ts.map +1 -1
- package/dist/components/layout/components/Notifications.js +4 -2
- package/dist/components/layout/components/header/AppBranding.d.ts.map +1 -1
- package/dist/components/layout/components/header/AppBranding.js +2 -1
- package/dist/components/layout/components/header/AppIcon.d.ts.map +1 -1
- package/dist/components/layout/components/header/AppIcon.js +5 -2
- package/dist/components/layout/components/header/CacheSettings.d.ts.map +1 -1
- package/dist/components/layout/components/header/CacheSettings.js +3 -1
- package/dist/components/layout/components/header/HeaderNavigation.d.ts +6 -0
- package/dist/components/layout/components/header/HeaderNavigation.d.ts.map +1 -1
- package/dist/components/layout/components/header/HeaderNavigation.js +12 -2
- package/dist/components/license/LicenseWatermark.d.ts.map +1 -1
- package/dist/components/license/LicenseWatermark.js +3 -1
- package/dist/crud/components/CrudCardLink.d.ts +17 -0
- package/dist/crud/components/CrudCardLink.d.ts.map +1 -0
- package/dist/crud/components/CrudCardLink.js +17 -0
- package/dist/crud/components/EntityCardList.d.ts.map +1 -1
- package/dist/crud/components/EntityCardList.js +24 -79
- package/dist/crud/components/EntityDisplayRenderer.d.ts +1 -1
- package/dist/crud/components/EntityDisplayRenderer.d.ts.map +1 -1
- package/dist/crud/components/EntityDisplayRenderer.js +6 -2
- package/dist/crud/components/EntityFormRenderer.d.ts +1 -1
- package/dist/crud/components/EntityFormRenderer.d.ts.map +1 -1
- package/dist/crud/components/EntityFormRenderer.js +29 -18
- package/dist/crud/components/EntityList.d.ts +1 -1
- package/dist/crud/components/EntityList.d.ts.map +1 -1
- package/dist/crud/components/EntityList.js +1 -1
- package/dist/crud/components/EntityRecommendations.d.ts +28 -0
- package/dist/crud/components/EntityRecommendations.d.ts.map +1 -0
- package/dist/crud/components/EntityRecommendations.js +31 -0
- package/dist/crud/components/index.d.ts +2 -1
- package/dist/crud/components/index.d.ts.map +1 -1
- package/dist/crud/components/index.js +1 -0
- package/dist/index.js +4 -4
- package/dist/internal/common/RouteErrorFallback.d.ts.map +1 -1
- package/dist/internal/devtools/components/AuthDebugButton.js +1 -1
- package/dist/internal/devtools/components/DesignTab.d.ts.map +1 -1
- package/dist/internal/devtools/components/DesignTab.js +3 -2
- package/dist/internal/devtools/components/LayoutReset.d.ts.map +1 -1
- package/dist/internal/devtools/components/LayoutReset.js +2 -0
- package/dist/internal/devtools/components/StoresTab.d.ts.map +1 -1
- package/dist/internal/devtools/components/StoresTab.js +3 -0
- package/dist/internal/devtools/utils/envVarDiscovery.d.ts +1 -0
- package/dist/internal/devtools/utils/envVarDiscovery.d.ts.map +1 -1
- package/dist/internal/devtools/utils/envVarDiscovery.js +5 -0
- package/dist/internal/devtools/utils/virtualModuleInspector.d.ts.map +1 -1
- package/dist/internal/devtools/utils/virtualModuleInspector.js +27 -21
- package/dist/internal/initializers/BaseStoresInitializer.d.ts.map +1 -1
- package/dist/internal/initializers/BaseStoresInitializer.js +30 -6
- package/dist/internal/layout/components/AutoMetaTags.d.ts.map +1 -1
- package/dist/internal/layout/components/AutoMetaTags.js +10 -8
- package/dist/internal/layout/components/FontPreloadLinks.d.ts +16 -0
- package/dist/internal/layout/components/FontPreloadLinks.d.ts.map +1 -0
- package/dist/internal/layout/components/FontPreloadLinks.js +32 -0
- package/dist/internal/layout/components/PerformanceHints.d.ts +7 -12
- package/dist/internal/layout/components/PerformanceHints.d.ts.map +1 -1
- package/dist/internal/layout/components/PerformanceHints.js +8 -12
- package/dist/internal/layout/components/footer/useLegalLinks.d.ts +6 -5
- package/dist/internal/layout/components/footer/useLegalLinks.d.ts.map +1 -1
- package/dist/internal/layout/components/footer/useLegalLinks.js +6 -2
- package/dist/internal/layout/zones/DnDevFooter.d.ts +6 -0
- package/dist/internal/layout/zones/DnDevFooter.d.ts.map +1 -1
- package/dist/internal/layout/zones/DnDevFooter.js +10 -4
- package/dist/internal/layout/zones/DnDevHeader.d.ts +7 -0
- package/dist/internal/layout/zones/DnDevHeader.d.ts.map +1 -1
- package/dist/internal/layout/zones/DnDevHeader.js +7 -0
- package/dist/internal/layout/zones/DnDevMergedBar.d.ts +7 -0
- package/dist/internal/layout/zones/DnDevMergedBar.d.ts.map +1 -1
- package/dist/internal/layout/zones/DnDevMergedBar.js +9 -0
- package/dist/internal/layout/zones/DnDevSidebar.d.ts +4 -0
- package/dist/internal/layout/zones/DnDevSidebar.d.ts.map +1 -1
- package/dist/internal/layout/zones/DnDevSidebar.js +13 -1
- package/dist/next.d.ts +1 -0
- package/dist/next.d.ts.map +1 -1
- package/dist/next.js +1 -0
- package/dist/routing/AuthGuard.d.ts +1 -1
- package/dist/routing/AuthGuard.d.ts.map +1 -1
- package/dist/routing/AuthGuard.js +3 -1
- package/dist/routing/GoTo.d.ts.map +1 -1
- package/dist/routing/GoTo.js +3 -1
- package/dist/routing/GoToDialog.d.ts.map +1 -1
- package/dist/routing/GoToDialog.js +2 -7
- package/dist/routing/GoToInput.d.ts +0 -3
- package/dist/routing/GoToInput.d.ts.map +1 -1
- package/dist/routing/GoToInput.js +4 -2
- package/dist/routing/Link.js +1 -1
- package/dist/routing/NavigationItem.d.ts +29 -7
- package/dist/routing/NavigationItem.d.ts.map +1 -1
- package/dist/routing/NavigationItem.js +22 -6
- package/dist/routing/hooks/hooks.next.js +1 -1
- package/dist/routing/hooks/hooks.vite.js +1 -1
- package/dist/routing/hooks/useRedirectGuard.next.d.ts.map +1 -1
- package/dist/routing/hooks/useRedirectGuard.next.js +9 -8
- package/dist/routing/hooks/useRedirectGuard.vite.d.ts.map +1 -1
- package/dist/routing/hooks/useRedirectGuard.vite.js +9 -8
- package/dist/routing/hooks/useSearchParams.next.d.ts +18 -1
- package/dist/routing/hooks/useSearchParams.next.d.ts.map +1 -1
- package/dist/routing/hooks/useSearchParams.next.js +16 -0
- package/dist/routing/hooks/useSearchParams.vite.d.ts +16 -0
- package/dist/routing/hooks/useSearchParams.vite.d.ts.map +1 -1
- package/dist/routing/hooks/useSearchParams.vite.js +17 -1
- package/dist/routing/index.d.ts.map +1 -1
- package/dist/routing/index.js +2 -0
- package/dist/routing/useNavigation.d.ts +30 -0
- package/dist/routing/useNavigation.d.ts.map +1 -1
- package/dist/routing/useNavigation.js +40 -3
- package/dist/routing/useRouteDiscovery.d.ts +2 -2
- package/dist/routing/useRouteDiscovery.d.ts.map +1 -1
- package/dist/routing/useRouteDiscovery.js +10 -4
- package/dist/styles/index.css +268 -82
- 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/sanitizeSvg.d.ts +13 -0
- package/dist/utils/sanitizeSvg.d.ts.map +1 -0
- package/dist/utils/sanitizeSvg.js +47 -0
- package/dist/utils/useBillingVisibility.d.ts.map +1 -1
- package/dist/utils/useBillingVisibility.js +0 -7
- package/dist/utils/useCrudSafe.d.ts +0 -2
- package/dist/utils/useCrudSafe.d.ts.map +1 -1
- package/dist/utils/useFormStoreSafe.d.ts +3 -1
- package/dist/utils/useFormStoreSafe.d.ts.map +1 -1
- package/dist/utils/useFormStoreSafe.js +4 -5
- package/dist/vite-routing/AppRoutes.d.ts +19 -8
- package/dist/vite-routing/AppRoutes.d.ts.map +1 -1
- package/dist/vite-routing/AppRoutes.js +0 -3
- package/package.json +15 -11
- package/assets/fonts/fonts.css +0 -206
- package/dist/dndev.css +0 -10733
- package/dist/routing/Navigate.d.ts +0 -10
- package/dist/routing/Navigate.d.ts.map +0 -1
- package/dist/routing/Navigate.js +0 -10
package/dist/styles/index.css
CHANGED
|
@@ -121,6 +121,15 @@
|
|
|
121
121
|
--popover: var(--card);
|
|
122
122
|
--popover-foreground: var(--card-foreground);
|
|
123
123
|
|
|
124
|
+
/*
|
|
125
|
+
* Root card snapshot — computed once on :root from --card/--card-foreground,
|
|
126
|
+
* then inherited unchanged. Variant blocks (e.g. primary) override --card but
|
|
127
|
+
* never touch these, so data-variant='default' can reset --card back to the
|
|
128
|
+
* root value even when nested inside another variant.
|
|
129
|
+
*/
|
|
130
|
+
--card-base: var(--card);
|
|
131
|
+
--card-foreground-base: var(--card-foreground);
|
|
132
|
+
|
|
124
133
|
/* ===========================
|
|
125
134
|
BORDER RADIUS - 3 VALUES ONLY
|
|
126
135
|
=========================== */
|
|
@@ -216,6 +225,16 @@
|
|
|
216
225
|
-6px 12px 24px -6px var(--shadow-color),
|
|
217
226
|
-3px 6px 12px -3px var(--shadow-color-light);
|
|
218
227
|
|
|
228
|
+
/* Root shadow snapshots — same principle as --card-base (see above) */
|
|
229
|
+
--shadow-md-base: var(--shadow-md);
|
|
230
|
+
--shadow-xl-base: var(--shadow-xl);
|
|
231
|
+
|
|
232
|
+
/* Per-variant shadows — essences override these with different colors/shapes */
|
|
233
|
+
--shadow-primary: var(--shadow-md);
|
|
234
|
+
--shadow-primary-xl: var(--shadow-xl);
|
|
235
|
+
--shadow-secondary: var(--shadow-md);
|
|
236
|
+
--shadow-secondary-xl: var(--shadow-xl);
|
|
237
|
+
|
|
219
238
|
/* Interactive shadows */
|
|
220
239
|
--shadow-interactive: 0 0 0 3px
|
|
221
240
|
color-mix(in oklab, var(--ring) 20%, transparent);
|
|
@@ -519,7 +538,6 @@ body {
|
|
|
519
538
|
/* Reset and base styles */
|
|
520
539
|
|
|
521
540
|
:root {
|
|
522
|
-
font-family: var(--font-sans);
|
|
523
541
|
-webkit-font-smoothing: antialiased;
|
|
524
542
|
-moz-osx-font-smoothing: grayscale;
|
|
525
543
|
text-rendering: optimizeLegibility;
|
|
@@ -533,9 +551,10 @@ body {
|
|
|
533
551
|
box-sizing: border-box;
|
|
534
552
|
}
|
|
535
553
|
|
|
536
|
-
/* Set core body defaults */
|
|
554
|
+
/* Set core body defaults — font-family here so theme tokens on :root cascade cleanly */
|
|
537
555
|
|
|
538
556
|
body {
|
|
557
|
+
font-family: var(--font-family, var(--font-sans));
|
|
539
558
|
min-height: 100dvh;
|
|
540
559
|
line-height: var(--line-height);
|
|
541
560
|
text-rendering: optimizeSpeed;
|
|
@@ -610,17 +629,21 @@ h6 {
|
|
|
610
629
|
color: var(--foreground);
|
|
611
630
|
background: transparent;
|
|
612
631
|
text-wrap: balance; /* Equalize line lengths, prevent orphans */
|
|
632
|
+
text-transform: var(--text-transform-heading, none);
|
|
633
|
+
letter-spacing: var(--letter-spacing-heading, normal);
|
|
613
634
|
}
|
|
614
635
|
|
|
615
|
-
h1 {
|
|
636
|
+
:is(h1, h2, h3, h4, h5, h6) {
|
|
616
637
|
font-family: var(--font-headline);
|
|
638
|
+
}
|
|
639
|
+
|
|
640
|
+
h1 {
|
|
617
641
|
font-size: var(--font-size-3xl);
|
|
618
642
|
font-weight: var(--font-weight-bold);
|
|
619
643
|
letter-spacing: -0.02em;
|
|
620
644
|
}
|
|
621
645
|
|
|
622
646
|
h2 {
|
|
623
|
-
font-family: var(--font-headline);
|
|
624
647
|
font-size: var(--font-size-2xl);
|
|
625
648
|
font-weight: var(--font-weight-bold);
|
|
626
649
|
letter-spacing: -0.01em;
|
|
@@ -1051,10 +1074,20 @@ em {
|
|
|
1051
1074
|
* - accent: Highlighted/active state (--accent colors, sets context for children)
|
|
1052
1075
|
* - destructive: Error/danger state (--destructive colors)
|
|
1053
1076
|
*
|
|
1054
|
-
* Variants
|
|
1077
|
+
* Variants override --card and --card-foreground.
|
|
1078
|
+
* Primary/secondary also override --shadow-md/--shadow-xl for per-variant shadows.
|
|
1079
|
+
* Default resets --card from --card-base (root snapshot) so nested default cards
|
|
1080
|
+
* inside other variants get the root card color, not the parent's.
|
|
1055
1081
|
* Surface glow gradient is computed from --theme-is-dark flag and not affected by variants.
|
|
1056
1082
|
*/
|
|
1057
1083
|
|
|
1084
|
+
.dndev-surface[data-variant='default'] {
|
|
1085
|
+
--card: var(--card-base);
|
|
1086
|
+
--card-foreground: var(--card-foreground-base);
|
|
1087
|
+
--shadow-md: var(--shadow-md-base);
|
|
1088
|
+
--shadow-xl: var(--shadow-xl-base);
|
|
1089
|
+
}
|
|
1090
|
+
|
|
1058
1091
|
.dndev-surface[data-variant='muted'] {
|
|
1059
1092
|
--card: var(--muted);
|
|
1060
1093
|
--card-foreground: var(--muted-foreground);
|
|
@@ -1064,12 +1097,16 @@ em {
|
|
|
1064
1097
|
.dndev-surface[data-variant='primary'] {
|
|
1065
1098
|
--card: var(--primary);
|
|
1066
1099
|
--card-foreground: var(--primary-foreground);
|
|
1100
|
+
--shadow-md: var(--shadow-primary);
|
|
1101
|
+
--shadow-xl: var(--shadow-primary-xl);
|
|
1067
1102
|
border-color: var(--primary);
|
|
1068
1103
|
}
|
|
1069
1104
|
|
|
1070
1105
|
.dndev-surface[data-variant='secondary'] {
|
|
1071
1106
|
--card: var(--secondary);
|
|
1072
1107
|
--card-foreground: var(--secondary-foreground);
|
|
1108
|
+
--shadow-md: var(--shadow-secondary);
|
|
1109
|
+
--shadow-xl: var(--shadow-secondary-xl);
|
|
1073
1110
|
border-color: var(--secondary);
|
|
1074
1111
|
}
|
|
1075
1112
|
|
|
@@ -1351,6 +1388,7 @@ em {
|
|
|
1351
1388
|
border-radius: var(--radius-interactive);
|
|
1352
1389
|
font-size: var(--font-size-base);
|
|
1353
1390
|
font-weight: var(--font-weight-medium);
|
|
1391
|
+
text-transform: var(--text-transform-button, none);
|
|
1354
1392
|
transition: var(--transition-fast);
|
|
1355
1393
|
cursor: pointer;
|
|
1356
1394
|
border: var(--border-hairline) solid transparent;
|
|
@@ -1641,6 +1679,7 @@ em {
|
|
|
1641
1679
|
overflow: hidden;
|
|
1642
1680
|
text-overflow: ellipsis;
|
|
1643
1681
|
white-space: nowrap;
|
|
1682
|
+
text-transform: var(--text-transform-label, none);
|
|
1644
1683
|
}
|
|
1645
1684
|
|
|
1646
1685
|
/* Compact mode - always hide label */
|
|
@@ -1706,7 +1745,8 @@ em {
|
|
|
1706
1745
|
|
|
1707
1746
|
.dndev-control[data-state='checked'],.dndev-control[data-state='on'],.dndev-control[data-pressed='true'] {
|
|
1708
1747
|
background-color: var(--control-border);
|
|
1709
|
-
|
|
1748
|
+
/* --card not --background: inverted text must be opaque (--background can be transparent in some themes) */
|
|
1749
|
+
color: var(--card);
|
|
1710
1750
|
}
|
|
1711
1751
|
|
|
1712
1752
|
/* CONTROL GROUP - Shared pattern for grouped controls (RadioGroup, Checkbox groups) */
|
|
@@ -2012,7 +2052,7 @@ em {
|
|
|
2012
2052
|
height: var(--icon-md);
|
|
2013
2053
|
border: 2px solid currentColor;
|
|
2014
2054
|
border-radius: var(--radius-full);
|
|
2015
|
-
border-
|
|
2055
|
+
border-inline-end-color: transparent;
|
|
2016
2056
|
animation: spin 1s linear infinite;
|
|
2017
2057
|
}
|
|
2018
2058
|
|
|
@@ -2352,7 +2392,6 @@ em {
|
|
|
2352
2392
|
flex-shrink: 0;
|
|
2353
2393
|
overflow: hidden;
|
|
2354
2394
|
border-radius: var(--radius-full);
|
|
2355
|
-
border: 1px solid var(--border);
|
|
2356
2395
|
}
|
|
2357
2396
|
|
|
2358
2397
|
.dndev-avatar-image {
|
|
@@ -2809,8 +2848,7 @@ em {
|
|
|
2809
2848
|
.dndev-calendar-nav {
|
|
2810
2849
|
position: absolute;
|
|
2811
2850
|
top: 0;
|
|
2812
|
-
|
|
2813
|
-
right: 0;
|
|
2851
|
+
inset-inline: 0;
|
|
2814
2852
|
height: var(--touch-target);
|
|
2815
2853
|
pointer-events: none;
|
|
2816
2854
|
z-index: 1;
|
|
@@ -2840,13 +2878,13 @@ em {
|
|
|
2840
2878
|
}
|
|
2841
2879
|
|
|
2842
2880
|
.dndev-calendar-nav-previous {
|
|
2843
|
-
|
|
2881
|
+
inset-inline-start: 0;
|
|
2844
2882
|
border-start-start-radius: 0;
|
|
2845
2883
|
border-end-start-radius: 0;
|
|
2846
2884
|
}
|
|
2847
2885
|
|
|
2848
2886
|
.dndev-calendar-nav-next {
|
|
2849
|
-
|
|
2887
|
+
inset-inline-end: 0;
|
|
2850
2888
|
border-start-end-radius: 0;
|
|
2851
2889
|
border-end-end-radius: 0;
|
|
2852
2890
|
}
|
|
@@ -3092,13 +3130,10 @@ em {
|
|
|
3092
3130
|
background: var(--muted);
|
|
3093
3131
|
}
|
|
3094
3132
|
|
|
3095
|
-
.dndev-cta[data-tone='elevated'] {
|
|
3096
|
-
background: var(--background);
|
|
3097
|
-
}
|
|
3098
|
-
|
|
3099
3133
|
.dndev-cta[data-tone='contrast'] {
|
|
3100
3134
|
background: var(--foreground);
|
|
3101
|
-
|
|
3135
|
+
/* --card not --background: inverted text must be opaque (--background can be transparent in some themes) */
|
|
3136
|
+
color: var(--card);
|
|
3102
3137
|
}
|
|
3103
3138
|
|
|
3104
3139
|
.dndev-cta[data-tone='accent'] {
|
|
@@ -3153,7 +3188,8 @@ em {
|
|
|
3153
3188
|
|
|
3154
3189
|
.dndev-cta-actions .dndev-interactive[data-variant='primary'] {
|
|
3155
3190
|
background: var(--foreground);
|
|
3156
|
-
|
|
3191
|
+
/* --card not --background: inverted text must be opaque */
|
|
3192
|
+
color: var(--card);
|
|
3157
3193
|
border-color: var(--foreground);
|
|
3158
3194
|
}
|
|
3159
3195
|
|
|
@@ -3171,7 +3207,8 @@ em {
|
|
|
3171
3207
|
|
|
3172
3208
|
:is(.dndev-cta-actions .dndev-interactive[data-variant='outline']):hover {
|
|
3173
3209
|
background: var(--foreground);
|
|
3174
|
-
|
|
3210
|
+
/* --card not --background: inverted text must be opaque */
|
|
3211
|
+
color: var(--card);
|
|
3175
3212
|
border-color: var(--foreground);
|
|
3176
3213
|
}
|
|
3177
3214
|
|
|
@@ -3386,7 +3423,7 @@ em {
|
|
|
3386
3423
|
justify-content: space-between;
|
|
3387
3424
|
align-items: center;
|
|
3388
3425
|
width: 100%;
|
|
3389
|
-
text-align:
|
|
3426
|
+
text-align: start;
|
|
3390
3427
|
}
|
|
3391
3428
|
|
|
3392
3429
|
.dndev-combobox-trigger button {
|
|
@@ -3728,8 +3765,9 @@ em {
|
|
|
3728
3765
|
}
|
|
3729
3766
|
|
|
3730
3767
|
.dndev-code-line-number {
|
|
3731
|
-
line-height:
|
|
3732
|
-
|
|
3768
|
+
line-height: 1.5;
|
|
3769
|
+
min-height: 1.5em;
|
|
3770
|
+
font-size: inherit;
|
|
3733
3771
|
}
|
|
3734
3772
|
|
|
3735
3773
|
.dndev-code-code {
|
|
@@ -3749,7 +3787,21 @@ em {
|
|
|
3749
3787
|
.dndev-code-code code {
|
|
3750
3788
|
line-height: inherit;
|
|
3751
3789
|
font-size: inherit;
|
|
3752
|
-
|
|
3790
|
+
}
|
|
3791
|
+
|
|
3792
|
+
/* Shiki wraps each line in <span class="line"> — force consistent sizing */
|
|
3793
|
+
|
|
3794
|
+
.dndev-code-code .line {
|
|
3795
|
+
display: block;
|
|
3796
|
+
line-height: 1.5;
|
|
3797
|
+
font-size: inherit;
|
|
3798
|
+
min-height: 1.5em;
|
|
3799
|
+
}
|
|
3800
|
+
|
|
3801
|
+
/* Empty Shiki lines still need height to stay in sync with line numbers */
|
|
3802
|
+
|
|
3803
|
+
.dndev-code-code .line:empty::after {
|
|
3804
|
+
content: '\00a0';
|
|
3753
3805
|
}
|
|
3754
3806
|
|
|
3755
3807
|
/* packages/components/src/atomic/Command/Command.css */
|
|
@@ -3913,7 +3965,7 @@ em {
|
|
|
3913
3965
|
order: 3;
|
|
3914
3966
|
font-size: var(--font-size-xs);
|
|
3915
3967
|
color: var(--muted-foreground);
|
|
3916
|
-
padding-
|
|
3968
|
+
padding-inline-start: calc(var(--icon-md) + var(--gap-sm));
|
|
3917
3969
|
}
|
|
3918
3970
|
|
|
3919
3971
|
.dndev-command-favorite-button {
|
|
@@ -4199,6 +4251,54 @@ em {
|
|
|
4199
4251
|
}
|
|
4200
4252
|
}
|
|
4201
4253
|
|
|
4254
|
+
/* Responsive templateColumns via custom properties */
|
|
4255
|
+
|
|
4256
|
+
.dndev-grid-component[data-responsive-tpl='true'] {
|
|
4257
|
+
grid-template-columns: var(--grid-tpl-mobile);
|
|
4258
|
+
}
|
|
4259
|
+
|
|
4260
|
+
@media (min-width: 768px) {
|
|
4261
|
+
.dndev-grid-component[data-responsive-tpl='true'] {
|
|
4262
|
+
grid-template-columns: var(--grid-tpl-tablet);
|
|
4263
|
+
}
|
|
4264
|
+
}
|
|
4265
|
+
|
|
4266
|
+
@media (min-width: 1024px) {
|
|
4267
|
+
.dndev-grid-component[data-responsive-tpl='true'] {
|
|
4268
|
+
grid-template-columns: var(--grid-tpl-laptop);
|
|
4269
|
+
}
|
|
4270
|
+
}
|
|
4271
|
+
|
|
4272
|
+
@media (min-width: 1440px) {
|
|
4273
|
+
.dndev-grid-component[data-responsive-tpl='true'] {
|
|
4274
|
+
grid-template-columns: var(--grid-tpl-desktop);
|
|
4275
|
+
}
|
|
4276
|
+
}
|
|
4277
|
+
|
|
4278
|
+
/* Responsive grid areas via custom properties */
|
|
4279
|
+
|
|
4280
|
+
.dndev-grid-component[data-responsive-areas='true'] {
|
|
4281
|
+
grid-template-areas: var(--grid-areas-mobile);
|
|
4282
|
+
}
|
|
4283
|
+
|
|
4284
|
+
@media (min-width: 768px) {
|
|
4285
|
+
.dndev-grid-component[data-responsive-areas='true'] {
|
|
4286
|
+
grid-template-areas: var(--grid-areas-tablet);
|
|
4287
|
+
}
|
|
4288
|
+
}
|
|
4289
|
+
|
|
4290
|
+
@media (min-width: 1024px) {
|
|
4291
|
+
.dndev-grid-component[data-responsive-areas='true'] {
|
|
4292
|
+
grid-template-areas: var(--grid-areas-laptop);
|
|
4293
|
+
}
|
|
4294
|
+
}
|
|
4295
|
+
|
|
4296
|
+
@media (min-width: 1440px) {
|
|
4297
|
+
.dndev-grid-component[data-responsive-areas='true'] {
|
|
4298
|
+
grid-template-areas: var(--grid-areas-desktop);
|
|
4299
|
+
}
|
|
4300
|
+
}
|
|
4301
|
+
|
|
4202
4302
|
/* Spacing from CSS variables */
|
|
4203
4303
|
|
|
4204
4304
|
.dndev-grid-component[data-gap='none'] {
|
|
@@ -4512,7 +4612,8 @@ em {
|
|
|
4512
4612
|
height: 44px;
|
|
4513
4613
|
border: none;
|
|
4514
4614
|
border-radius: var(--radius-full);
|
|
4515
|
-
background
|
|
4615
|
+
/* --card not --background: surface must be opaque */
|
|
4616
|
+
background-color: var(--card);
|
|
4516
4617
|
color: var(--foreground);
|
|
4517
4618
|
cursor: pointer;
|
|
4518
4619
|
opacity: 0;
|
|
@@ -5079,7 +5180,7 @@ input[type='number'] {
|
|
|
5079
5180
|
}
|
|
5080
5181
|
|
|
5081
5182
|
.dndev-nav-menu-content {
|
|
5082
|
-
|
|
5183
|
+
inset-inline-start: 0;
|
|
5083
5184
|
top: 0;
|
|
5084
5185
|
width: 100%;
|
|
5085
5186
|
}
|
|
@@ -5094,7 +5195,7 @@ input[type='number'] {
|
|
|
5094
5195
|
|
|
5095
5196
|
.dndev-nav-menu-viewport-wrapper {
|
|
5096
5197
|
position: absolute;
|
|
5097
|
-
|
|
5198
|
+
inset-inline-start: 0;
|
|
5098
5199
|
top: 100%;
|
|
5099
5200
|
display: flex;
|
|
5100
5201
|
justify-content: center;
|
|
@@ -5134,7 +5235,7 @@ input[type='number'] {
|
|
|
5134
5235
|
height: var(--gap-sm);
|
|
5135
5236
|
width: var(--gap-sm);
|
|
5136
5237
|
transform: rotate(45deg);
|
|
5137
|
-
border-
|
|
5238
|
+
border-start-start-radius: 2px;
|
|
5138
5239
|
background-color: var(--border);
|
|
5139
5240
|
box-shadow: var(--shadow-md);
|
|
5140
5241
|
}
|
|
@@ -5305,19 +5406,34 @@ input[type='number'] {
|
|
|
5305
5406
|
}
|
|
5306
5407
|
|
|
5307
5408
|
.dndev-pagination-size-label {
|
|
5308
|
-
margin-
|
|
5409
|
+
margin-inline-end: var(--gap-sm);
|
|
5309
5410
|
}
|
|
5310
5411
|
|
|
5311
5412
|
.dndev-pagination-nav {
|
|
5312
5413
|
justify-content: flex-end;
|
|
5313
5414
|
width: auto;
|
|
5314
|
-
margin-
|
|
5315
|
-
/* Push to
|
|
5415
|
+
margin-inline-start: auto;
|
|
5416
|
+
/* Push to end */
|
|
5316
5417
|
}
|
|
5317
5418
|
}
|
|
5318
5419
|
|
|
5319
5420
|
/* packages/components/src/atomic/Popover/Popover.css */
|
|
5320
5421
|
|
|
5422
|
+
/* Popover content width constraints and wrapping */
|
|
5423
|
+
|
|
5424
|
+
/* Targets Radix UI PopoverContent element */
|
|
5425
|
+
|
|
5426
|
+
[data-radix-popover-content],
|
|
5427
|
+
.dndev-floating[data-radix-popover-content] {
|
|
5428
|
+
max-width: min(90vw, 400px);
|
|
5429
|
+
width: -moz-max-content;
|
|
5430
|
+
width: max-content;
|
|
5431
|
+
min-width: 0;
|
|
5432
|
+
word-wrap: break-word;
|
|
5433
|
+
overflow-wrap: break-word;
|
|
5434
|
+
white-space: normal;
|
|
5435
|
+
}
|
|
5436
|
+
|
|
5321
5437
|
/* packages/components/src/atomic/Progress/Progress.css */
|
|
5322
5438
|
|
|
5323
5439
|
.dndev-progress {
|
|
@@ -5662,9 +5778,10 @@ input[type='number'] {
|
|
|
5662
5778
|
/* Content wrapper: constrained + centered + padded */
|
|
5663
5779
|
|
|
5664
5780
|
.dndev-section-content {
|
|
5665
|
-
/* Respects PageContainer's --content-width */
|
|
5781
|
+
/* Respects PageContainer's --content-width (passed through breakthrough root) */
|
|
5666
5782
|
max-width: var(--content-width);
|
|
5667
5783
|
margin-inline: auto;
|
|
5784
|
+
min-width: 0; /* Allow shrinking so max-width wins when content would force wider */
|
|
5668
5785
|
/* Padding with section background - responsive to match PageContainer */
|
|
5669
5786
|
padding-inline: var(--gap-md);
|
|
5670
5787
|
padding-top: var(--gap-lg);
|
|
@@ -5912,6 +6029,9 @@ input[type='number'] {
|
|
|
5912
6029
|
|
|
5913
6030
|
/* Sheet positioning by side - SPATIAL METAPHOR */
|
|
5914
6031
|
|
|
6032
|
+
/* Physical properties intentional: Sheet anchors to viewport edges regardless of text direction.
|
|
6033
|
+
Logical inset-inline would incorrectly swap sides in RTL for left/right sheet variants. */
|
|
6034
|
+
|
|
5915
6035
|
/* RIGHT / LEFT (Desktop Panels) */
|
|
5916
6036
|
|
|
5917
6037
|
.dndev-sheet-content[data-side='right'],.dndev-sheet-content[data-side='left'] {
|
|
@@ -5952,8 +6072,7 @@ input[type='number'] {
|
|
|
5952
6072
|
max-height: 92dvh;
|
|
5953
6073
|
/* Never touch top edge */
|
|
5954
6074
|
width: 100%;
|
|
5955
|
-
margin-
|
|
5956
|
-
margin-right: auto;
|
|
6075
|
+
margin-inline: auto;
|
|
5957
6076
|
|
|
5958
6077
|
/* On larger screens, constrain width */
|
|
5959
6078
|
}
|
|
@@ -5972,16 +6091,16 @@ input[type='number'] {
|
|
|
5972
6091
|
top: 0;
|
|
5973
6092
|
border-bottom: var(--border-hairline) solid var(--line-1);
|
|
5974
6093
|
/* Rounded bottom corners only */
|
|
5975
|
-
border-
|
|
5976
|
-
border-
|
|
6094
|
+
border-end-start-radius: var(--radius-lg);
|
|
6095
|
+
border-end-end-radius: var(--radius-lg);
|
|
5977
6096
|
}
|
|
5978
6097
|
|
|
5979
6098
|
.dndev-sheet-content[data-side='bottom'] {
|
|
5980
6099
|
bottom: 0;
|
|
5981
6100
|
border-top: var(--border-hairline) solid var(--line-1);
|
|
5982
6101
|
/* Rounded top corners only */
|
|
5983
|
-
border-
|
|
5984
|
-
border-
|
|
6102
|
+
border-start-start-radius: var(--radius-lg);
|
|
6103
|
+
border-start-end-radius: var(--radius-lg);
|
|
5985
6104
|
}
|
|
5986
6105
|
|
|
5987
6106
|
/* DRAG HANDLE PILL - Visual affordance for draggable sheets */
|
|
@@ -6300,7 +6419,8 @@ input[type='number'] {
|
|
|
6300
6419
|
min-width: 1.25rem;
|
|
6301
6420
|
min-height: 1.25rem;
|
|
6302
6421
|
border-radius: var(--radius-full);
|
|
6303
|
-
background
|
|
6422
|
+
/* --card not --background: surface must be opaque (--background can be transparent in some themes) */
|
|
6423
|
+
background-color: var(--card);
|
|
6304
6424
|
border: 2px solid var(--primary);
|
|
6305
6425
|
box-shadow: var(--shadow-md);
|
|
6306
6426
|
transition: all var(--dur-fast) var(--ease-in-out);
|
|
@@ -6371,7 +6491,8 @@ input[type='number'] {
|
|
|
6371
6491
|
font-size: var(--font-size-xs);
|
|
6372
6492
|
font-weight: var(--font-weight-medium);
|
|
6373
6493
|
color: var(--foreground);
|
|
6374
|
-
background
|
|
6494
|
+
/* --card not --background: surface must be opaque */
|
|
6495
|
+
background-color: var(--card);
|
|
6375
6496
|
padding: 0.125rem 0.375rem;
|
|
6376
6497
|
border-radius: var(--radius-interactive);
|
|
6377
6498
|
box-shadow: var(--shadow-sm);
|
|
@@ -6395,7 +6516,7 @@ input[type='number'] {
|
|
|
6395
6516
|
height: 1em;
|
|
6396
6517
|
border: 2px solid transparent;
|
|
6397
6518
|
border-top-color: var(--primary);
|
|
6398
|
-
border-
|
|
6519
|
+
border-inline-end-color: var(--primary);
|
|
6399
6520
|
border-radius: 50%;
|
|
6400
6521
|
animation: spin 0.6s linear infinite;
|
|
6401
6522
|
display: inline-block;
|
|
@@ -6405,42 +6526,42 @@ input[type='number'] {
|
|
|
6405
6526
|
|
|
6406
6527
|
.dndev-spinner[data-variant='default'] {
|
|
6407
6528
|
border-top-color: var(--foreground);
|
|
6408
|
-
border-
|
|
6529
|
+
border-inline-end-color: var(--foreground);
|
|
6409
6530
|
}
|
|
6410
6531
|
|
|
6411
6532
|
.dndev-spinner[data-variant='muted'] {
|
|
6412
6533
|
border-top-color: var(--muted-foreground);
|
|
6413
|
-
border-
|
|
6534
|
+
border-inline-end-color: var(--muted-foreground);
|
|
6414
6535
|
}
|
|
6415
6536
|
|
|
6416
6537
|
.dndev-spinner[data-variant='primary'] {
|
|
6417
6538
|
border-top-color: var(--primary);
|
|
6418
|
-
border-
|
|
6539
|
+
border-inline-end-color: var(--primary);
|
|
6419
6540
|
}
|
|
6420
6541
|
|
|
6421
6542
|
.dndev-spinner[data-variant='secondary'] {
|
|
6422
6543
|
border-top-color: var(--secondary);
|
|
6423
|
-
border-
|
|
6544
|
+
border-inline-end-color: var(--secondary);
|
|
6424
6545
|
}
|
|
6425
6546
|
|
|
6426
6547
|
.dndev-spinner[data-variant='accent'] {
|
|
6427
6548
|
border-top-color: var(--accent);
|
|
6428
|
-
border-
|
|
6549
|
+
border-inline-end-color: var(--accent);
|
|
6429
6550
|
}
|
|
6430
6551
|
|
|
6431
6552
|
.dndev-spinner[data-variant='success'] {
|
|
6432
6553
|
border-top-color: var(--success);
|
|
6433
|
-
border-
|
|
6554
|
+
border-inline-end-color: var(--success);
|
|
6434
6555
|
}
|
|
6435
6556
|
|
|
6436
6557
|
.dndev-spinner[data-variant='warning'] {
|
|
6437
6558
|
border-top-color: var(--warning);
|
|
6438
|
-
border-
|
|
6559
|
+
border-inline-end-color: var(--warning);
|
|
6439
6560
|
}
|
|
6440
6561
|
|
|
6441
6562
|
.dndev-spinner[data-variant='destructive'] {
|
|
6442
6563
|
border-top-color: var(--destructive);
|
|
6443
|
-
border-
|
|
6564
|
+
border-inline-end-color: var(--destructive);
|
|
6444
6565
|
}
|
|
6445
6566
|
|
|
6446
6567
|
/* Overlay variant - full-page loading */
|
|
@@ -6724,6 +6845,8 @@ input[type='number'] {
|
|
|
6724
6845
|
display: flex;
|
|
6725
6846
|
align-items: center;
|
|
6726
6847
|
justify-content: space-between;
|
|
6848
|
+
gap: var(--gap-md);
|
|
6849
|
+
margin-top: var(--gap-md);
|
|
6727
6850
|
}
|
|
6728
6851
|
|
|
6729
6852
|
.dndev-stepper-info {
|
|
@@ -7163,19 +7286,20 @@ input[type='number'] {
|
|
|
7163
7286
|
word-break: break-word;
|
|
7164
7287
|
border: var(--border-hairline) solid var(--line-2); /* Show clickable area */
|
|
7165
7288
|
|
|
7166
|
-
/* Fallback (no variant): inactive = primary, active = foreground/
|
|
7289
|
+
/* Fallback (no variant): inactive = primary, active = foreground/card */
|
|
7167
7290
|
background-color: var(--primary);
|
|
7168
7291
|
color: var(--primary-foreground);
|
|
7169
7292
|
}
|
|
7170
7293
|
|
|
7171
7294
|
.dndev-interactive[data-role='tab-trigger'][data-state='active'] {
|
|
7172
|
-
background
|
|
7295
|
+
/* --card not --background: active tab surface must be opaque (--background can be transparent in some themes) */
|
|
7296
|
+
background-color: var(--card);
|
|
7173
7297
|
color: var(--foreground);
|
|
7174
7298
|
box-shadow: var(--shadow-sm);
|
|
7175
7299
|
border-color: var(--primary);
|
|
7176
7300
|
}
|
|
7177
7301
|
|
|
7178
|
-
/* Default/Primary variant: inactive = primary, active = foreground/
|
|
7302
|
+
/* Default/Primary variant: inactive = primary, active = foreground/card */
|
|
7179
7303
|
|
|
7180
7304
|
.dndev-interactive[data-role='tab-trigger'][data-variant='default'],.dndev-interactive[data-role='tab-trigger'][data-variant='primary'] {
|
|
7181
7305
|
background-color: var(--primary);
|
|
@@ -7183,13 +7307,14 @@ input[type='number'] {
|
|
|
7183
7307
|
}
|
|
7184
7308
|
|
|
7185
7309
|
[data-state='active']:is(.dndev-interactive[data-role='tab-trigger'][data-variant='default'],.dndev-interactive[data-role='tab-trigger'][data-variant='primary']) {
|
|
7186
|
-
background
|
|
7310
|
+
/* --card not --background: active tab surface must be opaque */
|
|
7311
|
+
background-color: var(--card);
|
|
7187
7312
|
color: var(--foreground);
|
|
7188
7313
|
box-shadow: var(--shadow-sm);
|
|
7189
7314
|
border-color: var(--primary);
|
|
7190
7315
|
}
|
|
7191
7316
|
|
|
7192
|
-
/* Secondary variant: inactive = secondary, active = foreground/
|
|
7317
|
+
/* Secondary variant: inactive = secondary, active = foreground/card */
|
|
7193
7318
|
|
|
7194
7319
|
.dndev-interactive[data-role='tab-trigger'][data-variant='secondary'] {
|
|
7195
7320
|
background-color: var(--secondary);
|
|
@@ -7197,13 +7322,14 @@ input[type='number'] {
|
|
|
7197
7322
|
}
|
|
7198
7323
|
|
|
7199
7324
|
.dndev-interactive[data-role='tab-trigger'][data-variant='secondary'][data-state='active'] {
|
|
7200
|
-
background
|
|
7325
|
+
/* --card not --background: active tab surface must be opaque */
|
|
7326
|
+
background-color: var(--card);
|
|
7201
7327
|
color: var(--foreground);
|
|
7202
7328
|
box-shadow: var(--shadow-sm);
|
|
7203
7329
|
border-color: var(--secondary);
|
|
7204
7330
|
}
|
|
7205
7331
|
|
|
7206
|
-
/* Accent variant: inactive = accent, active = foreground/
|
|
7332
|
+
/* Accent variant: inactive = accent, active = foreground/card */
|
|
7207
7333
|
|
|
7208
7334
|
.dndev-interactive[data-role='tab-trigger'][data-variant='accent'] {
|
|
7209
7335
|
background-color: var(--accent);
|
|
@@ -7211,7 +7337,8 @@ input[type='number'] {
|
|
|
7211
7337
|
}
|
|
7212
7338
|
|
|
7213
7339
|
.dndev-interactive[data-role='tab-trigger'][data-variant='accent'][data-state='active'] {
|
|
7214
|
-
background
|
|
7340
|
+
/* --card not --background: active tab surface must be opaque */
|
|
7341
|
+
background-color: var(--card);
|
|
7215
7342
|
color: var(--foreground);
|
|
7216
7343
|
box-shadow: var(--shadow-sm);
|
|
7217
7344
|
border-color: var(--accent);
|
|
@@ -7231,7 +7358,7 @@ input[type='number'] {
|
|
|
7231
7358
|
border-color: var(--primary);
|
|
7232
7359
|
}
|
|
7233
7360
|
|
|
7234
|
-
/* Warning variant: inactive = warning, active = foreground/
|
|
7361
|
+
/* Warning variant: inactive = warning, active = foreground/card */
|
|
7235
7362
|
|
|
7236
7363
|
.dndev-interactive[data-role='tab-trigger'][data-variant='warning'] {
|
|
7237
7364
|
background-color: var(--warning);
|
|
@@ -7239,13 +7366,14 @@ input[type='number'] {
|
|
|
7239
7366
|
}
|
|
7240
7367
|
|
|
7241
7368
|
.dndev-interactive[data-role='tab-trigger'][data-variant='warning'][data-state='active'] {
|
|
7242
|
-
background
|
|
7369
|
+
/* --card not --background: active tab surface must be opaque */
|
|
7370
|
+
background-color: var(--card);
|
|
7243
7371
|
color: var(--foreground);
|
|
7244
7372
|
box-shadow: var(--shadow-sm);
|
|
7245
7373
|
border-color: var(--warning);
|
|
7246
7374
|
}
|
|
7247
7375
|
|
|
7248
|
-
/* Success variant: inactive = success, active = foreground/
|
|
7376
|
+
/* Success variant: inactive = success, active = foreground/card */
|
|
7249
7377
|
|
|
7250
7378
|
.dndev-interactive[data-role='tab-trigger'][data-variant='success'] {
|
|
7251
7379
|
background-color: var(--success);
|
|
@@ -7253,13 +7381,14 @@ input[type='number'] {
|
|
|
7253
7381
|
}
|
|
7254
7382
|
|
|
7255
7383
|
.dndev-interactive[data-role='tab-trigger'][data-variant='success'][data-state='active'] {
|
|
7256
|
-
background
|
|
7384
|
+
/* --card not --background: active tab surface must be opaque */
|
|
7385
|
+
background-color: var(--card);
|
|
7257
7386
|
color: var(--foreground);
|
|
7258
7387
|
box-shadow: var(--shadow-sm);
|
|
7259
7388
|
border-color: var(--success);
|
|
7260
7389
|
}
|
|
7261
7390
|
|
|
7262
|
-
/* Destructive variant: inactive = destructive, active = foreground/
|
|
7391
|
+
/* Destructive variant: inactive = destructive, active = foreground/card */
|
|
7263
7392
|
|
|
7264
7393
|
.dndev-interactive[data-role='tab-trigger'][data-variant='destructive'] {
|
|
7265
7394
|
background-color: var(--destructive);
|
|
@@ -7267,7 +7396,8 @@ input[type='number'] {
|
|
|
7267
7396
|
}
|
|
7268
7397
|
|
|
7269
7398
|
.dndev-interactive[data-role='tab-trigger'][data-variant='destructive'][data-state='active'] {
|
|
7270
|
-
background
|
|
7399
|
+
/* --card not --background: active tab surface must be opaque */
|
|
7400
|
+
background-color: var(--card);
|
|
7271
7401
|
color: var(--foreground);
|
|
7272
7402
|
box-shadow: var(--shadow-sm);
|
|
7273
7403
|
border-color: var(--destructive);
|
|
@@ -7314,7 +7444,7 @@ input[type='number'] {
|
|
|
7314
7444
|
align-items: center;
|
|
7315
7445
|
justify-content: center;
|
|
7316
7446
|
padding: 0;
|
|
7317
|
-
margin-
|
|
7447
|
+
margin-inline-start: 2px;
|
|
7318
7448
|
background: transparent;
|
|
7319
7449
|
border: none;
|
|
7320
7450
|
cursor: pointer;
|
|
@@ -7477,7 +7607,11 @@ input[type='number'] {
|
|
|
7477
7607
|
border-radius: var(--radius-interactive);
|
|
7478
7608
|
}
|
|
7479
7609
|
|
|
7480
|
-
/* Level overrides */
|
|
7610
|
+
/* Level overrides — headline font for all heading levels */
|
|
7611
|
+
|
|
7612
|
+
.dndev-text-base[data-level^='h'] {
|
|
7613
|
+
font-family: var(--font-headline);
|
|
7614
|
+
}
|
|
7481
7615
|
|
|
7482
7616
|
.dndev-text-base[data-level='h1'] {
|
|
7483
7617
|
font-size: var(--font-size-3xl);
|
|
@@ -7827,7 +7961,8 @@ input[type='number'] {
|
|
|
7827
7961
|
z-index: var(--z-tooltip);
|
|
7828
7962
|
/* Inverted colors for high contrast - industry standard (Vercel, GitHub, Stripe) */
|
|
7829
7963
|
background: var(--foreground);
|
|
7830
|
-
|
|
7964
|
+
/* --card not --background: inverted text must be opaque (--background can be transparent in some themes) */
|
|
7965
|
+
color: var(--card);
|
|
7831
7966
|
box-shadow: var(--shadow-lg); /* Stronger shadow for visibility */
|
|
7832
7967
|
padding: 0.375rem 0.5rem; /* 6px 8px - industry standard */
|
|
7833
7968
|
font-size: var(--font-size-xs); /* 12px */
|
|
@@ -8467,6 +8602,12 @@ input[type='number'] {
|
|
|
8467
8602
|
|
|
8468
8603
|
/* Tone backgrounds - apply directly to section element (like CallToAction) */
|
|
8469
8604
|
|
|
8605
|
+
/* Ghost (default) - transparent, allows background images to show through */
|
|
8606
|
+
|
|
8607
|
+
.dndev-section-full-width[data-tone='ghost'],.dndev-section-full-width:not([data-tone]) {
|
|
8608
|
+
background: transparent;
|
|
8609
|
+
}
|
|
8610
|
+
|
|
8470
8611
|
.dndev-section-full-width[data-tone='base'] {
|
|
8471
8612
|
background: var(--background);
|
|
8472
8613
|
}
|
|
@@ -8475,16 +8616,37 @@ input[type='number'] {
|
|
|
8475
8616
|
background: var(--muted);
|
|
8476
8617
|
}
|
|
8477
8618
|
|
|
8478
|
-
.dndev-section-full-width[data-tone='
|
|
8619
|
+
.dndev-section-full-width[data-tone='contrast'] {
|
|
8479
8620
|
background: var(--background);
|
|
8621
|
+
color: var(--foreground);
|
|
8480
8622
|
}
|
|
8481
8623
|
|
|
8482
|
-
.dndev-section-full-width[data-tone='
|
|
8624
|
+
.dndev-section-full-width[data-tone='accent'] {
|
|
8625
|
+
background: color-mix(in oklab, var(--accent) 5%, transparent);
|
|
8626
|
+
}
|
|
8627
|
+
|
|
8628
|
+
/* HeroSection tone backgrounds - same system as Section/CallToAction */
|
|
8629
|
+
|
|
8630
|
+
/* Ghost (default) - transparent, allows background images to show through */
|
|
8631
|
+
|
|
8632
|
+
.dndev-hero-section[data-tone='ghost'],.dndev-hero-section:not([data-tone]) {
|
|
8633
|
+
background: transparent;
|
|
8634
|
+
}
|
|
8635
|
+
|
|
8636
|
+
.dndev-hero-section[data-tone='base'] {
|
|
8637
|
+
background: var(--background);
|
|
8638
|
+
}
|
|
8639
|
+
|
|
8640
|
+
.dndev-hero-section[data-tone='muted'] {
|
|
8641
|
+
background: var(--muted);
|
|
8642
|
+
}
|
|
8643
|
+
|
|
8644
|
+
.dndev-hero-section[data-tone='contrast'] {
|
|
8483
8645
|
background: var(--background);
|
|
8484
8646
|
color: var(--foreground);
|
|
8485
8647
|
}
|
|
8486
8648
|
|
|
8487
|
-
.dndev-section
|
|
8649
|
+
.dndev-hero-section[data-tone='accent'] {
|
|
8488
8650
|
background: color-mix(in oklab, var(--accent) 5%, transparent);
|
|
8489
8651
|
}
|
|
8490
8652
|
|
|
@@ -8697,10 +8859,7 @@ h4[data-variant='code'] {
|
|
|
8697
8859
|
}
|
|
8698
8860
|
|
|
8699
8861
|
.dndev-inset-0 {
|
|
8700
|
-
|
|
8701
|
-
right: 0;
|
|
8702
|
-
bottom: 0;
|
|
8703
|
-
left: 0;
|
|
8862
|
+
inset: 0;
|
|
8704
8863
|
}
|
|
8705
8864
|
|
|
8706
8865
|
.dndev-inset-y-0 {
|
|
@@ -8708,8 +8867,8 @@ h4[data-variant='code'] {
|
|
|
8708
8867
|
bottom: 0;
|
|
8709
8868
|
}
|
|
8710
8869
|
|
|
8711
|
-
.dndev-
|
|
8712
|
-
|
|
8870
|
+
.dndev-inset-inline-start-0 {
|
|
8871
|
+
inset-inline-start: 0;
|
|
8713
8872
|
}
|
|
8714
8873
|
|
|
8715
8874
|
.dndev-min-h-0 {
|
|
@@ -9346,6 +9505,7 @@ main[role='main'][data-routing-animation='none'] {
|
|
|
9346
9505
|
.dndev-layout[data-footer-mode='scroll'] main[role='main'] {
|
|
9347
9506
|
overflow-y: visible;
|
|
9348
9507
|
overflow-x: hidden;
|
|
9508
|
+
contain: style;
|
|
9349
9509
|
}
|
|
9350
9510
|
|
|
9351
9511
|
.dndev-layout[data-footer-mode='scroll'] footer[role='contentinfo'] {
|
|
@@ -9375,6 +9535,7 @@ main[role='main'][data-routing-animation='none'] {
|
|
|
9375
9535
|
.dndev-layout main[role='main'] {
|
|
9376
9536
|
overflow-y: visible;
|
|
9377
9537
|
overflow-x: hidden;
|
|
9538
|
+
contain: style;
|
|
9378
9539
|
}
|
|
9379
9540
|
|
|
9380
9541
|
.dndev-layout footer[role='contentinfo'] {
|
|
@@ -9412,6 +9573,7 @@ header[role='banner'] {
|
|
|
9412
9573
|
position: relative;
|
|
9413
9574
|
z-index: var(--z-header);
|
|
9414
9575
|
contain: layout style;
|
|
9576
|
+
overflow: visible; /* Allow absolutely positioned children's shadows to extend beyond bounds */
|
|
9415
9577
|
|
|
9416
9578
|
/* Container queries support for responsive components */
|
|
9417
9579
|
container-type: inline-size;
|
|
@@ -9447,7 +9609,11 @@ header[role='banner'] {
|
|
|
9447
9609
|
height: 100%;
|
|
9448
9610
|
max-height: 100%;
|
|
9449
9611
|
gap: var(--gap-sm);
|
|
9450
|
-
overflow:
|
|
9612
|
+
overflow: visible; /* Allow shadows to show */
|
|
9613
|
+
/* Theme-controlled padding for shadows that extend beyond bounds (e.g., brutalist hard-offset shadows) */
|
|
9614
|
+
/* Shadows extend rightward, so only end padding needed */
|
|
9615
|
+
/* Defaults to 0 for themes with diffused shadows that don't extend beyond bounds */
|
|
9616
|
+
padding-inline-end: var(--header-shadow-padding, 0);
|
|
9451
9617
|
}
|
|
9452
9618
|
|
|
9453
9619
|
.header-end {
|
|
@@ -9459,7 +9625,11 @@ header[role='banner'] {
|
|
|
9459
9625
|
max-height: 100%;
|
|
9460
9626
|
margin-inline-start: auto;
|
|
9461
9627
|
gap: var(--gap-sm);
|
|
9462
|
-
overflow:
|
|
9628
|
+
overflow: visible; /* Allow shadows to show */
|
|
9629
|
+
/* Theme-controlled padding for shadows that extend beyond bounds (e.g., brutalist hard-offset shadows) */
|
|
9630
|
+
/* Shadows extend rightward, so only end padding needed */
|
|
9631
|
+
/* Defaults to 0 for themes with diffused shadows that don't extend beyond bounds */
|
|
9632
|
+
padding-inline-end: var(--header-shadow-padding, 0);
|
|
9463
9633
|
}
|
|
9464
9634
|
|
|
9465
9635
|
/* Viewport-centered center content - absolutely positioned overlay */
|
|
@@ -9472,6 +9642,10 @@ header[role='banner'] .header-center {
|
|
|
9472
9642
|
width: -moz-fit-content;
|
|
9473
9643
|
width: fit-content;
|
|
9474
9644
|
z-index: 1;
|
|
9645
|
+
/* Theme-controlled padding for shadows that extend beyond bounds (e.g., brutalist hard-offset shadows) */
|
|
9646
|
+
/* Shadows extend rightward, so only end padding needed */
|
|
9647
|
+
/* Defaults to 0 for themes with diffused shadows that don't extend beyond bounds */
|
|
9648
|
+
padding-inline-end: var(--header-shadow-padding, 0);
|
|
9475
9649
|
}
|
|
9476
9650
|
|
|
9477
9651
|
/* ===========================
|
|
@@ -9825,8 +9999,7 @@ footer[role='contentinfo'] a:not(.dndev-interactive):hover {
|
|
|
9825
9999
|
|
|
9826
10000
|
.merged-bar {
|
|
9827
10001
|
position: fixed;
|
|
9828
|
-
|
|
9829
|
-
right: 0;
|
|
10002
|
+
inset-inline: 0;
|
|
9830
10003
|
display: none;
|
|
9831
10004
|
/* Hidden by default - CSS shows on mobile */
|
|
9832
10005
|
align-items: center;
|
|
@@ -9835,8 +10008,8 @@ footer[role='contentinfo'] a:not(.dndev-interactive):hover {
|
|
|
9835
10008
|
contain: layout style;
|
|
9836
10009
|
|
|
9837
10010
|
/* Safe area padding for notched devices */
|
|
9838
|
-
padding-
|
|
9839
|
-
padding-
|
|
10011
|
+
padding-inline-start: max(var(--content-padding), env(safe-area-inset-left));
|
|
10012
|
+
padding-inline-end: max(var(--content-padding), env(safe-area-inset-right));
|
|
9840
10013
|
}
|
|
9841
10014
|
|
|
9842
10015
|
.merged-bar[data-position='top'] {
|
|
@@ -10181,6 +10354,7 @@ footer[role='contentinfo'] a:not(.dndev-interactive):hover {
|
|
|
10181
10354
|
.dndev-container {
|
|
10182
10355
|
width: 100%;
|
|
10183
10356
|
max-width: var(--content-width);
|
|
10357
|
+
min-width: 0; /* Allow shrinking in flex so max-width wins */
|
|
10184
10358
|
flex: 1 1 auto;
|
|
10185
10359
|
|
|
10186
10360
|
/* First child spacing when enabled */
|
|
@@ -10296,7 +10470,6 @@ footer[role='contentinfo'] a:not(.dndev-interactive):hover {
|
|
|
10296
10470
|
|
|
10297
10471
|
.dndev-container > .dndev-section-full-width,
|
|
10298
10472
|
.dndev-container > .dndev-cta,
|
|
10299
|
-
.dndev-container > .dndev-hero-section,
|
|
10300
10473
|
.dndev-container > .dndev-tech-bento {
|
|
10301
10474
|
/* Break out of PageContainer padding and max-width constraint */
|
|
10302
10475
|
/* Account for sidebar: --sidebar-width is 0px for presets without sidebar */
|
|
@@ -10306,6 +10479,19 @@ footer[role='contentinfo'] a:not(.dndev-interactive):hover {
|
|
|
10306
10479
|
/* Eat gap BEFORE section only */
|
|
10307
10480
|
margin-top: calc(-1 * var(--gap-lg));
|
|
10308
10481
|
margin-bottom: 0;
|
|
10482
|
+
/* Pass through so inner content (e.g. .dndev-section-content) can use it */
|
|
10483
|
+
--content-width: var(--max-content-width, 100%);
|
|
10484
|
+
}
|
|
10485
|
+
|
|
10486
|
+
/* HeroSection: only breakthrough when it has fullHeight (needs full viewport background) */
|
|
10487
|
+
|
|
10488
|
+
.dndev-container > .dndev-hero-section[style*='height'] {
|
|
10489
|
+
width: calc(100dvw - var(--sidebar-width));
|
|
10490
|
+
max-width: calc(100dvw - var(--sidebar-width));
|
|
10491
|
+
margin-inline: calc((-50dvw + var(--sidebar-width) / 2) + 50%);
|
|
10492
|
+
margin-top: calc(-1 * var(--gap-lg));
|
|
10493
|
+
margin-bottom: 0;
|
|
10494
|
+
--content-width: var(--max-content-width, 100%);
|
|
10309
10495
|
}
|
|
10310
10496
|
|
|
10311
10497
|
.footer-mobile-button:hover {
|