@databricks/design-system 1.10.0 → 1.10.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.
@@ -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 (!isControlled) {\n setSelectedValue(value);\n }\n }, [value, isControlled]);\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 } 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 { 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 // 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-separator-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\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-separator-color' as any]: theme.colors.tableSeparatorColor,\n ['--table-row-hover' as any]: theme.colors.tableRowHover,\n ['--table-spacing-xs' as any]: `${theme.spacing.xs}px`,\n ['--table-spacing-sm' as any]: `${theme.spacing.sm}px`,\n ['--table-spacing-md' as any]: `${theme.spacing.md}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 { theme } = useDesignSystemTheme();\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 ['--table-header-text-color' as any]: theme.colors.actionDefaultTextDefault,\n ['--table-header-focus-color' as any]: theme.colors.actionDefaultTextHover,\n ['--table-header-active-color' as any]: theme.colors.actionDefaultTextPress,\n ['--table-header-sort-icon-color' as any]: theme.colors.textSecondary,\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","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","Array","isArray","length","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","tableSeparatorColor","tableRowHover","md","TableRowContext","isHeader","TableRow","verticalAlignment","shouldUseLargeVerticalPadding","rowPadding","TableCell","ellipsis","typographySize","TableHeader","sortable","sortDirection","onToggleSort","sortIcon","ariaSort","textContents","actionDefaultTextDefault","actionDefaultTextHover","actionDefaultTextPress","TableHeaderResizeHandle","resizeHandler","TableRowSelectCell","noCheckbox","_checked","nativeEvent","TableRowMenuContainer","TableSkeletonStyles","container","TableSkeleton","lines","seed","pseudoRandomNumberGeneratorFromSeed","seedValue","split","char","charCodeAt","prev","curr","Math","sin","shuffleArray","arr","i","j","floor","String","widths","_","idx","getRootStyles","getTrackStyles","backgroundColor","grey100","flexGrow","Track","getRangeStyles","primary","Range","getThumbStyles","actionPrimaryBackgroundDefault","grey400","actionPrimaryBackgroundHover","actionPrimaryBackgroundPress","grey200","Thumb"],"mappings":"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"}
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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"}
package/dist/flags.d.ts CHANGED
@@ -6,7 +6,8 @@ export declare enum AvailableDesignSystemFlags {
6
6
  'USE_NEW_TREE' = "USE_NEW_TREE",
7
7
  'USE_TRANSPARENT_INPUT' = "USE_TRANSPARENT_INPUT",
8
8
  'USE_NEW_RADIO_STYLES' = "USE_NEW_RADIO_STYLES",
9
- 'USE_NEW_CHECKBOX_STYLES' = "USE_NEW_CHECKBOX_STYLES"
9
+ 'USE_NEW_CHECKBOX_STYLES' = "USE_NEW_CHECKBOX_STYLES",
10
+ 'USE_UPDATED_TABLE_STYLES' = "USE_UPDATED_TABLE_STYLES"
10
11
  }
11
12
  type DesignSystemFlagMetadata = {
12
13
  description: string;
@@ -1 +1 @@
1
- {"version":3,"file":"flags.d.ts","sourceRoot":"","sources":["../src/flags.ts"],"names":[],"mappings":"AAAA,oBAAY,0BAA0B;IACpC,WAAW,cAAc;IACzB,gCAAgC,mCAAmC;IACnE,iBAAiB,oBAAoB;IACrC,eAAe,kBAAkB;IACjC,cAAc,iBAAiB;IAC/B,uBAAuB,0BAA0B;IACjD,sBAAsB,yBAAyB;IAC/C,yBAAyB,4BAA4B;CACtD;AAED,KAAK,wBAAwB,GAAG;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,iCAAiC,EAAE,MAAM,CAAC,0BAA0B,EAAE,wBAAwB,CAiC1G,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"flags.d.ts","sourceRoot":"","sources":["../src/flags.ts"],"names":[],"mappings":"AAAA,oBAAY,0BAA0B;IACpC,WAAW,cAAc;IACzB,gCAAgC,mCAAmC;IACnE,iBAAiB,oBAAoB;IACrC,eAAe,kBAAkB;IACjC,cAAc,iBAAiB;IAC/B,uBAAuB,0BAA0B;IACjD,sBAAsB,yBAAyB;IAC/C,yBAAyB,4BAA4B;IACrD,0BAA0B,6BAA6B;CACxD;AAED,KAAK,wBAAwB,GAAG;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,iCAAiC,EAAE,MAAM,CAAC,0BAA0B,EAAE,wBAAwB,CAsC1G,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC,CAAC"}