@databricks/design-system 2.0.3 → 2.0.4

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.
@@ -16254,17 +16254,17 @@ span.du-bois-dark-typography-ellipsis-single-line {
16254
16254
  Use this for any layout where items are laid out vertically.
16255
16255
 
16256
16256
  \3c !-- Basic: default gap between each child -->
16257
- <div class="ds-stack">
16257
+ <div class="db-stack">
16258
16258
  <h2>Title</h2>
16259
16259
  <p>Body</p>
16260
16260
  <button>Action</button>
16261
16261
  </div>
16262
16262
 
16263
16263
  \3c !-- Wider gap for this instance -->
16264
- <div class="ds-stack" style="--ds-stack-gap: var(--db-spacing-lg)">…</div>
16264
+ <div class="db-stack" style="--db-stack-gap: var(--db-spacing-lg)">…</div>
16265
16265
 
16266
16266
  \3c !-- Don't stretch children to full width (e.g. left-aligned buttons) -->
16267
- <div class="ds-stack" style="--ds-stack-align: flex-start">…</div>
16267
+ <div class="db-stack" style="--db-stack-align: flex-start">…</div>
16268
16268
  */
16269
16269
 
16270
16270
  /**
@@ -16272,17 +16272,17 @@ span.du-bois-dark-typography-ellipsis-single-line {
16272
16272
  Use this for any layout where items are laid out horizontally and should wrap on smaller viewport sizes.
16273
16273
 
16274
16274
  \3c !-- Basic: items wrap as needed -->
16275
- <div class="ds-cluster">
16275
+ <div class="db-cluster">
16276
16276
  <span>one</span>
16277
16277
  <span>two</span>
16278
16278
  <span>three</span>
16279
16279
  </div>
16280
16280
 
16281
16281
  \3c !-- Push children apart (e.g. title left, actions right) -->
16282
- <div class="ds-cluster" style="--ds-cluster-justify: space-between">…</div>
16282
+ <div class="db-cluster" style="--db-cluster-justify: space-between">…</div>
16283
16283
 
16284
16284
  \3c !-- Looser gap for this instance -->
16285
- <div class="ds-cluster" style="--ds-cluster-gap: var(--db-spacing-sm)">…</div>
16285
+ <div class="db-cluster" style="--db-cluster-gap: var(--db-spacing-sm)">…</div>
16286
16286
  */
16287
16287
 
16288
16288
 
@@ -16504,16 +16504,16 @@ span.du-bois-dark-typography-ellipsis-single-line {
16504
16504
  *
16505
16505
  * Structure (assumed by the React component):
16506
16506
  *
16507
- * <label class="ds-checkbox">
16508
- * <input type="checkbox" class="ds-checkbox-input" />
16509
- * <span class="ds-checkbox-indicator"> ← border + fill react to state
16510
- * <svg class="ds-checkbox-checkmark" .../> ← visible when :checked
16511
- * <span class="ds-checkbox-dash" /> ← visible when :indeterminate
16507
+ * <label class="db-checkbox">
16508
+ * <input type="checkbox" class="db-checkbox-input" />
16509
+ * <span class="db-checkbox-indicator"> ← border + fill react to state
16510
+ * <svg class="db-checkbox-checkmark" .../> ← visible when :checked
16511
+ * <span class="db-checkbox-dash" /> ← visible when :indeterminate
16512
16512
  * </span>
16513
- * <span class="ds-checkbox-label">{children}</span>
16513
+ * <span class="db-checkbox-label">{children}</span>
16514
16514
  * </label>
16515
16515
  *
16516
- * State and hiding rules target `.ds-checkbox-input` — the checkbox's OWN input —
16516
+ * State and hiding rules target `.db-checkbox-input` — the checkbox's OWN input —
16517
16517
  * never a bare `input`: consumers may render an inline <input> (e.g. a number
16518
16518
  * field) inside the label children, and a descendant `input` selector would hide
16519
16519
  * / absolutely-position that field and mis-drive the `:has(…)` state rules. */
@@ -16561,7 +16561,7 @@ span.du-bois-dark-typography-ellipsis-single-line {
16561
16561
  *
16562
16562
  * Each helper-text class is listed once per theme (`du-bois-light-*` /
16563
16563
  * `du-bois-dark-*`). The selectors deliberately repeat the root/group class
16564
- * (`.ds-checkbox.ds-checkbox`) to push specificity to (0,3,0). That
16564
+ * (`.db-checkbox.db-checkbox`) to push specificity to (0,3,0). That
16565
16565
  * overrides `FormMessage`'s own `&&`-doubled `margin-top: 8px` declared with
16566
16566
  * Emotion at runtime — without doubling we'd lose on the specificity tie and
16567
16567
  * the validation message would keep an 8px gap below the checkbox. */
@@ -16574,16 +16574,16 @@ span.du-bois-dark-typography-ellipsis-single-line {
16574
16574
  * follows a Hint, 8px gap above a FormMessage when it follows the group.
16575
16575
  * Doubled class on the group side beats FormMessage's `&&` for the same reason. */
16576
16576
 
16577
- /* CheckboxGroup layout. Vertical delegates to the `.ds-stack` primitive; the
16577
+ /* CheckboxGroup layout. Vertical delegates to the `.db-stack` primitive; the
16578
16578
  * horizontal default stays bespoke because it must NOT wrap (a long row of
16579
16579
  * checkboxes overflows horizontally rather than reflowing onto multiple lines),
16580
- * which is the one thing `.ds-cluster` won't do. Both wire their gap to the
16580
+ * which is the one thing `.db-cluster` won't do. Both wire their gap to the
16581
16581
  * checkbox spacing token so a retheme moves with the rest of the component. */
16582
16582
 
16583
- /* Horizontal (default): single non-wrapping row. `:not(.ds-stack)` keeps this
16583
+ /* Horizontal (default): single non-wrapping row. `:not(.db-stack)` keeps this
16584
16584
  * off the vertical element so it never fights the stack primitive's gap. */
16585
16585
 
16586
- /* Vertical: .ds-stack supplies flex-direction + gap; we only retarget the knob. */
16586
+ /* Vertical: .db-stack supplies flex-direction + gap; we only retarget the knob. */
16587
16587
 
16588
16588
  :where(.du-bois-dark) {
16589
16589
  /* Shape */
@@ -16631,12 +16631,12 @@ span.du-bois-dark-typography-ellipsis-single-line {
16631
16631
  *
16632
16632
  * Structure (assumed by the React component):
16633
16633
  *
16634
- * <label class="ds-radio">
16634
+ * <label class="db-radio">
16635
16635
  * <input type="radio" />
16636
- * <span class="ds-radio-indicator"> ← circle border + fill react to state
16637
- * <span class="ds-radio-dot" /> ← visible when :checked
16636
+ * <span class="db-radio-indicator"> ← circle border + fill react to state
16637
+ * <span class="db-radio-dot" /> ← visible when :checked
16638
16638
  * </span>
16639
- * <span class="ds-radio-label">{children}</span>
16639
+ * <span class="db-radio-label">{children}</span>
16640
16640
  * </label>
16641
16641
  *
16642
16642
  * The root only ever has one <input> descendant, so a bare `input` selector is
@@ -16645,7 +16645,7 @@ span.du-bois-dark-typography-ellipsis-single-line {
16645
16645
  * checkmark/dash, and there is no indeterminate state.
16646
16646
  *
16647
16647
  * TODO(DUBOIS-452): the indicator/dot state styles below are identical to
16648
- * NativeCheckbox.css — consolidate them into a shared `.ds-selection-toggle` class. */
16648
+ * NativeCheckbox.css — consolidate them into a shared `.db-selection-toggle` class. */
16649
16649
 
16650
16650
  /* Hover/press live on the root (label), not on the input: the input is
16651
16651
  * visually hidden (opacity:0), so an `input:hover` rule wouldn't be visible
@@ -16703,16 +16703,16 @@ span.du-bois-dark-typography-ellipsis-single-line {
16703
16703
  * after a radio gets `marginTop: -sm` (cancels the preceding radio's
16704
16704
  * `paddingBottom: sm` so the hint tucks directly under its label) and
16705
16705
  * `marginBottom: sm` (gap before the next radio). The negative top margin relies on
16706
- * the .ds-stack gap being 0 (set below). Scoped to .ds-stack so it never perturbs
16706
+ * the .db-stack gap being 0 (set below). Scoped to .db-stack so it never perturbs
16707
16707
  * the horizontal grid, where hints are positioned by grid-row instead. */
16708
16708
 
16709
16709
  /* AntD `& > label:last-of-type + hint { marginTop: 0 }`: the last radio has no
16710
16710
  * `paddingBottom` to cancel, so its trailing hint keeps its natural top position. */
16711
16711
 
16712
16712
  /* RadioGroup layout. Vertical (the default) delegates flex-direction to the
16713
- * .ds-stack primitive; horizontal is a two-row grid (mirroring AntD). */
16713
+ * .db-stack primitive; horizontal is a two-row grid (mirroring AntD). */
16714
16714
 
16715
- /* Vertical: .ds-stack supplies flex-direction: column. AntD's vertical helper
16715
+ /* Vertical: .db-stack supplies flex-direction: column. AntD's vertical helper
16716
16716
  * (getVerticalRadioGroupStyles) produces its item rhythm purely from
16717
16717
  * `& > label { paddingBottom: sm }` plus the negative-margin hint trick above — it
16718
16718
  * uses NO flex gap. The negative `marginTop` on hints only works if the stack adds
@@ -16724,9 +16724,9 @@ span.du-bois-dark-typography-ellipsis-single-line {
16724
16724
  /* AntD `& > label:last-of-type { paddingBottom: 0 }`. */
16725
16725
 
16726
16726
  /* AntD getVerticalRadioGroupStyles `.${prefix}-radio-tile + .${prefix}-radio-tile {
16727
- * marginTop: md }`: RadioTiles are not matched by the `.ds-radio` padding-bottom
16727
+ * marginTop: md }`: RadioTiles are not matched by the `.db-radio` padding-bottom
16728
16728
  * rhythm above (the tile's own class is du-bois-{light,dark}-radio-tile), so space
16729
- * consecutive tiles explicitly. The .ds-stack gap is 0, so this margin is the spacing. */
16729
+ * consecutive tiles explicitly. The .db-stack gap is 0, so this margin is the spacing. */
16730
16730
 
16731
16731
  /* Horizontal: AntD `getHorizontalRadioGroupStyles` is a TWO-ROW grid (NOT a flex
16732
16732
  * row) so each radio sits in the [label] row and its following hint drops into the
@@ -16739,13 +16739,13 @@ span.du-bois-dark-typography-ellipsis-single-line {
16739
16739
 
16740
16740
  /* AntD `& > label, & > .${prefix}-radio-tile { gridRow: label / label; marginRight: 0 }`:
16741
16741
  * every radio (and every RadioTile button, whose own class is
16742
- * du-bois-{light,dark}-radio-tile and is NOT matched by `> .ds-radio`) lives in the
16742
+ * du-bois-{light,dark}-radio-tile and is NOT matched by `> .db-radio`) lives in the
16743
16743
  * label row. grid-auto-flow defaults to row, so successive items advance the implicit
16744
16744
  * column. */
16745
16745
 
16746
16746
  /* AntD `& > label + hint { display: inline-block; gridRow: hint / hint }`: a hint
16747
16747
  * following a radio drops into the hint row of the column its radio occupies. The
16748
- * vertical negative-margin rules are scoped to .ds-stack, so nothing to reset here. */
16748
+ * vertical negative-margin rules are scoped to .db-stack, so nothing to reset here. */
16749
16749
 
16750
16750
  /* AntD `:has(> hint) { marginTop: sm }`: when the horizontal group contains a hint,
16751
16751
  * the group itself gets a top margin (room above the two-row grid). */
@@ -16808,7 +16808,7 @@ span.du-bois-dark-typography-ellipsis-single-line {
16808
16808
 
16809
16809
  /* `:first-child` scopes this to the label-first layout; the plain layout renders the label last. */
16810
16810
 
16811
- /* Target the <Label>'s class, not a bare `label` — that would also match the .ds-switch root <label>. */
16811
+ /* Target the <Label>'s class, not a bare `label` — that would also match the .db-switch root <label>. */
16812
16812
 
16813
16813
  /* Indent a following hint/message past the track. The class is doubled to out-specify FormMessage's
16814
16814
  * own margin rule. */
@@ -16080,17 +16080,17 @@ span.du-bois-dark-typography-ellipsis-single-line {
16080
16080
  Use this for any layout where items are laid out vertically.
16081
16081
 
16082
16082
  \3c !-- Basic: default gap between each child -->
16083
- <div class="ds-stack">
16083
+ <div class="db-stack">
16084
16084
  <h2>Title</h2>
16085
16085
  <p>Body</p>
16086
16086
  <button>Action</button>
16087
16087
  </div>
16088
16088
 
16089
16089
  \3c !-- Wider gap for this instance -->
16090
- <div class="ds-stack" style="--ds-stack-gap: var(--db-spacing-lg)">…</div>
16090
+ <div class="db-stack" style="--db-stack-gap: var(--db-spacing-lg)">…</div>
16091
16091
 
16092
16092
  \3c !-- Don't stretch children to full width (e.g. left-aligned buttons) -->
16093
- <div class="ds-stack" style="--ds-stack-align: flex-start">…</div>
16093
+ <div class="db-stack" style="--db-stack-align: flex-start">…</div>
16094
16094
  */
16095
16095
 
16096
16096
  /**
@@ -16098,17 +16098,17 @@ span.du-bois-dark-typography-ellipsis-single-line {
16098
16098
  Use this for any layout where items are laid out horizontally and should wrap on smaller viewport sizes.
16099
16099
 
16100
16100
  \3c !-- Basic: items wrap as needed -->
16101
- <div class="ds-cluster">
16101
+ <div class="db-cluster">
16102
16102
  <span>one</span>
16103
16103
  <span>two</span>
16104
16104
  <span>three</span>
16105
16105
  </div>
16106
16106
 
16107
16107
  \3c !-- Push children apart (e.g. title left, actions right) -->
16108
- <div class="ds-cluster" style="--ds-cluster-justify: space-between">…</div>
16108
+ <div class="db-cluster" style="--db-cluster-justify: space-between">…</div>
16109
16109
 
16110
16110
  \3c !-- Looser gap for this instance -->
16111
- <div class="ds-cluster" style="--ds-cluster-gap: var(--db-spacing-sm)">…</div>
16111
+ <div class="db-cluster" style="--db-cluster-gap: var(--db-spacing-sm)">…</div>
16112
16112
  */
16113
16113
 
16114
16114
 
@@ -16330,16 +16330,16 @@ span.du-bois-dark-typography-ellipsis-single-line {
16330
16330
  *
16331
16331
  * Structure (assumed by the React component):
16332
16332
  *
16333
- * <label class="ds-checkbox">
16334
- * <input type="checkbox" class="ds-checkbox-input" />
16335
- * <span class="ds-checkbox-indicator"> ← border + fill react to state
16336
- * <svg class="ds-checkbox-checkmark" .../> ← visible when :checked
16337
- * <span class="ds-checkbox-dash" /> ← visible when :indeterminate
16333
+ * <label class="db-checkbox">
16334
+ * <input type="checkbox" class="db-checkbox-input" />
16335
+ * <span class="db-checkbox-indicator"> ← border + fill react to state
16336
+ * <svg class="db-checkbox-checkmark" .../> ← visible when :checked
16337
+ * <span class="db-checkbox-dash" /> ← visible when :indeterminate
16338
16338
  * </span>
16339
- * <span class="ds-checkbox-label">{children}</span>
16339
+ * <span class="db-checkbox-label">{children}</span>
16340
16340
  * </label>
16341
16341
  *
16342
- * State and hiding rules target `.ds-checkbox-input` — the checkbox's OWN input —
16342
+ * State and hiding rules target `.db-checkbox-input` — the checkbox's OWN input —
16343
16343
  * never a bare `input`: consumers may render an inline <input> (e.g. a number
16344
16344
  * field) inside the label children, and a descendant `input` selector would hide
16345
16345
  * / absolutely-position that field and mis-drive the `:has(…)` state rules. */
@@ -16387,7 +16387,7 @@ span.du-bois-dark-typography-ellipsis-single-line {
16387
16387
  *
16388
16388
  * Each helper-text class is listed once per theme (`du-bois-light-*` /
16389
16389
  * `du-bois-dark-*`). The selectors deliberately repeat the root/group class
16390
- * (`.ds-checkbox.ds-checkbox`) to push specificity to (0,3,0). That
16390
+ * (`.db-checkbox.db-checkbox`) to push specificity to (0,3,0). That
16391
16391
  * overrides `FormMessage`'s own `&&`-doubled `margin-top: 8px` declared with
16392
16392
  * Emotion at runtime — without doubling we'd lose on the specificity tie and
16393
16393
  * the validation message would keep an 8px gap below the checkbox. */
@@ -16400,16 +16400,16 @@ span.du-bois-dark-typography-ellipsis-single-line {
16400
16400
  * follows a Hint, 8px gap above a FormMessage when it follows the group.
16401
16401
  * Doubled class on the group side beats FormMessage's `&&` for the same reason. */
16402
16402
 
16403
- /* CheckboxGroup layout. Vertical delegates to the `.ds-stack` primitive; the
16403
+ /* CheckboxGroup layout. Vertical delegates to the `.db-stack` primitive; the
16404
16404
  * horizontal default stays bespoke because it must NOT wrap (a long row of
16405
16405
  * checkboxes overflows horizontally rather than reflowing onto multiple lines),
16406
- * which is the one thing `.ds-cluster` won't do. Both wire their gap to the
16406
+ * which is the one thing `.db-cluster` won't do. Both wire their gap to the
16407
16407
  * checkbox spacing token so a retheme moves with the rest of the component. */
16408
16408
 
16409
- /* Horizontal (default): single non-wrapping row. `:not(.ds-stack)` keeps this
16409
+ /* Horizontal (default): single non-wrapping row. `:not(.db-stack)` keeps this
16410
16410
  * off the vertical element so it never fights the stack primitive's gap. */
16411
16411
 
16412
- /* Vertical: .ds-stack supplies flex-direction + gap; we only retarget the knob. */
16412
+ /* Vertical: .db-stack supplies flex-direction + gap; we only retarget the knob. */
16413
16413
 
16414
16414
  :where(.du-bois-dark) {
16415
16415
  /* Shape */
@@ -16457,12 +16457,12 @@ span.du-bois-dark-typography-ellipsis-single-line {
16457
16457
  *
16458
16458
  * Structure (assumed by the React component):
16459
16459
  *
16460
- * <label class="ds-radio">
16460
+ * <label class="db-radio">
16461
16461
  * <input type="radio" />
16462
- * <span class="ds-radio-indicator"> ← circle border + fill react to state
16463
- * <span class="ds-radio-dot" /> ← visible when :checked
16462
+ * <span class="db-radio-indicator"> ← circle border + fill react to state
16463
+ * <span class="db-radio-dot" /> ← visible when :checked
16464
16464
  * </span>
16465
- * <span class="ds-radio-label">{children}</span>
16465
+ * <span class="db-radio-label">{children}</span>
16466
16466
  * </label>
16467
16467
  *
16468
16468
  * The root only ever has one <input> descendant, so a bare `input` selector is
@@ -16471,7 +16471,7 @@ span.du-bois-dark-typography-ellipsis-single-line {
16471
16471
  * checkmark/dash, and there is no indeterminate state.
16472
16472
  *
16473
16473
  * TODO(DUBOIS-452): the indicator/dot state styles below are identical to
16474
- * NativeCheckbox.css — consolidate them into a shared `.ds-selection-toggle` class. */
16474
+ * NativeCheckbox.css — consolidate them into a shared `.db-selection-toggle` class. */
16475
16475
 
16476
16476
  /* Hover/press live on the root (label), not on the input: the input is
16477
16477
  * visually hidden (opacity:0), so an `input:hover` rule wouldn't be visible
@@ -16529,16 +16529,16 @@ span.du-bois-dark-typography-ellipsis-single-line {
16529
16529
  * after a radio gets `marginTop: -sm` (cancels the preceding radio's
16530
16530
  * `paddingBottom: sm` so the hint tucks directly under its label) and
16531
16531
  * `marginBottom: sm` (gap before the next radio). The negative top margin relies on
16532
- * the .ds-stack gap being 0 (set below). Scoped to .ds-stack so it never perturbs
16532
+ * the .db-stack gap being 0 (set below). Scoped to .db-stack so it never perturbs
16533
16533
  * the horizontal grid, where hints are positioned by grid-row instead. */
16534
16534
 
16535
16535
  /* AntD `& > label:last-of-type + hint { marginTop: 0 }`: the last radio has no
16536
16536
  * `paddingBottom` to cancel, so its trailing hint keeps its natural top position. */
16537
16537
 
16538
16538
  /* RadioGroup layout. Vertical (the default) delegates flex-direction to the
16539
- * .ds-stack primitive; horizontal is a two-row grid (mirroring AntD). */
16539
+ * .db-stack primitive; horizontal is a two-row grid (mirroring AntD). */
16540
16540
 
16541
- /* Vertical: .ds-stack supplies flex-direction: column. AntD's vertical helper
16541
+ /* Vertical: .db-stack supplies flex-direction: column. AntD's vertical helper
16542
16542
  * (getVerticalRadioGroupStyles) produces its item rhythm purely from
16543
16543
  * `& > label { paddingBottom: sm }` plus the negative-margin hint trick above — it
16544
16544
  * uses NO flex gap. The negative `marginTop` on hints only works if the stack adds
@@ -16550,9 +16550,9 @@ span.du-bois-dark-typography-ellipsis-single-line {
16550
16550
  /* AntD `& > label:last-of-type { paddingBottom: 0 }`. */
16551
16551
 
16552
16552
  /* AntD getVerticalRadioGroupStyles `.${prefix}-radio-tile + .${prefix}-radio-tile {
16553
- * marginTop: md }`: RadioTiles are not matched by the `.ds-radio` padding-bottom
16553
+ * marginTop: md }`: RadioTiles are not matched by the `.db-radio` padding-bottom
16554
16554
  * rhythm above (the tile's own class is du-bois-{light,dark}-radio-tile), so space
16555
- * consecutive tiles explicitly. The .ds-stack gap is 0, so this margin is the spacing. */
16555
+ * consecutive tiles explicitly. The .db-stack gap is 0, so this margin is the spacing. */
16556
16556
 
16557
16557
  /* Horizontal: AntD `getHorizontalRadioGroupStyles` is a TWO-ROW grid (NOT a flex
16558
16558
  * row) so each radio sits in the [label] row and its following hint drops into the
@@ -16565,13 +16565,13 @@ span.du-bois-dark-typography-ellipsis-single-line {
16565
16565
 
16566
16566
  /* AntD `& > label, & > .${prefix}-radio-tile { gridRow: label / label; marginRight: 0 }`:
16567
16567
  * every radio (and every RadioTile button, whose own class is
16568
- * du-bois-{light,dark}-radio-tile and is NOT matched by `> .ds-radio`) lives in the
16568
+ * du-bois-{light,dark}-radio-tile and is NOT matched by `> .db-radio`) lives in the
16569
16569
  * label row. grid-auto-flow defaults to row, so successive items advance the implicit
16570
16570
  * column. */
16571
16571
 
16572
16572
  /* AntD `& > label + hint { display: inline-block; gridRow: hint / hint }`: a hint
16573
16573
  * following a radio drops into the hint row of the column its radio occupies. The
16574
- * vertical negative-margin rules are scoped to .ds-stack, so nothing to reset here. */
16574
+ * vertical negative-margin rules are scoped to .db-stack, so nothing to reset here. */
16575
16575
 
16576
16576
  /* AntD `:has(> hint) { marginTop: sm }`: when the horizontal group contains a hint,
16577
16577
  * the group itself gets a top margin (room above the two-row grid). */
@@ -16634,7 +16634,7 @@ span.du-bois-dark-typography-ellipsis-single-line {
16634
16634
 
16635
16635
  /* `:first-child` scopes this to the label-first layout; the plain layout renders the label last. */
16636
16636
 
16637
- /* Target the <Label>'s class, not a bare `label` — that would also match the .ds-switch root <label>. */
16637
+ /* Target the <Label>'s class, not a bare `label` — that would also match the .db-switch root <label>. */
16638
16638
 
16639
16639
  /* Indent a following hint/message past the track. The class is doubled to out-specify FormMessage's
16640
16640
  * own margin rule. */