@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
package/dist/development.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"development.js","sources":["../src/development/Banner/Banner.tsx","../src/development/DatePicker/DatePickerInput.tsx","../src/development/DatePicker/styles.ts","../src/development/DatePicker/utils.ts","../src/development/DatePicker/DatePicker.tsx","../src/development/Listbox/ListboxRoot.tsx","../src/development/Listbox/ListboxInput.tsx","../src/development/Listbox/ListboxOptions.tsx","../src/development/Listbox/index.tsx","../src/development/PillControl/PillControl.tsx","../src/development/Progress/providers/ProgressContex.tsx","../src/development/Progress/Progress.tsx","../src/development/Toolbar/Toolbar.tsx","../src/development/TreeGrid/useDefaultTreeGridState.ts","../src/development/TreeGrid/TreeGrid.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport type { ReactNode } from 'react';\nimport React, { useMemo } from 'react';\n\nimport { Button } from '../../design-system/Button';\nimport {\n DesignSystemEventProviderAnalyticsEventTypes,\n DesignSystemEventProviderComponentTypes,\n useDesignSystemEventComponentCallbacks,\n DesignSystemEventProviderComponentSubTypeMap,\n} from '../../design-system/DesignSystemEventProvider/DesignSystemEventProvider';\nimport type { DesignSystemThemeInterface } from '../../design-system/Hooks/useDesignSystemTheme';\nimport { useDesignSystemTheme } from '../../design-system/Hooks/useDesignSystemTheme';\nimport { CloseIcon, DangerIcon, MegaphoneIcon, WarningIcon } from '../../design-system/Icon';\nimport { Typography } from '../../design-system/Typography';\nimport type { AnalyticsEventProps } from '../../design-system/types';\nimport { addDebugOutlineIfEnabled } from '../../design-system/utils/debug';\nimport { useNotifyOnFirstView } from '../../design-system/utils/useNotifyOnFirstView';\nimport { primitiveColors } from '../../theme/_generated/PrimitiveColors';\n\nconst { Text, Paragraph } = Typography;\n\nexport const BANNER_MIN_HEIGHT = 68;\n// Max height will allow 2 lines of description (3 lines total)\nexport const BANNER_MAX_HEIGHT = 82;\n\nexport type BannerLevel = 'info' | 'warning' | 'error' | 'info_light_purple' | 'info_dark_purple';\ntype BannerColorScheme = {\n backgroundDefaultColor: string;\n actionButtonBackgroundHoverColor: string;\n actionButtonBackgroundPressColor: string;\n textColor: string;\n textHoverColor: string;\n textPressColor: string;\n borderDefaultColor: string;\n actionBorderColor?: string;\n closeIconColor?: string;\n iconColor?: string;\n actionButtonBorderHoverColor?: string;\n actionButtonBorderPressColor?: string;\n closeIconBackgroundHoverColor?: string;\n closeIconTextHoverColor?: string;\n closeIconBackgroundPressColor?: string;\n closeIconTextPressColor?: string;\n};\n\nexport interface BannerProps extends AnalyticsEventProps<DesignSystemEventProviderAnalyticsEventTypes.OnView> {\n level: BannerLevel;\n message: string;\n description?: string;\n ctaText?: string;\n onAccept?: () => void;\n closable?: boolean;\n onClose?: () => void;\n 'data-testid'?: string;\n\n // Temporary prop to enable passing in localized string until officials supported in Dubois\n closeButtonAriaLabel?: string;\n}\n\nconst useStyles = (props: BannerProps, theme: DesignSystemThemeInterface['theme']) => {\n const bannerLevelToBannerColors: { [key in BannerLevel]: BannerColorScheme } = {\n info_light_purple: {\n backgroundDefaultColor: theme.isDarkMode ? '#6E2EC729' : '#ECE1FC',\n actionButtonBackgroundHoverColor: theme.colors.actionDefaultBackgroundHover,\n actionButtonBackgroundPressColor: theme.colors.actionDefaultBackgroundPress,\n textColor: theme.colors.actionDefaultTextDefault,\n textHoverColor: '#92A4B38F',\n textPressColor: theme.colors.actionDefaultTextDefault,\n borderDefaultColor: theme.isDarkMode ? '#955CE5' : '#E2D0FB',\n actionBorderColor: '#92A4B38F',\n closeIconColor: theme.isDarkMode ? '#92A4B3' : '#5F7281',\n iconColor: theme.colors.purple,\n actionButtonBorderHoverColor: theme.colors.actionDefaultBorderHover,\n actionButtonBorderPressColor: theme.colors.actionDefaultBorderPress,\n closeIconBackgroundHoverColor: theme.colors.actionTertiaryBackgroundHover,\n closeIconTextHoverColor: theme.colors.actionTertiaryTextHover,\n closeIconBackgroundPressColor: theme.colors.actionDefaultBackgroundPress,\n closeIconTextPressColor: theme.colors.actionTertiaryTextPress,\n },\n info_dark_purple: {\n backgroundDefaultColor: theme.isDarkMode ? '#BC92F7DB' : theme.colors.purple,\n actionButtonBackgroundHoverColor: theme.isDarkMode ? '#BC92F7DB' : theme.colors.purple,\n actionButtonBackgroundPressColor: theme.isDarkMode ? '#BC92F7DB' : theme.colors.purple,\n textColor: theme.colors.actionPrimaryTextDefault,\n textHoverColor: theme.colors.actionPrimaryTextHover,\n textPressColor: theme.colors.actionPrimaryTextPress,\n borderDefaultColor: theme.isDarkMode ? '#BC92F7DB' : theme.colors.purple,\n },\n // Clean up the experimental info banners\n info: {\n backgroundDefaultColor: theme.isDarkMode ? '#BC92F7DB' : theme.colors.purple,\n actionButtonBackgroundHoverColor: theme.isDarkMode ? '#BC92F7DB' : theme.colors.purple,\n actionButtonBackgroundPressColor: theme.isDarkMode ? '#BC92F7DB' : theme.colors.purple,\n textColor: theme.colors.actionPrimaryTextDefault,\n textHoverColor: theme.colors.actionPrimaryTextHover,\n textPressColor: theme.colors.actionPrimaryTextPress,\n borderDefaultColor: theme.isDarkMode ? '#BC92F7DB' : theme.colors.purple,\n },\n // TODO (PLAT-80558, zack.brody) Update hover and press states once we have colors for these\n warning: {\n backgroundDefaultColor: theme.colors.tagLemon,\n actionButtonBackgroundHoverColor: theme.colors.tagLemon,\n actionButtonBackgroundPressColor: theme.colors.tagLemon,\n textColor: primitiveColors.grey800,\n textHoverColor: primitiveColors.grey800,\n textPressColor: primitiveColors.grey800,\n borderDefaultColor: theme.colors.tagLemon,\n },\n error: {\n backgroundDefaultColor: theme.colors.actionDangerPrimaryBackgroundDefault,\n actionButtonBackgroundHoverColor: theme.colors.actionDangerPrimaryBackgroundHover,\n actionButtonBackgroundPressColor: theme.colors.actionDangerPrimaryBackgroundPress,\n textColor: theme.colors.actionPrimaryTextDefault,\n textHoverColor: theme.colors.actionPrimaryTextHover,\n textPressColor: theme.colors.actionPrimaryTextPress,\n borderDefaultColor: theme.colors.actionDangerPrimaryBackgroundDefault,\n },\n };\n\n const colorScheme = bannerLevelToBannerColors[props.level];\n\n return {\n banner: css`\n max-height: ${BANNER_MAX_HEIGHT}px;\n display: flex;\n align-items: center;\n width: 100%;\n padding: 8px;\n box-sizing: border-box;\n background-color: ${colorScheme.backgroundDefaultColor};\n border: 1px solid ${colorScheme.borderDefaultColor};\n `,\n iconContainer: css`\n display: flex;\n color: ${colorScheme.iconColor ? colorScheme.iconColor : colorScheme.textColor};\n align-self: ${props.description ? 'flex-start' : 'center'};\n box-sizing: border-box;\n max-width: 60px;\n padding-top: 4px;\n padding-bottom: 4px;\n padding-right: ${theme.spacing.xs}px;\n `,\n mainContent: css`\n flex-direction: column;\n align-self: ${props.description ? 'flex-start' : 'center'};\n display: flex;\n box-sizing: border-box;\n padding-right: ${theme.spacing.sm}px;\n padding-top: 2px;\n padding-bottom: 2px;\n // Add min-width so that ellipsis in child components will show.\n min-width: ${theme.spacing.lg}px;\n width: 100%;\n `,\n messageTextBlock: css`\n // handle truncation after one line\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n overflow: hidden;\n\n // Override text color to action text color\n && {\n color: ${colorScheme.textColor};\n }\n `,\n descriptionBlock: css`\n // handle truncation after two lines\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n\n // Override text color to action text color\n && {\n color: ${colorScheme.textColor};\n }\n `,\n rightContainer: css`\n margin-left: auto;\n display: flex;\n align-items: center;\n `,\n closeIconContainer: css`\n display: flex;\n margin-left: ${theme.spacing.xs}px;\n box-sizing: border-box;\n line-height: 0;\n `,\n closeButton: css`\n cursor: pointer;\n background: none;\n border: none;\n margin: 0;\n && {\n height: 24px !important;\n width: 24px !important;\n padding: ${theme.spacing.xs}px !important;\n box-shadow: unset !important;\n }\n &&:hover {\n background-color: transparent !important;\n border-color: ${colorScheme.textHoverColor}!important;\n color: ${colorScheme.closeIconTextHoverColor\n ? colorScheme.closeIconTextHoverColor\n : colorScheme.textColor}!important;\n background-color: ${colorScheme.closeIconBackgroundHoverColor\n ? colorScheme.closeIconBackgroundHoverColor\n : colorScheme.backgroundDefaultColor}!important;\n }\n\n &&:active {\n border-color: ${colorScheme.actionBorderColor}!important;\n color: ${colorScheme.closeIconTextPressColor\n ? colorScheme.closeIconTextPressColor\n : colorScheme.textColor}!important;\n background-color: ${colorScheme.closeIconBackgroundPressColor\n ? colorScheme.closeIconBackgroundPressColor\n : colorScheme.backgroundDefaultColor}!important;\n }\n `,\n closeIcon: css`\n color: ${colorScheme.closeIconColor ? colorScheme.closeIconColor : colorScheme.textColor}!important;\n `,\n actionButtonContainer: css`\n margin-right: ${theme.spacing.xs}px;\n `,\n // Override design system colors to show the use the action text color for text and border.\n // Also overrides text for links.\n actionButton: css`\n color: ${colorScheme.textColor}!important;\n border-color: ${colorScheme.actionBorderColor ? colorScheme.actionBorderColor : colorScheme.textColor}!important;\n box-shadow: unset !important;\n\n &:focus,\n &:hover {\n border-color: ${\n colorScheme.actionButtonBorderHoverColor\n ? colorScheme.actionButtonBorderHoverColor\n : colorScheme.textHoverColor\n }!important;\n color: ${colorScheme.textColor}!important;\n background-color: ${colorScheme.actionButtonBackgroundHoverColor}!important;\n }\n\n &:active {\n border-color: ${\n colorScheme.actionButtonBorderPressColor\n ? colorScheme.actionButtonBorderPressColor\n : colorScheme.actionBorderColor\n }!important;\n color: ${colorScheme.textPressColor}!important;\n background-color: ${colorScheme.actionButtonBackgroundPressColor}!important;\n }\n\n a {\n color: ${theme.colors.actionPrimaryTextDefault};\n }\n\n a:focus,\n a:hover {\n color: ${colorScheme.textHoverColor};\n text-decoration: none;\n }\n\n a:active {\n color: ${colorScheme.textPressColor}\n text-decoration: none;\n }\n `,\n };\n};\n\nconst levelToIconMap: { [key in BannerLevel]: ReactNode } = {\n info: <MegaphoneIcon data-testid=\"level-info-icon\" />,\n info_light_purple: <MegaphoneIcon data-testid=\"level-info-light-purple-icon\" />,\n info_dark_purple: <MegaphoneIcon data-testid=\"level-info-dark-purple-icon\" />,\n warning: <WarningIcon data-testid=\"level-warning-icon\" />,\n error: <DangerIcon data-testid=\"level-error-icon\" />,\n};\n\nexport const Banner: React.FC<BannerProps> = (props) => {\n const {\n level,\n message,\n description,\n ctaText,\n onAccept,\n closable,\n onClose,\n closeButtonAriaLabel,\n componentId,\n analyticsEvents = [DesignSystemEventProviderAnalyticsEventTypes.OnView],\n } = props;\n const [closed, setClosed] = React.useState(false);\n\n const { theme } = useDesignSystemTheme();\n const styles = useStyles(props, theme);\n\n const memoizedAnalyticsEvents = useMemo(() => analyticsEvents, [analyticsEvents]);\n const eventContext = useDesignSystemEventComponentCallbacks({\n componentType: DesignSystemEventProviderComponentTypes.Banner,\n componentId,\n componentSubType: DesignSystemEventProviderComponentSubTypeMap[level],\n analyticsEvents: memoizedAnalyticsEvents,\n });\n const { elementRef } = useNotifyOnFirstView<HTMLDivElement>({ onView: eventContext.onView });\n\n const actionButton =\n onAccept && ctaText ? (\n <div css={styles.actionButtonContainer}>\n <Button componentId={`${componentId}.accept`} onClick={onAccept} css={styles.actionButton} size=\"small\">\n {ctaText}\n </Button>\n </div>\n ) : null;\n const close =\n closable !== false ? (\n <div css={styles.closeIconContainer}>\n <Button\n componentId={`${componentId}.close`}\n css={styles.closeButton}\n onClick={() => {\n if (onClose) {\n onClose();\n }\n setClosed(true);\n }}\n aria-label={closeButtonAriaLabel ?? 'Close'}\n data-testid=\"banner-dismiss\"\n >\n <CloseIcon css={styles.closeIcon} />\n </Button>\n </div>\n ) : null;\n\n return (\n <>\n {!closed && (\n <div\n ref={elementRef}\n {...addDebugOutlineIfEnabled()}\n css={styles.banner}\n className=\"banner\"\n data-testid={props['data-testid']}\n role=\"alert\"\n >\n <div css={styles.iconContainer}>{levelToIconMap[level]}</div>\n <div css={styles.mainContent}>\n <Text size=\"md\" bold css={styles.messageTextBlock} title={message}>\n {message}\n </Text>\n {description && (\n <Paragraph withoutMargins css={styles.descriptionBlock} title={description}>\n {description}\n </Paragraph>\n )}\n </div>\n <div css={styles.rightContainer}>\n {actionButton}\n {close}\n </div>\n </div>\n )}\n </>\n );\n};\n","import classNames from 'classnames';\nimport { forwardRef, useCallback, useMemo, type InputHTMLAttributes } from 'react';\n\nimport {\n DesignSystemEventProviderAnalyticsEventTypes,\n DesignSystemEventProviderComponentTypes,\n getInputStyles,\n useDesignSystemEventComponentCallbacks,\n useDesignSystemSafexFlags,\n useDesignSystemTheme,\n XCircleFillIcon,\n} from '../../design-system';\nimport type { AnalyticsEventProps, ValidationState } from '../../design-system/types';\nimport { safex } from '../../design-system/utils/safex';\nimport { useCallbackOnceUntilReset } from '../../design-system/utils/useCallbackOnceUntilReset';\n\nexport interface DatePickerInputProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, 'prefix' | 'suffix'>,\n AnalyticsEventProps<\n DesignSystemEventProviderAnalyticsEventTypes.OnValueChange | DesignSystemEventProviderAnalyticsEventTypes.OnView\n > {\n showTimeZone?: boolean;\n validationState?: ValidationState;\n prefix?: React.ReactNode;\n suffix?: React.ReactNode;\n allowClear?: boolean;\n onClear?: () => void;\n}\n\nexport const DatePickerInput = forwardRef((props: DatePickerInputProps, ref: React.Ref<HTMLInputElement>) => {\n const emitOnView = safex('databricks.fe.observability.defaultComponentView.input', false);\n const { theme, classNamePrefix } = useDesignSystemTheme();\n const { useNewShadows, useNewFormUISpacing } = useDesignSystemSafexFlags();\n const {\n componentId,\n analyticsEvents,\n showTimeZone,\n validationState,\n prefix,\n suffix,\n allowClear,\n onChange,\n onFocus,\n onKeyDown,\n onClear,\n ...restProps\n } = props;\n\n const memoizedAnalyticsEvents = useMemo(\n () =>\n analyticsEvents ??\n (emitOnView\n ? [\n DesignSystemEventProviderAnalyticsEventTypes.OnValueChange,\n DesignSystemEventProviderAnalyticsEventTypes.OnView,\n ]\n : [DesignSystemEventProviderAnalyticsEventTypes.OnValueChange]),\n [analyticsEvents, emitOnView],\n );\n\n const eventContext = useDesignSystemEventComponentCallbacks({\n componentType: DesignSystemEventProviderComponentTypes.Input,\n componentId,\n analyticsEvents: memoizedAnalyticsEvents,\n valueHasNoPii: false,\n });\n\n const { callbackOnceUntilReset: sendAnalyticsEventOncePerFocus, reset: resetSendAnalyticsEventOnFocus } =\n useCallbackOnceUntilReset(eventContext.onValueChange);\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n sendAnalyticsEventOncePerFocus();\n if (e.target.value) {\n onChange?.(e);\n }\n },\n [onChange, sendAnalyticsEventOncePerFocus],\n );\n\n const handleClear = useCallback(() => {\n sendAnalyticsEventOncePerFocus();\n onClear?.();\n }, [onClear, sendAnalyticsEventOncePerFocus]);\n\n const handleFocus = useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n resetSendAnalyticsEventOnFocus();\n onFocus?.(e);\n },\n [onFocus, resetSendAnalyticsEventOnFocus],\n );\n\n return (\n <div\n className={classNames(\n `${classNamePrefix}-input-affix-wrapper`,\n restProps.className,\n restProps.disabled ? `${classNamePrefix}-input-affix-wrapper-disabled` : '',\n )}\n css={[\n getInputStyles(\n classNamePrefix,\n theme,\n {\n validationState,\n type: 'date',\n hasValue: Boolean(restProps.value),\n useNewShadows,\n useNewFormUISpacing,\n },\n {\n useFocusWithin: true,\n },\n ),\n {\n '*::-webkit-calendar-picker-indicator': { display: 'none' },\n [`.${classNamePrefix}-input-prefix`]: {\n ...(!restProps?.disabled && { color: `${theme.colors.textPrimary} !important` }),\n },\n [`&.${classNamePrefix}-input-affix-wrapper > *`]: {\n height: theme.typography.lineHeightBase,\n },\n ...(showTimeZone && {\n [`.${classNamePrefix}-input-suffix`]: {\n display: 'inline-flex',\n flexDirection: 'row-reverse',\n gap: theme.spacing.sm,\n alignItems: 'center',\n },\n }),\n },\n ]}\n >\n {prefix && <span className={`${classNamePrefix}-input-prefix`}>{prefix}</span>}\n <input\n placeholder=\"Select Date\"\n {...restProps}\n onChange={handleChange}\n onFocus={handleFocus}\n value={restProps.value ?? ''}\n ref={ref}\n className={`${classNamePrefix}-input`}\n onKeyDown={(e) => {\n if (e.key === 'Backspace') {\n handleClear();\n }\n onKeyDown?.(e);\n }}\n />\n {suffix && <span className={`${classNamePrefix}-input-suffix`}>{suffix}</span>}\n {allowClear && restProps.value && (\n <button\n aria-label=\"Clear date\"\n type=\"button\"\n css={{\n background: 'none',\n border: 'none',\n display: 'inline-flex',\n justifyContent: 'center',\n alignItems: 'center',\n marginLeft: `${theme.spacing.sm}px !important`,\n padding: 0,\n }}\n onClick={(e) => {\n e.stopPropagation();\n e.preventDefault();\n handleClear();\n }}\n >\n <XCircleFillIcon className={`${classNamePrefix}-input-clear-icon`} />\n </button>\n )}\n </div>\n );\n});\n","import type { Theme } from '@emotion/react';\nimport { css } from '@emotion/react';\n\nexport const getDayPickerStyles = (prefix: string, theme: Theme) => css`\n .${prefix} {\n --rdp-cell-size: ${theme.general.heightSm}px;\n --rdp-caption-font-size: ${theme.typography.fontSizeBase}px;\n --rdp-accent-color: ${theme.colors.actionPrimaryBackgroundDefault};\n --rdp-background-color: ${theme.colors.actionTertiaryBackgroundPress};\n --rdp-accent-color-dark: ${theme.colors.actionPrimaryBackgroundDefault};\n --rdp-background-color-dark: ${theme.colors.actionTertiaryBackgroundPress};\n --rdp-outline: 2px solid var(--rdp-accent-color);\n --rdp-outline-selected: 3px solid var(--rdp-accent-color);\n --rdp-selected-color: #fff;\n padding: 4px;\n }\n\n .${prefix}-vhidden {\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n background: transparent;\n border: 0;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n position: absolute !important;\n top: 0;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n overflow: hidden !important;\n clip: rect(1px, 1px, 1px, 1px) !important;\n border: 0 !important;\n }\n\n .${prefix}-button_reset {\n appearance: none;\n position: relative;\n margin: 0;\n padding: 0;\n cursor: default;\n color: inherit;\n background: none;\n font: inherit;\n -moz-appearance: none;\n -webkit-appearance: none;\n }\n\n .${prefix}-button_reset:focus-visible {\n outline: none;\n }\n\n .${prefix}-button {\n border: 2px solid transparent;\n }\n\n .${prefix}-button[disabled]:not(.${prefix}-day_selected) {\n opacity: 0.25;\n }\n\n .${prefix}-button:not([disabled]) {\n cursor: pointer;\n }\n\n .${prefix}-button:focus-visible:not([disabled]) {\n color: inherit;\n background-color: var(--rdp-background-color);\n border: var(--rdp-outline);\n }\n\n .${prefix}-button:hover:not([disabled]):not(.${prefix}-day_selected) {\n background-color: var(--rdp-background-color);\n }\n\n .${prefix}-months {\n display: flex;\n justify-content: center;\n }\n\n .${prefix}-month {\n margin: 0 1em;\n }\n\n .${prefix}-month:first-of-type {\n margin-left: 0;\n }\n\n .${prefix}-month:last-child {\n margin-right: 0;\n }\n\n .${prefix}-table {\n margin: 0;\n max-width: calc(var(--rdp-cell-size) * 7);\n border-collapse: collapse;\n }\n\n .${prefix}-with_weeknumber .${prefix}-table {\n max-width: calc(var(--rdp-cell-size) * 8);\n border-collapse: collapse;\n }\n\n .${prefix}-caption {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0;\n text-align: left;\n }\n\n .${prefix}-multiple_months .${prefix}-caption {\n position: relative;\n display: block;\n text-align: center;\n }\n\n .${prefix}-caption_dropdowns {\n position: relative;\n display: inline-flex;\n }\n\n .${prefix}-caption_label {\n position: relative;\n z-index: 1;\n display: inline-flex;\n align-items: center;\n margin: 0;\n padding: 0 0.25em;\n white-space: nowrap;\n color: currentColor;\n border: 0;\n border: 2px solid transparent;\n font-family: inherit;\n font-size: var(--rdp-caption-font-size);\n font-weight: 600;\n }\n\n .${prefix}-nav {\n white-space: nowrap;\n }\n\n .${prefix}-multiple_months .${prefix}-caption_start .${prefix}-nav {\n position: absolute;\n top: 50%;\n left: 0;\n transform: translateY(-50%);\n }\n\n .${prefix}-multiple_months .${prefix}-caption_end .${prefix}-nav {\n position: absolute;\n top: 50%;\n right: 0;\n transform: translateY(-50%);\n }\n\n .${prefix}-nav_button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--rdp-cell-size);\n height: var(--rdp-cell-size);\n }\n\n .${prefix}-dropdown_year, .${prefix}-dropdown_month {\n position: relative;\n display: inline-flex;\n align-items: center;\n }\n\n .${prefix}-dropdown {\n appearance: none;\n position: absolute;\n z-index: 2;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n margin: 0;\n padding: 0;\n cursor: inherit;\n opacity: 0;\n border: none;\n background-color: transparent;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n }\n\n .${prefix}-dropdown[disabled] {\n opacity: unset;\n color: unset;\n }\n\n .${prefix}-dropdown:focus-visible:not([disabled]) + .${prefix}-caption_label {\n background-color: var(--rdp-background-color);\n border: var(--rdp-outline);\n border-radius: 6px;\n }\n\n .${prefix}-dropdown_icon {\n margin: 0 0 0 5px;\n }\n\n .${prefix}-head {\n border: 0;\n }\n\n .${prefix}-head_row, .${prefix}-row {\n height: 100%;\n }\n\n .${prefix}-head_cell {\n vertical-align: middle;\n font-size: inherit;\n font-weight: 400;\n color: ${theme.colors.textSecondary};\n text-align: center;\n height: 100%;\n height: var(--rdp-cell-size);\n padding: 0;\n text-transform: uppercase;\n }\n\n .${prefix}-tbody {\n border: 0;\n }\n\n .${prefix}-tfoot {\n margin: 0.5em;\n }\n\n .${prefix}-cell {\n width: var(--rdp-cell-size);\n height: 100%;\n height: var(--rdp-cell-size);\n padding: 0;\n text-align: center;\n }\n\n .${prefix}-weeknumber {\n font-size: 0.75em;\n }\n\n .${prefix}-weeknumber, .${prefix}-day {\n display: flex;\n overflow: hidden;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n width: var(--rdp-cell-size);\n max-width: var(--rdp-cell-size);\n height: var(--rdp-cell-size);\n margin: 0;\n border: 2px solid transparent;\n border-radius: ${theme.general.borderRadiusBase}px;\n }\n\n .${prefix}-day_today:not(.${prefix}-day_outside) {\n font-weight: bold;\n }\n\n .${prefix}-day_selected, .${prefix}-day_selected:focus-visible, .${prefix}-day_selected:hover {\n color: var(--rdp-selected-color);\n opacity: 1;\n background-color: var(--rdp-accent-color);\n }\n\n .${prefix}-day_outside {\n pointer-events: none;\n color: ${theme.colors.textSecondary};\n }\n\n .${prefix}-day_selected:focus-visible {\n outline: var(--rdp-outline);\n outline-offset: 2px;\n z-index: 1;\n }\n\n .${prefix}:not([dir='rtl']) .${prefix}-day_range_start:not(.${prefix}-day_range_end) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n\n .${prefix}:not([dir='rtl']) .${prefix}-day_range_end:not(.${prefix}-day_range_start) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n\n .${prefix}[dir='rtl'] .${prefix}-day_range_start:not(.${prefix}-day_range_end) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n\n .${prefix}[dir='rtl'] .${prefix}-day_range_end:not(.${prefix}-day_range_start) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n\n .${prefix}-day_range_start, .${prefix}-day_range_end {\n border: 0;\n & > span {\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: ${theme.general.borderRadiusBase}px;\n background-color: var(--rdp-accent-color);\n color: ${theme.colors.white};\n }\n }\n\n .${prefix}-day_range_end.${prefix}-day_range_start {\n border-radius: ${theme.general.borderRadiusBase}px;\n }\n\n .${prefix}-day_range_middle {\n border-radius: 0;\n background-color: var(--rdp-background-color);\n color: ${theme.colors.actionDefaultTextDefault};\n\n &:hover {\n color: ${theme.colors.actionTertiaryTextHover};\n }\n }\n\n .${prefix}-row > td:last-of-type .${prefix}-day_range_middle {\n border-top-right-radius: ${theme.general.borderRadiusBase}px;\n border-bottom-right-radius: ${theme.general.borderRadiusBase}px;\n }\n\n .${prefix}-row > td:first-of-type .${prefix}-day_range_middle {\n border-top-left-radius: ${theme.general.borderRadiusBase}px;\n border-bottom-left-radius: ${theme.general.borderRadiusBase}px;\n }\n`;\n","export const generateDatePickerClassNames = (prefix: string) => ({\n root: `${prefix}`,\n multiple_months: `${prefix}-multiple_months`,\n with_weeknumber: `${prefix}-with_weeknumber`,\n vhidden: `${prefix}-vhidden`,\n button_reset: `${prefix}-button_reset`,\n button: `${prefix}-button`,\n caption: `${prefix}-caption`,\n caption_start: `${prefix}-caption_start`,\n caption_end: `${prefix}-caption_end`,\n caption_between: `${prefix}-caption_between`,\n caption_label: `${prefix}-caption_label`,\n caption_dropdowns: `${prefix}-caption_dropdowns`,\n dropdown: `${prefix}-dropdown`,\n dropdown_month: `${prefix}-dropdown_month`,\n dropdown_year: `${prefix}-dropdown_year`,\n dropdown_icon: `${prefix}-dropdown_icon`,\n months: `${prefix}-months`,\n month: `${prefix}-month`,\n table: `${prefix}-table`,\n tbody: `${prefix}-tbody`,\n tfoot: `${prefix}-tfoot`,\n head: `${prefix}-head`,\n head_row: `${prefix}-head_row`,\n head_cell: `${prefix}-head_cell`,\n nav: `${prefix}-nav`,\n nav_button: `${prefix}-nav_button`,\n nav_button_previous: `${prefix}-nav_button_previous`,\n nav_button_next: `${prefix}-nav_button_next`,\n nav_icon: `${prefix}-nav_icon`,\n row: `${prefix}-row`,\n weeknumber: `${prefix}-weeknumber`,\n cell: `${prefix}-cell`,\n day: `${prefix}-day`,\n day_today: `${prefix}-day_today`,\n day_outside: `${prefix}-day_outside`,\n day_selected: `${prefix}-day_selected`,\n day_disabled: `${prefix}-day_disabled`,\n day_hidden: `${prefix}-day_hidden`,\n day_range_start: `${prefix}-day_range_start`,\n day_range_end: `${prefix}-day_range_end`,\n day_range_middle: `${prefix}-day_range_middle`,\n});\n","import {\n endOfToday,\n endOfYesterday,\n format as formatDateFns,\n isAfter,\n isBefore,\n isValid,\n parseISO,\n startOfToday,\n startOfWeek,\n startOfYesterday,\n sub,\n} from 'date-fns';\nimport type { ForwardedRef, HTMLAttributes, KeyboardEvent, MouseEvent } from 'react';\nimport { forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';\nimport { Button as DayPickerButton, DayPicker, useDayRender } from 'react-day-picker';\nimport type {\n DateAfter,\n DateBefore,\n DateRange as DayPickerDateRange,\n DayPickerRangeProps,\n DayPickerSingleProps,\n DayProps,\n Matcher,\n} from 'react-day-picker';\n\nimport { DatePickerInput } from './DatePickerInput';\nimport { getDayPickerStyles } from './styles';\nimport { generateDatePickerClassNames } from './utils';\nimport type { InputProps, InputRef } from '../../design-system';\nimport {\n Button,\n ChevronLeftIcon,\n ChevronRightIcon,\n ClockIcon,\n Input,\n Popover,\n useDesignSystemSafexFlags,\n useDesignSystemTheme,\n} from '../../design-system';\nimport type { HTMLDataAttributes, ValidationState } from '../../design-system/types';\n\nconst DEFAULT_MIN_DATE = '1900-01-01 00:00:00';\nconst DEFAULT_MAX_DATE = '2100-12-31 23:59:59';\n\n// Helps with adding the timezone offset to the date\n// This is needed because the datepicker is in the local timezone and\n// dates with negative timezone offsets that don't select time will be negatively offset\n// leading to the previous day being selected\nconst correctDateTimezoneOffset = (date: Date) => {\n const dateWithCorrectedTimezone = new Date(date);\n\n if (dateWithCorrectedTimezone.getTimezoneOffset() > 0) {\n dateWithCorrectedTimezone.setMinutes(\n dateWithCorrectedTimezone.getMinutes() + dateWithCorrectedTimezone.getTimezoneOffset(),\n );\n }\n\n return dateWithCorrectedTimezone;\n};\n\nconst formatDateLimitForInput = (\n date: Date | string | number | undefined,\n includeTime: boolean,\n includeSeconds: boolean,\n defaultDate: string | undefined,\n): [Date | undefined, string | undefined] => {\n let limitDate = defaultDate ? new Date(defaultDate) : undefined;\n if (!limitDate) {\n return [undefined, undefined];\n }\n\n if (date) {\n if (date instanceof Date && isValid(date)) {\n limitDate = date;\n } else if (isValid(new Date(date))) {\n limitDate = new Date(date);\n }\n\n if (!includeTime) {\n limitDate = correctDateTimezoneOffset(limitDate);\n }\n }\n\n if (includeTime) {\n if (includeSeconds) {\n return [limitDate, formatDateFns(limitDate, 'yyyy-MM-dd HH:mm:ss')];\n }\n\n return [limitDate, formatDateFns(limitDate, 'yyyy-MM-dd HH:mm')];\n }\n\n return [limitDate, formatDateFns(limitDate, 'yyyy-MM-dd')];\n};\n\nconst handleInputKeyDown = (\n event: React.KeyboardEvent<HTMLInputElement>,\n setIsVisible: (open: boolean) => void,\n backspaceFn?: () => void,\n) => {\n if (event.key === ' ' || event.key === 'Enter' || event.key === 'Space') {\n event.preventDefault();\n event.stopPropagation();\n setIsVisible(true);\n } else if (event.key === 'Backspace' && backspaceFn) {\n event.preventDefault();\n event.stopPropagation();\n backspaceFn?.();\n }\n};\n\nexport interface DatePickerChangeEventType {\n target: {\n name?: string;\n value: Date | undefined;\n };\n type: string;\n updateLocation: 'input' | 'calendar';\n}\n\nexport interface RangePickerChangeEventType {\n target: {\n name?: string;\n value: DateRange | undefined;\n };\n type: string;\n updateLocation: 'input' | 'calendar' | 'preset';\n}\n\nexport interface DatePickerWrapperProps {\n wrapperProps?: HTMLAttributes<HTMLDivElement> & HTMLDataAttributes;\n}\n\nexport interface DatePickerProps\n extends Omit<InputProps, 'type' | 'suffix' | 'onKeyDown' | 'value' | 'onChange' | 'max' | 'min' | 'size'>,\n DatePickerWrapperProps {\n onChange?: (e: DatePickerChangeEventType) => void;\n onClear?: () => void;\n open?: boolean;\n onOpenChange?: (visible: boolean) => void;\n value?: Date;\n validationState?: ValidationState;\n includeTime?: boolean;\n includeSeconds?: boolean;\n /**\n * Expected format HH:mm or HH:mm:ss\n */\n defaultTime?: string;\n datePickerProps?: Omit<DayPickerSingleProps, 'mode' | 'selected'> | Omit<DayPickerRangeProps, 'mode' | 'selected'>;\n timeInputProps?: Omit<InputProps, 'type' | 'allowClear' | 'onChange' | 'value' | 'componentId' | 'size'>;\n name?: string;\n width?: string | number;\n maxWidth?: string | number;\n minWidth?: string | number;\n dateTimeDisabledFn?: (date: Date) => boolean;\n quickActions?: DatePickerQuickActionProps[];\n onOkPress?: () => void;\n okButtonLabel?: string;\n min?: Date | string | number | undefined;\n max?: Date | string | number | undefined;\n /**\n * DO NOT USE THIS PROP. This is only for internal use.\n */\n showTimeZone?: boolean;\n /**\n * Custom timezone label, this has no functional impact, converting to the correct timezone must be done outside this component\n */\n customTimeZoneLabel?: string;\n}\n\nfunction Day(props: DayProps): JSX.Element {\n const buttonRef = useRef<HTMLButtonElement>(null);\n const dayRender = useDayRender(props.date, props.displayMonth, buttonRef);\n\n if (dayRender.isHidden) {\n return <div role=\"cell\" />;\n }\n if (!dayRender.isButton) {\n return <div {...dayRender.divProps} />;\n }\n\n const ariaLabel = props.date.toLocaleDateString(undefined, {\n weekday: 'long',\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n });\n\n return <DayPickerButton name=\"day\" ref={buttonRef} {...dayRender.buttonProps} role=\"button\" aria-label={ariaLabel} />;\n}\n\ninterface DatePickerQuickActionProps {\n label: string;\n /**\n * Do not pass Date[] as value, it's only for internal use\n */\n value: Date | Date[];\n onClick?: (value: Date | Date[]) => void;\n}\n\nexport const getDatePickerQuickActionBasic = ({\n today,\n yesterday,\n sevenDaysAgo,\n}: {\n today?: Partial<DatePickerQuickActionProps>;\n yesterday?: Partial<DatePickerQuickActionProps>;\n sevenDaysAgo?: Partial<DatePickerQuickActionProps>;\n}): DatePickerQuickActionProps[] => [\n {\n label: 'Today',\n value: startOfToday(),\n ...today,\n },\n {\n label: 'Yesterday',\n value: startOfYesterday(),\n ...yesterday,\n },\n {\n label: '7 days ago',\n value: sub(startOfToday(), { days: 7 }),\n ...sevenDaysAgo,\n },\n];\n\nexport const DatePicker = forwardRef<HTMLInputElement, DatePickerProps>(\n (props: DatePickerProps, ref: ForwardedRef<HTMLInputElement>) => {\n const { classNamePrefix, theme } = useDesignSystemTheme();\n const { useNewDatePickerInput } = useDesignSystemSafexFlags();\n const {\n id,\n name,\n value,\n validationState,\n onChange,\n allowClear,\n onClear,\n includeTime,\n includeSeconds,\n defaultTime,\n onOpenChange,\n open,\n datePickerProps,\n timeInputProps,\n mode = 'single',\n selected,\n width,\n maxWidth,\n minWidth,\n dateTimeDisabledFn,\n quickActions,\n wrapperProps,\n onOkPress,\n okButtonLabel,\n showTimeZone,\n customTimeZoneLabel,\n min,\n max,\n ...restProps\n } = props as DatePickerProps & { selected?: DayPickerDateRange; mode: 'single' | 'range' };\n const format = includeTime ? (includeSeconds ? 'yyyy-MM-dd HH:mm:ss' : 'yyyy-MM-dd HH:mm') : 'yyyy-MM-dd';\n const [date, setDate] = useState<Date | undefined>(value);\n const [timezone, setTimezone] = useState<string | undefined>(customTimeZoneLabel);\n\n const [isVisible, setIsVisible] = useState(Boolean(open));\n // Used to prevent the blur update when the datepicker is opened/closed\n const [preventBlurUpdate, setPreventBlurUpdate] = useState(false);\n const inputRef = useRef<InputRef>(null);\n\n const visibleRef = useRef(isVisible);\n // Needed to avoid the clear icon click also reopening the datepicker\n const fromClearRef = useRef(null);\n\n const setDateInputValue = useCallback(\n (date: Date | undefined) => {\n const formattedDate = date && isValid(date) ? formatDateFns(date, format) : undefined;\n if (inputRef.current) {\n (inputRef.current as any).value = formattedDate;\n }\n },\n [format],\n );\n\n const setDateAndDateInputValue = useCallback(\n (date: Date | undefined) => {\n setDate(date);\n if (useNewDatePickerInput) {\n setDateInputValue(date);\n }\n },\n [useNewDatePickerInput, setDateInputValue],\n );\n\n useEffect(() => {\n if (!isVisible && visibleRef.current) {\n (inputRef.current as any)?.focus();\n }\n visibleRef.current = isVisible;\n onOpenChange?.(isVisible);\n }, [isVisible, onOpenChange]);\n\n useEffect(() => {\n setIsVisible(Boolean(open));\n }, [open]);\n\n useEffect(() => {\n const now = new Date();\n if (showTimeZone) {\n if (customTimeZoneLabel) {\n setTimezone(customTimeZoneLabel);\n return;\n }\n\n setTimezone(\n Intl.DateTimeFormat('en-US', {\n timeZoneName: 'short',\n })\n .formatToParts(now)\n .find((part) => part.type === 'timeZoneName')?.value ?? formatDateFns(now, 'z'),\n );\n } else {\n setTimezone(undefined);\n }\n }, [showTimeZone, customTimeZoneLabel]);\n\n useEffect(() => {\n if (value) {\n if (value instanceof Date && isValid(value)) {\n setDateAndDateInputValue(value);\n } else {\n if (isValid(new Date(value))) {\n setDateAndDateInputValue(new Date(value));\n } else {\n setDateAndDateInputValue(undefined);\n }\n }\n } else {\n setDateAndDateInputValue(undefined);\n }\n }, [value, setDateAndDateInputValue]);\n\n const handleChange = useCallback(\n (date: Date | undefined, isCalendarUpdate: boolean) => {\n if (onChange) {\n onChange({\n target: {\n name,\n value: date,\n },\n type: 'change',\n updateLocation: isCalendarUpdate ? 'calendar' : 'input',\n });\n }\n },\n [onChange, name],\n );\n\n const handleDatePickerUpdate = (date: Date) => {\n // Prevent the blur triggering an update event as well\n setPreventBlurUpdate(true);\n\n setDate((prevDate) => {\n setDateInputValue(date);\n // Set default time if date is set the first time\n if (!prevDate && date && includeTime && defaultTime) {\n const timeSplit = defaultTime.split(':');\n date?.setHours(+timeSplit[0]);\n date?.setMinutes(+timeSplit[1]);\n date.setSeconds(timeSplit.length > 2 ? +timeSplit[2] : 0);\n } else if (prevDate && date && includeTime) {\n date.setHours(prevDate.getHours());\n date.setMinutes(prevDate.getMinutes());\n if (includeSeconds) {\n date.setSeconds(prevDate.getSeconds());\n }\n }\n handleChange(date, true);\n return date;\n });\n\n if (!includeTime) {\n setIsVisible(false);\n }\n };\n\n const handleInputUpdate = (dateString: string | undefined) => {\n processInputDate(dateString);\n };\n\n const handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n if (isVisible) {\n return;\n }\n\n if (preventBlurUpdate) {\n // If the datepicker is opened/closed, prevent the blur update\n setPreventBlurUpdate(false);\n return;\n }\n\n const newValue = new Date((e.target as HTMLInputElement).value);\n if (newValue && isValid(newValue)) {\n processInputDate(e.target.value, true);\n } else {\n processInputDate(undefined, true);\n }\n restProps?.onBlur?.(e);\n };\n\n const [minimumAllowedDate, minimumAllowedDateString] = useMemo(() => {\n return formatDateLimitForInput(min, Boolean(includeTime), Boolean(includeSeconds), DEFAULT_MIN_DATE);\n }, [min, includeTime, includeSeconds]);\n\n const [maximumAllowedDate, maximumAllowedDateString] = useMemo(() => {\n return formatDateLimitForInput(max, Boolean(includeTime), Boolean(includeSeconds), DEFAULT_MAX_DATE);\n }, [max, includeTime, includeSeconds]);\n\n // shouldEmitOnChange should be true for instances when the updated date should propagate to the parent\n // when just typing, shouldEmitOnChange should be false\n // when blurring the input, shouldEmitOnChange should be true\n const processInputDate = (updatedDateString: string | undefined, shouldEmitOnChange: boolean = false) => {\n const updatedDate = updatedDateString ? parseISO(updatedDateString) : undefined;\n\n // If the input is empty, set the date to undefined and emit the change event if shouldEmitOnChange is true\n if (!updatedDate) {\n setDateAndDateInputValue(undefined);\n if (shouldEmitOnChange) {\n handleChange(undefined, false);\n }\n return;\n }\n\n // If the date is invalid, don't update the date, the user is still typing\n if (!isValid(updatedDate)) {\n return;\n }\n\n let validInputDate = updatedDate;\n\n if (!includeTime) {\n validInputDate = correctDateTimezoneOffset(updatedDate);\n }\n\n // Don't emit onChange events for dates that have less than 4 digits in the year and before 1900\n // Only allow the input to be updated so the user can keep typing the date\n if (isBefore(validInputDate, new Date(DEFAULT_MIN_DATE)) || isAfter(validInputDate, new Date(DEFAULT_MAX_DATE))) {\n if (shouldEmitOnChange) {\n setDateAndDateInputValue(value);\n } else {\n setDateAndDateInputValue(validInputDate);\n }\n return;\n }\n\n // If the value should be propagated, it means the input is blurred and the limit checks have already been done\n // so we can update the date and emit the change event\n if (shouldEmitOnChange) {\n if (validInputDate !== value) {\n setDateAndDateInputValue(validInputDate);\n handleChange(validInputDate, false);\n }\n return;\n }\n\n // Verify limits of the date and don't update the date if it's out of range\n if (minimumAllowedDate && isBefore(validInputDate, minimumAllowedDate)) {\n validInputDate = minimumAllowedDate;\n }\n\n if (maximumAllowedDate && isAfter(validInputDate, maximumAllowedDate)) {\n validInputDate = maximumAllowedDate;\n }\n\n setDateAndDateInputValue(validInputDate);\n\n if (!includeTime && isVisible) {\n setIsVisible(false);\n }\n };\n\n const handleClear = useCallback(() => {\n setDateAndDateInputValue(undefined);\n handleChange(undefined, false);\n onClear?.();\n }, [onClear, handleChange, setDateAndDateInputValue]);\n\n const handleTimeUpdate = (e: any) => {\n const newTime = e.nativeEvent?.target?.value;\n\n const time = date && isValid(date) ? formatDateFns(date, includeSeconds ? 'HH:mm:ss' : 'HH:mm') : undefined;\n if (newTime && newTime !== time) {\n if (date) {\n const updatedDate = new Date(date);\n const timeSplit = newTime.split(':');\n updatedDate.setHours(+timeSplit[0]);\n updatedDate.setMinutes(+timeSplit[1]);\n if (includeSeconds) {\n updatedDate.setSeconds(+timeSplit[2]);\n }\n processInputDate(formatDateFns(updatedDate, format));\n }\n }\n };\n\n // Manually add the clear icon click event listener to avoid reopening the datepicker when clearing the input\n useEffect(() => {\n if (allowClear && inputRef.current && !useNewDatePickerInput) {\n const clearIcon = (inputRef.current as any).input\n ?.closest('[type=\"button\"]')\n ?.querySelector(`.${classNamePrefix}-input-clear-icon`);\n\n if (clearIcon !== fromClearRef.current) {\n fromClearRef.current = clearIcon;\n const clientEventListener = (e: MouseEvent<HTMLSpanElement>) => {\n e.stopPropagation();\n e.preventDefault();\n handleClear();\n };\n\n clearIcon.addEventListener('click', clientEventListener);\n }\n }\n }, [classNamePrefix, defaultTime, handleClear, allowClear, useNewDatePickerInput]);\n\n const { classNames, datePickerStyles } = useMemo(\n () => ({\n classNames: generateDatePickerClassNames(`${classNamePrefix}-datepicker`),\n datePickerStyles: getDayPickerStyles(`${classNamePrefix}-datepicker`, theme),\n }),\n [classNamePrefix, theme],\n );\n\n const chevronLeftIconComp = (props: any) => <ChevronLeftIcon {...props} />;\n const chevronRightIconComp = (props: any) => <ChevronRightIcon {...props} />;\n\n return (\n <div\n className={`${classNamePrefix}-datepicker`}\n css={{ width, minWidth, maxWidth, pointerEvents: restProps?.disabled ? 'none' : 'auto' }}\n {...wrapperProps}\n >\n <Popover.Root\n componentId=\"codegen_design-system_src_development_datepicker_datepicker.tsx_330\"\n open={isVisible}\n onOpenChange={setIsVisible}\n >\n <Popover.Trigger asChild disabled={restProps?.disabled} role=\"combobox\">\n <div>\n {useNewDatePickerInput ? (\n <>\n <DatePickerInput\n id={id}\n // Once we get rid of the old datepicker input, we can remove the as any\n ref={inputRef as any}\n name={name}\n validationState={validationState}\n allowClear={allowClear}\n onClear={allowClear ? handleClear : undefined}\n placeholder=\"Select Date\"\n aria-label={includeTime ? 'Select Date and Time' : 'Select Date'}\n prefix=\"Date:\"\n role=\"textbox\"\n suffix={showTimeZone ? <span>{timezone}</span> : undefined}\n min={minimumAllowedDateString}\n max={maximumAllowedDateString}\n {...restProps}\n type={includeTime ? 'datetime-local' : 'date'}\n step={includeTime && includeSeconds ? 1 : undefined}\n onKeyDown={(event) => handleInputKeyDown(event, setIsVisible, () => handleInputUpdate(undefined))}\n onChange={(e) => handleInputUpdate(e.target.value)}\n value={date && isValid(date) ? formatDateFns(date, format) : undefined}\n onBlur={handleBlur}\n />\n <input type=\"hidden\" ref={ref} value={(date as any) || ''} />\n </>\n ) : (\n <>\n <Input\n id={id}\n ref={inputRef}\n name={name}\n validationState={validationState}\n allowClear={allowClear}\n placeholder=\"Select Date\"\n aria-label={includeTime ? 'Select Date and Time' : 'Select Date'}\n prefix=\"Date:\"\n role=\"textbox\"\n suffix={showTimeZone ? <span>{timezone}</span> : undefined}\n min={minimumAllowedDateString}\n max={maximumAllowedDateString}\n {...restProps}\n css={{\n '*::-webkit-calendar-picker-indicator': { display: 'none' },\n [`.${classNamePrefix}-input-prefix`]: {\n ...(!restProps?.disabled && { color: `${theme.colors.textPrimary} !important` }),\n },\n [`&.${classNamePrefix}-input-affix-wrapper > *`]: {\n height: theme.typography.lineHeightBase,\n },\n ...(showTimeZone && {\n [`.${classNamePrefix}-input-suffix`]: {\n display: 'inline-flex',\n flexDirection: 'row-reverse',\n gap: theme.spacing.sm,\n alignItems: 'center',\n },\n }),\n }}\n type={includeTime ? 'datetime-local' : 'date'}\n step={includeTime && includeSeconds ? 1 : undefined}\n onKeyDown={(event) => handleInputKeyDown(event, setIsVisible, () => handleInputUpdate(undefined))}\n onChange={(e) => handleInputUpdate(e.target.value)}\n value={date && isValid(date) ? formatDateFns(date, format) : undefined}\n onBlur={handleBlur}\n />\n <input type=\"hidden\" ref={ref} value={(date as any) || ''} />\n </>\n )}\n </div>\n </Popover.Trigger>\n <Popover.Content align=\"start\" css={datePickerStyles}>\n <DayPicker\n initialFocus\n {...datePickerProps}\n mode={mode as any}\n selected={mode === 'range' ? selected : date}\n onDayClick={handleDatePickerUpdate}\n showOutsideDays={mode === 'range' ? false : true}\n formatters={{\n formatWeekdayName: (date) => formatDateFns(date, 'iiiii', { locale: datePickerProps?.locale }),\n }}\n components={{\n Day,\n IconLeft: chevronLeftIconComp,\n IconRight: chevronRightIconComp,\n }}\n defaultMonth={date}\n classNames={classNames}\n />\n {quickActions?.length && (\n <div\n style={{\n display: 'flex',\n gap: theme.spacing.sm,\n marginBottom: theme.spacing.md,\n padding: `${theme.spacing.xs}px ${theme.spacing.xs}px 0`,\n maxWidth: 225,\n flexWrap: 'wrap',\n }}\n >\n {quickActions?.map((action, i) => (\n <Button\n size=\"small\"\n componentId=\"codegen_design-system_src_design-system_datepicker_datepicker.tsx_281\"\n key={i}\n onClick={() =>\n action.onClick\n ? action.onClick(action.value)\n : !Array.isArray(action.value) && handleDatePickerUpdate(action.value)\n }\n >\n {action.label}\n </Button>\n ))}\n </div>\n )}\n {includeTime && (\n <Input\n componentId=\"codegen_design-system_src_development_datepicker_datepicker.tsx_306\"\n type=\"time\"\n step={includeSeconds ? 1 : undefined}\n aria-label=\"Time\"\n role=\"textbox\"\n min={minimumAllowedDateString}\n max={maximumAllowedDateString}\n {...timeInputProps}\n value={date && isValid(date) ? formatDateFns(date, includeSeconds ? 'HH:mm:ss' : 'HH:mm') : undefined}\n onChange={handleTimeUpdate}\n css={{\n '*::-webkit-calendar-picker-indicator': {\n position: 'absolute',\n right: -8,\n width: theme.general.iconSize,\n height: theme.general.iconSize,\n zIndex: theme.options.zIndexBase + 1,\n color: 'transparent',\n background: 'transparent',\n },\n [`.${classNamePrefix}-input-suffix`]: {\n position: 'absolute',\n right: 12,\n top: 8,\n },\n }}\n suffix={<ClockIcon />}\n disabled={timeInputProps?.disabled}\n />\n )}\n {mode === 'range' && includeTime && onOkPress && (\n <div css={{ paddingTop: theme.spacing.md, display: 'flex', justifyContent: 'flex-end' }}>\n <Button\n aria-label=\"Open end date picker\"\n type=\"primary\"\n componentId=\"datepicker-dubois-ok-button\"\n onClick={onOkPress}\n >\n {okButtonLabel ?? 'Ok'}\n </Button>\n </div>\n )}\n </Popover.Content>\n </Popover.Root>\n </div>\n );\n },\n);\n\nexport interface RangePickerProps extends Omit<DayPickerRangeProps, 'mode'>, DatePickerWrapperProps {\n name?: string;\n onChange?: (e: RangePickerChangeEventType) => void;\n startDatePickerProps?: DatePickerProps & { ref?: ForwardedRef<HTMLInputElement> };\n endDatePickerProps?: DatePickerProps & { ref?: ForwardedRef<HTMLInputElement> };\n includeTime?: boolean;\n includeSeconds?: boolean;\n allowClear?: boolean;\n /**\n * Minimum recommended width 300px without `includeTime` and 350px with `includeTime`. 400px if both `includeTime` and `allowClear` are true\n */\n width?: string | number;\n /**\n * Minimum recommended width 300px without `includeTime` and 350px with `includeTime`. 400px if both `includeTime` and `allowClear` are true\n */\n maxWidth?: string | number;\n /**\n * Minimum recommended width 300px without `includeTime` and 350px with `includeTime`. 400px if both `includeTime` and `allowClear` are true\n */\n minWidth?: string | number;\n disabled?: boolean;\n quickActions?: RangePickerQuickActionProps[];\n /**\n * Allow the user to select a range that has a larger start date than end date or a start date that is after the end date\n */\n noRangeValidation?: boolean;\n}\n\nexport interface DateRange extends DayPickerDateRange {}\n\nexport interface RangePickerQuickActionProps extends DatePickerQuickActionProps {}\n\nexport const getRangeQuickActionsBasic = ({\n today,\n yesterday,\n lastWeek,\n}: {\n today?: Partial<RangePickerQuickActionProps>;\n yesterday?: Partial<RangePickerQuickActionProps>;\n lastWeek?: Partial<RangePickerQuickActionProps>;\n}): RangePickerQuickActionProps[] => {\n const todayStart = startOfToday();\n const weekStart = startOfWeek(todayStart);\n return [\n {\n label: 'Today',\n value: [todayStart, endOfToday()],\n ...today,\n },\n {\n label: 'Yesterday',\n value: [startOfYesterday(), endOfYesterday()],\n ...yesterday,\n },\n {\n label: 'Last week',\n value: [sub(weekStart, { days: 7 }), sub(weekStart, { days: 1 })],\n ...lastWeek,\n },\n ];\n};\n\nexport const RangePicker = (props: RangePickerProps) => {\n const {\n id,\n onChange,\n startDatePickerProps,\n endDatePickerProps,\n includeTime,\n includeSeconds,\n allowClear,\n minWidth,\n maxWidth,\n width,\n disabled,\n quickActions,\n wrapperProps,\n noRangeValidation,\n } = props;\n const [range, setRange] = useState<DayPickerDateRange | undefined>({\n from: startDatePickerProps?.value,\n to: endDatePickerProps?.value,\n });\n const { classNamePrefix } = useDesignSystemTheme();\n\n // Focus is lost when the popover is closed, we need to set the focus back to the input that opened the popover manually.\n const [isFromVisible, setIsFromVisible] = useState(false);\n const [isToVisible, setIsToVisible] = useState(false);\n const [isRangeInputFocused, setIsRangeInputFocused] = useState(false);\n\n const fromInputRef = useRef<HTMLInputElement>(null);\n const toInputRef = useRef<HTMLInputElement>(null);\n\n useImperativeHandle(startDatePickerProps?.ref, () => fromInputRef.current as any);\n useImperativeHandle(endDatePickerProps?.ref, () => toInputRef.current as any);\n\n const fromInputRefVisible = useRef(isFromVisible);\n const toInputRefVisible = useRef(isToVisible);\n\n useEffect(() => {\n if (!isFromVisible && fromInputRefVisible.current) {\n (fromInputRef.current as any)?.focus();\n }\n fromInputRefVisible.current = isFromVisible;\n }, [isFromVisible]);\n\n useEffect(() => {\n if (!isToVisible && toInputRefVisible.current) {\n (toInputRef.current as any)?.focus();\n }\n toInputRefVisible.current = isToVisible;\n }, [isToVisible]);\n\n const checkIfDateTimeIsDisabled = useCallback(\n (date, isStart = false): boolean => {\n const dateToCompareTo = isStart ? range?.to : range?.from;\n if (date && dateToCompareTo) {\n return isStart ? isAfter(date, dateToCompareTo) : isBefore(date, dateToCompareTo);\n }\n\n return false;\n },\n [range],\n );\n\n useEffect(() => {\n setRange((prevValue) => ({\n from: startDatePickerProps?.value,\n to: prevValue?.to,\n }));\n }, [startDatePickerProps?.value]);\n\n useEffect(() => {\n setRange((prevValue) => ({\n from: prevValue?.from,\n to: endDatePickerProps?.value,\n }));\n }, [endDatePickerProps?.value]);\n\n const quickActionsWithHandler = useMemo(() => {\n if (quickActions) {\n return quickActions.map((action) => {\n if (Array.isArray(action.value)) {\n return {\n ...action,\n onClick: ((value: Date[]) => {\n setRange({ from: value[0], to: value[1] });\n onChange?.({\n target: { name: props.name, value: { from: value[0], to: value[1] } },\n type: 'change',\n updateLocation: 'preset',\n });\n action.onClick?.(value);\n setIsFromVisible(false);\n setIsToVisible(false);\n }) as (value: Date | Date[]) => void,\n };\n }\n return action;\n });\n }\n\n return quickActions;\n }, [quickActions, onChange, props.name]);\n\n const handleUpdateDate = useCallback(\n (e: DatePickerChangeEventType, isStart: boolean) => {\n const date = e.target.value;\n const newRange: DateRange = isStart\n ? { from: date, to: range?.to }\n : {\n from: range?.from,\n to: date,\n };\n\n if (!includeTime) {\n if (isStart) {\n setIsFromVisible(false);\n if (e.updateLocation === 'calendar') {\n setIsToVisible(true);\n }\n } else {\n setIsToVisible(false);\n }\n }\n\n if (isStart) {\n startDatePickerProps?.onChange?.(e);\n } else {\n endDatePickerProps?.onChange?.(e);\n }\n\n setRange(newRange);\n onChange?.({\n target: { name: props.name, value: newRange },\n type: 'change',\n updateLocation: e.updateLocation,\n });\n },\n [onChange, includeTime, startDatePickerProps, endDatePickerProps, range, props.name],\n );\n\n // Use useMemo to calculate disabled dates\n const disabledDates = useMemo(() => {\n let startDisabledFromProps, endDisabledFromProps;\n if (startDatePickerProps?.datePickerProps?.disabled) {\n startDisabledFromProps = Array.isArray(startDatePickerProps?.datePickerProps?.disabled)\n ? startDatePickerProps?.datePickerProps?.disabled\n : [startDatePickerProps?.datePickerProps?.disabled];\n }\n const startDisabled: Matcher[] = [\n { after: range?.to } as DateAfter,\n ...(startDisabledFromProps ? (startDisabledFromProps as Matcher[]) : []),\n ].filter(Boolean);\n\n if (endDatePickerProps?.datePickerProps?.disabled) {\n endDisabledFromProps = Array.isArray(endDatePickerProps?.datePickerProps?.disabled)\n ? endDatePickerProps?.datePickerProps?.disabled\n : [endDatePickerProps?.datePickerProps?.disabled];\n }\n\n const endDisabled: Matcher[] = [\n { before: range?.from } as DateBefore,\n ...(endDisabledFromProps ? (endDisabledFromProps as Matcher[]) : []),\n ].filter(Boolean);\n\n return { startDisabled, endDisabled };\n }, [\n range?.from,\n range?.to,\n startDatePickerProps?.datePickerProps?.disabled,\n endDatePickerProps?.datePickerProps?.disabled,\n ]);\n\n const [startDateMaxInputDate] = useMemo(\n () =>\n formatDateLimitForInput(\n noRangeValidation ? undefined : range?.to,\n Boolean(includeTime),\n Boolean(includeSeconds),\n DEFAULT_MAX_DATE,\n ),\n [includeTime, includeSeconds, noRangeValidation, range?.to],\n );\n\n const [endDateMinInputDate] = useMemo(\n () =>\n formatDateLimitForInput(\n noRangeValidation ? undefined : range?.from,\n Boolean(includeTime),\n Boolean(includeSeconds),\n DEFAULT_MIN_DATE,\n ),\n [includeTime, includeSeconds, noRangeValidation, range?.from],\n );\n\n const openEndDatePicker = () => {\n setIsFromVisible(false);\n setIsToVisible(true);\n };\n\n const closeEndDatePicker = () => {\n setIsToVisible(false);\n };\n\n const handleTimePickerKeyPress = (e: KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n openEndDatePicker();\n }\n props.startDatePickerProps?.timeInputProps?.onKeyDown?.(e);\n };\n\n return (\n <div\n className={`${classNamePrefix}-rangepicker`}\n {...wrapperProps}\n data-focused={isRangeInputFocused}\n css={{ display: 'flex', alignItems: 'center', minWidth, maxWidth, width }}\n >\n <DatePicker\n quickActions={quickActionsWithHandler}\n prefix=\"Start:\"\n open={isFromVisible}\n onOpenChange={setIsFromVisible}\n okButtonLabel=\"Next\"\n {...startDatePickerProps}\n id={id}\n ref={fromInputRef}\n disabled={disabled || startDatePickerProps?.disabled}\n onChange={(e) => handleUpdateDate(e, true)}\n includeTime={includeTime}\n includeSeconds={includeSeconds}\n allowClear={allowClear}\n max={startDateMaxInputDate}\n datePickerProps={{\n ...startDatePickerProps?.datePickerProps,\n disabled: disabledDates.startDisabled,\n }}\n timeInputProps={{\n onKeyDown: handleTimePickerKeyPress,\n }}\n // @ts-expect-error - DatePickerProps does not have a mode property in the public API but is needed for this use case\n mode=\"range\"\n selected={range}\n value={range?.from}\n dateTimeDisabledFn={(date: Date) => checkIfDateTimeIsDisabled(date, true)}\n onFocus={(e) => {\n setIsRangeInputFocused(true);\n startDatePickerProps?.onFocus?.(e);\n }}\n onBlur={(e) => {\n setIsRangeInputFocused(false);\n startDatePickerProps?.onBlur?.(e);\n }}\n css={{\n '*::-webkit-calendar-picker-indicator': { display: 'none' },\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n }}\n wrapperProps={{\n style: { width: '50%' },\n }}\n onOkPress={openEndDatePicker}\n />\n <DatePicker\n quickActions={quickActionsWithHandler}\n prefix=\"End:\"\n min={endDateMinInputDate}\n okButtonLabel=\"Close\"\n {...endDatePickerProps}\n ref={toInputRef}\n disabled={disabled || endDatePickerProps?.disabled}\n onChange={(e) => handleUpdateDate(e, false)}\n includeTime={includeTime}\n includeSeconds={includeSeconds}\n open={isToVisible}\n onOpenChange={setIsToVisible}\n allowClear={allowClear}\n datePickerProps={{\n ...endDatePickerProps?.datePickerProps,\n disabled: disabledDates.endDisabled,\n }}\n // @ts-expect-error - DatePickerProps does not have a mode property in the public API but is needed for this use case\n mode=\"range\"\n selected={range}\n value={range?.to}\n dateTimeDisabledFn={(date: Date) => checkIfDateTimeIsDisabled(date, false)}\n onFocus={(e) => {\n setIsRangeInputFocused(true);\n startDatePickerProps?.onFocus?.(e);\n }}\n onBlur={(e) => {\n setIsRangeInputFocused(false);\n startDatePickerProps?.onBlur?.(e);\n }}\n css={{\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n left: -1,\n }}\n wrapperProps={{\n style: { width: '50%' },\n }}\n onOkPress={closeEndDatePicker}\n />\n </div>\n );\n};\n","import React, { createContext, useCallback, useContext, useMemo, useState } from 'react';\n\nimport type { ListboxContextValue, ListboxOption, ListboxRootProps } from './types';\n\nconst ListboxContext = createContext<ListboxContextValue | null>(null);\n\nexport const useListboxContext = () => {\n const context = useContext(ListboxContext);\n if (!context) {\n throw new Error('useListboxContext must be used within a ListboxProvider');\n }\n return context;\n};\n\nexport const ListboxRoot = ({\n children,\n className,\n onSelect,\n initialSelectedValue,\n listBoxDivRef,\n}: ListboxRootProps) => {\n const [selectedValue, setSelectedValue] = useState<string | undefined>(initialSelectedValue);\n const [highlightedValue, setHighlightedValue] = useState<string>();\n const listboxId = useMemo(() => `listbox-${Math.random().toString(36).slice(2)}`, []);\n\n const getContentOptions = (element: HTMLElement | null | undefined): HTMLElement[] | undefined => {\n const options = element?.querySelectorAll('[role=\"option\"], [role=\"link\"]');\n return options ? (Array.from(options) as HTMLElement[]) : undefined;\n };\n\n const handleKeyNavigation = useCallback(\n (event: React.KeyboardEvent, options: ListboxOption[]) => {\n const currentIndex = options.findIndex((option) => option.value === highlightedValue);\n let nextIndex = currentIndex;\n\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault();\n nextIndex = currentIndex < options.length - 1 ? currentIndex + 1 : 0;\n break;\n case 'ArrowUp':\n event.preventDefault();\n nextIndex = currentIndex > 0 ? currentIndex - 1 : options.length - 1;\n break;\n case 'Home':\n event.preventDefault();\n nextIndex = 0;\n break;\n case 'End':\n event.preventDefault();\n nextIndex = options.length - 1;\n break;\n case 'Enter':\n case ' ':\n event.preventDefault();\n if (highlightedValue !== undefined) {\n onSelect?.(highlightedValue);\n if (options[currentIndex].href) {\n window.open(options[currentIndex].href, '_blank');\n } else {\n setSelectedValue(highlightedValue);\n }\n }\n break;\n default:\n return;\n }\n\n if (nextIndex !== currentIndex && listBoxDivRef?.current) {\n setHighlightedValue(options[nextIndex].value);\n const optionsList = getContentOptions(listBoxDivRef?.current);\n if (optionsList) {\n optionsList[nextIndex]?.scrollIntoView?.({ block: 'center' });\n }\n }\n },\n [highlightedValue, onSelect, listBoxDivRef],\n );\n\n const contextValue = useMemo(\n () => ({\n selectedValue,\n setSelectedValue,\n highlightedValue,\n setHighlightedValue,\n listboxId,\n handleKeyNavigation,\n }),\n [selectedValue, highlightedValue, listboxId, handleKeyNavigation],\n );\n\n return (\n <ListboxContext.Provider value={contextValue}>\n <div className={className}>{children}</div>\n </ListboxContext.Provider>\n );\n};\n","/** @jsxImportSource @emotion/react */\nimport React, { useCallback } from 'react';\n\nimport { useListboxContext } from './ListboxRoot';\nimport type { ListboxInputProps } from './types';\nimport { SearchIcon, useDesignSystemTheme } from '../../design-system';\nimport { Input } from '../../design-system/Input';\n\nexport const ListboxInput = ({\n value,\n onChange,\n placeholder,\n 'aria-controls': ariaControls,\n 'aria-activedescendant': ariaActiveDescendant,\n className,\n options,\n}: ListboxInputProps) => {\n const { handleKeyNavigation } = useListboxContext();\n const designSystemTheme = useDesignSystemTheme();\n\n const handleChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n onChange(event.target.value);\n },\n [onChange],\n );\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n // Only handle navigation keys if there are options\n if (options.length > 0 && ['ArrowDown', 'ArrowUp', 'Home', 'End', 'Enter'].includes(event.key)) {\n handleKeyNavigation(event, options);\n }\n },\n [handleKeyNavigation, options],\n );\n\n return (\n <div\n css={{\n position: 'sticky',\n top: 0,\n background: designSystemTheme.theme.colors.backgroundPrimary,\n zIndex: designSystemTheme.theme.options.zIndexBase + 1,\n }}\n >\n <Input\n componentId=\"listbox-filter-input\"\n role=\"combobox\"\n aria-controls={ariaControls}\n aria-activedescendant={ariaActiveDescendant}\n aria-expanded=\"true\"\n aria-autocomplete=\"list\"\n value={value}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n prefix={<SearchIcon />}\n className={className}\n allowClear\n />\n </div>\n );\n};\n","/** @jsxImportSource @emotion/react */\nimport { css, useTheme } from '@emotion/react';\nimport React, { useCallback, useEffect, useRef } from 'react';\n\nimport { useListboxContext } from './ListboxRoot';\nimport type { ListboxOptionsProps, ListboxOption } from './types';\nimport { getComboboxOptionItemWrapperStyles } from '../../design-system/_shared_/Combobox/styles';\n\nexport const ListboxOptions = ({ options, onSelect, onHighlight, className }: ListboxOptionsProps) => {\n const theme = useTheme();\n const { listboxId, selectedValue, setSelectedValue, highlightedValue, handleKeyNavigation } = useListboxContext();\n const listboxRef = useRef<HTMLDivElement>(null);\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent) => {\n handleKeyNavigation(event, options);\n },\n [handleKeyNavigation, options],\n );\n\n const handleClick = useCallback(\n (event: React.MouseEvent, option: ListboxOption) => {\n onSelect?.(option.value);\n if (option.href) {\n event.preventDefault();\n window.open(option.href, '_blank');\n } else {\n setSelectedValue(option.value);\n }\n },\n [setSelectedValue, onSelect],\n );\n\n useEffect(() => {\n // If no option is highlighted, highlight the first one\n if (!highlightedValue && options.length > 0) {\n onHighlight(options[0].value);\n }\n }, [highlightedValue, onHighlight, options]);\n\n return (\n <div\n ref={listboxRef}\n role=\"listbox\"\n id={listboxId}\n className={className}\n tabIndex={0}\n onKeyDown={handleKeyDown}\n aria-activedescendant={highlightedValue ? `${listboxId}-${highlightedValue}` : undefined}\n css={css({\n outline: 'none',\n '&:focus-visible': {\n boxShadow: `0 0 0 2px ${theme.colors.actionDefaultBorderFocus}`,\n borderRadius: theme.borders.borderRadiusSm,\n },\n })}\n >\n {options.map((option) =>\n (option.renderOption || ((additionalProps: any) => <div {...additionalProps}>{option.label}</div>))({\n key: option.value,\n role: option.href ? 'link' : 'option',\n id: `${listboxId}-${option.value}`,\n 'aria-selected': option.value === selectedValue,\n onClick: (event: React.MouseEvent) => handleClick(event, option),\n onMouseEnter: () => onHighlight(option.value),\n 'data-highlighted': option.value === highlightedValue,\n css: getComboboxOptionItemWrapperStyles(theme),\n href: option.href,\n tabIndex: -1,\n }),\n )}\n </div>\n );\n};\n","/** @jsxImportSource @emotion/react */\nimport { css } from '@emotion/react';\nimport React, { useCallback, useMemo, useState } from 'react';\n\nimport { ListboxInput } from './ListboxInput';\nimport { ListboxOptions } from './ListboxOptions';\nimport { ListboxRoot, useListboxContext } from './ListboxRoot';\nimport type { ListboxProps } from './types';\nimport {\n DesignSystemEventProviderAnalyticsEventTypes,\n DesignSystemEventProviderComponentTypes,\n useDesignSystemEventComponentCallbacks,\n useDesignSystemTheme,\n useNotifyOnFirstView,\n} from '../../design-system';\n\nconst ListboxContent = ({\n options,\n filterValue,\n setFilterValue,\n filterInputPlaceholder,\n onSelect,\n ariaLabel,\n includeFilterInput,\n filterInputEmptyMessage,\n listBoxDivRef,\n}: {\n options: ListboxProps['options'];\n filterValue: string;\n setFilterValue: (value: string) => void;\n filterInputPlaceholder?: string;\n onSelect: (value: string) => void;\n ariaLabel: string;\n includeFilterInput?: boolean;\n filterInputEmptyMessage?: string;\n listBoxDivRef?: React.RefObject<HTMLDivElement>;\n}) => {\n const [highlightedValue, setHighlightedValue] = useState<string>();\n const { listboxId } = useListboxContext();\n const designSystemTheme = useDesignSystemTheme();\n\n const filteredOptions = useMemo(() => {\n if (!filterValue) return options;\n const lowerFilter = filterValue.toLowerCase();\n return options.filter(\n (option) => option.value.toLowerCase().includes(lowerFilter) || option.label.toLowerCase().includes(lowerFilter),\n );\n }, [filterValue, options]);\n\n return (\n <div\n css={css({\n display: 'flex',\n flexDirection: 'column',\n gap: '8px',\n })}\n ref={listBoxDivRef}\n >\n {includeFilterInput && (\n <>\n <ListboxInput\n value={filterValue}\n onChange={setFilterValue}\n placeholder={filterInputPlaceholder}\n aria-controls={listboxId}\n aria-activedescendant={highlightedValue ? `${listboxId}-${highlightedValue}` : undefined}\n options={filteredOptions}\n />\n {filteredOptions.length === 0 && filterInputEmptyMessage && (\n <div\n aria-live=\"polite\"\n role=\"status\"\n css={{\n color: designSystemTheme.theme.colors.textSecondary,\n textAlign: 'center',\n padding: '6px 12px',\n width: '100%',\n boxSizing: 'border-box',\n }}\n >\n {filterInputEmptyMessage}\n </div>\n )}\n </>\n )}\n <ListboxOptions\n options={filteredOptions}\n onSelect={onSelect}\n onHighlight={setHighlightedValue}\n aria-label={ariaLabel}\n />\n </div>\n );\n};\n\nexport const Listbox = ({\n options,\n onSelect,\n includeFilterInput,\n filterInputEmptyMessage,\n initialSelectedValue,\n filterInputPlaceholder,\n 'aria-label': ariaLabel,\n componentId,\n analyticsEvents = [DesignSystemEventProviderAnalyticsEventTypes.OnValueChange],\n valueHasNoPii,\n className,\n}: ListboxProps) => {\n const [filterValue, setFilterValue] = useState('');\n const memoizedAnalyticsEvents = useMemo(() => analyticsEvents, [analyticsEvents]);\n const eventContext = useDesignSystemEventComponentCallbacks({\n componentType: DesignSystemEventProviderComponentTypes.Listbox,\n componentId,\n analyticsEvents: memoizedAnalyticsEvents,\n valueHasNoPii,\n });\n\n const handleSelect = useCallback(\n (value: string) => {\n eventContext.onValueChange(value);\n onSelect?.(value);\n },\n [eventContext, onSelect],\n );\n\n const { elementRef: listBoxDivRef } = useNotifyOnFirstView<HTMLDivElement>({\n onView: eventContext.onView,\n value: initialSelectedValue,\n });\n\n return (\n <ListboxRoot\n className={className}\n onSelect={handleSelect}\n initialSelectedValue={initialSelectedValue}\n listBoxDivRef={listBoxDivRef}\n >\n <ListboxContent\n options={options}\n filterValue={filterValue}\n setFilterValue={setFilterValue}\n filterInputPlaceholder={filterInputPlaceholder}\n onSelect={handleSelect}\n ariaLabel={ariaLabel}\n includeFilterInput={includeFilterInput}\n filterInputEmptyMessage={filterInputEmptyMessage}\n listBoxDivRef={listBoxDivRef}\n />\n </ListboxRoot>\n );\n};\n\nexport type { ListboxProps } from './types';\n","import type { Interpolation } from '@emotion/react';\nimport { useMergeRefs } from '@floating-ui/react';\nimport type { RadioGroupProps, RadioGroupItemProps } from '@radix-ui/react-radio-group';\nimport { RadioGroup, RadioGroupItem } from '@radix-ui/react-radio-group';\nimport React, { useCallback, useMemo } from 'react';\n\nimport {\n DesignSystemEventProviderAnalyticsEventTypes,\n DesignSystemEventProviderComponentTypes,\n useDesignSystemEventComponentCallbacks,\n useDesignSystemSafexFlags,\n useNotifyOnFirstView,\n useDesignSystemTheme,\n} from '../../design-system';\nimport type { AnalyticsEventValueChangeNoPiiFlagProps } from '../../design-system/types';\nimport type { Theme } from '../../theme';\ntype RadioGroupSize = 'small' | 'medium' | 'large';\nconst RadioGroupContext = React.createContext<RadioGroupSize>('medium');\ninterface RootProps\n extends Pick<\n RadioGroupProps,\n 'defaultValue' | 'value' | 'onValueChange' | 'disabled' | 'name' | 'required' | 'children'\n >,\n AnalyticsEventValueChangeNoPiiFlagProps<\n DesignSystemEventProviderAnalyticsEventTypes.OnValueChange | DesignSystemEventProviderAnalyticsEventTypes.OnView\n > {\n size?: RadioGroupSize;\n}\nexport const Root = React.forwardRef<HTMLDivElement, RootProps>(\n (\n {\n size,\n componentId,\n analyticsEvents = [DesignSystemEventProviderAnalyticsEventTypes.OnValueChange],\n valueHasNoPii,\n onValueChange,\n ...props\n },\n forwardedRef,\n ) => {\n const { theme } = useDesignSystemTheme();\n const contextValue = React.useMemo(() => size ?? 'medium', [size]);\n const memoizedAnalyticsEvents = useMemo(() => analyticsEvents, [analyticsEvents]);\n const eventContext = useDesignSystemEventComponentCallbacks({\n componentType: DesignSystemEventProviderComponentTypes.PillControl,\n componentId,\n analyticsEvents: memoizedAnalyticsEvents,\n valueHasNoPii,\n });\n const { elementRef: pillControlRef } = useNotifyOnFirstView<HTMLDivElement>({\n onView: eventContext.onView,\n value: props.value ?? props.defaultValue,\n });\n\n const onValueChangeWrapper = useCallback(\n (value: string) => {\n eventContext.onValueChange?.(value);\n onValueChange?.(value);\n },\n [eventContext, onValueChange],\n );\n const mergedRef = useMergeRefs([forwardedRef, pillControlRef]);\n return (\n <RadioGroupContext.Provider value={contextValue}>\n <RadioGroup\n css={{\n display: 'flex',\n flexWrap: 'wrap',\n gap: theme.spacing.sm,\n }}\n onValueChange={onValueChangeWrapper}\n {...props}\n ref={mergedRef}\n {...eventContext.dataComponentProps}\n />\n </RadioGroupContext.Provider>\n );\n },\n);\ninterface ItemProps extends Pick<RadioGroupItemProps, 'children' | 'value' | 'disabled' | 'required'> {\n icon?: React.ReactNode;\n}\nexport const Item = React.forwardRef<HTMLButtonElement, ItemProps>(({ children, icon, ...props }, forwardedRef) => {\n const size = React.useContext(RadioGroupContext);\n const { theme } = useDesignSystemTheme();\n const iconClass = 'pill-control-icon';\n const css = useRadioGroupItemStyles(size, iconClass);\n return (\n <RadioGroupItem css={css} {...props}>\n {icon && (\n <span\n className={iconClass}\n css={{\n marginRight: size === 'large' ? theme.spacing.sm : theme.spacing.xs,\n [`& > .anticon`]: { verticalAlign: `-3px` },\n }}\n >\n {icon}\n </span>\n )}\n {children}\n </RadioGroupItem>\n );\n});\nconst useRadioGroupItemStyles = (size: RadioGroupSize, iconClass: string): Interpolation<Theme> => {\n const { theme } = useDesignSystemTheme();\n const { useNewShadows, useNewBorderColors } = useDesignSystemSafexFlags();\n\n return {\n textOverflow: 'ellipsis',\n ...(useNewShadows\n ? {\n boxShadow: theme.shadows.xs,\n }\n : {}),\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n appearance: 'none',\n textDecoration: 'none',\n background: 'none',\n border: '1px solid',\n cursor: 'pointer',\n backgroundColor: theme.colors.actionDefaultBackgroundDefault,\n borderColor: useNewBorderColors ? theme.colors.actionDefaultBorderDefault : theme.colors.border,\n color: theme.colors.textPrimary,\n lineHeight: theme.typography.lineHeightBase,\n height: 32,\n paddingInline: '12px',\n fontWeight: theme.typography.typographyRegularFontWeight,\n fontSize: theme.typography.fontSizeBase,\n borderRadius: theme.borders.borderRadiusFull,\n transition: 'background-color 0.2s ease-in-out, border-color 0.2s ease-in-out',\n [`& > .${iconClass}`]: {\n color: theme.colors.textSecondary,\n ...(size === 'large'\n ? {\n backgroundColor: theme.colors.tagDefault,\n padding: theme.spacing.sm,\n borderRadius: theme.borders.borderRadiusFull,\n }\n : {}),\n },\n '&[data-state=\"checked\"]': {\n backgroundColor: theme.colors.actionDefaultBackgroundPress,\n borderColor: 'transparent',\n color: theme.colors.textPrimary,\n // outline\n outlineStyle: 'solid',\n outlineWidth: '2px',\n outlineOffset: '0px',\n outlineColor: theme.colors.actionDefaultBorderFocus,\n '&:hover': {\n backgroundColor: theme.colors.actionDefaultBackgroundPress,\n borderColor: theme.colors.actionLinkPress,\n color: 'inherit',\n },\n [`& > .${iconClass}, &:hover > .${iconClass}`]: {\n color: theme.colors.actionDefaultTextPress,\n ...(size === 'large'\n ? {\n backgroundColor: theme.colors.actionIconBackgroundPress,\n }\n : {}),\n },\n },\n '&:focus-visible': {\n outlineStyle: 'solid',\n outlineWidth: '2px',\n outlineOffset: '0px',\n outlineColor: theme.colors.actionDefaultBorderFocus,\n },\n '&:hover': {\n backgroundColor: theme.colors.actionDefaultBackgroundHover,\n borderColor: theme.colors.actionLinkHover,\n color: theme.colors.actionDefaultTextHover,\n [`& > .${iconClass}`]: {\n color: 'inherit',\n ...(size === 'large'\n ? {\n backgroundColor: theme.colors.actionIconBackgroundHover,\n }\n : {}),\n },\n },\n '&:active': {\n backgroundColor: theme.colors.actionDefaultBackgroundPress,\n borderColor: theme.colors.actionLinkPress,\n color: theme.colors.actionDefaultTextPress,\n [`& > .${iconClass}`]: {\n color: 'inherit',\n ...(size === 'large'\n ? {\n backgroundColor: theme.colors.actionIconBackgroundPress,\n }\n : {}),\n },\n },\n '&:disabled': {\n backgroundColor: theme.colors.actionDisabledBackground,\n borderColor: theme.colors.actionDisabledBorder,\n color: theme.colors.actionDisabledText,\n cursor: 'not-allowed',\n [`& > .${iconClass}`]: {\n color: 'inherit',\n },\n },\n ...(size === 'small'\n ? {\n height: 24,\n lineHeight: theme.typography.lineHeightSm,\n paddingInline: theme.spacing.sm,\n }\n : {}),\n ...(size === 'large'\n ? {\n height: 44,\n lineHeight: theme.typography.lineHeightXl,\n paddingInline: theme.spacing.md,\n paddingInlineStart: '6px',\n borderRadius: theme.borders.borderRadiusFull,\n }\n : {}),\n };\n};\n","import { createContext } from 'react';\n\nexport interface ProgressContextType {\n progress?: number | null;\n}\n\nconst progressContextDefaults: ProgressContextType = {\n progress: 0,\n};\n\nexport const ProgressContext = createContext<ProgressContextType>(progressContextDefaults);\n\nexport const ProgressContextProvider = ({ children, value }: { children: JSX.Element; value: ProgressContextType }) => {\n return <ProgressContext.Provider value={value}>{children}</ProgressContext.Provider>;\n};\n","import type { CSSObject, SerializedStyles } from '@emotion/react';\nimport { css } from '@emotion/react';\nimport * as Progress from '@radix-ui/react-progress';\nimport React from 'react';\n\nimport { ProgressContext, ProgressContextProvider } from './providers/ProgressContex';\nimport { importantify, useDesignSystemTheme } from '../../design-system';\nimport type { Theme } from '../../theme';\n\nexport interface ProgressRootProps extends Progress.ProgressProps {\n minWidth?: number;\n maxWidth?: number;\n}\n\nconst getProgressRootStyles = (\n theme: Theme,\n { minWidth, maxWidth }: { minWidth?: number; maxWidth?: number },\n): SerializedStyles => {\n const styles: CSSObject = {\n position: 'relative',\n overflow: 'hidden',\n backgroundColor: theme.colors.progressTrack,\n height: theme.spacing.sm,\n width: '100%',\n borderRadius: theme.borders.borderRadiusFull,\n\n ...(minWidth && { minWidth }),\n ...(maxWidth && { maxWidth }),\n\n /* Fix overflow clipping in Safari */\n /* https://gist.github.com/domske/b66047671c780a238b51c51ffde8d3a0 */\n transform: 'translateZ(0)',\n };\n\n return css(importantify(styles));\n};\n\nexport const Root = (props: ProgressRootProps) => {\n const { children, value, minWidth, maxWidth, ...restProps } = props;\n const { theme } = useDesignSystemTheme();\n return (\n <ProgressContextProvider value={{ progress: value }}>\n <Progress.Root value={value} {...restProps} css={getProgressRootStyles(theme, { minWidth, maxWidth })}>\n {children}\n </Progress.Root>\n </ProgressContextProvider>\n );\n};\n\nexport interface ProgressIndicatorProps extends Progress.ProgressIndicatorProps {}\n\nconst getProgressIndicatorStyles = (theme: Theme): SerializedStyles => {\n const styles = {\n backgroundColor: theme.colors.progressFill,\n height: '100%',\n width: '100%',\n transition: 'transform 300ms linear',\n borderRadius: theme.borders.borderRadiusFull,\n };\n\n return css(importantify(styles));\n};\n\nexport const Indicator = (props: ProgressIndicatorProps) => {\n const { progress } = React.useContext(ProgressContext);\n const { theme } = useDesignSystemTheme();\n return (\n <Progress.Indicator\n css={getProgressIndicatorStyles(theme)}\n style={{ transform: `translateX(-${100 - (progress ?? 100)}%)` }}\n {...props}\n />\n );\n};\n","import { css } from '@emotion/react';\nimport * as RadixToolbar from '@radix-ui/react-toolbar';\nimport { forwardRef } from 'react';\n\nimport { useDesignSystemSafexFlags, useDesignSystemTheme } from '../../design-system';\nimport { addDebugOutlineIfEnabled } from '../../design-system/utils/debug';\nimport type { Theme } from '../../theme';\n\nexport type ToolbarRootProps = Omit<RadixToolbar.ToolbarProps, 'orientation'>;\nexport type ToolbarButtonProps = RadixToolbar.ToolbarButtonProps;\nexport type ToolbarSeparatorProps = RadixToolbar.ToolbarSeparatorProps;\nexport type ToolbarLinkProps = RadixToolbar.ToolbarLinkProps;\nexport type ToolbarToogleGroupProps =\n | RadixToolbar.ToolbarToggleGroupSingleProps\n | RadixToolbar.ToolbarToggleGroupMultipleProps;\nexport type ToolbarToggleItemProps = RadixToolbar.ToolbarToggleItemProps;\n\nconst getRootStyles = (theme: Theme, useNewShadows: boolean, useNewBorderColors: boolean) => {\n return css({\n alignItems: 'center',\n backgroundColor: theme.colors.backgroundSecondary,\n border: `1px solid ${useNewBorderColors ? theme.colors.border : theme.colors.borderDecorative}`,\n borderRadius: theme.borders.borderRadiusSm,\n boxShadow: useNewShadows ? theme.shadows.lg : theme.general.shadowLow,\n display: 'flex',\n gap: theme.spacing.md,\n width: 'max-content',\n padding: theme.spacing.sm,\n });\n};\n\nexport const Root = forwardRef<HTMLDivElement, ToolbarRootProps>((props: ToolbarRootProps, ref): JSX.Element => {\n const { theme } = useDesignSystemTheme();\n const { useNewShadows, useNewBorderColors } = useDesignSystemSafexFlags();\n return (\n <RadixToolbar.Root\n {...addDebugOutlineIfEnabled()}\n css={getRootStyles(theme, useNewShadows, useNewBorderColors)}\n {...props}\n ref={ref}\n />\n );\n});\n\nexport const Button = forwardRef<HTMLButtonElement, ToolbarButtonProps>(\n (props: ToolbarButtonProps, ref): JSX.Element => {\n return <RadixToolbar.Button {...props} ref={ref} />;\n },\n);\n\nconst getSeparatorStyles = (theme: Theme) => {\n return css({\n alignSelf: 'stretch',\n backgroundColor: theme.colors.borderDecorative,\n width: 1,\n });\n};\n\nexport const Separator = forwardRef<HTMLDivElement, ToolbarSeparatorProps>(\n (props: ToolbarSeparatorProps, ref): JSX.Element => {\n const { theme } = useDesignSystemTheme();\n return <RadixToolbar.Separator css={getSeparatorStyles(theme)} {...props} ref={ref} />;\n },\n);\n\nexport const Link = forwardRef<HTMLAnchorElement, ToolbarLinkProps>((props: ToolbarLinkProps, ref): JSX.Element => {\n return <RadixToolbar.Link {...props} ref={ref} />;\n});\n\nexport const ToggleGroup = forwardRef<\n HTMLDivElement,\n RadixToolbar.ToolbarToggleGroupSingleProps | RadixToolbar.ToolbarToggleGroupMultipleProps\n>((props: ToolbarToogleGroupProps, ref): JSX.Element => {\n return <RadixToolbar.ToggleGroup {...props} ref={ref} />;\n});\n\nconst getToggleItemStyles = (theme: Theme) => {\n return css({\n background: 'none',\n color: theme.colors.textPrimary,\n border: 'none',\n cursor: 'pointer',\n '&:hover': {\n color: theme.colors.actionDefaultTextHover,\n },\n '&[data-state=\"on\"]': {\n color: theme.colors.actionDefaultTextPress,\n },\n });\n};\n\nexport const ToggleItem = forwardRef<HTMLButtonElement, ToolbarToggleItemProps>(\n (props: ToolbarToggleItemProps, ref): JSX.Element => {\n const { theme } = useDesignSystemTheme();\n return <RadixToolbar.ToggleItem css={getToggleItemStyles(theme)} {...props} ref={ref} />;\n },\n);\n","import { useCallback, useReducer } from 'react';\n\nimport type { TreeGridInitialState, TreeGridRowId, TreeGridState } from './types';\n\ntype TreeGridAction =\n | { type: 'TOGGLE_ROW_EXPANDED'; rowId: string | number }\n | { type: 'SET_ACTIVE_ROW_ID'; rowId: TreeGridRowId | null };\n\ntype InternalTreeGridState = Pick<TreeGridState, 'expandedRows' | 'activeRowId'>;\n\nfunction treeGridReducer(state: InternalTreeGridState, action: TreeGridAction): InternalTreeGridState {\n switch (action.type) {\n case 'TOGGLE_ROW_EXPANDED':\n return {\n ...state,\n expandedRows: { ...state.expandedRows, [action.rowId]: !state.expandedRows[action.rowId] },\n };\n case 'SET_ACTIVE_ROW_ID':\n return { ...state, activeRowId: action.rowId };\n default:\n return state;\n }\n}\n\nexport interface UseDefaultTreeGridStateOptions {\n initialState?: TreeGridInitialState;\n}\n\nexport function useDefaultTreeGridState({\n initialState = { expandedRows: {} },\n}: UseDefaultTreeGridStateOptions): TreeGridState {\n const [state, dispatch] = useReducer(treeGridReducer, { ...initialState, activeRowId: null });\n\n const toggleRowExpanded = useCallback((rowId: string | number) => {\n dispatch({ type: 'TOGGLE_ROW_EXPANDED', rowId });\n }, []);\n\n const setActiveRowId = useCallback((rowId: TreeGridRowId | null) => {\n dispatch({ type: 'SET_ACTIVE_ROW_ID', rowId });\n }, []);\n\n return {\n ...state,\n toggleRowExpanded,\n setActiveRowId,\n };\n}\n","import React, { useCallback, useRef, useMemo } from 'react';\n\nimport type {\n TreeGridRow,\n TreeGridRowId,\n TreeGridState,\n TreeGridColumn,\n TreeGridRenderCellArgs,\n TreeGridRenderRowArgs,\n TreeGridRenderTableArgs,\n TreeGridRenderHeaderArgs,\n TreeGridInitialState,\n} from './types';\nimport { useDefaultTreeGridState } from './useDefaultTreeGridState';\n\nexport { useDefaultTreeGridState };\n\ninterface TreeGridRowWithInternalMetadata extends TreeGridRow {\n /** The depth of the row */\n depth: number;\n /** The parent row's id */\n parentId: TreeGridRowId | null;\n}\n\nexport interface TreeGridProps {\n /** The data to be displayed in the grid */\n data: TreeGridRow[];\n /** The columns to be displayed in the grid */\n columns: TreeGridColumn[];\n /** Function to render the cell content */\n renderCell: (args: TreeGridRenderCellArgs) => React.ReactElement;\n /** Optional function to render the row */\n renderRow?: (args: TreeGridRenderRowArgs) => React.ReactElement | null;\n /** Optional function to render the entire table */\n renderTable?: (args: TreeGridRenderTableArgs) => React.ReactElement;\n /** Optional function to render the header */\n renderHeader?: (args: TreeGridRenderHeaderArgs) => React.ReactElement;\n /** Callback function when a row is selected via the keyboard */\n onRowKeyboardSelect?: (rowId: string | number) => void;\n /** Callback function when a cell is selected via the keyboard */\n onCellKeyboardSelect?: (rowId: string | number, columnKey: string) => void;\n /** Whether to include a header in the grid */\n includeHeader?: boolean;\n /**\n * Configures state management for the TreeGrid.\n *\n * When no `state` is provided or when `initialState` is set, the state will be managed within\n * the TreeGrid. Otherwise, the given custom state implementation is used.\n */\n state?: { initialState: TreeGridInitialState } | TreeGridState;\n}\n\nconst flattenData = (\n data: TreeGridRow[],\n expandedRows: Record<string | number, boolean>,\n depth = 0,\n parentId: string | number | null = null,\n): TreeGridRowWithInternalMetadata[] => {\n return data.reduce((acc: TreeGridRowWithInternalMetadata[], node) => {\n acc.push({ ...node, depth, parentId });\n if (node.children && expandedRows[node.id]) {\n acc.push(...flattenData(node.children, expandedRows, depth + 1, node.id));\n }\n return acc;\n }, []);\n};\n\nconst findFocusableElementForCellIndex = (row: HTMLTableRowElement, cellIndex: number): HTMLElement | null => {\n const cell = row.cells[cellIndex] as HTMLTableCellElement;\n return cell?.querySelector<HTMLElement>('[tabindex], button, a, input, select, textarea') || null;\n};\n\nconst findNextFocusableCellIndexInRow = (\n row: HTMLTableRowElement,\n columns: TreeGridColumn[],\n startIndex: number,\n direction: 'next' | 'previous',\n) => {\n const cells = Array.from(row.cells);\n const increment = direction === 'next' ? 1 : -1;\n const limit = direction === 'next' ? cells.length : -1;\n\n for (let i = startIndex + increment; i !== limit; i += increment) {\n const cell = cells[i];\n const column = columns[i];\n const focusableElement = findFocusableElementForCellIndex(row, i);\n const cellContent = cell?.textContent?.trim();\n\n if (focusableElement || (!column.contentFocusable && cellContent)) {\n return i;\n }\n }\n return -1;\n};\n\nexport const TreeGrid: React.FC<TreeGridProps> = ({\n data,\n columns,\n renderCell,\n renderRow,\n renderTable,\n renderHeader,\n onRowKeyboardSelect,\n onCellKeyboardSelect,\n includeHeader = false,\n state: providedState,\n}) => {\n const defaultState = useDefaultTreeGridState({\n initialState: providedState && 'initialState' in providedState ? providedState.initialState : undefined,\n });\n const { expandedRows, activeRowId, toggleRowExpanded, setActiveRowId } =\n providedState && !('initialState' in providedState) ? providedState : defaultState;\n\n const gridRef = useRef<HTMLTableElement>(null);\n\n const flattenedData = useMemo(() => flattenData(data, expandedRows), [data, expandedRows]);\n\n const focusRow = useCallback(\n ({ rowId, rowIndex }: { rowId: TreeGridRowId; rowIndex: number }) => {\n const row = gridRef.current?.querySelector(`tbody tr:nth-child(${rowIndex + 1})`) as HTMLTableRowElement;\n row?.focus();\n setActiveRowId(rowId);\n },\n [setActiveRowId],\n );\n\n const focusElement = useCallback(\n (element: HTMLElement | null, rowIndex: number) => {\n if (element) {\n element.focus();\n setActiveRowId(flattenedData[rowIndex].id);\n }\n },\n [setActiveRowId, flattenedData],\n );\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLTableRowElement>, rowIndex: number) => {\n const { key } = event;\n let newRowIndex = rowIndex;\n const closestTd = (event.target as HTMLElement).closest('td') as HTMLTableCellElement;\n\n if (!gridRef.current || !gridRef.current.contains(document.activeElement)) {\n return;\n }\n\n const handleArrowVerticalNavigation = (direction: 'next' | 'previous') => {\n if (closestTd) {\n const currentCellIndex = closestTd.cellIndex;\n let targetRow = closestTd.closest('tr')?.[`${direction}ElementSibling`] as HTMLTableRowElement;\n\n const moveFocusToRow = (row: HTMLTableRowElement) => {\n const focusableElement = findFocusableElementForCellIndex(row, currentCellIndex);\n const cellContent = row.cells[currentCellIndex]?.textContent?.trim();\n if (focusableElement || (!columns[currentCellIndex].contentFocusable && cellContent)) {\n event.preventDefault();\n focusElement(\n focusableElement || row.cells[currentCellIndex],\n flattenedData.findIndex((r) => r.id === row.dataset['id']),\n );\n return true;\n }\n return false;\n };\n\n while (targetRow) {\n if (moveFocusToRow(targetRow)) return;\n targetRow = targetRow[`${direction}ElementSibling`] as HTMLTableRowElement;\n }\n } else if (document.activeElement instanceof HTMLTableRowElement) {\n if (direction === 'next') {\n newRowIndex = Math.min(rowIndex + 1, flattenedData.length - 1);\n } else {\n newRowIndex = Math.max(rowIndex - 1, 0);\n }\n }\n };\n\n const handleArrowHorizontalNavigation = (direction: 'next' | 'previous') => {\n if (closestTd) {\n const currentRow = closestTd.closest('tr') as HTMLTableRowElement;\n let targetCellIndex = closestTd.cellIndex;\n\n targetCellIndex = findNextFocusableCellIndexInRow(currentRow, columns, targetCellIndex, direction);\n\n if (targetCellIndex !== -1) {\n event.preventDefault();\n const targetCell = currentRow.cells[targetCellIndex];\n const focusableElement = findFocusableElementForCellIndex(currentRow, targetCellIndex);\n focusElement(focusableElement || targetCell, rowIndex);\n return;\n } else if (direction === 'previous' && targetCellIndex === -1) {\n // If we're at the leftmost cell, focus on the row\n event.preventDefault();\n currentRow.focus();\n return;\n }\n }\n\n if (document.activeElement instanceof HTMLTableRowElement) {\n const currentRow = document.activeElement as HTMLTableRowElement;\n if (direction === 'next') {\n if (flattenedData[rowIndex].children) {\n if (!expandedRows[flattenedData[rowIndex].id]) {\n toggleRowExpanded(flattenedData[rowIndex].id);\n } else {\n const firstCell = currentRow.cells[0];\n focusElement(firstCell, rowIndex);\n }\n } else {\n const firstFocusableCell = findNextFocusableCellIndexInRow(currentRow, columns, -1, 'next');\n if (firstFocusableCell !== -1) {\n focusElement(currentRow.cells[firstFocusableCell], rowIndex);\n }\n }\n } else {\n if (expandedRows[flattenedData[rowIndex].id]) {\n toggleRowExpanded(flattenedData[rowIndex].id);\n } else if (flattenedData[rowIndex].depth && flattenedData[rowIndex].depth > 0) {\n newRowIndex = flattenedData.findIndex((row) => row.id === flattenedData[rowIndex].parentId);\n }\n }\n return;\n }\n\n // If we're at the edge of the row, handle expanding/collapsing or moving to parent/child\n if (direction === 'next') {\n if (flattenedData[rowIndex].children && !expandedRows[flattenedData[rowIndex].id]) {\n toggleRowExpanded(flattenedData[rowIndex].id);\n }\n } else {\n if (expandedRows[flattenedData[rowIndex].id]) {\n toggleRowExpanded(flattenedData[rowIndex].id);\n } else if (flattenedData[rowIndex].depth && flattenedData[rowIndex].depth > 0) {\n newRowIndex = flattenedData.findIndex((row) => row.id === flattenedData[rowIndex].parentId);\n }\n }\n };\n\n const handleEnterKey = () => {\n if (closestTd) {\n onCellKeyboardSelect?.(flattenedData[rowIndex].id, columns[closestTd.cellIndex].id);\n } else if (document.activeElement instanceof HTMLTableRowElement) {\n onRowKeyboardSelect?.(flattenedData[rowIndex].id);\n }\n };\n\n switch (key) {\n case 'ArrowUp':\n handleArrowVerticalNavigation('previous');\n break;\n case 'ArrowDown':\n handleArrowVerticalNavigation('next');\n break;\n case 'ArrowLeft':\n handleArrowHorizontalNavigation('previous');\n break;\n case 'ArrowRight':\n handleArrowHorizontalNavigation('next');\n break;\n case 'Enter':\n handleEnterKey();\n break;\n default:\n return;\n }\n\n if (newRowIndex !== rowIndex) {\n event.preventDefault();\n focusRow({ rowId: flattenedData[newRowIndex].id, rowIndex: newRowIndex });\n }\n },\n [\n expandedRows,\n columns,\n flattenedData,\n toggleRowExpanded,\n onRowKeyboardSelect,\n onCellKeyboardSelect,\n focusRow,\n focusElement,\n ],\n );\n\n const defaultRenderRow = useCallback(\n ({ rowProps, children }: TreeGridRenderRowArgs) => <tr {...rowProps}>{children}</tr>,\n [],\n );\n\n const defaultRenderTable = useCallback(\n ({ tableProps, children }: TreeGridRenderTableArgs) => <table {...tableProps}>{children}</table>,\n [],\n );\n\n const defaultRenderHeader = useCallback(\n ({ columns, headerProps }: TreeGridRenderHeaderArgs) => (\n <thead {...headerProps}>\n <tr>\n {columns.map((column) => (\n <th key={column.id} role=\"columnheader\">\n {column.header}\n </th>\n ))}\n </tr>\n </thead>\n ),\n [],\n );\n\n const renderRowWrapper = useCallback(\n (row: TreeGridRowWithInternalMetadata, rowIndex: number) => {\n const isExpanded = expandedRows[row.id];\n const isKeyboardActive = row.id === (activeRowId ?? flattenedData[0].id);\n\n const rowProps: React.HTMLAttributes<HTMLTableRowElement> & { key: React.Key; [key: `data-${string}`]: any } = {\n key: row.id,\n 'data-id': row.id,\n role: 'row',\n 'aria-selected': false,\n 'aria-level': (row.depth || 0) + 1,\n 'aria-expanded': row.children ? (isExpanded ? 'true' : 'false') : undefined,\n tabIndex: isKeyboardActive ? 0 : -1,\n onKeyDown: (e) => handleKeyDown(e, rowIndex),\n };\n\n const children = columns.map((column, colIndex) => {\n const cellProps: React.TdHTMLAttributes<HTMLTableCellElement> & { key: string } = {\n key: `${row.id}-${column.id}`,\n role: column.isRowHeader ? 'rowheader' : 'gridcell',\n tabIndex: column.contentFocusable ? undefined : isKeyboardActive ? 0 : -1,\n };\n\n return renderCell({\n row,\n column,\n rowDepth: row.depth || 0,\n rowIndex,\n colIndex,\n rowIsKeyboardActive: isKeyboardActive,\n rowIsExpanded: isExpanded,\n toggleRowExpanded,\n cellProps,\n });\n });\n\n return (renderRow || defaultRenderRow)({\n row,\n rowIndex,\n isExpanded,\n isKeyboardActive,\n rowProps,\n children,\n });\n },\n [\n activeRowId,\n flattenedData,\n expandedRows,\n handleKeyDown,\n renderCell,\n renderRow,\n defaultRenderRow,\n toggleRowExpanded,\n columns,\n ],\n );\n\n return (renderTable || defaultRenderTable)({\n tableProps: { role: 'treegrid', ref: gridRef },\n children: (\n <>\n {includeHeader && (renderHeader || defaultRenderHeader)({ columns, headerProps: {} })}\n <tbody>{flattenedData.map((row, index) => renderRowWrapper(row, index))}</tbody>\n </>\n ),\n });\n};\n"],"names":["Text","Paragraph","Typography","BANNER_MIN_HEIGHT","BANNER_MAX_HEIGHT","useStyles","props","theme","bannerLevelToBannerColors","info_light_purple","backgroundDefaultColor","isDarkMode","actionButtonBackgroundHoverColor","colors","actionDefaultBackgroundHover","actionButtonBackgroundPressColor","actionDefaultBackgroundPress","textColor","actionDefaultTextDefault","textHoverColor","textPressColor","borderDefaultColor","actionBorderColor","closeIconColor","iconColor","purple","actionButtonBorderHoverColor","actionDefaultBorderHover","actionButtonBorderPressColor","actionDefaultBorderPress","closeIconBackgroundHoverColor","actionTertiaryBackgroundHover","closeIconTextHoverColor","actionTertiaryTextHover","closeIconBackgroundPressColor","closeIconTextPressColor","actionTertiaryTextPress","info_dark_purple","actionPrimaryTextDefault","actionPrimaryTextHover","actionPrimaryTextPress","info","warning","tagLemon","primitiveColors","grey800","error","actionDangerPrimaryBackgroundDefault","actionDangerPrimaryBackgroundHover","actionDangerPrimaryBackgroundPress","colorScheme","level","banner","css","iconContainer","description","spacing","xs","mainContent","sm","lg","messageTextBlock","descriptionBlock","rightContainer","closeIconContainer","closeButton","closeIcon","actionButtonContainer","actionButton","levelToIconMap","_jsx","MegaphoneIcon","data-testid","WarningIcon","DangerIcon","Banner","message","ctaText","onAccept","closable","onClose","closeButtonAriaLabel","componentId","analyticsEvents","DesignSystemEventProviderAnalyticsEventTypes","OnView","closed","setClosed","React","useState","useDesignSystemTheme","styles","memoizedAnalyticsEvents","useMemo","eventContext","useDesignSystemEventComponentCallbacks","componentType","DesignSystemEventProviderComponentTypes","componentSubType","DesignSystemEventProviderComponentSubTypeMap","elementRef","useNotifyOnFirstView","onView","div","Button","onClick","size","close","aria-label","CloseIcon","_Fragment","_jsxs","ref","addDebugOutlineIfEnabled","className","role","bold","title","withoutMargins","DatePickerInput","forwardRef","emitOnView","safex","classNamePrefix","useNewShadows","useNewFormUISpacing","useDesignSystemSafexFlags","showTimeZone","validationState","prefix","suffix","allowClear","onChange","onFocus","onKeyDown","onClear","restProps","OnValueChange","Input","valueHasNoPii","callbackOnceUntilReset","sendAnalyticsEventOncePerFocus","reset","resetSendAnalyticsEventOnFocus","useCallbackOnceUntilReset","onValueChange","handleChange","useCallback","e","target","value","handleClear","handleFocus","classNames","disabled","getInputStyles","type","hasValue","Boolean","useFocusWithin","display","color","textPrimary","height","typography","lineHeightBase","flexDirection","gap","alignItems","span","input","placeholder","key","button","background","border","justifyContent","marginLeft","padding","stopPropagation","preventDefault","XCircleFillIcon","getDayPickerStyles","general","heightSm","fontSizeBase","actionPrimaryBackgroundDefault","actionTertiaryBackgroundPress","textSecondary","borderRadiusBase","white","generateDatePickerClassNames","root","multiple_months","with_weeknumber","vhidden","button_reset","caption","caption_start","caption_end","caption_between","caption_label","caption_dropdowns","dropdown","dropdown_month","dropdown_year","dropdown_icon","months","month","table","tbody","tfoot","head","head_row","head_cell","nav","nav_button","nav_button_previous","nav_button_next","nav_icon","row","weeknumber","cell","day","day_today","day_outside","day_selected","day_disabled","day_hidden","day_range_start","day_range_end","day_range_middle","DEFAULT_MIN_DATE","DEFAULT_MAX_DATE","correctDateTimezoneOffset","date","dateWithCorrectedTimezone","Date","getTimezoneOffset","setMinutes","getMinutes","formatDateLimitForInput","includeTime","includeSeconds","defaultDate","limitDate","undefined","isValid","formatDateFns","handleInputKeyDown","event","setIsVisible","backspaceFn","Day","buttonRef","useRef","dayRender","useDayRender","displayMonth","isHidden","isButton","divProps","ariaLabel","toLocaleDateString","weekday","year","DayPickerButton","name","buttonProps","getDatePickerQuickActionBasic","today","yesterday","sevenDaysAgo","label","startOfToday","startOfYesterday","sub","days","DatePicker","useNewDatePickerInput","id","defaultTime","onOpenChange","open","datePickerProps","timeInputProps","mode","selected","width","maxWidth","minWidth","dateTimeDisabledFn","quickActions","wrapperProps","onOkPress","okButtonLabel","customTimeZoneLabel","min","max","format","setDate","timezone","setTimezone","isVisible","preventBlurUpdate","setPreventBlurUpdate","inputRef","visibleRef","fromClearRef","setDateInputValue","formattedDate","current","setDateAndDateInputValue","useEffect","focus","now","Intl","DateTimeFormat","timeZoneName","formatToParts","find","part","isCalendarUpdate","updateLocation","handleDatePickerUpdate","prevDate","timeSplit","split","setHours","setSeconds","length","getHours","getSeconds","handleInputUpdate","dateString","processInputDate","handleBlur","newValue","onBlur","minimumAllowedDate","minimumAllowedDateString","maximumAllowedDate","maximumAllowedDateString","updatedDateString","shouldEmitOnChange","updatedDate","parseISO","validInputDate","isBefore","isAfter","handleTimeUpdate","newTime","nativeEvent","time","clearIcon","closest","querySelector","clientEventListener","addEventListener","datePickerStyles","chevronLeftIconComp","ChevronLeftIcon","chevronRightIconComp","ChevronRightIcon","pointerEvents","Popover","asChild","step","align","DayPicker","initialFocus","onDayClick","showOutsideDays","formatters","formatWeekdayName","locale","components","IconLeft","IconRight","defaultMonth","style","marginBottom","md","flexWrap","map","action","i","Array","isArray","position","right","iconSize","zIndex","options","zIndexBase","top","ClockIcon","paddingTop","getRangeQuickActionsBasic","lastWeek","todayStart","weekStart","startOfWeek","endOfToday","endOfYesterday","RangePicker","startDatePickerProps","endDatePickerProps","noRangeValidation","range","setRange","from","to","isFromVisible","setIsFromVisible","isToVisible","setIsToVisible","isRangeInputFocused","setIsRangeInputFocused","fromInputRef","toInputRef","useImperativeHandle","fromInputRefVisible","toInputRefVisible","checkIfDateTimeIsDisabled","isStart","dateToCompareTo","prevValue","quickActionsWithHandler","handleUpdateDate","newRange","disabledDates","startDisabledFromProps","endDisabledFromProps","startDisabled","after","filter","endDisabled","before","startDateMaxInputDate","endDateMinInputDate","openEndDatePicker","closeEndDatePicker","handleTimePickerKeyPress","data-focused","borderTopRightRadius","borderBottomRightRadius","borderTopLeftRadius","borderBottomLeftRadius","left","ListboxContext","createContext","useListboxContext","context","useContext","Error","ListboxRoot","children","onSelect","initialSelectedValue","listBoxDivRef","selectedValue","setSelectedValue","highlightedValue","setHighlightedValue","listboxId","Math","random","toString","slice","getContentOptions","element","querySelectorAll","handleKeyNavigation","currentIndex","findIndex","option","nextIndex","href","window","optionsList","scrollIntoView","block","contextValue","Provider","ListboxInput","ariaControls","ariaActiveDescendant","designSystemTheme","handleKeyDown","includes","backgroundPrimary","aria-controls","aria-activedescendant","aria-expanded","aria-autocomplete","SearchIcon","ListboxOptions","onHighlight","useTheme","listboxRef","handleClick","tabIndex","outline","boxShadow","actionDefaultBorderFocus","borderRadius","borders","borderRadiusSm","renderOption","additionalProps","onMouseEnter","getComboboxOptionItemWrapperStyles","ListboxContent","filterValue","setFilterValue","filterInputPlaceholder","includeFilterInput","filterInputEmptyMessage","filteredOptions","lowerFilter","toLowerCase","aria-live","textAlign","boxSizing","Listbox","handleSelect","RadioGroupContext","Root","forwardedRef","PillControl","pillControlRef","defaultValue","onValueChangeWrapper","mergedRef","useMergeRefs","RadioGroup","dataComponentProps","Item","icon","iconClass","useRadioGroupItemStyles","RadioGroupItem","marginRight","verticalAlign","useNewBorderColors","textOverflow","shadows","whiteSpace","overflow","appearance","textDecoration","cursor","backgroundColor","actionDefaultBackgroundDefault","borderColor","actionDefaultBorderDefault","lineHeight","paddingInline","fontWeight","typographyRegularFontWeight","fontSize","borderRadiusFull","transition","tagDefault","outlineStyle","outlineWidth","outlineOffset","outlineColor","actionLinkPress","actionDefaultTextPress","actionIconBackgroundPress","actionLinkHover","actionDefaultTextHover","actionIconBackgroundHover","actionDisabledBackground","actionDisabledBorder","actionDisabledText","lineHeightSm","lineHeightXl","paddingInlineStart","progressContextDefaults","progress","ProgressContext","ProgressContextProvider","getProgressRootStyles","progressTrack","transform","importantify","Progress","getProgressIndicatorStyles","progressFill","Indicator","getRootStyles","backgroundSecondary","borderDecorative","shadowLow","RadixToolbar","getSeparatorStyles","alignSelf","Separator","Link","ToggleGroup","getToggleItemStyles","ToggleItem","treeGridReducer","state","expandedRows","rowId","activeRowId","useDefaultTreeGridState","initialState","dispatch","useReducer","toggleRowExpanded","setActiveRowId","flattenData","data","depth","parentId","reduce","acc","node","push","findFocusableElementForCellIndex","cellIndex","cells","findNextFocusableCellIndexInRow","columns","startIndex","direction","increment","limit","column","focusableElement","cellContent","textContent","trim","contentFocusable","TreeGrid","renderCell","renderRow","renderTable","renderHeader","onRowKeyboardSelect","onCellKeyboardSelect","includeHeader","providedState","defaultState","gridRef","flattenedData","focusRow","rowIndex","focusElement","newRowIndex","closestTd","contains","document","activeElement","handleArrowVerticalNavigation","currentCellIndex","targetRow","moveFocusToRow","r","dataset","HTMLTableRowElement","handleArrowHorizontalNavigation","currentRow","targetCellIndex","targetCell","firstCell","firstFocusableCell","handleEnterKey","defaultRenderRow","rowProps","tr","defaultRenderTable","tableProps","defaultRenderHeader","headerProps","thead","th","header","renderRowWrapper","isExpanded","isKeyboardActive","colIndex","cellProps","isRowHeader","rowDepth","rowIsKeyboardActive","rowIsExpanded","index"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"development.js","sources":["../src/development/Banner/Banner.tsx","../src/development/DatePicker/DatePickerInput.tsx","../src/development/DatePicker/styles.ts","../src/development/DatePicker/utils.ts","../src/development/DatePicker/DatePicker.tsx","../src/development/Listbox/ListboxRoot.tsx","../src/development/Listbox/ListboxInput.tsx","../src/development/Listbox/ListboxOptions.tsx","../src/development/Listbox/index.tsx","../src/development/PillControl/PillControl.tsx","../src/development/Progress/providers/ProgressContex.tsx","../src/development/Progress/Progress.tsx","../src/development/Toolbar/Toolbar.tsx","../src/development/TreeGrid/useDefaultTreeGridState.ts","../src/development/TreeGrid/TreeGrid.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport type { ReactNode } from 'react';\nimport React, { useMemo } from 'react';\n\nimport { Button } from '../../design-system/Button';\nimport {\n DesignSystemEventProviderAnalyticsEventTypes,\n DesignSystemEventProviderComponentTypes,\n useDesignSystemEventComponentCallbacks,\n DesignSystemEventProviderComponentSubTypeMap,\n} from '../../design-system/DesignSystemEventProvider/DesignSystemEventProvider';\nimport type { DesignSystemThemeInterface } from '../../design-system/Hooks/useDesignSystemTheme';\nimport { useDesignSystemTheme } from '../../design-system/Hooks/useDesignSystemTheme';\nimport { CloseIcon, DangerIcon, MegaphoneIcon, WarningIcon } from '../../design-system/Icon';\nimport { Typography } from '../../design-system/Typography';\nimport type { AnalyticsEventProps } from '../../design-system/types';\nimport { addDebugOutlineIfEnabled } from '../../design-system/utils/debug';\nimport { useNotifyOnFirstView } from '../../design-system/utils/useNotifyOnFirstView';\nimport { primitiveColors } from '../../theme/_generated/PrimitiveColors';\n\nconst { Text, Paragraph } = Typography;\n\nexport const BANNER_MIN_HEIGHT = 68;\n// Max height will allow 2 lines of description (3 lines total)\nexport const BANNER_MAX_HEIGHT = 82;\n\nexport type BannerLevel = 'info' | 'warning' | 'error' | 'info_light_purple' | 'info_dark_purple';\ntype BannerColorScheme = {\n backgroundDefaultColor: string;\n actionButtonBackgroundHoverColor: string;\n actionButtonBackgroundPressColor: string;\n textColor: string;\n textHoverColor: string;\n textPressColor: string;\n borderDefaultColor: string;\n actionBorderColor?: string;\n closeIconColor?: string;\n iconColor?: string;\n actionButtonBorderHoverColor?: string;\n actionButtonBorderPressColor?: string;\n closeIconBackgroundHoverColor?: string;\n closeIconTextHoverColor?: string;\n closeIconBackgroundPressColor?: string;\n closeIconTextPressColor?: string;\n};\n\nexport interface BannerProps extends AnalyticsEventProps<DesignSystemEventProviderAnalyticsEventTypes.OnView> {\n level: BannerLevel;\n message: string;\n description?: string;\n ctaText?: string;\n onAccept?: () => void;\n closable?: boolean;\n onClose?: () => void;\n 'data-testid'?: string;\n\n // Temporary prop to enable passing in localized string until officials supported in Dubois\n closeButtonAriaLabel?: string;\n}\n\nconst useStyles = (props: BannerProps, theme: DesignSystemThemeInterface['theme']) => {\n const bannerLevelToBannerColors: { [key in BannerLevel]: BannerColorScheme } = {\n info_light_purple: {\n backgroundDefaultColor: theme.isDarkMode ? '#6E2EC729' : '#ECE1FC',\n actionButtonBackgroundHoverColor: theme.colors.actionDefaultBackgroundHover,\n actionButtonBackgroundPressColor: theme.colors.actionDefaultBackgroundPress,\n textColor: theme.colors.actionDefaultTextDefault,\n textHoverColor: '#92A4B38F',\n textPressColor: theme.colors.actionDefaultTextDefault,\n borderDefaultColor: theme.isDarkMode ? '#955CE5' : '#E2D0FB',\n actionBorderColor: '#92A4B38F',\n closeIconColor: theme.isDarkMode ? '#92A4B3' : '#5F7281',\n iconColor: theme.colors.purple,\n actionButtonBorderHoverColor: theme.colors.actionDefaultBorderHover,\n actionButtonBorderPressColor: theme.colors.actionDefaultBorderPress,\n closeIconBackgroundHoverColor: theme.colors.actionTertiaryBackgroundHover,\n closeIconTextHoverColor: theme.colors.actionTertiaryTextHover,\n closeIconBackgroundPressColor: theme.colors.actionDefaultBackgroundPress,\n closeIconTextPressColor: theme.colors.actionTertiaryTextPress,\n },\n info_dark_purple: {\n backgroundDefaultColor: theme.isDarkMode ? '#BC92F7DB' : theme.colors.purple,\n actionButtonBackgroundHoverColor: theme.isDarkMode ? '#BC92F7DB' : theme.colors.purple,\n actionButtonBackgroundPressColor: theme.isDarkMode ? '#BC92F7DB' : theme.colors.purple,\n textColor: theme.colors.actionPrimaryTextDefault,\n textHoverColor: theme.colors.actionPrimaryTextHover,\n textPressColor: theme.colors.actionPrimaryTextPress,\n borderDefaultColor: theme.isDarkMode ? '#BC92F7DB' : theme.colors.purple,\n },\n // Clean up the experimental info banners\n info: {\n backgroundDefaultColor: theme.isDarkMode ? '#BC92F7DB' : theme.colors.purple,\n actionButtonBackgroundHoverColor: theme.isDarkMode ? '#BC92F7DB' : theme.colors.purple,\n actionButtonBackgroundPressColor: theme.isDarkMode ? '#BC92F7DB' : theme.colors.purple,\n textColor: theme.colors.actionPrimaryTextDefault,\n textHoverColor: theme.colors.actionPrimaryTextHover,\n textPressColor: theme.colors.actionPrimaryTextPress,\n borderDefaultColor: theme.isDarkMode ? '#BC92F7DB' : theme.colors.purple,\n },\n // TODO (PLAT-80558, zack.brody) Update hover and press states once we have colors for these\n warning: {\n backgroundDefaultColor: theme.colors.tagLemon,\n actionButtonBackgroundHoverColor: theme.colors.tagLemon,\n actionButtonBackgroundPressColor: theme.colors.tagLemon,\n textColor: primitiveColors.grey800,\n textHoverColor: primitiveColors.grey800,\n textPressColor: primitiveColors.grey800,\n borderDefaultColor: theme.colors.tagLemon,\n },\n error: {\n backgroundDefaultColor: theme.colors.actionDangerPrimaryBackgroundDefault,\n actionButtonBackgroundHoverColor: theme.colors.actionDangerPrimaryBackgroundHover,\n actionButtonBackgroundPressColor: theme.colors.actionDangerPrimaryBackgroundPress,\n textColor: theme.colors.actionPrimaryTextDefault,\n textHoverColor: theme.colors.actionPrimaryTextHover,\n textPressColor: theme.colors.actionPrimaryTextPress,\n borderDefaultColor: theme.colors.actionDangerPrimaryBackgroundDefault,\n },\n };\n\n const colorScheme = bannerLevelToBannerColors[props.level];\n\n return {\n banner: css`\n max-height: ${BANNER_MAX_HEIGHT}px;\n display: flex;\n align-items: center;\n width: 100%;\n padding: 8px;\n box-sizing: border-box;\n background-color: ${colorScheme.backgroundDefaultColor};\n border: 1px solid ${colorScheme.borderDefaultColor};\n `,\n iconContainer: css`\n display: flex;\n color: ${colorScheme.iconColor ? colorScheme.iconColor : colorScheme.textColor};\n align-self: ${props.description ? 'flex-start' : 'center'};\n box-sizing: border-box;\n max-width: 60px;\n padding-top: 4px;\n padding-bottom: 4px;\n padding-right: ${theme.spacing.xs}px;\n `,\n mainContent: css`\n flex-direction: column;\n align-self: ${props.description ? 'flex-start' : 'center'};\n display: flex;\n box-sizing: border-box;\n padding-right: ${theme.spacing.sm}px;\n padding-top: 2px;\n padding-bottom: 2px;\n // Add min-width so that ellipsis in child components will show.\n min-width: ${theme.spacing.lg}px;\n width: 100%;\n `,\n messageTextBlock: css`\n // handle truncation after one line\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n overflow: hidden;\n\n // Override text color to action text color\n && {\n color: ${colorScheme.textColor};\n }\n `,\n descriptionBlock: css`\n // handle truncation after two lines\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n\n // Override text color to action text color\n && {\n color: ${colorScheme.textColor};\n }\n `,\n rightContainer: css`\n margin-left: auto;\n display: flex;\n align-items: center;\n `,\n closeIconContainer: css`\n display: flex;\n margin-left: ${theme.spacing.xs}px;\n box-sizing: border-box;\n line-height: 0;\n `,\n closeButton: css`\n cursor: pointer;\n background: none;\n border: none;\n margin: 0;\n && {\n height: 24px !important;\n width: 24px !important;\n padding: ${theme.spacing.xs}px !important;\n box-shadow: unset !important;\n }\n &&:hover {\n background-color: transparent !important;\n border-color: ${colorScheme.textHoverColor}!important;\n color: ${colorScheme.closeIconTextHoverColor\n ? colorScheme.closeIconTextHoverColor\n : colorScheme.textColor}!important;\n background-color: ${colorScheme.closeIconBackgroundHoverColor\n ? colorScheme.closeIconBackgroundHoverColor\n : colorScheme.backgroundDefaultColor}!important;\n }\n\n &&:active {\n border-color: ${colorScheme.actionBorderColor}!important;\n color: ${colorScheme.closeIconTextPressColor\n ? colorScheme.closeIconTextPressColor\n : colorScheme.textColor}!important;\n background-color: ${colorScheme.closeIconBackgroundPressColor\n ? colorScheme.closeIconBackgroundPressColor\n : colorScheme.backgroundDefaultColor}!important;\n }\n `,\n closeIcon: css`\n color: ${colorScheme.closeIconColor ? colorScheme.closeIconColor : colorScheme.textColor}!important;\n `,\n actionButtonContainer: css`\n margin-right: ${theme.spacing.xs}px;\n `,\n // Override design system colors to show the use the action text color for text and border.\n // Also overrides text for links.\n actionButton: css`\n color: ${colorScheme.textColor}!important;\n border-color: ${colorScheme.actionBorderColor ? colorScheme.actionBorderColor : colorScheme.textColor}!important;\n box-shadow: unset !important;\n\n &:focus,\n &:hover {\n border-color: ${\n colorScheme.actionButtonBorderHoverColor\n ? colorScheme.actionButtonBorderHoverColor\n : colorScheme.textHoverColor\n }!important;\n color: ${colorScheme.textColor}!important;\n background-color: ${colorScheme.actionButtonBackgroundHoverColor}!important;\n }\n\n &:active {\n border-color: ${\n colorScheme.actionButtonBorderPressColor\n ? colorScheme.actionButtonBorderPressColor\n : colorScheme.actionBorderColor\n }!important;\n color: ${colorScheme.textPressColor}!important;\n background-color: ${colorScheme.actionButtonBackgroundPressColor}!important;\n }\n\n a {\n color: ${theme.colors.actionPrimaryTextDefault};\n }\n\n a:focus,\n a:hover {\n color: ${colorScheme.textHoverColor};\n text-decoration: none;\n }\n\n a:active {\n color: ${colorScheme.textPressColor}\n text-decoration: none;\n }\n `,\n };\n};\n\nconst levelToIconMap: { [key in BannerLevel]: ReactNode } = {\n info: <MegaphoneIcon data-testid=\"level-info-icon\" />,\n info_light_purple: <MegaphoneIcon data-testid=\"level-info-light-purple-icon\" />,\n info_dark_purple: <MegaphoneIcon data-testid=\"level-info-dark-purple-icon\" />,\n warning: <WarningIcon data-testid=\"level-warning-icon\" />,\n error: <DangerIcon data-testid=\"level-error-icon\" />,\n};\n\nexport const Banner: React.FC<React.PropsWithChildren<BannerProps>> = (props) => {\n const {\n level,\n message,\n description,\n ctaText,\n onAccept,\n closable,\n onClose,\n closeButtonAriaLabel,\n componentId,\n analyticsEvents = [DesignSystemEventProviderAnalyticsEventTypes.OnView],\n } = props;\n const [closed, setClosed] = React.useState(false);\n\n const { theme } = useDesignSystemTheme();\n const styles = useStyles(props, theme);\n\n const memoizedAnalyticsEvents = useMemo(() => analyticsEvents, [analyticsEvents]);\n const eventContext = useDesignSystemEventComponentCallbacks({\n componentType: DesignSystemEventProviderComponentTypes.Banner,\n componentId,\n componentSubType: DesignSystemEventProviderComponentSubTypeMap[level],\n analyticsEvents: memoizedAnalyticsEvents,\n });\n const { elementRef } = useNotifyOnFirstView<HTMLDivElement>({ onView: eventContext.onView });\n\n const actionButton =\n onAccept && ctaText ? (\n <div css={styles.actionButtonContainer}>\n <Button componentId={`${componentId}.accept`} onClick={onAccept} css={styles.actionButton} size=\"small\">\n {ctaText}\n </Button>\n </div>\n ) : null;\n const close =\n closable !== false ? (\n <div css={styles.closeIconContainer}>\n <Button\n componentId={`${componentId}.close`}\n css={styles.closeButton}\n onClick={() => {\n if (onClose) {\n onClose();\n }\n setClosed(true);\n }}\n aria-label={closeButtonAriaLabel ?? 'Close'}\n data-testid=\"banner-dismiss\"\n >\n <CloseIcon css={styles.closeIcon} />\n </Button>\n </div>\n ) : null;\n\n return (\n <>\n {!closed && (\n <div\n ref={elementRef}\n {...addDebugOutlineIfEnabled()}\n css={styles.banner}\n className=\"banner\"\n data-testid={props['data-testid']}\n role=\"alert\"\n >\n <div css={styles.iconContainer}>{levelToIconMap[level]}</div>\n <div css={styles.mainContent}>\n <Text size=\"md\" bold css={styles.messageTextBlock} title={message}>\n {message}\n </Text>\n {description && (\n <Paragraph withoutMargins css={styles.descriptionBlock} title={description}>\n {description}\n </Paragraph>\n )}\n </div>\n <div css={styles.rightContainer}>\n {actionButton}\n {close}\n </div>\n </div>\n )}\n </>\n );\n};\n","import classNames from 'classnames';\nimport { forwardRef, useCallback, useMemo, type InputHTMLAttributes } from 'react';\n\nimport {\n DesignSystemEventProviderAnalyticsEventTypes,\n DesignSystemEventProviderComponentTypes,\n getInputStyles,\n useDesignSystemEventComponentCallbacks,\n useDesignSystemSafexFlags,\n useDesignSystemTheme,\n XCircleFillIcon,\n} from '../../design-system';\nimport type { AnalyticsEventProps, ValidationState } from '../../design-system/types';\nimport { safex } from '../../design-system/utils/safex';\nimport { useCallbackOnceUntilReset } from '../../design-system/utils/useCallbackOnceUntilReset';\n\nexport interface DatePickerInputProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, 'prefix' | 'suffix'>,\n AnalyticsEventProps<\n DesignSystemEventProviderAnalyticsEventTypes.OnValueChange | DesignSystemEventProviderAnalyticsEventTypes.OnView\n > {\n showTimeZone?: boolean;\n validationState?: ValidationState;\n prefix?: React.ReactNode;\n suffix?: React.ReactNode;\n allowClear?: boolean;\n onClear?: () => void;\n}\n\nexport const DatePickerInput = forwardRef((props: DatePickerInputProps, ref: React.Ref<HTMLInputElement>) => {\n const emitOnView = safex('databricks.fe.observability.defaultComponentView.input', false);\n const { theme, classNamePrefix } = useDesignSystemTheme();\n const { useNewShadows, useNewFormUISpacing } = useDesignSystemSafexFlags();\n const {\n componentId,\n analyticsEvents,\n showTimeZone,\n validationState,\n prefix,\n suffix,\n allowClear,\n onChange,\n onFocus,\n onKeyDown,\n onClear,\n ...restProps\n } = props;\n\n const memoizedAnalyticsEvents = useMemo(\n () =>\n analyticsEvents ??\n (emitOnView\n ? [\n DesignSystemEventProviderAnalyticsEventTypes.OnValueChange,\n DesignSystemEventProviderAnalyticsEventTypes.OnView,\n ]\n : [DesignSystemEventProviderAnalyticsEventTypes.OnValueChange]),\n [analyticsEvents, emitOnView],\n );\n\n const eventContext = useDesignSystemEventComponentCallbacks({\n componentType: DesignSystemEventProviderComponentTypes.Input,\n componentId,\n analyticsEvents: memoizedAnalyticsEvents,\n valueHasNoPii: false,\n });\n\n const { callbackOnceUntilReset: sendAnalyticsEventOncePerFocus, reset: resetSendAnalyticsEventOnFocus } =\n useCallbackOnceUntilReset(eventContext.onValueChange);\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n sendAnalyticsEventOncePerFocus();\n if (e.target.value) {\n onChange?.(e);\n }\n },\n [onChange, sendAnalyticsEventOncePerFocus],\n );\n\n const handleClear = useCallback(() => {\n sendAnalyticsEventOncePerFocus();\n onClear?.();\n }, [onClear, sendAnalyticsEventOncePerFocus]);\n\n const handleFocus = useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n resetSendAnalyticsEventOnFocus();\n onFocus?.(e);\n },\n [onFocus, resetSendAnalyticsEventOnFocus],\n );\n\n return (\n <div\n className={classNames(\n `${classNamePrefix}-input-affix-wrapper`,\n restProps.className,\n restProps.disabled ? `${classNamePrefix}-input-affix-wrapper-disabled` : '',\n )}\n css={[\n getInputStyles(\n classNamePrefix,\n theme,\n {\n validationState,\n type: 'date',\n hasValue: Boolean(restProps.value),\n useNewShadows,\n useNewFormUISpacing,\n },\n {\n useFocusWithin: true,\n },\n ),\n {\n '*::-webkit-calendar-picker-indicator': { display: 'none' },\n [`.${classNamePrefix}-input-prefix`]: {\n ...(!restProps?.disabled && { color: `${theme.colors.textPrimary} !important` }),\n },\n [`&.${classNamePrefix}-input-affix-wrapper > *`]: {\n height: theme.typography.lineHeightBase,\n },\n ...(showTimeZone && {\n [`.${classNamePrefix}-input-suffix`]: {\n display: 'inline-flex',\n flexDirection: 'row-reverse',\n gap: theme.spacing.sm,\n alignItems: 'center',\n },\n }),\n },\n ]}\n >\n {prefix && <span className={`${classNamePrefix}-input-prefix`}>{prefix}</span>}\n <input\n placeholder=\"Select Date\"\n {...restProps}\n onChange={handleChange}\n onFocus={handleFocus}\n value={restProps.value ?? ''}\n ref={ref}\n className={`${classNamePrefix}-input`}\n onKeyDown={(e) => {\n if (e.key === 'Backspace') {\n handleClear();\n }\n onKeyDown?.(e);\n }}\n />\n {suffix && <span className={`${classNamePrefix}-input-suffix`}>{suffix}</span>}\n {allowClear && restProps.value && (\n <button\n aria-label=\"Clear date\"\n type=\"button\"\n css={{\n background: 'none',\n border: 'none',\n display: 'inline-flex',\n justifyContent: 'center',\n alignItems: 'center',\n marginLeft: `${theme.spacing.sm}px !important`,\n padding: 0,\n }}\n onClick={(e) => {\n e.stopPropagation();\n e.preventDefault();\n handleClear();\n }}\n >\n <XCircleFillIcon className={`${classNamePrefix}-input-clear-icon`} />\n </button>\n )}\n </div>\n );\n});\n","import type { Theme } from '@emotion/react';\nimport { css } from '@emotion/react';\n\nexport const getDayPickerStyles = (prefix: string, theme: Theme) => css`\n .${prefix} {\n --rdp-cell-size: ${theme.general.heightSm}px;\n --rdp-caption-font-size: ${theme.typography.fontSizeBase}px;\n --rdp-accent-color: ${theme.colors.actionPrimaryBackgroundDefault};\n --rdp-background-color: ${theme.colors.actionTertiaryBackgroundPress};\n --rdp-accent-color-dark: ${theme.colors.actionPrimaryBackgroundDefault};\n --rdp-background-color-dark: ${theme.colors.actionTertiaryBackgroundPress};\n --rdp-outline: 2px solid var(--rdp-accent-color);\n --rdp-outline-selected: 3px solid var(--rdp-accent-color);\n --rdp-selected-color: #fff;\n padding: 4px;\n }\n\n .${prefix}-vhidden {\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n background: transparent;\n border: 0;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n position: absolute !important;\n top: 0;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n overflow: hidden !important;\n clip: rect(1px, 1px, 1px, 1px) !important;\n border: 0 !important;\n }\n\n .${prefix}-button_reset {\n appearance: none;\n position: relative;\n margin: 0;\n padding: 0;\n cursor: default;\n color: inherit;\n background: none;\n font: inherit;\n -moz-appearance: none;\n -webkit-appearance: none;\n }\n\n .${prefix}-button_reset:focus-visible {\n outline: none;\n }\n\n .${prefix}-button {\n border: 2px solid transparent;\n }\n\n .${prefix}-button[disabled]:not(.${prefix}-day_selected) {\n opacity: 0.25;\n }\n\n .${prefix}-button:not([disabled]) {\n cursor: pointer;\n }\n\n .${prefix}-button:focus-visible:not([disabled]) {\n color: inherit;\n background-color: var(--rdp-background-color);\n border: var(--rdp-outline);\n }\n\n .${prefix}-button:hover:not([disabled]):not(.${prefix}-day_selected) {\n background-color: var(--rdp-background-color);\n }\n\n .${prefix}-months {\n display: flex;\n justify-content: center;\n }\n\n .${prefix}-month {\n margin: 0 1em;\n }\n\n .${prefix}-month:first-of-type {\n margin-left: 0;\n }\n\n .${prefix}-month:last-child {\n margin-right: 0;\n }\n\n .${prefix}-table {\n margin: 0;\n max-width: calc(var(--rdp-cell-size) * 7);\n border-collapse: collapse;\n }\n\n .${prefix}-with_weeknumber .${prefix}-table {\n max-width: calc(var(--rdp-cell-size) * 8);\n border-collapse: collapse;\n }\n\n .${prefix}-caption {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0;\n text-align: left;\n }\n\n .${prefix}-multiple_months .${prefix}-caption {\n position: relative;\n display: block;\n text-align: center;\n }\n\n .${prefix}-caption_dropdowns {\n position: relative;\n display: inline-flex;\n }\n\n .${prefix}-caption_label {\n position: relative;\n z-index: 1;\n display: inline-flex;\n align-items: center;\n margin: 0;\n padding: 0 0.25em;\n white-space: nowrap;\n color: currentColor;\n border: 0;\n border: 2px solid transparent;\n font-family: inherit;\n font-size: var(--rdp-caption-font-size);\n font-weight: 600;\n }\n\n .${prefix}-nav {\n white-space: nowrap;\n }\n\n .${prefix}-multiple_months .${prefix}-caption_start .${prefix}-nav {\n position: absolute;\n top: 50%;\n left: 0;\n transform: translateY(-50%);\n }\n\n .${prefix}-multiple_months .${prefix}-caption_end .${prefix}-nav {\n position: absolute;\n top: 50%;\n right: 0;\n transform: translateY(-50%);\n }\n\n .${prefix}-nav_button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--rdp-cell-size);\n height: var(--rdp-cell-size);\n }\n\n .${prefix}-dropdown_year, .${prefix}-dropdown_month {\n position: relative;\n display: inline-flex;\n align-items: center;\n }\n\n .${prefix}-dropdown {\n appearance: none;\n position: absolute;\n z-index: 2;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n margin: 0;\n padding: 0;\n cursor: inherit;\n opacity: 0;\n border: none;\n background-color: transparent;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n }\n\n .${prefix}-dropdown[disabled] {\n opacity: unset;\n color: unset;\n }\n\n .${prefix}-dropdown:focus-visible:not([disabled]) + .${prefix}-caption_label {\n background-color: var(--rdp-background-color);\n border: var(--rdp-outline);\n border-radius: 6px;\n }\n\n .${prefix}-dropdown_icon {\n margin: 0 0 0 5px;\n }\n\n .${prefix}-head {\n border: 0;\n }\n\n .${prefix}-head_row, .${prefix}-row {\n height: 100%;\n }\n\n .${prefix}-head_cell {\n vertical-align: middle;\n font-size: inherit;\n font-weight: 400;\n color: ${theme.colors.textSecondary};\n text-align: center;\n height: 100%;\n height: var(--rdp-cell-size);\n padding: 0;\n text-transform: uppercase;\n }\n\n .${prefix}-tbody {\n border: 0;\n }\n\n .${prefix}-tfoot {\n margin: 0.5em;\n }\n\n .${prefix}-cell {\n width: var(--rdp-cell-size);\n height: 100%;\n height: var(--rdp-cell-size);\n padding: 0;\n text-align: center;\n }\n\n .${prefix}-weeknumber {\n font-size: 0.75em;\n }\n\n .${prefix}-weeknumber, .${prefix}-day {\n display: flex;\n overflow: hidden;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n width: var(--rdp-cell-size);\n max-width: var(--rdp-cell-size);\n height: var(--rdp-cell-size);\n margin: 0;\n border: 2px solid transparent;\n border-radius: ${theme.general.borderRadiusBase}px;\n }\n\n .${prefix}-day_today:not(.${prefix}-day_outside) {\n font-weight: bold;\n }\n\n .${prefix}-day_selected, .${prefix}-day_selected:focus-visible, .${prefix}-day_selected:hover {\n color: var(--rdp-selected-color);\n opacity: 1;\n background-color: var(--rdp-accent-color);\n }\n\n .${prefix}-day_outside {\n pointer-events: none;\n color: ${theme.colors.textSecondary};\n }\n\n .${prefix}-day_selected:focus-visible {\n outline: var(--rdp-outline);\n outline-offset: 2px;\n z-index: 1;\n }\n\n .${prefix}:not([dir='rtl']) .${prefix}-day_range_start:not(.${prefix}-day_range_end) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n\n .${prefix}:not([dir='rtl']) .${prefix}-day_range_end:not(.${prefix}-day_range_start) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n\n .${prefix}[dir='rtl'] .${prefix}-day_range_start:not(.${prefix}-day_range_end) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n\n .${prefix}[dir='rtl'] .${prefix}-day_range_end:not(.${prefix}-day_range_start) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n\n .${prefix}-day_range_start, .${prefix}-day_range_end {\n border: 0;\n & > span {\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: ${theme.general.borderRadiusBase}px;\n background-color: var(--rdp-accent-color);\n color: ${theme.colors.white};\n }\n }\n\n .${prefix}-day_range_end.${prefix}-day_range_start {\n border-radius: ${theme.general.borderRadiusBase}px;\n }\n\n .${prefix}-day_range_middle {\n border-radius: 0;\n background-color: var(--rdp-background-color);\n color: ${theme.colors.actionDefaultTextDefault};\n\n &:hover {\n color: ${theme.colors.actionTertiaryTextHover};\n }\n }\n\n .${prefix}-row > td:last-of-type .${prefix}-day_range_middle {\n border-top-right-radius: ${theme.general.borderRadiusBase}px;\n border-bottom-right-radius: ${theme.general.borderRadiusBase}px;\n }\n\n .${prefix}-row > td:first-of-type .${prefix}-day_range_middle {\n border-top-left-radius: ${theme.general.borderRadiusBase}px;\n border-bottom-left-radius: ${theme.general.borderRadiusBase}px;\n }\n`;\n","export const generateDatePickerClassNames = (prefix: string) => ({\n root: `${prefix}`,\n multiple_months: `${prefix}-multiple_months`,\n with_weeknumber: `${prefix}-with_weeknumber`,\n vhidden: `${prefix}-vhidden`,\n button_reset: `${prefix}-button_reset`,\n button: `${prefix}-button`,\n caption: `${prefix}-caption`,\n caption_start: `${prefix}-caption_start`,\n caption_end: `${prefix}-caption_end`,\n caption_between: `${prefix}-caption_between`,\n caption_label: `${prefix}-caption_label`,\n caption_dropdowns: `${prefix}-caption_dropdowns`,\n dropdown: `${prefix}-dropdown`,\n dropdown_month: `${prefix}-dropdown_month`,\n dropdown_year: `${prefix}-dropdown_year`,\n dropdown_icon: `${prefix}-dropdown_icon`,\n months: `${prefix}-months`,\n month: `${prefix}-month`,\n table: `${prefix}-table`,\n tbody: `${prefix}-tbody`,\n tfoot: `${prefix}-tfoot`,\n head: `${prefix}-head`,\n head_row: `${prefix}-head_row`,\n head_cell: `${prefix}-head_cell`,\n nav: `${prefix}-nav`,\n nav_button: `${prefix}-nav_button`,\n nav_button_previous: `${prefix}-nav_button_previous`,\n nav_button_next: `${prefix}-nav_button_next`,\n nav_icon: `${prefix}-nav_icon`,\n row: `${prefix}-row`,\n weeknumber: `${prefix}-weeknumber`,\n cell: `${prefix}-cell`,\n day: `${prefix}-day`,\n day_today: `${prefix}-day_today`,\n day_outside: `${prefix}-day_outside`,\n day_selected: `${prefix}-day_selected`,\n day_disabled: `${prefix}-day_disabled`,\n day_hidden: `${prefix}-day_hidden`,\n day_range_start: `${prefix}-day_range_start`,\n day_range_end: `${prefix}-day_range_end`,\n day_range_middle: `${prefix}-day_range_middle`,\n});\n","import {\n endOfToday,\n endOfYesterday,\n format as formatDateFns,\n isAfter,\n isBefore,\n isValid,\n parseISO,\n startOfToday,\n startOfWeek,\n startOfYesterday,\n sub,\n} from 'date-fns';\nimport type { ForwardedRef, HTMLAttributes, KeyboardEvent, MouseEvent } from 'react';\nimport { forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';\nimport { Button as DayPickerButton, DayPicker, useDayRender } from 'react-day-picker';\nimport type {\n DateAfter,\n DateBefore,\n DateRange as DayPickerDateRange,\n DayPickerRangeProps,\n DayPickerSingleProps,\n DayProps,\n Matcher,\n} from 'react-day-picker';\n\nimport { DatePickerInput } from './DatePickerInput';\nimport { getDayPickerStyles } from './styles';\nimport { generateDatePickerClassNames } from './utils';\nimport type { InputProps, InputRef } from '../../design-system';\nimport {\n Button,\n ChevronLeftIcon,\n ChevronRightIcon,\n ClockIcon,\n Input,\n Popover,\n useDesignSystemSafexFlags,\n useDesignSystemTheme,\n} from '../../design-system';\nimport type { HTMLDataAttributes, ValidationState } from '../../design-system/types';\n\nconst DEFAULT_MIN_DATE = '1900-01-01 00:00:00';\nconst DEFAULT_MAX_DATE = '2100-12-31 23:59:59';\n\n// Helps with adding the timezone offset to the date\n// This is needed because the datepicker is in the local timezone and\n// dates with negative timezone offsets that don't select time will be negatively offset\n// leading to the previous day being selected\nconst correctDateTimezoneOffset = (date: Date) => {\n const dateWithCorrectedTimezone = new Date(date);\n\n if (dateWithCorrectedTimezone.getTimezoneOffset() > 0) {\n dateWithCorrectedTimezone.setMinutes(\n dateWithCorrectedTimezone.getMinutes() + dateWithCorrectedTimezone.getTimezoneOffset(),\n );\n }\n\n return dateWithCorrectedTimezone;\n};\n\nconst formatDateLimitForInput = (\n date: Date | string | number | undefined,\n includeTime: boolean,\n includeSeconds: boolean,\n defaultDate: string | undefined,\n): [Date | undefined, string | undefined] => {\n let limitDate = defaultDate ? new Date(defaultDate) : undefined;\n if (!limitDate) {\n return [undefined, undefined];\n }\n\n if (date) {\n if (date instanceof Date && isValid(date)) {\n limitDate = date;\n } else if (isValid(new Date(date))) {\n limitDate = new Date(date);\n }\n\n if (!includeTime) {\n limitDate = correctDateTimezoneOffset(limitDate);\n }\n }\n\n if (includeTime) {\n if (includeSeconds) {\n return [limitDate, formatDateFns(limitDate, 'yyyy-MM-dd HH:mm:ss')];\n }\n\n return [limitDate, formatDateFns(limitDate, 'yyyy-MM-dd HH:mm')];\n }\n\n return [limitDate, formatDateFns(limitDate, 'yyyy-MM-dd')];\n};\n\nconst handleInputKeyDown = (\n event: React.KeyboardEvent<HTMLInputElement>,\n setIsVisible: (open: boolean) => void,\n backspaceFn?: () => void,\n) => {\n if (event.key === ' ' || event.key === 'Enter' || event.key === 'Space') {\n event.preventDefault();\n event.stopPropagation();\n setIsVisible(true);\n } else if (event.key === 'Backspace' && backspaceFn) {\n event.preventDefault();\n event.stopPropagation();\n backspaceFn?.();\n }\n};\n\nexport interface DatePickerChangeEventType {\n target: {\n name?: string;\n value: Date | undefined;\n };\n type: string;\n updateLocation: 'input' | 'calendar';\n}\n\nexport interface RangePickerChangeEventType {\n target: {\n name?: string;\n value: DateRange | undefined;\n };\n type: string;\n updateLocation: 'input' | 'calendar' | 'preset';\n}\n\nexport interface DatePickerWrapperProps {\n wrapperProps?: HTMLAttributes<HTMLDivElement> & HTMLDataAttributes;\n}\n\nexport interface DatePickerProps\n extends Omit<InputProps, 'type' | 'suffix' | 'onKeyDown' | 'value' | 'onChange' | 'max' | 'min' | 'size'>,\n DatePickerWrapperProps {\n onChange?: (e: DatePickerChangeEventType) => void;\n onClear?: () => void;\n open?: boolean;\n onOpenChange?: (visible: boolean) => void;\n value?: Date;\n validationState?: ValidationState;\n includeTime?: boolean;\n includeSeconds?: boolean;\n /**\n * Expected format HH:mm or HH:mm:ss\n */\n defaultTime?: string;\n datePickerProps?: Omit<DayPickerSingleProps, 'mode' | 'selected'> | Omit<DayPickerRangeProps, 'mode' | 'selected'>;\n timeInputProps?: Omit<InputProps, 'type' | 'allowClear' | 'onChange' | 'value' | 'componentId' | 'size'>;\n name?: string;\n width?: string | number;\n maxWidth?: string | number;\n minWidth?: string | number;\n dateTimeDisabledFn?: (date: Date) => boolean;\n quickActions?: DatePickerQuickActionProps[];\n onOkPress?: () => void;\n okButtonLabel?: string;\n min?: Date | string | number | undefined;\n max?: Date | string | number | undefined;\n /**\n * DO NOT USE THIS PROP. This is only for internal use.\n */\n showTimeZone?: boolean;\n /**\n * Custom timezone label, this has no functional impact, converting to the correct timezone must be done outside this component\n */\n customTimeZoneLabel?: string;\n}\n\nfunction Day(props: DayProps): JSX.Element {\n const buttonRef = useRef<HTMLButtonElement>(null);\n const dayRender = useDayRender(props.date, props.displayMonth, buttonRef);\n\n if (dayRender.isHidden) {\n return <div role=\"cell\" />;\n }\n if (!dayRender.isButton) {\n return <div {...dayRender.divProps} />;\n }\n\n const ariaLabel = props.date.toLocaleDateString(undefined, {\n weekday: 'long',\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n });\n\n return <DayPickerButton name=\"day\" ref={buttonRef} {...dayRender.buttonProps} role=\"button\" aria-label={ariaLabel} />;\n}\n\ninterface DatePickerQuickActionProps {\n label: string;\n /**\n * Do not pass Date[] as value, it's only for internal use\n */\n value: Date | Date[];\n onClick?: (value: Date | Date[]) => void;\n}\n\nexport const getDatePickerQuickActionBasic = ({\n today,\n yesterday,\n sevenDaysAgo,\n}: {\n today?: Partial<DatePickerQuickActionProps>;\n yesterday?: Partial<DatePickerQuickActionProps>;\n sevenDaysAgo?: Partial<DatePickerQuickActionProps>;\n}): DatePickerQuickActionProps[] => [\n {\n label: 'Today',\n value: startOfToday(),\n ...today,\n },\n {\n label: 'Yesterday',\n value: startOfYesterday(),\n ...yesterday,\n },\n {\n label: '7 days ago',\n value: sub(startOfToday(), { days: 7 }),\n ...sevenDaysAgo,\n },\n];\n\nexport const DatePicker = forwardRef<HTMLInputElement, DatePickerProps>(\n (props: DatePickerProps, ref: ForwardedRef<HTMLInputElement>) => {\n const { classNamePrefix, theme } = useDesignSystemTheme();\n const { useNewDatePickerInput } = useDesignSystemSafexFlags();\n const {\n id,\n name,\n value,\n validationState,\n onChange,\n allowClear,\n onClear,\n includeTime,\n includeSeconds,\n defaultTime,\n onOpenChange,\n open,\n datePickerProps,\n timeInputProps,\n mode = 'single',\n selected,\n width,\n maxWidth,\n minWidth,\n dateTimeDisabledFn,\n quickActions,\n wrapperProps,\n onOkPress,\n okButtonLabel,\n showTimeZone,\n customTimeZoneLabel,\n min,\n max,\n ...restProps\n } = props as DatePickerProps & { selected?: DayPickerDateRange; mode: 'single' | 'range' };\n const format = includeTime ? (includeSeconds ? 'yyyy-MM-dd HH:mm:ss' : 'yyyy-MM-dd HH:mm') : 'yyyy-MM-dd';\n const [date, setDate] = useState<Date | undefined>(value);\n const [timezone, setTimezone] = useState<string | undefined>(customTimeZoneLabel);\n\n const [isVisible, setIsVisible] = useState(Boolean(open));\n // Used to prevent the blur update when the datepicker is opened/closed\n const [preventBlurUpdate, setPreventBlurUpdate] = useState(false);\n const inputRef = useRef<InputRef>(null);\n\n const visibleRef = useRef(isVisible);\n // Needed to avoid the clear icon click also reopening the datepicker\n const fromClearRef = useRef(null);\n\n const setDateInputValue = useCallback(\n (date: Date | undefined) => {\n const formattedDate = date && isValid(date) ? formatDateFns(date, format) : undefined;\n if (inputRef.current) {\n (inputRef.current as any).value = formattedDate;\n }\n },\n [format],\n );\n\n const setDateAndDateInputValue = useCallback(\n (date: Date | undefined) => {\n setDate(date);\n if (useNewDatePickerInput) {\n setDateInputValue(date);\n }\n },\n [useNewDatePickerInput, setDateInputValue],\n );\n\n useEffect(() => {\n if (!isVisible && visibleRef.current) {\n (inputRef.current as any)?.focus();\n }\n visibleRef.current = isVisible;\n onOpenChange?.(isVisible);\n }, [isVisible, onOpenChange]);\n\n useEffect(() => {\n setIsVisible(Boolean(open));\n }, [open]);\n\n useEffect(() => {\n const now = new Date();\n if (showTimeZone) {\n if (customTimeZoneLabel) {\n setTimezone(customTimeZoneLabel);\n return;\n }\n\n setTimezone(\n Intl.DateTimeFormat('en-US', {\n timeZoneName: 'short',\n })\n .formatToParts(now)\n .find((part) => part.type === 'timeZoneName')?.value ?? formatDateFns(now, 'z'),\n );\n } else {\n setTimezone(undefined);\n }\n }, [showTimeZone, customTimeZoneLabel]);\n\n useEffect(() => {\n if (value) {\n if (value instanceof Date && isValid(value)) {\n setDateAndDateInputValue(value);\n } else {\n if (isValid(new Date(value))) {\n setDateAndDateInputValue(new Date(value));\n } else {\n setDateAndDateInputValue(undefined);\n }\n }\n } else {\n setDateAndDateInputValue(undefined);\n }\n }, [value, setDateAndDateInputValue]);\n\n const handleChange = useCallback(\n (date: Date | undefined, isCalendarUpdate: boolean) => {\n if (onChange) {\n onChange({\n target: {\n name,\n value: date,\n },\n type: 'change',\n updateLocation: isCalendarUpdate ? 'calendar' : 'input',\n });\n }\n },\n [onChange, name],\n );\n\n const handleDatePickerUpdate = (date: Date) => {\n // Prevent the blur triggering an update event as well\n setPreventBlurUpdate(true);\n\n setDate((prevDate) => {\n setDateInputValue(date);\n // Set default time if date is set the first time\n if (!prevDate && date && includeTime && defaultTime) {\n const timeSplit = defaultTime.split(':');\n date?.setHours(+timeSplit[0]);\n date?.setMinutes(+timeSplit[1]);\n date.setSeconds(timeSplit.length > 2 ? +timeSplit[2] : 0);\n } else if (prevDate && date && includeTime) {\n date.setHours(prevDate.getHours());\n date.setMinutes(prevDate.getMinutes());\n if (includeSeconds) {\n date.setSeconds(prevDate.getSeconds());\n }\n }\n handleChange(date, true);\n return date;\n });\n\n if (!includeTime) {\n setIsVisible(false);\n }\n };\n\n const handleInputUpdate = (dateString: string | undefined) => {\n processInputDate(dateString);\n };\n\n const handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n if (isVisible) {\n return;\n }\n\n if (preventBlurUpdate) {\n // If the datepicker is opened/closed, prevent the blur update\n setPreventBlurUpdate(false);\n return;\n }\n\n const newValue = new Date((e.target as HTMLInputElement).value);\n if (newValue && isValid(newValue)) {\n processInputDate(e.target.value, true);\n } else {\n processInputDate(undefined, true);\n }\n restProps?.onBlur?.(e);\n };\n\n const [minimumAllowedDate, minimumAllowedDateString] = useMemo(() => {\n return formatDateLimitForInput(min, Boolean(includeTime), Boolean(includeSeconds), DEFAULT_MIN_DATE);\n }, [min, includeTime, includeSeconds]);\n\n const [maximumAllowedDate, maximumAllowedDateString] = useMemo(() => {\n return formatDateLimitForInput(max, Boolean(includeTime), Boolean(includeSeconds), DEFAULT_MAX_DATE);\n }, [max, includeTime, includeSeconds]);\n\n // shouldEmitOnChange should be true for instances when the updated date should propagate to the parent\n // when just typing, shouldEmitOnChange should be false\n // when blurring the input, shouldEmitOnChange should be true\n const processInputDate = (updatedDateString: string | undefined, shouldEmitOnChange: boolean = false) => {\n const updatedDate = updatedDateString ? parseISO(updatedDateString) : undefined;\n\n // If the input is empty, set the date to undefined and emit the change event if shouldEmitOnChange is true\n if (!updatedDate) {\n setDateAndDateInputValue(undefined);\n if (shouldEmitOnChange) {\n handleChange(undefined, false);\n }\n return;\n }\n\n // If the date is invalid, don't update the date, the user is still typing\n if (!isValid(updatedDate)) {\n return;\n }\n\n let validInputDate = updatedDate;\n\n if (!includeTime) {\n validInputDate = correctDateTimezoneOffset(updatedDate);\n }\n\n // Don't emit onChange events for dates that have less than 4 digits in the year and before 1900\n // Only allow the input to be updated so the user can keep typing the date\n if (isBefore(validInputDate, new Date(DEFAULT_MIN_DATE)) || isAfter(validInputDate, new Date(DEFAULT_MAX_DATE))) {\n if (shouldEmitOnChange) {\n setDateAndDateInputValue(value);\n } else {\n setDateAndDateInputValue(validInputDate);\n }\n return;\n }\n\n // If the value should be propagated, it means the input is blurred and the limit checks have already been done\n // so we can update the date and emit the change event\n if (shouldEmitOnChange) {\n if (validInputDate !== value) {\n setDateAndDateInputValue(validInputDate);\n handleChange(validInputDate, false);\n }\n return;\n }\n\n // Verify limits of the date and don't update the date if it's out of range\n if (minimumAllowedDate && isBefore(validInputDate, minimumAllowedDate)) {\n validInputDate = minimumAllowedDate;\n }\n\n if (maximumAllowedDate && isAfter(validInputDate, maximumAllowedDate)) {\n validInputDate = maximumAllowedDate;\n }\n\n setDateAndDateInputValue(validInputDate);\n\n if (!includeTime && isVisible) {\n setIsVisible(false);\n }\n };\n\n const handleClear = useCallback(() => {\n setDateAndDateInputValue(undefined);\n handleChange(undefined, false);\n onClear?.();\n }, [onClear, handleChange, setDateAndDateInputValue]);\n\n const handleTimeUpdate = (e: any) => {\n const newTime = e.nativeEvent?.target?.value;\n\n const time = date && isValid(date) ? formatDateFns(date, includeSeconds ? 'HH:mm:ss' : 'HH:mm') : undefined;\n if (newTime && newTime !== time) {\n if (date) {\n const updatedDate = new Date(date);\n const timeSplit = newTime.split(':');\n updatedDate.setHours(+timeSplit[0]);\n updatedDate.setMinutes(+timeSplit[1]);\n if (includeSeconds) {\n updatedDate.setSeconds(+timeSplit[2]);\n }\n processInputDate(formatDateFns(updatedDate, format));\n }\n }\n };\n\n // Manually add the clear icon click event listener to avoid reopening the datepicker when clearing the input\n useEffect(() => {\n if (allowClear && inputRef.current && !useNewDatePickerInput) {\n const clearIcon = (inputRef.current as any).input\n ?.closest('[type=\"button\"]')\n ?.querySelector(`.${classNamePrefix}-input-clear-icon`);\n\n if (clearIcon !== fromClearRef.current) {\n fromClearRef.current = clearIcon;\n const clientEventListener = (e: MouseEvent<HTMLSpanElement>) => {\n e.stopPropagation();\n e.preventDefault();\n handleClear();\n };\n\n clearIcon.addEventListener('click', clientEventListener);\n }\n }\n }, [classNamePrefix, defaultTime, handleClear, allowClear, useNewDatePickerInput]);\n\n const { classNames, datePickerStyles } = useMemo(\n () => ({\n classNames: generateDatePickerClassNames(`${classNamePrefix}-datepicker`),\n datePickerStyles: getDayPickerStyles(`${classNamePrefix}-datepicker`, theme),\n }),\n [classNamePrefix, theme],\n );\n\n const chevronLeftIconComp = (props: any) => <ChevronLeftIcon {...props} />;\n const chevronRightIconComp = (props: any) => <ChevronRightIcon {...props} />;\n\n return (\n <div\n className={`${classNamePrefix}-datepicker`}\n css={{ width, minWidth, maxWidth, pointerEvents: restProps?.disabled ? 'none' : 'auto' }}\n {...wrapperProps}\n >\n <Popover.Root\n componentId=\"codegen_design-system_src_development_datepicker_datepicker.tsx_330\"\n open={isVisible}\n onOpenChange={setIsVisible}\n >\n <Popover.Trigger asChild disabled={restProps?.disabled} role=\"combobox\">\n <div>\n {useNewDatePickerInput ? (\n <>\n <DatePickerInput\n id={id}\n // Once we get rid of the old datepicker input, we can remove the as any\n ref={inputRef as any}\n name={name}\n validationState={validationState}\n allowClear={allowClear}\n onClear={allowClear ? handleClear : undefined}\n placeholder=\"Select Date\"\n aria-label={includeTime ? 'Select Date and Time' : 'Select Date'}\n prefix=\"Date:\"\n role=\"textbox\"\n suffix={showTimeZone ? <span>{timezone}</span> : undefined}\n min={minimumAllowedDateString}\n max={maximumAllowedDateString}\n {...restProps}\n type={includeTime ? 'datetime-local' : 'date'}\n step={includeTime && includeSeconds ? 1 : undefined}\n onKeyDown={(event) => handleInputKeyDown(event, setIsVisible, () => handleInputUpdate(undefined))}\n onChange={(e) => handleInputUpdate(e.target.value)}\n value={date && isValid(date) ? formatDateFns(date, format) : undefined}\n onBlur={handleBlur}\n />\n <input type=\"hidden\" ref={ref} value={(date as any) || ''} />\n </>\n ) : (\n <>\n <Input\n id={id}\n ref={inputRef}\n name={name}\n validationState={validationState}\n allowClear={allowClear}\n placeholder=\"Select Date\"\n aria-label={includeTime ? 'Select Date and Time' : 'Select Date'}\n prefix=\"Date:\"\n role=\"textbox\"\n suffix={showTimeZone ? <span>{timezone}</span> : undefined}\n min={minimumAllowedDateString}\n max={maximumAllowedDateString}\n {...restProps}\n css={{\n '*::-webkit-calendar-picker-indicator': { display: 'none' },\n [`.${classNamePrefix}-input-prefix`]: {\n ...(!restProps?.disabled && { color: `${theme.colors.textPrimary} !important` }),\n },\n [`&.${classNamePrefix}-input-affix-wrapper > *`]: {\n height: theme.typography.lineHeightBase,\n },\n ...(showTimeZone && {\n [`.${classNamePrefix}-input-suffix`]: {\n display: 'inline-flex',\n flexDirection: 'row-reverse',\n gap: theme.spacing.sm,\n alignItems: 'center',\n },\n }),\n }}\n type={includeTime ? 'datetime-local' : 'date'}\n step={includeTime && includeSeconds ? 1 : undefined}\n onKeyDown={(event) => handleInputKeyDown(event, setIsVisible, () => handleInputUpdate(undefined))}\n onChange={(e) => handleInputUpdate(e.target.value)}\n value={date && isValid(date) ? formatDateFns(date, format) : undefined}\n onBlur={handleBlur}\n />\n <input type=\"hidden\" ref={ref} value={(date as any) || ''} />\n </>\n )}\n </div>\n </Popover.Trigger>\n <Popover.Content align=\"start\" css={datePickerStyles}>\n <DayPicker\n initialFocus\n {...datePickerProps}\n mode={mode as any}\n selected={mode === 'range' ? selected : date}\n onDayClick={handleDatePickerUpdate}\n showOutsideDays={mode === 'range' ? false : true}\n formatters={{\n formatWeekdayName: (date) => formatDateFns(date, 'iiiii', { locale: datePickerProps?.locale }),\n }}\n components={{\n Day,\n IconLeft: chevronLeftIconComp,\n IconRight: chevronRightIconComp,\n }}\n defaultMonth={date}\n classNames={classNames}\n />\n {quickActions?.length && (\n <div\n style={{\n display: 'flex',\n gap: theme.spacing.sm,\n marginBottom: theme.spacing.md,\n padding: `${theme.spacing.xs}px ${theme.spacing.xs}px 0`,\n maxWidth: 225,\n flexWrap: 'wrap',\n }}\n >\n {quickActions?.map((action, i) => (\n <Button\n size=\"small\"\n componentId=\"codegen_design-system_src_design-system_datepicker_datepicker.tsx_281\"\n key={i}\n onClick={() =>\n action.onClick\n ? action.onClick(action.value)\n : !Array.isArray(action.value) && handleDatePickerUpdate(action.value)\n }\n >\n {action.label}\n </Button>\n ))}\n </div>\n )}\n {includeTime && (\n <Input\n componentId=\"codegen_design-system_src_development_datepicker_datepicker.tsx_306\"\n type=\"time\"\n step={includeSeconds ? 1 : undefined}\n aria-label=\"Time\"\n role=\"textbox\"\n min={minimumAllowedDateString}\n max={maximumAllowedDateString}\n {...timeInputProps}\n value={date && isValid(date) ? formatDateFns(date, includeSeconds ? 'HH:mm:ss' : 'HH:mm') : undefined}\n onChange={handleTimeUpdate}\n css={{\n '*::-webkit-calendar-picker-indicator': {\n position: 'absolute',\n right: -8,\n width: theme.general.iconSize,\n height: theme.general.iconSize,\n zIndex: theme.options.zIndexBase + 1,\n color: 'transparent',\n background: 'transparent',\n },\n [`.${classNamePrefix}-input-suffix`]: {\n position: 'absolute',\n right: 12,\n top: 8,\n },\n }}\n suffix={<ClockIcon />}\n disabled={timeInputProps?.disabled}\n />\n )}\n {mode === 'range' && includeTime && onOkPress && (\n <div css={{ paddingTop: theme.spacing.md, display: 'flex', justifyContent: 'flex-end' }}>\n <Button\n aria-label=\"Open end date picker\"\n type=\"primary\"\n componentId=\"datepicker-dubois-ok-button\"\n onClick={onOkPress}\n >\n {okButtonLabel ?? 'Ok'}\n </Button>\n </div>\n )}\n </Popover.Content>\n </Popover.Root>\n </div>\n );\n },\n);\n\nexport interface RangePickerProps extends Omit<DayPickerRangeProps, 'mode'>, DatePickerWrapperProps {\n name?: string;\n onChange?: (e: RangePickerChangeEventType) => void;\n startDatePickerProps?: DatePickerProps & { ref?: ForwardedRef<HTMLInputElement> };\n endDatePickerProps?: DatePickerProps & { ref?: ForwardedRef<HTMLInputElement> };\n includeTime?: boolean;\n includeSeconds?: boolean;\n allowClear?: boolean;\n /**\n * Minimum recommended width 300px without `includeTime` and 350px with `includeTime`. 400px if both `includeTime` and `allowClear` are true\n */\n width?: string | number;\n /**\n * Minimum recommended width 300px without `includeTime` and 350px with `includeTime`. 400px if both `includeTime` and `allowClear` are true\n */\n maxWidth?: string | number;\n /**\n * Minimum recommended width 300px without `includeTime` and 350px with `includeTime`. 400px if both `includeTime` and `allowClear` are true\n */\n minWidth?: string | number;\n disabled?: boolean;\n quickActions?: RangePickerQuickActionProps[];\n /**\n * Allow the user to select a range that has a larger start date than end date or a start date that is after the end date\n */\n noRangeValidation?: boolean;\n}\n\nexport interface DateRange extends DayPickerDateRange {}\n\nexport interface RangePickerQuickActionProps extends DatePickerQuickActionProps {}\n\nexport const getRangeQuickActionsBasic = ({\n today,\n yesterday,\n lastWeek,\n}: {\n today?: Partial<RangePickerQuickActionProps>;\n yesterday?: Partial<RangePickerQuickActionProps>;\n lastWeek?: Partial<RangePickerQuickActionProps>;\n}): RangePickerQuickActionProps[] => {\n const todayStart = startOfToday();\n const weekStart = startOfWeek(todayStart);\n return [\n {\n label: 'Today',\n value: [todayStart, endOfToday()],\n ...today,\n },\n {\n label: 'Yesterday',\n value: [startOfYesterday(), endOfYesterday()],\n ...yesterday,\n },\n {\n label: 'Last week',\n value: [sub(weekStart, { days: 7 }), sub(weekStart, { days: 1 })],\n ...lastWeek,\n },\n ];\n};\n\nexport const RangePicker = (props: RangePickerProps) => {\n const {\n id,\n onChange,\n startDatePickerProps,\n endDatePickerProps,\n includeTime,\n includeSeconds,\n allowClear,\n minWidth,\n maxWidth,\n width,\n disabled,\n quickActions,\n wrapperProps,\n noRangeValidation,\n } = props;\n const [range, setRange] = useState<DayPickerDateRange | undefined>({\n from: startDatePickerProps?.value,\n to: endDatePickerProps?.value,\n });\n const { classNamePrefix } = useDesignSystemTheme();\n\n // Focus is lost when the popover is closed, we need to set the focus back to the input that opened the popover manually.\n const [isFromVisible, setIsFromVisible] = useState(false);\n const [isToVisible, setIsToVisible] = useState(false);\n const [isRangeInputFocused, setIsRangeInputFocused] = useState(false);\n\n const fromInputRef = useRef<HTMLInputElement>(null);\n const toInputRef = useRef<HTMLInputElement>(null);\n\n useImperativeHandle(startDatePickerProps?.ref, () => fromInputRef.current as any);\n useImperativeHandle(endDatePickerProps?.ref, () => toInputRef.current as any);\n\n const fromInputRefVisible = useRef(isFromVisible);\n const toInputRefVisible = useRef(isToVisible);\n\n useEffect(() => {\n if (!isFromVisible && fromInputRefVisible.current) {\n (fromInputRef.current as any)?.focus();\n }\n fromInputRefVisible.current = isFromVisible;\n }, [isFromVisible]);\n\n useEffect(() => {\n if (!isToVisible && toInputRefVisible.current) {\n (toInputRef.current as any)?.focus();\n }\n toInputRefVisible.current = isToVisible;\n }, [isToVisible]);\n\n const checkIfDateTimeIsDisabled = useCallback(\n (date, isStart = false): boolean => {\n const dateToCompareTo = isStart ? range?.to : range?.from;\n if (date && dateToCompareTo) {\n return isStart ? isAfter(date, dateToCompareTo) : isBefore(date, dateToCompareTo);\n }\n\n return false;\n },\n [range],\n );\n\n useEffect(() => {\n setRange((prevValue) => ({\n from: startDatePickerProps?.value,\n to: prevValue?.to,\n }));\n }, [startDatePickerProps?.value]);\n\n useEffect(() => {\n setRange((prevValue) => ({\n from: prevValue?.from,\n to: endDatePickerProps?.value,\n }));\n }, [endDatePickerProps?.value]);\n\n const quickActionsWithHandler = useMemo(() => {\n if (quickActions) {\n return quickActions.map((action) => {\n if (Array.isArray(action.value)) {\n return {\n ...action,\n onClick: ((value: Date[]) => {\n setRange({ from: value[0], to: value[1] });\n onChange?.({\n target: { name: props.name, value: { from: value[0], to: value[1] } },\n type: 'change',\n updateLocation: 'preset',\n });\n action.onClick?.(value);\n setIsFromVisible(false);\n setIsToVisible(false);\n }) as (value: Date | Date[]) => void,\n };\n }\n return action;\n });\n }\n\n return quickActions;\n }, [quickActions, onChange, props.name]);\n\n const handleUpdateDate = useCallback(\n (e: DatePickerChangeEventType, isStart: boolean) => {\n const date = e.target.value;\n const newRange: DateRange = isStart\n ? { from: date, to: range?.to }\n : {\n from: range?.from,\n to: date,\n };\n\n if (!includeTime) {\n if (isStart) {\n setIsFromVisible(false);\n if (e.updateLocation === 'calendar') {\n setIsToVisible(true);\n }\n } else {\n setIsToVisible(false);\n }\n }\n\n if (isStart) {\n startDatePickerProps?.onChange?.(e);\n } else {\n endDatePickerProps?.onChange?.(e);\n }\n\n setRange(newRange);\n onChange?.({\n target: { name: props.name, value: newRange },\n type: 'change',\n updateLocation: e.updateLocation,\n });\n },\n [onChange, includeTime, startDatePickerProps, endDatePickerProps, range, props.name],\n );\n\n // Use useMemo to calculate disabled dates\n const disabledDates = useMemo(() => {\n let startDisabledFromProps, endDisabledFromProps;\n if (startDatePickerProps?.datePickerProps?.disabled) {\n startDisabledFromProps = Array.isArray(startDatePickerProps?.datePickerProps?.disabled)\n ? startDatePickerProps?.datePickerProps?.disabled\n : [startDatePickerProps?.datePickerProps?.disabled];\n }\n const startDisabled: Matcher[] = [\n { after: range?.to } as DateAfter,\n ...(startDisabledFromProps ? (startDisabledFromProps as Matcher[]) : []),\n ].filter(Boolean);\n\n if (endDatePickerProps?.datePickerProps?.disabled) {\n endDisabledFromProps = Array.isArray(endDatePickerProps?.datePickerProps?.disabled)\n ? endDatePickerProps?.datePickerProps?.disabled\n : [endDatePickerProps?.datePickerProps?.disabled];\n }\n\n const endDisabled: Matcher[] = [\n { before: range?.from } as DateBefore,\n ...(endDisabledFromProps ? (endDisabledFromProps as Matcher[]) : []),\n ].filter(Boolean);\n\n return { startDisabled, endDisabled };\n }, [\n range?.from,\n range?.to,\n startDatePickerProps?.datePickerProps?.disabled,\n endDatePickerProps?.datePickerProps?.disabled,\n ]);\n\n const [startDateMaxInputDate] = useMemo(\n () =>\n formatDateLimitForInput(\n noRangeValidation ? undefined : range?.to,\n Boolean(includeTime),\n Boolean(includeSeconds),\n DEFAULT_MAX_DATE,\n ),\n [includeTime, includeSeconds, noRangeValidation, range?.to],\n );\n\n const [endDateMinInputDate] = useMemo(\n () =>\n formatDateLimitForInput(\n noRangeValidation ? undefined : range?.from,\n Boolean(includeTime),\n Boolean(includeSeconds),\n DEFAULT_MIN_DATE,\n ),\n [includeTime, includeSeconds, noRangeValidation, range?.from],\n );\n\n const openEndDatePicker = () => {\n setIsFromVisible(false);\n setIsToVisible(true);\n };\n\n const closeEndDatePicker = () => {\n setIsToVisible(false);\n };\n\n const handleTimePickerKeyPress = (e: KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n openEndDatePicker();\n }\n props.startDatePickerProps?.timeInputProps?.onKeyDown?.(e);\n };\n\n return (\n <div\n className={`${classNamePrefix}-rangepicker`}\n {...wrapperProps}\n data-focused={isRangeInputFocused}\n css={{ display: 'flex', alignItems: 'center', minWidth, maxWidth, width }}\n >\n <DatePicker\n quickActions={quickActionsWithHandler}\n prefix=\"Start:\"\n open={isFromVisible}\n onOpenChange={setIsFromVisible}\n okButtonLabel=\"Next\"\n {...startDatePickerProps}\n id={id}\n ref={fromInputRef}\n disabled={disabled || startDatePickerProps?.disabled}\n onChange={(e) => handleUpdateDate(e, true)}\n includeTime={includeTime}\n includeSeconds={includeSeconds}\n allowClear={allowClear}\n max={startDateMaxInputDate}\n datePickerProps={{\n ...startDatePickerProps?.datePickerProps,\n disabled: disabledDates.startDisabled,\n }}\n timeInputProps={{\n onKeyDown: handleTimePickerKeyPress,\n }}\n // @ts-expect-error - DatePickerProps does not have a mode property in the public API but is needed for this use case\n mode=\"range\"\n selected={range}\n value={range?.from}\n dateTimeDisabledFn={(date: Date) => checkIfDateTimeIsDisabled(date, true)}\n onFocus={(e) => {\n setIsRangeInputFocused(true);\n startDatePickerProps?.onFocus?.(e);\n }}\n onBlur={(e) => {\n setIsRangeInputFocused(false);\n startDatePickerProps?.onBlur?.(e);\n }}\n css={{\n '*::-webkit-calendar-picker-indicator': { display: 'none' },\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n }}\n wrapperProps={{\n style: { width: '50%' },\n }}\n onOkPress={openEndDatePicker}\n />\n <DatePicker\n quickActions={quickActionsWithHandler}\n prefix=\"End:\"\n min={endDateMinInputDate}\n okButtonLabel=\"Close\"\n {...endDatePickerProps}\n ref={toInputRef}\n disabled={disabled || endDatePickerProps?.disabled}\n onChange={(e) => handleUpdateDate(e, false)}\n includeTime={includeTime}\n includeSeconds={includeSeconds}\n open={isToVisible}\n onOpenChange={setIsToVisible}\n allowClear={allowClear}\n datePickerProps={{\n ...endDatePickerProps?.datePickerProps,\n disabled: disabledDates.endDisabled,\n }}\n // @ts-expect-error - DatePickerProps does not have a mode property in the public API but is needed for this use case\n mode=\"range\"\n selected={range}\n value={range?.to}\n dateTimeDisabledFn={(date: Date) => checkIfDateTimeIsDisabled(date, false)}\n onFocus={(e) => {\n setIsRangeInputFocused(true);\n startDatePickerProps?.onFocus?.(e);\n }}\n onBlur={(e) => {\n setIsRangeInputFocused(false);\n startDatePickerProps?.onBlur?.(e);\n }}\n css={{\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n left: -1,\n }}\n wrapperProps={{\n style: { width: '50%' },\n }}\n onOkPress={closeEndDatePicker}\n />\n </div>\n );\n};\n","import React, { createContext, useCallback, useContext, useMemo, useState } from 'react';\n\nimport type { ListboxContextValue, ListboxOption, ListboxRootProps } from './types';\n\nconst ListboxContext = createContext<ListboxContextValue | null>(null);\n\nexport const useListboxContext = () => {\n const context = useContext(ListboxContext);\n if (!context) {\n throw new Error('useListboxContext must be used within a ListboxProvider');\n }\n return context;\n};\n\nexport const ListboxRoot = ({\n children,\n className,\n onSelect,\n initialSelectedValue,\n listBoxDivRef,\n}: ListboxRootProps) => {\n const [selectedValue, setSelectedValue] = useState<string | undefined>(initialSelectedValue);\n const [highlightedValue, setHighlightedValue] = useState<string>();\n const listboxId = useMemo(() => `listbox-${Math.random().toString(36).slice(2)}`, []);\n\n const getContentOptions = (element: HTMLElement | null | undefined): HTMLElement[] | undefined => {\n const options = element?.querySelectorAll('[role=\"option\"], [role=\"link\"]');\n return options ? (Array.from(options) as HTMLElement[]) : undefined;\n };\n\n const handleKeyNavigation = useCallback(\n (event: React.KeyboardEvent, options: ListboxOption[]) => {\n const currentIndex = options.findIndex((option) => option.value === highlightedValue);\n let nextIndex = currentIndex;\n\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault();\n nextIndex = currentIndex < options.length - 1 ? currentIndex + 1 : 0;\n break;\n case 'ArrowUp':\n event.preventDefault();\n nextIndex = currentIndex > 0 ? currentIndex - 1 : options.length - 1;\n break;\n case 'Home':\n event.preventDefault();\n nextIndex = 0;\n break;\n case 'End':\n event.preventDefault();\n nextIndex = options.length - 1;\n break;\n case 'Enter':\n case ' ':\n event.preventDefault();\n if (highlightedValue !== undefined) {\n onSelect?.(highlightedValue);\n if (options[currentIndex].href) {\n window.open(options[currentIndex].href, '_blank');\n } else {\n setSelectedValue(highlightedValue);\n }\n }\n break;\n default:\n return;\n }\n\n if (nextIndex !== currentIndex && listBoxDivRef?.current) {\n setHighlightedValue(options[nextIndex].value);\n const optionsList = getContentOptions(listBoxDivRef?.current);\n if (optionsList) {\n optionsList[nextIndex]?.scrollIntoView?.({ block: 'center' });\n }\n }\n },\n [highlightedValue, onSelect, listBoxDivRef],\n );\n\n const contextValue = useMemo(\n () => ({\n selectedValue,\n setSelectedValue,\n highlightedValue,\n setHighlightedValue,\n listboxId,\n handleKeyNavigation,\n }),\n [selectedValue, highlightedValue, listboxId, handleKeyNavigation],\n );\n\n return (\n <ListboxContext.Provider value={contextValue}>\n <div className={className}>{children}</div>\n </ListboxContext.Provider>\n );\n};\n","/** @jsxImportSource @emotion/react */\nimport React, { useCallback } from 'react';\n\nimport { useListboxContext } from './ListboxRoot';\nimport type { ListboxInputProps } from './types';\nimport { SearchIcon, useDesignSystemTheme } from '../../design-system';\nimport { Input } from '../../design-system/Input';\n\nexport const ListboxInput = ({\n value,\n onChange,\n placeholder,\n 'aria-controls': ariaControls,\n 'aria-activedescendant': ariaActiveDescendant,\n className,\n options,\n}: ListboxInputProps) => {\n const { handleKeyNavigation } = useListboxContext();\n const designSystemTheme = useDesignSystemTheme();\n\n const handleChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n onChange(event.target.value);\n },\n [onChange],\n );\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n // Only handle navigation keys if there are options\n if (options.length > 0 && ['ArrowDown', 'ArrowUp', 'Home', 'End', 'Enter'].includes(event.key)) {\n handleKeyNavigation(event, options);\n }\n },\n [handleKeyNavigation, options],\n );\n\n return (\n <div\n css={{\n position: 'sticky',\n top: 0,\n background: designSystemTheme.theme.colors.backgroundPrimary,\n zIndex: designSystemTheme.theme.options.zIndexBase + 1,\n }}\n >\n <Input\n componentId=\"listbox-filter-input\"\n role=\"combobox\"\n aria-controls={ariaControls}\n aria-activedescendant={ariaActiveDescendant}\n aria-expanded=\"true\"\n aria-autocomplete=\"list\"\n value={value}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n prefix={<SearchIcon />}\n className={className}\n allowClear\n />\n </div>\n );\n};\n","/** @jsxImportSource @emotion/react */\nimport { css, useTheme } from '@emotion/react';\nimport React, { useCallback, useEffect, useRef } from 'react';\n\nimport { useListboxContext } from './ListboxRoot';\nimport type { ListboxOptionsProps, ListboxOption } from './types';\nimport { getComboboxOptionItemWrapperStyles } from '../../design-system/_shared_/Combobox/styles';\n\nexport const ListboxOptions = ({ options, onSelect, onHighlight, className }: ListboxOptionsProps) => {\n const theme = useTheme();\n const { listboxId, selectedValue, setSelectedValue, highlightedValue, handleKeyNavigation } = useListboxContext();\n const listboxRef = useRef<HTMLDivElement>(null);\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent) => {\n handleKeyNavigation(event, options);\n },\n [handleKeyNavigation, options],\n );\n\n const handleClick = useCallback(\n (event: React.MouseEvent, option: ListboxOption) => {\n onSelect?.(option.value);\n if (option.href) {\n event.preventDefault();\n window.open(option.href, '_blank');\n } else {\n setSelectedValue(option.value);\n }\n },\n [setSelectedValue, onSelect],\n );\n\n useEffect(() => {\n // If no option is highlighted, highlight the first one\n if (!highlightedValue && options.length > 0) {\n onHighlight(options[0].value);\n }\n }, [highlightedValue, onHighlight, options]);\n\n return (\n <div\n ref={listboxRef}\n role=\"listbox\"\n id={listboxId}\n className={className}\n tabIndex={0}\n onKeyDown={handleKeyDown}\n aria-activedescendant={highlightedValue ? `${listboxId}-${highlightedValue}` : undefined}\n css={css({\n outline: 'none',\n '&:focus-visible': {\n boxShadow: `0 0 0 2px ${theme.colors.actionDefaultBorderFocus}`,\n borderRadius: theme.borders.borderRadiusSm,\n },\n })}\n >\n {options.map((option) =>\n (option.renderOption || ((additionalProps: any) => <div {...additionalProps}>{option.label}</div>))({\n key: option.value,\n role: option.href ? 'link' : 'option',\n id: `${listboxId}-${option.value}`,\n 'aria-selected': option.value === selectedValue,\n onClick: (event: React.MouseEvent) => handleClick(event, option),\n onMouseEnter: () => onHighlight(option.value),\n 'data-highlighted': option.value === highlightedValue,\n css: getComboboxOptionItemWrapperStyles(theme),\n href: option.href,\n tabIndex: -1,\n }),\n )}\n </div>\n );\n};\n","/** @jsxImportSource @emotion/react */\nimport { css } from '@emotion/react';\nimport React, { useCallback, useMemo, useState } from 'react';\n\nimport { ListboxInput } from './ListboxInput';\nimport { ListboxOptions } from './ListboxOptions';\nimport { ListboxRoot, useListboxContext } from './ListboxRoot';\nimport type { ListboxProps } from './types';\nimport {\n DesignSystemEventProviderAnalyticsEventTypes,\n DesignSystemEventProviderComponentTypes,\n useDesignSystemEventComponentCallbacks,\n useDesignSystemTheme,\n useNotifyOnFirstView,\n} from '../../design-system';\n\nconst ListboxContent = ({\n options,\n filterValue,\n setFilterValue,\n filterInputPlaceholder,\n onSelect,\n ariaLabel,\n includeFilterInput,\n filterInputEmptyMessage,\n listBoxDivRef,\n}: {\n options: ListboxProps['options'];\n filterValue: string;\n setFilterValue: (value: string) => void;\n filterInputPlaceholder?: string;\n onSelect: (value: string) => void;\n ariaLabel: string;\n includeFilterInput?: boolean;\n filterInputEmptyMessage?: string;\n listBoxDivRef?: React.RefObject<HTMLDivElement>;\n}) => {\n const [highlightedValue, setHighlightedValue] = useState<string>();\n const { listboxId } = useListboxContext();\n const designSystemTheme = useDesignSystemTheme();\n\n const filteredOptions = useMemo(() => {\n if (!filterValue) return options;\n const lowerFilter = filterValue.toLowerCase();\n return options.filter(\n (option) => option.value.toLowerCase().includes(lowerFilter) || option.label.toLowerCase().includes(lowerFilter),\n );\n }, [filterValue, options]);\n\n return (\n <div\n css={css({\n display: 'flex',\n flexDirection: 'column',\n gap: '8px',\n })}\n ref={listBoxDivRef}\n >\n {includeFilterInput && (\n <>\n <ListboxInput\n value={filterValue}\n onChange={setFilterValue}\n placeholder={filterInputPlaceholder}\n aria-controls={listboxId}\n aria-activedescendant={highlightedValue ? `${listboxId}-${highlightedValue}` : undefined}\n options={filteredOptions}\n />\n {filteredOptions.length === 0 && filterInputEmptyMessage && (\n <div\n aria-live=\"polite\"\n role=\"status\"\n css={{\n color: designSystemTheme.theme.colors.textSecondary,\n textAlign: 'center',\n padding: '6px 12px',\n width: '100%',\n boxSizing: 'border-box',\n }}\n >\n {filterInputEmptyMessage}\n </div>\n )}\n </>\n )}\n <ListboxOptions\n options={filteredOptions}\n onSelect={onSelect}\n onHighlight={setHighlightedValue}\n aria-label={ariaLabel}\n />\n </div>\n );\n};\n\nexport const Listbox = ({\n options,\n onSelect,\n includeFilterInput,\n filterInputEmptyMessage,\n initialSelectedValue,\n filterInputPlaceholder,\n 'aria-label': ariaLabel,\n componentId,\n analyticsEvents = [DesignSystemEventProviderAnalyticsEventTypes.OnValueChange],\n valueHasNoPii,\n className,\n}: ListboxProps) => {\n const [filterValue, setFilterValue] = useState('');\n const memoizedAnalyticsEvents = useMemo(() => analyticsEvents, [analyticsEvents]);\n const eventContext = useDesignSystemEventComponentCallbacks({\n componentType: DesignSystemEventProviderComponentTypes.Listbox,\n componentId,\n analyticsEvents: memoizedAnalyticsEvents,\n valueHasNoPii,\n });\n\n const handleSelect = useCallback(\n (value: string) => {\n eventContext.onValueChange(value);\n onSelect?.(value);\n },\n [eventContext, onSelect],\n );\n\n const { elementRef: listBoxDivRef } = useNotifyOnFirstView<HTMLDivElement>({\n onView: eventContext.onView,\n value: initialSelectedValue,\n });\n\n return (\n <ListboxRoot\n className={className}\n onSelect={handleSelect}\n initialSelectedValue={initialSelectedValue}\n listBoxDivRef={listBoxDivRef}\n >\n <ListboxContent\n options={options}\n filterValue={filterValue}\n setFilterValue={setFilterValue}\n filterInputPlaceholder={filterInputPlaceholder}\n onSelect={handleSelect}\n ariaLabel={ariaLabel}\n includeFilterInput={includeFilterInput}\n filterInputEmptyMessage={filterInputEmptyMessage}\n listBoxDivRef={listBoxDivRef}\n />\n </ListboxRoot>\n );\n};\n\nexport type { ListboxProps } from './types';\n","import type { Interpolation } from '@emotion/react';\nimport { useMergeRefs } from '@floating-ui/react';\nimport type { RadioGroupProps, RadioGroupItemProps } from '@radix-ui/react-radio-group';\nimport { RadioGroup, RadioGroupItem } from '@radix-ui/react-radio-group';\nimport React, { useCallback, useMemo } from 'react';\n\nimport {\n DesignSystemEventProviderAnalyticsEventTypes,\n DesignSystemEventProviderComponentTypes,\n useDesignSystemEventComponentCallbacks,\n useDesignSystemSafexFlags,\n useNotifyOnFirstView,\n useDesignSystemTheme,\n} from '../../design-system';\nimport type { AnalyticsEventValueChangeNoPiiFlagProps } from '../../design-system/types';\nimport type { Theme } from '../../theme';\ntype RadioGroupSize = 'small' | 'medium' | 'large';\nconst RadioGroupContext = React.createContext<RadioGroupSize>('medium');\ninterface RootProps\n extends Pick<\n RadioGroupProps,\n 'defaultValue' | 'value' | 'onValueChange' | 'disabled' | 'name' | 'required' | 'children'\n >,\n AnalyticsEventValueChangeNoPiiFlagProps<\n DesignSystemEventProviderAnalyticsEventTypes.OnValueChange | DesignSystemEventProviderAnalyticsEventTypes.OnView\n > {\n size?: RadioGroupSize;\n}\nexport const Root = React.forwardRef<HTMLDivElement, RootProps>(\n (\n {\n size,\n componentId,\n analyticsEvents = [DesignSystemEventProviderAnalyticsEventTypes.OnValueChange],\n valueHasNoPii,\n onValueChange,\n ...props\n },\n forwardedRef,\n ) => {\n const { theme } = useDesignSystemTheme();\n const contextValue = React.useMemo(() => size ?? 'medium', [size]);\n const memoizedAnalyticsEvents = useMemo(() => analyticsEvents, [analyticsEvents]);\n const eventContext = useDesignSystemEventComponentCallbacks({\n componentType: DesignSystemEventProviderComponentTypes.PillControl,\n componentId,\n analyticsEvents: memoizedAnalyticsEvents,\n valueHasNoPii,\n });\n const { elementRef: pillControlRef } = useNotifyOnFirstView<HTMLDivElement>({\n onView: eventContext.onView,\n value: props.value ?? props.defaultValue,\n });\n\n const onValueChangeWrapper = useCallback(\n (value: string) => {\n eventContext.onValueChange?.(value);\n onValueChange?.(value);\n },\n [eventContext, onValueChange],\n );\n const mergedRef = useMergeRefs([forwardedRef, pillControlRef]);\n return (\n <RadioGroupContext.Provider value={contextValue}>\n <RadioGroup\n css={{\n display: 'flex',\n flexWrap: 'wrap',\n gap: theme.spacing.sm,\n }}\n onValueChange={onValueChangeWrapper}\n {...props}\n ref={mergedRef}\n {...eventContext.dataComponentProps}\n />\n </RadioGroupContext.Provider>\n );\n },\n);\ninterface ItemProps extends Pick<RadioGroupItemProps, 'children' | 'value' | 'disabled' | 'required'> {\n icon?: React.ReactNode;\n className?: string;\n}\nexport const Item = React.forwardRef<HTMLButtonElement, ItemProps>(({ children, icon, ...props }, forwardedRef) => {\n const size = React.useContext(RadioGroupContext);\n const { theme } = useDesignSystemTheme();\n const iconClass = 'pill-control-icon';\n const css = useRadioGroupItemStyles(size, iconClass);\n return (\n <RadioGroupItem css={css} {...props}>\n {icon && (\n <span\n className={iconClass}\n css={{\n marginRight: size === 'large' ? theme.spacing.sm : theme.spacing.xs,\n [`& > .anticon`]: { verticalAlign: `-3px` },\n }}\n >\n {icon}\n </span>\n )}\n {children}\n </RadioGroupItem>\n );\n});\nconst useRadioGroupItemStyles = (size: RadioGroupSize, iconClass: string): Interpolation<Theme> => {\n const { theme } = useDesignSystemTheme();\n const { useNewShadows, useNewBorderColors } = useDesignSystemSafexFlags();\n\n return {\n textOverflow: 'ellipsis',\n ...(useNewShadows\n ? {\n boxShadow: theme.shadows.xs,\n }\n : {}),\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n appearance: 'none',\n textDecoration: 'none',\n background: 'none',\n border: '1px solid',\n cursor: 'pointer',\n backgroundColor: theme.colors.actionDefaultBackgroundDefault,\n borderColor: useNewBorderColors ? theme.colors.actionDefaultBorderDefault : theme.colors.border,\n color: theme.colors.textPrimary,\n lineHeight: theme.typography.lineHeightBase,\n height: 32,\n paddingInline: '12px',\n fontWeight: theme.typography.typographyRegularFontWeight,\n fontSize: theme.typography.fontSizeBase,\n borderRadius: theme.borders.borderRadiusFull,\n transition: 'background-color 0.2s ease-in-out, border-color 0.2s ease-in-out',\n [`& > .${iconClass}`]: {\n color: theme.colors.textSecondary,\n ...(size === 'large'\n ? {\n backgroundColor: theme.colors.tagDefault,\n padding: theme.spacing.sm,\n borderRadius: theme.borders.borderRadiusFull,\n }\n : {}),\n },\n '&[data-state=\"checked\"]': {\n backgroundColor: theme.colors.actionDefaultBackgroundPress,\n borderColor: 'transparent',\n color: theme.colors.textPrimary,\n // outline\n outlineStyle: 'solid',\n outlineWidth: '2px',\n outlineOffset: '0px',\n outlineColor: theme.colors.actionDefaultBorderFocus,\n '&:hover': {\n backgroundColor: theme.colors.actionDefaultBackgroundPress,\n borderColor: theme.colors.actionLinkPress,\n color: 'inherit',\n },\n [`& > .${iconClass}, &:hover > .${iconClass}`]: {\n color: theme.colors.actionDefaultTextPress,\n ...(size === 'large'\n ? {\n backgroundColor: theme.colors.actionIconBackgroundPress,\n }\n : {}),\n },\n },\n '&:focus-visible': {\n outlineStyle: 'solid',\n outlineWidth: '2px',\n outlineOffset: '0px',\n outlineColor: theme.colors.actionDefaultBorderFocus,\n },\n '&:hover': {\n backgroundColor: theme.colors.actionDefaultBackgroundHover,\n borderColor: theme.colors.actionLinkHover,\n color: theme.colors.actionDefaultTextHover,\n [`& > .${iconClass}`]: {\n color: 'inherit',\n ...(size === 'large'\n ? {\n backgroundColor: theme.colors.actionIconBackgroundHover,\n }\n : {}),\n },\n },\n '&:active': {\n backgroundColor: theme.colors.actionDefaultBackgroundPress,\n borderColor: theme.colors.actionLinkPress,\n color: theme.colors.actionDefaultTextPress,\n [`& > .${iconClass}`]: {\n color: 'inherit',\n ...(size === 'large'\n ? {\n backgroundColor: theme.colors.actionIconBackgroundPress,\n }\n : {}),\n },\n },\n '&:disabled': {\n backgroundColor: theme.colors.actionDisabledBackground,\n borderColor: theme.colors.actionDisabledBorder,\n color: theme.colors.actionDisabledText,\n cursor: 'not-allowed',\n [`& > .${iconClass}`]: {\n color: 'inherit',\n },\n },\n ...(size === 'small'\n ? {\n height: 24,\n lineHeight: theme.typography.lineHeightSm,\n paddingInline: theme.spacing.sm,\n }\n : {}),\n ...(size === 'large'\n ? {\n height: 44,\n lineHeight: theme.typography.lineHeightXl,\n paddingInline: theme.spacing.md,\n paddingInlineStart: '6px',\n borderRadius: theme.borders.borderRadiusFull,\n }\n : {}),\n };\n};\n","import { createContext } from 'react';\n\nexport interface ProgressContextType {\n progress?: number | null;\n}\n\nconst progressContextDefaults: ProgressContextType = {\n progress: 0,\n};\n\nexport const ProgressContext = createContext<ProgressContextType>(progressContextDefaults);\n\nexport const ProgressContextProvider = ({ children, value }: { children: JSX.Element; value: ProgressContextType }) => {\n return <ProgressContext.Provider value={value}>{children}</ProgressContext.Provider>;\n};\n","import type { CSSObject, SerializedStyles } from '@emotion/react';\nimport { css } from '@emotion/react';\nimport * as Progress from '@radix-ui/react-progress';\nimport React from 'react';\n\nimport { ProgressContext, ProgressContextProvider } from './providers/ProgressContex';\nimport { importantify, useDesignSystemTheme } from '../../design-system';\nimport type { Theme } from '../../theme';\n\nexport interface ProgressRootProps extends Progress.ProgressProps {\n minWidth?: number;\n maxWidth?: number;\n}\n\nconst getProgressRootStyles = (\n theme: Theme,\n { minWidth, maxWidth }: { minWidth?: number; maxWidth?: number },\n): SerializedStyles => {\n const styles: CSSObject = {\n position: 'relative',\n overflow: 'hidden',\n backgroundColor: theme.colors.progressTrack,\n height: theme.spacing.sm,\n width: '100%',\n borderRadius: theme.borders.borderRadiusFull,\n\n ...(minWidth && { minWidth }),\n ...(maxWidth && { maxWidth }),\n\n /* Fix overflow clipping in Safari */\n /* https://gist.github.com/domske/b66047671c780a238b51c51ffde8d3a0 */\n transform: 'translateZ(0)',\n };\n\n return css(importantify(styles));\n};\n\nexport const Root = (props: ProgressRootProps) => {\n const { children, value, minWidth, maxWidth, ...restProps } = props;\n const { theme } = useDesignSystemTheme();\n return (\n <ProgressContextProvider value={{ progress: value }}>\n <Progress.Root value={value} {...restProps} css={getProgressRootStyles(theme, { minWidth, maxWidth })}>\n {children}\n </Progress.Root>\n </ProgressContextProvider>\n );\n};\n\nexport interface ProgressIndicatorProps extends Progress.ProgressIndicatorProps {}\n\nconst getProgressIndicatorStyles = (theme: Theme): SerializedStyles => {\n const styles = {\n backgroundColor: theme.colors.progressFill,\n height: '100%',\n width: '100%',\n transition: 'transform 300ms linear',\n borderRadius: theme.borders.borderRadiusFull,\n };\n\n return css(importantify(styles));\n};\n\nexport const Indicator = (props: ProgressIndicatorProps) => {\n const { progress } = React.useContext(ProgressContext);\n const { theme } = useDesignSystemTheme();\n return (\n <Progress.Indicator\n css={getProgressIndicatorStyles(theme)}\n style={{ transform: `translateX(-${100 - (progress ?? 100)}%)` }}\n {...props}\n />\n );\n};\n","import { css } from '@emotion/react';\nimport * as RadixToolbar from '@radix-ui/react-toolbar';\nimport { forwardRef } from 'react';\n\nimport { useDesignSystemSafexFlags, useDesignSystemTheme } from '../../design-system';\nimport { addDebugOutlineIfEnabled } from '../../design-system/utils/debug';\nimport type { Theme } from '../../theme';\n\nexport type ToolbarRootProps = Omit<RadixToolbar.ToolbarProps, 'orientation'>;\nexport type ToolbarButtonProps = RadixToolbar.ToolbarButtonProps;\nexport type ToolbarSeparatorProps = RadixToolbar.ToolbarSeparatorProps;\nexport type ToolbarLinkProps = RadixToolbar.ToolbarLinkProps;\nexport type ToolbarToogleGroupProps =\n | RadixToolbar.ToolbarToggleGroupSingleProps\n | RadixToolbar.ToolbarToggleGroupMultipleProps;\nexport type ToolbarToggleItemProps = RadixToolbar.ToolbarToggleItemProps;\n\nconst getRootStyles = (theme: Theme, useNewShadows: boolean, useNewBorderColors: boolean) => {\n return css({\n alignItems: 'center',\n backgroundColor: theme.colors.backgroundSecondary,\n border: `1px solid ${useNewBorderColors ? theme.colors.border : theme.colors.borderDecorative}`,\n borderRadius: theme.borders.borderRadiusSm,\n boxShadow: useNewShadows ? theme.shadows.lg : theme.general.shadowLow,\n display: 'flex',\n gap: theme.spacing.md,\n width: 'max-content',\n padding: theme.spacing.sm,\n });\n};\n\nexport const Root = forwardRef<HTMLDivElement, ToolbarRootProps>((props: ToolbarRootProps, ref): JSX.Element => {\n const { theme } = useDesignSystemTheme();\n const { useNewShadows, useNewBorderColors } = useDesignSystemSafexFlags();\n return (\n <RadixToolbar.Root\n {...addDebugOutlineIfEnabled()}\n css={getRootStyles(theme, useNewShadows, useNewBorderColors)}\n {...props}\n ref={ref}\n />\n );\n});\n\nexport const Button = forwardRef<HTMLButtonElement, ToolbarButtonProps>(\n (props: ToolbarButtonProps, ref): JSX.Element => {\n return <RadixToolbar.Button {...props} ref={ref} />;\n },\n);\n\nconst getSeparatorStyles = (theme: Theme) => {\n return css({\n alignSelf: 'stretch',\n backgroundColor: theme.colors.borderDecorative,\n width: 1,\n });\n};\n\nexport const Separator = forwardRef<HTMLDivElement, ToolbarSeparatorProps>(\n (props: ToolbarSeparatorProps, ref): JSX.Element => {\n const { theme } = useDesignSystemTheme();\n return <RadixToolbar.Separator css={getSeparatorStyles(theme)} {...props} ref={ref} />;\n },\n);\n\nexport const Link = forwardRef<HTMLAnchorElement, ToolbarLinkProps>((props: ToolbarLinkProps, ref): JSX.Element => {\n return <RadixToolbar.Link {...props} ref={ref} />;\n});\n\nexport const ToggleGroup = forwardRef<\n HTMLDivElement,\n RadixToolbar.ToolbarToggleGroupSingleProps | RadixToolbar.ToolbarToggleGroupMultipleProps\n>((props: ToolbarToogleGroupProps, ref): JSX.Element => {\n return <RadixToolbar.ToggleGroup {...props} ref={ref} />;\n});\n\nconst getToggleItemStyles = (theme: Theme) => {\n return css({\n background: 'none',\n color: theme.colors.textPrimary,\n border: 'none',\n cursor: 'pointer',\n '&:hover': {\n color: theme.colors.actionDefaultTextHover,\n },\n '&[data-state=\"on\"]': {\n color: theme.colors.actionDefaultTextPress,\n },\n });\n};\n\nexport const ToggleItem = forwardRef<HTMLButtonElement, ToolbarToggleItemProps>(\n (props: ToolbarToggleItemProps, ref): JSX.Element => {\n const { theme } = useDesignSystemTheme();\n return <RadixToolbar.ToggleItem css={getToggleItemStyles(theme)} {...props} ref={ref} />;\n },\n);\n","import { useCallback, useReducer } from 'react';\n\nimport type { TreeGridInitialState, TreeGridRowId, TreeGridState } from './types';\n\ntype TreeGridAction =\n | { type: 'TOGGLE_ROW_EXPANDED'; rowId: string | number }\n | { type: 'SET_ACTIVE_ROW_ID'; rowId: TreeGridRowId | null };\n\ntype InternalTreeGridState = Pick<TreeGridState, 'expandedRows' | 'activeRowId'>;\n\nfunction treeGridReducer(state: InternalTreeGridState, action: TreeGridAction): InternalTreeGridState {\n switch (action.type) {\n case 'TOGGLE_ROW_EXPANDED':\n return {\n ...state,\n expandedRows: { ...state.expandedRows, [action.rowId]: !state.expandedRows[action.rowId] },\n };\n case 'SET_ACTIVE_ROW_ID':\n return { ...state, activeRowId: action.rowId };\n default:\n return state;\n }\n}\n\nexport interface UseDefaultTreeGridStateOptions {\n initialState?: TreeGridInitialState;\n}\n\nexport function useDefaultTreeGridState({\n initialState = { expandedRows: {} },\n}: UseDefaultTreeGridStateOptions): TreeGridState {\n const [state, dispatch] = useReducer(treeGridReducer, { ...initialState, activeRowId: null });\n\n const toggleRowExpanded = useCallback((rowId: string | number) => {\n dispatch({ type: 'TOGGLE_ROW_EXPANDED', rowId });\n }, []);\n\n const setActiveRowId = useCallback((rowId: TreeGridRowId | null) => {\n dispatch({ type: 'SET_ACTIVE_ROW_ID', rowId });\n }, []);\n\n return {\n ...state,\n toggleRowExpanded,\n setActiveRowId,\n };\n}\n","import React, { useCallback, useRef, useMemo } from 'react';\n\nimport type {\n TreeGridRow,\n TreeGridRowId,\n TreeGridState,\n TreeGridColumn,\n TreeGridRenderCellArgs,\n TreeGridRenderRowArgs,\n TreeGridRenderTableArgs,\n TreeGridRenderHeaderArgs,\n TreeGridInitialState,\n} from './types';\nimport { useDefaultTreeGridState } from './useDefaultTreeGridState';\n\nexport { useDefaultTreeGridState };\n\ninterface TreeGridRowWithInternalMetadata extends TreeGridRow {\n /** The depth of the row */\n depth: number;\n /** The parent row's id */\n parentId: TreeGridRowId | null;\n}\n\nexport interface TreeGridProps {\n /** The data to be displayed in the grid */\n data: TreeGridRow[];\n /** The columns to be displayed in the grid */\n columns: TreeGridColumn[];\n /** Function to render the cell content */\n renderCell: (args: TreeGridRenderCellArgs) => React.ReactElement;\n /** Optional function to render the row */\n renderRow?: (args: TreeGridRenderRowArgs) => React.ReactElement | null;\n /** Optional function to render the entire table */\n renderTable?: (args: TreeGridRenderTableArgs) => React.ReactElement;\n /** Optional function to render the header */\n renderHeader?: (args: TreeGridRenderHeaderArgs) => React.ReactElement;\n /** Callback function when a row is selected via the keyboard */\n onRowKeyboardSelect?: (rowId: string | number) => void;\n /** Callback function when a cell is selected via the keyboard */\n onCellKeyboardSelect?: (rowId: string | number, columnKey: string) => void;\n /** Whether to include a header in the grid */\n includeHeader?: boolean;\n /**\n * Configures state management for the TreeGrid.\n *\n * When no `state` is provided or when `initialState` is set, the state will be managed within\n * the TreeGrid. Otherwise, the given custom state implementation is used.\n */\n state?: { initialState: TreeGridInitialState } | TreeGridState;\n}\n\nconst flattenData = (\n data: TreeGridRow[],\n expandedRows: Record<string | number, boolean>,\n depth = 0,\n parentId: string | number | null = null,\n): TreeGridRowWithInternalMetadata[] => {\n return data.reduce((acc: TreeGridRowWithInternalMetadata[], node) => {\n acc.push({ ...node, depth, parentId });\n if (node.children && expandedRows[node.id]) {\n acc.push(...flattenData(node.children, expandedRows, depth + 1, node.id));\n }\n return acc;\n }, []);\n};\n\nconst findFocusableElementForCellIndex = (row: HTMLTableRowElement, cellIndex: number): HTMLElement | null => {\n const cell = row.cells[cellIndex] as HTMLTableCellElement;\n return cell?.querySelector<HTMLElement>('[tabindex], button, a, input, select, textarea') || null;\n};\n\nconst findNextFocusableCellIndexInRow = (\n row: HTMLTableRowElement,\n columns: TreeGridColumn[],\n startIndex: number,\n direction: 'next' | 'previous',\n) => {\n const cells = Array.from(row.cells);\n const increment = direction === 'next' ? 1 : -1;\n const limit = direction === 'next' ? cells.length : -1;\n\n for (let i = startIndex + increment; i !== limit; i += increment) {\n const cell = cells[i];\n const column = columns[i];\n const focusableElement = findFocusableElementForCellIndex(row, i);\n const cellContent = cell?.textContent?.trim();\n\n if (focusableElement || (!column.contentFocusable && cellContent)) {\n return i;\n }\n }\n return -1;\n};\n\nexport const TreeGrid: React.FC<React.PropsWithChildren<TreeGridProps>> = ({\n data,\n columns,\n renderCell,\n renderRow,\n renderTable,\n renderHeader,\n onRowKeyboardSelect,\n onCellKeyboardSelect,\n includeHeader = false,\n state: providedState,\n}) => {\n const defaultState = useDefaultTreeGridState({\n initialState: providedState && 'initialState' in providedState ? providedState.initialState : undefined,\n });\n const { expandedRows, activeRowId, toggleRowExpanded, setActiveRowId } =\n providedState && !('initialState' in providedState) ? providedState : defaultState;\n\n const gridRef = useRef<HTMLTableElement>(null);\n\n const flattenedData = useMemo(() => flattenData(data, expandedRows), [data, expandedRows]);\n\n const focusRow = useCallback(\n ({ rowId, rowIndex }: { rowId: TreeGridRowId; rowIndex: number }) => {\n const row = gridRef.current?.querySelector(`tbody tr:nth-child(${rowIndex + 1})`) as HTMLTableRowElement;\n row?.focus();\n setActiveRowId(rowId);\n },\n [setActiveRowId],\n );\n\n const focusElement = useCallback(\n (element: HTMLElement | null, rowIndex: number) => {\n if (element) {\n element.focus();\n setActiveRowId(flattenedData[rowIndex].id);\n }\n },\n [setActiveRowId, flattenedData],\n );\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLTableRowElement>, rowIndex: number) => {\n const { key } = event;\n let newRowIndex = rowIndex;\n const closestTd = (event.target as HTMLElement).closest('td') as HTMLTableCellElement;\n\n if (!gridRef.current || !gridRef.current.contains(document.activeElement)) {\n return;\n }\n\n const handleArrowVerticalNavigation = (direction: 'next' | 'previous') => {\n if (closestTd) {\n const currentCellIndex = closestTd.cellIndex;\n let targetRow = closestTd.closest('tr')?.[`${direction}ElementSibling`] as HTMLTableRowElement;\n\n const moveFocusToRow = (row: HTMLTableRowElement) => {\n const focusableElement = findFocusableElementForCellIndex(row, currentCellIndex);\n const cellContent = row.cells[currentCellIndex]?.textContent?.trim();\n if (focusableElement || (!columns[currentCellIndex].contentFocusable && cellContent)) {\n event.preventDefault();\n focusElement(\n focusableElement || row.cells[currentCellIndex],\n flattenedData.findIndex((r) => r.id === row.dataset['id']),\n );\n return true;\n }\n return false;\n };\n\n while (targetRow) {\n if (moveFocusToRow(targetRow)) return;\n targetRow = targetRow[`${direction}ElementSibling`] as HTMLTableRowElement;\n }\n } else if (document.activeElement instanceof HTMLTableRowElement) {\n if (direction === 'next') {\n newRowIndex = Math.min(rowIndex + 1, flattenedData.length - 1);\n } else {\n newRowIndex = Math.max(rowIndex - 1, 0);\n }\n }\n };\n\n const handleArrowHorizontalNavigation = (direction: 'next' | 'previous') => {\n if (closestTd) {\n const currentRow = closestTd.closest('tr') as HTMLTableRowElement;\n let targetCellIndex = closestTd.cellIndex;\n\n targetCellIndex = findNextFocusableCellIndexInRow(currentRow, columns, targetCellIndex, direction);\n\n if (targetCellIndex !== -1) {\n event.preventDefault();\n const targetCell = currentRow.cells[targetCellIndex];\n const focusableElement = findFocusableElementForCellIndex(currentRow, targetCellIndex);\n focusElement(focusableElement || targetCell, rowIndex);\n return;\n } else if (direction === 'previous' && targetCellIndex === -1) {\n // If we're at the leftmost cell, focus on the row\n event.preventDefault();\n currentRow.focus();\n return;\n }\n }\n\n if (document.activeElement instanceof HTMLTableRowElement) {\n const currentRow = document.activeElement as HTMLTableRowElement;\n if (direction === 'next') {\n if (flattenedData[rowIndex].children) {\n if (!expandedRows[flattenedData[rowIndex].id]) {\n toggleRowExpanded(flattenedData[rowIndex].id);\n } else {\n const firstCell = currentRow.cells[0];\n focusElement(firstCell, rowIndex);\n }\n } else {\n const firstFocusableCell = findNextFocusableCellIndexInRow(currentRow, columns, -1, 'next');\n if (firstFocusableCell !== -1) {\n focusElement(currentRow.cells[firstFocusableCell], rowIndex);\n }\n }\n } else {\n if (expandedRows[flattenedData[rowIndex].id]) {\n toggleRowExpanded(flattenedData[rowIndex].id);\n } else if (flattenedData[rowIndex].depth && flattenedData[rowIndex].depth > 0) {\n newRowIndex = flattenedData.findIndex((row) => row.id === flattenedData[rowIndex].parentId);\n }\n }\n return;\n }\n\n // If we're at the edge of the row, handle expanding/collapsing or moving to parent/child\n if (direction === 'next') {\n if (flattenedData[rowIndex].children && !expandedRows[flattenedData[rowIndex].id]) {\n toggleRowExpanded(flattenedData[rowIndex].id);\n }\n } else {\n if (expandedRows[flattenedData[rowIndex].id]) {\n toggleRowExpanded(flattenedData[rowIndex].id);\n } else if (flattenedData[rowIndex].depth && flattenedData[rowIndex].depth > 0) {\n newRowIndex = flattenedData.findIndex((row) => row.id === flattenedData[rowIndex].parentId);\n }\n }\n };\n\n const handleEnterKey = () => {\n if (closestTd) {\n onCellKeyboardSelect?.(flattenedData[rowIndex].id, columns[closestTd.cellIndex].id);\n } else if (document.activeElement instanceof HTMLTableRowElement) {\n onRowKeyboardSelect?.(flattenedData[rowIndex].id);\n }\n };\n\n switch (key) {\n case 'ArrowUp':\n handleArrowVerticalNavigation('previous');\n break;\n case 'ArrowDown':\n handleArrowVerticalNavigation('next');\n break;\n case 'ArrowLeft':\n handleArrowHorizontalNavigation('previous');\n break;\n case 'ArrowRight':\n handleArrowHorizontalNavigation('next');\n break;\n case 'Enter':\n handleEnterKey();\n break;\n default:\n return;\n }\n\n if (newRowIndex !== rowIndex) {\n event.preventDefault();\n focusRow({ rowId: flattenedData[newRowIndex].id, rowIndex: newRowIndex });\n }\n },\n [\n expandedRows,\n columns,\n flattenedData,\n toggleRowExpanded,\n onRowKeyboardSelect,\n onCellKeyboardSelect,\n focusRow,\n focusElement,\n ],\n );\n\n const defaultRenderRow = useCallback(\n ({ rowProps, children }: TreeGridRenderRowArgs) => <tr {...rowProps}>{children}</tr>,\n [],\n );\n\n const defaultRenderTable = useCallback(\n ({ tableProps, children }: TreeGridRenderTableArgs) => <table {...tableProps}>{children}</table>,\n [],\n );\n\n const defaultRenderHeader = useCallback(\n ({ columns, headerProps }: TreeGridRenderHeaderArgs) => (\n <thead {...headerProps}>\n <tr>\n {columns.map((column) => (\n <th key={column.id} role=\"columnheader\">\n {column.header}\n </th>\n ))}\n </tr>\n </thead>\n ),\n [],\n );\n\n const renderRowWrapper = useCallback(\n (row: TreeGridRowWithInternalMetadata, rowIndex: number) => {\n const isExpanded = expandedRows[row.id];\n const isKeyboardActive = row.id === (activeRowId ?? flattenedData[0].id);\n\n const rowProps: React.HTMLAttributes<HTMLTableRowElement> & { key: React.Key; [key: `data-${string}`]: any } = {\n key: row.id,\n 'data-id': row.id,\n role: 'row',\n 'aria-selected': false,\n 'aria-level': (row.depth || 0) + 1,\n 'aria-expanded': row.children ? (isExpanded ? 'true' : 'false') : undefined,\n tabIndex: isKeyboardActive ? 0 : -1,\n onKeyDown: (e) => handleKeyDown(e, rowIndex),\n };\n\n const children = columns.map((column, colIndex) => {\n const cellProps: React.TdHTMLAttributes<HTMLTableCellElement> & { key: string } = {\n key: `${row.id}-${column.id}`,\n role: column.isRowHeader ? 'rowheader' : 'gridcell',\n tabIndex: column.contentFocusable ? undefined : isKeyboardActive ? 0 : -1,\n };\n\n return renderCell({\n row,\n column,\n rowDepth: row.depth || 0,\n rowIndex,\n colIndex,\n rowIsKeyboardActive: isKeyboardActive,\n rowIsExpanded: isExpanded,\n toggleRowExpanded,\n cellProps,\n });\n });\n\n return (renderRow || defaultRenderRow)({\n row,\n rowIndex,\n isExpanded,\n isKeyboardActive,\n rowProps,\n children,\n });\n },\n [\n activeRowId,\n flattenedData,\n expandedRows,\n handleKeyDown,\n renderCell,\n renderRow,\n defaultRenderRow,\n toggleRowExpanded,\n columns,\n ],\n );\n\n return (renderTable || defaultRenderTable)({\n tableProps: { role: 'treegrid', ref: gridRef },\n children: (\n <>\n {includeHeader && (renderHeader || defaultRenderHeader)({ columns, headerProps: {} })}\n <tbody>{flattenedData.map((row, index) => renderRowWrapper(row, index))}</tbody>\n </>\n ),\n });\n};\n"],"names":["Text","Paragraph","Typography","BANNER_MIN_HEIGHT","BANNER_MAX_HEIGHT","useStyles","props","theme","bannerLevelToBannerColors","info_light_purple","backgroundDefaultColor","isDarkMode","actionButtonBackgroundHoverColor","colors","actionDefaultBackgroundHover","actionButtonBackgroundPressColor","actionDefaultBackgroundPress","textColor","actionDefaultTextDefault","textHoverColor","textPressColor","borderDefaultColor","actionBorderColor","closeIconColor","iconColor","purple","actionButtonBorderHoverColor","actionDefaultBorderHover","actionButtonBorderPressColor","actionDefaultBorderPress","closeIconBackgroundHoverColor","actionTertiaryBackgroundHover","closeIconTextHoverColor","actionTertiaryTextHover","closeIconBackgroundPressColor","closeIconTextPressColor","actionTertiaryTextPress","info_dark_purple","actionPrimaryTextDefault","actionPrimaryTextHover","actionPrimaryTextPress","info","warning","tagLemon","primitiveColors","grey800","error","actionDangerPrimaryBackgroundDefault","actionDangerPrimaryBackgroundHover","actionDangerPrimaryBackgroundPress","colorScheme","level","banner","css","iconContainer","description","spacing","xs","mainContent","sm","lg","messageTextBlock","descriptionBlock","rightContainer","closeIconContainer","closeButton","closeIcon","actionButtonContainer","actionButton","levelToIconMap","_jsx","MegaphoneIcon","data-testid","WarningIcon","DangerIcon","Banner","message","ctaText","onAccept","closable","onClose","closeButtonAriaLabel","componentId","analyticsEvents","DesignSystemEventProviderAnalyticsEventTypes","OnView","closed","setClosed","React","useState","useDesignSystemTheme","styles","memoizedAnalyticsEvents","useMemo","eventContext","useDesignSystemEventComponentCallbacks","componentType","DesignSystemEventProviderComponentTypes","componentSubType","DesignSystemEventProviderComponentSubTypeMap","elementRef","useNotifyOnFirstView","onView","div","Button","onClick","size","close","aria-label","CloseIcon","_Fragment","_jsxs","ref","addDebugOutlineIfEnabled","className","role","bold","title","withoutMargins","DatePickerInput","forwardRef","emitOnView","safex","classNamePrefix","useNewShadows","useNewFormUISpacing","useDesignSystemSafexFlags","showTimeZone","validationState","prefix","suffix","allowClear","onChange","onFocus","onKeyDown","onClear","restProps","OnValueChange","Input","valueHasNoPii","callbackOnceUntilReset","sendAnalyticsEventOncePerFocus","reset","resetSendAnalyticsEventOnFocus","useCallbackOnceUntilReset","onValueChange","handleChange","useCallback","e","target","value","handleClear","handleFocus","classNames","disabled","getInputStyles","type","hasValue","Boolean","useFocusWithin","display","color","textPrimary","height","typography","lineHeightBase","flexDirection","gap","alignItems","span","input","placeholder","key","button","background","border","justifyContent","marginLeft","padding","stopPropagation","preventDefault","XCircleFillIcon","getDayPickerStyles","general","heightSm","fontSizeBase","actionPrimaryBackgroundDefault","actionTertiaryBackgroundPress","textSecondary","borderRadiusBase","white","generateDatePickerClassNames","root","multiple_months","with_weeknumber","vhidden","button_reset","caption","caption_start","caption_end","caption_between","caption_label","caption_dropdowns","dropdown","dropdown_month","dropdown_year","dropdown_icon","months","month","table","tbody","tfoot","head","head_row","head_cell","nav","nav_button","nav_button_previous","nav_button_next","nav_icon","row","weeknumber","cell","day","day_today","day_outside","day_selected","day_disabled","day_hidden","day_range_start","day_range_end","day_range_middle","DEFAULT_MIN_DATE","DEFAULT_MAX_DATE","correctDateTimezoneOffset","date","dateWithCorrectedTimezone","Date","getTimezoneOffset","setMinutes","getMinutes","formatDateLimitForInput","includeTime","includeSeconds","defaultDate","limitDate","undefined","isValid","formatDateFns","handleInputKeyDown","event","setIsVisible","backspaceFn","Day","buttonRef","useRef","dayRender","useDayRender","displayMonth","isHidden","isButton","divProps","ariaLabel","toLocaleDateString","weekday","year","DayPickerButton","name","buttonProps","getDatePickerQuickActionBasic","today","yesterday","sevenDaysAgo","label","startOfToday","startOfYesterday","sub","days","DatePicker","useNewDatePickerInput","id","defaultTime","onOpenChange","open","datePickerProps","timeInputProps","mode","selected","width","maxWidth","minWidth","dateTimeDisabledFn","quickActions","wrapperProps","onOkPress","okButtonLabel","customTimeZoneLabel","min","max","format","setDate","timezone","setTimezone","isVisible","preventBlurUpdate","setPreventBlurUpdate","inputRef","visibleRef","fromClearRef","setDateInputValue","formattedDate","current","setDateAndDateInputValue","useEffect","focus","now","Intl","DateTimeFormat","timeZoneName","formatToParts","find","part","isCalendarUpdate","updateLocation","handleDatePickerUpdate","prevDate","timeSplit","split","setHours","setSeconds","length","getHours","getSeconds","handleInputUpdate","dateString","processInputDate","handleBlur","newValue","onBlur","minimumAllowedDate","minimumAllowedDateString","maximumAllowedDate","maximumAllowedDateString","updatedDateString","shouldEmitOnChange","updatedDate","parseISO","validInputDate","isBefore","isAfter","handleTimeUpdate","newTime","nativeEvent","time","clearIcon","closest","querySelector","clientEventListener","addEventListener","datePickerStyles","chevronLeftIconComp","ChevronLeftIcon","chevronRightIconComp","ChevronRightIcon","pointerEvents","Popover","asChild","step","align","DayPicker","initialFocus","onDayClick","showOutsideDays","formatters","formatWeekdayName","locale","components","IconLeft","IconRight","defaultMonth","style","marginBottom","md","flexWrap","map","action","i","Array","isArray","position","right","iconSize","zIndex","options","zIndexBase","top","ClockIcon","paddingTop","getRangeQuickActionsBasic","lastWeek","todayStart","weekStart","startOfWeek","endOfToday","endOfYesterday","RangePicker","startDatePickerProps","endDatePickerProps","noRangeValidation","range","setRange","from","to","isFromVisible","setIsFromVisible","isToVisible","setIsToVisible","isRangeInputFocused","setIsRangeInputFocused","fromInputRef","toInputRef","useImperativeHandle","fromInputRefVisible","toInputRefVisible","checkIfDateTimeIsDisabled","isStart","dateToCompareTo","prevValue","quickActionsWithHandler","handleUpdateDate","newRange","disabledDates","startDisabledFromProps","endDisabledFromProps","startDisabled","after","filter","endDisabled","before","startDateMaxInputDate","endDateMinInputDate","openEndDatePicker","closeEndDatePicker","handleTimePickerKeyPress","data-focused","borderTopRightRadius","borderBottomRightRadius","borderTopLeftRadius","borderBottomLeftRadius","left","ListboxContext","createContext","useListboxContext","context","useContext","Error","ListboxRoot","children","onSelect","initialSelectedValue","listBoxDivRef","selectedValue","setSelectedValue","highlightedValue","setHighlightedValue","listboxId","Math","random","toString","slice","getContentOptions","element","querySelectorAll","handleKeyNavigation","currentIndex","findIndex","option","nextIndex","href","window","optionsList","scrollIntoView","block","contextValue","Provider","ListboxInput","ariaControls","ariaActiveDescendant","designSystemTheme","handleKeyDown","includes","backgroundPrimary","aria-controls","aria-activedescendant","aria-expanded","aria-autocomplete","SearchIcon","ListboxOptions","onHighlight","useTheme","listboxRef","handleClick","tabIndex","outline","boxShadow","actionDefaultBorderFocus","borderRadius","borders","borderRadiusSm","renderOption","additionalProps","onMouseEnter","getComboboxOptionItemWrapperStyles","ListboxContent","filterValue","setFilterValue","filterInputPlaceholder","includeFilterInput","filterInputEmptyMessage","filteredOptions","lowerFilter","toLowerCase","aria-live","textAlign","boxSizing","Listbox","handleSelect","RadioGroupContext","Root","forwardedRef","PillControl","pillControlRef","defaultValue","onValueChangeWrapper","mergedRef","useMergeRefs","RadioGroup","dataComponentProps","Item","icon","iconClass","useRadioGroupItemStyles","RadioGroupItem","marginRight","verticalAlign","useNewBorderColors","textOverflow","shadows","whiteSpace","overflow","appearance","textDecoration","cursor","backgroundColor","actionDefaultBackgroundDefault","borderColor","actionDefaultBorderDefault","lineHeight","paddingInline","fontWeight","typographyRegularFontWeight","fontSize","borderRadiusFull","transition","tagDefault","outlineStyle","outlineWidth","outlineOffset","outlineColor","actionLinkPress","actionDefaultTextPress","actionIconBackgroundPress","actionLinkHover","actionDefaultTextHover","actionIconBackgroundHover","actionDisabledBackground","actionDisabledBorder","actionDisabledText","lineHeightSm","lineHeightXl","paddingInlineStart","progressContextDefaults","progress","ProgressContext","ProgressContextProvider","getProgressRootStyles","progressTrack","transform","importantify","Progress","getProgressIndicatorStyles","progressFill","Indicator","getRootStyles","backgroundSecondary","borderDecorative","shadowLow","RadixToolbar","getSeparatorStyles","alignSelf","Separator","Link","ToggleGroup","getToggleItemStyles","ToggleItem","treeGridReducer","state","expandedRows","rowId","activeRowId","useDefaultTreeGridState","initialState","dispatch","useReducer","toggleRowExpanded","setActiveRowId","flattenData","data","depth","parentId","reduce","acc","node","push","findFocusableElementForCellIndex","cellIndex","cells","findNextFocusableCellIndexInRow","columns","startIndex","direction","increment","limit","column","focusableElement","cellContent","textContent","trim","contentFocusable","TreeGrid","renderCell","renderRow","renderTable","renderHeader","onRowKeyboardSelect","onCellKeyboardSelect","includeHeader","providedState","defaultState","gridRef","flattenedData","focusRow","rowIndex","focusElement","newRowIndex","closestTd","contains","document","activeElement","handleArrowVerticalNavigation","currentCellIndex","targetRow","moveFocusToRow","r","dataset","HTMLTableRowElement","handleArrowHorizontalNavigation","currentRow","targetCellIndex","targetCell","firstCell","firstFocusableCell","handleEnterKey","defaultRenderRow","rowProps","tr","defaultRenderTable","tableProps","defaultRenderHeader","headerProps","thead","th","header","renderRowWrapper","isExpanded","isKeyboardActive","colIndex","cellProps","isRowHeader","rowDepth","rowIsKeyboardActive","rowIsExpanded","index"],"mappings":"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"}
|