@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.
- package/build/cjs/build-tokens/assets/icons.json.js +1 -1
- package/build/cjs/build-tokens/assets/icons16.json.js +1 -1
- package/build/cjs/src/components/Badge/Badge.js +2 -1
- package/build/cjs/src/components/Box/Box.js +3 -2
- package/build/cjs/src/components/Button/Button.js +10 -7
- package/build/cjs/src/components/Callout/Callout.js +2 -1
- package/build/cjs/src/components/Card/Card.js +2 -1
- package/build/cjs/src/components/Card/CardBox.js +1 -0
- package/build/cjs/src/components/Collapsible/Collapsible.js +7 -4
- package/build/cjs/src/components/Column/Columns.js +6 -4
- package/build/cjs/src/components/Container/Container.js +2 -1
- package/build/cjs/src/components/DataTable/DataTable.js +115 -0
- package/build/cjs/src/components/DataTable/TableBody.js +131 -0
- package/build/cjs/src/components/DataTable/TableCell.js +48 -0
- package/build/cjs/src/components/DataTable/TableFooter.js +22 -0
- package/build/cjs/src/components/DataTable/TableHeader.js +175 -0
- package/build/cjs/src/components/DataTable/useDataTableSort.js +34 -0
- package/build/cjs/src/components/Divider/Divider.js +5 -4
- package/build/cjs/src/components/DropdownMenu/DropdownMenu.js +5 -4
- package/build/cjs/src/components/Form/Checkbox/Checkbox.js +5 -4
- package/build/cjs/src/components/Form/FormErrorMessages/FormErrorMessages.js +1 -0
- package/build/cjs/src/components/Form/FormField/FormField.js +4 -2
- package/build/cjs/src/components/Form/FormFieldGroup/FormFieldGroup.js +3 -2
- package/build/cjs/src/components/Form/FormLabelText/FormLabelText.js +2 -1
- package/build/cjs/src/components/Form/Input/Input.js +8 -4
- package/build/cjs/src/components/Form/PasswordInput/PasswordInput.js +8 -4
- package/build/cjs/src/components/Form/Radio/Radio.js +5 -4
- package/build/cjs/src/components/Form/RadioButton/RadioButton.js +6 -4
- package/build/cjs/src/components/Form/Select/Select.js +10 -6
- package/build/cjs/src/components/Form/Textarea/Textarea.js +7 -3
- package/build/cjs/src/components/Form/Toggle/Toggle.js +6 -5
- package/build/cjs/src/components/Form/ToggleButton/ToggleButton.js +6 -5
- package/build/cjs/src/components/Icon/Icon.js +2 -1
- package/build/cjs/src/components/Inline/Inline.js +7 -4
- package/build/cjs/src/components/Link/Link.js +2 -1
- package/build/cjs/src/components/LoadingSpinner/LoadingSpinner.js +84 -0
- package/build/cjs/src/components/Logo/Logo.js +3 -2
- package/build/cjs/src/components/MediaItem/MediaItem.js +5 -4
- package/build/cjs/src/components/MediaViewerBar/MediaViewerBar.js +4 -3
- package/build/cjs/src/components/Notification/Notification.js +5 -3
- package/build/cjs/src/components/Patterns/ButtonGroup/ButtonGroup.js +2 -1
- package/build/cjs/src/components/Patterns/Modal/Modal.js +7 -6
- package/build/cjs/src/components/PictogramButton/PictogramButton.js +12 -3
- package/build/cjs/src/components/RoundButton/RoundButton.js +4 -2
- package/build/cjs/src/components/SearchResult/SearchResult.js +5 -4
- package/build/cjs/src/components/SegmentedProgressBar/SegmentedProgressBar.js +3 -2
- package/build/cjs/src/components/Stack/Stack.js +7 -4
- package/build/cjs/src/components/SubThemeProvider/SubThemeProvider.js +2 -1
- package/build/cjs/src/components/Tabs/Tabs.js +4 -3
- package/build/cjs/src/components/Typography/Header/Header.js +24 -6
- package/build/cjs/src/components/Typography/StyledText/StyledText.js +4 -3
- package/build/cjs/src/components/Typography/Text/Text.js +3 -2
- package/build/cjs/src/components/Typography/TextClamped/TextClamped.js +3 -2
- package/build/cjs/src/components/VirtualScrollList/VirtualScrollList.js +3 -2
- package/build/cjs/src/index.js +6 -0
- package/build/cjs/src/shared/ScreenReaderText.js +26 -0
- package/build/esm/build-tokens/assets/icons.json.js +1 -1
- package/build/esm/build-tokens/assets/icons16.json.js +1 -1
- package/build/esm/src/components/Badge/Badge.js +2 -1
- package/build/esm/src/components/Badge/Badge.js.map +1 -1
- package/build/esm/src/components/Box/Box.js +3 -2
- package/build/esm/src/components/Box/Box.js.map +1 -1
- package/build/esm/src/components/Button/Button.js +10 -7
- package/build/esm/src/components/Button/Button.js.map +1 -1
- package/build/esm/src/components/Callout/Callout.js +2 -1
- package/build/esm/src/components/Callout/Callout.js.map +1 -1
- package/build/esm/src/components/Card/Card.js +2 -1
- package/build/esm/src/components/Card/Card.js.map +1 -1
- package/build/esm/src/components/Card/CardBox.js +1 -0
- package/build/esm/src/components/Card/CardBox.js.map +1 -1
- package/build/esm/src/components/Collapsible/Collapsible.js +7 -4
- package/build/esm/src/components/Collapsible/Collapsible.js.map +1 -1
- package/build/esm/src/components/Column/Columns.d.ts +4 -0
- package/build/esm/src/components/Column/Columns.js +6 -4
- package/build/esm/src/components/Column/Columns.js.map +1 -1
- package/build/esm/src/components/Container/Container.js +2 -1
- package/build/esm/src/components/Container/Container.js.map +1 -1
- package/build/esm/src/components/DataTable/DataTable.d.ts +49 -0
- package/build/esm/src/components/DataTable/DataTable.js +109 -0
- package/build/esm/src/components/DataTable/DataTable.js.map +1 -0
- package/build/esm/src/components/DataTable/TableBody.d.ts +9 -0
- package/build/esm/src/components/DataTable/TableBody.js +123 -0
- package/build/esm/src/components/DataTable/TableBody.js.map +1 -0
- package/build/esm/src/components/DataTable/TableCell.d.ts +9 -0
- package/build/esm/src/components/DataTable/TableCell.js +41 -0
- package/build/esm/src/components/DataTable/TableCell.js.map +1 -0
- package/build/esm/src/components/DataTable/TableFooter.d.ts +6 -0
- package/build/esm/src/components/DataTable/TableFooter.js +15 -0
- package/build/esm/src/components/DataTable/TableFooter.js.map +1 -0
- package/build/esm/src/components/DataTable/TableHeader.d.ts +9 -0
- package/build/esm/src/components/DataTable/TableHeader.js +167 -0
- package/build/esm/src/components/DataTable/TableHeader.js.map +1 -0
- package/build/esm/src/components/DataTable/index.d.ts +4 -0
- package/build/esm/src/components/DataTable/types.d.ts +15 -0
- package/build/esm/src/components/DataTable/useDataTableSort.d.ts +14 -0
- package/build/esm/src/components/DataTable/useDataTableSort.js +33 -0
- package/build/esm/src/components/DataTable/useDataTableSort.js.map +1 -0
- package/build/esm/src/components/Divider/Divider.js +5 -4
- package/build/esm/src/components/Divider/Divider.js.map +1 -1
- package/build/esm/src/components/DropdownMenu/DropdownMenu.js +5 -4
- package/build/esm/src/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/build/esm/src/components/Form/Checkbox/Checkbox.js +5 -4
- package/build/esm/src/components/Form/Checkbox/Checkbox.js.map +1 -1
- package/build/esm/src/components/Form/FormErrorMessages/FormErrorMessages.js +1 -0
- package/build/esm/src/components/Form/FormErrorMessages/FormErrorMessages.js.map +1 -1
- package/build/esm/src/components/Form/FormField/FormField.d.ts +3 -1
- package/build/esm/src/components/Form/FormField/FormField.js +4 -2
- package/build/esm/src/components/Form/FormField/FormField.js.map +1 -1
- package/build/esm/src/components/Form/FormFieldGroup/FormFieldGroup.js +3 -2
- package/build/esm/src/components/Form/FormFieldGroup/FormFieldGroup.js.map +1 -1
- package/build/esm/src/components/Form/FormLabelText/FormLabelText.js +2 -1
- package/build/esm/src/components/Form/FormLabelText/FormLabelText.js.map +1 -1
- package/build/esm/src/components/Form/Input/Input.js +7 -4
- package/build/esm/src/components/Form/Input/Input.js.map +1 -1
- package/build/esm/src/components/Form/PasswordInput/PasswordInput.js +7 -4
- package/build/esm/src/components/Form/PasswordInput/PasswordInput.js.map +1 -1
- package/build/esm/src/components/Form/Radio/Radio.js +5 -4
- package/build/esm/src/components/Form/Radio/Radio.js.map +1 -1
- package/build/esm/src/components/Form/RadioButton/RadioButton.js +6 -4
- package/build/esm/src/components/Form/RadioButton/RadioButton.js.map +1 -1
- package/build/esm/src/components/Form/Select/Select.js +9 -6
- package/build/esm/src/components/Form/Select/Select.js.map +1 -1
- package/build/esm/src/components/Form/Textarea/Textarea.js +6 -3
- package/build/esm/src/components/Form/Textarea/Textarea.js.map +1 -1
- package/build/esm/src/components/Form/Toggle/Toggle.js +6 -5
- package/build/esm/src/components/Form/Toggle/Toggle.js.map +1 -1
- package/build/esm/src/components/Form/ToggleButton/ToggleButton.js +6 -5
- package/build/esm/src/components/Form/ToggleButton/ToggleButton.js.map +1 -1
- package/build/esm/src/components/Form/ToggleButtonGroup/ToggleButtonGroup.d.ts +16 -0
- package/build/esm/src/components/Icon/Icon.js +2 -1
- package/build/esm/src/components/Icon/Icon.js.map +1 -1
- package/build/esm/src/components/Inline/Inline.d.ts +3 -1
- package/build/esm/src/components/Inline/Inline.js +7 -4
- package/build/esm/src/components/Inline/Inline.js.map +1 -1
- package/build/esm/src/components/Link/Link.js +2 -1
- package/build/esm/src/components/Link/Link.js.map +1 -1
- package/build/esm/src/components/LoadingSpinner/LoadingSpinner.d.ts +11 -0
- package/build/esm/src/components/LoadingSpinner/LoadingSpinner.js +78 -0
- package/build/esm/src/components/LoadingSpinner/LoadingSpinner.js.map +1 -0
- package/build/esm/src/components/Logo/Logo.js +3 -2
- package/build/esm/src/components/Logo/Logo.js.map +1 -1
- package/build/esm/src/components/MediaItem/MediaItem.js +5 -4
- package/build/esm/src/components/MediaItem/MediaItem.js.map +1 -1
- package/build/esm/src/components/MediaViewerBar/MediaViewerBar.js +4 -3
- package/build/esm/src/components/MediaViewerBar/MediaViewerBar.js.map +1 -1
- package/build/esm/src/components/Notification/Notification.js +5 -3
- package/build/esm/src/components/Notification/Notification.js.map +1 -1
- package/build/esm/src/components/Pagination/Pagination.d.ts +13 -0
- package/build/esm/src/components/Patterns/ButtonGroup/ButtonGroup.js +2 -1
- package/build/esm/src/components/Patterns/ButtonGroup/ButtonGroup.js.map +1 -1
- package/build/esm/src/components/Patterns/Modal/Modal.js +7 -6
- package/build/esm/src/components/Patterns/Modal/Modal.js.map +1 -1
- package/build/esm/src/components/PictogramButton/PictogramButton.d.ts +2 -0
- package/build/esm/src/components/PictogramButton/PictogramButton.js +12 -3
- package/build/esm/src/components/PictogramButton/PictogramButton.js.map +1 -1
- package/build/esm/src/components/RoundButton/RoundButton.js +4 -2
- package/build/esm/src/components/RoundButton/RoundButton.js.map +1 -1
- package/build/esm/src/components/SearchResult/SearchResult.js +5 -4
- package/build/esm/src/components/SearchResult/SearchResult.js.map +1 -1
- package/build/esm/src/components/SegmentedProgressBar/SegmentedProgressBar.js +3 -2
- package/build/esm/src/components/SegmentedProgressBar/SegmentedProgressBar.js.map +1 -1
- package/build/esm/src/components/Stack/Stack.d.ts +3 -1
- package/build/esm/src/components/Stack/Stack.js +7 -4
- package/build/esm/src/components/Stack/Stack.js.map +1 -1
- package/build/esm/src/components/SubThemeProvider/SubThemeProvider.js +2 -1
- package/build/esm/src/components/SubThemeProvider/SubThemeProvider.js.map +1 -1
- package/build/esm/src/components/Tabs/Tabs.js +4 -3
- package/build/esm/src/components/Tabs/Tabs.js.map +1 -1
- package/build/esm/src/components/Typography/Header/Header.d.ts +2 -0
- package/build/esm/src/components/Typography/Header/Header.js +24 -6
- package/build/esm/src/components/Typography/Header/Header.js.map +1 -1
- package/build/esm/src/components/Typography/StyledText/StyledText.js +4 -3
- package/build/esm/src/components/Typography/StyledText/StyledText.js.map +1 -1
- package/build/esm/src/components/Typography/Text/Text.d.ts +2 -0
- package/build/esm/src/components/Typography/Text/Text.js +3 -2
- package/build/esm/src/components/Typography/Text/Text.js.map +1 -1
- package/build/esm/src/components/Typography/TextClamped/TextClamped.js +3 -2
- package/build/esm/src/components/Typography/TextClamped/TextClamped.js.map +1 -1
- package/build/esm/src/components/VirtualScrollList/VirtualScrollList.js +3 -2
- package/build/esm/src/components/VirtualScrollList/VirtualScrollList.js.map +1 -1
- package/build/esm/src/index.d.ts +2 -0
- package/build/esm/src/index.js +3 -0
- package/build/esm/src/index.js.map +1 -1
- package/build/esm/src/shared/ScreenReaderText.d.ts +5 -0
- package/build/esm/src/shared/ScreenReaderText.js +21 -0
- package/build/esm/src/shared/ScreenReaderText.js.map +1 -0
- 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,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;;;;"}
|