@databricks/design-system 2.0.1 → 2.0.3

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 (91) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/{WizardStepContentWrapper-CFCTOSm8.js → WizardStepContentWrapper-DsAS2ZAT.js} +1356 -686
  3. package/dist/WizardStepContentWrapper-DsAS2ZAT.js.map +1 -0
  4. package/dist/dubois-colors.less +2 -0
  5. package/dist/fonts/dm-mono/DMMono-Regular.woff2 +0 -0
  6. package/dist/fonts/dm-mono/dm-mono.css +11 -0
  7. package/dist/index-dark.css +305 -516
  8. package/dist/index-dark.mitigated.css +305 -516
  9. package/dist/index.css +438 -544
  10. package/dist/index.js +1971 -244
  11. package/dist/index.js.map +1 -1
  12. package/dist/index.mitigated.css +447 -553
  13. package/dist/patterns.js +12 -2
  14. package/dist/patterns.js.map +1 -1
  15. package/dist-types/design-system/Button/Button.d.ts +2 -2
  16. package/dist-types/design-system/ContextMenu/ContextMenu.d.ts +2 -2
  17. package/dist-types/design-system/DesignSystemProvider/DesignSystemProvider.d.ts +44 -0
  18. package/dist-types/design-system/Drawer/DrawerContext.d.ts +9 -0
  19. package/dist-types/design-system/FormV2/RHFAdapters.d.ts +8 -8
  20. package/dist-types/design-system/Grid/Col.d.ts +1 -3
  21. package/dist-types/design-system/Grid/NativeCol.d.ts +10 -0
  22. package/dist-types/design-system/Grid/NativeGridContext.d.ts +11 -0
  23. package/dist-types/design-system/Grid/NativeRow.d.ts +13 -0
  24. package/dist-types/design-system/Grid/Row.d.ts +3 -4
  25. package/dist-types/design-system/Grid/grid-styling.d.ts +22 -0
  26. package/dist-types/design-system/Grid/gridConstants.d.ts +2 -0
  27. package/dist-types/design-system/Grid/index.d.ts +1 -0
  28. package/dist-types/design-system/Grid/rowConstants.d.ts +7 -0
  29. package/dist-types/design-system/Grid/types.d.ts +49 -0
  30. package/dist-types/design-system/Hooks/index.d.ts +1 -1
  31. package/dist-types/design-system/Hooks/useDesignSystemTheme.d.ts +7 -7
  32. package/dist-types/design-system/Icon/LegacyAntDIcon.d.ts +21 -0
  33. package/dist-types/design-system/Icon/__generated/icons/FlowsIcon.d.ts +4 -0
  34. package/dist-types/design-system/Icon/__generated/icons/LakewatchAlertIcon.d.ts +4 -0
  35. package/dist-types/design-system/Icon/__generated/icons/LakewatchDatasourceIcon.d.ts +4 -0
  36. package/dist-types/design-system/Icon/__generated/icons/LakewatchDetectionRuleIcon.d.ts +4 -0
  37. package/dist-types/design-system/Icon/__generated/icons/LakewatchParserIcon.d.ts +4 -0
  38. package/dist-types/design-system/Icon/__generated/icons/index.d.ts +5 -0
  39. package/dist-types/design-system/Icon/index.d.ts +0 -1
  40. package/dist-types/design-system/LegacyTooltip/index.d.ts +0 -1
  41. package/dist-types/design-system/Skeleton/TitleSkeleton.d.ts +9 -3
  42. package/dist-types/design-system/TypeaheadCombobox/TypeaheadComboboxAddButton.d.ts +4 -0
  43. package/dist-types/design-system/TypeaheadCombobox/TypeaheadComboboxCheckboxItem.d.ts +8 -0
  44. package/dist-types/design-system/TypeaheadCombobox/TypeaheadComboboxControls.d.ts +2 -0
  45. package/dist-types/design-system/TypeaheadCombobox/TypeaheadComboboxFooter.d.ts +12 -0
  46. package/dist-types/design-system/TypeaheadCombobox/TypeaheadComboboxInput.d.ts +8 -0
  47. package/dist-types/design-system/TypeaheadCombobox/TypeaheadComboboxMenu.d.ts +8 -0
  48. package/dist-types/design-system/TypeaheadCombobox/TypeaheadComboboxMenuItem.d.ts +8 -0
  49. package/dist-types/design-system/TypeaheadCombobox/TypeaheadComboboxMultiSelectInput.d.ts +17 -0
  50. package/dist-types/design-system/TypeaheadCombobox/TypeaheadComboboxRoot.d.ts +8 -0
  51. package/dist-types/design-system/TypeaheadCombobox/TypeaheadComboboxSectionHeader.d.ts +4 -0
  52. package/dist-types/design-system/TypeaheadCombobox/TypeaheadComboboxSelectedItem.d.ts +8 -0
  53. package/dist-types/design-system/TypeaheadCombobox/TypeaheadComboboxSeparator.d.ts +4 -0
  54. package/dist-types/design-system/TypeaheadCombobox/TypeaheadComboboxToggleButton.d.ts +8 -0
  55. package/dist-types/design-system/TypeaheadCombobox/hooks/downshiftHookWrappers.d.ts +8 -0
  56. package/dist-types/design-system/TypeaheadComboboxV2/CountBadge.d.ts +6 -0
  57. package/dist-types/design-system/TypeaheadComboboxV2/TypeaheadComboboxAddButton.d.ts +3 -0
  58. package/dist-types/design-system/TypeaheadComboboxV2/TypeaheadComboboxCheckboxItem.d.ts +10 -0
  59. package/dist-types/design-system/TypeaheadComboboxV2/TypeaheadComboboxControls.d.ts +11 -0
  60. package/dist-types/design-system/TypeaheadComboboxV2/TypeaheadComboboxFooter.d.ts +2 -0
  61. package/dist-types/design-system/TypeaheadComboboxV2/TypeaheadComboboxInput.d.ts +9 -0
  62. package/dist-types/design-system/TypeaheadComboboxV2/TypeaheadComboboxMenu.d.ts +17 -0
  63. package/dist-types/design-system/TypeaheadComboboxV2/TypeaheadComboboxMenuItem.d.ts +16 -0
  64. package/dist-types/design-system/TypeaheadComboboxV2/TypeaheadComboboxMultiSelectInput.d.ts +18 -0
  65. package/dist-types/design-system/TypeaheadComboboxV2/TypeaheadComboboxRoot.d.ts +17 -0
  66. package/dist-types/design-system/TypeaheadComboboxV2/TypeaheadComboboxSectionHeader.d.ts +1 -0
  67. package/dist-types/design-system/TypeaheadComboboxV2/TypeaheadComboboxSelectedItem.d.ts +11 -0
  68. package/dist-types/design-system/TypeaheadComboboxV2/TypeaheadComboboxSeparator.d.ts +1 -0
  69. package/dist-types/design-system/TypeaheadComboboxV2/TypeaheadComboboxToggleButton.d.ts +4 -0
  70. package/dist-types/design-system/TypeaheadComboboxV2/hooks/footerFocus.d.ts +13 -0
  71. package/dist-types/design-system/TypeaheadComboboxV2/hooks/index.d.ts +4 -0
  72. package/dist-types/design-system/TypeaheadComboboxV2/hooks/useComboboxItems.d.ts +32 -0
  73. package/dist-types/design-system/TypeaheadComboboxV2/hooks/useComboboxState.d.ts +81 -0
  74. package/dist-types/design-system/TypeaheadComboboxV2/hooks/useComboboxStateProps.d.ts +36 -0
  75. package/dist-types/design-system/TypeaheadComboboxV2/hooks/useMultipleSelectionState.d.ts +25 -0
  76. package/dist-types/design-system/TypeaheadComboboxV2/hooks/useRestoreHighlightedOption.d.ts +18 -0
  77. package/dist-types/design-system/TypeaheadComboboxV2/hooks/useScrollOptionIntoView.d.ts +11 -0
  78. package/dist-types/design-system/TypeaheadComboboxV2/hooks/useTypeaheadComboboxContext.d.ts +2 -0
  79. package/dist-types/design-system/TypeaheadComboboxV2/hooks/useVirtualizedComboboxScroll.d.ts +36 -0
  80. package/dist-types/design-system/TypeaheadComboboxV2/index.d.ts +13 -0
  81. package/dist-types/design-system/TypeaheadComboboxV2/providers/TypeaheadComboboxContext.d.ts +47 -0
  82. package/dist-types/design-system/Typography/titleLevel.d.ts +11 -0
  83. package/dist-types/design-system/_shared_/Menu/index.d.ts +1 -1
  84. package/dist-types/design-system/fonts.d.ts +1 -0
  85. package/dist-types/design-system/index.d.ts +1 -0
  86. package/dist-types/design-system/utils/useMediaQuery.d.ts +4 -1
  87. package/dist-types/theme/_generated/ValidSemanticColors.d.ts +2 -1
  88. package/package.json +14 -3
  89. package/dist/WizardStepContentWrapper-CFCTOSm8.js.map +0 -1
  90. package/dist-types/design-system/Icon/AntdIcon.d.ts +0 -114
  91. package/dist-types/design-system/LegacyTooltip/LegacyInfoTooltip.d.ts +0 -16
@@ -3,9 +3,8 @@ import isUndefined from 'lodash/isUndefined';
3
3
  import * as React from 'react';
4
4
  import React__default, { useRef, useEffect, useMemo, useCallback, useContext, createContext, useState, forwardRef, useLayoutEffect, useImperativeHandle, Children } from 'react';
5
5
  import { useTheme, ThemeProvider, css, keyframes, ClassNames, Global, createElement } from '@emotion/react';
6
- import { ConfigProvider, notification, Collapse, Button as Button$2, Typography as Typography$1, Tooltip as Tooltip$1, Checkbox as Checkbox$1, Input as Input$2, Select as Select$1, Radio as Radio$1, Layout as Layout$1, Form as Form$1, Pagination as Pagination$1, Table, Dropdown, Tree as Tree$1 } from 'antd';
6
+ import { ConfigProvider, notification, Collapse, Button as Button$2, Typography as Typography$1, Checkbox as Checkbox$1, Input as Input$2, Select as Select$1, Radio as Radio$1, Layout as Layout$1, Form as Form$1, Pagination as Pagination$1, Table, Tooltip as Tooltip$1, Dropdown, Tree as Tree$1 } from 'antd';
7
7
  import classnames from 'classnames';
8
- import AntDIcon, { AppstoreOutlined, ArrowUpOutlined, BookOutlined, BugOutlined, CheckCircleFilled, CheckCircleOutlined, ClockCircleFilled, ClockCircleOutlined, CloseCircleFilled, CloseOutlined, CodeOutlined, CommentOutlined, CopyOutlined, DatabaseOutlined, DeleteOutlined, DownOutlined, EditOutlined, EllipsisOutlined, ExclamationCircleOutlined, EyeOutlined, FileOutlined, FileTextOutlined, FilterOutlined, FlagOutlined, FolderOpenOutlined, FolderOutlined, FullscreenOutlined, GithubOutlined, HourglassOutlined, InfoCircleOutlined, LinkOutlined, LoadingOutlined, NotificationOutlined, PauseCircleFilled, PlayCircleOutlined, PlusOutlined, QuestionCircleOutlined, ReloadOutlined, RightOutlined, RocketOutlined, SearchOutlined, SendOutlined, SettingOutlined, SlackOutlined, SwapOutlined, SyncOutlined, UpOutlined, VideoCameraOutlined } from '@ant-design/icons';
9
8
  import { useMergeRefs } from '@floating-ui/react';
10
9
  import uniqueId$1 from 'lodash/uniqueId';
11
10
  import { format, isBefore, startOfMonth, isAfter, parse, isValid, startOfToday, startOfYesterday, sub, startOfWeek, endOfToday, endOfYesterday, getISOWeekYear, getISOWeek, parseISO, startOfISOWeek } from 'date-fns';
@@ -17,6 +16,15 @@ import '@floating-ui/dom';
17
16
  import { createPortal } from 'react-dom';
18
17
  import '@radix-ui/react-hover-card';
19
18
  import '@radix-ui/react-toast';
19
+ import '@react-aria/combobox';
20
+ import { useOption } from '@react-aria/listbox';
21
+ import '@react-aria/overlays';
22
+ import '@react-aria/utils';
23
+ import '@react-aria/focus';
24
+ import '@react-aria/button';
25
+ import '@react-stately/combobox';
26
+ import '@react-aria/i18n';
27
+ import '@react-stately/collections';
20
28
  import noop from 'lodash/noop';
21
29
  import pick from 'lodash/pick';
22
30
  import compact from 'lodash/compact';
@@ -33,6 +41,8 @@ import mapValues from 'lodash/mapValues';
33
41
  import * as AccordionPrimitive from '@radix-ui/react-accordion';
34
42
  import * as RadixTooltip from '@radix-ui/react-tooltip-patch';
35
43
  import { TooltipProvider } from '@radix-ui/react-tooltip-patch';
44
+ import kebabCase from 'lodash/kebabCase';
45
+ import AntDIcon, { EllipsisOutlined } from '@ant-design/icons';
36
46
  import random from 'lodash/random';
37
47
  import times from 'lodash/times';
38
48
  import { ContextMenuArrow, ContextMenuSub, ContextMenuGroup, ContextMenuTrigger, ContextMenuItemIndicator, ContextMenuCheckboxItem, ContextMenuPortal, ContextMenuContent, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuSeparator, ContextMenuRadioItem, ContextMenuRadioGroup, ContextMenuItem, ContextMenuLabel, ContextMenu as ContextMenu$2 } from '@radix-ui/react-context-menu';
@@ -440,7 +450,8 @@ const darkColorList = {
440
450
  textValidationDanger: primitiveColors.red500,
441
451
  textValidationSuccess: primitiveColors.green500,
442
452
  textValidationWarning: primitiveColors.yellow500,
443
- tooltipBackgroundTooltip: primitiveColors.grey100
453
+ tooltipBackgroundTooltip: primitiveColors.grey100,
454
+ tooltipTextTooltip: primitiveColors.grey800
444
455
  };
445
456
 
446
457
  // THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
@@ -525,7 +536,8 @@ const lightColorList = {
525
536
  textValidationDanger: primitiveColors.red600,
526
537
  textValidationSuccess: primitiveColors.green600,
527
538
  textValidationWarning: primitiveColors.yellow600,
528
- tooltipBackgroundTooltip: primitiveColors.neutral800
539
+ tooltipBackgroundTooltip: primitiveColors.neutral800,
540
+ tooltipTextTooltip: primitiveColors.white
529
541
  };
530
542
 
531
543
  // Currently these are the same for both light and dark mode, but we may want to change this in the future.
@@ -904,6 +916,7 @@ var ValidSemanticColors = /*#__PURE__*/ function(ValidSemanticColors) {
904
916
  ValidSemanticColors["TextValidationSuccess"] = "textValidationSuccess";
905
917
  ValidSemanticColors["TextValidationWarning"] = "textValidationWarning";
906
918
  ValidSemanticColors["TooltipBackgroundTooltip"] = "tooltipBackgroundTooltip";
919
+ ValidSemanticColors["TooltipTextTooltip"] = "tooltipTextTooltip";
907
920
  return ValidSemanticColors;
908
921
  }({});
909
922
 
@@ -1628,14 +1641,14 @@ function getPrefixedClassNameFromTheme(theme, className) {
1628
1641
  }
1629
1642
  /**
1630
1643
  * Returns the theme-scope class for the current context: `du-bois-dark` in dark
1631
- * mode, `du-bois-light` otherwise.
1644
+ * mode, `du-bois-light` otherwise. The `.du-bois-*` rule declares the `--db-color-*`
1645
+ * tokens, so any element carrying this class becomes a resolution scope for the
1646
+ * native (plain-CSS, token-driven) components below it.
1632
1647
  *
1633
- * Native (plain-CSS, token-driven) components put this on their OWN root element
1634
- * so the CSS custom-property cascade has a `:where(.du-bois-*)` ancestor to
1635
- * resolve dark/light values against. Self-scoping (rather than relying on a
1636
- * provider-emitted wrapper) means no extra DOM node is inserted into consumer
1637
- * trees, and forced-theme subtrees / portaled content resolve correctly because
1638
- * the class rides React context, not DOM ancestry. See DUBOIS-448.
1648
+ * `DesignSystemProvider` puts this on the scope wrapper it renders around its
1649
+ * children, so in-tree native components inherit the tokens without self-scoping.
1650
+ * Use it to re-establish that scope on content that renders OUTSIDE that wrapper —
1651
+ * i.e. portaled surfaces (context crosses React portals, DOM inheritance does not).
1639
1652
  */ function useDuboisThemeClass() {
1640
1653
  const { theme } = useDesignSystemTheme();
1641
1654
  return getClassNamePrefix(theme);
@@ -1720,6 +1733,13 @@ const DesignSystemThemeContext = /*#__PURE__*/ createContext({
1720
1733
  });
1721
1734
  const DesignSystemContext = /*#__PURE__*/ createContext(DuboisContextDefaults);
1722
1735
  const DU_BOIS_ENABLE_ANIMATION_CLASSNAME = 'du-bois-enable-animation';
1736
+ /**
1737
+ * `data-testid` on the `display: contents` scope wrapper `DesignSystemProvider` renders around its
1738
+ * children. The wrapper carries the theme-scope class / consumer token overrides but no visual box,
1739
+ * so tests treat it as transparent: the shared `@databricks/testing-library` `render` returns
1740
+ * `container` pointing inside this wrapper, so `container.firstChild` / emptiness assertions see the
1741
+ * component's own output.
1742
+ */ const DS_OVERRIDE_TOKENS_WRAPPER_TESTID = 'ds-override-tokens-wrapper';
1723
1743
  // getAnimationCss is called from every Du Bois component on every render. It only depends
1724
1744
  // on a single boolean and produces a (deep) object literal, so memoize the result at module
1725
1745
  // level — at most 2 cache entries. Sharing the same reference across all callers also lets
@@ -1746,17 +1766,57 @@ const getAnimationCss = memoize((enableAnimation)=>{
1746
1766
  });
1747
1767
  const DesignSystemProviderPropsContext = /*#__PURE__*/ React__default.createContext(null);
1748
1768
  const AntDConfigProviderPropsContext = /*#__PURE__*/ React__default.createContext(null);
1749
- /** Only to be accessed by SupportsDuBoisThemes, except for special exceptions like tests and storybook. Ask in #dubois first if you need to use it. */ const DesignSystemThemeProvider = ({ isDarkMode = false, semanticColors, children })=>{
1769
+ /** Only to be accessed by SupportsDuBoisThemes, except for special exceptions like tests and storybook. Ask in #dubois first if you need to use it. */ const DesignSystemThemeProvider = ({ isDarkMode = false, semanticColors, designTokenOverrides, children })=>{
1750
1770
  return /*#__PURE__*/ jsx(DesignSystemThemeContext.Provider, {
1751
1771
  value: {
1752
1772
  isDarkMode,
1753
- semanticColors
1773
+ semanticColors,
1774
+ designTokenOverrides
1754
1775
  },
1755
1776
  children: children
1756
1777
  });
1757
1778
  };
1779
+ // Cache the color-derived style per `semanticColors` reference so every consumer shares one object
1780
+ // (built once) rather than each rebuilding its own ~82-key copy. Keyed by object identity, which
1781
+ // consumers keep stable (module-level `consumerLightColorList`/`consumerDarkColorList`).
1782
+ const colorOverrideStyleCache = new WeakMap();
1783
+ function semanticColorsToStyle(semanticColors) {
1784
+ const cached = colorOverrideStyleCache.get(semanticColors);
1785
+ if (cached) return cached;
1786
+ const style = {};
1787
+ for (const [key, value] of Object.entries(semanticColors)){
1788
+ style[`--db-color-${kebabCase(key)}`] = value;
1789
+ }
1790
+ colorOverrideStyleCache.set(semanticColors, style);
1791
+ return style;
1792
+ }
1793
+ /**
1794
+ * Returns the inline style that re-declares the consumer's design-token overrides as `--db-*` custom
1795
+ * properties, or `undefined` when none are set. It merges the `semanticColors` override (emitted as
1796
+ * `--db-color-<name>`) with any raw `designTokenOverrides` (already keyed by `--db-*` name) layered
1797
+ * on top. The values inherit down the DOM, so setting this on a theme-scope element re-themes every
1798
+ * native (plain-CSS) component below it.
1799
+ *
1800
+ * `DesignSystemProvider` applies this to the scope wrapper it renders around its children, which
1801
+ * covers the whole in-tree subtree by inheritance. Portaled surfaces (Modal, Drawer, Popover,
1802
+ * DropdownMenu, Notification, …) render outside that wrapper in the DOM, so each merges this style
1803
+ * (plus `useDuboisThemeClass`) onto its own outermost portal element — context crosses React portals
1804
+ * while DOM inheritance does not.
1805
+ */ function useDesignTokenOverrideStyles() {
1806
+ const { semanticColors, designTokenOverrides } = useContext(DesignSystemThemeContext);
1807
+ return useMemo(()=>{
1808
+ if (!semanticColors && !designTokenOverrides) return undefined;
1809
+ return {
1810
+ ...semanticColors ? semanticColorsToStyle(semanticColors) : {},
1811
+ ...designTokenOverrides
1812
+ };
1813
+ }, [
1814
+ semanticColors,
1815
+ designTokenOverrides
1816
+ ]);
1817
+ }
1758
1818
  const DesignSystemProvider = ({ children, enableAnimation = false, zIndexBase = 1000, getPopupContainer, flags = {}, themeOverrides, // Disable virtualization of legacy AntD components when running tests so that all items are rendered
1759
- disableLegacyAntVirtualization = process.env.NODE_ENV === 'test' ? true : undefined })=>{
1819
+ disableLegacyAntVirtualization = process.env.NODE_ENV === 'test' ? true : undefined, disableTokenScopeWrapper = false })=>{
1760
1820
  const { isDarkMode, semanticColors } = useContext(DesignSystemThemeContext);
1761
1821
  const theme = useMemo(()=>getTheme(isDarkMode, {
1762
1822
  enableAnimation,
@@ -1805,6 +1865,7 @@ disableLegacyAntVirtualization = process.env.NODE_ENV === 'test' ? true : undefi
1805
1865
  themeOverrides
1806
1866
  ]);
1807
1867
  const classNamePrefix = getClassNamePrefix(mergedTheme);
1868
+ const designTokenOverrideStyle = useDesignTokenOverrideStyles();
1808
1869
  const value = useMemo(()=>{
1809
1870
  return {
1810
1871
  enableAnimation,
@@ -1839,7 +1900,15 @@ disableLegacyAntVirtualization = process.env.NODE_ENV === 'test' ? true : undefi
1839
1900
  children: /*#__PURE__*/ jsx(TooltipProvider, {
1840
1901
  children: /*#__PURE__*/ jsx(DesignSystemContext.Provider, {
1841
1902
  value: value,
1842
- children: children
1903
+ children: disableTokenScopeWrapper ? children : /*#__PURE__*/ jsx("div", {
1904
+ "data-testid": DS_OVERRIDE_TOKENS_WRAPPER_TESTID,
1905
+ className: classNamePrefix,
1906
+ style: {
1907
+ display: 'contents',
1908
+ ...designTokenOverrideStyle
1909
+ },
1910
+ children: children
1911
+ })
1843
1912
  })
1844
1913
  })
1845
1914
  })
@@ -1878,8 +1947,11 @@ const ApplyDesignSystemContextOverrides = ({ enableAnimation, zIndexBase, getPop
1878
1947
  flags,
1879
1948
  themeOverrides
1880
1949
  ]);
1950
+ // Only overrides context props — the token scope is inherited from an ancestor (in-tree) or
1951
+ // re-applied on the portal root — so it must not emit a second scope wrapper. See the prop's docs.
1881
1952
  return /*#__PURE__*/ jsx(DesignSystemProvider, {
1882
1953
  ...newProps,
1954
+ disableTokenScopeWrapper: true,
1883
1955
  children: children
1884
1956
  });
1885
1957
  };
@@ -1899,8 +1971,10 @@ const ApplyDesignSystemFlags = ({ flags, children })=>{
1899
1971
  parentDesignSystemProviderProps,
1900
1972
  flags
1901
1973
  ]);
1974
+ // Context-only override (flags): inherits the ancestor's token scope, so no second wrapper.
1902
1975
  return /*#__PURE__*/ jsx(DesignSystemProvider, {
1903
1976
  ...newProps,
1977
+ disableTokenScopeWrapper: true,
1904
1978
  children: children
1905
1979
  });
1906
1980
  };
@@ -1932,64 +2006,6 @@ const useAntDConfigProviderContext = ()=>{
1932
2006
  });
1933
2007
  };
1934
2008
 
