@donotdev/ui 0.0.7 → 0.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/fonts/fonts.css +4 -4
- package/dist/components/auth/AuthHeader.d.ts +5 -0
- package/dist/components/auth/AuthHeader.d.ts.map +1 -1
- package/dist/components/auth/AuthHeader.js +22 -8
- package/dist/components/auth/AuthMenu.d.ts +6 -2
- package/dist/components/auth/AuthMenu.d.ts.map +1 -1
- package/dist/components/auth/AuthMenu.js +2 -2
- package/dist/components/common/RedirectOverlay.d.ts +37 -0
- package/dist/components/common/RedirectOverlay.d.ts.map +1 -0
- package/dist/components/common/RedirectOverlay.js +243 -0
- package/dist/components/common/index.d.ts +1 -0
- package/dist/components/common/index.d.ts.map +1 -1
- package/dist/components/common/index.js +1 -0
- package/dist/components/layout/components/header/SettingsMenu.d.ts.map +1 -1
- package/dist/components/layout/components/header/SettingsMenu.js +1 -1
- package/dist/crud/components/DisplayFieldRenderer.js +1 -1
- package/dist/dndev.css +447 -63
- package/dist/index.js +4 -4
- package/dist/internal/devtools/components/DesignTab.d.ts.map +1 -1
- package/dist/internal/devtools/components/DesignTab.js +25 -3
- package/dist/internal/layout/components/PerformanceHints.d.ts.map +1 -1
- package/dist/internal/layout/components/PerformanceHints.js +3 -2
- package/dist/internal/layout/config/presets/admin.d.ts +2 -2
- package/dist/internal/layout/config/presets/admin.d.ts.map +1 -1
- package/dist/internal/layout/config/presets/admin.js +8 -4
- package/dist/providers/NextJsAppProviders.d.ts.map +1 -1
- package/dist/providers/NextJsAppProviders.js +4 -1
- package/dist/routing/hooks/hooks.next.d.ts +1 -0
- package/dist/routing/hooks/hooks.next.d.ts.map +1 -1
- package/dist/routing/hooks/hooks.next.js +1 -1
- package/dist/routing/hooks/hooks.vite.d.ts +1 -0
- package/dist/routing/hooks/hooks.vite.d.ts.map +1 -1
- package/dist/routing/hooks/hooks.vite.js +1 -1
- package/dist/routing/hooks/useRouteParam.next.d.ts +18 -0
- package/dist/routing/hooks/useRouteParam.next.d.ts.map +1 -0
- package/dist/routing/hooks/useRouteParam.next.js +38 -0
- package/dist/routing/hooks/useRouteParam.vite.d.ts +18 -0
- package/dist/routing/hooks/useRouteParam.vite.d.ts.map +1 -0
- package/dist/routing/hooks/useRouteParam.vite.js +38 -0
- package/dist/routing/index.d.ts +1 -1
- package/dist/routing/index.d.ts.map +1 -1
- package/dist/routing/index.js +1 -1
- package/dist/styles/index.css +443 -59
- package/dist/utils/useCrudSafe.d.ts.map +1 -1
- package/dist/utils/useCrudSafe.js +2 -1
- package/dist/vite-routing/RootLayout.d.ts.map +1 -1
- package/dist/vite-routing/RootLayout.js +4 -1
- package/package.json +9 -9
package/dist/styles/index.css
CHANGED
|
@@ -153,7 +153,7 @@
|
|
|
153
153
|
--font-headline: var(--font-sans);
|
|
154
154
|
|
|
155
155
|
--font-mono:
|
|
156
|
-
ui-monospace, 'SF Mono', 'Cascadia Code',
|
|
156
|
+
ui-monospace, 'SF Mono', 'Cascadia Code', Consolas, Monaco,
|
|
157
157
|
'Liberation Mono', monospace;
|
|
158
158
|
|
|
159
159
|
/* Typography Scale - Musical Scale System (STANDARD density defaults - Major Third 1.25×) */
|
|
@@ -710,6 +710,16 @@ em {
|
|
|
710
710
|
|
|
711
711
|
/* packages/components/src/styles/patterns.css */
|
|
712
712
|
|
|
713
|
+
/* Menu scroll area pattern - shared by DropdownMenu, Select, Combobox */
|
|
714
|
+
|
|
715
|
+
.dndev-menu-scroll-area {
|
|
716
|
+
max-height: 50dvh;
|
|
717
|
+
}
|
|
718
|
+
|
|
719
|
+
.dndev-menu-scroll-area .dndev-scroll-area-viewport {
|
|
720
|
+
max-height: 50dvh;
|
|
721
|
+
}
|
|
722
|
+
|
|
713
723
|
/* ===========================
|
|
714
724
|
FORM COMPONENTS (BASE)
|
|
715
725
|
=========================== */
|
|
@@ -904,6 +914,9 @@ em {
|
|
|
904
914
|
border-radius: var(--radius-surface);
|
|
905
915
|
box-shadow: var(--shadow-md);
|
|
906
916
|
padding: var(--gap-md); /* 1rem / 16px default */
|
|
917
|
+
padding-block-start: calc(
|
|
918
|
+
var(--gap-md) + var(--gap-sm)
|
|
919
|
+
); /* Extra top padding for FloatingLabels */
|
|
907
920
|
position: relative;
|
|
908
921
|
overflow: hidden;
|
|
909
922
|
contain: layout style;
|
|
@@ -1154,6 +1167,9 @@ em {
|
|
|
1154
1167
|
border-radius: var(--radius-floating);
|
|
1155
1168
|
box-shadow: var(--shadow-md);
|
|
1156
1169
|
padding: var(--gap-md); /* 1rem / 16px default */
|
|
1170
|
+
padding-block-start: calc(
|
|
1171
|
+
var(--gap-md) + var(--gap-sm)
|
|
1172
|
+
); /* Extra top padding for FloatingLabels */
|
|
1157
1173
|
position: relative;
|
|
1158
1174
|
overflow: hidden;
|
|
1159
1175
|
contain: layout style;
|
|
@@ -2084,8 +2100,9 @@ em {
|
|
|
2084
2100
|
display: flex;
|
|
2085
2101
|
flex-direction: column;
|
|
2086
2102
|
overflow-y: auto;
|
|
2087
|
-
overflow-x:
|
|
2103
|
+
overflow-x: visible;
|
|
2088
2104
|
min-height: 0;
|
|
2105
|
+
padding-block-start: var(--gap-sm);
|
|
2089
2106
|
}
|
|
2090
2107
|
|
|
2091
2108
|
.dndev-modal-title {
|
|
@@ -2144,6 +2161,60 @@ em {
|
|
|
2144
2161
|
flex-direction: column;
|
|
2145
2162
|
}
|
|
2146
2163
|
|
|
2164
|
+
/* ===========================
|
|
2165
|
+
AUTH FORM PATTERNS
|
|
2166
|
+
=========================== */
|
|
2167
|
+
|
|
2168
|
+
/* Auth form step indicator */
|
|
2169
|
+
|
|
2170
|
+
.dndev-auth-step {
|
|
2171
|
+
display: inline-flex;
|
|
2172
|
+
align-items: center;
|
|
2173
|
+
justify-content: center;
|
|
2174
|
+
min-width: 1.5em;
|
|
2175
|
+
padding: var(--gap-sm);
|
|
2176
|
+
border-radius: var(--radius-sm);
|
|
2177
|
+
font-weight: var(--font-weight-semibold);
|
|
2178
|
+
transition: all var(--dur-fast) var(--ease-in-out);
|
|
2179
|
+
}
|
|
2180
|
+
|
|
2181
|
+
.dndev-auth-step[data-state='active'] {
|
|
2182
|
+
background-color: var(--primary);
|
|
2183
|
+
color: var(--primary-foreground);
|
|
2184
|
+
}
|
|
2185
|
+
|
|
2186
|
+
.dndev-auth-step[data-state='pending'] {
|
|
2187
|
+
background-color: var(--muted);
|
|
2188
|
+
color: var(--muted-foreground);
|
|
2189
|
+
}
|
|
2190
|
+
|
|
2191
|
+
.dndev-auth-step[data-state='completed'] {
|
|
2192
|
+
background-color: var(--success);
|
|
2193
|
+
color: var(--success-foreground);
|
|
2194
|
+
}
|
|
2195
|
+
|
|
2196
|
+
/* Opacity data attribute */
|
|
2197
|
+
|
|
2198
|
+
[data-opacity='50'] {
|
|
2199
|
+
opacity: 0.5;
|
|
2200
|
+
}
|
|
2201
|
+
|
|
2202
|
+
[data-opacity='70'] {
|
|
2203
|
+
opacity: 0.7;
|
|
2204
|
+
}
|
|
2205
|
+
|
|
2206
|
+
/* Inset data attribute - indent content */
|
|
2207
|
+
|
|
2208
|
+
[data-inset='true'] {
|
|
2209
|
+
padding-inline-start: var(--gap-md);
|
|
2210
|
+
}
|
|
2211
|
+
|
|
2212
|
+
/* Password strength bar height override */
|
|
2213
|
+
|
|
2214
|
+
.dndev-password-strength-bar {
|
|
2215
|
+
height: 4px;
|
|
2216
|
+
}
|
|
2217
|
+
|
|
2147
2218
|
/* 5. Individual Component Styles */
|
|
2148
2219
|
|
|
2149
2220
|
/* packages/components/src/atomic/Accordion/Accordion.css */
|
|
@@ -2190,21 +2261,46 @@ em {
|
|
|
2190
2261
|
flex-shrink: 0;
|
|
2191
2262
|
width: var(--icon-md);
|
|
2192
2263
|
height: var(--icon-md);
|
|
2193
|
-
transition: transform var(--dur-
|
|
2264
|
+
transition: transform var(--dur-normal) var(--ease-in-out);
|
|
2194
2265
|
}
|
|
2195
2266
|
|
|
2196
2267
|
.dndev-accordion-content {
|
|
2197
2268
|
overflow: hidden;
|
|
2198
2269
|
font-size: var(--font-size-base);
|
|
2199
|
-
transition: all var(--dur-fast) var(--ease-in-out);
|
|
2200
2270
|
width: 100%;
|
|
2201
2271
|
min-width: 0;
|
|
2202
2272
|
text-align: start;
|
|
2203
2273
|
}
|
|
2204
2274
|
|
|
2275
|
+
.dndev-accordion-content[data-state='open'] {
|
|
2276
|
+
animation: slideDown var(--dur-normal) var(--ease-in-out);
|
|
2277
|
+
}
|
|
2278
|
+
|
|
2205
2279
|
.dndev-accordion-content[data-state='closed'] {
|
|
2206
|
-
|
|
2280
|
+
animation: slideUp var(--dur-normal) var(--ease-in-out);
|
|
2281
|
+
}
|
|
2282
|
+
|
|
2283
|
+
@keyframes slideDown {
|
|
2284
|
+
from {
|
|
2285
|
+
height: 0;
|
|
2286
|
+
opacity: 0;
|
|
2287
|
+
}
|
|
2288
|
+
to {
|
|
2289
|
+
height: var(--radix-collapsible-content-height);
|
|
2290
|
+
opacity: 1;
|
|
2291
|
+
}
|
|
2292
|
+
}
|
|
2293
|
+
|
|
2294
|
+
@keyframes slideUp {
|
|
2295
|
+
from {
|
|
2296
|
+
height: var(--radix-collapsible-content-height);
|
|
2297
|
+
opacity: 1;
|
|
2298
|
+
}
|
|
2299
|
+
to {
|
|
2300
|
+
height: 0;
|
|
2301
|
+
opacity: 0;
|
|
2207
2302
|
}
|
|
2303
|
+
}
|
|
2208
2304
|
|
|
2209
2305
|
.dndev-accordion-content-inner {
|
|
2210
2306
|
padding-bottom: var(--gap-md);
|
|
@@ -3195,21 +3291,58 @@ em {
|
|
|
3195
3291
|
@keyframes slideDown {
|
|
3196
3292
|
from {
|
|
3197
3293
|
height: 0;
|
|
3294
|
+
opacity: 0;
|
|
3198
3295
|
}
|
|
3199
3296
|
to {
|
|
3200
3297
|
height: var(--radix-collapsible-content-height);
|
|
3298
|
+
opacity: 1;
|
|
3201
3299
|
}
|
|
3202
3300
|
}
|
|
3203
3301
|
|
|
3204
3302
|
@keyframes slideUp {
|
|
3205
3303
|
from {
|
|
3206
3304
|
height: var(--radix-collapsible-content-height);
|
|
3305
|
+
opacity: 1;
|
|
3207
3306
|
}
|
|
3208
3307
|
to {
|
|
3209
3308
|
height: 0;
|
|
3309
|
+
opacity: 0;
|
|
3210
3310
|
}
|
|
3211
3311
|
}
|
|
3212
3312
|
|
|
3313
|
+
.dndev-collapsible-trigger {
|
|
3314
|
+
width: 100%;
|
|
3315
|
+
cursor: pointer;
|
|
3316
|
+
transition: opacity var(--dur-fast) var(--ease-in-out);
|
|
3317
|
+
}
|
|
3318
|
+
|
|
3319
|
+
.dndev-collapsible-trigger:hover {
|
|
3320
|
+
opacity: var(--opacity-strong);
|
|
3321
|
+
}
|
|
3322
|
+
|
|
3323
|
+
.dndev-collapsible-trigger:focus-visible {
|
|
3324
|
+
outline: 2px solid var(--ring);
|
|
3325
|
+
outline-offset: 2px;
|
|
3326
|
+
border-radius: var(--radius-interactive);
|
|
3327
|
+
}
|
|
3328
|
+
|
|
3329
|
+
.dndev-collapsible-icon {
|
|
3330
|
+
width: var(--size-md);
|
|
3331
|
+
height: var(--size-md);
|
|
3332
|
+
flex-shrink: 0;
|
|
3333
|
+
color: var(--accent);
|
|
3334
|
+
transition: transform var(--dur-normal) var(--ease-in-out);
|
|
3335
|
+
}
|
|
3336
|
+
|
|
3337
|
+
.dndev-collapsible-chevron {
|
|
3338
|
+
transform: rotate(0deg);
|
|
3339
|
+
transition: transform var(--dur-normal) var(--ease-in-out);
|
|
3340
|
+
}
|
|
3341
|
+
|
|
3342
|
+
.dndev-collapsible[data-state='open'] .dndev-collapsible-chevron {
|
|
3343
|
+
transform: rotate(180deg);
|
|
3344
|
+
}
|
|
3345
|
+
|
|
3213
3346
|
/* packages/components/src/atomic/Combobox/Combobox.css */
|
|
3214
3347
|
|
|
3215
3348
|
.dndev-combobox-trigger {
|
|
@@ -3289,7 +3422,7 @@ em {
|
|
|
3289
3422
|
.dndev-combobox-content {
|
|
3290
3423
|
width: var(--radix-popover-trigger-width);
|
|
3291
3424
|
min-width: var(--radix-popover-trigger-width);
|
|
3292
|
-
max-
|
|
3425
|
+
max-width: var(--radix-popover-trigger-width);
|
|
3293
3426
|
display: flex;
|
|
3294
3427
|
flex-direction: column;
|
|
3295
3428
|
padding: 0;
|
|
@@ -3304,14 +3437,6 @@ em {
|
|
|
3304
3437
|
width: 100%;
|
|
3305
3438
|
}
|
|
3306
3439
|
|
|
3307
|
-
.dndev-combobox-list {
|
|
3308
|
-
overflow-y: auto;
|
|
3309
|
-
padding: var(--gap-tight);
|
|
3310
|
-
display: flex;
|
|
3311
|
-
flex-direction: column;
|
|
3312
|
-
gap: var(--gap-none);
|
|
3313
|
-
}
|
|
3314
|
-
|
|
3315
3440
|
.dndev-combobox-option {
|
|
3316
3441
|
all: unset;
|
|
3317
3442
|
display: flex;
|
|
@@ -3368,6 +3493,30 @@ em {
|
|
|
3368
3493
|
color: var(--muted-foreground);
|
|
3369
3494
|
}
|
|
3370
3495
|
|
|
3496
|
+
/* Creatable option styling */
|
|
3497
|
+
|
|
3498
|
+
.dndev-combobox-option-create {
|
|
3499
|
+
color: var(--primary);
|
|
3500
|
+
font-style: italic;
|
|
3501
|
+
}
|
|
3502
|
+
|
|
3503
|
+
.dndev-combobox-option-create-icon {
|
|
3504
|
+
width: var(--icon-md);
|
|
3505
|
+
height: var(--icon-md);
|
|
3506
|
+
margin-inline-end: var(--gap-sm);
|
|
3507
|
+
flex-shrink: 0;
|
|
3508
|
+
}
|
|
3509
|
+
|
|
3510
|
+
.dndev-combobox-open .dndev-input-with-trailing-icon .dndev-input-icon svg,
|
|
3511
|
+
.dndev-combobox-open .dndev-input-with-trailing-icon .dndev-input-icon > * {
|
|
3512
|
+
transform: rotate(180deg);
|
|
3513
|
+
}
|
|
3514
|
+
|
|
3515
|
+
.dndev-input-with-trailing-icon .dndev-input-icon svg,
|
|
3516
|
+
.dndev-input-with-trailing-icon .dndev-input-icon > * {
|
|
3517
|
+
transition: transform var(--dur-fast) var(--ease-in-out);
|
|
3518
|
+
}
|
|
3519
|
+
|
|
3371
3520
|
/* packages/components/src/atomic/DualCard/DualCard.css */
|
|
3372
3521
|
|
|
3373
3522
|
.dndev-dual-card {
|
|
@@ -3554,13 +3703,15 @@ em {
|
|
|
3554
3703
|
text-align: start;
|
|
3555
3704
|
display: block;
|
|
3556
3705
|
line-height: 1.5; /* Match line numbers */
|
|
3706
|
+
font-size: var(--font-size-sm); /* Explicit match with line numbers */
|
|
3557
3707
|
}
|
|
3558
3708
|
|
|
3559
|
-
/* Ensure shiki-generated code respects line-height */
|
|
3709
|
+
/* Ensure shiki-generated code respects line-height AND font-size */
|
|
3560
3710
|
|
|
3561
3711
|
.dndev-code-code pre,
|
|
3562
3712
|
.dndev-code-code code {
|
|
3563
3713
|
line-height: inherit;
|
|
3714
|
+
font-size: inherit; /* Match parent font-size */
|
|
3564
3715
|
}
|
|
3565
3716
|
|
|
3566
3717
|
/* packages/components/src/atomic/Command/Command.css */
|
|
@@ -3938,16 +4089,6 @@ em {
|
|
|
3938
4089
|
padding: var(--gap-sm);
|
|
3939
4090
|
}
|
|
3940
4091
|
|
|
3941
|
-
/* Dropdown scroll area - constrain height to 50dvh */
|
|
3942
|
-
|
|
3943
|
-
.dndev-dropdown-scroll-area {
|
|
3944
|
-
max-height: 50dvh;
|
|
3945
|
-
}
|
|
3946
|
-
|
|
3947
|
-
.dndev-dropdown-scroll-area .dndev-scroll-area-viewport {
|
|
3948
|
-
max-height: 50dvh;
|
|
3949
|
-
}
|
|
3950
|
-
|
|
3951
4092
|
/* Checked state styling */
|
|
3952
4093
|
|
|
3953
4094
|
.dndev-interactive[data-role='menu-item'][data-state='checked'] {
|
|
@@ -4471,6 +4612,49 @@ em {
|
|
|
4471
4612
|
margin-inline-start: var(--gap-sm);
|
|
4472
4613
|
}
|
|
4473
4614
|
|
|
4615
|
+
/* Floating Label - positioned absolutely at top of input fields */
|
|
4616
|
+
|
|
4617
|
+
.dndev-floating-label {
|
|
4618
|
+
position: absolute;
|
|
4619
|
+
inset-inline-start: var(--gap-md);
|
|
4620
|
+
top: calc(-1 * var(--font-size-xs) / 2 - 1px);
|
|
4621
|
+
font-size: var(--font-size-xs);
|
|
4622
|
+
font-weight: 500;
|
|
4623
|
+
pointer-events: none;
|
|
4624
|
+
z-index: 1;
|
|
4625
|
+
background-color: var(--background);
|
|
4626
|
+
padding: 0 var(--gap-sm);
|
|
4627
|
+
line-height: 1;
|
|
4628
|
+
color: var(--foreground);
|
|
4629
|
+
}
|
|
4630
|
+
|
|
4631
|
+
/* Inherit background when inside floating containers (dropdowns, menus, popovers) */
|
|
4632
|
+
|
|
4633
|
+
.dndev-floating .dndev-floating-label,
|
|
4634
|
+
.dndev-menu-content .dndev-floating-label,
|
|
4635
|
+
[class*='dndev-dropdown'] .dndev-floating-label,
|
|
4636
|
+
[class*='dndev-navigation'] .dndev-floating-label {
|
|
4637
|
+
background-color: var(--popover);
|
|
4638
|
+
color: var(--popover-foreground);
|
|
4639
|
+
}
|
|
4640
|
+
|
|
4641
|
+
/* When floating container has blank glow, use solid popover background */
|
|
4642
|
+
|
|
4643
|
+
.dndev-floating[data-glow='blank'] .dndev-floating-label {
|
|
4644
|
+
background-color: var(--popover);
|
|
4645
|
+
}
|
|
4646
|
+
|
|
4647
|
+
.dndev-floating-label[data-disabled='true'] {
|
|
4648
|
+
color: var(--muted-foreground);
|
|
4649
|
+
}
|
|
4650
|
+
|
|
4651
|
+
.dndev-floating-label[data-truncate='true'] {
|
|
4652
|
+
max-width: calc(100% - var(--gap-md) * 2);
|
|
4653
|
+
overflow: hidden;
|
|
4654
|
+
text-overflow: ellipsis;
|
|
4655
|
+
white-space: nowrap;
|
|
4656
|
+
}
|
|
4657
|
+
|
|
4474
4658
|
/* packages/components/src/atomic/List/List.css */
|
|
4475
4659
|
|
|
4476
4660
|
.dndev-list {
|
|
@@ -4779,20 +4963,41 @@ em {
|
|
|
4779
4963
|
/* packages/components/src/atomic/PasswordInput/PasswordInput.css */
|
|
4780
4964
|
|
|
4781
4965
|
.dndev-password-input-with-toggle {
|
|
4782
|
-
padding-inline-end: var(--gap-
|
|
4966
|
+
padding-inline-end: calc(var(--gap-xl) + var(--gap-md)) !important;
|
|
4783
4967
|
}
|
|
4784
4968
|
|
|
4969
|
+
/* Eye icon toggle - ALWAYS at end, cannot be overridden */
|
|
4970
|
+
|
|
4785
4971
|
.dndev-password-toggle-button {
|
|
4786
|
-
position: absolute;
|
|
4787
|
-
|
|
4788
|
-
|
|
4789
|
-
|
|
4790
|
-
|
|
4791
|
-
|
|
4972
|
+
position: absolute !important;
|
|
4973
|
+
top: 50% !important;
|
|
4974
|
+
transform: translateY(-50%) !important;
|
|
4975
|
+
inset-inline-end: var(--gap-sm) !important;
|
|
4976
|
+
inset-inline-start: unset !important;
|
|
4977
|
+
background: none !important;
|
|
4978
|
+
border: none !important;
|
|
4979
|
+
cursor: pointer !important;
|
|
4980
|
+
padding: var(--gap-tight) !important;
|
|
4981
|
+
display: flex !important;
|
|
4982
|
+
align-items: center !important;
|
|
4983
|
+
opacity: var(--opacity-muted) !important;
|
|
4984
|
+
transition: opacity var(--dur-fast) var(--ease-in-out) !important;
|
|
4985
|
+
-webkit-user-select: none !important;
|
|
4986
|
+
-moz-user-select: none !important;
|
|
4987
|
+
user-select: none !important;
|
|
4988
|
+
z-index: 1 !important;
|
|
4989
|
+
}
|
|
4990
|
+
|
|
4991
|
+
.dndev-password-toggle-button:hover,
|
|
4992
|
+
.dndev-password-toggle-button:focus {
|
|
4993
|
+
opacity: 1 !important;
|
|
4994
|
+
outline: none !important;
|
|
4792
4995
|
}
|
|
4793
4996
|
|
|
4794
4997
|
.dndev-password-toggle-icon {
|
|
4795
4998
|
color: var(--muted-foreground);
|
|
4999
|
+
width: var(--icon-sm);
|
|
5000
|
+
height: var(--icon-sm);
|
|
4796
5001
|
}
|
|
4797
5002
|
|
|
4798
5003
|
/* packages/components/src/atomic/Pagination/Pagination.css */
|
|
@@ -4884,9 +5089,32 @@ em {
|
|
|
4884
5089
|
height: 100%;
|
|
4885
5090
|
width: 100%;
|
|
4886
5091
|
flex: 1;
|
|
5092
|
+
background-color: var(--primary);
|
|
4887
5093
|
transition: transform var(--dur-normal) var(--ease-in-out);
|
|
5094
|
+
|
|
5095
|
+
/* Variant colors */
|
|
4888
5096
|
}
|
|
4889
5097
|
|
|
5098
|
+
[data-variant='default']:is(.dndev-progress [data-radix-progress-indicator]) {
|
|
5099
|
+
background-color: var(--primary);
|
|
5100
|
+
}
|
|
5101
|
+
|
|
5102
|
+
[data-variant='accent']:is(.dndev-progress [data-radix-progress-indicator]) {
|
|
5103
|
+
background-color: var(--accent);
|
|
5104
|
+
}
|
|
5105
|
+
|
|
5106
|
+
[data-variant='success']:is(.dndev-progress [data-radix-progress-indicator]) {
|
|
5107
|
+
background-color: var(--success);
|
|
5108
|
+
}
|
|
5109
|
+
|
|
5110
|
+
[data-variant='warning']:is(.dndev-progress [data-radix-progress-indicator]) {
|
|
5111
|
+
background-color: var(--warning);
|
|
5112
|
+
}
|
|
5113
|
+
|
|
5114
|
+
[data-variant='destructive']:is(.dndev-progress [data-radix-progress-indicator]) {
|
|
5115
|
+
background-color: var(--destructive);
|
|
5116
|
+
}
|
|
5117
|
+
|
|
4890
5118
|
/* packages/components/src/atomic/RadioGroup/RadioGroup.css */
|
|
4891
5119
|
|
|
4892
5120
|
/* Uses shared .dndev-control-group pattern from patterns.css */
|
|
@@ -5092,7 +5320,6 @@ em {
|
|
|
5092
5320
|
display: flex;
|
|
5093
5321
|
flex-direction: column;
|
|
5094
5322
|
padding: 0;
|
|
5095
|
-
overflow-y: auto;
|
|
5096
5323
|
}
|
|
5097
5324
|
|
|
5098
5325
|
.dndev-interactive[data-radix-select-item] {
|
|
@@ -5214,6 +5441,7 @@ em {
|
|
|
5214
5441
|
letter-spacing: 0.2em;
|
|
5215
5442
|
color: var(--accent) !important;
|
|
5216
5443
|
margin-block-end: var(--gap-md);
|
|
5444
|
+
text-align: center; /* DEFAULT - works without attribute selector */
|
|
5217
5445
|
}
|
|
5218
5446
|
|
|
5219
5447
|
.dndev-section-full-width[data-text-align='start'] .dndev-section-title {
|
|
@@ -5228,6 +5456,51 @@ em {
|
|
|
5228
5456
|
text-align: end;
|
|
5229
5457
|
}
|
|
5230
5458
|
|
|
5459
|
+
/* Collapsible title trigger */
|
|
5460
|
+
|
|
5461
|
+
.dndev-section-title-trigger {
|
|
5462
|
+
width: 100%;
|
|
5463
|
+
cursor: pointer;
|
|
5464
|
+
transition: opacity var(--dur-fast) var(--ease-in-out);
|
|
5465
|
+
margin-block-end: var(--gap-md);
|
|
5466
|
+
}
|
|
5467
|
+
|
|
5468
|
+
.dndev-section-title-trigger .dndev-section-title {
|
|
5469
|
+
margin-block-end: 0;
|
|
5470
|
+
}
|
|
5471
|
+
|
|
5472
|
+
.dndev-section-title-trigger:hover {
|
|
5473
|
+
opacity: var(--opacity-strong);
|
|
5474
|
+
}
|
|
5475
|
+
|
|
5476
|
+
.dndev-section-title-trigger:focus-visible {
|
|
5477
|
+
outline: 2px solid var(--ring);
|
|
5478
|
+
outline-offset: 2px;
|
|
5479
|
+
border-radius: var(--radius-interactive);
|
|
5480
|
+
}
|
|
5481
|
+
|
|
5482
|
+
.dndev-section-icon {
|
|
5483
|
+
width: var(--size-md);
|
|
5484
|
+
height: var(--size-md);
|
|
5485
|
+
flex-shrink: 0;
|
|
5486
|
+
color: var(--accent);
|
|
5487
|
+
transition: transform var(--dur-normal) var(--ease-in-out);
|
|
5488
|
+
}
|
|
5489
|
+
|
|
5490
|
+
.dndev-section-full-width[data-text-align='start']
|
|
5491
|
+
.dndev-section-title-trigger {
|
|
5492
|
+
justify-content: flex-start;
|
|
5493
|
+
}
|
|
5494
|
+
|
|
5495
|
+
.dndev-section-full-width[data-text-align='center']
|
|
5496
|
+
.dndev-section-title-trigger {
|
|
5497
|
+
justify-content: center;
|
|
5498
|
+
}
|
|
5499
|
+
|
|
5500
|
+
.dndev-section-full-width[data-text-align='end'] .dndev-section-title-trigger {
|
|
5501
|
+
justify-content: flex-end;
|
|
5502
|
+
}
|
|
5503
|
+
|
|
5231
5504
|
/* packages/components/src/atomic/Separator/Separator.css */
|
|
5232
5505
|
|
|
5233
5506
|
.dndev-separator {
|
|
@@ -6090,6 +6363,64 @@ em {
|
|
|
6090
6363
|
transform: translateX(calc(2.75rem - 1.25rem - 0.125rem));
|
|
6091
6364
|
}
|
|
6092
6365
|
|
|
6366
|
+
/* Switch with labels container */
|
|
6367
|
+
|
|
6368
|
+
.dndev-switch-with-labels {
|
|
6369
|
+
display: inline-flex;
|
|
6370
|
+
align-items: center;
|
|
6371
|
+
gap: var(--gap-sm);
|
|
6372
|
+
flex-wrap: wrap;
|
|
6373
|
+
}
|
|
6374
|
+
|
|
6375
|
+
/* Labels - keep switch and its labels on one line when possible */
|
|
6376
|
+
|
|
6377
|
+
.dndev-switch-with-labels > .dndev-switch {
|
|
6378
|
+
flex-shrink: 0;
|
|
6379
|
+
}
|
|
6380
|
+
|
|
6381
|
+
.dndev-switch-label {
|
|
6382
|
+
font-size: var(--font-size-sm);
|
|
6383
|
+
transition: color var(--dur-normal) var(--ease-in-out),
|
|
6384
|
+
font-weight var(--dur-normal) var(--ease-in-out);
|
|
6385
|
+
white-space: nowrap;
|
|
6386
|
+
}
|
|
6387
|
+
|
|
6388
|
+
/* Unchecked label - active when switch is unchecked */
|
|
6389
|
+
|
|
6390
|
+
.dndev-switch-with-labels:not(:has(.dndev-switch[data-state='checked']))
|
|
6391
|
+
.dndev-switch-label-unchecked,
|
|
6392
|
+
.dndev-switch-with-labels[data-checked='false']
|
|
6393
|
+
.dndev-switch-label-unchecked {
|
|
6394
|
+
color: var(--foreground);
|
|
6395
|
+
font-weight: var(--font-weight-medium);
|
|
6396
|
+
}
|
|
6397
|
+
|
|
6398
|
+
.dndev-switch-with-labels:has(.dndev-switch[data-state='checked'])
|
|
6399
|
+
.dndev-switch-label-unchecked,
|
|
6400
|
+
.dndev-switch-with-labels[data-checked='true']
|
|
6401
|
+
.dndev-switch-label-unchecked {
|
|
6402
|
+
color: var(--muted-foreground);
|
|
6403
|
+
font-weight: var(--font-weight-normal);
|
|
6404
|
+
}
|
|
6405
|
+
|
|
6406
|
+
/* Checked label - active when switch is checked */
|
|
6407
|
+
|
|
6408
|
+
.dndev-switch-with-labels:has(.dndev-switch[data-state='checked'])
|
|
6409
|
+
.dndev-switch-label-checked,
|
|
6410
|
+
.dndev-switch-with-labels[data-checked='true']
|
|
6411
|
+
.dndev-switch-label-checked {
|
|
6412
|
+
color: var(--foreground);
|
|
6413
|
+
font-weight: var(--font-weight-medium);
|
|
6414
|
+
}
|
|
6415
|
+
|
|
6416
|
+
.dndev-switch-with-labels:not(:has(.dndev-switch[data-state='checked']))
|
|
6417
|
+
.dndev-switch-label-checked,
|
|
6418
|
+
.dndev-switch-with-labels[data-checked='false']
|
|
6419
|
+
.dndev-switch-label-checked {
|
|
6420
|
+
color: var(--muted-foreground);
|
|
6421
|
+
font-weight: var(--font-weight-normal);
|
|
6422
|
+
}
|
|
6423
|
+
|
|
6093
6424
|
/* packages/components/src/atomic/Table/Table.css */
|
|
6094
6425
|
|
|
6095
6426
|
.dndev-table-wrapper {
|
|
@@ -6155,7 +6486,7 @@ em {
|
|
|
6155
6486
|
/* Table head (th) styles */
|
|
6156
6487
|
|
|
6157
6488
|
.dndev-table-head {
|
|
6158
|
-
text-align:
|
|
6489
|
+
text-align: start;
|
|
6159
6490
|
vertical-align: middle;
|
|
6160
6491
|
font-weight: 500;
|
|
6161
6492
|
color: var(--muted-foreground);
|
|
@@ -6172,12 +6503,12 @@ em {
|
|
|
6172
6503
|
text-align: center;
|
|
6173
6504
|
}
|
|
6174
6505
|
|
|
6175
|
-
.dndev-table-head[data-align='
|
|
6176
|
-
text-align:
|
|
6506
|
+
.dndev-table-head[data-align='end'] {
|
|
6507
|
+
text-align: end;
|
|
6177
6508
|
}
|
|
6178
6509
|
|
|
6179
|
-
.dndev-table-head[data-align='
|
|
6180
|
-
text-align:
|
|
6510
|
+
.dndev-table-head[data-align='start'] {
|
|
6511
|
+
text-align: start;
|
|
6181
6512
|
}
|
|
6182
6513
|
|
|
6183
6514
|
/* Table cell (td) styles */
|
|
@@ -6193,14 +6524,48 @@ em {
|
|
|
6193
6524
|
text-align: center;
|
|
6194
6525
|
}
|
|
6195
6526
|
|
|
6196
|
-
.dndev-table-cell[data-align='
|
|
6197
|
-
text-align:
|
|
6527
|
+
.dndev-table-cell[data-align='end'] {
|
|
6528
|
+
text-align: end;
|
|
6198
6529
|
}
|
|
6199
6530
|
|
|
6200
|
-
.dndev-table-cell[data-align='
|
|
6201
|
-
text-align:
|
|
6531
|
+
.dndev-table-cell[data-align='start'] {
|
|
6532
|
+
text-align: start;
|
|
6202
6533
|
}
|
|
6203
6534
|
|
|
6535
|
+
/* Excel-like grid lines variant */
|
|
6536
|
+
|
|
6537
|
+
.dndev-table-grid .dndev-table-head,
|
|
6538
|
+
.dndev-table-grid .dndev-table-cell {
|
|
6539
|
+
border: 1px solid var(--border);
|
|
6540
|
+
padding: 0;
|
|
6541
|
+
}
|
|
6542
|
+
|
|
6543
|
+
.dndev-table-grid .dndev-table-row {
|
|
6544
|
+
border-bottom: 1px solid var(--border);
|
|
6545
|
+
}
|
|
6546
|
+
|
|
6547
|
+
.dndev-table-grid .dndev-table-row:last-child {
|
|
6548
|
+
border-bottom: 1px solid var(--border);
|
|
6549
|
+
}
|
|
6550
|
+
|
|
6551
|
+
/* Input components inside grid cells should be borderless and fit snugly */
|
|
6552
|
+
|
|
6553
|
+
.dndev-table-grid .dndev-table-cell .dndev-input,
|
|
6554
|
+
.dndev-table-grid .dndev-table-cell input[type="text"],
|
|
6555
|
+
.dndev-table-grid .dndev-table-cell input[type="number"] {
|
|
6556
|
+
border: none;
|
|
6557
|
+
background: transparent;
|
|
6558
|
+
width: 100%;
|
|
6559
|
+
height: 100%;
|
|
6560
|
+
box-shadow: none;
|
|
6561
|
+
}
|
|
6562
|
+
|
|
6563
|
+
.dndev-table-grid .dndev-table-cell .dndev-input:focus,
|
|
6564
|
+
.dndev-table-grid .dndev-table-cell input:focus {
|
|
6565
|
+
outline: 2px solid var(--primary);
|
|
6566
|
+
outline-offset: -2px;
|
|
6567
|
+
}
|
|
6568
|
+
|
|
6204
6569
|
/* Table caption styles */
|
|
6205
6570
|
|
|
6206
6571
|
.dndev-table-caption {
|
|
@@ -6217,7 +6582,7 @@ em {
|
|
|
6217
6582
|
|
|
6218
6583
|
.dndev-table-search-icon {
|
|
6219
6584
|
position: absolute;
|
|
6220
|
-
|
|
6585
|
+
inset-inline-start: var(--gap-md);
|
|
6221
6586
|
top: 50%;
|
|
6222
6587
|
transform: translateY(-50%);
|
|
6223
6588
|
width: var(--icon-md);
|
|
@@ -6384,7 +6749,7 @@ em {
|
|
|
6384
6749
|
.dndev-tag {
|
|
6385
6750
|
display: inline-flex;
|
|
6386
6751
|
align-items: center;
|
|
6387
|
-
gap: var(--gap-
|
|
6752
|
+
gap: var(--gap-sm);
|
|
6388
6753
|
border-radius: var(--radius-full);
|
|
6389
6754
|
border: 1px solid transparent;
|
|
6390
6755
|
font-size: var(--font-size-sm);
|
|
@@ -6514,8 +6879,18 @@ em {
|
|
|
6514
6879
|
font-weight: var(--font-weight-medium);
|
|
6515
6880
|
line-height: var(--line-height);
|
|
6516
6881
|
background-color: transparent; /* Text never has background, only color changes */
|
|
6882
|
+
|
|
6883
|
+
/* Respect semantic HTML elements */
|
|
6517
6884
|
}
|
|
6518
6885
|
|
|
6886
|
+
.dndev-text-base:is(strong) {
|
|
6887
|
+
font-weight: var(--font-weight-semibold);
|
|
6888
|
+
}
|
|
6889
|
+
|
|
6890
|
+
.dndev-text-base:is(em) {
|
|
6891
|
+
font-style: italic;
|
|
6892
|
+
}
|
|
6893
|
+
|
|
6519
6894
|
.dndev-text-base[data-variant='default'] {
|
|
6520
6895
|
color: inherit;
|
|
6521
6896
|
}
|
|
@@ -7463,7 +7838,7 @@ em {
|
|
|
7463
7838
|
align-items: stretch;
|
|
7464
7839
|
}
|
|
7465
7840
|
|
|
7466
|
-
@media (width <=
|
|
7841
|
+
@media (width <=699px) {
|
|
7467
7842
|
|
|
7468
7843
|
[data-cols='2'] {
|
|
7469
7844
|
grid-template-columns: repeat(1, minmax(350px, 1fr));
|
|
@@ -7475,14 +7850,14 @@ em {
|
|
|
7475
7850
|
align-items: stretch;
|
|
7476
7851
|
}
|
|
7477
7852
|
|
|
7478
|
-
@media (width <=
|
|
7853
|
+
@media (width <=1049px) {
|
|
7479
7854
|
|
|
7480
7855
|
[data-cols='3'] {
|
|
7481
7856
|
grid-template-columns: repeat(2, minmax(350px, 1fr));
|
|
7482
7857
|
}
|
|
7483
7858
|
}
|
|
7484
7859
|
|
|
7485
|
-
@media (width <=
|
|
7860
|
+
@media (width <=699px) {
|
|
7486
7861
|
|
|
7487
7862
|
[data-cols='3'] {
|
|
7488
7863
|
grid-template-columns: repeat(1, minmax(350px, 1fr));
|
|
@@ -7496,21 +7871,21 @@ em {
|
|
|
7496
7871
|
/* Responsive: reduce columns when container is narrow */
|
|
7497
7872
|
}
|
|
7498
7873
|
|
|
7499
|
-
@media (width <=
|
|
7874
|
+
@media (width <=1399px) {
|
|
7500
7875
|
|
|
7501
7876
|
[data-cols='4'] {
|
|
7502
7877
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
7503
7878
|
}
|
|
7504
7879
|
}
|
|
7505
7880
|
|
|
7506
|
-
@media (width <=
|
|
7881
|
+
@media (width <=1049px) {
|
|
7507
7882
|
|
|
7508
7883
|
[data-cols='4'] {
|
|
7509
7884
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
7510
7885
|
}
|
|
7511
7886
|
}
|
|
7512
7887
|
|
|
7513
|
-
@media (width <=
|
|
7888
|
+
@media (width <=699px) {
|
|
7514
7889
|
|
|
7515
7890
|
[data-cols='4'] {
|
|
7516
7891
|
grid-template-columns: repeat(1, minmax(0, 1fr));
|
|
@@ -7577,18 +7952,22 @@ em {
|
|
|
7577
7952
|
|
|
7578
7953
|
code {
|
|
7579
7954
|
font-family: var(--font-mono);
|
|
7580
|
-
font-size: inherit;
|
|
7581
|
-
|
|
7955
|
+
font-size: inherit;
|
|
7956
|
+
/* Inherit parent size */
|
|
7957
|
+
font-weight: inherit;
|
|
7958
|
+
/* Inherit parent weight */
|
|
7582
7959
|
line-height: inherit;
|
|
7583
7960
|
color: inherit;
|
|
7584
|
-
background: transparent;
|
|
7961
|
+
background: transparent;
|
|
7962
|
+
/* No background by default */
|
|
7585
7963
|
}
|
|
7586
7964
|
|
|
7587
7965
|
/* Code variant - visual styling (background, padding, can apply to any element) */
|
|
7588
7966
|
|
|
7589
7967
|
[data-variant='code'] {
|
|
7590
7968
|
font-family: var(--font-mono);
|
|
7591
|
-
font-size: var(--font-size-sm);
|
|
7969
|
+
font-size: var(--font-size-sm);
|
|
7970
|
+
/* Default small size */
|
|
7592
7971
|
background: var(--muted);
|
|
7593
7972
|
color: var(--muted-foreground);
|
|
7594
7973
|
padding: var(--gap-sm) var(--gap-md);
|
|
@@ -7683,7 +8062,8 @@ h4[data-variant='code'] {
|
|
|
7683
8062
|
|
|
7684
8063
|
.dndev-relative {
|
|
7685
8064
|
position: relative;
|
|
7686
|
-
min-width: 0;
|
|
8065
|
+
min-width: 0;
|
|
8066
|
+
/* Allow flex items to shrink below content size */
|
|
7687
8067
|
}
|
|
7688
8068
|
|
|
7689
8069
|
.dndev-absolute {
|
|
@@ -7788,7 +8168,7 @@ h4[data-variant='code'] {
|
|
|
7788
8168
|
RESPONSIVE DISPLAY
|
|
7789
8169
|
=========================== */
|
|
7790
8170
|
|
|
7791
|
-
@media (width >=
|
|
8171
|
+
@media (width >=768px) {
|
|
7792
8172
|
.dndev-md\:block {
|
|
7793
8173
|
display: block;
|
|
7794
8174
|
}
|
|
@@ -7814,7 +8194,7 @@ h4[data-variant='code'] {
|
|
|
7814
8194
|
}
|
|
7815
8195
|
}
|
|
7816
8196
|
|
|
7817
|
-
@media (width >=
|
|
8197
|
+
@media (width >=1024px) {
|
|
7818
8198
|
.dndev-lg\:block {
|
|
7819
8199
|
display: block;
|
|
7820
8200
|
}
|
|
@@ -7874,6 +8254,10 @@ h4[data-variant='code'] {
|
|
|
7874
8254
|
Components are unaffected - they own their own spacing
|
|
7875
8255
|
=========================== */
|
|
7876
8256
|
|
|
8257
|
+
.prose {
|
|
8258
|
+
text-align: start;
|
|
8259
|
+
}
|
|
8260
|
+
|
|
7877
8261
|
.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6 {
|
|
7878
8262
|
margin-block: var(--gap-md);
|
|
7879
8263
|
}
|
|
@@ -9077,7 +9461,7 @@ footer[role='contentinfo'] a:not(.dndev-interactive):hover {
|
|
|
9077
9461
|
.breadcrumb-item {
|
|
9078
9462
|
display: inline-flex;
|
|
9079
9463
|
align-items: center;
|
|
9080
|
-
gap: var(--gap-
|
|
9464
|
+
gap: var(--gap-sm);
|
|
9081
9465
|
}
|
|
9082
9466
|
|
|
9083
9467
|
.breadcrumbs .separator,
|
|
@@ -9154,7 +9538,7 @@ footer[role='contentinfo'] a:not(.dndev-interactive):hover {
|
|
|
9154
9538
|
min-height: 0;
|
|
9155
9539
|
display: flex;
|
|
9156
9540
|
flex-direction: column;
|
|
9157
|
-
justify-content:
|
|
9541
|
+
justify-content: flex-start;
|
|
9158
9542
|
gap: var(--gap-lg);
|
|
9159
9543
|
/* Controlled by density system */
|
|
9160
9544
|
/* Default: centered */
|