@amboss/design-system 1.9.6 → 1.9.7-canary-datatable-2

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 (187) hide show
  1. package/build/cjs/build-tokens/assets/icons.json.js +1 -1
  2. package/build/cjs/build-tokens/assets/icons16.json.js +1 -1
  3. package/build/cjs/src/components/Badge/Badge.js +2 -1
  4. package/build/cjs/src/components/Box/Box.js +3 -2
  5. package/build/cjs/src/components/Button/Button.js +10 -7
  6. package/build/cjs/src/components/Callout/Callout.js +2 -1
  7. package/build/cjs/src/components/Card/Card.js +2 -1
  8. package/build/cjs/src/components/Card/CardBox.js +1 -0
  9. package/build/cjs/src/components/Collapsible/Collapsible.js +7 -4
  10. package/build/cjs/src/components/Column/Columns.js +6 -4
  11. package/build/cjs/src/components/Container/Container.js +2 -1
  12. package/build/cjs/src/components/DataTable/DataTable.js +115 -0
  13. package/build/cjs/src/components/DataTable/TableBody.js +131 -0
  14. package/build/cjs/src/components/DataTable/TableCell.js +48 -0
  15. package/build/cjs/src/components/DataTable/TableFooter.js +22 -0
  16. package/build/cjs/src/components/DataTable/TableHeader.js +175 -0
  17. package/build/cjs/src/components/DataTable/useDataTableSort.js +34 -0
  18. package/build/cjs/src/components/Divider/Divider.js +5 -4
  19. package/build/cjs/src/components/DropdownMenu/DropdownMenu.js +5 -4
  20. package/build/cjs/src/components/Form/Checkbox/Checkbox.js +5 -4
  21. package/build/cjs/src/components/Form/FormErrorMessages/FormErrorMessages.js +1 -0
  22. package/build/cjs/src/components/Form/FormField/FormField.js +4 -2
  23. package/build/cjs/src/components/Form/FormFieldGroup/FormFieldGroup.js +3 -2
  24. package/build/cjs/src/components/Form/FormLabelText/FormLabelText.js +2 -1
  25. package/build/cjs/src/components/Form/Input/Input.js +8 -4
  26. package/build/cjs/src/components/Form/PasswordInput/PasswordInput.js +8 -4
  27. package/build/cjs/src/components/Form/Radio/Radio.js +5 -4
  28. package/build/cjs/src/components/Form/RadioButton/RadioButton.js +6 -4
  29. package/build/cjs/src/components/Form/Select/Select.js +10 -6
  30. package/build/cjs/src/components/Form/Textarea/Textarea.js +7 -3
  31. package/build/cjs/src/components/Form/Toggle/Toggle.js +6 -5
  32. package/build/cjs/src/components/Form/ToggleButton/ToggleButton.js +6 -5
  33. package/build/cjs/src/components/Icon/Icon.js +2 -1
  34. package/build/cjs/src/components/Inline/Inline.js +7 -4
  35. package/build/cjs/src/components/Link/Link.js +2 -1
  36. package/build/cjs/src/components/LoadingSpinner/LoadingSpinner.js +84 -0
  37. package/build/cjs/src/components/Logo/Logo.js +3 -2
  38. package/build/cjs/src/components/MediaItem/MediaItem.js +5 -4
  39. package/build/cjs/src/components/MediaViewerBar/MediaViewerBar.js +4 -3
  40. package/build/cjs/src/components/Notification/Notification.js +5 -3
  41. package/build/cjs/src/components/Patterns/ButtonGroup/ButtonGroup.js +2 -1
  42. package/build/cjs/src/components/Patterns/Modal/Modal.js +7 -6
  43. package/build/cjs/src/components/PictogramButton/PictogramButton.js +12 -3
  44. package/build/cjs/src/components/RoundButton/RoundButton.js +4 -2
  45. package/build/cjs/src/components/SearchResult/SearchResult.js +5 -4
  46. package/build/cjs/src/components/SegmentedProgressBar/SegmentedProgressBar.js +3 -2
  47. package/build/cjs/src/components/Stack/Stack.js +7 -4
  48. package/build/cjs/src/components/SubThemeProvider/SubThemeProvider.js +2 -1
  49. package/build/cjs/src/components/Tabs/Tabs.js +4 -3
  50. package/build/cjs/src/components/Typography/Header/Header.js +24 -6
  51. package/build/cjs/src/components/Typography/StyledText/StyledText.js +4 -3
  52. package/build/cjs/src/components/Typography/Text/Text.js +3 -2
  53. package/build/cjs/src/components/Typography/TextClamped/TextClamped.js +3 -2
  54. package/build/cjs/src/components/VirtualScrollList/VirtualScrollList.js +3 -2
  55. package/build/cjs/src/index.js +6 -0
  56. package/build/cjs/src/shared/ScreenReaderText.js +26 -0
  57. package/build/esm/build-tokens/assets/icons.json.js +1 -1
  58. package/build/esm/build-tokens/assets/icons16.json.js +1 -1
  59. package/build/esm/src/components/Badge/Badge.js +2 -1
  60. package/build/esm/src/components/Badge/Badge.js.map +1 -1
  61. package/build/esm/src/components/Box/Box.js +3 -2
  62. package/build/esm/src/components/Box/Box.js.map +1 -1
  63. package/build/esm/src/components/Button/Button.js +10 -7
  64. package/build/esm/src/components/Button/Button.js.map +1 -1
  65. package/build/esm/src/components/Callout/Callout.js +2 -1
  66. package/build/esm/src/components/Callout/Callout.js.map +1 -1
  67. package/build/esm/src/components/Card/Card.js +2 -1
  68. package/build/esm/src/components/Card/Card.js.map +1 -1
  69. package/build/esm/src/components/Card/CardBox.js +1 -0
  70. package/build/esm/src/components/Card/CardBox.js.map +1 -1
  71. package/build/esm/src/components/Collapsible/Collapsible.js +7 -4
  72. package/build/esm/src/components/Collapsible/Collapsible.js.map +1 -1
  73. package/build/esm/src/components/Column/Columns.d.ts +4 -0
  74. package/build/esm/src/components/Column/Columns.js +6 -4
  75. package/build/esm/src/components/Column/Columns.js.map +1 -1
  76. package/build/esm/src/components/Container/Container.js +2 -1
  77. package/build/esm/src/components/Container/Container.js.map +1 -1
  78. package/build/esm/src/components/DataTable/DataTable.d.ts +49 -0
  79. package/build/esm/src/components/DataTable/DataTable.js +109 -0
  80. package/build/esm/src/components/DataTable/DataTable.js.map +1 -0
  81. package/build/esm/src/components/DataTable/TableBody.d.ts +9 -0
  82. package/build/esm/src/components/DataTable/TableBody.js +123 -0
  83. package/build/esm/src/components/DataTable/TableBody.js.map +1 -0
  84. package/build/esm/src/components/DataTable/TableCell.d.ts +9 -0
  85. package/build/esm/src/components/DataTable/TableCell.js +41 -0
  86. package/build/esm/src/components/DataTable/TableCell.js.map +1 -0
  87. package/build/esm/src/components/DataTable/TableFooter.d.ts +6 -0
  88. package/build/esm/src/components/DataTable/TableFooter.js +15 -0
  89. package/build/esm/src/components/DataTable/TableFooter.js.map +1 -0
  90. package/build/esm/src/components/DataTable/TableHeader.d.ts +9 -0
  91. package/build/esm/src/components/DataTable/TableHeader.js +167 -0
  92. package/build/esm/src/components/DataTable/TableHeader.js.map +1 -0
  93. package/build/esm/src/components/DataTable/index.d.ts +4 -0
  94. package/build/esm/src/components/DataTable/types.d.ts +15 -0
  95. package/build/esm/src/components/DataTable/useDataTableSort.d.ts +14 -0
  96. package/build/esm/src/components/DataTable/useDataTableSort.js +33 -0
  97. package/build/esm/src/components/DataTable/useDataTableSort.js.map +1 -0
  98. package/build/esm/src/components/Divider/Divider.js +5 -4
  99. package/build/esm/src/components/Divider/Divider.js.map +1 -1
  100. package/build/esm/src/components/DropdownMenu/DropdownMenu.js +5 -4
  101. package/build/esm/src/components/DropdownMenu/DropdownMenu.js.map +1 -1
  102. package/build/esm/src/components/Form/Checkbox/Checkbox.js +5 -4
  103. package/build/esm/src/components/Form/Checkbox/Checkbox.js.map +1 -1
  104. package/build/esm/src/components/Form/FormErrorMessages/FormErrorMessages.js +1 -0
  105. package/build/esm/src/components/Form/FormErrorMessages/FormErrorMessages.js.map +1 -1
  106. package/build/esm/src/components/Form/FormField/FormField.d.ts +3 -1
  107. package/build/esm/src/components/Form/FormField/FormField.js +4 -2
  108. package/build/esm/src/components/Form/FormField/FormField.js.map +1 -1
  109. package/build/esm/src/components/Form/FormFieldGroup/FormFieldGroup.js +3 -2
  110. package/build/esm/src/components/Form/FormFieldGroup/FormFieldGroup.js.map +1 -1
  111. package/build/esm/src/components/Form/FormLabelText/FormLabelText.js +2 -1
  112. package/build/esm/src/components/Form/FormLabelText/FormLabelText.js.map +1 -1
  113. package/build/esm/src/components/Form/Input/Input.js +7 -4
  114. package/build/esm/src/components/Form/Input/Input.js.map +1 -1
  115. package/build/esm/src/components/Form/PasswordInput/PasswordInput.js +7 -4
  116. package/build/esm/src/components/Form/PasswordInput/PasswordInput.js.map +1 -1
  117. package/build/esm/src/components/Form/Radio/Radio.js +5 -4
  118. package/build/esm/src/components/Form/Radio/Radio.js.map +1 -1
  119. package/build/esm/src/components/Form/RadioButton/RadioButton.js +6 -4
  120. package/build/esm/src/components/Form/RadioButton/RadioButton.js.map +1 -1
  121. package/build/esm/src/components/Form/Select/Select.js +9 -6
  122. package/build/esm/src/components/Form/Select/Select.js.map +1 -1
  123. package/build/esm/src/components/Form/Textarea/Textarea.js +6 -3
  124. package/build/esm/src/components/Form/Textarea/Textarea.js.map +1 -1
  125. package/build/esm/src/components/Form/Toggle/Toggle.js +6 -5
  126. package/build/esm/src/components/Form/Toggle/Toggle.js.map +1 -1
  127. package/build/esm/src/components/Form/ToggleButton/ToggleButton.js +6 -5
  128. package/build/esm/src/components/Form/ToggleButton/ToggleButton.js.map +1 -1
  129. package/build/esm/src/components/Form/ToggleButtonGroup/ToggleButtonGroup.d.ts +16 -0
  130. package/build/esm/src/components/Icon/Icon.js +2 -1
  131. package/build/esm/src/components/Icon/Icon.js.map +1 -1
  132. package/build/esm/src/components/Inline/Inline.d.ts +3 -1
  133. package/build/esm/src/components/Inline/Inline.js +7 -4
  134. package/build/esm/src/components/Inline/Inline.js.map +1 -1
  135. package/build/esm/src/components/Link/Link.js +2 -1
  136. package/build/esm/src/components/Link/Link.js.map +1 -1
  137. package/build/esm/src/components/LoadingSpinner/LoadingSpinner.d.ts +11 -0
  138. package/build/esm/src/components/LoadingSpinner/LoadingSpinner.js +78 -0
  139. package/build/esm/src/components/LoadingSpinner/LoadingSpinner.js.map +1 -0
  140. package/build/esm/src/components/Logo/Logo.js +3 -2
  141. package/build/esm/src/components/Logo/Logo.js.map +1 -1
  142. package/build/esm/src/components/MediaItem/MediaItem.js +5 -4
  143. package/build/esm/src/components/MediaItem/MediaItem.js.map +1 -1
  144. package/build/esm/src/components/MediaViewerBar/MediaViewerBar.js +4 -3
  145. package/build/esm/src/components/MediaViewerBar/MediaViewerBar.js.map +1 -1
  146. package/build/esm/src/components/Notification/Notification.js +5 -3
  147. package/build/esm/src/components/Notification/Notification.js.map +1 -1
  148. package/build/esm/src/components/Pagination/Pagination.d.ts +13 -0
  149. package/build/esm/src/components/Patterns/ButtonGroup/ButtonGroup.js +2 -1
  150. package/build/esm/src/components/Patterns/ButtonGroup/ButtonGroup.js.map +1 -1
  151. package/build/esm/src/components/Patterns/Modal/Modal.js +7 -6
  152. package/build/esm/src/components/Patterns/Modal/Modal.js.map +1 -1
  153. package/build/esm/src/components/PictogramButton/PictogramButton.d.ts +2 -0
  154. package/build/esm/src/components/PictogramButton/PictogramButton.js +12 -3
  155. package/build/esm/src/components/PictogramButton/PictogramButton.js.map +1 -1
  156. package/build/esm/src/components/RoundButton/RoundButton.js +4 -2
  157. package/build/esm/src/components/RoundButton/RoundButton.js.map +1 -1
  158. package/build/esm/src/components/SearchResult/SearchResult.js +5 -4
  159. package/build/esm/src/components/SearchResult/SearchResult.js.map +1 -1
  160. package/build/esm/src/components/SegmentedProgressBar/SegmentedProgressBar.js +3 -2
  161. package/build/esm/src/components/SegmentedProgressBar/SegmentedProgressBar.js.map +1 -1
  162. package/build/esm/src/components/Stack/Stack.d.ts +3 -1
  163. package/build/esm/src/components/Stack/Stack.js +7 -4
  164. package/build/esm/src/components/Stack/Stack.js.map +1 -1
  165. package/build/esm/src/components/SubThemeProvider/SubThemeProvider.js +2 -1
  166. package/build/esm/src/components/SubThemeProvider/SubThemeProvider.js.map +1 -1
  167. package/build/esm/src/components/Tabs/Tabs.js +4 -3
  168. package/build/esm/src/components/Tabs/Tabs.js.map +1 -1
  169. package/build/esm/src/components/Typography/Header/Header.d.ts +2 -0
  170. package/build/esm/src/components/Typography/Header/Header.js +24 -6
  171. package/build/esm/src/components/Typography/Header/Header.js.map +1 -1
  172. package/build/esm/src/components/Typography/StyledText/StyledText.js +4 -3
  173. package/build/esm/src/components/Typography/StyledText/StyledText.js.map +1 -1
  174. package/build/esm/src/components/Typography/Text/Text.d.ts +2 -0
  175. package/build/esm/src/components/Typography/Text/Text.js +3 -2
  176. package/build/esm/src/components/Typography/Text/Text.js.map +1 -1
  177. package/build/esm/src/components/Typography/TextClamped/TextClamped.js +3 -2
  178. package/build/esm/src/components/Typography/TextClamped/TextClamped.js.map +1 -1
  179. package/build/esm/src/components/VirtualScrollList/VirtualScrollList.js +3 -2
  180. package/build/esm/src/components/VirtualScrollList/VirtualScrollList.js.map +1 -1
  181. package/build/esm/src/index.d.ts +2 -0
  182. package/build/esm/src/index.js +3 -0
  183. package/build/esm/src/index.js.map +1 -1
  184. package/build/esm/src/shared/ScreenReaderText.d.ts +5 -0
  185. package/build/esm/src/shared/ScreenReaderText.js +21 -0
  186. package/build/esm/src/shared/ScreenReaderText.js.map +1 -0
  187. package/package.json +6 -2
