@databricks/design-system 1.11.0 → 1.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/dist/common-1fb3eeb9.js +35 -0
  2. package/dist/common-1fb3eeb9.js.map +1 -0
  3. package/dist/common-819b45d4.js +15 -0
  4. package/dist/common-819b45d4.js.map +1 -0
  5. package/dist/design-system/DesignSystemProvider/DesignSystemProvider.d.ts.map +1 -1
  6. package/dist/design-system/DialogCombobox/DialogCombobox.d.ts +10 -0
  7. package/dist/design-system/DialogCombobox/DialogCombobox.d.ts.map +1 -0
  8. package/dist/design-system/DialogCombobox/DialogComboboxButtonContainer.d.ts +2 -0
  9. package/dist/design-system/DialogCombobox/DialogComboboxButtonContainer.d.ts.map +1 -0
  10. package/dist/design-system/DialogCombobox/DialogComboboxContent.d.ts +14 -0
  11. package/dist/design-system/DialogCombobox/DialogComboboxContent.d.ts.map +1 -0
  12. package/dist/design-system/DialogCombobox/DialogComboboxCountBadge.d.ts +2 -0
  13. package/dist/design-system/DialogCombobox/DialogComboboxCountBadge.d.ts.map +1 -0
  14. package/dist/design-system/DialogCombobox/DialogComboboxLoadingSpinner.d.ts +2 -0
  15. package/dist/design-system/DialogCombobox/DialogComboboxLoadingSpinner.d.ts.map +1 -0
  16. package/dist/design-system/DialogCombobox/DialogComboboxOptionControlledList.d.ts +10 -0
  17. package/dist/design-system/DialogCombobox/DialogComboboxOptionControlledList.d.ts.map +1 -0
  18. package/dist/design-system/DialogCombobox/DialogComboboxOptionList.d.ts +9 -0
  19. package/dist/design-system/DialogCombobox/DialogComboboxOptionList.d.ts.map +1 -0
  20. package/dist/design-system/DialogCombobox/DialogComboboxOptionListCheckboxItem.d.ts +11 -0
  21. package/dist/design-system/DialogCombobox/DialogComboboxOptionListCheckboxItem.d.ts.map +1 -0
  22. package/dist/design-system/DialogCombobox/DialogComboboxOptionListSearch.d.ts +7 -0
  23. package/dist/design-system/DialogCombobox/DialogComboboxOptionListSearch.d.ts.map +1 -0
  24. package/dist/design-system/DialogCombobox/DialogComboboxOptionListSelectItem.d.ts +10 -0
  25. package/dist/design-system/DialogCombobox/DialogComboboxOptionListSelectItem.d.ts.map +1 -0
  26. package/dist/design-system/DialogCombobox/DialogComboboxSectionHeader.d.ts +2 -0
  27. package/dist/design-system/DialogCombobox/DialogComboboxSectionHeader.d.ts.map +1 -0
  28. package/dist/design-system/DialogCombobox/DialogComboboxSeparator.d.ts +2 -0
  29. package/dist/design-system/DialogCombobox/DialogComboboxSeparator.d.ts.map +1 -0
  30. package/dist/design-system/DialogCombobox/DialogComboboxTrigger.d.ts +15 -0
  31. package/dist/design-system/DialogCombobox/DialogComboboxTrigger.d.ts.map +1 -0
  32. package/dist/design-system/DialogCombobox/hooks/useDialogComboboxContext.d.ts +2 -0
  33. package/dist/design-system/DialogCombobox/hooks/useDialogComboboxContext.d.ts.map +1 -0
  34. package/dist/design-system/DialogCombobox/hooks/useDialogComboboxOptionListContext.d.ts +2 -0
  35. package/dist/design-system/DialogCombobox/hooks/useDialogComboboxOptionListContext.d.ts.map +1 -0
  36. package/dist/design-system/DialogCombobox/index.d.ts +14 -0
  37. package/dist/design-system/DialogCombobox/index.d.ts.map +1 -0
  38. package/dist/design-system/DialogCombobox/providers/DialogComboboxContext.d.ts +15 -0
  39. package/dist/design-system/DialogCombobox/providers/DialogComboboxContext.d.ts.map +1 -0
  40. package/dist/design-system/DialogCombobox/providers/DialogComboboxOptionListContext.d.ts +10 -0
  41. package/dist/design-system/DialogCombobox/providers/DialogComboboxOptionListContext.d.ts.map +1 -0
  42. package/dist/design-system/DialogCombobox/shared.d.ts +3 -0
  43. package/dist/design-system/DialogCombobox/shared.d.ts.map +1 -0
  44. package/dist/design-system/DialogCombobox/tests/DialogCombobox.test.d.ts +2 -0
  45. package/dist/design-system/DialogCombobox/tests/DialogCombobox.test.d.ts.map +1 -0
  46. package/dist/design-system/DialogCombobox/tests/DialogComboboxButtonContainer.test.d.ts +2 -0
  47. package/dist/design-system/DialogCombobox/tests/DialogComboboxButtonContainer.test.d.ts.map +1 -0
  48. package/dist/design-system/DialogCombobox/tests/DialogComboboxContent.test.d.ts +2 -0
  49. package/dist/design-system/DialogCombobox/tests/DialogComboboxContent.test.d.ts.map +1 -0
  50. package/dist/design-system/DialogCombobox/tests/DialogComboboxOptionList.test.d.ts +2 -0
  51. package/dist/design-system/DialogCombobox/tests/DialogComboboxOptionList.test.d.ts.map +1 -0
  52. package/dist/design-system/DialogCombobox/tests/DialogComboboxOptionListCheckboxItem.test.d.ts +2 -0
  53. package/dist/design-system/DialogCombobox/tests/DialogComboboxOptionListCheckboxItem.test.d.ts.map +1 -0
  54. package/dist/design-system/DialogCombobox/tests/DialogComboboxOptionListSelectItem.test.d.ts +2 -0
  55. package/dist/design-system/DialogCombobox/tests/DialogComboboxOptionListSelectItem.test.d.ts.map +1 -0
  56. package/dist/design-system/DialogCombobox/tests/DialogComboboxTrigger.test.d.ts +2 -0
  57. package/dist/design-system/DialogCombobox/tests/DialogComboboxTrigger.test.d.ts.map +1 -0
  58. package/dist/design-system/Drawer/Drawer.d.ts +6 -1
  59. package/dist/design-system/Drawer/Drawer.d.ts.map +1 -1
  60. package/dist/design-system/Notification/Notification.d.ts +1 -0
  61. package/dist/design-system/Notification/Notification.d.ts.map +1 -1
  62. package/dist/design-system/NotificationV2/NotificationV2.d.ts +1 -0
  63. package/dist/design-system/NotificationV2/NotificationV2.d.ts.map +1 -1
  64. package/dist/design-system/Sidebar/Sidebar.d.ts +3 -1
  65. package/dist/design-system/Sidebar/Sidebar.d.ts.map +1 -1
  66. package/dist/design-system/Spacer/Spacer.d.ts +2 -0
  67. package/dist/design-system/Spacer/Spacer.d.ts.map +1 -1
  68. package/dist/design-system/TableUI/TableUI.test.d.ts +2 -0
  69. package/dist/design-system/TableUI/TableUI.test.d.ts.map +1 -0
  70. package/dist/design-system/TableUI/index.d.ts +114 -0
  71. package/dist/design-system/TableUI/index.d.ts.map +1 -0
  72. package/dist/design-system/ToggleButton/ToggleButton.d.ts.map +1 -1
  73. package/dist/design-system/index.d.ts +2 -0
  74. package/dist/design-system/index.d.ts.map +1 -1
  75. package/dist/development/index.d.ts +0 -2
  76. package/dist/development/index.d.ts.map +1 -1
  77. package/dist/development.js +5 -1311
  78. package/dist/development.js.map +1 -1
  79. package/dist/index.js +4162 -528
  80. package/dist/index.js.map +1 -1
  81. package/dist/test-utils/common.d.ts +17 -0
  82. package/dist/test-utils/common.d.ts.map +1 -1
  83. package/dist/test-utils/enzyme/index.d.ts +1 -0
  84. package/dist/test-utils/enzyme/index.d.ts.map +1 -1
  85. package/dist/test-utils/enzyme/table.d.ts +49 -0
  86. package/dist/test-utils/enzyme/table.d.ts.map +1 -0
  87. package/dist/test-utils/enzyme/table.test.d.ts +2 -0
  88. package/dist/test-utils/enzyme/table.test.d.ts.map +1 -0
  89. package/dist/test-utils/enzyme/utils.d.ts +6 -0
  90. package/dist/test-utils/enzyme/utils.d.ts.map +1 -1
  91. package/dist/test-utils/enzyme.js +123 -18
  92. package/dist/test-utils/enzyme.js.map +1 -1
  93. package/dist/test-utils/rtl/index.d.ts +1 -0
  94. package/dist/test-utils/rtl/index.d.ts.map +1 -1
  95. package/dist/test-utils/rtl/table.d.ts +50 -0
  96. package/dist/test-utils/rtl/table.d.ts.map +1 -0
  97. package/dist/test-utils/rtl/table.test.d.ts +2 -0
  98. package/dist/test-utils/rtl/table.test.d.ts.map +1 -0
  99. package/dist/test-utils/rtl.js +109 -19
  100. package/dist/test-utils/rtl.js.map +1 -1
  101. package/dist/theme/colorList.d.ts +0 -1
  102. package/dist/theme/colorList.d.ts.map +1 -1
  103. package/dist/theme/colors.d.ts +0 -1
  104. package/dist/theme/colors.d.ts.map +1 -1
  105. package/dist/useDesignSystemTheme-6e6f5867.js +441 -0
  106. package/dist/useDesignSystemTheme-6e6f5867.js.map +1 -0
  107. package/dist/useDesignSystemTheme-ac536b0f.js +443 -0
  108. package/dist/useDesignSystemTheme-ac536b0f.js.map +1 -0
  109. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"development.js","sources":["../src/development/Filter/providers/FilterContext.tsx","../src/development/Filter/hooks/useFilterContext.ts","../src/development/Filter/Filter.tsx","../src/development/Filter/FilterButtonContainer.tsx","../src/development/Filter/FilterLoadingSpinner.tsx","../src/development/Filter/FilterContent.tsx","../src/development/Filter/FilterCountBadge.tsx","../src/development/Filter/providers/FilterOptionListContext.tsx","../src/development/Filter/hooks/useFilterOptionListContext.tsx","../src/development/Filter/shared.ts","../src/development/Filter/FilterOptionListCheckboxItem.tsx","../src/development/Filter/FilterOptionListSearch.tsx","../src/development/Filter/FilterOptionListSelectItem.tsx","../src/development/Filter/FilterOptionControlledList.tsx","../src/development/Filter/FilterOptionList.tsx","../src/development/Filter/FilterSectionHeader.tsx","../src/development/Filter/FilterSeparator.tsx","../src/development/Filter/FilterTrigger.tsx","../src/development/TableUI/index.tsx","../src/development/Slider/Slider.tsx"],"sourcesContent":["import { createContext } from 'react';\n\nexport interface FilterContextType {\n label: string;\n value: string[];\n isInsideFilter: boolean;\n multiSelect?: boolean;\n setValue: (value: string[]) => void;\n setIsControlled: (isControlled: boolean) => void;\n}\n\nconst filterContextDefaults: FilterContextType = {\n label: '',\n value: [],\n isInsideFilter: false,\n multiSelect: false,\n setValue: () => {},\n setIsControlled: () => {},\n};\n\nexport const FilterContext = createContext<FilterContextType>(filterContextDefaults);\n\nexport const FilterContextProvider = ({ children, value }: { children: JSX.Element; value: FilterContextType }) => {\n return <FilterContext.Provider value={value}>{children}</FilterContext.Provider>;\n};\n","import { useContext } from 'react';\n\nimport { FilterContext } from '../providers/FilterContext';\n\nexport const useFilterContext = () => {\n return useContext(FilterContext);\n};\n","import * as Popover from '@radix-ui/react-popover';\nimport { useState, useEffect } from 'react';\n\nimport type { HTMLDataAttributes } from '../../design-system/types';\nimport { useFilterContext } from './hooks/useFilterContext';\nimport { FilterContextProvider } from './providers/FilterContext';\n\nexport interface FilterRootProps extends Popover.PopoverProps, HTMLDataAttributes {\n label: string;\n value?: string[];\n stayOpenOnSelection?: boolean;\n multiSelect?: boolean;\n}\n\nexport const Filter = ({ children, label, value = [], ...props }: FilterRootProps) => {\n // Used to avoid infinite loop when value is controlled from within the component (FilterOptionControlledList)\n // We can't remove setValue altogether because uncontrolled component users need to be able to set the value from root for trigger to update\n const [isControlled, setIsControlled] = useState(false);\n const [selectedValue, setSelectedValue] = useState<string[]>(value);\n\n useEffect(() => {\n if (\n ((!Array.isArray(selectedValue) || !Array.isArray(value)) && selectedValue !== value) ||\n (selectedValue && value && selectedValue.length === value.length && selectedValue.every((v, i) => v === value[i]))\n ) {\n return;\n }\n\n if (!isControlled) {\n setSelectedValue(value);\n }\n }, [value, isControlled, selectedValue]);\n\n return (\n <FilterContextProvider\n value={{\n label,\n value: selectedValue,\n setValue: setSelectedValue,\n setIsControlled,\n isInsideFilter: true,\n multiSelect: props.multiSelect,\n }}\n >\n <Root {...props}>{children}</Root>\n </FilterContextProvider>\n );\n};\n\nconst Root = (props: Partial<FilterRootProps>) => {\n const { children, stayOpenOnSelection, open, multiSelect, ...restProps } = props;\n const { value } = useFilterContext();\n\n const [isOpen, setIsOpen] = useState<boolean>(!!open);\n\n const handleOpenChange = (open: boolean) => {\n setIsOpen(open);\n };\n\n useEffect(() => {\n if (!stayOpenOnSelection && (typeof stayOpenOnSelection === 'boolean' || !multiSelect)) {\n setIsOpen(false);\n }\n }, [value, stayOpenOnSelection, multiSelect]);\n\n return (\n <Popover.Root open={open !== undefined ? open : isOpen} onOpenChange={handleOpenChange} {...restProps}>\n {children}\n </Popover.Root>\n );\n};\n","import type { SerializedStyles, Theme } from '@emotion/react';\nimport { css } from '@emotion/react';\n\nimport { useDesignSystemTheme } from '../../design-system';\nimport { useFilterContext } from './hooks/useFilterContext';\n\nconst getFilterButtonContainerStyles = (theme: Theme): SerializedStyles => {\n return css({\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'flex-end',\n alignItems: 'flex-end',\n padding: `${theme.spacing.sm}px ${theme.spacing.lg / 2}px ${theme.spacing.sm}px ${theme.spacing.lg / 2}px`,\n gap: theme.spacing.sm,\n alignSelf: 'stretch',\n });\n};\n\nexport const FilterButtonContainer = ({ children, ...restProps }: React.HTMLAttributes<HTMLDivElement>) => {\n const { theme } = useDesignSystemTheme();\n const { isInsideFilter } = useFilterContext();\n\n if (!isInsideFilter) {\n throw new Error('`FilterButtonContainer` must be used within `Filter`');\n }\n\n return (\n <div {...restProps} css={getFilterButtonContainerStyles(theme)}>\n {children}\n </div>\n );\n};\n","import { Spinner, useDesignSystemTheme } from '../../design-system';\n\nexport const FilterLoadingSpinner = (props: any) => {\n const { theme } = useDesignSystemTheme();\n return (\n <Spinner\n css={{\n display: 'flex',\n alignSelf: 'center',\n justifyContent: 'center',\n alignItems: 'center',\n height: theme.general.heightSm,\n width: theme.general.heightSm,\n '> span': { fontSize: 20 },\n }}\n {...props}\n />\n );\n};\n","import type { Theme, SerializedStyles } from '@emotion/react';\nimport { css } from '@emotion/react';\nimport * as Popover from '@radix-ui/react-popover';\nimport { forwardRef } from 'react';\n\nimport { useDesignSystemTheme } from '../../design-system';\nimport { useDesignSystemContext } from '../../design-system/Hooks/useDesignSystemContext';\nimport type { HTMLDataAttributes } from '../../design-system/types';\nimport { FilterLoadingSpinner } from './FilterLoadingSpinner';\nimport { useFilterContext } from './hooks/useFilterContext';\n\nexport interface FilterContentProps extends Popover.PopoverContentProps, HTMLDataAttributes {\n width?: number;\n loading?: boolean;\n maxHeight?: number;\n maxWidth?: number;\n minHeight?: number;\n minWidth?: number;\n side?: 'top' | 'bottom';\n}\n\nconst getContentWrapperStyles = (\n theme: Theme,\n {\n maxHeight = '100vh',\n maxWidth = '100vw',\n minHeight = 0,\n minWidth = 0,\n }: {\n maxHeight?: number | string;\n maxWidth?: number | string;\n minHeight?: number | string;\n minWidth?: number | string;\n }\n): SerializedStyles => {\n return css({\n maxHeight,\n maxWidth,\n minHeight,\n minWidth,\n background: theme.colors.backgroundPrimary,\n color: theme.colors.textPrimary,\n overflow: 'auto',\n // Making sure the content popover overlaps the remove button when opens to the right\n zIndex: theme.options.zIndexBase + 10,\n\n boxSizing: 'border-box',\n padding: `${theme.spacing.xs}px 0`,\n\n border: `1px solid ${theme.colors.border}`,\n boxShadow: theme.general.shadowLow,\n borderRadius: 4,\n\n colorScheme: theme.isDarkMode ? 'dark' : 'light',\n });\n};\n\nexport const FilterContent = forwardRef<HTMLDivElement, FilterContentProps>(\n (\n {\n children,\n loading,\n maxHeight,\n maxWidth,\n minHeight,\n minWidth = 240,\n align = 'start',\n side = 'bottom',\n sideOffset = 4,\n ...restProps\n },\n forwardedRef\n ) => {\n const { theme } = useDesignSystemTheme();\n const { label, isInsideFilter } = useFilterContext();\n const { getPopupContainer } = useDesignSystemContext();\n\n if (!isInsideFilter) {\n throw new Error('`FilterContent` must be used within `Filter`');\n }\n\n return (\n <Popover.Portal container={getPopupContainer && getPopupContainer()}>\n <Popover.Content\n aria-label={`${label} filter options`}\n aria-busy={loading}\n css={getContentWrapperStyles(theme, {\n maxHeight,\n maxWidth,\n minHeight,\n minWidth,\n })}\n align={align}\n side={side}\n sideOffset={sideOffset}\n {...restProps}\n ref={forwardedRef}\n >\n <div css={{ display: 'flex', flexDirection: 'column', alignItems: 'flex-start', justifyContent: 'center' }}>\n {loading ? <FilterLoadingSpinner aria-label=\"Loading\" alt=\"Loading spinner\" /> : children}\n </div>\n </Popover.Content>\n </Popover.Portal>\n );\n }\n);\n","import type { Theme, SerializedStyles } from '@emotion/react';\nimport { css } from '@emotion/react';\n\nimport { useDesignSystemTheme } from '../../design-system';\nimport { importantify } from '../../design-system/utils/css-utils';\nimport { useFilterContext } from './hooks/useFilterContext';\n\nconst getCountBadgeStyles = (theme: Theme): SerializedStyles =>\n css(\n importantify({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n\n boxSizing: 'border-box',\n padding: `${theme.spacing.xs / 2}px ${theme.spacing.xs}px`,\n background: theme.colors.tagDefault,\n borderRadius: theme.general.borderRadiusBase,\n\n fontWeight: theme.typography.typographyBoldFontWeight,\n fontSize: theme.typography.fontSizeSm,\n height: 20,\n })\n );\n\nexport const FilterCountBadge = (props: any) => {\n const { theme } = useDesignSystemTheme();\n const { value } = useFilterContext();\n\n return (\n <div {...props} css={getCountBadgeStyles(theme)}>\n {Array.isArray(value) ? value.length : value ? 1 : 0}\n </div>\n );\n};\n","import { createContext } from 'react';\n\nexport interface FilterOptionListContextType {\n isInsideFilterOptionList?: boolean;\n}\n\nexport const FilterOptionListContext = createContext<FilterOptionListContextType>({});\n\nexport const FilterOptionListContextProvider = ({\n children,\n value,\n}: {\n children: JSX.Element;\n value: FilterOptionListContextType;\n}) => {\n return <FilterOptionListContext.Provider value={value}>{children}</FilterOptionListContext.Provider>;\n};\n","import { useContext } from 'react';\n\nimport { FilterOptionListContext } from '../providers/FilterOptionListContext';\n\nexport const useFilterOptionListContext = () => {\n return useContext(FilterOptionListContext);\n};\n","import type { Theme, SerializedStyles } from '@emotion/react';\nimport { css } from '@emotion/react';\n\nimport { importantify } from '../../design-system/utils/css-utils';\n\nexport const getFilterOptionItemWrapperStyles = (theme: Theme): SerializedStyles => {\n return css(\n importantify({\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'flex-start',\n alignSelf: 'stretch',\n\n padding: '6px 32px 6px 12px',\n lineHeight: theme.typography.lineHeightBase,\n height: theme.typography.lineHeightBase,\n\n cursor: 'pointer',\n userSelect: 'none',\n\n '&:hover': { background: theme.colors.actionTertiaryBackgroundHover },\n })\n );\n};\n","import { forwardRef } from 'react';\n\nimport { Checkbox, useDesignSystemTheme } from '../../design-system';\nimport type { HTMLDataAttributes } from '../../design-system/types';\nimport { useFilterOptionListContext } from './hooks/useFilterOptionListContext';\nimport { getFilterOptionItemWrapperStyles } from './shared';\n\nexport interface FilterOptionListCheckboxItemProps extends HTMLDataAttributes {\n value: string;\n checked?: boolean;\n indeterminate?: boolean;\n children?: React.ReactNode;\n onChange?: (...args: any[]) => any;\n}\n\nexport const FilterOptionListCheckboxItem = forwardRef<HTMLDivElement, FilterOptionListCheckboxItemProps>(\n ({ value, checked, indeterminate, onChange, children, ...props }, ref) => {\n const { theme } = useDesignSystemTheme();\n const { isInsideFilterOptionList } = useFilterOptionListContext();\n\n if (!isInsideFilterOptionList) {\n throw new Error('`FilterOptionListCheckboxItem` must be used within `FilterOptionList`');\n }\n\n const handleSelect = () => {\n if (onChange) {\n onChange(value);\n }\n };\n\n return (\n <div\n ref={ref}\n role=\"option\"\n // Using aria-selected instead of aria-checked because the parent listbox\n aria-selected={indeterminate ? false : checked}\n css={[getFilterOptionItemWrapperStyles(theme)]}\n onClick={handleSelect}\n {...props}\n >\n <Checkbox\n isChecked={indeterminate ? null : checked}\n css={{ pointerEvents: 'none' }}\n // Needed because Antd handles keyboard inputs as clicks\n onClick={(e) => {\n e.stopPropagation();\n handleSelect();\n }}\n >\n {children ?? value}\n </Checkbox>\n </div>\n );\n }\n);\n","import React, { forwardRef } from 'react';\n\nimport type { InputProps, InputRef } from '../../design-system';\nimport { Input, useDesignSystemTheme, SearchIcon } from '../../design-system';\nimport { useFilterOptionListContext } from './hooks/useFilterOptionListContext';\n\nconst filterChildren = (children: any, searchValue: string) => {\n return React.Children.map(children, (child) => {\n if (child?.props.value.toLowerCase().includes(searchValue)) {\n return child;\n }\n return null;\n })?.filter((child: any) => child);\n};\n\nexport const FilterOptionListSearch = forwardRef<InputRef, InputProps & { children: any; hasWrapper?: boolean }>(\n ({ onChange, children, hasWrapper, ...restProps }, forwardedRef) => {\n const { theme } = useDesignSystemTheme();\n const { isInsideFilterOptionList } = useFilterOptionListContext();\n\n const [searchValue, setSearchValue] = React.useState<string>();\n\n if (!isInsideFilterOptionList) {\n throw new Error('`FilterOptionListSearch` must be used within `FilterOptionList`');\n }\n\n const handleOnChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setSearchValue(event.target.value.toLowerCase());\n };\n\n let filteredChildren = children;\n\n if (searchValue) {\n filteredChildren = filterChildren(hasWrapper ? children.props.children : children, searchValue);\n\n if (hasWrapper) {\n filteredChildren = React.cloneElement(children, {}, filteredChildren);\n }\n }\n\n return (\n <>\n <div\n css={{\n padding: `${theme.spacing.sm}px ${theme.spacing.lg / 2}px ${theme.spacing.sm}px`,\n width: '100%',\n boxSizing: 'border-box',\n }}\n >\n <Input\n ref={forwardedRef}\n prefix={<SearchIcon />}\n placeholder=\"Search\"\n onChange={handleOnChange}\n value={searchValue}\n {...restProps}\n />\n </div>\n {(hasWrapper && filteredChildren?.props.children?.length) || (!hasWrapper && filteredChildren?.length) ? (\n filteredChildren\n ) : (\n <div\n css={{\n color: theme.colors.textSecondary,\n textAlign: 'center',\n padding: '6px 32px 6px 12px',\n width: '100%',\n boxSizing: 'border-box',\n }}\n >\n No results found\n </div>\n )}\n </>\n );\n }\n);\n","import { forwardRef } from 'react';\n\nimport { useDesignSystemTheme, CheckIcon } from '../../design-system';\nimport type { HTMLDataAttributes } from '../../design-system/types';\nimport { useFilterOptionListContext } from './hooks/useFilterOptionListContext';\nimport { getFilterOptionItemWrapperStyles } from './shared';\n\nexport interface FilterOptionListSelectItemProps extends HTMLDataAttributes {\n value: string;\n checked?: boolean;\n children?: React.ReactNode;\n onChange?: (...args: any[]) => any;\n}\n\nexport const FilterOptionListSelectItem = forwardRef<HTMLDivElement, FilterOptionListSelectItemProps>(\n ({ value, checked, onChange, children, ...props }, ref) => {\n const { theme } = useDesignSystemTheme();\n const { isInsideFilterOptionList } = useFilterOptionListContext();\n\n if (!isInsideFilterOptionList) {\n throw new Error('`FilterOptionListSelectItem` must be used within `FilterOptionList`');\n }\n\n const handleSelect = () => {\n if (onChange) {\n onChange(value);\n }\n };\n\n return (\n <div\n ref={ref}\n css={[\n getFilterOptionItemWrapperStyles(theme),\n {\n '&:focus': {\n background: theme.colors.actionTertiaryBackgroundHover,\n outline: 'none',\n },\n },\n ]}\n {...props}\n onClick={handleSelect}\n tabIndex={0}\n onKeyDown={(e) => {\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault();\n const nextSibling = e.currentTarget.nextElementSibling as HTMLElement;\n nextSibling?.focus();\n break;\n case 'ArrowUp':\n e.preventDefault();\n const previousSibling = e.currentTarget.previousElementSibling as HTMLElement;\n previousSibling?.focus();\n break;\n case ' ':\n case 'Enter':\n e.preventDefault();\n handleSelect();\n break;\n }\n }}\n role=\"option\"\n aria-selected={checked}\n >\n {checked ? <CheckIcon /> : <div css={{ width: 16 }} />}\n <label style={{ marginLeft: theme.spacing.sm, cursor: 'pointer' }}>{children ?? value}</label>\n </div>\n );\n }\n);\n","import { forwardRef } from 'react';\n\nimport { FilterLoadingSpinner } from './FilterLoadingSpinner';\nimport type { FilterOptionListProps } from './FilterOptionList';\nimport { FilterOptionListCheckboxItem } from './FilterOptionListCheckboxItem';\nimport { FilterOptionListSearch } from './FilterOptionListSearch';\nimport { FilterOptionListSelectItem } from './FilterOptionListSelectItem';\nimport { useFilterContext } from './hooks/useFilterContext';\nimport { FilterOptionListContextProvider } from './providers/FilterOptionListContext';\n\nexport interface FilterOptionControlledListProps extends Omit<FilterOptionListProps, 'children'> {\n withSearch?: boolean;\n showSelectAndClearAll?: boolean;\n options: string[];\n}\n\nexport const FilterOptionControlledList = forwardRef<HTMLDivElement, FilterOptionControlledListProps>(\n (\n { options, onChange, loading, withProgressiveLoading, withSearch, showSelectAndClearAll, ...restProps },\n forwardedRef\n ) => {\n const { isInsideFilter, multiSelect, value, setValue, setIsControlled } = useFilterContext();\n\n if (!isInsideFilter) {\n throw new Error('`FilterOptionControlledList` must be used within `Filter`');\n }\n\n const isOptionChecked = options.reduce((acc, option) => {\n acc[option] = value?.includes(option);\n return acc;\n }, {} as Record<string, boolean>);\n\n const handleUpdate = (updatedValue: string) => {\n setIsControlled(true);\n\n let newValue = [];\n if (multiSelect) {\n if (value.find((item) => item === updatedValue)) {\n newValue = value.filter((item) => item !== updatedValue);\n } else {\n newValue = [...value, updatedValue];\n }\n } else {\n newValue = [updatedValue];\n }\n\n setValue(newValue);\n isOptionChecked[updatedValue] = !isOptionChecked[updatedValue];\n if (onChange) {\n onChange(newValue);\n }\n };\n\n const handleSelectAll = () => {\n setIsControlled(true);\n\n if (value.length === options.length) {\n setValue([]);\n options.forEach((option) => {\n isOptionChecked[option] = false;\n });\n if (onChange) {\n onChange([]);\n }\n } else {\n setValue(options);\n options.forEach((option) => {\n isOptionChecked[option] = true;\n });\n if (onChange) {\n onChange(options);\n }\n }\n };\n\n const renderedOptions = (\n <>\n {showSelectAndClearAll && multiSelect && (\n <FilterOptionListCheckboxItem\n value=\"all\"\n onChange={handleSelectAll}\n checked={value.length === options.length}\n indeterminate={!!value.length && value.length !== options.length}\n >\n {value.length === options.length ? 'Clear all' : 'Select all'}\n </FilterOptionListCheckboxItem>\n )}\n {options?.map((option, key) =>\n multiSelect ? (\n <FilterOptionListCheckboxItem\n key={key}\n value={option}\n checked={isOptionChecked[option]}\n onChange={handleUpdate}\n >\n {option}\n </FilterOptionListCheckboxItem>\n ) : (\n <FilterOptionListSelectItem\n key={key}\n value={option}\n checked={isOptionChecked[option]}\n onChange={handleUpdate}\n >\n {option}\n </FilterOptionListSelectItem>\n )\n )}\n </>\n );\n\n return (\n <div\n ref={forwardedRef}\n aria-busy={loading}\n css={{ display: 'flex', flexDirection: 'column', alignItems: 'flex-start' }}\n {...restProps}\n >\n <FilterOptionListContextProvider value={{ isInsideFilterOptionList: true }}>\n <>\n {loading ? (\n withProgressiveLoading ? (\n <>\n {withSearch ? (\n <FilterOptionListSearch hasWrapper={true}>{renderedOptions}</FilterOptionListSearch>\n ) : (\n renderedOptions\n )}\n <FilterLoadingSpinner aria-label=\"Loading\" alt=\"Loading spinner\" />\n </>\n ) : (\n <FilterLoadingSpinner aria-label=\"Loading\" alt=\"Loading spinner\" />\n )\n ) : withSearch ? (\n <FilterOptionListSearch hasWrapper={true}>{renderedOptions}</FilterOptionListSearch>\n ) : (\n renderedOptions\n )}\n </>\n </FilterOptionListContextProvider>\n </div>\n );\n }\n);\n","import { forwardRef, useEffect } from 'react';\n\nimport type { HTMLDataAttributes } from '../../design-system/types';\nimport { FilterLoadingSpinner } from './FilterLoadingSpinner';\nimport { useFilterContext } from './hooks/useFilterContext';\nimport { FilterOptionListContextProvider } from './providers/FilterOptionListContext';\n\nexport interface FilterOptionListProps extends HTMLDataAttributes {\n children: any;\n loading?: boolean;\n withProgressiveLoading?: boolean;\n onChange?: (...args: any[]) => any;\n}\n\nexport const FilterOptionList = forwardRef<HTMLDivElement, FilterOptionListProps>(\n ({ children, onChange, loading, withProgressiveLoading, ...restProps }, forwardedRef) => {\n const { isInsideFilter, value } = useFilterContext();\n\n if (!isInsideFilter) {\n throw new Error('`FilterOptionList` must be used within `Filter`');\n }\n\n useEffect(() => {\n if (onChange) {\n onChange(value);\n }\n }, [value, onChange]);\n\n return (\n <div\n ref={forwardedRef}\n aria-busy={loading}\n role=\"list\"\n css={{\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-start',\n width: '100%',\n }}\n {...restProps}\n >\n <FilterOptionListContextProvider value={{ isInsideFilterOptionList: true }}>\n {loading ? (\n withProgressiveLoading ? (\n <>\n {children}\n <FilterLoadingSpinner aria-label=\"Loading\" alt=\"Loading spinner\" />\n </>\n ) : (\n <FilterLoadingSpinner aria-label=\"Loading\" alt=\"Loading spinner\" />\n )\n ) : (\n children\n )}\n </FilterOptionListContextProvider>\n </div>\n );\n }\n);\n","import { useDesignSystemTheme } from '../../design-system';\nimport { useFilterContext } from './hooks/useFilterContext';\n\nexport const FilterSectionHeader = ({ children, ...props }: React.HTMLAttributes<HTMLDivElement>) => {\n const { theme } = useDesignSystemTheme();\n const { isInsideFilter } = useFilterContext();\n\n if (!isInsideFilter) {\n throw new Error('`FilterSectionHeader` must be used within `Filter`');\n }\n return (\n <div\n {...props}\n css={{\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'flex-start',\n padding: `${theme.spacing.xs}px ${theme.spacing.lg / 2}px`,\n alignSelf: 'stretch',\n fontWeight: 400,\n color: theme.colors.textSecondary,\n }}\n >\n {children}\n </div>\n );\n};\n","import { useDesignSystemTheme } from '../../design-system';\nimport { useFilterContext } from './hooks/useFilterContext';\n\nexport const FilterSeparator = (props: React.HTMLAttributes<HTMLDivElement>) => {\n const { theme } = useDesignSystemTheme();\n const { isInsideFilter } = useFilterContext();\n\n if (!isInsideFilter) {\n throw new Error('`FilterSeparator` must be used within `Filter`');\n }\n\n return (\n <div\n {...props}\n css={{\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n margin: `${theme.spacing.xs}px ${theme.spacing.lg / 2}px`,\n border: `1px solid ${theme.colors.borderDecorative}`,\n borderBottom: 0,\n alignSelf: 'stretch',\n }}\n />\n );\n};\n","import type { Theme, SerializedStyles } from '@emotion/react';\nimport { css } from '@emotion/react';\nimport * as Popover from '@radix-ui/react-popover';\nimport React, { useEffect, forwardRef } from 'react';\n\nimport {\n useDesignSystemTheme,\n ChevronDownIcon,\n CloseIcon,\n Button,\n Tooltip,\n XCircleFillIcon,\n} from '../../design-system';\nimport type { HTMLDataAttributes } from '../../design-system/types';\nimport { importantify } from '../../design-system/utils/css-utils';\nimport { FilterCountBadge } from './FilterCountBadge';\nimport { useFilterContext } from './hooks/useFilterContext';\n\nexport interface FilterTriggerProps extends Popover.PopoverTriggerProps, HTMLDataAttributes {\n maxWidth?: number;\n removable?: boolean;\n onRemove?: () => void;\n withCountBadge?: boolean;\n allowClear?: boolean;\n onClear?: () => void;\n showBadgeAfterValueCount?: number;\n controlled?: boolean;\n}\n\nconst getTriggerWrapperStyles = (removable: boolean): SerializedStyles =>\n css(\n importantify({\n display: 'inline-flex',\n alignItems: 'center',\n\n ...(removable && {\n '& > button:last-of-type': importantify({\n borderBottomLeftRadius: 0,\n borderTopLeftRadius: 0,\n marginLeft: -1,\n }),\n }),\n })\n );\n\nconst getTriggerStyles = (theme: Theme, maxWidth: number, removable: boolean): SerializedStyles => {\n const removeButtonInteractionStyles = {\n ...(removable && {\n zIndex: theme.options.zIndexBase + 2,\n '&& + button': {\n marginLeft: -1,\n zIndex: theme.options.zIndexBase + 1,\n },\n }),\n };\n return css(\n importantify({\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n maxWidth: maxWidth,\n justifyContent: 'center',\n background: 'transparent',\n padding: '6px 8px 6px 12px',\n boxSizing: 'border-box',\n height: theme.general.heightSm,\n border: `1px solid ${theme.colors.actionDefaultBorderDefault}`,\n borderRadius: 4,\n color: theme.colors.textPrimary,\n lineHeight: theme.typography.lineHeightBase,\n cursor: 'pointer',\n\n ...(removable && {\n borderBottomRightRadius: 0,\n borderTopRightRadius: 0,\n borderRightColor: 'transparent',\n }),\n\n '&:hover': {\n background: theme.colors.actionDefaultBackgroundHover,\n borderColor: theme.colors.actionDefaultBorderHover,\n ...removeButtonInteractionStyles,\n },\n '&:focus': {\n borderColor: theme.colors.actionDefaultBorderFocus,\n ...removeButtonInteractionStyles,\n },\n })\n );\n};\n\nexport const FilterTrigger = forwardRef<HTMLButtonElement, FilterTriggerProps>(\n (\n {\n removable = false,\n onRemove,\n children,\n maxWidth = 9999,\n withCountBadge,\n showBadgeAfterValueCount = 3,\n allowClear = true,\n controlled,\n onClear,\n ...restProps\n },\n forwardedRef\n ) => {\n const { theme } = useDesignSystemTheme();\n const { label, value, isInsideFilter, multiSelect, setValue } = useFilterContext();\n\n if (!isInsideFilter) {\n throw new Error('`FilterTrigger` must be used within `Filter`');\n }\n\n const handleRemove = () => {\n if (!onRemove) {\n console.warn('Filter.Trigger: Attempted remove without providing onRemove handler');\n } else {\n onRemove();\n }\n };\n\n const handleClear = (e: any) => {\n e.stopPropagation();\n\n if (controlled) {\n setValue([]);\n onClear?.();\n } else if (!onClear) {\n console.warn('Filter.Trigger: Attempted clear without providing onClear handler');\n } else {\n onClear();\n }\n };\n\n const [showTooltip, setShowTooltip] = React.useState<boolean>();\n\n const triggerContentRef = React.useRef<HTMLSpanElement>(null);\n\n useEffect(() => {\n if (value?.length > showBadgeAfterValueCount) {\n setShowTooltip(true);\n } else if (triggerContentRef.current) {\n const { clientWidth, scrollWidth } = triggerContentRef.current;\n setShowTooltip(clientWidth < scrollWidth);\n }\n }, [showBadgeAfterValueCount, value]);\n\n const concatenatedValues = Array.isArray(value) ? value.join(', ') : value;\n const displayedValues = <span>{concatenatedValues}</span>;\n\n let ariaLabel = `${label} filter`;\n\n if (value?.length) {\n ariaLabel += multiSelect\n ? `, multiselectable, ${value.length} options selected: ${concatenatedValues}`\n : `, selected option: ${concatenatedValues}`;\n } else {\n ariaLabel += multiSelect ? ', multiselectable, 0 options selected' : ', no option selected';\n }\n\n const triggerContent = children ?? (\n <Popover.Trigger\n aria-label={ariaLabel}\n ref={forwardedRef}\n {...restProps}\n css={getTriggerStyles(theme, maxWidth, removable)}\n role=\"listbox\"\n aria-multiselectable={multiSelect}\n >\n {/* Using inline styles to not override styles used with custom content */}\n <span\n css={{\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n height: theme.typography.lineHeightBase,\n }}\n ref={triggerContentRef}\n >\n <span css={{ marginRight: theme.spacing.xs, fontWeight: theme.typography.typographyBoldFontWeight }}>\n {label}\n </span>\n {withCountBadge || value?.length > showBadgeAfterValueCount ? (\n <FilterCountBadge role=\"status\" aria-label=\"Filter options selected count\" />\n ) : (\n displayedValues\n )}\n </span>\n {allowClear && value?.length ? (\n <XCircleFillIcon\n onClick={handleClear}\n css={{\n color: theme.colors.textPlaceholder,\n fontSize: theme.typography.fontSizeSm,\n marginLeft: theme.spacing.xs,\n\n ':hover': {\n color: theme.colors.actionTertiaryTextHover,\n },\n }}\n />\n ) : null}\n <ChevronDownIcon css={{ color: theme.colors.textSecondary, marginLeft: 4 }} />\n </Popover.Trigger>\n );\n\n return (\n <div css={getTriggerWrapperStyles(removable)}>\n {showTooltip && value?.length ? <Tooltip title={displayedValues}>{triggerContent}</Tooltip> : triggerContent}\n {removable && (\n <Button aria-label={`Remove ${label} filters`} onClick={handleRemove} dangerouslySetForceIconStyles>\n <CloseIcon />\n </Button>\n )}\n </div>\n );\n }\n);\n","import { css } from '@emotion/react';\nimport type { CSSProperties } from 'react';\nimport React, { createContext, useContext } from 'react';\n\nimport { Checkbox, SortAscendingIcon, SortDescendingIcon, SortUnsortedIcon } from '../../design-system';\nimport { useDesignSystemFlags, useDesignSystemTheme } from '../../design-system/Hooks';\nimport { Typography } from '../../design-system/Typography';\nimport type { TextProps } from '../../design-system/Typography/Text';\n\n// For performance, these styles are defined outside of the component so they are not redefined on every render.\n// We're also using CSS Variables rather than any dynamic styles so that the style object remains static.\nconst tableStyles = {\n row: css({\n display: 'flex',\n borderBottom: '1px solid',\n borderColor: 'var(--table-separator-color)',\n\n '&:has([role=\"columnheader\"])': {\n backgroundColor: 'var(--table-header-background-color)',\n },\n\n // Note: Next-sibling selector is necessary for Ant Checkboxes; if we move away\n // from those in the future we would need to adjust these styles.\n '.table-row-select-cell input[type=\"checkbox\"] ~ *': {\n opacity: 'var(--row-checkbox-opacity, 0)',\n },\n\n '&:hover': {\n '> *': {\n backgroundColor: 'var(--table-row-hover)',\n },\n\n '.table-row-select-cell input[type=\"checkbox\"] ~ *': {\n opacity: 1,\n },\n },\n\n '.table-row-select-cell input[type=\"checkbox\"]:focus ~ *': {\n opacity: 1,\n },\n\n '> *': {\n paddingTop: 'var(--table-row-vertical-padding)',\n paddingBottom: 'var(--table-row-vertical-padding)',\n },\n }),\n\n cell: css({\n display: 'inline-grid',\n position: 'relative',\n alignItems: 'var(--table-row-vertical-alignment, flex-start)',\n flex: 1,\n lineHeight: 'initial',\n boxSizing: 'border-box',\n paddingLeft: 'var(--table-spacing-sm)',\n paddingRight: 'var(--table-spacing-sm)',\n wordBreak: 'break-word',\n overflow: 'hidden',\n }),\n\n rowMenuContainer: css({\n paddingLeft: 'var(--table-spacing-xs)',\n paddingRight: 'var(--table-spacing-xs)',\n }),\n\n header: css({\n fontWeight: 'bold',\n alignItems: 'flex-end',\n display: 'flex',\n overflow: 'hidden',\n\n '&[aria-sort]': {\n cursor: 'pointer',\n userSelect: 'none',\n },\n\n '.table-header-text': {\n color: 'var(--table-header-text-color)',\n },\n\n '.table-header-icon-container': {\n color: 'var(--table-header-sort-icon-color)',\n display: 'none',\n },\n\n '&:hover': {\n '.table-header-icon-container, .table-header-text': {\n color: 'var(--table-header-focus-color)',\n },\n },\n\n '&:active': {\n '.table-header-icon-container, .table-header-text': {\n color: 'var(--table-header-active-color)',\n },\n },\n\n '&:hover, &[aria-sort=\"ascending\"], &[aria-sort=\"descending\"]': {\n '.table-header-icon-container': {\n display: 'inline',\n },\n },\n }),\n\n headerButtonTarget: css({\n alignItems: 'flex-end',\n display: 'flex',\n overflow: 'hidden',\n width: '100%',\n\n '&:focus': {\n '.table-header-text': {\n color: 'var(--table-header-focus-color)',\n },\n\n '.table-header-icon-container': {\n color: 'var(--table-header-focus-color)',\n display: 'inline',\n },\n },\n\n '&:active': {\n '.table-header-icon-container, .table-header-text': {\n color: 'var(--table-header-active-color)',\n },\n },\n }),\n\n checkboxCell: css({\n display: 'flex',\n alignItems: 'center',\n flex: 0,\n paddingLeft: 'var(--table-spacing-sm)',\n paddingTop: 0,\n paddingBottom: 0,\n minWidth: 'var(--table-spacing-md)',\n maxWidth: 'var(--table-spacing-md)',\n }),\n\n resizeHandleContainer: css({\n position: 'absolute',\n right: -3,\n top: 'var(--table-spacing-sm)',\n bottom: 'var(--table-spacing-sm)',\n width: 'var(--table-spacing-sm)',\n display: 'flex',\n justifyContent: 'center',\n cursor: 'col-resize',\n userSelect: 'none',\n touchAction: 'none',\n zIndex: 1,\n }),\n\n resizeHandle: css({\n width: 1,\n background: 'var(--table-resize-handle-color)',\n }),\n\n paginationContainer: css({\n display: 'flex',\n justifyContent: 'flex-end',\n marginTop: 'var(--table-spacing-sm)',\n }),\n};\n\nconst TableContext = createContext<{\n size: 'default' | 'small';\n someRowsSelected?: boolean;\n}>({\n size: 'default',\n});\n\ninterface TableProps {\n size?: 'default' | 'small';\n /** Are any rows currently selected? You must specify this if using `TableRowSelectCell` in your table. */\n someRowsSelected?: boolean;\n /** Style property */\n style?: CSSProperties;\n /** Content slot for providing a pagination component */\n pagination?: React.ReactNode;\n /** Content slot for providing an Empty component */\n empty?: React.ReactNode;\n}\n\nexport const Table: React.FC<TableProps> = ({\n children,\n size = 'default',\n someRowsSelected,\n style,\n pagination,\n empty,\n}): JSX.Element => {\n const { theme } = useDesignSystemTheme();\n const flags = useDesignSystemFlags();\n\n return (\n <TableContext.Provider value={{ size, someRowsSelected }}>\n <div\n // This is a performance optimization; we want to statically create the styles for the table,\n // but for the dynamic theme values, we need to use CSS variables.\n // See: https://emotion.sh/docs/best-practices#advanced-css-variables-with-style\n style={{\n ...style,\n ['--table-header-active-color' as any]: theme.colors.actionDefaultTextPress,\n // This hex is pulled directly from the old table as a temporary style-matching measure.\n ['--table-header-background-color' as any]: flags.USE_UPDATED_TABLE_STYLES ? 'transparent' : '#F2F5F7',\n ['--table-header-focus-color' as any]: theme.colors.actionDefaultTextHover,\n ['--table-header-sort-icon-color' as any]: theme.colors.textSecondary,\n ['--table-header-text-color' as any]: theme.colors.actionDefaultTextDefault,\n ['--table-row-hover' as any]: theme.colors.tableRowHover,\n ['--table-separator-color' as any]: theme.colors.tableSeparatorColor,\n ['--table-resize-handle-color' as any]: flags.USE_UPDATED_TABLE_STYLES\n ? theme.colors.tableSeparatorColor\n : theme.colors.grey400,\n ['--table-spacing-md' as any]: `${theme.spacing.md}px`,\n ['--table-spacing-sm' as any]: `${theme.spacing.sm}px`,\n ['--table-spacing-xs' as any]: `${theme.spacing.xs}px`,\n }}\n >\n <div role=\"table\">\n {children}\n {empty && <div css={{ padding: theme.spacing.lg }}>{empty}</div>}\n </div>\n {!empty && pagination && <div css={tableStyles.paginationContainer}>{pagination}</div>}\n </div>\n </TableContext.Provider>\n );\n};\n\nconst TableRowContext = createContext<{\n isHeader: boolean;\n}>({\n isHeader: false,\n});\n\ninterface TableRowProps {\n isHeader?: boolean;\n /** Vertical alignment of the row's cells. */\n verticalAlignment?: 'top' | 'center';\n}\n\nexport const TableRow: React.FC<TableRowProps> = ({ children, isHeader = false, verticalAlignment = 'top' }) => {\n const { size } = useContext(TableContext);\n const { theme } = useDesignSystemTheme();\n\n // Vertical only be larger if the row is a header AND size is large.\n const shouldUseLargeVerticalPadding = isHeader && size === 'default';\n\n let rowPadding;\n\n if (shouldUseLargeVerticalPadding) {\n rowPadding = theme.spacing.sm;\n } else if (size === 'default') {\n rowPadding = 6;\n } else {\n rowPadding = theme.spacing.xs;\n }\n\n return (\n <TableRowContext.Provider value={{ isHeader }}>\n <div\n css={[tableStyles.row]}\n role=\"row\"\n style={{\n ['--table-row-vertical-padding' as any]: `${rowPadding}px`,\n ['--table-row-vertical-alignment' as any]: verticalAlignment === 'top' ? 'flex-start' : 'center',\n }}\n >\n {children}\n </div>\n </TableRowContext.Provider>\n );\n};\n\ninterface TableCellProps {\n /** Enables single-line ellipsis truncation */\n ellipsis?: boolean;\n /** Style property */\n style?: CSSProperties;\n}\n\nexport const TableCell: React.FC<TableCellProps> = ({ children, ellipsis = false, style }) => {\n const { size } = useContext(TableContext);\n\n let typographySize: TextProps['size'] = 'md';\n\n if (size === 'small') {\n typographySize = 'sm';\n }\n\n return (\n <div css={[tableStyles.cell]} role=\"cell\" style={style}>\n <Typography.Text\n ellipsis={ellipsis}\n size={typographySize}\n title={(ellipsis && typeof children === 'string' && children) || undefined}\n >\n {children}\n </Typography.Text>\n </div>\n );\n};\n\ninterface TableHeaderProps {\n /** Enables single-line ellipsis truncation */\n ellipsis?: boolean;\n /** Is this column sortable? */\n sortable?: boolean;\n /** The current sort direction for this column */\n sortDirection?: 'asc' | 'desc' | 'none';\n /** Callback for when the user requests to toggle `sortDirection` */\n onToggleSort?: (event: unknown) => void;\n /** Style property */\n style?: CSSProperties;\n}\n\nexport const TableHeader: React.FC<TableHeaderProps> = ({\n children,\n ellipsis = false,\n sortable,\n sortDirection,\n onToggleSort,\n style,\n}) => {\n const { size } = useContext(TableContext);\n const { isHeader } = useContext(TableRowContext);\n\n if (!isHeader) {\n throw new Error('`TableHeader` must be used within a `TableRow` with `isHeader` set to true.');\n }\n\n let sortIcon = <></>;\n // While most libaries use `asc` and `desc` for the sort value, the ARIA spec\n // uses `ascending` and `descending`.\n let ariaSort: React.AriaAttributes['aria-sort'];\n\n if (sortable) {\n if (sortDirection === 'asc') {\n sortIcon = <SortAscendingIcon />;\n ariaSort = 'ascending';\n } else if (sortDirection === 'desc') {\n sortIcon = <SortDescendingIcon />;\n ariaSort = 'descending';\n } else if (sortDirection === 'none') {\n sortIcon = <SortUnsortedIcon />;\n ariaSort = 'none';\n }\n }\n\n let typographySize: TextProps['size'] = 'md';\n\n if (size === 'small') {\n typographySize = 'sm';\n }\n\n const textContents = (\n <Typography.Text\n className=\"table-header-text\"\n // If sortable, we must use ellipsis to prevent wrapping and misalignment.\n ellipsis={ellipsis || sortable}\n size={typographySize}\n title={(ellipsis && typeof children === 'string' && children) || undefined}\n >\n {children}\n </Typography.Text>\n );\n\n return (\n <div\n css={[tableStyles.cell, tableStyles.header]}\n role=\"columnheader\"\n aria-sort={(sortable && ariaSort) || undefined}\n onClick={onToggleSort}\n style={{\n ...style,\n }}\n >\n {sortable ? (\n <div\n css={[tableStyles.headerButtonTarget]}\n role=\"button\"\n tabIndex={0}\n onKeyDown={(event) => {\n if (sortable && (event.key === 'Enter' || event.key === ' ')) {\n event.preventDefault();\n return onToggleSort?.(event);\n }\n }}\n >\n {textContents}\n <span className=\"table-header-icon-container\" style={{ marginLeft: 4 }}>\n {sortIcon}\n </span>\n </div>\n ) : (\n textContents\n )}\n </div>\n );\n};\n\ninterface TableHeaderResizeHandleProps {\n /** Style property */\n style?: CSSProperties;\n /** Pass a handler to be called on touchStart */\n resizeHandler?: (event: unknown) => void;\n}\n\nexport const TableHeaderResizeHandle: React.FC<TableHeaderResizeHandleProps> = ({ style, resizeHandler }) => {\n const { isHeader } = useContext(TableRowContext);\n\n if (!isHeader) {\n throw new Error('`TableHeaderResizeHandle` must be used within a `TableRow` with `isHeader` set to true.');\n }\n\n return (\n <div onMouseDown={resizeHandler} onTouchStart={resizeHandler} css={tableStyles.resizeHandleContainer} style={style}>\n <div css={tableStyles.resizeHandle} />\n </div>\n );\n};\n\ntype TableRowSelectCellProps = {\n /** Called when the checkbox is clicked */\n onChange?: (event: unknown) => void;\n /** Whether the checkbox is checked */\n checked?: boolean;\n /** Whether the row is indeterminate. Should only be used in header rows. */\n indeterminate?: boolean;\n /** Don't render a checkbox; used for providing spacing in header if you don't want \"Select All\" functionality */\n noCheckbox?: boolean;\n};\n\nexport const TableRowSelectCell: React.FC<TableRowSelectCellProps> = ({\n onChange,\n checked,\n indeterminate,\n noCheckbox,\n}) => {\n const { isHeader } = useContext(TableRowContext);\n const { someRowsSelected } = useContext(TableContext);\n\n if (typeof someRowsSelected === 'undefined') {\n throw new Error(\n '`TableRowSelectCell` cannot be used unless `someRowsSelected` has been provided to the `Table` component, see documentation.'\n );\n }\n\n if (!isHeader && indeterminate) {\n throw new Error('`TableRowSelectCell` cannot be used with `indeterminate` in a non-header row.');\n }\n\n return (\n <div\n css={tableStyles.checkboxCell}\n style={{\n ['--row-checkbox-opacity' as any]: someRowsSelected ? 1 : 0,\n }}\n role={isHeader ? 'columnheader' : 'cell'}\n // TODO: Ideally we shouldn't need to specify this `className`, but it allows for row-hovering to reveal\n // the checkbox in `TableRow`'s CSS without extra JS pointerin/out events.\n className=\"table-row-select-cell\"\n >\n {!noCheckbox && (\n <Checkbox\n isChecked={checked || (indeterminate && null)}\n onChange={(_checked, event) => onChange?.(event.nativeEvent)}\n />\n )}\n </div>\n );\n};\n\ninterface TableRowMenuContainerProps {\n /** Style property */\n style?: CSSProperties;\n}\n\nexport const TableRowMenuContainer: React.FC<TableRowMenuContainerProps> = ({ children, style }) => {\n return (\n <div css={tableStyles.rowMenuContainer} style={style}>\n {children}\n </div>\n );\n};\n\ninterface TableSkeletonProps {\n /** Number of rows to render */\n lines?: number;\n /** Seed that deterministically arranges the uneven lines, so that they look like ragged text.\n * If you don't provide this (or give each skeleton the same seed) they will all look the same. */\n seed?: string;\n /** Style property */\n style?: CSSProperties;\n}\n\nconst TableSkeletonStyles = {\n container: css({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-start',\n margin: '6px 0',\n gap: 12,\n }),\n\n cell: css({\n width: '100%',\n height: 8,\n borderRadius: 4,\n background: 'var(--table-skeleton-color)',\n }),\n};\n\nexport const TableSkeleton: React.FC<TableSkeletonProps> = ({ lines = 1, seed = '', style }) => {\n const { theme } = useDesignSystemTheme();\n\n // This is a very simple PRNG that is seeded (so that the output is deterministic).\n // We need this in order to produce a random ragged edge for the table skeleton.\n function pseudoRandomNumberGeneratorFromSeed(seed: string) {\n // This is a simple way to get a consistent number from a string;\n // `charCodeAt` returns a number between 0 and 65535, and we then just add them all up.\n const seedValue = seed\n .split('')\n .map((char) => char.charCodeAt(0))\n .reduce((prev, curr) => prev + curr, 0);\n\n // This is a simple sine wave function that will always return a number between 0 and 1.\n // This produces a value akin to `Math.random()`, but has deterministic output.\n // Of course, sine curves are not a perfectly random distribution between 0 and 1, but\n // it's close enough for our purposes.\n return Math.sin(seedValue) / 2 + 0.5;\n }\n\n // This is a simple Fisher-Yates shuffler using the above PRNG.\n function shuffleArray<T>(arr: T[], seed: string): T[] {\n for (let i = arr.length - 1; i > 0; i--) {\n const j = Math.floor(pseudoRandomNumberGeneratorFromSeed(seed + String(i)) * (i + 1));\n [arr[i], arr[j]] = [arr[j], arr[i]];\n }\n return arr;\n }\n\n // Finally, we shuffle a list off offsets to apply to the widths of the cells.\n // This ensures that the cells are not all the same width, but that they are\n // random to produce a more realistic looking skeleton.\n const widths = shuffleArray<number>([48, 24, 0], seed);\n\n return (\n <div\n css={TableSkeletonStyles.container}\n style={{\n ...style,\n // TODO: Pull this from the themes; it's not currently available.\n ['--table-skeleton-color' as any]: theme.isDarkMode ? 'rgba(255, 255, 255, 0.1)' : 'rgba(31, 38, 45, 0.1)',\n }}\n >\n {[...Array(lines)].map((_, idx) => (\n <div key={idx} css={[TableSkeletonStyles.cell, { width: `calc(100% - ${widths[idx % widths.length]}px)` }]} />\n ))}\n </div>\n );\n};\n","import { css } from '@emotion/react';\nimport * as RadixSlider from '@radix-ui/react-slider';\nimport { forwardRef } from 'react';\n\nimport { useDesignSystemTheme } from '../../design-system/Hooks';\nimport type { Theme } from '../../theme';\n\nexport type SliderRootProps = Omit<RadixSlider.SliderProps, 'orientation'>;\nexport type SliderTrackProps = RadixSlider.SliderTrackProps;\nexport type SliderRangeProps = RadixSlider.SliderRangeProps;\nexport type SliderThumbProps = RadixSlider.SliderThumbProps;\n\nconst getRootStyles = () => {\n return css({\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n\n '&[data-orientation=\"vertical\"]': {\n flexDirection: 'column',\n width: 20,\n height: 100,\n },\n\n '&[data-orientation=\"horizontal\"]': {\n height: 20,\n width: 200,\n },\n });\n};\n\nexport const Root = forwardRef<HTMLElement, SliderRootProps>((props: SliderRootProps, ref): JSX.Element => {\n return <RadixSlider.Root css={getRootStyles()} {...props} ref={ref} />;\n});\n\nconst getTrackStyles = (theme: Theme) => {\n return css({\n backgroundColor: theme.colors.grey100,\n position: 'relative',\n flexGrow: 1,\n borderRadius: 9999,\n\n '&[data-orientation=\"vertical\"]': {\n width: 3,\n },\n\n '&[data-orientation=\"horizontal\"]': {\n height: 3,\n },\n });\n};\n\nexport const Track = forwardRef<HTMLElement, SliderTrackProps>((props: SliderTrackProps, ref): JSX.Element => {\n const { theme } = useDesignSystemTheme();\n\n return <RadixSlider.Track css={getTrackStyles(theme)} {...props} ref={ref} />;\n});\n\nconst getRangeStyles = (theme: Theme) => {\n return css({\n backgroundColor: theme.colors.primary,\n position: 'absolute',\n borderRadius: 9999,\n height: '100%',\n\n '&[data-disabled]': {\n backgroundColor: theme.colors.grey100,\n },\n });\n};\n\nexport const Range = forwardRef<HTMLElement, SliderRangeProps>((props: SliderRangeProps, ref): JSX.Element => {\n const { theme } = useDesignSystemTheme();\n\n return <RadixSlider.Range css={getRangeStyles(theme)} {...props} ref={ref} />;\n});\n\nconst getThumbStyles = (theme: Theme) => {\n return css({\n display: 'block',\n width: 20,\n height: 20,\n backgroundColor: theme.colors.actionPrimaryBackgroundDefault,\n boxShadow: `0 2px 4px 0 ${theme.colors.grey400}`,\n borderRadius: 10,\n outline: 'none',\n\n '&:hover': {\n backgroundColor: theme.colors.actionPrimaryBackgroundHover,\n },\n\n '&:focus': {\n backgroundColor: theme.colors.actionPrimaryBackgroundPress,\n },\n\n '&[data-disabled]': {\n backgroundColor: theme.colors.grey200,\n boxShadow: 'none',\n },\n });\n};\n\nexport const Thumb = forwardRef<HTMLElement, SliderThumbProps>((props: SliderThumbProps, ref): JSX.Element => {\n const { theme } = useDesignSystemTheme();\n\n return <RadixSlider.Thumb css={getThumbStyles(theme)} {...props} ref={ref} />;\n});\n"],"names":["filterContextDefaults","label","value","isInsideFilter","multiSelect","setValue","setIsControlled","FilterContext","createContext","FilterContextProvider","children","_jsx","useFilterContext","useContext","Filter","props","isControlled","useState","selectedValue","setSelectedValue","useEffect","Array","isArray","length","every","v","i","Root","stayOpenOnSelection","open","restProps","isOpen","setIsOpen","handleOpenChange","undefined","getFilterButtonContainerStyles","theme","css","display","flexDirection","justifyContent","alignItems","padding","spacing","sm","lg","gap","alignSelf","FilterButtonContainer","useDesignSystemTheme","Error","FilterLoadingSpinner","height","general","heightSm","width","fontSize","getContentWrapperStyles","maxHeight","maxWidth","minHeight","minWidth","background","colors","backgroundPrimary","color","textPrimary","overflow","zIndex","options","zIndexBase","boxSizing","xs","border","boxShadow","shadowLow","borderRadius","colorScheme","isDarkMode","FilterContent","forwardRef","forwardedRef","loading","align","side","sideOffset","getPopupContainer","useDesignSystemContext","getCountBadgeStyles","importantify","tagDefault","borderRadiusBase","fontWeight","typography","typographyBoldFontWeight","fontSizeSm","FilterCountBadge","FilterOptionListContext","FilterOptionListContextProvider","useFilterOptionListContext","getFilterOptionItemWrapperStyles","lineHeight","lineHeightBase","cursor","userSelect","actionTertiaryBackgroundHover","FilterOptionListCheckboxItem","ref","checked","indeterminate","onChange","isInsideFilterOptionList","handleSelect","e","stopPropagation","filterChildren","searchValue","React","Children","map","child","toLowerCase","includes","filter","FilterOptionListSearch","hasWrapper","setSearchValue","handleOnChange","event","target","filteredChildren","cloneElement","_jsxs","textSecondary","textAlign","FilterOptionListSelectItem","outline","key","preventDefault","nextSibling","currentTarget","nextElementSibling","focus","previousSibling","previousElementSibling","marginLeft","FilterOptionControlledList","withProgressiveLoading","withSearch","showSelectAndClearAll","isOptionChecked","reduce","acc","option","handleUpdate","updatedValue","newValue","find","item","handleSelectAll","forEach","renderedOptions","FilterOptionList","FilterSectionHeader","FilterSeparator","margin","borderDecorative","borderBottom","getTriggerWrapperStyles","removable","borderBottomLeftRadius","borderTopLeftRadius","getTriggerStyles","removeButtonInteractionStyles","position","actionDefaultBorderDefault","borderBottomRightRadius","borderTopRightRadius","borderRightColor","actionDefaultBackgroundHover","borderColor","actionDefaultBorderHover","actionDefaultBorderFocus","FilterTrigger","onRemove","withCountBadge","showBadgeAfterValueCount","allowClear","controlled","onClear","handleRemove","console","warn","handleClear","showTooltip","setShowTooltip","triggerContentRef","useRef","current","clientWidth","scrollWidth","concatenatedValues","join","displayedValues","ariaLabel","triggerContent","whiteSpace","textOverflow","marginRight","textPlaceholder","actionTertiaryTextHover","tableStyles","row","cell","rowMenuContainer","header","headerButtonTarget","checkboxCell","resizeHandleContainer","right","top","bottom","touchAction","resizeHandle","paginationContainer","TableContext","size","Table","someRowsSelected","style","pagination","empty","flags","useDesignSystemFlags","actionDefaultTextPress","USE_UPDATED_TABLE_STYLES","actionDefaultTextHover","actionDefaultTextDefault","tableRowHover","tableSeparatorColor","grey400","md","TableRowContext","isHeader","TableRow","verticalAlignment","shouldUseLargeVerticalPadding","rowPadding","TableCell","ellipsis","typographySize","TableHeader","sortable","sortDirection","onToggleSort","sortIcon","ariaSort","textContents","TableHeaderResizeHandle","resizeHandler","TableRowSelectCell","noCheckbox","_checked","nativeEvent","TableRowMenuContainer","TableSkeletonStyles","container","TableSkeleton","lines","seed","pseudoRandomNumberGeneratorFromSeed","seedValue","split","char","charCodeAt","prev","curr","Math","sin","shuffleArray","arr","j","floor","String","widths","_","idx","getRootStyles","getTrackStyles","backgroundColor","grey100","flexGrow","Track","getRangeStyles","primary","Range","getThumbStyles","actionPrimaryBackgroundDefault","actionPrimaryBackgroundHover","actionPrimaryBackgroundPress","grey200","Thumb"],"mappings":"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"}
