@databricks/design-system 1.9.2 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. package/dist/{Typography-74e19785.js → Spinner-140f57ac.js} +1080 -27
  2. package/dist/Spinner-140f57ac.js.map +1 -0
  3. package/dist/common-3ab0e300.js +15 -0
  4. package/dist/common-3ab0e300.js.map +1 -0
  5. package/dist/design-system/Button/Button.d.ts +5 -1
  6. package/dist/design-system/Button/Button.d.ts.map +1 -1
  7. package/dist/design-system/Button/styles.d.ts.map +1 -1
  8. package/dist/design-system/Checkbox/Checkbox.d.ts.map +1 -1
  9. package/dist/design-system/DatePicker/DatePicker.d.ts +18 -14
  10. package/dist/design-system/DatePicker/DatePicker.d.ts.map +1 -1
  11. package/dist/design-system/Drawer/Drawer.d.ts +6 -1
  12. package/dist/design-system/Drawer/Drawer.d.ts.map +1 -1
  13. package/dist/design-system/FormV2/RHFAdapters.d.ts +7 -7
  14. package/dist/design-system/FormV2/RHFAdapters.d.ts.map +1 -1
  15. package/dist/design-system/Icon/__generated/icons/index.d.ts +0 -35
  16. package/dist/design-system/Icon/__generated/icons/index.d.ts.map +1 -1
  17. package/dist/design-system/LegacyTable/LegacyTable.d.ts +100 -0
  18. package/dist/design-system/LegacyTable/LegacyTable.d.ts.map +1 -0
  19. package/dist/design-system/LegacyTable/index.d.ts +2 -0
  20. package/dist/design-system/LegacyTable/index.d.ts.map +1 -0
  21. package/dist/design-system/Modal/Modal.d.ts +3 -1
  22. package/dist/design-system/Modal/Modal.d.ts.map +1 -1
  23. package/dist/design-system/Notification/Notification.d.ts.map +1 -1
  24. package/dist/design-system/PageWrapper/PageWrapper.d.ts.map +1 -1
  25. package/dist/design-system/PopoverV2/PopoverV2.d.ts +1 -0
  26. package/dist/design-system/PopoverV2/PopoverV2.d.ts.map +1 -1
  27. package/dist/design-system/Radio/Radio.d.ts.map +1 -1
  28. package/dist/design-system/SegmentedControl/SegmentedControl.d.ts +0 -2
  29. package/dist/design-system/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  30. package/dist/design-system/SplitButton/Dropdown/DropdownButton.d.ts.map +1 -1
  31. package/dist/design-system/Table/index.d.ts +1 -1
  32. package/dist/design-system/index.d.ts +1 -1
  33. package/dist/design-system/index.d.ts.map +1 -1
  34. package/dist/development/Filter/Filter.d.ts +10 -0
  35. package/dist/development/Filter/Filter.d.ts.map +1 -0
  36. package/dist/development/Filter/Filter.test.d.ts +2 -0
  37. package/dist/development/Filter/Filter.test.d.ts.map +1 -0
  38. package/dist/development/Filter/FilterButtonContainer.d.ts +2 -0
  39. package/dist/development/Filter/FilterButtonContainer.d.ts.map +1 -0
  40. package/dist/development/Filter/FilterContent.d.ts +14 -0
  41. package/dist/development/Filter/FilterContent.d.ts.map +1 -0
  42. package/dist/development/Filter/FilterCountBadge.d.ts +2 -0
  43. package/dist/development/Filter/FilterCountBadge.d.ts.map +1 -0
  44. package/dist/development/Filter/FilterLoadingSpinner.d.ts +2 -0
  45. package/dist/development/Filter/FilterLoadingSpinner.d.ts.map +1 -0
  46. package/dist/development/Filter/FilterOptionControlledList.d.ts +9 -0
  47. package/dist/development/Filter/FilterOptionControlledList.d.ts.map +1 -0
  48. package/dist/development/Filter/FilterOptionList.d.ts +10 -0
  49. package/dist/development/Filter/FilterOptionList.d.ts.map +1 -0
  50. package/dist/development/Filter/FilterOptionListCheckboxItem.d.ts +11 -0
  51. package/dist/development/Filter/FilterOptionListCheckboxItem.d.ts.map +1 -0
  52. package/dist/development/Filter/FilterOptionListSearch.d.ts +7 -0
  53. package/dist/development/Filter/FilterOptionListSearch.d.ts.map +1 -0
  54. package/dist/development/Filter/FilterOptionListSelectItem.d.ts +10 -0
  55. package/dist/development/Filter/FilterOptionListSelectItem.d.ts.map +1 -0
  56. package/dist/development/Filter/FilterSectionHeader.d.ts +2 -0
  57. package/dist/development/Filter/FilterSectionHeader.d.ts.map +1 -0
  58. package/dist/development/Filter/FilterSeparator.d.ts +2 -0
  59. package/dist/development/Filter/FilterSeparator.d.ts.map +1 -0
  60. package/dist/development/Filter/FilterTrigger.d.ts +15 -0
  61. package/dist/development/Filter/FilterTrigger.d.ts.map +1 -0
  62. package/dist/development/Filter/hooks/useFilterContext.d.ts +2 -0
  63. package/dist/development/Filter/hooks/useFilterContext.d.ts.map +1 -0
  64. package/dist/development/Filter/hooks/useFilterOptionListContext.d.ts +2 -0
  65. package/dist/development/Filter/hooks/useFilterOptionListContext.d.ts.map +1 -0
  66. package/dist/development/Filter/index.d.ts +14 -0
  67. package/dist/development/Filter/index.d.ts.map +1 -0
  68. package/dist/development/Filter/providers/FilterContext.d.ts +15 -0
  69. package/dist/development/Filter/providers/FilterContext.d.ts.map +1 -0
  70. package/dist/development/Filter/providers/FilterOptionListContext.d.ts +10 -0
  71. package/dist/development/Filter/providers/FilterOptionListContext.d.ts.map +1 -0
  72. package/dist/development/Filter/shared.d.ts +3 -0
  73. package/dist/development/Filter/shared.d.ts.map +1 -0
  74. package/dist/development/TableUI/index.d.ts +19 -0
  75. package/dist/development/TableUI/index.d.ts.map +1 -1
  76. package/dist/development/index.d.ts +1 -0
  77. package/dist/development/index.d.ts.map +1 -1
  78. package/dist/development.js +1052 -52
  79. package/dist/development.js.map +1 -1
  80. package/dist/index.js +573 -1523
  81. package/dist/index.js.map +1 -1
  82. package/dist/test-utils/common.d.ts +11 -0
  83. package/dist/test-utils/common.d.ts.map +1 -0
  84. package/dist/test-utils/enzyme/index.d.ts +1 -0
  85. package/dist/test-utils/enzyme/index.d.ts.map +1 -1
  86. package/dist/test-utils/enzyme/selectEvent.d.ts +42 -0
  87. package/dist/test-utils/enzyme/selectEvent.d.ts.map +1 -0
  88. package/dist/test-utils/enzyme/selectEvent.test.d.ts +2 -0
  89. package/dist/test-utils/enzyme/selectEvent.test.d.ts.map +1 -0
  90. package/dist/test-utils/enzyme/utils.d.ts +33 -0
  91. package/dist/test-utils/enzyme/utils.d.ts.map +1 -0
  92. package/dist/test-utils/enzyme.js +258 -1
  93. package/dist/test-utils/enzyme.js.map +1 -1
  94. package/dist/test-utils/rtl/index.d.ts +1 -0
  95. package/dist/test-utils/rtl/index.d.ts.map +1 -1
  96. package/dist/test-utils/rtl/selectEvent.d.ts +41 -0
  97. package/dist/test-utils/rtl/selectEvent.d.ts.map +1 -0
  98. package/dist/test-utils/rtl/selectEvent.test.d.ts +2 -0
  99. package/dist/test-utils/rtl/selectEvent.test.d.ts.map +1 -0
  100. package/dist/test-utils/rtl.js +135 -1
  101. package/dist/test-utils/rtl.js.map +1 -1
  102. package/dist/test-utils/types.d.ts +1 -14
  103. package/dist/test-utils/types.d.ts.map +1 -1
  104. package/dist/theme/colorList.d.ts +6 -7
  105. package/dist/theme/colorList.d.ts.map +1 -1
  106. package/dist/theme/colors.d.ts +6 -7
  107. package/dist/theme/colors.d.ts.map +1 -1
  108. package/package.json +5 -4
  109. package/dist/Typography-04e40f87.js +0 -1465
  110. package/dist/Typography-04e40f87.js.map +0 -1
  111. package/dist/Typography-52abe0b7.js +0 -1142
  112. package/dist/Typography-52abe0b7.js.map +0 -1
  113. package/dist/Typography-74e19785.js.map +0 -1
  114. package/dist/Typography-84a00e02.js +0 -1465
  115. package/dist/Typography-84a00e02.js.map +0 -1
  116. package/dist/design-system/Icon/__generated/icons/ArrayIcon.v2.d.ts +0 -4
  117. package/dist/design-system/Icon/__generated/icons/ArrayIcon.v2.d.ts.map +0 -1
  118. package/dist/design-system/Icon/__generated/icons/BookmarkBorderIcon.d.ts +0 -4
  119. package/dist/design-system/Icon/__generated/icons/BookmarkBorderIcon.d.ts.map +0 -1
  120. package/dist/design-system/Icon/__generated/icons/BracketsIcon.v2.d.ts +0 -4
  121. package/dist/design-system/Icon/__generated/icons/BracketsIcon.v2.d.ts.map +0 -1
  122. package/dist/design-system/Icon/__generated/icons/CheckCircleBorderIcon.d.ts +0 -4
  123. package/dist/design-system/Icon/__generated/icons/CheckCircleBorderIcon.d.ts.map +0 -1
  124. package/dist/design-system/Icon/__generated/icons/ClusterIcon.d.ts +0 -4
  125. package/dist/design-system/Icon/__generated/icons/ClusterIcon.d.ts.map +0 -1
  126. package/dist/design-system/Icon/__generated/icons/ClustersIcon.d.ts +0 -4
  127. package/dist/design-system/Icon/__generated/icons/ClustersIcon.d.ts.map +0 -1
  128. package/dist/design-system/Icon/__generated/icons/DataMarketplace.v2.d.ts +0 -4
  129. package/dist/design-system/Icon/__generated/icons/DataMarketplace.v2.d.ts.map +0 -1
  130. package/dist/design-system/Icon/__generated/icons/ErrorBorderIcon.d.ts +0 -4
  131. package/dist/design-system/Icon/__generated/icons/ErrorBorderIcon.d.ts.map +0 -1
  132. package/dist/design-system/Icon/__generated/icons/ErrorFillIcon.d.ts +0 -4
  133. package/dist/design-system/Icon/__generated/icons/ErrorFillIcon.d.ts.map +0 -1
  134. package/dist/design-system/Icon/__generated/icons/ExperimentIcon.d.ts +0 -4
  135. package/dist/design-system/Icon/__generated/icons/ExperimentIcon.d.ts.map +0 -1
  136. package/dist/design-system/Icon/__generated/icons/Folder1Icon.d.ts +0 -4
  137. package/dist/design-system/Icon/__generated/icons/Folder1Icon.d.ts.map +0 -1
  138. package/dist/design-system/Icon/__generated/icons/Gear1Icon.d.ts +0 -4
  139. package/dist/design-system/Icon/__generated/icons/Gear1Icon.d.ts.map +0 -1
  140. package/dist/design-system/Icon/__generated/icons/InfoBorderIcon.d.ts +0 -4
  141. package/dist/design-system/Icon/__generated/icons/InfoBorderIcon.d.ts.map +0 -1
  142. package/dist/design-system/Icon/__generated/icons/LifesaverIcon.d.ts +0 -4
  143. package/dist/design-system/Icon/__generated/icons/LifesaverIcon.d.ts.map +0 -1
  144. package/dist/design-system/Icon/__generated/icons/LinkRemoveIcon.d.ts +0 -4
  145. package/dist/design-system/Icon/__generated/icons/LinkRemoveIcon.d.ts.map +0 -1
  146. package/dist/design-system/Icon/__generated/icons/LockBorderIcon.d.ts +0 -4
  147. package/dist/design-system/Icon/__generated/icons/LockBorderIcon.d.ts.map +0 -1
  148. package/dist/design-system/Icon/__generated/icons/MinusCircleBorderIcon.d.ts +0 -4
  149. package/dist/design-system/Icon/__generated/icons/MinusCircleBorderIcon.d.ts.map +0 -1
  150. package/dist/design-system/Icon/__generated/icons/NotificationsOffIcon.v2.d.ts +0 -4
  151. package/dist/design-system/Icon/__generated/icons/NotificationsOffIcon.v2.d.ts.map +0 -1
  152. package/dist/design-system/Icon/__generated/icons/PinBorderIcon.d.ts +0 -4
  153. package/dist/design-system/Icon/__generated/icons/PinBorderIcon.d.ts.map +0 -1
  154. package/dist/design-system/Icon/__generated/icons/PlayCircleBorderIcon.d.ts +0 -4
  155. package/dist/design-system/Icon/__generated/icons/PlayCircleBorderIcon.d.ts.map +0 -1
  156. package/dist/design-system/Icon/__generated/icons/PlusCircleBorderIcon.d.ts +0 -4
  157. package/dist/design-system/Icon/__generated/icons/PlusCircleBorderIcon.d.ts.map +0 -1
  158. package/dist/design-system/Icon/__generated/icons/QueryListViewIcon.d.ts +0 -4
  159. package/dist/design-system/Icon/__generated/icons/QueryListViewIcon.d.ts.map +0 -1
  160. package/dist/design-system/Icon/__generated/icons/QueryNavIcon.d.ts +0 -4
  161. package/dist/design-system/Icon/__generated/icons/QueryNavIcon.d.ts.map +0 -1
  162. package/dist/design-system/Icon/__generated/icons/QuestionMarkBorderIcon.d.ts +0 -4
  163. package/dist/design-system/Icon/__generated/icons/QuestionMarkBorderIcon.d.ts.map +0 -1
  164. package/dist/design-system/Icon/__generated/icons/Redo.d.ts +0 -4
  165. package/dist/design-system/Icon/__generated/icons/Redo.d.ts.map +0 -1
  166. package/dist/design-system/Icon/__generated/icons/RedoIcon.v2.d.ts +0 -4
  167. package/dist/design-system/Icon/__generated/icons/RedoIcon.v2.d.ts.map +0 -1
  168. package/dist/design-system/Icon/__generated/icons/Refresh.d.ts +0 -4
  169. package/dist/design-system/Icon/__generated/icons/Refresh.d.ts.map +0 -1
  170. package/dist/design-system/Icon/__generated/icons/Refresh.v2.d.ts +0 -4
  171. package/dist/design-system/Icon/__generated/icons/Refresh.v2.d.ts.map +0 -1
  172. package/dist/design-system/Icon/__generated/icons/RefreshIcon.v2.d.ts +0 -4
  173. package/dist/design-system/Icon/__generated/icons/RefreshIcon.v2.d.ts.map +0 -1
  174. package/dist/design-system/Icon/__generated/icons/Search1Icon.d.ts +0 -4
  175. package/dist/design-system/Icon/__generated/icons/Search1Icon.d.ts.map +0 -1
  176. package/dist/design-system/Icon/__generated/icons/StarBorderIcon.d.ts +0 -4
  177. package/dist/design-system/Icon/__generated/icons/StarBorderIcon.d.ts.map +0 -1
  178. package/dist/design-system/Icon/__generated/icons/StopCircleBorderIcon.d.ts +0 -4
  179. package/dist/design-system/Icon/__generated/icons/StopCircleBorderIcon.d.ts.map +0 -1
  180. package/dist/design-system/Icon/__generated/icons/StopCricleFillIcon.d.ts +0 -4
  181. package/dist/design-system/Icon/__generated/icons/StopCricleFillIcon.d.ts.map +0 -1
  182. package/dist/design-system/Icon/__generated/icons/Undo.d.ts +0 -4
  183. package/dist/design-system/Icon/__generated/icons/Undo.d.ts.map +0 -1
  184. package/dist/design-system/Icon/__generated/icons/Visible.d.ts +0 -4
  185. package/dist/design-system/Icon/__generated/icons/Visible.d.ts.map +0 -1
  186. package/dist/design-system/Icon/__generated/icons/VisibleOff.d.ts +0 -4
  187. package/dist/design-system/Icon/__generated/icons/VisibleOff.d.ts.map +0 -1
  188. package/dist/design-system/Icon/__generated/icons/WarningBorderIcon.d.ts +0 -4
  189. package/dist/design-system/Icon/__generated/icons/WarningBorderIcon.d.ts.map +0 -1
  190. package/dist/design-system/Icon/__generated/icons/XCircleBorderIcon.d.ts +0 -4
  191. package/dist/design-system/Icon/__generated/icons/XCircleBorderIcon.d.ts.map +0 -1
  192. package/dist/test-utils/enzyme.d.ts +0 -8
  193. package/dist/test-utils/enzyme.d.ts.map +0 -1
  194. package/dist/test-utils/rtl.d.ts +0 -7
  195. package/dist/test-utils/rtl.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"development.js","sources":["../src/development/TableUI/index.tsx","../src/development/Slider/Slider.tsx"],"sourcesContent":["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 '[role=\"cell\"]': {\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 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 padding: '6px 8px',\n boxSizing: 'border-box',\n\n '&[role=\"columnheader\"]': {\n padding: 8,\n },\n }),\n\n cellSmall: css({\n padding: '4px 8px',\n '&[role=\"columnheader\"]': {\n padding: '4px 8px',\n },\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 '[role=\"img\"]': {\n marginLeft: '4px',\n },\n }),\n\n headerButtonTarget: css({\n alignItems: 'flex-end',\n display: 'flex',\n overflow: 'hidden',\n width: '100%',\n }),\n\n checkboxCell: css({\n padding: '0 0 0 8px',\n display: 'flex',\n alignItems: 'center',\n flex: 0,\n }),\n\n resizeHandleContainer: css({\n position: 'absolute',\n right: -3,\n top: 8,\n bottom: 8,\n width: 8,\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\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}\n\nexport const Table: React.FC<TableProps> = ({ children, size = 'default', someRowsSelected, style }): JSX.Element => {\n const { theme } = useDesignSystemTheme();\n\n return (\n <TableContext.Provider value={{ size, someRowsSelected }}>\n <div\n role=\"table\"\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 }}\n >\n {children}\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 return (\n <TableRowContext.Provider value={{ isHeader }}>\n <div\n css={tableStyles.row}\n role=\"row\"\n style={{\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, size === 'small' && tableStyles.cellSmall]} 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 // 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, size === 'small' && tableStyles.cellSmall]}\n role=\"columnheader\"\n aria-sort={(sortable && ariaSort) || undefined}\n style={style}\n >\n {sortable ? (\n <div\n css={[tableStyles.headerButtonTarget]}\n role=\"button\"\n tabIndex={0}\n onClick={onToggleSort}\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 style={{ color: theme.colors.textSecondary }}>{sortIcon}</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 paddingLeft: 8,\n paddingTop: 0,\n paddingBottom: 0,\n flex: 0,\n minWidth: 16,\n maxWidth: 16,\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","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":["tableStyles","row","cell","cellSmall","header","headerButtonTarget","checkboxCell","resizeHandleContainer","css","position","right","top","bottom","width","display","justifyContent","cursor","userSelect","touchAction","zIndex","resizeHandle","TableContext","createContext","size","Table","children","someRowsSelected","style","theme","useDesignSystemTheme","_jsx","colors","tableSeparatorColor","tableRowHover","TableRowContext","isHeader","TableRow","verticalAlignment","TableCell","ellipsis","useContext","typographySize","undefined","TableHeader","sortable","sortDirection","onToggleSort","Error","sortIcon","ariaSort","textContents","_jsxs","event","key","preventDefault","color","textSecondary","TableHeaderResizeHandle","resizeHandler","TableRowSelectCell","onChange","checked","indeterminate","noCheckbox","paddingLeft","paddingTop","paddingBottom","flex","minWidth","maxWidth","_checked","nativeEvent","getRootStyles","Root","forwardRef","props","ref","getTrackStyles","backgroundColor","grey100","flexGrow","borderRadius","height","Track","getRangeStyles","primary","Range","getThumbStyles","actionPrimaryBackgroundDefault","boxShadow","grey400","outline","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 (!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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"}