@databricks/design-system 2.0.5 → 2.0.6
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/CHANGELOG.md +19 -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-Ct9x3rC1.js} +5 -5
- package/dist/{RHFControlledTypeaheadComboboxV2-DsH-nIEk.js.map → RHFControlledTypeaheadComboboxV2-Ct9x3rC1.js.map} +1 -1
- package/dist/{WizardStepContentWrapper-Bq1wm0V7.js → WizardStepContentWrapper-6YTjeEaA.js} +477 -450
- package/dist/WizardStepContentWrapper-6YTjeEaA.js.map +1 -0
- package/dist/icon-metadata.json +2064 -0
- package/dist/{index-BRAVZg-S.js → index-DiRpSwH2.js} +239 -38
- package/dist/index-DiRpSwH2.js.map +1 -0
- package/dist/index-dark.css +458 -190
- package/dist/index-dark.mitigated.css +460 -192
- package/dist/index.css +1415 -1082
- package/dist/index.js +4 -4
- package/dist/index.mitigated.css +1417 -1084
- package/dist/patterns.js +3 -3
- 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/index.d.ts +1 -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/_shared_/Tabs/styles.d.ts +2 -3
- package/dist-types/~patterns/Wizard/WizardModal.d.ts +1 -1
- package/package.json +4 -2
- package/dist/WizardStepContentWrapper-Bq1wm0V7.js.map +0 -1
- package/dist/index-BRAVZg-S.js.map +0 -1
|
@@ -16126,7 +16126,7 @@ span.du-bois-dark-typography-ellipsis-single-line {
|
|
|
16126
16126
|
|
|
16127
16127
|
--db-surface-selected: var(--db-color-table-background-selected-hover);
|
|
16128
16128
|
--db-surface-selected-hover: initial; /* TODO */;
|
|
16129
|
-
--db-surface-selected-active:
|
|
16129
|
+
--db-surface-selected-active: var(--db-color-table-background-selected-hover); /* no distinct active value */
|
|
16130
16130
|
|
|
16131
16131
|
/* Surface alpha-blending modifiers */
|
|
16132
16132
|
--db-surface-backdrop: initial; /* TODO */;
|
|
@@ -16152,7 +16152,7 @@ span.du-bois-dark-typography-ellipsis-single-line {
|
|
|
16152
16152
|
--db-accent-surface-strong: var(--db-color-action-primary-background-hover);
|
|
16153
16153
|
|
|
16154
16154
|
--db-accent-surface-hover: var(--db-color-action-primary-background-hover);
|
|
16155
|
-
--db-accent-surface-active:
|
|
16155
|
+
--db-accent-surface-active: var(--db-color-action-primary-background-press); /* no distinct active value */
|
|
16156
16156
|
--db-accent-surface-selected: var(--db-color-action-primary-background-press);
|
|
16157
16157
|
|
|
16158
16158
|
/* In the current design, the text color for an accent surface does not change with hover, active, etc. */
|
|
@@ -16169,7 +16169,7 @@ span.du-bois-dark-typography-ellipsis-single-line {
|
|
|
16169
16169
|
--db-negative-surface-strong: var(--db-color-action-danger-primary-background-hover);
|
|
16170
16170
|
|
|
16171
16171
|
--db-negative-surface-hover: var(--db-color-action-danger-primary-background-hover);
|
|
16172
|
-
--db-negative-surface-active:
|
|
16172
|
+
--db-negative-surface-active: var(--db-color-action-danger-primary-background-press); /* no distinct active value */
|
|
16173
16173
|
--db-negative-surface-selected: var(--db-color-action-danger-primary-background-press);
|
|
16174
16174
|
|
|
16175
16175
|
--db-negative-text: var(--db-color-text-validation-danger);
|
|
@@ -16210,6 +16210,11 @@ span.du-bois-dark-typography-ellipsis-single-line {
|
|
|
16210
16210
|
--db-positive-border: initial; /* TODO */
|
|
16211
16211
|
--db-positive-border-hover: initial; /* TODO */
|
|
16212
16212
|
--db-positive-border-active: initial; /* TODO */
|
|
16213
|
+
|
|
16214
|
+
/* Branded (theme-invariant — same values as light) */
|
|
16215
|
+
--db-ai-gradient-start: #4299e0;
|
|
16216
|
+
--db-ai-gradient-mid: #ca42e0;
|
|
16217
|
+
--db-ai-gradient-end: #ff5f46;
|
|
16213
16218
|
}
|
|
16214
16219
|
|
|
16215
16220
|
:where(.du-bois-dark) {
|
|
@@ -16288,6 +16293,47 @@ span.du-bois-dark-typography-ellipsis-single-line {
|
|
|
16288
16293
|
--db-shape-pill: 999px;
|
|
16289
16294
|
}
|
|
16290
16295
|
|
|
16296
|
+
:where(.du-bois-dark) {
|
|
16297
|
+
/* Shape */
|
|
16298
|
+
/* Mirrors the ShapeTokens host-override var used by list items; falls back to the theme radius. */
|
|
16299
|
+
--db-list-item-border-radius: var(--list-item-border-radius, 4px);
|
|
16300
|
+
|
|
16301
|
+
/* Color */
|
|
16302
|
+
--db-list-surface: var(--db-surface-base);
|
|
16303
|
+
--db-list-text: var(--db-text-base);
|
|
16304
|
+
--db-list-header-text: var(--db-text-subtle);
|
|
16305
|
+
--db-list-separator: var(--db-border-subtle);
|
|
16306
|
+
|
|
16307
|
+
--db-list-item-surface-hover: var(--db-surface-hover);
|
|
16308
|
+
--db-list-item-surface-active: var(--db-surface-active);
|
|
16309
|
+
--db-list-item-surface-selected: var(--db-accent-surface-subtle);
|
|
16310
|
+
--db-list-item-surface-disabled: var(--db-surface-disabled);
|
|
16311
|
+
|
|
16312
|
+
--db-list-item-text-selected: var(--db-accent-text);
|
|
16313
|
+
--db-list-item-text-disabled: var(--db-text-disabled);
|
|
16314
|
+
|
|
16315
|
+
--db-list-item-danger-text: var(--db-negative-text);
|
|
16316
|
+
--db-list-item-danger-surface-hover: var(--db-negative-surface-subtle);
|
|
16317
|
+
|
|
16318
|
+
/* Density */
|
|
16319
|
+
--db-list-item-padding: var(--db-space-2);
|
|
16320
|
+
--db-list-item-height: var(--db-size-8);
|
|
16321
|
+
}
|
|
16322
|
+
|
|
16323
|
+
:where(.du-bois-dark) {
|
|
16324
|
+
/* Shape */
|
|
16325
|
+
/* Mirrors the ShapeTokens host-override var; falls back to the v1 value (borderRadiusSm). */
|
|
16326
|
+
--db-popup-border-radius: var(--popup-border-radius, 4px);
|
|
16327
|
+
|
|
16328
|
+
/* Color */
|
|
16329
|
+
--db-popup-surface: var(--db-surface-base);
|
|
16330
|
+
--db-popup-text: var(--db-text-base);
|
|
16331
|
+
--db-popup-border: var(--db-border-base);
|
|
16332
|
+
|
|
16333
|
+
/* Elevation */
|
|
16334
|
+
--db-popup-elevation: var(--db-elevation-med);
|
|
16335
|
+
}
|
|
16336
|
+
|
|
16291
16337
|
:where(.du-bois-dark) {
|
|
16292
16338
|
/* Shape */
|
|
16293
16339
|
--db-selection-toggle-border-radius: 4px;
|
|
@@ -16299,15 +16345,15 @@ span.du-bois-dark-typography-ellipsis-single-line {
|
|
|
16299
16345
|
--db-selection-toggle-border: var(--db-border-strong);
|
|
16300
16346
|
|
|
16301
16347
|
--db-selection-toggle-surface-hover: var(--db-surface-hover);
|
|
16302
|
-
--db-selection-toggle-surface-
|
|
16348
|
+
--db-selection-toggle-surface-active: var(--db-surface-selected-active);
|
|
16303
16349
|
--db-selection-toggle-surface-checked: var(--db-accent-surface);
|
|
16304
16350
|
--db-selection-toggle-surface-checked-hover: var(--db-accent-surface-hover);
|
|
16305
|
-
--db-selection-toggle-surface-checked-
|
|
16351
|
+
--db-selection-toggle-surface-checked-active: var(--db-accent-surface-active);
|
|
16306
16352
|
--db-selection-toggle-surface-disabled: var(--db-surface-disabled);
|
|
16307
16353
|
--db-selection-toggle-surface-checked-disabled: var(--db-surface-disabled);
|
|
16308
16354
|
|
|
16309
16355
|
--db-selection-toggle-border-hover: var(--db-accent-surface-hover);
|
|
16310
|
-
--db-selection-toggle-border-
|
|
16356
|
+
--db-selection-toggle-border-active: var(--db-accent-surface-active);
|
|
16311
16357
|
--db-selection-toggle-border-disabled: var(--db-border-base);
|
|
16312
16358
|
|
|
16313
16359
|
--db-selection-toggle-mark-disabled: var(--db-text-disabled);
|
|
@@ -16323,6 +16369,120 @@ span.du-bois-dark-typography-ellipsis-single-line {
|
|
|
16323
16369
|
--db-selection-toggle-transition-duration: 120ms;
|
|
16324
16370
|
}
|
|
16325
16371
|
|
|
16372
|
+
|
|
16373
|
+
|
|
16374
|
+
/* Component-tier tokens for the native <Button>, grouped by area (density, shape, typography, color).
|
|
16375
|
+
* Colors alias the action-* system tokens; sizes alias the system density scale.
|
|
16376
|
+
*
|
|
16377
|
+
* Follows the mortar/action.css pattern: one semantic set (surface / border / text, each with
|
|
16378
|
+
* -hover / -active / -disabled) whose defaults are the secondary variant. The variant classes that
|
|
16379
|
+
* re-set these tokens per variant live in NativeButton.css; this file declares only tokens. */
|
|
16380
|
+
|
|
16381
|
+
/* Declared under the theme classes too (not just :root) so the var() chain re-resolves inside a
|
|
16382
|
+
* `.du-bois-dark` subtree (or a portal that re-applies the theme class) instead of freezing at the root values. */
|
|
16383
|
+
:where(.du-bois-dark) {
|
|
16384
|
+
/* ── Density ──────────────────────────────────────────────────────────── */
|
|
16385
|
+
--db-btn-height: var(--db-size-8);
|
|
16386
|
+
--db-btn-height-small: var(--db-size-6);
|
|
16387
|
+
--db-btn-icon-size: var(--db-size-4);
|
|
16388
|
+
--db-btn-border-width: 1px;
|
|
16389
|
+
--db-btn-padding-vertical: var(--db-space-1);
|
|
16390
|
+
--db-btn-padding-horizontal: var(--db-space-3);
|
|
16391
|
+
--db-btn-padding-horizontal-small: var(--db-space-2);
|
|
16392
|
+
/* Icon/force-icon horizontal padding: half the standard horizontal padding. */
|
|
16393
|
+
--db-btn-padding-horizontal-icon: calc(var(--db-space-3) / 2); /* 6px */
|
|
16394
|
+
--db-btn-gap: var(--db-space-1);
|
|
16395
|
+
--db-btn-end-icon-gap: var(--db-space-2);
|
|
16396
|
+
--db-btn-end-icon-gap-small: var(--db-space-1);
|
|
16397
|
+
/* Width of a content-less button while loading, so the standalone spinner has room. */
|
|
16398
|
+
--db-btn-loading-empty-width: var(--db-size-10);
|
|
16399
|
+
|
|
16400
|
+
/* ── Shape ────────────────────────────────────────────────────────────── */
|
|
16401
|
+
--db-btn-border-radius: var(--db-shape-control);
|
|
16402
|
+
|
|
16403
|
+
/* ── Typography ───────────────────────────────────────────────────────── */
|
|
16404
|
+
--db-btn-font-size: var(--db-font-size-base);
|
|
16405
|
+
--db-btn-icon-only-font-size: var(--db-font-size-lg); /* 15px */
|
|
16406
|
+
--db-btn-font-weight: var(--db-font-weight-normal);
|
|
16407
|
+
/* Line heights are hard-coded until the typography scale ships computed per-level line-height tokens. */
|
|
16408
|
+
--db-btn-line-height: 1.25rem; /* 20px */
|
|
16409
|
+
--db-btn-line-height-small: 1rem; /* 16px */
|
|
16410
|
+
|
|
16411
|
+
/* ── Color: semantic set (defaults = secondary variant) ───────────────── */
|
|
16412
|
+
--db-btn-surface: var(--db-color-action-default-background-default);
|
|
16413
|
+
--db-btn-surface-hover: var(--db-color-action-default-background-hover);
|
|
16414
|
+
--db-btn-surface-active: var(--db-color-action-default-background-press);
|
|
16415
|
+
--db-btn-surface-disabled: transparent;
|
|
16416
|
+
--db-btn-border: var(--db-color-action-default-border-default);
|
|
16417
|
+
--db-btn-border-hover: var(--db-color-action-default-border-hover);
|
|
16418
|
+
--db-btn-border-active: var(--db-color-action-default-border-press);
|
|
16419
|
+
--db-btn-border-disabled: var(--db-color-action-disabled-border);
|
|
16420
|
+
--db-btn-text: var(--db-color-action-default-text-default);
|
|
16421
|
+
--db-btn-text-hover: var(--db-color-action-default-text-hover);
|
|
16422
|
+
--db-btn-text-active: var(--db-color-action-default-text-press);
|
|
16423
|
+
--db-btn-text-disabled: var(--db-color-action-disabled-text);
|
|
16424
|
+
|
|
16425
|
+
/* ── Focus & icon ─────────────────────────────────────────────────────── */
|
|
16426
|
+
--db-btn-focus-ring: var(--db-color-action-default-border-focus);
|
|
16427
|
+
--db-btn-danger-focus-ring: var(--db-color-action-danger-primary-background-default);
|
|
16428
|
+
--db-btn-icon-glyph: var(--db-color-text-secondary);
|
|
16429
|
+
}
|
|
16430
|
+
|
|
16431
|
+
/* Native <Button> visual styles. Consumes the component-tier `--db-btn-*` tokens (see tokens.css);
|
|
16432
|
+
* the variant classes below re-set those tokens per variant and the rules that follow paint them.
|
|
16433
|
+
* Shipped via mortar.css. */
|
|
16434
|
+
|
|
16435
|
+
/* ── 0. Variant token re-sets ──────────────────────────────────────────────
|
|
16436
|
+
* Each variant class re-sets the semantic tokens declared in tokens.css; combined classes win by
|
|
16437
|
+
* specificity, which beats the `:where(:root)` (specificity 0) defaults regardless of file order. */
|
|
16438
|
+
/* Link is borderless and text-only, so its hover/press surface stays transparent. */
|
|
16439
|
+
/* Every danger button (icon included) disables to the filled treatment. */
|
|
16440
|
+
/* Danger, filled (primary): re-set only the surface; text/transparent border come from primary. */
|
|
16441
|
+
/* Danger, secondary/outlined. */
|
|
16442
|
+
/* Danger, tertiary/link: danger text everywhere, danger surface on hover/press; resting/disabled
|
|
16443
|
+
* surface stay the tertiary ghost (override the filled danger-disabled set above). */
|
|
16444
|
+
/* Icon-only renders as the ghost (tertiary) treatment regardless of variant; re-set the semantic set
|
|
16445
|
+
* so the icon-only rules paint from these component tokens. */
|
|
16446
|
+
/* Danger icon-only keeps the ghost resting surface (inherited above) but uses danger text and a
|
|
16447
|
+
* danger hover/press surface. */
|
|
16448
|
+
|
|
16449
|
+
/* ── 1. Base — paints the default (secondary) variant ────────────────────── */
|
|
16450
|
+
|
|
16451
|
+
/* ── 2. Padding ──────────────────────────────────────────────────────────── */
|
|
16452
|
+
|
|
16453
|
+
/* ── 3. Interactive states ───────────────────────────────────────────────── */
|
|
16454
|
+
|
|
16455
|
+
/* ── 4. Focus ────────────────────────────────────────────────────────────── */
|
|
16456
|
+
|
|
16457
|
+
/* ── 5. Small / block (full-width) / empty ────────────────────────────────── */
|
|
16458
|
+
|
|
16459
|
+
/* ── 6. Tertiary & link ──────────────────────────────────────────────────── */
|
|
16460
|
+
/* Re-declare the text color for a non-icon-only tertiary/link at two-class weight so a plain
|
|
16461
|
+
* call-site `color` override loses; an icon-only glyph stays at base weight so its override wins. */
|
|
16462
|
+
/* Keep the resting border at two-class weight (parity with the shielded border-color). */
|
|
16463
|
+
|
|
16464
|
+
/* ── 7. Danger ───────────────────────────────────────────────────────────── */
|
|
16465
|
+
|
|
16466
|
+
/* ── 8. Icon-only ────────────────────────────────────────────────────────── */
|
|
16467
|
+
/* `:where()` keeps this at (0,1,0) so a call-site `css` width override wins, as it does for `height`. */
|
|
16468
|
+
/* `:where()` on the exclusion holds this at (0,2,0): enough to tint an un-overridden icon-only link
|
|
16469
|
+
* over the base color, while still letting a consumer's own icon-color override win on source order. */
|
|
16470
|
+
|
|
16471
|
+
/* ── 9. Disabled — base rules paint the per-variant `*-disabled` tokens (see tokens.css) ──────── */
|
|
16472
|
+
/* Empty disabled buttons keep a transparent border (set elsewhere), so exclude them.
|
|
16473
|
+
* `:where()` on the exclusion holds this at (0,2,0): enough to beat the base border, while still
|
|
16474
|
+
* letting a consumer's own `[disabled]` border override win on source order. */
|
|
16475
|
+
|
|
16476
|
+
/* ── 10. Icon & content layout ───────────────────────────────────────────── */
|
|
16477
|
+
/* The leading icon renders unwrapped as the button's direct `.anticon` child (see NativeButton.tsx),
|
|
16478
|
+
* so `> .anticon` targets only a real icon glyph — a non-glyph `icon` (e.g. a Spinner) keeps its own
|
|
16479
|
+
* sizing — and out-specifies AntD's runtime-injected global `.anticon` rule. */
|
|
16480
|
+
|
|
16481
|
+
/* ── 11. Loading ─────────────────────────────────────────────────────────── */
|
|
16482
|
+
|
|
16483
|
+
/* ── 12. dangerouslySetForceIconStyles ───────────────────────────────────── */
|
|
16484
|
+
|
|
16485
|
+
|
|
16326
16486
|
:where(.du-bois-dark) {
|
|
16327
16487
|
/* Shape */
|
|
16328
16488
|
--db-checkbox-border-radius: var(--db-selection-toggle-border-radius);
|
|
@@ -16331,15 +16491,15 @@ span.du-bois-dark-typography-ellipsis-single-line {
|
|
|
16331
16491
|
/* Color */
|
|
16332
16492
|
--db-checkbox-surface: var(--db-selection-toggle-surface);
|
|
16333
16493
|
--db-checkbox-surface-hover: var(--db-color-action-default-background-hover);
|
|
16334
|
-
--db-checkbox-surface-
|
|
16494
|
+
--db-checkbox-surface-active: var(--db-color-action-default-background-press);
|
|
16335
16495
|
--db-checkbox-surface-checked: var(--db-selection-toggle-surface-checked);
|
|
16336
16496
|
--db-checkbox-surface-checked-hover: var(--db-selection-toggle-surface-checked-hover);
|
|
16337
|
-
--db-checkbox-surface-checked-
|
|
16497
|
+
--db-checkbox-surface-checked-active: var(--db-selection-toggle-surface-checked-active);
|
|
16338
16498
|
--db-checkbox-surface-disabled: var(--db-selection-toggle-surface-disabled);
|
|
16339
16499
|
|
|
16340
16500
|
--db-checkbox-border: var(--db-color-action-default-border-default);
|
|
16341
16501
|
--db-checkbox-border-hover: var(--db-selection-toggle-border-hover);
|
|
16342
|
-
--db-checkbox-border-
|
|
16502
|
+
--db-checkbox-border-active: var(--db-selection-toggle-border-active);
|
|
16343
16503
|
--db-checkbox-focus-ring: var(--db-focus-ring-color);
|
|
16344
16504
|
--db-checkbox-border-disabled: var(--db-color-action-disabled-border);
|
|
16345
16505
|
|
|
@@ -16436,7 +16596,7 @@ span.du-bois-dark-typography-ellipsis-single-line {
|
|
|
16436
16596
|
* vertical margin Hint/FormMessage carry. */
|
|
16437
16597
|
|
|
16438
16598
|
/* Group spacing against sibling form text — 8px gap above the group when it
|
|
16439
|
-
* follows a Hint, 8px gap above a FormMessage when it follows the group.
|
|
16599
|
+
* follows a Label or Hint, 8px gap above a FormMessage when it follows the group.
|
|
16440
16600
|
* Doubled class on the group side beats FormMessage's `&&` for the same reason. */
|
|
16441
16601
|
|
|
16442
16602
|
/* CheckboxGroup layout. Vertical delegates to the `.db-stack` primitive; the
|
|
@@ -16450,6 +16610,162 @@ span.du-bois-dark-typography-ellipsis-single-line {
|
|
|
16450
16610
|
|
|
16451
16611
|
/* Vertical: .db-stack supplies flex-direction + gap; we only retarget the knob. */
|
|
16452
16612
|
|
|
16613
|
+
|
|
16614
|
+
|
|
16615
|
+
:where(.du-bois-dark) {
|
|
16616
|
+
/* Density */
|
|
16617
|
+
--db-drawer-padding-horizontal: var(--db-space-6);
|
|
16618
|
+
--db-drawer-padding-horizontal-small: var(--db-space-4);
|
|
16619
|
+
--db-drawer-content-padding-top: var(--db-space-4);
|
|
16620
|
+
--db-drawer-content-padding-top-small: var(--db-space-2);
|
|
16621
|
+
--db-drawer-footer-padding-top: var(--db-space-4);
|
|
16622
|
+
--db-drawer-footer-padding-bottom: var(--db-space-6);
|
|
16623
|
+
--db-drawer-footer-padding-bottom-small: var(--db-space-4);
|
|
16624
|
+
--db-drawer-title-margin-bottom: var(--db-space-2);
|
|
16625
|
+
--db-drawer-close-button-margin: var(--db-space-1);
|
|
16626
|
+
|
|
16627
|
+
/* Color */
|
|
16628
|
+
--db-drawer-surface: var(--db-surface-base);
|
|
16629
|
+
--db-drawer-text: var(--db-text-base);
|
|
16630
|
+
--db-drawer-border: var(--db-border-base);
|
|
16631
|
+
/* No v2 token holds the drawer scrim yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
16632
|
+
--db-drawer-overlay: var(--db-color-overlay-overlay);
|
|
16633
|
+
}
|
|
16634
|
+
|
|
16635
|
+
:where(.du-bois-dark) {
|
|
16636
|
+
/* Elevation */
|
|
16637
|
+
/* No v2 token holds the dark drawer elevation yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
16638
|
+
--db-drawer-shadow: 0px 8px 40px 0px rgba(0, 0, 0, 0.87);
|
|
16639
|
+
}
|
|
16640
|
+
|
|
16641
|
+
|
|
16642
|
+
|
|
16643
|
+
|
|
16644
|
+
|
|
16645
|
+
|
|
16646
|
+
|
|
16647
|
+
|
|
16648
|
+
|
|
16649
|
+
|
|
16650
|
+
/* Component tokens for the native Icon. */
|
|
16651
|
+
:where(.du-bois-dark) {
|
|
16652
|
+
--db-icon-size: var(--db-font-size-xl);
|
|
16653
|
+
--db-icon-color-danger: var(--db-color-text-validation-danger);
|
|
16654
|
+
--db-icon-color-warning: var(--db-color-text-validation-warning);
|
|
16655
|
+
--db-icon-color-success: var(--db-color-text-validation-success);
|
|
16656
|
+
--db-icon-ai-gradient-start: var(--db-ai-gradient-start);
|
|
16657
|
+
--db-icon-ai-gradient-mid: var(--db-ai-gradient-mid);
|
|
16658
|
+
--db-icon-ai-gradient-end: var(--db-ai-gradient-end);
|
|
16659
|
+
}
|
|
16660
|
+
|
|
16661
|
+
/* Native Icon styles. Ships through mortar.css and reads only component-tier --db-icon-* tokens.
|
|
16662
|
+
* Icon size is driven solely by the `--db-icon-size` design token: to resize an icon, set that
|
|
16663
|
+
* token in scope (default 16px in tokens.css) rather than overriding `font-size`. */
|
|
16664
|
+
|
|
16665
|
+
/* TODO: remove once clickable-icon callsites are gone. Kept for backwards compatibility with the
|
|
16666
|
+
* AntD icon, which made icons clickable via onClick; some callsites still rely on it. Actual icons
|
|
16667
|
+
* should never carry a tabindex — a clickable icon belongs inside a button. */
|
|
16668
|
+
|
|
16669
|
+
/* Semantic colors set `color` only; the SVG glyph paints its `fill`/`stroke` from `currentColor`,
|
|
16670
|
+
* so setting the text color recolors the icon. */
|
|
16671
|
+
|
|
16672
|
+
@keyframes db-icon-loading-circle {
|
|
16673
|
+
100% {
|
|
16674
|
+
transform: rotate(360deg);
|
|
16675
|
+
}
|
|
16676
|
+
}
|
|
16677
|
+
|
|
16678
|
+
|
|
16679
|
+
|
|
16680
|
+
|
|
16681
|
+
:where(.du-bois-dark) {
|
|
16682
|
+
/* Shape */
|
|
16683
|
+
/* Must not scale with density; no non-scaling system token holds it. TODO(FEINF-6505): adopt a v2 system token when one is added. */
|
|
16684
|
+
--db-navigation-menu-indicator-thickness: 4px;
|
|
16685
|
+
/* No system token holds this control-specific inset. TODO(FEINF-6505): adopt a v2 system token when one is added. */
|
|
16686
|
+
--db-navigation-menu-focus-ring-offset: -1px;
|
|
16687
|
+
|
|
16688
|
+
/* Color */
|
|
16689
|
+
--db-navigation-menu-indicator: var(--db-accent-surface);
|
|
16690
|
+
--db-navigation-menu-focus-ring: var(--db-focus-ring-color);
|
|
16691
|
+
--db-navigation-menu-text: var(--db-text-subtle);
|
|
16692
|
+
--db-navigation-menu-text-selected: var(--db-text-base);
|
|
16693
|
+
/* No v2 semantic for default-action link text yet; bridges on the v1 --db-color-* token. */
|
|
16694
|
+
--db-navigation-menu-text-hover: var(--db-color-action-default-text-hover);
|
|
16695
|
+
--db-navigation-menu-text-active: var(--db-color-action-default-text-press);
|
|
16696
|
+
|
|
16697
|
+
/* Density */
|
|
16698
|
+
--db-navigation-menu-item-height: var(--db-size-8);
|
|
16699
|
+
--db-navigation-menu-item-min-width: var(--db-size-6);
|
|
16700
|
+
--db-navigation-menu-link-padding-top: var(--db-space-1);
|
|
16701
|
+
--db-navigation-menu-link-padding-bottom: var(--db-space-2);
|
|
16702
|
+
--db-navigation-menu-focus-ring-width: var(--db-focus-ring-width);
|
|
16703
|
+
}
|
|
16704
|
+
|
|
16705
|
+
|
|
16706
|
+
:where(.du-bois-dark) {
|
|
16707
|
+
/* Color */
|
|
16708
|
+
/* No v2 token holds tertiary action-text states yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
16709
|
+
--db-overflow-trigger-text: var(--db-color-action-tertiary-text-default);
|
|
16710
|
+
--db-overflow-trigger-text-hover: var(--db-color-action-tertiary-text-hover);
|
|
16711
|
+
--db-overflow-trigger-text-press: var(--db-color-action-tertiary-text-press);
|
|
16712
|
+
|
|
16713
|
+
/* Density */
|
|
16714
|
+
--db-overflow-spacing: var(--db-space-2);
|
|
16715
|
+
--db-overflow-menu-spacing: var(--db-space-1);
|
|
16716
|
+
}
|
|
16717
|
+
|
|
16718
|
+
|
|
16719
|
+
|
|
16720
|
+
/* Popover is a neutral-card member of the popup family: surface, text, border, and radius come
|
|
16721
|
+
* from --db-popup-*. Link, focus, and spacing are popover-specific and reference system tokens
|
|
16722
|
+
* directly. The popup elevation scale is light-only, so the dark shadow is re-declared below. */
|
|
16723
|
+
|
|
16724
|
+
:where(.du-bois-dark) {
|
|
16725
|
+
/* Shape */
|
|
16726
|
+
--db-popover-border-radius: var(--db-popup-border-radius);
|
|
16727
|
+
|
|
16728
|
+
/* Color */
|
|
16729
|
+
--db-popover-surface: var(--db-popup-surface);
|
|
16730
|
+
--db-popover-text: var(--db-popup-text);
|
|
16731
|
+
--db-popover-border: var(--db-popup-border);
|
|
16732
|
+
/* No v2 token holds the tertiary link text yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
16733
|
+
--db-popover-link-text: var(--db-color-action-tertiary-text-default);
|
|
16734
|
+
--db-popover-link-text-hover: var(--db-color-action-tertiary-text-hover);
|
|
16735
|
+
--db-popover-focus-ring: var(--db-focus-ring-color);
|
|
16736
|
+
|
|
16737
|
+
/* Density */
|
|
16738
|
+
--db-popover-spacing: var(--db-space-2);
|
|
16739
|
+
--db-popover-focus-ring-width: var(--db-focus-ring-width);
|
|
16740
|
+
|
|
16741
|
+
/* Elevation */
|
|
16742
|
+
--db-popover-shadow: var(--db-popup-elevation);
|
|
16743
|
+
}
|
|
16744
|
+
|
|
16745
|
+
:where(.du-bois-dark) {
|
|
16746
|
+
/* No v2 token holds the dark-scope popover elevation shadow yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
16747
|
+
--db-popover-shadow: 0px 2px 16px 0px rgba(0, 0, 0, 0.61);
|
|
16748
|
+
}
|
|
16749
|
+
|
|
16750
|
+
|
|
16751
|
+
/* Declared under the theme classes too (not just :root) so the var() chain re-resolves inside a
|
|
16752
|
+
* `.du-bois-dark` subtree instead of freezing at the light values. */
|
|
16753
|
+
:where(.du-bois-dark) {
|
|
16754
|
+
/* Shape */
|
|
16755
|
+
--db-progress-border-radius: var(--db-shape-pill);
|
|
16756
|
+
|
|
16757
|
+
/* Color */
|
|
16758
|
+
--db-progress-track: var(--db-color-progress-track);
|
|
16759
|
+
--db-progress-fill: var(--db-color-progress-fill);
|
|
16760
|
+
|
|
16761
|
+
/* Density */
|
|
16762
|
+
--db-progress-size: var(--db-size-2);
|
|
16763
|
+
|
|
16764
|
+
/* Motion */
|
|
16765
|
+
/* No v2 motion token holds this duration. TODO(FEINF-6505): adopt a v2 motion token when one is added. */
|
|
16766
|
+
--db-progress-transition-duration: 300ms;
|
|
16767
|
+
}
|
|
16768
|
+
|
|
16453
16769
|
:where(.du-bois-dark) {
|
|
16454
16770
|
/* Shape */
|
|
16455
16771
|
--db-radio-border-radius: var(--db-radius-full);
|
|
@@ -16458,19 +16774,19 @@ span.du-bois-dark-typography-ellipsis-single-line {
|
|
|
16458
16774
|
/* Color */
|
|
16459
16775
|
--db-radio-surface: var(--db-selection-toggle-surface);
|
|
16460
16776
|
--db-radio-surface-hover: var(--db-color-action-default-background-hover);
|
|
16461
|
-
--db-radio-surface-
|
|
16777
|
+
--db-radio-surface-active: var(--db-color-action-default-background-press);
|
|
16462
16778
|
--db-radio-surface-checked: var(--db-selection-toggle-surface-checked);
|
|
16463
16779
|
--db-radio-surface-checked-hover: var(--db-selection-toggle-surface-checked-hover);
|
|
16464
|
-
--db-radio-surface-checked-
|
|
16780
|
+
--db-radio-surface-checked-active: var(--db-color-action-default-background-press);
|
|
16465
16781
|
--db-radio-surface-disabled: var(--db-selection-toggle-surface-disabled);
|
|
16466
16782
|
|
|
16467
16783
|
--db-radio-border: var(--db-color-action-default-border-default);
|
|
16468
16784
|
--db-radio-border-hover: var(--db-selection-toggle-border-hover);
|
|
16469
|
-
--db-radio-border-
|
|
16785
|
+
--db-radio-border-active: var(--db-selection-toggle-border-active);
|
|
16470
16786
|
--db-radio-border-focus: var(--db-focus-ring-color);
|
|
16471
16787
|
--db-radio-border-disabled: var(--db-color-action-disabled-border);
|
|
16472
|
-
--db-radio-border-checked-hover: var(--db-selection-toggle-border-
|
|
16473
|
-
--db-radio-border-checked-
|
|
16788
|
+
--db-radio-border-checked-hover: var(--db-selection-toggle-border-active);
|
|
16789
|
+
--db-radio-border-checked-active: var(--db-color-action-default-border-press);
|
|
16474
16790
|
--db-radio-border-unchecked-focus: var(--db-color-action-primary-background-default);
|
|
16475
16791
|
--db-radio-outline-checked-focus: var(--db-color-action-primary-background-default);
|
|
16476
16792
|
|
|
@@ -16618,6 +16934,76 @@ span.du-bois-dark-typography-ellipsis-single-line {
|
|
|
16618
16934
|
/* AntD `&& + form-message { marginTop: sm }` (horizontal): a form-message following
|
|
16619
16935
|
* the whole group is separated by sm. */
|
|
16620
16936
|
|
|
16937
|
+
|
|
16938
|
+
|
|
16939
|
+
|
|
16940
|
+
|
|
16941
|
+
:where(.du-bois-dark) {
|
|
16942
|
+
/* Shape */
|
|
16943
|
+
--db-slider-border-radius: var(--db-shape-pill);
|
|
16944
|
+
|
|
16945
|
+
/* Color */
|
|
16946
|
+
/* No v2 token holds the track + disabled-range surface yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
16947
|
+
--db-slider-track-surface: #e8ecf0;
|
|
16948
|
+
--db-slider-range-surface-disabled: #e8ecf0;
|
|
16949
|
+
/* No v2 token holds the range fill yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
16950
|
+
--db-slider-range-surface: #2272b4;
|
|
16951
|
+
|
|
16952
|
+
--db-slider-thumb-surface: var(--db-accent-surface);
|
|
16953
|
+
--db-slider-thumb-surface-hover: var(--db-accent-surface-hover);
|
|
16954
|
+
--db-slider-thumb-surface-press: var(--db-accent-surface-active);
|
|
16955
|
+
/* No v2 token holds the disabled thumb yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
16956
|
+
--db-slider-thumb-surface-disabled: #d1d9e1;
|
|
16957
|
+
|
|
16958
|
+
/* Density */
|
|
16959
|
+
--db-slider-size: var(--db-size-5); /* 20px */
|
|
16960
|
+
--db-slider-thumb-size: var(--db-size-5); /* 20px */
|
|
16961
|
+
--db-slider-track-thickness: calc(var(--db-size-1) * 0.75); /* 3px */
|
|
16962
|
+
}
|
|
16963
|
+
|
|
16964
|
+
:where(.du-bois-dark) {
|
|
16965
|
+
/* Shape */
|
|
16966
|
+
/* TODO(FEINF-6505): adopt --db-shape-container-* once a 4px container radius exists; kept on --db-radius-sm to preserve 4px. */
|
|
16967
|
+
--db-snackbar-border-radius: var(--db-radius-sm);
|
|
16968
|
+
|
|
16969
|
+
/* Density */
|
|
16970
|
+
--db-snackbar-spacing-vertical: var(--db-space-3);
|
|
16971
|
+
--db-snackbar-spacing-horizontal: var(--db-space-4);
|
|
16972
|
+
--db-snackbar-close-button-spacing: var(--db-space-2);
|
|
16973
|
+
|
|
16974
|
+
/* Color */
|
|
16975
|
+
/* No v1/v2 system token holds this theme-invariant white. TODO(FEINF-6505): adopt a v2 system token when one is added. */
|
|
16976
|
+
--db-snackbar-text: #ffffff;
|
|
16977
|
+
/* No v1/v2 system token holds these theme-invariant close-icon colors. TODO(FEINF-6505): adopt a v2 system token when one is added. */
|
|
16978
|
+
--db-snackbar-close-icon: #e8ecf0;
|
|
16979
|
+
--db-snackbar-close-icon-hover: #8acaff;
|
|
16980
|
+
--db-snackbar-close-icon-active: #bae1fc;
|
|
16981
|
+
}
|
|
16982
|
+
|
|
16983
|
+
:where(.du-bois-dark) {
|
|
16984
|
+
/* Color */
|
|
16985
|
+
/* No v1/v2 system token holds this light/dark surface pair. TODO(FEINF-6505): adopt a v2 system token when one is added. */
|
|
16986
|
+
--db-snackbar-surface: #445461;
|
|
16987
|
+
|
|
16988
|
+
/* Elevation */
|
|
16989
|
+
/* 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. */
|
|
16990
|
+
--db-snackbar-shadow: 0px 2px 16px 0px rgba(0, 0, 0, 0.61);
|
|
16991
|
+
}
|
|
16992
|
+
|
|
16993
|
+
/* Spacer's height is a spacing step. The size prop (xs/sm/mid/md/lg) selects one component token,
|
|
16994
|
+
* each aliasing the system space scale — theme-invariant, so a single block (no light/dark split). */
|
|
16995
|
+
|
|
16996
|
+
:where(.du-bois-dark) {
|
|
16997
|
+
/* Density */
|
|
16998
|
+
--db-spacer-size-xs: var(--db-space-1); /* 4px */
|
|
16999
|
+
--db-spacer-size-sm: var(--db-space-2); /* 8px */
|
|
17000
|
+
--db-spacer-size-mid: var(--db-space-3); /* 12px */
|
|
17001
|
+
--db-spacer-size-md: var(--db-space-4); /* 16px */
|
|
17002
|
+
--db-spacer-size-lg: var(--db-space-6); /* 24px */
|
|
17003
|
+
}
|
|
17004
|
+
|
|
17005
|
+
|
|
17006
|
+
|
|
16621
17007
|
:where(.du-bois-dark) {
|
|
16622
17008
|
/* Shape */
|
|
16623
17009
|
--db-switch-border-radius: var(--db-radius-full);
|
|
@@ -16626,20 +17012,20 @@ span.du-bois-dark-typography-ellipsis-single-line {
|
|
|
16626
17012
|
/* Color */
|
|
16627
17013
|
--db-switch-surface: var(--db-selection-toggle-surface);
|
|
16628
17014
|
--db-switch-surface-hover: var(--db-color-action-default-background-hover);
|
|
16629
|
-
--db-switch-surface-
|
|
17015
|
+
--db-switch-surface-active: var(--db-color-action-default-background-press);
|
|
16630
17016
|
--db-switch-surface-checked: var(--db-selection-toggle-surface-checked);
|
|
16631
17017
|
--db-switch-surface-checked-hover: var(--db-selection-toggle-surface-checked-hover);
|
|
16632
|
-
--db-switch-surface-checked-
|
|
17018
|
+
--db-switch-surface-checked-active: var(--db-selection-toggle-surface-checked-active);
|
|
16633
17019
|
--db-switch-surface-disabled: var(--db-selection-toggle-surface-disabled);
|
|
16634
17020
|
--db-switch-surface-checked-disabled: var(--db-color-action-disabled-text);
|
|
16635
17021
|
|
|
16636
17022
|
--db-switch-border: var(--db-color-action-default-border-default);
|
|
16637
17023
|
--db-switch-border-hover: var(--db-selection-toggle-border-hover);
|
|
16638
|
-
--db-switch-border-
|
|
17024
|
+
--db-switch-border-active: var(--db-selection-toggle-border-active);
|
|
16639
17025
|
--db-switch-border-disabled: var(--db-color-action-disabled-border);
|
|
16640
17026
|
--db-switch-border-checked: var(--db-selection-toggle-surface-checked);
|
|
16641
17027
|
--db-switch-border-checked-hover: var(--db-selection-toggle-surface-checked-hover);
|
|
16642
|
-
--db-switch-border-checked-
|
|
17028
|
+
--db-switch-border-checked-active: var(--db-selection-toggle-surface-checked-active);
|
|
16643
17029
|
--db-switch-border-focus: var(--db-selection-toggle-surface-checked);
|
|
16644
17030
|
|
|
16645
17031
|
--db-switch-thumb: var(--db-selection-toggle-surface);
|
|
@@ -16680,168 +17066,79 @@ span.du-bois-dark-typography-ellipsis-single-line {
|
|
|
16680
17066
|
* so Chromium can hash-reject it instead of attempting the match against every element on every
|
|
16681
17067
|
* recalc (the leading/middle :is() groups aren't the key selector, so they're left as-is). */
|
|
16682
17068
|
|
|
16683
|
-
/* Component
|
|
16684
|
-
*
|
|
16685
|
-
*
|
|
16686
|
-
* Follows the mortar/action.css pattern: one semantic set (surface / border / text, each with
|
|
16687
|
-
* -hover / -press / -disabled) whose defaults are the secondary variant. The variant classes that
|
|
16688
|
-
* re-set these tokens per variant live in NativeButton.css; this file declares only tokens. */
|
|
16689
|
-
|
|
16690
|
-
/* Declared under the theme classes too (not just :root) so the var() chain re-resolves inside a
|
|
16691
|
-
* `.du-bois-dark` subtree (or a portal that re-applies the theme class) instead of freezing at the root values. */
|
|
17069
|
+
/* Component tokens for Tabs (no family). Re-declared under the theme classes, not only :root, so the
|
|
17070
|
+
* var() chain re-resolves inside a .du-bois-dark subtree instead of freezing at the light value. */
|
|
16692
17071
|
:where(.du-bois-dark) {
|
|
16693
17072
|
/* ── Density ──────────────────────────────────────────────────────────── */
|
|
16694
|
-
--db-
|
|
16695
|
-
--db-
|
|
16696
|
-
--db-
|
|
16697
|
-
--db-
|
|
16698
|
-
--db-
|
|
16699
|
-
--db-
|
|
16700
|
-
--db-
|
|
16701
|
-
|
|
16702
|
-
--db-
|
|
16703
|
-
|
|
16704
|
-
--db-
|
|
16705
|
-
--db-btn-end-icon-gap-small: var(--db-space-1);
|
|
16706
|
-
/* Width of a content-less button while loading, so the standalone spinner has room. */
|
|
16707
|
-
--db-btn-loading-empty-width: var(--db-size-10);
|
|
17073
|
+
--db-tabs-height: var(--db-size-8);
|
|
17074
|
+
--db-tabs-trigger-min-width: var(--db-size-6);
|
|
17075
|
+
--db-tabs-trigger-min-width-closable: var(--db-size-10);
|
|
17076
|
+
--db-tabs-list-margin-bottom: var(--db-space-4);
|
|
17077
|
+
--db-tabs-trigger-gap: var(--db-space-4);
|
|
17078
|
+
--db-tabs-trigger-padding-top: var(--db-space-1);
|
|
17079
|
+
--db-tabs-trigger-padding-bottom: var(--db-space-2);
|
|
17080
|
+
--db-tabs-close-icon-gap: var(--db-space-1);
|
|
17081
|
+
--db-tabs-add-button-margin-top: var(--db-space-0-5);
|
|
17082
|
+
/* No 1.5-unit space step exists; synthesize 6px from the nearest. TODO: use a direct step if one lands. */
|
|
17083
|
+
--db-tabs-add-button-margin-bottom: calc(var(--db-space-1) * 1.5);
|
|
16708
17084
|
|
|
16709
17085
|
/* ── Shape ────────────────────────────────────────────────────────────── */
|
|
16710
|
-
--db-
|
|
17086
|
+
--db-tabs-scrollbar-radius: var(--db-shape-control);
|
|
17087
|
+
--db-tabs-focus-ring-width: var(--db-focus-ring-width);
|
|
16711
17088
|
|
|
16712
17089
|
/* ── Typography ───────────────────────────────────────────────────────── */
|
|
16713
|
-
--db-
|
|
16714
|
-
--db-
|
|
16715
|
-
|
|
16716
|
-
|
|
16717
|
-
|
|
16718
|
-
|
|
16719
|
-
|
|
16720
|
-
|
|
16721
|
-
--db-
|
|
16722
|
-
--db-
|
|
16723
|
-
--db-
|
|
16724
|
-
--db-
|
|
16725
|
-
|
|
16726
|
-
--db-
|
|
16727
|
-
|
|
16728
|
-
--db-
|
|
16729
|
-
|
|
16730
|
-
--db-
|
|
16731
|
-
|
|
16732
|
-
--db-
|
|
16733
|
-
|
|
16734
|
-
|
|
16735
|
-
|
|
16736
|
-
|
|
16737
|
-
--db-
|
|
17090
|
+
--db-tabs-font-size: var(--db-font-size-base);
|
|
17091
|
+
--db-tabs-font-weight: var(--db-font-weight-semibold);
|
|
17092
|
+
/* No v2 token holds the tab line-height yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17093
|
+
--db-tabs-line-height: 1.25rem;
|
|
17094
|
+
|
|
17095
|
+
/* ── Color ────────────────────────────────────────────────────────────── */
|
|
17096
|
+
/* No v2 token holds the tab text / hover / press / active / disabled colors yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17097
|
+
--db-tabs-text: var(--db-color-text-secondary);
|
|
17098
|
+
--db-tabs-text-hover: var(--db-color-action-default-text-hover);
|
|
17099
|
+
--db-tabs-text-press: var(--db-color-action-default-text-press);
|
|
17100
|
+
--db-tabs-text-active: var(--db-color-text-primary);
|
|
17101
|
+
--db-tabs-text-disabled: var(--db-color-action-disabled-text);
|
|
17102
|
+
/* No v2 token holds the tab panel content text color yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17103
|
+
--db-tabs-content-text: var(--db-color-text-primary);
|
|
17104
|
+
/* No v2 token holds the active-tab underline yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17105
|
+
--db-tabs-indicator: var(--db-color-action-primary-background-default);
|
|
17106
|
+
/* No v2 token holds the list divider yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17107
|
+
--db-tabs-border: var(--db-color-action-default-border-default);
|
|
17108
|
+
/* No v2 token holds the focus ring color yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17109
|
+
--db-tabs-focus-ring: var(--db-color-action-default-border-focus);
|
|
17110
|
+
}
|
|
17111
|
+
|
|
17112
|
+
/* No v2 token holds the scrollbar thumb yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17113
|
+
:where(.du-bois-dark) {
|
|
17114
|
+
--db-tabs-scrollbar-thumb: rgba(255, 255, 255, 0.2);
|
|
17115
|
+
--db-tabs-scrollbar-thumb-hover: rgba(255, 255, 255, 0.3);
|
|
16738
17116
|
}
|
|
16739
17117
|
|
|
16740
|
-
/* Native <Button> visual styles. Consumes the component-tier `--db-btn-*` tokens (see tokens.css);
|
|
16741
|
-
* the variant classes below re-set those tokens per variant and the rules that follow paint them.
|
|
16742
|
-
* Shipped via mortar.css. */
|
|
16743
|
-
|
|
16744
|
-
/* ── 0. Variant token re-sets ──────────────────────────────────────────────
|
|
16745
|
-
* Each variant class re-sets the semantic tokens declared in tokens.css; combined classes win by
|
|
16746
|
-
* specificity, which beats the `:where(:root)` (specificity 0) defaults regardless of file order. */
|
|
16747
|
-
/* Link is borderless and text-only, so its hover/press surface stays transparent. */
|
|
16748
|
-
/* Every danger button (icon included) disables to the filled treatment. */
|
|
16749
|
-
/* Danger, filled (primary): re-set only the surface; text/transparent border come from primary. */
|
|
16750
|
-
/* Danger, secondary/outlined. */
|
|
16751
|
-
/* Danger, tertiary/link: danger text everywhere, danger surface on hover/press; resting/disabled
|
|
16752
|
-
* surface stay the tertiary ghost (override the filled danger-disabled set above). */
|
|
16753
|
-
/* Icon-only renders as the ghost (tertiary) treatment regardless of variant; re-set the semantic set
|
|
16754
|
-
* so the icon-only rules paint from these component tokens. */
|
|
16755
|
-
/* Danger icon-only keeps the ghost resting surface (inherited above) but uses danger text and a
|
|
16756
|
-
* danger hover/press surface. */
|
|
16757
|
-
|
|
16758
|
-
/* ── 1. Base — paints the default (secondary) variant ────────────────────── */
|
|
16759
|
-
|
|
16760
|
-
/* ── 2. Padding ──────────────────────────────────────────────────────────── */
|
|
16761
|
-
|
|
16762
|
-
/* ── 3. Interactive states ───────────────────────────────────────────────── */
|
|
16763
|
-
|
|
16764
|
-
/* ── 4. Focus ────────────────────────────────────────────────────────────── */
|
|
16765
|
-
|
|
16766
|
-
/* ── 5. Small / full-width / empty ────────────────────────────────────────── */
|
|
16767
|
-
|
|
16768
|
-
/* ── 6. Tertiary & link ──────────────────────────────────────────────────── */
|
|
16769
|
-
/* Re-declare the text color for a non-icon-only tertiary/link at two-class weight so a plain
|
|
16770
|
-
* call-site `color` override loses; an icon-only glyph stays at base weight so its override wins. */
|
|
16771
|
-
/* Keep the resting border at two-class weight (parity with the shielded border-color). */
|
|
16772
|
-
|
|
16773
|
-
/* ── 7. Danger ───────────────────────────────────────────────────────────── */
|
|
16774
|
-
|
|
16775
|
-
/* ── 8. Icon-only ────────────────────────────────────────────────────────── */
|
|
16776
|
-
/* `:where()` keeps this at (0,1,0) so a call-site `css` width override wins, as it does for `height`. */
|
|
16777
|
-
/* `:where()` on the exclusion holds this at (0,2,0): enough to tint an un-overridden icon-only link
|
|
16778
|
-
* over the base color, while still letting a consumer's own icon-color override win on source order. */
|
|
16779
|
-
|
|
16780
|
-
/* ── 9. Disabled — base rules paint the per-variant `*-disabled` tokens (see tokens.css) ──────── */
|
|
16781
|
-
/* Empty and loading disabled buttons keep a transparent border (set elsewhere), so exclude them.
|
|
16782
|
-
* `:where()` on the exclusion holds this at (0,2,0): enough to beat the base border, while still
|
|
16783
|
-
* letting a consumer's own `[disabled]` border override win on source order. */
|
|
16784
|
-
|
|
16785
|
-
/* ── 10. Icon & content layout ───────────────────────────────────────────── */
|
|
16786
|
-
/* The leading icon renders unwrapped as the button's direct `.anticon` child (see NativeButton.tsx),
|
|
16787
|
-
* so `> .anticon` targets only a real icon glyph — a non-glyph `icon` (e.g. a Spinner) keeps its own
|
|
16788
|
-
* sizing — and out-specifies AntD's runtime-injected global `.anticon` rule. */
|
|
16789
|
-
|
|
16790
|
-
/* ── 11. Loading ─────────────────────────────────────────────────────────── */
|
|
16791
17118
|
|
|
16792
|
-
/* ── 12. dangerouslySetForceIconStyles ───────────────────────────────────── */
|
|
16793
17119
|
|
|
16794
17120
|
:where(.du-bois-dark) {
|
|
16795
17121
|
/* Shape */
|
|
16796
|
-
|
|
16797
|
-
--db-navigation-menu-indicator-thickness: 4px;
|
|
16798
|
-
/* No system token holds this control-specific inset. TODO(FEINF-6505): adopt a v2 system token when one is added. */
|
|
16799
|
-
--db-navigation-menu-focus-ring-offset: -1px;
|
|
17122
|
+
--db-toolbar-border-radius: var(--db-shape-control);
|
|
16800
17123
|
|
|
16801
17124
|
/* Color */
|
|
16802
|
-
--db-
|
|
16803
|
-
--db-
|
|
16804
|
-
--db-
|
|
16805
|
-
--db-
|
|
16806
|
-
/* No v2
|
|
16807
|
-
--db-
|
|
16808
|
-
--db-
|
|
17125
|
+
--db-toolbar-surface: var(--db-surface-subtle);
|
|
17126
|
+
--db-toolbar-border: var(--db-border-base);
|
|
17127
|
+
--db-toolbar-separator-surface: var(--db-border-base);
|
|
17128
|
+
--db-toolbar-toggle-item-text: var(--db-text-base);
|
|
17129
|
+
/* No v2 token holds the toggle hover / press text yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17130
|
+
--db-toolbar-toggle-item-text-hover: var(--db-color-action-default-text-hover);
|
|
17131
|
+
--db-toolbar-toggle-item-text-press: var(--db-color-action-default-text-press);
|
|
17132
|
+
--db-toolbar-shadow: var(--db-elevation-med);
|
|
16809
17133
|
|
|
16810
17134
|
/* Density */
|
|
16811
|
-
--db-
|
|
16812
|
-
--db-
|
|
16813
|
-
--db-navigation-menu-link-padding-top: var(--db-space-1);
|
|
16814
|
-
--db-navigation-menu-link-padding-bottom: var(--db-space-2);
|
|
16815
|
-
--db-navigation-menu-focus-ring-width: var(--db-focus-ring-width);
|
|
16816
|
-
}
|
|
16817
|
-
|
|
16818
|
-
:where(.du-bois-dark) {
|
|
16819
|
-
/* Shape */
|
|
16820
|
-
/* TODO(FEINF-6505): adopt --db-shape-container-* once a 4px container radius exists; kept on --db-radius-sm to preserve 4px. */
|
|
16821
|
-
--db-snackbar-border-radius: var(--db-radius-sm);
|
|
16822
|
-
|
|
16823
|
-
/* Density */
|
|
16824
|
-
--db-snackbar-spacing-vertical: var(--db-space-3);
|
|
16825
|
-
--db-snackbar-spacing-horizontal: var(--db-space-4);
|
|
16826
|
-
--db-snackbar-close-button-spacing: var(--db-space-2);
|
|
16827
|
-
|
|
16828
|
-
/* Color */
|
|
16829
|
-
/* No v1/v2 system token holds this theme-invariant white. TODO(FEINF-6505): adopt a v2 system token when one is added. */
|
|
16830
|
-
--db-snackbar-text: #ffffff;
|
|
16831
|
-
/* No v1/v2 system token holds these theme-invariant close-icon colors. TODO(FEINF-6505): adopt a v2 system token when one is added. */
|
|
16832
|
-
--db-snackbar-close-icon: #e8ecf0;
|
|
16833
|
-
--db-snackbar-close-icon-hover: #8acaff;
|
|
16834
|
-
--db-snackbar-close-icon-press: #bae1fc;
|
|
17135
|
+
--db-toolbar-gap: var(--db-space-4);
|
|
17136
|
+
--db-toolbar-spacing: var(--db-space-2);
|
|
16835
17137
|
}
|
|
16836
17138
|
|
|
16837
17139
|
:where(.du-bois-dark) {
|
|
16838
|
-
/*
|
|
16839
|
-
|
|
16840
|
-
--db-snackbar-surface: #445461;
|
|
16841
|
-
|
|
16842
|
-
/* Elevation */
|
|
16843
|
-
/* 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. */
|
|
16844
|
-
--db-snackbar-shadow: 0px 2px 16px 0px rgba(0, 0, 0, 0.61);
|
|
17140
|
+
/* No v2 token holds the dark-mode elevation shadow yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17141
|
+
--db-toolbar-shadow: 0px 2px 16px 0px rgba(0, 0, 0, 0.61);
|
|
16845
17142
|
}
|
|
16846
17143
|
|
|
16847
17144
|
/* Tooltip renders an inverted surface (dark chip in light mode, light chip in dark mode), so it does
|
|
@@ -16868,7 +17165,7 @@ span.du-bois-dark-typography-ellipsis-single-line {
|
|
|
16868
17165
|
/* Darker v1 blue primitives than light mode — the chip is light here, so links need contrast. */
|
|
16869
17166
|
--db-tooltip-link-text: #2272b4; /* blue600 */
|
|
16870
17167
|
--db-tooltip-link-text-hover: #0e538b; /* blue700 */
|
|
16871
|
-
--db-tooltip-link-text-
|
|
17168
|
+
--db-tooltip-link-text-active: #04355d; /* blue800 */
|
|
16872
17169
|
|
|
16873
17170
|
/* Elevation */
|
|
16874
17171
|
/* v2 elevation tokens are theme-invariant, so --db-elevation-med would keep the light shadow here.
|
|
@@ -16876,35 +17173,6 @@ span.du-bois-dark-typography-ellipsis-single-line {
|
|
|
16876
17173
|
--db-tooltip-shadow: 0px 2px 16px 0px rgba(0, 0, 0, 0.61);
|
|
16877
17174
|
}
|
|
16878
17175
|
|
|
16879
|
-
/* Declared under the theme classes too (not just :root) so the var() chain re-resolves inside a
|
|
16880
|
-
* `.du-bois-dark` subtree instead of freezing at the light values. */
|
|
16881
|
-
:where(.du-bois-dark) {
|
|
16882
|
-
/* Shape */
|
|
16883
|
-
--db-progress-border-radius: var(--db-shape-pill);
|
|
16884
|
-
|
|
16885
|
-
/* Color */
|
|
16886
|
-
--db-progress-track: var(--db-color-progress-track);
|
|
16887
|
-
--db-progress-fill: var(--db-color-progress-fill);
|
|
16888
|
-
|
|
16889
|
-
/* Density */
|
|
16890
|
-
--db-progress-size: var(--db-size-2);
|
|
16891
|
-
|
|
16892
|
-
/* Motion */
|
|
16893
|
-
/* No v2 motion token holds this duration. TODO(FEINF-6505): adopt a v2 motion token when one is added. */
|
|
16894
|
-
--db-progress-transition-duration: 300ms;
|
|
16895
|
-
}
|
|
16896
|
-
|
|
16897
|
-
:where(.du-bois-dark) {
|
|
16898
|
-
/* Color */
|
|
16899
|
-
/* No v2 token holds tertiary action-text states yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
16900
|
-
--db-overflow-trigger-text: var(--db-color-action-tertiary-text-default);
|
|
16901
|
-
--db-overflow-trigger-text-hover: var(--db-color-action-tertiary-text-hover);
|
|
16902
|
-
--db-overflow-trigger-text-press: var(--db-color-action-tertiary-text-press);
|
|
16903
|
-
|
|
16904
|
-
/* Density */
|
|
16905
|
-
--db-overflow-spacing: var(--db-space-2);
|
|
16906
|
-
--db-overflow-menu-spacing: var(--db-space-1);
|
|
16907
|
-
}
|
|
16908
17176
|
|
|
16909
17177
|
|
|
16910
17178
|
:where(.du-bois-dark-btn-icon-only) > :where(.anticon),
|