@databricks/design-system 1.12.20 → 1.12.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/codemods/camelize.ts +5 -5
- package/dist/Popover-CrX63HDP.js +3831 -0
- package/dist/Popover-CrX63HDP.js.map +1 -0
- package/dist/Popover-DQEbjNyV.js +3831 -0
- package/dist/Popover-DQEbjNyV.js.map +1 -0
- package/dist/WizardStepContentWrapper-Bv2MqnDd.js +2276 -0
- package/dist/WizardStepContentWrapper-Bv2MqnDd.js.map +1 -0
- package/dist/WizardStepContentWrapper-CzvxVy-w.js +2278 -0
- package/dist/WizardStepContentWrapper-CzvxVy-w.js.map +1 -0
- package/dist/development.js +3 -3
- package/dist/development.js.map +1 -1
- package/dist/index-BC9PpmGo.js +770 -0
- package/dist/index-BC9PpmGo.js.map +1 -0
- package/dist/index-DxyvNv4-.js +770 -0
- package/dist/index-DxyvNv4-.js.map +1 -0
- package/dist/index.js +162 -66
- package/dist/index.js.map +1 -1
- package/dist/patterns.js +2 -2
- package/package.json +4 -4
- package/scripts/theme_regeneration/common.ts +3 -3
- package/scripts/theme_regeneration/regenerate_color_validity_enums.ts +3 -3
- package/src/assets/icons/RowsIcon.svg +3 -0
- package/src/assets/icons/TokenIcon.svg +8 -0
- package/src/assets/icons/TrendingIcon.svg +1 -0
- package/src/design-system/Accordion/Accordion.tsx +2 -2
- package/src/design-system/Alert/Alert.tsx +1 -1
- package/src/design-system/ApplyGlobalStyles/ApplyGlobalStyles.tsx +1 -1
- package/src/design-system/Card/Card.test.tsx +52 -0
- package/src/design-system/Card/Card.tsx +21 -5
- package/src/design-system/DatePicker/DatePicker.tsx +6 -4
- package/src/design-system/DesignSystemEventProvider/DesignSystemEventProvider.test.tsx +5 -3
- package/src/design-system/DesignSystemProvider/DesignSystemProvider.test.tsx +1 -1
- package/src/design-system/DesignSystemProvider/DesignSystemProvider.tsx +8 -6
- package/src/design-system/Dropdown/Dropdown.tsx +1 -1
- package/src/design-system/Empty/Empty.tsx +1 -1
- package/src/design-system/Grid/Col.tsx +1 -1
- package/src/design-system/Grid/Row.tsx +1 -1
- package/src/design-system/Header/Header.tsx +1 -1
- package/src/design-system/Hooks/useDesignSystemTheme.tsx +3 -1
- package/src/design-system/HoverCard/HoverCard.tsx +11 -5
- package/src/design-system/Icon/Icon.tsx +4 -4
- package/src/design-system/Icon/__generated/icons/{InfoIcon.tsx → RowsIcon.tsx} +6 -7
- package/src/design-system/Icon/__generated/icons/TokenIcon.tsx +28 -0
- package/src/design-system/Icon/__generated/icons/TrendingIcon.tsx +23 -0
- package/src/design-system/Icon/__generated/icons/index.ts +3 -1
- package/src/design-system/Input/Password.tsx +25 -23
- package/src/design-system/LegacyForm/LegacyForm.tsx +5 -1
- package/src/design-system/LegacyPopover/LegacyPopover.tsx +5 -1
- package/src/design-system/LegacySelect/LegacySelect.tsx +2 -2
- package/src/design-system/LegacyTable/LegacyTable.tsx +1 -1
- package/src/design-system/LegacyTabs/index.tsx +4 -1
- package/src/design-system/LegacyTooltip/LegacyTooltip.tsx +1 -1
- package/src/design-system/LoadingState/LoadingState.tsx +1 -1
- package/src/design-system/Modal/Modal.tsx +19 -2
- package/src/design-system/PageWrapper/PageWrapper.tsx +1 -1
- package/src/design-system/Pagination/index.tsx +2 -2
- package/src/design-system/PreviewCard/PreviewCard.test.tsx +70 -0
- package/src/design-system/PreviewCard/PreviewCard.tsx +15 -5
- package/src/design-system/Radio/Radio.tsx +28 -28
- package/src/design-system/SegmentedControl/SegmentedControl.tsx +2 -2
- package/src/design-system/Select/SimpleSelect.tsx +4 -1
- package/src/design-system/Skeleton/TableSkeleton.tsx +4 -2
- package/src/design-system/Skeleton/TitleSkeleton.tsx +10 -2
- package/src/design-system/Space/Space.tsx +1 -1
- package/src/design-system/Spacer/Spacer.tsx +1 -1
- package/src/design-system/Spinner/Spinner.tsx +1 -1
- package/src/design-system/SplitButton/Dropdown/DropdownButton.tsx +1 -1
- package/src/design-system/SplitButton/SplitButton.tsx +3 -1
- package/src/design-system/Stepper/Stepper.tsx +1 -1
- package/src/design-system/Switch/Switch.tsx +1 -1
- package/src/design-system/TableUI/TableCell.tsx +10 -1
- package/src/design-system/Tooltip/Tooltip.tsx +1 -1
- package/src/design-system/TypeaheadCombobox/CountBadge.tsx +5 -1
- package/src/design-system/TypeaheadCombobox/TypeaheadComboboxControls.tsx +1 -1
- package/src/design-system/TypeaheadCombobox/TypeaheadComboboxRoot.tsx +1 -1
- package/src/design-system/TypeaheadCombobox/TypeaheadComboboxSelectedItem.tsx +1 -1
- package/src/design-system/TypeaheadCombobox/tests/TypeaheadCombobox.test.tsx +3 -3
- package/src/design-system/TypeaheadCombobox/tests/testFixtures.tsx +3 -3
- package/src/design-system/utils/css-utils.tsx +6 -6
- package/src/design-system/utils/shadow-dom-storybook-wrapper.tsx +1 -1
- package/src/development/Banner/Banner.tsx +1 -1
- package/src/development/PillControl/PillControl.tsx +1 -0
- package/src/development/TreeGrid/TreeGrid.test.tsx +2 -2
- package/src/development/TreeGrid/TreeGrid.tsx +1 -1
- package/src/theme/convertToLessVars.ts +5 -5
- package/src/~patterns/Wizard/VerticalWizardContent.tsx +3 -1
- package/src/assets/icons/InfoIcon.svg +0 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Popover-DQEbjNyV.js","sources":["../src/design-system/utils/accessibility.ts","../src/theme/_generated/PrimitiveColors.ts","../src/theme/_generated/BorderRadii.ts","../src/theme/borders.ts","../src/theme/breakpoints.ts","../src/theme/_generated/ProtectedSemanticColors.ts","../src/theme/_generated/SemanticColors-Dark.ts","../src/theme/_generated/SemanticColors-Light.ts","../src/theme/colors.ts","../src/theme/spacing.ts","../src/antd-vars.ts","../src/theme/generalVariables.ts","../src/theme/gradients.ts","../src/theme/shadows.ts","../src/theme/typography.ts","../src/theme/index.ts","../src/design-system/Hooks/useDesignSystemTheme.tsx","../src/design-system/DesignSystemProvider/DesignSystemProvider.tsx","../src/design-system/Hooks/useDesignSystemContext.ts","../src/design-system/utils/safex.ts","../src/design-system/utils/debug.tsx","../src/design-system/utils/useUniqueId.ts","../src/design-system/Icon/Icon.tsx","../src/design-system/Icon/__generated/icons/ChevronLeftIcon.tsx","../src/design-system/Icon/__generated/icons/ChevronRightIcon.tsx","../src/design-system/Icon/__generated/icons/CloseIcon.tsx","../src/design-system/Icon/__generated/icons/DangerIcon.tsx","../src/design-system/Icon/__generated/icons/LoadingIcon.tsx","../src/design-system/Icon/__generated/icons/NewWindowIcon.tsx","../src/design-system/Icon/__generated/icons/WarningIcon.tsx","../src/design-system/utils/useStable.ts","../src/design-system/utils/useStableUid.ts","../src/design-system/LoadingState/LoadingState.tsx","../src/design-system/Spinner/Spinner.tsx","../src/design-system/DialogCombobox/shared.ts","../src/design-system/_shared_/Combobox/styles.ts","../src/theme/_generated/ValidSemanticColors.ts","../src/design-system/constants.tsx","../src/design-system/utils/css-utils.tsx","../src/design-system/utils/useNotifyOnFirstView.ts","../src/design-system/utils/safex-flags.ts","../src/design-system/AccessibleContainer/index.tsx","../src/design-system/DesignSystemEventProvider/DesignSystemEventSuppressInteractionProvider.tsx","../src/design-system/utils/useStableUuidV4.ts","../src/design-system/DesignSystemEventProvider/DesignSystemEventProvider.tsx","../src/design-system/Button/styles.ts","../src/development/Form/Form.tsx","../src/design-system/Button/Button.tsx","../src/design-system/Typography/Hint.tsx","../src/design-system/Typography/Link.tsx","../src/design-system/Typography/Paragraph.tsx","../src/design-system/Typography/Text.tsx","../src/design-system/Typography/TextMiddleElide.tsx","../src/design-system/Typography/Title.tsx","../src/design-system/Typography/Truncate.tsx","../src/design-system/Typography/Typography.tsx","../src/design-system/Popover/Popover.tsx"],"sourcesContent":["import type { CSSObject } from '@emotion/react';\n\n/**\n * Used to hide text visually, but still be readable by screen-readers\n * and other assistive devices.\n *\n * https://www.tpgi.com/the-anatomy-of-visually-hidden/\n */\nexport const visuallyHidden: CSSObject = {\n '&:not(:focus):not(:active)': {\n clip: 'rect(0 0 0 0)',\n clipPath: 'inset(50%)',\n height: '1px',\n overflow: 'hidden',\n position: 'absolute',\n whiteSpace: 'nowrap',\n width: '1px',\n },\n};\n","// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.\n\nimport type { ValidPrimitiveColors } from './ValidPrimitiveColors';\n\nexport const primitiveColors: Record<ValidPrimitiveColors, string> = {\n blue100: '#F0F8FF',\n blue200: '#D7EDFE',\n blue300: '#BAE1FC',\n blue400: '#8ACAFF',\n blue500: '#4299E0',\n blue600: '#2272B4',\n blue700: '#0E538B',\n blue800: '#04355D',\n brown: '#A6630C',\n coral: '#C83243',\n green100: '#F3FCF6',\n green200: '#D4F7DF',\n green300: '#B1ECC5',\n green400: '#8DDDA8',\n green500: '#3CAA60',\n green600: '#277C43',\n green700: '#115026',\n green800: '#093919',\n grey050: '#F6F7F9',\n grey100: '#E8ECF0',\n grey200: '#D1D9E1',\n grey300: '#C0CDD8',\n grey350: '#92A4B3',\n grey400: '#8396A5',\n grey500: '#5F7281',\n grey600: '#445461',\n grey650: '#37444F',\n grey700: '#1F272D',\n grey800: '#11171C',\n indigo: '#434A93',\n lemon: '#FACB66',\n lime: '#308613',\n pink: '#B45091',\n purple: '#8A63BF',\n red100: '#FFF5F7',\n red200: '#FDE2E8',\n red300: '#FBD0D8',\n red400: '#F792A6',\n red500: '#E65B77',\n red600: '#C82D4C',\n red700: '#9E102C',\n red800: '#630316',\n teal: '#04867D',\n turquoise: '#137DAE',\n white: '#FFFFFF',\n yellow100: '#FFF9EB',\n yellow200: '#FCEACA',\n yellow300: '#F8D4A5',\n yellow400: '#F2BE88',\n yellow500: '#DE7921',\n yellow600: '#BE501E',\n yellow700: '#93320B',\n yellow800: '#5F1B02',\n};\n","// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.\n\nexport const borderRadii = {\n borderRadius0: 0,\n borderRadiusSm: 4,\n borderRadiusMd: 8,\n borderRadiusLg: 12,\n borderRadiusFull: 999,\n};\n","import { borderRadii as newBorderRadii } from './_generated/BorderRadii';\n\n// Border variables\nexport const borders = {\n borderRadiusMd: 4,\n borderRadiusLg: 8,\n};\n\nexport const getLegacyBorders = () => {\n return borders;\n};\n\nexport const getBorders = () => {\n return newBorderRadii;\n};\n","/**\n * These values are based on AntD's breakpoints which follow BootStrap 4 media query rules.\n * The numerical values represent the min-width of the given size.\n * AntD values: https://ant.design/components/grid#col\n * Bootstrap: https://getbootstrap.com/docs/4.0/layout/overview/#responsive-breakpoints\n */\ntype availableBreakpoints = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';\ntype ResponsiveOptions<RType> = Record<availableBreakpoints, RType>;\n\nconst breakpoints: ResponsiveOptions<number> = {\n xs: 0,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n xxl: 1600,\n};\n\nconst mediaQueries: ResponsiveOptions<string> = {\n xs: '@media (max-width: 575.98px)',\n sm: `@media (min-width: ${breakpoints.sm}px)`,\n md: `@media (min-width: ${breakpoints.md}px)`,\n lg: `@media (min-width: ${breakpoints.lg}px)`,\n xl: `@media (min-width: ${breakpoints.xl}px)`,\n xxl: `@media (min-width: ${breakpoints.xxl}px)`,\n};\n\nconst responsive = { breakpoints, mediaQueries };\nexport default responsive;\n","// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.\n\nimport { primitiveColors as primitives } from './PrimitiveColors';\n\nexport const darkProtectedColorList = {\n tagBackgroundBrown: 'rgba(171, 86, 2, 0.1000)',\n tagBackgroundCharcoal: primitives.grey300,\n tagBackgroundCoral: 'rgba(240, 0, 64, 0.1000)',\n tagBackgroundDefault: 'rgba(232, 236, 240, 0.0800)',\n tagBackgroundIndigo: 'rgba(1, 68, 255, 0.1200)',\n tagBackgroundLemon: 'rgba(255, 191, 1, 0.1800)',\n tagBackgroundLime: 'rgba(2, 179, 2, 0.0800)',\n tagBackgroundPink: 'rgba(240, 1, 150, 0.1200)',\n tagBackgroundPurple: 'rgba(59, 0, 255, 0.1200)',\n tagBackgroundTeal: 'rgba(2, 192, 150, 0.1200)',\n tagBackgroundTurquoise: 'rgba(2, 192, 213, 0.1200)',\n tagHover: 'rgba(138, 202, 255, 0.0800)',\n tagIconBrown: '#DAB594',\n tagIconCharcoal: primitives.grey650,\n tagIconCoral: '#FF859D',\n tagIconDefault: primitives.grey350,\n tagIconHover: primitives.grey350,\n tagIconIndigo: '#99A2FF',\n tagIconLemon: '#FFCD4D',\n tagIconLime: '#70D083',\n tagIconPink: '#F986C9',\n tagIconPress: primitives.grey350,\n tagIconPurple: '#B399FF',\n tagIconTeal: '#0AD8B6',\n tagIconTurquoise: '#1FD0F3',\n tagInverse: primitives.grey800,\n tagPress: 'rgba(138, 202, 255, 0.1600)',\n tagTextBrown: '#F2E1CA',\n tagTextCharcoal: primitives.grey800,\n tagTextCoral: '#FED2E1',\n tagTextDefault: primitives.grey100,\n tagTextIndigo: '#DDDFFE',\n tagTextLemon: '#FFE7B3',\n tagTextLime: '#C2F0C2',\n tagTextPink: '#FDD1EA',\n tagTextPurple: '#E2DDFE',\n tagTextTeal: '#ADF0DD',\n tagTextTurquoise: '#B6ECF7',\n};\n\nexport const lightProtectedColorList = {\n tagBackgroundBrown: 'rgba(171, 86, 2, 0.0800)',\n tagBackgroundCharcoal: primitives.grey650,\n tagBackgroundCoral: 'rgba(240, 0, 64, 0.0600)',\n tagBackgroundDefault: 'rgba(0, 0, 59, 0.0500)',\n tagBackgroundIndigo: 'rgba(1, 68, 255, 0.0600)',\n tagBackgroundLemon: 'rgba(255, 191, 1, 0.1800)',\n tagBackgroundLime: 'rgba(2, 179, 2, 0.0800)',\n tagBackgroundPink: 'rgba(240, 1, 150, 0.0600)',\n tagBackgroundPurple: 'rgba(59, 0, 255, 0.0500)',\n tagBackgroundTeal: 'rgba(2, 192, 150, 0.0900)',\n tagBackgroundTurquoise: 'rgba(2, 192, 213, 0.0900)',\n tagHover: 'rgba(34, 114, 180, 0.0800)',\n tagIconBrown: '#815E46',\n tagIconCharcoal: primitives.grey350,\n tagIconCoral: '#CA244E',\n tagIconDefault: primitives.grey600,\n tagIconHover: primitives.grey600,\n tagIconIndigo: '#3451B2',\n tagIconLemon: '#915830',\n tagIconLime: '#227534',\n tagIconPink: '#C41C87',\n tagIconPress: primitives.grey600,\n tagIconPurple: '#5746AF',\n tagIconTeal: '#00776B',\n tagIconTurquoise: '#00708D',\n tagInverse: primitives.grey800,\n tagPress: 'rgba(34, 114, 180, 0.1600)',\n tagTextBrown: '#3E332E',\n tagTextCharcoal: primitives.grey100,\n tagTextCoral: '#64172B',\n tagTextDefault: primitives.grey800,\n tagTextIndigo: '#101D46',\n tagTextLemon: '#4F3422',\n tagTextLime: '#203C25',\n tagTextPink: '#651249',\n tagTextPurple: '#2F265F',\n tagTextTeal: '#0D3D38',\n tagTextTurquoise: '#0D3C48',\n};\n","// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.\n\nimport { primitiveColors as primitives } from './PrimitiveColors';\nimport type { ValidSemanticColors } from './ValidSemanticColors';\n\nexport const darkColorList: Record<ValidSemanticColors, string> = {\n actionDangerDefaultBackgroundDefault: 'rgba(247, 146, 166, 0.0000)',\n actionDangerDefaultBackgroundHover: 'rgba(247, 146, 166, 0.0800)',\n actionDangerDefaultBackgroundPress: 'rgba(247, 146, 166, 0.1600)',\n actionDangerDefaultBorderDefault: primitives.red500,\n actionDangerDefaultBorderHover: primitives.red400,\n actionDangerDefaultBorderPress: primitives.red300,\n actionDangerDefaultTextDefault: primitives.red500,\n actionDangerDefaultTextHover: primitives.red400,\n actionDangerDefaultTextPress: primitives.red300,\n actionDangerPrimaryBackgroundDefault: primitives.red500,\n actionDangerPrimaryBackgroundHover: primitives.red400,\n actionDangerPrimaryBackgroundPress: primitives.red300,\n actionDangerPrimaryText: primitives.grey800,\n actionDefaultBackgroundDefault: 'rgba(138, 202, 255, 0.0000)',\n actionDefaultBackgroundHover: 'rgba(138, 202, 255, 0.0800)',\n actionDefaultBackgroundPress: 'rgba(138, 202, 255, 0.1600)',\n actionDefaultBorderDefault: primitives.grey650,\n actionDefaultBorderFocus: primitives.blue400,\n actionDefaultBorderHover: primitives.blue400,\n actionDefaultBorderPress: primitives.blue300,\n actionDefaultIconDefault: primitives.grey350,\n actionDefaultIconHover: primitives.blue400,\n actionDefaultIconPress: primitives.blue300,\n actionDefaultTextDefault: primitives.grey100,\n actionDefaultTextHover: primitives.blue400,\n actionDefaultTextPress: primitives.blue300,\n actionDisabledBackground: primitives.grey650,\n actionDisabledBorder: primitives.grey600,\n actionDisabledText: primitives.grey500,\n actionIconBackgroundDefault: 'rgba(255, 255, 255, 0.0000)',\n actionIconBackgroundHover: 'rgba(255, 255, 255, 0.0800)',\n actionIconBackgroundPress: 'rgba(255, 255, 255, 0.1600)',\n actionIconIconDefault: primitives.grey350,\n actionIconIconHover: primitives.grey300,\n actionIconIconPress: primitives.grey200,\n actionLinkDefault: primitives.blue500,\n actionLinkHover: primitives.blue400,\n actionLinkPress: primitives.blue300,\n actionPrimaryBackgroundDefault: primitives.blue500,\n actionPrimaryBackgroundHover: primitives.blue400,\n actionPrimaryBackgroundPress: primitives.blue300,\n actionPrimaryIcon: primitives.grey800,\n actionPrimaryTextDefault: primitives.grey800,\n actionPrimaryTextHover: primitives.grey800,\n actionPrimaryTextPress: primitives.grey800,\n actionTertiaryBackgroundDefault: 'rgba(143, 205, 255, 0.0000)',\n actionTertiaryBackgroundHover: 'rgba(143, 205, 255, 0.0800)',\n actionTertiaryBackgroundPress: 'rgba(143, 205, 255, 0.1600)',\n actionTertiaryIconDefault: primitives.blue500,\n actionTertiaryIconHover: primitives.blue400,\n actionTertiaryIconPress: primitives.blue300,\n actionTertiaryTextDefault: primitives.blue500,\n actionTertiaryTextHover: primitives.blue400,\n actionTertiaryTextPress: primitives.blue300,\n backgroundDanger: 'rgba(200, 45, 76, 0.1600)',\n backgroundPrimary: primitives.grey800,\n backgroundSecondary: primitives.grey700,\n backgroundSuccess: 'rgba(39, 124, 67, 0.1600)',\n backgroundWarning: 'rgba(190, 80, 30, 0.1600)',\n border: primitives.grey700,\n borderAccessible: primitives.grey300,\n borderDanger: primitives.red500,\n borderWarning: primitives.yellow500,\n codeBackground: primitives.grey650,\n overlayOverlay: 'rgba(0, 0, 0, 0.45)',\n progressFill: primitives.grey500,\n progressFillPrimary: primitives.blue600,\n progressTrack: primitives.grey650,\n skeleton: 'rgba(144, 164, 181, 0.1600)',\n tableBackgroundSelectedDefault: 'rgba(189, 205, 219, 0.0800)',\n tableBackgroundSelectedHover: 'rgba(189, 205, 219, 0.1200)',\n tableBackgroundUnselectedDefault: primitives.grey800,\n tableBackgroundUnselectedHover: 'rgba(189, 205, 219, 0.0400)',\n textPlaceholder: primitives.grey400,\n textPrimary: primitives.grey100,\n textSecondary: primitives.grey350,\n textValidationDanger: primitives.red500,\n textValidationSuccess: primitives.green500,\n textValidationWarning: primitives.yellow500,\n tooltipBackgroundTooltip: primitives.grey100,\n};\n","// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.\n\nimport { primitiveColors as primitives } from './PrimitiveColors';\nimport type { ValidSemanticColors } from './ValidSemanticColors';\n\nexport const lightColorList: Record<ValidSemanticColors, string> = {\n actionDangerDefaultBackgroundDefault: 'rgba(200, 45, 76, 0.0000)',\n actionDangerDefaultBackgroundHover: 'rgba(200, 45, 76, 0.0800)',\n actionDangerDefaultBackgroundPress: 'rgba(200, 45, 76, 0.1600)',\n actionDangerDefaultBorderDefault: primitives.red600,\n actionDangerDefaultBorderHover: primitives.red700,\n actionDangerDefaultBorderPress: primitives.red800,\n actionDangerDefaultTextDefault: primitives.red600,\n actionDangerDefaultTextHover: primitives.red700,\n actionDangerDefaultTextPress: primitives.red800,\n actionDangerPrimaryBackgroundDefault: primitives.red600,\n actionDangerPrimaryBackgroundHover: primitives.red700,\n actionDangerPrimaryBackgroundPress: primitives.red800,\n actionDangerPrimaryText: primitives.white,\n actionDefaultBackgroundDefault: 'rgba(34, 114, 180, 0.0000)',\n actionDefaultBackgroundHover: 'rgba(34, 114, 180, 0.0800)',\n actionDefaultBackgroundPress: 'rgba(34, 114, 180, 0.1600)',\n actionDefaultBorderDefault: primitives.grey300,\n actionDefaultBorderFocus: primitives.blue600,\n actionDefaultBorderHover: primitives.blue600,\n actionDefaultBorderPress: primitives.blue800,\n actionDefaultIconDefault: primitives.grey600,\n actionDefaultIconHover: primitives.blue700,\n actionDefaultIconPress: primitives.blue800,\n actionDefaultTextDefault: primitives.grey800,\n actionDefaultTextHover: primitives.blue700,\n actionDefaultTextPress: primitives.blue800,\n actionDisabledBackground: primitives.grey100,\n actionDisabledBorder: primitives.grey200,\n actionDisabledText: primitives.grey350,\n actionIconBackgroundDefault: 'rgba(34, 114, 180, 0.0000)',\n actionIconBackgroundHover: 'rgba(34, 114, 180, 0.0800)',\n actionIconBackgroundPress: 'rgba(34, 114, 180, 0.1600)',\n actionIconIconDefault: primitives.grey600,\n actionIconIconHover: primitives.blue700,\n actionIconIconPress: primitives.blue800,\n actionLinkDefault: primitives.blue600,\n actionLinkHover: primitives.blue700,\n actionLinkPress: primitives.blue800,\n actionPrimaryBackgroundDefault: primitives.blue600,\n actionPrimaryBackgroundHover: primitives.blue700,\n actionPrimaryBackgroundPress: primitives.blue800,\n actionPrimaryIcon: primitives.white,\n actionPrimaryTextDefault: primitives.white,\n actionPrimaryTextHover: primitives.white,\n actionPrimaryTextPress: primitives.white,\n actionTertiaryBackgroundDefault: 'rgba(34, 114, 180, 0.0000)',\n actionTertiaryBackgroundHover: 'rgba(34, 114, 180, 0.0800)',\n actionTertiaryBackgroundPress: 'rgba(34, 114, 180, 0.1600)',\n actionTertiaryIconDefault: primitives.blue600,\n actionTertiaryIconHover: primitives.blue700,\n actionTertiaryIconPress: primitives.blue800,\n actionTertiaryTextDefault: primitives.blue600,\n actionTertiaryTextHover: primitives.blue700,\n actionTertiaryTextPress: primitives.blue800,\n backgroundDanger: primitives.red100,\n backgroundPrimary: primitives.white,\n backgroundSecondary: primitives.grey050,\n backgroundSuccess: primitives.green100,\n backgroundWarning: primitives.yellow100,\n border: primitives.grey100,\n borderAccessible: primitives.grey500,\n borderDanger: primitives.red300,\n borderWarning: primitives.yellow300,\n codeBackground: 'rgba(68, 83, 95, 0.0800)',\n overlayOverlay: 'rgba(0, 0, 0, 0.26)',\n progressFill: primitives.grey300,\n progressFillPrimary: primitives.blue500,\n progressTrack: primitives.grey100,\n skeleton: 'rgba(144, 164, 181, 0.1600)',\n tableBackgroundSelectedDefault: 'rgba(68, 83, 95, 0.0800)',\n tableBackgroundSelectedHover: 'rgba(68, 83, 95, 0.1200)',\n tableBackgroundUnselectedDefault: primitives.white,\n tableBackgroundUnselectedHover: 'rgba(68, 83, 95, 0.0400)',\n textPlaceholder: primitives.grey500,\n textPrimary: primitives.grey800,\n textSecondary: primitives.grey500,\n textValidationDanger: primitives.red600,\n textValidationSuccess: primitives.green600,\n textValidationWarning: primitives.yellow600,\n tooltipBackgroundTooltip: primitives.grey800,\n};\n","import { primitiveColors } from './_generated/PrimitiveColors';\nimport { darkProtectedColorList, lightProtectedColorList } from './_generated/ProtectedSemanticColors';\nimport { darkColorList } from './_generated/SemanticColors-Dark';\nimport { lightColorList } from './_generated/SemanticColors-Light';\n\n// Currently these are the same for both light and dark mode, but we may want to change this in the future.\nconst branded = {\n ai: {\n /** For AI components, the top-left-oriented start color of gradient treatments. */\n gradientStart: '#4299E0',\n /** For AI components, the mid color of gradient treatments. */\n gradientMid: '#CA42E0',\n /** For AI components, the bottom-right-oriented end color of gradient treatments. */\n gradientEnd: '#FF5F46',\n },\n};\n\nconst darkColors = { ...darkColorList, ...primitiveColors, branded };\nconst lightColors = { ...lightColorList, ...primitiveColors, branded };\n\ntype DesignSystemColors = typeof lightColorList &\n typeof primitiveColors & {\n /** These colors represent specific brand interactions and experiences,\n * and should be only be used in specific contexts.\n */\n branded: typeof branded;\n };\n\nfunction getSemanticColors(isDarkMode: boolean): DesignSystemColors {\n return isDarkMode ? darkColors : lightColors;\n}\n\nexport function getProtectedSemanticColors(isDarkMode: boolean) {\n return isDarkMode ? darkProtectedColorList : lightProtectedColorList;\n}\n\n// Maps Du Bois colors to `antd` names. This is exclusively used for theming\n// Du Bois's wrapped `antd` components.\nexport function getAntdColors(isDarkMode: boolean) {\n const semanticColors = getSemanticColors(isDarkMode);\n return {\n bodyBackground: semanticColors.backgroundPrimary,\n textColor: semanticColors.textPrimary,\n textColorSecondary: semanticColors.textSecondary,\n primaryColor: semanticColors.blue600,\n infoColor: '#64727D',\n errorColor: semanticColors.actionDangerPrimaryBackgroundDefault,\n successColor: '#34824F',\n warningColor: '#AF5B23',\n borderColorBase: semanticColors.border,\n\n // Alert colors (AntD variables)\n alertErrorTextColor: semanticColors.textValidationDanger,\n alertErrorBorderColor: semanticColors.red300,\n alertErrorBgColor: semanticColors.red100,\n alertErrorIconColor: semanticColors.textValidationDanger,\n\n alertInfoTextColor: semanticColors.textPrimary,\n alertInfoBorderColor: semanticColors.grey300,\n alertInfoBgColor: semanticColors.backgroundSecondary,\n alertInfoIconColor: semanticColors.textSecondary,\n\n alertWarningTextColor: semanticColors.textValidationWarning,\n alertWarningBorderColor: semanticColors.yellow300,\n alertWarningBgColor: semanticColors.yellow100,\n alertWarningIconColor: semanticColors.textValidationWarning,\n\n ...(isDarkMode && {\n alertErrorBgColor: 'transparent',\n alertInfoBgColor: 'transparent',\n alertWarningBgColor: 'transparent',\n }),\n\n alertTextColor: 'inherit',\n alertMessageColor: 'inherit',\n\n spinDotDefault: semanticColors.textSecondary,\n };\n}\n\n// When deprecating a color, add it to this object with a comment explaining why it's deprecated and a link to a JIRA ticket.\n// Example: `@deprecated This color supports XXXX will be removed in an upcoming release (FEINF-1234).`\nconst deprecatedPrimitiveColors = {\n /** @deprecated This was an alias to `primitiveColors.blue600`, please use that instead.\n * If possible, please use an appropriate semantic color, such as `actionPrimaryBackgroundDefault`. */\n primary: primitiveColors.blue600,\n /** @deprecated This was an alias to `primitiveColors.grey600`, please use that instead.\n * If possible, please use an appropriate semantic color, such as `actionPrimaryBackgroundHover`. */\n charcoal: primitiveColors.grey600,\n /** @deprecated This color supports legacy radio styles and will be removed in an upcoming release (FEINF-1674). */\n radioInteractiveAvailable: primitiveColors.blue600,\n /** @deprecated This color supports legacy radio styles and will be removed in an upcoming release (FEINF-1674). */\n radioInteractiveHover: '#186099',\n /** @deprecated This color supports legacy radio styles and will be removed in an upcoming release (FEINF-1674). */\n radioInteractivePress: '#0D4F85',\n /** @deprecated This color supports legacy radio styles and will be removed in an upcoming release (FEINF-1674). */\n radioDisabled: '#A2AEB8',\n /** @deprecated This color supports legacy radio styles and will be removed in an upcoming release (FEINF-1674). */\n radioDefaultBorder: '#64727D',\n /** @deprecated This color supports legacy radio styles and will be removed in an upcoming release (FEINF-1674). */\n radioDefaultBackground: '#FFFFFF',\n /** @deprecated This color supports legacy radio styles and will be removed in an upcoming release (FEINF-1674). */\n radioInteractiveHoverSecondary: 'rgba(34, 115, 181, 0.08)',\n /** @deprecated This color supports legacy radio styles and will be removed in an upcoming release (FEINF-1674). */\n radioInteractivePressSecondary: 'rgba(34, 115, 181, 0.16)',\n};\n\nexport const deprecatedSemanticColorsLight = {\n /** @deprecated Use `backgroundDanger` (FEINF-xxxx) */\n backgroundValidationDanger: lightColorList.backgroundDanger,\n /** @deprecated Use `backgroundSuccess` (FEINF-xxxx) */\n backgroundValidationSuccess: lightColorList.backgroundSuccess,\n /** @deprecated Use `backgroundWarning` (FEINF-xxxx) */\n backgroundValidationWarning: lightColorList.backgroundWarning,\n /** @deprecated Use `border` (FEINF-xxxx) */\n borderDecorative: lightColorList.border,\n /** @deprecated Use `borderDanger` (FEINF-xxxx) */\n borderValidationDanger: lightColorList.borderDanger,\n /** @deprecated Use `borderWarning` (FEINF-xxxx) */\n borderValidationWarning: lightColorList.borderWarning,\n /** @deprecated Use `tableBackgroundUnselectedHover` (FEINF-xxxx) */\n tableRowHover: lightColorList.tableBackgroundUnselectedHover,\n /** @deprecated Use `textSecondary` (FEINF-xxxx) */\n textValidationInfo: lightColorList.textSecondary,\n /** @deprecated Use `codeBackground` (FEINF-xxxx) */\n typographyCodeBg: lightColorList.codeBackground,\n /** @deprecated Do not use Tag colors (go/updating-tag-colors). Ask in #dubois if you have any questions. */\n tagBrown: primitiveColors.brown,\n /** @deprecated Do not use Tag colors (go/updating-tag-colors). Ask in #dubois if you have any questions. */\n tagCharcoal: primitiveColors.grey600,\n /** @deprecated Do not use Tag colors (go/updating-tag-colors). Ask in #dubois if you have any questions. */\n tagCoral: primitiveColors.coral,\n /** @deprecated Do not use Tag colors (go/updating-tag-colors). Ask in #dubois if you have any questions. */\n tagDefault: primitiveColors.grey100,\n /** @deprecated Do not use Tag colors (go/updating-tag-colors). Ask in #dubois if you have any questions. */\n tagHover: 'rgba(34, 114, 180, 0.0800)',\n /** @deprecated Do not use Tag colors (go/updating-tag-colors). Ask in #dubois if you have any questions. */\n tagIconHover: primitiveColors.grey600,\n /** @deprecated Do not use Tag colors (go/updating-tag-colors). Ask in #dubois if you have any questions. */\n tagIconPress: primitiveColors.grey600,\n /** @deprecated Do not use Tag colors (go/updating-tag-colors). Ask in #dubois if you have any questions. */\n tagIndigo: primitiveColors.indigo,\n /** @deprecated Do not use Tag colors (go/updating-tag-colors). Ask in #dubois if you have any questions. */\n tagInverse: primitiveColors.grey800,\n /** @deprecated Do not use Tag colors (go/updating-tag-colors). Ask in #dubois if you have any questions. */\n tagLemon: primitiveColors.lemon,\n /** @deprecated Do not use Tag colors (go/updating-tag-colors). Ask in #dubois if you have any questions. */\n tagLime: primitiveColors.lime,\n /** @deprecated Do not use Tag colors (go/updating-tag-colors). Ask in #dubois if you have any questions. */\n tagPink: primitiveColors.pink,\n /** @deprecated Do not use Tag colors (go/updating-tag-colors). Ask in #dubois if you have any questions. */\n tagPress: 'rgba(34, 114, 180, 0.1600)',\n /** @deprecated Do not use Tag colors (go/updating-tag-colors). Ask in #dubois if you have any questions. */\n tagPurple: primitiveColors.purple,\n /** @deprecated Do not use Tag colors (go/updating-tag-colors). Ask in #dubois if you have any questions. */\n tagTeal: primitiveColors.teal,\n /** @deprecated Do not use Tag colors (go/updating-tag-colors). Ask in #dubois if you have any questions. */\n tagText: primitiveColors.white,\n /** @deprecated Do not use Tag colors (go/updating-tag-colors). Ask in #dubois if you have any questions. */\n tagTurquoise: primitiveColors.turquoise,\n};\n\nexport const deprecatedSemanticColorsDark: typeof deprecatedSemanticColorsLight = {\n backgroundValidationDanger: darkColorList.backgroundDanger,\n backgroundValidationSuccess: darkColorList.backgroundSuccess,\n backgroundValidationWarning: darkColorList.backgroundWarning,\n borderDecorative: darkColorList.border,\n borderValidationDanger: darkColorList.borderDanger,\n borderValidationWarning: darkColorList.borderWarning,\n tableRowHover: darkColorList.tableBackgroundUnselectedHover,\n textValidationInfo: darkColorList.textSecondary,\n typographyCodeBg: darkColorList.codeBackground,\n tagBrown: 'rgba(166, 99, 12, 0.8600)',\n tagCharcoal: 'rgba(68, 83, 95, 0.8600)',\n tagCoral: 'rgba(200, 50, 67, 0.8600)',\n tagDefault: primitiveColors.grey650,\n tagHover: 'rgba(138, 202, 255, 0.0800)',\n tagIconHover: primitiveColors.grey350,\n tagIconPress: primitiveColors.grey350,\n tagIndigo: 'rgba(67, 74, 147, 0.8600)',\n tagInverse: primitiveColors.grey800,\n tagLemon: 'rgba(250, 203, 102, 0.8600)',\n tagLime: 'rgba(48, 134, 19, 0.8600)',\n tagPink: 'rgba(180, 80, 145, 0.8600)',\n tagPress: 'rgba(138, 202, 255, 0.1600)',\n tagPurple: 'rgba(138, 99, 191, 0.8600)',\n tagTeal: 'rgba(4, 134, 125, 0.8600)',\n tagText: primitiveColors.grey100,\n tagTurquoise: 'rgba(19, 125, 174, 0.8600)',\n};\n\n// A static list of secondary colors; these are used as a limited palette of color options in component props, i.e. `color=\"lime\"`.\n// TODO: We should split primitive colors into primary and secondary colors, and automatically generate this list.\nexport type SecondaryColorToken =\n | 'brown'\n | 'coral'\n | 'indigo'\n | 'lemon'\n | 'lime'\n | 'pink'\n | 'purple'\n | 'teal'\n | 'turquoise';\n\nexport type TagColorToken = `tag${Capitalize<SecondaryColorToken>}` | 'tagDefault';\n\nexport function getColors(\n isDarkMode: boolean,\n): typeof deprecatedPrimitiveColors & typeof deprecatedSemanticColorsLight & DesignSystemColors {\n return {\n ...deprecatedPrimitiveColors,\n ...(isDarkMode ? deprecatedSemanticColorsDark : deprecatedSemanticColorsLight),\n ...getSemanticColors(isDarkMode),\n };\n}\n","export const DEFAULT_SPACING_UNIT = 8;\nexport const MODAL_PADDING = 40;\n\nconst spacing = {\n xs: DEFAULT_SPACING_UNIT / 2,\n sm: DEFAULT_SPACING_UNIT,\n md: DEFAULT_SPACING_UNIT * 2,\n lg: DEFAULT_SPACING_UNIT * 3,\n};\n\n// Less variables that are used by AntD\nexport const antdSpacing = {\n defaultPaddingLg: spacing.lg,\n defaultPaddingMd: spacing.md,\n defaultPaddingSm: spacing.sm,\n defaultPaddingXs: spacing.sm,\n defaultPaddingXss: spacing.xs,\n paddingLg: spacing.md,\n // TODO: Check if there is a better alternative with team\n paddingMd: spacing.sm,\n paddingSm: spacing.sm,\n paddingXs: spacing.xs,\n paddingXss: 0,\n marginSm: 12,\n marginLg: spacing.lg,\n\n // Button\n btnPaddingHorizontalBase: DEFAULT_SPACING_UNIT * 2,\n btnPaddingHorizontalLg: DEFAULT_SPACING_UNIT * 2,\n btnPaddingHorizontalSm: DEFAULT_SPACING_UNIT * 2,\n\n // Input\n inputPaddingHorizontal: DEFAULT_SPACING_UNIT * 1.5,\n inputPaddingHorizontalBase: DEFAULT_SPACING_UNIT * 1.5,\n inputPaddingHorizontalSm: DEFAULT_SPACING_UNIT * 1.5,\n inputPaddingHorizontalLg: DEFAULT_SPACING_UNIT * 1.5,\n\n inputPaddingVertical: spacing.xs + 1,\n inputPaddingVerticalBase: spacing.xs + 1,\n inputPaddingVerticalSm: spacing.xs + 1,\n inputPaddingVerticalLg: spacing.xs + 1,\n\n // Modal\n modalPadding: MODAL_PADDING,\n modalLessPadding: MODAL_PADDING - 20,\n modalHeaderPadding: `${MODAL_PADDING}px ${MODAL_PADDING}px ${MODAL_PADDING - 20}px`,\n modalHeaderCloseSize: MODAL_PADDING * 2 + 22,\n modalHeaderBorderWidth: 0,\n modalBodyPadding: `0 ${MODAL_PADDING}px`,\n modalFooterPaddingVertical: 0,\n modalFooterPaddingHorizontal: 0,\n modalFooterBorderWidth: 0,\n\n // Switch\n switchPadding: 0,\n switchHeight: 16,\n switchMinWidth: 28,\n switchPinSize: 14,\n};\n\nexport default spacing;\n","// eslint-disable-next-line import/no-anonymous-default-export\nexport default {\n // IMPORTANT: Do not read this directly from components. Use `React.useContext`.\n 'ant-prefix': 'du-bois',\n};\n","import spacing from './spacing';\nimport antdVars from '../antd-vars';\n\nconst heightBase = 40;\nconst borderWidth = 1;\n\nconst antdGeneralVariables = {\n classnamePrefix: antdVars['ant-prefix'],\n iconfontCssPrefix: 'anticon',\n borderRadiusBase: 4,\n borderWidth: borderWidth,\n heightSm: 32,\n heightBase: heightBase,\n iconSize: 24,\n iconFontSize: 16,\n buttonHeight: heightBase,\n // Height available within button (for label and icon). Same for middle and small buttons.\n buttonInnerHeight: heightBase - spacing.sm * 2 - borderWidth * 2,\n};\n\nexport const shadowLightRgb = '31, 39, 45' as const;\nexport const shadowDarkRgb = '0, 0, 0' as const;\n\nexport const getShadowVariables = (isDarkMode: boolean) => {\n if (isDarkMode) {\n return {\n /**\n * @deprecated Use new shadow variables under theme.shadows.*, check out go/dubois-elevation-doc decision doc for guidance on choosing the new shadow variable\n */\n shadowLow: `0px 4px 16px rgba(${shadowDarkRgb}, 0.12)`,\n /**\n * @deprecated Use new shadow variables under theme.shadows.*, check out go/dubois-elevation-doc decision doc for guidance on choosing the new shadow variable\n */\n shadowHigh: `0px 8px 24px rgba(${shadowDarkRgb}, 0.2);`,\n } as const;\n } else {\n return {\n /**\n * @deprecated Use new shadow variables under theme.shadows.*, check out go/dubois-elevation-doc decision doc for guidance on choosing the new shadow variable\n */\n shadowLow: `0px 4px 16px rgba(${shadowLightRgb}, 0.12)`,\n /**\n * @deprecated Use new shadow variables under theme.shadows.*, check out go/dubois-elevation-doc decision doc for guidance on choosing the new shadow variable\n */\n shadowHigh: `0px 8px 24px rgba(${shadowLightRgb}, 0.2)`,\n } as const;\n }\n};\n\nexport default antdGeneralVariables;\n","import { getColors } from './colors';\n\ntype DesignSystemGradients = {\n aiBorderGradient: string;\n};\n\nexport function getGradients(isDarkMode: boolean): DesignSystemGradients {\n const colors = getColors(isDarkMode);\n return {\n aiBorderGradient: `linear-gradient(135deg, ${colors.branded.ai.gradientStart} 20.5%, ${colors.branded.ai.gradientMid} 46.91%, ${colors.branded.ai.gradientEnd} 79.5%)`,\n };\n}\n","// Dark mode colors\nconst blackAlpha87 = 'rgba(0, 0, 0, 0.87)';\nconst blackAlpha61 = 'rgba(0, 0, 0, 0.61)';\nconst blackAlpha45 = 'rgba(0, 0, 0, 0.45)';\nconst blackAlpha26 = 'rgba(0, 0, 0, 0.26)';\n\n// Light mode colors\nconst blackAlpha13 = 'rgba(0, 0, 0, 0.13)';\nconst blackAlpha08 = 'rgba(0, 0, 0, 0.08)';\nconst blackAlpha05 = 'rgba(0, 0, 0, 0.05)';\nconst blackAlpha02 = 'rgba(0, 0, 0, 0.02)';\n\nexport const getShadows = (isDarkMode: boolean) => {\n return isDarkMode\n ? {\n xs: `0px 1px 0px 0px ${blackAlpha45}`,\n sm: ` 0px 2px 3px -1px ${blackAlpha45}, 0px 1px 0px 0px ${blackAlpha26}`,\n md: `0px 3px 6px 0px ${blackAlpha45}`,\n lg: `0px 2px 16px 0px ${blackAlpha61}`,\n xl: `0px 8px 40px 0px ${blackAlpha87}`,\n }\n : {\n xs: `0px 1px 0px 0px ${blackAlpha05}`,\n sm: ` 0px 2px 3px -1px ${blackAlpha05}, 0px 1px 0px 0px ${blackAlpha02}`,\n md: `0px 3px 6px 0px ${blackAlpha05}`,\n lg: `0px 2px 16px 0px ${blackAlpha08}`,\n xl: `0px 8px 40px 0px ${blackAlpha13}`,\n };\n};\n","const FONT_SIZE_BASE = 13;\n\n// Less variables that are used by AntD\nexport const antdTypography = {\n fontSizeSm: 12,\n fontSizeBase: FONT_SIZE_BASE,\n fontSizeMd: FONT_SIZE_BASE,\n fontSizeLg: 18,\n fontSizeXl: 22,\n fontSizeXxl: 32,\n lineHeightSm: '16px',\n lineHeightBase: '20px',\n lineHeightMd: '20px',\n lineHeightLg: '24px',\n lineHeightXl: '28px',\n lineHeightXxl: '40px',\n typographyRegularFontWeight: 400,\n typographyBoldFontWeight: 600,\n};\n\n// eslint-disable-next-line import/no-anonymous-default-export\nexport default {\n ...antdTypography,\n};\n","import { memoize } from 'lodash';\n\nimport { primitiveColors } from './_generated/PrimitiveColors';\nimport { getBorders, getLegacyBorders } from './borders';\nimport responsive from './breakpoints';\nimport { getColors, getProtectedSemanticColors } from './colors';\nimport generalVariables, { getShadowVariables } from './generalVariables';\nimport { getGradients } from './gradients';\nimport { getShadows } from './shadows';\nimport spacing from './spacing';\nimport typography from './typography';\n\nexport type ComponentTheme = ReturnType<typeof getTheme>;\n\nexport interface ThemeOptions {\n enableAnimation: boolean;\n zIndexBase: number;\n useNewBorderColors: boolean;\n}\n\nexport interface Theme {\n colors: ReturnType<typeof getColors>;\n gradients: ReturnType<typeof getGradients>;\n spacing: typeof spacing;\n general: typeof generalVariables & ReturnType<typeof getShadowVariables>;\n typography: typeof typography;\n shadows: ReturnType<typeof getShadows>;\n /**\n * @deprecated use `borders` instead.\n */\n legacyBorders: ReturnType<typeof getLegacyBorders>;\n borders: ReturnType<typeof getBorders>;\n responsive: typeof responsive;\n isDarkMode: boolean;\n options: ThemeOptions;\n /**\n * @private INTERNAL USE ONLY, DO NOT USE.\n */\n DU_BOIS_INTERNAL_ONLY: {\n colors: ReturnType<typeof getProtectedSemanticColors>;\n };\n}\n\nconst defaultOptions: ThemeOptions = {\n enableAnimation: false,\n zIndexBase: 1000,\n useNewBorderColors: false,\n};\n\n// Function to get variables for a certain theme.\n// End users should use useDesignSystemTheme instead.\nexport const getTheme = memoize(getThemeImpl, (isDarkMode: boolean, options: ThemeOptions = defaultOptions) => {\n return `${isDarkMode}-${options.enableAnimation}-${options.zIndexBase}-${options.useNewBorderColors}`;\n});\n\nfunction getThemeImpl(isDarkMode: boolean, options: ThemeOptions = defaultOptions): Theme {\n return {\n colors: {\n ...getColors(isDarkMode),\n ...(options.useNewBorderColors && {\n border: isDarkMode ? primitiveColors.grey700 : primitiveColors.grey100,\n }),\n },\n gradients: getGradients(isDarkMode),\n spacing,\n general: {\n ...generalVariables,\n ...getShadowVariables(isDarkMode),\n },\n shadows: getShadows(isDarkMode),\n typography,\n legacyBorders: getLegacyBorders(),\n // TODO: Update to use `getBorders`\n borders: getBorders(),\n responsive,\n isDarkMode,\n options,\n DU_BOIS_INTERNAL_ONLY: {\n colors: getProtectedSemanticColors(isDarkMode),\n },\n };\n}\n","import { useTheme as useEmotionTheme } from '@emotion/react';\nimport type { ReactElement } from 'react';\nimport React from 'react';\n\nimport type { Theme } from '../../theme';\nimport { getTheme } from '../../theme';\nimport { useDesignSystemSafexFlags } from '../utils';\n\nexport interface DesignSystemThemeInterface {\n /** Theme object that contains colors, spacing, and other variables **/\n theme: Theme;\n /** Prefix that is used in front of each className. **/\n classNamePrefix: string;\n /** Helper method that use be used to construct the full className of an underlying AntD className.\n * Use with caution and prefer emotion.js when possible **/\n getPrefixedClassName: (className: string) => string;\n}\n\nexport function getClassNamePrefix(theme: Theme): string {\n const antdThemeName = theme.isDarkMode ? 'dark' : 'light';\n return `${theme.general.classnamePrefix}-${antdThemeName}`;\n}\n\nexport function getPrefixedClassNameFromTheme(theme: Theme, className: string | null | undefined): string {\n return [getClassNamePrefix(theme), className].filter(Boolean).join('-');\n}\n\nexport function useDesignSystemTheme(): DesignSystemThemeInterface {\n const emotionTheme = useEmotionTheme() as Theme;\n const { useNewBorderColors } = useDesignSystemSafexFlags();\n // Graceful fallback to default theme in case a test or developer forgot context.\n const theme =\n emotionTheme && emotionTheme.general\n ? emotionTheme\n : getTheme(false, {\n useNewBorderColors,\n // Default values, safe to remove once the border colors flag is retired\n zIndexBase: 1000,\n enableAnimation: false,\n });\n\n return {\n theme: theme,\n classNamePrefix: getClassNamePrefix(theme),\n getPrefixedClassName: (className: string) => getPrefixedClassNameFromTheme(theme, className),\n };\n}\n\nexport type DesignSystemHocProps = { designSystemThemeApi: DesignSystemThemeInterface };\n\n// This is a simple typed HOC wrapper around the useDesignSystemTheme hook, for use in older react components.\nexport function WithDesignSystemThemeHoc<P>(\n Component: React.ComponentType<React.PropsWithChildren<P & DesignSystemHocProps>>,\n) {\n return function WrappedWithDesignSystemTheme(props: P): ReactElement {\n const themeValues = useDesignSystemTheme();\n\n return <Component {...props} designSystemThemeApi={themeValues} />;\n };\n}\n","import type { CSSObject } from '@emotion/react';\nimport { ThemeProvider as EmotionThemeProvider } from '@emotion/react';\nimport { TooltipProvider as RadixTooltipProvider } from '@radix-ui/react-tooltip';\nimport { ConfigProvider as AntDConfigProvider, notification } from 'antd';\nimport type { ConfigProviderProps as AntDConfigProviderProps } from 'antd/lib/config-provider';\nimport React, { createContext, useContext, useEffect, useMemo } from 'react';\n\nimport type { DesignSystemFlags } from '../../flags';\nimport { getTheme } from '../../theme';\nimport { getClassNamePrefix, getPrefixedClassNameFromTheme } from '../Hooks/useDesignSystemTheme';\nimport { useDesignSystemSafexFlags } from '../utils';\n\nexport interface DesignSystemThemeProviderProps {\n isDarkMode?: boolean;\n}\n\nexport interface DesignSystemProviderProps {\n /**\n * Set this to `true` to enable CSS animations for all Du Bois components inside this provider.\n * This is purely a visual enhancement, and is not necessary for the functionality of any component.\n */\n enableAnimation?: boolean;\n /** Use this to configure the base zIndex for Du Bois. We use this to stack our internal elements\n * correctly, and to ensure that our internal elements are always on top of any other elements. This\n * should be a number >= 1000.\n */\n zIndexBase?: number;\n\n /**\n * Use this to allow the application to provide the element used as a container for all \"popup\" components.\n */\n getPopupContainer?: () => HTMLElement;\n\n /** Set any of the `AvailableDesignSystemFlags` to `true` to enable that flag. */\n flags?: DesignSystemFlags;\n\n /** Whether to disable virtualization of legacy AntD components. Defaults to true in tests. */\n disableLegacyAntVirtualization?: boolean;\n}\n\nexport interface DuboisThemeContextType {\n isDarkMode: boolean;\n}\n\nexport interface DuboisContextType {\n enableAnimation: boolean;\n // Prefer to use useDesignSystemTheme.getPrefixedClassName instead\n // TODO(sschneider): Replace in all components and possibly in webapp.\n getPrefixCls: (suffix?: string) => string;\n getPopupContainer?: () => HTMLElement;\n flags: DesignSystemFlags;\n}\n\nconst DuboisContextDefaults: DuboisContextType = {\n enableAnimation: false,\n // Prefer to use useDesignSystemTheme.getPrefixedClassName instead\n getPrefixCls: (suffix?: string) => (suffix ? `du-bois-${suffix}` : 'du-bois'),\n flags: {},\n};\n\nexport const DesignSystemThemeContext = createContext<DuboisThemeContextType>({ isDarkMode: false });\n\nexport const DesignSystemContext = createContext<DuboisContextType>(DuboisContextDefaults);\n\nexport const DU_BOIS_ENABLE_ANIMATION_CLASSNAME = 'du-bois-enable-animation';\n\nexport function getAnimationCss(enableAnimation: boolean): CSSObject {\n const disableAnimationCss: CSSObject = {\n animationDuration: '0s !important',\n transition: 'none !important',\n };\n\n return enableAnimation\n ? {}\n : {\n // Apply to the current element\n ...disableAnimationCss,\n '&::before': disableAnimationCss,\n '&::after': disableAnimationCss,\n\n // Also apply to all child elements with a class that starts with our prefix\n [`[class*=du-bois]:not(.${DU_BOIS_ENABLE_ANIMATION_CLASSNAME}, .${DU_BOIS_ENABLE_ANIMATION_CLASSNAME} *)`]: {\n ...disableAnimationCss,\n // Also target any pseudo-elements associated with those elements, since these can also be animated.\n '&::before': disableAnimationCss,\n '&::after': disableAnimationCss,\n },\n };\n}\n\nconst DesignSystemProviderPropsContext = React.createContext<DesignSystemProviderProps | null>(null);\n\ntype AntDConfigProviderPropsProps = Pick<AntDConfigProviderProps, 'prefixCls' | 'getPopupContainer' | 'virtual'>;\n\nconst AntDConfigProviderPropsContext = React.createContext<AntDConfigProviderPropsProps | null>(null);\n\n/** Only to be accessed by SupportsDuBoisThemes, except for special exceptions like tests and storybook. Ask in #dubois first if you need to use it. */\nexport const DesignSystemThemeProvider: React.FC<React.PropsWithChildren<DesignSystemThemeProviderProps>> = ({\n isDarkMode = false,\n children,\n}) => {\n return <DesignSystemThemeContext.Provider value={{ isDarkMode }}>{children}</DesignSystemThemeContext.Provider>;\n};\n\nexport const DesignSystemProvider: React.FC<React.PropsWithChildren<DesignSystemProviderProps>> = ({\n children,\n enableAnimation = false,\n zIndexBase = 1000,\n getPopupContainer,\n flags = {},\n // Disable virtualization of legacy AntD components when running tests so that all items are rendered\n disableLegacyAntVirtualization = process.env.NODE_ENV === 'test' ? true : undefined,\n}) => {\n const { isDarkMode } = useContext(DesignSystemThemeContext);\n const { useNewBorderColors } = useDesignSystemSafexFlags();\n\n const theme = useMemo(\n () =>\n getTheme(isDarkMode, {\n enableAnimation,\n zIndexBase,\n useNewBorderColors,\n }),\n // TODO: revisit this\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [isDarkMode, zIndexBase, useNewBorderColors],\n );\n\n const providerPropsContext = useMemo<DesignSystemProviderProps>(\n () => ({\n isDarkMode,\n enableAnimation,\n zIndexBase,\n getPopupContainer,\n flags,\n }),\n [isDarkMode, enableAnimation, zIndexBase, getPopupContainer, flags],\n );\n\n const classNamePrefix = getClassNamePrefix(theme);\n\n const value = useMemo(() => {\n return {\n enableAnimation,\n isDarkMode,\n getPrefixCls: (suffix?: string) => getPrefixedClassNameFromTheme(theme, suffix),\n getPopupContainer,\n flags,\n };\n }, [enableAnimation, theme, isDarkMode, getPopupContainer, flags]);\n\n useEffect(() => {\n return () => {\n // when the design system context is unmounted, make sure the notification cache is also cleaned up\n notification.destroy();\n };\n }, []);\n\n return (\n <DesignSystemProviderPropsContext.Provider value={providerPropsContext}>\n <EmotionThemeProvider theme={theme}>\n {/* This AntDConfigProviderPropsContext provides context for DesignSystemAntDConfigProvider which is used in every component */}\n <AntDConfigProviderPropsContext.Provider\n value={{ prefixCls: classNamePrefix, getPopupContainer, virtual: !disableLegacyAntVirtualization }}\n >\n <RadixTooltipProvider>\n <DesignSystemContext.Provider value={value}>{children}</DesignSystemContext.Provider>\n </RadixTooltipProvider>\n </AntDConfigProviderPropsContext.Provider>\n </EmotionThemeProvider>\n </DesignSystemProviderPropsContext.Provider>\n );\n};\n\nexport const ApplyDesignSystemContextOverrides: React.FC<React.PropsWithChildren<DesignSystemProviderProps>> = ({\n enableAnimation,\n zIndexBase,\n getPopupContainer,\n flags,\n children,\n}) => {\n const parentDesignSystemProviderProps = useContext(DesignSystemProviderPropsContext);\n if (parentDesignSystemProviderProps === null) {\n throw new Error(\n `ApplyDesignSystemContextOverrides cannot be used standalone - DesignSystemProvider must exist in the React context`,\n );\n }\n\n const newProps = useMemo(\n () => ({\n ...parentDesignSystemProviderProps,\n enableAnimation: enableAnimation ?? parentDesignSystemProviderProps.enableAnimation,\n zIndexBase: zIndexBase ?? parentDesignSystemProviderProps.zIndexBase,\n getPopupContainer: getPopupContainer ?? parentDesignSystemProviderProps.getPopupContainer,\n flags: {\n ...parentDesignSystemProviderProps.flags,\n ...flags,\n },\n }),\n [parentDesignSystemProviderProps, enableAnimation, zIndexBase, getPopupContainer, flags],\n );\n\n return <DesignSystemProvider {...newProps}>{children}</DesignSystemProvider>;\n};\n\n// This is a more-specific version of `ApplyDesignSystemContextOverrides` that only allows overriding the flags.\nexport const ApplyDesignSystemFlags: React.FC<\n React.PropsWithChildren<{\n flags: DesignSystemFlags;\n }>\n> = ({ flags, children }) => {\n const parentDesignSystemProviderProps = useContext(DesignSystemProviderPropsContext);\n if (parentDesignSystemProviderProps === null) {\n throw new Error(\n `ApplyDesignSystemFlags cannot be used standalone - DesignSystemProvider must exist in the React context`,\n );\n }\n\n const newProps = useMemo(\n () => ({\n ...parentDesignSystemProviderProps,\n flags: {\n ...parentDesignSystemProviderProps.flags,\n ...flags,\n },\n }),\n [parentDesignSystemProviderProps, flags],\n );\n\n return <DesignSystemProvider {...newProps}>{children}</DesignSystemProvider>;\n};\n\nexport interface DesignSystemAntDConfigProviderProps {\n children: React.ReactNode;\n}\n\nexport const DesignSystemAntDConfigProvider = ({ children }: DesignSystemAntDConfigProviderProps) => {\n const antdContext = useAntDConfigProviderContext();\n return <AntDConfigProvider {...antdContext}>{children}</AntDConfigProvider>;\n};\n\nexport const useAntDConfigProviderContext = () => {\n return useContext(AntDConfigProviderPropsContext) ?? { prefixCls: undefined };\n};\n\n/**\n * When using AntD components inside Design System wrapper components (e.g. Modal, Collapse etc),\n * we don't want Design System's prefix class to override them.\n *\n * Since all Design System's components have are wrapped with DesignSystemAntDConfigProvider,\n * this won't affect their own prefixCls, but just allow nested antd components to keep their ant prefix.\n */\nexport const RestoreAntDDefaultClsPrefix = ({ children }: { children: React.ReactNode }) => {\n return <AntDConfigProvider prefixCls=\"ant\">{children}</AntDConfigProvider>;\n};\n","import { useContext } from 'react';\n\nimport type { DuboisContextType } from '../DesignSystemProvider';\nimport { DesignSystemContext } from '../DesignSystemProvider';\n\nexport function useDesignSystemContext(): DuboisContextType {\n return useContext(DesignSystemContext);\n}\n","type SAFEXValueType = boolean | number;\n\n/**\n * Provides access to http://go/safex flags from the frontend. Note that this is a temporary\n * workaround until direct `safex` imports are available.\n * @param flag The name of the flag to check\n * @param defaultValue The default value to return if the flag is not set\n * @returns\n */\nexport const safex: <T extends SAFEXValueType>(flag: string, defaultValue: T) => T = <T>(\n flag: string,\n defaultValue: T,\n) => {\n // Catching errors here, because we don't have type-safety to ensure\n // that `__debug__safex`'s API hasn't changed.\n try {\n const globalSafex = (window as any).__debug__safex;\n return globalSafex ? globalSafex(flag, defaultValue) : defaultValue;\n } catch (e) {\n return defaultValue;\n }\n};\n\ntype FlagMap = Record<string, SAFEXValueType>;\n\nexport type SafexTestingConfig = {\n setSafex: (overrides: FlagMap) => void;\n};\n\nexport function setupSafexTesting(): SafexTestingConfig {\n let flags: FlagMap = {};\n\n beforeAll(() => {\n const global = window as any;\n global.__debug__safex = (flag: string, defaultValue: SAFEXValueType) => {\n return flags.hasOwnProperty(flag) ? flags[flag] : defaultValue;\n };\n });\n\n afterAll(() => {\n const global = window as any;\n delete global.__debug__safex;\n });\n\n beforeEach(() => {\n flags = {};\n });\n\n function setSafex(overrides: FlagMap) {\n flags = { ...flags, ...overrides };\n }\n\n return {\n setSafex,\n };\n}\n","import type { ThemeType } from '@databricks/design-system';\n\nimport { css } from '@emotion/react';\n\nimport { safex } from './safex';\n\nexport const getDebugOutlineStyles = (theme: ThemeType) =>\n css({\n outline: `1px dashed ${theme.isDarkMode ? theme.colors.lime : theme.colors.lime}`,\n outlineOffset: '2px',\n });\n\nexport function addDebugOutlineIfEnabled() {\n return safex('databricks.fe.designsystem.showDebugOutline', false) ? { 'data-dubois-show-outline': true } : {};\n}\n\nexport function addDebugOutlineStylesIfEnabled(theme: ThemeType) {\n return safex('databricks.fe.designsystem.showDebugOutline', false) ? getDebugOutlineStyles(theme) : {};\n}\n","import { useState } from 'react';\n\nconst uniqueId = () =>\n new Date().getTime() +\n Array(16)\n .fill('')\n .map(() => parseInt((Math.random() * 10).toString()))\n .join('');\n\nexport function useUniqueId(prefix: string = '') {\n return useState(() => `${prefix}-${uniqueId()}`)[0];\n}\n","import AntDIcon from '@ant-design/icons';\nimport type { ReactElement } from 'react';\nimport React, { forwardRef, useMemo } from 'react';\n\nimport type { Theme } from '../../theme';\nimport { DesignSystemAntDConfigProvider } from '../DesignSystemProvider';\nimport { useDesignSystemTheme } from '../Hooks';\nimport type { DangerouslySetAntdProps, HTMLDataAttributes } from '../types';\nimport { visuallyHidden } from '../utils';\nimport { addDebugOutlineIfEnabled } from '../utils/debug';\nimport { safex } from '../utils/safex';\nimport { useUniqueId } from '../utils/useUniqueId';\n\ntype AntDIconProps = Parameters<typeof AntDIcon>[0];\nexport type IconColors = 'danger' | 'warning' | 'success' | 'ai';\nexport interface IconProps\n extends Omit<AntDIconProps, 'component'>,\n DangerouslySetAntdProps<AntDIconProps>,\n HTMLDataAttributes,\n React.HTMLAttributes<HTMLSpanElement> {\n component?: (props: React.SVGProps<SVGSVGElement>) => ReactElement | null;\n color?: IconColors;\n}\n\nconst getIconVariantStyles = (theme: Theme, color?: IconColors) => {\n switch (color) {\n case 'success':\n return { color: `${theme.colors.textValidationSuccess} !important` };\n case 'warning':\n return { color: `${theme.colors.textValidationWarning} !important` };\n case 'danger':\n return { color: `${theme.colors.textValidationDanger} !important` };\n case 'ai':\n return {\n 'svg *': {\n fill: 'var(--ai-icon-gradient)',\n },\n };\n default:\n return color ? { color: `${color} !important` } : {};\n }\n};\n\nexport const Icon = forwardRef<HTMLSpanElement, IconProps>((props: IconProps, forwardedRef): JSX.Element => {\n const { component: Component, dangerouslySetAntdProps, color, style, ...otherProps } = props;\n const { theme } = useDesignSystemTheme();\n const linearGradientId = useUniqueId('ai-linear-gradient');\n const useSmallIcons = safex('databricks.fe.designsystem.useSmallIcons', false);\n\n const MemoizedComponent = useMemo(\n () =>\n Component\n ? ({ fill, ...iconProps }: React.SVGProps<SVGSVGElement>) => (\n // We don't rely on top-level fills for our colors. Fills are specified\n // with \"currentColor\" on children of the top-most svg.\n <>\n <Component\n fill=\"none\"\n {...iconProps}\n style={{\n ...(color === 'ai'\n ? { ['--ai-icon-gradient' as any]: `url(#${linearGradientId})`, ...iconProps.style }\n : iconProps.style),\n ...(useSmallIcons ? { padding: '1px' } : {}),\n }}\n />\n {color === 'ai' && (\n <svg width=\"0\" height=\"0\" viewBox=\"0 0 0 0\" css={visuallyHidden}>\n <defs>\n <linearGradient id={linearGradientId} x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"100%\">\n <stop offset=\"20.5%\" stopColor={theme.colors.branded.ai.gradientStart} />\n <stop offset=\"46.91%\" stopColor={theme.colors.branded.ai.gradientMid} />\n <stop offset=\"79.5%\" stopColor={theme.colors.branded.ai.gradientEnd} />\n </linearGradient>\n </defs>\n </svg>\n )}\n </>\n )\n : undefined,\n [Component, color, linearGradientId, theme, useSmallIcons],\n );\n\n return (\n <DesignSystemAntDConfigProvider>\n <AntDIcon\n {...addDebugOutlineIfEnabled()}\n ref={forwardedRef}\n aria-hidden=\"true\"\n css={{\n fontSize: theme.general.iconFontSize,\n ...getIconVariantStyles(theme, color),\n }}\n component={MemoizedComponent}\n style={{\n ...style,\n }}\n {...otherProps}\n {...dangerouslySetAntdProps}\n />\n </DesignSystemAntDConfigProvider>\n );\n});\n","import * as React from 'react';\nimport { forwardRef } from 'react';\nimport type { Ref } from 'react';\n\nimport type { IconProps } from '../../Icon';\nimport { Icon } from '../../Icon';\nfunction SvgChevronLeftIcon(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" fill=\"none\" viewBox=\"0 0 16 16\" {...props}>\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M7.083 8 10 10.947 8.958 12 5 8l3.958-4L10 5.053z\"\n clipRule=\"evenodd\"\n />\n </svg>\n );\n}\nconst ChevronLeftIcon = forwardRef((props: IconProps, forwardedRef?: Ref<HTMLSpanElement>) => {\n return <Icon ref={forwardedRef} {...props} component={SvgChevronLeftIcon} />;\n});\nChevronLeftIcon.displayName = 'ChevronLeftIcon';\nexport default ChevronLeftIcon;\n","import * as React from 'react';\nimport { forwardRef } from 'react';\nimport type { Ref } from 'react';\n\nimport type { IconProps } from '../../Icon';\nimport { Icon } from '../../Icon';\nfunction SvgChevronRightIcon(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" fill=\"none\" viewBox=\"0 0 16 16\" {...props}>\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M8.917 8 6 5.053 7.042 4 11 8l-3.958 4L6 10.947z\"\n clipRule=\"evenodd\"\n />\n </svg>\n );\n}\nconst ChevronRightIcon = forwardRef((props: IconProps, forwardedRef?: Ref<HTMLSpanElement>) => {\n return <Icon ref={forwardedRef} {...props} component={SvgChevronRightIcon} />;\n});\nChevronRightIcon.displayName = 'ChevronRightIcon';\nexport default ChevronRightIcon;\n","import * as React from 'react';\nimport { forwardRef } from 'react';\nimport type { Ref } from 'react';\n\nimport type { IconProps } from '../../Icon';\nimport { Icon } from '../../Icon';\nfunction SvgCloseIcon(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" fill=\"none\" viewBox=\"0 0 16 16\" {...props}>\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M6.97 8.03 2 3.06 3.06 2l4.97 4.97L13 2l1.06 1.06-4.969 4.97 4.97 4.97L13 14.06 8.03 9.092l-4.97 4.97L2 13z\"\n clipRule=\"evenodd\"\n />\n </svg>\n );\n}\nconst CloseIcon = forwardRef((props: IconProps, forwardedRef?: Ref<HTMLSpanElement>) => {\n return <Icon ref={forwardedRef} {...props} component={SvgCloseIcon} />;\n});\nCloseIcon.displayName = 'CloseIcon';\nexport default CloseIcon;\n","import * as React from 'react';\nimport { forwardRef } from 'react';\nimport type { Ref } from 'react';\n\nimport type { IconProps } from '../../Icon';\nimport { Icon } from '../../Icon';\nfunction SvgDangerIcon(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" fill=\"none\" viewBox=\"0 0 16 16\" {...props}>\n <path fill=\"currentColor\" d=\"M7.248 10.748a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0M8.748 4.998v4h-1.5v-4z\" />\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"m11.533 15.776 4.243-4.243a.75.75 0 0 0 .22-.53v-6.01a.75.75 0 0 0-.22-.53L11.533.22a.75.75 0 0 0-.53-.22h-6.01a.75.75 0 0 0-.53.22L.22 4.462a.75.75 0 0 0-.22.53v6.011c0 .199.079.39.22.53l4.242 4.243c.141.14.332.22.53.22h6.011a.75.75 0 0 0 .53-.22m2.963-10.473v5.39l-3.804 3.803H5.303L1.5 10.692V5.303L5.303 1.5h5.39z\"\n clipRule=\"evenodd\"\n />\n </svg>\n );\n}\nconst DangerIcon = forwardRef((props: IconProps, forwardedRef?: Ref<HTMLSpanElement>) => {\n return <Icon ref={forwardedRef} {...props} component={SvgDangerIcon} />;\n});\nDangerIcon.displayName = 'DangerIcon';\nexport default DangerIcon;\n","import * as React from 'react';\nimport { forwardRef } from 'react';\nimport type { Ref } from 'react';\n\nimport type { IconProps } from '../../Icon';\nimport { Icon } from '../../Icon';\nfunction SvgLoadingIcon(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" fill=\"none\" viewBox=\"0 0 24 24\" {...props}>\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M23.212 12a.79.79 0 0 1-.789-.788 9.6 9.6 0 0 0-.757-3.751 9.66 9.66 0 0 0-5.129-5.129 9.6 9.6 0 0 0-3.749-.755.788.788 0 0 1 0-1.577c1.513 0 2.983.296 4.365.882a11.1 11.1 0 0 1 3.562 2.403 11.157 11.157 0 0 1 3.283 7.927.785.785 0 0 1-.786.788\"\n clipRule=\"evenodd\"\n />\n </svg>\n );\n}\nconst LoadingIcon = forwardRef((props: IconProps, forwardedRef?: Ref<HTMLSpanElement>) => {\n return <Icon ref={forwardedRef} {...props} component={SvgLoadingIcon} />;\n});\nLoadingIcon.displayName = 'LoadingIcon';\nexport default LoadingIcon;\n","import * as React from 'react';\nimport { forwardRef } from 'react';\nimport type { Ref } from 'react';\n\nimport type { IconProps } from '../../Icon';\nimport { Icon } from '../../Icon';\nfunction SvgNewWindowIcon(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" fill=\"none\" viewBox=\"0 0 16 16\" {...props}>\n <path fill=\"currentColor\" d=\"M10 1h5v5h-1.5V3.56L8.53 8.53 7.47 7.47l4.97-4.97H10z\" />\n <path\n fill=\"currentColor\"\n d=\"M1 2.75A.75.75 0 0 1 1.75 2H8v1.5H2.5v10h10V8H14v6.25a.75.75 0 0 1-.75.75H1.75a.75.75 0 0 1-.75-.75z\"\n />\n </svg>\n );\n}\nconst NewWindowIcon = forwardRef((props: IconProps, forwardedRef?: Ref<HTMLSpanElement>) => {\n return <Icon ref={forwardedRef} {...props} component={SvgNewWindowIcon} />;\n});\nNewWindowIcon.displayName = 'NewWindowIcon';\nexport default NewWindowIcon;\n","import * as React from 'react';\nimport { forwardRef } from 'react';\nimport type { Ref } from 'react';\n\nimport type { IconProps } from '../../Icon';\nimport { Icon } from '../../Icon';\nfunction SvgWarningIcon(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" fill=\"none\" viewBox=\"0 0 16 16\" {...props}>\n <path fill=\"currentColor\" d=\"M7.25 10V6.5h1.5V10zM8 12.5A.75.75 0 1 0 8 11a.75.75 0 0 0 0 1.5\" />\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M8 1a.75.75 0 0 1 .649.374l7.25 12.5A.75.75 0 0 1 15.25 15H.75a.75.75 0 0 1-.649-1.126l7.25-12.5A.75.75 0 0 1 8 1m0 2.245L2.052 13.5h11.896z\"\n clipRule=\"evenodd\"\n />\n </svg>\n );\n}\nconst WarningIcon = forwardRef((props: IconProps, forwardedRef?: Ref<HTMLSpanElement>) => {\n return <Icon ref={forwardedRef} {...props} component={SvgWarningIcon} />;\n});\nWarningIcon.displayName = 'WarningIcon';\nexport default WarningIcon;\n","import { useRef } from 'react';\n\n// Use Symbol to correctly handled null/undefined as stable values\nconst NOT_INITIALIZED = Symbol('NOT_INITIALIZED');\n\n/**\n * Use to keep a stable value on the first mount of a component\n * that cannot change.\n */\nexport function useStable<T>(valueCallback: () => T): T {\n const ref = useRef<T | symbol>(NOT_INITIALIZED);\n if (ref.current === NOT_INITIALIZED) {\n const val = valueCallback();\n ref.current = val;\n return val;\n }\n return ref.current as T;\n}\n","import { useStable } from './useStable';\n\nlet sequentialCounter = 0;\n\nexport function useStableUid() {\n return useStable(() => sequentialCounter++);\n}\n","import { createContext, useContext, useLayoutEffect } from 'react';\n\nimport { useStableUid } from '../utils/useStableUid';\n\n/** Props for UI components that support a \"loading\" state. */\nexport interface WithLoadingState {\n /**\n * Whether the component is in a \"loading\" state, i.e. the user has an expectation\n * that the UI is not fully rendered and is still waiting on some data to become\n * available.\n */\n loading?: boolean;\n\n /**\n * An optional description of the semantic meaning of the UI component in a\n * \"loading\" state, used for logging and debugging. For example, when a `<Spinner>`\n * is used within a side panel, you could specify something like \"Query plan panel\"\n * to make it clear what the spinner represents.\n */\n loadingDescription?: string;\n}\n\n/**\n * A handler for integrating UI components with external latency instrumentation.\n * If provided via `LoadingStateContext`, hooks will be called whenever child\n * components in a \"loading\" state are mounted and unmounted.\n */\nexport interface LoadingStateHandler {\n startLoading(uid: number, description: string): void;\n endLoading(uid: number): void;\n}\n\nexport const LoadingStateContext = createContext<LoadingStateHandler | null>(null);\n\ntype LoadingStateProps = {\n description?: string;\n};\n\n/**\n * Indicates that the containing component is in a \"loading\" state, i.e. that the UI\n * displayed to the user is semantically equivalent to them seeing a spinner or a\n * loading indicator. This means that the UI is not in its final settled state yet.\n *\n * All components that are in a \"loading\" state should render a `<LoadingState>`\n * component, preferrably with an appropriate description.\n *\n * By itself, `<LoadingState>` doesn't do anything, but if used within `LoadingStateContext`,\n * it will call the provided `startLoading()`/`endLoading()` hooks when the component\n * is mounted/unmounted, which can be used to integrate existing latency instrumentation.\n */\nexport const LoadingState: React.FC<React.PropsWithChildren<LoadingStateProps>> = ({\n description = 'Generic UI loading state',\n}: LoadingStateProps) => {\n const uid = useStableUid();\n const loadingStateContext = useContext(LoadingStateContext);\n\n useLayoutEffect(() => {\n // mount\n if (loadingStateContext) {\n loadingStateContext.startLoading(uid, description);\n }\n\n return () => {\n // unmount\n if (loadingStateContext) {\n loadingStateContext.endLoading(uid);\n }\n };\n }, [uid, description, loadingStateContext]);\n\n return null;\n};\n","import type { SerializedStyles } from '@emotion/react';\nimport { css, keyframes } from '@emotion/react';\nimport type { ReactElement } from 'react';\n\nimport type { Theme } from '../../theme';\nimport { AccessibleContainer } from '../AccessibleContainer';\nimport { DU_BOIS_ENABLE_ANIMATION_CLASSNAME } from '../DesignSystemProvider';\nimport { useDesignSystemTheme } from '../Hooks';\nimport { LoadingIcon } from '../Icon';\nimport { LoadingState } from '../LoadingState/LoadingState';\nimport type { WithLoadingState } from '../LoadingState/LoadingState';\nimport type { HTMLDataAttributes } from '../types';\nimport { importantify } from '../utils/css-utils';\n\nconst rotate = keyframes({\n '0%': { transform: 'rotate(0deg) translate3d(0, 0, 0)' },\n '100%': { transform: 'rotate(360deg) translate3d(0, 0, 0)' },\n});\n\nconst cssSpinner = (\n theme: Theme,\n frameRate = 60,\n delay = 0,\n animationDuration = 1,\n inheritColor = false,\n): SerializedStyles => {\n const styles = {\n animation: `${rotate} ${animationDuration}s steps(${frameRate}, end) infinite`,\n ...(inheritColor\n ? {\n color: 'inherit',\n }\n : {\n color: theme.colors.textSecondary,\n }),\n animationDelay: `${delay}s`,\n };\n return css(importantify(styles));\n};\n\nexport interface SpinnerProps extends HTMLDataAttributes, WithLoadingState {\n size?: 'small' | 'default' | 'large';\n className?: string;\n delay?: number;\n frameRate?: number;\n label?: React.ReactNode;\n animationDuration?: number;\n inheritColor?: boolean;\n}\n\nexport const Spinner: React.FC<React.PropsWithChildren<SpinnerProps>> = ({\n frameRate,\n size = 'default',\n delay,\n className: propClass,\n label,\n animationDuration,\n inheritColor,\n loading = true,\n loadingDescription = 'Spinner',\n ...props\n}): ReactElement => {\n const { classNamePrefix, theme } = useDesignSystemTheme();\n\n // We use Antd classes to keep styling unchanged\n // TODO(FEINF-1407): We want to move away from Antd classes and use Emotion for styling in the future\n const sizeSuffix = size === 'small' ? '-sm' : size === 'large' ? '-lg' : '';\n const sizeClass = sizeSuffix ? `${classNamePrefix}-spin${sizeSuffix}` : '';\n const wrapperClass = `${\n propClass || ''\n } ${classNamePrefix}-spin ${sizeClass} ${classNamePrefix}-spin-spinning ${DU_BOIS_ENABLE_ANIMATION_CLASSNAME}`.trim();\n const className = `${classNamePrefix}-spin-dot ${DU_BOIS_ENABLE_ANIMATION_CLASSNAME}`.trim();\n\n return (\n // className has to follow {...props}, otherwise is `css` prop is passed down it will overwrite our className\n <div {...props} className={wrapperClass}>\n {loading && <LoadingState description={loadingDescription} />}\n <AccessibleContainer label={label}>\n <LoadingIcon\n aria-hidden=\"false\"\n css={cssSpinner(theme, frameRate, delay, animationDuration, inheritColor)}\n className={className}\n />\n </AccessibleContainer>\n </div>\n );\n};\n","import type React from 'react';\n\nimport type { Theme } from '../../theme';\n\nexport const getDialogComboboxOptionLabelWidth = (theme: Theme, width: number | string): number | string => {\n const paddingLeft = theme.spacing.xs + theme.spacing.sm;\n const iconWidth = theme.spacing.md;\n const labelMarginLeft = theme.spacing.sm;\n\n if (typeof width === 'string') {\n return `calc(${width} - ${paddingLeft + iconWidth + labelMarginLeft}px)`;\n }\n\n return width - paddingLeft + iconWidth + labelMarginLeft;\n};\n\nexport function isOptionDisabled(option: HTMLElement): boolean {\n return option.hasAttribute('disabled') && option.getAttribute('disabled') !== 'false';\n}\n\nexport function highlightFirstNonDisabledOption(\n firstOptionItem: Element,\n startAt: 'start' | 'end' = 'start',\n previousSelection?: HTMLElement,\n): void {\n if (isOptionDisabled(firstOptionItem as HTMLElement)) {\n const firstHighlightableOption = findClosestOptionSibling(\n firstOptionItem as HTMLElement,\n startAt === 'end' ? 'previous' : 'next',\n );\n if (firstHighlightableOption) {\n highlightOption(firstHighlightableOption, previousSelection);\n }\n } else {\n highlightOption(firstOptionItem as HTMLElement, previousSelection);\n }\n}\n\nexport function findClosestOptionSibling(element: HTMLElement, direction: 'previous' | 'next'): HTMLElement | null {\n const nextSibling = (\n direction === 'previous' ? element.previousElementSibling : element.nextElementSibling\n ) as HTMLElement;\n\n if (nextSibling?.getAttribute('role') === 'option') {\n if (isOptionDisabled(nextSibling)) {\n return findClosestOptionSibling(nextSibling, direction);\n }\n return nextSibling;\n } else if (nextSibling) {\n let nextOptionSibling = nextSibling;\n while (\n nextOptionSibling &&\n (nextOptionSibling.getAttribute('role') !== 'option' || isOptionDisabled(nextOptionSibling))\n ) {\n nextOptionSibling = (\n direction === 'previous' ? nextOptionSibling.previousElementSibling : nextOptionSibling.nextElementSibling\n ) as HTMLElement;\n }\n return nextOptionSibling;\n }\n return null;\n}\n\nconst resetAllHighlightedOptions = (currentSelection: HTMLElement): void => {\n const options = getContentOptions(currentSelection);\n options?.forEach((option) => {\n option.setAttribute('tabIndex', '-1');\n option.setAttribute('data-highlighted', 'false');\n });\n};\n\nexport const highlightOption = (currentSelection: HTMLElement, prevSelection?: HTMLElement, focus = true): void => {\n if (prevSelection) {\n prevSelection.setAttribute('tabIndex', '-1');\n prevSelection.setAttribute('data-highlighted', 'false');\n }\n\n if (focus) {\n currentSelection.focus();\n }\n currentSelection.setAttribute('tabIndex', '0');\n currentSelection.setAttribute('data-highlighted', 'true');\n currentSelection.scrollIntoView?.({ block: 'center' });\n};\n\nexport const findHighlightedOption = (options: HTMLElement[]): HTMLElement | undefined => {\n return options.find((option) => option.getAttribute('data-highlighted') === 'true') ?? undefined;\n};\n\nexport const getContentOptions = (element: HTMLElement): HTMLElement[] | undefined => {\n const options = element.closest('[data-combobox-option-list=\"true\"]')?.querySelectorAll('[role=\"option\"]');\n return options ? (Array.from(options) as HTMLElement[]) : undefined;\n};\n\nexport const getKeyboardNavigationFunctions = (\n handleSelect: (...args: any[]) => any,\n {\n onKeyDown,\n onMouseEnter,\n onDefaultKeyDown,\n disableMouseOver,\n setDisableMouseOver,\n }: {\n onKeyDown?: (...args: any[]) => any;\n onMouseEnter?: (...args: any[]) => any;\n onDefaultKeyDown?: (...args: any[]) => any;\n disableMouseOver: boolean;\n setDisableMouseOver: (disableMouseOver: boolean) => void;\n },\n) => ({\n onKeyDown: (e: React.KeyboardEvent<HTMLDivElement>) => {\n onKeyDown?.(e);\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault();\n setDisableMouseOver(true);\n const nextSibling = findClosestOptionSibling(e.currentTarget, 'next');\n if (nextSibling) {\n highlightOption(nextSibling, e.currentTarget);\n } else {\n const firstOption = getContentOptions(e.currentTarget)?.[0];\n if (firstOption) {\n highlightFirstNonDisabledOption(firstOption, 'start', e.currentTarget);\n }\n }\n break;\n case 'ArrowUp':\n e.preventDefault();\n setDisableMouseOver(true);\n const previousSibling = findClosestOptionSibling(e.currentTarget, 'previous');\n if (previousSibling) {\n highlightOption(previousSibling, e.currentTarget);\n } else {\n const lastOption = getContentOptions(e.currentTarget)?.slice(-1)[0];\n if (lastOption) {\n highlightFirstNonDisabledOption(lastOption as HTMLElement, 'end', e.currentTarget);\n }\n }\n break;\n case 'Enter':\n e.preventDefault();\n handleSelect(e);\n break;\n default:\n onDefaultKeyDown?.(e);\n break;\n }\n },\n onMouseMove: (e: React.MouseEvent<HTMLDivElement>) => {\n if (disableMouseOver) {\n setDisableMouseOver(false);\n }\n },\n onMouseEnter: (e: React.MouseEvent<HTMLDivElement>) => {\n if (!disableMouseOver) {\n onMouseEnter?.(e);\n resetTabIndexToFocusedElement(e.currentTarget);\n }\n },\n});\n\nexport const resetTabIndexToFocusedElement = (elem: HTMLElement) => {\n resetAllHighlightedOptions(elem);\n elem.setAttribute('tabIndex', '0');\n elem.focus();\n};\n\nexport const dialogComboboxLookAheadKeyDown = (\n e: React.KeyboardEvent<any>,\n setLookAhead: (val: string) => void,\n lookAhead: string,\n) => {\n if (e.key === 'Escape' || e.key === 'Tab' || e.key === 'Enter') {\n return;\n }\n e.preventDefault();\n const siblings = Array.from<HTMLElement>(e.currentTarget.parentElement?.children ?? []);\n // Look for the first sibling that starts with the pressed key + recently pressed keys (lookAhead, cleared after 1.5 seconds of inactivity)\n const nextSiblingIndex = siblings.findIndex((sibling) => {\n const siblingLabel = sibling.textContent?.toLowerCase() ?? '';\n return siblingLabel.startsWith(lookAhead + e.key);\n });\n\n if (nextSiblingIndex !== -1) {\n const nextSibling = siblings[nextSiblingIndex] as HTMLElement;\n nextSibling.focus();\n if (setLookAhead) {\n setLookAhead(lookAhead + e.key);\n }\n resetTabIndexToFocusedElement(nextSibling);\n }\n};\n","import type { SerializedStyles } from '@emotion/react';\nimport { css } from '@emotion/react';\n\nimport type { Theme } from '../../../theme';\nimport type { DialogComboboxContextType } from '../../DialogCombobox/providers/DialogComboboxContext';\nimport { getDialogComboboxOptionLabelWidth } from '../../DialogCombobox/shared';\nimport { getDarkModePortalStyles, importantify } from '../../utils/css-utils';\n\nexport const getComboboxContentWrapperStyles = (\n theme: Theme,\n {\n maxHeight = '100vh',\n maxWidth = '100vw',\n minHeight = 0,\n minWidth = 0,\n width,\n useNewShadows,\n useNewBorderColors,\n }: {\n maxHeight?: number | string;\n maxWidth?: number | string;\n minHeight?: number | string;\n minWidth?: number | string;\n width?: number | string;\n useNewShadows: boolean;\n useNewBorderColors: boolean;\n },\n): SerializedStyles => {\n return css({\n maxHeight,\n maxWidth,\n minHeight,\n minWidth,\n ...(width ? { width } : {}),\n background: theme.colors.backgroundPrimary,\n color: theme.colors.textPrimary,\n overflow: 'auto',\n // Making sure the content popover overlaps the remove button when opens to the right\n zIndex: theme.options.zIndexBase + 10,\n\n boxSizing: 'border-box',\n\n border: `1px solid ${theme.colors.border}`,\n boxShadow: useNewShadows ? theme.shadows.lg : theme.general.shadowLow,\n borderRadius: theme.borders.borderRadiusSm,\n\n colorScheme: theme.isDarkMode ? 'dark' : 'light',\n\n ...getDarkModePortalStyles(theme, useNewShadows, useNewBorderColors),\n });\n};\n\nexport const getComboboxMenuItemPadding = (theme: Theme) => [6, theme.spacing.sm, 6, theme.spacing.sm];\n\nexport const getComboboxOptionItemWrapperStyles = (theme: Theme): SerializedStyles => {\n const [paddingTop, paddingRight, paddingBottom, paddingLeft] = getComboboxMenuItemPadding(theme);\n return css(\n importantify({\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'flex-start',\n justifyContent: 'flex-start',\n alignSelf: 'stretch',\n\n padding: `${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px`,\n lineHeight: theme.typography.lineHeightBase,\n boxSizing: 'content-box',\n\n cursor: 'pointer',\n userSelect: 'none',\n\n '&[data-highlighted=\"true\"]': { background: theme.colors.actionTertiaryBackgroundHover },\n '&:focus': {\n background: theme.colors.actionTertiaryBackgroundHover,\n outline: 'none',\n },\n '&[disabled]': {\n pointerEvents: 'none',\n color: theme.colors.actionDisabledText,\n background: theme.colors.backgroundPrimary,\n },\n }),\n );\n};\n\ninterface getComboboxOptionLabelStylesProps {\n theme: Theme;\n dangerouslyHideCheck?: boolean;\n textOverflowMode?: 'ellipsis' | 'multiline';\n contentWidth?: DialogComboboxContextType['contentWidth'];\n hasHintColumn?: boolean;\n hasIcon?: boolean;\n hasDisabledReason?: boolean;\n}\n\nexport const getComboboxOptionLabelStyles = ({\n theme,\n dangerouslyHideCheck,\n textOverflowMode,\n contentWidth,\n hasHintColumn,\n hasIcon,\n hasDisabledReason,\n}: getComboboxOptionLabelStylesProps): SerializedStyles => {\n return css({\n marginLeft: !dangerouslyHideCheck ? theme.spacing.sm : 0,\n fontSize: theme.typography.fontSizeBase,\n fontStyle: 'normal',\n fontWeight: 400,\n cursor: 'pointer',\n overflow: 'hidden',\n wordBreak: 'break-word',\n ...(textOverflowMode === 'ellipsis' && {\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n }),\n ...(contentWidth ? { width: getDialogComboboxOptionLabelWidth(theme, contentWidth) } : {}),\n ...(hasHintColumn && { display: 'flex' }),\n ...(hasIcon && hasDisabledReason && { display: 'flex' }),\n });\n};\n\nexport const getInfoIconStyles = (theme: Theme): SerializedStyles => {\n return css({\n paddingLeft: theme.spacing.xs,\n color: theme.colors.textSecondary,\n pointerEvents: 'all',\n cursor: 'pointer',\n verticalAlign: 'middle',\n });\n};\n\nexport const getCheckboxStyles = (theme: Theme, textOverflowMode: 'ellipsis' | 'multiline'): SerializedStyles => {\n return css({\n pointerEvents: 'none',\n height: 'unset',\n width: '100%',\n\n '& > label': {\n display: 'flex',\n width: '100%',\n fontSize: theme.typography.fontSizeBase,\n fontStyle: 'normal',\n fontWeight: 400,\n cursor: 'pointer',\n\n '& > span:first-of-type': {\n alignSelf: 'flex-start',\n display: 'inline-flex',\n alignItems: 'center',\n paddingTop: theme.spacing.xs / 2,\n },\n\n '& > span:last-of-type, & > span:last-of-type > label': {\n paddingRight: 0,\n width: '100%',\n overflow: 'hidden',\n wordBreak: 'break-word',\n ...(textOverflowMode === 'ellipsis'\n ? {\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n }\n : {}),\n },\n },\n });\n};\n\nexport const getFooterStyles = (theme: Theme): SerializedStyles => {\n return css({\n width: '100%',\n background: theme.colors.backgroundPrimary,\n padding: `${theme.spacing.sm}px ${theme.spacing.lg / 2}px ${theme.spacing.sm}px ${theme.spacing.lg / 2}px`,\n position: 'sticky',\n bottom: 0,\n boxSizing: 'border-box',\n\n '&:has(> .combobox-footer-add-button)': {\n padding: `${theme.spacing.sm}px 0 ${theme.spacing.sm}px 0`,\n\n '& > :not(.combobox-footer-add-button)': {\n marginLeft: `${theme.spacing.lg / 2}px`,\n marginRight: `${theme.spacing.lg / 2}px`,\n },\n\n '& > .combobox-footer-add-button': {\n justifyContent: 'flex-start !important',\n },\n },\n });\n};\n\nexport const getSelectItemWithHintColumnStyles = (hintColumnWidthPercent: number = 50): SerializedStyles => {\n return css({\n flexGrow: 1,\n display: 'inline-grid',\n gridTemplateColumns: `${100 - hintColumnWidthPercent}% ${hintColumnWidthPercent}%`,\n alignItems: 'baseline',\n });\n};\n\nexport const getHintColumnStyles = (\n theme: Theme,\n disabled: boolean,\n textOverflowMode: DialogComboboxContextType['textOverflowMode'],\n): SerializedStyles => {\n return css({\n color: theme.colors.textSecondary,\n fontSize: theme.typography.fontSizeSm,\n textAlign: 'right',\n ...(disabled && {\n color: theme.colors.actionDisabledText,\n }),\n ...(textOverflowMode === 'ellipsis' && {\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n }),\n });\n};\n","// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.\n\nexport enum ValidSemanticColors {\n ActionDangerDefaultBackgroundDefault = 'actionDangerDefaultBackgroundDefault',\n ActionDangerDefaultBackgroundHover = 'actionDangerDefaultBackgroundHover',\n ActionDangerDefaultBackgroundPress = 'actionDangerDefaultBackgroundPress',\n ActionDangerDefaultBorderDefault = 'actionDangerDefaultBorderDefault',\n ActionDangerDefaultBorderHover = 'actionDangerDefaultBorderHover',\n ActionDangerDefaultBorderPress = 'actionDangerDefaultBorderPress',\n ActionDangerDefaultTextDefault = 'actionDangerDefaultTextDefault',\n ActionDangerDefaultTextHover = 'actionDangerDefaultTextHover',\n ActionDangerDefaultTextPress = 'actionDangerDefaultTextPress',\n ActionDangerPrimaryBackgroundDefault = 'actionDangerPrimaryBackgroundDefault',\n ActionDangerPrimaryBackgroundHover = 'actionDangerPrimaryBackgroundHover',\n ActionDangerPrimaryBackgroundPress = 'actionDangerPrimaryBackgroundPress',\n ActionDangerPrimaryText = 'actionDangerPrimaryText',\n ActionDefaultBackgroundDefault = 'actionDefaultBackgroundDefault',\n ActionDefaultBackgroundHover = 'actionDefaultBackgroundHover',\n ActionDefaultBackgroundPress = 'actionDefaultBackgroundPress',\n ActionDefaultBorderDefault = 'actionDefaultBorderDefault',\n ActionDefaultBorderFocus = 'actionDefaultBorderFocus',\n ActionDefaultBorderHover = 'actionDefaultBorderHover',\n ActionDefaultBorderPress = 'actionDefaultBorderPress',\n ActionDefaultIconDefault = 'actionDefaultIconDefault',\n ActionDefaultIconHover = 'actionDefaultIconHover',\n ActionDefaultIconPress = 'actionDefaultIconPress',\n ActionDefaultTextDefault = 'actionDefaultTextDefault',\n ActionDefaultTextHover = 'actionDefaultTextHover',\n ActionDefaultTextPress = 'actionDefaultTextPress',\n ActionDisabledBackground = 'actionDisabledBackground',\n ActionDisabledBorder = 'actionDisabledBorder',\n ActionDisabledText = 'actionDisabledText',\n ActionIconBackgroundDefault = 'actionIconBackgroundDefault',\n ActionIconBackgroundHover = 'actionIconBackgroundHover',\n ActionIconBackgroundPress = 'actionIconBackgroundPress',\n ActionIconIconDefault = 'actionIconIconDefault',\n ActionIconIconHover = 'actionIconIconHover',\n ActionIconIconPress = 'actionIconIconPress',\n ActionLinkDefault = 'actionLinkDefault',\n ActionLinkHover = 'actionLinkHover',\n ActionLinkPress = 'actionLinkPress',\n ActionPrimaryBackgroundDefault = 'actionPrimaryBackgroundDefault',\n ActionPrimaryBackgroundHover = 'actionPrimaryBackgroundHover',\n ActionPrimaryBackgroundPress = 'actionPrimaryBackgroundPress',\n ActionPrimaryIcon = 'actionPrimaryIcon',\n ActionPrimaryTextDefault = 'actionPrimaryTextDefault',\n ActionPrimaryTextHover = 'actionPrimaryTextHover',\n ActionPrimaryTextPress = 'actionPrimaryTextPress',\n ActionTertiaryBackgroundDefault = 'actionTertiaryBackgroundDefault',\n ActionTertiaryBackgroundHover = 'actionTertiaryBackgroundHover',\n ActionTertiaryBackgroundPress = 'actionTertiaryBackgroundPress',\n ActionTertiaryIconDefault = 'actionTertiaryIconDefault',\n ActionTertiaryIconHover = 'actionTertiaryIconHover',\n ActionTertiaryIconPress = 'actionTertiaryIconPress',\n ActionTertiaryTextDefault = 'actionTertiaryTextDefault',\n ActionTertiaryTextHover = 'actionTertiaryTextHover',\n ActionTertiaryTextPress = 'actionTertiaryTextPress',\n BackgroundDanger = 'backgroundDanger',\n BackgroundPrimary = 'backgroundPrimary',\n BackgroundSecondary = 'backgroundSecondary',\n BackgroundSuccess = 'backgroundSuccess',\n BackgroundWarning = 'backgroundWarning',\n Border = 'border',\n BorderAccessible = 'borderAccessible',\n BorderDanger = 'borderDanger',\n BorderWarning = 'borderWarning',\n CodeBackground = 'codeBackground',\n OverlayOverlay = 'overlayOverlay',\n ProgressFill = 'progressFill',\n ProgressFillPrimary = 'progressFillPrimary',\n ProgressTrack = 'progressTrack',\n Skeleton = 'skeleton',\n TableBackgroundSelectedDefault = 'tableBackgroundSelectedDefault',\n TableBackgroundSelectedHover = 'tableBackgroundSelectedHover',\n TableBackgroundUnselectedDefault = 'tableBackgroundUnselectedDefault',\n TableBackgroundUnselectedHover = 'tableBackgroundUnselectedHover',\n TextPlaceholder = 'textPlaceholder',\n TextPrimary = 'textPrimary',\n TextSecondary = 'textSecondary',\n TextValidationDanger = 'textValidationDanger',\n TextValidationSuccess = 'textValidationSuccess',\n TextValidationWarning = 'textValidationWarning',\n TooltipBackgroundTooltip = 'tooltipBackgroundTooltip',\n}\n","import { ValidSemanticColors } from '../theme/_generated/ValidSemanticColors';\n\nexport const ColorVars = {\n primary: ValidSemanticColors.TextPrimary,\n secondary: ValidSemanticColors.TextSecondary,\n info: ValidSemanticColors.TextSecondary,\n error: ValidSemanticColors.TextValidationDanger,\n success: ValidSemanticColors.TextValidationSuccess,\n warning: ValidSemanticColors.TextValidationWarning,\n} satisfies Record<string, ValidSemanticColors>;\n","import type { CSSObject } from '@emotion/react';\nimport unitless from '@emotion/unitless';\nimport { memoize, endsWith, isBoolean, isNil, isNumber, isString, mapValues } from 'lodash';\nimport type { CSSProperties } from 'react';\nimport type { VirtualItem } from 'react-virtual';\n\nimport { getTheme, type Theme } from '../../theme';\nimport { shadowDarkRgb, shadowLightRgb } from '../../theme/generalVariables';\nimport { getComboboxMenuItemPadding } from '../_shared_';\nimport { ColorVars } from '../constants';\nimport type { TypographyColor, ValidationState } from '../types';\n\n/**\n * Recursively appends `!important` to all CSS properties in an Emotion `CSSObject`.\n * Used to ensure that we always override Ant styles, without worrying about selector precedence.\n */\nexport function importantify(obj: CSSObject): CSSObject {\n return mapValues(obj, (value, key) => {\n if (isString(value) || isNumber(value) || isBoolean(value)) {\n // Make sure we don't double-append important\n if (isString(value) && endsWith(value, '!important')) {\n return value;\n }\n\n if (isNumber(value)) {\n if (unitless[key]) {\n return `${value}!important`;\n }\n return `${value}px!important`;\n }\n\n return `${value}!important`;\n }\n\n if (isNil(value)) {\n return value;\n }\n\n return importantify(value as CSSObject);\n }) as CSSObject;\n}\n\n/**\n * Returns a text color, in case of invalid/missing key and missing fallback color it will return textPrimary\n * @param theme\n * @param key - key of TypographyColor\n * @param fallbackColor - color to return as fallback -- used to remove tertiary check inline\n */\nexport function getTypographyColor(theme: Theme, key?: TypographyColor, fallbackColor?: string): string {\n if (theme && key && Object(theme.colors).hasOwnProperty(ColorVars[key])) {\n return theme.colors[ColorVars[key]];\n }\n\n return fallbackColor ?? theme.colors.textPrimary;\n}\n\n/**\n * Returns validation color based on state, has default validation colors if params are not provided\n * @param theme\n * @param validationState\n * @param errorColor\n * @param warningColor\n * @param successColor\n */\nexport function getValidationStateColor(\n theme: Theme,\n validationState?: ValidationState,\n {\n errorColor,\n warningColor,\n successColor,\n }: {\n errorColor?: string;\n warningColor?: string;\n successColor?: string;\n } = {},\n): string | undefined {\n switch (validationState) {\n case 'error':\n return errorColor || theme.colors.actionDangerPrimaryBackgroundDefault;\n case 'warning':\n return warningColor || theme.colors.textValidationWarning;\n case 'success':\n return successColor || theme.colors.textValidationSuccess;\n default:\n return undefined;\n }\n}\n\nexport function getDarkModePortalStyles(\n theme: Theme,\n useNewShadows: boolean,\n useNewBorderColors: boolean,\n): React.CSSProperties {\n if (!theme || !theme.isDarkMode) {\n return {};\n }\n\n return {\n border: `1px solid ${useNewBorderColors ? theme.colors.border : theme.colors.borderDecorative}`,\n // With the new shadows we have corrected the style of shadows for dark mode, and don't need to disable them.\n ...(useNewShadows ? {} : { boxShadow: 'none' }),\n };\n}\n\nconst shadowCoverTop = (bgColor: string) => `linear-gradient(${bgColor} 30%, rgba(0, 0, 0, 0)) center top`;\nconst shadowCoverBot = (bgColor: string) => `linear-gradient(rgba(0, 0, 0, 0), ${bgColor} 70%) center bottom`;\nconst shadowCoverLeft = (bgColor: string) => `linear-gradient(to left, rgba(0, 0, 0, 0), ${bgColor} 30%) left center`;\nconst shadowCoverRight = (bgColor: string) => `linear-gradient(to left, ${bgColor} 70%, rgba(0, 0, 0, 0)) right center`;\nconst shadowTop = (shadowRgb: string) => `radial-gradient(\n farthest-side at 50% 0,\n rgba(${shadowRgb}, 0.2),\n rgba(${shadowRgb}, 0)\n) center top`;\nconst shadowBot = (shadowRgb: string) => `radial-gradient(\n farthest-side at 50% 100%,\n rgba(${shadowRgb}, 0.2),\n rgba(${shadowRgb}, 0)\n) center bottom`;\nconst shadowLeft = (shadowRgb: string) => `radial-gradient(\n farthest-side at 0 50%,\n rgba(${shadowRgb}, 0.2),\n rgba(${shadowRgb}, 0)\n) left center`;\nconst shadowRight = (shadowRgb: string) => `radial-gradient(\n farthest-side at 100% 50%,\n rgba(${shadowRgb}, 0.2),\n rgba(${shadowRgb}, 0)\n) right center`;\n\nconst shadowCoverBackgroundSizeVertical = '100% 40px';\nconst shadowCoverBackgroundSizeHorizontal = '40px 100%';\nconst shadowBackgroundSizeVertical = '100% 14px';\nconst shadowBackgroundSizeHorizontal = '14px 100%';\n\ntype GetShadowScrollFunction = (\n theme: Theme,\n options?: { backgroundColor?: string; orientation?: 'vertical' | 'horizontal' },\n) => Pick<CSSObject, 'background' | 'backgroundRepeat' | 'backgroundSize' | 'backgroundAttachment'>;\n\nconst getShadowScrollStylesMemoized = memoize(\n function getShadowScrollStylesMemoized(\n theme: Theme,\n backgroundColor?: string,\n orientation: 'vertical' | 'horizontal' = 'vertical',\n ) {\n const bgColor = backgroundColor ?? theme.colors.backgroundPrimary;\n const shadowColor = theme.isDarkMode ? shadowDarkRgb : shadowLightRgb;\n\n if (orientation === 'horizontal') {\n return {\n background: `\n ${shadowCoverLeft(bgColor)},\n ${shadowCoverRight(bgColor)},\n ${shadowLeft(shadowColor)},\n ${shadowRight(shadowColor)}`,\n backgroundRepeat: 'no-repeat',\n backgroundSize: `\n ${shadowCoverBackgroundSizeHorizontal},\n ${shadowCoverBackgroundSizeHorizontal},\n ${shadowBackgroundSizeHorizontal},\n ${shadowBackgroundSizeHorizontal}`,\n backgroundAttachment: 'local, local, scroll, scroll',\n };\n }\n\n return {\n background: `\n ${shadowCoverTop(bgColor)},\n ${shadowCoverBot(bgColor)},\n ${shadowTop(shadowColor)},\n ${shadowBot(shadowColor)}`,\n backgroundRepeat: 'no-repeat',\n backgroundSize: `\n ${shadowCoverBackgroundSizeVertical},\n ${shadowCoverBackgroundSizeVertical},\n ${shadowBackgroundSizeVertical},\n ${shadowBackgroundSizeVertical}`,\n backgroundAttachment: 'local, local, scroll, scroll',\n };\n },\n (theme, backgroundColor, orientation) => {\n return `${theme.isDarkMode}-${backgroundColor}-${orientation}`;\n },\n);\n\nexport const getShadowScrollStyles: GetShadowScrollFunction = function getShadowScrollStyles(\n theme: Theme,\n { backgroundColor, orientation } = {},\n) {\n return getShadowScrollStylesMemoized(theme, backgroundColor, orientation);\n};\n\nconst getBottomOnlyShadowScrollStylesMemoized = memoize(function getBottomOnlyShadowScrollStylesMemoized(\n theme: Theme,\n backgroundColor?: string,\n) {\n const bgColor = backgroundColor ?? theme.colors.backgroundPrimary;\n return {\n background: `\n ${shadowCoverBot(bgColor)},\n ${shadowBot(theme.isDarkMode ? shadowDarkRgb : shadowLightRgb)}`,\n backgroundRepeat: 'no-repeat',\n backgroundSize: `\n ${shadowCoverBackgroundSizeVertical},\n ${shadowBackgroundSizeVertical}`,\n backgroundAttachment: 'local, scroll',\n };\n});\n\nexport const getBottomOnlyShadowScrollStyles: GetShadowScrollFunction = function getBottomOnlyShadowScrollStyles(\n theme: Theme,\n { backgroundColor } = {},\n) {\n return getBottomOnlyShadowScrollStylesMemoized(theme, backgroundColor);\n};\n\nconst getHorizontalTabShadowStylesMemoized = memoize(function getHorizontalTabShadowStylesMemoized(\n theme: Theme,\n backgroundColor?: string,\n) {\n const bgColor = backgroundColor ?? theme.colors.backgroundPrimary;\n const shadowValue = theme.shadows.lg;\n\n const shadowColorMatch = shadowValue.match(/rgba?\\([^)]+\\)/);\n const shadowColor = shadowColorMatch ? shadowColorMatch[0] : 'rgba(0, 0, 0, 0.1)';\n\n const shadowCoverLeft = `linear-gradient(to right, ${bgColor} 0%, ${bgColor} 30%, rgba(0, 0, 0, 0) 100%) left center`;\n const shadowCoverRight = `linear-gradient(to left, ${bgColor} 0%, ${bgColor} 30%, rgba(0, 0, 0, 0) 100%) right center`;\n const shadowLeft = `linear-gradient(to right, ${shadowColor} 0%, rgba(0, 0, 0, 0) 100%) left center`;\n const shadowRight = `linear-gradient(to left, ${shadowColor} 0%, rgba(0, 0, 0, 0) 100%) right center`;\n\n const shadowSize = '16px 100%';\n\n return {\n background: `\n ${shadowCoverLeft},\n ${shadowCoverRight},\n ${shadowLeft},\n ${shadowRight}`,\n backgroundRepeat: 'no-repeat',\n backgroundSize: `${shadowSize}, ${shadowSize}, ${shadowSize}, ${shadowSize}`,\n backgroundAttachment: 'local, local, scroll, scroll',\n };\n});\n\nexport const getHorizontalTabShadowStyles = function getHorizontalTabShadowStyles(\n theme: Theme,\n { backgroundColor }: { backgroundColor?: string } = {},\n): Pick<CSSObject, 'background' | 'backgroundRepeat' | 'backgroundSize' | 'backgroundAttachment'> {\n return getHorizontalTabShadowStylesMemoized(theme, backgroundColor);\n};\n\nexport function getVirtualizedComboboxMenuItemStyles(virtualItem: VirtualItem): CSSProperties {\n const theme = getTheme(false); // Since we only need paddings, we can use light mode theme\n const [top, right, bottom, left] = getComboboxMenuItemPadding(theme);\n const topBottomPadding = top + bottom;\n const leftRightPadding = right + left;\n return {\n position: 'absolute',\n width: `calc(100% - ${leftRightPadding}px)`,\n height: `${virtualItem.size - topBottomPadding}px`,\n transform: `translateY(${virtualItem.start}px)`,\n };\n}\n","import { useEffect, useRef } from 'react';\n\n// Define a module-global observer and a WeakMap on elements to hold callbacks\nlet sharedObserver: IntersectionObserver | null = null;\nconst entryCallbackMap = new WeakMap();\n\nconst ensureSharedObserverExists = () => {\n if (!sharedObserver) {\n sharedObserver = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n const entryCallback = entryCallbackMap.get(entry.target);\n if (entryCallback) {\n entryCallback();\n entryCallbackMap.delete(entry.target);\n }\n }\n });\n });\n }\n};\n\nfunction observeElement(element: Element, callback: () => void) {\n ensureSharedObserverExists();\n entryCallbackMap.set(element, callback);\n\n sharedObserver?.observe(element);\n\n return () => {\n if (element) {\n sharedObserver?.unobserve(element);\n entryCallbackMap.delete(element);\n }\n };\n}\n\nexport interface useNotifyOnFirstViewProps {\n onView: (value?: any) => void;\n resetKey?: unknown;\n value?: any;\n}\n\n/**\n * Checks if the element was viewed and calls the onView callback.\n * NOTE: This hook only triggers the onView callback once for the element.\n * @param onView - callback to be called when the element is viewed\n * @param resetKey - optional key that resets the observer when changed\n * @typeParam T - extends Element to specify the type of element being observed\n */\nexport const useNotifyOnFirstView = <T extends Element>({ onView, resetKey, value }: useNotifyOnFirstViewProps) => {\n const isViewedRef = useRef(false);\n const elementRef = useRef<T | null>(null);\n const previousResetKey = useRef(resetKey);\n\n // Only reset isViewedRef when resetKey changes\n useEffect(() => {\n if (previousResetKey.current !== resetKey) {\n isViewedRef.current = false;\n previousResetKey.current = resetKey;\n }\n }, [resetKey]);\n\n useEffect(() => {\n const element = elementRef.current;\n // If already viewed or element is not available, do nothing\n if (!element || isViewedRef.current) {\n return;\n }\n\n const callback = () => {\n isViewedRef.current = true;\n onView(value);\n };\n\n // If IntersectionObserver is not available, assume that the element is visible\n if (!window.IntersectionObserver) {\n callback();\n return;\n }\n\n return observeElement(element, callback);\n }, [onView, value]);\n\n return { elementRef };\n};\n","import { safex } from './safex';\n\nexport const useDesignSystemSafexFlags = () => {\n return {\n useNewShadows: safex('databricks.fe.designsystem.useNewShadows', false),\n useNewFormUISpacing: safex('databricks.fe.designsystem.useNewFormUISpacing', false),\n useNewBorderRadii: safex('databricks.fe.designsystem.useNewBorderRadii', false),\n useNewLargeAlertSizing: safex('databricks.fe.designsystem.useNewLargeAlertSizing', false),\n useNewBorderColors: safex('databricks.fe.designsystem.useNewBorderColors', false),\n useNewDatePickerInput: safex('databricks.fe.designsystem.useNewDatePickerInput', false),\n };\n};\n","import { visuallyHidden } from '../utils';\n\nexport interface AccessibleContainerProps {\n children: React.ReactNode;\n label?: React.ReactNode;\n}\n\nexport function AccessibleContainer({ children, label }: AccessibleContainerProps) {\n if (!label) {\n return <>{children}</>;\n }\n\n return (\n <div css={{ cursor: 'progress' }}>\n <span css={visuallyHidden}>{label}</span>\n <div aria-hidden>{children}</div>\n </div>\n );\n}\n","import React, { useContext } from 'react';\n\ninterface DesignSystemEventSuppressInteractionContextType {\n suppressAnalyticsStartInteraction: boolean;\n}\n\nconst DefaultDesignSystemEventSuppressInteractionContextValue: DesignSystemEventSuppressInteractionContextType = {\n suppressAnalyticsStartInteraction: false,\n};\n\nexport const DesignSystemEventSuppressInteractionTrueContextValue: DesignSystemEventSuppressInteractionContextType = {\n suppressAnalyticsStartInteraction: true,\n};\n\nexport const DesignSystemEventSuppressInteractionProviderContext =\n React.createContext<DesignSystemEventSuppressInteractionContextType>(\n DefaultDesignSystemEventSuppressInteractionContextValue,\n );\n\n/**\n * This gets the event suppress interaction provider, is used to suppress the start interaction for analytics events.\n *\n * @returns DesignSystemEventSuppressInteractionContextType\n */\nexport const useDesignSystemEventSuppressInteractionContext = () => {\n return useContext(DesignSystemEventSuppressInteractionProviderContext);\n};\n","import { useStable } from './useStable';\n\n// Ensure webapp/web/html/index.html version has parity with this function below\nexport function generateUuidV4() {\n const uuid = window.crypto?.randomUUID?.();\n if (uuid) {\n return uuid;\n }\n\n // fallback for older browsers\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = (Math.random() * 16) | 0;\n const v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n\n/**\n * Give the component a stable uuidv4 on mount that can be used to differentiate between\n * other components. One application is debugging or performance tracing or analytics.\n */\nexport function useStableUuidV4(): string {\n return useStable(() => generateUuidV4());\n}\n","import type { FormEvent } from 'react';\nimport React, { createContext, useContext, useMemo } from 'react';\n\nimport { useDesignSystemEventSuppressInteractionContext } from './DesignSystemEventSuppressInteractionProvider';\nimport { useStableUuidV4 } from '../utils/useStableUuidV4';\n\nexport type DesignSystemEventTypeMapping<V> = { [K in DesignSystemEventProviderAnalyticsEventTypes]: V };\n\nexport enum DesignSystemEventProviderComponentTypes {\n Accordion = 'accordion',\n Alert = 'alert',\n Banner = 'banner',\n Button = 'button',\n Card = 'card',\n Checkbox = 'checkbox',\n ContextMenuCheckboxItem = 'context_menu_checkbox_item',\n ContextMenuItem = 'context_menu_item',\n ContextMenuRadioGroup = 'context_menu_radio_group',\n DialogCombobox = 'dialog_combobox',\n Drawer = 'drawer_content',\n DropdownMenuCheckboxItem = 'dropdown_menu_checkbox_item',\n DropdownMenuItem = 'dropdown_menu_item',\n DropdownMenuRadioGroup = 'dropdown_menu_radio_group',\n Form = 'form',\n Input = 'input',\n LegacySelect = 'legacy_select',\n Listbox = 'listbox',\n Modal = 'modal',\n Notification = 'notification',\n Pagination = 'pagination',\n PillControl = 'pill_control',\n Popover = 'popover',\n PreviewCard = 'preview_card',\n Radio = 'radio',\n RadioGroup = 'radio_group',\n SegmentedControlGroup = 'segmented_control_group',\n SimpleSelect = 'simple_select',\n Switch = 'switch',\n TableHeader = 'table_header',\n Tabs = 'tabs',\n Tag = 'tag',\n TextArea = 'text_area',\n ToggleButton = 'toggle_button',\n Tooltip = 'tooltip',\n TypeaheadCombobox = 'typeahead_combobox',\n TypographyLink = 'typography_link',\n}\n\nexport enum DesignSystemEventProviderAnalyticsEventTypes {\n OnClick = 'onClick',\n OnSubmit = 'onSubmit',\n OnValueChange = 'onValueChange',\n OnView = 'onView',\n}\n\nexport enum DesignSystemEventProviderComponentSubTypes {\n Success = 'success',\n Error = 'error',\n Warning = 'warning',\n Info = 'info',\n InfoLightPurple = 'info_light_purple',\n InfoDarkPurple = 'info_dark_purple',\n}\n\nexport const DesignSystemEventProviderComponentSubTypeMap = {\n success: DesignSystemEventProviderComponentSubTypes.Success,\n error: DesignSystemEventProviderComponentSubTypes.Error,\n warning: DesignSystemEventProviderComponentSubTypes.Warning,\n info: DesignSystemEventProviderComponentSubTypes.Info,\n info_light_purple: DesignSystemEventProviderComponentSubTypes.InfoLightPurple,\n info_dark_purple: DesignSystemEventProviderComponentSubTypes.InfoDarkPurple,\n} satisfies Record<string, DesignSystemEventProviderComponentSubTypes>;\n\nexport type DesignSystemEventProviderContextType = {\n callback: DesignSystemEventProviderCallback;\n};\n\nexport type ReferrerComponentType = {\n type: DesignSystemEventProviderComponentTypes;\n id: string;\n};\n\nexport type DesignSystemEventProviderCallbackParams = {\n eventType: DesignSystemEventProviderAnalyticsEventTypes;\n componentType: DesignSystemEventProviderComponentTypes;\n componentId: string;\n componentSubType?: DesignSystemEventProviderComponentSubTypes;\n value: unknown;\n shouldStartInteraction?: boolean;\n event?: UIEvent | FormEvent;\n mode?: 'default' | 'skip' | 'associate_event_only';\n referrerComponent?: ReferrerComponentType;\n isInteractionSubject?: boolean;\n formPropertyValues?: {\n initial: Record<string, unknown> | undefined;\n final: Record<string, unknown> | undefined;\n };\n componentViewId?: string;\n};\n\nexport type DesignSystemEventProviderCallback = (params: DesignSystemEventProviderCallbackParams) => void;\n\nconst shouldTriggerCallback = (\n eventType: DesignSystemEventProviderAnalyticsEventTypes,\n analyticsEvents: ReadonlyArray<DesignSystemEventProviderAnalyticsEventTypes>,\n): boolean => {\n return analyticsEvents.includes(eventType);\n};\n\nconst DefaultEmptyCallbacks: DesignSystemEventProviderContextType = { callback: () => {} };\n\nconst DesignSystemEventProviderContext =\n React.createContext<DesignSystemEventProviderContextType>(DefaultEmptyCallbacks);\n\n/**\n * This gets the event provider, which is used to pass callbacks to the design system for events such as onClick, onView, and onValueChange.\n * If the value is undefined, then the expected behavior is to not emit any events.\n *\n * @returns DesignSystemEventProviderContextType\n */\nconst useDesignSystemEventProviderContext = () => {\n return useContext(DesignSystemEventProviderContext);\n};\n\nexport type DataComponentProps =\n | {\n 'data-component-id': string;\n 'data-component-type': DesignSystemEventProviderComponentTypes;\n }\n | Record<string, never>;\n\ntype ComponentFinderContextProps = {\n dataComponentProps: DataComponentProps;\n};\n\nexport const ComponentFinderContext = createContext<ComponentFinderContextProps>({ dataComponentProps: {} });\n\nexport const useComponentFinderContext = (\n targetComponentType: DesignSystemEventProviderComponentTypes,\n): DataComponentProps => {\n const componentFinderContext = useContext(ComponentFinderContext);\n return targetComponentType === componentFinderContext.dataComponentProps['data-component-type']\n ? componentFinderContext.dataComponentProps\n : {};\n};\n\n/**\n * NOTE: Manually adding in data-component-* props via spreading dataComponentProps from useDesignSystemEventComponentCallbacks\n * is preferred over direct use of this function. See Button.tsx for an example.\n *\n * The main use case of this function is to avoid adding in extra containers/divs with data-component-* props\n * that may result in unexpected css changes.\n *\n * @returns a react node with injected data-component-* props, if possible\n */\nexport function augmentWithDataComponentProps(\n node: React.ReactNode,\n dataComponentProps: DataComponentProps,\n): React.ReactNode {\n if (React.isValidElement(node)) {\n return React.cloneElement(node, dataComponentProps);\n }\n if (Array.isArray(node)) {\n return node.map((child) => {\n return augmentWithDataComponentProps(child, dataComponentProps);\n });\n }\n return node;\n}\n\ninterface OnSubmitParams {\n event: FormEvent;\n initialState: Record<string, unknown> | undefined;\n finalState: Record<string, unknown> | undefined;\n referrerComponent?: ReferrerComponentType;\n}\n\n/**\n * NOTE: This is not suggested for direct usage from engineers, and should emit your own events.\n * See https://databricks.atlassian.net/wiki/spaces/UN/pages/2533556277/Usage+Logging+in+UI#Send-usage-logging-from-UI for more details.\n *\n * This gets the event provider component event type callbacks.\n * If context & componentId are not undefined, then it will check if the event is in analyticsEvents or the default analyticsEvents for that component.\n * If the context or componentId are undefined, then the expected behavior is to not emit any events.\n *\n * @returns Object of event callbacks\n */\nexport const useDesignSystemEventComponentCallbacks = ({\n componentType,\n componentId,\n componentSubType,\n analyticsEvents,\n valueHasNoPii,\n shouldStartInteraction,\n isInteractionSubject,\n}: {\n componentType: DesignSystemEventProviderComponentTypes;\n componentId: string | undefined;\n componentSubType?: DesignSystemEventProviderComponentSubTypes;\n analyticsEvents: ReadonlyArray<DesignSystemEventProviderAnalyticsEventTypes>;\n valueHasNoPii?: boolean;\n shouldStartInteraction?: boolean;\n isInteractionSubject?: boolean;\n}): {\n onClick: (event: React.UIEvent | undefined) => void;\n onSubmit: (payload: OnSubmitParams) => void;\n onValueChange: (value?: any) => void;\n onView: (value?: any) => void;\n dataComponentProps: DataComponentProps;\n} => {\n const context = useDesignSystemEventProviderContext();\n const suppressInteractionContext = useDesignSystemEventSuppressInteractionContext();\n // If shouldStartInteraction is explicitly true or has no suppression when shouldStartInteraction\n // is not defined for an onClick event, then it will start the interaction\n const shouldStartInteractionComplete = useMemo(\n () =>\n shouldStartInteraction ||\n (shouldStartInteraction === undefined && !suppressInteractionContext.suppressAnalyticsStartInteraction),\n [suppressInteractionContext, shouldStartInteraction],\n );\n\n const componentViewId = useStableUuidV4();\n\n const callbacks = useMemo(() => {\n const dataComponentProps = componentId\n ? { 'data-component-id': componentId, 'data-component-type': componentType }\n : ({} as DataComponentProps);\n if (context === DefaultEmptyCallbacks || componentId === undefined) {\n return {\n onClick: () => {},\n onSubmit: () => {},\n onValueChange: () => {},\n onView: () => {},\n dataComponentProps,\n };\n }\n\n return {\n onClick: (event: React.UIEvent | undefined) => {\n if (shouldTriggerCallback(DesignSystemEventProviderAnalyticsEventTypes.OnClick, analyticsEvents)) {\n context.callback({\n eventType: DesignSystemEventProviderAnalyticsEventTypes.OnClick,\n componentType,\n componentId,\n componentSubType,\n value: undefined,\n shouldStartInteraction: shouldStartInteractionComplete,\n event,\n isInteractionSubject,\n componentViewId: componentViewId,\n });\n }\n },\n onSubmit: (payload: OnSubmitParams) => {\n const mode: DesignSystemEventProviderCallbackParams['mode'] = shouldTriggerCallback(\n DesignSystemEventProviderAnalyticsEventTypes.OnSubmit,\n analyticsEvents,\n )\n ? 'default'\n : 'associate_event_only';\n context.callback({\n eventType: DesignSystemEventProviderAnalyticsEventTypes.OnSubmit,\n componentType,\n componentId,\n componentSubType,\n value: undefined,\n shouldStartInteraction: shouldStartInteractionComplete,\n event: payload.event,\n mode,\n referrerComponent: payload.referrerComponent,\n formPropertyValues: {\n initial: payload.initialState,\n final: payload.finalState,\n },\n });\n },\n onValueChange: (value: any) => {\n if (shouldTriggerCallback(DesignSystemEventProviderAnalyticsEventTypes.OnValueChange, analyticsEvents)) {\n context.callback({\n eventType: DesignSystemEventProviderAnalyticsEventTypes.OnValueChange,\n componentType,\n componentId,\n componentSubType,\n value: valueHasNoPii ? value : undefined,\n shouldStartInteraction: false,\n componentViewId: componentViewId,\n });\n }\n },\n onView: (value: any) => {\n if (shouldTriggerCallback(DesignSystemEventProviderAnalyticsEventTypes.OnView, analyticsEvents)) {\n context.callback({\n eventType: DesignSystemEventProviderAnalyticsEventTypes.OnView,\n componentType,\n componentId,\n componentSubType,\n value: valueHasNoPii ? value : undefined,\n shouldStartInteraction: false,\n componentViewId: componentViewId,\n });\n }\n },\n dataComponentProps,\n };\n }, [\n context,\n componentId,\n analyticsEvents,\n componentType,\n componentSubType,\n shouldStartInteractionComplete,\n isInteractionSubject,\n valueHasNoPii,\n componentViewId,\n ]);\n\n return callbacks;\n};\n\n/**\n * NOTE: This is not suggested for direct usage from engineers, and should use RecordEventContext instead.\n * See https://databricks.atlassian.net/wiki/spaces/UN/pages/2533556277/Usage+Logging+in+UI#Send-usage-logging-from-UI for more details.\n *\n * This is the Design System Event Context Provider, and is only used to pass callbacks to the design system for events such as onClick, onView, and onValueChange.\n *\n * @param children Children react elements\n * @param callback The event callback function\n * @returns Design System Event Context Provider with the children inside\n */\nexport function DesignSystemEventProvider({\n children,\n callback,\n}: React.PropsWithChildren<DesignSystemEventProviderContextType>) {\n const contextValue = useMemo(() => {\n return { callback };\n }, [callback]);\n\n return (\n <DesignSystemEventProviderContext.Provider value={contextValue}>\n {children}\n </DesignSystemEventProviderContext.Provider>\n );\n}\n","import type { CSSObject } from '@emotion/react';\n\nimport type { Theme } from '../../theme';\n\nexport function getDefaultStyles(theme: Theme, loading = false): CSSObject {\n const defaultStyles = {\n backgroundColor: theme.colors.actionDefaultBackgroundDefault,\n borderColor: theme.colors.actionDefaultBorderDefault,\n color: theme.colors.actionDefaultTextDefault,\n };\n return {\n ...defaultStyles,\n lineHeight: theme.typography.lineHeightBase,\n textDecoration: 'none',\n\n '&:hover': {\n backgroundColor: theme.colors.actionDefaultBackgroundHover,\n borderColor: theme.colors.actionDefaultBorderHover,\n color: theme.colors.actionDefaultTextHover,\n },\n\n '&:active': {\n backgroundColor: loading\n ? theme.colors.actionDefaultBackgroundDefault\n : theme.colors.actionDefaultBackgroundPress,\n borderColor: theme.colors.actionDefaultBorderPress,\n color: theme.colors.actionDefaultTextPress,\n },\n };\n}\n\nexport function getPrimaryStyles(theme: Theme): CSSObject {\n const defaultStyles = {\n backgroundColor: theme.colors.actionPrimaryBackgroundDefault,\n borderColor: 'transparent',\n color: theme.colors.actionPrimaryTextDefault,\n };\n return {\n ...defaultStyles,\n textShadow: 'none',\n\n '&:hover': {\n backgroundColor: theme.colors.actionPrimaryBackgroundHover,\n borderColor: 'transparent',\n color: theme.colors.actionPrimaryTextHover,\n },\n\n '&:active': {\n backgroundColor: theme.colors.actionPrimaryBackgroundPress,\n borderColor: 'transparent',\n color: theme.colors.actionPrimaryTextPress,\n },\n };\n}\n\nexport function getLinkStyles(theme: Theme): CSSObject {\n const defaultStyles = {\n backgroundColor: theme.colors.actionTertiaryBackgroundDefault,\n borderColor: theme.colors.actionTertiaryBackgroundDefault,\n color: theme.colors.actionTertiaryTextDefault,\n };\n return {\n ...defaultStyles,\n\n '&:hover': {\n backgroundColor: theme.colors.actionTertiaryBackgroundHover,\n borderColor: 'transparent',\n color: theme.colors.actionTertiaryTextHover,\n },\n\n '&:active': {\n backgroundColor: theme.colors.actionTertiaryBackgroundPress,\n borderColor: 'transparent',\n color: theme.colors.actionTertiaryTextPress,\n },\n\n '&[disabled]:hover': {\n background: 'none',\n color: theme.colors.actionDisabledText,\n },\n };\n}\n\nexport function getPrimaryDangerStyles(theme: Theme): CSSObject {\n const defaultStyles = {\n backgroundColor: theme.colors.actionDangerPrimaryBackgroundDefault,\n borderColor: 'transparent',\n color: theme.colors.actionPrimaryTextDefault,\n };\n\n return {\n ...defaultStyles,\n\n '&:hover': {\n backgroundColor: theme.colors.actionDangerPrimaryBackgroundHover,\n borderColor: 'transparent',\n color: theme.colors.actionPrimaryTextHover,\n },\n\n '&:active': {\n backgroundColor: theme.colors.actionDangerPrimaryBackgroundPress,\n borderColor: 'transparent',\n color: theme.colors.actionPrimaryTextPress,\n },\n\n '&:focus-visible': {\n outlineColor: theme.colors.actionDangerPrimaryBackgroundDefault,\n },\n };\n}\n\nexport function getSecondaryDangerStyles(theme: Theme): CSSObject {\n const defaultStyles = {\n backgroundColor: theme.colors.actionDangerDefaultBackgroundDefault,\n borderColor: theme.colors.actionDangerDefaultBorderDefault,\n color: theme.colors.actionDangerDefaultTextDefault,\n };\n\n return {\n ...defaultStyles,\n\n '&:hover': {\n backgroundColor: theme.colors.actionDangerDefaultBackgroundHover,\n borderColor: theme.colors.actionDangerDefaultBorderHover,\n color: theme.colors.actionDangerDefaultTextHover,\n },\n\n '&:active': {\n backgroundColor: theme.colors.actionDangerDefaultBackgroundPress,\n borderColor: theme.colors.actionDangerDefaultBorderPress,\n color: theme.colors.actionDangerDefaultTextPress,\n },\n\n '&:focus-visible': {\n outlineColor: theme.colors.actionDangerPrimaryBackgroundDefault,\n },\n };\n}\n\nexport function getDisabledDefaultStyles(theme: Theme, useNewShadows: boolean): CSSObject {\n const defaultStyles = {\n backgroundColor: 'transparent',\n borderColor: theme.colors.actionDisabledBorder,\n color: theme.colors.actionDisabledText,\n ...(useNewShadows && {\n boxShadow: 'none',\n }),\n };\n return {\n ...defaultStyles,\n\n '&:hover': {\n backgroundColor: 'transparent',\n borderColor: theme.colors.actionDisabledBorder,\n color: theme.colors.actionDisabledText,\n },\n\n '&:active': {\n backgroundColor: 'transparent',\n borderColor: theme.colors.actionDisabledBorder,\n color: theme.colors.actionDisabledText,\n },\n };\n}\n\nexport function getDisabledPrimaryStyles(theme: Theme, useNewShadows: boolean): CSSObject {\n const defaultStyles = {\n backgroundColor: theme.colors.actionDisabledBorder,\n borderColor: 'transparent',\n color: theme.colors.actionPrimaryTextDefault,\n ...(useNewShadows && {\n boxShadow: 'none',\n }),\n };\n return {\n ...defaultStyles,\n\n '&:hover': {\n backgroundColor: theme.colors.actionDisabledBorder,\n borderColor: 'transparent',\n color: theme.colors.actionPrimaryTextDefault,\n },\n\n '&:active': {\n backgroundColor: theme.colors.actionDisabledBorder,\n borderColor: 'transparent',\n color: theme.colors.actionPrimaryTextDefault,\n },\n };\n}\n\nexport function getDisabledErrorStyles(theme: Theme, useNewShadows: boolean): CSSObject {\n return getDisabledPrimaryStyles(theme, useNewShadows);\n}\n\nexport function getDisabledTertiaryStyles(theme: Theme, useNewShadows: boolean): CSSObject {\n const defaultStyles = {\n backgroundColor: theme.colors.actionTertiaryBackgroundDefault,\n borderColor: 'transparent',\n color: theme.colors.actionDisabledText,\n ...(useNewShadows && {\n boxShadow: 'none',\n }),\n };\n return {\n ...defaultStyles,\n\n '&:hover': {\n backgroundColor: theme.colors.actionTertiaryBackgroundDefault,\n borderColor: 'transparent',\n color: theme.colors.actionDisabledText,\n },\n\n '&:active': {\n backgroundColor: theme.colors.actionTertiaryBackgroundDefault,\n borderColor: 'transparent',\n color: theme.colors.actionDisabledText,\n },\n };\n}\n\nexport function getDisabledSplitButtonStyles(theme: Theme, useNewShadows: boolean): CSSObject {\n const defaultStyles = {\n backgroundColor: theme.colors.actionDefaultBackgroundDefault,\n borderColor: theme.colors.actionDisabledBorder,\n color: theme.colors.actionDisabledText,\n ...(useNewShadows && {\n boxShadow: 'none',\n }),\n };\n return {\n ...defaultStyles,\n\n '&:hover': {\n backgroundColor: theme.colors.actionDefaultBackgroundDefault,\n borderColor: theme.colors.actionDisabledBorder,\n color: theme.colors.actionDisabledText,\n },\n\n '&:active': {\n backgroundColor: theme.colors.actionDefaultBackgroundDefault,\n borderColor: theme.colors.actionDisabledBorder,\n color: theme.colors.actionDisabledText,\n },\n };\n}\n\nexport function getDisabledPrimarySplitButtonStyles(theme: Theme, useNewShadows: boolean): CSSObject {\n const defaultStyles = {\n backgroundColor: theme.colors.actionDisabledBorder,\n color: theme.colors.actionPrimaryTextDefault,\n ...(useNewShadows && {\n boxShadow: 'none',\n }),\n };\n return {\n ...defaultStyles,\n\n '&:hover': {\n backgroundColor: theme.colors.actionDisabledBorder,\n color: theme.colors.actionPrimaryTextDefault,\n },\n\n '&:active': {\n backgroundColor: theme.colors.actionDisabledBorder,\n color: theme.colors.actionPrimaryTextDefault,\n },\n };\n}\n","import type { FormEvent } from 'react';\nimport React, { useCallback, useMemo, useRef, useState } from 'react';\nimport type { DeepPartial, FieldValues, UseFormHandleSubmit, SubmitHandler, SubmitErrorHandler } from 'react-hook-form';\n\nimport type { ReferrerComponentType } from '../../design-system';\nimport {\n DesignSystemEventProviderAnalyticsEventTypes,\n DesignSystemEventProviderComponentTypes,\n useDesignSystemEventComponentCallbacks,\n} from '../../design-system/DesignSystemEventProvider';\nimport { LoadingState } from '../../design-system/LoadingState';\nimport type { AnalyticsEventPropsWithStartInteraction } from '../../design-system/types';\n\nconst FormContext = React.createContext<{\n componentId?: string;\n isSubmitting: boolean;\n formRef?: React.MutableRefObject<HTMLFormElement | null>;\n}>({ componentId: undefined, isSubmitting: false, formRef: undefined });\n\nexport const useFormContext = () => React.useContext(FormContext);\n\nexport type FormProps = {\n onSubmit: (event: FormEvent) => Promise<void>;\n} & AnalyticsEventPropsWithStartInteraction<DesignSystemEventProviderAnalyticsEventTypes.OnSubmit> &\n Omit<React.ComponentProps<'form'>, 'onSubmit'>;\n\n/**\n * Form is a wrapper around the form element that allows us to track the active element before the form is submitted.\n * This is useful for analytics purposes to know what component was last focused when the form was sent for submission.\n *\n * NOTE: Form component cannot be nested.\n */\nexport const Form = ({\n children,\n componentId,\n analyticsEvents = [DesignSystemEventProviderAnalyticsEventTypes.OnSubmit],\n onSubmit,\n shouldStartInteraction,\n ...otherProps\n}: FormProps) => {\n const formContext = useFormContext();\n const formRef = useRef<HTMLFormElement | null>(null);\n const eventRef = useRef<React.UIEvent | null>(null);\n if (formContext.componentId !== undefined) {\n throw new Error('DuBois Form component cannot be nested');\n }\n\n const memoizedAnalyticsEvents = useMemo(() => analyticsEvents, [analyticsEvents]);\n const eventContext = useDesignSystemEventComponentCallbacks({\n componentType: DesignSystemEventProviderComponentTypes.Form,\n componentId,\n analyticsEvents: memoizedAnalyticsEvents,\n shouldStartInteraction,\n });\n\n const [isSubmitting, setIsSubmitting] = useState(false);\n\n const onSubmitHandler = useCallback<React.FormEventHandler<HTMLFormElement>>(\n async (e) => {\n try {\n setIsSubmitting(true);\n eventContext.onSubmit({\n event: e,\n initialState: undefined,\n finalState: undefined,\n referrerComponent: extractReferrerComponent(),\n });\n await onSubmit(e);\n } finally {\n setIsSubmitting(false);\n }\n },\n [eventContext, onSubmit],\n );\n const contextValue = useMemo(() => ({ componentId, isSubmitting, eventRef, formRef }), [componentId, isSubmitting]);\n\n return (\n <FormContext.Provider value={contextValue}>\n <form onSubmit={onSubmitHandler} {...otherProps} ref={formRef} {...eventContext.dataComponentProps}>\n {isSubmitting && <LoadingState description={componentId} />}\n {children}\n </form>\n </FormContext.Provider>\n );\n};\n\nexport type RhfFormProps<T extends FieldValues> = {\n /**\n * @param handleSubmit - The handleSubmit function from react-hook-form\n */\n handleSubmit: UseFormHandleSubmit<T>;\n /**\n * @param handleValid - The onValid callback for handleSubmit from react-hook-form; this is called when the form is\n * valid according to react-hook-form and after the form is submitted\n */\n handleValid: SubmitHandler<T>;\n /**\n * @param handleInvalid - The onInvalid callback for handleSubmit from react-hook-form; this is called when the form is\n * invalid according to react-hook-form and after the form is submitted\n */\n handleInvalid?: SubmitErrorHandler<T>;\n /**\n * @param initialState - The values of the form when it was first rendered with its default values\n */\n initialState?: DeepPartial<T>;\n /**\n * @param processFinalPropertyValues - A function that can be used to process the data that is passed to the\n * final_values property in the FORM_SUBMIT event\n */\n processFinalPropertyValues?: (data: T) => T;\n} & AnalyticsEventPropsWithStartInteraction<DesignSystemEventProviderAnalyticsEventTypes.OnSubmit> &\n Omit<React.ComponentProps<'form'>, 'onSubmit'>;\n\n/**\n * Form is a wrapper around the Form DuBois component to better integrate with React Hook Form and to track the active\n * element before the form is submitted. This is useful for analytics purposes to know what component was last focused\n * when the form was sent for submission, along with being able to pass in the initial and final values of the form.\n *\n * Internal implementation details:\n * The form is wrapped in a Form component to share implementation details along with associating the HTML form\n * submission event with interaction details. The Form component does not emit analytics events, but the RHF\n * component will emit the events once the RHF lifecycle events occur so we can relay the form property values.\n *\n * NOTE: Form components cannot be nested.\n */\nexport const RhfForm = <T extends FieldValues>({\n handleSubmit,\n handleValid,\n handleInvalid,\n processFinalPropertyValues,\n children,\n componentId,\n analyticsEvents = [DesignSystemEventProviderAnalyticsEventTypes.OnSubmit],\n shouldStartInteraction,\n initialState,\n ...otherProps\n}: RhfFormProps<T>) => {\n const memoizedAnalyticsEvents = useMemo(() => analyticsEvents, [analyticsEvents]);\n const eventContext = useDesignSystemEventComponentCallbacks({\n componentType: DesignSystemEventProviderComponentTypes.Form,\n componentId,\n analyticsEvents: memoizedAnalyticsEvents,\n shouldStartInteraction,\n });\n const onValidWrapper: SubmitHandler<T> = useCallback(\n async (data, e) => {\n const refinedData = processFinalPropertyValues ? processFinalPropertyValues(data) : data;\n eventContext.onSubmit({\n event: e as FormEvent,\n initialState,\n finalState: refinedData,\n referrerComponent: extractReferrerComponent(),\n });\n await handleValid(data, e);\n },\n [eventContext, initialState, handleValid, processFinalPropertyValues],\n );\n const onInvalidWrapper: SubmitErrorHandler<T> = useCallback(\n async (errors, e) => {\n eventContext.onSubmit({\n event: e as FormEvent,\n initialState,\n finalState: undefined,\n referrerComponent: extractReferrerComponent(),\n });\n if (handleInvalid) {\n await handleInvalid(errors, e);\n }\n },\n [eventContext, initialState, handleInvalid],\n );\n const onSubmitWrapper = useCallback(\n async (e) => {\n await handleSubmit(onValidWrapper, onInvalidWrapper)(e);\n },\n [handleSubmit, onInvalidWrapper, onValidWrapper],\n );\n return (\n <Form\n componentId={componentId}\n analyticsEvents={[]} // Needed to disable events\n onSubmit={onSubmitWrapper}\n {...otherProps}\n >\n {children}\n </Form>\n );\n};\n\nfunction extractReferrerComponent(): ReferrerComponentType | undefined {\n const activeElement = document.activeElement as HTMLOrSVGElement | null;\n const { componentType, componentId } = activeElement?.dataset ?? {};\n if (componentType && componentId) {\n return {\n type: componentType as DesignSystemEventProviderComponentTypes,\n id: componentId,\n };\n }\n\n return undefined;\n}\n","import type { CSSObject, SerializedStyles } from '@emotion/react';\nimport { css } from '@emotion/react';\nimport type { ButtonProps as AntDButtonProps } from 'antd';\nimport { Button as AntDButton } from 'antd';\nimport type { ReactElement } from 'react';\nimport { forwardRef, useCallback, useEffect, useImperativeHandle, useMemo } from 'react';\n\nimport {\n getDefaultStyles,\n getDisabledDefaultStyles,\n getDisabledErrorStyles,\n getDisabledPrimaryStyles,\n getDisabledTertiaryStyles,\n getLinkStyles,\n getPrimaryDangerStyles,\n getPrimaryStyles,\n getSecondaryDangerStyles,\n} from './styles';\nimport { useFormContext } from '../../development/Form/Form';\nimport type { ComponentTheme, Theme } from '../../theme';\nimport {\n DesignSystemEventProviderAnalyticsEventTypes,\n DesignSystemEventProviderComponentTypes,\n useDesignSystemEventComponentCallbacks,\n} from '../DesignSystemEventProvider';\nimport { DesignSystemAntDConfigProvider, getAnimationCss } from '../DesignSystemProvider';\nimport { useDesignSystemTheme } from '../Hooks';\nimport type { WithLoadingState } from '../LoadingState/LoadingState';\nimport { Spinner } from '../Spinner';\nimport type { AnalyticsEventPropsWithStartInteraction, DangerouslySetAntdProps, HTMLDataAttributes } from '../types';\nimport { useDesignSystemSafexFlags, useNotifyOnFirstView } from '../utils';\nimport { importantify } from '../utils/css-utils';\nimport { addDebugOutlineIfEnabled } from '../utils/debug';\nimport { safex } from '../utils/safex';\n\nexport const SMALL_BUTTON_HEIGHT = 24;\n\nconst buttonStylesCache = new WeakMap<ComponentTheme, Map<string, SerializedStyles>>();\n\nexport const getMemoizedButtonEmotionStyles = (props: Parameters<typeof getButtonEmotionStyles>[0]) => {\n // Theme is a large object, so cache it by ref using a WeakMap,\n // and then JSON.stringify() the rest of the props as the cache key.\n const { theme, ...rest } = props;\n const themeCache = buttonStylesCache.get(theme) || new Map();\n\n if (!buttonStylesCache.has(theme)) {\n buttonStylesCache.set(theme, themeCache);\n }\n\n const cacheKey = JSON.stringify(rest);\n const cachedStyles = themeCache.get(cacheKey);\n if (cachedStyles) {\n return cachedStyles;\n }\n\n const styles = getButtonEmotionStyles(props);\n themeCache.set(cacheKey, styles);\n\n return styles;\n};\n\nfunction getEndIconClsName(theme: Theme) {\n return `${theme.general.iconfontCssPrefix}-btn-end-icon`;\n}\n\nexport const getButtonEmotionStyles = ({\n theme,\n classNamePrefix,\n loading,\n withIcon,\n onlyIcon,\n isAnchor,\n enableAnimation,\n size,\n type,\n useFocusPseudoClass,\n forceIconStyles,\n danger,\n useNewShadows,\n useNewBorderRadii,\n}: {\n theme: ComponentTheme;\n classNamePrefix: string;\n loading?: boolean;\n withIcon?: boolean;\n onlyIcon?: boolean;\n isAnchor?: boolean;\n danger?: boolean;\n enableAnimation: boolean;\n size: ButtonSize;\n type?: ButtonProps['type'];\n useFocusPseudoClass?: boolean;\n forceIconStyles?: boolean;\n useNewShadows: boolean;\n useNewBorderRadii: boolean;\n}): SerializedStyles => {\n const clsIcon = `.${theme.general.iconfontCssPrefix}`;\n const clsEndIcon = `.${getEndIconClsName(theme)}`;\n const clsLoadingIcon = `.${classNamePrefix}-btn-loading-icon`;\n const clsIconOnly = `.${classNamePrefix}-btn-icon-only`;\n const classPrimary = `.${classNamePrefix}-btn-primary`;\n const classLink = `.${classNamePrefix}-btn-link`;\n const classDangerous = `.${classNamePrefix}-btn-dangerous`;\n\n const tertiaryColors = {\n background: theme.colors.actionTertiaryBackgroundDefault,\n color: theme.colors.actionTertiaryTextDefault,\n ...(useNewShadows && {\n boxShadow: 'none',\n }),\n\n '&:hover': {\n background: theme.colors.actionTertiaryBackgroundHover,\n color: theme.colors.actionTertiaryTextHover,\n },\n\n '&:active': {\n background: theme.colors.actionTertiaryBackgroundPress,\n color: theme.colors.actionTertiaryTextPress,\n },\n };\n\n const iconCss = {\n fontSize: theme.general.iconFontSize,\n lineHeight: 0,\n ...(size === 'small' && {\n lineHeight: theme.typography.lineHeightSm,\n height: 16,\n ...((onlyIcon || forceIconStyles) && {\n fontSize: 16,\n }),\n }),\n };\n const inactiveIconCss = {\n color: theme.colors.textSecondary,\n };\n const endIconCssSelector = `span > ${clsEndIcon} > ${clsIcon}`;\n const styles: CSSObject = {\n lineHeight: theme.typography.lineHeightBase,\n boxShadow: useNewShadows ? theme.shadows.xs : 'none',\n height: theme.general.heightSm,\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n verticalAlign: 'middle',\n ...(useNewBorderRadii && {\n borderRadius: theme.borders.borderRadiusSm,\n }),\n\n ...(!onlyIcon &&\n !forceIconStyles && {\n '&&': {\n padding: '4px 12px',\n\n ...(size === 'small' && {\n padding: '0 8px',\n }),\n },\n }),\n\n ...((onlyIcon || forceIconStyles) && {\n width: theme.general.heightSm,\n }),\n\n ...(size === 'small' && {\n height: SMALL_BUTTON_HEIGHT,\n lineHeight: theme.typography.lineHeightBase,\n\n ...((onlyIcon || forceIconStyles) && {\n width: SMALL_BUTTON_HEIGHT,\n paddingTop: 0,\n paddingBottom: 0,\n verticalAlign: 'middle',\n }),\n }),\n\n '&:focus-visible': {\n outlineStyle: 'solid',\n outlineWidth: '2px',\n outlineOffset: '1px',\n outlineColor: theme.isDarkMode ? theme.colors.actionDefaultBorderFocus : theme.colors.actionDefaultBorderFocus,\n },\n\n ...getDefaultStyles(theme, loading),\n\n [`&${classPrimary}`]: {\n ...getPrimaryStyles(theme),\n },\n\n [`&${classLink}`]: {\n ...getLinkStyles(theme),\n ...(type === 'link' && {\n padding: 'unset',\n height: 'auto',\n border: 'none',\n boxShadow: 'none',\n\n '&[disabled],&:hover': {\n background: 'none',\n },\n }),\n },\n\n [`&${classDangerous}${classPrimary}`]: {\n ...getPrimaryDangerStyles(theme),\n },\n\n [`&${classDangerous}`]: {\n ...getSecondaryDangerStyles(theme),\n },\n\n [`&[disabled]`]: {\n ...getDisabledDefaultStyles(theme, useNewShadows),\n },\n\n [`&${classLink}:disabled`]: {\n ...getDisabledTertiaryStyles(theme, useNewShadows),\n },\n\n [`&${classDangerous}:disabled`]: {\n ...getDisabledErrorStyles(theme, useNewShadows),\n },\n\n [`&${classPrimary}:disabled`]: {\n ...getDisabledPrimaryStyles(theme, useNewShadows),\n },\n\n [`&[disabled], &${classDangerous}:disabled`]: {\n ...(useNewShadows && { boxShadow: 'none' }),\n ...((onlyIcon || forceIconStyles) && {\n backgroundColor: 'transparent',\n '&:hover': {\n backgroundColor: 'transparent',\n },\n '&:active': {\n backgroundColor: 'transparent',\n },\n }),\n },\n\n [`&[disabled] > ${clsIcon}`]: {\n color: 'inherit !important',\n },\n\n [clsLoadingIcon]: {\n display: 'none',\n },\n\n // Loading styles\n ...(loading && {\n '::before': {\n opacity: 0,\n },\n cursor: 'default',\n\n [`${clsLoadingIcon}`]: {\n ...(onlyIcon\n ? {\n // In case of only icon, the icon is already centered but vertically not aligned, this fixes that\n verticalAlign: 'middle',\n }\n : {\n // Position loading indicator in center\n // This would break vertical centering of loading circle when onlyIcon is true\n position: 'absolute',\n }),\n\n // Re-enable animation for the loading spinner, since it can be disabled by the global animation CSS.\n svg: {\n animationDuration: '1s !important',\n },\n },\n\n [`& > ${clsLoadingIcon} .anticon`]: {\n paddingRight: 0, // to horizontally center icon\n },\n\n [`> :not(${clsLoadingIcon})`]: {\n // Hide all content except loading icon\n opacity: 0,\n visibility: 'hidden',\n // Add horizontal space for icon\n ...(withIcon && { paddingLeft: theme.general.iconFontSize + theme.spacing.xs }),\n },\n }),\n\n // Icon styles\n [`> ${clsIcon} + span, > span + ${clsIcon}`]: {\n marginRight: 0,\n marginLeft: theme.spacing.xs,\n },\n\n [`> ${clsIcon}`]: iconCss,\n [`> ${endIconCssSelector}`]: {\n ...iconCss,\n marginLeft: size === 'small' ? theme.spacing.xs : theme.spacing.sm,\n },\n\n ...(!type &&\n !danger && {\n [`&:enabled:not(:hover):not(:active) > ${clsIcon}`]: inactiveIconCss,\n }),\n ...(!type &&\n !danger && {\n [`&:enabled:not(:hover):not(:active) > ${endIconCssSelector}`]: inactiveIconCss,\n }),\n\n // Disable animations\n [`&[${classNamePrefix}-click-animating-without-extra-node='true']::after`]: {\n display: 'none',\n },\n\n [`&${clsIconOnly}`]: {\n border: 'none',\n ...(useNewShadows && {\n boxShadow: 'none',\n }),\n\n [`&:enabled:not(${classLink})`]: {\n ...tertiaryColors,\n color: theme.colors.textSecondary,\n\n '&:hover > .anticon': {\n color: tertiaryColors['&:hover'].color,\n\n ...(danger && {\n color: theme.colors.actionDangerDefaultTextHover,\n }),\n },\n\n '&:active > .anticon': {\n color: tertiaryColors['&:active'].color,\n\n ...(danger && {\n color: theme.colors.actionDangerDefaultTextPress,\n }),\n },\n\n ...(loading && {\n '&&, &:hover, &:active': {\n backgroundColor: 'transparent',\n },\n }),\n },\n\n [`&:enabled:not(${classLink}) > .anticon`]: {\n color: theme.colors.textSecondary,\n\n ...(danger && {\n color: theme.colors.actionDangerDefaultTextDefault,\n }),\n },\n\n ...(isAnchor && {\n lineHeight: `${theme.general.heightSm}px`,\n ...getLinkStyles(theme),\n\n '&:disabled': {\n color: theme.colors.actionDisabledText,\n },\n }),\n\n ...(loading && {\n '&&, &:hover, &:active': {\n backgroundColor: 'transparent',\n },\n }),\n\n '&[disabled]:hover': {\n backgroundColor: 'transparent',\n },\n },\n\n [`&:focus`]: {\n ...(useFocusPseudoClass && {\n outlineStyle: 'solid',\n outlineWidth: '2px',\n outlineOffset: '1px',\n outlineColor: theme.isDarkMode ? theme.colors.actionDefaultBorderFocus : theme.colors.actionDefaultBorderFocus,\n }),\n [`${clsLoadingIcon}`]: {\n ...(onlyIcon && {\n // Mitigate wrong left offset for loading state with onlyIcon\n left: 0,\n }),\n },\n },\n\n ...(forceIconStyles && {\n padding: '0 6px',\n lineHeight: theme.typography.lineHeightSm,\n color: theme.colors.textSecondary,\n\n ...(loading && {\n '&&, &:hover, &:active': {\n backgroundColor: 'transparent',\n borderColor: theme.colors.actionDefaultBorderDefault,\n },\n\n '&[disabled], &[disabled]:hover, &[disabled]:active': {\n backgroundColor: 'transparent',\n borderColor: 'transparent',\n },\n }),\n\n '& > span': {\n verticalAlign: -1,\n height: theme.general.heightSm / 2,\n width: theme.general.heightSm / 2,\n },\n\n [`& > ${clsLoadingIcon} .anticon`]: {\n // left: `calc(50% - 6px)!important`,\n height: theme.general.heightSm / 2,\n width: theme.general.heightSm / 2,\n padding: 0,\n },\n }),\n\n ...getAnimationCss(enableAnimation),\n };\n\n // Moved outside main style object because state & selector matching in the already existing object keys can create bugs and unwanted overwrites\n const typeStyles: CSSObject = {\n ...(type === 'tertiary' && {\n [`&:enabled:not(${clsIconOnly})`]: tertiaryColors,\n [`&${classLink}[disabled]`]: {\n ...getDisabledTertiaryStyles(theme, useNewShadows),\n },\n }),\n };\n\n const importantStyles = importantify(styles);\n const importantTypeStyles = importantify(typeStyles);\n\n return css(importantStyles, importantTypeStyles);\n};\n\nexport type ButtonSize = 'middle' | 'small';\n\nexport interface ButtonProps\n extends Omit<AntDButtonProps, 'type' | 'ghost' | 'shape' | 'size'>,\n HTMLDataAttributes,\n DangerouslySetAntdProps<AntDButtonProps>,\n Omit<WithLoadingState, 'loading'>,\n AnalyticsEventPropsWithStartInteraction<\n DesignSystemEventProviderAnalyticsEventTypes.OnClick | DesignSystemEventProviderAnalyticsEventTypes.OnView\n > {\n type?: 'primary' | 'link' | 'tertiary';\n size?: ButtonSize;\n endIcon?: React.ReactNode;\n dangerouslySetForceIconStyles?: boolean;\n // useFocusPseudoClass enable focus pseudo-class which uses the same styles\n // as focus-visible pseudo-class. This is a hacky way to mimic\n // HTMLElement.focus()({ focusVisible: true }) given focusVisible paramenter is not yet\n // implemented in all browsers\n dangerouslyUseFocusPseudoClass?: boolean;\n // adds styles to the `span` which wraps the text content and right icon\n // ask in #dubois before using.\n dangerouslyAppendWrapperCss?: React.CSSProperties;\n}\n\nexport const Button = /* #__PURE__ */ (() => {\n const Button = forwardRef<HTMLButtonElement, ButtonProps>(function Button(\n // Keep size out of props passed to AntD to make deprecation and eventual removal have 0 impact\n {\n dangerouslySetAntdProps,\n children,\n size,\n type,\n loading: loadingProp,\n loadingDescription,\n endIcon,\n onClick,\n dangerouslySetForceIconStyles,\n dangerouslyUseFocusPseudoClass,\n dangerouslyAppendWrapperCss,\n componentId,\n analyticsEvents,\n shouldStartInteraction,\n ...props\n },\n ref,\n ): ReactElement {\n const emitOnView = safex('databricks.fe.observability.defaultButtonComponentView', true);\n const formContext = useFormContext();\n const { theme, classNamePrefix } = useDesignSystemTheme();\n const { useNewShadows, useNewBorderRadii } = useDesignSystemSafexFlags();\n const memoizedAnalyticsEvents = useMemo(\n () =>\n analyticsEvents ??\n (emitOnView\n ? [DesignSystemEventProviderAnalyticsEventTypes.OnClick, DesignSystemEventProviderAnalyticsEventTypes.OnView]\n : [DesignSystemEventProviderAnalyticsEventTypes.OnClick]),\n [analyticsEvents, emitOnView],\n );\n const eventContext = useDesignSystemEventComponentCallbacks({\n componentType: DesignSystemEventProviderComponentTypes.Button,\n componentId,\n analyticsEvents: memoizedAnalyticsEvents,\n shouldStartInteraction,\n // If the button is a submit button and is part of a form, it is not the subject of the interaction, the form submission is\n isInteractionSubject: !(props.htmlType === 'submit' && formContext.componentId),\n });\n const clsEndIcon = getEndIconClsName(theme);\n const loadingCls = `${classNamePrefix}-btn-loading-icon`;\n\n const { elementRef: buttonRef } = useNotifyOnFirstView<HTMLButtonElement>({ onView: eventContext.onView });\n useImperativeHandle(ref, () => buttonRef.current as HTMLButtonElement);\n\n const loading = loadingProp ?? (props.htmlType === 'submit' && formContext.isSubmitting);\n\n // Needed to keep backwards compatibility and support existing unit tests\n useEffect(() => {\n if (buttonRef.current) {\n if (loading) {\n buttonRef.current.setAttribute('loading', 'true');\n buttonRef.current.classList.add(`${classNamePrefix}-btn-loading`);\n } else {\n buttonRef.current.setAttribute('loading', 'false');\n buttonRef.current.classList.remove(`${classNamePrefix}-btn-loading`);\n }\n }\n }, [loading, classNamePrefix, buttonRef]);\n\n const iconOnly = Boolean((props.icon || endIcon) && !children);\n\n const handleClick = useCallback<React.MouseEventHandler<HTMLElement>>(\n (event) => {\n if (loading) {\n return;\n }\n\n eventContext.onClick(event);\n if (props.htmlType === 'submit' && formContext.formRef?.current) {\n event.preventDefault();\n formContext.formRef.current.requestSubmit();\n }\n onClick?.(event);\n },\n [loading, props.htmlType, formContext.formRef, eventContext, onClick],\n );\n\n const loadingSpinner = (\n <Spinner\n className={loadingCls}\n animationDuration={8}\n inheritColor\n label=\"loading\"\n aria-label=\"loading\"\n loadingDescription={loadingDescription ?? componentId}\n css={{\n color: 'inherit !important',\n pointerEvents: 'none',\n ...(!iconOnly &&\n !dangerouslySetForceIconStyles && {\n '.anticon': {\n verticalAlign: '-0.2em',\n },\n }),\n '[aria-hidden=\"true\"]': {\n display: 'inline',\n },\n }}\n />\n );\n\n return (\n <DesignSystemAntDConfigProvider>\n <AntDButton\n {...addDebugOutlineIfEnabled()}\n {...props}\n css={getMemoizedButtonEmotionStyles({\n theme,\n classNamePrefix,\n loading: Boolean(loading),\n withIcon: Boolean(props.icon),\n onlyIcon: iconOnly,\n isAnchor: Boolean(props.href && !type),\n danger: Boolean(props.danger),\n enableAnimation: theme.options.enableAnimation,\n size: size || 'middle',\n type,\n forceIconStyles: Boolean(dangerouslySetForceIconStyles),\n useFocusPseudoClass: Boolean(dangerouslyUseFocusPseudoClass),\n useNewShadows,\n useNewBorderRadii,\n })}\n href={props.disabled ? undefined : props.href}\n {...dangerouslySetAntdProps}\n onClick={handleClick}\n icon={loading ? loadingSpinner : props.icon}\n ref={buttonRef}\n type={type === 'tertiary' ? 'link' : type}\n {...eventContext.dataComponentProps}\n >\n {children && (\n <span\n style={{\n visibility: loading ? 'hidden' : undefined,\n display: 'inline-flex',\n alignItems: 'center',\n ...dangerouslyAppendWrapperCss,\n }}\n >\n {children}\n {endIcon && (\n <span className={clsEndIcon} style={{ display: 'inline-flex', alignItems: 'center' }}>\n {endIcon}\n </span>\n )}\n </span>\n )}\n </AntDButton>\n </DesignSystemAntDConfigProvider>\n );\n });\n\n // This is needed for other Ant components that wrap Button, such as Tooltip, to correctly\n // identify it as an Ant button.\n // This should be removed if the component is rewritten to no longer be a wrapper around Ant.\n // See: https://github.com/ant-design/ant-design/blob/6dd39c1f89b4d6632e6ed022ff1bc275ca1e0f1f/components/button/button.tsx#L291\n (Button as typeof Button & { __ANT_BUTTON: true }).__ANT_BUTTON = true;\n return Button;\n})();\n","import type { SerializedStyles } from '@emotion/react';\nimport { css } from '@emotion/react';\nimport { Typography as AntDTypography } from 'antd';\nimport type { ComponentProps } from 'react';\n\nimport type { Theme } from '../../theme';\nimport { DesignSystemAntDConfigProvider } from '../DesignSystemProvider';\nimport { useDesignSystemTheme } from '../Hooks';\nimport type { DangerouslySetAntdProps, TypographyColor, HTMLDataAttributes } from '../types';\nimport { addDebugOutlineIfEnabled } from '../utils/debug';\n\nconst { Text: AntDText } = AntDTypography;\n\ntype AntDTypographyProps = ComponentProps<typeof AntDTypography>;\ntype AntDTextProps = ComponentProps<typeof AntDTypography['Text']>;\n\nexport interface TypographyHintProps\n extends AntDTypographyProps,\n Pick<AntDTextProps, 'ellipsis' | 'id' | 'title' | 'aria-label'>,\n HTMLDataAttributes,\n DangerouslySetAntdProps<Omit<AntDTextProps, 'hint'>> {\n bold?: boolean;\n size?: 'sm' | 'md' | 'lg' | 'xl' | 'xxl';\n withoutMargins?: boolean;\n color?: TypographyColor;\n}\n\nfunction getTextEmotionStyles(theme: Theme, props: TypographyHintProps): SerializedStyles {\n return css({\n '&&': {\n display: 'block',\n fontSize: theme.typography.fontSizeSm,\n lineHeight: theme.typography.lineHeightSm,\n color: theme.colors.textSecondary,\n\n ...(props.withoutMargins && {\n '&&': {\n marginTop: 0,\n marginBottom: 0,\n },\n }),\n },\n });\n}\n\nexport function Hint(userProps: TypographyHintProps): JSX.Element {\n const { dangerouslySetAntdProps, bold, withoutMargins, color, ...props } = userProps;\n const { theme } = useDesignSystemTheme();\n\n return (\n <DesignSystemAntDConfigProvider>\n <AntDText\n {...addDebugOutlineIfEnabled()}\n {...props}\n css={getTextEmotionStyles(theme, userProps)}\n {...dangerouslySetAntdProps}\n />\n </DesignSystemAntDConfigProvider>\n );\n}\n","import type { Interpolation, SerializedStyles } from '@emotion/react';\nimport { css } from '@emotion/react';\nimport { useMergeRefs } from '@floating-ui/react';\nimport { Typography as AntDTypography } from 'antd';\nimport type { ComponentProps } from 'react';\nimport { forwardRef, useCallback, useMemo } from 'react';\n\nimport type { Theme } from '../../theme';\nimport {\n DesignSystemEventProviderAnalyticsEventTypes,\n DesignSystemEventProviderComponentTypes,\n useDesignSystemEventComponentCallbacks,\n} from '../DesignSystemEventProvider/DesignSystemEventProvider';\nimport { DesignSystemAntDConfigProvider } from '../DesignSystemProvider';\nimport { useDesignSystemTheme } from '../Hooks';\nimport { NewWindowIcon } from '../Icon';\nimport type { AnalyticsEventProps, DangerouslySetAntdProps, HTMLDataAttributes } from '../types';\nimport { useNotifyOnFirstView } from '../utils';\nimport { addDebugOutlineIfEnabled } from '../utils/debug';\nimport { safex } from '../utils/safex';\n\ntype AntDLinkProps = ComponentProps<typeof AntDTypography['Link']>;\n\nexport interface TypographyLinkProps\n extends AntDLinkProps,\n DangerouslySetAntdProps<AntDLinkProps>,\n HTMLDataAttributes,\n AnalyticsEventProps<\n DesignSystemEventProviderAnalyticsEventTypes.OnClick | DesignSystemEventProviderAnalyticsEventTypes.OnView\n > {\n /**\n * Configures a link to be opened in a new tab by setting `target` to `'_blank'`\n * and `rel` to `'noopener noreferrer'`, which is necessary for security, and\n * rendering an \"external link\" icon next to the link when `true`.\n */\n openInNewTab?: boolean;\n}\n\nconst getLinkStyles = (theme: Theme, clsPrefix: string): SerializedStyles => {\n const classTypography = `.${clsPrefix}-typography`;\n\n const styles: Interpolation<Theme> = {\n [`&${classTypography}, &${classTypography}:focus`]: {\n color: theme.colors.actionTertiaryTextDefault,\n },\n\n [`&${classTypography}:hover, &${classTypography}:hover .anticon`]: {\n color: theme.colors.actionTertiaryTextHover,\n textDecoration: 'underline',\n },\n\n [`&${classTypography}:active, &${classTypography}:active .anticon`]: {\n color: theme.colors.actionTertiaryTextPress,\n textDecoration: 'underline',\n },\n\n [`&${classTypography}:focus-visible`]: {\n textDecoration: 'underline',\n },\n\n '.anticon': {\n fontSize: 12,\n verticalAlign: 'baseline',\n },\n\n // manually update color for link within a LegacyTooltip since tooltip always has an inverted background color for light/dark mode\n // this is required for accessibility compliance\n [`.${clsPrefix}-tooltip-inner a&${classTypography}`]: {\n [`&, :focus`]: {\n color: theme.colors.blue500,\n '.anticon': { color: theme.colors.blue500 },\n },\n ':active': {\n color: theme.colors.blue500,\n '.anticon': { color: theme.colors.blue500 },\n },\n ':hover': {\n color: theme.colors.blue400,\n '.anticon': { color: theme.colors.blue400 },\n },\n },\n };\n\n return css(styles);\n};\n\nconst getEllipsisNewTabLinkStyles = (): SerializedStyles => {\n const styles: Interpolation<Theme> = {\n paddingRight: 'calc(2px + 1em)', // 1em for icon\n position: 'relative',\n };\n\n return css(styles);\n};\n\nconst getIconStyles = (theme: Theme): SerializedStyles => {\n const styles: Interpolation<Theme> = {\n marginLeft: 4,\n color: theme.colors.actionTertiaryTextDefault,\n position: 'relative',\n top: '1px',\n };\n\n return css(styles);\n};\n\nconst getEllipsisIconStyles = (useNewIcons?: boolean): SerializedStyles => {\n const styles: Interpolation<Theme> = {\n position: 'absolute',\n right: 0,\n bottom: 0,\n top: 0,\n display: 'flex',\n alignItems: 'center',\n ...(useNewIcons && {\n fontSize: 12,\n }),\n };\n\n return css(styles);\n};\n\nexport const Link = forwardRef<HTMLAnchorElement, TypographyLinkProps>(function Link(\n { dangerouslySetAntdProps, componentId, analyticsEvents, onClick, ...props },\n ref,\n) {\n const emitOnView = safex('databricks.fe.observability.defaultComponentView.typographyLink', false);\n const { children, openInNewTab, ...restProps } = props;\n const { theme, classNamePrefix } = useDesignSystemTheme();\n const memoizedAnalyticsEvents = useMemo(\n () =>\n analyticsEvents ??\n (emitOnView\n ? [DesignSystemEventProviderAnalyticsEventTypes.OnClick, DesignSystemEventProviderAnalyticsEventTypes.OnView]\n : [DesignSystemEventProviderAnalyticsEventTypes.OnClick]),\n [analyticsEvents, emitOnView],\n );\n const eventContext = useDesignSystemEventComponentCallbacks({\n componentType: DesignSystemEventProviderComponentTypes.TypographyLink,\n componentId,\n analyticsEvents: memoizedAnalyticsEvents,\n shouldStartInteraction: false,\n });\n const { elementRef: linkRef } = useNotifyOnFirstView<HTMLAnchorElement>({\n onView: eventContext.onView,\n });\n const mergedRef = useMergeRefs([ref, linkRef]);\n\n const onClickHandler: React.MouseEventHandler<HTMLAnchorElement> = useCallback(\n (e) => {\n eventContext.onClick(e);\n onClick?.(e);\n },\n [eventContext, onClick],\n );\n\n const newTabProps = {\n rel: 'noopener noreferrer',\n target: '_blank',\n };\n\n const linkProps = openInNewTab ? { ...restProps, ...newTabProps } : { ...restProps };\n\n const linkStyles =\n props.ellipsis && openInNewTab\n ? [getLinkStyles(theme, classNamePrefix), getEllipsisNewTabLinkStyles()]\n : getLinkStyles(theme, classNamePrefix);\n const iconStyles = props.ellipsis ? [getIconStyles(theme), getEllipsisIconStyles()] : getIconStyles(theme);\n\n return (\n <DesignSystemAntDConfigProvider>\n <AntDTypography.Link\n {...addDebugOutlineIfEnabled()}\n aria-disabled={linkProps.disabled}\n css={linkStyles}\n ref={mergedRef}\n onClick={onClickHandler}\n {...linkProps}\n {...dangerouslySetAntdProps}\n {...eventContext.dataComponentProps}\n >\n {children}\n {openInNewTab ? <NewWindowIcon css={iconStyles} {...newTabProps} /> : null}\n </AntDTypography.Link>\n </DesignSystemAntDConfigProvider>\n );\n});\n","import type { SerializedStyles } from '@emotion/react';\nimport { css } from '@emotion/react';\nimport { Typography as AntDTypography } from 'antd';\nimport type { ComponentProps } from 'react';\n\nimport type { Theme } from '../../theme';\nimport { DesignSystemAntDConfigProvider } from '../DesignSystemProvider';\nimport { useDesignSystemTheme } from '../Hooks';\nimport type { DangerouslySetAntdProps, TypographyColor, HTMLDataAttributes } from '../types';\nimport { getTypographyColor } from '../utils/css-utils';\nimport { addDebugOutlineIfEnabled } from '../utils/debug';\n\nconst { Paragraph: AntDParagraph } = AntDTypography;\n\ntype AntDTypographyProps = ComponentProps<typeof AntDTypography>;\ntype AntDParagraphProps = ComponentProps<typeof AntDTypography['Paragraph']>;\n\nexport interface TypographyParagraphProps\n extends AntDTypographyProps,\n Pick<AntDParagraphProps, 'ellipsis' | 'disabled' | 'id' | 'title' | 'aria-label'>,\n HTMLDataAttributes,\n DangerouslySetAntdProps<AntDParagraphProps> {\n withoutMargins?: boolean;\n color?: TypographyColor;\n}\n\nfunction getParagraphEmotionStyles(theme: Theme, clsPrefix: string, props: TypographyParagraphProps): SerializedStyles {\n return css(\n {\n '&&': {\n fontSize: theme.typography.fontSizeBase,\n fontWeight: theme.typography.typographyRegularFontWeight,\n lineHeight: theme.typography.lineHeightBase,\n color: getTypographyColor(theme, props.color, theme.colors.textPrimary),\n },\n '& .anticon': {\n verticalAlign: 'text-bottom',\n },\n [`& .${clsPrefix}-btn-link`]: {\n verticalAlign: 'baseline !important',\n },\n },\n props.disabled && { '&&': { color: theme.colors.actionDisabledText } },\n props.withoutMargins && {\n '&&': {\n marginTop: 0,\n marginBottom: 0,\n },\n },\n );\n}\n\nexport function Paragraph(userProps: TypographyParagraphProps): JSX.Element {\n const { dangerouslySetAntdProps, withoutMargins, color, ...props } = userProps;\n const { theme, classNamePrefix } = useDesignSystemTheme();\n\n return (\n <DesignSystemAntDConfigProvider>\n <AntDParagraph\n {...addDebugOutlineIfEnabled()}\n {...props}\n className={props.className}\n css={getParagraphEmotionStyles(theme, classNamePrefix, userProps)}\n {...dangerouslySetAntdProps}\n />\n </DesignSystemAntDConfigProvider>\n );\n}\n","import type { SerializedStyles } from '@emotion/react';\nimport { css } from '@emotion/react';\nimport { Typography as AntDTypography } from 'antd';\nimport type { ComponentProps } from 'react';\n\nimport type { Theme } from '../../theme';\nimport { DesignSystemAntDConfigProvider } from '../DesignSystemProvider';\nimport { useDesignSystemTheme } from '../Hooks';\nimport type { DangerouslySetAntdProps, TypographyColor, HTMLDataAttributes } from '../types';\nimport { getTypographyColor } from '../utils/css-utils';\nimport { addDebugOutlineIfEnabled } from '../utils/debug';\n\nconst { Text: AntDText } = AntDTypography;\n\ntype AntDTypographyProps = ComponentProps<typeof AntDTypography>;\ntype AntDTextProps = ComponentProps<typeof AntDTypography['Text']>;\n\nexport interface TypographyTextProps\n extends AntDTypographyProps,\n Pick<AntDTextProps, 'ellipsis' | 'disabled' | 'code' | 'id' | 'title' | 'aria-label'>,\n HTMLDataAttributes,\n DangerouslySetAntdProps<AntDTextProps> {\n bold?: boolean;\n /**\n * @deprecated Use `Typography.Hint` instead\n */\n hint?: boolean;\n size?: 'sm' | 'md' | 'lg' | 'xl' | 'xxl';\n withoutMargins?: boolean;\n color?: TypographyColor;\n}\n\nfunction getTextEmotionStyles(theme: Theme, props: TypographyTextProps): SerializedStyles {\n return css(\n {\n '&&': {\n fontSize: theme.typography.fontSizeBase,\n fontWeight: theme.typography.typographyRegularFontWeight,\n lineHeight: theme.typography.lineHeightBase,\n color: getTypographyColor(theme, props.color, theme.colors.textPrimary),\n },\n },\n props.disabled && { '&&': { color: theme.colors.actionDisabledText } },\n props.hint && {\n '&&': { fontSize: theme.typography.fontSizeSm, lineHeight: theme.typography.lineHeightSm },\n },\n props.bold && {\n '&&': {\n fontSize: theme.typography.fontSizeBase,\n fontWeight: theme.typography.typographyBoldFontWeight,\n lineHeight: theme.typography.lineHeightBase,\n },\n },\n props.code && {\n '&& > code': {\n color: theme.colors.textPrimary,\n fontSize: theme.typography.fontSizeBase,\n lineHeight: theme.typography.lineHeightBase,\n background: theme.colors.typographyCodeBg,\n fontFamily: 'monospace',\n borderRadius: theme.borders.borderRadiusSm,\n padding: '2px 4px',\n border: 'unset',\n margin: 0,\n },\n },\n props.size && {\n '&&': (() => {\n switch (props.size) {\n case 'xxl':\n return {\n fontSize: theme.typography.fontSizeXxl,\n lineHeight: theme.typography.lineHeightXxl,\n '& .anticon': {\n lineHeight: theme.typography.lineHeightXxl,\n verticalAlign: 'middle',\n },\n };\n case 'xl':\n return {\n fontSize: theme.typography.fontSizeXl,\n lineHeight: theme.typography.lineHeightXl,\n '& .anticon': {\n lineHeight: theme.typography.lineHeightXl,\n verticalAlign: 'middle',\n },\n };\n case 'lg':\n return {\n fontSize: theme.typography.fontSizeLg,\n lineHeight: theme.typography.lineHeightLg,\n '& .anticon': {\n lineHeight: theme.typography.lineHeightLg,\n verticalAlign: 'middle',\n },\n };\n case 'sm':\n return {\n fontSize: theme.typography.fontSizeSm,\n lineHeight: theme.typography.lineHeightSm,\n '& .anticon': {\n verticalAlign: '-0.219em',\n },\n };\n default:\n return {};\n }\n })(),\n },\n props.withoutMargins && {\n '&&': {\n marginTop: 0,\n marginBottom: 0,\n },\n },\n );\n}\n\nexport function Text(userProps: TypographyTextProps): JSX.Element {\n // Omit props that are not supported by `antd`\n const { dangerouslySetAntdProps, bold, hint, withoutMargins, color, ...props } = userProps;\n const { theme } = useDesignSystemTheme();\n return (\n <DesignSystemAntDConfigProvider>\n <AntDText\n {...addDebugOutlineIfEnabled()}\n {...props}\n className={props.className}\n css={getTextEmotionStyles(theme, userProps)}\n {...dangerouslySetAntdProps}\n />\n </DesignSystemAntDConfigProvider>\n );\n}\n","import { uniqueId } from 'lodash';\nimport { useEffect, useMemo } from 'react';\n\nimport { Text } from './Text';\nimport type { TypographyTextProps } from './Text';\n\nconst MiddleElideSuffixLength = 6;\n\nexport type TypographyTextMiddleElideProps = Omit<TypographyTextProps, 'ellipsis' | 'children'> & {\n text: string;\n suffixLength?: number;\n};\n\nexport function TextMiddleElide({\n text,\n suffixLength = MiddleElideSuffixLength,\n ...textProps\n}: TypographyTextMiddleElideProps): JSX.Element {\n const id = useMemo(() => uniqueId('text-middle-elided-'), []);\n const { start, suffix } = getStartAndSuffix(text, suffixLength);\n const disableElide = process?.env?.NODE_ENV === 'test'; // so unit tests play nice\n\n // use the entire text on select and copy\n useEffect(() => {\n const clipboardCopyHandler = (e: ClipboardEvent) => {\n e?.preventDefault();\n e?.clipboardData?.setData('text/plain', text);\n };\n\n const selector = `.${id}`;\n document.querySelector(selector)?.addEventListener('copy', clipboardCopyHandler as any);\n return () => {\n document.querySelector(selector)?.removeEventListener('copy', clipboardCopyHandler as any);\n };\n }, [id, text]);\n\n return (\n <Text\n ellipsis={disableElide ? undefined : { suffix }}\n {...textProps}\n aria-label={text}\n title={textProps.title ?? text}\n className={id}\n >\n {disableElide ? text : start}\n </Text>\n );\n}\n\n// Exported for unit tests\nexport function getStartAndSuffix(text: string, suffixLength: number) {\n if (text.length <= suffixLength) {\n return { start: text, suffix: undefined };\n }\n const start = text.slice(0, text.length - suffixLength).trim();\n const suffix = text.slice(-suffixLength).trim();\n return { start, suffix };\n}\n","import type { SerializedStyles } from '@emotion/react';\nimport { css } from '@emotion/react';\nimport { Typography as AntDTypography } from 'antd';\nimport type { ComponentProps } from 'react';\n\nimport type { Theme } from '../../theme';\nimport { DesignSystemAntDConfigProvider } from '../DesignSystemProvider';\nimport { useDesignSystemTheme } from '../Hooks';\nimport type { DangerouslySetAntdProps, TypographyColor, HTMLDataAttributes } from '../types';\nimport { getTypographyColor } from '../utils/css-utils';\nimport { addDebugOutlineIfEnabled } from '../utils/debug';\n\nconst { Title: AntDTitle } = AntDTypography;\n\ntype AntDTypographyProps = ComponentProps<typeof AntDTypography>;\ntype AntDTitleProps = ComponentProps<typeof AntDTypography['Title']>;\n\nexport interface TypographyTitleProps\n extends AntDTypographyProps,\n Pick<AntDTitleProps, 'level' | 'ellipsis' | 'id' | 'title' | 'aria-label'>,\n HTMLDataAttributes,\n DangerouslySetAntdProps<AntDTitleProps> {\n withoutMargins?: boolean;\n color?: TypographyColor;\n /** Only controls the HTML element rendered, styles are controlled by `level` prop */\n elementLevel?: AntDTitleProps['level'];\n}\n\nfunction getLevelStyles(theme: Theme, props: TypographyTitleProps): SerializedStyles {\n switch (props.level) {\n case 1:\n return css({\n '&&': {\n fontSize: theme.typography.fontSizeXxl,\n lineHeight: theme.typography.lineHeightXxl,\n fontWeight: theme.typography.typographyBoldFontWeight,\n },\n '& > .anticon': {\n lineHeight: theme.typography.lineHeightXxl,\n },\n });\n case 2:\n return css({\n '&&': {\n fontSize: theme.typography.fontSizeXl,\n lineHeight: theme.typography.lineHeightXl,\n fontWeight: theme.typography.typographyBoldFontWeight,\n },\n '& > .anticon': {\n lineHeight: theme.typography.lineHeightXl,\n },\n });\n case 3:\n return css({\n '&&': {\n fontSize: theme.typography.fontSizeLg,\n lineHeight: theme.typography.lineHeightLg,\n fontWeight: theme.typography.typographyBoldFontWeight,\n },\n '& > .anticon': {\n lineHeight: theme.typography.lineHeightLg,\n },\n });\n case 4:\n default:\n return css({\n '&&': {\n fontSize: theme.typography.fontSizeMd,\n lineHeight: theme.typography.lineHeightMd,\n fontWeight: theme.typography.typographyBoldFontWeight,\n },\n '& > .anticon': {\n lineHeight: theme.typography.lineHeightMd,\n },\n });\n }\n}\n\nfunction getTitleEmotionStyles(theme: Theme, props: TypographyTitleProps): SerializedStyles {\n return css(\n getLevelStyles(theme, props),\n {\n '&&': {\n color: getTypographyColor(theme, props.color, theme.colors.textPrimary),\n },\n '& > .anticon': {\n verticalAlign: 'middle',\n },\n },\n props.withoutMargins && {\n '&&': {\n marginTop: '0 !important', // override general styling\n marginBottom: '0 !important', // override general styling\n },\n },\n );\n}\nexport function Title(userProps: TypographyTitleProps): JSX.Element {\n const { dangerouslySetAntdProps, withoutMargins, color, elementLevel, ...props } = userProps;\n const { theme } = useDesignSystemTheme();\n\n return (\n <DesignSystemAntDConfigProvider>\n <AntDTitle\n {...addDebugOutlineIfEnabled()}\n {...props}\n level={elementLevel ?? props.level}\n className={props.className}\n css={getTitleEmotionStyles(theme, userProps)}\n {...dangerouslySetAntdProps}\n />\n </DesignSystemAntDConfigProvider>\n );\n}\n","import React, { useEffect, useRef, useState } from 'react';\n\nexport interface TypographTruncateProps extends React.HTMLAttributes<HTMLSpanElement> {\n children?: React.ReactChild;\n lines?: number;\n}\n\nexport const Truncate = ({ children, lines = 1, ...props }: TypographTruncateProps) => {\n const [textContent, setTextContent] = useState('');\n const spanRef = useRef<HTMLSpanElement>(null);\n\n // This ensures that truncated text is always available to the user via a native tooltip\n useEffect(() => {\n if (spanRef.current) {\n setTextContent(spanRef.current.textContent || '');\n }\n }, [spanRef, children]);\n\n return (\n <span\n ref={spanRef}\n title={textContent}\n css={{\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'normal',\n wordBreak: 'break-word',\n display: '-webkit-box',\n webkitLineClamp: lines,\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: lines,\n }}\n {...props}\n >\n {children}\n </span>\n );\n};\n","import type { TypographyProps as AntDTypographyProps } from 'antd';\nimport { Typography as AntDTypography } from 'antd';\nimport type { ReactNode } from 'react';\n\nimport { Hint } from './Hint';\nimport { Link } from './Link';\nimport { Paragraph } from './Paragraph';\nimport { Text } from './Text';\nimport { TextMiddleElide } from './TextMiddleElide';\nimport { Title } from './Title';\nimport { Truncate } from './Truncate';\nimport { DesignSystemAntDConfigProvider } from '../DesignSystemProvider';\nimport type { DangerouslySetAntdProps, HTMLDataAttributes } from '../types';\nimport { addDebugOutlineIfEnabled } from '../utils/debug';\n\ninterface TypographyProps\n extends Omit<AntDTypographyProps, 'Text' | 'Title' | 'Paragraph' | 'Link'>,\n DangerouslySetAntdProps<AntDTypographyProps>,\n HTMLDataAttributes {\n children?: ReactNode;\n withoutMargins?: boolean;\n}\n\nexport const Typography = /* #__PURE__ */ (() => {\n function Typography({ dangerouslySetAntdProps, ...props }: TypographyProps): JSX.Element {\n return (\n <DesignSystemAntDConfigProvider>\n <AntDTypography {...addDebugOutlineIfEnabled()} {...props} {...dangerouslySetAntdProps} />\n </DesignSystemAntDConfigProvider>\n );\n }\n\n Typography.Text = Text;\n Typography.Title = Title;\n Typography.Paragraph = Paragraph;\n Typography.Link = Link;\n Typography.Hint = Hint;\n Typography.Truncate = Truncate;\n Typography.TextMiddleElide = TextMiddleElide;\n\n return Typography;\n})();\n","import type { CSSObject, Interpolation, Theme } from '@emotion/react';\nimport * as Popover from '@radix-ui/react-popover';\nimport type { ReactElement } from 'react';\nimport { forwardRef, useCallback, useEffect, useMemo, useRef } from 'react';\n\nimport {\n ComponentFinderContext,\n DesignSystemEventProviderAnalyticsEventTypes,\n DesignSystemEventProviderComponentTypes,\n useComponentFinderContext,\n useDesignSystemEventComponentCallbacks,\n} from '../DesignSystemEventProvider';\nimport { useDesignSystemTheme } from '../Hooks';\nimport { useDesignSystemContext } from '../Hooks/useDesignSystemContext';\nimport type { AnalyticsEventProps } from '../types';\nimport { useDesignSystemSafexFlags } from '../utils';\nimport { getDarkModePortalStyles, importantify } from '../utils/css-utils';\nimport { addDebugOutlineIfEnabled } from '../utils/debug';\n\n// WRAPPED RADIX-UI-COMPONENTS\nexport const Anchor = Popover.Anchor; // Behavioral component only\n\nexport type PopoverRootProps = Popover.PopoverProps &\n AnalyticsEventProps<DesignSystemEventProviderAnalyticsEventTypes.OnView>;\n\nexport const Root = ({\n children,\n onOpenChange,\n componentId,\n analyticsEvents = [DesignSystemEventProviderAnalyticsEventTypes.OnView],\n ...props\n}: PopoverRootProps): ReactElement => {\n const firstView = useRef(true);\n const memoizedAnalyticsEvents = useMemo(() => analyticsEvents, [analyticsEvents]);\n const eventContext = useDesignSystemEventComponentCallbacks({\n componentType: DesignSystemEventProviderComponentTypes.Popover,\n componentId: componentId ?? 'design_system.popover',\n analyticsEvents: memoizedAnalyticsEvents,\n });\n useEffect(() => {\n if (props.open && firstView.current) {\n eventContext.onView();\n firstView.current = false;\n }\n }, [eventContext, props.open]);\n const onOpenChangeHandler = useCallback(\n (open: boolean) => {\n if (open && firstView.current) {\n eventContext.onView();\n firstView.current = false;\n }\n onOpenChange?.(open);\n },\n [eventContext, onOpenChange],\n );\n return (\n <Popover.Root {...props} onOpenChange={onOpenChangeHandler}>\n <ComponentFinderContext.Provider value={{ dataComponentProps: eventContext.dataComponentProps }}>\n {children}\n </ComponentFinderContext.Provider>\n </Popover.Root>\n );\n};\n\nexport interface PopoverProps extends Popover.PopoverContentProps {\n minWidth?: number;\n maxWidth?: number;\n}\n\nexport const Content = forwardRef<HTMLDivElement, PopoverProps>(function Content(\n { children, minWidth = 220, maxWidth, ...props },\n ref,\n): ReactElement {\n const { getPopupContainer } = useDesignSystemContext();\n const { theme } = useDesignSystemTheme();\n const { useNewShadows, useNewBorderColors } = useDesignSystemSafexFlags();\n\n const dataComponentProps = useComponentFinderContext(DesignSystemEventProviderComponentTypes.Popover);\n\n return (\n <Popover.Portal container={getPopupContainer && getPopupContainer()}>\n <Popover.Content\n {...addDebugOutlineIfEnabled()}\n ref={ref}\n css={[contentStyles(theme, useNewShadows, useNewBorderColors), { minWidth, maxWidth }]}\n sideOffset={4}\n aria-label=\"Popover content\"\n {...props}\n {...dataComponentProps}\n >\n {children}\n </Popover.Content>\n </Popover.Portal>\n );\n});\n\nexport const Trigger = forwardRef<HTMLButtonElement, Popover.PopoverTriggerProps>(function Trigger(\n { children, ...props },\n ref,\n): ReactElement {\n return (\n <Popover.Trigger {...addDebugOutlineIfEnabled()} ref={ref} {...props}>\n {children}\n </Popover.Trigger>\n );\n});\n\nexport const Close = forwardRef<HTMLButtonElement, Popover.PopoverCloseProps>(function Close(\n { children, ...props },\n ref,\n): ReactElement {\n return (\n <Popover.Close ref={ref} {...props}>\n {children}\n </Popover.Close>\n );\n});\n\nexport const Arrow = forwardRef<SVGSVGElement, Popover.PopoverArrowProps>(function Arrow(\n { children, ...props },\n ref,\n): ReactElement {\n const { theme } = useDesignSystemTheme();\n return (\n <Popover.Arrow\n css={{\n fill: theme.colors.backgroundPrimary,\n stroke: theme.colors.borderDecorative,\n strokeDashoffset: -CONSTANTS.arrowBottomLength(),\n strokeDasharray: CONSTANTS.arrowBottomLength() + 2 * CONSTANTS.arrowSide(),\n strokeWidth: CONSTANTS.arrowStrokeWidth(),\n // TODO: This is a temporary fix for the alignment of the Arrow;\n // Radix has changed the implementation for v1.0.0 (uses floating-ui)\n // which has new behaviors for alignment that we don't want. Generally\n // we need to fix the arrow to always be aligned to the left of the menu (with\n // offset equal to border radius)\n position: 'relative',\n top: -1,\n }}\n ref={ref}\n width={12}\n height={6}\n {...props}\n >\n {children}\n </Popover.Arrow>\n );\n});\n\n// CONSTANTS\nconst CONSTANTS = {\n arrowBottomLength() {\n // The built in arrow is a polygon: 0,0 30,0 15,10\n return 30;\n },\n arrowHeight() {\n return 10;\n },\n arrowSide() {\n return 2 * (this.arrowHeight() ** 2 * 2) ** 0.5;\n },\n arrowStrokeWidth() {\n // This is eyeballed b/c relative to the svg viewbox coordinate system\n return 2;\n },\n};\n\nconst popoverContentStyles = (theme: Theme, useNewShadows: boolean, useNewBorderColors: boolean): CSSObject => ({\n backgroundColor: theme.colors.backgroundPrimary,\n color: theme.colors.textPrimary,\n lineHeight: theme.typography.lineHeightBase,\n border: `1px solid ${useNewBorderColors ? theme.colors.border : theme.colors.borderDecorative}`,\n borderRadius: theme.borders.borderRadiusSm,\n padding: `${theme.spacing.sm}px`,\n boxShadow: useNewShadows ? theme.shadows.lg : theme.general.shadowLow,\n zIndex: theme.options.zIndexBase + 30,\n ...getDarkModePortalStyles(theme, useNewShadows, useNewBorderColors),\n a: importantify({\n color: theme.colors.actionTertiaryTextDefault,\n\n '&:hover, &:focus': {\n color: theme.colors.actionTertiaryTextHover,\n },\n }),\n '&:focus-visible': {\n outlineStyle: 'solid',\n outlineWidth: '2px',\n outlineOffset: '1px',\n outlineColor: theme.colors.actionDefaultBorderFocus,\n },\n});\n\nconst contentStyles = (theme: Theme, useNewShadows: boolean, useNewBorderColors: boolean): Interpolation<Theme> => ({\n ...popoverContentStyles(theme, useNewShadows, useNewBorderColors),\n});\n"],"names":["visuallyHidden","clip","clipPath","height","overflow","position","whiteSpace","width","primitiveColors","blue100","blue200","blue300","blue400","blue500","blue600","blue700","blue800","brown","coral","green100","green200","green300","green400","green500","green600","green700","green800","grey050","grey100","grey200","grey300","grey350","grey400","grey500","grey600","grey650","grey700","grey800","indigo","lemon","lime","pink","purple","red100","red200","red300","red400","red500","red600","red700","red800","teal","turquoise","white","yellow100","yellow200","yellow300","yellow400","yellow500","yellow600","yellow700","yellow800","borderRadii","borderRadius0","borderRadiusSm","borderRadiusMd","borderRadiusLg","borderRadiusFull","borders","getLegacyBorders","getBorders","newBorderRadii","breakpoints","xs","sm","md","lg","xl","xxl","mediaQueries","responsive","darkProtectedColorList","tagBackgroundBrown","tagBackgroundCharcoal","primitives","tagBackgroundCoral","tagBackgroundDefault","tagBackgroundIndigo","tagBackgroundLemon","tagBackgroundLime","tagBackgroundPink","tagBackgroundPurple","tagBackgroundTeal","tagBackgroundTurquoise","tagHover","tagIconBrown","tagIconCharcoal","tagIconCoral","tagIconDefault","tagIconHover","tagIconIndigo","tagIconLemon","tagIconLime","tagIconPink","tagIconPress","tagIconPurple","tagIconTeal","tagIconTurquoise","tagInverse","tagPress","tagTextBrown","tagTextCharcoal","tagTextCoral","tagTextDefault","tagTextIndigo","tagTextLemon","tagTextLime","tagTextPink","tagTextPurple","tagTextTeal","tagTextTurquoise","lightProtectedColorList","darkColorList","actionDangerDefaultBackgroundDefault","actionDangerDefaultBackgroundHover","actionDangerDefaultBackgroundPress","actionDangerDefaultBorderDefault","actionDangerDefaultBorderHover","actionDangerDefaultBorderPress","actionDangerDefaultTextDefault","actionDangerDefaultTextHover","actionDangerDefaultTextPress","actionDangerPrimaryBackgroundDefault","actionDangerPrimaryBackgroundHover","actionDangerPrimaryBackgroundPress","actionDangerPrimaryText","actionDefaultBackgroundDefault","actionDefaultBackgroundHover","actionDefaultBackgroundPress","actionDefaultBorderDefault","actionDefaultBorderFocus","actionDefaultBorderHover","actionDefaultBorderPress","actionDefaultIconDefault","actionDefaultIconHover","actionDefaultIconPress","actionDefaultTextDefault","actionDefaultTextHover","actionDefaultTextPress","actionDisabledBackground","actionDisabledBorder","actionDisabledText","actionIconBackgroundDefault","actionIconBackgroundHover","actionIconBackgroundPress","actionIconIconDefault","actionIconIconHover","actionIconIconPress","actionLinkDefault","actionLinkHover","actionLinkPress","actionPrimaryBackgroundDefault","actionPrimaryBackgroundHover","actionPrimaryBackgroundPress","actionPrimaryIcon","actionPrimaryTextDefault","actionPrimaryTextHover","actionPrimaryTextPress","actionTertiaryBackgroundDefault","actionTertiaryBackgroundHover","actionTertiaryBackgroundPress","actionTertiaryIconDefault","actionTertiaryIconHover","actionTertiaryIconPress","actionTertiaryTextDefault","actionTertiaryTextHover","actionTertiaryTextPress","backgroundDanger","backgroundPrimary","backgroundSecondary","backgroundSuccess","backgroundWarning","border","borderAccessible","borderDanger","borderWarning","codeBackground","overlayOverlay","progressFill","progressFillPrimary","progressTrack","skeleton","tableBackgroundSelectedDefault","tableBackgroundSelectedHover","tableBackgroundUnselectedDefault","tableBackgroundUnselectedHover","textPlaceholder","textPrimary","textSecondary","textValidationDanger","textValidationSuccess","textValidationWarning","tooltipBackgroundTooltip","lightColorList","branded","ai","gradientStart","gradientMid","gradientEnd","darkColors","lightColors","getSemanticColors","isDarkMode","getProtectedSemanticColors","deprecatedPrimitiveColors","primary","charcoal","radioInteractiveAvailable","radioInteractiveHover","radioInteractivePress","radioDisabled","radioDefaultBorder","radioDefaultBackground","radioInteractiveHoverSecondary","radioInteractivePressSecondary","deprecatedSemanticColorsLight","backgroundValidationDanger","backgroundValidationSuccess","backgroundValidationWarning","borderDecorative","borderValidationDanger","borderValidationWarning","tableRowHover","textValidationInfo","typographyCodeBg","tagBrown","tagCharcoal","tagCoral","tagDefault","tagIndigo","tagLemon","tagLime","tagPink","tagPurple","tagTeal","tagText","tagTurquoise","deprecatedSemanticColorsDark","getColors","DEFAULT_SPACING_UNIT","MODAL_PADDING","spacing","defaultPaddingLg","defaultPaddingMd","defaultPaddingSm","defaultPaddingXs","defaultPaddingXss","paddingLg","paddingMd","paddingSm","paddingXs","paddingXss","marginSm","marginLg","btnPaddingHorizontalBase","btnPaddingHorizontalLg","btnPaddingHorizontalSm","inputPaddingHorizontal","inputPaddingHorizontalBase","inputPaddingHorizontalSm","inputPaddingHorizontalLg","inputPaddingVertical","inputPaddingVerticalBase","inputPaddingVerticalSm","inputPaddingVerticalLg","modalPadding","modalLessPadding","modalHeaderPadding","modalHeaderCloseSize","modalHeaderBorderWidth","modalBodyPadding","modalFooterPaddingVertical","modalFooterPaddingHorizontal","modalFooterBorderWidth","switchPadding","switchHeight","switchMinWidth","switchPinSize","heightBase","borderWidth","antdGeneralVariables","classnamePrefix","antdVars","iconfontCssPrefix","borderRadiusBase","heightSm","iconSize","iconFontSize","buttonHeight","buttonInnerHeight","shadowLightRgb","shadowDarkRgb","getShadowVariables","shadowLow","shadowHigh","getGradients","colors","aiBorderGradient","blackAlpha87","blackAlpha61","blackAlpha45","blackAlpha26","blackAlpha13","blackAlpha08","blackAlpha05","blackAlpha02","getShadows","FONT_SIZE_BASE","antdTypography","fontSizeSm","fontSizeBase","fontSizeMd","fontSizeLg","fontSizeXl","fontSizeXxl","lineHeightSm","lineHeightBase","lineHeightMd","lineHeightLg","lineHeightXl","lineHeightXxl","typographyRegularFontWeight","typographyBoldFontWeight","defaultOptions","enableAnimation","zIndexBase","useNewBorderColors","getTheme","memoize","getThemeImpl","options","gradients","general","generalVariables","shadows","typography","legacyBorders","DU_BOIS_INTERNAL_ONLY","getClassNamePrefix","theme","antdThemeName","getPrefixedClassNameFromTheme","className","filter","Boolean","join","useDesignSystemTheme","emotionTheme","useEmotionTheme","useDesignSystemSafexFlags","classNamePrefix","getPrefixedClassName","WithDesignSystemThemeHoc","Component","WrappedWithDesignSystemTheme","props","themeValues","_jsx","designSystemThemeApi","DuboisContextDefaults","getPrefixCls","suffix","flags","DesignSystemThemeContext","createContext","DesignSystemContext","DU_BOIS_ENABLE_ANIMATION_CLASSNAME","getAnimationCss","disableAnimationCss","animationDuration","transition","DesignSystemProviderPropsContext","React","AntDConfigProviderPropsContext","DesignSystemThemeProvider","children","Provider","value","DesignSystemProvider","getPopupContainer","disableLegacyAntVirtualization","process","env","NODE_ENV","undefined","useContext","useMemo","providerPropsContext","useEffect","notification","destroy","EmotionThemeProvider","prefixCls","virtual","RadixTooltipProvider","ApplyDesignSystemContextOverrides","parentDesignSystemProviderProps","Error","newProps","ApplyDesignSystemFlags","DesignSystemAntDConfigProvider","antdContext","useAntDConfigProviderContext","AntDConfigProvider","RestoreAntDDefaultClsPrefix","useDesignSystemContext","safex","flag","defaultValue","globalSafex","window","__debug__safex","e","getDebugOutlineStyles","css","outline","outlineOffset","addDebugOutlineIfEnabled","addDebugOutlineStylesIfEnabled","uniqueId","Date","getTime","Array","fill","map","parseInt","Math","random","toString","useUniqueId","prefix","useState","getIconVariantStyles","color","Icon","forwardRef","forwardedRef","component","dangerouslySetAntdProps","style","otherProps","linearGradientId","useSmallIcons","MemoizedComponent","iconProps","_jsxs","_Fragment","padding","svg","viewBox","defs","linearGradient","id","x1","y1","x2","y2","stop","offset","stopColor","AntDIcon","ref","aria-hidden","fontSize","SvgChevronLeftIcon","xmlns","path","fillRule","d","clipRule","ChevronLeftIcon","displayName","SvgChevronRightIcon","ChevronRightIcon","SvgCloseIcon","CloseIcon","SvgDangerIcon","DangerIcon","SvgLoadingIcon","LoadingIcon","SvgNewWindowIcon","NewWindowIcon","SvgWarningIcon","WarningIcon","NOT_INITIALIZED","Symbol","useStable","valueCallback","useRef","current","val","sequentialCounter","useStableUid","LoadingStateContext","LoadingState","description","uid","loadingStateContext","useLayoutEffect","startLoading","endLoading","rotate","keyframes","transform","cssSpinner","frameRate","delay","inheritColor","styles","animation","animationDelay","importantify","Spinner","size","propClass","label","loading","loadingDescription","sizeSuffix","sizeClass","wrapperClass","trim","div","AccessibleContainer","getDialogComboboxOptionLabelWidth","paddingLeft","iconWidth","labelMarginLeft","isOptionDisabled","option","hasAttribute","getAttribute","highlightFirstNonDisabledOption","firstOptionItem","startAt","previousSelection","firstHighlightableOption","findClosestOptionSibling","highlightOption","element","direction","nextSibling","previousElementSibling","nextElementSibling","nextOptionSibling","resetAllHighlightedOptions","currentSelection","getContentOptions","forEach","setAttribute","prevSelection","focus","scrollIntoView","block","findHighlightedOption","find","closest","querySelectorAll","from","getKeyboardNavigationFunctions","handleSelect","onKeyDown","onMouseEnter","onDefaultKeyDown","disableMouseOver","setDisableMouseOver","key","preventDefault","currentTarget","firstOption","previousSibling","lastOption","slice","onMouseMove","resetTabIndexToFocusedElement","elem","dialogComboboxLookAheadKeyDown","setLookAhead","lookAhead","siblings","parentElement","nextSiblingIndex","findIndex","sibling","siblingLabel","textContent","toLowerCase","startsWith","getComboboxContentWrapperStyles","maxHeight","maxWidth","minHeight","minWidth","useNewShadows","background","zIndex","boxSizing","boxShadow","borderRadius","colorScheme","getDarkModePortalStyles","getComboboxMenuItemPadding","getComboboxOptionItemWrapperStyles","paddingTop","paddingRight","paddingBottom","display","flexDirection","alignItems","justifyContent","alignSelf","lineHeight","cursor","userSelect","pointerEvents","getComboboxOptionLabelStyles","dangerouslyHideCheck","textOverflowMode","contentWidth","hasHintColumn","hasIcon","hasDisabledReason","marginLeft","fontStyle","fontWeight","wordBreak","textOverflow","getInfoIconStyles","verticalAlign","getCheckboxStyles","getFooterStyles","bottom","marginRight","getSelectItemWithHintColumnStyles","hintColumnWidthPercent","flexGrow","gridTemplateColumns","getHintColumnStyles","disabled","textAlign","ValidSemanticColors","ColorVars","TextPrimary","secondary","TextSecondary","info","error","TextValidationDanger","success","TextValidationSuccess","warning","TextValidationWarning","obj","mapValues","isString","isNumber","isBoolean","endsWith","unitless","isNil","getTypographyColor","fallbackColor","Object","hasOwnProperty","getValidationStateColor","validationState","errorColor","warningColor","successColor","shadowCoverTop","bgColor","shadowCoverBot","shadowCoverLeft","shadowCoverRight","shadowTop","shadowRgb","shadowBot","shadowLeft","shadowRight","shadowCoverBackgroundSizeVertical","shadowCoverBackgroundSizeHorizontal","shadowBackgroundSizeVertical","shadowBackgroundSizeHorizontal","getShadowScrollStylesMemoized","backgroundColor","orientation","shadowColor","backgroundRepeat","backgroundSize","backgroundAttachment","getShadowScrollStyles","getBottomOnlyShadowScrollStylesMemoized","getBottomOnlyShadowScrollStyles","getHorizontalTabShadowStylesMemoized","shadowValue","shadowColorMatch","match","shadowSize","getHorizontalTabShadowStyles","getVirtualizedComboboxMenuItemStyles","virtualItem","top","right","left","topBottomPadding","leftRightPadding","start","sharedObserver","entryCallbackMap","WeakMap","ensureSharedObserverExists","IntersectionObserver","entries","entry","isIntersecting","entryCallback","get","target","delete","observeElement","callback","set","observe","unobserve","useNotifyOnFirstView","onView","resetKey","isViewedRef","elementRef","previousResetKey","useNewFormUISpacing","useNewBorderRadii","useNewLargeAlertSizing","useNewDatePickerInput","span","DefaultDesignSystemEventSuppressInteractionContextValue","suppressAnalyticsStartInteraction","DesignSystemEventSuppressInteractionTrueContextValue","DesignSystemEventSuppressInteractionProviderContext","useDesignSystemEventSuppressInteractionContext","generateUuidV4","uuid","crypto","randomUUID","replace","c","r","v","useStableUuidV4","DesignSystemEventProviderComponentTypes","DesignSystemEventProviderAnalyticsEventTypes","DesignSystemEventProviderComponentSubTypes","DesignSystemEventProviderComponentSubTypeMap","info_light_purple","info_dark_purple","shouldTriggerCallback","eventType","analyticsEvents","includes","DefaultEmptyCallbacks","DesignSystemEventProviderContext","useDesignSystemEventProviderContext","ComponentFinderContext","dataComponentProps","useComponentFinderContext","targetComponentType","componentFinderContext","augmentWithDataComponentProps","node","isValidElement","cloneElement","isArray","child","useDesignSystemEventComponentCallbacks","componentType","componentId","componentSubType","valueHasNoPii","shouldStartInteraction","isInteractionSubject","context","suppressInteractionContext","shouldStartInteractionComplete","componentViewId","callbacks","onClick","onSubmit","onValueChange","event","payload","mode","referrerComponent","formPropertyValues","initial","initialState","final","finalState","DesignSystemEventProvider","contextValue","getDefaultStyles","defaultStyles","borderColor","textDecoration","getPrimaryStyles","textShadow","getLinkStyles","getPrimaryDangerStyles","outlineColor","getSecondaryDangerStyles","getDisabledDefaultStyles","getDisabledPrimaryStyles","getDisabledErrorStyles","getDisabledTertiaryStyles","getDisabledSplitButtonStyles","getDisabledPrimarySplitButtonStyles","FormContext","isSubmitting","formRef","useFormContext","Form","OnSubmit","formContext","eventRef","memoizedAnalyticsEvents","eventContext","setIsSubmitting","onSubmitHandler","useCallback","extractReferrerComponent","form","RhfForm","handleSubmit","handleValid","handleInvalid","processFinalPropertyValues","onValidWrapper","data","refinedData","onInvalidWrapper","errors","onSubmitWrapper","activeElement","document","dataset","type","SMALL_BUTTON_HEIGHT","buttonStylesCache","getMemoizedButtonEmotionStyles","rest","themeCache","Map","has","cacheKey","JSON","stringify","cachedStyles","getButtonEmotionStyles","getEndIconClsName","withIcon","onlyIcon","isAnchor","useFocusPseudoClass","forceIconStyles","danger","clsIcon","clsEndIcon","clsLoadingIcon","clsIconOnly","classPrimary","classLink","classDangerous","tertiaryColors","iconCss","inactiveIconCss","endIconCssSelector","outlineStyle","outlineWidth","opacity","visibility","typeStyles","importantStyles","importantTypeStyles","Button","loadingProp","endIcon","dangerouslySetForceIconStyles","dangerouslyUseFocusPseudoClass","dangerouslyAppendWrapperCss","emitOnView","OnClick","OnView","htmlType","loadingCls","buttonRef","useImperativeHandle","classList","add","remove","iconOnly","icon","handleClick","requestSubmit","loadingSpinner","aria-label","AntDButton","href","__ANT_BUTTON","Text","AntDText","AntDTypography","getTextEmotionStyles","withoutMargins","marginTop","marginBottom","Hint","userProps","bold","clsPrefix","classTypography","getEllipsisNewTabLinkStyles","getIconStyles","getEllipsisIconStyles","useNewIcons","Link","openInNewTab","restProps","TypographyLink","linkRef","mergedRef","useMergeRefs","onClickHandler","newTabProps","rel","linkProps","linkStyles","ellipsis","iconStyles","aria-disabled","Paragraph","AntDParagraph","getParagraphEmotionStyles","hint","code","fontFamily","margin","MiddleElideSuffixLength","TextMiddleElide","text","suffixLength","textProps","getStartAndSuffix","disableElide","clipboardCopyHandler","clipboardData","setData","selector","querySelector","addEventListener","removeEventListener","title","length","Title","AntDTitle","getLevelStyles","level","getTitleEmotionStyles","elementLevel","Truncate","lines","setTextContent","spanRef","webkitLineClamp","WebkitBoxOrient","WebkitLineClamp","Typography","Anchor","Popover","Root","onOpenChange","firstView","open","onOpenChangeHandler","Content","Portal","container","contentStyles","sideOffset","Trigger","Close","Arrow","stroke","strokeDashoffset","CONSTANTS","arrowBottomLength","strokeDasharray","arrowSide","strokeWidth","arrowStrokeWidth","arrowHeight","popoverContentStyles","a"],"mappings":"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"}
|