@databricks/design-system 2.0.6 → 2.0.8

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.
Files changed (31) hide show
  1. package/AGENTS.md +239 -166
  2. package/CHANGELOG.md +36 -0
  3. package/dist/{RHFControlledTypeaheadComboboxV2-Ct9x3rC1.js → RHFControlledTypeaheadComboboxV2-Boee19c1.js} +3 -3
  4. package/dist/{RHFControlledTypeaheadComboboxV2-Ct9x3rC1.js.map → RHFControlledTypeaheadComboboxV2-Boee19c1.js.map} +1 -1
  5. package/dist/{WizardStepContentWrapper-6YTjeEaA.js → WizardStepContentWrapper-DfErft8z.js} +201 -257
  6. package/dist/WizardStepContentWrapper-DfErft8z.js.map +1 -0
  7. package/dist/dubois-colors.less +3 -1
  8. package/dist/icon-metadata.json +5 -0
  9. package/dist/{index-DiRpSwH2.js → index-CUzS-Vjx.js} +121 -109
  10. package/dist/index-CUzS-Vjx.js.map +1 -0
  11. package/dist/index-dark.css +136 -1
  12. package/dist/index-dark.mitigated.css +164 -16
  13. package/dist/index.css +183 -28
  14. package/dist/index.js +2 -2
  15. package/dist/index.mitigated.css +211 -43
  16. package/dist/patterns.js +1 -1
  17. package/dist-types/design-system/Alert/Alert.d.ts +21 -4
  18. package/dist-types/design-system/Button/Button.d.ts +2 -1
  19. package/dist-types/design-system/Icon/__generated/icons/SlidesIcon.d.ts +4 -0
  20. package/dist-types/design-system/Icon/__generated/icons/index.d.ts +1 -0
  21. package/dist-types/design-system/TypeaheadCombobox/TypeaheadComboboxControls.d.ts +0 -2
  22. package/dist-types/design-system/index.d.ts +0 -1
  23. package/dist-types/design-system/utils/safex.d.ts +4 -2
  24. package/dist-types/theme/_generated/ValidSemanticColors.d.ts +1 -0
  25. package/dist-types/theme/generalVariables.d.ts +0 -1
  26. package/package.json +5 -4
  27. package/setup.mjs +586 -0
  28. package/dist/WizardStepContentWrapper-6YTjeEaA.js.map +0 -1
  29. package/dist/index-DiRpSwH2.js.map +0 -1
  30. package/dist-types/design-system/LegacyTooltip/LegacyTooltip.d.ts +0 -47
  31. package/dist-types/design-system/LegacyTooltip/index.d.ts +0 -1