@@ -0,0 +1,123 @@
1
+ import _styled from '@emotion/styled/base';
2
+ import React from 'react';
3
+ import TableCell from './TableCell.js';
4
+ import { Text } from '../Typography/Text/Text.js';
5
+ import { LoadingSpinner } from '../LoadingSpinner/LoadingSpinner.js';
6
+
7
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
8
+ const StyledTr = /*#__PURE__*/_styled("tr", process.env.NODE_ENV === "production" ? {
9
+ target: "e1q8il1q2"
10
+ } : {
11
+ target: "e1q8il1q2",
12
+ label: "StyledTr"
13
+ })(_ref => {
14
+ let {
15
+ theme
16
+ } = _ref;
17
+ return {
18
+ "&:hover": {
19
+ backgroundColor: theme.values.color.background.tabs.header
20
+ },
21
+ "&:last-of-type": {
22
+ "& td": {
23
+ borderBottom: "none"
24
+ },
25
+ "& td:first-of-type": {
26
+ borderBottomLeftRadius: theme.variables.size.borderRadius.card.m
27
+ },
28
+ "& td:last-of-type": {
29
+ borderBottomRightRadius: theme.variables.size.borderRadius.card.m
30
+ }
31
+ }
32
+ };
33
+ }, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRhYmxlQm9keS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0JpQiIsImZpbGUiOiJUYWJsZUJvZHkudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IERhdGFUYWJsZUNvbHVtbiB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgVGFibGVDZWxsLCB7IFRhYmxlQ2VsbFByb3BzIH0gZnJvbSBcIi4vVGFibGVDZWxsXCI7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSBcIi4uL1R5cG9ncmFwaHkvVGV4dC9UZXh0XCI7XG5pbXBvcnQgdHlwZSB7IERhdGFUYWJsZVByb3BzIH0gZnJvbSBcIi4vRGF0YVRhYmxlXCI7XG5pbXBvcnQgeyBMb2FkaW5nU3Bpbm5lciB9IGZyb20gXCIuLi9Mb2FkaW5nU3Bpbm5lci9Mb2FkaW5nU3Bpbm5lclwiO1xuXG5leHBvcnQgdHlwZSBUYWJsZUJvZHlQcm9wcyA9IHtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBpc1RhYmxlU2Nyb2xsZWQ6IGJvb2xlYW47XG59ICYgUGljazxcbiAgRGF0YVRhYmxlUHJvcHMsXG4gIFwiY29sdW1uc1wiIHwgXCJyb3dzXCIgfCBcImlzTG9hZGluZ1wiIHwgXCJsb2FkaW5nU3RhdGVTY3JlZW5SZWFkZXJUZXh0XCIgfCBcImlzRW1wdHlcIlxuPjtcblxuY29uc3QgU3R5bGVkVHIgPSBzdHlsZWQudHIoKHsgdGhlbWUgfSkgPT4gKHtcbiAgXCImOmhvdmVyXCI6IHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLnRhYnMuaGVhZGVyLFxuICB9LFxuXG4gIFwiJjpsYXN0LW9mLXR5cGVcIjoge1xuICAgIFwiJiB0ZFwiOiB7XG4gICAgICBib3JkZXJCb3R0b206IFwibm9uZVwiLFxuICAgIH0sXG5cbiAgICBcIiYgdGQ6Zmlyc3Qtb2YtdHlwZVwiOiB7XG4gICAgICBib3JkZXJCb3R0b21MZWZ0UmFkaXVzOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5ib3JkZXJSYWRpdXMuY2FyZC5tLFxuICAgIH0sXG5cbiAgICBcIiYgdGQ6bGFzdC1vZi10eXBlXCI6IHtcbiAgICAgIGJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5ib3JkZXJSYWRpdXMuY2FyZC5tLFxuICAgIH0sXG4gIH0sXG59KSk7XG5cbnR5cGUgU3R5bGVkVGRQcm9wcyA9IFBpY2s8RGF0YVRhYmxlQ29sdW1uLCBcImFsaWduXCI+ICYgVGFibGVDZWxsUHJvcHM7XG5cbmNvbnN0IFN0eWxlZFRkID0gc3R5bGVkKFRhYmxlQ2VsbCk8U3R5bGVkVGRQcm9wcz4oXG4gICh7IHRoZW1lLCBhbGlnbiA9IFwibGVmdFwiIH0pID0+ICh7XG4gICAgcGFkZGluZzogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5tLFxuICAgIHRleHRBbGlnbjogYWxpZ24sXG4gICAgYm9yZGVyQm90dG9tOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkRW1wdHlUZCA9IHN0eWxlZC50ZCh7XG4gIHRleHRBbGlnbjogXCJjZW50ZXJcIixcbn0pO1xuXG50eXBlIEVtcHR5VGFibGVCb2R5UHJvcHMgPSBQaWNrPFRhYmxlQm9keVByb3BzLCBcImNvbHVtbnNcIj4gJiB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdEVsZW1lbnQ7XG59O1xuXG5mdW5jdGlvbiBFbXB0eVRhYmxlQm9keSh7XG4gIGNoaWxkcmVuLFxuICBjb2x1bW5zLFxufTogRW1wdHlUYWJsZUJvZHlQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIHJldHVybiAoXG4gICAgPHRib2R5PlxuICAgICAgPHRyPlxuICAgICAgICA8U3R5bGVkRW1wdHlUZCBjb2xTcGFuPXtjb2x1bW5zLmxlbmd0aH0+e2NoaWxkcmVufTwvU3R5bGVkRW1wdHlUZD5cbiAgICAgIDwvdHI+XG4gICAgPC90Ym9keT5cbiAgKTtcbn1cblxuZnVuY3Rpb24gVGFibGVCb2R5KHtcbiAgY2xhc3NOYW1lLFxuICBjb2x1bW5zLFxuICByb3dzID0gW10sXG4gIGlzVGFibGVTY3JvbGxlZCxcbiAgaXNMb2FkaW5nLFxuICBsb2FkaW5nU3RhdGVTY3JlZW5SZWFkZXJUZXh0ID0gXCJMb2FkaW5nXCIsXG4gIGlzRW1wdHksXG4gIGNoaWxkcmVuLFxufTogUmVhY3QuUHJvcHNXaXRoQ2hpbGRyZW48VGFibGVCb2R5UHJvcHM+KTogUmVhY3QuUmVhY3RFbGVtZW50IHtcbiAgaWYgKGlzTG9hZGluZykge1xuICAgIGNvbnN0IGN1c3RvbUxvYWRpbmdDb250ZW50ID0gY2hpbGRyZW4gJiYgPD57Y2hpbGRyZW59PC8+O1xuICAgIGNvbnN0IGJvZHlDb250ZW50ID0gY3VzdG9tTG9hZGluZ0NvbnRlbnQgfHwgKFxuICAgICAgPExvYWRpbmdTcGlubmVyIHNjcmVlblJlYWRlclRleHQ9e2xvYWRpbmdTdGF0ZVNjcmVlblJlYWRlclRleHR9IC8+XG4gICAgKTtcblxuICAgIHJldHVybiA8RW1wdHlUYWJsZUJvZHkgY29sdW1ucz17Y29sdW1uc30+e2JvZHlDb250ZW50fTwvRW1wdHlUYWJsZUJvZHk+O1xuICB9XG5cbiAgaWYgKGlzRW1wdHkpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPEVtcHR5VGFibGVCb2R5IGNvbHVtbnM9e2NvbHVtbnN9PlxuICAgICAgICA8PntjaGlsZHJlbn08Lz5cbiAgICAgIDwvRW1wdHlUYWJsZUJvZHk+XG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IHJvd0VsZW1lbnRzID0gcm93cy5tYXAoKHJvdykgPT4gKFxuICAgIDxTdHlsZWRUciBrZXk9e3Jvdy5pZH0+XG4gICAgICB7Y29sdW1ucy5tYXAoKHsgbmFtZSwgYWxpZ24sIHJlbmRlckNlbGwgfSkgPT4ge1xuICAgICAgICBjb25zdCBjb250ZW50ID0gcmVuZGVyQ2VsbCA/IChcbiAgICAgICAgICByZW5kZXJDZWxsKHJvdylcbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8VGV4dCBzaXplPVwic1wiIGFsaWduPXthbGlnbn0+XG4gICAgICAgICAgICB7cm93W25hbWVdID8gcm93W25hbWVdIDogXCItLVwifVxuICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxTdHlsZWRUZCBrZXk9e25hbWV9IGFsaWduPXthbGlnbn0gaXNUYWJsZVNjcm9sbGVkPXtpc1RhYmxlU2Nyb2xsZWR9PlxuICAgICAgICAgICAge2NvbnRlbnR9XG4gICAgICAgICAgPC9TdHlsZWRUZD5cbiAgICAgICAgKTtcbiAgICAgIH0pfVxuICAgIDwvU3R5bGVkVHI+XG4gICkpO1xuXG4gIHJldHVybiA8dGJvZHkgY2xhc3NOYW1lPXtjbGFzc05hbWV9Pntyb3dFbGVtZW50c308L3Rib2R5Pjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgUmVhY3QubWVtbyhUYWJsZUJvZHkpO1xuIl19 */");
34
+ const StyledTd = /*#__PURE__*/_styled(TableCell, process.env.NODE_ENV === "production" ? {
35
+ target: "e1q8il1q1"
36
+ } : {
37
+ target: "e1q8il1q1",
38
+ label: "StyledTd"
39
+ })(_ref2 => {
40
+ let {
41
+ theme,
42
+ align = "left"
43
+ } = _ref2;
44
+ return {
45
+ padding: theme.variables.size.spacing.m,
46
+ textAlign: align,
47
+ borderBottom: `1px solid ${theme.values.color.divider.primary}`
48
+ };
49
+ }, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRhYmxlQm9keS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0NpQiIsImZpbGUiOiJUYWJsZUJvZHkudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IERhdGFUYWJsZUNvbHVtbiB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgVGFibGVDZWxsLCB7IFRhYmxlQ2VsbFByb3BzIH0gZnJvbSBcIi4vVGFibGVDZWxsXCI7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSBcIi4uL1R5cG9ncmFwaHkvVGV4dC9UZXh0XCI7XG5pbXBvcnQgdHlwZSB7IERhdGFUYWJsZVByb3BzIH0gZnJvbSBcIi4vRGF0YVRhYmxlXCI7XG5pbXBvcnQgeyBMb2FkaW5nU3Bpbm5lciB9IGZyb20gXCIuLi9Mb2FkaW5nU3Bpbm5lci9Mb2FkaW5nU3Bpbm5lclwiO1xuXG5leHBvcnQgdHlwZSBUYWJsZUJvZHlQcm9wcyA9IHtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBpc1RhYmxlU2Nyb2xsZWQ6IGJvb2xlYW47XG59ICYgUGljazxcbiAgRGF0YVRhYmxlUHJvcHMsXG4gIFwiY29sdW1uc1wiIHwgXCJyb3dzXCIgfCBcImlzTG9hZGluZ1wiIHwgXCJsb2FkaW5nU3RhdGVTY3JlZW5SZWFkZXJUZXh0XCIgfCBcImlzRW1wdHlcIlxuPjtcblxuY29uc3QgU3R5bGVkVHIgPSBzdHlsZWQudHIoKHsgdGhlbWUgfSkgPT4gKHtcbiAgXCImOmhvdmVyXCI6IHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLnRhYnMuaGVhZGVyLFxuICB9LFxuXG4gIFwiJjpsYXN0LW9mLXR5cGVcIjoge1xuICAgIFwiJiB0ZFwiOiB7XG4gICAgICBib3JkZXJCb3R0b206IFwibm9uZVwiLFxuICAgIH0sXG5cbiAgICBcIiYgdGQ6Zmlyc3Qtb2YtdHlwZVwiOiB7XG4gICAgICBib3JkZXJCb3R0b21MZWZ0UmFkaXVzOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5ib3JkZXJSYWRpdXMuY2FyZC5tLFxuICAgIH0sXG5cbiAgICBcIiYgdGQ6bGFzdC1vZi10eXBlXCI6IHtcbiAgICAgIGJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5ib3JkZXJSYWRpdXMuY2FyZC5tLFxuICAgIH0sXG4gIH0sXG59KSk7XG5cbnR5cGUgU3R5bGVkVGRQcm9wcyA9IFBpY2s8RGF0YVRhYmxlQ29sdW1uLCBcImFsaWduXCI+ICYgVGFibGVDZWxsUHJvcHM7XG5cbmNvbnN0IFN0eWxlZFRkID0gc3R5bGVkKFRhYmxlQ2VsbCk8U3R5bGVkVGRQcm9wcz4oXG4gICh7IHRoZW1lLCBhbGlnbiA9IFwibGVmdFwiIH0pID0+ICh7XG4gICAgcGFkZGluZzogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5tLFxuICAgIHRleHRBbGlnbjogYWxpZ24sXG4gICAgYm9yZGVyQm90dG9tOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkRW1wdHlUZCA9IHN0eWxlZC50ZCh7XG4gIHRleHRBbGlnbjogXCJjZW50ZXJcIixcbn0pO1xuXG50eXBlIEVtcHR5VGFibGVCb2R5UHJvcHMgPSBQaWNrPFRhYmxlQm9keVByb3BzLCBcImNvbHVtbnNcIj4gJiB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdEVsZW1lbnQ7XG59O1xuXG5mdW5jdGlvbiBFbXB0eVRhYmxlQm9keSh7XG4gIGNoaWxkcmVuLFxuICBjb2x1bW5zLFxufTogRW1wdHlUYWJsZUJvZHlQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIHJldHVybiAoXG4gICAgPHRib2R5PlxuICAgICAgPHRyPlxuICAgICAgICA8U3R5bGVkRW1wdHlUZCBjb2xTcGFuPXtjb2x1bW5zLmxlbmd0aH0+e2NoaWxkcmVufTwvU3R5bGVkRW1wdHlUZD5cbiAgICAgIDwvdHI+XG4gICAgPC90Ym9keT5cbiAgKTtcbn1cblxuZnVuY3Rpb24gVGFibGVCb2R5KHtcbiAgY2xhc3NOYW1lLFxuICBjb2x1bW5zLFxuICByb3dzID0gW10sXG4gIGlzVGFibGVTY3JvbGxlZCxcbiAgaXNMb2FkaW5nLFxuICBsb2FkaW5nU3RhdGVTY3JlZW5SZWFkZXJUZXh0ID0gXCJMb2FkaW5nXCIsXG4gIGlzRW1wdHksXG4gIGNoaWxkcmVuLFxufTogUmVhY3QuUHJvcHNXaXRoQ2hpbGRyZW48VGFibGVCb2R5UHJvcHM+KTogUmVhY3QuUmVhY3RFbGVtZW50IHtcbiAgaWYgKGlzTG9hZGluZykge1xuICAgIGNvbnN0IGN1c3RvbUxvYWRpbmdDb250ZW50ID0gY2hpbGRyZW4gJiYgPD57Y2hpbGRyZW59PC8+O1xuICAgIGNvbnN0IGJvZHlDb250ZW50ID0gY3VzdG9tTG9hZGluZ0NvbnRlbnQgfHwgKFxuICAgICAgPExvYWRpbmdTcGlubmVyIHNjcmVlblJlYWRlclRleHQ9e2xvYWRpbmdTdGF0ZVNjcmVlblJlYWRlclRleHR9IC8+XG4gICAgKTtcblxuICAgIHJldHVybiA8RW1wdHlUYWJsZUJvZHkgY29sdW1ucz17Y29sdW1uc30+e2JvZHlDb250ZW50fTwvRW1wdHlUYWJsZUJvZHk+O1xuICB9XG5cbiAgaWYgKGlzRW1wdHkpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPEVtcHR5VGFibGVCb2R5IGNvbHVtbnM9e2NvbHVtbnN9PlxuICAgICAgICA8PntjaGlsZHJlbn08Lz5cbiAgICAgIDwvRW1wdHlUYWJsZUJvZHk+XG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IHJvd0VsZW1lbnRzID0gcm93cy5tYXAoKHJvdykgPT4gKFxuICAgIDxTdHlsZWRUciBrZXk9e3Jvdy5pZH0+XG4gICAgICB7Y29sdW1ucy5tYXAoKHsgbmFtZSwgYWxpZ24sIHJlbmRlckNlbGwgfSkgPT4ge1xuICAgICAgICBjb25zdCBjb250ZW50ID0gcmVuZGVyQ2VsbCA/IChcbiAgICAgICAgICByZW5kZXJDZWxsKHJvdylcbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8VGV4dCBzaXplPVwic1wiIGFsaWduPXthbGlnbn0+XG4gICAgICAgICAgICB7cm93W25hbWVdID8gcm93W25hbWVdIDogXCItLVwifVxuICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxTdHlsZWRUZCBrZXk9e25hbWV9IGFsaWduPXthbGlnbn0gaXNUYWJsZVNjcm9sbGVkPXtpc1RhYmxlU2Nyb2xsZWR9PlxuICAgICAgICAgICAge2NvbnRlbnR9XG4gICAgICAgICAgPC9TdHlsZWRUZD5cbiAgICAgICAgKTtcbiAgICAgIH0pfVxuICAgIDwvU3R5bGVkVHI+XG4gICkpO1xuXG4gIHJldHVybiA8dGJvZHkgY2xhc3NOYW1lPXtjbGFzc05hbWV9Pntyb3dFbGVtZW50c308L3Rib2R5Pjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgUmVhY3QubWVtbyhUYWJsZUJvZHkpO1xuIl19 */");
50
+ const StyledEmptyTd = /*#__PURE__*/_styled("td", process.env.NODE_ENV === "production" ? {
51
+ target: "e1q8il1q0"
52
+ } : {
53
+ target: "e1q8il1q0",
54
+ label: "StyledEmptyTd"
55
+ })(process.env.NODE_ENV === "production" ? {
56
+ name: "1azakc",
57
+ styles: "text-align:center"
58
+ } : {
59
+ name: "1azakc",
60
+ styles: "text-align:center",
61
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRhYmxlQm9keS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOENzQiIsImZpbGUiOiJUYWJsZUJvZHkudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IERhdGFUYWJsZUNvbHVtbiB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgVGFibGVDZWxsLCB7IFRhYmxlQ2VsbFByb3BzIH0gZnJvbSBcIi4vVGFibGVDZWxsXCI7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSBcIi4uL1R5cG9ncmFwaHkvVGV4dC9UZXh0XCI7XG5pbXBvcnQgdHlwZSB7IERhdGFUYWJsZVByb3BzIH0gZnJvbSBcIi4vRGF0YVRhYmxlXCI7XG5pbXBvcnQgeyBMb2FkaW5nU3Bpbm5lciB9IGZyb20gXCIuLi9Mb2FkaW5nU3Bpbm5lci9Mb2FkaW5nU3Bpbm5lclwiO1xuXG5leHBvcnQgdHlwZSBUYWJsZUJvZHlQcm9wcyA9IHtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBpc1RhYmxlU2Nyb2xsZWQ6IGJvb2xlYW47XG59ICYgUGljazxcbiAgRGF0YVRhYmxlUHJvcHMsXG4gIFwiY29sdW1uc1wiIHwgXCJyb3dzXCIgfCBcImlzTG9hZGluZ1wiIHwgXCJsb2FkaW5nU3RhdGVTY3JlZW5SZWFkZXJUZXh0XCIgfCBcImlzRW1wdHlcIlxuPjtcblxuY29uc3QgU3R5bGVkVHIgPSBzdHlsZWQudHIoKHsgdGhlbWUgfSkgPT4gKHtcbiAgXCImOmhvdmVyXCI6IHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLnRhYnMuaGVhZGVyLFxuICB9LFxuXG4gIFwiJjpsYXN0LW9mLXR5cGVcIjoge1xuICAgIFwiJiB0ZFwiOiB7XG4gICAgICBib3JkZXJCb3R0b206IFwibm9uZVwiLFxuICAgIH0sXG5cbiAgICBcIiYgdGQ6Zmlyc3Qtb2YtdHlwZVwiOiB7XG4gICAgICBib3JkZXJCb3R0b21MZWZ0UmFkaXVzOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5ib3JkZXJSYWRpdXMuY2FyZC5tLFxuICAgIH0sXG5cbiAgICBcIiYgdGQ6bGFzdC1vZi10eXBlXCI6IHtcbiAgICAgIGJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5ib3JkZXJSYWRpdXMuY2FyZC5tLFxuICAgIH0sXG4gIH0sXG59KSk7XG5cbnR5cGUgU3R5bGVkVGRQcm9wcyA9IFBpY2s8RGF0YVRhYmxlQ29sdW1uLCBcImFsaWduXCI+ICYgVGFibGVDZWxsUHJvcHM7XG5cbmNvbnN0IFN0eWxlZFRkID0gc3R5bGVkKFRhYmxlQ2VsbCk8U3R5bGVkVGRQcm9wcz4oXG4gICh7IHRoZW1lLCBhbGlnbiA9IFwibGVmdFwiIH0pID0+ICh7XG4gICAgcGFkZGluZzogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5tLFxuICAgIHRleHRBbGlnbjogYWxpZ24sXG4gICAgYm9yZGVyQm90dG9tOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkRW1wdHlUZCA9IHN0eWxlZC50ZCh7XG4gIHRleHRBbGlnbjogXCJjZW50ZXJcIixcbn0pO1xuXG50eXBlIEVtcHR5VGFibGVCb2R5UHJvcHMgPSBQaWNrPFRhYmxlQm9keVByb3BzLCBcImNvbHVtbnNcIj4gJiB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdEVsZW1lbnQ7XG59O1xuXG5mdW5jdGlvbiBFbXB0eVRhYmxlQm9keSh7XG4gIGNoaWxkcmVuLFxuICBjb2x1bW5zLFxufTogRW1wdHlUYWJsZUJvZHlQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIHJldHVybiAoXG4gICAgPHRib2R5PlxuICAgICAgPHRyPlxuICAgICAgICA8U3R5bGVkRW1wdHlUZCBjb2xTcGFuPXtjb2x1bW5zLmxlbmd0aH0+e2NoaWxkcmVufTwvU3R5bGVkRW1wdHlUZD5cbiAgICAgIDwvdHI+XG4gICAgPC90Ym9keT5cbiAgKTtcbn1cblxuZnVuY3Rpb24gVGFibGVCb2R5KHtcbiAgY2xhc3NOYW1lLFxuICBjb2x1bW5zLFxuICByb3dzID0gW10sXG4gIGlzVGFibGVTY3JvbGxlZCxcbiAgaXNMb2FkaW5nLFxuICBsb2FkaW5nU3RhdGVTY3JlZW5SZWFkZXJUZXh0ID0gXCJMb2FkaW5nXCIsXG4gIGlzRW1wdHksXG4gIGNoaWxkcmVuLFxufTogUmVhY3QuUHJvcHNXaXRoQ2hpbGRyZW48VGFibGVCb2R5UHJvcHM+KTogUmVhY3QuUmVhY3RFbGVtZW50IHtcbiAgaWYgKGlzTG9hZGluZykge1xuICAgIGNvbnN0IGN1c3RvbUxvYWRpbmdDb250ZW50ID0gY2hpbGRyZW4gJiYgPD57Y2hpbGRyZW59PC8+O1xuICAgIGNvbnN0IGJvZHlDb250ZW50ID0gY3VzdG9tTG9hZGluZ0NvbnRlbnQgfHwgKFxuICAgICAgPExvYWRpbmdTcGlubmVyIHNjcmVlblJlYWRlclRleHQ9e2xvYWRpbmdTdGF0ZVNjcmVlblJlYWRlclRleHR9IC8+XG4gICAgKTtcblxuICAgIHJldHVybiA8RW1wdHlUYWJsZUJvZHkgY29sdW1ucz17Y29sdW1uc30+e2JvZHlDb250ZW50fTwvRW1wdHlUYWJsZUJvZHk+O1xuICB9XG5cbiAgaWYgKGlzRW1wdHkpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPEVtcHR5VGFibGVCb2R5IGNvbHVtbnM9e2NvbHVtbnN9PlxuICAgICAgICA8PntjaGlsZHJlbn08Lz5cbiAgICAgIDwvRW1wdHlUYWJsZUJvZHk+XG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IHJvd0VsZW1lbnRzID0gcm93cy5tYXAoKHJvdykgPT4gKFxuICAgIDxTdHlsZWRUciBrZXk9e3Jvdy5pZH0+XG4gICAgICB7Y29sdW1ucy5tYXAoKHsgbmFtZSwgYWxpZ24sIHJlbmRlckNlbGwgfSkgPT4ge1xuICAgICAgICBjb25zdCBjb250ZW50ID0gcmVuZGVyQ2VsbCA/IChcbiAgICAgICAgICByZW5kZXJDZWxsKHJvdylcbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8VGV4dCBzaXplPVwic1wiIGFsaWduPXthbGlnbn0+XG4gICAgICAgICAgICB7cm93W25hbWVdID8gcm93W25hbWVdIDogXCItLVwifVxuICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxTdHlsZWRUZCBrZXk9e25hbWV9IGFsaWduPXthbGlnbn0gaXNUYWJsZVNjcm9sbGVkPXtpc1RhYmxlU2Nyb2xsZWR9PlxuICAgICAgICAgICAge2NvbnRlbnR9XG4gICAgICAgICAgPC9TdHlsZWRUZD5cbiAgICAgICAgKTtcbiAgICAgIH0pfVxuICAgIDwvU3R5bGVkVHI+XG4gICkpO1xuXG4gIHJldHVybiA8dGJvZHkgY2xhc3NOYW1lPXtjbGFzc05hbWV9Pntyb3dFbGVtZW50c308L3Rib2R5Pjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgUmVhY3QubWVtbyhUYWJsZUJvZHkpO1xuIl19 */",
62
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
63
+ });
64
+ function EmptyTableBody(_ref3) {
65
+ let {
66
+ children,
67
+ columns
68
+ } = _ref3;
69
+ return /*#__PURE__*/React.createElement("tbody", null, /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement(StyledEmptyTd, {
70
+ colSpan: columns.length
71
+ }, children)));
72
+ }
73
+ function TableBody(_ref4) {
74
+ let {
75
+ className,
76
+ columns,
77
+ rows = [],
78
+ isTableScrolled,
79
+ isLoading,
80
+ loadingStateScreenReaderText = "Loading",
81
+ isEmpty,
82
+ children
83
+ } = _ref4;
84
+ if (isLoading) {
85
+ const customLoadingContent = children && /*#__PURE__*/React.createElement(React.Fragment, null, children);
86
+ const bodyContent = customLoadingContent || /*#__PURE__*/React.createElement(LoadingSpinner, {
87
+ screenReaderText: loadingStateScreenReaderText
88
+ });
89
+ return /*#__PURE__*/React.createElement(EmptyTableBody, {
90
+ columns: columns
91
+ }, bodyContent);
92
+ }
93
+ if (isEmpty) {
94
+ return /*#__PURE__*/React.createElement(EmptyTableBody, {
95
+ columns: columns
96
+ }, /*#__PURE__*/React.createElement(React.Fragment, null, children));
97
+ }
98
+ const rowElements = rows.map(row => /*#__PURE__*/React.createElement(StyledTr, {
99
+ key: row.id
100
+ }, columns.map(_ref5 => {
101
+ let {
102
+ name,
103
+ align,
104
+ renderCell
105
+ } = _ref5;
106
+ const content = renderCell ? renderCell(row) : /*#__PURE__*/React.createElement(Text, {
107
+ size: "s",
108
+ align: align
109
+ }, row[name] ? row[name] : "--");
110
+ return /*#__PURE__*/React.createElement(StyledTd, {
111
+ key: name,
112
+ align: align,
113
+ isTableScrolled: isTableScrolled
114
+ }, content);
115
+ })));
116
+ return /*#__PURE__*/React.createElement("tbody", {
117
+ className: className
118
+ }, rowElements);
119
+ }
120
+ var TableBody$1 = /*#__PURE__*/React.memo(TableBody);
121
+
122
+ export { TableBody$1 as default };
123
+ //# sourceMappingURL=TableBody.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableBody.js","sources":["../../../../../src/components/DataTable/TableBody.tsx"],"sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\nimport type { DataTableColumn } from \"./types\";\nimport TableCell, { TableCellProps } from \"./TableCell\";\nimport { Text } from \"../Typography/Text/Text\";\nimport type { DataTableProps } from \"./DataTable\";\nimport { LoadingSpinner } from \"../LoadingSpinner/LoadingSpinner\";\n\nexport type TableBodyProps = {\n className?: string;\n isTableScrolled: boolean;\n} & Pick<\n DataTableProps,\n \"columns\" | \"rows\" | \"isLoading\" | \"loadingStateScreenReaderText\" | \"isEmpty\"\n>;\n\nconst StyledTr = styled.tr(({ theme }) => ({\n \"&:hover\": {\n backgroundColor: theme.values.color.background.tabs.header,\n },\n\n \"&:last-of-type\": {\n \"& td\": {\n borderBottom: \"none\",\n },\n\n \"& td:first-of-type\": {\n borderBottomLeftRadius: theme.variables.size.borderRadius.card.m,\n },\n\n \"& td:last-of-type\": {\n borderBottomRightRadius: theme.variables.size.borderRadius.card.m,\n },\n },\n}));\n\ntype StyledTdProps = Pick<DataTableColumn, \"align\"> & TableCellProps;\n\nconst StyledTd = styled(TableCell)<StyledTdProps>(\n ({ theme, align = \"left\" }) => ({\n padding: theme.variables.size.spacing.m,\n textAlign: align,\n borderBottom: `1px solid ${theme.values.color.divider.primary}`,\n })\n);\n\nconst StyledEmptyTd = styled.td({\n textAlign: \"center\",\n});\n\ntype EmptyTableBodyProps = Pick<TableBodyProps, \"columns\"> & {\n children: React.ReactElement;\n};\n\nfunction EmptyTableBody({\n children,\n columns,\n}: EmptyTableBodyProps): React.ReactElement {\n return (\n <tbody>\n <tr>\n <StyledEmptyTd colSpan={columns.length}>{children}</StyledEmptyTd>\n </tr>\n </tbody>\n );\n}\n\nfunction TableBody({\n className,\n columns,\n rows = [],\n isTableScrolled,\n isLoading,\n loadingStateScreenReaderText = \"Loading\",\n isEmpty,\n children,\n}: React.PropsWithChildren<TableBodyProps>): React.ReactElement {\n if (isLoading) {\n const customLoadingContent = children && <>{children}</>;\n const bodyContent = customLoadingContent || (\n <LoadingSpinner screenReaderText={loadingStateScreenReaderText} />\n );\n\n return <EmptyTableBody columns={columns}>{bodyContent}</EmptyTableBody>;\n }\n\n if (isEmpty) {\n return (\n <EmptyTableBody columns={columns}>\n <>{children}</>\n </EmptyTableBody>\n );\n }\n\n const rowElements = rows.map((row) => (\n <StyledTr key={row.id}>\n {columns.map(({ name, align, renderCell }) => {\n const content = renderCell ? (\n renderCell(row)\n ) : (\n <Text size=\"s\" align={align}>\n {row[name] ? row[name] : \"--\"}\n </Text>\n );\n\n return (\n <StyledTd key={name} align={align} isTableScrolled={isTableScrolled}>\n {content}\n </StyledTd>\n );\n })}\n </StyledTr>\n ));\n\n return <tbody className={className}>{rowElements}</tbody>;\n}\n\nexport default React.memo(TableBody);\n"],"names":["StyledTr","_styled","process","env","NODE_ENV","target","label","_ref","theme","backgroundColor","values","color","background","tabs","header","borderBottom","borderBottomLeftRadius","variables","size","borderRadius","card","m","borderBottomRightRadius","StyledTd","TableCell","_ref2","align","padding","spacing","textAlign","divider","primary","StyledEmptyTd","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","EmptyTableBody","_ref3","children","columns","React","createElement","colSpan","length","TableBody","_ref4","className","rows","isTableScrolled","isLoading","loadingStateScreenReaderText","isEmpty","customLoadingContent","Fragment","bodyContent","LoadingSpinner","screenReaderText","rowElements","row","key","id","_ref5","renderCell","content","Text","memo"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ export declare type TableCellProps = {
3
+ isTableScrolled: boolean;
4
+ };
5
+ declare const TableCell: import("@emotion/styled").StyledComponent<{
6
+ theme?: import("@emotion/react").Theme;
7
+ as?: import("react").ElementType<any>;
8
+ } & TableCellProps, import("react").DetailedHTMLProps<import("react").TdHTMLAttributes<HTMLTableDataCellElement>, HTMLTableDataCellElement>, {}>;
9
+ export default TableCell;
@@ -0,0 +1,41 @@
1
+ import _styled from '@emotion/styled/base';
2
+
3
+ const TableCell = /*#__PURE__*/_styled("td", process.env.NODE_ENV === "production" ? {
4
+ target: "e1ez0ram0"
5
+ } : {
6
+ target: "e1ez0ram0",
7
+ label: "TableCell"
8
+ })(_ref => {
9
+ let {
10
+ theme,
11
+ isTableScrolled
12
+ } = _ref;
13
+ return {
14
+ ...(isTableScrolled && {
15
+ "&:first-of-type": {
16
+ position: "sticky",
17
+ left: 0,
18
+ boxShadow: theme.variables.shadow.card.a,
19
+ "&:before": {
20
+ content: '" "',
21
+ position: "absolute",
22
+ top: 0,
23
+ left: 0,
24
+ right: 0,
25
+ bottom: 0,
26
+ backgroundColor: theme.values.color.background.layer_1,
27
+ backgroundClip: "content-box",
28
+ padding: "0 0 1px 0",
29
+ zIndex: -1
30
+ },
31
+ "tr:hover &:before": {
32
+ backgroundColor: theme.values.color.background.tabs.header
33
+ }
34
+ }
35
+ })
36
+ };
37
+ }, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRhYmxlQ2VsbC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTWtCIiwiZmlsZSI6IlRhYmxlQ2VsbC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcblxuZXhwb3J0IHR5cGUgVGFibGVDZWxsUHJvcHMgPSB7XG4gIGlzVGFibGVTY3JvbGxlZDogYm9vbGVhbjtcbn07XG5cbmNvbnN0IFRhYmxlQ2VsbCA9IHN0eWxlZC50ZDxUYWJsZUNlbGxQcm9wcz4oKHsgdGhlbWUsIGlzVGFibGVTY3JvbGxlZCB9KSA9PiAoe1xuICAuLi4oaXNUYWJsZVNjcm9sbGVkICYmIHtcbiAgICBcIiY6Zmlyc3Qtb2YtdHlwZVwiOiB7XG4gICAgICBwb3NpdGlvbjogXCJzdGlja3lcIixcbiAgICAgIGxlZnQ6IDAsXG4gICAgICBib3hTaGFkb3c6IHRoZW1lLnZhcmlhYmxlcy5zaGFkb3cuY2FyZC5hLFxuXG4gICAgICBcIiY6YmVmb3JlXCI6IHtcbiAgICAgICAgY29udGVudDogJ1wiIFwiJyxcbiAgICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgICAgdG9wOiAwLFxuICAgICAgICBsZWZ0OiAwLFxuICAgICAgICByaWdodDogMCxcbiAgICAgICAgYm90dG9tOiAwLFxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmxheWVyXzEsXG4gICAgICAgIGJhY2tncm91bmRDbGlwOiBcImNvbnRlbnQtYm94XCIsXG4gICAgICAgIHBhZGRpbmc6IFwiMCAwIDFweCAwXCIsXG4gICAgICAgIHpJbmRleDogLTEsXG4gICAgICB9LFxuXG4gICAgICBcInRyOmhvdmVyICY6YmVmb3JlXCI6IHtcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC50YWJzLmhlYWRlcixcbiAgICAgIH0sXG4gICAgfSxcbiAgfSksXG59KSk7XG5cbmV4cG9ydCBkZWZhdWx0IFRhYmxlQ2VsbDtcbiJdfQ== */");
38
+ var TableCell$1 = TableCell;
39
+
40
+ export { TableCell$1 as default };
41
+ //# sourceMappingURL=TableCell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableCell.js","sources":["../../../../../src/components/DataTable/TableCell.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\n\nexport type TableCellProps = {\n isTableScrolled: boolean;\n};\n\nconst TableCell = styled.td<TableCellProps>(({ theme, isTableScrolled }) => ({\n ...(isTableScrolled && {\n \"&:first-of-type\": {\n position: \"sticky\",\n left: 0,\n boxShadow: theme.variables.shadow.card.a,\n\n \"&:before\": {\n content: '\" \"',\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: theme.values.color.background.layer_1,\n backgroundClip: \"content-box\",\n padding: \"0 0 1px 0\",\n zIndex: -1,\n },\n\n \"tr:hover &:before\": {\n backgroundColor: theme.values.color.background.tabs.header,\n },\n },\n }),\n}));\n\nexport default TableCell;\n"],"names":["TableCell","_styled","process","env","NODE_ENV","target","label","_ref","theme","isTableScrolled","position","left","boxShadow","variables","shadow","card","a","content","top","right","bottom","backgroundColor","values","color","background","layer_1","backgroundClip","padding","zIndex","tabs","header"],"mappings":";;AAMA,MAAMA,SAAS,gBAAGC,OAAA,CAAA,IAAA,EAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,KAAA,YAAA,GAAA;EAAAC,MAAA,EAAA,WAAA;AAAA,CAAA,GAAA;EAAAA,MAAA,EAAA,WAAA;EAAAC,KAAA,EAAA,WAAA;AAAA,CAAA,CAAA,CAA0BC,IAAA,IAAA;EAAA,IAAC;IAAEC,KAAK;AAAEC,IAAAA,eAAAA;AAAgB,GAAC,GAAAF,IAAA,CAAA;EAAA,OAAM;AAC3E,IAAA,IAAIE,eAAe,IAAI;AACrB,MAAA,iBAAiB,EAAE;AACjBC,QAAAA,QAAQ,EAAE,QAAQ;AAClBC,QAAAA,IAAI,EAAE,CAAC;QACPC,SAAS,EAAEJ,KAAK,CAACK,SAAS,CAACC,MAAM,CAACC,IAAI,CAACC,CAAC;AAExC,QAAA,UAAU,EAAE;AACVC,UAAAA,OAAO,EAAE,KAAK;AACdP,UAAAA,QAAQ,EAAE,UAAU;AACpBQ,UAAAA,GAAG,EAAE,CAAC;AACNP,UAAAA,IAAI,EAAE,CAAC;AACPQ,UAAAA,KAAK,EAAE,CAAC;AACRC,UAAAA,MAAM,EAAE,CAAC;UACTC,eAAe,EAAEb,KAAK,CAACc,MAAM,CAACC,KAAK,CAACC,UAAU,CAACC,OAAO;AACtDC,UAAAA,cAAc,EAAE,aAAa;AAC7BC,UAAAA,OAAO,EAAE,WAAW;AACpBC,UAAAA,MAAM,EAAE,CAAC,CAAA;SACV;AAED,QAAA,mBAAmB,EAAE;UACnBP,eAAe,EAAEb,KAAK,CAACc,MAAM,CAACC,KAAK,CAACC,UAAU,CAACK,IAAI,CAACC,MAAAA;AACtD,SAAA;AACF,OAAA;KACD,CAAA;GACF,CAAA;AAAA,CAAC,EAAA5B,OAAA,CAAAC,GAAA,CAAAC,QAAA,KAAC,YAAA,GAAA,EAAA,GAAA,yzCAAA,CAAA,CAAA;AAEH,kBAAeJ,SAAS;;;;"}
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ import type { DataTableProps } from "./DataTable";
3
+ declare type TableFooterProps = Pick<DataTableProps, "columns">;
4
+ declare function TableFooter({ children, columns, }: React.PropsWithChildren<TableFooterProps>): React.ReactElement;
5
+ declare const _default: React.MemoExoticComponent<typeof TableFooter>;
6
+ export default _default;
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+
3
+ function TableFooter(_ref) {
4
+ let {
5
+ children,
6
+ columns
7
+ } = _ref;
8
+ return /*#__PURE__*/React.createElement("tfoot", null, /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", {
9
+ colSpan: columns.length
10
+ }, children)));
11
+ }
12
+ var TableFooter$1 = /*#__PURE__*/React.memo(TableFooter);
13
+
14
+ export { TableFooter$1 as default };
15
+ //# sourceMappingURL=TableFooter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableFooter.js","sources":["../../../../../src/components/DataTable/TableFooter.tsx"],"sourcesContent":["import React from \"react\";\nimport type { DataTableProps } from \"./DataTable\";\n\ntype TableFooterProps = Pick<DataTableProps, \"columns\">;\n\nfunction TableFooter({\n children,\n columns,\n}: React.PropsWithChildren<TableFooterProps>): React.ReactElement {\n return (\n <tfoot>\n <tr>\n <td colSpan={columns.length}>{children}</td>\n </tr>\n </tfoot>\n );\n}\n\nexport default React.memo(TableFooter);\n"],"names":["TableFooter","_ref","children","columns","React","createElement","colSpan","length","memo"],"mappings":";;AAKA,SAASA,WAAWA,CAAAC,IAAA,EAG8C;EAAA,IAH7C;IACnBC,QAAQ;AACRC,IAAAA,OAAAA;AACyC,GAAC,GAAAF,IAAA,CAAA;EAC1C,oBACEG,KAAA,CAAAC,aAAA,CACED,OAAAA,EAAAA,IAAAA,eAAAA,KAAA,CAAAC,aAAA,CAAA,IAAA,EAAA,IAAA,eACED,KAAA,CAAAC,aAAA,CAAA,IAAA,EAAA;IAAIC,OAAO,EAAEH,OAAO,CAACI,MAAAA;GAASL,EAAAA,QAAQ,CAAM,CACzC,CACC,CAAA;AAEZ,CAAA;AAEA,oBAAA,aAAeE,KAAK,CAACI,IAAI,CAACR,WAAW,CAAC;;;;"}
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ import type { DataTableProps } from "./DataTable";
3
+ export declare type TableHeaderProps = {
4
+ className?: string;
5
+ isTableScrolled: boolean;
6
+ } & Pick<DataTableProps, "columns" | "rows" | "onSort" | "currentlySortedByColumn">;
7
+ declare function TableHeader({ className, columns, isTableScrolled, currentlySortedByColumn, onSort, }: TableHeaderProps): React.ReactElement;
8
+ declare const _default: React.MemoExoticComponent<typeof TableHeader>;
9
+ export default _default;
@@ -0,0 +1,167 @@
1
+ import _styled from '@emotion/styled/base';
2
+ import React, { useState } from 'react';
3
+ import { Text } from '../Typography/Text/Text.js';
4
+ import { Icon } from '../Icon/Icon.js';
5
+ import TableCell from './TableCell.js';
6
+
7
+ const SORT_DIRECTION_ICON = {
8
+ asc: "sort-ascending",
9
+ desc: "sort-descending"
10
+ };
11
+ const SortIcon = /*#__PURE__*/_styled("span", process.env.NODE_ENV === "production" ? {
12
+ target: "e1ij903s3"
13
+ } : {
14
+ target: "e1ij903s3",
15
+ label: "SortIcon"
16
+ })(_ref => {
17
+ let {
18
+ theme
19
+ } = _ref;
20
+ return {
21
+ marginLeft: theme.variables.size.spacing.xxxs
22
+ };
23
+ }, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRhYmxlSGVhZGVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzQmlCIiwiZmlsZSI6IlRhYmxlSGVhZGVyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IERhdGFUYWJsZUNvbHVtbiB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSBcIi4uL1R5cG9ncmFwaHkvVGV4dC9UZXh0XCI7XG5pbXBvcnQgeyBJY29uLCBJY29uTmFtZSB9IGZyb20gXCIuLi9JY29uL0ljb25cIjtcbmltcG9ydCBUYWJsZUNlbGwsIHsgVGFibGVDZWxsUHJvcHMgfSBmcm9tIFwiLi9UYWJsZUNlbGxcIjtcbmltcG9ydCB0eXBlIHsgRGF0YVRhYmxlUHJvcHMgfSBmcm9tIFwiLi9EYXRhVGFibGVcIjtcblxuZXhwb3J0IHR5cGUgVGFibGVIZWFkZXJQcm9wcyA9IHtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBpc1RhYmxlU2Nyb2xsZWQ6IGJvb2xlYW47XG59ICYgUGljazxcbiAgRGF0YVRhYmxlUHJvcHMsXG4gIFwiY29sdW1uc1wiIHwgXCJyb3dzXCIgfCBcIm9uU29ydFwiIHwgXCJjdXJyZW50bHlTb3J0ZWRCeUNvbHVtblwiXG4+O1xuXG5jb25zdCBTT1JUX0RJUkVDVElPTl9JQ09OOiBSZWNvcmQ8RGF0YVRhYmxlQ29sdW1uW1wic29ydERpcmVjdGlvblwiXSwgSWNvbk5hbWU+ID1cbiAge1xuICAgIGFzYzogXCJzb3J0LWFzY2VuZGluZ1wiLFxuICAgIGRlc2M6IFwic29ydC1kZXNjZW5kaW5nXCIsXG4gIH07XG5cbmNvbnN0IFNvcnRJY29uID0gc3R5bGVkLnNwYW4oKHsgdGhlbWUgfSkgPT4gKHtcbiAgbWFyZ2luTGVmdDogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54eHhzLFxufSkpO1xuXG5jb25zdCBTdHlsZWRIZWFkZXJMYWJlbCA9IHN0eWxlZChUZXh0KSgoeyB0aGVtZSB9KSA9PiAoe1xuICBmb250V2VpZ2h0OiB0aGVtZS52YXJpYWJsZXMud2VpZ2h0LmJvbGQsXG4gIGxpbmVIZWlnaHQ6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmxpbmVIZWlnaHQuaGVhZGVyLnh4cyxcbiAgbGV0dGVyU3BhY2luZzogXCIwLjVweFwiLFxufSkpO1xuXG50eXBlIFN0eWxlZFNvcnRhYmxlSGVhZGVyUHJvcHMgPSBQaWNrPERhdGFUYWJsZUNvbHVtbiwgXCJhbGlnblwiPjtcbmNvbnN0IFN0eWxlZFNvcnRhYmxlSGVhZGVyID0gc3R5bGVkLmJ1dHRvbjxTdHlsZWRTb3J0YWJsZUhlYWRlclByb3BzPihcbiAgKHsgdGhlbWUsIGFsaWduIH0pID0+ICh7XG4gICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgIGhlaWdodDogdGhlbWUudmFyaWFibGVzLnNpemUubGluZUhlaWdodC5oZWFkZXIueHhzLFxuICAgIHBhZGRpbmc6IDAsXG4gICAgYmFja2dyb3VuZDogXCJub25lXCIsXG4gICAgYm9yZGVyOiBcIm5vbmVcIixcbiAgICBjdXJzb3I6IFwicG9pbnRlclwiLFxuICAgIHRleHRBbGlnbjogYWxpZ24sXG5cbiAgICBbYCY6aG92ZXIgJHtTdHlsZWRIZWFkZXJMYWJlbH1gXToge1xuICAgICAgY29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5oZWFkZXIucHJpbWFyeSxcbiAgICB9LFxuICB9KVxuKTtcblxudHlwZSBTb3J0YWJsZUhlYWRlclByb3BzID0gUGljazxcbiAgVGFibGVIZWFkZXJQcm9wcyxcbiAgXCJvblNvcnRcIiB8IFwiY3VycmVudGx5U29ydGVkQnlDb2x1bW5cIlxuPiAmXG4gIERhdGFUYWJsZUNvbHVtbjtcblxuZnVuY3Rpb24gU29ydGFibGVIZWFkZXIoe1xuICBuYW1lLFxuICBsYWJlbCxcbiAgYWxpZ24sXG4gIHNvcnREaXJlY3Rpb24gPSBcImFzY1wiLFxuICBjdXJyZW50bHlTb3J0ZWRCeUNvbHVtbixcbiAgb25Tb3J0LFxufTogU29ydGFibGVIZWFkZXJQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IFtob3ZlcmVkLCBzZXRIb3ZlcmVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgZGVzaXJlZFNvcnREaXJlY3Rpb24gPSBzb3J0RGlyZWN0aW9uID09PSBcImFzY1wiID8gXCJkZXNjXCIgOiBcImFzY1wiO1xuXG4gIGNvbnN0IGhhbmRsZUNsaWNrOiBSZWFjdC5Nb3VzZUV2ZW50SGFuZGxlciA9ICgpID0+IHtcbiAgICBzZXRIb3ZlcmVkKGZhbHNlKTtcbiAgICBpZiAob25Tb3J0KSB7XG4gICAgICBvblNvcnQobmFtZSwgZGVzaXJlZFNvcnREaXJlY3Rpb24pO1xuICAgIH1cbiAgfTtcblxuICBsZXQgaWNvbk5hbWU6IEljb25OYW1lID0gXCJzb3J0LW5ldXRyYWxcIjtcblxuICBpZiAobmFtZSA9PT0gY3VycmVudGx5U29ydGVkQnlDb2x1bW4pIHtcbiAgICBpY29uTmFtZSA9IFNPUlRfRElSRUNUSU9OX0lDT05bc29ydERpcmVjdGlvbl07XG4gIH1cbiAgaWYgKGhvdmVyZWQpIHtcbiAgICBpY29uTmFtZSA9IFNPUlRfRElSRUNUSU9OX0lDT05bZGVzaXJlZFNvcnREaXJlY3Rpb25dO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkU29ydGFibGVIZWFkZXJcbiAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsaWNrfVxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBhbGlnbj17YWxpZ259XG4gICAgICBvblBvaW50ZXJFbnRlcj17KCkgPT4gc2V0SG92ZXJlZCh0cnVlKX1cbiAgICAgIG9uUG9pbnRlckxlYXZlPXsoKSA9PiBzZXRIb3ZlcmVkKGZhbHNlKX1cbiAgICA+XG4gICAgICA8U3R5bGVkSGVhZGVyTGFiZWxcbiAgICAgICAgYXM9XCJzcGFuXCJcbiAgICAgICAgc2l6ZT1cInhzXCJcbiAgICAgICAgdHJhbnNmb3JtPVwidXBwZXJjYXNlXCJcbiAgICAgICAgdmFyaWFudD1cInRlcnRpYXJ5XCJcbiAgICAgID5cbiAgICAgICAge2xhYmVsfVxuICAgICAgICA8U29ydEljb24+XG4gICAgICAgICAgPEljb24gc2l6ZT1cInNcIiBuYW1lPXtpY29uTmFtZX0gaW5saW5lIC8+XG4gICAgICAgIDwvU29ydEljb24+XG4gICAgICA8L1N0eWxlZEhlYWRlckxhYmVsPlxuICAgIDwvU3R5bGVkU29ydGFibGVIZWFkZXI+XG4gICk7XG59XG5cbnR5cGUgU3R5bGVkVGhQcm9wcyA9IFBpY2s8RGF0YVRhYmxlQ29sdW1uLCBcImFsaWduXCIgfCBcIndpZHRoXCI+ICYgVGFibGVDZWxsUHJvcHM7XG5cbmNvbnN0IFN0eWxlZFRoID0gc3R5bGVkKFRhYmxlQ2VsbCk8U3R5bGVkVGhQcm9wcz4oXG4gICh7IHRoZW1lLCBhbGlnbiA9IFwibGVmdFwiLCB3aWR0aCA9IFwiYXV0b1wiIH0pID0+ICh7XG4gICAgcGFkZGluZzogYCR7dGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5zfSAke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubX1gLFxuICAgIHRleHRBbGlnbjogYWxpZ24sXG4gICAgYm9yZGVyQm90dG9tOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIHdpZHRoLFxuICAgIHdoaXRlU3BhY2U6IFwibm93cmFwXCIsXG4gIH0pXG4pO1xuXG5mdW5jdGlvbiBUYWJsZUhlYWRlcih7XG4gIGNsYXNzTmFtZSxcbiAgY29sdW1ucyxcbiAgaXNUYWJsZVNjcm9sbGVkLFxuICBjdXJyZW50bHlTb3J0ZWRCeUNvbHVtbixcbiAgb25Tb3J0LFxufTogVGFibGVIZWFkZXJQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IGNvbHVtbkVsZW1lbnRzID0gY29sdW1ucy5tYXAoKGNvbHVtbikgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGlzU29ydGFibGUsXG4gICAgICBsYWJlbCxcbiAgICAgIGFsaWduID0gXCJsZWZ0XCIsXG4gICAgICB3aWR0aCxcbiAgICAgIG5hbWUsXG4gICAgICBzb3J0RGlyZWN0aW9uLFxuICAgIH0gPSBjb2x1bW47XG4gICAgY29uc3QgaGVhZGVyRWxtID0gaXNTb3J0YWJsZSA/IChcbiAgICAgIDxTb3J0YWJsZUhlYWRlclxuICAgICAgICBvblNvcnQ9e29uU29ydH1cbiAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICBzb3J0RGlyZWN0aW9uPXtzb3J0RGlyZWN0aW9ufVxuICAgICAgICBhbGlnbj17YWxpZ259XG4gICAgICAgIGN1cnJlbnRseVNvcnRlZEJ5Q29sdW1uPXtjdXJyZW50bHlTb3J0ZWRCeUNvbHVtbn1cbiAgICAgIC8+XG4gICAgKSA6IChcbiAgICAgIDxTdHlsZWRIZWFkZXJMYWJlbFxuICAgICAgICBzaXplPVwieHNcIlxuICAgICAgICB0cmFuc2Zvcm09XCJ1cHBlcmNhc2VcIlxuICAgICAgICBhbGlnbj17YWxpZ259XG4gICAgICAgIHZhcmlhbnQ9XCJ0ZXJ0aWFyeVwiXG4gICAgICA+XG4gICAgICAgIHtsYWJlbH1cbiAgICAgIDwvU3R5bGVkSGVhZGVyTGFiZWw+XG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkVGhcbiAgICAgICAgYXM9XCJ0aFwiXG4gICAgICAgIGFsaWduPXthbGlnbn1cbiAgICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgICBrZXk9e25hbWV9XG4gICAgICAgIGlzVGFibGVTY3JvbGxlZD17aXNUYWJsZVNjcm9sbGVkfVxuICAgICAgPlxuICAgICAgICB7aGVhZGVyRWxtfVxuICAgICAgPC9TdHlsZWRUaD5cbiAgICApO1xuICB9KTtcblxuICByZXR1cm4gKFxuICAgIDx0aGVhZCBjbGFzc05hbWU9e2NsYXNzTmFtZX0+XG4gICAgICA8dHI+e2NvbHVtbkVsZW1lbnRzfTwvdHI+XG4gICAgPC90aGVhZD5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgUmVhY3QubWVtbyhUYWJsZUhlYWRlcik7XG4iXX0= */");
24
+ const StyledHeaderLabel = /*#__PURE__*/_styled(Text, process.env.NODE_ENV === "production" ? {
25
+ target: "e1ij903s2"
26
+ } : {
27
+ target: "e1ij903s2",
28
+ label: "StyledHeaderLabel"
29
+ })(_ref2 => {
30
+ let {
31
+ theme
32
+ } = _ref2;
33
+ return {
34
+ fontWeight: theme.variables.weight.bold,
35
+ lineHeight: theme.variables.size.lineHeight.header.xxs,
36
+ letterSpacing: "0.5px"
37
+ };
38
+ }, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRhYmxlSGVhZGVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwQjBCIiwiZmlsZSI6IlRhYmxlSGVhZGVyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IERhdGFUYWJsZUNvbHVtbiB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSBcIi4uL1R5cG9ncmFwaHkvVGV4dC9UZXh0XCI7XG5pbXBvcnQgeyBJY29uLCBJY29uTmFtZSB9IGZyb20gXCIuLi9JY29uL0ljb25cIjtcbmltcG9ydCBUYWJsZUNlbGwsIHsgVGFibGVDZWxsUHJvcHMgfSBmcm9tIFwiLi9UYWJsZUNlbGxcIjtcbmltcG9ydCB0eXBlIHsgRGF0YVRhYmxlUHJvcHMgfSBmcm9tIFwiLi9EYXRhVGFibGVcIjtcblxuZXhwb3J0IHR5cGUgVGFibGVIZWFkZXJQcm9wcyA9IHtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBpc1RhYmxlU2Nyb2xsZWQ6IGJvb2xlYW47XG59ICYgUGljazxcbiAgRGF0YVRhYmxlUHJvcHMsXG4gIFwiY29sdW1uc1wiIHwgXCJyb3dzXCIgfCBcIm9uU29ydFwiIHwgXCJjdXJyZW50bHlTb3J0ZWRCeUNvbHVtblwiXG4+O1xuXG5jb25zdCBTT1JUX0RJUkVDVElPTl9JQ09OOiBSZWNvcmQ8RGF0YVRhYmxlQ29sdW1uW1wic29ydERpcmVjdGlvblwiXSwgSWNvbk5hbWU+ID1cbiAge1xuICAgIGFzYzogXCJzb3J0LWFzY2VuZGluZ1wiLFxuICAgIGRlc2M6IFwic29ydC1kZXNjZW5kaW5nXCIsXG4gIH07XG5cbmNvbnN0IFNvcnRJY29uID0gc3R5bGVkLnNwYW4oKHsgdGhlbWUgfSkgPT4gKHtcbiAgbWFyZ2luTGVmdDogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54eHhzLFxufSkpO1xuXG5jb25zdCBTdHlsZWRIZWFkZXJMYWJlbCA9IHN0eWxlZChUZXh0KSgoeyB0aGVtZSB9KSA9PiAoe1xuICBmb250V2VpZ2h0OiB0aGVtZS52YXJpYWJsZXMud2VpZ2h0LmJvbGQsXG4gIGxpbmVIZWlnaHQ6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmxpbmVIZWlnaHQuaGVhZGVyLnh4cyxcbiAgbGV0dGVyU3BhY2luZzogXCIwLjVweFwiLFxufSkpO1xuXG50eXBlIFN0eWxlZFNvcnRhYmxlSGVhZGVyUHJvcHMgPSBQaWNrPERhdGFUYWJsZUNvbHVtbiwgXCJhbGlnblwiPjtcbmNvbnN0IFN0eWxlZFNvcnRhYmxlSGVhZGVyID0gc3R5bGVkLmJ1dHRvbjxTdHlsZWRTb3J0YWJsZUhlYWRlclByb3BzPihcbiAgKHsgdGhlbWUsIGFsaWduIH0pID0+ICh7XG4gICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgIGhlaWdodDogdGhlbWUudmFyaWFibGVzLnNpemUubGluZUhlaWdodC5oZWFkZXIueHhzLFxuICAgIHBhZGRpbmc6IDAsXG4gICAgYmFja2dyb3VuZDogXCJub25lXCIsXG4gICAgYm9yZGVyOiBcIm5vbmVcIixcbiAgICBjdXJzb3I6IFwicG9pbnRlclwiLFxuICAgIHRleHRBbGlnbjogYWxpZ24sXG5cbiAgICBbYCY6aG92ZXIgJHtTdHlsZWRIZWFkZXJMYWJlbH1gXToge1xuICAgICAgY29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5oZWFkZXIucHJpbWFyeSxcbiAgICB9LFxuICB9KVxuKTtcblxudHlwZSBTb3J0YWJsZUhlYWRlclByb3BzID0gUGljazxcbiAgVGFibGVIZWFkZXJQcm9wcyxcbiAgXCJvblNvcnRcIiB8IFwiY3VycmVudGx5U29ydGVkQnlDb2x1bW5cIlxuPiAmXG4gIERhdGFUYWJsZUNvbHVtbjtcblxuZnVuY3Rpb24gU29ydGFibGVIZWFkZXIoe1xuICBuYW1lLFxuICBsYWJlbCxcbiAgYWxpZ24sXG4gIHNvcnREaXJlY3Rpb24gPSBcImFzY1wiLFxuICBjdXJyZW50bHlTb3J0ZWRCeUNvbHVtbixcbiAgb25Tb3J0LFxufTogU29ydGFibGVIZWFkZXJQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IFtob3ZlcmVkLCBzZXRIb3ZlcmVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgZGVzaXJlZFNvcnREaXJlY3Rpb24gPSBzb3J0RGlyZWN0aW9uID09PSBcImFzY1wiID8gXCJkZXNjXCIgOiBcImFzY1wiO1xuXG4gIGNvbnN0IGhhbmRsZUNsaWNrOiBSZWFjdC5Nb3VzZUV2ZW50SGFuZGxlciA9ICgpID0+IHtcbiAgICBzZXRIb3ZlcmVkKGZhbHNlKTtcbiAgICBpZiAob25Tb3J0KSB7XG4gICAgICBvblNvcnQobmFtZSwgZGVzaXJlZFNvcnREaXJlY3Rpb24pO1xuICAgIH1cbiAgfTtcblxuICBsZXQgaWNvbk5hbWU6IEljb25OYW1lID0gXCJzb3J0LW5ldXRyYWxcIjtcblxuICBpZiAobmFtZSA9PT0gY3VycmVudGx5U29ydGVkQnlDb2x1bW4pIHtcbiAgICBpY29uTmFtZSA9IFNPUlRfRElSRUNUSU9OX0lDT05bc29ydERpcmVjdGlvbl07XG4gIH1cbiAgaWYgKGhvdmVyZWQpIHtcbiAgICBpY29uTmFtZSA9IFNPUlRfRElSRUNUSU9OX0lDT05bZGVzaXJlZFNvcnREaXJlY3Rpb25dO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkU29ydGFibGVIZWFkZXJcbiAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsaWNrfVxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBhbGlnbj17YWxpZ259XG4gICAgICBvblBvaW50ZXJFbnRlcj17KCkgPT4gc2V0SG92ZXJlZCh0cnVlKX1cbiAgICAgIG9uUG9pbnRlckxlYXZlPXsoKSA9PiBzZXRIb3ZlcmVkKGZhbHNlKX1cbiAgICA+XG4gICAgICA8U3R5bGVkSGVhZGVyTGFiZWxcbiAgICAgICAgYXM9XCJzcGFuXCJcbiAgICAgICAgc2l6ZT1cInhzXCJcbiAgICAgICAgdHJhbnNmb3JtPVwidXBwZXJjYXNlXCJcbiAgICAgICAgdmFyaWFudD1cInRlcnRpYXJ5XCJcbiAgICAgID5cbiAgICAgICAge2xhYmVsfVxuICAgICAgICA8U29ydEljb24+XG4gICAgICAgICAgPEljb24gc2l6ZT1cInNcIiBuYW1lPXtpY29uTmFtZX0gaW5saW5lIC8+XG4gICAgICAgIDwvU29ydEljb24+XG4gICAgICA8L1N0eWxlZEhlYWRlckxhYmVsPlxuICAgIDwvU3R5bGVkU29ydGFibGVIZWFkZXI+XG4gICk7XG59XG5cbnR5cGUgU3R5bGVkVGhQcm9wcyA9IFBpY2s8RGF0YVRhYmxlQ29sdW1uLCBcImFsaWduXCIgfCBcIndpZHRoXCI+ICYgVGFibGVDZWxsUHJvcHM7XG5cbmNvbnN0IFN0eWxlZFRoID0gc3R5bGVkKFRhYmxlQ2VsbCk8U3R5bGVkVGhQcm9wcz4oXG4gICh7IHRoZW1lLCBhbGlnbiA9IFwibGVmdFwiLCB3aWR0aCA9IFwiYXV0b1wiIH0pID0+ICh7XG4gICAgcGFkZGluZzogYCR7dGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5zfSAke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubX1gLFxuICAgIHRleHRBbGlnbjogYWxpZ24sXG4gICAgYm9yZGVyQm90dG9tOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIHdpZHRoLFxuICAgIHdoaXRlU3BhY2U6IFwibm93cmFwXCIsXG4gIH0pXG4pO1xuXG5mdW5jdGlvbiBUYWJsZUhlYWRlcih7XG4gIGNsYXNzTmFtZSxcbiAgY29sdW1ucyxcbiAgaXNUYWJsZVNjcm9sbGVkLFxuICBjdXJyZW50bHlTb3J0ZWRCeUNvbHVtbixcbiAgb25Tb3J0LFxufTogVGFibGVIZWFkZXJQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IGNvbHVtbkVsZW1lbnRzID0gY29sdW1ucy5tYXAoKGNvbHVtbikgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGlzU29ydGFibGUsXG4gICAgICBsYWJlbCxcbiAgICAgIGFsaWduID0gXCJsZWZ0XCIsXG4gICAgICB3aWR0aCxcbiAgICAgIG5hbWUsXG4gICAgICBzb3J0RGlyZWN0aW9uLFxuICAgIH0gPSBjb2x1bW47XG4gICAgY29uc3QgaGVhZGVyRWxtID0gaXNTb3J0YWJsZSA/IChcbiAgICAgIDxTb3J0YWJsZUhlYWRlclxuICAgICAgICBvblNvcnQ9e29uU29ydH1cbiAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICBzb3J0RGlyZWN0aW9uPXtzb3J0RGlyZWN0aW9ufVxuICAgICAgICBhbGlnbj17YWxpZ259XG4gICAgICAgIGN1cnJlbnRseVNvcnRlZEJ5Q29sdW1uPXtjdXJyZW50bHlTb3J0ZWRCeUNvbHVtbn1cbiAgICAgIC8+XG4gICAgKSA6IChcbiAgICAgIDxTdHlsZWRIZWFkZXJMYWJlbFxuICAgICAgICBzaXplPVwieHNcIlxuICAgICAgICB0cmFuc2Zvcm09XCJ1cHBlcmNhc2VcIlxuICAgICAgICBhbGlnbj17YWxpZ259XG4gICAgICAgIHZhcmlhbnQ9XCJ0ZXJ0aWFyeVwiXG4gICAgICA+XG4gICAgICAgIHtsYWJlbH1cbiAgICAgIDwvU3R5bGVkSGVhZGVyTGFiZWw+XG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkVGhcbiAgICAgICAgYXM9XCJ0aFwiXG4gICAgICAgIGFsaWduPXthbGlnbn1cbiAgICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgICBrZXk9e25hbWV9XG4gICAgICAgIGlzVGFibGVTY3JvbGxlZD17aXNUYWJsZVNjcm9sbGVkfVxuICAgICAgPlxuICAgICAgICB7aGVhZGVyRWxtfVxuICAgICAgPC9TdHlsZWRUaD5cbiAgICApO1xuICB9KTtcblxuICByZXR1cm4gKFxuICAgIDx0aGVhZCBjbGFzc05hbWU9e2NsYXNzTmFtZX0+XG4gICAgICA8dHI+e2NvbHVtbkVsZW1lbnRzfTwvdHI+XG4gICAgPC90aGVhZD5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgUmVhY3QubWVtbyhUYWJsZUhlYWRlcik7XG4iXX0= */");
39
+ const StyledSortableHeader = /*#__PURE__*/_styled("button", process.env.NODE_ENV === "production" ? {
40
+ target: "e1ij903s1"
41
+ } : {
42
+ target: "e1ij903s1",
43
+ label: "StyledSortableHeader"
44
+ })(_ref3 => {
45
+ let {
46
+ theme,
47
+ align
48
+ } = _ref3;
49
+ return {
50
+ width: "100%",
51
+ height: theme.variables.size.lineHeight.header.xxs,
52
+ padding: 0,
53
+ background: "none",
54
+ border: "none",
55
+ cursor: "pointer",
56
+ textAlign: align,
57
+ [`&:hover ${StyledHeaderLabel}`]: {
58
+ color: theme.values.color.header.primary
59
+ }
60
+ };
61
+ }, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRhYmxlSGVhZGVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpQzZCIiwiZmlsZSI6IlRhYmxlSGVhZGVyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IERhdGFUYWJsZUNvbHVtbiB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSBcIi4uL1R5cG9ncmFwaHkvVGV4dC9UZXh0XCI7XG5pbXBvcnQgeyBJY29uLCBJY29uTmFtZSB9IGZyb20gXCIuLi9JY29uL0ljb25cIjtcbmltcG9ydCBUYWJsZUNlbGwsIHsgVGFibGVDZWxsUHJvcHMgfSBmcm9tIFwiLi9UYWJsZUNlbGxcIjtcbmltcG9ydCB0eXBlIHsgRGF0YVRhYmxlUHJvcHMgfSBmcm9tIFwiLi9EYXRhVGFibGVcIjtcblxuZXhwb3J0IHR5cGUgVGFibGVIZWFkZXJQcm9wcyA9IHtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBpc1RhYmxlU2Nyb2xsZWQ6IGJvb2xlYW47XG59ICYgUGljazxcbiAgRGF0YVRhYmxlUHJvcHMsXG4gIFwiY29sdW1uc1wiIHwgXCJyb3dzXCIgfCBcIm9uU29ydFwiIHwgXCJjdXJyZW50bHlTb3J0ZWRCeUNvbHVtblwiXG4+O1xuXG5jb25zdCBTT1JUX0RJUkVDVElPTl9JQ09OOiBSZWNvcmQ8RGF0YVRhYmxlQ29sdW1uW1wic29ydERpcmVjdGlvblwiXSwgSWNvbk5hbWU+ID1cbiAge1xuICAgIGFzYzogXCJzb3J0LWFzY2VuZGluZ1wiLFxuICAgIGRlc2M6IFwic29ydC1kZXNjZW5kaW5nXCIsXG4gIH07XG5cbmNvbnN0IFNvcnRJY29uID0gc3R5bGVkLnNwYW4oKHsgdGhlbWUgfSkgPT4gKHtcbiAgbWFyZ2luTGVmdDogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54eHhzLFxufSkpO1xuXG5jb25zdCBTdHlsZWRIZWFkZXJMYWJlbCA9IHN0eWxlZChUZXh0KSgoeyB0aGVtZSB9KSA9PiAoe1xuICBmb250V2VpZ2h0OiB0aGVtZS52YXJpYWJsZXMud2VpZ2h0LmJvbGQsXG4gIGxpbmVIZWlnaHQ6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmxpbmVIZWlnaHQuaGVhZGVyLnh4cyxcbiAgbGV0dGVyU3BhY2luZzogXCIwLjVweFwiLFxufSkpO1xuXG50eXBlIFN0eWxlZFNvcnRhYmxlSGVhZGVyUHJvcHMgPSBQaWNrPERhdGFUYWJsZUNvbHVtbiwgXCJhbGlnblwiPjtcbmNvbnN0IFN0eWxlZFNvcnRhYmxlSGVhZGVyID0gc3R5bGVkLmJ1dHRvbjxTdHlsZWRTb3J0YWJsZUhlYWRlclByb3BzPihcbiAgKHsgdGhlbWUsIGFsaWduIH0pID0+ICh7XG4gICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgIGhlaWdodDogdGhlbWUudmFyaWFibGVzLnNpemUubGluZUhlaWdodC5oZWFkZXIueHhzLFxuICAgIHBhZGRpbmc6IDAsXG4gICAgYmFja2dyb3VuZDogXCJub25lXCIsXG4gICAgYm9yZGVyOiBcIm5vbmVcIixcbiAgICBjdXJzb3I6IFwicG9pbnRlclwiLFxuICAgIHRleHRBbGlnbjogYWxpZ24sXG5cbiAgICBbYCY6aG92ZXIgJHtTdHlsZWRIZWFkZXJMYWJlbH1gXToge1xuICAgICAgY29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5oZWFkZXIucHJpbWFyeSxcbiAgICB9LFxuICB9KVxuKTtcblxudHlwZSBTb3J0YWJsZUhlYWRlclByb3BzID0gUGljazxcbiAgVGFibGVIZWFkZXJQcm9wcyxcbiAgXCJvblNvcnRcIiB8IFwiY3VycmVudGx5U29ydGVkQnlDb2x1bW5cIlxuPiAmXG4gIERhdGFUYWJsZUNvbHVtbjtcblxuZnVuY3Rpb24gU29ydGFibGVIZWFkZXIoe1xuICBuYW1lLFxuICBsYWJlbCxcbiAgYWxpZ24sXG4gIHNvcnREaXJlY3Rpb24gPSBcImFzY1wiLFxuICBjdXJyZW50bHlTb3J0ZWRCeUNvbHVtbixcbiAgb25Tb3J0LFxufTogU29ydGFibGVIZWFkZXJQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IFtob3ZlcmVkLCBzZXRIb3ZlcmVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgZGVzaXJlZFNvcnREaXJlY3Rpb24gPSBzb3J0RGlyZWN0aW9uID09PSBcImFzY1wiID8gXCJkZXNjXCIgOiBcImFzY1wiO1xuXG4gIGNvbnN0IGhhbmRsZUNsaWNrOiBSZWFjdC5Nb3VzZUV2ZW50SGFuZGxlciA9ICgpID0+IHtcbiAgICBzZXRIb3ZlcmVkKGZhbHNlKTtcbiAgICBpZiAob25Tb3J0KSB7XG4gICAgICBvblNvcnQobmFtZSwgZGVzaXJlZFNvcnREaXJlY3Rpb24pO1xuICAgIH1cbiAgfTtcblxuICBsZXQgaWNvbk5hbWU6IEljb25OYW1lID0gXCJzb3J0LW5ldXRyYWxcIjtcblxuICBpZiAobmFtZSA9PT0gY3VycmVudGx5U29ydGVkQnlDb2x1bW4pIHtcbiAgICBpY29uTmFtZSA9IFNPUlRfRElSRUNUSU9OX0lDT05bc29ydERpcmVjdGlvbl07XG4gIH1cbiAgaWYgKGhvdmVyZWQpIHtcbiAgICBpY29uTmFtZSA9IFNPUlRfRElSRUNUSU9OX0lDT05bZGVzaXJlZFNvcnREaXJlY3Rpb25dO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkU29ydGFibGVIZWFkZXJcbiAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsaWNrfVxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBhbGlnbj17YWxpZ259XG4gICAgICBvblBvaW50ZXJFbnRlcj17KCkgPT4gc2V0SG92ZXJlZCh0cnVlKX1cbiAgICAgIG9uUG9pbnRlckxlYXZlPXsoKSA9PiBzZXRIb3ZlcmVkKGZhbHNlKX1cbiAgICA+XG4gICAgICA8U3R5bGVkSGVhZGVyTGFiZWxcbiAgICAgICAgYXM9XCJzcGFuXCJcbiAgICAgICAgc2l6ZT1cInhzXCJcbiAgICAgICAgdHJhbnNmb3JtPVwidXBwZXJjYXNlXCJcbiAgICAgICAgdmFyaWFudD1cInRlcnRpYXJ5XCJcbiAgICAgID5cbiAgICAgICAge2xhYmVsfVxuICAgICAgICA8U29ydEljb24+XG4gICAgICAgICAgPEljb24gc2l6ZT1cInNcIiBuYW1lPXtpY29uTmFtZX0gaW5saW5lIC8+XG4gICAgICAgIDwvU29ydEljb24+XG4gICAgICA8L1N0eWxlZEhlYWRlckxhYmVsPlxuICAgIDwvU3R5bGVkU29ydGFibGVIZWFkZXI+XG4gICk7XG59XG5cbnR5cGUgU3R5bGVkVGhQcm9wcyA9IFBpY2s8RGF0YVRhYmxlQ29sdW1uLCBcImFsaWduXCIgfCBcIndpZHRoXCI+ICYgVGFibGVDZWxsUHJvcHM7XG5cbmNvbnN0IFN0eWxlZFRoID0gc3R5bGVkKFRhYmxlQ2VsbCk8U3R5bGVkVGhQcm9wcz4oXG4gICh7IHRoZW1lLCBhbGlnbiA9IFwibGVmdFwiLCB3aWR0aCA9IFwiYXV0b1wiIH0pID0+ICh7XG4gICAgcGFkZGluZzogYCR7dGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5zfSAke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubX1gLFxuICAgIHRleHRBbGlnbjogYWxpZ24sXG4gICAgYm9yZGVyQm90dG9tOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIHdpZHRoLFxuICAgIHdoaXRlU3BhY2U6IFwibm93cmFwXCIsXG4gIH0pXG4pO1xuXG5mdW5jdGlvbiBUYWJsZUhlYWRlcih7XG4gIGNsYXNzTmFtZSxcbiAgY29sdW1ucyxcbiAgaXNUYWJsZVNjcm9sbGVkLFxuICBjdXJyZW50bHlTb3J0ZWRCeUNvbHVtbixcbiAgb25Tb3J0LFxufTogVGFibGVIZWFkZXJQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IGNvbHVtbkVsZW1lbnRzID0gY29sdW1ucy5tYXAoKGNvbHVtbikgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGlzU29ydGFibGUsXG4gICAgICBsYWJlbCxcbiAgICAgIGFsaWduID0gXCJsZWZ0XCIsXG4gICAgICB3aWR0aCxcbiAgICAgIG5hbWUsXG4gICAgICBzb3J0RGlyZWN0aW9uLFxuICAgIH0gPSBjb2x1bW47XG4gICAgY29uc3QgaGVhZGVyRWxtID0gaXNTb3J0YWJsZSA/IChcbiAgICAgIDxTb3J0YWJsZUhlYWRlclxuICAgICAgICBvblNvcnQ9e29uU29ydH1cbiAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICBzb3J0RGlyZWN0aW9uPXtzb3J0RGlyZWN0aW9ufVxuICAgICAgICBhbGlnbj17YWxpZ259XG4gICAgICAgIGN1cnJlbnRseVNvcnRlZEJ5Q29sdW1uPXtjdXJyZW50bHlTb3J0ZWRCeUNvbHVtbn1cbiAgICAgIC8+XG4gICAgKSA6IChcbiAgICAgIDxTdHlsZWRIZWFkZXJMYWJlbFxuICAgICAgICBzaXplPVwieHNcIlxuICAgICAgICB0cmFuc2Zvcm09XCJ1cHBlcmNhc2VcIlxuICAgICAgICBhbGlnbj17YWxpZ259XG4gICAgICAgIHZhcmlhbnQ9XCJ0ZXJ0aWFyeVwiXG4gICAgICA+XG4gICAgICAgIHtsYWJlbH1cbiAgICAgIDwvU3R5bGVkSGVhZGVyTGFiZWw+XG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkVGhcbiAgICAgICAgYXM9XCJ0aFwiXG4gICAgICAgIGFsaWduPXthbGlnbn1cbiAgICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgICBrZXk9e25hbWV9XG4gICAgICAgIGlzVGFibGVTY3JvbGxlZD17aXNUYWJsZVNjcm9sbGVkfVxuICAgICAgPlxuICAgICAgICB7aGVhZGVyRWxtfVxuICAgICAgPC9TdHlsZWRUaD5cbiAgICApO1xuICB9KTtcblxuICByZXR1cm4gKFxuICAgIDx0aGVhZCBjbGFzc05hbWU9e2NsYXNzTmFtZX0+XG4gICAgICA8dHI+e2NvbHVtbkVsZW1lbnRzfTwvdHI+XG4gICAgPC90aGVhZD5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgUmVhY3QubWVtbyhUYWJsZUhlYWRlcik7XG4iXX0= */");
62
+ function SortableHeader(_ref4) {
63
+ let {
64
+ name,
65
+ label,
66
+ align,
67
+ sortDirection = "asc",
68
+ currentlySortedByColumn,
69
+ onSort
70
+ } = _ref4;
71
+ const [hovered, setHovered] = useState(false);
72
+ const desiredSortDirection = sortDirection === "asc" ? "desc" : "asc";
73
+ const handleClick = () => {
74
+ setHovered(false);
75
+ if (onSort) {
76
+ onSort(name, desiredSortDirection);
77
+ }
78
+ };
79
+ let iconName = "sort-neutral";
80
+ if (name === currentlySortedByColumn) {
81
+ iconName = SORT_DIRECTION_ICON[sortDirection];
82
+ }
83
+ if (hovered) {
84
+ iconName = SORT_DIRECTION_ICON[desiredSortDirection];
85
+ }
86
+ return /*#__PURE__*/React.createElement(StyledSortableHeader, {
87
+ onClick: handleClick,
88
+ type: "button",
89
+ align: align,
90
+ onPointerEnter: () => setHovered(true),
91
+ onPointerLeave: () => setHovered(false)
92
+ }, /*#__PURE__*/React.createElement(StyledHeaderLabel, {
93
+ as: "span",
94
+ size: "xs",
95
+ transform: "uppercase",
96
+ variant: "tertiary"
97
+ }, label, /*#__PURE__*/React.createElement(SortIcon, null, /*#__PURE__*/React.createElement(Icon, {
98
+ size: "s",
99
+ name: iconName,
100
+ inline: true
101
+ }))));
102
+ }
103
+ const StyledTh = /*#__PURE__*/_styled(TableCell, process.env.NODE_ENV === "production" ? {
104
+ target: "e1ij903s0"
105
+ } : {
106
+ target: "e1ij903s0",
107
+ label: "StyledTh"
108
+ })(_ref5 => {
109
+ let {
110
+ theme,
111
+ align = "left",
112
+ width = "auto"
113
+ } = _ref5;
114
+ return {
115
+ padding: `${theme.variables.size.spacing.s} ${theme.variables.size.spacing.m}`,
116
+ textAlign: align,
117
+ borderBottom: `1px solid ${theme.values.color.divider.primary}`,
118
+ width,
119
+ whiteSpace: "nowrap"
120
+ };
121
+ }, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRhYmxlSGVhZGVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEyR2lCIiwiZmlsZSI6IlRhYmxlSGVhZGVyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IERhdGFUYWJsZUNvbHVtbiB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSBcIi4uL1R5cG9ncmFwaHkvVGV4dC9UZXh0XCI7XG5pbXBvcnQgeyBJY29uLCBJY29uTmFtZSB9IGZyb20gXCIuLi9JY29uL0ljb25cIjtcbmltcG9ydCBUYWJsZUNlbGwsIHsgVGFibGVDZWxsUHJvcHMgfSBmcm9tIFwiLi9UYWJsZUNlbGxcIjtcbmltcG9ydCB0eXBlIHsgRGF0YVRhYmxlUHJvcHMgfSBmcm9tIFwiLi9EYXRhVGFibGVcIjtcblxuZXhwb3J0IHR5cGUgVGFibGVIZWFkZXJQcm9wcyA9IHtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBpc1RhYmxlU2Nyb2xsZWQ6IGJvb2xlYW47XG59ICYgUGljazxcbiAgRGF0YVRhYmxlUHJvcHMsXG4gIFwiY29sdW1uc1wiIHwgXCJyb3dzXCIgfCBcIm9uU29ydFwiIHwgXCJjdXJyZW50bHlTb3J0ZWRCeUNvbHVtblwiXG4+O1xuXG5jb25zdCBTT1JUX0RJUkVDVElPTl9JQ09OOiBSZWNvcmQ8RGF0YVRhYmxlQ29sdW1uW1wic29ydERpcmVjdGlvblwiXSwgSWNvbk5hbWU+ID1cbiAge1xuICAgIGFzYzogXCJzb3J0LWFzY2VuZGluZ1wiLFxuICAgIGRlc2M6IFwic29ydC1kZXNjZW5kaW5nXCIsXG4gIH07XG5cbmNvbnN0IFNvcnRJY29uID0gc3R5bGVkLnNwYW4oKHsgdGhlbWUgfSkgPT4gKHtcbiAgbWFyZ2luTGVmdDogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54eHhzLFxufSkpO1xuXG5jb25zdCBTdHlsZWRIZWFkZXJMYWJlbCA9IHN0eWxlZChUZXh0KSgoeyB0aGVtZSB9KSA9PiAoe1xuICBmb250V2VpZ2h0OiB0aGVtZS52YXJpYWJsZXMud2VpZ2h0LmJvbGQsXG4gIGxpbmVIZWlnaHQ6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmxpbmVIZWlnaHQuaGVhZGVyLnh4cyxcbiAgbGV0dGVyU3BhY2luZzogXCIwLjVweFwiLFxufSkpO1xuXG50eXBlIFN0eWxlZFNvcnRhYmxlSGVhZGVyUHJvcHMgPSBQaWNrPERhdGFUYWJsZUNvbHVtbiwgXCJhbGlnblwiPjtcbmNvbnN0IFN0eWxlZFNvcnRhYmxlSGVhZGVyID0gc3R5bGVkLmJ1dHRvbjxTdHlsZWRTb3J0YWJsZUhlYWRlclByb3BzPihcbiAgKHsgdGhlbWUsIGFsaWduIH0pID0+ICh7XG4gICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgIGhlaWdodDogdGhlbWUudmFyaWFibGVzLnNpemUubGluZUhlaWdodC5oZWFkZXIueHhzLFxuICAgIHBhZGRpbmc6IDAsXG4gICAgYmFja2dyb3VuZDogXCJub25lXCIsXG4gICAgYm9yZGVyOiBcIm5vbmVcIixcbiAgICBjdXJzb3I6IFwicG9pbnRlclwiLFxuICAgIHRleHRBbGlnbjogYWxpZ24sXG5cbiAgICBbYCY6aG92ZXIgJHtTdHlsZWRIZWFkZXJMYWJlbH1gXToge1xuICAgICAgY29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5oZWFkZXIucHJpbWFyeSxcbiAgICB9LFxuICB9KVxuKTtcblxudHlwZSBTb3J0YWJsZUhlYWRlclByb3BzID0gUGljazxcbiAgVGFibGVIZWFkZXJQcm9wcyxcbiAgXCJvblNvcnRcIiB8IFwiY3VycmVudGx5U29ydGVkQnlDb2x1bW5cIlxuPiAmXG4gIERhdGFUYWJsZUNvbHVtbjtcblxuZnVuY3Rpb24gU29ydGFibGVIZWFkZXIoe1xuICBuYW1lLFxuICBsYWJlbCxcbiAgYWxpZ24sXG4gIHNvcnREaXJlY3Rpb24gPSBcImFzY1wiLFxuICBjdXJyZW50bHlTb3J0ZWRCeUNvbHVtbixcbiAgb25Tb3J0LFxufTogU29ydGFibGVIZWFkZXJQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IFtob3ZlcmVkLCBzZXRIb3ZlcmVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgZGVzaXJlZFNvcnREaXJlY3Rpb24gPSBzb3J0RGlyZWN0aW9uID09PSBcImFzY1wiID8gXCJkZXNjXCIgOiBcImFzY1wiO1xuXG4gIGNvbnN0IGhhbmRsZUNsaWNrOiBSZWFjdC5Nb3VzZUV2ZW50SGFuZGxlciA9ICgpID0+IHtcbiAgICBzZXRIb3ZlcmVkKGZhbHNlKTtcbiAgICBpZiAob25Tb3J0KSB7XG4gICAgICBvblNvcnQobmFtZSwgZGVzaXJlZFNvcnREaXJlY3Rpb24pO1xuICAgIH1cbiAgfTtcblxuICBsZXQgaWNvbk5hbWU6IEljb25OYW1lID0gXCJzb3J0LW5ldXRyYWxcIjtcblxuICBpZiAobmFtZSA9PT0gY3VycmVudGx5U29ydGVkQnlDb2x1bW4pIHtcbiAgICBpY29uTmFtZSA9IFNPUlRfRElSRUNUSU9OX0lDT05bc29ydERpcmVjdGlvbl07XG4gIH1cbiAgaWYgKGhvdmVyZWQpIHtcbiAgICBpY29uTmFtZSA9IFNPUlRfRElSRUNUSU9OX0lDT05bZGVzaXJlZFNvcnREaXJlY3Rpb25dO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkU29ydGFibGVIZWFkZXJcbiAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsaWNrfVxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBhbGlnbj17YWxpZ259XG4gICAgICBvblBvaW50ZXJFbnRlcj17KCkgPT4gc2V0SG92ZXJlZCh0cnVlKX1cbiAgICAgIG9uUG9pbnRlckxlYXZlPXsoKSA9PiBzZXRIb3ZlcmVkKGZhbHNlKX1cbiAgICA+XG4gICAgICA8U3R5bGVkSGVhZGVyTGFiZWxcbiAgICAgICAgYXM9XCJzcGFuXCJcbiAgICAgICAgc2l6ZT1cInhzXCJcbiAgICAgICAgdHJhbnNmb3JtPVwidXBwZXJjYXNlXCJcbiAgICAgICAgdmFyaWFudD1cInRlcnRpYXJ5XCJcbiAgICAgID5cbiAgICAgICAge2xhYmVsfVxuICAgICAgICA8U29ydEljb24+XG4gICAgICAgICAgPEljb24gc2l6ZT1cInNcIiBuYW1lPXtpY29uTmFtZX0gaW5saW5lIC8+XG4gICAgICAgIDwvU29ydEljb24+XG4gICAgICA8L1N0eWxlZEhlYWRlckxhYmVsPlxuICAgIDwvU3R5bGVkU29ydGFibGVIZWFkZXI+XG4gICk7XG59XG5cbnR5cGUgU3R5bGVkVGhQcm9wcyA9IFBpY2s8RGF0YVRhYmxlQ29sdW1uLCBcImFsaWduXCIgfCBcIndpZHRoXCI+ICYgVGFibGVDZWxsUHJvcHM7XG5cbmNvbnN0IFN0eWxlZFRoID0gc3R5bGVkKFRhYmxlQ2VsbCk8U3R5bGVkVGhQcm9wcz4oXG4gICh7IHRoZW1lLCBhbGlnbiA9IFwibGVmdFwiLCB3aWR0aCA9IFwiYXV0b1wiIH0pID0+ICh7XG4gICAgcGFkZGluZzogYCR7dGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5zfSAke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubX1gLFxuICAgIHRleHRBbGlnbjogYWxpZ24sXG4gICAgYm9yZGVyQm90dG9tOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIHdpZHRoLFxuICAgIHdoaXRlU3BhY2U6IFwibm93cmFwXCIsXG4gIH0pXG4pO1xuXG5mdW5jdGlvbiBUYWJsZUhlYWRlcih7XG4gIGNsYXNzTmFtZSxcbiAgY29sdW1ucyxcbiAgaXNUYWJsZVNjcm9sbGVkLFxuICBjdXJyZW50bHlTb3J0ZWRCeUNvbHVtbixcbiAgb25Tb3J0LFxufTogVGFibGVIZWFkZXJQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IGNvbHVtbkVsZW1lbnRzID0gY29sdW1ucy5tYXAoKGNvbHVtbikgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGlzU29ydGFibGUsXG4gICAgICBsYWJlbCxcbiAgICAgIGFsaWduID0gXCJsZWZ0XCIsXG4gICAgICB3aWR0aCxcbiAgICAgIG5hbWUsXG4gICAgICBzb3J0RGlyZWN0aW9uLFxuICAgIH0gPSBjb2x1bW47XG4gICAgY29uc3QgaGVhZGVyRWxtID0gaXNTb3J0YWJsZSA/IChcbiAgICAgIDxTb3J0YWJsZUhlYWRlclxuICAgICAgICBvblNvcnQ9e29uU29ydH1cbiAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICBzb3J0RGlyZWN0aW9uPXtzb3J0RGlyZWN0aW9ufVxuICAgICAgICBhbGlnbj17YWxpZ259XG4gICAgICAgIGN1cnJlbnRseVNvcnRlZEJ5Q29sdW1uPXtjdXJyZW50bHlTb3J0ZWRCeUNvbHVtbn1cbiAgICAgIC8+XG4gICAgKSA6IChcbiAgICAgIDxTdHlsZWRIZWFkZXJMYWJlbFxuICAgICAgICBzaXplPVwieHNcIlxuICAgICAgICB0cmFuc2Zvcm09XCJ1cHBlcmNhc2VcIlxuICAgICAgICBhbGlnbj17YWxpZ259XG4gICAgICAgIHZhcmlhbnQ9XCJ0ZXJ0aWFyeVwiXG4gICAgICA+XG4gICAgICAgIHtsYWJlbH1cbiAgICAgIDwvU3R5bGVkSGVhZGVyTGFiZWw+XG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkVGhcbiAgICAgICAgYXM9XCJ0aFwiXG4gICAgICAgIGFsaWduPXthbGlnbn1cbiAgICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgICBrZXk9e25hbWV9XG4gICAgICAgIGlzVGFibGVTY3JvbGxlZD17aXNUYWJsZVNjcm9sbGVkfVxuICAgICAgPlxuICAgICAgICB7aGVhZGVyRWxtfVxuICAgICAgPC9TdHlsZWRUaD5cbiAgICApO1xuICB9KTtcblxuICByZXR1cm4gKFxuICAgIDx0aGVhZCBjbGFzc05hbWU9e2NsYXNzTmFtZX0+XG4gICAgICA8dHI+e2NvbHVtbkVsZW1lbnRzfTwvdHI+XG4gICAgPC90aGVhZD5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgUmVhY3QubWVtbyhUYWJsZUhlYWRlcik7XG4iXX0= */");
122
+ function TableHeader(_ref6) {
123
+ let {
124
+ className,
125
+ columns,
126
+ isTableScrolled,
127
+ currentlySortedByColumn,
128
+ onSort
129
+ } = _ref6;
130
+ const columnElements = columns.map(column => {
131
+ const {
132
+ isSortable,
133
+ label,
134
+ align = "left",
135
+ width,
136
+ name,
137
+ sortDirection
138
+ } = column;
139
+ const headerElm = isSortable ? /*#__PURE__*/React.createElement(SortableHeader, {
140
+ onSort: onSort,
141
+ name: name,
142
+ label: label,
143
+ sortDirection: sortDirection,
144
+ align: align,
145
+ currentlySortedByColumn: currentlySortedByColumn
146
+ }) : /*#__PURE__*/React.createElement(StyledHeaderLabel, {
147
+ size: "xs",
148
+ transform: "uppercase",
149
+ align: align,
150
+ variant: "tertiary"
151
+ }, label);
152
+ return /*#__PURE__*/React.createElement(StyledTh, {
153
+ as: "th",
154
+ align: align,
155
+ width: width,
156
+ key: name,
157
+ isTableScrolled: isTableScrolled
158
+ }, headerElm);
159
+ });
160
+ return /*#__PURE__*/React.createElement("thead", {
161
+ className: className
162
+ }, /*#__PURE__*/React.createElement("tr", null, columnElements));
163
+ }
164
+ var TableHeader$1 = /*#__PURE__*/React.memo(TableHeader);
165
+
166
+ export { TableHeader$1 as default };
167
+ //# sourceMappingURL=TableHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableHeader.js","sources":["../../../../../src/components/DataTable/TableHeader.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport styled from \"@emotion/styled\";\nimport type { DataTableColumn } from \"./types\";\nimport { Text } from \"../Typography/Text/Text\";\nimport { Icon, IconName } from \"../Icon/Icon\";\nimport TableCell, { TableCellProps } from \"./TableCell\";\nimport type { DataTableProps } from \"./DataTable\";\n\nexport type TableHeaderProps = {\n className?: string;\n isTableScrolled: boolean;\n} & Pick<\n DataTableProps,\n \"columns\" | \"rows\" | \"onSort\" | \"currentlySortedByColumn\"\n>;\n\nconst SORT_DIRECTION_ICON: Record<DataTableColumn[\"sortDirection\"], IconName> =\n {\n asc: \"sort-ascending\",\n desc: \"sort-descending\",\n };\n\nconst SortIcon = styled.span(({ theme }) => ({\n marginLeft: theme.variables.size.spacing.xxxs,\n}));\n\nconst StyledHeaderLabel = styled(Text)(({ theme }) => ({\n fontWeight: theme.variables.weight.bold,\n lineHeight: theme.variables.size.lineHeight.header.xxs,\n letterSpacing: \"0.5px\",\n}));\n\ntype StyledSortableHeaderProps = Pick<DataTableColumn, \"align\">;\nconst StyledSortableHeader = styled.button<StyledSortableHeaderProps>(\n ({ theme, align }) => ({\n width: \"100%\",\n height: theme.variables.size.lineHeight.header.xxs,\n padding: 0,\n background: \"none\",\n border: \"none\",\n cursor: \"pointer\",\n textAlign: align,\n\n [`&:hover ${StyledHeaderLabel}`]: {\n color: theme.values.color.header.primary,\n },\n })\n);\n\ntype SortableHeaderProps = Pick<\n TableHeaderProps,\n \"onSort\" | \"currentlySortedByColumn\"\n> &\n DataTableColumn;\n\nfunction SortableHeader({\n name,\n label,\n align,\n sortDirection = \"asc\",\n currentlySortedByColumn,\n onSort,\n}: SortableHeaderProps): React.ReactElement {\n const [hovered, setHovered] = useState(false);\n const desiredSortDirection = sortDirection === \"asc\" ? \"desc\" : \"asc\";\n\n const handleClick: React.MouseEventHandler = () => {\n setHovered(false);\n if (onSort) {\n onSort(name, desiredSortDirection);\n }\n };\n\n let iconName: IconName = \"sort-neutral\";\n\n if (name === currentlySortedByColumn) {\n iconName = SORT_DIRECTION_ICON[sortDirection];\n }\n if (hovered) {\n iconName = SORT_DIRECTION_ICON[desiredSortDirection];\n }\n\n return (\n <StyledSortableHeader\n onClick={handleClick}\n type=\"button\"\n align={align}\n onPointerEnter={() => setHovered(true)}\n onPointerLeave={() => setHovered(false)}\n >\n <StyledHeaderLabel\n as=\"span\"\n size=\"xs\"\n transform=\"uppercase\"\n variant=\"tertiary\"\n >\n {label}\n <SortIcon>\n <Icon size=\"s\" name={iconName} inline />\n </SortIcon>\n </StyledHeaderLabel>\n </StyledSortableHeader>\n );\n}\n\ntype StyledThProps = Pick<DataTableColumn, \"align\" | \"width\"> & TableCellProps;\n\nconst StyledTh = styled(TableCell)<StyledThProps>(\n ({ theme, align = \"left\", width = \"auto\" }) => ({\n padding: `${theme.variables.size.spacing.s} ${theme.variables.size.spacing.m}`,\n textAlign: align,\n borderBottom: `1px solid ${theme.values.color.divider.primary}`,\n width,\n whiteSpace: \"nowrap\",\n })\n);\n\nfunction TableHeader({\n className,\n columns,\n isTableScrolled,\n currentlySortedByColumn,\n onSort,\n}: TableHeaderProps): React.ReactElement {\n const columnElements = columns.map((column) => {\n const {\n isSortable,\n label,\n align = \"left\",\n width,\n name,\n sortDirection,\n } = column;\n const headerElm = isSortable ? (\n <SortableHeader\n onSort={onSort}\n name={name}\n label={label}\n sortDirection={sortDirection}\n align={align}\n currentlySortedByColumn={currentlySortedByColumn}\n />\n ) : (\n <StyledHeaderLabel\n size=\"xs\"\n transform=\"uppercase\"\n align={align}\n variant=\"tertiary\"\n >\n {label}\n </StyledHeaderLabel>\n );\n\n return (\n <StyledTh\n as=\"th\"\n align={align}\n width={width}\n key={name}\n isTableScrolled={isTableScrolled}\n >\n {headerElm}\n </StyledTh>\n );\n });\n\n return (\n <thead className={className}>\n <tr>{columnElements}</tr>\n </thead>\n );\n}\n\nexport default React.memo(TableHeader);\n"],"names":["SORT_DIRECTION_ICON","asc","desc","SortIcon","_styled","process","env","NODE_ENV","target","label","_ref","theme","marginLeft","variables","size","spacing","xxxs","StyledHeaderLabel","Text","_ref2","fontWeight","weight","bold","lineHeight","header","xxs","letterSpacing","StyledSortableHeader","_ref3","align","width","height","padding","background","border","cursor","textAlign","color","values","primary","SortableHeader","_ref4","name","sortDirection","currentlySortedByColumn","onSort","hovered","setHovered","useState","desiredSortDirection","handleClick","iconName","React","createElement","onClick","type","onPointerEnter","onPointerLeave","as","transform","variant","Icon","inline","StyledTh","TableCell","_ref5","s","m","borderBottom","divider","whiteSpace","TableHeader","_ref6","className","columns","isTableScrolled","columnElements","map","column","isSortable","headerElm","key","memo"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export type { DataTableColumn, DataTableRow } from "./types";
2
+ export { DataTable } from "./DataTable";
3
+ export type { DataTableProps } from "./DataTable";
4
+ export { useDataTableSort } from "./useDataTableSort";
@@ -0,0 +1,15 @@
1
+ /// <reference types="react" />
2
+ import { TextAlignment } from "../../types";
3
+ export declare type DataTableRow = {
4
+ id: string;
5
+ [key: string]: string | number | boolean;
6
+ };
7
+ export declare type DataTableColumn = {
8
+ name: string;
9
+ label: string;
10
+ align?: TextAlignment;
11
+ width?: string;
12
+ isSortable?: boolean;
13
+ sortDirection?: "asc" | "desc";
14
+ renderCell?: (row: DataTableRow) => React.ReactElement;
15
+ };
@@ -0,0 +1,14 @@
1
+ import { Dispatch, SetStateAction } from "react";
2
+ import type { DataTableColumn, DataTableRow } from "./types";
3
+ import type { DataTableProps } from "./DataTable";
4
+ declare type SortCompareFn = (a: DataTableRow, b: DataTableRow, columnName: DataTableColumn["name"], desiredSortDirection: DataTableColumn["sortDirection"]) => number;
5
+ export declare function useDataTableSort(initialColumns: DataTableColumn[], initialRows: DataTableRow[], initialSortedByColumn?: DataTableColumn["name"], sortCompareFn?: SortCompareFn): [
6
+ DataTableColumn[],
7
+ DataTableRow[],
8
+ DataTableColumn["name"],
9
+ DataTableProps["onSort"],
10
+ Dispatch<SetStateAction<DataTableColumn[]>>,
11
+ Dispatch<SetStateAction<DataTableRow[]>>,
12
+ Dispatch<SetStateAction<DataTableColumn["name"]>>
13
+ ];
14
+ export {};
@@ -0,0 +1,33 @@
1
+ import { useState } from 'react';
2
+
3
+ const defaultSortCompareFn = (a, b, columnName, desiredSortDirection) => {
4
+ if (a[columnName] < b[columnName]) {
5
+ return desiredSortDirection === "asc" ? -1 : 1;
6
+ }
7
+ if (a[columnName] > b[columnName]) {
8
+ return desiredSortDirection === "asc" ? 1 : -1;
9
+ }
10
+ return 0;
11
+ };
12
+ function useDataTableSort(initialColumns, initialRows, initialSortedByColumn) {
13
+ let sortCompareFn = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : defaultSortCompareFn;
14
+ const [columns, setColumns] = useState(initialColumns);
15
+ const [currentlySortedByColumn, setCurrentlySortedByColumn] = useState(initialSortedByColumn);
16
+ const [rows, setRows] = useState(initialRows);
17
+ const handleSort = (columnName, desiredSortDirection) => {
18
+ const newColumns = [...columns];
19
+ const newRows = [...rows];
20
+ const column = newColumns.find(item => item.name === columnName);
21
+ if (column) {
22
+ column.sortDirection = desiredSortDirection;
23
+ }
24
+ newRows.sort((a, b) => sortCompareFn(a, b, columnName, desiredSortDirection));
25
+ setRows(newRows);
26
+ setColumns(newColumns);
27
+ setCurrentlySortedByColumn(columnName);
28
+ };
29
+ return [columns, rows, currentlySortedByColumn, handleSort, setColumns, setRows, setCurrentlySortedByColumn];
30
+ }
31
+
32
+ export { useDataTableSort };
33
+ //# sourceMappingURL=useDataTableSort.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDataTableSort.js","sources":["../../../../../src/components/DataTable/useDataTableSort.ts"],"sourcesContent":["import { useState, Dispatch, SetStateAction } from \"react\";\n\nimport type { DataTableColumn, DataTableRow } from \"./types\";\nimport type { DataTableProps } from \"./DataTable\";\n\ntype SortCompareFn = (\n a: DataTableRow,\n b: DataTableRow,\n columnName: DataTableColumn[\"name\"],\n desiredSortDirection: DataTableColumn[\"sortDirection\"]\n) => number;\nconst defaultSortCompareFn = (\n a: DataTableRow,\n b: DataTableRow,\n columnName: DataTableColumn[\"name\"],\n desiredSortDirection: DataTableColumn[\"sortDirection\"]\n) => {\n if (a[columnName] < b[columnName]) {\n return desiredSortDirection === \"asc\" ? -1 : 1;\n }\n if (a[columnName] > b[columnName]) {\n return desiredSortDirection === \"asc\" ? 1 : -1;\n }\n\n return 0;\n};\n\nexport function useDataTableSort(\n initialColumns: DataTableColumn[],\n initialRows: DataTableRow[],\n initialSortedByColumn?: DataTableColumn[\"name\"],\n sortCompareFn: SortCompareFn = defaultSortCompareFn\n): [\n DataTableColumn[],\n DataTableRow[],\n DataTableColumn[\"name\"],\n DataTableProps[\"onSort\"],\n Dispatch<SetStateAction<DataTableColumn[]>>,\n Dispatch<SetStateAction<DataTableRow[]>>,\n Dispatch<SetStateAction<DataTableColumn[\"name\"]>>\n] {\n const [columns, setColumns] = useState(initialColumns);\n const [currentlySortedByColumn, setCurrentlySortedByColumn] = useState(\n initialSortedByColumn\n );\n const [rows, setRows] = useState(initialRows);\n\n const handleSort: DataTableProps[\"onSort\"] = (\n columnName,\n desiredSortDirection\n ) => {\n const newColumns = [...columns];\n const newRows = [...rows];\n const column = newColumns.find((item) => item.name === columnName);\n\n if (column) {\n column.sortDirection = desiredSortDirection;\n }\n\n newRows.sort((a, b) =>\n sortCompareFn(a, b, columnName, desiredSortDirection)\n );\n\n setRows(newRows);\n setColumns(newColumns);\n setCurrentlySortedByColumn(columnName);\n };\n\n return [\n columns,\n rows,\n currentlySortedByColumn,\n handleSort,\n setColumns,\n setRows,\n setCurrentlySortedByColumn,\n ];\n}\n"],"names":["defaultSortCompareFn","a","b","columnName","desiredSortDirection","useDataTableSort","initialColumns","initialRows","initialSortedByColumn","sortCompareFn","arguments","length","undefined","columns","setColumns","useState","currentlySortedByColumn","setCurrentlySortedByColumn","rows","setRows","handleSort","newColumns","newRows","column","find","item","name","sortDirection","sort"],"mappings":";;AAWA,MAAMA,oBAAoB,GAAGA,CAC3BC,CAAe,EACfC,CAAe,EACfC,UAAmC,EACnCC,oBAAsD,KACnD;EACH,IAAIH,CAAC,CAACE,UAAU,CAAC,GAAGD,CAAC,CAACC,UAAU,CAAC,EAAE;AACjC,IAAA,OAAOC,oBAAoB,KAAK,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;AAChD,GAAA;EACA,IAAIH,CAAC,CAACE,UAAU,CAAC,GAAGD,CAAC,CAACC,UAAU,CAAC,EAAE;AACjC,IAAA,OAAOC,oBAAoB,KAAK,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;AAChD,GAAA;AAEA,EAAA,OAAO,CAAC,CAAA;AACV,CAAC,CAAA;AAEM,SAASC,gBAAgBA,CAC9BC,cAAiC,EACjCC,WAA2B,EAC3BC,qBAA+C,EAU/C;AAAA,EAAA,IATAC,aAA4B,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAGV,oBAAoB,CAAA;EAUnD,MAAM,CAACa,OAAO,EAAEC,UAAU,CAAC,GAAGC,QAAQ,CAACT,cAAc,CAAC,CAAA;EACtD,MAAM,CAACU,uBAAuB,EAAEC,0BAA0B,CAAC,GAAGF,QAAQ,CACpEP,qBAAqB,CACtB,CAAA;EACD,MAAM,CAACU,IAAI,EAAEC,OAAO,CAAC,GAAGJ,QAAQ,CAACR,WAAW,CAAC,CAAA;AAE7C,EAAA,MAAMa,UAAoC,GAAGA,CAC3CjB,UAAU,EACVC,oBAAoB,KACjB;AACH,IAAA,MAAMiB,UAAU,GAAG,CAAC,GAAGR,OAAO,CAAC,CAAA;AAC/B,IAAA,MAAMS,OAAO,GAAG,CAAC,GAAGJ,IAAI,CAAC,CAAA;AACzB,IAAA,MAAMK,MAAM,GAAGF,UAAU,CAACG,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAACC,IAAI,KAAKvB,UAAU,CAAC,CAAA;AAElE,IAAA,IAAIoB,MAAM,EAAE;MACVA,MAAM,CAACI,aAAa,GAAGvB,oBAAoB,CAAA;AAC7C,KAAA;AAEAkB,IAAAA,OAAO,CAACM,IAAI,CAAC,CAAC3B,CAAC,EAAEC,CAAC,KAChBO,aAAa,CAACR,CAAC,EAAEC,CAAC,EAAEC,UAAU,EAAEC,oBAAoB,CAAC,CACtD,CAAA;IAEDe,OAAO,CAACG,OAAO,CAAC,CAAA;IAChBR,UAAU,CAACO,UAAU,CAAC,CAAA;IACtBJ,0BAA0B,CAACd,UAAU,CAAC,CAAA;GACvC,CAAA;AAED,EAAA,OAAO,CACLU,OAAO,EACPK,IAAI,EACJF,uBAAuB,EACvBI,UAAU,EACVN,UAAU,EACVK,OAAO,EACPF,0BAA0B,CAC3B,CAAA;AACH;;;;"}