@donotdev/ui 0.0.10 → 0.0.12
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/layout/GameContainer.d.ts +3 -1
- package/dist/components/layout/GameContainer.d.ts.map +1 -1
- package/dist/components/layout/GameContainer.js +3 -2
- package/dist/components/layout/PageContainer.d.ts +1 -1
- package/dist/components/layout/PageContainer.d.ts.map +1 -1
- package/dist/crud/components/EntityCardList.d.ts +16 -0
- package/dist/crud/components/EntityCardList.d.ts.map +1 -0
- package/dist/crud/components/EntityCardList.js +175 -0
- package/dist/crud/components/EntityDisplayRenderer.d.ts +13 -21
- package/dist/crud/components/EntityDisplayRenderer.d.ts.map +1 -1
- package/dist/crud/components/EntityDisplayRenderer.js +138 -23
- package/dist/crud/components/EntityFormRenderer.d.ts +18 -0
- package/dist/crud/components/EntityFormRenderer.d.ts.map +1 -0
- package/dist/crud/components/EntityFormRenderer.js +286 -0
- package/dist/crud/components/EntityList.d.ts +14 -0
- package/dist/crud/components/EntityList.d.ts.map +1 -0
- package/dist/crud/components/EntityList.js +203 -0
- package/dist/crud/components/index.d.ts +7 -5
- package/dist/crud/components/index.d.ts.map +1 -1
- package/dist/crud/components/index.js +6 -5
- package/dist/dndev.css +287 -123
- package/dist/index.js +4 -64
- package/dist/internal/layout/components/AutoMetaTags.d.ts.map +1 -1
- package/dist/internal/layout/components/AutoMetaTags.js +36 -6
- package/dist/internal/layout/components/NextJsAutoMetaTags.d.ts.map +1 -1
- package/dist/internal/layout/components/NextJsAutoMetaTags.js +38 -10
- package/dist/internal/layout/components/footer/FooterBranding.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/styles/index.css +287 -123
- package/package.json +13 -13
- package/dist/crud/components/DisplayFieldRenderer.d.ts +0 -26
- package/dist/crud/components/DisplayFieldRenderer.d.ts.map +0 -1
- package/dist/crud/components/DisplayFieldRenderer.js +0 -107
- package/dist/crud/components/fields/display/AvatarFieldDisplay.d.ts +0 -23
- package/dist/crud/components/fields/display/AvatarFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/AvatarFieldDisplay.js +0 -38
- package/dist/crud/components/fields/display/BadgeFieldDisplay.d.ts +0 -21
- package/dist/crud/components/fields/display/BadgeFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/BadgeFieldDisplay.js +0 -31
- package/dist/crud/components/fields/display/ButtonFieldDisplay.d.ts +0 -29
- package/dist/crud/components/fields/display/ButtonFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/ButtonFieldDisplay.js +0 -12
- package/dist/crud/components/fields/display/CheckboxFieldDisplay.d.ts +0 -21
- package/dist/crud/components/fields/display/CheckboxFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/CheckboxFieldDisplay.js +0 -27
- package/dist/crud/components/fields/display/DateFieldDisplay.d.ts +0 -24
- package/dist/crud/components/fields/display/DateFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/DateFieldDisplay.js +0 -41
- package/dist/crud/components/fields/display/DropdownDisplay.d.ts +0 -21
- package/dist/crud/components/fields/display/DropdownDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/DropdownDisplay.js +0 -25
- package/dist/crud/components/fields/display/FileFieldDisplay.d.ts +0 -21
- package/dist/crud/components/fields/display/FileFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/FileFieldDisplay.js +0 -25
- package/dist/crud/components/fields/display/GeoPointFieldDisplay.d.ts +0 -25
- package/dist/crud/components/fields/display/GeoPointFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/GeoPointFieldDisplay.js +0 -25
- package/dist/crud/components/fields/display/HiddenFieldDisplay.d.ts +0 -30
- package/dist/crud/components/fields/display/HiddenFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/HiddenFieldDisplay.js +0 -12
- package/dist/crud/components/fields/display/ImageFieldDisplay.d.ts +0 -24
- package/dist/crud/components/fields/display/ImageFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/ImageFieldDisplay.js +0 -38
- package/dist/crud/components/fields/display/LinkFieldDisplay.d.ts +0 -22
- package/dist/crud/components/fields/display/LinkFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/LinkFieldDisplay.js +0 -48
- package/dist/crud/components/fields/display/MapFieldDisplay.d.ts +0 -25
- package/dist/crud/components/fields/display/MapFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/MapFieldDisplay.js +0 -25
- package/dist/crud/components/fields/display/MultiDropdownDisplay.d.ts +0 -22
- package/dist/crud/components/fields/display/MultiDropdownDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/MultiDropdownDisplay.js +0 -25
- package/dist/crud/components/fields/display/MultiInputTextFieldDisplay.d.ts +0 -22
- package/dist/crud/components/fields/display/MultiInputTextFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/MultiInputTextFieldDisplay.js +0 -25
- package/dist/crud/components/fields/display/NumberFieldDisplay.d.ts +0 -24
- package/dist/crud/components/fields/display/NumberFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/NumberFieldDisplay.js +0 -28
- package/dist/crud/components/fields/display/PasswordFieldDisplay.d.ts +0 -24
- package/dist/crud/components/fields/display/PasswordFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/PasswordFieldDisplay.js +0 -31
- package/dist/crud/components/fields/display/PhoneNumberDisplay.d.ts +0 -22
- package/dist/crud/components/fields/display/PhoneNumberDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/PhoneNumberDisplay.js +0 -25
- package/dist/crud/components/fields/display/RadioFieldDisplay.d.ts +0 -22
- package/dist/crud/components/fields/display/RadioFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/RadioFieldDisplay.js +0 -25
- package/dist/crud/components/fields/display/RangeFieldDisplay.d.ts +0 -22
- package/dist/crud/components/fields/display/RangeFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/RangeFieldDisplay.js +0 -25
- package/dist/crud/components/fields/display/ReferenceFieldDisplay.d.ts +0 -22
- package/dist/crud/components/fields/display/ReferenceFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/ReferenceFieldDisplay.js +0 -26
- package/dist/crud/components/fields/display/RichTextDisplay.d.ts +0 -25
- package/dist/crud/components/fields/display/RichTextDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/RichTextDisplay.js +0 -104
- package/dist/crud/components/fields/display/TextAreaDisplay.d.ts +0 -22
- package/dist/crud/components/fields/display/TextAreaDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/TextAreaDisplay.js +0 -25
- package/dist/crud/components/fields/display/TextFieldDisplay.d.ts +0 -42
- package/dist/crud/components/fields/display/TextFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/TextFieldDisplay.js +0 -97
- package/dist/crud/components/fields/display/TimestampFieldDisplay.d.ts +0 -22
- package/dist/crud/components/fields/display/TimestampFieldDisplay.d.ts.map +0 -1
- package/dist/crud/components/fields/display/TimestampFieldDisplay.js +0 -33
- package/dist/crud/components/fields/display/index.d.ts +0 -32
- package/dist/crud/components/fields/display/index.d.ts.map +0 -1
- package/dist/crud/components/fields/display/index.js +0 -32
package/dist/dndev.css
CHANGED
|
@@ -3144,9 +3144,10 @@ 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
3151
|
}
|
|
3151
3152
|
|
|
3152
3153
|
.dndev-cta-actions .dndev-interactive {
|
|
@@ -3179,13 +3180,6 @@ em {
|
|
|
3179
3180
|
border-color: var(--foreground);
|
|
3180
3181
|
}
|
|
3181
3182
|
|
|
3182
|
-
@media (width >= 768px) {
|
|
3183
|
-
|
|
3184
|
-
.dndev-cta-actions {
|
|
3185
|
-
flex-direction: row;
|
|
3186
|
-
}
|
|
3187
|
-
}
|
|
3188
|
-
|
|
3189
3183
|
/* packages/components/src/atomic/Card/Card.css */
|
|
3190
3184
|
|
|
3191
3185
|
/* Card layout - grid with gap */
|
|
@@ -3635,12 +3629,10 @@ em {
|
|
|
3635
3629
|
/* Code-specific overrides: background color, text color, and layout */
|
|
3636
3630
|
display: flex;
|
|
3637
3631
|
flex-direction: column;
|
|
3638
|
-
background: var(
|
|
3639
|
-
|
|
3640
|
-
);
|
|
3641
|
-
color
|
|
3642
|
-
--muted-foreground
|
|
3643
|
-
); /* Override surface text color for dark background */
|
|
3632
|
+
background: var(--muted);
|
|
3633
|
+
/* Override surface gradient with code-specific dark background */
|
|
3634
|
+
color: var(--muted-foreground);
|
|
3635
|
+
/* Override surface text color for dark background */
|
|
3644
3636
|
overflow: hidden;
|
|
3645
3637
|
font-family: var(--font-mono);
|
|
3646
3638
|
font-size: var(--font-size-sm);
|
|
@@ -3714,8 +3706,6 @@ em {
|
|
|
3714
3706
|
white-space: pre;
|
|
3715
3707
|
overflow-x: auto;
|
|
3716
3708
|
overflow-y: visible;
|
|
3717
|
-
min-width: -moz-min-content;
|
|
3718
|
-
min-width: min-content;
|
|
3719
3709
|
}
|
|
3720
3710
|
|
|
3721
3711
|
.dndev-code-pre[data-compact='true'] {
|
|
@@ -3732,16 +3722,19 @@ em {
|
|
|
3732
3722
|
user-select: none;
|
|
3733
3723
|
padding-inline-end: var(--gap-md);
|
|
3734
3724
|
text-align: end;
|
|
3735
|
-
font-size: inherit;
|
|
3725
|
+
font-size: inherit;
|
|
3726
|
+
/* Match parent code font-size */
|
|
3736
3727
|
opacity: var(--opacity-muted);
|
|
3737
3728
|
width: 3rem;
|
|
3738
3729
|
flex-shrink: 0;
|
|
3739
3730
|
color: var(--muted-foreground);
|
|
3740
|
-
line-height: 1.5;
|
|
3731
|
+
line-height: 1.5;
|
|
3732
|
+
/* Consistent line height */
|
|
3741
3733
|
}
|
|
3742
3734
|
|
|
3743
3735
|
.dndev-code-line-number {
|
|
3744
|
-
line-height: inherit;
|
|
3736
|
+
line-height: inherit;
|
|
3737
|
+
/* Inherit from parent */
|
|
3745
3738
|
}
|
|
3746
3739
|
|
|
3747
3740
|
.dndev-code-code {
|
|
@@ -3749,8 +3742,10 @@ em {
|
|
|
3749
3742
|
min-width: 0;
|
|
3750
3743
|
text-align: start;
|
|
3751
3744
|
display: block;
|
|
3752
|
-
line-height: 1.5;
|
|
3753
|
-
|
|
3745
|
+
line-height: 1.5;
|
|
3746
|
+
/* Match line numbers */
|
|
3747
|
+
font-size: var(--font-size-sm);
|
|
3748
|
+
/* Explicit match with line numbers */
|
|
3754
3749
|
}
|
|
3755
3750
|
|
|
3756
3751
|
/* Ensure shiki-generated code respects line-height AND font-size */
|
|
@@ -3758,7 +3753,8 @@ em {
|
|
|
3758
3753
|
.dndev-code-code pre,
|
|
3759
3754
|
.dndev-code-code code {
|
|
3760
3755
|
line-height: inherit;
|
|
3761
|
-
font-size: inherit;
|
|
3756
|
+
font-size: inherit;
|
|
3757
|
+
/* Match parent font-size */
|
|
3762
3758
|
}
|
|
3763
3759
|
|
|
3764
3760
|
/* packages/components/src/atomic/Command/Command.css */
|
|
@@ -4459,6 +4455,167 @@ em {
|
|
|
4459
4455
|
padding-block: var(--gap-lg);
|
|
4460
4456
|
}
|
|
4461
4457
|
|
|
4458
|
+
/* packages/components/src/advanced/ImageGallery/ImageGallery.css */
|
|
4459
|
+
|
|
4460
|
+
.image-gallery {
|
|
4461
|
+
display: flex;
|
|
4462
|
+
flex-direction: column;
|
|
4463
|
+
gap: var(--gap-md);
|
|
4464
|
+
outline: none;
|
|
4465
|
+
}
|
|
4466
|
+
|
|
4467
|
+
.image-gallery:focus-visible {
|
|
4468
|
+
outline: 2px solid var(--primary);
|
|
4469
|
+
outline-offset: 2px;
|
|
4470
|
+
border-radius: var(--radius-lg);
|
|
4471
|
+
}
|
|
4472
|
+
|
|
4473
|
+
/* Empty state */
|
|
4474
|
+
|
|
4475
|
+
.image-gallery--empty {
|
|
4476
|
+
display: flex;
|
|
4477
|
+
align-items: center;
|
|
4478
|
+
justify-content: center;
|
|
4479
|
+
background-color: var(--muted);
|
|
4480
|
+
border-radius: var(--radius-lg);
|
|
4481
|
+
}
|
|
4482
|
+
|
|
4483
|
+
.image-gallery__placeholder {
|
|
4484
|
+
color: var(--muted-foreground);
|
|
4485
|
+
font-size: var(--font-size-sm);
|
|
4486
|
+
}
|
|
4487
|
+
|
|
4488
|
+
/* Main image container */
|
|
4489
|
+
|
|
4490
|
+
.image-gallery__main {
|
|
4491
|
+
position: relative;
|
|
4492
|
+
width: 100%;
|
|
4493
|
+
overflow: hidden;
|
|
4494
|
+
border-radius: var(--radius-surface);
|
|
4495
|
+
background-color: var(--muted);
|
|
4496
|
+
}
|
|
4497
|
+
|
|
4498
|
+
.image-gallery__main-image {
|
|
4499
|
+
width: 100%;
|
|
4500
|
+
height: 100%;
|
|
4501
|
+
-o-object-fit: cover;
|
|
4502
|
+
object-fit: cover;
|
|
4503
|
+
display: block;
|
|
4504
|
+
position: relative;
|
|
4505
|
+
}
|
|
4506
|
+
|
|
4507
|
+
/* Navigation arrows */
|
|
4508
|
+
|
|
4509
|
+
.image-gallery__nav {
|
|
4510
|
+
position: absolute;
|
|
4511
|
+
top: 50%;
|
|
4512
|
+
transform: translateY(-50%);
|
|
4513
|
+
display: flex;
|
|
4514
|
+
align-items: center;
|
|
4515
|
+
justify-content: center;
|
|
4516
|
+
width: 44px;
|
|
4517
|
+
height: 44px;
|
|
4518
|
+
border: none;
|
|
4519
|
+
border-radius: var(--radius-full);
|
|
4520
|
+
background-color: var(--background);
|
|
4521
|
+
color: var(--foreground);
|
|
4522
|
+
cursor: pointer;
|
|
4523
|
+
opacity: 0;
|
|
4524
|
+
transition:
|
|
4525
|
+
opacity 0.2s ease,
|
|
4526
|
+
background-color 0.2s ease;
|
|
4527
|
+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
|
4528
|
+
z-index: 2;
|
|
4529
|
+
}
|
|
4530
|
+
|
|
4531
|
+
.image-gallery__main:hover .image-gallery__nav,
|
|
4532
|
+
.image-gallery:focus-within .image-gallery__nav {
|
|
4533
|
+
opacity: 1;
|
|
4534
|
+
}
|
|
4535
|
+
|
|
4536
|
+
.image-gallery__nav:hover {
|
|
4537
|
+
background-color: var(--primary);
|
|
4538
|
+
color: var(--primary-foreground);
|
|
4539
|
+
}
|
|
4540
|
+
|
|
4541
|
+
.image-gallery__nav:focus-visible {
|
|
4542
|
+
opacity: 1;
|
|
4543
|
+
outline: 2px solid var(--primary);
|
|
4544
|
+
outline-offset: 2px;
|
|
4545
|
+
}
|
|
4546
|
+
|
|
4547
|
+
.image-gallery__nav--prev {
|
|
4548
|
+
inset-inline-start: var(--gap-md);
|
|
4549
|
+
}
|
|
4550
|
+
|
|
4551
|
+
.image-gallery__nav--next {
|
|
4552
|
+
inset-inline-end: var(--gap-md);
|
|
4553
|
+
}
|
|
4554
|
+
|
|
4555
|
+
/* Thumbnails */
|
|
4556
|
+
|
|
4557
|
+
.image-gallery__thumbnails {
|
|
4558
|
+
display: flex;
|
|
4559
|
+
flex-wrap: wrap;
|
|
4560
|
+
gap: var(--gap-sm);
|
|
4561
|
+
}
|
|
4562
|
+
|
|
4563
|
+
.image-gallery__thumbnail {
|
|
4564
|
+
flex: 0 0 auto;
|
|
4565
|
+
width: 80px;
|
|
4566
|
+
height: 60px;
|
|
4567
|
+
padding: 0;
|
|
4568
|
+
border: 2px solid transparent;
|
|
4569
|
+
border-radius: var(--radius-surface);
|
|
4570
|
+
overflow: hidden;
|
|
4571
|
+
cursor: pointer;
|
|
4572
|
+
background: none;
|
|
4573
|
+
transition:
|
|
4574
|
+
border-color 0.2s ease,
|
|
4575
|
+
transform 0.2s ease;
|
|
4576
|
+
}
|
|
4577
|
+
|
|
4578
|
+
.image-gallery__thumbnail:hover {
|
|
4579
|
+
border-color: var(--muted-foreground);
|
|
4580
|
+
}
|
|
4581
|
+
|
|
4582
|
+
.image-gallery__thumbnail:focus-visible {
|
|
4583
|
+
outline: 2px solid var(--primary);
|
|
4584
|
+
outline-offset: 2px;
|
|
4585
|
+
}
|
|
4586
|
+
|
|
4587
|
+
.image-gallery__thumbnail--selected {
|
|
4588
|
+
border-color: var(--primary);
|
|
4589
|
+
}
|
|
4590
|
+
|
|
4591
|
+
.image-gallery__thumbnail-image {
|
|
4592
|
+
width: 100%;
|
|
4593
|
+
height: 100%;
|
|
4594
|
+
-o-object-fit: cover;
|
|
4595
|
+
object-fit: cover;
|
|
4596
|
+
display: block;
|
|
4597
|
+
}
|
|
4598
|
+
|
|
4599
|
+
/* Responsive adjustments */
|
|
4600
|
+
|
|
4601
|
+
@media (max-width: 640px) {
|
|
4602
|
+
.image-gallery__thumbnail {
|
|
4603
|
+
width: 60px;
|
|
4604
|
+
height: 45px;
|
|
4605
|
+
}
|
|
4606
|
+
|
|
4607
|
+
.image-gallery__nav {
|
|
4608
|
+
width: 36px;
|
|
4609
|
+
height: 36px;
|
|
4610
|
+
opacity: 0.8;
|
|
4611
|
+
}
|
|
4612
|
+
|
|
4613
|
+
.image-gallery__nav svg {
|
|
4614
|
+
width: 20px;
|
|
4615
|
+
height: 20px;
|
|
4616
|
+
}
|
|
4617
|
+
}
|
|
4618
|
+
|
|
4462
4619
|
/* packages/components/src/atomic/Input/Input.css */
|
|
4463
4620
|
|
|
4464
4621
|
/* Hide number input spinners - cleaner UI for price/range inputs */
|
|
@@ -7360,6 +7517,24 @@ input[type='number'] {
|
|
|
7360
7517
|
font-size: var(--font-size-sm);
|
|
7361
7518
|
}
|
|
7362
7519
|
|
|
7520
|
+
/* Font weight overrides (after level rules, so weight prop overrides level defaults) */
|
|
7521
|
+
|
|
7522
|
+
.dndev-text-base[data-font-weight='normal'] {
|
|
7523
|
+
font-weight: var(--font-weight-normal);
|
|
7524
|
+
}
|
|
7525
|
+
|
|
7526
|
+
.dndev-text-base[data-font-weight='medium'] {
|
|
7527
|
+
font-weight: var(--font-weight-medium);
|
|
7528
|
+
}
|
|
7529
|
+
|
|
7530
|
+
.dndev-text-base[data-font-weight='semibold'] {
|
|
7531
|
+
font-weight: var(--font-weight-semibold);
|
|
7532
|
+
}
|
|
7533
|
+
|
|
7534
|
+
.dndev-text-base[data-font-weight='bold'] {
|
|
7535
|
+
font-weight: var(--font-weight-bold);
|
|
7536
|
+
}
|
|
7537
|
+
|
|
7363
7538
|
/* packages/components/src/atomic/Toaster/Toaster.css */
|
|
7364
7539
|
|
|
7365
7540
|
.dndev-toast-viewport {
|
|
@@ -8898,9 +9073,14 @@ h4[data-variant='code'] {
|
|
|
8898
9073
|
--sidebar-resize-handle-width: 6px;
|
|
8899
9074
|
|
|
8900
9075
|
/* Content width - max constraint only, grid handles sidebar space */
|
|
8901
|
-
/* PageContainer sets --max-content-width
|
|
9076
|
+
/* PageContainer sets --max-content-width per variant, components use --content-width */
|
|
9077
|
+
--max-content-width: 100%;
|
|
8902
9078
|
--content-width: var(--max-content-width, 100%);
|
|
8903
9079
|
|
|
9080
|
+
/* Narrow content (mobile-first PWA, app-like single column) - single source of truth */
|
|
9081
|
+
--narrow-content-max: 37.5rem;
|
|
9082
|
+
/* 600px */
|
|
9083
|
+
|
|
8904
9084
|
/* Content Area Calculations */
|
|
8905
9085
|
/* Header content area (excludes sidebar on some presets) */
|
|
8906
9086
|
--header-content-width: 100%;
|
|
@@ -9010,8 +9190,7 @@ main[role='main'][data-routing-animation='fade'] {
|
|
|
9010
9190
|
/* Slide animation - keyframes handle opacity 0→1 */
|
|
9011
9191
|
|
|
9012
9192
|
main[role='main'][data-routing-animation='slide'] {
|
|
9013
|
-
animation: routeSlideIn var(--routing-default-duration, 300ms) ease-in
|
|
9014
|
-
forwards;
|
|
9193
|
+
animation: routeSlideIn var(--routing-default-duration, 300ms) ease-in forwards;
|
|
9015
9194
|
}
|
|
9016
9195
|
|
|
9017
9196
|
/* No animation - already visible by default, explicit for clarity */
|
|
@@ -9025,15 +9204,11 @@ main[role='main'][data-routing-animation='none'] {
|
|
|
9025
9204
|
|
|
9026
9205
|
@media (width < 768px) {
|
|
9027
9206
|
main[role='main'][data-routing-animation='fade'] {
|
|
9028
|
-
animation: routeFadeIn
|
|
9029
|
-
var(--routing-mobile-duration, var(--routing-default-duration, 300ms))
|
|
9030
|
-
ease-in forwards;
|
|
9207
|
+
animation: routeFadeIn var(--routing-mobile-duration, var(--routing-default-duration, 300ms)) ease-in forwards;
|
|
9031
9208
|
}
|
|
9032
9209
|
|
|
9033
9210
|
main[role='main'][data-routing-animation='slide'] {
|
|
9034
|
-
animation: routeSlideIn
|
|
9035
|
-
var(--routing-mobile-duration, var(--routing-default-duration, 300ms))
|
|
9036
|
-
ease-in forwards;
|
|
9211
|
+
animation: routeSlideIn var(--routing-mobile-duration, var(--routing-default-duration, 300ms)) ease-in forwards;
|
|
9037
9212
|
}
|
|
9038
9213
|
}
|
|
9039
9214
|
|
|
@@ -9041,15 +9216,11 @@ main[role='main'][data-routing-animation='none'] {
|
|
|
9041
9216
|
|
|
9042
9217
|
@media (width >=768px) and (width <=1023px) {
|
|
9043
9218
|
main[role='main'][data-routing-animation='fade'] {
|
|
9044
|
-
animation: routeFadeIn
|
|
9045
|
-
var(--routing-tablet-duration, var(--routing-default-duration, 300ms))
|
|
9046
|
-
ease-in forwards;
|
|
9219
|
+
animation: routeFadeIn var(--routing-tablet-duration, var(--routing-default-duration, 300ms)) ease-in forwards;
|
|
9047
9220
|
}
|
|
9048
9221
|
|
|
9049
9222
|
main[role='main'][data-routing-animation='slide'] {
|
|
9050
|
-
animation: routeSlideIn
|
|
9051
|
-
var(--routing-tablet-duration, var(--routing-default-duration, 300ms))
|
|
9052
|
-
ease-in forwards;
|
|
9223
|
+
animation: routeSlideIn var(--routing-tablet-duration, var(--routing-default-duration, 300ms)) ease-in forwards;
|
|
9053
9224
|
}
|
|
9054
9225
|
}
|
|
9055
9226
|
|
|
@@ -9057,15 +9228,11 @@ main[role='main'][data-routing-animation='none'] {
|
|
|
9057
9228
|
|
|
9058
9229
|
@media (width >=1024px) and (width <=1439px) {
|
|
9059
9230
|
main[role='main'][data-routing-animation='fade'] {
|
|
9060
|
-
animation: routeFadeIn
|
|
9061
|
-
var(--routing-desktop-duration, var(--routing-default-duration, 300ms))
|
|
9062
|
-
ease-in forwards;
|
|
9231
|
+
animation: routeFadeIn var(--routing-desktop-duration, var(--routing-default-duration, 300ms)) ease-in forwards;
|
|
9063
9232
|
}
|
|
9064
9233
|
|
|
9065
9234
|
main[role='main'][data-routing-animation='slide'] {
|
|
9066
|
-
animation: routeSlideIn
|
|
9067
|
-
var(--routing-desktop-duration, var(--routing-default-duration, 300ms))
|
|
9068
|
-
ease-in forwards;
|
|
9235
|
+
animation: routeSlideIn var(--routing-desktop-duration, var(--routing-default-duration, 300ms)) ease-in forwards;
|
|
9069
9236
|
}
|
|
9070
9237
|
}
|
|
9071
9238
|
|
|
@@ -9073,15 +9240,11 @@ main[role='main'][data-routing-animation='none'] {
|
|
|
9073
9240
|
|
|
9074
9241
|
@media (width >=1440px) {
|
|
9075
9242
|
main[role='main'][data-routing-animation='fade'] {
|
|
9076
|
-
animation: routeFadeIn
|
|
9077
|
-
var(--routing-wide-duration, var(--routing-default-duration, 300ms))
|
|
9078
|
-
ease-in forwards;
|
|
9243
|
+
animation: routeFadeIn var(--routing-wide-duration, var(--routing-default-duration, 300ms)) ease-in forwards;
|
|
9079
9244
|
}
|
|
9080
9245
|
|
|
9081
9246
|
main[role='main'][data-routing-animation='slide'] {
|
|
9082
|
-
animation: routeSlideIn
|
|
9083
|
-
var(--routing-wide-duration, var(--routing-default-duration, 300ms))
|
|
9084
|
-
ease-in forwards;
|
|
9247
|
+
animation: routeSlideIn var(--routing-wide-duration, var(--routing-default-duration, 300ms)) ease-in forwards;
|
|
9085
9248
|
}
|
|
9086
9249
|
}
|
|
9087
9250
|
|
|
@@ -9105,6 +9268,7 @@ main[role='main'][data-routing-animation='none'] {
|
|
|
9105
9268
|
/* Mobile/Tablet: Hide sidebars - WCAG & Lighthouse best practices */
|
|
9106
9269
|
|
|
9107
9270
|
@media (width <=1023px) {
|
|
9271
|
+
|
|
9108
9272
|
.dndev-layout aside[role='navigation'].sidebar,
|
|
9109
9273
|
aside[role='navigation'].sidebar {
|
|
9110
9274
|
display: none !important;
|
|
@@ -9128,57 +9292,59 @@ main[role='main'][data-routing-animation='none'] {
|
|
|
9128
9292
|
'header header'
|
|
9129
9293
|
'sidebar main'
|
|
9130
9294
|
'footer footer';
|
|
9131
|
-
grid-template-rows: var(--header-height) 1fr minmax(
|
|
9132
|
-
|
|
9133
|
-
auto
|
|
9134
|
-
);
|
|
9295
|
+
grid-template-rows: var(--header-height) 1fr minmax(var(--footer-height),
|
|
9296
|
+
auto);
|
|
9135
9297
|
grid-template-columns: var(--sidebar-width) 1fr;
|
|
9136
|
-
|
|
9137
|
-
/* Mobile: Grid scrolls instead of main - footer scrolls with content */
|
|
9138
9298
|
}
|
|
9139
9299
|
|
|
9140
|
-
|
|
9141
|
-
|
|
9142
|
-
.dndev-layout {
|
|
9143
|
-
overflow-y: auto;
|
|
9144
|
-
overflow-x: hidden;
|
|
9145
|
-
/* Keep footer row - grid scrolls so footer scrolls with content */
|
|
9146
|
-
grid-template-areas:
|
|
9147
|
-
'header header'
|
|
9148
|
-
'sidebar main'
|
|
9149
|
-
'footer footer';
|
|
9150
|
-
grid-template-rows: var(--header-height) min-content auto;
|
|
9151
|
-
}
|
|
9152
|
-
}
|
|
9300
|
+
/* Footer scroll mode: grid scrolls, footer scrolls with content */
|
|
9153
9301
|
|
|
9154
|
-
/*
|
|
9302
|
+
/* Desktop: opt-in via data-footer-mode="scroll" */
|
|
9155
9303
|
|
|
9156
9304
|
.dndev-layout[data-footer-mode='scroll'] {
|
|
9157
9305
|
overflow-y: auto;
|
|
9158
9306
|
overflow-x: hidden;
|
|
9159
|
-
grid-template-rows: var(--header-height)
|
|
9307
|
+
grid-template-rows: var(--header-height) 1fr auto;
|
|
9160
9308
|
}
|
|
9161
9309
|
|
|
9162
|
-
.dndev-layout[data-footer-mode='scroll'] header[role='banner'] {
|
|
9163
|
-
position: sticky;
|
|
9164
|
-
top: 0;
|
|
9165
|
-
}
|
|
9310
|
+
.dndev-layout[data-footer-mode='scroll'] header[role='banner'] { position: sticky; top: 0; }
|
|
9166
9311
|
|
|
9167
|
-
.dndev-layout[data-footer-mode='scroll']
|
|
9168
|
-
|
|
9169
|
-
|
|
9170
|
-
|
|
9171
|
-
|
|
9312
|
+
.dndev-layout[data-footer-mode='scroll'] aside.sidebar[role='navigation'] {
|
|
9313
|
+
position: sticky;
|
|
9314
|
+
top: var(--header-height);
|
|
9315
|
+
height: calc(100dvh - var(--header-height));
|
|
9316
|
+
align-self: start;
|
|
9317
|
+
}
|
|
9172
9318
|
|
|
9173
|
-
.dndev-layout[data-footer-mode='scroll']
|
|
9174
|
-
height: auto;
|
|
9175
|
-
}
|
|
9319
|
+
.dndev-layout[data-footer-mode='scroll'] main[role='main'] { overflow-y: visible; overflow-x: hidden; }
|
|
9176
9320
|
|
|
9177
|
-
|
|
9321
|
+
.dndev-layout[data-footer-mode='scroll'] footer[role='contentinfo'] {
|
|
9322
|
+
grid-column: 2 / -1;
|
|
9178
9323
|
height: auto;
|
|
9179
|
-
min-height: var(--footer-height);
|
|
9180
9324
|
}
|
|
9181
9325
|
|
|
9326
|
+
:is(.dndev-layout[data-footer-mode='scroll'] footer[role='contentinfo']) > * { height: auto; min-height: var(--footer-height); }
|
|
9327
|
+
|
|
9328
|
+
/* Mobile: footer scroll mode ON by default (same rules) */
|
|
9329
|
+
|
|
9330
|
+
@media (width <=1023px) {
|
|
9331
|
+
.dndev-layout {
|
|
9332
|
+
overflow-y: auto;
|
|
9333
|
+
overflow-x: hidden;
|
|
9334
|
+
grid-template-rows: var(--header-height) 1fr auto;
|
|
9335
|
+
}
|
|
9336
|
+
|
|
9337
|
+
.dndev-layout header[role='banner'] { position: sticky; top: 0; }
|
|
9338
|
+
|
|
9339
|
+
.dndev-layout main[role='main'] { overflow-y: visible; overflow-x: hidden; }
|
|
9340
|
+
|
|
9341
|
+
.dndev-layout footer[role='contentinfo'] {
|
|
9342
|
+
height: auto;
|
|
9343
|
+
}
|
|
9344
|
+
|
|
9345
|
+
:is(.dndev-layout footer[role='contentinfo']) > * { height: auto; min-height: var(--footer-height); }
|
|
9346
|
+
}
|
|
9347
|
+
|
|
9182
9348
|
/* Presets with no footer at all */
|
|
9183
9349
|
|
|
9184
9350
|
[data-layout='moolti'] footer[role='contentinfo'],
|
|
@@ -9344,8 +9510,7 @@ aside[role='navigation'].sidebar .dndev-sidebar-resize-handle:focus-visible {
|
|
|
9344
9510
|
|
|
9345
9511
|
/* Active drag state */
|
|
9346
9512
|
|
|
9347
|
-
aside[role='navigation'].sidebar[data-dragging='true']
|
|
9348
|
-
.dndev-sidebar-resize-handle {
|
|
9513
|
+
aside[role='navigation'].sidebar[data-dragging='true'] .dndev-sidebar-resize-handle {
|
|
9349
9514
|
background: var(--primary);
|
|
9350
9515
|
}
|
|
9351
9516
|
|
|
@@ -9361,10 +9526,7 @@ aside[role='navigation'].sidebar[data-dragging='true']
|
|
|
9361
9526
|
/* Landing: AUTO display mode - compact below wide breakpoint (< 1440px) */
|
|
9362
9527
|
|
|
9363
9528
|
@media (width < 1440px) {
|
|
9364
|
-
[data-layout='landing']
|
|
9365
|
-
header[role='banner']
|
|
9366
|
-
[data-display='auto']
|
|
9367
|
-
.dndev-interactive-label {
|
|
9529
|
+
[data-layout='landing'] header[role='banner'] [data-display='auto'] .dndev-interactive-label {
|
|
9368
9530
|
display: none;
|
|
9369
9531
|
}
|
|
9370
9532
|
}
|
|
@@ -9537,23 +9699,13 @@ main[role='main'] {
|
|
|
9537
9699
|
contain: layout style;
|
|
9538
9700
|
|
|
9539
9701
|
/* First child after breadcrumbs grows to fill space */
|
|
9702
|
+
|
|
9540
9703
|
}
|
|
9541
9704
|
|
|
9542
9705
|
main[role='main'] > *:not(.breadcrumbs-container):first-of-type,main[role='main'] > .breadcrumbs-container + * {
|
|
9543
9706
|
flex: 1 1 auto;
|
|
9544
9707
|
}
|
|
9545
9708
|
|
|
9546
|
-
/* Mobile: Grid scrolls, main doesn't */
|
|
9547
|
-
|
|
9548
|
-
@media (width <=1023px) {
|
|
9549
|
-
|
|
9550
|
-
main[role='main'] {
|
|
9551
|
-
overflow: visible;
|
|
9552
|
-
min-height: -moz-min-content;
|
|
9553
|
-
min-height: min-content;
|
|
9554
|
-
}
|
|
9555
|
-
}
|
|
9556
|
-
|
|
9557
9709
|
/* Footer: Full width by default, app presets start after sidebar */
|
|
9558
9710
|
|
|
9559
9711
|
/* box-sizing: border-box ensures borders are included in height */
|
|
@@ -9675,6 +9827,7 @@ footer[role='contentinfo'] a:not(.dndev-interactive):hover {
|
|
|
9675
9827
|
/* Mobile (<1024px): Show merged-bar, hide zones */
|
|
9676
9828
|
|
|
9677
9829
|
@media (width <=1023px) {
|
|
9830
|
+
|
|
9678
9831
|
/* Presets with mergedBar: top (admin, moolti, game, docs) */
|
|
9679
9832
|
[data-layout='admin'] .merged-bar[data-position='top'],
|
|
9680
9833
|
[data-layout='moolti'] .merged-bar[data-position='top'],
|
|
@@ -10032,32 +10185,26 @@ footer[role='contentinfo'] a:not(.dndev-interactive):hover {
|
|
|
10032
10185
|
/* Standard width - responsive */
|
|
10033
10186
|
|
|
10034
10187
|
.dndev-container[data-variant='standard'] {
|
|
10035
|
-
--max-content-width: 100
|
|
10188
|
+
--max-content-width: min(87.5rem, 100%);
|
|
10189
|
+
max-width: var(--content-width);
|
|
10190
|
+
/* 1480px max, but never exceeds container width */
|
|
10036
10191
|
}
|
|
10037
10192
|
|
|
10038
|
-
@media (width >=1024px) {
|
|
10039
|
-
|
|
10040
|
-
.dndev-container[data-variant='standard'] {
|
|
10041
|
-
--max-content-width: 87.5rem;
|
|
10042
|
-
/* 1480px */
|
|
10043
|
-
/* Padding stays: part of centering space when max-width applies */
|
|
10044
|
-
}
|
|
10045
|
-
}
|
|
10046
|
-
|
|
10047
10193
|
/* Docs width - responsive */
|
|
10048
10194
|
|
|
10049
10195
|
.dndev-container[data-variant='docs'] {
|
|
10050
|
-
--max-content-width: 100
|
|
10196
|
+
--max-content-width: min(56.25rem, 100%);
|
|
10197
|
+
max-width: var(--content-width);
|
|
10198
|
+
/* 900px max, but never exceeds container width */
|
|
10051
10199
|
}
|
|
10052
10200
|
|
|
10053
|
-
|
|
10201
|
+
/* Narrow width - mobile-first single column (PWA, app-like on every device) */
|
|
10054
10202
|
|
|
10055
|
-
.dndev-container[data-variant='
|
|
10056
|
-
|
|
10057
|
-
|
|
10058
|
-
|
|
10203
|
+
.dndev-container[data-variant='narrow'] {
|
|
10204
|
+
--max-content-width: min(var(--narrow-content-max), 100%);
|
|
10205
|
+
max-width: var(--content-width);
|
|
10206
|
+
/* 600px max, but never exceeds container width */
|
|
10059
10207
|
}
|
|
10060
|
-
}
|
|
10061
10208
|
|
|
10062
10209
|
/* Fixed frame - fills parent exactly, prevents parent scroll */
|
|
10063
10210
|
|
|
@@ -10103,10 +10250,10 @@ footer[role='contentinfo'] a:not(.dndev-interactive):hover {
|
|
|
10103
10250
|
|
|
10104
10251
|
/* Breakthrough pattern: only applies inside PageContainer */
|
|
10105
10252
|
|
|
10106
|
-
.dndev-container
|
|
10107
|
-
.dndev-container
|
|
10108
|
-
.dndev-container
|
|
10109
|
-
.dndev-container
|
|
10253
|
+
.dndev-container>.dndev-section-full-width,
|
|
10254
|
+
.dndev-container>.dndev-cta,
|
|
10255
|
+
.dndev-container>.dndev-hero-section,
|
|
10256
|
+
.dndev-container>.dndev-tech-bento {
|
|
10110
10257
|
/* Break out of PageContainer padding and max-width constraint */
|
|
10111
10258
|
/* Account for sidebar: --sidebar-width is 0px for presets without sidebar */
|
|
10112
10259
|
width: calc(100dvw - var(--sidebar-width));
|
|
@@ -10186,12 +10333,29 @@ footer[role='contentinfo'] a:not(.dndev-interactive):hover {
|
|
|
10186
10333
|
justify-content: space-between;
|
|
10187
10334
|
}
|
|
10188
10335
|
|
|
10189
|
-
/*
|
|
10336
|
+
/* Narrow content wrapper - constrained by --narrow-content-max (mobile-first PWA) */
|
|
10337
|
+
|
|
10338
|
+
.dndev-game-container__content-narrow {
|
|
10339
|
+
width: 100%;
|
|
10340
|
+
max-width: var(--narrow-content-max);
|
|
10341
|
+
margin-inline: auto;
|
|
10342
|
+
min-height: 0;
|
|
10343
|
+
flex: 1 1 auto;
|
|
10344
|
+
display: flex;
|
|
10345
|
+
flex-direction: column;
|
|
10346
|
+
}
|
|
10347
|
+
|
|
10348
|
+
.dndev-game-container__content-narrow .dndev-game-container__scroll {
|
|
10349
|
+
width: 100%;
|
|
10350
|
+
}
|
|
10351
|
+
|
|
10352
|
+
/* CTA Zone - Fixed at bottom; safe area for notched devices */
|
|
10190
10353
|
|
|
10191
10354
|
.dndev-game-container__cta {
|
|
10192
10355
|
display: flex;
|
|
10193
10356
|
flex-direction: column;
|
|
10194
10357
|
padding-top: var(--gap-md);
|
|
10358
|
+
padding-bottom: env(safe-area-inset-bottom);
|
|
10195
10359
|
border-top: 2px solid var(--border);
|
|
10196
10360
|
}
|
|
10197
10361
|
|