1935
- // eslint-disable-next-line @databricks/no-restricted-imports-regexp -- we can directly import antd icons because here in order to wrap them for import elsewhere
1936
- function React18CompatibleIconComponent(IconComponent) {
1937
- return IconComponent;
1938
- }
1939
- /**
1940
- * Reëxport antd built-in icons with an interface that has been made compatible with the React 18
1941
- * types by removing the props that are no longer present on the React DOM types.
1942
- *
1943
- * Prefer Du Bois icons from `__generated/icons` for new UI.
1944
- */ /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyAppstoreOutlined = React18CompatibleIconComponent(AppstoreOutlined);
1945
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyArrowUpOutlined = React18CompatibleIconComponent(ArrowUpOutlined);
1946
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyBookOutlined = React18CompatibleIconComponent(BookOutlined);
1947
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyBugOutlined = React18CompatibleIconComponent(BugOutlined);
1948
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyCheckCircleFilled = React18CompatibleIconComponent(CheckCircleFilled);
1949
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyCheckCircleOutlined = React18CompatibleIconComponent(CheckCircleOutlined);
1950
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyClockCircleFilled = React18CompatibleIconComponent(ClockCircleFilled);
1951
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyClockCircleOutlined = React18CompatibleIconComponent(ClockCircleOutlined);
1952
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyCloseCircleFilled = React18CompatibleIconComponent(CloseCircleFilled);
1953
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyCloseOutlined = React18CompatibleIconComponent(CloseOutlined);
1954
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyCodeOutlined = React18CompatibleIconComponent(CodeOutlined);
1955
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyCommentOutlined = React18CompatibleIconComponent(CommentOutlined);
1956
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyCopyOutlined = React18CompatibleIconComponent(CopyOutlined);
1957
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyDatabaseOutlined = React18CompatibleIconComponent(DatabaseOutlined);
1958
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyDeleteOutlined = React18CompatibleIconComponent(DeleteOutlined);
1959
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyDownOutlined = React18CompatibleIconComponent(DownOutlined);
1960
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyEditOutlined = React18CompatibleIconComponent(EditOutlined);
1961
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyEllipsisOutlined = React18CompatibleIconComponent(EllipsisOutlined);
1962
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyExclamationCircleOutlined = React18CompatibleIconComponent(ExclamationCircleOutlined);
1963
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyEyeOutlined = React18CompatibleIconComponent(EyeOutlined);
1964
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyFileOutlined = React18CompatibleIconComponent(FileOutlined);
1965
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyFileTextOutlined = React18CompatibleIconComponent(FileTextOutlined);
1966
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyFilterOutlined = React18CompatibleIconComponent(FilterOutlined);
1967
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyFlagOutlined = React18CompatibleIconComponent(FlagOutlined);
1968
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyFolderOpenOutlined = React18CompatibleIconComponent(FolderOpenOutlined);
1969
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyFolderOutlined = React18CompatibleIconComponent(FolderOutlined);
1970
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyFullscreenOutlined = React18CompatibleIconComponent(FullscreenOutlined);
1971
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyGithubOutlined = React18CompatibleIconComponent(GithubOutlined);
1972
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyHourglassOutlined = React18CompatibleIconComponent(HourglassOutlined);
1973
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyInfoCircleOutlined = React18CompatibleIconComponent(InfoCircleOutlined);
1974
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyLinkOutlined = React18CompatibleIconComponent(LinkOutlined);
1975
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyLoadingOutlined = React18CompatibleIconComponent(LoadingOutlined);
1976
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyNotificationOutlined = React18CompatibleIconComponent(NotificationOutlined);
1977
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyPauseCircleFilled = React18CompatibleIconComponent(PauseCircleFilled);
1978
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyPlayCircleOutlined = React18CompatibleIconComponent(PlayCircleOutlined);
1979
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyPlusOutlined = React18CompatibleIconComponent(PlusOutlined);
1980
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyQuestionCircleOutlined = React18CompatibleIconComponent(QuestionCircleOutlined);
1981
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyReloadOutlined = React18CompatibleIconComponent(ReloadOutlined);
1982
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyRightOutlined = React18CompatibleIconComponent(RightOutlined);
1983
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyRocketOutlined = React18CompatibleIconComponent(RocketOutlined);
1984
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacySearchOutlined = React18CompatibleIconComponent(SearchOutlined);
1985
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacySendOutlined = React18CompatibleIconComponent(SendOutlined);
1986
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacySettingOutlined = React18CompatibleIconComponent(SettingOutlined);
1987
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacySlackOutlined = React18CompatibleIconComponent(SlackOutlined);
1988
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacySwapOutlined = React18CompatibleIconComponent(SwapOutlined);
1989
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacySyncOutlined = React18CompatibleIconComponent(SyncOutlined);
1990
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyUpOutlined = React18CompatibleIconComponent(UpOutlined);
1991
- /** @deprecated Legacy AntD icon; prefer a non-deprecated Du Bois icon from @databricks/design-system. */ const LegacyVideoCameraOutlined = React18CompatibleIconComponent(VideoCameraOutlined);
1992
-
1993
2009
  function useDesignSystemContext() {
1994
2010
  return useContext(DesignSystemContext);
1995
2011
  }
@@ -7073,6 +7089,29 @@ const FlowIcon = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
7073
7089
  });
7074
7090
  FlowIcon.displayName = "FlowIcon";
7075
7091
 
