@donotdev/ui 0.0.11 → 0.0.13
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/common/FeatureCard.js +1 -1
- package/dist/components/common/RedirectOverlay.js +1 -1
- package/dist/components/cookie-consent/CookieConsent.js +3 -3
- package/dist/components/layout/GameContainer.d.ts +26 -8
- package/dist/components/layout/GameContainer.d.ts.map +1 -1
- package/dist/components/layout/GameContainer.js +21 -2
- package/dist/components/layout/GameFlow.d.ts.map +1 -1
- package/dist/components/layout/GameFlow.js +27 -11
- package/dist/components/layout/PageContainer.d.ts +1 -1
- package/dist/components/layout/PageContainer.d.ts.map +1 -1
- package/dist/components/layout/components/header/CacheSettings.js +1 -1
- package/dist/crud/components/EntityCardList.d.ts.map +1 -1
- package/dist/crud/components/EntityCardList.js +16 -10
- package/dist/crud/components/EntityDisplayRenderer.js +2 -2
- package/dist/crud/components/EntityFormRenderer.d.ts.map +1 -1
- package/dist/crud/components/EntityFormRenderer.js +31 -20
- 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 +11 -11
- package/dist/crud/components/Form.js +1 -1
- package/dist/dndev.css +128 -83
- package/dist/index.js +4 -4
- package/dist/internal/common/RouteErrorFallback.js +3 -3
- package/dist/internal/devtools/components/ConfigTab.js +1 -1
- package/dist/internal/devtools/components/CookieTab.js +1 -1
- package/dist/internal/devtools/components/DesignTab.js +2 -2
- package/dist/internal/devtools/components/StoresTab.js +2 -2
- package/dist/internal/layout/config/presets/game.d.ts.map +1 -1
- package/dist/internal/layout/config/presets/game.js +10 -5
- package/dist/internal/layout/zones/DnDevFooter.js +1 -1
- package/dist/internal/layout/zones/DnDevMergedBar.js +1 -1
- package/dist/routing/404.js +3 -3
- package/dist/routing/AuthGuardFallback.js +2 -2
- package/dist/styles/index.css +128 -83
- package/package.json +5 -5
package/dist/dndev.css
CHANGED
|
@@ -3144,7 +3144,7 @@ em {
|
|
|
3144
3144
|
|
|
3145
3145
|
.dndev-cta-actions {
|
|
3146
3146
|
display: flex;
|
|
3147
|
-
flex-direction:
|
|
3147
|
+
flex-direction: row;
|
|
3148
3148
|
gap: var(--gap-md);
|
|
3149
3149
|
justify-content: center;
|
|
3150
3150
|
}
|
|
@@ -3179,13 +3179,6 @@ em {
|
|
|
3179
3179
|
border-color: var(--foreground);
|
|
3180
3180
|
}
|
|
3181
3181
|
|
|
3182
|
-
@media (width >= 768px) {
|
|
3183
|
-
|
|
3184
|
-
.dndev-cta-actions {
|
|
3185
|
-
flex-direction: row;
|
|
3186
|
-
}
|
|
3187
|
-
}
|
|
3188
|
-
|
|
3189
3182
|
/* packages/components/src/atomic/Card/Card.css */
|
|
3190
3183
|
|
|
3191
3184
|
/* Card layout - grid with gap */
|
|
@@ -3635,12 +3628,10 @@ em {
|
|
|
3635
3628
|
/* Code-specific overrides: background color, text color, and layout */
|
|
3636
3629
|
display: flex;
|
|
3637
3630
|
flex-direction: column;
|
|
3638
|
-
background: var(
|
|
3639
|
-
|
|
3640
|
-
);
|
|
3641
|
-
color
|
|
3642
|
-
--muted-foreground
|
|
3643
|
-
); /* Override surface text color for dark background */
|
|
3631
|
+
background: var(--muted);
|
|
3632
|
+
/* Override surface gradient with code-specific dark background */
|
|
3633
|
+
color: var(--muted-foreground);
|
|
3634
|
+
/* Override surface text color for dark background */
|
|
3644
3635
|
overflow: hidden;
|
|
3645
3636
|
font-family: var(--font-mono);
|
|
3646
3637
|
font-size: var(--font-size-sm);
|
|
@@ -3714,8 +3705,6 @@ em {
|
|
|
3714
3705
|
white-space: pre;
|
|
3715
3706
|
overflow-x: auto;
|
|
3716
3707
|
overflow-y: visible;
|
|
3717
|
-
min-width: -moz-min-content;
|
|
3718
|
-
min-width: min-content;
|
|
3719
3708
|
}
|
|
3720
3709
|
|
|
3721
3710
|
.dndev-code-pre[data-compact='true'] {
|
|
@@ -3732,16 +3721,19 @@ em {
|
|
|
3732
3721
|
user-select: none;
|
|
3733
3722
|
padding-inline-end: var(--gap-md);
|
|
3734
3723
|
text-align: end;
|
|
3735
|
-
font-size: inherit;
|
|
3724
|
+
font-size: inherit;
|
|
3725
|
+
/* Match parent code font-size */
|
|
3736
3726
|
opacity: var(--opacity-muted);
|
|
3737
3727
|
width: 3rem;
|
|
3738
3728
|
flex-shrink: 0;
|
|
3739
3729
|
color: var(--muted-foreground);
|
|
3740
|
-
line-height: 1.5;
|
|
3730
|
+
line-height: 1.5;
|
|
3731
|
+
/* Consistent line height */
|
|
3741
3732
|
}
|
|
3742
3733
|
|
|
3743
3734
|
.dndev-code-line-number {
|
|
3744
|
-
line-height: inherit;
|
|
3735
|
+
line-height: inherit;
|
|
3736
|
+
/* Inherit from parent */
|
|
3745
3737
|
}
|
|
3746
3738
|
|
|
3747
3739
|
.dndev-code-code {
|
|
@@ -3749,8 +3741,10 @@ em {
|
|
|
3749
3741
|
min-width: 0;
|
|
3750
3742
|
text-align: start;
|
|
3751
3743
|
display: block;
|
|
3752
|
-
line-height: 1.5;
|
|
3753
|
-
|
|
3744
|
+
line-height: 1.5;
|
|
3745
|
+
/* Match line numbers */
|
|
3746
|
+
font-size: var(--font-size-sm);
|
|
3747
|
+
/* Explicit match with line numbers */
|
|
3754
3748
|
}
|
|
3755
3749
|
|
|
3756
3750
|
/* Ensure shiki-generated code respects line-height AND font-size */
|
|
@@ -3758,7 +3752,8 @@ em {
|
|
|
3758
3752
|
.dndev-code-code pre,
|
|
3759
3753
|
.dndev-code-code code {
|
|
3760
3754
|
line-height: inherit;
|
|
3761
|
-
font-size: inherit;
|
|
3755
|
+
font-size: inherit;
|
|
3756
|
+
/* Match parent font-size */
|
|
3762
3757
|
}
|
|
3763
3758
|
|
|
3764
3759
|
/* packages/components/src/atomic/Command/Command.css */
|
|
@@ -7539,6 +7534,10 @@ input[type='number'] {
|
|
|
7539
7534
|
font-weight: var(--font-weight-bold);
|
|
7540
7535
|
}
|
|
7541
7536
|
|
|
7537
|
+
.dndev-text-base[data-italic] {
|
|
7538
|
+
font-style: italic;
|
|
7539
|
+
}
|
|
7540
|
+
|
|
7542
7541
|
/* packages/components/src/atomic/Toaster/Toaster.css */
|
|
7543
7542
|
|
|
7544
7543
|
.dndev-toast-viewport {
|
|
@@ -7738,8 +7737,9 @@ input[type='number'] {
|
|
|
7738
7737
|
|
|
7739
7738
|
.dndev-toggle-group {
|
|
7740
7739
|
display: inline-flex;
|
|
7740
|
+
flex-wrap: wrap;
|
|
7741
7741
|
align-items: center;
|
|
7742
|
-
gap:
|
|
7742
|
+
gap: var(--gap-sm);
|
|
7743
7743
|
padding: 0.125rem;
|
|
7744
7744
|
border-radius: var(--radius-interactive);
|
|
7745
7745
|
background-color: var(--muted);
|
|
@@ -7935,12 +7935,16 @@ input[type='number'] {
|
|
|
7935
7935
|
|
|
7936
7936
|
.dndev-video-dialog {
|
|
7937
7937
|
max-width: 90vw;
|
|
7938
|
-
max-height: 90vh;
|
|
7939
7938
|
}
|
|
7940
7939
|
|
|
7941
7940
|
.dndev-video-dialog .dndev-modal-body {
|
|
7942
7941
|
padding: 0;
|
|
7942
|
+
overflow: hidden;
|
|
7943
|
+
}
|
|
7944
|
+
|
|
7945
|
+
.dndev-video-dialog .dndev-video-frame {
|
|
7943
7946
|
aspect-ratio: 16/9;
|
|
7947
|
+
max-height: calc(90vh - 5rem);
|
|
7944
7948
|
}
|
|
7945
7949
|
|
|
7946
7950
|
/* 6. Animation keyframes */
|
|
@@ -9077,9 +9081,16 @@ h4[data-variant='code'] {
|
|
|
9077
9081
|
--sidebar-resize-handle-width: 6px;
|
|
9078
9082
|
|
|
9079
9083
|
/* Content width - max constraint only, grid handles sidebar space */
|
|
9080
|
-
/* PageContainer sets --max-content-width
|
|
9084
|
+
/* PageContainer sets --max-content-width per variant, components use --content-width */
|
|
9085
|
+
--max-content-width: 100%;
|
|
9081
9086
|
--content-width: var(--max-content-width, 100%);
|
|
9082
9087
|
|
|
9088
|
+
/* Narrow content (mobile-first PWA, app-like single column) - single source of truth */
|
|
9089
|
+
--narrow-content-max: 37.5rem;
|
|
9090
|
+
/* 600px */
|
|
9091
|
+
--narrow-form-max: 30rem;
|
|
9092
|
+
/* 480px - inner form/input width within narrow layout */
|
|
9093
|
+
|
|
9083
9094
|
/* Content Area Calculations */
|
|
9084
9095
|
/* Header content area (excludes sidebar on some presets) */
|
|
9085
9096
|
--header-content-width: 100%;
|
|
@@ -9312,52 +9323,74 @@ main[role='main'][data-routing-animation='none'] {
|
|
|
9312
9323
|
auto
|
|
9313
9324
|
);
|
|
9314
9325
|
grid-template-columns: var(--sidebar-width) 1fr;
|
|
9315
|
-
|
|
9316
|
-
/* Mobile: Grid scrolls instead of main - footer scrolls with content */
|
|
9317
9326
|
}
|
|
9318
9327
|
|
|
9319
|
-
|
|
9320
|
-
|
|
9321
|
-
.dndev-layout {
|
|
9322
|
-
overflow-y: auto;
|
|
9323
|
-
overflow-x: hidden;
|
|
9324
|
-
/* Keep footer row - grid scrolls so footer scrolls with content */
|
|
9325
|
-
grid-template-areas:
|
|
9326
|
-
'header header'
|
|
9327
|
-
'sidebar main'
|
|
9328
|
-
'footer footer';
|
|
9329
|
-
grid-template-rows: var(--header-height) min-content auto;
|
|
9330
|
-
}
|
|
9331
|
-
}
|
|
9328
|
+
/* Footer scroll mode: grid scrolls, footer scrolls with content */
|
|
9332
9329
|
|
|
9333
|
-
/*
|
|
9330
|
+
/* Desktop: opt-in via data-footer-mode="scroll" */
|
|
9334
9331
|
|
|
9335
9332
|
.dndev-layout[data-footer-mode='scroll'] {
|
|
9336
9333
|
overflow-y: auto;
|
|
9337
9334
|
overflow-x: hidden;
|
|
9338
|
-
grid-template-rows: var(--header-height)
|
|
9335
|
+
grid-template-rows: var(--header-height) 1fr auto;
|
|
9339
9336
|
}
|
|
9340
9337
|
|
|
9341
9338
|
.dndev-layout[data-footer-mode='scroll'] header[role='banner'] {
|
|
9342
|
-
|
|
9343
|
-
|
|
9344
|
-
}
|
|
9339
|
+
position: sticky;
|
|
9340
|
+
top: 0;
|
|
9341
|
+
}
|
|
9342
|
+
|
|
9343
|
+
.dndev-layout[data-footer-mode='scroll'] aside.sidebar[role='navigation'] {
|
|
9344
|
+
position: sticky;
|
|
9345
|
+
top: var(--header-height);
|
|
9346
|
+
height: calc(100dvh - var(--header-height));
|
|
9347
|
+
align-self: start;
|
|
9348
|
+
}
|
|
9345
9349
|
|
|
9346
9350
|
.dndev-layout[data-footer-mode='scroll'] main[role='main'] {
|
|
9347
|
-
|
|
9348
|
-
|
|
9349
|
-
|
|
9350
|
-
}
|
|
9351
|
+
overflow-y: visible;
|
|
9352
|
+
overflow-x: hidden;
|
|
9353
|
+
}
|
|
9351
9354
|
|
|
9352
9355
|
.dndev-layout[data-footer-mode='scroll'] footer[role='contentinfo'] {
|
|
9353
|
-
|
|
9354
|
-
|
|
9356
|
+
grid-column: 2 / -1;
|
|
9357
|
+
height: auto;
|
|
9358
|
+
}
|
|
9355
9359
|
|
|
9356
9360
|
:is(.dndev-layout[data-footer-mode='scroll'] footer[role='contentinfo']) > * {
|
|
9357
|
-
|
|
9358
|
-
|
|
9361
|
+
height: auto;
|
|
9362
|
+
min-height: var(--footer-height);
|
|
9363
|
+
}
|
|
9364
|
+
|
|
9365
|
+
/* Mobile: footer scroll mode ON by default (same rules) */
|
|
9366
|
+
|
|
9367
|
+
@media (width <=1023px) {
|
|
9368
|
+
.dndev-layout {
|
|
9369
|
+
overflow-y: auto;
|
|
9370
|
+
overflow-x: hidden;
|
|
9371
|
+
grid-template-rows: var(--header-height) 1fr auto;
|
|
9359
9372
|
}
|
|
9360
9373
|
|
|
9374
|
+
.dndev-layout header[role='banner'] {
|
|
9375
|
+
position: sticky;
|
|
9376
|
+
top: 0;
|
|
9377
|
+
}
|
|
9378
|
+
|
|
9379
|
+
.dndev-layout main[role='main'] {
|
|
9380
|
+
overflow-y: visible;
|
|
9381
|
+
overflow-x: hidden;
|
|
9382
|
+
}
|
|
9383
|
+
|
|
9384
|
+
.dndev-layout footer[role='contentinfo'] {
|
|
9385
|
+
height: auto;
|
|
9386
|
+
}
|
|
9387
|
+
|
|
9388
|
+
:is(.dndev-layout footer[role='contentinfo']) > * {
|
|
9389
|
+
height: auto;
|
|
9390
|
+
min-height: var(--footer-height);
|
|
9391
|
+
}
|
|
9392
|
+
}
|
|
9393
|
+
|
|
9361
9394
|
/* Presets with no footer at all */
|
|
9362
9395
|
|
|
9363
9396
|
[data-layout='moolti'] footer[role='contentinfo'],
|
|
@@ -9722,17 +9755,6 @@ main[role='main'] > *:not(.breadcrumbs-container):first-of-type,main[role='main'
|
|
|
9722
9755
|
flex: 1 1 auto;
|
|
9723
9756
|
}
|
|
9724
9757
|
|
|
9725
|
-
/* Mobile: Grid scrolls, main doesn't */
|
|
9726
|
-
|
|
9727
|
-
@media (width <=1023px) {
|
|
9728
|
-
|
|
9729
|
-
main[role='main'] {
|
|
9730
|
-
overflow: visible;
|
|
9731
|
-
min-height: -moz-min-content;
|
|
9732
|
-
min-height: min-content;
|
|
9733
|
-
}
|
|
9734
|
-
}
|
|
9735
|
-
|
|
9736
9758
|
/* Footer: Full width by default, app presets start after sidebar */
|
|
9737
9759
|
|
|
9738
9760
|
/* box-sizing: border-box ensures borders are included in height */
|
|
@@ -10211,32 +10233,26 @@ footer[role='contentinfo'] a:not(.dndev-interactive):hover {
|
|
|
10211
10233
|
/* Standard width - responsive */
|
|
10212
10234
|
|
|
10213
10235
|
.dndev-container[data-variant='standard'] {
|
|
10214
|
-
--max-content-width: 100
|
|
10236
|
+
--max-content-width: min(87.5rem, 100%);
|
|
10237
|
+
max-width: var(--content-width);
|
|
10238
|
+
/* 1480px max, but never exceeds container width */
|
|
10215
10239
|
}
|
|
10216
10240
|
|
|
10217
|
-
@media (width >=1024px) {
|
|
10218
|
-
|
|
10219
|
-
.dndev-container[data-variant='standard'] {
|
|
10220
|
-
--max-content-width: 87.5rem;
|
|
10221
|
-
/* 1480px */
|
|
10222
|
-
/* Padding stays: part of centering space when max-width applies */
|
|
10223
|
-
}
|
|
10224
|
-
}
|
|
10225
|
-
|
|
10226
10241
|
/* Docs width - responsive */
|
|
10227
10242
|
|
|
10228
10243
|
.dndev-container[data-variant='docs'] {
|
|
10229
|
-
--max-content-width: 100
|
|
10244
|
+
--max-content-width: min(56.25rem, 100%);
|
|
10245
|
+
max-width: var(--content-width);
|
|
10246
|
+
/* 900px max, but never exceeds container width */
|
|
10230
10247
|
}
|
|
10231
10248
|
|
|
10232
|
-
|
|
10249
|
+
/* Narrow width - mobile-first single column (PWA, app-like on every device) */
|
|
10233
10250
|
|
|
10234
|
-
.dndev-container[data-variant='
|
|
10235
|
-
|
|
10236
|
-
|
|
10237
|
-
|
|
10251
|
+
.dndev-container[data-variant='narrow'] {
|
|
10252
|
+
--max-content-width: min(var(--narrow-content-max), 100%);
|
|
10253
|
+
max-width: var(--content-width);
|
|
10254
|
+
/* 600px max, but never exceeds container width */
|
|
10238
10255
|
}
|
|
10239
|
-
}
|
|
10240
10256
|
|
|
10241
10257
|
/* Fixed frame - fills parent exactly, prevents parent scroll */
|
|
10242
10258
|
|
|
@@ -10326,7 +10342,16 @@ footer[role='contentinfo'] a:not(.dndev-interactive):hover {
|
|
|
10326
10342
|
width: 100%;
|
|
10327
10343
|
}
|
|
10328
10344
|
|
|
10329
|
-
/*
|
|
10345
|
+
/* Scroll wrapper - stretches to full width so scrollbar is at viewport edge */
|
|
10346
|
+
|
|
10347
|
+
.dndev-game-container__scroll-wrapper {
|
|
10348
|
+
flex: 1 1 0;
|
|
10349
|
+
min-height: 0;
|
|
10350
|
+
width: 100%;
|
|
10351
|
+
align-self: stretch;
|
|
10352
|
+
}
|
|
10353
|
+
|
|
10354
|
+
/* ScrollArea - fills wrapper */
|
|
10330
10355
|
|
|
10331
10356
|
.dndev-game-container__scroll {
|
|
10332
10357
|
width: 100%;
|
|
@@ -10365,17 +10390,37 @@ footer[role='contentinfo'] a:not(.dndev-interactive):hover {
|
|
|
10365
10390
|
justify-content: space-between;
|
|
10366
10391
|
}
|
|
10367
10392
|
|
|
10368
|
-
/*
|
|
10393
|
+
/* Narrow content wrapper - constrained by --narrow-content-max, centered inside scroll */
|
|
10394
|
+
|
|
10395
|
+
/* height: 100% fills the scroll viewport so children can use percentage heights.
|
|
10396
|
+
Content taller than viewport still scrolls — overflow propagates to the scroll container. */
|
|
10397
|
+
|
|
10398
|
+
.dndev-game-container__content-narrow {
|
|
10399
|
+
width: 100%;
|
|
10400
|
+
max-width: var(--narrow-content-max);
|
|
10401
|
+
margin-inline: auto;
|
|
10402
|
+
height: 100%;
|
|
10403
|
+
}
|
|
10404
|
+
|
|
10405
|
+
/* CTA Zone - Fixed at bottom; safe area for notched devices */
|
|
10369
10406
|
|
|
10370
10407
|
.dndev-game-container__cta {
|
|
10371
10408
|
display: flex;
|
|
10372
10409
|
flex-direction: column;
|
|
10373
10410
|
padding-top: var(--gap-md);
|
|
10411
|
+
padding-bottom: env(safe-area-inset-bottom);
|
|
10374
10412
|
border-top: 2px solid var(--border);
|
|
10375
10413
|
}
|
|
10376
10414
|
|
|
10377
10415
|
/* CTA Button */
|
|
10378
10416
|
|
|
10417
|
+
.dndev-game-container__cta-buttons {
|
|
10418
|
+
display: grid;
|
|
10419
|
+
grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
|
|
10420
|
+
gap: var(--gap-sm);
|
|
10421
|
+
width: 100%;
|
|
10422
|
+
}
|
|
10423
|
+
|
|
10379
10424
|
.dndev-game-container__cta-button {
|
|
10380
10425
|
height: var(--touch-target);
|
|
10381
10426
|
width: 100%;
|