1
+ {"version":3,"file":"development.js","sources":["../src/development/Slider/Slider.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport * as RadixSlider from '@radix-ui/react-slider';\nimport { forwardRef } from 'react';\n\nimport { useDesignSystemTheme } from '../../design-system/Hooks';\nimport type { Theme } from '../../theme';\n\nexport type SliderRootProps = Omit<RadixSlider.SliderProps, 'orientation'>;\nexport type SliderTrackProps = RadixSlider.SliderTrackProps;\nexport type SliderRangeProps = RadixSlider.SliderRangeProps;\nexport type SliderThumbProps = RadixSlider.SliderThumbProps;\n\nconst getRootStyles = () => {\n return css({\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n\n '&[data-orientation=\"vertical\"]': {\n flexDirection: 'column',\n width: 20,\n height: 100,\n },\n\n '&[data-orientation=\"horizontal\"]': {\n height: 20,\n width: 200,\n },\n });\n};\n\nexport const Root = forwardRef<HTMLElement, SliderRootProps>((props: SliderRootProps, ref): JSX.Element => {\n return <RadixSlider.Root css={getRootStyles()} {...props} ref={ref} />;\n});\n\nconst getTrackStyles = (theme: Theme) => {\n return css({\n backgroundColor: theme.colors.grey100,\n position: 'relative',\n flexGrow: 1,\n borderRadius: 9999,\n\n '&[data-orientation=\"vertical\"]': {\n width: 3,\n },\n\n '&[data-orientation=\"horizontal\"]': {\n height: 3,\n },\n });\n};\n\nexport const Track = forwardRef<HTMLElement, SliderTrackProps>((props: SliderTrackProps, ref): JSX.Element => {\n const { theme } = useDesignSystemTheme();\n\n return <RadixSlider.Track css={getTrackStyles(theme)} {...props} ref={ref} />;\n});\n\nconst getRangeStyles = (theme: Theme) => {\n return css({\n backgroundColor: theme.colors.primary,\n position: 'absolute',\n borderRadius: 9999,\n height: '100%',\n\n '&[data-disabled]': {\n backgroundColor: theme.colors.grey100,\n },\n });\n};\n\nexport const Range = forwardRef<HTMLElement, SliderRangeProps>((props: SliderRangeProps, ref): JSX.Element => {\n const { theme } = useDesignSystemTheme();\n\n return <RadixSlider.Range css={getRangeStyles(theme)} {...props} ref={ref} />;\n});\n\nconst getThumbStyles = (theme: Theme) => {\n return css({\n display: 'block',\n width: 20,\n height: 20,\n backgroundColor: theme.colors.actionPrimaryBackgroundDefault,\n boxShadow: `0 2px 4px 0 ${theme.colors.grey400}`,\n borderRadius: 10,\n outline: 'none',\n\n '&:hover': {\n backgroundColor: theme.colors.actionPrimaryBackgroundHover,\n },\n\n '&:focus': {\n backgroundColor: theme.colors.actionPrimaryBackgroundPress,\n },\n\n '&[data-disabled]': {\n backgroundColor: theme.colors.grey200,\n boxShadow: 'none',\n },\n });\n};\n\nexport const Thumb = forwardRef<HTMLElement, SliderThumbProps>((props: SliderThumbProps, ref): JSX.Element => {\n const { theme } = useDesignSystemTheme();\n\n return <RadixSlider.Thumb css={getThumbStyles(theme)} {...props} ref={ref} />;\n});\n"],"names":["getRootStyles","Root","forwardRef","props","ref","_jsx","getTrackStyles","theme","css","backgroundColor","colors","grey100","position","flexGrow","borderRadius","width","height","Track","useDesignSystemTheme","getRangeStyles","primary","Range","getThumbStyles","display","actionPrimaryBackgroundDefault","boxShadow","grey400","outline","actionPrimaryBackgroundHover","actionPrimaryBackgroundPress","grey200","Thumb"],"mappings":";;;;;;;;AAIiE;EAAA;EAAA;AAAA;EAAA;EAAA;EAAA;AAAA;AAQjE,MAAMA,aAAa,GAAG,MAAM;EAC1B;AAgBF,CAAC;AAEM,MAAMC,IAAI,gBAAGC,UAAU,CAA+B,CAACC,KAAsB,EAAEC,GAAG,KAAkB;EACzG,OAAOC,IAAC,WAAW,CAAC,IAAI;IAAC,GAAG,EAAEL,aAAa,EAAG;IAAA,GAAKG,KAAK;IAAE,GAAG,EAAEC;IAAO;AACxE,CAAC,CAAC;AAEF,MAAME,cAAc,GAAIC,KAAY,IAAK;EACvC,oBAAOC,GAAG,CAAC;IACTC,eAAe,EAAEF,KAAK,CAACG,MAAM,CAACC,OAAO;IACrCC,QAAQ,EAAE,UAAU;IACpBC,QAAQ,EAAE,CAAC;IACXC,YAAY,EAAE,IAAI;IAElB,gCAAgC,EAAE;MAChCC,KAAK,EAAE;KACR;IAED,kCAAkC,EAAE;MAClCC,MAAM,EAAE;;GAEX,wEAAC;AACJ,CAAC;AAEM,MAAMC,KAAK,gBAAGf,UAAU,CAAgC,CAACC,KAAuB,EAAEC,GAAG,KAAkB;EAC5G,MAAM;IAAEG;GAAO,GAAGW,oBAAoB,EAAE;EAExC,OAAOb,IAAC,WAAW,CAAC,KAAK;IAAC,GAAG,EAAEC,cAAc,CAACC,KAAK,CAAE;IAAA,GAAKJ,KAAK;IAAE,GAAG,EAAEC;IAAO;AAC/E,CAAC,CAAC;AAEF,MAAMe,cAAc,GAAIZ,KAAY,IAAK;EACvC,oBAAOC,GAAG,CAAC;IACTC,eAAe,EAAEF,KAAK,CAACG,MAAM,CAACU,OAAO;IACrCR,QAAQ,EAAE,UAAU;IACpBE,YAAY,EAAE,IAAI;IAClBE,MAAM,EAAE,MAAM;IAEd,kBAAkB,EAAE;MAClBP,eAAe,EAAEF,KAAK,CAACG,MAAM,CAACC;;GAEjC,wEAAC;AACJ,CAAC;AAEM,MAAMU,KAAK,gBAAGnB,UAAU,CAAgC,CAACC,KAAuB,EAAEC,GAAG,KAAkB;EAC5G,MAAM;IAAEG;GAAO,GAAGW,oBAAoB,EAAE;EAExC,OAAOb,IAAC,WAAW,CAAC,KAAK;IAAC,GAAG,EAAEc,cAAc,CAACZ,KAAK,CAAE;IAAA,GAAKJ,KAAK;IAAE,GAAG,EAAEC;IAAO;AAC/E,CAAC,CAAC;AAEF,MAAMkB,cAAc,GAAIf,KAAY,IAAK;EACvC,oBAAOC,GAAG,CAAC;IACTe,OAAO,EAAE,OAAO;IAChBR,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVP,eAAe,EAAEF,KAAK,CAACG,MAAM,CAACc,8BAA8B;IAC5DC,SAAS,EAAG,eAAclB,KAAK,CAACG,MAAM,CAACgB,OAAQ,EAAC;IAChDZ,YAAY,EAAE,EAAE;IAChBa,OAAO,EAAE,MAAM;IAEf,SAAS,EAAE;MACTlB,eAAe,EAAEF,KAAK,CAACG,MAAM,CAACkB;KAC/B;IAED,SAAS,EAAE;MACTnB,eAAe,EAAEF,KAAK,CAACG,MAAM,CAACmB;KAC/B;IAED,kBAAkB,EAAE;MAClBpB,eAAe,EAAEF,KAAK,CAACG,MAAM,CAACoB,OAAO;MACrCL,SAAS,EAAE;;GAEd,wEAAC;AACJ,CAAC;AAEM,MAAMM,KAAK,gBAAG7B,UAAU,CAAgC,CAACC,KAAuB,EAAEC,GAAG,KAAkB;EAC5G,MAAM;IAAEG;GAAO,GAAGW,oBAAoB,EAAE;EAExC,OAAOb,IAAC,WAAW,CAAC,KAAK;IAAC,GAAG,EAAEiB,cAAc,CAACf,KAAK,CAAE;IAAA,GAAKJ,KAAK;IAAE,GAAG,EAAEC;IAAO;AAC/E,CAAC,CAAC;;;;;;;;;;;;"}