@@ -15740,6 +15740,7 @@ span.du-bois-light-typography-ellipsis-single-line {
15740
15740
  --db-color-border-danger: #fbd0d8;
15741
15741
  --db-color-border-warning: #f8d4a5;
15742
15742
  --db-color-code-background: rgba(82, 82, 82, 0.08);
15743
+ --db-color-composer-background: #ffffff;
15743
15744
  --db-color-overlay-overlay: rgba(0, 0, 0, 0.26);
15744
15745
  --db-color-progress-fill: #cbcbcb;
15745
15746
  --db-color-progress-fill-primary: #4299e0;
@@ -16041,6 +16042,18 @@ span.du-bois-light-typography-ellipsis-single-line {
16041
16042
  --db-shape-pill: 999px;
16042
16043
  }
16043
16044
 
16045
+ :where(:root), :where(.du-bois-light) {
16046
+ /* Shape */
16047
+ /* Mirrors the ShapeTokens host-override var used by Card; falls back to the theme radius. */
16048
+ --db-card-border-radius: var(--info-container-border-radius, 8px);
16049
+
16050
+ /* Color */
16051
+ --db-card-surface: var(--db-surface-base);
16052
+ --db-card-text: var(--db-text-base);
16053
+ --db-card-border: var(--db-border-base);
16054
+ --db-card-border-hover: var(--db-border-strong);
16055
+ }
16056
+
16044
16057
  :where(:root), :where(.du-bois-light) {
16045
16058
  /* Shape */
16046
16059
  /* Mirrors the ShapeTokens host-override var used by list items; falls back to the theme radius. */
@@ -16117,6 +16130,28 @@ span.du-bois-light-typography-ellipsis-single-line {
16117
16130
  --db-selection-toggle-transition-duration: 120ms;
16118
16131
  }
16119
16132
 
16133
+ :where(:root), :where(.du-bois-light) {
16134
+ /* Shape */
16135
+ --db-avatar-border-radius: var(--db-radius-sm);
16136
+
16137
+ /* Density */
16138
+ --db-avatar-group-gap: var(--db-space-1);
16139
+ --db-avatar-group-border-width: 1px;
16140
+
16141
+ /* Color */
16142
+ /* No v2 token holds the secondary icon glyph yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
16143
+ --db-avatar-icon: var(--db-color-text-secondary);
16144
+ /* No v2 token holds the default avatar surface yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
16145
+ --db-avatar-surface: var(--db-color-tag-background-default);
16146
+ /* No v2 token holds the group divider border yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
16147
+ --db-avatar-group-border-color: var(--db-color-background-primary);
16148
+ }
16149
+
16150
+ :where(:root), :where(.du-bois-light) {
16151
+ /* Color */
16152
+ /* No v2 token holds the initials/icon glyph on a colored avatar yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
16153
+ --db-avatar-text: #ffffff;
16154
+ }
16120
16155
 
16121
16156
 
16122
16157
  /* Component-tier tokens for the native <Button>, grouped by area (density, shape, typography, color).
@@ -16414,10 +16449,11 @@ span.du-bois-light-typography-ellipsis-single-line {
16414
16449
  color: var(--db-btn-text-active) !important;
16415
16450
  }
16416
16451
  .db-btn-icon-only:enabled:not(.db-btn-primary, .db-btn-tertiary, .db-btn-link, .db-btn-danger, :hover, :active)
16417
- > .anticon {
16452
+ > .anticon, .db-btn-icon-only:enabled:not(.db-btn-primary, .db-btn-tertiary, .db-btn-link, .db-btn-danger, :hover, :active)
16453
+ > .db-icon {
16418
16454
  color: var(--db-btn-icon-glyph);
16419
16455
  }
16420
- .db-btn-icon-only.db-btn-danger:not(:hover, :active) > .anticon {
16456
+ .db-btn-icon-only.db-btn-danger:not(:hover, :active) > .anticon, .db-btn-icon-only.db-btn-danger:not(:hover, :active) > .db-icon {
16421
16457
  color: var(--db-btn-text);
16422
16458
  }
16423
16459
  .db-btn-icon-only.db-btn-danger:hover:not(:disabled, .db-btn-loading) {
@@ -16447,7 +16483,8 @@ span.du-bois-light-typography-ellipsis-single-line {
16447
16483
  .db-btn-icon-only:disabled:hover {
16448
16484
  background-color: transparent !important;
16449
16485
  }
16450
- .db-btn:disabled > .anticon {
16486
+ .db-btn:disabled > .anticon,
16487
+ .db-btn:disabled > .db-icon {
16451
16488
  color: inherit !important;
16452
16489
  }
16453
16490
 
@@ -16456,17 +16493,23 @@ span.du-bois-light-typography-ellipsis-single-line {
16456
16493
  * so `> .anticon` targets only a real icon glyph — a non-glyph `icon` (e.g. a Spinner) keeps its own
16457
16494
  * sizing — and out-specifies AntD's runtime-injected global `.anticon` rule. */
16458
16495
  .db-btn > .anticon,
16496
+ .db-btn > .db-icon,
16459
16497
  .db-btn-end-icon,
16460
- .db-btn-end-icon > .anticon {
16498
+ .db-btn-end-icon > .anticon,
16499
+ .db-btn-end-icon > .db-icon {
16461
16500
  display: inline-flex;
16462
16501
  align-items: center;
16463
16502
  font-size: var(--db-btn-icon-size) !important;
16464
16503
  line-height: 0;
16465
16504
  }
16466
- .db-btn-small > .anticon .anticon {
16505
+ .db-btn-small > .anticon .anticon,
16506
+ .db-btn-small > .anticon .db-icon,
16507
+ .db-btn-small > .db-icon .anticon,
16508
+ .db-btn-small > .db-icon .db-icon {
16467
16509
  line-height: 0;
16468
16510
  }
16469
- .db-btn > .db-btn-content > .anticon {
16511
+ .db-btn > .db-btn-content > .anticon,
16512
+ .db-btn > .db-btn-content > .db-icon {
16470
16513
  display: inline-flex;
16471
16514
  align-items: center;
16472
16515
  line-height: 0;
@@ -16475,7 +16518,8 @@ span.du-bois-light-typography-ellipsis-single-line {
16475
16518
  display: inline-flex;
16476
16519
  align-items: center;
16477
16520
  }
16478
- .db-btn > .anticon + .db-btn-content {
16521
+ .db-btn > .anticon + .db-btn-content,
16522
+ .db-btn > .db-icon + .db-btn-content {
16479
16523
  margin-inline-start: var(--db-btn-gap) !important;
16480
16524
  }
16481
16525
  .db-btn-end-icon {
@@ -16484,7 +16528,7 @@ span.du-bois-light-typography-ellipsis-single-line {
16484
16528
  .db-btn-small .db-btn-end-icon {
16485
16529
  margin-inline-start: var(--db-btn-end-icon-gap-small) !important;
16486
16530
  }
16487
- .db-btn-default:not(.db-btn-danger, [href], :hover, :active, :disabled) > .anticon {
16531
+ .db-btn-default:not(.db-btn-danger, [href], :hover, :active, :disabled) > .anticon, .db-btn-default:not(.db-btn-danger, [href], :hover, :active, :disabled) > .db-icon {
16488
16532
  color: var(--db-btn-icon-glyph);
16489
16533
  }
16490
16534
  .db-btn-default[href]:not(.db-btn-danger, :hover, :active, :disabled) .db-btn-end-icon {
@@ -16493,7 +16537,10 @@ span.du-bois-light-typography-ellipsis-single-line {
16493
16537
  .db-btn-default:not([href], .db-btn-danger, :hover, :active, :disabled)
16494
16538
  > .db-btn-content
16495
16539
  > .db-btn-end-icon
16496
- > .anticon {
16540
+ > .anticon, .db-btn-default:not([href], .db-btn-danger, :hover, :active, :disabled)
16541
+ > .db-btn-content
16542
+ > .db-btn-end-icon
16543
+ > .db-icon {
16497
16544
  color: var(--db-btn-icon-glyph);
16498
16545
  }
16499
16546
 
@@ -16857,6 +16904,17 @@ span.du-bois-light-typography-ellipsis-single-line {
16857
16904
  }
16858
16905
 
16859
16906
 
16907
+ :where(:root), :where(.du-bois-light) {
16908
+ /* Color */
16909
+ --db-empty-text: var(--db-text-subtle);
16910
+ --db-empty-image-color: var(--db-text-disabled);
16911
+
16912
+ /* Density */
16913
+ --db-empty-image-size: calc(var(--db-size-8) * 2);
16914
+ --db-empty-image-spacing: var(--db-space-4);
16915
+ --db-empty-description-spacing: var(--db-space-4);
16916
+ --db-empty-max-width: 600px;
16917
+ }
16860
16918
 
16861
16919
 
16862
16920
 
@@ -16920,7 +16978,17 @@ span.du-bois-light-typography-ellipsis-single-line {
16920
16978
  color: var(--db-icon-color-success);
16921
16979
  }
16922
16980
 
16923
- .db-icon-ai svg * {
16981
+ .db-icon-ai svg path,
16982
+ .db-icon-ai svg rect,
16983
+ .db-icon-ai svg circle,
16984
+ .db-icon-ai svg ellipse,
16985
+ .db-icon-ai svg line,
16986
+ .db-icon-ai svg polygon,
16987
+ .db-icon-ai svg polyline,
16988
+ .db-icon-ai svg text,
16989
+ .db-icon-ai svg tspan,
16990
+ .db-icon-ai svg textPath,
16991
+ .db-icon-ai svg use {
16924
16992
  fill: var(--db-icon-gradient);
16925
16993
  }
16926
16994
 
@@ -16966,6 +17034,21 @@ span.du-bois-light-typography-ellipsis-single-line {
16966
17034
  }
16967
17035
 
16968
17036
 
17037
+ :where(:root), :where(.du-bois-light) {
17038
+ /* Shape */
17039
+ --db-listbox-border-radius: var(--db-list-item-border-radius);
17040
+ --db-listbox-focus-ring-width: var(--db-focus-ring-width);
17041
+
17042
+ /* Color */
17043
+ --db-listbox-surface: var(--db-list-surface);
17044
+ --db-listbox-empty-text: var(--db-text-subtle);
17045
+ --db-listbox-focus-ring-color: var(--db-focus-ring-color);
17046
+
17047
+ /* Density */
17048
+ --db-listbox-spacing: var(--db-space-2);
17049
+ --db-listbox-empty-spacing-horizontal: var(--db-space-3);
17050
+ --db-listbox-empty-spacing-vertical: calc(var(--db-space-2) * 0.75);
17051
+ }
16969
17052
 
16970
17053
 
16971
17054
  :where(:root), :where(.du-bois-light) {
@@ -16992,6 +17075,35 @@ span.du-bois-light-typography-ellipsis-single-line {
16992
17075
  --db-navigation-menu-focus-ring-width: var(--db-focus-ring-width);
16993
17076
  }
16994
17077
 
17078
+ :where(:root), :where(.du-bois-light) {
17079
+ /* Shape */
17080
+ --db-notification-border-radius: var(--db-popup-border-radius);
17081
+
17082
+ /* Density */
17083
+ --db-notification-padding: var(--db-space-3);
17084
+ --db-notification-column-gap: var(--db-space-1);
17085
+ --db-notification-description-gap: var(--db-space-1);
17086
+ --db-notification-close-offset: calc(var(--db-space-1) * 1.5);
17087
+ --db-notification-close-size: var(--db-size-5);
17088
+ --db-notification-viewport-padding: var(--db-space-3);
17089
+ --db-notification-viewport-gap: var(--db-space-3);
17090
+ --db-notification-viewport-margin: var(--db-space-6);
17091
+ --db-notification-viewport-width: 440px;
17092
+
17093
+ /* Color */
17094
+ --db-notification-surface: var(--db-popup-surface);
17095
+ --db-notification-border: var(--db-popup-border);
17096
+ --db-notification-text: var(--db-popup-text);
17097
+ --db-notification-icon: var(--db-text-subtle);
17098
+ --db-notification-icon-success: var(--db-positive-text);
17099
+ --db-notification-icon-warning: var(--db-caution-text);
17100
+ --db-notification-icon-error: var(--db-negative-text);
17101
+ }
17102
+
17103
+ :where(:root), :where(.du-bois-light) {
17104
+ /* Elevation */
17105
+ --db-notification-shadow: var(--db-elevation-med);
17106
+ }
16995
17107
 
16996
17108
  :where(:root), :where(.du-bois-light) {
16997
17109
  /* Color */
@@ -17032,6 +17144,44 @@ span.du-bois-light-typography-ellipsis-single-line {
17032
17144
  --db-popover-shadow: var(--db-popup-elevation);
17033
17145
  }
17034
17146
 
17147
+ :where(:root), :where(.du-bois-light) {
17148
+ /* Shape */
17149
+ --db-preview-card-border-radius: var(--db-card-border-radius);
17150
+ --db-preview-card-image-border-radius: var(--info-container-border-radius, 4px);
17151
+ --db-preview-card-border-width: 1px;
17152
+
17153
+ /* Density */
17154
+ --db-preview-card-padding: var(--db-space-4);
17155
+ --db-preview-card-padding-large: var(--db-space-6);
17156
+ --db-preview-card-gap: var(--db-space-2);
17157
+ --db-preview-card-gap-large: var(--db-space-4);
17158
+ --db-preview-card-action-spacing: var(--db-space-4);
17159
+
17160
+ /* Color */
17161
+ --db-preview-card-text: var(--db-text-subtle);
17162
+ --db-preview-card-title-text: var(--db-card-text);
17163
+ --db-preview-card-border: var(--db-card-border);
17164
+ /* No v2 token holds the active/focus border yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
17165
+ --db-preview-card-border-hover: var(--db-color-action-default-border-hover);
17166
+ /* No v2 token holds the focus outline ring yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
17167
+ --db-preview-card-border-focus: var(--db-color-action-default-border-focus);
17168
+ /* No v2 token holds the active surface tint yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
17169
+ --db-preview-card-surface-active: var(--db-color-action-tertiary-background-press);
17170
+ --db-preview-card-surface-disabled: var(--db-surface-disabled);
17171
+ /* No v2 token holds the disabled border yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
17172
+ --db-preview-card-border-disabled: var(--db-color-action-disabled-border);
17173
+ --db-preview-card-text-disabled: var(--db-text-disabled);
17174
+
17175
+ /* Typography */
17176
+ --db-preview-card-title-font-weight: var(--db-font-weight-semibold);
17177
+ }
17178
+
17179
+ :where(:root), :where(.du-bois-light) {
17180
+ /* Elevation */
17181
+ --db-preview-card-shadow: var(--db-elevation-low);
17182
+ /* No v2 elevation token holds the hover/focus shadow yet. TODO(FEINF-6505): adopt a v2 token when one lands. */
17183
+ --db-preview-card-shadow-hover: 0px 3px 6px 0px rgba(0, 0, 0, 0.05);
17184
+ }
17035
17185
 
17036
17186
  /* Declared under the theme classes too (not just :root) so the var() chain re-resolves inside a
17037
17187
  * `.du-bois-dark` subtree instead of freezing at the light values. */
@@ -17532,12 +17682,17 @@ span.du-bois-light-typography-ellipsis-single-line {
17532
17682
  margin-inline-end: var(--db-switch-label-spacing);
17533
17683
  }
17534
17684
 
17535
- .db-switch:has(input:disabled) {
17685
+ .db-switch:has(.db-switch-input:disabled) {
17536
17686
  cursor: not-allowed;
17537
17687
  }
17538
17688
 
17539
- /* The track. `appearance: none` strips the native checkbox rendering so the input itself can be styled. */
17540
- .db-switch input {
17689
+ /* The track. `appearance: none` strips the native checkbox rendering so the input itself can be styled.
17690
+ * Scoped via the `.db-switch-input` class, never a bare `input`: `.db-switch .db-switch-input` is
17691
+ * specificity (0,2,0), which out-ranks a host app's `input[type='checkbox'] { width: auto }` reset
17692
+ * (e.g. Bootstrap, loaded in webapp). A bare `.db-switch input` (0,1,1) merely ties that reset and, losing
17693
+ * on load order, has its `inline-size` overridden to `auto` — collapsing the track to zero width and
17694
+ * leaving only the floating thumb. Mirrors NativeCheckbox's `.db-checkbox-input`. */
17695
+ .db-switch .db-switch-input {
17541
17696
  appearance: none;
17542
17697
  position: relative;
17543
17698
  flex-shrink: 0;
@@ -17556,7 +17711,7 @@ span.du-bois-light-typography-ellipsis-single-line {
17556
17711
 
17557
17712
  /* The thumb. A pseudo-element keeps the input the switch's only element, so nothing can overlay it
17558
17713
  * and intercept clicks. Offset left by the border width to sit flush with the track's outer edge. */
17559
- .db-switch input::before {
17714
+ .db-switch .db-switch-input::before {
17560
17715
  content: '';
17561
17716
  position: absolute;
17562
17717
  top: 50%;
@@ -17573,32 +17728,32 @@ span.du-bois-light-typography-ellipsis-single-line {
17573
17728
  }
17574
17729
 
17575
17730
  /* `<label for>` propagates `:hover` to the input, so scope hover/press to the control, not `input:hover`. */
17576
- .db-switch:hover input:not(:disabled):not(:checked) {
17731
+ .db-switch:hover .db-switch-input:not(:disabled):not(:checked) {
17577
17732
  background-color: var(--db-switch-surface-hover);
17578
17733
  border-color: var(--db-switch-border-hover);
17579
17734
  }
17580
17735
 
17581
- .db-switch:active input:not(:disabled):not(:checked) {
17736
+ .db-switch:active .db-switch-input:not(:disabled):not(:checked) {
17582
17737
  background-color: var(--db-switch-surface-active);
17583
17738
  border-color: var(--db-switch-border-active);
17584
17739
  }
17585
17740
 
17586
- .db-switch input:checked {
17741
+ .db-switch .db-switch-input:checked {
17587
17742
  background-color: var(--db-switch-surface-checked);
17588
17743
  border-color: var(--db-switch-border-checked);
17589
17744
  }
17590
17745
 
17591
- .db-switch:hover input:checked:not(:disabled) {
17746
+ .db-switch:hover .db-switch-input:checked:not(:disabled) {
17592
17747
  background-color: var(--db-switch-surface-checked-hover);
17593
17748
  border-color: var(--db-switch-border-checked-hover);
17594
17749
  }
17595
17750
 
17596
- .db-switch:active input:checked:not(:disabled) {
17751
+ .db-switch:active .db-switch-input:checked:not(:disabled) {
17597
17752
  background-color: var(--db-switch-surface-checked-active);
17598
17753
  border-color: var(--db-switch-border-checked-active);
17599
17754
  }
17600
17755
 
17601
- .db-switch input:checked::before {
17756
+ .db-switch .db-switch-input:checked::before {
17602
17757
  transform: translateY(-50%) translateX(calc(var(--db-switch-track-width) - var(--db-switch-thumb-size)));
17603
17758
  }
17604
17759
 
@@ -17606,31 +17761,31 @@ span.du-bois-light-typography-ellipsis-single-line {
17606
17761
  * the ring sits flush when off and gains a 1px offset when checked.
17607
17762
  * TODO: width/offset are hardcoded 1px to preserve the AntD look; adopt the system 2px focus ring
17608
17763
  * (var(--db-focus-ring-width)) in a separate change. */
17609
- .db-switch input:focus-visible {
17764
+ .db-switch .db-switch-input:focus-visible {
17610
17765
  border-color: var(--db-switch-border-focus);
17611
17766
  outline: 1px solid var(--db-focus-ring-color);
17612
17767
  outline-offset: 0;
17613
17768
  }
17614
17769
 
17615
- .db-switch input:checked:focus-visible {
17770
+ .db-switch .db-switch-input:checked:focus-visible {
17616
17771
  outline-offset: 1px;
17617
17772
  }
17618
17773
 
17619
- .db-switch input:disabled {
17774
+ .db-switch .db-switch-input:disabled {
17620
17775
  cursor: not-allowed;
17621
17776
  background-color: var(--db-switch-surface-disabled);
17622
17777
  border-color: var(--db-switch-border-disabled);
17623
17778
  }
17624
17779
 
17625
17780
  /* Disabled + on: more specific than the plain disabled rule, so it wins regardless of source order. */
17626
- .db-switch input:checked:disabled {
17781
+ .db-switch .db-switch-input:checked:disabled {
17627
17782
  background-color: var(--db-switch-surface-checked-disabled);
17628
17783
  border-color: var(--db-switch-surface-checked-disabled);
17629
17784
  }
17630
17785
 
17631
17786
  @media (prefers-reduced-motion: reduce) {
17632
- .db-switch input,
17633
- .db-switch input::before {
17787
+ .db-switch .db-switch-input,
17788
+ .db-switch .db-switch-input::before {
17634
17789
  transition: none;
17635
17790
  }
17636
17791
  }
@@ -17656,8 +17811,8 @@ span.du-bois-light-typography-ellipsis-single-line {
17656
17811
  }
17657
17812
 
17658
17813
  /* Target the <Label>'s class, not a bare `label` — that would also match the .db-switch root <label>. */
17659
- .db-switch-wrapper:has(input:disabled) .du-bois-light-label,
17660
- .db-switch-wrapper:has(input:disabled) .du-bois-dark-label {
17814
+ .db-switch-wrapper:has(.db-switch-input:disabled) .du-bois-light-label,
17815
+ .db-switch-wrapper:has(.db-switch-input:disabled) .du-bois-dark-label {
17661
17816
  color: var(--db-switch-text-disabled);
17662
17817
  }
17663
17818
 
@@ -17784,17 +17939,20 @@ span.du-bois-light-typography-ellipsis-single-line {
17784
17939
 
17785
17940
 
17786
17941
  :where(.du-bois-light-btn-icon-only) > :where(.anticon),
17787
- :where(.du-bois-light-btn-icon-only) > :where(.du-bois-light-btn-loading-icon) {
17942
+ :where(.du-bois-light-btn-icon-only) > :where(.du-bois-light-btn-loading-icon),
17943
+ :where(.du-bois-light-btn-icon-only) > :where(.db-icon) {
17788
17944
  font-size: 15px;
17789
17945
  }
17790
17946
 
17791
17947
  .du-bois-light-btn-icon-only:where(.du-bois-light-btn-lg) > .anticon,
17792
- .du-bois-light-btn-icon-only:where(.du-bois-light-btn-lg) > .du-bois-light-btn-loading-icon {
17948
+ .du-bois-light-btn-icon-only:where(.du-bois-light-btn-lg) > .du-bois-light-btn-loading-icon,
17949
+ .du-bois-light-btn-icon-only:where(.du-bois-light-btn-lg) > .db-icon {
17793
17950
  font-size: 20px;
17794
17951
  }
17795
17952
 
17796
17953
  .du-bois-light-btn-icon-only:where(.du-bois-light-btn-sm) > .anticon,
17797
- .du-bois-light-btn-icon-only:where(.du-bois-light-btn-sm) > .du-bois-light-btn-loading-icon {
17954
+ .du-bois-light-btn-icon-only:where(.du-bois-light-btn-sm) > .du-bois-light-btn-loading-icon,
17955
+ .du-bois-light-btn-icon-only:where(.du-bois-light-btn-sm) > .db-icon {
17798
17956
  font-size: 13px;
17799
17957
  }
17800
17958
 
@@ -17821,7 +17979,8 @@ span.du-bois-light-typography-ellipsis-single-line {
17821
17979
 
17822
17980
 
17823
17981
  .du-bois-light-btn:where([disabled]) > .anticon,
17824
- .du-bois-light-btn:where([disabled]) > .du-bois-light-btn-loading-icon {
17982
+ .du-bois-light-btn:where([disabled]) > .du-bois-light-btn-loading-icon,
17983
+ .du-bois-light-btn:where([disabled]) > .db-icon {
17825
17984
  pointer-events: none;
17826
17985
  }
17827
17986
 
@@ -17859,13 +18018,15 @@ span.du-bois-light-typography-ellipsis-single-line {
17859
18018
 
17860
18019
 
17861
18020
  :where(.du-bois-light-select-multiple) .du-bois-light-select-selection-item-remove > .anticon,
17862
- :where(.du-bois-light-select-multiple) .du-bois-light-select-selection-item-remove > .du-bois-light-select-selection-item-remove-icon {
18021
+ :where(.du-bois-light-select-multiple) .du-bois-light-select-selection-item-remove > .du-bois-light-select-selection-item-remove-icon,
18022
+ :where(.du-bois-light-select-multiple) .du-bois-light-select-selection-item-remove > .db-icon {
17863
18023
  line-height: 1;
17864
18024
  }
17865
18025
 
17866
18026
 
17867
18027
  :where(.du-bois-light-select-arrow) > .anticon,
17868
- :where(.du-bois-light-select-arrow) > .du-bois-light-select-arrow-icon {
18028
+ :where(.du-bois-light-select-arrow) > .du-bois-light-select-arrow-icon,
18029
+ :where(.du-bois-light-select-arrow) > .db-icon {
17869
18030
  line-height: 1;
17870
18031
  }
17871
18032
 
@@ -17896,12 +18057,14 @@ span.du-bois-light-typography-ellipsis-single-line {
17896
18057
  }
17897
18058
 
17898
18059
 
17899
- :where(.du-bois-light-picker-suffix) > .anticon {
18060
+ :where(.du-bois-light-picker-suffix) > .anticon,
18061
+ :where(.du-bois-light-picker-suffix) > .db-icon {
17900
18062
  vertical-align: top;
17901
18063
  }
17902
18064
 
17903
18065
 
17904
- :where(.du-bois-light-picker-clear) > .anticon {
18066
+ :where(.du-bois-light-picker-clear) > .anticon,
18067
+ :where(.du-bois-light-picker-clear) > .db-icon {
17905
18068
  vertical-align: top;
17906
18069
  }
17907
18070
 
@@ -17982,7 +18145,7 @@ span.du-bois-light-typography-ellipsis-single-line {
17982
18145
  }
17983
18146
 
17984
18147
 
17985
- .du-bois-light-menu-item:has(> .du-bois-light-menu-item-icon, > .anticon) > .du-bois-light-menu-title-content, .du-bois-light-menu-submenu-title:has(> .du-bois-light-menu-item-icon, > .anticon) > .du-bois-light-menu-title-content {
18148
+ .du-bois-light-menu-item:has(> .du-bois-light-menu-item-icon, > .anticon) > .du-bois-light-menu-title-content, .du-bois-light-menu-submenu-title:has(> .du-bois-light-menu-item-icon, > .anticon) > .du-bois-light-menu-title-content, .du-bois-light-menu-item:has(> .du-bois-light-menu-item-icon, > .db-icon) > .du-bois-light-menu-title-content, .du-bois-light-menu-submenu-title:has(> .du-bois-light-menu-item-icon, > .db-icon) > .du-bois-light-menu-title-content {
17986
18149
  margin-left: 10px;
17987
18150
  opacity: 1;
17988
18151
  transition: opacity 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), margin 0.3s, color 0.3s;
@@ -17996,12 +18159,13 @@ span.du-bois-light-typography-ellipsis-single-line {
17996
18159
  color: #fff;
17997
18160
  }
17998
18161
 
17999
- .du-bois-light-menu-dark .du-bois-light-menu-item-selected:has(> .du-bois-light-menu-item-icon, > .anticon) > .du-bois-light-menu-title-content {
18162
+ .du-bois-light-menu-dark .du-bois-light-menu-item-selected:has(> .du-bois-light-menu-item-icon, > .anticon) > .du-bois-light-menu-title-content, .du-bois-light-menu-dark .du-bois-light-menu-item-selected:has(> .du-bois-light-menu-item-icon, > .db-icon) > .du-bois-light-menu-title-content {
18000
18163
  color: #fff;
18001
18164
  }
18002
18165
 
18003
18166
 
18004
- .du-bois-light-breadcrumb-link > .anticon:not(:last-child) {
18167
+ .du-bois-light-breadcrumb-link > .anticon:not(:last-child),
18168
+ .du-bois-light-breadcrumb-link > .db-icon:not(:last-child) {
18005
18169
  margin-inline-end: 4px;
18006
18170
  }
18007
18171
 
@@ -18032,7 +18196,8 @@ span.du-bois-light-typography-ellipsis-single-line {
18032
18196
  }
18033
18197
 
18034
18198
 
18035
- .du-bois-light-btn > .anticon {
18199
+ .du-bois-light-btn > .anticon,
18200
+ .du-bois-light-btn > .db-icon {
18036
18201
  display: inline-block;
18037
18202
  }
18038
18203
 
@@ -18047,14 +18212,17 @@ span.du-bois-light-typography-ellipsis-single-line {
18047
18212
  }
18048
18213
 
18049
18214
 
18050
- :where(.du-bois-light-tag) > .anticon:first-child {
18215
+ :where(.du-bois-light-tag) > .anticon:first-child,
18216
+ :where(.du-bois-light-tag) > .db-icon:first-child {
18051
18217
  margin-right: 7px;
18052
18218
  }
18053
- :where(.du-bois-light-tag):has(> .anticon:first-child) > .anticon:not(:first-child) {
18219
+ :where(.du-bois-light-tag):has(> .anticon:first-child) > .anticon:not(:first-child),
18220
+ :where(.du-bois-light-tag):has(> .db-icon:first-child) > .db-icon:not(:first-child) {
18054
18221
  margin-left: 7px;
18055
18222
  }
18056
18223
 
18057
18224
 
18058
- .du-bois-light-btn > .anticon:not(:first-child) {
18225
+ .du-bois-light-btn > .anticon:not(:first-child),
18226
+ .du-bois-light-btn > .db-icon:not(:first-child) {
18059
18227
  margin-left: 8px;
18060
18228
  }
package/dist/patterns.js CHANGED
@@ -1,4 +1,4 @@
1
- export { D as DocumentationSidebar, F as FIXED_VERTICAL_STEPPER_WIDTH, M as MAX_VERTICAL_WIZARD_CONTENT_WIDTH, W as Wizard, a as WizardControlled, b as WizardModal, c as WizardStepContentWrapper, d as WizardStepNavigationProvider, u as useWizardCurrentStep, e as useWizardStepNavigation } from './WizardStepContentWrapper-6YTjeEaA.js';
1
+ export { D as DocumentationSidebar, F as FIXED_VERTICAL_STEPPER_WIDTH, M as MAX_VERTICAL_WIZARD_CONTENT_WIDTH, W as Wizard, a as WizardControlled, b as WizardModal, c as WizardStepContentWrapper, d as WizardStepNavigationProvider, u as useWizardCurrentStep, e as useWizardStepNavigation } from './WizardStepContentWrapper-DfErft8z.js';
2
2
  import '@emotion/react/jsx-runtime';
3
3
  import 'lodash/isUndefined';
4
4
  import 'react';
@@ -1,10 +1,27 @@
1
- import type { AlertProps as AntDAlertProps } from "antd";
2
1
  import type { ButtonProps } from "../Button";
3
2
  import { DesignSystemEventProviderAnalyticsEventTypes } from "../DesignSystemEventProvider";
4
3
  import type { AnalyticsEventProps, DangerouslySetAntdProps, HTMLDataAttributes } from "../types";
5
- export type AlertType = NonNullable<AntDAlertProps["type"]>;
6
- export interface AlertProps extends Omit<AntDAlertProps, "closeText" | "showIcon" | "type" | "icon">, HTMLDataAttributes, DangerouslySetAntdProps<Partial<Pick<AntDAlertProps, "showIcon" | "icon" | "message" | "description" | "type">>>, AnalyticsEventProps<DesignSystemEventProviderAnalyticsEventTypes.OnView> {
4
+ export type AlertType = "success" | "info" | "warning" | "error";
5
+ export interface AlertProps extends HTMLDataAttributes, DangerouslySetAntdProps<{
6
+ showIcon?: boolean;
7
+ icon?: React.ReactNode;
8
+ message?: React.ReactNode;
9
+ description?: React.ReactNode;
10
+ type?: AlertType;
11
+ }>, AnalyticsEventProps<DesignSystemEventProviderAnalyticsEventTypes.OnView> {
7
12
  type: AlertType;
13
+ message: React.ReactNode;
14
+ description?: React.ReactNode;
15
+ closable?: boolean;
16
+ onClose?: React.MouseEventHandler<HTMLButtonElement>;
17
+ afterClose?: () => void;
18
+ role?: string;
19
+ style?: React.CSSProperties;
20
+ className?: string;
21
+ prefixCls?: string;
22
+ onMouseEnter?: React.MouseEventHandler<HTMLDivElement>;
23
+ onMouseLeave?: React.MouseEventHandler<HTMLDivElement>;
24
+ onClick?: React.MouseEventHandler<HTMLDivElement>;
8
25
  closeIconLabel?: string;
9
26
  /**
10
27
  * @deprecated Use CEP-governed banners instead. go/banner/create go/getabanner go/banner
@@ -13,7 +30,7 @@ export interface AlertProps extends Omit<AntDAlertProps, "closeText" | "showIcon
13
30
  /**
14
31
  * @deprecated Please use `actions` instead.
15
32
  */
16
- action?: AntDAlertProps["action"];
33
+ action?: React.ReactNode;
17
34
  /** Array of button props to render as footer actions. All buttons will be rendered as small size. */
18
35
  actions?: Omit<ButtonProps, "size" | "type">[];
19
36
  /** Force actions to be rendered beneath the description. */
@@ -5,6 +5,7 @@ import type { WithLoadingState } from "../LoadingState/LoadingState";
5
5
  import type { AnalyticsEventPropsWithStartInteraction, HTMLDataAttributes } from "../types";
6
6
  export { SMALL_BUTTON_HEIGHT, getButtonEmotionStyles, getMemoizedButtonEmotionStyles } from "./AntDButtonInternal";
7
7
  export type ButtonSize = "middle" | "small";
8
+ export type ButtonForceMode = "native" | "legacy-antd" | "flag";
8
9
  export interface ButtonProps extends Omit<AntDButtonProps, "type" | "ghost" | "shape" | "size">, HTMLDataAttributes, Omit<WithLoadingState, "loading">, AnalyticsEventPropsWithStartInteraction<DesignSystemEventProviderAnalyticsEventTypes.OnClick | DesignSystemEventProviderAnalyticsEventTypes.OnView> {
9
10
  type?: "primary" | "link" | "tertiary";
10
11
  size?: ButtonSize;
@@ -12,6 +13,6 @@ export interface ButtonProps extends Omit<AntDButtonProps, "type" | "ghost" | "s
12
13
  dangerouslySetForceIconStyles?: boolean;
13
14
  dangerouslyUseFocusPseudoClass?: boolean;
14
15
  dangerouslyAppendWrapperCss?: React.CSSProperties;
15
- useNativeButtonOverride?: boolean;
16
+ forceMode?: ButtonForceMode;
16
17
  }
17
18
  export declare const Button: ForwardRefExoticComponent<PropsWithoutRef<ButtonProps> & RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,4 @@
1
+ import type { ForwardRefExoticComponent, PropsWithoutRef, RefAttributes } from "react";
2
+ import type { IconProps } from "../../Icon";
3
+ declare const SlidesIcon: ForwardRefExoticComponent<PropsWithoutRef<IconProps> & RefAttributes<HTMLSpanElement>>;
4
+ export default SlidesIcon;
@@ -385,6 +385,7 @@ export { default as SidebarOpenIcon } from "./SidebarOpenIcon";
385
385
  export { default as SidebarSyncIcon } from "./SidebarSyncIcon";
386
386
  export { default as SlashSquareIcon } from "./SlashSquareIcon";
387
387
  export { default as SlidersIcon } from "./SlidersIcon";
388
+ export { default as SlidesIcon } from "./SlidesIcon";
388
389
  export { default as SnippetIcon } from "./SnippetIcon";
389
390
  export { default as SortAscendingIcon } from "./SortAscendingIcon";
390
391
  export { default as SortCustomHorizontalIcon } from "./SortCustomHorizontalIcon";
@@ -1,8 +1,6 @@
1
1
  import type { UseComboboxGetToggleButtonPropsOptions } from "downshift";
2
2
  import { type DownshiftToggleButtonProps } from "./TypeaheadComboboxToggleButton";
3
3
  import type { ButtonSize } from "../Button";
4
- /** Height of the non-inline controls block, for callers that position it themselves. */
5
- export declare const TYPEAHEAD_COMBOBOX_CONTROLS_HEIGHT = 16;
6
4
  export interface TypeaheadComboboxControlsProps {
7
5
  getDownshiftToggleButtonProps: (options?: UseComboboxGetToggleButtonPropsOptions) => DownshiftToggleButtonProps;
8
6
  showClearSelectionButton?: boolean;
@@ -35,7 +35,6 @@ export * from "./LegacyPopover";
35
35
  export * from "./LegacySelect";
36
36
  export * from "./LegacySkeleton";
37
37
  export * from "./LegacyTable";
38
- export * from "./LegacyTooltip";
39
38
  export * from "./Listbox";
40
39
  export * from "./LoadingState";
41
40
  export * from "./Menu";
@@ -9,9 +9,10 @@ export type SAFEXValueType = boolean | number;
9
9
  *
10
10
  * @param flag The name of the flag to check
11
11
  * @param defaultValue The default value to return if the flag is not set
12
+ * @param testDefault The default to use in Jest or UiTestServer tests
12
13
  * @returns
13
14
  */
14
- export declare const safex: <T extends SAFEXValueType>(flag: string, defaultValue: T) => T;
15
+ export declare const safex: <T extends SAFEXValueType>(flag: string, defaultValue: T, testDefault?: T) => T;
15
16
  /**
16
17
  * Reads a server-side feature flag value. Delegates to `window.__debug__serverSideSafe`
17
18
  * which is set by `@databricks/web-shared` and includes full flag resolution with
@@ -21,6 +22,7 @@ export declare const safex: <T extends SAFEXValueType>(flag: string, defaultValu
21
22
  *
22
23
  * @param flag The name of the flag to check
23
24
  * @param defaultValue The default value to return if the flag is not set
25
+ * @param testDefault The default to use in Jest or UiTestServer tests
24
26
  * @returns
25
27
  */
26
- export declare const serverSideSafe: <T extends SAFEXValueType>(flag: string, defaultValue: T) => T;
28
+ export declare const serverSideSafe: <T extends SAFEXValueType>(flag: string, defaultValue: T, testDefault?: T) => T;
@@ -63,6 +63,7 @@ export declare enum ValidSemanticColors {
63
63
  BorderDanger = "borderDanger",
64
64
  BorderWarning = "borderWarning",
65
65
  CodeBackground = "codeBackground",
66
+ ComposerBackground = "composerBackground",
66
67
  IconTrending = "iconTrending",
67
68
  OverlayOverlay = "overlayOverlay",
68
69
  ProgressFill = "progressFill",
@@ -1,6 +1,5 @@
1
1
  declare const antdGeneralVariables: {
2
2
  classnamePrefix: string;
3
- iconfontCssPrefix: string;
4
3
  borderRadiusBase: number;
5
4
  borderWidth: number;
6
5
  heightSm: number;