@databricks/design-system 2.0.5 → 2.0.7
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/AGENTS.md +239 -166
- package/CHANGELOG.md +47 -0
- package/design-guidance/docs/README.md +40 -0
- package/design-guidance/docs/review-contract.md +22 -0
- package/design-guidance/docs/tokens.md +35 -0
- package/design-guidance/docs/voice.md +40 -0
- package/design-guidance/skills/dbui-build-screen.md +24 -0
- package/design-guidance/skills/dbui-check-ecosystem.md +21 -0
- package/design-guidance/skills/dbui-check-guidelines.md +29 -0
- package/design-guidance/skills/dbui-check-principles.md +26 -0
- package/design-guidance/skills/dbui-check-voice.md +17 -0
- package/design-guidance/skills/dbui-pick-component.md +23 -0
- package/design-guidance/skills/dbui-pick-icon.md +23 -0
- package/design-guidance/skills/dbui-review.md +30 -0
- package/design-guidance/skills/dbui-validate.md +23 -0
- package/dist/{RHFControlledTypeaheadComboboxV2-DsH-nIEk.js → RHFControlledTypeaheadComboboxV2-nSSYj16I.js} +5 -5
- package/dist/{RHFControlledTypeaheadComboboxV2-DsH-nIEk.js.map → RHFControlledTypeaheadComboboxV2-nSSYj16I.js.map} +1 -1
- package/dist/{WizardStepContentWrapper-Bq1wm0V7.js → WizardStepContentWrapper-bbh_CoIf.js} +644 -679
- package/dist/WizardStepContentWrapper-bbh_CoIf.js.map +1 -0
- package/dist/dubois-colors.less +1 -1
- package/dist/icon-metadata.json +2069 -0
- package/dist/{index-BRAVZg-S.js → index-CUCuUviS.js} +350 -139
- package/dist/index-CUCuUviS.js.map +1 -0
- package/dist/index-dark.css +593 -191
- package/dist/index-dark.mitigated.css +623 -208
- package/dist/index.css +1536 -1049
- package/dist/index.js +4 -4
- package/dist/index.mitigated.css +1566 -1066
- package/dist/patterns.js +3 -3
- package/dist-types/design-system/Alert/Alert.d.ts +21 -4
- package/dist-types/design-system/Button/Button.d.ts +2 -1
- package/dist-types/design-system/Drawer/Drawer.d.ts +3 -1
- package/dist-types/design-system/Icon/AntdIcon.d.ts +3 -0
- package/dist-types/design-system/Icon/Icon.d.ts +20 -6
- package/dist-types/design-system/Icon/NativeIcon.d.ts +3 -0
- package/dist-types/design-system/Icon/__generated/icons/LakewatchIcon.d.ts +4 -0
- package/dist-types/design-system/Icon/__generated/icons/SlidesIcon.d.ts +4 -0
- package/dist-types/design-system/Icon/__generated/icons/index.d.ts +2 -0
- package/dist-types/design-system/Icon/index.d.ts +1 -0
- package/dist-types/design-system/Icon/utils.d.ts +1 -0
- package/dist-types/design-system/TypeaheadCombobox/TypeaheadComboboxControls.d.ts +0 -2
- package/dist-types/design-system/_shared_/Tabs/styles.d.ts +2 -3
- package/dist-types/design-system/index.d.ts +0 -1
- package/dist-types/design-system/utils/safex.d.ts +4 -2
- package/dist-types/theme/generalVariables.d.ts +0 -1
- package/dist-types/~patterns/Wizard/WizardModal.d.ts +1 -1
- package/package.json +8 -5
- package/setup.mjs +586 -0
- package/dist/WizardStepContentWrapper-Bq1wm0V7.js.map +0 -1
- package/dist/index-BRAVZg-S.js.map +0 -1
- package/dist-types/design-system/LegacyTooltip/LegacyTooltip.d.ts +0 -47
- package/dist-types/design-system/LegacyTooltip/index.d.ts +0 -1
package/dist/index-dark.css
CHANGED
|
@@ -16300,7 +16300,7 @@ span.du-bois-dark-typography-ellipsis-single-line {
|
|
|
16300
16300
|
|
|
16301
16301
|
--db-surface-selected: var(--db-color-table-background-selected-hover);
|
|
16302
16302
|
--db-surface-selected-hover: initial; /* TODO */;
|
|
16303
|
-
--db-surface-selected-active:
|
|
16303
|
+
--db-surface-selected-active: var(--db-color-table-background-selected-hover); /* no distinct active value */
|
|
16304
16304
|
|
|
16305
16305
|
/* Surface alpha-blending modifiers */
|
|
16306
16306
|
--db-surface-backdrop: initial; /* TODO */;
|
|
@@ -16326,7 +16326,7 @@ span.du-bois-dark-typography-ellipsis-single-line {
|
|
|
16326
16326
|
--db-accent-surface-strong: var(--db-color-action-primary-background-hover);
|
|
16327
16327
|
|
|
16328
16328
|
--db-accent-surface-hover: var(--db-color-action-primary-background-hover);
|
|
16329
|
-
--db-accent-surface-active:
|
|
16329
|
+
--db-accent-surface-active: var(--db-color-action-primary-background-press); /* no distinct active value */
|
|
16330
16330
|
--db-accent-surface-selected: var(--db-color-action-primary-background-press);
|
|
16331
16331
|
|
|
16332
16332
|
/* In the current design, the text color for an accent surface does not change with hover, active, etc. */
|
|
@@ -16343,7 +16343,7 @@ span.du-bois-dark-typography-ellipsis-single-line {
|
|
|
16343
16343
|
--db-negative-surface-strong: var(--db-color-action-danger-primary-background-hover);
|
|
16344
16344
|
|
|
16345
16345
|
--db-negative-surface-hover: var(--db-color-action-danger-primary-background-hover);
|
|
16346
|
-
--db-negative-surface-active:
|
|
16346
|
+
--db-negative-surface-active: var(--db-color-action-danger-primary-background-press); /* no distinct active value */
|
|
16347
16347
|
--db-negative-surface-selected: var(--db-color-action-danger-primary-background-press);
|
|
16348
16348
|
|
|
16349
16349
|
--db-negative-text: var(--db-color-text-validation-danger);
|
|
@@ -16384,6 +16384,11 @@ span.du-bois-dark-typography-ellipsis-single-line {
|
|
|
16384
16384
|
--db-positive-border: initial; /* TODO */
|
|
16385
16385
|
--db-positive-border-hover: initial; /* TODO */
|
|
16386
16386
|
--db-positive-border-active: initial; /* TODO */
|
|
16387
|
+
|
|
16388
|
+
/* Branded (theme-invariant — same values as light) */
|
|
16389
|
+
--db-ai-gradient-start: #4299e0;
|
|
16390
|
+
--db-ai-gradient-mid: #ca42e0;
|
|
16391
|
+
--db-ai-gradient-end: #ff5f46;
|
|
16387
16392
|
}
|
|
16388
16393
|
|
|
16389
16394
|
:where(.du-bois-dark) {
|
|
@@ -16462,6 +16467,59 @@ span.du-bois-dark-typography-ellipsis-single-line {
|
|
|
16462
16467
|
--db-shape-pill: 999px;
|
|
16463
16468
|
}
|
|
16464
16469
|
|
|
16470
|
+
:where(.du-bois-dark) {
|
|
16471
|
+
/* Shape */
|
|
16472
|
+
/* Mirrors the ShapeTokens host-override var used by Card; falls back to the theme radius. */
|
|
16473
|
+
--db-card-border-radius: var(--info-container-border-radius, 8px);
|
|
16474
|
+
|
|
16475
|
+
/* Color */
|
|
16476
|
+
--db-card-surface: var(--db-surface-base);
|
|
16477
|
+
--db-card-text: var(--db-text-base);
|
|
16478
|
+
--db-card-border: var(--db-border-base);
|
|
16479
|
+
--db-card-border-hover: var(--db-border-strong);
|
|
16480
|
+
}
|
|
16481
|
+
|
|
16482
|
+
:where(.du-bois-dark) {
|
|
16483
|
+
/* Shape */
|
|
16484
|
+
/* Mirrors the ShapeTokens host-override var used by list items; falls back to the theme radius. */
|
|
16485
|
+
--db-list-item-border-radius: var(--list-item-border-radius, 4px);
|
|
16486
|
+
|
|
16487
|
+
/* Color */
|
|
16488
|
+
--db-list-surface: var(--db-surface-base);
|
|
16489
|
+
--db-list-text: var(--db-text-base);
|
|
16490
|
+
--db-list-header-text: var(--db-text-subtle);
|
|
16491
|
+
--db-list-separator: var(--db-border-subtle);
|
|
16492
|
+
|
|
16493
|
+
--db-list-item-surface-hover: var(--db-surface-hover);
|
|
16494
|
+
--db-list-item-surface-active: var(--db-surface-active);
|
|
16495
|
+
--db-list-item-surface-selected: var(--db-accent-surface-subtle);
|
|
16496
|
+
--db-list-item-surface-disabled: var(--db-surface-disabled);
|
|
16497
|
+
|
|
16498
|
+
--db-list-item-text-selected: var(--db-accent-text);
|
|
16499
|
+
--db-list-item-text-disabled: var(--db-text-disabled);
|
|
16500
|
+
|
|
16501
|
+
--db-list-item-danger-text: var(--db-negative-text);
|
|
16502
|
+
--db-list-item-danger-surface-hover: var(--db-negative-surface-subtle);
|
|
16503
|
+
|
|
16504
|
+
/* Density */
|
|
16505
|
+
--db-list-item-padding: var(--db-space-2);
|
|
16506
|
+
--db-list-item-height: var(--db-size-8);
|
|
16507
|
+
}
|
|
16508
|
+
|
|
16509
|
+
:where(.du-bois-dark) {
|
|
16510
|
+
/* Shape */
|
|
16511
|
+
/* Mirrors the ShapeTokens host-override var; falls back to the v1 value (borderRadiusSm). */
|
|
16512
|
+
--db-popup-border-radius: var(--popup-border-radius, 4px);
|
|
16513
|
+
|
|
16514
|
+
/* Color */
|
|
16515
|
+
--db-popup-surface: var(--db-surface-base);
|
|
16516
|
+
--db-popup-text: var(--db-text-base);
|
|
16517
|
+
--db-popup-border: var(--db-border-base);
|
|
16518
|
+
|
|
16519
|
+
/* Elevation */
|
|
16520
|
+
--db-popup-elevation: var(--db-elevation-med);
|
|
16521
|
+
}
|
|
16522
|
+
|
|
16465
16523
|
:where(.du-bois-dark) {
|
|
16466
16524
|
/* Shape */
|
|
16467
16525
|
--db-selection-toggle-border-radius: 4px;
|
|
@@ -16473,15 +16531,15 @@ span.du-bois-dark-typography-ellipsis-single-line {
|
|
|
16473
16531
|
--db-selection-toggle-border: var(--db-border-strong);
|
|
16474
16532
|
|
|
16475
16533
|
--db-selection-toggle-surface-hover: var(--db-surface-hover);
|
|
16476
|
-
--db-selection-toggle-surface-
|
|
16534
|
+
--db-selection-toggle-surface-active: var(--db-surface-selected-active);
|
|
16477
16535
|
--db-selection-toggle-surface-checked: var(--db-accent-surface);
|
|
16478
16536
|
--db-selection-toggle-surface-checked-hover: var(--db-accent-surface-hover);
|
|
16479
|
-
--db-selection-toggle-surface-checked-
|
|
16537
|
+
--db-selection-toggle-surface-checked-active: var(--db-accent-surface-active);
|
|
16480
16538
|
--db-selection-toggle-surface-disabled: var(--db-surface-disabled);
|
|
16481
16539
|
--db-selection-toggle-surface-checked-disabled: var(--db-surface-disabled);
|
|
16482
16540
|
|
|
16483
16541
|
--db-selection-toggle-border-hover: var(--db-accent-surface-hover);
|
|
16484
|
-
--db-selection-toggle-border-
|
|
16542
|
+
--db-selection-toggle-border-active: var(--db-accent-surface-active);
|
|
16485
16543
|
--db-selection-toggle-border-disabled: var(--db-border-base);
|
|
16486
16544
|
|
|
16487
16545
|
--db-selection-toggle-mark-disabled: var(--db-text-disabled);
|
|
@@ -16497,6 +16555,142 @@ span.du-bois-dark-typography-ellipsis-single-line {
|
|
|
16497
16555
|
--db-selection-toggle-transition-duration: 120ms;
|
|
16498
16556
|
}
|
|
16499
16557
|
|
|
16558
|
+
:where(.du-bois-dark) {
|
|
16559
|
+
/* Shape */
|
|
16560
|
+
--db-avatar-border-radius: var(--db-radius-sm);
|
|
16561
|
+
|
|
16562
|
+
/* Density */
|
|
16563
|
+
--db-avatar-group-gap: var(--db-space-1);
|
|
16564
|
+
--db-avatar-group-border-width: 1px;
|
|
16565
|
+
|
|
16566
|
+
/* Color */
|
|
16567
|
+
/* No v2 token holds the secondary icon glyph yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
16568
|
+
--db-avatar-icon: var(--db-color-text-secondary);
|
|
16569
|
+
/* No v2 token holds the default avatar surface yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
16570
|
+
--db-avatar-surface: var(--db-color-tag-background-default);
|
|
16571
|
+
/* No v2 token holds the group divider border yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
16572
|
+
--db-avatar-group-border-color: var(--db-color-background-primary);
|
|
16573
|
+
}
|
|
16574
|
+
|
|
16575
|
+
:where(.du-bois-dark) {
|
|
16576
|
+
/* Color */
|
|
16577
|
+
/* No v2 token holds the initials/icon glyph on a colored avatar yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
16578
|
+
--db-avatar-text: #e8ecf0;
|
|
16579
|
+
}
|
|
16580
|
+
|
|
16581
|
+
|
|
16582
|
+
/* Component-tier tokens for the native <Button>, grouped by area (density, shape, typography, color).
|
|
16583
|
+
* Colors alias the action-* system tokens; sizes alias the system density scale.
|
|
16584
|
+
*
|
|
16585
|
+
* Follows the mortar/action.css pattern: one semantic set (surface / border / text, each with
|
|
16586
|
+
* -hover / -active / -disabled) whose defaults are the secondary variant. The variant classes that
|
|
16587
|
+
* re-set these tokens per variant live in NativeButton.css; this file declares only tokens. */
|
|
16588
|
+
|
|
16589
|
+
/* Declared under the theme classes too (not just :root) so the var() chain re-resolves inside a
|
|
16590
|
+
* `.du-bois-dark` subtree (or a portal that re-applies the theme class) instead of freezing at the root values. */
|
|
16591
|
+
:where(.du-bois-dark) {
|
|
16592
|
+
/* ── Density ──────────────────────────────────────────────────────────── */
|
|
16593
|
+
--db-btn-height: var(--db-size-8);
|
|
16594
|
+
--db-btn-height-small: var(--db-size-6);
|
|
16595
|
+
--db-btn-icon-size: var(--db-size-4);
|
|
16596
|
+
--db-btn-border-width: 1px;
|
|
16597
|
+
--db-btn-padding-vertical: var(--db-space-1);
|
|
16598
|
+
--db-btn-padding-horizontal: var(--db-space-3);
|
|
16599
|
+
--db-btn-padding-horizontal-small: var(--db-space-2);
|
|
16600
|
+
/* Icon/force-icon horizontal padding: half the standard horizontal padding. */
|
|
16601
|
+
--db-btn-padding-horizontal-icon: calc(var(--db-space-3) / 2); /* 6px */
|
|
16602
|
+
--db-btn-gap: var(--db-space-1);
|
|
16603
|
+
--db-btn-end-icon-gap: var(--db-space-2);
|
|
16604
|
+
--db-btn-end-icon-gap-small: var(--db-space-1);
|
|
16605
|
+
/* Width of a content-less button while loading, so the standalone spinner has room. */
|
|
16606
|
+
--db-btn-loading-empty-width: var(--db-size-10);
|
|
16607
|
+
|
|
16608
|
+
/* ── Shape ────────────────────────────────────────────────────────────── */
|
|
16609
|
+
--db-btn-border-radius: var(--db-shape-control);
|
|
16610
|
+
|
|
16611
|
+
/* ── Typography ───────────────────────────────────────────────────────── */
|
|
16612
|
+
--db-btn-font-size: var(--db-font-size-base);
|
|
16613
|
+
--db-btn-icon-only-font-size: var(--db-font-size-lg); /* 15px */
|
|
16614
|
+
--db-btn-font-weight: var(--db-font-weight-normal);
|
|
16615
|
+
/* Line heights are hard-coded until the typography scale ships computed per-level line-height tokens. */
|
|
16616
|
+
--db-btn-line-height: 1.25rem; /* 20px */
|
|
16617
|
+
--db-btn-line-height-small: 1rem; /* 16px */
|
|
16618
|
+
|
|
16619
|
+
/* ── Color: semantic set (defaults = secondary variant) ───────────────── */
|
|
16620
|
+
--db-btn-surface: var(--db-color-action-default-background-default);
|
|
16621
|
+
--db-btn-surface-hover: var(--db-color-action-default-background-hover);
|
|
16622
|
+
--db-btn-surface-active: var(--db-color-action-default-background-press);
|
|
16623
|
+
--db-btn-surface-disabled: transparent;
|
|
16624
|
+
--db-btn-border: var(--db-color-action-default-border-default);
|
|
16625
|
+
--db-btn-border-hover: var(--db-color-action-default-border-hover);
|
|
16626
|
+
--db-btn-border-active: var(--db-color-action-default-border-press);
|
|
16627
|
+
--db-btn-border-disabled: var(--db-color-action-disabled-border);
|
|
16628
|
+
--db-btn-text: var(--db-color-action-default-text-default);
|
|
16629
|
+
--db-btn-text-hover: var(--db-color-action-default-text-hover);
|
|
16630
|
+
--db-btn-text-active: var(--db-color-action-default-text-press);
|
|
16631
|
+
--db-btn-text-disabled: var(--db-color-action-disabled-text);
|
|
16632
|
+
|
|
16633
|
+
/* ── Focus & icon ─────────────────────────────────────────────────────── */
|
|
16634
|
+
--db-btn-focus-ring: var(--db-color-action-default-border-focus);
|
|
16635
|
+
--db-btn-danger-focus-ring: var(--db-color-action-danger-primary-background-default);
|
|
16636
|
+
--db-btn-icon-glyph: var(--db-color-text-secondary);
|
|
16637
|
+
}
|
|
16638
|
+
|
|
16639
|
+
/* Native <Button> visual styles. Consumes the component-tier `--db-btn-*` tokens (see tokens.css);
|
|
16640
|
+
* the variant classes below re-set those tokens per variant and the rules that follow paint them.
|
|
16641
|
+
* Shipped via mortar.css. */
|
|
16642
|
+
|
|
16643
|
+
/* ── 0. Variant token re-sets ──────────────────────────────────────────────
|
|
16644
|
+
* Each variant class re-sets the semantic tokens declared in tokens.css; combined classes win by
|
|
16645
|
+
* specificity, which beats the `:where(:root)` (specificity 0) defaults regardless of file order. */
|
|
16646
|
+
/* Link is borderless and text-only, so its hover/press surface stays transparent. */
|
|
16647
|
+
/* Every danger button (icon included) disables to the filled treatment. */
|
|
16648
|
+
/* Danger, filled (primary): re-set only the surface; text/transparent border come from primary. */
|
|
16649
|
+
/* Danger, secondary/outlined. */
|
|
16650
|
+
/* Danger, tertiary/link: danger text everywhere, danger surface on hover/press; resting/disabled
|
|
16651
|
+
* surface stay the tertiary ghost (override the filled danger-disabled set above). */
|
|
16652
|
+
/* Icon-only renders as the ghost (tertiary) treatment regardless of variant; re-set the semantic set
|
|
16653
|
+
* so the icon-only rules paint from these component tokens. */
|
|
16654
|
+
/* Danger icon-only keeps the ghost resting surface (inherited above) but uses danger text and a
|
|
16655
|
+
* danger hover/press surface. */
|
|
16656
|
+
|
|
16657
|
+
/* ── 1. Base — paints the default (secondary) variant ────────────────────── */
|
|
16658
|
+
|
|
16659
|
+
/* ── 2. Padding ──────────────────────────────────────────────────────────── */
|
|
16660
|
+
|
|
16661
|
+
/* ── 3. Interactive states ───────────────────────────────────────────────── */
|
|
16662
|
+
|
|
16663
|
+
/* ── 4. Focus ────────────────────────────────────────────────────────────── */
|
|
16664
|
+
|
|
16665
|
+
/* ── 5. Small / block (full-width) / empty ────────────────────────────────── */
|
|
16666
|
+
|
|
16667
|
+
/* ── 6. Tertiary & link ──────────────────────────────────────────────────── */
|
|
16668
|
+
/* Re-declare the text color for a non-icon-only tertiary/link at two-class weight so a plain
|
|
16669
|
+
* call-site `color` override loses; an icon-only glyph stays at base weight so its override wins. */
|
|
16670
|
+
/* Keep the resting border at two-class weight (parity with the shielded border-color). */
|
|
16671
|
+
|
|
16672
|
+
/* ── 7. Danger ───────────────────────────────────────────────────────────── */
|
|
16673
|
+
|
|
16674
|
+
/* ── 8. Icon-only ────────────────────────────────────────────────────────── */
|
|
16675
|
+
/* `:where()` keeps this at (0,1,0) so a call-site `css` width override wins, as it does for `height`. */
|
|
16676
|
+
/* `:where()` on the exclusion holds this at (0,2,0): enough to tint an un-overridden icon-only link
|
|
16677
|
+
* over the base color, while still letting a consumer's own icon-color override win on source order. */
|
|
16678
|
+
|
|
16679
|
+
/* ── 9. Disabled — base rules paint the per-variant `*-disabled` tokens (see tokens.css) ──────── */
|
|
16680
|
+
/* Empty disabled buttons keep a transparent border (set elsewhere), so exclude them.
|
|
16681
|
+
* `:where()` on the exclusion holds this at (0,2,0): enough to beat the base border, while still
|
|
16682
|
+
* letting a consumer's own `[disabled]` border override win on source order. */
|
|
16683
|
+
|
|
16684
|
+
/* ── 10. Icon & content layout ───────────────────────────────────────────── */
|
|
16685
|
+
/* The leading icon renders unwrapped as the button's direct `.anticon` child (see NativeButton.tsx),
|
|
16686
|
+
* so `> .anticon` targets only a real icon glyph — a non-glyph `icon` (e.g. a Spinner) keeps its own
|
|
16687
|
+
* sizing — and out-specifies AntD's runtime-injected global `.anticon` rule. */
|
|
16688
|
+
|
|
16689
|
+
/* ── 11. Loading ─────────────────────────────────────────────────────────── */
|
|
16690
|
+
|
|
16691
|
+
/* ── 12. dangerouslySetForceIconStyles ───────────────────────────────────── */
|
|
16692
|
+
|
|
16693
|
+
|
|
16500
16694
|
:where(.du-bois-dark) {
|
|
16501
16695
|
/* Shape */
|
|
16502
16696
|
--db-checkbox-border-radius: var(--db-selection-toggle-border-radius);
|
|
@@ -16505,15 +16699,15 @@ span.du-bois-dark-typography-ellipsis-single-line {
|
|
|
16505
16699
|
/* Color */
|
|
16506
16700
|
--db-checkbox-surface: var(--db-selection-toggle-surface);
|
|
16507
16701
|
--db-checkbox-surface-hover: var(--db-color-action-default-background-hover);
|
|
16508
|
-
--db-checkbox-surface-
|
|
16702
|
+
--db-checkbox-surface-active: var(--db-color-action-default-background-press);
|
|
16509
16703
|
--db-checkbox-surface-checked: var(--db-selection-toggle-surface-checked);
|
|
16510
16704
|
--db-checkbox-surface-checked-hover: var(--db-selection-toggle-surface-checked-hover);
|
|
16511
|
-
--db-checkbox-surface-checked-
|
|
16705
|
+
--db-checkbox-surface-checked-active: var(--db-selection-toggle-surface-checked-active);
|
|
16512
16706
|
--db-checkbox-surface-disabled: var(--db-selection-toggle-surface-disabled);
|
|
16513
16707
|
|
|
16514
16708
|
--db-checkbox-border: var(--db-color-action-default-border-default);
|
|
16515
16709
|
--db-checkbox-border-hover: var(--db-selection-toggle-border-hover);
|
|
16516
|
-
--db-checkbox-border-
|
|
16710
|
+
--db-checkbox-border-active: var(--db-selection-toggle-border-active);
|
|
16517
16711
|
--db-checkbox-focus-ring: var(--db-focus-ring-color);
|
|
16518
16712
|
--db-checkbox-border-disabled: var(--db-color-action-disabled-border);
|
|
16519
16713
|
|
|
@@ -16610,7 +16804,7 @@ span.du-bois-dark-typography-ellipsis-single-line {
|
|
|
16610
16804
|
* vertical margin Hint/FormMessage carry. */
|
|
16611
16805
|
|
|
16612
16806
|
/* Group spacing against sibling form text — 8px gap above the group when it
|
|
16613
|
-
* follows a Hint, 8px gap above a FormMessage when it follows the group.
|
|
16807
|
+
* follows a Label or Hint, 8px gap above a FormMessage when it follows the group.
|
|
16614
16808
|
* Doubled class on the group side beats FormMessage's `&&` for the same reason. */
|
|
16615
16809
|
|
|
16616
16810
|
/* CheckboxGroup layout. Vertical delegates to the `.db-stack` primitive; the
|
|
@@ -16624,6 +16818,257 @@ span.du-bois-dark-typography-ellipsis-single-line {
|
|
|
16624
16818
|
|
|
16625
16819
|
/* Vertical: .db-stack supplies flex-direction + gap; we only retarget the knob. */
|
|
16626
16820
|
|
|
16821
|
+
|
|
16822
|
+
|
|
16823
|
+
:where(.du-bois-dark) {
|
|
16824
|
+
/* Density */
|
|
16825
|
+
--db-drawer-padding-horizontal: var(--db-space-6);
|
|
16826
|
+
--db-drawer-padding-horizontal-small: var(--db-space-4);
|
|
16827
|
+
--db-drawer-content-padding-top: var(--db-space-4);
|
|
16828
|
+
--db-drawer-content-padding-top-small: var(--db-space-2);
|
|
16829
|
+
--db-drawer-footer-padding-top: var(--db-space-4);
|
|
16830
|
+
--db-drawer-footer-padding-bottom: var(--db-space-6);
|
|
16831
|
+
--db-drawer-footer-padding-bottom-small: var(--db-space-4);
|
|
16832
|
+
--db-drawer-title-margin-bottom: var(--db-space-2);
|
|
16833
|
+
--db-drawer-close-button-margin: var(--db-space-1);
|
|
16834
|
+
|
|
16835
|
+
/* Color */
|
|
16836
|
+
--db-drawer-surface: var(--db-surface-base);
|
|
16837
|
+
--db-drawer-text: var(--db-text-base);
|
|
16838
|
+
--db-drawer-border: var(--db-border-base);
|
|
16839
|
+
/* No v2 token holds the drawer scrim yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
16840
|
+
--db-drawer-overlay: var(--db-color-overlay-overlay);
|
|
16841
|
+
}
|
|
16842
|
+
|
|
16843
|
+
:where(.du-bois-dark) {
|
|
16844
|
+
/* Elevation */
|
|
16845
|
+
/* No v2 token holds the dark drawer elevation yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
16846
|
+
--db-drawer-shadow: 0px 8px 40px 0px rgba(0, 0, 0, 0.87);
|
|
16847
|
+
}
|
|
16848
|
+
|
|
16849
|
+
|
|
16850
|
+
:where(.du-bois-dark) {
|
|
16851
|
+
/* Color */
|
|
16852
|
+
--db-empty-text: var(--db-text-subtle);
|
|
16853
|
+
--db-empty-image-color: var(--db-text-disabled);
|
|
16854
|
+
|
|
16855
|
+
/* Density */
|
|
16856
|
+
--db-empty-image-size: calc(var(--db-size-8) * 2);
|
|
16857
|
+
--db-empty-image-spacing: var(--db-space-4);
|
|
16858
|
+
--db-empty-description-spacing: var(--db-space-4);
|
|
16859
|
+
--db-empty-max-width: 600px;
|
|
16860
|
+
}
|
|
16861
|
+
|
|
16862
|
+
|
|
16863
|
+
|
|
16864
|
+
|
|
16865
|
+
|
|
16866
|
+
|
|
16867
|
+
|
|
16868
|
+
|
|
16869
|
+
/* Component tokens for the native Icon. */
|
|
16870
|
+
:where(.du-bois-dark) {
|
|
16871
|
+
--db-icon-size: var(--db-font-size-xl);
|
|
16872
|
+
--db-icon-color-danger: var(--db-color-text-validation-danger);
|
|
16873
|
+
--db-icon-color-warning: var(--db-color-text-validation-warning);
|
|
16874
|
+
--db-icon-color-success: var(--db-color-text-validation-success);
|
|
16875
|
+
--db-icon-ai-gradient-start: var(--db-ai-gradient-start);
|
|
16876
|
+
--db-icon-ai-gradient-mid: var(--db-ai-gradient-mid);
|
|
16877
|
+
--db-icon-ai-gradient-end: var(--db-ai-gradient-end);
|
|
16878
|
+
}
|
|
16879
|
+
|
|
16880
|
+
/* Native Icon styles. Ships through mortar.css and reads only component-tier --db-icon-* tokens.
|
|
16881
|
+
* Icon size is driven solely by the `--db-icon-size` design token: to resize an icon, set that
|
|
16882
|
+
* token in scope (default 16px in tokens.css) rather than overriding `font-size`. */
|
|
16883
|
+
|
|
16884
|
+
/* TODO: remove once clickable-icon callsites are gone. Kept for backwards compatibility with the
|
|
16885
|
+
* AntD icon, which made icons clickable via onClick; some callsites still rely on it. Actual icons
|
|
16886
|
+
* should never carry a tabindex — a clickable icon belongs inside a button. */
|
|
16887
|
+
|
|
16888
|
+
/* Semantic colors set `color` only; the SVG glyph paints its `fill`/`stroke` from `currentColor`,
|
|
16889
|
+
* so setting the text color recolors the icon. */
|
|
16890
|
+
|
|
16891
|
+
@keyframes db-icon-loading-circle {
|
|
16892
|
+
100% {
|
|
16893
|
+
transform: rotate(360deg);
|
|
16894
|
+
}
|
|
16895
|
+
}
|
|
16896
|
+
|
|
16897
|
+
|
|
16898
|
+
:where(.du-bois-dark) {
|
|
16899
|
+
/* Shape */
|
|
16900
|
+
--db-listbox-border-radius: var(--db-list-item-border-radius);
|
|
16901
|
+
--db-listbox-focus-ring-width: var(--db-focus-ring-width);
|
|
16902
|
+
|
|
16903
|
+
/* Color */
|
|
16904
|
+
--db-listbox-surface: var(--db-list-surface);
|
|
16905
|
+
--db-listbox-empty-text: var(--db-text-subtle);
|
|
16906
|
+
--db-listbox-focus-ring-color: var(--db-focus-ring-color);
|
|
16907
|
+
|
|
16908
|
+
/* Density */
|
|
16909
|
+
--db-listbox-spacing: var(--db-space-2);
|
|
16910
|
+
--db-listbox-empty-spacing-horizontal: var(--db-space-3);
|
|
16911
|
+
--db-listbox-empty-spacing-vertical: calc(var(--db-space-2) * 0.75);
|
|
16912
|
+
}
|
|
16913
|
+
|
|
16914
|
+
|
|
16915
|
+
:where(.du-bois-dark) {
|
|
16916
|
+
/* Shape */
|
|
16917
|
+
/* Must not scale with density; no non-scaling system token holds it. TODO(FEINF-6505): adopt a v2 system token when one is added. */
|
|
16918
|
+
--db-navigation-menu-indicator-thickness: 4px;
|
|
16919
|
+
/* No system token holds this control-specific inset. TODO(FEINF-6505): adopt a v2 system token when one is added. */
|
|
16920
|
+
--db-navigation-menu-focus-ring-offset: -1px;
|
|
16921
|
+
|
|
16922
|
+
/* Color */
|
|
16923
|
+
--db-navigation-menu-indicator: var(--db-accent-surface);
|
|
16924
|
+
--db-navigation-menu-focus-ring: var(--db-focus-ring-color);
|
|
16925
|
+
--db-navigation-menu-text: var(--db-text-subtle);
|
|
16926
|
+
--db-navigation-menu-text-selected: var(--db-text-base);
|
|
16927
|
+
/* No v2 semantic for default-action link text yet; bridges on the v1 --db-color-* token. */
|
|
16928
|
+
--db-navigation-menu-text-hover: var(--db-color-action-default-text-hover);
|
|
16929
|
+
--db-navigation-menu-text-active: var(--db-color-action-default-text-press);
|
|
16930
|
+
|
|
16931
|
+
/* Density */
|
|
16932
|
+
--db-navigation-menu-item-height: var(--db-size-8);
|
|
16933
|
+
--db-navigation-menu-item-min-width: var(--db-size-6);
|
|
16934
|
+
--db-navigation-menu-link-padding-top: var(--db-space-1);
|
|
16935
|
+
--db-navigation-menu-link-padding-bottom: var(--db-space-2);
|
|
16936
|
+
--db-navigation-menu-focus-ring-width: var(--db-focus-ring-width);
|
|
16937
|
+
}
|
|
16938
|
+
|
|
16939
|
+
:where(.du-bois-dark) {
|
|
16940
|
+
/* Shape */
|
|
16941
|
+
--db-notification-border-radius: var(--db-popup-border-radius);
|
|
16942
|
+
|
|
16943
|
+
/* Density */
|
|
16944
|
+
--db-notification-padding: var(--db-space-3);
|
|
16945
|
+
--db-notification-column-gap: var(--db-space-1);
|
|
16946
|
+
--db-notification-description-gap: var(--db-space-1);
|
|
16947
|
+
--db-notification-close-offset: calc(var(--db-space-1) * 1.5);
|
|
16948
|
+
--db-notification-close-size: var(--db-size-5);
|
|
16949
|
+
--db-notification-viewport-padding: var(--db-space-3);
|
|
16950
|
+
--db-notification-viewport-gap: var(--db-space-3);
|
|
16951
|
+
--db-notification-viewport-margin: var(--db-space-6);
|
|
16952
|
+
--db-notification-viewport-width: 440px;
|
|
16953
|
+
|
|
16954
|
+
/* Color */
|
|
16955
|
+
--db-notification-surface: var(--db-popup-surface);
|
|
16956
|
+
--db-notification-border: var(--db-popup-border);
|
|
16957
|
+
--db-notification-text: var(--db-popup-text);
|
|
16958
|
+
--db-notification-icon: var(--db-text-subtle);
|
|
16959
|
+
--db-notification-icon-success: var(--db-positive-text);
|
|
16960
|
+
--db-notification-icon-warning: var(--db-caution-text);
|
|
16961
|
+
--db-notification-icon-error: var(--db-negative-text);
|
|
16962
|
+
}
|
|
16963
|
+
|
|
16964
|
+
:where(.du-bois-dark) {
|
|
16965
|
+
/* Elevation */
|
|
16966
|
+
/* No v1/v2 system token holds this dark shadow; --db-elevation-med is theme-invariant (light). TODO(FEINF-6505): adopt a v2 system token when one is added. */
|
|
16967
|
+
--db-notification-shadow: 0px 2px 16px 0px rgba(0, 0, 0, 0.61);
|
|
16968
|
+
}
|
|
16969
|
+
|
|
16970
|
+
:where(.du-bois-dark) {
|
|
16971
|
+
/* Color */
|
|
16972
|
+
/* No v2 token holds tertiary action-text states yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
16973
|
+
--db-overflow-trigger-text: var(--db-color-action-tertiary-text-default);
|
|
16974
|
+
--db-overflow-trigger-text-hover: var(--db-color-action-tertiary-text-hover);
|
|
16975
|
+
--db-overflow-trigger-text-press: var(--db-color-action-tertiary-text-press);
|
|
16976
|
+
|
|
16977
|
+
/* Density */
|
|
16978
|
+
--db-overflow-spacing: var(--db-space-2);
|
|
16979
|
+
--db-overflow-menu-spacing: var(--db-space-1);
|
|
16980
|
+
}
|
|
16981
|
+
|
|
16982
|
+
|
|
16983
|
+
|
|
16984
|
+
/* Popover is a neutral-card member of the popup family: surface, text, border, and radius come
|
|
16985
|
+
* from --db-popup-*. Link, focus, and spacing are popover-specific and reference system tokens
|
|
16986
|
+
* directly. The popup elevation scale is light-only, so the dark shadow is re-declared below. */
|
|
16987
|
+
|
|
16988
|
+
:where(.du-bois-dark) {
|
|
16989
|
+
/* Shape */
|
|
16990
|
+
--db-popover-border-radius: var(--db-popup-border-radius);
|
|
16991
|
+
|
|
16992
|
+
/* Color */
|
|
16993
|
+
--db-popover-surface: var(--db-popup-surface);
|
|
16994
|
+
--db-popover-text: var(--db-popup-text);
|
|
16995
|
+
--db-popover-border: var(--db-popup-border);
|
|
16996
|
+
/* No v2 token holds the tertiary link text yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
16997
|
+
--db-popover-link-text: var(--db-color-action-tertiary-text-default);
|
|
16998
|
+
--db-popover-link-text-hover: var(--db-color-action-tertiary-text-hover);
|
|
16999
|
+
--db-popover-focus-ring: var(--db-focus-ring-color);
|
|
17000
|
+
|
|
17001
|
+
/* Density */
|
|
17002
|
+
--db-popover-spacing: var(--db-space-2);
|
|
17003
|
+
--db-popover-focus-ring-width: var(--db-focus-ring-width);
|
|
17004
|
+
|
|
17005
|
+
/* Elevation */
|
|
17006
|
+
--db-popover-shadow: var(--db-popup-elevation);
|
|
17007
|
+
}
|
|
17008
|
+
|
|
17009
|
+
:where(.du-bois-dark) {
|
|
17010
|
+
/* No v2 token holds the dark-scope popover elevation shadow yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17011
|
+
--db-popover-shadow: 0px 2px 16px 0px rgba(0, 0, 0, 0.61);
|
|
17012
|
+
}
|
|
17013
|
+
|
|
17014
|
+
:where(.du-bois-dark) {
|
|
17015
|
+
/* Shape */
|
|
17016
|
+
--db-preview-card-border-radius: var(--db-card-border-radius);
|
|
17017
|
+
--db-preview-card-image-border-radius: var(--info-container-border-radius, 4px);
|
|
17018
|
+
--db-preview-card-border-width: 1px;
|
|
17019
|
+
|
|
17020
|
+
/* Density */
|
|
17021
|
+
--db-preview-card-padding: var(--db-space-4);
|
|
17022
|
+
--db-preview-card-padding-large: var(--db-space-6);
|
|
17023
|
+
--db-preview-card-gap: var(--db-space-2);
|
|
17024
|
+
--db-preview-card-gap-large: var(--db-space-4);
|
|
17025
|
+
--db-preview-card-action-spacing: var(--db-space-4);
|
|
17026
|
+
|
|
17027
|
+
/* Color */
|
|
17028
|
+
--db-preview-card-text: var(--db-text-subtle);
|
|
17029
|
+
--db-preview-card-title-text: var(--db-card-text);
|
|
17030
|
+
--db-preview-card-border: var(--db-card-border);
|
|
17031
|
+
/* No v2 token holds the active/focus border yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17032
|
+
--db-preview-card-border-hover: var(--db-color-action-default-border-hover);
|
|
17033
|
+
/* No v2 token holds the focus outline ring yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17034
|
+
--db-preview-card-border-focus: var(--db-color-action-default-border-focus);
|
|
17035
|
+
/* No v2 token holds the active surface tint yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17036
|
+
--db-preview-card-surface-active: var(--db-color-action-tertiary-background-press);
|
|
17037
|
+
--db-preview-card-surface-disabled: var(--db-surface-disabled);
|
|
17038
|
+
/* No v2 token holds the disabled border yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17039
|
+
--db-preview-card-border-disabled: var(--db-color-action-disabled-border);
|
|
17040
|
+
--db-preview-card-text-disabled: var(--db-text-disabled);
|
|
17041
|
+
|
|
17042
|
+
/* Typography */
|
|
17043
|
+
--db-preview-card-title-font-weight: var(--db-font-weight-semibold);
|
|
17044
|
+
}
|
|
17045
|
+
|
|
17046
|
+
:where(.du-bois-dark) {
|
|
17047
|
+
/* Elevation */
|
|
17048
|
+
|
|
17049
|
+
/* No v2 elevation token holds the dark shadows yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17050
|
+
--db-preview-card-shadow: 0px 2px 3px -1px rgba(0, 0, 0, 0.45), 0px 1px 0px 0px rgba(0, 0, 0, 0.26);
|
|
17051
|
+
--db-preview-card-shadow-hover: 0px 3px 6px 0px rgba(0, 0, 0, 0.45);
|
|
17052
|
+
}
|
|
17053
|
+
|
|
17054
|
+
/* Declared under the theme classes too (not just :root) so the var() chain re-resolves inside a
|
|
17055
|
+
* `.du-bois-dark` subtree instead of freezing at the light values. */
|
|
17056
|
+
:where(.du-bois-dark) {
|
|
17057
|
+
/* Shape */
|
|
17058
|
+
--db-progress-border-radius: var(--db-shape-pill);
|
|
17059
|
+
|
|
17060
|
+
/* Color */
|
|
17061
|
+
--db-progress-track: var(--db-color-progress-track);
|
|
17062
|
+
--db-progress-fill: var(--db-color-progress-fill);
|
|
17063
|
+
|
|
17064
|
+
/* Density */
|
|
17065
|
+
--db-progress-size: var(--db-size-2);
|
|
17066
|
+
|
|
17067
|
+
/* Motion */
|
|
17068
|
+
/* No v2 motion token holds this duration. TODO(FEINF-6505): adopt a v2 motion token when one is added. */
|
|
17069
|
+
--db-progress-transition-duration: 300ms;
|
|
17070
|
+
}
|
|
17071
|
+
|
|
16627
17072
|
:where(.du-bois-dark) {
|
|
16628
17073
|
/* Shape */
|
|
16629
17074
|
--db-radio-border-radius: var(--db-radius-full);
|
|
@@ -16632,19 +17077,19 @@ span.du-bois-dark-typography-ellipsis-single-line {
|
|
|
16632
17077
|
/* Color */
|
|
16633
17078
|
--db-radio-surface: var(--db-selection-toggle-surface);
|
|
16634
17079
|
--db-radio-surface-hover: var(--db-color-action-default-background-hover);
|
|
16635
|
-
--db-radio-surface-
|
|
17080
|
+
--db-radio-surface-active: var(--db-color-action-default-background-press);
|
|
16636
17081
|
--db-radio-surface-checked: var(--db-selection-toggle-surface-checked);
|
|
16637
17082
|
--db-radio-surface-checked-hover: var(--db-selection-toggle-surface-checked-hover);
|
|
16638
|
-
--db-radio-surface-checked-
|
|
17083
|
+
--db-radio-surface-checked-active: var(--db-color-action-default-background-press);
|
|
16639
17084
|
--db-radio-surface-disabled: var(--db-selection-toggle-surface-disabled);
|
|
16640
17085
|
|
|
16641
17086
|
--db-radio-border: var(--db-color-action-default-border-default);
|
|
16642
17087
|
--db-radio-border-hover: var(--db-selection-toggle-border-hover);
|
|
16643
|
-
--db-radio-border-
|
|
17088
|
+
--db-radio-border-active: var(--db-selection-toggle-border-active);
|
|
16644
17089
|
--db-radio-border-focus: var(--db-focus-ring-color);
|
|
16645
17090
|
--db-radio-border-disabled: var(--db-color-action-disabled-border);
|
|
16646
|
-
--db-radio-border-checked-hover: var(--db-selection-toggle-border-
|
|
16647
|
-
--db-radio-border-checked-
|
|
17091
|
+
--db-radio-border-checked-hover: var(--db-selection-toggle-border-active);
|
|
17092
|
+
--db-radio-border-checked-active: var(--db-color-action-default-border-press);
|
|
16648
17093
|
--db-radio-border-unchecked-focus: var(--db-color-action-primary-background-default);
|
|
16649
17094
|
--db-radio-outline-checked-focus: var(--db-color-action-primary-background-default);
|
|
16650
17095
|
|
|
@@ -16792,6 +17237,76 @@ span.du-bois-dark-typography-ellipsis-single-line {
|
|
|
16792
17237
|
/* AntD `&& + form-message { marginTop: sm }` (horizontal): a form-message following
|
|
16793
17238
|
* the whole group is separated by sm. */
|
|
16794
17239
|
|
|
17240
|
+
|
|
17241
|
+
|
|
17242
|
+
|
|
17243
|
+
|
|
17244
|
+
:where(.du-bois-dark) {
|
|
17245
|
+
/* Shape */
|
|
17246
|
+
--db-slider-border-radius: var(--db-shape-pill);
|
|
17247
|
+
|
|
17248
|
+
/* Color */
|
|
17249
|
+
/* No v2 token holds the track + disabled-range surface yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17250
|
+
--db-slider-track-surface: #e8ecf0;
|
|
17251
|
+
--db-slider-range-surface-disabled: #e8ecf0;
|
|
17252
|
+
/* No v2 token holds the range fill yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17253
|
+
--db-slider-range-surface: #2272b4;
|
|
17254
|
+
|
|
17255
|
+
--db-slider-thumb-surface: var(--db-accent-surface);
|
|
17256
|
+
--db-slider-thumb-surface-hover: var(--db-accent-surface-hover);
|
|
17257
|
+
--db-slider-thumb-surface-press: var(--db-accent-surface-active);
|
|
17258
|
+
/* No v2 token holds the disabled thumb yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17259
|
+
--db-slider-thumb-surface-disabled: #d1d9e1;
|
|
17260
|
+
|
|
17261
|
+
/* Density */
|
|
17262
|
+
--db-slider-size: var(--db-size-5); /* 20px */
|
|
17263
|
+
--db-slider-thumb-size: var(--db-size-5); /* 20px */
|
|
17264
|
+
--db-slider-track-thickness: calc(var(--db-size-1) * 0.75); /* 3px */
|
|
17265
|
+
}
|
|
17266
|
+
|
|
17267
|
+
:where(.du-bois-dark) {
|
|
17268
|
+
/* Shape */
|
|
17269
|
+
/* TODO(FEINF-6505): adopt --db-shape-container-* once a 4px container radius exists; kept on --db-radius-sm to preserve 4px. */
|
|
17270
|
+
--db-snackbar-border-radius: var(--db-radius-sm);
|
|
17271
|
+
|
|
17272
|
+
/* Density */
|
|
17273
|
+
--db-snackbar-spacing-vertical: var(--db-space-3);
|
|
17274
|
+
--db-snackbar-spacing-horizontal: var(--db-space-4);
|
|
17275
|
+
--db-snackbar-close-button-spacing: var(--db-space-2);
|
|
17276
|
+
|
|
17277
|
+
/* Color */
|
|
17278
|
+
/* No v1/v2 system token holds this theme-invariant white. TODO(FEINF-6505): adopt a v2 system token when one is added. */
|
|
17279
|
+
--db-snackbar-text: #ffffff;
|
|
17280
|
+
/* No v1/v2 system token holds these theme-invariant close-icon colors. TODO(FEINF-6505): adopt a v2 system token when one is added. */
|
|
17281
|
+
--db-snackbar-close-icon: #e8ecf0;
|
|
17282
|
+
--db-snackbar-close-icon-hover: #8acaff;
|
|
17283
|
+
--db-snackbar-close-icon-active: #bae1fc;
|
|
17284
|
+
}
|
|
17285
|
+
|
|
17286
|
+
:where(.du-bois-dark) {
|
|
17287
|
+
/* Color */
|
|
17288
|
+
/* No v1/v2 system token holds this light/dark surface pair. TODO(FEINF-6505): adopt a v2 system token when one is added. */
|
|
17289
|
+
--db-snackbar-surface: #445461;
|
|
17290
|
+
|
|
17291
|
+
/* Elevation */
|
|
17292
|
+
/* No v1/v2 system token holds this dark shadow; --db-elevation-med is theme-invariant (light). TODO(FEINF-6505): adopt a v2 system token when one is added. */
|
|
17293
|
+
--db-snackbar-shadow: 0px 2px 16px 0px rgba(0, 0, 0, 0.61);
|
|
17294
|
+
}
|
|
17295
|
+
|
|
17296
|
+
/* Spacer's height is a spacing step. The size prop (xs/sm/mid/md/lg) selects one component token,
|
|
17297
|
+
* each aliasing the system space scale — theme-invariant, so a single block (no light/dark split). */
|
|
17298
|
+
|
|
17299
|
+
:where(.du-bois-dark) {
|
|
17300
|
+
/* Density */
|
|
17301
|
+
--db-spacer-size-xs: var(--db-space-1); /* 4px */
|
|
17302
|
+
--db-spacer-size-sm: var(--db-space-2); /* 8px */
|
|
17303
|
+
--db-spacer-size-mid: var(--db-space-3); /* 12px */
|
|
17304
|
+
--db-spacer-size-md: var(--db-space-4); /* 16px */
|
|
17305
|
+
--db-spacer-size-lg: var(--db-space-6); /* 24px */
|
|
17306
|
+
}
|
|
17307
|
+
|
|
17308
|
+
|
|
17309
|
+
|
|
16795
17310
|
:where(.du-bois-dark) {
|
|
16796
17311
|
/* Shape */
|
|
16797
17312
|
--db-switch-border-radius: var(--db-radius-full);
|
|
@@ -16800,20 +17315,20 @@ span.du-bois-dark-typography-ellipsis-single-line {
|
|
|
16800
17315
|
/* Color */
|
|
16801
17316
|
--db-switch-surface: var(--db-selection-toggle-surface);
|
|
16802
17317
|
--db-switch-surface-hover: var(--db-color-action-default-background-hover);
|
|
16803
|
-
--db-switch-surface-
|
|
17318
|
+
--db-switch-surface-active: var(--db-color-action-default-background-press);
|
|
16804
17319
|
--db-switch-surface-checked: var(--db-selection-toggle-surface-checked);
|
|
16805
17320
|
--db-switch-surface-checked-hover: var(--db-selection-toggle-surface-checked-hover);
|
|
16806
|
-
--db-switch-surface-checked-
|
|
17321
|
+
--db-switch-surface-checked-active: var(--db-selection-toggle-surface-checked-active);
|
|
16807
17322
|
--db-switch-surface-disabled: var(--db-selection-toggle-surface-disabled);
|
|
16808
17323
|
--db-switch-surface-checked-disabled: var(--db-color-action-disabled-text);
|
|
16809
17324
|
|
|
16810
17325
|
--db-switch-border: var(--db-color-action-default-border-default);
|
|
16811
17326
|
--db-switch-border-hover: var(--db-selection-toggle-border-hover);
|
|
16812
|
-
--db-switch-border-
|
|
17327
|
+
--db-switch-border-active: var(--db-selection-toggle-border-active);
|
|
16813
17328
|
--db-switch-border-disabled: var(--db-color-action-disabled-border);
|
|
16814
17329
|
--db-switch-border-checked: var(--db-selection-toggle-surface-checked);
|
|
16815
17330
|
--db-switch-border-checked-hover: var(--db-selection-toggle-surface-checked-hover);
|
|
16816
|
-
--db-switch-border-checked-
|
|
17331
|
+
--db-switch-border-checked-active: var(--db-selection-toggle-surface-checked-active);
|
|
16817
17332
|
--db-switch-border-focus: var(--db-selection-toggle-surface-checked);
|
|
16818
17333
|
|
|
16819
17334
|
--db-switch-thumb: var(--db-selection-toggle-surface);
|
|
@@ -16831,7 +17346,12 @@ span.du-bois-dark-typography-ellipsis-single-line {
|
|
|
16831
17346
|
--db-switch-transition-duration: var(--db-selection-toggle-transition-duration);
|
|
16832
17347
|
}
|
|
16833
17348
|
|
|
16834
|
-
/* The track. `appearance: none` strips the native checkbox rendering so the input itself can be styled.
|
|
17349
|
+
/* The track. `appearance: none` strips the native checkbox rendering so the input itself can be styled.
|
|
17350
|
+
* Scoped via the `.db-switch-input` class, never a bare `input`: `.db-switch .db-switch-input` is
|
|
17351
|
+
* specificity (0,2,0), which out-ranks a host app's `input[type='checkbox'] { width: auto }` reset
|
|
17352
|
+
* (e.g. Bootstrap, loaded in webapp). A bare `.db-switch input` (0,1,1) merely ties that reset and, losing
|
|
17353
|
+
* on load order, has its `inline-size` overridden to `auto` — collapsing the track to zero width and
|
|
17354
|
+
* leaving only the floating thumb. Mirrors NativeCheckbox's `.db-checkbox-input`. */
|
|
16835
17355
|
|
|
16836
17356
|
/* The thumb. A pseudo-element keeps the input the switch's only element, so nothing can overlay it
|
|
16837
17357
|
* and intercept clicks. Offset left by the border width to sit flush with the track's outer edge. */
|
|
@@ -16854,168 +17374,79 @@ span.du-bois-dark-typography-ellipsis-single-line {
|
|
|
16854
17374
|
* so Chromium can hash-reject it instead of attempting the match against every element on every
|
|
16855
17375
|
* recalc (the leading/middle :is() groups aren't the key selector, so they're left as-is). */
|
|
16856
17376
|
|
|
16857
|
-
/* Component
|
|
16858
|
-
*
|
|
16859
|
-
*
|
|
16860
|
-
* Follows the mortar/action.css pattern: one semantic set (surface / border / text, each with
|
|
16861
|
-
* -hover / -press / -disabled) whose defaults are the secondary variant. The variant classes that
|
|
16862
|
-
* re-set these tokens per variant live in NativeButton.css; this file declares only tokens. */
|
|
16863
|
-
|
|
16864
|
-
/* Declared under the theme classes too (not just :root) so the var() chain re-resolves inside a
|
|
16865
|
-
* `.du-bois-dark` subtree (or a portal that re-applies the theme class) instead of freezing at the root values. */
|
|
17377
|
+
/* Component tokens for Tabs (no family). Re-declared under the theme classes, not only :root, so the
|
|
17378
|
+
* var() chain re-resolves inside a .du-bois-dark subtree instead of freezing at the light value. */
|
|
16866
17379
|
:where(.du-bois-dark) {
|
|
16867
17380
|
/* ── Density ──────────────────────────────────────────────────────────── */
|
|
16868
|
-
--db-
|
|
16869
|
-
--db-
|
|
16870
|
-
--db-
|
|
16871
|
-
--db-
|
|
16872
|
-
--db-
|
|
16873
|
-
--db-
|
|
16874
|
-
--db-
|
|
16875
|
-
|
|
16876
|
-
--db-
|
|
16877
|
-
|
|
16878
|
-
--db-
|
|
16879
|
-
--db-btn-end-icon-gap-small: var(--db-space-1);
|
|
16880
|
-
/* Width of a content-less button while loading, so the standalone spinner has room. */
|
|
16881
|
-
--db-btn-loading-empty-width: var(--db-size-10);
|
|
17381
|
+
--db-tabs-height: var(--db-size-8);
|
|
17382
|
+
--db-tabs-trigger-min-width: var(--db-size-6);
|
|
17383
|
+
--db-tabs-trigger-min-width-closable: var(--db-size-10);
|
|
17384
|
+
--db-tabs-list-margin-bottom: var(--db-space-4);
|
|
17385
|
+
--db-tabs-trigger-gap: var(--db-space-4);
|
|
17386
|
+
--db-tabs-trigger-padding-top: var(--db-space-1);
|
|
17387
|
+
--db-tabs-trigger-padding-bottom: var(--db-space-2);
|
|
17388
|
+
--db-tabs-close-icon-gap: var(--db-space-1);
|
|
17389
|
+
--db-tabs-add-button-margin-top: var(--db-space-0-5);
|
|
17390
|
+
/* No 1.5-unit space step exists; synthesize 6px from the nearest. TODO: use a direct step if one lands. */
|
|
17391
|
+
--db-tabs-add-button-margin-bottom: calc(var(--db-space-1) * 1.5);
|
|
16882
17392
|
|
|
16883
17393
|
/* ── Shape ────────────────────────────────────────────────────────────── */
|
|
16884
|
-
--db-
|
|
17394
|
+
--db-tabs-scrollbar-radius: var(--db-shape-control);
|
|
17395
|
+
--db-tabs-focus-ring-width: var(--db-focus-ring-width);
|
|
16885
17396
|
|
|
16886
17397
|
/* ── Typography ───────────────────────────────────────────────────────── */
|
|
16887
|
-
--db-
|
|
16888
|
-
--db-
|
|
16889
|
-
|
|
16890
|
-
|
|
16891
|
-
--db-btn-line-height: 1.25rem; /* 20px */
|
|
16892
|
-
--db-btn-line-height-small: 1rem; /* 16px */
|
|
17398
|
+
--db-tabs-font-size: var(--db-font-size-base);
|
|
17399
|
+
--db-tabs-font-weight: var(--db-font-weight-semibold);
|
|
17400
|
+
/* No v2 token holds the tab line-height yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17401
|
+
--db-tabs-line-height: 1.25rem;
|
|
16893
17402
|
|
|
16894
|
-
/* ── Color
|
|
16895
|
-
|
|
16896
|
-
--db-
|
|
16897
|
-
--db-
|
|
16898
|
-
--db-
|
|
16899
|
-
--db-
|
|
16900
|
-
--db-
|
|
16901
|
-
|
|
16902
|
-
--db-
|
|
16903
|
-
|
|
16904
|
-
--db-
|
|
16905
|
-
|
|
16906
|
-
--db-
|
|
16907
|
-
|
|
16908
|
-
|
|
16909
|
-
--db-btn-focus-ring: var(--db-color-action-default-border-focus);
|
|
16910
|
-
--db-btn-danger-focus-ring: var(--db-color-action-danger-primary-background-default);
|
|
16911
|
-
--db-btn-icon-glyph: var(--db-color-text-secondary);
|
|
17403
|
+
/* ── Color ────────────────────────────────────────────────────────────── */
|
|
17404
|
+
/* No v2 token holds the tab text / hover / press / active / disabled colors yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17405
|
+
--db-tabs-text: var(--db-color-text-secondary);
|
|
17406
|
+
--db-tabs-text-hover: var(--db-color-action-default-text-hover);
|
|
17407
|
+
--db-tabs-text-press: var(--db-color-action-default-text-press);
|
|
17408
|
+
--db-tabs-text-active: var(--db-color-text-primary);
|
|
17409
|
+
--db-tabs-text-disabled: var(--db-color-action-disabled-text);
|
|
17410
|
+
/* No v2 token holds the tab panel content text color yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17411
|
+
--db-tabs-content-text: var(--db-color-text-primary);
|
|
17412
|
+
/* No v2 token holds the active-tab underline yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17413
|
+
--db-tabs-indicator: var(--db-color-action-primary-background-default);
|
|
17414
|
+
/* No v2 token holds the list divider yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17415
|
+
--db-tabs-border: var(--db-color-action-default-border-default);
|
|
17416
|
+
/* No v2 token holds the focus ring color yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17417
|
+
--db-tabs-focus-ring: var(--db-color-action-default-border-focus);
|
|
16912
17418
|
}
|
|
16913
17419
|
|
|
16914
|
-
/*
|
|
16915
|
-
|
|
16916
|
-
|
|
16917
|
-
|
|
16918
|
-
|
|
16919
|
-
* Each variant class re-sets the semantic tokens declared in tokens.css; combined classes win by
|
|
16920
|
-
* specificity, which beats the `:where(:root)` (specificity 0) defaults regardless of file order. */
|
|
16921
|
-
/* Link is borderless and text-only, so its hover/press surface stays transparent. */
|
|
16922
|
-
/* Every danger button (icon included) disables to the filled treatment. */
|
|
16923
|
-
/* Danger, filled (primary): re-set only the surface; text/transparent border come from primary. */
|
|
16924
|
-
/* Danger, secondary/outlined. */
|
|
16925
|
-
/* Danger, tertiary/link: danger text everywhere, danger surface on hover/press; resting/disabled
|
|
16926
|
-
* surface stay the tertiary ghost (override the filled danger-disabled set above). */
|
|
16927
|
-
/* Icon-only renders as the ghost (tertiary) treatment regardless of variant; re-set the semantic set
|
|
16928
|
-
* so the icon-only rules paint from these component tokens. */
|
|
16929
|
-
/* Danger icon-only keeps the ghost resting surface (inherited above) but uses danger text and a
|
|
16930
|
-
* danger hover/press surface. */
|
|
16931
|
-
|
|
16932
|
-
/* ── 1. Base — paints the default (secondary) variant ────────────────────── */
|
|
16933
|
-
|
|
16934
|
-
/* ── 2. Padding ──────────────────────────────────────────────────────────── */
|
|
16935
|
-
|
|
16936
|
-
/* ── 3. Interactive states ───────────────────────────────────────────────── */
|
|
16937
|
-
|
|
16938
|
-
/* ── 4. Focus ────────────────────────────────────────────────────────────── */
|
|
16939
|
-
|
|
16940
|
-
/* ── 5. Small / full-width / empty ────────────────────────────────────────── */
|
|
16941
|
-
|
|
16942
|
-
/* ── 6. Tertiary & link ──────────────────────────────────────────────────── */
|
|
16943
|
-
/* Re-declare the text color for a non-icon-only tertiary/link at two-class weight so a plain
|
|
16944
|
-
* call-site `color` override loses; an icon-only glyph stays at base weight so its override wins. */
|
|
16945
|
-
/* Keep the resting border at two-class weight (parity with the shielded border-color). */
|
|
16946
|
-
|
|
16947
|
-
/* ── 7. Danger ───────────────────────────────────────────────────────────── */
|
|
16948
|
-
|
|
16949
|
-
/* ── 8. Icon-only ────────────────────────────────────────────────────────── */
|
|
16950
|
-
/* `:where()` keeps this at (0,1,0) so a call-site `css` width override wins, as it does for `height`. */
|
|
16951
|
-
/* `:where()` on the exclusion holds this at (0,2,0): enough to tint an un-overridden icon-only link
|
|
16952
|
-
* over the base color, while still letting a consumer's own icon-color override win on source order. */
|
|
16953
|
-
|
|
16954
|
-
/* ── 9. Disabled — base rules paint the per-variant `*-disabled` tokens (see tokens.css) ──────── */
|
|
16955
|
-
/* Empty and loading disabled buttons keep a transparent border (set elsewhere), so exclude them.
|
|
16956
|
-
* `:where()` on the exclusion holds this at (0,2,0): enough to beat the base border, while still
|
|
16957
|
-
* letting a consumer's own `[disabled]` border override win on source order. */
|
|
17420
|
+
/* No v2 token holds the scrollbar thumb yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17421
|
+
:where(.du-bois-dark) {
|
|
17422
|
+
--db-tabs-scrollbar-thumb: rgba(255, 255, 255, 0.2);
|
|
17423
|
+
--db-tabs-scrollbar-thumb-hover: rgba(255, 255, 255, 0.3);
|
|
17424
|
+
}
|
|
16958
17425
|
|
|
16959
|
-
/* ── 10. Icon & content layout ───────────────────────────────────────────── */
|
|
16960
|
-
/* The leading icon renders unwrapped as the button's direct `.anticon` child (see NativeButton.tsx),
|
|
16961
|
-
* so `> .anticon` targets only a real icon glyph — a non-glyph `icon` (e.g. a Spinner) keeps its own
|
|
16962
|
-
* sizing — and out-specifies AntD's runtime-injected global `.anticon` rule. */
|
|
16963
17426
|
|
|
16964
|
-
/* ── 11. Loading ─────────────────────────────────────────────────────────── */
|
|
16965
|
-
|
|
16966
|
-
/* ── 12. dangerouslySetForceIconStyles ───────────────────────────────────── */
|
|
16967
17427
|
|
|
16968
17428
|
:where(.du-bois-dark) {
|
|
16969
17429
|
/* Shape */
|
|
16970
|
-
|
|
16971
|
-
--db-navigation-menu-indicator-thickness: 4px;
|
|
16972
|
-
/* No system token holds this control-specific inset. TODO(FEINF-6505): adopt a v2 system token when one is added. */
|
|
16973
|
-
--db-navigation-menu-focus-ring-offset: -1px;
|
|
17430
|
+
--db-toolbar-border-radius: var(--db-shape-control);
|
|
16974
17431
|
|
|
16975
17432
|
/* Color */
|
|
16976
|
-
--db-
|
|
16977
|
-
--db-
|
|
16978
|
-
--db-
|
|
16979
|
-
--db-
|
|
16980
|
-
/* No v2
|
|
16981
|
-
--db-
|
|
16982
|
-
--db-
|
|
17433
|
+
--db-toolbar-surface: var(--db-surface-subtle);
|
|
17434
|
+
--db-toolbar-border: var(--db-border-base);
|
|
17435
|
+
--db-toolbar-separator-surface: var(--db-border-base);
|
|
17436
|
+
--db-toolbar-toggle-item-text: var(--db-text-base);
|
|
17437
|
+
/* No v2 token holds the toggle hover / press text yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17438
|
+
--db-toolbar-toggle-item-text-hover: var(--db-color-action-default-text-hover);
|
|
17439
|
+
--db-toolbar-toggle-item-text-press: var(--db-color-action-default-text-press);
|
|
17440
|
+
--db-toolbar-shadow: var(--db-elevation-med);
|
|
16983
17441
|
|
|
16984
17442
|
/* Density */
|
|
16985
|
-
--db-
|
|
16986
|
-
--db-
|
|
16987
|
-
--db-navigation-menu-link-padding-top: var(--db-space-1);
|
|
16988
|
-
--db-navigation-menu-link-padding-bottom: var(--db-space-2);
|
|
16989
|
-
--db-navigation-menu-focus-ring-width: var(--db-focus-ring-width);
|
|
17443
|
+
--db-toolbar-gap: var(--db-space-4);
|
|
17444
|
+
--db-toolbar-spacing: var(--db-space-2);
|
|
16990
17445
|
}
|
|
16991
17446
|
|
|
16992
17447
|
:where(.du-bois-dark) {
|
|
16993
|
-
/*
|
|
16994
|
-
|
|
16995
|
-
--db-snackbar-border-radius: var(--db-radius-sm);
|
|
16996
|
-
|
|
16997
|
-
/* Density */
|
|
16998
|
-
--db-snackbar-spacing-vertical: var(--db-space-3);
|
|
16999
|
-
--db-snackbar-spacing-horizontal: var(--db-space-4);
|
|
17000
|
-
--db-snackbar-close-button-spacing: var(--db-space-2);
|
|
17001
|
-
|
|
17002
|
-
/* Color */
|
|
17003
|
-
/* No v1/v2 system token holds this theme-invariant white. TODO(FEINF-6505): adopt a v2 system token when one is added. */
|
|
17004
|
-
--db-snackbar-text: #ffffff;
|
|
17005
|
-
/* No v1/v2 system token holds these theme-invariant close-icon colors. TODO(FEINF-6505): adopt a v2 system token when one is added. */
|
|
17006
|
-
--db-snackbar-close-icon: #e8ecf0;
|
|
17007
|
-
--db-snackbar-close-icon-hover: #8acaff;
|
|
17008
|
-
--db-snackbar-close-icon-press: #bae1fc;
|
|
17009
|
-
}
|
|
17010
|
-
|
|
17011
|
-
:where(.du-bois-dark) {
|
|
17012
|
-
/* Color */
|
|
17013
|
-
/* No v1/v2 system token holds this light/dark surface pair. TODO(FEINF-6505): adopt a v2 system token when one is added. */
|
|
17014
|
-
--db-snackbar-surface: #445461;
|
|
17015
|
-
|
|
17016
|
-
/* Elevation */
|
|
17017
|
-
/* No v1/v2 system token holds this dark shadow; --db-elevation-med is theme-invariant (light). TODO(FEINF-6505): adopt a v2 system token when one is added. */
|
|
17018
|
-
--db-snackbar-shadow: 0px 2px 16px 0px rgba(0, 0, 0, 0.61);
|
|
17448
|
+
/* No v2 token holds the dark-mode elevation shadow yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17449
|
+
--db-toolbar-shadow: 0px 2px 16px 0px rgba(0, 0, 0, 0.61);
|
|
17019
17450
|
}
|
|
17020
17451
|
|
|
17021
17452
|
/* Tooltip renders an inverted surface (dark chip in light mode, light chip in dark mode), so it does
|
|
@@ -17042,7 +17473,7 @@ span.du-bois-dark-typography-ellipsis-single-line {
|
|
|
17042
17473
|
/* Darker v1 blue primitives than light mode — the chip is light here, so links need contrast. */
|
|
17043
17474
|
--db-tooltip-link-text: #2272b4; /* blue600 */
|
|
17044
17475
|
--db-tooltip-link-text-hover: #0e538b; /* blue700 */
|
|
17045
|
-
--db-tooltip-link-text-
|
|
17476
|
+
--db-tooltip-link-text-active: #04355d; /* blue800 */
|
|
17046
17477
|
|
|
17047
17478
|
/* Elevation */
|
|
17048
17479
|
/* v2 elevation tokens are theme-invariant, so --db-elevation-med would keep the light shadow here.
|
|
@@ -17050,32 +17481,3 @@ span.du-bois-dark-typography-ellipsis-single-line {
|
|
|
17050
17481
|
--db-tooltip-shadow: 0px 2px 16px 0px rgba(0, 0, 0, 0.61);
|
|
17051
17482
|
}
|
|
17052
17483
|
|
|
17053
|
-
/* Declared under the theme classes too (not just :root) so the var() chain re-resolves inside a
|
|
17054
|
-
* `.du-bois-dark` subtree instead of freezing at the light values. */
|
|
17055
|
-
:where(.du-bois-dark) {
|
|
17056
|
-
/* Shape */
|
|
17057
|
-
--db-progress-border-radius: var(--db-shape-pill);
|
|
17058
|
-
|
|
17059
|
-
/* Color */
|
|
17060
|
-
--db-progress-track: var(--db-color-progress-track);
|
|
17061
|
-
--db-progress-fill: var(--db-color-progress-fill);
|
|
17062
|
-
|
|
17063
|
-
/* Density */
|
|
17064
|
-
--db-progress-size: var(--db-size-2);
|
|
17065
|
-
|
|
17066
|
-
/* Motion */
|
|
17067
|
-
/* No v2 motion token holds this duration. TODO(FEINF-6505): adopt a v2 motion token when one is added. */
|
|
17068
|
-
--db-progress-transition-duration: 300ms;
|
|
17069
|
-
}
|
|
17070
|
-
|
|
17071
|
-
:where(.du-bois-dark) {
|
|
17072
|
-
/* Color */
|
|
17073
|
-
/* No v2 token holds tertiary action-text states yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17074
|
-
--db-overflow-trigger-text: var(--db-color-action-tertiary-text-default);
|
|
17075
|
-
--db-overflow-trigger-text-hover: var(--db-color-action-tertiary-text-hover);
|
|
17076
|
-
--db-overflow-trigger-text-press: var(--db-color-action-tertiary-text-press);
|
|
17077
|
-
|
|
17078
|
-
/* Density */
|
|
17079
|
-
--db-overflow-spacing: var(--db-space-2);
|
|
17080
|
-
--db-overflow-menu-spacing: var(--db-space-1);
|
|
17081
|
-
}
|