7092
+ function SvgFlowsIcon(props) {
7093
+ return /*#__PURE__*/ jsx("svg", {
7094
+ xmlns: "http://www.w3.org/2000/svg",
7095
+ width: "1em",
7096
+ height: "1em",
7097
+ fill: "none",
7098
+ viewBox: "0 0 16 16",
7099
+ ...props,
7100
+ children: /*#__PURE__*/ jsx("path", {
7101
+ fill: "currentColor",
7102
+ d: "m10.53 12.53-1.06-1.06 2.72-2.72h-2.157a7.78 7.78 0 0 0-7.432 5.473l-1.433-.446a9.28 9.28 0 0 1 5.208-5.776 9.52 9.52 0 0 1-5.337-5.764l1.423-.474a8.025 8.025 0 0 0 7.612 5.487h2.115L9.47 4.53l1.061-1.06L15.06 8z"
7103
+ })
7104
+ });
7105
+ }
7106
+ const FlowsIcon = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
7107
+ return /*#__PURE__*/ jsx(Icon, {
7108
+ ref: forwardedRef,
7109
+ ...props,
7110
+ component: SvgFlowsIcon
7111
+ });
7112
+ });
7113
+ FlowsIcon.displayName = "FlowsIcon";
7114
+
7076
7115
  function SvgFolderBranchFillIcon(props) {
7077
7116
  return /*#__PURE__*/ jsxs("svg", {
7078
7117
  xmlns: "http://www.w3.org/2000/svg",
@@ -8851,6 +8890,159 @@ const LakeflowDesignerIcon = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
8851
8890
  });
8852
8891
  LakeflowDesignerIcon.displayName = "LakeflowDesignerIcon";
8853
8892
 
8893
+ function SvgLakewatchAlertIcon(props) {
8894
+ return /*#__PURE__*/ jsxs("svg", {
8895
+ xmlns: "http://www.w3.org/2000/svg",
8896
+ width: "1em",
8897
+ height: "1em",
8898
+ fill: "none",
8899
+ viewBox: "0 0 16 16",
8900
+ ...props,
8901
+ children: [
8902
+ /*#__PURE__*/ jsx("path", {
8903
+ fill: "currentColor",
8904
+ fillRule: "evenodd",
8905
+ d: "M7 8.667V4h2v4.667zM8 12a1 1 0 1 0 0-2 1 1 0 0 0 0 2",
8906
+ clipRule: "evenodd"
8907
+ }),
8908
+ /*#__PURE__*/ jsx("path", {
8909
+ fill: "currentColor",
8910
+ fillRule: "evenodd",
8911
+ d: "M1.5 8a6.5 6.5 0 1 1 13 0 6.5 6.5 0 0 1-13 0M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0",
8912
+ clipRule: "evenodd"
8913
+ })
8914
+ ]
8915
+ });
8916
+ }
8917
+ const LakewatchAlertIcon = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
8918
+ return /*#__PURE__*/ jsx(Icon, {
8919
+ ref: forwardedRef,
8920
+ ...props,
8921
+ component: SvgLakewatchAlertIcon
8922
+ });
8923
+ });
8924
+ LakewatchAlertIcon.displayName = "LakewatchAlertIcon";
8925
+
8926
+ function SvgLakewatchDatasourceIcon(props) {
8927
+ return /*#__PURE__*/ jsx("svg", {
8928
+ xmlns: "http://www.w3.org/2000/svg",
8929
+ width: "1em",
8930
+ height: "1em",
8931
+ fill: "none",
8932
+ viewBox: "0 0 16 16",
8933
+ ...props,
8934
+ children: /*#__PURE__*/ jsx("path", {
8935
+ fill: "currentColor",
8936
+ d: "M14.25 1a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75H2.75a.75.75 0 0 1-.75-.75v-1.791h1.5V13.5h10v-11h-10v1.143H2V1.75A.75.75 0 0 1 2.75 1zM6 11.29H1v-1.143h5zM12.861 8l-2.935 3-.773-.79L10.77 8.56H7.72V7.44h3.052L9.153 5.79 9.926 5zM6 8.571H1V7.43h5zm0-2.717H1V4.71h5z"
8937
+ })
8938
+ });
8939
+ }
8940
+ const LakewatchDatasourceIcon = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
8941
+ return /*#__PURE__*/ jsx(Icon, {
8942
+ ref: forwardedRef,
8943
+ ...props,
8944
+ component: SvgLakewatchDatasourceIcon
8945
+ });
8946
+ });
8947
+ LakewatchDatasourceIcon.displayName = "LakewatchDatasourceIcon";
8948
+
8949
+ function SvgLakewatchDetectionRuleIcon(props) {
8950
+ return /*#__PURE__*/ jsx("svg", {
8951
+ xmlns: "http://www.w3.org/2000/svg",
8952
+ width: "1em",
8953
+ height: "1em",
8954
+ fill: "none",
8955
+ viewBox: "0 0 16 16",
8956
+ ...props,
8957
+ children: /*#__PURE__*/ jsx("path", {
8958
+ fill: "currentColor",
8959
+ d: "M7.719 1.28c1.789 0 3.414.701 4.618 1.841l-1.178.84a5.307 5.307 0 1 0 1.407 1.882l-.837.62c.186.475.29.99.29 1.53l-.005.215a4.183 4.183 0 0 1-4.177 3.968l-.215-.006a4.183 4.183 0 0 1 .215-8.36c.933 0 1.794.307 2.49.823l-1.124.8a2.902 2.902 0 1 0 1.535 2.56c0-.25-.035-.493-.095-.725l-1.334.988A1.61 1.61 0 0 1 6.109 8a1.612 1.612 0 0 1 2.74-1.15l2.98-2.206-.002-.001.1-.073 2.246-1.662.835 1.128-1.283.95c.456.906.714 1.93.715 3.014l-.01.346a6.72 6.72 0 0 1-6.711 6.374l-.345-.01a6.72 6.72 0 0 1 .345-13.43"
8960
+ })
8961
+ });
8962
+ }
8963
+ const LakewatchDetectionRuleIcon = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
8964
+ return /*#__PURE__*/ jsx(Icon, {
8965
+ ref: forwardedRef,
8966
+ ...props,
8967
+ component: SvgLakewatchDetectionRuleIcon
8968
+ });
8969
+ });
8970
+ LakewatchDetectionRuleIcon.displayName = "LakewatchDetectionRuleIcon";
8971
+
8972
+ function SvgLakewatchParserIcon(props) {
8973
+ return /*#__PURE__*/ jsxs("svg", {
8974
+ xmlns: "http://www.w3.org/2000/svg",
8975
+ width: "1em",
8976
+ height: "1em",
8977
+ fill: "none",
8978
+ viewBox: "0 0 16 16",
8979
+ ...props,
8980
+ children: [
8981
+ /*#__PURE__*/ jsx("path", {
8982
+ stroke: "currentColor",
8983
+ strokeWidth: 1.5,
8984
+ d: "M7.825 5.251c0-1.046.848-1.893 1.894-1.893h.788M7.825 5.108v5.797M7.825 10.803c0 1.046.848 1.894 1.894 1.894h.788"
8985
+ }),
8986
+ /*#__PURE__*/ jsx("mask", {
8987
+ id: "LakewatchParserIcon_svg__a",
8988
+ fill: "#fff",
8989
+ children: /*#__PURE__*/ jsx("rect", {
8990
+ width: 5.779,
8991
+ height: 4.907,
8992
+ x: 10.221,
8993
+ y: 1,
8994
+ rx: 0.5
8995
+ })
8996
+ }),
8997
+ /*#__PURE__*/ jsx("rect", {
8998
+ width: 5.779,
8999
+ height: 4.907,
9000
+ x: 10.221,
9001
+ y: 1,
9002
+ stroke: "currentColor",
9003
+ strokeWidth: 3,
9004
+ mask: "url(#LakewatchParserIcon_svg__a)",
9005
+ rx: 0.5
9006
+ }),
9007
+ /*#__PURE__*/ jsx("mask", {
9008
+ id: "LakewatchParserIcon_svg__b",
9009
+ fill: "#fff",
9010
+ children: /*#__PURE__*/ jsx("rect", {
9011
+ width: 5.779,
9012
+ height: 4.907,
9013
+ x: 10.221,
9014
+ y: 10.093,
9015
+ rx: 0.5
9016
+ })
9017
+ }),
9018
+ /*#__PURE__*/ jsx("rect", {
9019
+ width: 5.779,
9020
+ height: 4.907,
9021
+ x: 10.221,
9022
+ y: 10.093,
9023
+ stroke: "currentColor",
9024
+ strokeWidth: 3,
9025
+ mask: "url(#LakewatchParserIcon_svg__b)",
9026
+ rx: 0.5
9027
+ }),
9028
+ /*#__PURE__*/ jsx("path", {
9029
+ stroke: "currentColor",
9030
+ strokeLinecap: "square",
9031
+ strokeWidth: 1.5,
9032
+ d: "M.761 6.555h2.958M.761 9.812h2.958M6.45 8.187h1.206"
9033
+ })
9034
+ ]
9035
+ });
9036
+ }
9037
+ const LakewatchParserIcon = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
9038
+ return /*#__PURE__*/ jsx(Icon, {
9039
+ ref: forwardedRef,
9040
+ ...props,
9041
+ component: SvgLakewatchParserIcon
9042
+ });
9043
+ });
9044
+ LakewatchParserIcon.displayName = "LakewatchParserIcon";
9045
+
8854
9046
  function SvgLayerGraphIcon(props) {
8855
9047
  return /*#__PURE__*/ jsxs("svg", {
8856
9048
  xmlns: "http://www.w3.org/2000/svg",
@@ -17217,7 +17409,7 @@ const getButtonEmotionStyles = ({ theme, classNamePrefix, loading, withIcon, onl
17217
17409
  };
17218
17410
  const Button$1 = /* #__PURE__ */ (()=>{
17219
17411
  const Button = /*#__PURE__*/ forwardRef(function Button(// Keep size out of props passed to AntD to make deprecation and eventual removal have 0 impact
17220
- { dangerouslySetAntdProps, children, size, type, loading: loadingProp, loadingDescription, endIcon, onClick, dangerouslySetForceIconStyles, dangerouslyUseFocusPseudoClass, dangerouslyAppendWrapperCss, componentId, analyticsEvents, shouldStartInteraction, ...props }, ref) {
17412
+ { children, size, type, loading: loadingProp, loadingDescription, endIcon, onClick, dangerouslySetForceIconStyles, dangerouslyUseFocusPseudoClass, dangerouslyAppendWrapperCss, componentId, analyticsEvents, shouldStartInteraction, ...props }, ref) {
17221
17413
  const formContext = useFormContext();
17222
17414
  const { theme, classNamePrefix } = useDesignSystemTheme();
17223
17415
  const memoizedAnalyticsEvents = analyticsEvents ?? DEFAULT_ANALYTICS_EVENTS$6;
@@ -17276,7 +17468,7 @@ const Button$1 = /* #__PURE__ */ (()=>{
17276
17468
  inheritColor: true,
17277
17469
  label: "loading",
17278
17470
  "aria-label": "loading",
17279
- // eslint-disable-next-line @databricks/no-dynamic-property-value -- DUBOIS INTERNAL EXEMPTION exempt:b7289367-ddfb-4cf6-b8d1-22b27cdff2d2
17471
+ // oxlint-disable-next-line @databricks/no-dynamic-property-value -- DUBOIS INTERNAL EXEMPTION exempt:b7289367-ddfb-4cf6-b8d1-22b27cdff2d2
17280
17472
  loadingDescription: loadingDescription ?? componentId,
17281
17473
  css: getMemoizedLoadingSpinnerCss(iconOnly, Boolean(dangerouslySetForceIconStyles))
17282
17474
  }) : null;
@@ -17299,7 +17491,6 @@ const Button$1 = /* #__PURE__ */ (()=>{
17299
17491
  useFocusPseudoClass: Boolean(dangerouslyUseFocusPseudoClass)
17300
17492
  }),
17301
17493
  href: props.disabled ? undefined : props.href,
17302
- ...dangerouslySetAntdProps,
17303
17494
  onClick: handleClick,
17304
17495
  icon: loading ? loadingSpinner : props.icon,
17305
17496
  ref: buttonRef,
@@ -17340,6 +17531,13 @@ const Button$1 = /* #__PURE__ */ (()=>{
17340
17531
  return Button;
17341
17532
  })();
17342
17533
 
17534
+ const DRAWER_ZINDEX_OVERLAY_OFFSET = 1;
17535
+ const DRAWER_ZINDEX_CONTENT_OFFSET = DRAWER_ZINDEX_OVERLAY_OFFSET + 1;
17536
+ /** Whether the surrounding subtree is inside an open Drawer. */ const DrawerContext = /*#__PURE__*/ createContext({
17537
+ isParentDrawerOpen: false
17538
+ });
17539
+ const useIsInsideOpenDrawer = ()=>useContext(DrawerContext).isParentDrawerOpen;
17540
+
17343
17541
  const { Text: AntDText$1 } = Typography$1;
17344
17542
  function getTextEmotionStyles$1(theme, props) {
17345
17543
  return /*#__PURE__*/ css({
@@ -17777,55 +17975,42 @@ function getStartAndSuffix(text, suffixLength) {
17777
17975
  };
17778
17976
  }
17779
17977
 
17978
+ const TYPOGRAPHY_TITLE_TOKENS_BY_LEVEL = {
17979
+ 1: {
17980
+ fontSize: 'fontSizeXxl',
17981
+ lineHeight: 'lineHeightXxl'
17982
+ },
17983
+ 2: {
17984
+ fontSize: 'fontSizeXl',
17985
+ lineHeight: 'lineHeightXl'
17986
+ },
17987
+ 3: {
17988
+ fontSize: 'fontSizeLg',
17989
+ lineHeight: 'lineHeightLg'
17990
+ },
17991
+ 4: {
17992
+ fontSize: 'fontSizeMd',
17993
+ lineHeight: 'lineHeightMd'
17994
+ },
17995
+ 5: {
17996
+ fontSize: 'fontSizeMd',
17997
+ lineHeight: 'lineHeightMd'
17998
+ }
17999
+ };
18000
+
17780
18001
  const { Title: AntDTitle } = Typography$1;
17781
18002
  function getLevelStyles(theme, props) {
17782
- switch(props.level){
17783
- case 1:
17784
- return /*#__PURE__*/ css({
17785
- '&&': {
17786
- fontSize: theme.typography.fontSizeXxl,
17787
- lineHeight: theme.typography.lineHeightXxl,
17788
- fontWeight: theme.typography.typographyBoldFontWeight
17789
- },
17790
- '& > .anticon': {
17791
- lineHeight: theme.typography.lineHeightXxl
17792
- }
17793
- });
17794
- case 2:
17795
- return /*#__PURE__*/ css({
17796
- '&&': {
17797
- fontSize: theme.typography.fontSizeXl,
17798
- lineHeight: theme.typography.lineHeightXl,
17799
- fontWeight: theme.typography.typographyBoldFontWeight
17800
- },
17801
- '& > .anticon': {
17802
- lineHeight: theme.typography.lineHeightXl
17803
- }
17804
- });
17805
- case 3:
17806
- return /*#__PURE__*/ css({
17807
- '&&': {
17808
- fontSize: theme.typography.fontSizeLg,
17809
- lineHeight: theme.typography.lineHeightLg,
17810
- fontWeight: theme.typography.typographyBoldFontWeight
17811
- },
17812
- '& > .anticon': {
17813
- lineHeight: theme.typography.lineHeightLg
17814
- }
17815
- });
17816
- case 4:
17817
- default:
17818
- return /*#__PURE__*/ css({
17819
- '&&': {
17820
- fontSize: theme.typography.fontSizeMd,
17821
- lineHeight: theme.typography.lineHeightMd,
17822
- fontWeight: theme.typography.typographyBoldFontWeight
17823
- },
17824
- '& > .anticon': {
17825
- lineHeight: theme.typography.lineHeightMd
17826
- }
17827
- });
17828
- }
18003
+ const tokens = TYPOGRAPHY_TITLE_TOKENS_BY_LEVEL[props.level ?? 4];
18004
+ return /*#__PURE__*/ css({
18005
+ '&&': {
18006
+ fontSize: theme.typography[tokens.fontSize],
18007
+ lineHeight: theme.typography[tokens.lineHeight],
18008
+ fontWeight: theme.typography.typographyBoldFontWeight
18009
+ },
18010
+ '& > .anticon': {
18011
+ lineHeight: theme.typography[tokens.lineHeight]
18012
+ }
18013
+ });
17829
18014
  }
17830
18015
  function getTitleEmotionStyles(theme, props) {
17831
18016
  return /*#__PURE__*/ css(getLevelStyles(theme, props), {
@@ -17976,7 +18161,10 @@ const modalContentStyles = (theme, maxedOutHeight)=>{
17976
18161
  top: 'unset !important',
17977
18162
  left: 'unset !important',
17978
18163
  alignSelf: 'center',
17979
- justifySelf: 'center'
18164
+ justifySelf: 'center',
18165
+ // The modal wrapper uses `pointer-events: none` for click-outside-to-close, so the content card
18166
+ // must re-enable pointer events.
18167
+ pointerEvents: 'auto'
17980
18168
  });
17981
18169
  };
17982
18170
  const modalHeaderStyles = (theme)=>/*#__PURE__*/ css({
@@ -18024,6 +18212,11 @@ const modalBodyStyles = (theme, hasFooter, isScrollable)=>{
18024
18212
  paddingRight: MODAL_PADDING,
18025
18213
  paddingTop: CONTENT_BUFFER,
18026
18214
  paddingBottom: CONTENT_BUFFER,
18215
+ // The modal portals to `document.body`, outside the theme-scope ancestor, so no global rule sets
18216
+ // body text size — set it explicitly.
18217
+ fontSize: theme.typography.fontSizeBase,
18218
+ lineHeight: theme.typography.lineHeightBase,
18219
+ overflowWrap: 'break-word',
18027
18220
  ...isScrollable && getShadowScrollStyles(theme)
18028
18221
  });
18029
18222
  };
@@ -18038,10 +18231,15 @@ const modalFooterStyles = (theme, prefixCls, hasCustomFooter)=>{
18038
18231
  : {
18039
18232
  display: 'flex',
18040
18233
  justifyContent: 'flex-end',
18041
- boxSizing: 'border-box',
18042
- '& > * + *': {
18043
- marginLeft: theme.spacing.sm
18044
- }
18234
+ boxSizing: 'border-box'
18235
+ },
18236
+ // Right-align footer buttons. For a custom footer (`display: block`) this is what aligns the
18237
+ // inline-block buttons.
18238
+ textAlign: 'right',
18239
+ // 8px gap between adjacent footer buttons. Descendant selector so it reaches buttons that a
18240
+ // custom footer nests inside wrapper elements, not just the footer's direct children.
18241
+ '& button + button': {
18242
+ marginLeft: theme.spacing.sm
18045
18243
  },
18046
18244
  height: footerHeight,
18047
18245
  paddingTop: theme.spacing.lg - CONTENT_BUFFER,
@@ -18111,6 +18309,8 @@ function ModalInternal({ componentId, analyticsEvents = [
18111
18309
  DesignSystemEventProviderAnalyticsEventTypes.OnView
18112
18310
  ], okButtonProps, cancelButtonProps, dangerouslySetAntdProps, children, title, footer, size = 'normal', verticalSizing = 'dynamic', autoFocusButton, truncateTitle, shouldStartInteraction, visible = false, onOk, onCancel, afterClose, confirmLoading, okText, cancelText, destroyOnClose, wrapClassName, className, getContainer, zIndex, modalRender, preventAutoFocus = true, compactTitle = false, ...restProps }) {
18113
18311
  const { theme, classNamePrefix } = useDesignSystemTheme();
18312
+ const themeClass = useDuboisThemeClass();
18313
+ const themeOverrideStyle = useDesignTokenOverrideStyles();
18114
18314
  const memoizedAnalyticsEvents = useMemo(()=>analyticsEvents, [
18115
18315
  analyticsEvents
18116
18316
  ]);
@@ -18129,6 +18329,9 @@ function ModalInternal({ componentId, analyticsEvents = [
18129
18329
  const emitViewEventThroughVisibleEffect = dangerouslySetAntdProps?.closable === false;
18130
18330
  const isViewedViaVisibleEffectRef = useRef(false);
18131
18331
  const uuid = useStableUuidV4();
18332
+ // Drawer content is zIndexBase+2; lift above it unless the caller set zIndex.
18333
+ const isInsideOpenDrawer = useIsInsideOpenDrawer();
18334
+ const resolvedZIndex = zIndex ?? theme.options.zIndexBase + (isInsideOpenDrawer ? DRAWER_ZINDEX_CONTENT_OFFSET + 1 : 0);
18132
18335
  const [open, setOpen] = useState(visible);
18133
18336
  const prevOpenRef = useRef(open);
18134
18337
  useLayoutEffect(()=>{
@@ -18303,7 +18506,29 @@ function ModalInternal({ componentId, analyticsEvents = [
18303
18506
  justifyContent: 'center',
18304
18507
  inset: 0,
18305
18508
  top: '50%',
18306
- padding: 0
18509
+ padding: 0,
18510
+ // `pointerEvents: 'none'` lets clicks in the empty area around the card reach Radix's dismissable
18511
+ // layer (click-outside-to-close); `position: 'relative'` makes the `inset`/`top` above take effect.
18512
+ position: 'relative',
18513
+ pointerEvents: 'none',
18514
+ boxSizing: 'border-box',
18515
+ width: 'auto',
18516
+ maxWidth: 'calc(100vw - 32px)',
18517
+ margin: '0 auto',
18518
+ // The modal portals to `document.body` (outside the theme-scope ancestor), so these inherited
18519
+ // typographic properties aren't picked up from anywhere else. `fontVariant`/`fontFeatureSettings`
18520
+ // (tabular figures) are the load-bearing ones — without them, digits in modal body text (numbered
18521
+ // lists, dates, IDs) render with proportional figures and shift.
18522
+ color: theme.colors.textPrimary,
18523
+ fontSize: theme.typography.fontSizeBase,
18524
+ lineHeight: theme.typography.lineHeightBase,
18525
+ fontVariant: 'tabular-nums',
18526
+ fontFeatureSettings: "'tnum'",
18527
+ listStyle: 'none',
18528
+ '@media (max-width: 767px)': {
18529
+ maxWidth: 'calc(100vw - 16px)',
18530
+ margin: `${theme.spacing.sm}px auto`
18531
+ }
18307
18532
  }),
18308
18533
  className: `${classNamePrefix}-modal`,
18309
18534
  ...restProps,
@@ -18318,9 +18543,10 @@ function ModalInternal({ componentId, analyticsEvents = [
18318
18543
  style: {
18319
18544
  width: dangerouslySetAntdProps?.width ?? (size ? SIZE_PRESETS[size] : undefined),
18320
18545
  maxWidth: '90vw',
18321
- zIndex: zIndex ?? theme.options.zIndexBase,
18546
+ zIndex: resolvedZIndex,
18322
18547
  ...dangerouslySetAntdProps?.style
18323
18548
  },
18549
+ "data-testid": "dubois-modal-content",
18324
18550
  ...dangerouslySetAntdProps?.wrapProps,
18325
18551
  children: [
18326
18552
  /*#__PURE__*/ jsx("div", {
@@ -18411,14 +18637,15 @@ function ModalInternal({ componentId, analyticsEvents = [
18411
18637
  ref: modalRootRef,
18412
18638
  "aria-hidden": !open,
18413
18639
  css: wrapperStyles,
18414
- className: classnames(wrapClassName),
18640
+ className: classnames(wrapClassName, themeClass),
18641
+ style: themeOverrideStyle,
18415
18642
  children: /*#__PURE__*/ jsx(RadixModalContext.Provider, {
18416
18643
  value: {
18417
18644
  modalRootElement: modalRootRef.current?.firstChild
18418
18645
  },
18419
18646
  children: dangerouslySetAntdProps?.mask !== false ? /*#__PURE__*/ jsx(DialogPrimitive.Overlay, {
18420
18647
  css: [
18421
- dangerouslySetAntdProps?.maskStyle ? overlayStyles(theme, zIndex ? zIndex : theme.options.zIndexBase, dangerouslySetAntdProps.maskStyle) : getMemoizedDefaultOverlayStyles(theme, zIndex ? zIndex : theme.options.zIndexBase)
18648
+ dangerouslySetAntdProps?.maskStyle ? overlayStyles(theme, resolvedZIndex, dangerouslySetAntdProps.maskStyle) : getMemoizedDefaultOverlayStyles(theme, resolvedZIndex)
18422
18649
  ],
18423
18650
  children: renderedDialogContent
18424
18651
  }) : /*#__PURE__*/ jsx(Fragment, {
@@ -18503,132 +18730,6 @@ const ModalContext = /*#__PURE__*/ createContext({
18503
18730
  });
18504
18731
  const useModalContext = ()=>useContext(ModalContext);
18505
18732
 
18506
- // Module-level caches. Both styles depend only on theme (and zIndex), so share one
18507
- // object across every LegacyTooltip instance instead of allocating per render.
18508
- const TRIGGER = [
18509
- 'hover',
18510
- 'focus'
18511
- ];
18512
- const getMemoizedDefaultOverlayInnerStyle = memoize((theme)=>({
18513
- backgroundColor: '#2F3941',
18514
- lineHeight: '22px',
18515
- padding: '4px 8px',
18516
- boxShadow: theme.general.shadowLow,
18517
- ...getDarkModePortalStyles(theme)
18518
- }));
18519
- const getMemoizedDefaultOverlayStyle = memoize((theme)=>({
18520
- zIndex: theme.options.zIndexBase + 70
18521
- }), (theme)=>String(theme.options.zIndexBase));
18522
- const getMemoizedAnimationCss = memoize((enableAnimation)=>/*#__PURE__*/ css({
18523
- ...getAnimationCss(enableAnimation)
18524
- }));
18525
- /**
18526
- * `LegacyTooltip` is deprecated in favor of the new `Tooltip` component
18527
- * @deprecated
18528
- */ const LegacyTooltip = ({ children, title, placement = 'top', dataTestId, dangerouslySetAntdProps, silenceScreenReader = false, useAsLabel = false, ...props })=>{
18529
- const { theme } = useDesignSystemTheme();
18530
- const tooltipRef = useRef(null);
18531
- const duboisId = useUniqueId('dubois-tooltip-component-');
18532
- const id = dangerouslySetAntdProps?.id ? dangerouslySetAntdProps?.id : duboisId;
18533
- if (!title) {
18534
- return /*#__PURE__*/ jsx(React__default.Fragment, {
18535
- children: children
18536
- });
18537
- }
18538
- const titleProps = silenceScreenReader ? {} : {
18539
- 'aria-live': 'polite',
18540
- 'aria-relevant': 'additions'
18541
- };
18542
- if (dataTestId) {
18543
- titleProps['data-testid'] = dataTestId;
18544
- }
18545
- const liveTitle = title && /*#__PURE__*/ React__default.isValidElement(title) ? /*#__PURE__*/ React__default.cloneElement(title, titleProps) : /*#__PURE__*/ jsx("span", {
18546
- ...titleProps,
18547
- children: title
18548
- });
18549
- const ariaProps = {
18550
- 'aria-hidden': false
18551
- };
18552
- const addAriaProps = (e)=>{
18553
- if (!tooltipRef.current || e.currentTarget.hasAttribute('aria-describedby') || e.currentTarget.hasAttribute('aria-labelledby')) {
18554
- return;
18555
- }
18556
- if (id) {
18557
- e.currentTarget.setAttribute('aria-live', 'polite');
18558
- if (useAsLabel) {
18559
- e.currentTarget.setAttribute('aria-labelledby', id);
18560
- } else {
18561
- e.currentTarget.setAttribute('aria-describedby', id);
18562
- }
18563
- }
18564
- };
18565
- const removeAriaProps = (e)=>{
18566
- if (!tooltipRef || !e.currentTarget.hasAttribute('aria-describedby') && !e.currentTarget.hasAttribute('aria-labelledby')) {
18567
- return;
18568
- }
18569
- if (useAsLabel) {
18570
- e.currentTarget.removeAttribute('aria-labelledby');
18571
- } else {
18572
- e.currentTarget.removeAttribute('aria-describedby');
18573
- }
18574
- e.currentTarget.removeAttribute('aria-live');
18575
- };
18576
- const interactionProps = {
18577
- onMouseEnter: (e)=>{
18578
- addAriaProps(e);
18579
- },
18580
- onMouseLeave: (e)=>{
18581
- removeAriaProps(e);
18582
- },
18583
- onFocus: (e)=>{
18584
- addAriaProps(e);
18585
- },
18586
- onBlur: (e)=>{
18587
- removeAriaProps(e);
18588
- }
18589
- };
18590
- const childWithProps = /*#__PURE__*/ React__default.isValidElement(children) ? /*#__PURE__*/ React__default.cloneElement(children, {
18591
- ...ariaProps,
18592
- ...interactionProps,
18593
- ...children.props
18594
- }) : isNil(children) ? children : /*#__PURE__*/ jsx("span", {
18595
- ...ariaProps,
18596
- ...interactionProps,
18597
- children: children
18598
- });
18599
- const { overlayInnerStyle, overlayStyle, ...delegatedDangerouslySetAntdProps } = dangerouslySetAntdProps || {};
18600
- // When no overrides are passed, reuse the module-level memoized objects directly so
18601
- // the same reference is shared across every tooltip instance with the same theme.
18602
- const mergedOverlayInnerStyle = overlayInnerStyle ? {
18603
- backgroundColor: '#2F3941',
18604
- lineHeight: '22px',
18605
- padding: '4px 8px',
18606
- boxShadow: theme.general.shadowLow,
18607
- ...overlayInnerStyle,
18608
- ...getDarkModePortalStyles(theme)
18609
- } : getMemoizedDefaultOverlayInnerStyle(theme);
18610
- const mergedOverlayStyle = overlayStyle ? {
18611
- zIndex: theme.options.zIndexBase + 70,
18612
- ...overlayStyle
18613
- } : getMemoizedDefaultOverlayStyle(theme);
18614
- return /*#__PURE__*/ jsx(DesignSystemAntDConfigProvider, {
18615
- children: /*#__PURE__*/ jsx(Tooltip$1, {
18616
- id: id,
18617
- ref: tooltipRef,
18618
- title: liveTitle,
18619
- placement: placement,
18620
- // Always trigger on hover and focus
18621
- trigger: TRIGGER,
18622
- overlayInnerStyle: mergedOverlayInnerStyle,
18623
- overlayStyle: mergedOverlayStyle,
18624
- css: getMemoizedAnimationCss(theme.options.enableAnimation),
18625
- ...delegatedDangerouslySetAntdProps,
18626
- ...props,
18627
- children: childWithProps
18628
- })
18629
- });
18630
- };
18631
-
18632
18733
  // WRAPPED RADIX-UI-COMPONENTS
18633
18734
  const Anchor = Popover$1.Anchor; // Behavioral component only
18634
18735
  const DEFAULT_ANALYTICS_EVENTS$5 = [
@@ -18674,10 +18775,12 @@ const Root$b = ({ children, onOpenChange, componentId, analyticsEvents = DEFAULT
18674
18775
  })
18675
18776
  });
18676
18777
  };
18677
- const Content$7 = /*#__PURE__*/ forwardRef(function Content({ children, minWidth = 220, maxWidth, ...props }, ref) {
18778
+ const Content$7 = /*#__PURE__*/ forwardRef(function Content({ children, minWidth = 220, maxWidth, className, style, ...props }, ref) {
18678
18779
  const { getPopupContainer } = useDesignSystemContext();
18679
18780
  const { theme } = useDesignSystemTheme();
18680
18781
  const dataComponentProps = useComponentFinderContext(DesignSystemEventProviderComponentTypes.Popover);
18782
+ const themeClass = useDuboisThemeClass();
18783
+ const themeOverrideStyle = useDesignTokenOverrideStyles();
18681
18784
  return /*#__PURE__*/ jsx(Popover$1.Portal, {
18682
18785
  container: getPopupContainer && getPopupContainer(),
18683
18786
  children: /*#__PURE__*/ jsx(Popover$1.Content, {
@@ -18694,6 +18797,11 @@ const Content$7 = /*#__PURE__*/ forwardRef(function Content({ children, minWidth
18694
18797
  "aria-label": "Popover content",
18695
18798
  ...props,
18696
18799
  ...dataComponentProps,
18800
+ className: classnames(className, themeClass),
18801
+ style: {
18802
+ ...style,
18803
+ ...themeOverrideStyle
18804
+ },
18697
18805
  children: children
18698
18806
  })
18699
18807
  });
@@ -18786,6 +18894,261 @@ var Popover = /*#__PURE__*/Object.freeze({
18786
18894
  Trigger: Trigger$5
18787
18895
  });
18788
18896
 
18897
+ // @ts-expect-error `jest` is only available in tests
18898
+ const isInsideTest = ()=>typeof jest !== 'undefined';
18899
+
18900
+ const DEFAULT_ANALYTICS_EVENTS$4 = [
18901
+ DesignSystemEventProviderAnalyticsEventTypes.OnView
18902
+ ];
18903
+ const slideUpAndFade = /*#__PURE__*/ keyframes({
18904
+ from: {
18905
+ opacity: 0,
18906
+ transform: 'translateY(2px)'
18907
+ },
18908
+ to: {
18909
+ opacity: 1,
18910
+ transform: 'translateY(0)'
18911
+ }
18912
+ });
18913
+ const slideRightAndFade = /*#__PURE__*/ keyframes({
18914
+ from: {
18915
+ opacity: 0,
18916
+ transform: 'translateX(-2px)'
18917
+ },
18918
+ to: {
18919
+ opacity: 1,
18920
+ transform: 'translateX(0)'
18921
+ }
18922
+ });
18923
+ const slideDownAndFade = /*#__PURE__*/ keyframes({
18924
+ from: {
18925
+ opacity: 0,
18926
+ transform: 'translateY(-2px)'
18927
+ },
18928
+ to: {
18929
+ opacity: 1,
18930
+ transform: 'translateY(0)'
18931
+ }
18932
+ });
18933
+ const slideLeftAndFade = /*#__PURE__*/ keyframes({
18934
+ from: {
18935
+ opacity: 0,
18936
+ transform: 'translateX(2px)'
18937
+ },
18938
+ to: {
18939
+ opacity: 1,
18940
+ transform: 'translateX(0)'
18941
+ }
18942
+ });
18943
+ const getTooltipStyles = (theme, clsPrefix)=>{
18944
+ // Radix uses `data-state` to drive tooltip animations. However, due to a Radix bug, the animation CSS is not
18945
+ // well-scoped. If the tooltip wraps another component that uses `data-state` (such as ToggleButton), the animation
18946
+ // styles leak into the child component. We work around this by introducing our own `tooltip-data-state` attribute
18947
+ // and redefining the animations based on that. This requires a *patch* to the Radix tooltip to swap `data-state`
18948
+ // for `tooltip-data-state`: js/yarn/patches/@radix-ui-react-tooltip-npm-1.0.7-c7378e5c03.patch. This patch is applied
18949
+ // via `yarn patch`. See https://databricks.atlassian.net/browse/DUBOIS-340 for original context.
18950
+ //
18951
+ // It is worth highlighting here, however, that we do not have a good way to distribute this patch outside of universe
18952
+ // when `@databricks/design-system` is published to npm. Thus, this animation bug may still persist if this Tooltip
18953
+ // component is used outside of universe alongside a Radix version that still has the underlying bug.
18954
+ const dataStateAttr = 'tooltip-data-state';
18955
+ const classTypography = `.${clsPrefix}-typography`;
18956
+ const { isDarkMode } = theme;
18957
+ const linkColor = isDarkMode ? theme.colors.blue600 : theme.colors.blue500;
18958
+ const linkActiveColor = isDarkMode ? theme.colors.blue800 : theme.colors.blue300;
18959
+ const linkHoverColor = isDarkMode ? theme.colors.blue700 : theme.colors.blue400;
18960
+ return {
18961
+ content: {
18962
+ backgroundColor: theme.colors.tooltipBackgroundTooltip,
18963
+ color: theme.colors.tooltipTextTooltip,
18964
+ borderRadius: token(ShapeTokens.POPOVER_BORDER_RADIUS, theme.borders.borderRadiusSm),
18965
+ fontSize: theme.typography.fontSizeMd,
18966
+ padding: `${theme.spacing.xs}px ${theme.spacing.sm}px`,
18967
+ lineHeight: theme.typography.lineHeightLg,
18968
+ fontWeight: theme.typography.typographyRegularFontWeight,
18969
+ boxShadow: theme.shadows.lg,
18970
+ wordWrap: 'break-word',
18971
+ whiteSpace: 'normal',
18972
+ zIndex: theme.options.zIndexBase + 70,
18973
+ willChange: 'transform, opacity',
18974
+ [`&[${dataStateAttr}='delayed-open'][data-side='top']`]: {
18975
+ animation: `${slideDownAndFade} 400ms cubic-bezier(0.16, 1, 0.3, 1)`
18976
+ },
18977
+ [`&[${dataStateAttr}='delayed-open'][data-side='right']`]: {
18978
+ animation: `${slideLeftAndFade} 400ms cubic-bezier(0.16, 1, 0.3, 1)`
18979
+ },
18980
+ [`&[${dataStateAttr}='delayed-open'][data-side='bottom']`]: {
18981
+ animation: `${slideUpAndFade} 400ms cubic-bezier(0.16, 1, 0.3, 1)`
18982
+ },
18983
+ [`&[${dataStateAttr}='delayed-open'][data-side='left']`]: {
18984
+ animation: `${slideRightAndFade} 400ms cubic-bezier(0.16, 1, 0.3, 1)`
18985
+ },
18986
+ [`& a${classTypography}`]: {
18987
+ '&, :focus': {
18988
+ color: linkColor,
18989
+ '.anticon': {
18990
+ color: linkColor
18991
+ }
18992
+ },
18993
+ ':active': {
18994
+ color: linkActiveColor,
18995
+ '.anticon': {
18996
+ color: linkActiveColor
18997
+ }
18998
+ },
18999
+ ':hover': {
19000
+ color: linkHoverColor,
19001
+ '.anticon': {
19002
+ color: linkHoverColor
19003
+ }
19004
+ }
19005
+ }
19006
+ },
19007
+ arrow: {
19008
+ fill: theme.colors.tooltipBackgroundTooltip,
19009
+ zIndex: theme.options.zIndexBase + 70,
19010
+ visibility: 'visible'
19011
+ }
19012
+ };
19013
+ };
19014
+ const getMemoizedTooltipStyles = memoize(getTooltipStyles, (theme, clsPrefix)=>`${themeMemoKey(theme)}|${clsPrefix}`);
19015
+ /**
19016
+ * Radix's portal only mounts its children while the tooltip is open, so keeping the content work
19017
+ * here avoids paying for theme, style, and analytics hooks on every closed tooltip. The portal
19018
+ * composes a ref onto whatever it renders, so this has to forward it on to the content.
19019
+ */ const TooltipContent = /*#__PURE__*/ forwardRef(function TooltipContent({ content, side, sideOffset, align, maxWidth, componentId, analyticsEvents, zIndex, shouldReportViewRef, ...props }, ref) {
19020
+ const { theme, classNamePrefix } = useDesignSystemTheme();
19021
+ const tooltipStyles = getMemoizedTooltipStyles(theme, classNamePrefix);
19022
+ const contentCss = useMemo(()=>[
19023
+ tooltipStyles['content'],
19024
+ {
19025
+ maxWidth
19026
+ },
19027
+ zIndex !== undefined ? {
19028
+ zIndex
19029
+ } : undefined
19030
+ ], [
19031
+ tooltipStyles,
19032
+ maxWidth,
19033
+ zIndex
19034
+ ]);
19035
+ const eventContext = useDesignSystemEventComponentCallbacks({
19036
+ componentType: DesignSystemEventProviderComponentTypes.Tooltip,
19037
+ componentId,
19038
+ analyticsEvents
19039
+ });
19040
+ useEffect(()=>{
19041
+ if (shouldReportViewRef.current) {
19042
+ eventContext.onView();
19043
+ shouldReportViewRef.current = false;
19044
+ }
19045
+ }, [
19046
+ eventContext,
19047
+ shouldReportViewRef
19048
+ ]);
19049
+ return /*#__PURE__*/ jsxs(RadixTooltip.Content, {
19050
+ ref: ref,
19051
+ side: side,
19052
+ align: align,
19053
+ sideOffset: sideOffset ?? theme.spacing.sm,
19054
+ arrowPadding: theme.spacing.md,
19055
+ css: contentCss,
19056
+ ...props,
19057
+ ...eventContext.dataComponentProps,
19058
+ children: [
19059
+ content,
19060
+ /*#__PURE__*/ jsx(RadixTooltip.Arrow, {
19061
+ css: tooltipStyles['arrow']
19062
+ })
19063
+ ]
19064
+ });
19065
+ });
19066
+ /**
19067
+ * Owns the popup container lookup so that a tooltip which never opens does not subscribe to the
19068
+ * design system context.
19069
+ */ const TooltipPortal = (props)=>{
19070
+ const { getPopupContainer } = useDesignSystemContext();
19071
+ return /*#__PURE__*/ jsx(RadixTooltip.Portal, {
19072
+ container: getPopupContainer?.(),
19073
+ children: /*#__PURE__*/ jsx(TooltipContent, {
19074
+ ...props
19075
+ })
19076
+ });
19077
+ };
19078
+ /**
19079
+ * If the tooltip is not displaying for you, it might be because the child does not accept the onMouseEnter, onMouseLeave, onPointerEnter,
19080
+ * onPointerLeave, onFocus, and onClick props. You can add these props to your child component, or wrap it in a `<span>` tag.
19081
+ *
19082
+ * See go/dubois.
19083
+ */ const Tooltip = ({ children, content, defaultOpen = false, delayDuration = 350, side = 'top', sideOffset, align = 'center', maxWidth = 250, componentId, analyticsEvents = DEFAULT_ANALYTICS_EVENTS$4, open, onOpenChange, disableHoverableContent, zIndex, ...props })=>{
19084
+ disableHoverableContent ??= true;
19085
+ const firstView = useRef(true);
19086
+ const shouldReportView = useRef(false);
19087
+ // The portal renders nothing while closed, but it and its Presence still mount for every tooltip
19088
+ // on the page. Root and Trigger stay put so the child never changes position in the tree.
19089
+ const [everOpened, setEverOpened] = useState(defaultOpen);
19090
+ // A consumer-controlled `open` never calls onOpenChange, so it has to latch here instead.
19091
+ if (open && !everOpened) {
19092
+ setEverOpened(true);
19093
+ }
19094
+ const handleOpenChange = useCallback((open)=>{
19095
+ if (open) {
19096
+ setEverOpened(true);
19097
+ if (firstView.current) {
19098
+ shouldReportView.current = true;
19099
+ firstView.current = false;
19100
+ }
19101
+ }
19102
+ onOpenChange?.(open);
19103
+ }, [
19104
+ onOpenChange
19105
+ ]);
19106
+ const IS_INSIDE_TEST = isInsideTest();
19107
+ return /*#__PURE__*/ jsxs(RadixTooltip.Root, {
19108
+ defaultOpen: defaultOpen,
19109
+ delayDuration: IS_INSIDE_TEST ? 10 : delayDuration,
19110
+ open: open,
19111
+ onOpenChange: handleOpenChange,
19112
+ disableHoverableContent: disableHoverableContent,
19113
+ children: [
19114
+ /*#__PURE__*/ jsx(RadixTooltip.Trigger, {
19115
+ asChild: true,
19116
+ children: children
19117
+ }),
19118
+ content && everOpened ? /*#__PURE__*/ jsx(TooltipPortal, {
19119
+ content: content,
19120
+ side: side,
19121
+ sideOffset: sideOffset,
19122
+ align: align,
19123
+ maxWidth: maxWidth,
19124
+ componentId: componentId,
19125
+ analyticsEvents: analyticsEvents,
19126
+ zIndex: zIndex,
19127
+ shouldReportViewRef: shouldReportView,
19128
+ ...props
19129
+ }) : null
19130
+ ]
19131
+ });
19132
+ };
19133
+
19134
+ const getMemoizedIconCss = memoize((theme)=>({
19135
+ color: theme.colors.textSecondary
19136
+ }));
19137
+ const InfoTooltip = ({ content, iconTitle = 'More information', ...props })=>{
19138
+ const { theme } = useDesignSystemTheme();
19139
+ return /*#__PURE__*/ jsx(Tooltip, {
19140
+ content: content,
19141
+ ...props,
19142
+ children: /*#__PURE__*/ jsx(InfoSmallIcon, {
19143
+ tabIndex: 0,
19144
+ "aria-hidden": "false",
19145
+ "aria-label": iconTitle,
19146
+ alt: iconTitle,
19147
+ css: getMemoizedIconCss(theme)
19148
+ })
19149
+ });
19150
+ };
19151
+
18789
19152
  const OverflowPopover = ({ items, renderLabel, tooltipText, ariaLabel = 'More items', ...props })=>{
18790
19153
  const { theme } = useDesignSystemTheme();
18791
19154
  const [showTooltip, setShowTooltip] = useState(true);
@@ -18805,8 +19168,9 @@ const OverflowPopover = ({ items, renderLabel, tooltipText, ariaLabel = 'More it
18805
19168
  })
18806
19169
  });
18807
19170
  if (showTooltip) {
18808
- trigger = /*#__PURE__*/ jsx(LegacyTooltip, {
18809
- title: tooltipText || 'See more items',
19171
+ trigger = /*#__PURE__*/ jsx(Tooltip, {
19172
+ componentId: "design-system.overflow-popover.tooltip",
19173
+ content: tooltipText || 'See more items',
18810
19174
  children: trigger
18811
19175
  });
18812
19176
  }
@@ -19082,6 +19446,62 @@ const genSkeletonAnimatedColorImpl = (theme, frameRate = 60)=>{
19082
19446
  };
19083
19447
  const genSkeletonAnimatedColor = memoize(genSkeletonAnimatedColorImpl, (theme, frameRate = 60)=>`${themeMemoKey(theme)}|${frameRate}`);
19084
19448
 
19449
+ const LEGACY_TITLE_SKELETON_DIMENSIONS = {
19450
+ fillHeight: 12,
19451
+ lineHeight: '28px'
19452
+ };
19453
+ const TITLE_SKELETON_FILL_HEIGHT_REDUCTION = 4;
19454
+ const getTitleContainerStyles = memoize((theme, level, inline)=>{
19455
+ const lineHeight = level === undefined ? LEGACY_TITLE_SKELETON_DIMENSIONS.lineHeight : theme.typography[TYPOGRAPHY_TITLE_TOKENS_BY_LEVEL[level].lineHeight];
19456
+ return /*#__PURE__*/ css({
19457
+ cursor: 'progress',
19458
+ width: '100%',
19459
+ height: lineHeight,
19460
+ display: inline ? 'inline-flex' : 'flex',
19461
+ justifyContent: 'flex-start',
19462
+ alignItems: 'center'
19463
+ });
19464
+ }, (theme, level, inline)=>`${themeMemoKey(theme)}|${level ?? 'legacy'}|${Boolean(inline)}`);
19465
+ const getTitleFillStyles = memoize((theme, level)=>{
19466
+ const fillHeight = level === undefined ? LEGACY_TITLE_SKELETON_DIMENSIONS.fillHeight : theme.typography[TYPOGRAPHY_TITLE_TOKENS_BY_LEVEL[level].fontSize] - TITLE_SKELETON_FILL_HEIGHT_REDUCTION;
19467
+ return /*#__PURE__*/ css({
19468
+ borderRadius: theme.general.borderRadiusBase,
19469
+ height: fillHeight,
19470
+ width: '100%'
19471
+ });
19472
+ }, (theme, level)=>`${themeMemoKey(theme)}|${level ?? 'legacy'}`);
19473
+ const TitleSkeleton = ({ label, seed = '', frameRate = 60, style, level, inline = false, loading = true, loadingDescription = 'TitleSkeleton', ...restProps })=>{
19474
+ const { theme } = useDesignSystemTheme();
19475
+ const offsetWidth = getOffsets(seed)[0];
19476
+ const Root = inline ? 'span' : 'div';
19477
+ return /*#__PURE__*/ jsxs(Root, {
19478
+ ...addDebugOutlineIfEnabled(),
19479
+ css: getTitleContainerStyles(theme, level, inline),
19480
+ style: style,
19481
+ ...restProps,
19482
+ children: [
19483
+ loading && /*#__PURE__*/ jsx(LoadingState, {
19484
+ description: loadingDescription
19485
+ }),
19486
+ /*#__PURE__*/ jsx("span", {
19487
+ css: visuallyHidden,
19488
+ children: label
19489
+ }),
19490
+ /*#__PURE__*/ jsx("span", {
19491
+ "aria-hidden": true,
19492
+ role: "presentation",
19493
+ css: [
19494
+ getTitleFillStyles(theme, level),
19495
+ genSkeletonAnimatedColor(theme, frameRate),
19496
+ {
19497
+ width: `calc(100% - ${offsetWidth}px)`
19498
+ }
19499
+ ]
19500
+ })
19501
+ ]
19502
+ });
19503
+ };
19504
+
19085
19505
  // Class names that can be used to reference children within
19086
19506
  // Should not be used outside of design system
19087
19507
  // TODO: PE-239 Maybe we could add "dangerous" into the names or make them completely random.
@@ -19820,10 +20240,9 @@ disabled: htmlDisabledProp, id, ...restProps }, ref) {
19820
20240
  value
19821
20241
  ]);
19822
20242
  const isIndeterminate = effectiveChecked === null;
19823
- // Self-scope the theme class on the root so the native token cascade resolves dark/light here,
19824
- // with no provider-emitted wrapper node in the consumer tree (DUBOIS-448).
19825
- const themeClass = useDuboisThemeClass();
19826
- const rootClassName = classnames(ROOT_CLASS$1, themeClass, className);
20243
+ // Inherits the `--db-color-*` scope (theme-class + consumer override) from the DesignSystemProvider
20244
+ // wrapper; no self-scoped theme class, so a consumer override set on that wrapper reaches here.
20245
+ const rootClassName = classnames(ROOT_CLASS$1, className);
19827
20246
  // Skip `checked` when uncontrolled (avoids React's controlled-vs-uncontrolled warning when
19828
20247
  // a `defaultChecked` is also passed). Indeterminate drives controlled mode with checked=false.
19829
20248
  const checkedProp = isIndeterminate ? false : effectiveChecked;
@@ -20016,14 +20435,16 @@ const infoIconStyles = (theme)=>({
20016
20435
  color: theme.colors.textSecondary,
20017
20436
  pointerEvents: 'all'
20018
20437
  });
20019
- const getNewChildren = (children, props, disabledReason, ref)=>{
20438
+ const getNewChildren = (children, props, disabledReason, // Supplied by the menu component so the tooltip renders above its content: the Du Bois Tooltip
20439
+ // portals to document.body at zIndexBase + 70 (~1070), which is below the menu's own z-index, so
20440
+ // without this it renders behind the open menu.
20441
+ zIndex)=>{
20020
20442
  const childCount = Children.count(children);
20021
- const tooltip = /*#__PURE__*/ jsx(LegacyTooltip, {
20022
- title: disabledReason,
20023
- placement: "right",
20024
- dangerouslySetAntdProps: {
20025
- getPopupContainer: ()=>ref.current || document.body
20026
- },
20443
+ const tooltip = /*#__PURE__*/ jsx(Tooltip, {
20444
+ componentId: "design-system.menu.disabled-reason.tooltip",
20445
+ content: disabledReason,
20446
+ side: "right",
20447
+ zIndex: zIndex,
20027
20448
  children: /*#__PURE__*/ jsx("span", {
20028
20449
  "data-disabled-tooltip": true,
20029
20450
  css: (theme)=>infoIconStyles(theme),
@@ -20108,11 +20529,13 @@ const Root$a = ({ children, itemHtmlType, ...props })=>{
20108
20529
  })
20109
20530
  });
20110
20531
  };
20111
- const Content$6 = /*#__PURE__*/ forwardRef(function Content({ children, minWidth = 220, matchTriggerWidth, forceCloseOnEscape, onEscapeKeyDown, onKeyDown, ...props }, ref) {
20532
+ const Content$6 = /*#__PURE__*/ forwardRef(function Content({ children, minWidth = 220, matchTriggerWidth, forceCloseOnEscape, onEscapeKeyDown, onKeyDown, className, style, ...props }, ref) {
20112
20533
  const { getPopupContainer } = useDesignSystemContext();
20113
20534
  const { theme } = useDesignSystemTheme();
20114
20535
  const { setIsOpen } = useDropdownContext();
20115
20536
  const { isInsideModal } = useModalContext();
20537
+ const themeClass = useDuboisThemeClass();
20538
+ const themeOverrideStyle = useDesignTokenOverrideStyles();
20116
20539
  return /*#__PURE__*/ jsx(DropdownMenu$1.Portal, {
20117
20540
  container: getPopupContainer && getPopupContainer(),
20118
20541
  children: /*#__PURE__*/ jsx(DropdownMenu$1.Content, {
@@ -20155,11 +20578,16 @@ const Content$6 = /*#__PURE__*/ forwardRef(function Content({ children, minWidth
20155
20578
  e.stopPropagation();
20156
20579
  props?.onTouchMove?.(e);
20157
20580
  },
20581
+ className: classnames(className, themeClass),
20582
+ style: {
20583
+ ...style,
20584
+ ...themeOverrideStyle
20585
+ },
20158
20586
  children: children
20159
20587
  })
20160
20588
  });
20161
20589
  });
20162
- const SubContent$1 = /*#__PURE__*/ forwardRef(function Content({ children, minWidth = 220, onKeyDown, ...props }, ref) {
20590
+ const SubContent$1 = /*#__PURE__*/ forwardRef(function Content({ children, minWidth = 220, onKeyDown, className, style, ...props }, ref) {
20163
20591
  const { getPopupContainer } = useDesignSystemContext();
20164
20592
  const { theme } = useDesignSystemTheme();
20165
20593
  const [contentFitsInViewport, setContentFitsInViewport] = React__default.useState(true);
@@ -20204,6 +20632,8 @@ const SubContent$1 = /*#__PURE__*/ forwardRef(function Content({ children, minWi
20204
20632
  isOpen,
20205
20633
  checkAvailableWidth
20206
20634
  ]);
20635
+ const themeClass = useDuboisThemeClass();
20636
+ const themeOverrideStyle = useDesignTokenOverrideStyles();
20207
20637
  let transformCalc = `calc(var(--radix-dropdown-menu-content-available-width) + var(--radix-dropdown-menu-trigger-width) * -1)`;
20208
20638
  if (dataSide === 'left') {
20209
20639
  transformCalc = `calc(var(--radix-dropdown-menu-trigger-width) - var(--radix-dropdown-menu-content-available-width))`;
@@ -20235,6 +20665,11 @@ const SubContent$1 = /*#__PURE__*/ forwardRef(function Content({ children, minWi
20235
20665
  onKeyDown?.(e);
20236
20666
  },
20237
20667
  ...props,
20668
+ className: classnames(className, themeClass),
20669
+ style: {
20670
+ ...style,
20671
+ ...themeOverrideStyle
20672
+ },
20238
20673
  children: children
20239
20674
  })
20240
20675
  });
@@ -20304,7 +20739,7 @@ const Item$3 = /*#__PURE__*/ forwardRef(function Item({ children, disabledReason
20304
20739
  },
20305
20740
  ...props,
20306
20741
  ...eventContext.dataComponentProps,
20307
- children: getNewChildren(children, props, disabledReason, itemRef)
20742
+ children: getNewChildren(children, props, disabledReason, getZIndex() + 1)
20308
20743
  });
20309
20744
  });
20310
20745
  const Label$1 = /*#__PURE__*/ forwardRef(function Label({ children, ...props }, ref) {
@@ -20352,7 +20787,7 @@ const SubTrigger$1 = /*#__PURE__*/ forwardRef(function TriggerItem({ children, d
20352
20787
  },
20353
20788
  ...props,
20354
20789
  children: [
20355
- getNewChildren(children, props, disabledReason, subTriggerRef),
20790
+ getNewChildren(children, props, disabledReason, getZIndex() + 1),
20356
20791
  /*#__PURE__*/ jsx(HintColumn, {
20357
20792
  css: (theme)=>({
20358
20793
  margin: CONSTANTS.subMenuIconMargin(theme),
@@ -20422,7 +20857,7 @@ const CheckboxItem$1 = /*#__PURE__*/ forwardRef(function CheckboxItem({ children
20422
20857
  },
20423
20858
  ...props,
20424
20859
  ...eventContext.dataComponentProps,
20425
- children: getNewChildren(children, props, disabledReason, checkboxItemRef)
20860
+ children: getNewChildren(children, props, disabledReason, getZIndex() + 1)
20426
20861
  });
20427
20862
  });
20428
20863
  const RadioGroup$1 = /*#__PURE__*/ forwardRef(function RadioGroup({ children, componentId, analyticsEvents, onValueChange, valueHasNoPii, ...props }, ref) {
@@ -20517,7 +20952,7 @@ const RadioItem$1 = /*#__PURE__*/ forwardRef(function RadioItem({ children, disa
20517
20952
  checkboxItemStyles(theme)
20518
20953
  ],
20519
20954
  ...props,
20520
- children: getNewChildren(children, props, disabledReason, radioItemRef)
20955
+ children: getNewChildren(children, props, disabledReason, getZIndex() + 1)
20521
20956
  });
20522
20957
  });
20523
20958
  const SubContext = /*#__PURE__*/ createContext({
@@ -20787,18 +21222,20 @@ const SubTrigger = ({ children, disabledReason, withChevron, ...props })=>{
20787
21222
  props.onKeyDown?.(e);
20788
21223
  },
20789
21224
  children: [
20790
- getNewChildren(children, props, disabledReason, ref),
21225
+ getNewChildren(children, props, disabledReason, getZIndex() + 1),
20791
21226
  withChevron && /*#__PURE__*/ jsx(ContextMenu.Hint, {
20792
21227
  children: /*#__PURE__*/ jsx(ChevronRightIcon, {})
20793
21228
  })
20794
21229
  ]
20795
21230
  });
20796
21231
  };
20797
- const Content$5 = ({ children, minWidth, forceCloseOnEscape, onEscapeKeyDown, onKeyDown, ...childrenProps })=>{
21232
+ const Content$5 = ({ children, minWidth, forceCloseOnEscape, onEscapeKeyDown, onKeyDown, className, style, ...childrenProps })=>{
20798
21233
  const { getPopupContainer } = useDesignSystemContext();
20799
21234
  const { theme } = useDesignSystemTheme();
20800
21235
  const { isInsideModal } = useModalContext();
20801
21236
  const { isOpen, setIsOpen } = useContextMenuProps();
21237
+ const themeClass = useDuboisThemeClass();
21238
+ const themeOverrideStyle = useDesignTokenOverrideStyles();
20802
21239
  return /*#__PURE__*/ jsx(ContextMenuPortal, {
20803
21240
  container: getPopupContainer && getPopupContainer(),
20804
21241
  children: isOpen && /*#__PURE__*/ jsx(ContextMenuContent, {
@@ -20833,13 +21270,20 @@ const Content$5 = ({ children, minWidth, forceCloseOnEscape, onEscapeKeyDown, on
20833
21270
  minWidth
20834
21271
  }
20835
21272
  ],
21273
+ className: classnames(className, themeClass),
21274
+ style: {
21275
+ ...style,
21276
+ ...themeOverrideStyle
21277
+ },
20836
21278
  children: children
20837
21279
  })
20838
21280
  });
20839
21281
  };
20840
- const SubContent = ({ children, minWidth, ...childrenProps })=>{
21282
+ const SubContent = ({ children, minWidth, className, style, ...childrenProps })=>{
20841
21283
  const { getPopupContainer } = useDesignSystemContext();
20842
21284
  const { theme } = useDesignSystemTheme();
21285
+ const themeClass = useDuboisThemeClass();
21286
+ const themeOverrideStyle = useDesignTokenOverrideStyles();
20843
21287
  return /*#__PURE__*/ jsx(ContextMenuPortal, {
20844
21288
  container: getPopupContainer && getPopupContainer(),
20845
21289
  children: /*#__PURE__*/ jsx(ContextMenuSubContent, {
@@ -20864,6 +21308,11 @@ const SubContent = ({ children, minWidth, ...childrenProps })=>{
20864
21308
  }
20865
21309
  childrenProps.onKeyDown?.(e);
20866
21310
  },
21311
+ className: classnames(className, themeClass),
21312
+ style: {
21313
+ ...style,
21314
+ ...themeOverrideStyle
21315
+ },
20867
21316
  children: children
20868
21317
  })
20869
21318
  });
@@ -20908,7 +21357,7 @@ const Item$2 = ({ children, disabledReason, onClick, componentId, analyticsEvent
20908
21357
  props.onKeyDown?.(e);
20909
21358
  },
20910
21359
  ...eventContext.dataComponentProps,
20911
- children: getNewChildren(children, props, disabledReason, ref)
21360
+ children: getNewChildren(children, props, disabledReason, getZIndex() + 1)
20912
21361
  });
20913
21362
  };
20914
21363
  const CheckboxItem = ({ children, disabledReason, onCheckedChange, componentId, analyticsEvents, ...props })=>{
@@ -20959,7 +21408,7 @@ const CheckboxItem = ({ children, disabledReason, onCheckedChange, componentId,
20959
21408
  width: theme.general.iconFontSize + theme.spacing.xs
20960
21409
  }
20961
21410
  }),
20962
- getNewChildren(children, props, disabledReason, ref)
21411
+ getNewChildren(children, props, disabledReason, getZIndex() + 1)
20963
21412
  ]
20964
21413
  });
20965
21414
  };
@@ -21005,7 +21454,7 @@ const RadioItem = ({ children, disabledReason, ...props })=>{
21005
21454
  css: getMemoizedItemIndicatorStyles(theme),
21006
21455
  children: /*#__PURE__*/ jsx(CheckIcon, {})
21007
21456
  }),
21008
- getNewChildren(children, props, disabledReason, ref)
21457
+ getNewChildren(children, props, disabledReason, getZIndex() + 1)
21009
21458
  ]
21010
21459
  });
21011
21460
  };
@@ -22318,9 +22767,14 @@ const isValidCustomInputDate = (date, format$1)=>{
22318
22767
  if (!date) {
22319
22768
  return false;
22320
22769
  }
22770
+ // A native <input type="datetime-local"> reports its value with a "T" separator
22771
+ // ("2023-08-18T18:00"), while the date/time formats here use a space ("yyyy-MM-dd HH:mm").
22772
+ // Without this normalization the round-trip check below can never match a native datetime
22773
+ // value, so every keystroke would be rejected as invalid (VIZ-12021).
22774
+ const normalizedDate = date.replace('T', ' ');
22321
22775
  try {
22322
22776
  // Parse the date string using the provided format
22323
- const parsedDate = parse(date, format$1, new Date());
22777
+ const parsedDate = parse(normalizedDate, format$1, new Date());
22324
22778
  // Check if the parsed date is valid
22325
22779
  if (!isValid(parsedDate)) {
22326
22780
  return false;
@@ -22328,7 +22782,7 @@ const isValidCustomInputDate = (date, format$1)=>{
22328
22782
  // Additional check: ensure the formatted date matches the input
22329
22783
  // This prevents cases like parsing "2023-13-45" which might be invalid
22330
22784
  const formattedDate = format(parsedDate, format$1);
22331
- return formattedDate === date;
22785
+ return formattedDate === normalizedDate;
22332
22786
  } catch (error) {
22333
22787
  return false;
22334
22788
  }
@@ -24370,11 +24824,13 @@ const getHintColumnStyles = (theme, disabled, textOverflowMode)=>{
24370
24824
 
24371
24825
  const defaultMaxHeight = 'var(--radix-popover-content-available-height)';
24372
24826
  const DialogComboboxContent = /*#__PURE__*/ forwardRef(// eslint-disable-next-line react-component-name/react-component-name -- TODO(FEINF-4716)
24373
- ({ children, loading, loadingDescription = 'DialogComboboxContent', matchTriggerWidth, textOverflowMode, maxHeight, maxWidth, minHeight, minWidth = 240, width, align = 'start', side = 'bottom', sideOffset = 4, onEscapeKeyDown, onKeyDown, forceCloseOnEscape, ...restProps }, forwardedRef)=>{
24827
+ ({ children, loading, loadingDescription = 'DialogComboboxContent', matchTriggerWidth, textOverflowMode, maxHeight, maxWidth, minHeight, minWidth = 240, width, align = 'start', side = 'bottom', sideOffset = 4, onEscapeKeyDown, onKeyDown, forceCloseOnEscape, className, style, ...restProps }, forwardedRef)=>{
24374
24828
  const { theme } = useDesignSystemTheme();
24375
24829
  const { label, isInsideDialogCombobox, contentWidth, setContentWidth, textOverflowMode: contextTextOverflowMode, setTextOverflowMode, multiSelect, isOpen, rememberLastScrollPosition, setIsOpen } = useDialogComboboxContext();
24376
24830
  const { isInsideModal } = useModalContext();
24377
24831
  const { getPopupContainer } = useDesignSystemContext();
24832
+ const themeClass = useDuboisThemeClass();
24833
+ const themeOverrideStyle = useDesignTokenOverrideStyles();
24378
24834
  const [lastScrollPosition, setLastScrollPosition] = useState(0);
24379
24835
  if (!isInsideDialogCombobox) {
24380
24836
  throw new Error('`DialogComboboxContent` must be used within `DialogCombobox`');
@@ -24460,6 +24916,11 @@ const DialogComboboxContent = /*#__PURE__*/ forwardRef(// eslint-disable-next-li
24460
24916
  },
24461
24917
  ...restProps,
24462
24918
  ref: contentRef,
24919
+ className: classnames(className, themeClass),
24920
+ style: {
24921
+ ...style,
24922
+ ...themeOverrideStyle
24923
+ },
24463
24924
  children: /*#__PURE__*/ jsx("div", {
24464
24925
  css: {
24465
24926
  display: 'flex',
@@ -24603,261 +25064,6 @@ const useDialogComboboxOptionListContext = ()=>{
24603
25064
  return useContext(DialogComboboxOptionListContext);
24604
25065
  };
24605
25066
 
24606
- // @ts-expect-error `jest` is only available in tests
24607
- const isInsideTest = ()=>typeof jest !== 'undefined';
24608
-
24609
- const DEFAULT_ANALYTICS_EVENTS$4 = [
24610
- DesignSystemEventProviderAnalyticsEventTypes.OnView
24611
- ];
24612
- const slideUpAndFade = /*#__PURE__*/ keyframes({
24613
- from: {
24614
- opacity: 0,
24615
- transform: 'translateY(2px)'
24616
- },
24617
- to: {
24618
- opacity: 1,
24619
- transform: 'translateY(0)'
24620
- }
24621
- });
24622
- const slideRightAndFade = /*#__PURE__*/ keyframes({
24623
- from: {
24624
- opacity: 0,
24625
- transform: 'translateX(-2px)'
24626
- },
24627
- to: {
24628
- opacity: 1,
24629
- transform: 'translateX(0)'
24630
- }
24631
- });
24632
- const slideDownAndFade = /*#__PURE__*/ keyframes({
24633
- from: {
24634
- opacity: 0,
24635
- transform: 'translateY(-2px)'
24636
- },
24637
- to: {
24638
- opacity: 1,
24639
- transform: 'translateY(0)'
24640
- }
24641
- });
24642
- const slideLeftAndFade = /*#__PURE__*/ keyframes({
24643
- from: {
24644
- opacity: 0,
24645
- transform: 'translateX(2px)'
24646
- },
24647
- to: {
24648
- opacity: 1,
24649
- transform: 'translateX(0)'
24650
- }
24651
- });
24652
- const getTooltipStyles = (theme, clsPrefix)=>{
24653
- // Radix uses `data-state` to drive tooltip animations. However, due to a Radix bug, the animation CSS is not
24654
- // well-scoped. If the tooltip wraps another component that uses `data-state` (such as ToggleButton), the animation
24655
- // styles leak into the child component. We work around this by introducing our own `tooltip-data-state` attribute
24656
- // and redefining the animations based on that. This requires a *patch* to the Radix tooltip to swap `data-state`
24657
- // for `tooltip-data-state`: js/yarn/patches/@radix-ui-react-tooltip-npm-1.0.7-c7378e5c03.patch. This patch is applied
24658
- // via `yarn patch`. See https://databricks.atlassian.net/browse/DUBOIS-340 for original context.
24659
- //
24660
- // It is worth highlighting here, however, that we do not have a good way to distribute this patch outside of universe
24661
- // when `@databricks/design-system` is published to npm. Thus, this animation bug may still persist if this Tooltip
24662
- // component is used outside of universe alongside a Radix version that still has the underlying bug.
24663
- const dataStateAttr = 'tooltip-data-state';
24664
- const classTypography = `.${clsPrefix}-typography`;
24665
- const { isDarkMode } = theme;
24666
- const linkColor = isDarkMode ? theme.colors.blue600 : theme.colors.blue500;
24667
- const linkActiveColor = isDarkMode ? theme.colors.blue800 : theme.colors.blue300;
24668
- const linkHoverColor = isDarkMode ? theme.colors.blue700 : theme.colors.blue400;
24669
- return {
24670
- content: {
24671
- backgroundColor: theme.colors.tooltipBackgroundTooltip,
24672
- color: theme.colors.actionPrimaryTextDefault,
24673
- borderRadius: token(ShapeTokens.POPOVER_BORDER_RADIUS, theme.borders.borderRadiusSm),
24674
- fontSize: theme.typography.fontSizeMd,
24675
- padding: `${theme.spacing.xs}px ${theme.spacing.sm}px`,
24676
- lineHeight: theme.typography.lineHeightLg,
24677
- fontWeight: theme.typography.typographyRegularFontWeight,
24678
- boxShadow: theme.shadows.lg,
24679
- wordWrap: 'break-word',
24680
- whiteSpace: 'normal',
24681
- zIndex: theme.options.zIndexBase + 70,
24682
- willChange: 'transform, opacity',
24683
- [`&[${dataStateAttr}='delayed-open'][data-side='top']`]: {
24684
- animation: `${slideDownAndFade} 400ms cubic-bezier(0.16, 1, 0.3, 1)`
24685
- },
24686
- [`&[${dataStateAttr}='delayed-open'][data-side='right']`]: {
24687
- animation: `${slideLeftAndFade} 400ms cubic-bezier(0.16, 1, 0.3, 1)`
24688
- },
24689
- [`&[${dataStateAttr}='delayed-open'][data-side='bottom']`]: {
24690
- animation: `${slideUpAndFade} 400ms cubic-bezier(0.16, 1, 0.3, 1)`
24691
- },
24692
- [`&[${dataStateAttr}='delayed-open'][data-side='left']`]: {
24693
- animation: `${slideRightAndFade} 400ms cubic-bezier(0.16, 1, 0.3, 1)`
24694
- },
24695
- [`& a${classTypography}`]: {
24696
- '&, :focus': {
24697
- color: linkColor,
24698
- '.anticon': {
24699
- color: linkColor
24700
- }
24701
- },
24702
- ':active': {
24703
- color: linkActiveColor,
24704
- '.anticon': {
24705
- color: linkActiveColor
24706
- }
24707
- },
24708
- ':hover': {
24709
- color: linkHoverColor,
24710
- '.anticon': {
24711
- color: linkHoverColor
24712
- }
24713
- }
24714
- }
24715
- },
24716
- arrow: {
24717
- fill: theme.colors.tooltipBackgroundTooltip,
24718
- zIndex: theme.options.zIndexBase + 70,
24719
- visibility: 'visible'
24720
- }
24721
- };
24722
- };
24723
- const getMemoizedTooltipStyles = memoize(getTooltipStyles, (theme, clsPrefix)=>`${themeMemoKey(theme)}|${clsPrefix}`);
24724
- /**
24725
- * Radix's portal only mounts its children while the tooltip is open, so keeping the content work
24726
- * here avoids paying for theme, style, and analytics hooks on every closed tooltip. The portal
24727
- * composes a ref onto whatever it renders, so this has to forward it on to the content.
24728
- */ const TooltipContent = /*#__PURE__*/ forwardRef(function TooltipContent({ content, side, sideOffset, align, maxWidth, componentId, analyticsEvents, zIndex, shouldReportViewRef, ...props }, ref) {
24729
- const { theme, classNamePrefix } = useDesignSystemTheme();
24730
- const tooltipStyles = getMemoizedTooltipStyles(theme, classNamePrefix);
24731
- const contentCss = useMemo(()=>[
24732
- tooltipStyles['content'],
24733
- {
24734
- maxWidth
24735
- },
24736
- zIndex !== undefined ? {
24737
- zIndex
24738
- } : undefined
24739
- ], [
24740
- tooltipStyles,
24741
- maxWidth,
24742
- zIndex
24743
- ]);
24744
- const eventContext = useDesignSystemEventComponentCallbacks({
24745
- componentType: DesignSystemEventProviderComponentTypes.Tooltip,
24746
- componentId,
24747
- analyticsEvents
24748
- });
24749
- useEffect(()=>{
24750
- if (shouldReportViewRef.current) {
24751
- eventContext.onView();
24752
- shouldReportViewRef.current = false;
24753
- }
24754
- }, [
24755
- eventContext,
24756
- shouldReportViewRef
24757
- ]);
24758
- return /*#__PURE__*/ jsxs(RadixTooltip.Content, {
24759
- ref: ref,
24760
- side: side,
24761
- align: align,
24762
- sideOffset: sideOffset ?? theme.spacing.sm,
24763
- arrowPadding: theme.spacing.md,
24764
- css: contentCss,
24765
- ...props,
24766
- ...eventContext.dataComponentProps,
24767
- children: [
24768
- content,
24769
- /*#__PURE__*/ jsx(RadixTooltip.Arrow, {
24770
- css: tooltipStyles['arrow']
24771
- })
24772
- ]
24773
- });
24774
- });
24775
- /**
24776
- * Owns the popup container lookup so that a tooltip which never opens does not subscribe to the
24777
- * design system context.
24778
- */ const TooltipPortal = (props)=>{
24779
- const { getPopupContainer } = useDesignSystemContext();
24780
- return /*#__PURE__*/ jsx(RadixTooltip.Portal, {
24781
- container: getPopupContainer?.(),
24782
- children: /*#__PURE__*/ jsx(TooltipContent, {
24783
- ...props
24784
- })
24785
- });
24786
- };
24787
- /**
24788
- * If the tooltip is not displaying for you, it might be because the child does not accept the onMouseEnter, onMouseLeave, onPointerEnter,
24789
- * onPointerLeave, onFocus, and onClick props. You can add these props to your child component, or wrap it in a `<span>` tag.
24790
- *
24791
- * See go/dubois.
24792
- */ const Tooltip = ({ children, content, defaultOpen = false, delayDuration = 350, side = 'top', sideOffset, align = 'center', maxWidth = 250, componentId, analyticsEvents = DEFAULT_ANALYTICS_EVENTS$4, open, onOpenChange, disableHoverableContent, zIndex, ...props })=>{
24793
- disableHoverableContent ??= true;
24794
- const firstView = useRef(true);
24795
- const shouldReportView = useRef(false);
24796
- // The portal renders nothing while closed, but it and its Presence still mount for every tooltip
24797
- // on the page. Root and Trigger stay put so the child never changes position in the tree.
24798
- const [everOpened, setEverOpened] = useState(defaultOpen);
24799
- // A consumer-controlled `open` never calls onOpenChange, so it has to latch here instead.
24800
- if (open && !everOpened) {
24801
- setEverOpened(true);
24802
- }
24803
- const handleOpenChange = useCallback((open)=>{
24804
- if (open) {
24805
- setEverOpened(true);
24806
- if (firstView.current) {
24807
- shouldReportView.current = true;
24808
- firstView.current = false;
24809
- }
24810
- }
24811
- onOpenChange?.(open);
24812
- }, [
24813
- onOpenChange
24814
- ]);
24815
- const IS_INSIDE_TEST = isInsideTest();
24816
- return /*#__PURE__*/ jsxs(RadixTooltip.Root, {
24817
- defaultOpen: defaultOpen,
24818
- delayDuration: IS_INSIDE_TEST ? 10 : delayDuration,
24819
- open: open,
24820
- onOpenChange: handleOpenChange,
24821
- disableHoverableContent: disableHoverableContent,
24822
- children: [
24823
- /*#__PURE__*/ jsx(RadixTooltip.Trigger, {
24824
- asChild: true,
24825
- children: children
24826
- }),
24827
- content && everOpened ? /*#__PURE__*/ jsx(TooltipPortal, {
24828
- content: content,
24829
- side: side,
24830
- sideOffset: sideOffset,
24831
- align: align,
24832
- maxWidth: maxWidth,
24833
- componentId: componentId,
24834
- analyticsEvents: analyticsEvents,
24835
- zIndex: zIndex,
24836
- shouldReportViewRef: shouldReportView,
24837
- ...props
24838
- }) : null
24839
- ]
24840
- });
24841
- };
24842
-
24843
- const getMemoizedIconCss = memoize((theme)=>({
24844
- color: theme.colors.textSecondary
24845
- }));
24846
- const InfoTooltip = ({ content, iconTitle = 'More information', ...props })=>{
24847
- const { theme } = useDesignSystemTheme();
24848
- return /*#__PURE__*/ jsx(Tooltip, {
24849
- content: content,
24850
- ...props,
24851
- children: /*#__PURE__*/ jsx(InfoSmallIcon, {
24852
- tabIndex: 0,
24853
- "aria-hidden": "false",
24854
- "aria-label": iconTitle,
24855
- alt: iconTitle,
24856
- css: getMemoizedIconCss(theme)
24857
- })
24858
- });
24859
- };
24860
-
24861
25067
  const DuboisDialogComboboxOptionListCheckboxItem = /*#__PURE__*/ forwardRef(({ value, checked, indeterminate, onChange, children, disabledReason, _TYPE, ...props }, ref)=>{
24862
25068
  const { theme } = useDesignSystemTheme();
24863
25069
  const { textOverflowMode, contentWidth, disableMouseOver, setDisableMouseOver } = useDialogComboboxContext();
@@ -25800,8 +26006,6 @@ const DEFAULT_HEIGHT = 320;
25800
26006
  const MIN_HEIGHT = 320;
25801
26007
  const MAX_HEIGHT = '100vh';
25802
26008
  const DEFAULT_POSITION = 'right';
25803
- const ZINDEX_OVERLAY = 1;
25804
- const ZINDEX_CONTENT = ZINDEX_OVERLAY + 1;
25805
26009
  // Hoisted to module level so the keyframe definitions are computed once and shared
25806
26010
  // across every drawer mount instead of regenerated per-render.
25807
26011
  const OVERLAY_SHOW_RIGHT = /*#__PURE__*/ keyframes({
@@ -25832,12 +26036,11 @@ const OVERLAY_SHOW_BOTTOM = /*#__PURE__*/ keyframes({
25832
26036
  const DEFAULT_ANALYTICS_EVENTS$3 = [
25833
26037
  DesignSystemEventProviderAnalyticsEventTypes.OnView
25834
26038
  ];
25835
- /** Context to track if drawer is nested within a parent drawer */ const DrawerContext = /*#__PURE__*/ React__default.createContext({
25836
- isParentDrawerOpen: false
25837
- });
25838
26039
  const Content$4 = ({ children, footer, title, width, height, position: positionOverride, useCustomScrollBehavior, expandContentToFullHeight, disableOpenAutoFocus, onInteractOutside, seeThrough, hideClose, closeOnClickOutside, onCloseClick, componentId = 'design_system.drawer.content', analyticsEvents = DEFAULT_ANALYTICS_EVENTS$3, size = 'default', ...props })=>{
25839
26040
  const { getPopupContainer } = useDesignSystemContext();
25840
26041
  const { theme } = useDesignSystemTheme();
26042
+ const themeClass = useDuboisThemeClass();
26043
+ const themeOverrideStyle = useDesignTokenOverrideStyles();
25841
26044
  const horizontalContentPadding = size === 'small' ? theme.spacing.md : theme.spacing.lg;
25842
26045
  const [shouldContentBeFocusable, setShouldContentBeFocusable] = useState(false);
25843
26046
  const contentContainerRef = useRef(null);
@@ -25902,7 +26105,7 @@ const Content$4 = ({ children, footer, title, width, height, position: positionO
25902
26105
  boxShadow: theme.shadows.xl,
25903
26106
  position: 'fixed',
25904
26107
  boxSizing: 'border-box',
25905
- zIndex: theme.options.zIndexBase + ZINDEX_CONTENT,
26108
+ zIndex: theme.options.zIndexBase + DRAWER_ZINDEX_CONTENT_OFFSET,
25906
26109
  ...isSidePosition ? {
25907
26110
  top: 0,
25908
26111
  width: width ?? DEFAULT_WIDTH$1,
@@ -25950,7 +26153,7 @@ const Content$4 = ({ children, footer, title, width, height, position: positionO
25950
26153
  position: 'fixed',
25951
26154
  inset: 0,
25952
26155
  // needed so that it covers the PersonaNavSidebar
25953
- zIndex: theme.options.zIndexBase + ZINDEX_OVERLAY,
26156
+ zIndex: theme.options.zIndexBase + DRAWER_ZINDEX_OVERLAY_OFFSET,
25954
26157
  opacity: seeThrough || isParentDrawerOpen ? 0 : 1
25955
26158
  }),
25956
26159
  onClick: closeOnClickOutside ? onCloseClick : undefined
@@ -25969,8 +26172,10 @@ const Content$4 = ({ children, footer, title, width, height, position: positionO
25969
26172
  } : {
25970
26173
  borderLeft: `1px solid ${theme.colors.borderDecorative}`
25971
26174
  }
25972
- }
26175
+ },
26176
+ ...themeOverrideStyle
25973
26177
  },
26178
+ className: themeClass,
25974
26179
  onKeyDownCapture: handleKeyDownCapture,
25975
26180
  onWheel: (e)=>{
25976
26181
  e.stopPropagation();
@@ -25988,95 +26193,95 @@ const Content$4 = ({ children, footer, title, width, height, position: positionO
25988
26193
  onInteractOutside: onInteractOutside,
25989
26194
  ...props,
25990
26195
  ...eventContext.dataComponentProps,
25991
- children: /*#__PURE__*/ jsxs(ApplyDesignSystemContextOverrides, {
26196
+ children: /*#__PURE__*/ jsx(ApplyDesignSystemContextOverrides, {
25992
26197
  getPopupContainer: ()=>contentContainerRef.current ?? document.body,
25993
- children: [
25994
- (title || !hideClose) && /*#__PURE__*/ jsxs("div", {
25995
- css: /*#__PURE__*/ css({
25996
- flexGrow: 0,
25997
- flexShrink: 1,
25998
- display: 'flex',
25999
- flexDirection: 'row',
26000
- justifyContent: 'space-between',
26001
- alignItems: 'center',
26002
- paddingRight: horizontalContentPadding,
26003
- paddingLeft: horizontalContentPadding,
26004
- marginBottom: theme.spacing.sm
26005
- }),
26006
- children: [
26007
- /*#__PURE__*/ jsx(DialogPrimitive.Title, {
26008
- title: typeof title === 'string' ? title : undefined,
26009
- asChild: typeof title === 'string',
26010
- css: /*#__PURE__*/ css({
26011
- flexGrow: 1,
26012
- marginBottom: 0,
26013
- marginTop: 0,
26014
- whiteSpace: 'nowrap',
26015
- overflow: 'hidden'
26016
- }),
26017
- children: typeof title === 'string' ? /*#__PURE__*/ jsx(Typography.Title, {
26018
- elementLevel: 2,
26019
- level: size === 'small' ? 3 : 2,
26020
- withoutMargins: true,
26021
- ellipsis: true,
26022
- children: title
26023
- }) : title
26198
+ children: /*#__PURE__*/ jsxs(DrawerContext.Provider, {
26199
+ value: {
26200
+ isParentDrawerOpen: true
26201
+ },
26202
+ children: [
26203
+ (title || !hideClose) && /*#__PURE__*/ jsxs("div", {
26204
+ css: /*#__PURE__*/ css({
26205
+ flexGrow: 0,
26206
+ flexShrink: 1,
26207
+ display: 'flex',
26208
+ flexDirection: 'row',
26209
+ justifyContent: 'space-between',
26210
+ alignItems: 'center',
26211
+ paddingRight: horizontalContentPadding,
26212
+ paddingLeft: horizontalContentPadding,
26213
+ marginBottom: theme.spacing.sm
26024
26214
  }),
26025
- !hideClose && /*#__PURE__*/ jsx(DialogPrimitive.Close, {
26026
- asChild: true,
26027
- css: /*#__PURE__*/ css({
26028
- flexShrink: 1,
26029
- marginLeft: theme.spacing.xs
26215
+ children: [
26216
+ /*#__PURE__*/ jsx(DialogPrimitive.Title, {
26217
+ title: typeof title === 'string' ? title : undefined,
26218
+ asChild: typeof title === 'string',
26219
+ css: /*#__PURE__*/ css({
26220
+ flexGrow: 1,
26221
+ marginBottom: 0,
26222
+ marginTop: 0,
26223
+ whiteSpace: 'nowrap',
26224
+ overflow: 'hidden'
26225
+ }),
26226
+ children: typeof title === 'string' ? /*#__PURE__*/ jsx(Typography.Title, {
26227
+ elementLevel: 2,
26228
+ level: size === 'small' ? 3 : 2,
26229
+ withoutMargins: true,
26230
+ ellipsis: true,
26231
+ children: title
26232
+ }) : title
26030
26233
  }),
26031
- onClick: onCloseClick,
26032
- children: /*#__PURE__*/ jsx(Button$1, {
26033
- componentId: `${componentId}.close`,
26034
- "aria-label": "Close",
26035
- icon: /*#__PURE__*/ jsx(CloseIcon, {}),
26036
- size: size === 'small' ? 'small' : undefined
26234
+ !hideClose && /*#__PURE__*/ jsx(DialogPrimitive.Close, {
26235
+ asChild: true,
26236
+ css: /*#__PURE__*/ css({
26237
+ flexShrink: 1,
26238
+ marginLeft: theme.spacing.xs
26239
+ }),
26240
+ onClick: onCloseClick,
26241
+ children: /*#__PURE__*/ jsx(Button$1, {
26242
+ componentId: `${componentId}.close`,
26243
+ "aria-label": "Close",
26244
+ icon: /*#__PURE__*/ jsx(CloseIcon, {}),
26245
+ size: size === 'small' ? 'small' : undefined
26246
+ })
26037
26247
  })
26038
- })
26039
- ]
26040
- }),
26041
- /*#__PURE__*/ jsxs("div", {
26042
- ref: mergedContentRef,
26043
- // Needed to make drawer content focusable when scrollable for keyboard-only users to be able to focus & scroll
26044
- // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
26045
- tabIndex: shouldContentBeFocusable ? 0 : -1,
26046
- css: /*#__PURE__*/ css({
26047
- // in order to have specific content in the drawer scroll with fixed title
26048
- // hide overflow here and remove padding on the right side; content will be responsible for setting right padding
26049
- // so that the scrollbar will appear in the padding right gutter
26050
- paddingRight: useCustomScrollBehavior ? 0 : horizontalContentPadding,
26051
- paddingLeft: horizontalContentPadding,
26052
- overflowY: useCustomScrollBehavior ? 'hidden' : 'auto',
26053
- height: expandContentToFullHeight ? '100%' : undefined,
26054
- ...!useCustomScrollBehavior ? getShadowScrollStyles(theme) : {}
26248
+ ]
26055
26249
  }),
26056
- children: [
26057
- /*#__PURE__*/ jsx(DrawerContext.Provider, {
26058
- value: {
26059
- isParentDrawerOpen: true
26060
- },
26061
- children: children
26250
+ /*#__PURE__*/ jsxs("div", {
26251
+ ref: mergedContentRef,
26252
+ // Needed to make drawer content focusable when scrollable for keyboard-only users to be able to focus & scroll
26253
+ // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
26254
+ tabIndex: shouldContentBeFocusable ? 0 : -1,
26255
+ css: /*#__PURE__*/ css({
26256
+ // in order to have specific content in the drawer scroll with fixed title
26257
+ // hide overflow here and remove padding on the right side; content will be responsible for setting right padding
26258
+ // so that the scrollbar will appear in the padding right gutter
26259
+ paddingRight: useCustomScrollBehavior ? 0 : horizontalContentPadding,
26260
+ paddingLeft: horizontalContentPadding,
26261
+ overflowY: useCustomScrollBehavior ? 'hidden' : 'auto',
26262
+ height: expandContentToFullHeight ? '100%' : undefined,
26263
+ ...!useCustomScrollBehavior ? getShadowScrollStyles(theme) : {}
26062
26264
  }),
26063
- !footer && /*#__PURE__*/ jsx(Spacer, {
26064
- size: size === 'small' ? 'md' : 'lg'
26065
- })
26066
- ]
26067
- }),
26068
- footer && /*#__PURE__*/ jsx("div", {
26069
- style: {
26070
- paddingTop: theme.spacing.md,
26071
- paddingRight: horizontalContentPadding,
26072
- paddingLeft: horizontalContentPadding,
26073
- paddingBottom: size === 'small' ? theme.spacing.md : theme.spacing.lg,
26074
- flexGrow: 0,
26075
- flexShrink: 1
26076
- },
26077
- children: footer
26078
- })
26079
- ]
26265
+ children: [
26266
+ children,
26267
+ !footer && /*#__PURE__*/ jsx(Spacer, {
26268
+ size: size === 'small' ? 'md' : 'lg'
26269
+ })
26270
+ ]
26271
+ }),
26272
+ footer && /*#__PURE__*/ jsx("div", {
26273
+ style: {
26274
+ paddingTop: theme.spacing.md,
26275
+ paddingRight: horizontalContentPadding,
26276
+ paddingLeft: horizontalContentPadding,
26277
+ paddingBottom: size === 'small' ? theme.spacing.md : theme.spacing.lg,
26278
+ flexGrow: 0,
26279
+ flexShrink: 1
26280
+ },
26281
+ children: footer
26282
+ })
26283
+ ]
26284
+ })
26080
26285
  })
26081
26286
  })
26082
26287
  ]
@@ -26993,7 +27198,7 @@ const AntDRadioInternal = // eslint-disable-next-line react-component-name/react
26993
27198
  onChange: onChangeWrapper,
26994
27199
  ref: ref,
26995
27200
  "data-component-type": contextualComponentId ? DesignSystemEventProviderComponentTypes.RadioGroup : DesignSystemEventProviderComponentTypes.Radio,
26996
- // eslint-disable-next-line @databricks/no-dynamic-property-value -- Context component ID is validated through the RadioGroup exempt:8b3795a8-d0ff-4b21-888c-a6fbd0f3d7f2
27201
+ // oxlint-disable-next-line @databricks/no-dynamic-property-value -- Context component ID is validated through the RadioGroup exempt:8b3795a8-d0ff-4b21-888c-a6fbd0f3d7f2
26997
27202
  "data-component-id": contextualComponentId ?? componentId,
26998
27203
  children: /*#__PURE__*/ jsx(RestoreAntDDefaultClsPrefix, {
26999
27204
  children: children
@@ -27237,10 +27442,9 @@ const NativeRadio = /*#__PURE__*/ forwardRef(function NativeRadio({ children, __
27237
27442
  effectiveName,
27238
27443
  id
27239
27444
  ]);
27240
- // Self-scope the theme class on the root so the native token cascade resolves dark/light here,
27241
- // with no provider-emitted wrapper node in the consumer tree (DUBOIS-448).
27242
- const themeClass = useDuboisThemeClass();
27243
- const rootClassName = classnames(ROOT_CLASS, themeClass, className);
27445
+ // Inherits the `--db-color-*` scope (theme-class + consumer override) from the DesignSystemProvider
27446
+ // wrapper; no self-scoped theme class, so a consumer override set on that wrapper reaches here.
27447
+ const rootClassName = classnames(ROOT_CLASS, className);
27244
27448
  // In a group, render the GROUP's data-component-* attributes so a Form submission
27245
27449
  // triggered by this radio resolves the group as the referrer (extractReferrerComponent
27246
27450
  // reads document.activeElement.dataset). Standalone radios render their own.
@@ -27715,7 +27919,7 @@ const getSelectedOptionLabel = (children, value)=>{
27715
27919
  // SimpleSelect emits its own value change events rather than emitting them from the underlying
27716
27920
  // DialogCombobox due to how SimpleSelect sets its initial state. The Select componentId is explicitly
27717
27921
  // set to undefined to prevent it from emitting events if the componentId prop is required in the future.
27718
- // eslint-disable-next-line @databricks/no-dynamic-property-value -- Valid case exempt:e5d37a4d-10cd-4a8f-a964-2223405cc738
27922
+ // oxlint-disable-next-line @databricks/no-dynamic-property-value -- Valid case exempt:e5d37a4d-10cd-4a8f-a964-2223405cc738
27719
27923
  componentId: undefined,
27720
27924
  value: internalValue,
27721
27925
  placeholder: placeholder,
@@ -27820,7 +28024,10 @@ const mapItemsToString = (items, itemToString)=>{
27820
28024
  };
27821
28025
  const TypeaheadComboboxStateChangeTypes = useCombobox.stateChangeTypes;
27822
28026
  const TypeaheadComboboxMultiSelectStateChangeTypes = useMultipleSelection.stateChangeTypes;
27823
- function useComboboxState({ allItems, items, itemToString, onIsOpenChange, allowNewValue = false, formValue, formOnChange, formOnBlur, componentId, valueHasNoPii, analyticsEvents, matcher, preventUnsetOnBlur = false, selectedMatcher, ...props }) {
28027
+ /**
28028
+ * Deprecated in favor of `TypeaheadComboboxV2`.
28029
+ * @deprecated
28030
+ */ function useComboboxState({ allItems, items, itemToString, onIsOpenChange, allowNewValue = false, formValue, formOnChange, formOnBlur, componentId, valueHasNoPii, analyticsEvents, matcher, preventUnsetOnBlur = false, selectedMatcher, ...props }) {
27824
28031
  const getFilteredItems = useCallback((inputValue)=>{
27825
28032
  const lowerCasedInputValue = inputValue?.toLowerCase() ?? '';
27826
28033
  // If the input is empty or if there is no matcher supplied, do not filter
@@ -27971,7 +28178,10 @@ function useComboboxState({ allItems, items, itemToString, onIsOpenChange, allow
27971
28178
  };
27972
28179
  return comboboxState;
27973
28180
  }
27974
- function useMultipleSelectionState(selectedItems, setSelectedItems, { componentId, analyticsEvents = [
28181
+ /**
28182
+ * Deprecated in favor of `TypeaheadComboboxV2`.
28183
+ * @deprecated
28184
+ */ function useMultipleSelectionState(selectedItems, setSelectedItems, { componentId, analyticsEvents = [
27975
28185
  DesignSystemEventProviderAnalyticsEventTypes.OnValueChange
27976
28186
  ], valueHasNoPii, itemToString }) {
27977
28187
  const memoizedAnalyticsEvents = useMemo(()=>analyticsEvents, [
@@ -28004,17 +28214,17 @@ const useTypeaheadComboboxContext = ()=>{
28004
28214
  return useContext(TypeaheadComboboxContext);
28005
28215
  };
28006
28216
 
28007
- const CHECK_ICON_CSS = {
28217
+ const CHECK_ICON_CSS$1 = {
28008
28218
  paddingTop: 2
28009
28219
  };
28010
- const PLACEHOLDER_ICON_STYLE = {
28220
+ const PLACEHOLDER_ICON_STYLE$1 = {
28011
28221
  width: 16,
28012
28222
  flexShrink: 0
28013
28223
  };
28014
- const DISABLED_REASON_ROW_CSS = {
28224
+ const DISABLED_REASON_ROW_CSS$1 = {
28015
28225
  display: 'flex'
28016
28226
  };
28017
- const getMenuItemStyles = memoize((theme, isHighlighted, disabled)=>/*#__PURE__*/ css({
28227
+ const getMenuItemStyles$1 = memoize((theme, isHighlighted, disabled)=>/*#__PURE__*/ css({
28018
28228
  ...disabled && {
28019
28229
  pointerEvents: 'none',
28020
28230
  color: theme.colors.actionDisabledText
@@ -28023,7 +28233,7 @@ const getMenuItemStyles = memoize((theme, isHighlighted, disabled)=>/*#__PURE__*
28023
28233
  background: theme.colors.actionTertiaryBackgroundHover
28024
28234
  }
28025
28235
  }), (theme, isHighlighted, disabled)=>`${themeMemoKey(theme)}|${isHighlighted}|${Boolean(disabled)}`);
28026
- const getLabelStyles$1 = memoize((theme, textOverflowMode)=>/*#__PURE__*/ css({
28236
+ const getLabelStyles$3 = memoize((theme, textOverflowMode)=>/*#__PURE__*/ css({
28027
28237
  marginLeft: theme.spacing.sm,
28028
28238
  fontSize: theme.typography.fontSizeBase,
28029
28239
  fontStyle: 'normal',
@@ -28036,7 +28246,10 @@ const getLabelStyles$1 = memoize((theme, textOverflowMode)=>/*#__PURE__*/ css({
28036
28246
  whiteSpace: 'nowrap'
28037
28247
  }
28038
28248
  }), (theme, textOverflowMode)=>`${themeMemoKey(theme)}|${textOverflowMode}`);
28039
- const TypeaheadComboboxMenuItem = /*#__PURE__*/ forwardRef(// eslint-disable-next-line react-component-name/react-component-name -- TODO(FEINF-4716)
28249
+ /**
28250
+ * Deprecated in favor of `TypeaheadComboboxV2`.
28251
+ * @deprecated
28252
+ */ const TypeaheadComboboxMenuItem$1 = /*#__PURE__*/ forwardRef(// eslint-disable-next-line react-component-name/react-component-name -- TODO(FEINF-4716)
28040
28253
  ({ item, index, comboboxState, textOverflowMode = 'multiline', isDisabled, disabledReason, hintContent, onClick: onClickProp, children, ...restProps }, ref)=>{
28041
28254
  const { selectedItem, highlightedIndex, getItemProps, isOpen } = comboboxState;
28042
28255
  const isSelected = isEqual(selectedItem, item);
@@ -28089,21 +28302,21 @@ const TypeaheadComboboxMenuItem = /*#__PURE__*/ forwardRef(// eslint-disable-nex
28089
28302
  onClick: handleClick,
28090
28303
  css: [
28091
28304
  getComboboxOptionItemWrapperStyles(theme),
28092
- getMenuItemStyles(theme, isHighlighted, isDisabled)
28305
+ getMenuItemStyles$1(theme, isHighlighted, isDisabled)
28093
28306
  ],
28094
28307
  ...downshiftItemProps,
28095
28308
  ...restProps,
28096
28309
  children: [
28097
28310
  isSelected ? /*#__PURE__*/ jsx(CheckIcon, {
28098
- css: CHECK_ICON_CSS
28311
+ css: CHECK_ICON_CSS$1
28099
28312
  }) : /*#__PURE__*/ jsx("div", {
28100
- style: PLACEHOLDER_ICON_STYLE
28313
+ style: PLACEHOLDER_ICON_STYLE$1
28101
28314
  }),
28102
28315
  /*#__PURE__*/ jsxs("label", {
28103
- css: getLabelStyles$1(theme, textOverflowMode),
28316
+ css: getLabelStyles$3(theme, textOverflowMode),
28104
28317
  children: [
28105
28318
  isDisabled && disabledReason ? /*#__PURE__*/ jsxs("div", {
28106
- css: DISABLED_REASON_ROW_CSS,
28319
+ css: DISABLED_REASON_ROW_CSS$1,
28107
28320
  children: [
28108
28321
  /*#__PURE__*/ jsx("div", {
28109
28322
  children: children
@@ -28127,11 +28340,14 @@ const TypeaheadComboboxMenuItem = /*#__PURE__*/ forwardRef(// eslint-disable-nex
28127
28340
  ]
28128
28341
  });
28129
28342
  });
28130
- TypeaheadComboboxMenuItem.defaultProps = {
28343
+ TypeaheadComboboxMenuItem$1.defaultProps = {
28131
28344
  _type: 'TypeaheadComboboxMenuItem'
28132
28345
  };
28133
28346
 
28134
- const TypeaheadComboboxCheckboxItem = /*#__PURE__*/ forwardRef(// eslint-disable-next-line react-component-name/react-component-name -- TODO(FEINF-4716)
28347
+ /**
28348
+ * Deprecated in favor of `TypeaheadComboboxV2`.
28349
+ * @deprecated
28350
+ */ const TypeaheadComboboxCheckboxItem = /*#__PURE__*/ forwardRef(// eslint-disable-next-line react-component-name/react-component-name -- TODO(FEINF-4716)
28135
28351
  ({ item, index, comboboxState, selectedItems, selectedMatcher, textOverflowMode = 'multiline', isDisabled, disabledReason, hintContent, onClick: onClickProp, children, ...restProps }, ref)=>{
28136
28352
  const { highlightedIndex, getItemProps, isOpen } = comboboxState;
28137
28353
  const isHighlighted = highlightedIndex === index;
@@ -28184,7 +28400,7 @@ const TypeaheadComboboxCheckboxItem = /*#__PURE__*/ forwardRef(// eslint-disable
28184
28400
  onClick: handleClick,
28185
28401
  css: [
28186
28402
  getComboboxOptionItemWrapperStyles(theme),
28187
- getMenuItemStyles(theme, isHighlighted, isDisabled)
28403
+ getMenuItemStyles$1(theme, isHighlighted, isDisabled)
28188
28404
  ],
28189
28405
  ...downshiftItemProps,
28190
28406
  ...restProps,
@@ -28230,7 +28446,7 @@ TypeaheadComboboxCheckboxItem.defaultProps = {
28230
28446
  _type: 'TypeaheadComboboxCheckboxItem'
28231
28447
  };
28232
28448
 
28233
- const getSelectedItemStyles = memoize((theme, disabled)=>/*#__PURE__*/ css({
28449
+ const getSelectedItemStyles$1 = memoize((theme, disabled)=>/*#__PURE__*/ css({
28234
28450
  backgroundColor: theme.colors.tagDefault,
28235
28451
  borderRadius: theme.general.borderRadiusBase,
28236
28452
  color: theme.colors.textPrimary,
@@ -28253,7 +28469,7 @@ const getSelectedItemStyles = memoize((theme, disabled)=>/*#__PURE__*/ css({
28253
28469
  pointerEvents: 'none'
28254
28470
  }
28255
28471
  }), (theme, disabled)=>`${themeMemoKey(theme)}|${Boolean(disabled)}`);
28256
- const getIconContainerStyles = memoize((theme, disabled)=>/*#__PURE__*/ css({
28472
+ const getIconContainerStyles$1 = memoize((theme, disabled)=>/*#__PURE__*/ css({
28257
28473
  paddingLeft: theme.spacing.xs / 2,
28258
28474
  paddingRight: theme.spacing.xs / 2,
28259
28475
  borderTopRightRadius: theme.general.borderRadiusBase,
@@ -28276,31 +28492,34 @@ const getIconContainerStyles = memoize((theme, disabled)=>/*#__PURE__*/ css({
28276
28492
  color: theme.colors.actionDisabledText
28277
28493
  }
28278
28494
  }), (theme, disabled)=>`${themeMemoKey(theme)}|${Boolean(disabled)}`);
28279
- const getXIconStyles = memoize((theme)=>/*#__PURE__*/ css({
28495
+ const getXIconStyles$1 = memoize((theme)=>/*#__PURE__*/ css({
28280
28496
  fontSize: theme.typography.fontSizeSm
28281
28497
  }));
28282
- const getLabelStyles = memoize((theme, disabled)=>({
28498
+ const getLabelStyles$2 = memoize((theme, disabled)=>({
28283
28499
  marginRight: 2,
28284
28500
  ...disabled && {
28285
28501
  color: theme.colors.actionDisabledText
28286
28502
  }
28287
28503
  }), (theme, disabled)=>`${themeMemoKey(theme)}|${disabled}`);
28288
- const TypeaheadComboboxSelectedItem = /*#__PURE__*/ forwardRef(({ label, item, getSelectedItemProps, removeSelectedItem, disabled, ...restProps }, ref)=>{
28504
+ /**
28505
+ * Deprecated in favor of `TypeaheadComboboxV2`.
28506
+ * @deprecated
28507
+ */ const TypeaheadComboboxSelectedItem$1 = /*#__PURE__*/ forwardRef(({ label, item, getSelectedItemProps, removeSelectedItem, disabled, ...restProps }, ref)=>{
28289
28508
  const { theme } = useDesignSystemTheme();
28290
28509
  return /*#__PURE__*/ jsxs("span", {
28291
28510
  ...getSelectedItemProps({
28292
28511
  selectedItem: item
28293
28512
  }),
28294
- css: getSelectedItemStyles(theme, disabled),
28513
+ css: getSelectedItemStyles$1(theme, disabled),
28295
28514
  ref: ref,
28296
28515
  ...restProps,
28297
28516
  children: [
28298
28517
  /*#__PURE__*/ jsx("span", {
28299
- css: getLabelStyles(theme, Boolean(disabled)),
28518
+ css: getLabelStyles$2(theme, Boolean(disabled)),
28300
28519
  children: label
28301
28520
  }),
28302
28521
  /*#__PURE__*/ jsx("span", {
28303
- css: getIconContainerStyles(theme, disabled),
28522
+ css: getIconContainerStyles$1(theme, disabled),
28304
28523
  role: "button",
28305
28524
  "aria-label": "Remove selected item",
28306
28525
  onClick: (e)=>{
@@ -28311,31 +28530,34 @@ const TypeaheadComboboxSelectedItem = /*#__PURE__*/ forwardRef(({ label, item, g
28311
28530
  },
28312
28531
  children: /*#__PURE__*/ jsx(CloseIcon, {
28313
28532
  "aria-hidden": true,
28314
- css: getXIconStyles(theme)
28533
+ css: getXIconStyles$1(theme)
28315
28534
  })
28316
28535
  })
28317
28536
  ]
28318
28537
  });
28319
28538
  });
28320
28539
 
28321
- const getCountBadgeOverlayStyles = memoize((theme, disabled)=>({
28540
+ const getCountBadgeOverlayStyles$1 = memoize((theme, disabled)=>({
28322
28541
  paddingInlineEnd: theme.spacing.xs,
28323
28542
  ...disabled && {
28324
28543
  color: theme.colors.actionDisabledText
28325
28544
  }
28326
28545
  }), (theme, disabled)=>`${themeMemoKey(theme)}|${disabled}`);
28327
- const CountBadge = ({ countStartAt, totalCount, disabled })=>{
28546
+ const CountBadge$1 = ({ countStartAt, totalCount, disabled })=>{
28328
28547
  const { theme } = useDesignSystemTheme();
28329
28548
  return /*#__PURE__*/ jsx("div", {
28330
28549
  css: [
28331
- getSelectedItemStyles(theme),
28332
- getCountBadgeOverlayStyles(theme, Boolean(disabled))
28550
+ getSelectedItemStyles$1(theme),
28551
+ getCountBadgeOverlayStyles$1(theme, Boolean(disabled))
28333
28552
  ],
28334
28553
  children: countStartAt ? `+${totalCount - countStartAt}` : totalCount
28335
28554
  });
28336
28555
  };
28337
28556
 
28338
- const DuboisTypeaheadComboboxFooter = ({ children, ...restProps })=>{
28557
+ /**
28558
+ * Deprecated in favor of `TypeaheadComboboxV2`.
28559
+ * @deprecated
28560
+ */ const DuboisTypeaheadComboboxFooter = ({ children, ...restProps })=>{
28339
28561
  const { theme } = useDesignSystemTheme();
28340
28562
  const { isInsideTypeaheadCombobox } = useTypeaheadComboboxContext();
28341
28563
  if (!isInsideTypeaheadCombobox) {
@@ -28350,7 +28572,10 @@ const DuboisTypeaheadComboboxFooter = ({ children, ...restProps })=>{
28350
28572
  DuboisTypeaheadComboboxFooter.defaultProps = {
28351
28573
  _type: 'TypeaheadComboboxFooter'
28352
28574
  };
28353
- const TypeaheadComboboxFooter = DuboisTypeaheadComboboxFooter;
28575
+ /**
28576
+ * Deprecated in favor of `TypeaheadComboboxV2`.
28577
+ * @deprecated
28578
+ */ const TypeaheadComboboxFooter = DuboisTypeaheadComboboxFooter;
28354
28579
 
28355
28580
  const getHintStyles = (classNamePrefix, theme)=>{
28356
28581
  const styles = {
@@ -31455,6 +31680,132 @@ const LegacyTable = (props)=>{
31455
31680
  });
31456
31681
  };
31457
31682
 
31683
+ // Module-level caches. Both styles depend only on theme (and zIndex), so share one
31684
+ // object across every LegacyTooltip instance instead of allocating per render.
31685
+ const TRIGGER = [
31686
+ 'hover',
31687
+ 'focus'
31688
+ ];
31689
+ const getMemoizedDefaultOverlayInnerStyle = memoize((theme)=>({
31690
+ backgroundColor: '#2F3941',
31691
+ lineHeight: '22px',
31692
+ padding: '4px 8px',
31693
+ boxShadow: theme.general.shadowLow,
31694
+ ...getDarkModePortalStyles(theme)
31695
+ }));
31696
+ const getMemoizedDefaultOverlayStyle = memoize((theme)=>({
31697
+ zIndex: theme.options.zIndexBase + 70
31698
+ }), (theme)=>String(theme.options.zIndexBase));
31699
+ const getMemoizedAnimationCss = memoize((enableAnimation)=>/*#__PURE__*/ css({
31700
+ ...getAnimationCss(enableAnimation)
31701
+ }));
31702
+ /**
31703
+ * `LegacyTooltip` is deprecated in favor of the new `Tooltip` component
31704
+ * @deprecated
31705
+ */ const LegacyTooltip = ({ children, title, placement = 'top', dataTestId, dangerouslySetAntdProps, silenceScreenReader = false, useAsLabel = false, ...props })=>{
31706
+ const { theme } = useDesignSystemTheme();
31707
+ const tooltipRef = useRef(null);
31708
+ const duboisId = useUniqueId('dubois-tooltip-component-');
31709
+ const id = dangerouslySetAntdProps?.id ? dangerouslySetAntdProps?.id : duboisId;
31710
+ if (!title) {
31711
+ return /*#__PURE__*/ jsx(React__default.Fragment, {
31712
+ children: children
31713
+ });
31714
+ }
31715
+ const titleProps = silenceScreenReader ? {} : {
31716
+ 'aria-live': 'polite',
31717
+ 'aria-relevant': 'additions'
31718
+ };
31719
+ if (dataTestId) {
31720
+ titleProps['data-testid'] = dataTestId;
31721
+ }
31722
+ const liveTitle = title && /*#__PURE__*/ React__default.isValidElement(title) ? /*#__PURE__*/ React__default.cloneElement(title, titleProps) : /*#__PURE__*/ jsx("span", {
31723
+ ...titleProps,
31724
+ children: title
31725
+ });
31726
+ const ariaProps = {
31727
+ 'aria-hidden': false
31728
+ };
31729
+ const addAriaProps = (e)=>{
31730
+ if (!tooltipRef.current || e.currentTarget.hasAttribute('aria-describedby') || e.currentTarget.hasAttribute('aria-labelledby')) {
31731
+ return;
31732
+ }
31733
+ if (id) {
31734
+ e.currentTarget.setAttribute('aria-live', 'polite');
31735
+ if (useAsLabel) {
31736
+ e.currentTarget.setAttribute('aria-labelledby', id);
31737
+ } else {
31738
+ e.currentTarget.setAttribute('aria-describedby', id);
31739
+ }
31740
+ }
31741
+ };
31742
+ const removeAriaProps = (e)=>{
31743
+ if (!tooltipRef || !e.currentTarget.hasAttribute('aria-describedby') && !e.currentTarget.hasAttribute('aria-labelledby')) {
31744
+ return;
31745
+ }
31746
+ if (useAsLabel) {
31747
+ e.currentTarget.removeAttribute('aria-labelledby');
31748
+ } else {
31749
+ e.currentTarget.removeAttribute('aria-describedby');
31750
+ }
31751
+ e.currentTarget.removeAttribute('aria-live');
31752
+ };
31753
+ const interactionProps = {
31754
+ onMouseEnter: (e)=>{
31755
+ addAriaProps(e);
31756
+ },
31757
+ onMouseLeave: (e)=>{
31758
+ removeAriaProps(e);
31759
+ },
31760
+ onFocus: (e)=>{
31761
+ addAriaProps(e);
31762
+ },
31763
+ onBlur: (e)=>{
31764
+ removeAriaProps(e);
31765
+ }
31766
+ };
31767
+ const childWithProps = /*#__PURE__*/ React__default.isValidElement(children) ? /*#__PURE__*/ React__default.cloneElement(children, {
31768
+ ...ariaProps,
31769
+ ...interactionProps,
31770
+ ...children.props
31771
+ }) : isNil(children) ? children : /*#__PURE__*/ jsx("span", {
31772
+ ...ariaProps,
31773
+ ...interactionProps,
31774
+ children: children
31775
+ });
31776
+ const { overlayInnerStyle, overlayStyle, ...delegatedDangerouslySetAntdProps } = dangerouslySetAntdProps || {};
31777
+ // When no overrides are passed, reuse the module-level memoized objects directly so
31778
+ // the same reference is shared across every tooltip instance with the same theme.
31779
+ const mergedOverlayInnerStyle = overlayInnerStyle ? {
31780
+ backgroundColor: '#2F3941',
31781
+ lineHeight: '22px',
31782
+ padding: '4px 8px',
31783
+ boxShadow: theme.general.shadowLow,
31784
+ ...overlayInnerStyle,
31785
+ ...getDarkModePortalStyles(theme)
31786
+ } : getMemoizedDefaultOverlayInnerStyle(theme);
31787
+ const mergedOverlayStyle = overlayStyle ? {
31788
+ zIndex: theme.options.zIndexBase + 70,
31789
+ ...overlayStyle
31790
+ } : getMemoizedDefaultOverlayStyle(theme);
31791
+ return /*#__PURE__*/ jsx(DesignSystemAntDConfigProvider, {
31792
+ children: /*#__PURE__*/ jsx(Tooltip$1, {
31793
+ id: id,
31794
+ ref: tooltipRef,
31795
+ title: liveTitle,
31796
+ placement: placement,
31797
+ // Always trigger on hover and focus
31798
+ trigger: TRIGGER,
31799
+ overlayInnerStyle: mergedOverlayInnerStyle,
31800
+ overlayStyle: mergedOverlayStyle,
31801
+ css: getMemoizedAnimationCss(theme.options.enableAnimation),
31802
+ ...delegatedDangerouslySetAntdProps,
31803
+ ...props,
31804
+ children: childWithProps
31805
+ })
31806
+ });
31807
+ };
31808
+
31458
31809
  const ListboxContext = /*#__PURE__*/ createContext(null);
31459
31810
  const useListboxContext = ()=>{
31460
31811
  const context = useContext(ListboxContext);
@@ -32103,7 +32454,8 @@ const Tag = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
32103
32454
  eventContext,
32104
32455
  onClick
32105
32456
  ]);
32106
- const handleKeyDown = useCallback((e)=>{
32457
+ const handleKeyDown = useCallback(// oxlint-disable-next-line @databricks/react-18-types-migration -- TODO(FEINF-6292)
32458
+ (e)=>{
32107
32459
  if (onKeyDown) {
32108
32460
  onKeyDown(e);
32109
32461
  }
@@ -33406,18 +33758,21 @@ const IS_SERVER = typeof window === 'undefined';
33406
33758
  // TODO: Refactor this code after the deprecated signature has been removed.
33407
33759
  const defaultValue = typeof options === 'boolean' ? options : options?.defaultValue ?? false;
33408
33760
  const initializeWithValue = typeof options === 'boolean' ? undefined : options?.initializeWithValue ?? undefined;
33761
+ // Declared before `useState` so the lazy initializer below can call it. (Previously this was a
33762
+ // `const` arrow declared *after* `useState`, so `initializeWithValue: true` hit the temporal dead
33763
+ // zone and threw `ReferenceError: Cannot access 'getMatches' before initialization`.)
33764
+ const getMatches = (mediaQuery)=>{
33765
+ if (IS_SERVER) {
33766
+ return defaultValue;
33767
+ }
33768
+ return window.matchMedia(mediaQuery).matches;
33769
+ };
33409
33770
  const [matches, setMatches] = useState(()=>{
33410
33771
  if (initializeWithValue) {
33411
33772
  return getMatches(query);
33412
33773
  }
33413
33774
  return defaultValue;
33414
33775
  });
33415
- const getMatches = (query)=>{
33416
- if (IS_SERVER) {
33417
- return defaultValue;
33418
- }
33419
- return window.matchMedia(query).matches;
33420
- };
33421
33776
  /** Handles the change event of the media query. */ function handleChange() {
33422
33777
  setMatches(getMatches(query));
33423
33778
  }
@@ -34284,6 +34639,19 @@ function requireShim () {
34284
34639
 
34285
34640
  var shimExports = requireShim();
34286
34641
 
34642
+ // eslint-disable-next-line @databricks/no-restricted-imports-regexp -- we can directly import antd icons here in order to wrap them for use elsewhere in the design system
34643
+ function React18CompatibleIconComponent(IconComponent) {
34644
+ return IconComponent;
34645
+ }
34646
+ /**
34647
+ * Antd built-in icons used by the design system's own legacy components, with an interface that has
34648
+ * been made compatible with the React 18 types by removing the props that are no longer present on
34649
+ * the React DOM types.
34650
+ *
34651
+ * These are deliberately NOT reëxported from the design system's public API: product code should
34652
+ * use Du Bois icons from `__generated/icons`.
34653
+ */ const LegacyEllipsisOutlined = React18CompatibleIconComponent(EllipsisOutlined);
34654
+
34287
34655
  const ButtonGroup = Button$2.Group;
34288
34656
  const DropdownButton = (props)=>{
34289
34657
  const { theme } = useDesignSystemTheme();
@@ -34418,14 +34786,14 @@ function getSplitButtonEmotionStyles(classNamePrefix, theme, size) {
34418
34786
  color: theme.colors.actionDefaultIconPress
34419
34787
  }
34420
34788
  },
34421
- [`${classDefault}:first-of-type`]: {
34789
+ [`${classDefault}:first-child`]: {
34422
34790
  borderTopRightRadius: '0px !important',
34423
34791
  borderBottomRightRadius: '0px !important'
34424
34792
  },
34425
34793
  [classPrimary]: {
34426
34794
  ...getPrimaryStyles(theme),
34427
34795
  boxShadow: 'none',
34428
- [`&:first-of-type`]: {
34796
+ [`&:first-child`]: {
34429
34797
  borderRight: `1px solid ${theme.colors.actionPrimaryTextDefault}`,
34430
34798
  marginRight: 1
34431
34799
  },
@@ -34457,7 +34825,7 @@ function getSplitButtonEmotionStyles(classNamePrefix, theme, size) {
34457
34825
  [`[disabled], ${classPrimary}[disabled]`]: {
34458
34826
  ...getDisabledSplitButtonStyles(theme),
34459
34827
  boxShadow: 'none',
34460
- [`&:first-of-type`]: {
34828
+ [`&:first-child`]: {
34461
34829
  borderRight: `1px solid ${theme.colors.actionPrimaryIcon}`,
34462
34830
  marginRight: 1
34463
34831
  },
@@ -34475,7 +34843,7 @@ function getSplitButtonEmotionStyles(classNamePrefix, theme, size) {
34475
34843
  }
34476
34844
  }
34477
34845
  },
34478
- [`${classDefault}:not(:first-of-type)`]: {
34846
+ [`${classDefault}:not(:first-child)`]: {
34479
34847
  width: theme.general.heightSm,
34480
34848
  padding: '3px !important',
34481
34849
  borderTopLeftRadius: '0px !important',
@@ -35081,7 +35449,7 @@ const List = /*#__PURE__*/ React__default.forwardRef(// eslint-disable-next-line
35081
35449
  "aria-label": "Add tab",
35082
35450
  css: styles['addButton'],
35083
35451
  onClick: addButtonProps.onClick,
35084
- // eslint-disable-next-line @databricks/no-dynamic-property-value -- Is validated through Root exempt:2a2973ea-6130-4b74-82c2-9f5f6b4c7c62
35452
+ // oxlint-disable-next-line @databricks/no-dynamic-property-value -- Is validated through Root exempt:2a2973ea-6130-4b74-82c2-9f5f6b4c7c62
35085
35453
  componentId: `${dataComponentProps['data-component-id']}.add_tab`,
35086
35454
  className: addButtonProps.className
35087
35455
  })
@@ -36084,6 +36452,308 @@ const Tree = // @ts-expect-error: Tree doesn't expose a proper type
36084
36452
  });
36085
36453
  });
36086
36454
 
36455
+ const defaultRef = {
36456
+ current: null
36457
+ };
36458
+ const defaults = {
36459
+ componentId: 'design_system.typeahead_combobox_v2.context_default',
36460
+ isInsideTypeaheadCombobox: false,
36461
+ multiSelect: false,
36462
+ showAllOptionsOnOpen: false,
36463
+ comboBoxState: null,
36464
+ inputProps: {},
36465
+ listBoxProps: {},
36466
+ buttonProps: {},
36467
+ inputRef: defaultRef,
36468
+ listBoxRef: defaultRef,
36469
+ popoverRef: defaultRef,
36470
+ buttonRef: defaultRef,
36471
+ triggerRef: defaultRef,
36472
+ footerFocusable: false,
36473
+ footerRef: defaultRef,
36474
+ triggerWidth: undefined,
36475
+ setTriggerWidth: ()=>{},
36476
+ itemsByKey: new Map(),
36477
+ getKeyForItem: ()=>'',
36478
+ itemToString: ()=>'',
36479
+ removeByKey: ()=>{},
36480
+ clearSelection: ()=>{}
36481
+ };
36482
+ const TypeaheadComboboxV2Context = /*#__PURE__*/ createContext(defaults);
36483
+ const TypeaheadComboboxV2ContextProvider = ({ children, value })=>{
36484
+ const [triggerWidth, setTriggerWidth] = useState();
36485
+ // Memoize the merged context value so consumers don't re-render on every provider render from a
36486
+ // fresh spread object. `value` is already memoized in TypeaheadComboboxRoot and `setTriggerWidth`
36487
+ // is a stable state setter, so identity changes only when `value` or `triggerWidth` actually change.
36488
+ const contextValue = useMemo(()=>({
36489
+ ...value,
36490
+ triggerWidth,
36491
+ setTriggerWidth
36492
+ }), [
36493
+ value,
36494
+ triggerWidth
36495
+ ]);
36496
+ return /*#__PURE__*/ jsx(TypeaheadComboboxV2Context.Provider, {
36497
+ value: contextValue,
36498
+ children: children
36499
+ });
36500
+ };
36501
+
36502
+ const useTypeaheadComboboxV2Context = ()=>{
36503
+ return useContext(TypeaheadComboboxV2Context);
36504
+ };
36505
+
36506
+ /**
36507
+ * Scrolls the focused option into view while the combobox is open. react-aria keeps DOM focus on
36508
+ * the input (options are highlighted via `aria-activedescendant`), so the listbox does not get
36509
+ * native focus scrolling for the active option. Shared by the menu item and checkbox item.
36510
+ *
36511
+ * This handles the non-virtualized path in full, and final-pixel alignment for a virtualized row
36512
+ * once it is mounted. It cannot reach an option that isn't rendered — under virtualization the
36513
+ * consumer additionally wires `useVirtualizedComboboxScroll`, which mounts the off-screen row first.
36514
+ */ function useScrollOptionIntoView(itemRef, isFocused, isOpen) {
36515
+ useEffect(()=>{
36516
+ if (!isOpen || !isFocused || !itemRef.current) return;
36517
+ const parent = itemRef.current.closest('ul');
36518
+ if (!parent) return;
36519
+ const itemTop = itemRef.current.offsetTop;
36520
+ const itemBottom = itemTop + itemRef.current.clientHeight;
36521
+ if (itemTop < parent.scrollTop || itemBottom > parent.scrollTop + parent.clientHeight) {
36522
+ // `scrollIntoView` is absent in jsdom; guard so consumer unit tests don't throw.
36523
+ itemRef.current.scrollIntoView?.({
36524
+ block: 'nearest'
36525
+ });
36526
+ }
36527
+ }, [
36528
+ isFocused,
36529
+ isOpen,
36530
+ itemRef
36531
+ ]);
36532
+ }
36533
+
36534
+ const CHECK_ICON_CSS = {
36535
+ paddingTop: 2
36536
+ };
36537
+ const PLACEHOLDER_ICON_STYLE = {
36538
+ width: 16,
36539
+ flexShrink: 0
36540
+ };
36541
+ const DISABLED_REASON_ROW_CSS = {
36542
+ display: 'flex'
36543
+ };
36544
+ const getMenuItemStyles = memoize((theme, isHighlighted, disabled)=>/*#__PURE__*/ css({
36545
+ ...disabled && {
36546
+ pointerEvents: 'none',
36547
+ color: theme.colors.actionDisabledText
36548
+ },
36549
+ ...isHighlighted && {
36550
+ background: theme.colors.actionTertiaryBackgroundHover
36551
+ }
36552
+ }), (theme, isHighlighted, disabled)=>`${themeMemoKey(theme)}|${isHighlighted}|${Boolean(disabled)}`);
36553
+ const getLabelStyles$1 = memoize((theme, textOverflowMode)=>/*#__PURE__*/ css({
36554
+ marginLeft: theme.spacing.sm,
36555
+ fontSize: theme.typography.fontSizeBase,
36556
+ fontWeight: 400,
36557
+ cursor: 'pointer',
36558
+ overflow: 'hidden',
36559
+ wordBreak: 'break-word',
36560
+ ...textOverflowMode === 'ellipsis' && {
36561
+ textOverflow: 'ellipsis',
36562
+ whiteSpace: 'nowrap'
36563
+ }
36564
+ }), (theme, textOverflowMode)=>`${themeMemoKey(theme)}|${textOverflowMode}`);
36565
+ const TypeaheadComboboxMenuItemInner = ({ item, textOverflowMode = 'multiline', isDisabled, disabledReason, hintContent, children, ...restProps }, forwardedRef)=>{
36566
+ const ctx = useTypeaheadComboboxV2Context();
36567
+ if (!ctx.isInsideTypeaheadCombobox || !ctx.comboBoxState) {
36568
+ throw new Error('`TypeaheadComboboxMenuItem` must be used within an open `TypeaheadComboboxRoot`');
36569
+ }
36570
+ const { comboBoxState: state, getKeyForItem } = ctx;
36571
+ const { theme } = useDesignSystemTheme();
36572
+ const itemRef = useRef(null);
36573
+ const setRef = useCallback((node)=>{
36574
+ itemRef.current = node;
36575
+ if (typeof forwardedRef === 'function') forwardedRef(node);
36576
+ else if (forwardedRef) forwardedRef.current = node;
36577
+ }, [
36578
+ forwardedRef
36579
+ ]);
36580
+ const key = getKeyForItem(item);
36581
+ const { optionProps, isSelected, isFocused } = useOption({
36582
+ key,
36583
+ 'aria-label': typeof children === 'string' ? children : undefined
36584
+ }, state, itemRef);
36585
+ useScrollOptionIntoView(itemRef, isFocused, state.isOpen);
36586
+ return /*#__PURE__*/ jsxs("li", {
36587
+ ...optionProps,
36588
+ ref: setRef,
36589
+ css: [
36590
+ getComboboxOptionItemWrapperStyles(theme),
36591
+ getMenuItemStyles(theme, isFocused, isDisabled)
36592
+ ],
36593
+ ...restProps,
36594
+ children: [
36595
+ isSelected ? /*#__PURE__*/ jsx(CheckIcon, {
36596
+ css: CHECK_ICON_CSS
36597
+ }) : /*#__PURE__*/ jsx("div", {
36598
+ style: PLACEHOLDER_ICON_STYLE
36599
+ }),
36600
+ /*#__PURE__*/ jsxs("label", {
36601
+ css: getLabelStyles$1(theme, textOverflowMode),
36602
+ children: [
36603
+ isDisabled && disabledReason ? /*#__PURE__*/ jsxs("div", {
36604
+ css: DISABLED_REASON_ROW_CSS,
36605
+ children: [
36606
+ /*#__PURE__*/ jsx("div", {
36607
+ children: children
36608
+ }),
36609
+ /*#__PURE__*/ jsx("div", {
36610
+ css: getInfoIconStyles(theme),
36611
+ children: /*#__PURE__*/ jsx(InfoTooltip, {
36612
+ componentId: "typeahead-combobox-react-aria-menu-item-disabled-reason-info-tooltip",
36613
+ side: "right",
36614
+ content: disabledReason
36615
+ })
36616
+ })
36617
+ ]
36618
+ }) : children,
36619
+ /*#__PURE__*/ jsx(HintRow, {
36620
+ disabled: isDisabled,
36621
+ children: hintContent
36622
+ })
36623
+ ]
36624
+ })
36625
+ ]
36626
+ });
36627
+ };
36628
+ // Standard TS workaround: forwardRef strips generics from the wrapped function.
36629
+ const TypeaheadComboboxMenuItem = /*#__PURE__*/ forwardRef(TypeaheadComboboxMenuItemInner);
36630
+
36631
+ const getSelectedItemStyles = memoize((theme, disabled)=>/*#__PURE__*/ css({
36632
+ backgroundColor: theme.colors.tagDefault,
36633
+ borderRadius: theme.general.borderRadiusBase,
36634
+ color: theme.colors.textPrimary,
36635
+ lineHeight: theme.typography.lineHeightBase,
36636
+ fontSize: theme.typography.fontSizeBase,
36637
+ marginTop: 2,
36638
+ marginBottom: 2,
36639
+ marginInlineEnd: theme.spacing.xs,
36640
+ paddingRight: 0,
36641
+ paddingTop: 0,
36642
+ paddingBottom: 0,
36643
+ paddingInlineStart: theme.spacing.xs,
36644
+ // inline-flex + centered alignment so the remove button lines up with the label (matching the
36645
+ // original downshift TypeaheadCombobox). Without this the tag is `display: inline` and the X
36646
+ // sits on the text baseline — visibly too low, especially once the label wraps.
36647
+ display: 'inline-flex',
36648
+ alignItems: 'center',
36649
+ position: 'relative',
36650
+ flex: 'none',
36651
+ maxWidth: '100%',
36652
+ wordBreak: 'break-word',
36653
+ ...disabled && {
36654
+ pointerEvents: 'none'
36655
+ }
36656
+ }), (theme, disabled)=>`${themeMemoKey(theme)}|${Boolean(disabled)}`);
36657
+ const getIconContainerStyles = memoize((theme, disabled)=>/*#__PURE__*/ css({
36658
+ // Center the X and let the container hug the icon, matching the original downshift tag. The
36659
+ // enclosing REMOVE_BUTTON_RESET is itself an inline-flex centered box; a fixed width/height
36660
+ // here fought that and dropped the icon off-center.
36661
+ display: 'flex',
36662
+ alignItems: 'center',
36663
+ justifyContent: 'center',
36664
+ flexShrink: 0,
36665
+ alignSelf: 'stretch',
36666
+ paddingLeft: theme.spacing.xs / 2,
36667
+ paddingRight: theme.spacing.xs / 2,
36668
+ borderTopRightRadius: theme.general.borderRadiusBase,
36669
+ borderBottomRightRadius: theme.general.borderRadiusBase,
36670
+ ':hover': {
36671
+ color: theme.colors.actionTertiaryTextHover,
36672
+ backgroundColor: theme.colors.tagHover
36673
+ },
36674
+ ...disabled && {
36675
+ pointerEvents: 'none',
36676
+ color: theme.colors.actionDisabledText
36677
+ }
36678
+ }), (theme, disabled)=>`${themeMemoKey(theme)}|${Boolean(disabled)}`);
36679
+ const getXIconStyles = memoize((theme)=>/*#__PURE__*/ css({
36680
+ fontSize: theme.typography.fontSizeSm
36681
+ }));
36682
+ // Strip native <button> chrome so the remove control looks like the inline icon it replaces, while
36683
+ // staying a real button (keyboard-focusable and operable — an icon with `role="button"` is not).
36684
+ const REMOVE_BUTTON_RESET = /*#__PURE__*/ css({
36685
+ appearance: 'none',
36686
+ background: 'none',
36687
+ border: 'none',
36688
+ padding: 0,
36689
+ margin: 0,
36690
+ display: 'inline-flex',
36691
+ alignItems: 'center',
36692
+ justifyContent: 'center',
36693
+ color: 'inherit',
36694
+ cursor: 'pointer',
36695
+ '&:disabled': {
36696
+ cursor: 'not-allowed'
36697
+ }
36698
+ });
36699
+ const getLabelStyles = memoize((theme, disabled)=>({
36700
+ marginRight: 2,
36701
+ ...disabled && {
36702
+ color: theme.colors.actionDisabledText
36703
+ }
36704
+ }), (theme, disabled)=>`${themeMemoKey(theme)}|${disabled}`);
36705
+ const TypeaheadComboboxSelectedItem = /*#__PURE__*/ forwardRef(function TypeaheadComboboxSelectedItem({ label, item, disabled, ...restProps }, ref) {
36706
+ const { theme } = useDesignSystemTheme();
36707
+ const { getKeyForItem, removeByKey } = useTypeaheadComboboxV2Context();
36708
+ return /*#__PURE__*/ jsxs("span", {
36709
+ css: getSelectedItemStyles(theme, disabled),
36710
+ ref: ref,
36711
+ ...restProps,
36712
+ children: [
36713
+ /*#__PURE__*/ jsx("span", {
36714
+ css: getLabelStyles(theme, Boolean(disabled)),
36715
+ children: label
36716
+ }),
36717
+ /*#__PURE__*/ jsx("button", {
36718
+ type: "button",
36719
+ "aria-label": "Remove selected item",
36720
+ disabled: disabled,
36721
+ onClick: (e)=>{
36722
+ // Stop the click bubbling to the input container, which would refocus the input.
36723
+ e.stopPropagation();
36724
+ removeByKey(getKeyForItem(item));
36725
+ },
36726
+ css: [
36727
+ REMOVE_BUTTON_RESET,
36728
+ getIconContainerStyles(theme, disabled)
36729
+ ],
36730
+ children: /*#__PURE__*/ jsx(CloseIcon, {
36731
+ "aria-hidden": true,
36732
+ css: getXIconStyles(theme)
36733
+ })
36734
+ })
36735
+ ]
36736
+ });
36737
+ });
36738
+
36739
+ const getCountBadgeOverlayStyles = memoize((theme, disabled)=>({
36740
+ paddingInlineEnd: theme.spacing.xs,
36741
+ ...disabled && {
36742
+ color: theme.colors.actionDisabledText
36743
+ }
36744
+ }), (theme, disabled)=>`${themeMemoKey(theme)}|${disabled}`);
36745
+ const CountBadge = ({ countStartAt, totalCount, disabled, ...restProps })=>{
36746
+ const { theme } = useDesignSystemTheme();
36747
+ return /*#__PURE__*/ jsx("div", {
36748
+ ...restProps,
36749
+ css: [
36750
+ getSelectedItemStyles(theme),
36751
+ getCountBadgeOverlayStyles(theme, Boolean(disabled))
36752
+ ],
36753
+ children: countStartAt ? `+${totalCount - countStartAt}` : totalCount
36754
+ });
36755
+ };
36756
+
36087
36757
  function useStepperStepsFromWizardSteps(wizardSteps, currentStepIdx, hideDescriptionForFutureSteps) {
36088
36758
  return useMemo(()=>wizardSteps.map((wizardStep, stepIdx)=>({
36089
36759
  ...pick(wizardStep, [
@@ -36146,14 +36816,14 @@ function getWizardFooterButtons({ goToNextStepOrDone, isLastStep, currentStepInd
36146
36816
  onCancel: onCancel,
36147
36817
  cancelButtonContent: cancelButtonContent,
36148
36818
  disabled: cancelButtonDisabled,
36149
- // eslint-disable-next-line @databricks/no-dynamic-property-value -- Validated through JSX componentId exempt:4b31acca-dae8-44a7-a7f5-fa3e1bc167c5
36819
+ // oxlint-disable-next-line @databricks/no-dynamic-property-value -- Validated through JSX componentId exempt:4b31acca-dae8-44a7-a7f5-fa3e1bc167c5
36150
36820
  componentId: componentId ? `${componentId}.cancel` : undefined
36151
36821
  })
36152
36822
  }, "cancel") : /*#__PURE__*/ jsx(CancelButton, {
36153
36823
  onCancel: onCancel,
36154
36824
  cancelButtonContent: cancelButtonContent,
36155
36825
  disabled: cancelButtonDisabled,
36156
- // eslint-disable-next-line @databricks/no-dynamic-property-value -- Validated through JSX componentId exempt:acae06b0-d74d-44ee-86db-15b3014e2bcf
36826
+ // oxlint-disable-next-line @databricks/no-dynamic-property-value -- Validated through JSX componentId exempt:acae06b0-d74d-44ee-86db-15b3014e2bcf
36157
36827
  componentId: componentId ? `${componentId}.cancel` : undefined
36158
36828
  }, "cancel")),
36159
36829
  currentStepIndex > 0 && !previousStepButtonHidden && /*#__PURE__*/ jsx(Button$1, {
@@ -36788,5 +37458,5 @@ function WizardStepContentWrapper({ header, title, description, alertContent, de
36788
37458
  });
36789
37459
  }
36790
37460
 
36791
- export { hideIconButtonRowStyles as $, useModalContext as A, Button$1 as B, CheckCircleFillIcon as C, DocumentationSidebar as D, Trigger$5 as E, FIXED_VERTICAL_STEPPER_WIDTH as F, InfoSmallIcon as G, Content$7 as H, InfoFillIcon as I, Arrow$2 as J, SparkleDoubleIcon as K, LegacyTooltip as L, MAX_VERTICAL_WIZARD_CONTENT_WIDTH as M, LoadingState as N, OverflowPopover as O, visuallyHidden as P, genSkeletonAnimatedColor as Q, Root$b as R, ShapeTokens as S, Typography as T, getOffsets as U, DesignSystemEventSuppressInteractionProviderContext as V, Wizard as W, DesignSystemEventSuppressInteractionTrueContextValue as X, tableStyles as Y, repeatingElementsStyles as Z, tableClassNames as _, WizardControlled as a, Accordion as a$, hideIconButtonActionCellClassName as a0, safex as a1, useDialogComboboxContext as a2, PlusIcon as a3, importantify as a4, getComboboxOptionItemWrapperStyles as a5, getFooterStyles as a6, Tooltip as a7, useDialogComboboxOptionListContext as a8, generateUuidV4 as a9, DialogCombobox as aA, DialogComboboxTrigger as aB, DialogComboboxContent as aC, Select as aD, SelectTrigger as aE, SelectContent as aF, SelectOption as aG, LegacySelect as aH, WarningIcon as aI, CheckCircleIcon as aJ, DangerIcon as aK, Hint as aL, Title$1 as aM, CloseIcon as aN, RestoreAntDDefaultClsPrefix as aO, AccessibleContainer as aP, DU_BOIS_ENABLE_ANIMATION_CLASSNAME as aQ, CircleOffIcon as aR, CircleOutlineIcon as aS, CircleIcon as aT, shimExports as aU, SortAscendingIcon as aV, SortDescendingIcon as aW, SortUnsortedIcon as aX, MinusSquareIcon as aY, PlusSquareIcon as aZ, AccessDeniedGraphic as a_, getContentOptions as aa, findHighlightedOption as ab, highlightOption as ac, Input as ad, SearchIcon as ae, EmptyResults as af, findClosestOptionSibling as ag, DialogComboboxOptionListCheckboxItem as ah, DialogComboboxOptionListSelectItem as ai, DialogComboboxOptionListContextProvider as aj, LoadingSpinner as ak, DialogComboboxOptionList as al, useUniqueId as am, useDuboisThemeClass as an, TypeaheadComboboxContextProvider as ao, useTypeaheadComboboxContext as ap, getComboboxContentWrapperStyles as aq, ClearSelectionButton as ar, TypeaheadComboboxSelectedItem as as, CountBadge as at, getValidationStateColor as au, SectionHeader as av, useComboboxState as aw, useMultipleSelectionState as ax, Radio as ay, Checkbox as az, WizardModal as b, BriefcaseFillIcon as b$, AccordionPanel as b0, AlignCenterIcon as b1, AlignJustifyIcon as b2, AlignLeftIcon as b3, AlignRightIcon as b4, AlignVerticalBottomIcon as b5, AlignVerticalCenterIcon as b6, AlignVerticalTopIcon as b7, AppIcon as b8, ApplyDesignSystemContextOverrides as b9, BadgeCodeIcon as bA, BadgeCodeOffIcon as bB, Banner as bC, BarChartIcon as bD, BarGroupedIcon as bE, BarStackedIcon as bF, BarStackedPercentageIcon as bG, BarsAscendingHorizontalIcon as bH, BarsAscendingVerticalIcon as bI, BarsDescendingHorizontalIcon as bJ, BarsDescendingVerticalIcon as bK, BeakerIcon as bL, BinaryIcon as bM, BlockQuoteIcon as bN, BoldIcon as bO, BookIcon as bP, BookmarkFillIcon as bQ, BookmarkIcon as bR, BooksIcon as bS, BracketsCheckIcon as bT, BracketsCurlyIcon as bU, BracketsErrorIcon as bV, BracketsSquareIcon as bW, BracketsXIcon as bX, BranchCheckIcon as bY, BranchIcon as bZ, BranchResetIcon as b_, ApplyDesignSystemFlags as ba, ArrowDownDotIcon as bb, ArrowDownFillIcon as bc, ArrowDownIcon as bd, ArrowInIcon as be, ArrowInTableIcon as bf, ArrowLeftIcon as bg, ArrowOutTableIcon as bh, ArrowOverIcon as bi, ArrowRightIcon as bj, ArrowUpDotIcon as bk, ArrowUpFillIcon as bl, ArrowUpIcon as bm, ArrowsCollapseIcon as bn, ArrowsConnectIcon as bo, ArrowsExpandIcon as bp, ArrowsUpDownIcon as bq, AssistantIcon as br, AtIcon as bs, Auth0Graphic as bt, Auth0GraphicLarge as bu, AzHorizontalIcon as bv, AzVerticalIcon as bw, BANNER_MAX_HEIGHT as bx, BANNER_MIN_HEIGHT as by, BackupIcon as bz, WizardStepContentWrapper as c, CommandPaletteIcon as c$, BriefcaseIcon as c0, BrushIcon as c1, BugIcon as c2, CalendarClockIcon as c3, CalendarEventIcon as c4, CalendarIcon as c5, CalendarRangeIcon as c6, CalendarSyncIcon as c7, CameraIcon as c8, CapitalizeIcon as c9, ChevronDoubleRightOffIcon as cA, ChevronDoubleUpIcon as cB, ChevronLeftIcon as cC, ChevronUpIcon as cD, ChipIcon as cE, CircleOffLargeIcon as cF, CircleOutlineLargeIcon as cG, ClipboardIcon as cH, ClockIcon as cI, ClockKeyIcon as cJ, ClockOffIcon as cK, CloudCheckIcon as cL, CloudDatabaseIcon as cM, CloudDownloadIcon as cN, CloudIcon as cO, CloudKeyIcon as cP, CloudModelIcon as cQ, CloudOffIcon as cR, CloudUploadIcon as cS, CodeIcon as cT, ColorFillIcon as cU, ColorVars as cV, ColumnIcon as cW, ColumnSplitIcon as cX, ColumnTagIcon as cY, ColumnsIcon as cZ, CommandIcon as c_, CaretDownSquareIcon as ca, CaretUpSquareIcon as cb, CatalogCloudIcon as cc, CatalogGearIcon as cd, CatalogHomeIcon as ce, CatalogIcon as cf, CatalogOffIcon as cg, CatalogSharedIcon as ch, CatalogUserHomeIcon as ci, CellsSquareIcon as cj, CertifiedFillIcon as ck, CertifiedFillSmallIcon as cl, CertifiedIcon as cm, ChainIcon as cn, ChartLineIcon as co, CheckCircleBadgeIcon as cp, CheckCircleSmallIcon as cq, CheckIcon as cr, CheckLineIcon as cs, CheckSmallIcon as ct, CheckboxIcon as cu, ChecklistIcon as cv, ChevronDoubleDownIcon as cw, ChevronDoubleLeftIcon as cx, ChevronDoubleLeftOffIcon as cy, ChevronDoubleRightIcon as cz, DesignSystemEventProvider as d, FilterFillIcon as d$, CompassIcon as d0, ComponentFinderContext as d1, ConnectIcon as d2, Content$2 as d3, ContextMenu$1 as d4, CopyIcon as d5, CreditCardIcon as d6, CursorClickIcon as d7, CursorIcon as d8, CursorPagination as d9, DialogComboboxCustomButtonTriggerWrapper as dA, DialogComboboxSectionHeader as dB, DollarIcon as dC, DomainCirclesThree as dD, DomainsIcon as dE, DotsCircleIcon as dF, DownloadIcon as dG, DragIcon as dH, Drawer as dI, DropdownMenu as dJ, Empty as dK, EmptyDashboardGraphic as dL, ErdIcon as dM, ExpandLessIcon as dN, ExpandMoreIcon as dO, FaceFrownIcon as dP, FaceNeutralIcon as dQ, FaceSmileIcon as dR, FileCodeIcon as dS, FileCubeIcon as dT, FileDocumentIcon as dU, FileIcon as dV, FileImageIcon as dW, FileLockIcon as dX, FileModelIcon as dY, FileNewIcon as dZ, FilePipelineIcon as d_, CursorTypeIcon as da, CustomAppIcon as db, DagHorizontalIcon as dc, DagIcon as dd, DagVerticalIcon as de, DangerModal as df, DangerSmallIcon as dg, DashIcon as dh, DashboardCodeIcon as di, DashboardIcon as dj, DataIcon as dk, DataMaskiingGraphic as dl, DatabaseClockIcon as dm, DatabaseIcon as dn, DatabaseImportIcon as dp, DatePicker as dq, DecimalIcon as dr, DeprecatedIcon as ds, DeprecatedSmallIcon as dt, DesignSystemContext as du, DesignSystemEventProviderComponentSubTypes as dv, DesignSystemProvider as dw, DesignSystemThemeContext as dx, DesignSystemThemeProvider as dy, DialogComboboxCountBadge as dz, useDesignSystemContext as e, ItalicIcon as e$, FilterIcon as e0, FlagPointerIcon as e1, FloatIcon as e2, FlowIcon as e3, FolderBranchFillIcon as e4, FolderBranchIcon as e5, FolderCloudFilledIcon as e6, FolderCloudIcon as e7, FolderCubeIcon as e8, FolderCubeOutlineIcon as e9, GiftIcon as eA, GitCommitIcon as eB, GitMergeIcon as eC, GitRebaseIcon as eD, GlobeIcon as eE, Graphic as eF, GridDashIcon as eG, GridIcon as eH, GroupIcon as eI, H1Icon as eJ, H2Icon as eK, H3Icon as eL, H4Icon as eM, H5Icon as eN, H6Icon as eO, HashIcon as eP, HistoryIcon as eQ, HomeIcon as eR, Icon as eS, ImageIcon as eT, IndentDecreaseIcon as eU, IndentIncreaseIcon as eV, InfinityIcon as eW, InfoBookIcon as eX, InfoIcon as eY, InfoTooltip as eZ, IngestionIcon as e_, FolderFillIcon as ea, FolderHomeIcon as eb, FolderIcon as ec, FolderNewIcon as ed, FolderNodeIcon as ee, FolderOpenBranchIcon as ef, FolderOpenCloudIcon as eg, FolderOpenCubeIcon as eh, FolderOpenIcon as ei, FolderOpenPipelineIcon as ej, FolderOutlinePipelineIcon as ek, FolderSolidPipelineIcon as el, FontIcon as em, ForkHorizontalIcon as en, ForkIcon as eo, Form as ep, FormContextResetBoundary as eq, FullscreenExitIcon as er, FullscreenIcon as es, FunctionIcon as et, FunctionInputIcon as eu, GavelIcon as ev, GearFillIcon as ew, GearIcon as ex, GenieCodeIcon as ey, GenieDeepResearchIcon as ez, useDesignSystemTheme as f, LegacyVideoCameraOutlined as f$, JoinOperatorIcon as f0, KeyIcon as f1, KeyboardIcon as f2, LakebaseCatalogIcon as f3, LakebaseIcon as f4, LakeflowDesignerIcon as f5, LayerGraphIcon as f6, LayerIcon as f7, Layout as f8, LeafIcon as f9, LegacyForm as fA, LegacyFormDubois as fB, LegacyFullscreenOutlined as fC, LegacyGithubOutlined as fD, LegacyHourglassOutlined as fE, LegacyLinkOutlined as fF, LegacyLoadingOutlined as fG, LegacyNotificationOutlined as fH, LegacyOptGroup as fI, LegacyOption as fJ, LegacyPauseCircleFilled as fK, LegacyPlayCircleOutlined as fL, LegacyPlusOutlined as fM, LegacyQuestionCircleOutlined as fN, LegacyReloadOutlined as fO, LegacyRightOutlined as fP, LegacyRocketOutlined as fQ, LegacySearchOutlined as fR, LegacySelectOptGroup as fS, LegacySelectOption as fT, LegacySendOutlined as fU, LegacySettingOutlined as fV, LegacySlackOutlined as fW, LegacySwapOutlined as fX, LegacySyncOutlined as fY, LegacyTable as fZ, LegacyUpOutlined as f_, LegacyAppstoreOutlined as fa, LegacyArrowUpOutlined as fb, LegacyBookOutlined as fc, LegacyBugOutlined as fd, LegacyCheckCircleFilled as fe, LegacyCheckCircleOutlined as ff, LegacyClockCircleFilled as fg, LegacyClockCircleOutlined as fh, LegacyCloseCircleFilled as fi, LegacyCloseOutlined as fj, LegacyCodeOutlined as fk, LegacyCommentOutlined as fl, LegacyCopyOutlined as fm, LegacyDatabaseOutlined as fn, LegacyDeleteOutlined as fo, LegacyDownOutlined as fp, LegacyEditOutlined as fq, LegacyEllipsisOutlined as fr, LegacyExclamationCircleOutlined as fs, LegacyEyeOutlined as ft, LegacyFileOutlined as fu, LegacyFileTextOutlined as fv, LegacyFilterOutlined as fw, LegacyFlagOutlined as fx, LegacyFolderOpenOutlined as fy, LegacyFolderOutlined as fz, WarningFillIcon as g, PageIcon as g$, LetterFormatIcon as g0, LettersIcon as g1, LettersNumbersIcon as g2, LibrariesIcon as g3, LifesaverIcon as g4, LightbulbIcon as g5, LightningCircleFillIcon as g6, LightningIcon as g7, LinearLineIcon as g8, LinkIcon as g9, ModelsIcon as gA, MonotoneLineIcon as gB, MonthPickerGrid as gC, MoonIcon as gD, Nav as gE, NavButton as gF, NavigationMenu as gG, NeonProjectIcon as gH, NewChatIcon as gI, NewTabIcon as gJ, NewWindowIcon as gK, NoCaseIcon as gL, NoIcon as gM, NotebookIcon as gN, NotebookPipelineIcon as gO, NotificationIcon as gP, NotificationOffIcon as gQ, NumberFormatIcon as gR, NumbersIcon as gS, OfficeIcon as gT, OntologyIcon as gU, OutageGraphic as gV, Overflow as gW, OverflowHorizontalIcon as gX, OverflowIcon as gY, PageBottomIcon as gZ, PageFirstIcon as g_, LinkOffIcon as ga, ListBorderIcon as gb, ListClearIcon as gc, ListIcon as gd, ListNumberIcon as ge, Listbox as gf, LoadingIcon as gg, LoadingStateContext as gh, LockFillIcon as gi, LockIcon as gj, LockShareIcon as gk, LockUnlockedIcon as gl, LoopIcon as gm, LowercaseIcon as gn, MailIcon as go, MapIcon as gp, MarkdownIcon as gq, McpIcon as gr, MeasureIcon as gs, MegaphoneIcon as gt, MenuIcon as gu, MinusCircleFillIcon as gv, MinusCircleIcon as gw, MinusCircleSmallIcon as gx, MissingBranchGraphic as gy, MissingGraphic as gz, DangerFillIcon as h, RunIcon as h$, PageLastIcon as h0, PageTopIcon as h1, Pagination as h2, Panel as h3, PanelBody as h4, PanelDockedIcon as h5, PanelFloatingIcon as h6, PanelHeader as h7, PanelHeaderButtons as h8, PanelHeaderTitle as h9, PositionBottomIcon as hA, PositionLeftIcon as hB, PositionRightIcon as hC, PositionTopIcon as hD, PreviewCard as hE, Progress as hF, PullRequestIcon as hG, PuzzleIcon as hH, QueryEditorIcon as hI, QueryIcon as hJ, QuestionMarkFillIcon as hK, QuestionMarkIcon as hL, RadioIcon as hM, RadioTile as hN, RangePicker as hO, ReaderModeIcon as hP, RedoIcon as hQ, RefreshIcon as hR, RefreshPlayIcon as hS, RefreshXIcon as hT, ReplyIcon as hU, ResizeIcon as hV, RhfForm as hW, RichTextIcon as hX, RobotIcon as hY, RocketIcon as hZ, RowsIcon as h_, PaperclipIcon as ha, PassFailChecklistIcon as hb, PauseIcon as hc, PencilFillIcon as hd, PencilIcon as he, PencilSparkleIcon as hf, PieChartIcon as hg, PillControl as hh, PinCancelIcon as hi, PinFillIcon as hj, PinIcon as hk, PipelineCodeIcon as hl, PipelineCubeIcon as hm, PipelineIcon as hn, PivotOperatorIcon as ho, PlayCircleFillIcon as hp, PlayCircleIcon as hq, PlayDoubleIcon as hr, PlayIcon as hs, PlayMultipleIcon as ht, PlugIcon as hu, PlusCircleFillIcon as hv, PlusCircleIcon as hw, PlusCircleSmallIcon as hx, PlusMinusSquareIcon as hy, Popover as hz, DesignSystemEventProviderAnalyticsEventTypes as i, Stepper as i$, RunningIcon as i0, SMALL_BUTTON_HEIGHT$2 as i1, SaveClockIcon as i2, SaveIcon as i3, SchemaIcon as i4, SchoolIcon as i5, SearchDataIcon as i6, SegmentedControlButton as i7, SegmentedControlGroup as i8, SelectContext as i9, SortCustomHorizontalIcon as iA, SortCustomVerticalIcon as iB, SortHorizontalAscendingIcon as iC, SortHorizontalDescendingIcon as iD, SortLetterHorizontalAscendingIcon as iE, SortLetterHorizontalDescendingIcon as iF, SortLetterUnsortedIcon as iG, SortLetterVerticalAscendingIcon as iH, SortLetterVerticalDescendingIcon as iI, Spacer as iJ, SparkleDoubleFillIcon as iK, SparkleFillIcon as iL, SparkleIcon as iM, SparkleRectangleIcon as iN, SpeechBubbleIcon as iO, SpeechBubblePlusIcon as iP, SpeechBubbleQuestionMarkFillIcon as iQ, SpeechBubbleQuestionMarkIcon as iR, SpeechBubbleStarIcon as iS, SpeedometerIcon as iT, Spinner as iU, SplitButton as iV, SqlIcon as iW, StarFillIcon as iX, StarIcon as iY, StepAfterLineIcon as iZ, StepBeforeLineIcon as i_, SelectContextProvider as ia, SelectOptionGroup as ib, SendIcon as ic, ShareIcon as id, ShareNodesIcon as ie, ShieldCheckIcon as ig, ShieldIcon as ih, ShieldOffIcon as ii, ShortcutIcon as ij, Sidebar as ik, SidebarAutoIcon as il, SidebarClosedIcon as im, SidebarCollapseIcon as io, SidebarExpandIcon as ip, SidebarIcon as iq, SidebarOpenIcon as ir, SidebarSyncIcon as is, SimpleSelect as it, SimpleSelectOption as iu, SimpleSelectOptionGroup as iv, SlashSquareIcon as iw, Slider as ix, SlidersIcon as iy, SnippetIcon as iz, useDesignSystemEventComponentCallbacks as j, UserCircleIcon as j$, StopCircleFillIcon as j0, StopCircleIcon as j1, StopIcon as j2, StoredProcedureIcon as j3, StorefrontIcon as j4, StreamIcon as j5, StrikeThroughIcon as j6, SunIcon as j7, SyncIcon as j8, SyncSmallIcon as j9, ThreeDotsIcon as jA, ThumbsDownFilledIcon as jB, ThumbsDownIcon as jC, ThumbsUpFilledIcon as jD, ThumbsUpIcon as jE, ToggleButton as jF, TokenIcon as jG, Toolbar as jH, TrashIcon as jI, Tree as jJ, TreeIcon as jK, TrendingFillIcon as jL, TrendingIcon as jM, TriangleIcon as jN, TypeaheadComboboxCheckboxItem as jO, TypeaheadComboboxFooter as jP, TypeaheadComboboxMenuItem as jQ, TypeaheadComboboxMultiSelectStateChangeTypes as jR, TypeaheadComboboxStateChangeTypes as jS, UnderlineIcon as jT, UndoIcon as jU, UploadIcon as jV, UppercaseIcon as jW, UsageOverageGraphic as jX, UsageSpikeGraphic as jY, UsbIcon as jZ, UserBadgeIcon as j_, SyncToFileIcon as ja, TableAsteriskIcon as jb, TableClockIcon as jc, TableCombineIcon as jd, TableGlassesIcon as je, TableGlobeIcon as jf, TableIcon as jg, TableLightningIcon as jh, TableMeasureIcon as ji, TableModelIcon as jj, TableReportIcon as jk, TableStreamIcon as jl, TableVectorIcon as jm, TableViewIcon as jn, Tabs as jo, Tag as jp, TagColumnIcon as jq, TagIcon as jr, TagTableIcon as js, TargetIcon as jt, TerminalIcon as ju, TextBoxIcon as jv, TextColorIcon as jw, TextIcon as jx, TextJustifyIcon as jy, TextUnderlineIcon as jz, DesignSystemEventProviderComponentTypes as k, useDesignSystemEventSuppressInteractionContext as k$, UserGroupFillIcon as k0, UserGroupIcon as k1, UserIcon as k2, UserKeyIconIcon as k3, UserShieldIcon as k4, UserSparkleIcon as k5, UserTeamIcon as k6, VisibleFillIcon as k7, VisibleIcon as k8, VisibleOffIcon as k9, getButtonEmotionStyles as kA, getComboboxOptionLabelStyles as kB, getDatePickerQuickActionBasic as kC, getDialogComboboxOptionLabelWidth as kD, getHorizontalTabShadowStyles as kE, getInputStyles as kF, getKeyboardNavigationFunctions as kG, getMemoizedButtonEmotionStyles as kH, getPaginationEmotionStyles as kI, getPanelContainmentStyle as kJ, getRadioStyles as kK, getRangeQuickActionsBasic as kL, getShadowScrollStyles as kM, getTypographyColor as kN, getVirtualListScrollbarStyles as kO, getVirtualListScrollbarThumbColor as kP, getVirtualizedComboboxMenuItemStyles as kQ, getWrapperStyle as kR, highlightFirstNonDisabledOption as kS, isOptionDisabled as kT, resetTabIndexToFocusedElement as kU, setImplicitContextGetter as kV, skipHideIconButtonActionClassName as kW, themeMemoKey as kX, useAntDConfigProviderContext as kY, useCallbackOnEnter as kZ, useComponentFinderContext as k_, WithDesignSystemThemeHoc as ka, WorkflowCodeIcon as kb, WorkflowCubeIcon as kc, WorkflowsIcon as kd, WorkspacesIcon as ke, WrenchIcon as kf, WrenchSparkleIcon as kg, XCircleFillIcon as kh, XCircleIcon as ki, YearPickerGrid as kj, ZaHorizontalIcon as kk, ZaVerticalIcon as kl, ZeroOpsIcon as km, ZeroOpsOutlineIcon as kn, ZoomInIcon as ko, ZoomMarqueeSelection as kp, ZoomOutIcon as kq, ZoomToFitIcon as kr, __INTERNAL_DO_NOT_USE__FormItem as ks, __INTERNAL_DO_NOT_USE__Group as kt, __INTERNAL_DO_NOT_USE__HorizontalGroup as ku, __INTERNAL_DO_NOT_USE__VerticalGroup as kv, __INTERNAL_DO_NOT_USE__wrapLegacyFormRules as kw, augmentWithDataComponentProps as kx, dialogComboboxLookAheadKeyDown as ky, getBottomOnlyShadowScrollStyles as kz, DesignSystemEventProviderComponentSubTypeMap as l, useFormContext as l0, useRadioGroupContext as l1, useRadixModalContext as l2, useNotifyOnFirstView as m, useStableUuidV4 as n, ChevronDownIcon as o, primitiveColors as p, ChevronRightIcon as q, DesignSystemAntDConfigProvider as r, CloseSmallIcon as s, addDebugOutlineIfEnabled as t, useWizardCurrentStep as u, Modal as v, getAnimationCss as w, token as x, getDarkModePortalStyles as y, LegacyInfoCircleOutlined as z };
36792
- //# sourceMappingURL=WizardStepContentWrapper-CFCTOSm8.js.map
37461
+ export { hideIconButtonActionCellClassName as $, Trigger$5 as A, Button$1 as B, CheckCircleFillIcon as C, DocumentationSidebar as D, InfoSmallIcon as E, FIXED_VERTICAL_STEPPER_WIDTH as F, Content$7 as G, Arrow$2 as H, InfoFillIcon as I, Tooltip as J, SparkleDoubleIcon as K, LoadingState as L, MAX_VERTICAL_WIZARD_CONTENT_WIDTH as M, visuallyHidden as N, OverflowPopover as O, genSkeletonAnimatedColor as P, getOffsets as Q, Root$b as R, ShapeTokens as S, Typography as T, DesignSystemEventSuppressInteractionProviderContext as U, DesignSystemEventSuppressInteractionTrueContextValue as V, Wizard as W, tableStyles as X, repeatingElementsStyles as Y, tableClassNames as Z, hideIconButtonRowStyles as _, WizardControlled as a, useTypeaheadComboboxV2Context as a$, safex as a0, TitleSkeleton as a1, useDialogComboboxContext as a2, PlusIcon as a3, importantify as a4, getComboboxOptionItemWrapperStyles as a5, getFooterStyles as a6, useDialogComboboxOptionListContext as a7, generateUuidV4 as a8, getContentOptions as a9, DialogCombobox as aA, DialogComboboxTrigger as aB, DialogComboboxContent as aC, Select as aD, SelectTrigger as aE, SelectContent as aF, SelectOption as aG, LegacySelect as aH, WarningIcon as aI, CheckCircleIcon as aJ, DangerIcon as aK, Hint as aL, Title$1 as aM, CloseIcon as aN, RestoreAntDDefaultClsPrefix as aO, AccessibleContainer as aP, DU_BOIS_ENABLE_ANIMATION_CLASSNAME as aQ, CircleOffIcon as aR, CircleOutlineIcon as aS, CircleIcon as aT, shimExports as aU, SortAscendingIcon as aV, SortDescendingIcon as aW, SortUnsortedIcon as aX, MinusSquareIcon as aY, PlusSquareIcon as aZ, TypeaheadComboboxV2ContextProvider as a_, findHighlightedOption as aa, highlightOption as ab, Input as ac, SearchIcon as ad, EmptyResults as ae, findClosestOptionSibling as af, DialogComboboxOptionListCheckboxItem as ag, DialogComboboxOptionListSelectItem as ah, DialogComboboxOptionListContextProvider as ai, LoadingSpinner as aj, DialogComboboxOptionList as ak, useUniqueId as al, TypeaheadComboboxContextProvider as am, useTypeaheadComboboxContext as an, useDuboisThemeClass as ao, useDesignTokenOverrideStyles as ap, getComboboxContentWrapperStyles as aq, ClearSelectionButton as ar, TypeaheadComboboxSelectedItem$1 as as, CountBadge$1 as at, getValidationStateColor as au, SectionHeader as av, useComboboxState as aw, useMultipleSelectionState as ax, Radio as ay, Checkbox as az, WizardModal as b, BoldIcon as b$, useRadixModalContext as b0, useIsomorphicLayoutEffect as b1, useScrollOptionIntoView as b2, InfoTooltip as b3, getInfoIconStyles as b4, HintRow as b5, getCheckboxStyles as b6, getMenuItemStyles as b7, TypeaheadComboboxSelectedItem as b8, CountBadge as b9, ArrowsCollapseIcon as bA, ArrowsConnectIcon as bB, ArrowsExpandIcon as bC, ArrowsUpDownIcon as bD, AssistantIcon as bE, AtIcon as bF, Auth0Graphic as bG, Auth0GraphicLarge as bH, AzHorizontalIcon as bI, AzVerticalIcon as bJ, BANNER_MAX_HEIGHT as bK, BANNER_MIN_HEIGHT as bL, BackupIcon as bM, BadgeCodeIcon as bN, BadgeCodeOffIcon as bO, Banner as bP, BarChartIcon as bQ, BarGroupedIcon as bR, BarStackedIcon as bS, BarStackedPercentageIcon as bT, BarsAscendingHorizontalIcon as bU, BarsAscendingVerticalIcon as bV, BarsDescendingHorizontalIcon as bW, BarsDescendingVerticalIcon as bX, BeakerIcon as bY, BinaryIcon as bZ, BlockQuoteIcon as b_, TypeaheadComboboxMenuItem as ba, AccessDeniedGraphic as bb, Accordion as bc, AccordionPanel as bd, AlignCenterIcon as be, AlignJustifyIcon as bf, AlignLeftIcon as bg, AlignRightIcon as bh, AlignVerticalBottomIcon as bi, AlignVerticalCenterIcon as bj, AlignVerticalTopIcon as bk, AppIcon as bl, ApplyDesignSystemContextOverrides as bm, ApplyDesignSystemFlags as bn, ArrowDownDotIcon as bo, ArrowDownFillIcon as bp, ArrowDownIcon as bq, ArrowInIcon as br, ArrowInTableIcon as bs, ArrowLeftIcon as bt, ArrowOutTableIcon as bu, ArrowOverIcon as bv, ArrowRightIcon as bw, ArrowUpDotIcon as bx, ArrowUpFillIcon as by, ArrowUpIcon as bz, WizardStepContentWrapper as c, CloudIcon as c$, BookIcon as c0, BookmarkFillIcon as c1, BookmarkIcon as c2, BooksIcon as c3, BracketsCheckIcon as c4, BracketsCurlyIcon as c5, BracketsErrorIcon as c6, BracketsSquareIcon as c7, BracketsXIcon as c8, BranchCheckIcon as c9, ChainIcon as cA, ChartLineIcon as cB, CheckCircleBadgeIcon as cC, CheckCircleSmallIcon as cD, CheckIcon as cE, CheckLineIcon as cF, CheckSmallIcon as cG, CheckboxIcon as cH, ChecklistIcon as cI, ChevronDoubleDownIcon as cJ, ChevronDoubleLeftIcon as cK, ChevronDoubleLeftOffIcon as cL, ChevronDoubleRightIcon as cM, ChevronDoubleRightOffIcon as cN, ChevronDoubleUpIcon as cO, ChevronLeftIcon as cP, ChevronUpIcon as cQ, ChipIcon as cR, CircleOffLargeIcon as cS, CircleOutlineLargeIcon as cT, ClipboardIcon as cU, ClockIcon as cV, ClockKeyIcon as cW, ClockOffIcon as cX, CloudCheckIcon as cY, CloudDatabaseIcon as cZ, CloudDownloadIcon as c_, BranchIcon as ca, BranchResetIcon as cb, BriefcaseFillIcon as cc, BriefcaseIcon as cd, BrushIcon as ce, BugIcon as cf, CalendarClockIcon as cg, CalendarEventIcon as ch, CalendarIcon as ci, CalendarRangeIcon as cj, CalendarSyncIcon as ck, CameraIcon as cl, CapitalizeIcon as cm, CaretDownSquareIcon as cn, CaretUpSquareIcon as co, CatalogCloudIcon as cp, CatalogGearIcon as cq, CatalogHomeIcon as cr, CatalogIcon as cs, CatalogOffIcon as ct, CatalogSharedIcon as cu, CatalogUserHomeIcon as cv, CellsSquareIcon as cw, CertifiedFillIcon as cx, CertifiedFillSmallIcon as cy, CertifiedIcon as cz, DesignSystemEventProvider as d, ExpandLessIcon as d$, CloudKeyIcon as d0, CloudModelIcon as d1, CloudOffIcon as d2, CloudUploadIcon as d3, CodeIcon as d4, ColorFillIcon as d5, ColorVars as d6, ColumnIcon as d7, ColumnSplitIcon as d8, ColumnTagIcon as d9, DataMaskiingGraphic as dA, DatabaseClockIcon as dB, DatabaseIcon as dC, DatabaseImportIcon as dD, DatePicker as dE, DecimalIcon as dF, DeprecatedIcon as dG, DeprecatedSmallIcon as dH, DesignSystemContext as dI, DesignSystemEventProviderComponentSubTypes as dJ, DesignSystemProvider as dK, DesignSystemThemeContext as dL, DesignSystemThemeProvider as dM, DialogComboboxCountBadge as dN, DialogComboboxCustomButtonTriggerWrapper as dO, DialogComboboxSectionHeader as dP, DollarIcon as dQ, DomainCirclesThree as dR, DomainsIcon as dS, DotsCircleIcon as dT, DownloadIcon as dU, DragIcon as dV, Drawer as dW, DropdownMenu as dX, Empty as dY, EmptyDashboardGraphic as dZ, ErdIcon as d_, ColumnsIcon as da, CommandIcon as db, CommandPaletteIcon as dc, CompassIcon as dd, ComponentFinderContext as de, ConnectIcon as df, Content$2 as dg, ContextMenu$1 as dh, CopyIcon as di, CreditCardIcon as dj, CursorClickIcon as dk, CursorIcon as dl, CursorPagination as dm, CursorTypeIcon as dn, CustomAppIcon as dp, DS_OVERRIDE_TOKENS_WRAPPER_TESTID as dq, DagHorizontalIcon as dr, DagIcon as ds, DagVerticalIcon as dt, DangerModal as du, DangerSmallIcon as dv, DashIcon as dw, DashboardCodeIcon as dx, DashboardIcon as dy, DataIcon as dz, useDesignSystemContext as e, H4Icon as e$, ExpandMoreIcon as e0, FaceFrownIcon as e1, FaceNeutralIcon as e2, FaceSmileIcon as e3, FileCodeIcon as e4, FileCubeIcon as e5, FileDocumentIcon as e6, FileIcon as e7, FileImageIcon as e8, FileLockIcon as e9, FolderSolidPipelineIcon as eA, FontIcon as eB, ForkHorizontalIcon as eC, ForkIcon as eD, Form as eE, FormContextResetBoundary as eF, FullscreenExitIcon as eG, FullscreenIcon as eH, FunctionIcon as eI, FunctionInputIcon as eJ, GavelIcon as eK, GearFillIcon as eL, GearIcon as eM, GenieCodeIcon as eN, GenieDeepResearchIcon as eO, GiftIcon as eP, GitCommitIcon as eQ, GitMergeIcon as eR, GitRebaseIcon as eS, GlobeIcon as eT, Graphic as eU, GridDashIcon as eV, GridIcon as eW, GroupIcon as eX, H1Icon as eY, H2Icon as eZ, H3Icon as e_, FileModelIcon as ea, FileNewIcon as eb, FilePipelineIcon as ec, FilterFillIcon as ed, FilterIcon as ee, FlagPointerIcon as ef, FloatIcon as eg, FlowIcon as eh, FlowsIcon as ei, FolderBranchFillIcon as ej, FolderBranchIcon as ek, FolderCloudFilledIcon as el, FolderCloudIcon as em, FolderCubeIcon as en, FolderCubeOutlineIcon as eo, FolderFillIcon as ep, FolderHomeIcon as eq, FolderIcon as er, FolderNewIcon as es, FolderNodeIcon as et, FolderOpenBranchIcon as eu, FolderOpenCloudIcon as ev, FolderOpenCubeIcon as ew, FolderOpenIcon as ex, FolderOpenPipelineIcon as ey, FolderOutlinePipelineIcon as ez, useDesignSystemTheme as f, McpIcon as f$, H5Icon as f0, H6Icon as f1, HashIcon as f2, HistoryIcon as f3, HomeIcon as f4, Icon as f5, ImageIcon as f6, IndentDecreaseIcon as f7, IndentIncreaseIcon as f8, InfinityIcon as f9, LetterFormatIcon as fA, LettersIcon as fB, LettersNumbersIcon as fC, LibrariesIcon as fD, LifesaverIcon as fE, LightbulbIcon as fF, LightningCircleFillIcon as fG, LightningIcon as fH, LinearLineIcon as fI, LinkIcon as fJ, LinkOffIcon as fK, ListBorderIcon as fL, ListClearIcon as fM, ListIcon as fN, ListNumberIcon as fO, Listbox as fP, LoadingIcon as fQ, LoadingStateContext as fR, LockFillIcon as fS, LockIcon as fT, LockShareIcon as fU, LockUnlockedIcon as fV, LoopIcon as fW, LowercaseIcon as fX, MailIcon as fY, MapIcon as fZ, MarkdownIcon as f_, InfoBookIcon as fa, InfoIcon as fb, IngestionIcon as fc, ItalicIcon as fd, JoinOperatorIcon as fe, KeyIcon as ff, KeyboardIcon as fg, LakebaseCatalogIcon as fh, LakebaseIcon as fi, LakeflowDesignerIcon as fj, LakewatchAlertIcon as fk, LakewatchDatasourceIcon as fl, LakewatchDetectionRuleIcon as fm, LakewatchParserIcon as fn, LayerGraphIcon as fo, LayerIcon as fp, Layout as fq, LeafIcon as fr, LegacyForm as fs, LegacyFormDubois as ft, LegacyOptGroup as fu, LegacyOption as fv, LegacySelectOptGroup as fw, LegacySelectOption as fx, LegacyTable as fy, LegacyTooltip as fz, WarningFillIcon as g, PlayDoubleIcon as g$, MeasureIcon as g0, MegaphoneIcon as g1, MenuIcon as g2, MinusCircleFillIcon as g3, MinusCircleIcon as g4, MinusCircleSmallIcon as g5, MissingBranchGraphic as g6, MissingGraphic as g7, ModelsIcon as g8, MonotoneLineIcon as g9, PageLastIcon as gA, PageTopIcon as gB, Pagination as gC, Panel as gD, PanelBody as gE, PanelDockedIcon as gF, PanelFloatingIcon as gG, PanelHeader as gH, PanelHeaderButtons as gI, PanelHeaderTitle as gJ, PaperclipIcon as gK, PassFailChecklistIcon as gL, PauseIcon as gM, PencilFillIcon as gN, PencilIcon as gO, PencilSparkleIcon as gP, PieChartIcon as gQ, PillControl as gR, PinCancelIcon as gS, PinFillIcon as gT, PinIcon as gU, PipelineCodeIcon as gV, PipelineCubeIcon as gW, PipelineIcon as gX, PivotOperatorIcon as gY, PlayCircleFillIcon as gZ, PlayCircleIcon as g_, MonthPickerGrid as ga, MoonIcon as gb, Nav as gc, NavButton as gd, NavigationMenu as ge, NeonProjectIcon as gf, NewChatIcon as gg, NewTabIcon as gh, NewWindowIcon as gi, NoCaseIcon as gj, NoIcon as gk, NotebookIcon as gl, NotebookPipelineIcon as gm, NotificationIcon as gn, NotificationOffIcon as go, NumberFormatIcon as gp, NumbersIcon as gq, OfficeIcon as gr, OntologyIcon as gs, OutageGraphic as gt, Overflow as gu, OverflowHorizontalIcon as gv, OverflowIcon as gw, PageBottomIcon as gx, PageFirstIcon as gy, PageIcon as gz, DangerFillIcon as h, SimpleSelect as h$, PlayIcon as h0, PlayMultipleIcon as h1, PlugIcon as h2, PlusCircleFillIcon as h3, PlusCircleIcon as h4, PlusCircleSmallIcon as h5, PlusMinusSquareIcon as h6, Popover as h7, PositionBottomIcon as h8, PositionLeftIcon as h9, RunningIcon as hA, SMALL_BUTTON_HEIGHT$2 as hB, SaveClockIcon as hC, SaveIcon as hD, SchemaIcon as hE, SchoolIcon as hF, SearchDataIcon as hG, SegmentedControlButton as hH, SegmentedControlGroup as hI, SelectContext as hJ, SelectContextProvider as hK, SelectOptionGroup as hL, SendIcon as hM, ShareIcon as hN, ShareNodesIcon as hO, ShieldCheckIcon as hP, ShieldIcon as hQ, ShieldOffIcon as hR, ShortcutIcon as hS, Sidebar as hT, SidebarAutoIcon as hU, SidebarClosedIcon as hV, SidebarCollapseIcon as hW, SidebarExpandIcon as hX, SidebarIcon as hY, SidebarOpenIcon as hZ, SidebarSyncIcon as h_, PositionRightIcon as ha, PositionTopIcon as hb, PreviewCard as hc, Progress as hd, PullRequestIcon as he, PuzzleIcon as hf, QueryEditorIcon as hg, QueryIcon as hh, QuestionMarkFillIcon as hi, QuestionMarkIcon as hj, RadioIcon as hk, RadioTile as hl, RangePicker as hm, ReaderModeIcon as hn, RedoIcon as ho, RefreshIcon as hp, RefreshPlayIcon as hq, RefreshXIcon as hr, ReplyIcon as hs, ResizeIcon as ht, RhfForm as hu, RichTextIcon as hv, RobotIcon as hw, RocketIcon as hx, RowsIcon as hy, RunIcon as hz, DesignSystemEventProviderAnalyticsEventTypes as i, TagIcon as i$, SimpleSelectOption as i0, SimpleSelectOptionGroup as i1, SlashSquareIcon as i2, Slider as i3, SlidersIcon as i4, SnippetIcon as i5, SortCustomHorizontalIcon as i6, SortCustomVerticalIcon as i7, SortHorizontalAscendingIcon as i8, SortHorizontalDescendingIcon as i9, StopCircleFillIcon as iA, StopCircleIcon as iB, StopIcon as iC, StoredProcedureIcon as iD, StorefrontIcon as iE, StreamIcon as iF, StrikeThroughIcon as iG, SunIcon as iH, SyncIcon as iI, SyncSmallIcon as iJ, SyncToFileIcon as iK, TableAsteriskIcon as iL, TableClockIcon as iM, TableCombineIcon as iN, TableGlassesIcon as iO, TableGlobeIcon as iP, TableIcon as iQ, TableLightningIcon as iR, TableMeasureIcon as iS, TableModelIcon as iT, TableReportIcon as iU, TableStreamIcon as iV, TableVectorIcon as iW, TableViewIcon as iX, Tabs as iY, Tag as iZ, TagColumnIcon as i_, SortLetterHorizontalAscendingIcon as ia, SortLetterHorizontalDescendingIcon as ib, SortLetterUnsortedIcon as ic, SortLetterVerticalAscendingIcon as id, SortLetterVerticalDescendingIcon as ie, Spacer as ig, SparkleDoubleFillIcon as ih, SparkleFillIcon as ii, SparkleIcon as ij, SparkleRectangleIcon as ik, SpeechBubbleIcon as il, SpeechBubblePlusIcon as im, SpeechBubbleQuestionMarkFillIcon as io, SpeechBubbleQuestionMarkIcon as ip, SpeechBubbleStarIcon as iq, SpeedometerIcon as ir, Spinner as is, SplitButton as it, SqlIcon as iu, StarFillIcon as iv, StarIcon as iw, StepAfterLineIcon as ix, StepBeforeLineIcon as iy, Stepper as iz, useDesignSystemEventComponentCallbacks as j, ZoomToFitIcon as j$, TagTableIcon as j0, TargetIcon as j1, TerminalIcon as j2, TextBoxIcon as j3, TextColorIcon as j4, TextIcon as j5, TextJustifyIcon as j6, TextUnderlineIcon as j7, ThreeDotsIcon as j8, ThumbsDownFilledIcon as j9, UserGroupFillIcon as jA, UserGroupIcon as jB, UserIcon as jC, UserKeyIconIcon as jD, UserShieldIcon as jE, UserSparkleIcon as jF, UserTeamIcon as jG, VisibleFillIcon as jH, VisibleIcon as jI, VisibleOffIcon as jJ, WithDesignSystemThemeHoc as jK, WorkflowCodeIcon as jL, WorkflowCubeIcon as jM, WorkflowsIcon as jN, WorkspacesIcon as jO, WrenchIcon as jP, WrenchSparkleIcon as jQ, XCircleFillIcon as jR, XCircleIcon as jS, YearPickerGrid as jT, ZaHorizontalIcon as jU, ZaVerticalIcon as jV, ZeroOpsIcon as jW, ZeroOpsOutlineIcon as jX, ZoomInIcon as jY, ZoomMarqueeSelection as jZ, ZoomOutIcon as j_, ThumbsDownIcon as ja, ThumbsUpFilledIcon as jb, ThumbsUpIcon as jc, ToggleButton as jd, TokenIcon as je, Toolbar as jf, TrashIcon as jg, Tree as jh, TreeIcon as ji, TrendingFillIcon as jj, TrendingIcon as jk, TriangleIcon as jl, TypeaheadComboboxCheckboxItem as jm, TypeaheadComboboxFooter as jn, TypeaheadComboboxMenuItem$1 as jo, TypeaheadComboboxMultiSelectStateChangeTypes as jp, TypeaheadComboboxStateChangeTypes as jq, UnderlineIcon as jr, UndoIcon as js, UploadIcon as jt, UppercaseIcon as ju, UsageOverageGraphic as jv, UsageSpikeGraphic as jw, UsbIcon as jx, UserBadgeIcon as jy, UserCircleIcon as jz, DesignSystemEventProviderComponentTypes as k, __INTERNAL_DO_NOT_USE__FormItem as k0, __INTERNAL_DO_NOT_USE__Group as k1, __INTERNAL_DO_NOT_USE__HorizontalGroup as k2, __INTERNAL_DO_NOT_USE__VerticalGroup as k3, __INTERNAL_DO_NOT_USE__wrapLegacyFormRules as k4, augmentWithDataComponentProps as k5, dialogComboboxLookAheadKeyDown as k6, getBottomOnlyShadowScrollStyles as k7, getButtonEmotionStyles as k8, getComboboxOptionLabelStyles as k9, useFormContext as kA, useRadioGroupContext as kB, getDatePickerQuickActionBasic as ka, getDialogComboboxOptionLabelWidth as kb, getHorizontalTabShadowStyles as kc, getInputStyles as kd, getKeyboardNavigationFunctions as ke, getMemoizedButtonEmotionStyles as kf, getPaginationEmotionStyles as kg, getPanelContainmentStyle as kh, getRadioStyles as ki, getRangeQuickActionsBasic as kj, getShadowScrollStyles as kk, getTypographyColor as kl, getVirtualListScrollbarStyles as km, getVirtualListScrollbarThumbColor as kn, getVirtualizedComboboxMenuItemStyles as ko, getWrapperStyle as kp, highlightFirstNonDisabledOption as kq, isOptionDisabled as kr, resetTabIndexToFocusedElement as ks, setImplicitContextGetter as kt, skipHideIconButtonActionClassName as ku, themeMemoKey as kv, useAntDConfigProviderContext as kw, useCallbackOnEnter as kx, useComponentFinderContext as ky, useDesignSystemEventSuppressInteractionContext as kz, DesignSystemEventProviderComponentSubTypeMap as l, useNotifyOnFirstView as m, useStableUuidV4 as n, ChevronDownIcon as o, primitiveColors as p, ChevronRightIcon as q, DesignSystemAntDConfigProvider as r, CloseSmallIcon as s, addDebugOutlineIfEnabled as t, useWizardCurrentStep as u, Modal as v, getAnimationCss as w, token as x, getDarkModePortalStyles as y, useModalContext as z };
37462
+ //# sourceMappingURL=WizardStepContentWrapper-DsAS2ZAT.js.map