@databricks/design-system 2.0.4 → 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 +43 -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-Ct9x3rC1.js +172 -0
- package/dist/RHFControlledTypeaheadComboboxV2-Ct9x3rC1.js.map +1 -0
- package/dist/{WizardStepContentWrapper-8bs2FwRi.js → WizardStepContentWrapper-6YTjeEaA.js} +1017 -840
- package/dist/WizardStepContentWrapper-6YTjeEaA.js.map +1 -0
- package/dist/icon-metadata.json +2064 -0
- package/dist/index-DiRpSwH2.js +8509 -0
- package/dist/index-DiRpSwH2.js.map +1 -0
- package/dist/index-dark.css +648 -113
- package/dist/index-dark.mitigated.css +648 -113
- package/dist/index.css +1045 -145
- package/dist/index.js +27 -8148
- package/dist/index.js.map +1 -1
- package/dist/index.mitigated.css +1046 -146
- package/dist/patterns.js +3 -3
- package/dist-types/design-system/Breadcrumb/Breadcrumb.d.ts +10 -3
- package/dist-types/design-system/Button/AntDButtonInternal.d.ts +21 -0
- package/dist-types/design-system/Button/Button.d.ts +3 -19
- package/dist-types/design-system/Button/NativeButton.d.ts +3 -0
- package/dist-types/design-system/Button/getBtnClassName.d.ts +17 -0
- package/dist-types/design-system/Button/index.d.ts +1 -0
- package/dist-types/design-system/DesignSystemProvider/DesignTokenScopeWithEmotionTheme.d.ts +4 -4
- package/dist-types/design-system/Drawer/Drawer.d.ts +3 -1
- package/dist-types/design-system/FormV2/RHFAdapters.d.ts +8 -0
- package/dist-types/design-system/FormV2/RHFControlledTypeaheadComboboxV2.d.ts +58 -0
- package/dist-types/design-system/Icon/AntdIcon.d.ts +3 -0
- package/dist-types/design-system/Icon/Icon.d.ts +21 -7
- package/dist-types/design-system/Icon/NativeIcon.d.ts +3 -0
- package/dist-types/design-system/Icon/__generated/icons/ColorMappingEditIcon.d.ts +4 -0
- package/dist-types/design-system/Icon/__generated/icons/ColorMappingIcon.d.ts +4 -0
- package/dist-types/design-system/Icon/__generated/icons/LakewatchIcon.d.ts +4 -0
- package/dist-types/design-system/Icon/__generated/icons/MicrophoneIcon.d.ts +4 -0
- package/dist-types/design-system/Icon/__generated/icons/MicrophoneOffIcon.d.ts +4 -0
- package/dist-types/design-system/Icon/__generated/icons/OperatorIcon.d.ts +4 -0
- package/dist-types/design-system/Icon/__generated/icons/VoiceModeIcon.d.ts +4 -0
- package/dist-types/design-system/Icon/__generated/icons/index.d.ts +7 -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/Overflow/Overflow.d.ts +3 -1
- package/dist-types/design-system/Overflow/OverflowPopover.d.ts +2 -1
- package/dist-types/design-system/TypeaheadComboboxV2/TypeaheadComboboxMenu.d.ts +2 -0
- package/dist-types/design-system/_shared_/Tabs/styles.d.ts +2 -3
- package/dist-types/design-system/shape-tokens.d.ts +1 -1
- package/dist-types/test-utils/rtl/buttonVariants.d.ts +4 -4
- package/dist-types/~patterns/Wizard/WizardModal.d.ts +1 -1
- package/dist-types/~patterns/Wizard/WizardStepNavigation.d.ts +9 -0
- package/dist-types/~patterns/Wizard/index.d.ts +1 -0
- package/package.json +9 -5
- package/dist/WizardStepContentWrapper-8bs2FwRi.js.map +0 -1
package/dist/index.css
CHANGED
|
@@ -15994,7 +15994,7 @@ span.du-bois-light-typography-ellipsis-single-line {
|
|
|
15994
15994
|
*/
|
|
15995
15995
|
.db-stack {
|
|
15996
15996
|
/* These variables act as the *parameters* for the stack instance. */
|
|
15997
|
-
--db-stack-gap: var(--db-
|
|
15997
|
+
--db-stack-gap: var(--db-space-4);
|
|
15998
15998
|
--db-stack-align: stretch;
|
|
15999
15999
|
|
|
16000
16000
|
display: flex;
|
|
@@ -16022,7 +16022,7 @@ span.du-bois-light-typography-ellipsis-single-line {
|
|
|
16022
16022
|
*/
|
|
16023
16023
|
.db-cluster {
|
|
16024
16024
|
/* These variables act as the *parameters* for the cluster instance. */
|
|
16025
|
-
--db-cluster-gap: var(--db-
|
|
16025
|
+
--db-cluster-gap: var(--db-space-2);
|
|
16026
16026
|
--db-cluster-align: center;
|
|
16027
16027
|
--db-cluster-justify: flex-start;
|
|
16028
16028
|
|
|
@@ -16035,81 +16035,106 @@ span.du-bois-light-typography-ellipsis-single-line {
|
|
|
16035
16035
|
|
|
16036
16036
|
:where(:root), :where(.du-bois-light) {
|
|
16037
16037
|
/* Neutral */
|
|
16038
|
-
--db-
|
|
16039
|
-
--db-subtle
|
|
16040
|
-
--db-strong
|
|
16038
|
+
--db-surface-base: var(--db-color-background-primary);
|
|
16039
|
+
--db-surface-subtle: var(--db-color-background-secondary);
|
|
16040
|
+
--db-surface-strong: initial; /* TODO */
|
|
16041
16041
|
|
|
16042
|
-
--db-
|
|
16043
|
-
--db-
|
|
16044
|
-
--db-
|
|
16042
|
+
--db-surface-inverse: initial; /* TODO */
|
|
16043
|
+
--db-surface-active: var(--db-color-table-background-selected-default);
|
|
16044
|
+
--db-surface-hover: var(--db-color-table-background-unselected-hover);
|
|
16045
|
+
--db-surface-disabled: var(--db-color-action-disabled-background);
|
|
16045
16046
|
|
|
16046
|
-
--db-
|
|
16047
|
-
--db-
|
|
16048
|
-
--db-
|
|
16047
|
+
--db-surface-selected: var(--db-color-table-background-selected-hover);
|
|
16048
|
+
--db-surface-selected-hover: initial; /* TODO */;
|
|
16049
|
+
--db-surface-selected-active: var(--db-color-table-background-selected-hover); /* no distinct active value */
|
|
16049
16050
|
|
|
16050
|
-
|
|
16051
|
-
--db-
|
|
16052
|
-
|
|
16053
|
-
--db-neutral-surface-disabled: var(--db-color-action-disabled-background);
|
|
16054
|
-
--db-text-on-neutral-surface-disabled: var(--db-color-action-disabled-text);
|
|
16051
|
+
/* Surface alpha-blending modifiers */
|
|
16052
|
+
--db-surface-backdrop: initial; /* TODO */;
|
|
16053
|
+
/* TODO: surface-tint for containers that distinguish some content */
|
|
16055
16054
|
|
|
16056
|
-
|
|
16057
|
-
--db-
|
|
16058
|
-
--db-
|
|
16059
|
-
--db-
|
|
16055
|
+
--db-text-base: var(--db-color-text-primary);
|
|
16056
|
+
--db-text-subtle: var(--db-color-text-secondary);
|
|
16057
|
+
--db-text-strong: initial; /* TODO */
|
|
16058
|
+
--db-text-disabled: var(--db-color-action-disabled-text);
|
|
16059
|
+
--db-text-suggestion: initial; /* TODO - e.g. input placeholder, loading text */
|
|
16060
|
+
--db-text-inverse: initial; /* TODO, stark contrast e.g. tooltip text */
|
|
16060
16061
|
|
|
16061
|
-
--db-
|
|
16062
|
-
--db-
|
|
16063
|
-
--db-
|
|
16064
|
-
--db-
|
|
16062
|
+
--db-border-base: var(--db-color-border);
|
|
16063
|
+
--db-border-subtle: initial; /* TODO */
|
|
16064
|
+
--db-border-strong: var(--db-color-border-accessible);
|
|
16065
|
+
--db-border-hover: initial; /* TODO */
|
|
16066
|
+
--db-border-active: initial; /* TODO */
|
|
16067
|
+
--db-border-disabled: initial; /* TODO */
|
|
16065
16068
|
|
|
16066
|
-
|
|
16067
|
-
--db-
|
|
16068
|
-
--db-
|
|
16069
|
+
/* Accent */
|
|
16070
|
+
--db-accent-surface: var(--db-color-action-primary-background-default);
|
|
16071
|
+
--db-accent-surface-subtle: var(--db-color-action-default-background-hover);
|
|
16072
|
+
--db-accent-surface-strong: var(--db-color-action-primary-background-hover);
|
|
16069
16073
|
|
|
16070
|
-
--db-
|
|
16071
|
-
--db-
|
|
16072
|
-
--db-
|
|
16073
|
-
--db-primary-surface-disabled: var(--db-color-action-disabled-background);
|
|
16074
|
-
--db-text-on-primary-surface-disabled: var(--db-color-action-disabled-text);
|
|
16074
|
+
--db-accent-surface-hover: var(--db-color-action-primary-background-hover);
|
|
16075
|
+
--db-accent-surface-active: var(--db-color-action-primary-background-press); /* no distinct active value */
|
|
16076
|
+
--db-accent-surface-selected: var(--db-color-action-primary-background-press);
|
|
16075
16077
|
|
|
16076
|
-
/*
|
|
16077
|
-
--db-
|
|
16078
|
-
--db-
|
|
16079
|
-
--db-strong-error-surface: var(--db-color-action-danger-primary-background-hover);
|
|
16078
|
+
/* In the current design, the text color for an accent surface does not change with hover, active, etc. */
|
|
16079
|
+
--db-accent-text: var(--db-color-action-link-default);
|
|
16080
|
+
--db-text-on-accent-surface: var(--db-color-action-primary-text-default);
|
|
16080
16081
|
|
|
16081
|
-
--db-
|
|
16082
|
-
--db-
|
|
16083
|
-
--db-
|
|
16084
|
-
--db-strong-text-on-error-surface: var(--db-color-action-danger-primary-text);
|
|
16082
|
+
--db-accent-border: var(--db-color-action-primary-background-default);
|
|
16083
|
+
--db-accent-border-hover: var(--db-color-action-primary-background-press);
|
|
16084
|
+
--db-accent-border-active: initial; /* TODO */;
|
|
16085
16085
|
|
|
16086
|
-
|
|
16087
|
-
--db-
|
|
16088
|
-
--db-
|
|
16086
|
+
/* Negative */
|
|
16087
|
+
--db-negative-surface: var(--db-color-action-danger-primary-background-default);
|
|
16088
|
+
--db-negative-surface-subtle: var(--db-color-background-danger);
|
|
16089
|
+
--db-negative-surface-strong: var(--db-color-action-danger-primary-background-hover);
|
|
16089
16090
|
|
|
16090
|
-
--db-
|
|
16091
|
-
--db-
|
|
16092
|
-
--db-
|
|
16093
|
-
--db-error-surface-disabled: var(--db-color-action-disabled-background);
|
|
16094
|
-
--db-text-on-error-surface-disabled: var(--db-color-action-disabled-text);
|
|
16091
|
+
--db-negative-surface-hover: var(--db-color-action-danger-primary-background-hover);
|
|
16092
|
+
--db-negative-surface-active: var(--db-color-action-danger-primary-background-press); /* no distinct active value */
|
|
16093
|
+
--db-negative-surface-selected: var(--db-color-action-danger-primary-background-press);
|
|
16095
16094
|
|
|
16096
|
-
|
|
16097
|
-
--db-
|
|
16098
|
-
--db-subtle-warning-surface: var(--db-color-background-warning);
|
|
16095
|
+
--db-negative-text: var(--db-color-text-validation-danger);
|
|
16096
|
+
--db-text-on-negative-surface: var(--db-color-action-danger-primary-text);
|
|
16099
16097
|
|
|
16100
|
-
--db-
|
|
16101
|
-
--db-
|
|
16098
|
+
--db-negative-border: var(--db-color-action-danger-default-border-default);
|
|
16099
|
+
--db-negative-border-hover: initial; /* TODO */
|
|
16100
|
+
--db-negative-border-active: initial; /* TODO */
|
|
16102
16101
|
|
|
16103
|
-
|
|
16102
|
+
/* Caution */
|
|
16103
|
+
--db-caution-surface: initial; /* TODO */
|
|
16104
|
+
--db-caution-surface-subtle: var(--db-color-background-warning);
|
|
16105
|
+
--db-caution-surface-strong: initial; /* TODO */
|
|
16104
16106
|
|
|
16105
|
-
/*
|
|
16106
|
-
--db-
|
|
16107
|
-
--db-
|
|
16107
|
+
--db-caution-surface-hover: initial; /* TODO */
|
|
16108
|
+
--db-caution-surface-active: initial; /* TODO */
|
|
16109
|
+
--db-caution-surface-selected: initial; /* TODO */
|
|
16108
16110
|
|
|
16109
|
-
--db-text-
|
|
16110
|
-
--db-
|
|
16111
|
+
--db-caution-text: var(--db-color-text-validation-warning);
|
|
16112
|
+
--db-text-on-caution-surface: initial; /* TODO */
|
|
16111
16113
|
|
|
16112
|
-
--db-
|
|
16114
|
+
--db-caution-border: var(--db-color-border-warning);
|
|
16115
|
+
--db-caution-border-hover: initial; /* TODO */
|
|
16116
|
+
--db-caution-border-active: initial; /* TODO */
|
|
16117
|
+
|
|
16118
|
+
/* Positive */
|
|
16119
|
+
--db-positive-surface: initial; /* TODO */
|
|
16120
|
+
--db-positive-surface-subtle: var(--db-color-background-success);
|
|
16121
|
+
--db-positive-surface-strong: initial; /* TODO */
|
|
16122
|
+
|
|
16123
|
+
--db-positive-surface-hover: initial; /* TODO */
|
|
16124
|
+
--db-positive-surface-active: initial; /* TODO */
|
|
16125
|
+
--db-positive-surface-selected: initial; /* TODO */
|
|
16126
|
+
|
|
16127
|
+
--db-positive-text: var(--db-color-text-validation-success);
|
|
16128
|
+
--db-text-on-positive-surface: initial; /* TODO */
|
|
16129
|
+
|
|
16130
|
+
--db-positive-border: initial; /* TODO */
|
|
16131
|
+
--db-positive-border-hover: initial; /* TODO */
|
|
16132
|
+
--db-positive-border-active: initial; /* TODO */
|
|
16133
|
+
|
|
16134
|
+
/* Branded */
|
|
16135
|
+
--db-ai-gradient-start: #4299e0;
|
|
16136
|
+
--db-ai-gradient-mid: #ca42e0;
|
|
16137
|
+
--db-ai-gradient-end: #ff5f46;
|
|
16113
16138
|
}
|
|
16114
16139
|
|
|
16115
16140
|
|
|
@@ -16118,32 +16143,39 @@ span.du-bois-light-typography-ellipsis-single-line {
|
|
|
16118
16143
|
--db-layout-unit: 0.25rem; /* 4px */
|
|
16119
16144
|
--db-density-scalar: 1;
|
|
16120
16145
|
--db-size-scalar: 1;
|
|
16121
|
-
--db-
|
|
16146
|
+
--db-space-scalar: 1;
|
|
16122
16147
|
|
|
16123
16148
|
/* Size and spacing are the same steps, but with their own scalars included in the calc. */
|
|
16124
16149
|
|
|
16125
|
-
--db-size-
|
|
16126
|
-
--db-size-
|
|
16127
|
-
--db-size-
|
|
16128
|
-
--db-size-
|
|
16129
|
-
--db-size-
|
|
16130
|
-
--db-size-
|
|
16150
|
+
--db-size-1: calc(var(--db-layout-unit) * 1 * var(--db-density-scalar) * var(--db-size-scalar)); /* 4px */
|
|
16151
|
+
--db-size-2: calc(var(--db-layout-unit) * 2 * var(--db-density-scalar) * var(--db-size-scalar)); /* 8px */
|
|
16152
|
+
--db-size-3: calc(var(--db-layout-unit) * 3 * var(--db-density-scalar) * var(--db-size-scalar)); /* 12px */
|
|
16153
|
+
--db-size-4: calc(var(--db-layout-unit) * 4 * var(--db-density-scalar) * var(--db-size-scalar)); /* 16px */
|
|
16154
|
+
--db-size-5: calc(var(--db-layout-unit) * 5 * var(--db-density-scalar) * var(--db-size-scalar)); /* 20px */
|
|
16155
|
+
--db-size-6: calc(var(--db-layout-unit) * 6 * var(--db-density-scalar) * var(--db-size-scalar)); /* 24px */
|
|
16156
|
+
--db-size-7: calc(var(--db-layout-unit) * 7 * var(--db-density-scalar) * var(--db-size-scalar)); /* 28px */
|
|
16157
|
+
--db-size-8: calc(var(--db-layout-unit) * 8 * var(--db-density-scalar) * var(--db-size-scalar)); /* 32px */
|
|
16158
|
+
--db-size-10: calc(var(--db-layout-unit) * 10 * var(--db-density-scalar) * var(--db-size-scalar)); /* 40px */
|
|
16159
|
+
--db-size-12: calc(var(--db-layout-unit) * 12 * var(--db-density-scalar) * var(--db-size-scalar)); /* 48px */
|
|
16131
16160
|
|
|
16132
|
-
--db-
|
|
16133
|
-
--db-
|
|
16134
|
-
--db-
|
|
16135
|
-
--db-
|
|
16136
|
-
--db-
|
|
16137
|
-
--db-
|
|
16161
|
+
--db-space-0-5: calc(var(--db-layout-unit) * 0.5 * var(--db-density-scalar) * var(--db-space-scalar)); /* 2px */
|
|
16162
|
+
--db-space-1: calc(var(--db-layout-unit) * 1 * var(--db-density-scalar) * var(--db-space-scalar)); /* 4px */
|
|
16163
|
+
--db-space-2: calc(var(--db-layout-unit) * 2 * var(--db-density-scalar) * var(--db-space-scalar)); /* 8px */
|
|
16164
|
+
--db-space-3: calc(var(--db-layout-unit) * 3 * var(--db-density-scalar) * var(--db-space-scalar)); /* 12px */
|
|
16165
|
+
--db-space-4: calc(var(--db-layout-unit) * 4 * var(--db-density-scalar) * var(--db-space-scalar)); /* 16px */
|
|
16166
|
+
--db-space-6: calc(var(--db-layout-unit) * 6 * var(--db-density-scalar) * var(--db-space-scalar)); /* 24px */
|
|
16167
|
+
--db-space-8: calc(var(--db-layout-unit) * 8 * var(--db-density-scalar) * var(--db-space-scalar)); /* 32px */
|
|
16168
|
+
--db-space-10: calc(var(--db-layout-unit) * 10 * var(--db-density-scalar) * var(--db-space-scalar)); /* 40px */
|
|
16138
16169
|
}
|
|
16139
16170
|
|
|
16140
16171
|
:where(:root), :where(.du-bois-light) {
|
|
16141
16172
|
--db-font-family:
|
|
16142
16173
|
"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
|
|
16174
|
+
--db-numeric-font-family: var(--db-font-family);
|
|
16143
16175
|
--db-mono-font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
|
|
16144
16176
|
|
|
16145
|
-
--db-font-size-
|
|
16146
|
-
--db-font-size-
|
|
16177
|
+
--db-font-size-xs: 0.6875rem; /* 11px */
|
|
16178
|
+
--db-font-size-sm: 0.75rem; /* 12px */
|
|
16147
16179
|
--db-font-size-base: 0.8125rem; /* 13px */
|
|
16148
16180
|
--db-font-size-md: 0.875rem; /* 14px */
|
|
16149
16181
|
--db-font-size-lg: 0.9375rem; /* 15px */
|
|
@@ -16152,6 +16184,8 @@ span.du-bois-light-typography-ellipsis-single-line {
|
|
|
16152
16184
|
--db-font-size-3xl: 1.5rem; /* 24px */
|
|
16153
16185
|
--db-font-size-4xl: 2rem; /* 32px */
|
|
16154
16186
|
|
|
16187
|
+
/* TODO: media query for mobile font sizes */
|
|
16188
|
+
|
|
16155
16189
|
/* Du Bois v1 ships 400 and 600 only */
|
|
16156
16190
|
--db-font-weight-normal: 400;
|
|
16157
16191
|
--db-font-weight-medium: initial; /* TODO */
|
|
@@ -16169,6 +16203,57 @@ span.du-bois-light-typography-ellipsis-single-line {
|
|
|
16169
16203
|
:where(:root), :where(.du-bois-light) {
|
|
16170
16204
|
--db-focus-ring-color: var(--db-color-action-default-border-focus);
|
|
16171
16205
|
--db-focus-ring-width: 2px;
|
|
16206
|
+
--db-focus-ring-offset: 2px;
|
|
16207
|
+
}
|
|
16208
|
+
|
|
16209
|
+
:where(:root), :where(.du-bois-light) {
|
|
16210
|
+
--db-shape-control: 4px;
|
|
16211
|
+
--db-shape-control-large: 999px;
|
|
16212
|
+
--db-shape-container-small: 8px;
|
|
16213
|
+
--db-shape-container-medium: 12px;
|
|
16214
|
+
--db-shape-container-large: 16px;
|
|
16215
|
+
--db-shape-pill: 999px;
|
|
16216
|
+
}
|
|
16217
|
+
|
|
16218
|
+
:where(:root), :where(.du-bois-light) {
|
|
16219
|
+
/* Shape */
|
|
16220
|
+
/* Mirrors the ShapeTokens host-override var used by list items; falls back to the theme radius. */
|
|
16221
|
+
--db-list-item-border-radius: var(--list-item-border-radius, 4px);
|
|
16222
|
+
|
|
16223
|
+
/* Color */
|
|
16224
|
+
--db-list-surface: var(--db-surface-base);
|
|
16225
|
+
--db-list-text: var(--db-text-base);
|
|
16226
|
+
--db-list-header-text: var(--db-text-subtle);
|
|
16227
|
+
--db-list-separator: var(--db-border-subtle);
|
|
16228
|
+
|
|
16229
|
+
--db-list-item-surface-hover: var(--db-surface-hover);
|
|
16230
|
+
--db-list-item-surface-active: var(--db-surface-active);
|
|
16231
|
+
--db-list-item-surface-selected: var(--db-accent-surface-subtle);
|
|
16232
|
+
--db-list-item-surface-disabled: var(--db-surface-disabled);
|
|
16233
|
+
|
|
16234
|
+
--db-list-item-text-selected: var(--db-accent-text);
|
|
16235
|
+
--db-list-item-text-disabled: var(--db-text-disabled);
|
|
16236
|
+
|
|
16237
|
+
--db-list-item-danger-text: var(--db-negative-text);
|
|
16238
|
+
--db-list-item-danger-surface-hover: var(--db-negative-surface-subtle);
|
|
16239
|
+
|
|
16240
|
+
/* Density */
|
|
16241
|
+
--db-list-item-padding: var(--db-space-2);
|
|
16242
|
+
--db-list-item-height: var(--db-size-8);
|
|
16243
|
+
}
|
|
16244
|
+
|
|
16245
|
+
:where(:root), :where(.du-bois-light) {
|
|
16246
|
+
/* Shape */
|
|
16247
|
+
/* Mirrors the ShapeTokens host-override var; falls back to the v1 value (borderRadiusSm). */
|
|
16248
|
+
--db-popup-border-radius: var(--popup-border-radius, 4px);
|
|
16249
|
+
|
|
16250
|
+
/* Color */
|
|
16251
|
+
--db-popup-surface: var(--db-surface-base);
|
|
16252
|
+
--db-popup-text: var(--db-text-base);
|
|
16253
|
+
--db-popup-border: var(--db-border-base);
|
|
16254
|
+
|
|
16255
|
+
/* Elevation */
|
|
16256
|
+
--db-popup-elevation: var(--db-elevation-med);
|
|
16172
16257
|
}
|
|
16173
16258
|
|
|
16174
16259
|
:where(:root), :where(.du-bois-light) {
|
|
@@ -16176,36 +16261,451 @@ span.du-bois-light-typography-ellipsis-single-line {
|
|
|
16176
16261
|
--db-selection-toggle-border-radius: 4px;
|
|
16177
16262
|
|
|
16178
16263
|
/* Color */
|
|
16179
|
-
--db-selection-toggle-surface: var(--db-
|
|
16180
|
-
--db-selection-toggle-mark: var(--db-text-on-
|
|
16181
|
-
--db-selection-toggle-text: var(--db-text-
|
|
16182
|
-
--db-selection-toggle-border: var(--db-strong
|
|
16183
|
-
|
|
16184
|
-
--db-selection-toggle-surface-hover: var(--db-
|
|
16185
|
-
--db-selection-toggle-surface-
|
|
16186
|
-
--db-selection-toggle-surface-checked: var(--db-
|
|
16187
|
-
--db-selection-toggle-surface-checked-hover: var(--db-
|
|
16188
|
-
--db-selection-toggle-surface-checked-
|
|
16189
|
-
--db-selection-toggle-surface-disabled: var(--db-
|
|
16190
|
-
--db-selection-toggle-surface-checked-disabled: var(--db-
|
|
16191
|
-
|
|
16192
|
-
--db-selection-toggle-border-hover: var(--db-
|
|
16193
|
-
--db-selection-toggle-border-
|
|
16194
|
-
--db-selection-toggle-border-disabled: var(--db-
|
|
16195
|
-
|
|
16196
|
-
--db-selection-toggle-mark-disabled: var(--db-text-
|
|
16197
|
-
--db-selection-toggle-text-disabled: var(--db-text-
|
|
16264
|
+
--db-selection-toggle-surface: var(--db-surface-base);
|
|
16265
|
+
--db-selection-toggle-mark: var(--db-text-on-accent-surface);
|
|
16266
|
+
--db-selection-toggle-text: var(--db-text-base);
|
|
16267
|
+
--db-selection-toggle-border: var(--db-border-strong);
|
|
16268
|
+
|
|
16269
|
+
--db-selection-toggle-surface-hover: var(--db-surface-hover);
|
|
16270
|
+
--db-selection-toggle-surface-active: var(--db-surface-selected-active);
|
|
16271
|
+
--db-selection-toggle-surface-checked: var(--db-accent-surface);
|
|
16272
|
+
--db-selection-toggle-surface-checked-hover: var(--db-accent-surface-hover);
|
|
16273
|
+
--db-selection-toggle-surface-checked-active: var(--db-accent-surface-active);
|
|
16274
|
+
--db-selection-toggle-surface-disabled: var(--db-surface-disabled);
|
|
16275
|
+
--db-selection-toggle-surface-checked-disabled: var(--db-surface-disabled);
|
|
16276
|
+
|
|
16277
|
+
--db-selection-toggle-border-hover: var(--db-accent-surface-hover);
|
|
16278
|
+
--db-selection-toggle-border-active: var(--db-accent-surface-active);
|
|
16279
|
+
--db-selection-toggle-border-disabled: var(--db-border-base);
|
|
16280
|
+
|
|
16281
|
+
--db-selection-toggle-mark-disabled: var(--db-text-disabled);
|
|
16282
|
+
--db-selection-toggle-text-disabled: var(--db-text-disabled);
|
|
16198
16283
|
|
|
16199
16284
|
--db-selection-toggle-shadow-checked: 0 0 0 1px var(--db-color-action-primary-background-default);
|
|
16200
16285
|
|
|
16201
16286
|
/* Density */
|
|
16202
|
-
--db-selection-toggle-size: var(--db-size-
|
|
16203
|
-
--db-selection-toggle-label-spacing: var(--db-
|
|
16287
|
+
--db-selection-toggle-size: var(--db-size-4);
|
|
16288
|
+
--db-selection-toggle-label-spacing: var(--db-space-2);
|
|
16204
16289
|
|
|
16205
16290
|
/* Motion */
|
|
16206
16291
|
--db-selection-toggle-transition-duration: 120ms;
|
|
16207
16292
|
}
|
|
16208
16293
|
|
|
16294
|
+
|
|
16295
|
+
|
|
16296
|
+
/* Component-tier tokens for the native <Button>, grouped by area (density, shape, typography, color).
|
|
16297
|
+
* Colors alias the action-* system tokens; sizes alias the system density scale.
|
|
16298
|
+
*
|
|
16299
|
+
* Follows the mortar/action.css pattern: one semantic set (surface / border / text, each with
|
|
16300
|
+
* -hover / -active / -disabled) whose defaults are the secondary variant. The variant classes that
|
|
16301
|
+
* re-set these tokens per variant live in NativeButton.css; this file declares only tokens. */
|
|
16302
|
+
|
|
16303
|
+
/* Declared under the theme classes too (not just :root) so the var() chain re-resolves inside a
|
|
16304
|
+
* `.du-bois-dark` subtree (or a portal that re-applies the theme class) instead of freezing at the root values. */
|
|
16305
|
+
:where(:root), :where(.du-bois-light) {
|
|
16306
|
+
/* ── Density ──────────────────────────────────────────────────────────── */
|
|
16307
|
+
--db-btn-height: var(--db-size-8);
|
|
16308
|
+
--db-btn-height-small: var(--db-size-6);
|
|
16309
|
+
--db-btn-icon-size: var(--db-size-4);
|
|
16310
|
+
--db-btn-border-width: 1px;
|
|
16311
|
+
--db-btn-padding-vertical: var(--db-space-1);
|
|
16312
|
+
--db-btn-padding-horizontal: var(--db-space-3);
|
|
16313
|
+
--db-btn-padding-horizontal-small: var(--db-space-2);
|
|
16314
|
+
/* Icon/force-icon horizontal padding: half the standard horizontal padding. */
|
|
16315
|
+
--db-btn-padding-horizontal-icon: calc(var(--db-space-3) / 2); /* 6px */
|
|
16316
|
+
--db-btn-gap: var(--db-space-1);
|
|
16317
|
+
--db-btn-end-icon-gap: var(--db-space-2);
|
|
16318
|
+
--db-btn-end-icon-gap-small: var(--db-space-1);
|
|
16319
|
+
/* Width of a content-less button while loading, so the standalone spinner has room. */
|
|
16320
|
+
--db-btn-loading-empty-width: var(--db-size-10);
|
|
16321
|
+
|
|
16322
|
+
/* ── Shape ────────────────────────────────────────────────────────────── */
|
|
16323
|
+
--db-btn-border-radius: var(--db-shape-control);
|
|
16324
|
+
|
|
16325
|
+
/* ── Typography ───────────────────────────────────────────────────────── */
|
|
16326
|
+
--db-btn-font-size: var(--db-font-size-base);
|
|
16327
|
+
--db-btn-icon-only-font-size: var(--db-font-size-lg); /* 15px */
|
|
16328
|
+
--db-btn-font-weight: var(--db-font-weight-normal);
|
|
16329
|
+
/* Line heights are hard-coded until the typography scale ships computed per-level line-height tokens. */
|
|
16330
|
+
--db-btn-line-height: 1.25rem; /* 20px */
|
|
16331
|
+
--db-btn-line-height-small: 1rem; /* 16px */
|
|
16332
|
+
|
|
16333
|
+
/* ── Color: semantic set (defaults = secondary variant) ───────────────── */
|
|
16334
|
+
--db-btn-surface: var(--db-color-action-default-background-default);
|
|
16335
|
+
--db-btn-surface-hover: var(--db-color-action-default-background-hover);
|
|
16336
|
+
--db-btn-surface-active: var(--db-color-action-default-background-press);
|
|
16337
|
+
--db-btn-surface-disabled: transparent;
|
|
16338
|
+
--db-btn-border: var(--db-color-action-default-border-default);
|
|
16339
|
+
--db-btn-border-hover: var(--db-color-action-default-border-hover);
|
|
16340
|
+
--db-btn-border-active: var(--db-color-action-default-border-press);
|
|
16341
|
+
--db-btn-border-disabled: var(--db-color-action-disabled-border);
|
|
16342
|
+
--db-btn-text: var(--db-color-action-default-text-default);
|
|
16343
|
+
--db-btn-text-hover: var(--db-color-action-default-text-hover);
|
|
16344
|
+
--db-btn-text-active: var(--db-color-action-default-text-press);
|
|
16345
|
+
--db-btn-text-disabled: var(--db-color-action-disabled-text);
|
|
16346
|
+
|
|
16347
|
+
/* ── Focus & icon ─────────────────────────────────────────────────────── */
|
|
16348
|
+
--db-btn-focus-ring: var(--db-color-action-default-border-focus);
|
|
16349
|
+
--db-btn-danger-focus-ring: var(--db-color-action-danger-primary-background-default);
|
|
16350
|
+
--db-btn-icon-glyph: var(--db-color-text-secondary);
|
|
16351
|
+
}
|
|
16352
|
+
|
|
16353
|
+
/* Native <Button> visual styles. Consumes the component-tier `--db-btn-*` tokens (see tokens.css);
|
|
16354
|
+
* the variant classes below re-set those tokens per variant and the rules that follow paint them.
|
|
16355
|
+
* Shipped via mortar.css. */
|
|
16356
|
+
|
|
16357
|
+
/* ── 0. Variant token re-sets ──────────────────────────────────────────────
|
|
16358
|
+
* Each variant class re-sets the semantic tokens declared in tokens.css; combined classes win by
|
|
16359
|
+
* specificity, which beats the `:where(:root)` (specificity 0) defaults regardless of file order. */
|
|
16360
|
+
.db-btn-primary {
|
|
16361
|
+
--db-btn-surface: var(--db-color-action-primary-background-default);
|
|
16362
|
+
--db-btn-surface-hover: var(--db-color-action-primary-background-hover);
|
|
16363
|
+
--db-btn-surface-active: var(--db-color-action-primary-background-press);
|
|
16364
|
+
--db-btn-surface-disabled: var(--db-color-action-disabled-border);
|
|
16365
|
+
--db-btn-border: transparent;
|
|
16366
|
+
--db-btn-border-hover: transparent;
|
|
16367
|
+
--db-btn-border-active: transparent;
|
|
16368
|
+
--db-btn-border-disabled: transparent;
|
|
16369
|
+
--db-btn-text: var(--db-color-action-primary-text-default);
|
|
16370
|
+
--db-btn-text-hover: var(--db-color-action-primary-text-hover);
|
|
16371
|
+
--db-btn-text-active: var(--db-color-action-primary-text-press);
|
|
16372
|
+
--db-btn-text-disabled: var(--db-color-action-primary-text-default);
|
|
16373
|
+
}
|
|
16374
|
+
.db-btn-tertiary,
|
|
16375
|
+
.db-btn-link {
|
|
16376
|
+
--db-btn-surface: var(--db-color-action-tertiary-background-default);
|
|
16377
|
+
--db-btn-surface-disabled: var(--db-color-action-tertiary-background-default);
|
|
16378
|
+
--db-btn-border: var(--db-color-action-tertiary-background-default);
|
|
16379
|
+
--db-btn-border-hover: transparent;
|
|
16380
|
+
--db-btn-border-active: transparent;
|
|
16381
|
+
--db-btn-border-disabled: transparent;
|
|
16382
|
+
--db-btn-text: var(--db-color-action-tertiary-text-default);
|
|
16383
|
+
--db-btn-text-hover: var(--db-color-action-tertiary-text-hover);
|
|
16384
|
+
--db-btn-text-active: var(--db-color-action-tertiary-text-press);
|
|
16385
|
+
--db-btn-text-disabled: var(--db-color-action-disabled-text);
|
|
16386
|
+
}
|
|
16387
|
+
.db-btn-tertiary {
|
|
16388
|
+
--db-btn-surface-hover: var(--db-color-action-tertiary-background-hover);
|
|
16389
|
+
--db-btn-surface-active: var(--db-color-action-tertiary-background-press);
|
|
16390
|
+
}
|
|
16391
|
+
/* Link is borderless and text-only, so its hover/press surface stays transparent. */
|
|
16392
|
+
.db-btn-link {
|
|
16393
|
+
--db-btn-surface-hover: transparent;
|
|
16394
|
+
--db-btn-surface-active: transparent;
|
|
16395
|
+
}
|
|
16396
|
+
/* Every danger button (icon included) disables to the filled treatment. */
|
|
16397
|
+
.db-btn-danger {
|
|
16398
|
+
--db-btn-surface-disabled: var(--db-color-action-disabled-border);
|
|
16399
|
+
--db-btn-border-disabled: transparent;
|
|
16400
|
+
--db-btn-text-disabled: var(--db-color-action-primary-text-default);
|
|
16401
|
+
}
|
|
16402
|
+
/* Danger, filled (primary): re-set only the surface; text/transparent border come from primary. */
|
|
16403
|
+
.db-btn-primary.db-btn-danger:not(.db-btn-icon-only) {
|
|
16404
|
+
--db-btn-surface: var(--db-color-action-danger-primary-background-default);
|
|
16405
|
+
--db-btn-surface-hover: var(--db-color-action-danger-primary-background-hover);
|
|
16406
|
+
--db-btn-surface-active: var(--db-color-action-danger-primary-background-press);
|
|
16407
|
+
}
|
|
16408
|
+
/* Danger, secondary/outlined. */
|
|
16409
|
+
.db-btn-danger:not(.db-btn-primary):not(.db-btn-tertiary):not(.db-btn-link):not(.db-btn-icon-only) {
|
|
16410
|
+
--db-btn-surface: var(--db-color-action-danger-default-background-default);
|
|
16411
|
+
--db-btn-surface-hover: var(--db-color-action-danger-default-background-hover);
|
|
16412
|
+
--db-btn-surface-active: var(--db-color-action-danger-default-background-press);
|
|
16413
|
+
--db-btn-border: var(--db-color-action-danger-default-border-default);
|
|
16414
|
+
--db-btn-border-hover: var(--db-color-action-danger-default-border-hover);
|
|
16415
|
+
--db-btn-border-active: var(--db-color-action-danger-default-border-press);
|
|
16416
|
+
--db-btn-text: var(--db-color-action-danger-default-text-default);
|
|
16417
|
+
--db-btn-text-hover: var(--db-color-action-danger-default-text-hover);
|
|
16418
|
+
--db-btn-text-active: var(--db-color-action-danger-default-text-press);
|
|
16419
|
+
}
|
|
16420
|
+
/* Danger, tertiary/link: danger text everywhere, danger surface on hover/press; resting/disabled
|
|
16421
|
+
* surface stay the tertiary ghost (override the filled danger-disabled set above). */
|
|
16422
|
+
.db-btn-tertiary.db-btn-danger,
|
|
16423
|
+
.db-btn-link.db-btn-danger {
|
|
16424
|
+
--db-btn-surface-hover: var(--db-color-action-danger-default-background-hover);
|
|
16425
|
+
--db-btn-surface-active: var(--db-color-action-danger-default-background-press);
|
|
16426
|
+
--db-btn-surface-disabled: var(--db-color-action-tertiary-background-default);
|
|
16427
|
+
--db-btn-text: var(--db-color-action-danger-default-text-default);
|
|
16428
|
+
--db-btn-text-hover: var(--db-color-action-danger-default-text-hover);
|
|
16429
|
+
--db-btn-text-active: var(--db-color-action-danger-default-text-press);
|
|
16430
|
+
--db-btn-text-disabled: var(--db-color-action-disabled-text);
|
|
16431
|
+
}
|
|
16432
|
+
/* Icon-only renders as the ghost (tertiary) treatment regardless of variant; re-set the semantic set
|
|
16433
|
+
* so the icon-only rules paint from these component tokens. */
|
|
16434
|
+
.db-btn-icon-only {
|
|
16435
|
+
--db-btn-surface: var(--db-color-action-tertiary-background-default);
|
|
16436
|
+
--db-btn-surface-hover: var(--db-color-action-tertiary-background-hover);
|
|
16437
|
+
--db-btn-surface-active: var(--db-color-action-tertiary-background-press);
|
|
16438
|
+
--db-btn-text: var(--db-color-action-tertiary-text-default);
|
|
16439
|
+
--db-btn-text-hover: var(--db-color-action-tertiary-text-hover);
|
|
16440
|
+
--db-btn-text-active: var(--db-color-action-tertiary-text-press);
|
|
16441
|
+
}
|
|
16442
|
+
/* Danger icon-only keeps the ghost resting surface (inherited above) but uses danger text and a
|
|
16443
|
+
* danger hover/press surface. */
|
|
16444
|
+
.db-btn-icon-only.db-btn-danger {
|
|
16445
|
+
--db-btn-surface-hover: var(--db-color-action-danger-default-background-hover);
|
|
16446
|
+
--db-btn-surface-active: var(--db-color-action-danger-default-background-press);
|
|
16447
|
+
--db-btn-text: var(--db-color-action-danger-default-text-default);
|
|
16448
|
+
--db-btn-text-hover: var(--db-color-action-danger-default-text-hover);
|
|
16449
|
+
--db-btn-text-active: var(--db-color-action-danger-default-text-press);
|
|
16450
|
+
}
|
|
16451
|
+
|
|
16452
|
+
/* ── 1. Base — paints the default (secondary) variant ────────────────────── */
|
|
16453
|
+
.db-btn {
|
|
16454
|
+
appearance: none;
|
|
16455
|
+
box-sizing: border-box;
|
|
16456
|
+
position: relative; /* anchors the loading spinner */
|
|
16457
|
+
display: inline-flex !important;
|
|
16458
|
+
align-items: center !important;
|
|
16459
|
+
justify-content: center !important;
|
|
16460
|
+
vertical-align: middle;
|
|
16461
|
+
white-space: nowrap;
|
|
16462
|
+
user-select: none;
|
|
16463
|
+
cursor: pointer;
|
|
16464
|
+
height: var(--db-btn-height) !important;
|
|
16465
|
+
font-family: inherit;
|
|
16466
|
+
font-size: var(--db-btn-font-size);
|
|
16467
|
+
font-weight: var(--db-btn-font-weight);
|
|
16468
|
+
line-height: var(--db-btn-line-height) !important;
|
|
16469
|
+
text-decoration: none !important;
|
|
16470
|
+
border: var(--db-btn-border-width) solid var(--db-btn-border);
|
|
16471
|
+
border-color: var(--db-btn-border) !important;
|
|
16472
|
+
border-radius: var(--db-btn-border-radius) !important;
|
|
16473
|
+
box-shadow: none !important;
|
|
16474
|
+
background-color: var(--db-btn-surface) !important;
|
|
16475
|
+
color: var(--db-btn-text) !important;
|
|
16476
|
+
}
|
|
16477
|
+
|
|
16478
|
+
/* ── 2. Padding ──────────────────────────────────────────────────────────── */
|
|
16479
|
+
.db-btn.db-btn:where(:not(.db-btn-icon-only, .db-btn-force-icon, .db-btn-link)) {
|
|
16480
|
+
padding: var(--db-btn-padding-vertical) var(--db-btn-padding-horizontal) !important;
|
|
16481
|
+
}
|
|
16482
|
+
.db-btn.db-btn-small:where(:not(.db-btn-icon-only, .db-btn-force-icon, .db-btn-link)) {
|
|
16483
|
+
padding: 0 var(--db-btn-padding-horizontal-small) !important;
|
|
16484
|
+
}
|
|
16485
|
+
.db-btn.db-btn-link {
|
|
16486
|
+
padding: 0 !important;
|
|
16487
|
+
}
|
|
16488
|
+
.db-btn.db-btn-force-icon {
|
|
16489
|
+
padding: 0 var(--db-btn-padding-horizontal-icon) !important;
|
|
16490
|
+
}
|
|
16491
|
+
|
|
16492
|
+
/* ── 3. Interactive states ───────────────────────────────────────────────── */
|
|
16493
|
+
.db-btn:hover:not(:disabled, .db-btn-loading) {
|
|
16494
|
+
background-color: var(--db-btn-surface-hover) !important;
|
|
16495
|
+
border-color: var(--db-btn-border-hover) !important;
|
|
16496
|
+
color: var(--db-btn-text-hover) !important;
|
|
16497
|
+
}
|
|
16498
|
+
.db-btn:active:not(:disabled, .db-btn-loading) {
|
|
16499
|
+
background-color: var(--db-btn-surface-active) !important;
|
|
16500
|
+
border-color: var(--db-btn-border-active) !important;
|
|
16501
|
+
color: var(--db-btn-text-active) !important;
|
|
16502
|
+
}
|
|
16503
|
+
|
|
16504
|
+
/* ── 4. Focus ────────────────────────────────────────────────────────────── */
|
|
16505
|
+
.db-btn:focus-visible {
|
|
16506
|
+
outline: 2px solid var(--db-btn-focus-ring);
|
|
16507
|
+
outline-offset: -2px;
|
|
16508
|
+
}
|
|
16509
|
+
.db-btn-primary:focus-visible {
|
|
16510
|
+
outline-offset: 1px;
|
|
16511
|
+
}
|
|
16512
|
+
.db-btn-use-focus-pseudo-class:focus {
|
|
16513
|
+
outline: 2px solid var(--db-btn-focus-ring);
|
|
16514
|
+
outline-offset: 1px;
|
|
16515
|
+
}
|
|
16516
|
+
|
|
16517
|
+
/* ── 5. Small / block (full-width) / empty ────────────────────────────────── */
|
|
16518
|
+
.db-btn-small {
|
|
16519
|
+
height: var(--db-btn-height-small) !important;
|
|
16520
|
+
}
|
|
16521
|
+
.db-btn-block {
|
|
16522
|
+
width: 100%;
|
|
16523
|
+
}
|
|
16524
|
+
.db-btn-empty {
|
|
16525
|
+
background-color: transparent !important;
|
|
16526
|
+
border-color: transparent !important;
|
|
16527
|
+
}
|
|
16528
|
+
.db-btn-default.db-btn-empty {
|
|
16529
|
+
color: var(--db-btn-icon-glyph) !important;
|
|
16530
|
+
}
|
|
16531
|
+
.db-btn-empty.db-btn-loading {
|
|
16532
|
+
width: var(--db-btn-loading-empty-width);
|
|
16533
|
+
}
|
|
16534
|
+
|
|
16535
|
+
/* ── 6. Tertiary & link ──────────────────────────────────────────────────── */
|
|
16536
|
+
.db-btn-link {
|
|
16537
|
+
height: auto !important;
|
|
16538
|
+
border: none !important;
|
|
16539
|
+
}
|
|
16540
|
+
/* Re-declare the text color for a non-icon-only tertiary/link at two-class weight so a plain
|
|
16541
|
+
* call-site `color` override loses; an icon-only glyph stays at base weight so its override wins. */
|
|
16542
|
+
.db-btn-tertiary:not(.db-btn-icon-only),
|
|
16543
|
+
.db-btn-link:not(.db-btn-icon-only) {
|
|
16544
|
+
color: var(--db-btn-text) !important;
|
|
16545
|
+
}
|
|
16546
|
+
/* Keep the resting border at two-class weight (parity with the shielded border-color). */
|
|
16547
|
+
.db-btn.db-btn-tertiary,
|
|
16548
|
+
.db-btn.db-btn-link {
|
|
16549
|
+
border-color: var(--db-btn-border) !important;
|
|
16550
|
+
}
|
|
16551
|
+
|
|
16552
|
+
/* ── 7. Danger ───────────────────────────────────────────────────────────── */
|
|
16553
|
+
.db-btn-danger:focus-visible {
|
|
16554
|
+
outline-color: var(--db-btn-danger-focus-ring);
|
|
16555
|
+
}
|
|
16556
|
+
|
|
16557
|
+
/* ── 8. Icon-only ────────────────────────────────────────────────────────── */
|
|
16558
|
+
.db-btn-icon-only {
|
|
16559
|
+
padding: 0;
|
|
16560
|
+
border: none !important;
|
|
16561
|
+
background-color: var(--db-btn-surface) !important;
|
|
16562
|
+
font-size: var(--db-btn-icon-only-font-size);
|
|
16563
|
+
}
|
|
16564
|
+
/* `:where()` keeps this at (0,1,0) so a call-site `css` width override wins, as it does for `height`. */
|
|
16565
|
+
.db-btn-icon-only:where(:not(.db-btn-small)) {
|
|
16566
|
+
width: var(--db-btn-height) !important;
|
|
16567
|
+
}
|
|
16568
|
+
.db-btn-icon-only:not(.db-btn-link, .db-btn-tertiary, [href], :hover, :active, :disabled) {
|
|
16569
|
+
color: var(--db-btn-icon-glyph) !important;
|
|
16570
|
+
}
|
|
16571
|
+
/* `:where()` on the exclusion holds this at (0,2,0): enough to tint an un-overridden icon-only link
|
|
16572
|
+
* over the base color, while still letting a consumer's own icon-color override win on source order. */
|
|
16573
|
+
.db-btn-icon-only[href]:where(:not(.db-btn-tertiary, .db-btn-link, .db-btn-danger, :disabled)) {
|
|
16574
|
+
color: var(--db-btn-text) !important;
|
|
16575
|
+
}
|
|
16576
|
+
.db-btn-icon-only:where(.db-btn-small) {
|
|
16577
|
+
width: var(--db-btn-height-small);
|
|
16578
|
+
}
|
|
16579
|
+
.db-btn-icon-only.db-btn-small {
|
|
16580
|
+
line-height: var(--db-btn-line-height-small) !important;
|
|
16581
|
+
}
|
|
16582
|
+
.db-btn-icon-only:hover:not(:disabled, .db-btn-loading) {
|
|
16583
|
+
background-color: var(--db-btn-surface-hover) !important;
|
|
16584
|
+
color: var(--db-btn-text-hover) !important;
|
|
16585
|
+
}
|
|
16586
|
+
.db-btn-icon-only:active:not(:disabled, .db-btn-loading) {
|
|
16587
|
+
background-color: var(--db-btn-surface-active) !important;
|
|
16588
|
+
color: var(--db-btn-text-active) !important;
|
|
16589
|
+
}
|
|
16590
|
+
.db-btn-icon-only:enabled:not(.db-btn-primary, .db-btn-tertiary, .db-btn-link, .db-btn-danger, :hover, :active)
|
|
16591
|
+
> .anticon {
|
|
16592
|
+
color: var(--db-btn-icon-glyph);
|
|
16593
|
+
}
|
|
16594
|
+
.db-btn-icon-only.db-btn-danger:not(:hover, :active) > .anticon {
|
|
16595
|
+
color: var(--db-btn-text);
|
|
16596
|
+
}
|
|
16597
|
+
.db-btn-icon-only.db-btn-danger:hover:not(:disabled, .db-btn-loading) {
|
|
16598
|
+
background-color: var(--db-btn-surface-hover) !important;
|
|
16599
|
+
color: var(--db-btn-text-hover) !important;
|
|
16600
|
+
}
|
|
16601
|
+
.db-btn-icon-only.db-btn-danger:active:not(:disabled, .db-btn-loading) {
|
|
16602
|
+
background-color: var(--db-btn-surface-active) !important;
|
|
16603
|
+
color: var(--db-btn-text-active) !important;
|
|
16604
|
+
}
|
|
16605
|
+
|
|
16606
|
+
/* ── 9. Disabled — base rules paint the per-variant `*-disabled` tokens (see tokens.css) ──────── */
|
|
16607
|
+
.db-btn:disabled {
|
|
16608
|
+
cursor: not-allowed;
|
|
16609
|
+
background-color: var(--db-btn-surface-disabled) !important;
|
|
16610
|
+
color: var(--db-btn-text-disabled) !important;
|
|
16611
|
+
}
|
|
16612
|
+
/* Empty disabled buttons keep a transparent border (set elsewhere), so exclude them.
|
|
16613
|
+
* `:where()` on the exclusion holds this at (0,2,0): enough to beat the base border, while still
|
|
16614
|
+
* letting a consumer's own `[disabled]` border override win on source order. */
|
|
16615
|
+
.db-btn:disabled:where(:not(.db-btn-empty)) {
|
|
16616
|
+
border-color: var(--db-btn-border-disabled) !important;
|
|
16617
|
+
}
|
|
16618
|
+
.db-btn-icon-only:disabled {
|
|
16619
|
+
border: none;
|
|
16620
|
+
}
|
|
16621
|
+
.db-btn-icon-only:disabled:hover {
|
|
16622
|
+
background-color: transparent !important;
|
|
16623
|
+
}
|
|
16624
|
+
.db-btn:disabled > .anticon {
|
|
16625
|
+
color: inherit !important;
|
|
16626
|
+
}
|
|
16627
|
+
|
|
16628
|
+
/* ── 10. Icon & content layout ───────────────────────────────────────────── */
|
|
16629
|
+
/* The leading icon renders unwrapped as the button's direct `.anticon` child (see NativeButton.tsx),
|
|
16630
|
+
* so `> .anticon` targets only a real icon glyph — a non-glyph `icon` (e.g. a Spinner) keeps its own
|
|
16631
|
+
* sizing — and out-specifies AntD's runtime-injected global `.anticon` rule. */
|
|
16632
|
+
.db-btn > .anticon,
|
|
16633
|
+
.db-btn-end-icon,
|
|
16634
|
+
.db-btn-end-icon > .anticon {
|
|
16635
|
+
display: inline-flex;
|
|
16636
|
+
align-items: center;
|
|
16637
|
+
font-size: var(--db-btn-icon-size) !important;
|
|
16638
|
+
line-height: 0;
|
|
16639
|
+
}
|
|
16640
|
+
.db-btn-small > .anticon .anticon {
|
|
16641
|
+
line-height: 0;
|
|
16642
|
+
}
|
|
16643
|
+
.db-btn > .db-btn-content > .anticon {
|
|
16644
|
+
display: inline-flex;
|
|
16645
|
+
align-items: center;
|
|
16646
|
+
line-height: 0;
|
|
16647
|
+
}
|
|
16648
|
+
.db-btn-content {
|
|
16649
|
+
display: inline-flex;
|
|
16650
|
+
align-items: center;
|
|
16651
|
+
}
|
|
16652
|
+
.db-btn > .anticon + .db-btn-content {
|
|
16653
|
+
margin-inline-start: var(--db-btn-gap) !important;
|
|
16654
|
+
}
|
|
16655
|
+
.db-btn-end-icon {
|
|
16656
|
+
margin-inline-start: var(--db-btn-end-icon-gap) !important;
|
|
16657
|
+
}
|
|
16658
|
+
.db-btn-small .db-btn-end-icon {
|
|
16659
|
+
margin-inline-start: var(--db-btn-end-icon-gap-small) !important;
|
|
16660
|
+
}
|
|
16661
|
+
.db-btn-default:not(.db-btn-danger, [href], :hover, :active, :disabled) > .anticon {
|
|
16662
|
+
color: var(--db-btn-icon-glyph);
|
|
16663
|
+
}
|
|
16664
|
+
.db-btn-default[href]:not(.db-btn-danger, :hover, :active, :disabled) .db-btn-end-icon {
|
|
16665
|
+
color: var(--db-btn-icon-glyph);
|
|
16666
|
+
}
|
|
16667
|
+
.db-btn-default:not([href], .db-btn-danger, :hover, :active, :disabled)
|
|
16668
|
+
> .db-btn-content
|
|
16669
|
+
> .db-btn-end-icon
|
|
16670
|
+
> .anticon {
|
|
16671
|
+
color: var(--db-btn-icon-glyph);
|
|
16672
|
+
}
|
|
16673
|
+
|
|
16674
|
+
/* ── 11. Loading ─────────────────────────────────────────────────────────── */
|
|
16675
|
+
.db-btn-loading {
|
|
16676
|
+
cursor: default;
|
|
16677
|
+
}
|
|
16678
|
+
.db-btn-force-icon.db-btn-loading:disabled {
|
|
16679
|
+
border-color: transparent !important;
|
|
16680
|
+
}
|
|
16681
|
+
.db-btn-spinner {
|
|
16682
|
+
color: inherit !important;
|
|
16683
|
+
pointer-events: none;
|
|
16684
|
+
}
|
|
16685
|
+
.db-btn-loading-with-icon .db-btn-content {
|
|
16686
|
+
padding-inline-start: calc(var(--db-btn-icon-size) + var(--db-btn-gap));
|
|
16687
|
+
}
|
|
16688
|
+
.db-btn-loading .db-btn-spinner {
|
|
16689
|
+
position: absolute;
|
|
16690
|
+
left: 50%;
|
|
16691
|
+
top: 50%;
|
|
16692
|
+
transform: translate(-50%, -50%);
|
|
16693
|
+
}
|
|
16694
|
+
.db-btn-loading.db-btn-icon-only .db-btn-spinner {
|
|
16695
|
+
position: static;
|
|
16696
|
+
transform: none;
|
|
16697
|
+
}
|
|
16698
|
+
|
|
16699
|
+
/* ── 12. dangerouslySetForceIconStyles ───────────────────────────────────── */
|
|
16700
|
+
.db-btn-force-icon {
|
|
16701
|
+
width: var(--db-btn-height) !important;
|
|
16702
|
+
color: var(--db-btn-icon-glyph) !important;
|
|
16703
|
+
}
|
|
16704
|
+
.db-btn-force-icon.db-btn-small {
|
|
16705
|
+
width: var(--db-btn-height-small) !important;
|
|
16706
|
+
}
|
|
16707
|
+
|
|
16708
|
+
|
|
16209
16709
|
:where(:root), :where(.du-bois-light) {
|
|
16210
16710
|
/* Shape */
|
|
16211
16711
|
--db-checkbox-border-radius: var(--db-selection-toggle-border-radius);
|
|
@@ -16214,15 +16714,15 @@ span.du-bois-light-typography-ellipsis-single-line {
|
|
|
16214
16714
|
/* Color */
|
|
16215
16715
|
--db-checkbox-surface: var(--db-selection-toggle-surface);
|
|
16216
16716
|
--db-checkbox-surface-hover: var(--db-color-action-default-background-hover);
|
|
16217
|
-
--db-checkbox-surface-
|
|
16717
|
+
--db-checkbox-surface-active: var(--db-color-action-default-background-press);
|
|
16218
16718
|
--db-checkbox-surface-checked: var(--db-selection-toggle-surface-checked);
|
|
16219
16719
|
--db-checkbox-surface-checked-hover: var(--db-selection-toggle-surface-checked-hover);
|
|
16220
|
-
--db-checkbox-surface-checked-
|
|
16720
|
+
--db-checkbox-surface-checked-active: var(--db-selection-toggle-surface-checked-active);
|
|
16221
16721
|
--db-checkbox-surface-disabled: var(--db-selection-toggle-surface-disabled);
|
|
16222
16722
|
|
|
16223
16723
|
--db-checkbox-border: var(--db-color-action-default-border-default);
|
|
16224
16724
|
--db-checkbox-border-hover: var(--db-selection-toggle-border-hover);
|
|
16225
|
-
--db-checkbox-border-
|
|
16725
|
+
--db-checkbox-border-active: var(--db-selection-toggle-border-active);
|
|
16226
16726
|
--db-checkbox-focus-ring: var(--db-focus-ring-color);
|
|
16227
16727
|
--db-checkbox-border-disabled: var(--db-color-action-disabled-border);
|
|
16228
16728
|
|
|
@@ -16237,8 +16737,8 @@ span.du-bois-light-typography-ellipsis-single-line {
|
|
|
16237
16737
|
--db-checkbox-size: var(--db-selection-toggle-size);
|
|
16238
16738
|
--db-checkbox-label-spacing: var(--db-selection-toggle-label-spacing);
|
|
16239
16739
|
--db-checkbox-focus-ring-width: var(--db-focus-ring-width);
|
|
16240
|
-
--db-checkbox-indeterminate-mark-width: var(--db-size-
|
|
16241
|
-
--db-checkbox-indeterminate-mark-height: calc(var(--db-size-
|
|
16740
|
+
--db-checkbox-indeterminate-mark-width: var(--db-size-2); /* 8px */
|
|
16741
|
+
--db-checkbox-indeterminate-mark-height: calc(var(--db-size-1) * 0.75); /* 3px */
|
|
16242
16742
|
|
|
16243
16743
|
/* Motion */
|
|
16244
16744
|
--db-checkbox-transition-duration: var(--db-selection-toggle-transition-duration);
|
|
@@ -16298,8 +16798,8 @@ span.du-bois-light-typography-ellipsis-single-line {
|
|
|
16298
16798
|
}
|
|
16299
16799
|
|
|
16300
16800
|
.db-checkbox:active:has(.db-checkbox-input:not(:disabled, :checked, :indeterminate)) .db-checkbox-indicator {
|
|
16301
|
-
background-color: var(--db-checkbox-surface-
|
|
16302
|
-
border-color: var(--db-checkbox-border-
|
|
16801
|
+
background-color: var(--db-checkbox-surface-active);
|
|
16802
|
+
border-color: var(--db-checkbox-border-active);
|
|
16303
16803
|
}
|
|
16304
16804
|
|
|
16305
16805
|
/* Selected fill — checked and indeterminate share the same surface. */
|
|
@@ -16314,8 +16814,8 @@ span.du-bois-light-typography-ellipsis-single-line {
|
|
|
16314
16814
|
}
|
|
16315
16815
|
|
|
16316
16816
|
.db-checkbox:active:has(.db-checkbox-input:is(:checked, :indeterminate):not(:disabled)) .db-checkbox-indicator {
|
|
16317
|
-
background-color: var(--db-checkbox-surface-checked-
|
|
16318
|
-
border-color: var(--db-checkbox-surface-checked-
|
|
16817
|
+
background-color: var(--db-checkbox-surface-checked-active);
|
|
16818
|
+
border-color: var(--db-checkbox-surface-checked-active);
|
|
16319
16819
|
}
|
|
16320
16820
|
|
|
16321
16821
|
/* Mark visibility. */
|
|
@@ -16465,18 +16965,20 @@ span.du-bois-light-typography-ellipsis-single-line {
|
|
|
16465
16965
|
.db-checkbox.db-checkbox + .du-bois-dark-form-message,
|
|
16466
16966
|
.db-checkbox.db-checkbox + .du-bois-light-hint + .du-bois-light-form-message,
|
|
16467
16967
|
.db-checkbox.db-checkbox + .du-bois-dark-hint + .du-bois-dark-form-message {
|
|
16468
|
-
padding-left: var(--db-
|
|
16968
|
+
padding-left: var(--db-space-6);
|
|
16469
16969
|
margin-top: 0;
|
|
16470
16970
|
}
|
|
16471
16971
|
|
|
16472
16972
|
/* Group spacing against sibling form text — 8px gap above the group when it
|
|
16473
|
-
* follows a Hint, 8px gap above a FormMessage when it follows the group.
|
|
16973
|
+
* follows a Label or Hint, 8px gap above a FormMessage when it follows the group.
|
|
16474
16974
|
* Doubled class on the group side beats FormMessage's `&&` for the same reason. */
|
|
16975
|
+
.du-bois-light-label + .db-checkbox-group.db-checkbox-group,
|
|
16976
|
+
.du-bois-dark-label + .db-checkbox-group.db-checkbox-group,
|
|
16475
16977
|
.du-bois-light-hint + .db-checkbox-group.db-checkbox-group,
|
|
16476
16978
|
.du-bois-dark-hint + .db-checkbox-group.db-checkbox-group,
|
|
16477
16979
|
.db-checkbox-group.db-checkbox-group + .du-bois-light-form-message,
|
|
16478
16980
|
.db-checkbox-group.db-checkbox-group + .du-bois-dark-form-message {
|
|
16479
|
-
margin-top: var(--db-
|
|
16981
|
+
margin-top: var(--db-space-2);
|
|
16480
16982
|
}
|
|
16481
16983
|
|
|
16482
16984
|
/* CheckboxGroup layout. Vertical delegates to the `.db-stack` primitive; the
|
|
@@ -16501,6 +17003,228 @@ span.du-bois-light-typography-ellipsis-single-line {
|
|
|
16501
17003
|
--db-stack-gap: var(--db-checkbox-label-spacing);
|
|
16502
17004
|
}
|
|
16503
17005
|
|
|
17006
|
+
|
|
17007
|
+
|
|
17008
|
+
:where(:root), :where(.du-bois-light) {
|
|
17009
|
+
/* Density */
|
|
17010
|
+
--db-drawer-padding-horizontal: var(--db-space-6);
|
|
17011
|
+
--db-drawer-padding-horizontal-small: var(--db-space-4);
|
|
17012
|
+
--db-drawer-content-padding-top: var(--db-space-4);
|
|
17013
|
+
--db-drawer-content-padding-top-small: var(--db-space-2);
|
|
17014
|
+
--db-drawer-footer-padding-top: var(--db-space-4);
|
|
17015
|
+
--db-drawer-footer-padding-bottom: var(--db-space-6);
|
|
17016
|
+
--db-drawer-footer-padding-bottom-small: var(--db-space-4);
|
|
17017
|
+
--db-drawer-title-margin-bottom: var(--db-space-2);
|
|
17018
|
+
--db-drawer-close-button-margin: var(--db-space-1);
|
|
17019
|
+
|
|
17020
|
+
/* Color */
|
|
17021
|
+
--db-drawer-surface: var(--db-surface-base);
|
|
17022
|
+
--db-drawer-text: var(--db-text-base);
|
|
17023
|
+
--db-drawer-border: var(--db-border-base);
|
|
17024
|
+
/* No v2 token holds the drawer scrim yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17025
|
+
--db-drawer-overlay: var(--db-color-overlay-overlay);
|
|
17026
|
+
}
|
|
17027
|
+
|
|
17028
|
+
:where(:root), :where(.du-bois-light) {
|
|
17029
|
+
/* Elevation */
|
|
17030
|
+
--db-drawer-shadow: var(--db-elevation-high);
|
|
17031
|
+
}
|
|
17032
|
+
|
|
17033
|
+
|
|
17034
|
+
|
|
17035
|
+
|
|
17036
|
+
|
|
17037
|
+
|
|
17038
|
+
|
|
17039
|
+
|
|
17040
|
+
|
|
17041
|
+
|
|
17042
|
+
/* Component tokens for the native Icon. */
|
|
17043
|
+
:where(:root),
|
|
17044
|
+
:where(.du-bois-light) {
|
|
17045
|
+
--db-icon-size: var(--db-font-size-xl);
|
|
17046
|
+
--db-icon-color-danger: var(--db-color-text-validation-danger);
|
|
17047
|
+
--db-icon-color-warning: var(--db-color-text-validation-warning);
|
|
17048
|
+
--db-icon-color-success: var(--db-color-text-validation-success);
|
|
17049
|
+
--db-icon-ai-gradient-start: var(--db-ai-gradient-start);
|
|
17050
|
+
--db-icon-ai-gradient-mid: var(--db-ai-gradient-mid);
|
|
17051
|
+
--db-icon-ai-gradient-end: var(--db-ai-gradient-end);
|
|
17052
|
+
}
|
|
17053
|
+
|
|
17054
|
+
/* Native Icon styles. Ships through mortar.css and reads only component-tier --db-icon-* tokens.
|
|
17055
|
+
* Icon size is driven solely by the `--db-icon-size` design token: to resize an icon, set that
|
|
17056
|
+
* token in scope (default 16px in tokens.css) rather than overriding `font-size`. */
|
|
17057
|
+
.db-icon {
|
|
17058
|
+
display: inline-block;
|
|
17059
|
+
color: inherit;
|
|
17060
|
+
font-style: normal;
|
|
17061
|
+
font-size: var(--db-icon-size);
|
|
17062
|
+
line-height: 0;
|
|
17063
|
+
text-align: center;
|
|
17064
|
+
text-transform: none;
|
|
17065
|
+
vertical-align: -0.125em;
|
|
17066
|
+
text-rendering: optimizelegibility;
|
|
17067
|
+
-webkit-font-smoothing: antialiased;
|
|
17068
|
+
-moz-osx-font-smoothing: grayscale;
|
|
17069
|
+
}
|
|
17070
|
+
|
|
17071
|
+
.db-icon svg {
|
|
17072
|
+
display: inline-block;
|
|
17073
|
+
line-height: 1;
|
|
17074
|
+
}
|
|
17075
|
+
|
|
17076
|
+
/* TODO: remove once clickable-icon callsites are gone. Kept for backwards compatibility with the
|
|
17077
|
+
* AntD icon, which made icons clickable via onClick; some callsites still rely on it. Actual icons
|
|
17078
|
+
* should never carry a tabindex — a clickable icon belongs inside a button. */
|
|
17079
|
+
.db-icon[tabindex] {
|
|
17080
|
+
cursor: pointer;
|
|
17081
|
+
}
|
|
17082
|
+
|
|
17083
|
+
/* Semantic colors set `color` only; the SVG glyph paints its `fill`/`stroke` from `currentColor`,
|
|
17084
|
+
* so setting the text color recolors the icon. */
|
|
17085
|
+
.db-icon-danger {
|
|
17086
|
+
color: var(--db-icon-color-danger);
|
|
17087
|
+
}
|
|
17088
|
+
|
|
17089
|
+
.db-icon-warning {
|
|
17090
|
+
color: var(--db-icon-color-warning);
|
|
17091
|
+
}
|
|
17092
|
+
|
|
17093
|
+
.db-icon-success {
|
|
17094
|
+
color: var(--db-icon-color-success);
|
|
17095
|
+
}
|
|
17096
|
+
|
|
17097
|
+
.db-icon-ai svg * {
|
|
17098
|
+
fill: var(--db-icon-gradient);
|
|
17099
|
+
}
|
|
17100
|
+
|
|
17101
|
+
.db-icon-ai-gradient-start {
|
|
17102
|
+
stop-color: var(--db-icon-ai-gradient-start);
|
|
17103
|
+
}
|
|
17104
|
+
|
|
17105
|
+
.db-icon-ai-gradient-mid {
|
|
17106
|
+
stop-color: var(--db-icon-ai-gradient-mid);
|
|
17107
|
+
}
|
|
17108
|
+
|
|
17109
|
+
.db-icon-ai-gradient-end {
|
|
17110
|
+
stop-color: var(--db-icon-ai-gradient-end);
|
|
17111
|
+
}
|
|
17112
|
+
|
|
17113
|
+
.db-icon-gradient-definitions {
|
|
17114
|
+
position: absolute;
|
|
17115
|
+
width: 1px;
|
|
17116
|
+
height: 1px;
|
|
17117
|
+
padding: 0;
|
|
17118
|
+
margin: -1px;
|
|
17119
|
+
overflow: hidden;
|
|
17120
|
+
clip: rect(0, 0, 0, 0);
|
|
17121
|
+
white-space: nowrap;
|
|
17122
|
+
border: 0;
|
|
17123
|
+
}
|
|
17124
|
+
|
|
17125
|
+
.db-icon-spin {
|
|
17126
|
+
display: inline-block;
|
|
17127
|
+
animation: db-icon-loading-circle 1s infinite linear;
|
|
17128
|
+
}
|
|
17129
|
+
|
|
17130
|
+
@keyframes db-icon-loading-circle {
|
|
17131
|
+
100% {
|
|
17132
|
+
transform: rotate(360deg);
|
|
17133
|
+
}
|
|
17134
|
+
}
|
|
17135
|
+
|
|
17136
|
+
@media (prefers-reduced-motion: reduce) {
|
|
17137
|
+
.db-icon-spin {
|
|
17138
|
+
animation: none;
|
|
17139
|
+
}
|
|
17140
|
+
}
|
|
17141
|
+
|
|
17142
|
+
|
|
17143
|
+
|
|
17144
|
+
|
|
17145
|
+
:where(:root), :where(.du-bois-light) {
|
|
17146
|
+
/* Shape */
|
|
17147
|
+
/* Must not scale with density; no non-scaling system token holds it. TODO(FEINF-6505): adopt a v2 system token when one is added. */
|
|
17148
|
+
--db-navigation-menu-indicator-thickness: 4px;
|
|
17149
|
+
/* No system token holds this control-specific inset. TODO(FEINF-6505): adopt a v2 system token when one is added. */
|
|
17150
|
+
--db-navigation-menu-focus-ring-offset: -1px;
|
|
17151
|
+
|
|
17152
|
+
/* Color */
|
|
17153
|
+
--db-navigation-menu-indicator: var(--db-accent-surface);
|
|
17154
|
+
--db-navigation-menu-focus-ring: var(--db-focus-ring-color);
|
|
17155
|
+
--db-navigation-menu-text: var(--db-text-subtle);
|
|
17156
|
+
--db-navigation-menu-text-selected: var(--db-text-base);
|
|
17157
|
+
/* No v2 semantic for default-action link text yet; bridges on the v1 --db-color-* token. */
|
|
17158
|
+
--db-navigation-menu-text-hover: var(--db-color-action-default-text-hover);
|
|
17159
|
+
--db-navigation-menu-text-active: var(--db-color-action-default-text-press);
|
|
17160
|
+
|
|
17161
|
+
/* Density */
|
|
17162
|
+
--db-navigation-menu-item-height: var(--db-size-8);
|
|
17163
|
+
--db-navigation-menu-item-min-width: var(--db-size-6);
|
|
17164
|
+
--db-navigation-menu-link-padding-top: var(--db-space-1);
|
|
17165
|
+
--db-navigation-menu-link-padding-bottom: var(--db-space-2);
|
|
17166
|
+
--db-navigation-menu-focus-ring-width: var(--db-focus-ring-width);
|
|
17167
|
+
}
|
|
17168
|
+
|
|
17169
|
+
|
|
17170
|
+
:where(:root), :where(.du-bois-light) {
|
|
17171
|
+
/* Color */
|
|
17172
|
+
/* No v2 token holds tertiary action-text states yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17173
|
+
--db-overflow-trigger-text: var(--db-color-action-tertiary-text-default);
|
|
17174
|
+
--db-overflow-trigger-text-hover: var(--db-color-action-tertiary-text-hover);
|
|
17175
|
+
--db-overflow-trigger-text-press: var(--db-color-action-tertiary-text-press);
|
|
17176
|
+
|
|
17177
|
+
/* Density */
|
|
17178
|
+
--db-overflow-spacing: var(--db-space-2);
|
|
17179
|
+
--db-overflow-menu-spacing: var(--db-space-1);
|
|
17180
|
+
}
|
|
17181
|
+
|
|
17182
|
+
|
|
17183
|
+
|
|
17184
|
+
/* Popover is a neutral-card member of the popup family: surface, text, border, and radius come
|
|
17185
|
+
* from --db-popup-*. Link, focus, and spacing are popover-specific and reference system tokens
|
|
17186
|
+
* directly. The popup elevation scale is light-only, so the dark shadow is re-declared below. */
|
|
17187
|
+
|
|
17188
|
+
:where(:root), :where(.du-bois-light) {
|
|
17189
|
+
/* Shape */
|
|
17190
|
+
--db-popover-border-radius: var(--db-popup-border-radius);
|
|
17191
|
+
|
|
17192
|
+
/* Color */
|
|
17193
|
+
--db-popover-surface: var(--db-popup-surface);
|
|
17194
|
+
--db-popover-text: var(--db-popup-text);
|
|
17195
|
+
--db-popover-border: var(--db-popup-border);
|
|
17196
|
+
/* No v2 token holds the tertiary link text yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17197
|
+
--db-popover-link-text: var(--db-color-action-tertiary-text-default);
|
|
17198
|
+
--db-popover-link-text-hover: var(--db-color-action-tertiary-text-hover);
|
|
17199
|
+
--db-popover-focus-ring: var(--db-focus-ring-color);
|
|
17200
|
+
|
|
17201
|
+
/* Density */
|
|
17202
|
+
--db-popover-spacing: var(--db-space-2);
|
|
17203
|
+
--db-popover-focus-ring-width: var(--db-focus-ring-width);
|
|
17204
|
+
|
|
17205
|
+
/* Elevation */
|
|
17206
|
+
--db-popover-shadow: var(--db-popup-elevation);
|
|
17207
|
+
}
|
|
17208
|
+
|
|
17209
|
+
|
|
17210
|
+
/* Declared under the theme classes too (not just :root) so the var() chain re-resolves inside a
|
|
17211
|
+
* `.du-bois-dark` subtree instead of freezing at the light values. */
|
|
17212
|
+
:where(:root), :where(.du-bois-light) {
|
|
17213
|
+
/* Shape */
|
|
17214
|
+
--db-progress-border-radius: var(--db-shape-pill);
|
|
17215
|
+
|
|
17216
|
+
/* Color */
|
|
17217
|
+
--db-progress-track: var(--db-color-progress-track);
|
|
17218
|
+
--db-progress-fill: var(--db-color-progress-fill);
|
|
17219
|
+
|
|
17220
|
+
/* Density */
|
|
17221
|
+
--db-progress-size: var(--db-size-2);
|
|
17222
|
+
|
|
17223
|
+
/* Motion */
|
|
17224
|
+
/* No v2 motion token holds this duration. TODO(FEINF-6505): adopt a v2 motion token when one is added. */
|
|
17225
|
+
--db-progress-transition-duration: 300ms;
|
|
17226
|
+
}
|
|
17227
|
+
|
|
16504
17228
|
:where(:root), :where(.du-bois-light) {
|
|
16505
17229
|
/* Shape */
|
|
16506
17230
|
--db-radio-border-radius: var(--db-radius-full);
|
|
@@ -16509,19 +17233,19 @@ span.du-bois-light-typography-ellipsis-single-line {
|
|
|
16509
17233
|
/* Color */
|
|
16510
17234
|
--db-radio-surface: var(--db-selection-toggle-surface);
|
|
16511
17235
|
--db-radio-surface-hover: var(--db-color-action-default-background-hover);
|
|
16512
|
-
--db-radio-surface-
|
|
17236
|
+
--db-radio-surface-active: var(--db-color-action-default-background-press);
|
|
16513
17237
|
--db-radio-surface-checked: var(--db-selection-toggle-surface-checked);
|
|
16514
17238
|
--db-radio-surface-checked-hover: var(--db-selection-toggle-surface-checked-hover);
|
|
16515
|
-
--db-radio-surface-checked-
|
|
17239
|
+
--db-radio-surface-checked-active: var(--db-color-action-default-background-press);
|
|
16516
17240
|
--db-radio-surface-disabled: var(--db-selection-toggle-surface-disabled);
|
|
16517
17241
|
|
|
16518
17242
|
--db-radio-border: var(--db-color-action-default-border-default);
|
|
16519
17243
|
--db-radio-border-hover: var(--db-selection-toggle-border-hover);
|
|
16520
|
-
--db-radio-border-
|
|
17244
|
+
--db-radio-border-active: var(--db-selection-toggle-border-active);
|
|
16521
17245
|
--db-radio-border-focus: var(--db-focus-ring-color);
|
|
16522
17246
|
--db-radio-border-disabled: var(--db-color-action-disabled-border);
|
|
16523
|
-
--db-radio-border-checked-hover: var(--db-selection-toggle-border-
|
|
16524
|
-
--db-radio-border-checked-
|
|
17247
|
+
--db-radio-border-checked-hover: var(--db-selection-toggle-border-active);
|
|
17248
|
+
--db-radio-border-checked-active: var(--db-color-action-default-border-press);
|
|
16525
17249
|
--db-radio-border-unchecked-focus: var(--db-color-action-primary-background-default);
|
|
16526
17250
|
--db-radio-outline-checked-focus: var(--db-color-action-primary-background-default);
|
|
16527
17251
|
|
|
@@ -16533,7 +17257,7 @@ span.du-bois-light-typography-ellipsis-single-line {
|
|
|
16533
17257
|
/* Density */
|
|
16534
17258
|
--db-radio-size: var(--db-selection-toggle-size);
|
|
16535
17259
|
--db-radio-label-spacing: var(--db-selection-toggle-label-spacing);
|
|
16536
|
-
--db-radio-mark-size: var(--db-size-
|
|
17260
|
+
--db-radio-mark-size: var(--db-size-1);
|
|
16537
17261
|
|
|
16538
17262
|
/* Motion */
|
|
16539
17263
|
--db-radio-transition-duration: var(--db-selection-toggle-transition-duration);
|
|
@@ -16584,8 +17308,8 @@ span.du-bois-light-typography-ellipsis-single-line {
|
|
|
16584
17308
|
}
|
|
16585
17309
|
|
|
16586
17310
|
.db-radio:active:has(input:not(:disabled, :checked)) .db-radio-indicator {
|
|
16587
|
-
background-color: var(--db-radio-surface-
|
|
16588
|
-
border-color: var(--db-radio-border-
|
|
17311
|
+
background-color: var(--db-radio-surface-active);
|
|
17312
|
+
border-color: var(--db-radio-border-active);
|
|
16589
17313
|
}
|
|
16590
17314
|
|
|
16591
17315
|
/* Selected fill. */
|
|
@@ -16604,8 +17328,8 @@ span.du-bois-light-typography-ellipsis-single-line {
|
|
|
16604
17328
|
/* AntD getRadioInputStyles checked active: background = actionDefaultBackgroundPress,
|
|
16605
17329
|
* borderColor = actionDefaultBorderPress (two-tone, not flat). */
|
|
16606
17330
|
.db-radio:active:has(input:checked:not(:disabled)) .db-radio-indicator {
|
|
16607
|
-
background-color: var(--db-radio-surface-checked-
|
|
16608
|
-
border-color: var(--db-radio-border-checked-
|
|
17331
|
+
background-color: var(--db-radio-surface-checked-active);
|
|
17332
|
+
border-color: var(--db-radio-border-checked-active);
|
|
16609
17333
|
}
|
|
16610
17334
|
|
|
16611
17335
|
/* Dot visibility. */
|
|
@@ -16733,7 +17457,7 @@ span.du-bois-light-typography-ellipsis-single-line {
|
|
|
16733
17457
|
.db-radio.db-radio + .du-bois-dark-form-message,
|
|
16734
17458
|
.db-radio.db-radio + .du-bois-light-hint + .du-bois-light-form-message,
|
|
16735
17459
|
.db-radio.db-radio + .du-bois-dark-hint + .du-bois-dark-form-message {
|
|
16736
|
-
padding-inline-start: var(--db-
|
|
17460
|
+
padding-inline-start: var(--db-space-6);
|
|
16737
17461
|
margin-top: 0;
|
|
16738
17462
|
}
|
|
16739
17463
|
|
|
@@ -16749,8 +17473,8 @@ span.du-bois-light-typography-ellipsis-single-line {
|
|
|
16749
17473
|
.db-radio-group.db-stack > .db-radio.db-radio + .du-bois-dark-form-message,
|
|
16750
17474
|
.db-radio-group.db-stack > .db-radio.db-radio + .du-bois-light-hint + .du-bois-light-form-message,
|
|
16751
17475
|
.db-radio-group.db-stack > .db-radio.db-radio + .du-bois-dark-hint + .du-bois-dark-form-message {
|
|
16752
|
-
margin-top: calc(-1 * var(--db-
|
|
16753
|
-
margin-bottom: var(--db-
|
|
17476
|
+
margin-top: calc(-1 * var(--db-space-2));
|
|
17477
|
+
margin-bottom: var(--db-space-2);
|
|
16754
17478
|
}
|
|
16755
17479
|
|
|
16756
17480
|
/* AntD `& > label:last-of-type + hint { marginTop: 0 }`: the last radio has no
|
|
@@ -16764,11 +17488,13 @@ span.du-bois-light-typography-ellipsis-single-line {
|
|
|
16764
17488
|
margin-top: 0;
|
|
16765
17489
|
}
|
|
16766
17490
|
|
|
17491
|
+
.du-bois-light-label + .db-radio-group.db-radio-group,
|
|
17492
|
+
.du-bois-dark-label + .db-radio-group.db-radio-group,
|
|
16767
17493
|
.du-bois-light-hint + .db-radio-group.db-radio-group,
|
|
16768
17494
|
.du-bois-dark-hint + .db-radio-group.db-radio-group,
|
|
16769
17495
|
.db-radio-group.db-radio-group + .du-bois-light-form-message,
|
|
16770
17496
|
.db-radio-group.db-radio-group + .du-bois-dark-form-message {
|
|
16771
|
-
margin-top: var(--db-
|
|
17497
|
+
margin-top: var(--db-space-2);
|
|
16772
17498
|
}
|
|
16773
17499
|
|
|
16774
17500
|
/* RadioGroup layout. Vertical (the default) delegates flex-direction to the
|
|
@@ -16789,7 +17515,7 @@ span.du-bois-light-typography-ellipsis-single-line {
|
|
|
16789
17515
|
|
|
16790
17516
|
/* AntD `& > label { paddingBottom: sm }`. */
|
|
16791
17517
|
.db-radio-group.db-stack > .db-radio {
|
|
16792
|
-
padding-bottom: var(--db-
|
|
17518
|
+
padding-bottom: var(--db-space-2);
|
|
16793
17519
|
}
|
|
16794
17520
|
|
|
16795
17521
|
/* AntD `& > label:last-of-type { paddingBottom: 0 }`. */
|
|
@@ -16805,7 +17531,7 @@ span.du-bois-light-typography-ellipsis-single-line {
|
|
|
16805
17531
|
.db-radio-group.db-stack > .du-bois-light-radio-tile + .du-bois-dark-radio-tile,
|
|
16806
17532
|
.db-radio-group.db-stack > .du-bois-dark-radio-tile + .du-bois-light-radio-tile,
|
|
16807
17533
|
.db-radio-group.db-stack > .du-bois-dark-radio-tile + .du-bois-dark-radio-tile {
|
|
16808
|
-
margin-top: var(--db-
|
|
17534
|
+
margin-top: var(--db-space-4);
|
|
16809
17535
|
}
|
|
16810
17536
|
|
|
16811
17537
|
/* Horizontal: AntD `getHorizontalRadioGroupStyles` is a TWO-ROW grid (NOT a flex
|
|
@@ -16818,7 +17544,7 @@ span.du-bois-light-typography-ellipsis-single-line {
|
|
|
16818
17544
|
display: grid;
|
|
16819
17545
|
grid-template-rows: [label] auto [hint] auto;
|
|
16820
17546
|
grid-auto-columns: max-content;
|
|
16821
|
-
column-gap: var(--db-
|
|
17547
|
+
column-gap: var(--db-space-4);
|
|
16822
17548
|
}
|
|
16823
17549
|
|
|
16824
17550
|
/* Equal column widths: AntD `gridAutoColumns: minmax(0, 1fr)`. */
|
|
@@ -16851,16 +17577,85 @@ span.du-bois-light-typography-ellipsis-single-line {
|
|
|
16851
17577
|
* the group itself gets a top margin (room above the two-row grid). */
|
|
16852
17578
|
.db-radio-group--horizontal:has(> .du-bois-light-hint),
|
|
16853
17579
|
.db-radio-group--horizontal:has(> .du-bois-dark-hint) {
|
|
16854
|
-
margin-top: var(--db-
|
|
17580
|
+
margin-top: var(--db-space-2);
|
|
16855
17581
|
}
|
|
16856
17582
|
|
|
16857
17583
|
/* AntD `&& + form-message { marginTop: sm }` (horizontal): a form-message following
|
|
16858
17584
|
* the whole group is separated by sm. */
|
|
16859
17585
|
.db-radio-group--horizontal + .du-bois-light-form-message,
|
|
16860
17586
|
.db-radio-group--horizontal + .du-bois-dark-form-message {
|
|
16861
|
-
margin-top: var(--db-
|
|
17587
|
+
margin-top: var(--db-space-2);
|
|
17588
|
+
}
|
|
17589
|
+
|
|
17590
|
+
|
|
17591
|
+
|
|
17592
|
+
|
|
17593
|
+
|
|
17594
|
+
:where(:root), :where(.du-bois-light) {
|
|
17595
|
+
/* Shape */
|
|
17596
|
+
--db-slider-border-radius: var(--db-shape-pill);
|
|
17597
|
+
|
|
17598
|
+
/* Color */
|
|
17599
|
+
/* No v2 token holds the track + disabled-range surface yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17600
|
+
--db-slider-track-surface: #e8ecf0;
|
|
17601
|
+
--db-slider-range-surface-disabled: #e8ecf0;
|
|
17602
|
+
/* No v2 token holds the range fill yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17603
|
+
--db-slider-range-surface: #2272b4;
|
|
17604
|
+
|
|
17605
|
+
--db-slider-thumb-surface: var(--db-accent-surface);
|
|
17606
|
+
--db-slider-thumb-surface-hover: var(--db-accent-surface-hover);
|
|
17607
|
+
--db-slider-thumb-surface-press: var(--db-accent-surface-active);
|
|
17608
|
+
/* No v2 token holds the disabled thumb yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17609
|
+
--db-slider-thumb-surface-disabled: #d1d9e1;
|
|
17610
|
+
|
|
17611
|
+
/* Density */
|
|
17612
|
+
--db-slider-size: var(--db-size-5); /* 20px */
|
|
17613
|
+
--db-slider-thumb-size: var(--db-size-5); /* 20px */
|
|
17614
|
+
--db-slider-track-thickness: calc(var(--db-size-1) * 0.75); /* 3px */
|
|
17615
|
+
}
|
|
17616
|
+
|
|
17617
|
+
:where(:root), :where(.du-bois-light) {
|
|
17618
|
+
/* Shape */
|
|
17619
|
+
/* TODO(FEINF-6505): adopt --db-shape-container-* once a 4px container radius exists; kept on --db-radius-sm to preserve 4px. */
|
|
17620
|
+
--db-snackbar-border-radius: var(--db-radius-sm);
|
|
17621
|
+
|
|
17622
|
+
/* Density */
|
|
17623
|
+
--db-snackbar-spacing-vertical: var(--db-space-3);
|
|
17624
|
+
--db-snackbar-spacing-horizontal: var(--db-space-4);
|
|
17625
|
+
--db-snackbar-close-button-spacing: var(--db-space-2);
|
|
17626
|
+
|
|
17627
|
+
/* Color */
|
|
17628
|
+
/* No v1/v2 system token holds this theme-invariant white. TODO(FEINF-6505): adopt a v2 system token when one is added. */
|
|
17629
|
+
--db-snackbar-text: #ffffff;
|
|
17630
|
+
/* No v1/v2 system token holds these theme-invariant close-icon colors. TODO(FEINF-6505): adopt a v2 system token when one is added. */
|
|
17631
|
+
--db-snackbar-close-icon: #e8ecf0;
|
|
17632
|
+
--db-snackbar-close-icon-hover: #8acaff;
|
|
17633
|
+
--db-snackbar-close-icon-active: #bae1fc;
|
|
17634
|
+
}
|
|
17635
|
+
|
|
17636
|
+
:where(:root), :where(.du-bois-light) {
|
|
17637
|
+
/* Color */
|
|
17638
|
+
/* No v1/v2 system token holds this light/dark surface pair. TODO(FEINF-6505): adopt a v2 system token when one is added. */
|
|
17639
|
+
--db-snackbar-surface: #11171c;
|
|
17640
|
+
|
|
17641
|
+
/* Elevation */
|
|
17642
|
+
--db-snackbar-shadow: var(--db-elevation-med);
|
|
17643
|
+
}
|
|
17644
|
+
|
|
17645
|
+
/* Spacer's height is a spacing step. The size prop (xs/sm/mid/md/lg) selects one component token,
|
|
17646
|
+
* each aliasing the system space scale — theme-invariant, so a single block (no light/dark split). */
|
|
17647
|
+
|
|
17648
|
+
:where(:root), :where(.du-bois-light) {
|
|
17649
|
+
/* Density */
|
|
17650
|
+
--db-spacer-size-xs: var(--db-space-1); /* 4px */
|
|
17651
|
+
--db-spacer-size-sm: var(--db-space-2); /* 8px */
|
|
17652
|
+
--db-spacer-size-mid: var(--db-space-3); /* 12px */
|
|
17653
|
+
--db-spacer-size-md: var(--db-space-4); /* 16px */
|
|
17654
|
+
--db-spacer-size-lg: var(--db-space-6); /* 24px */
|
|
16862
17655
|
}
|
|
16863
17656
|
|
|
17657
|
+
|
|
17658
|
+
|
|
16864
17659
|
:where(:root), :where(.du-bois-light) {
|
|
16865
17660
|
/* Shape */
|
|
16866
17661
|
--db-switch-border-radius: var(--db-radius-full);
|
|
@@ -16869,20 +17664,20 @@ span.du-bois-light-typography-ellipsis-single-line {
|
|
|
16869
17664
|
/* Color */
|
|
16870
17665
|
--db-switch-surface: var(--db-selection-toggle-surface);
|
|
16871
17666
|
--db-switch-surface-hover: var(--db-color-action-default-background-hover);
|
|
16872
|
-
--db-switch-surface-
|
|
17667
|
+
--db-switch-surface-active: var(--db-color-action-default-background-press);
|
|
16873
17668
|
--db-switch-surface-checked: var(--db-selection-toggle-surface-checked);
|
|
16874
17669
|
--db-switch-surface-checked-hover: var(--db-selection-toggle-surface-checked-hover);
|
|
16875
|
-
--db-switch-surface-checked-
|
|
17670
|
+
--db-switch-surface-checked-active: var(--db-selection-toggle-surface-checked-active);
|
|
16876
17671
|
--db-switch-surface-disabled: var(--db-selection-toggle-surface-disabled);
|
|
16877
17672
|
--db-switch-surface-checked-disabled: var(--db-color-action-disabled-text);
|
|
16878
17673
|
|
|
16879
17674
|
--db-switch-border: var(--db-color-action-default-border-default);
|
|
16880
17675
|
--db-switch-border-hover: var(--db-selection-toggle-border-hover);
|
|
16881
|
-
--db-switch-border-
|
|
17676
|
+
--db-switch-border-active: var(--db-selection-toggle-border-active);
|
|
16882
17677
|
--db-switch-border-disabled: var(--db-color-action-disabled-border);
|
|
16883
17678
|
--db-switch-border-checked: var(--db-selection-toggle-surface-checked);
|
|
16884
17679
|
--db-switch-border-checked-hover: var(--db-selection-toggle-surface-checked-hover);
|
|
16885
|
-
--db-switch-border-checked-
|
|
17680
|
+
--db-switch-border-checked-active: var(--db-selection-toggle-surface-checked-active);
|
|
16886
17681
|
--db-switch-border-focus: var(--db-selection-toggle-surface-checked);
|
|
16887
17682
|
|
|
16888
17683
|
--db-switch-thumb: var(--db-selection-toggle-surface);
|
|
@@ -16891,8 +17686,8 @@ span.du-bois-light-typography-ellipsis-single-line {
|
|
|
16891
17686
|
--db-switch-text-disabled: var(--db-selection-toggle-text-disabled);
|
|
16892
17687
|
|
|
16893
17688
|
/* Density */
|
|
16894
|
-
--db-switch-track-width: calc(var(--db-size-
|
|
16895
|
-
--db-switch-track-height: var(--db-size-
|
|
17689
|
+
--db-switch-track-width: calc(var(--db-size-4) * 1.75); /* 28px */
|
|
17690
|
+
--db-switch-track-height: var(--db-size-4); /* 16px */
|
|
16896
17691
|
--db-switch-thumb-size: var(--db-switch-track-height);
|
|
16897
17692
|
--db-switch-label-spacing: var(--db-selection-toggle-label-spacing);
|
|
16898
17693
|
|
|
@@ -16958,8 +17753,8 @@ span.du-bois-light-typography-ellipsis-single-line {
|
|
|
16958
17753
|
}
|
|
16959
17754
|
|
|
16960
17755
|
.db-switch:active input:not(:disabled):not(:checked) {
|
|
16961
|
-
background-color: var(--db-switch-surface-
|
|
16962
|
-
border-color: var(--db-switch-border-
|
|
17756
|
+
background-color: var(--db-switch-surface-active);
|
|
17757
|
+
border-color: var(--db-switch-border-active);
|
|
16963
17758
|
}
|
|
16964
17759
|
|
|
16965
17760
|
.db-switch input:checked {
|
|
@@ -16973,8 +17768,8 @@ span.du-bois-light-typography-ellipsis-single-line {
|
|
|
16973
17768
|
}
|
|
16974
17769
|
|
|
16975
17770
|
.db-switch:active input:checked:not(:disabled) {
|
|
16976
|
-
background-color: var(--db-switch-surface-checked-
|
|
16977
|
-
border-color: var(--db-switch-border-checked-
|
|
17771
|
+
background-color: var(--db-switch-surface-checked-active);
|
|
17772
|
+
border-color: var(--db-switch-border-checked-active);
|
|
16978
17773
|
}
|
|
16979
17774
|
|
|
16980
17775
|
.db-switch input:checked::before {
|
|
@@ -17041,17 +17836,122 @@ span.du-bois-light-typography-ellipsis-single-line {
|
|
|
17041
17836
|
}
|
|
17042
17837
|
|
|
17043
17838
|
/* Indent a following hint/message past the track. The class is doubled to out-specify FormMessage's
|
|
17044
|
-
* own margin rule.
|
|
17045
|
-
|
|
17046
|
-
|
|
17839
|
+
* own margin rule. Each rule's key (rightmost) selector is a single class, not a multi-item :is(),
|
|
17840
|
+
* so Chromium can hash-reject it instead of attempting the match against every element on every
|
|
17841
|
+
* recalc (the leading/middle :is() groups aren't the key selector, so they're left as-is). */
|
|
17842
|
+
:is(.db-switch.db-switch, .db-switch-wrapper.db-switch-wrapper) + .du-bois-light-hint, :is(.db-switch.db-switch, .db-switch-wrapper.db-switch-wrapper) + .du-bois-dark-hint, :is(.db-switch.db-switch, .db-switch-wrapper.db-switch-wrapper) + .du-bois-light-form-message, :is(.db-switch.db-switch, .db-switch-wrapper.db-switch-wrapper) + .du-bois-dark-form-message, :is(.db-switch.db-switch, .db-switch-wrapper.db-switch-wrapper)
|
|
17047
17843
|
+ :is(.du-bois-light-hint, .du-bois-dark-hint)
|
|
17048
|
-
+
|
|
17049
|
-
|
|
17844
|
+
+ .du-bois-light-form-message, :is(.db-switch.db-switch, .db-switch-wrapper.db-switch-wrapper)
|
|
17845
|
+
+ :is(.du-bois-light-hint, .du-bois-dark-hint)
|
|
17846
|
+
+ .du-bois-dark-form-message {
|
|
17847
|
+
padding-inline-start: calc(var(--db-space-2) + var(--db-switch-track-width));
|
|
17050
17848
|
}
|
|
17051
17849
|
|
|
17052
|
-
:is(.db-switch.db-switch, .db-switch-wrapper.db-switch-wrapper)
|
|
17053
|
-
+ :is(.du-bois-light-
|
|
17850
|
+
:is(.db-switch.db-switch, .db-switch-wrapper.db-switch-wrapper) + .du-bois-light-form-message, :is(.db-switch.db-switch, .db-switch-wrapper.db-switch-wrapper) + .du-bois-dark-form-message, :is(.db-switch.db-switch, .db-switch-wrapper.db-switch-wrapper)
|
|
17851
|
+
+ :is(.du-bois-light-hint, .du-bois-dark-hint)
|
|
17852
|
+
+ .du-bois-light-form-message, :is(.db-switch.db-switch, .db-switch-wrapper.db-switch-wrapper)
|
|
17054
17853
|
+ :is(.du-bois-light-hint, .du-bois-dark-hint)
|
|
17055
|
-
+
|
|
17854
|
+
+ .du-bois-dark-form-message {
|
|
17056
17855
|
margin-top: 0;
|
|
17057
17856
|
}
|
|
17857
|
+
|
|
17858
|
+
/* Component tokens for Tabs (no family). Re-declared under the theme classes, not only :root, so the
|
|
17859
|
+
* var() chain re-resolves inside a .du-bois-dark subtree instead of freezing at the light value. */
|
|
17860
|
+
:where(:root), :where(.du-bois-light) {
|
|
17861
|
+
/* ── Density ──────────────────────────────────────────────────────────── */
|
|
17862
|
+
--db-tabs-height: var(--db-size-8);
|
|
17863
|
+
--db-tabs-trigger-min-width: var(--db-size-6);
|
|
17864
|
+
--db-tabs-trigger-min-width-closable: var(--db-size-10);
|
|
17865
|
+
--db-tabs-list-margin-bottom: var(--db-space-4);
|
|
17866
|
+
--db-tabs-trigger-gap: var(--db-space-4);
|
|
17867
|
+
--db-tabs-trigger-padding-top: var(--db-space-1);
|
|
17868
|
+
--db-tabs-trigger-padding-bottom: var(--db-space-2);
|
|
17869
|
+
--db-tabs-close-icon-gap: var(--db-space-1);
|
|
17870
|
+
--db-tabs-add-button-margin-top: var(--db-space-0-5);
|
|
17871
|
+
/* No 1.5-unit space step exists; synthesize 6px from the nearest. TODO: use a direct step if one lands. */
|
|
17872
|
+
--db-tabs-add-button-margin-bottom: calc(var(--db-space-1) * 1.5);
|
|
17873
|
+
|
|
17874
|
+
/* ── Shape ────────────────────────────────────────────────────────────── */
|
|
17875
|
+
--db-tabs-scrollbar-radius: var(--db-shape-control);
|
|
17876
|
+
--db-tabs-focus-ring-width: var(--db-focus-ring-width);
|
|
17877
|
+
|
|
17878
|
+
/* ── Typography ───────────────────────────────────────────────────────── */
|
|
17879
|
+
--db-tabs-font-size: var(--db-font-size-base);
|
|
17880
|
+
--db-tabs-font-weight: var(--db-font-weight-semibold);
|
|
17881
|
+
/* No v2 token holds the tab line-height yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17882
|
+
--db-tabs-line-height: 1.25rem;
|
|
17883
|
+
|
|
17884
|
+
/* ── Color ────────────────────────────────────────────────────────────── */
|
|
17885
|
+
/* No v2 token holds the tab text / hover / press / active / disabled colors yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17886
|
+
--db-tabs-text: var(--db-color-text-secondary);
|
|
17887
|
+
--db-tabs-text-hover: var(--db-color-action-default-text-hover);
|
|
17888
|
+
--db-tabs-text-press: var(--db-color-action-default-text-press);
|
|
17889
|
+
--db-tabs-text-active: var(--db-color-text-primary);
|
|
17890
|
+
--db-tabs-text-disabled: var(--db-color-action-disabled-text);
|
|
17891
|
+
/* No v2 token holds the tab panel content text color yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17892
|
+
--db-tabs-content-text: var(--db-color-text-primary);
|
|
17893
|
+
/* No v2 token holds the active-tab underline yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17894
|
+
--db-tabs-indicator: var(--db-color-action-primary-background-default);
|
|
17895
|
+
/* No v2 token holds the list divider yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17896
|
+
--db-tabs-border: var(--db-color-action-default-border-default);
|
|
17897
|
+
/* No v2 token holds the focus ring color yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17898
|
+
--db-tabs-focus-ring: var(--db-color-action-default-border-focus);
|
|
17899
|
+
}
|
|
17900
|
+
|
|
17901
|
+
/* No v2 token holds the scrollbar thumb yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17902
|
+
:where(:root), :where(.du-bois-light) {
|
|
17903
|
+
--db-tabs-scrollbar-thumb: rgba(17, 23, 28, 0.2);
|
|
17904
|
+
--db-tabs-scrollbar-thumb-hover: rgba(17, 23, 28, 0.3);
|
|
17905
|
+
}
|
|
17906
|
+
|
|
17907
|
+
|
|
17908
|
+
|
|
17909
|
+
:where(:root), :where(.du-bois-light) {
|
|
17910
|
+
/* Shape */
|
|
17911
|
+
--db-toolbar-border-radius: var(--db-shape-control);
|
|
17912
|
+
|
|
17913
|
+
/* Color */
|
|
17914
|
+
--db-toolbar-surface: var(--db-surface-subtle);
|
|
17915
|
+
--db-toolbar-border: var(--db-border-base);
|
|
17916
|
+
--db-toolbar-separator-surface: var(--db-border-base);
|
|
17917
|
+
--db-toolbar-toggle-item-text: var(--db-text-base);
|
|
17918
|
+
/* No v2 token holds the toggle hover / press text yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
|
|
17919
|
+
--db-toolbar-toggle-item-text-hover: var(--db-color-action-default-text-hover);
|
|
17920
|
+
--db-toolbar-toggle-item-text-press: var(--db-color-action-default-text-press);
|
|
17921
|
+
--db-toolbar-shadow: var(--db-elevation-med);
|
|
17922
|
+
|
|
17923
|
+
/* Density */
|
|
17924
|
+
--db-toolbar-gap: var(--db-space-4);
|
|
17925
|
+
--db-toolbar-spacing: var(--db-space-2);
|
|
17926
|
+
}
|
|
17927
|
+
|
|
17928
|
+
/* Tooltip renders an inverted surface (dark chip in light mode, light chip in dark mode), so it does
|
|
17929
|
+
* not draw from the popover family's neutral surface. Surface/text reference the v1 tooltip
|
|
17930
|
+
* primitives from tokens-groups until a v2 semantic exists. */
|
|
17931
|
+
|
|
17932
|
+
:where(:root), :where(.du-bois-light) {
|
|
17933
|
+
/* Shape */
|
|
17934
|
+
--db-tooltip-border-radius: var(--db-radius-sm);
|
|
17935
|
+
|
|
17936
|
+
/* Density */
|
|
17937
|
+
--db-tooltip-spacing-vertical: var(--db-space-1);
|
|
17938
|
+
--db-tooltip-spacing-horizontal: var(--db-space-2);
|
|
17939
|
+
|
|
17940
|
+
/* Typography */
|
|
17941
|
+
--db-tooltip-font-size: var(--db-font-size-base);
|
|
17942
|
+
--db-tooltip-font-weight: var(--db-font-weight-normal);
|
|
17943
|
+
}
|
|
17944
|
+
|
|
17945
|
+
:where(:root), :where(.du-bois-light) {
|
|
17946
|
+
/* Color */
|
|
17947
|
+
--db-tooltip-surface: var(--db-color-tooltip-background-tooltip);
|
|
17948
|
+
--db-tooltip-text: var(--db-color-tooltip-text-tooltip);
|
|
17949
|
+
/* v1 blue primitives, held as literals until a v2 link-on-tooltip semantic exists. */
|
|
17950
|
+
--db-tooltip-link-text: #4299e0; /* blue500 */
|
|
17951
|
+
--db-tooltip-link-text-hover: #8acaff; /* blue400 */
|
|
17952
|
+
--db-tooltip-link-text-active: #bae1fc; /* blue300 */
|
|
17953
|
+
|
|
17954
|
+
/* Elevation */
|
|
17955
|
+
--db-tooltip-shadow: var(--db-elevation-med);
|
|
17956
|
+
}
|
|
17957
|
+
|