@veeqo/ui 14.9.1 → 14.10.0-beta-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/dist/components/Calendars/components/subcomponents/CalendarGrid/subCalendars/DodecadeCalendar.cjs +2 -2
- package/dist/components/Calendars/components/subcomponents/CalendarGrid/subCalendars/DodecadeCalendar.cjs.map +1 -1
- package/dist/components/Calendars/components/subcomponents/CalendarGrid/subCalendars/DodecadeCalendar.js +1 -1
- package/dist/components/Calendars/components/subcomponents/CalendarGrid/subCalendars/YearCalendar.cjs +2 -2
- package/dist/components/Calendars/components/subcomponents/CalendarGrid/subCalendars/YearCalendar.cjs.map +1 -1
- package/dist/components/Calendars/components/subcomponents/CalendarGrid/subCalendars/YearCalendar.js +1 -1
- package/dist/components/DataTable/DataTable.cjs +3 -3
- package/dist/components/DataTable/DataTable.cjs.map +1 -1
- package/dist/components/DataTable/DataTable.d.ts +4 -4
- package/dist/components/DataTable/DataTable.js +3 -3
- package/dist/components/DataTable/DataTable.js.map +1 -1
- package/dist/components/DataTable/components/ActionBar.cjs +3 -8
- package/dist/components/DataTable/components/ActionBar.cjs.map +1 -1
- package/dist/components/DataTable/components/ActionBar.js +3 -7
- package/dist/components/DataTable/components/ActionBar.js.map +1 -1
- package/dist/components/DataTable/components/Cell.cjs +15 -4
- package/dist/components/DataTable/components/Cell.cjs.map +1 -1
- package/dist/components/DataTable/components/Cell.d.ts +6 -2
- package/dist/components/DataTable/components/Cell.js +15 -4
- package/dist/components/DataTable/components/Cell.js.map +1 -1
- package/dist/components/DataTable/components/ColumnDivider.cjs +4 -6
- package/dist/components/DataTable/components/ColumnDivider.cjs.map +1 -1
- package/dist/components/DataTable/components/ColumnDivider.d.ts +0 -1
- package/dist/components/DataTable/components/ColumnDivider.js +5 -5
- package/dist/components/DataTable/components/ColumnDivider.js.map +1 -1
- package/dist/components/DataTable/components/ColumnHeader.cjs +8 -9
- package/dist/components/DataTable/components/ColumnHeader.cjs.map +1 -1
- package/dist/components/DataTable/components/ColumnHeader.d.ts +16 -6
- package/dist/components/DataTable/components/ColumnHeader.js +7 -8
- package/dist/components/DataTable/components/ColumnHeader.js.map +1 -1
- package/dist/components/DataTable/components/DataTable.module.scss.cjs +9 -0
- package/dist/components/DataTable/components/DataTable.module.scss.cjs.map +1 -0
- package/dist/components/DataTable/components/DataTable.module.scss.js +7 -0
- package/dist/components/DataTable/components/DataTable.module.scss.js.map +1 -0
- package/dist/components/DataTable/components/EmptyBodyContent.cjs +13 -5
- package/dist/components/DataTable/components/EmptyBodyContent.cjs.map +1 -1
- package/dist/components/DataTable/components/EmptyBodyContent.d.ts +10 -3
- package/dist/components/DataTable/components/EmptyBodyContent.js +12 -4
- package/dist/components/DataTable/components/EmptyBodyContent.js.map +1 -1
- package/dist/components/DataTable/components/Header.cjs +16 -4
- package/dist/components/DataTable/components/Header.cjs.map +1 -1
- package/dist/components/DataTable/components/Header.d.ts +2 -1
- package/dist/components/DataTable/components/Header.js +16 -4
- package/dist/components/DataTable/components/Header.js.map +1 -1
- package/dist/components/DataTable/components/LoadingCellContent.cjs +7 -7
- package/dist/components/DataTable/components/LoadingCellContent.cjs.map +1 -1
- package/dist/components/DataTable/components/LoadingCellContent.d.ts +5 -1
- package/dist/components/DataTable/components/LoadingCellContent.js +6 -6
- package/dist/components/DataTable/components/LoadingCellContent.js.map +1 -1
- package/dist/components/DataTable/components/NoWrap.cjs +7 -3
- package/dist/components/DataTable/components/NoWrap.cjs.map +1 -1
- package/dist/components/DataTable/components/NoWrap.d.ts +6 -1
- package/dist/components/DataTable/components/NoWrap.js +6 -2
- package/dist/components/DataTable/components/NoWrap.js.map +1 -1
- package/dist/components/DataTable/components/Row.cjs +21 -24
- package/dist/components/DataTable/components/Row.cjs.map +1 -1
- package/dist/components/DataTable/components/Row.d.ts +5 -2
- package/dist/components/DataTable/components/Row.js +20 -23
- package/dist/components/DataTable/components/Row.js.map +1 -1
- package/dist/components/DataTable/components/ScrollContainer.cjs +7 -3
- package/dist/components/DataTable/components/ScrollContainer.cjs.map +1 -1
- package/dist/components/DataTable/components/ScrollContainer.d.ts +6 -1
- package/dist/components/DataTable/components/ScrollContainer.js +6 -2
- package/dist/components/DataTable/components/ScrollContainer.js.map +1 -1
- package/dist/components/DataTable/components/StickyHead.cjs +3 -11
- package/dist/components/DataTable/components/StickyHead.cjs.map +1 -1
- package/dist/components/DataTable/components/StickyHead.d.ts +2 -1
- package/dist/components/DataTable/components/StickyHead.js +3 -11
- package/dist/components/DataTable/components/StickyHead.js.map +1 -1
- package/dist/components/DataTable/components/TableGrid.cjs +49 -5
- package/dist/components/DataTable/components/TableGrid.cjs.map +1 -1
- package/dist/components/DataTable/components/TableGrid.d.ts +10 -3
- package/dist/components/DataTable/components/TableGrid.js +48 -4
- package/dist/components/DataTable/components/TableGrid.js.map +1 -1
- package/dist/components/DataTable/components/Truncate.cjs +7 -3
- package/dist/components/DataTable/components/Truncate.cjs.map +1 -1
- package/dist/components/DataTable/components/Truncate.d.ts +6 -1
- package/dist/components/DataTable/components/Truncate.js +6 -2
- package/dist/components/DataTable/components/Truncate.js.map +1 -1
- package/dist/components/DataTable/components/Wrapper.cjs +11 -8
- package/dist/components/DataTable/components/Wrapper.cjs.map +1 -1
- package/dist/components/DataTable/components/Wrapper.d.ts +5 -2
- package/dist/components/DataTable/components/Wrapper.js +10 -7
- package/dist/components/DataTable/components/Wrapper.js.map +1 -1
- package/dist/components/DataTable/constants.cjs +0 -2
- package/dist/components/DataTable/constants.cjs.map +1 -1
- package/dist/components/DataTable/constants.js +1 -2
- package/dist/components/DataTable/constants.js.map +1 -1
- package/dist/components/DataTable/hooks/useTableId.cjs +23 -0
- package/dist/components/DataTable/hooks/useTableId.cjs.map +1 -0
- package/dist/components/DataTable/hooks/useTableId.d.ts +13 -0
- package/dist/components/DataTable/hooks/useTableId.js +21 -0
- package/dist/components/DataTable/hooks/useTableId.js.map +1 -0
- package/dist/components/DataTable/utils/generateTableCss.cjs +44 -80
- package/dist/components/DataTable/utils/generateTableCss.cjs.map +1 -1
- package/dist/components/DataTable/utils/generateTableCss.d.ts +7 -1
- package/dist/components/DataTable/utils/generateTableCss.js +44 -80
- package/dist/components/DataTable/utils/generateTableCss.js.map +1 -1
- package/dist/components/DateInputField/DateInputField.cjs +1 -1
- package/dist/components/DateInputField/DateInputField.js +1 -1
- package/dist/components/DatePicker/DatePicker.cjs +1 -1
- package/dist/components/DatePicker/DatePicker.js +1 -1
- package/dist/components/DateRangePicker/DateRangePicker.cjs +1 -1
- package/dist/components/DateRangePicker/DateRangePicker.js +1 -1
- package/dist/components/Grid/Grid.cjs +24 -0
- package/dist/components/Grid/Grid.cjs.map +1 -0
- package/dist/components/Grid/Grid.d.ts +3 -0
- package/dist/components/Grid/Grid.js +18 -0
- package/dist/components/Grid/Grid.js.map +1 -0
- package/dist/components/Grid/Grid.module.scss.cjs +9 -0
- package/dist/components/Grid/Grid.module.scss.cjs.map +1 -0
- package/dist/components/Grid/Grid.module.scss.js +7 -0
- package/dist/components/Grid/Grid.module.scss.js.map +1 -0
- package/dist/components/Grid/index.d.ts +2 -3
- package/dist/components/LegacyDataTable/LegacyDataTable.d.ts +1 -1
- package/dist/components/LegacyDataTable/LegacyDataTable.module.scss.cjs +9 -0
- package/dist/components/LegacyDataTable/LegacyDataTable.module.scss.cjs.map +1 -0
- package/dist/components/LegacyDataTable/LegacyDataTable.module.scss.js +7 -0
- package/dist/components/LegacyDataTable/LegacyDataTable.module.scss.js.map +1 -0
- package/dist/components/LegacyDataTable/SkeletonContent/SkeletonContent.cjs +8 -8
- package/dist/components/LegacyDataTable/SkeletonContent/SkeletonContent.cjs.map +1 -1
- package/dist/components/LegacyDataTable/SkeletonContent/SkeletonContent.js +8 -7
- package/dist/components/LegacyDataTable/SkeletonContent/SkeletonContent.js.map +1 -1
- package/dist/components/LegacyDataTable/SkeletonContent/SkeletonContent.module.scss.cjs +9 -0
- package/dist/components/LegacyDataTable/SkeletonContent/SkeletonContent.module.scss.cjs.map +1 -0
- package/dist/components/LegacyDataTable/SkeletonContent/SkeletonContent.module.scss.js +7 -0
- package/dist/components/LegacyDataTable/SkeletonContent/SkeletonContent.module.scss.js.map +1 -0
- package/dist/components/LegacyDataTable/SpecificState/SpecificState.cjs +8 -5
- package/dist/components/LegacyDataTable/SpecificState/SpecificState.cjs.map +1 -1
- package/dist/components/LegacyDataTable/SpecificState/SpecificState.js +8 -5
- package/dist/components/LegacyDataTable/SpecificState/SpecificState.js.map +1 -1
- package/dist/components/LegacyDataTable/SpecificState/SpecificState.module.scss.cjs +9 -0
- package/dist/components/LegacyDataTable/SpecificState/SpecificState.module.scss.cjs.map +1 -0
- package/dist/components/LegacyDataTable/SpecificState/SpecificState.module.scss.js +7 -0
- package/dist/components/LegacyDataTable/SpecificState/SpecificState.module.scss.js.map +1 -0
- package/dist/components/LegacyDataTable/StickyHeader.cjs.map +1 -1
- package/dist/components/LegacyDataTable/StickyHeader.js.map +1 -1
- package/dist/components/LegacyDataTable/cells/ClickableCell.cjs +6 -8
- package/dist/components/LegacyDataTable/cells/ClickableCell.cjs.map +1 -1
- package/dist/components/LegacyDataTable/cells/ClickableCell.d.ts +1 -1
- package/dist/components/LegacyDataTable/cells/ClickableCell.js +4 -5
- package/dist/components/LegacyDataTable/cells/ClickableCell.js.map +1 -1
- package/dist/components/LegacyDataTable/cells/EditableCell.cjs +5 -8
- package/dist/components/LegacyDataTable/cells/EditableCell.cjs.map +1 -1
- package/dist/components/LegacyDataTable/cells/EditableCell.d.ts +1 -1
- package/dist/components/LegacyDataTable/cells/EditableCell.js +3 -5
- package/dist/components/LegacyDataTable/cells/EditableCell.js.map +1 -1
- package/dist/components/LegacyDataTable/cells/cells.module.scss.cjs +9 -0
- package/dist/components/LegacyDataTable/cells/cells.module.scss.cjs.map +1 -0
- package/dist/components/LegacyDataTable/cells/cells.module.scss.js +7 -0
- package/dist/components/LegacyDataTable/cells/cells.module.scss.js.map +1 -0
- package/dist/components/LegacyDataTable/styled.cjs +121 -104
- package/dist/components/LegacyDataTable/styled.cjs.map +1 -1
- package/dist/components/LegacyDataTable/styled.d.ts +40 -28
- package/dist/components/LegacyDataTable/styled.js +120 -103
- package/dist/components/LegacyDataTable/styled.js.map +1 -1
- package/dist/components/Search/Search.cjs +16 -10
- package/dist/components/Search/Search.cjs.map +1 -1
- package/dist/components/Search/Search.d.ts +1 -1
- package/dist/components/Search/Search.js +16 -10
- package/dist/components/Search/Search.js.map +1 -1
- package/dist/components/Search/Search.module.scss.cjs +9 -0
- package/dist/components/Search/Search.module.scss.cjs.map +1 -0
- package/dist/components/Search/Search.module.scss.js +7 -0
- package/dist/components/Search/Search.module.scss.js.map +1 -0
- package/dist/components/Stepper/Stepper.cjs +15 -8
- package/dist/components/Stepper/Stepper.cjs.map +1 -1
- package/dist/components/Stepper/Stepper.d.ts +1 -8
- package/dist/components/Stepper/Stepper.js +15 -8
- package/dist/components/Stepper/Stepper.js.map +1 -1
- package/dist/components/Stepper/Stepper.module.scss.cjs +9 -0
- package/dist/components/Stepper/Stepper.module.scss.cjs.map +1 -0
- package/dist/components/Stepper/Stepper.module.scss.js +7 -0
- package/dist/components/Stepper/Stepper.module.scss.js.map +1 -0
- package/dist/components/Stepper/types.d.ts +8 -0
- package/dist/components/Toggle/Toggle.cjs +11 -5
- package/dist/components/Toggle/Toggle.cjs.map +1 -1
- package/dist/components/Toggle/Toggle.js +11 -5
- package/dist/components/Toggle/Toggle.js.map +1 -1
- package/dist/components/Toggle/Toggle.module.scss.cjs +9 -0
- package/dist/components/Toggle/Toggle.module.scss.cjs.map +1 -0
- package/dist/components/Toggle/Toggle.module.scss.js +7 -0
- package/dist/components/Toggle/Toggle.module.scss.js.map +1 -0
- package/dist/index.cjs +10 -10
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/dist/components/Grid/index.cjs +0 -20
- package/dist/components/Grid/index.cjs.map +0 -1
- package/dist/components/Grid/index.js +0 -14
- package/dist/components/Grid/index.js.map +0 -1
- package/dist/components/LegacyDataTable/SpecificState/styled.cjs +0 -21
- package/dist/components/LegacyDataTable/SpecificState/styled.cjs.map +0 -1
- package/dist/components/LegacyDataTable/SpecificState/styled.d.ts +0 -17
- package/dist/components/LegacyDataTable/SpecificState/styled.js +0 -12
- package/dist/components/LegacyDataTable/SpecificState/styled.js.map +0 -1
- package/dist/components/LegacyDataTable/cells/styled.cjs +0 -14
- package/dist/components/LegacyDataTable/cells/styled.cjs.map +0 -1
- package/dist/components/LegacyDataTable/cells/styled.d.ts +0 -1
- package/dist/components/LegacyDataTable/cells/styled.js +0 -8
- package/dist/components/LegacyDataTable/cells/styled.js.map +0 -1
- package/dist/components/Search/styled.cjs +0 -45
- package/dist/components/Search/styled.cjs.map +0 -1
- package/dist/components/Search/styled.d.ts +0 -308
- package/dist/components/Search/styled.js +0 -37
- package/dist/components/Search/styled.js.map +0 -1
- package/dist/components/Stepper/styled.cjs +0 -33
- package/dist/components/Stepper/styled.cjs.map +0 -1
- package/dist/components/Stepper/styled.d.ts +0 -12
- package/dist/components/Stepper/styled.js +0 -25
- package/dist/components/Stepper/styled.js.map +0 -1
- package/dist/components/Toggle/styled.cjs +0 -20
- package/dist/components/Toggle/styled.cjs.map +0 -1
- package/dist/components/Toggle/styled.d.ts +0 -12
- package/dist/components/Toggle/styled.js +0 -11
- package/dist/components/Toggle/styled.js.map +0 -1
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var buildClassnames = require('../../../utils/buildClassnames.cjs');
|
|
5
|
+
require('uid/secure');
|
|
6
|
+
var DataTable_module = require('./DataTable.module.scss.cjs');
|
|
5
7
|
|
|
6
8
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
7
9
|
|
|
8
|
-
var
|
|
10
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
9
11
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const shimmerDark = index.theme.colors.neutral.grey.dark;
|
|
13
|
-
const LoadingCellContent = styled__default.default.div.withConfig({ displayName: "vui--LoadingCellContent", componentId: "vui--1mf4ayh" }) `height:20px;width:75%;border-radius:${index.theme.radius.base};background:${shimmerLight};background-image:linear-gradient(\n to right,\n ${shimmerLight} 0%,\n ${shimmerDark} 20%,\n ${shimmerLight} 40%,\n ${shimmerLight} 100%\n );background-repeat:no-repeat;background-size:800px 104px;animation-duration:1s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:placeholderShimmer;animation-timing-function:linear;@keyframes placeholderShimmer{0%{background-position:-468px 0;}100%{background-position:468px 0;}}`;
|
|
12
|
+
const LoadingCellContent = React__default.default.forwardRef(({ className, ...rest }, ref) => (React__default.default.createElement("div", { ref: ref, className: buildClassnames.buildClassnames([DataTable_module.loadingCellContent, className]), ...rest })));
|
|
13
|
+
LoadingCellContent.displayName = 'LoadingCellContent';
|
|
14
14
|
|
|
15
15
|
exports.LoadingCellContent = LoadingCellContent;
|
|
16
16
|
//# sourceMappingURL=LoadingCellContent.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoadingCellContent.cjs","sources":["../../../../src/components/DataTable/components/LoadingCellContent.
|
|
1
|
+
{"version":3,"file":"LoadingCellContent.cjs","sources":["../../../../src/components/DataTable/components/LoadingCellContent.tsx"],"sourcesContent":["import React from 'react';\nimport { buildClassnames } from '../../../utils';\nimport styles from './DataTable.module.scss';\n\nexport interface LoadingCellContentProps extends React.HTMLAttributes<HTMLDivElement> {\n className?: string;\n}\n\nexport const LoadingCellContent = React.forwardRef<HTMLDivElement, LoadingCellContentProps>(\n ({ className, ...rest }, ref) => (\n <div ref={ref} className={buildClassnames([styles.loadingCellContent, className])} {...rest} />\n ),\n);\n\nLoadingCellContent.displayName = 'LoadingCellContent';\n"],"names":["React","buildClassnames","styles"],"mappings":";;;;;;;;;;;AAQO,MAAM,kBAAkB,GAAGA,sBAAK,CAAC,UAAU,CAChD,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,MAC1BA,8CAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAEC,+BAAe,CAAC,CAACC,gBAAM,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC,EAAA,GAAM,IAAI,EAAA,CAAI,CAChG;AAGH,kBAAkB,CAAC,WAAW,GAAG,oBAAoB;;;;"}
|
|
@@ -1 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface LoadingCellContentProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
className?: string;
|
|
4
|
+
}
|
|
5
|
+
export declare const LoadingCellContent: React.ForwardRefExoticComponent<LoadingCellContentProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import { buildClassnames } from '../../../utils/buildClassnames.js';
|
|
3
|
+
import 'uid/secure';
|
|
4
|
+
import styles from './DataTable.module.scss.js';
|
|
3
5
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const shimmerDark = theme.colors.neutral.grey.dark;
|
|
7
|
-
const LoadingCellContent = styled.div.withConfig({ displayName: "vui--LoadingCellContent", componentId: "vui--1mf4ayh" }) `height:20px;width:75%;border-radius:${theme.radius.base};background:${shimmerLight};background-image:linear-gradient(\n to right,\n ${shimmerLight} 0%,\n ${shimmerDark} 20%,\n ${shimmerLight} 40%,\n ${shimmerLight} 100%\n );background-repeat:no-repeat;background-size:800px 104px;animation-duration:1s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:placeholderShimmer;animation-timing-function:linear;@keyframes placeholderShimmer{0%{background-position:-468px 0;}100%{background-position:468px 0;}}`;
|
|
6
|
+
const LoadingCellContent = React__default.forwardRef(({ className, ...rest }, ref) => (React__default.createElement("div", { ref: ref, className: buildClassnames([styles.loadingCellContent, className]), ...rest })));
|
|
7
|
+
LoadingCellContent.displayName = 'LoadingCellContent';
|
|
8
8
|
|
|
9
9
|
export { LoadingCellContent };
|
|
10
10
|
//# sourceMappingURL=LoadingCellContent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoadingCellContent.js","sources":["../../../../src/components/DataTable/components/LoadingCellContent.
|
|
1
|
+
{"version":3,"file":"LoadingCellContent.js","sources":["../../../../src/components/DataTable/components/LoadingCellContent.tsx"],"sourcesContent":["import React from 'react';\nimport { buildClassnames } from '../../../utils';\nimport styles from './DataTable.module.scss';\n\nexport interface LoadingCellContentProps extends React.HTMLAttributes<HTMLDivElement> {\n className?: string;\n}\n\nexport const LoadingCellContent = React.forwardRef<HTMLDivElement, LoadingCellContentProps>(\n ({ className, ...rest }, ref) => (\n <div ref={ref} className={buildClassnames([styles.loadingCellContent, className])} {...rest} />\n ),\n);\n\nLoadingCellContent.displayName = 'LoadingCellContent';\n"],"names":["React"],"mappings":";;;;;AAQO,MAAM,kBAAkB,GAAGA,cAAK,CAAC,UAAU,CAChD,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,MAC1BA,sCAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,MAAM,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC,EAAA,GAAM,IAAI,EAAA,CAAI,CAChG;AAGH,kBAAkB,CAAC,WAAW,GAAG,oBAAoB;;;;"}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var buildClassnames = require('../../../utils/buildClassnames.cjs');
|
|
5
|
+
require('uid/secure');
|
|
6
|
+
var DataTable_module = require('./DataTable.module.scss.cjs');
|
|
4
7
|
|
|
5
8
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
6
9
|
|
|
7
|
-
var
|
|
10
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
8
11
|
|
|
9
|
-
const NoWrap =
|
|
12
|
+
const NoWrap = React__default.default.forwardRef(({ className, children, ...rest }, ref) => (React__default.default.createElement("div", { ref: ref, className: buildClassnames.buildClassnames([DataTable_module.noWrap, className]), ...rest }, children)));
|
|
13
|
+
NoWrap.displayName = 'NoWrap';
|
|
10
14
|
|
|
11
15
|
exports.NoWrap = NoWrap;
|
|
12
16
|
//# sourceMappingURL=NoWrap.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NoWrap.cjs","sources":["../../../../src/components/DataTable/components/NoWrap.
|
|
1
|
+
{"version":3,"file":"NoWrap.cjs","sources":["../../../../src/components/DataTable/components/NoWrap.tsx"],"sourcesContent":["import React from 'react';\nimport { buildClassnames } from '../../../utils';\nimport styles from './DataTable.module.scss';\n\nexport interface NoWrapProps extends React.HTMLAttributes<HTMLDivElement> {\n children?: React.ReactNode;\n className?: string;\n}\n\nexport const NoWrap = React.forwardRef<HTMLDivElement, NoWrapProps>(\n ({ className, children, ...rest }, ref) => (\n <div ref={ref} className={buildClassnames([styles.noWrap, className])} {...rest}>\n {children}\n </div>\n ),\n);\n\nNoWrap.displayName = 'NoWrap';\n"],"names":["React","buildClassnames","styles"],"mappings":";;;;;;;;;;;MASa,MAAM,GAAGA,sBAAK,CAAC,UAAU,CACpC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,MACpCA,8CAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAEC,+BAAe,CAAC,CAACC,gBAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,EAAA,GAAM,IAAI,IAC5E,QAAQ,CACL,CACP;AAGH,MAAM,CAAC,WAAW,GAAG,QAAQ;;;;"}
|
|
@@ -1 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface NoWrapProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
children?: React.ReactNode;
|
|
4
|
+
className?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare const NoWrap: React.ForwardRefExoticComponent<NoWrapProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import { buildClassnames } from '../../../utils/buildClassnames.js';
|
|
3
|
+
import 'uid/secure';
|
|
4
|
+
import styles from './DataTable.module.scss.js';
|
|
2
5
|
|
|
3
|
-
const NoWrap =
|
|
6
|
+
const NoWrap = React__default.forwardRef(({ className, children, ...rest }, ref) => (React__default.createElement("div", { ref: ref, className: buildClassnames([styles.noWrap, className]), ...rest }, children)));
|
|
7
|
+
NoWrap.displayName = 'NoWrap';
|
|
4
8
|
|
|
5
9
|
export { NoWrap };
|
|
6
10
|
//# sourceMappingURL=NoWrap.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NoWrap.js","sources":["../../../../src/components/DataTable/components/NoWrap.
|
|
1
|
+
{"version":3,"file":"NoWrap.js","sources":["../../../../src/components/DataTable/components/NoWrap.tsx"],"sourcesContent":["import React from 'react';\nimport { buildClassnames } from '../../../utils';\nimport styles from './DataTable.module.scss';\n\nexport interface NoWrapProps extends React.HTMLAttributes<HTMLDivElement> {\n children?: React.ReactNode;\n className?: string;\n}\n\nexport const NoWrap = React.forwardRef<HTMLDivElement, NoWrapProps>(\n ({ className, children, ...rest }, ref) => (\n <div ref={ref} className={buildClassnames([styles.noWrap, className])} {...rest}>\n {children}\n </div>\n ),\n);\n\nNoWrap.displayName = 'NoWrap';\n"],"names":["React"],"mappings":";;;;;MASa,MAAM,GAAGA,cAAK,CAAC,UAAU,CACpC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,MACpCA,sCAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,EAAA,GAAM,IAAI,IAC5E,QAAQ,CACL,CACP;AAGH,MAAM,CAAC,WAAW,GAAG,QAAQ;;;;"}
|
|
@@ -1,33 +1,30 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var buildClassnames = require('../../../utils/buildClassnames.cjs');
|
|
5
|
+
require('uid/secure');
|
|
6
|
+
var assignCssVars = require('../../../utils/assignCssVars.cjs');
|
|
7
|
+
var DataTable_module = require('./DataTable.module.scss.cjs');
|
|
5
8
|
|
|
6
9
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
7
10
|
|
|
8
|
-
var
|
|
11
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
9
12
|
|
|
10
|
-
const Row =
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
left: 0;
|
|
26
|
-
bottom: 0;
|
|
27
|
-
width: 4px;
|
|
28
|
-
background-color: ${accentColor};
|
|
29
|
-
}
|
|
30
|
-
`}`;
|
|
13
|
+
const Row = React__default.default.forwardRef(
|
|
14
|
+
// expanded and disabled are destructured to prevent them leaking to the DOM via ...rest.
|
|
15
|
+
// They are used by parent components for state tracking.
|
|
16
|
+
({ accentColor, selected, expanded: _expanded, disabled: _disabled, className, children, style, ...rest }, ref) => (React__default.default.createElement("tr", { ref: ref, className: buildClassnames.buildClassnames([
|
|
17
|
+
DataTable_module.row,
|
|
18
|
+
selected && DataTable_module.rowSelected,
|
|
19
|
+
accentColor && DataTable_module.rowAccentColor,
|
|
20
|
+
className,
|
|
21
|
+
]), style: {
|
|
22
|
+
...assignCssVars.assignCssVars({
|
|
23
|
+
rowAccentColor: accentColor,
|
|
24
|
+
}),
|
|
25
|
+
...style,
|
|
26
|
+
}, ...rest }, children)));
|
|
27
|
+
Row.displayName = 'Row';
|
|
31
28
|
|
|
32
29
|
exports.Row = Row;
|
|
33
30
|
//# sourceMappingURL=Row.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Row.cjs","sources":["../../../../src/components/DataTable/components/Row.
|
|
1
|
+
{"version":3,"file":"Row.cjs","sources":["../../../../src/components/DataTable/components/Row.tsx"],"sourcesContent":["import React from 'react';\nimport { buildClassnames, assignCssVars } from '../../../utils';\nimport styles from './DataTable.module.scss';\n\nexport interface RowProps extends React.HTMLAttributes<HTMLTableRowElement> {\n accentColor?: string;\n selected?: boolean;\n expanded?: boolean;\n disabled?: boolean;\n children?: React.ReactNode;\n className?: string;\n}\n\nexport const Row = React.forwardRef<HTMLTableRowElement, RowProps>(\n // expanded and disabled are destructured to prevent them leaking to the DOM via ...rest.\n // They are used by parent components for state tracking.\n ({ accentColor, selected, expanded: _expanded, disabled: _disabled, className, children, style, ...rest }, ref) => (\n <tr\n ref={ref}\n className={buildClassnames([\n styles.row,\n selected && styles.rowSelected,\n accentColor && styles.rowAccentColor,\n className,\n ])}\n style={{\n ...assignCssVars({\n rowAccentColor: accentColor,\n }),\n ...style,\n }}\n {...rest}\n >\n {children}\n </tr>\n ),\n);\n\nRow.displayName = 'Row';\n"],"names":["React","buildClassnames","styles","assignCssVars"],"mappings":";;;;;;;;;;;;AAaO,MAAM,GAAG,GAAGA,sBAAK,CAAC,UAAU;AACjC;AACA;AACA,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,MAC5GA,sBAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAEC,+BAAe,CAAC;AACzB,QAAAC,gBAAM,CAAC,GAAG;QACV,QAAQ,IAAIA,gBAAM,CAAC,WAAW;QAC9B,WAAW,IAAIA,gBAAM,CAAC,cAAc;QACpC,SAAS;KACV,CAAC,EACF,KAAK,EAAE;AACL,QAAA,GAAGC,2BAAa,CAAC;AACf,YAAA,cAAc,EAAE,WAAW;SAC5B,CAAC;AACF,QAAA,GAAG,KAAK;AACT,KAAA,EAAA,GACG,IAAI,EAAA,EAEP,QAAQ,CACN,CACN;AAGH,GAAG,CAAC,WAAW,GAAG,KAAK;;;;"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface RowProps extends React.HTMLAttributes<HTMLTableRowElement> {
|
|
2
3
|
accentColor?: string;
|
|
3
4
|
selected?: boolean;
|
|
4
5
|
expanded?: boolean;
|
|
5
6
|
disabled?: boolean;
|
|
7
|
+
children?: React.ReactNode;
|
|
8
|
+
className?: string;
|
|
6
9
|
}
|
|
7
|
-
export declare const Row:
|
|
10
|
+
export declare const Row: React.ForwardRefExoticComponent<RowProps & React.RefAttributes<HTMLTableRowElement>>;
|
|
@@ -1,27 +1,24 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import { buildClassnames } from '../../../utils/buildClassnames.js';
|
|
3
|
+
import 'uid/secure';
|
|
4
|
+
import { assignCssVars } from '../../../utils/assignCssVars.js';
|
|
5
|
+
import styles from './DataTable.module.scss.js';
|
|
3
6
|
|
|
4
|
-
const Row =
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
left: 0;
|
|
20
|
-
bottom: 0;
|
|
21
|
-
width: 4px;
|
|
22
|
-
background-color: ${accentColor};
|
|
23
|
-
}
|
|
24
|
-
`}`;
|
|
7
|
+
const Row = React__default.forwardRef(
|
|
8
|
+
// expanded and disabled are destructured to prevent them leaking to the DOM via ...rest.
|
|
9
|
+
// They are used by parent components for state tracking.
|
|
10
|
+
({ accentColor, selected, expanded: _expanded, disabled: _disabled, className, children, style, ...rest }, ref) => (React__default.createElement("tr", { ref: ref, className: buildClassnames([
|
|
11
|
+
styles.row,
|
|
12
|
+
selected && styles.rowSelected,
|
|
13
|
+
accentColor && styles.rowAccentColor,
|
|
14
|
+
className,
|
|
15
|
+
]), style: {
|
|
16
|
+
...assignCssVars({
|
|
17
|
+
rowAccentColor: accentColor,
|
|
18
|
+
}),
|
|
19
|
+
...style,
|
|
20
|
+
}, ...rest }, children)));
|
|
21
|
+
Row.displayName = 'Row';
|
|
25
22
|
|
|
26
23
|
export { Row };
|
|
27
24
|
//# sourceMappingURL=Row.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Row.js","sources":["../../../../src/components/DataTable/components/Row.
|
|
1
|
+
{"version":3,"file":"Row.js","sources":["../../../../src/components/DataTable/components/Row.tsx"],"sourcesContent":["import React from 'react';\nimport { buildClassnames, assignCssVars } from '../../../utils';\nimport styles from './DataTable.module.scss';\n\nexport interface RowProps extends React.HTMLAttributes<HTMLTableRowElement> {\n accentColor?: string;\n selected?: boolean;\n expanded?: boolean;\n disabled?: boolean;\n children?: React.ReactNode;\n className?: string;\n}\n\nexport const Row = React.forwardRef<HTMLTableRowElement, RowProps>(\n // expanded and disabled are destructured to prevent them leaking to the DOM via ...rest.\n // They are used by parent components for state tracking.\n ({ accentColor, selected, expanded: _expanded, disabled: _disabled, className, children, style, ...rest }, ref) => (\n <tr\n ref={ref}\n className={buildClassnames([\n styles.row,\n selected && styles.rowSelected,\n accentColor && styles.rowAccentColor,\n className,\n ])}\n style={{\n ...assignCssVars({\n rowAccentColor: accentColor,\n }),\n ...style,\n }}\n {...rest}\n >\n {children}\n </tr>\n ),\n);\n\nRow.displayName = 'Row';\n"],"names":["React"],"mappings":";;;;;;AAaO,MAAM,GAAG,GAAGA,cAAK,CAAC,UAAU;AACjC;AACA;AACA,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,MAC5GA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,eAAe,CAAC;AACzB,QAAA,MAAM,CAAC,GAAG;QACV,QAAQ,IAAI,MAAM,CAAC,WAAW;QAC9B,WAAW,IAAI,MAAM,CAAC,cAAc;QACpC,SAAS;KACV,CAAC,EACF,KAAK,EAAE;AACL,QAAA,GAAG,aAAa,CAAC;AACf,YAAA,cAAc,EAAE,WAAW;SAC5B,CAAC;AACF,QAAA,GAAG,KAAK;AACT,KAAA,EAAA,GACG,IAAI,EAAA,EAEP,QAAQ,CACN,CACN;AAGH,GAAG,CAAC,WAAW,GAAG,KAAK;;;;"}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var buildClassnames = require('../../../utils/buildClassnames.cjs');
|
|
5
|
+
require('uid/secure');
|
|
6
|
+
var DataTable_module = require('./DataTable.module.scss.cjs');
|
|
4
7
|
|
|
5
8
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
6
9
|
|
|
7
|
-
var
|
|
10
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
8
11
|
|
|
9
|
-
const ScrollContainer =
|
|
12
|
+
const ScrollContainer = React__default.default.forwardRef(({ className, children, ...rest }, ref) => (React__default.default.createElement("div", { ref: ref, className: buildClassnames.buildClassnames([DataTable_module.scrollContainer, className]), ...rest }, children)));
|
|
13
|
+
ScrollContainer.displayName = 'ScrollContainer';
|
|
10
14
|
|
|
11
15
|
exports.ScrollContainer = ScrollContainer;
|
|
12
16
|
//# sourceMappingURL=ScrollContainer.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollContainer.cjs","sources":["../../../../src/components/DataTable/components/ScrollContainer.
|
|
1
|
+
{"version":3,"file":"ScrollContainer.cjs","sources":["../../../../src/components/DataTable/components/ScrollContainer.tsx"],"sourcesContent":["import React from 'react';\nimport { buildClassnames } from '../../../utils';\nimport styles from './DataTable.module.scss';\n\nexport interface ScrollContainerProps extends React.HTMLAttributes<HTMLDivElement> {\n children?: React.ReactNode;\n className?: string;\n}\n\nexport const ScrollContainer = React.forwardRef<HTMLDivElement, ScrollContainerProps>(\n ({ className, children, ...rest }, ref) => (\n <div ref={ref} className={buildClassnames([styles.scrollContainer, className])} {...rest}>\n {children}\n </div>\n ),\n);\n\nScrollContainer.displayName = 'ScrollContainer';\n"],"names":["React","buildClassnames","styles"],"mappings":";;;;;;;;;;;MASa,eAAe,GAAGA,sBAAK,CAAC,UAAU,CAC7C,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,MACpCA,8CAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAEC,+BAAe,CAAC,CAACC,gBAAM,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,EAAA,GAAM,IAAI,IACrF,QAAQ,CACL,CACP;AAGH,eAAe,CAAC,WAAW,GAAG,iBAAiB;;;;"}
|
|
@@ -1 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface ScrollContainerProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
children?: React.ReactNode;
|
|
4
|
+
className?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare const ScrollContainer: React.ForwardRefExoticComponent<ScrollContainerProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import { buildClassnames } from '../../../utils/buildClassnames.js';
|
|
3
|
+
import 'uid/secure';
|
|
4
|
+
import styles from './DataTable.module.scss.js';
|
|
2
5
|
|
|
3
|
-
const ScrollContainer =
|
|
6
|
+
const ScrollContainer = React__default.forwardRef(({ className, children, ...rest }, ref) => (React__default.createElement("div", { ref: ref, className: buildClassnames([styles.scrollContainer, className]), ...rest }, children)));
|
|
7
|
+
ScrollContainer.displayName = 'ScrollContainer';
|
|
4
8
|
|
|
5
9
|
export { ScrollContainer };
|
|
6
10
|
//# sourceMappingURL=ScrollContainer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollContainer.js","sources":["../../../../src/components/DataTable/components/ScrollContainer.
|
|
1
|
+
{"version":3,"file":"ScrollContainer.js","sources":["../../../../src/components/DataTable/components/ScrollContainer.tsx"],"sourcesContent":["import React from 'react';\nimport { buildClassnames } from '../../../utils';\nimport styles from './DataTable.module.scss';\n\nexport interface ScrollContainerProps extends React.HTMLAttributes<HTMLDivElement> {\n children?: React.ReactNode;\n className?: string;\n}\n\nexport const ScrollContainer = React.forwardRef<HTMLDivElement, ScrollContainerProps>(\n ({ className, children, ...rest }, ref) => (\n <div ref={ref} className={buildClassnames([styles.scrollContainer, className])} {...rest}>\n {children}\n </div>\n ),\n);\n\nScrollContainer.displayName = 'ScrollContainer';\n"],"names":["React"],"mappings":";;;;;MASa,eAAe,GAAGA,cAAK,CAAC,UAAU,CAC7C,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,MACpCA,sCAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,EAAA,GAAM,IAAI,IACrF,QAAQ,CACL,CACP;AAGH,eAAe,CAAC,WAAW,GAAG,iBAAiB;;;;"}
|
|
@@ -125,18 +125,10 @@ function StickyHead({ children, intersectionTargetRef, containerRef, cellWidths,
|
|
|
125
125
|
boxShadow: shadows.Shadows.base,
|
|
126
126
|
top: `${stickyHeaderTop}px` || '0px',
|
|
127
127
|
};
|
|
128
|
-
// Generate
|
|
129
|
-
const
|
|
130
|
-
.map((width, index) => `
|
|
131
|
-
& th:nth-child(${index + 1}) {
|
|
132
|
-
width: ${width}px;
|
|
133
|
-
}
|
|
134
|
-
`)
|
|
135
|
-
.join('');
|
|
136
|
-
// Append to generated table styles
|
|
137
|
-
const allCss = tableCss + columnsCss;
|
|
128
|
+
// Generate rules to sync sticky columns with "real" columns
|
|
129
|
+
const columnRules = cellWidths.map((width, index) => `th:nth-child(${index + 1}) { width: ${width}px; }`);
|
|
138
130
|
return (React__default.default.createElement("div", { style: containerStyle, ref: stickyContainerRef },
|
|
139
|
-
React__default.default.createElement(TableGrid.TableGrid, {
|
|
131
|
+
React__default.default.createElement(TableGrid.TableGrid, { tableCss: tableCss, extraRules: columnRules },
|
|
140
132
|
React__default.default.createElement("thead", null, children))));
|
|
141
133
|
}
|
|
142
134
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StickyHead.cjs","sources":["../../../../src/components/DataTable/components/StickyHead.tsx"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { CSSProperties, ReactNode, RefObject, useEffect, useRef, useState } from 'react';\nimport throttle from 'lodash.throttle';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { theme } from '../../../theme';\n\nimport { headerCellHeight } from '../constants';\nimport { TableGrid } from './TableGrid';\nimport { Shadows } from '../../../theme/modules/shadows';\n\nexport interface StickyHeadProps {\n tableCss:
|
|
1
|
+
{"version":3,"file":"StickyHead.cjs","sources":["../../../../src/components/DataTable/components/StickyHead.tsx"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { CSSProperties, ReactNode, RefObject, useEffect, useRef, useState } from 'react';\nimport throttle from 'lodash.throttle';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { theme } from '../../../theme';\n\nimport { headerCellHeight } from '../constants';\nimport { TableGrid } from './TableGrid';\nimport { TableCssOutput } from '../utils/generateTableCss';\nimport { Shadows } from '../../../theme/modules/shadows';\n\nexport interface StickyHeadProps {\n tableCss: TableCssOutput;\n children?: ReactNode;\n intersectionTargetRef: RefObject<HTMLElement>;\n containerRef: RefObject<HTMLElement>;\n cellWidths: number[];\n stickyHeaderTop?: number;\n}\n\nexport function StickyHead({\n children,\n intersectionTargetRef,\n containerRef,\n cellWidths,\n tableCss,\n stickyHeaderTop = 0,\n}: StickyHeadProps) {\n const stickyContainerRef = useRef<HTMLDivElement>(null);\n const [isVisible, setIsVisible] = useState(false);\n const [containerRect, setContainerRect] = useState({\n top: 0,\n left: 0,\n width: 0,\n height: 0,\n });\n\n const lastLeftValue = useRef<null | number>(null);\n const THROTTE_TIME_MS = 30;\n\n const updateContainerDimensions = () => {\n const targetRect = containerRef.current?.getBoundingClientRect();\n const newRect = {\n left: targetRect?.left || 0,\n width: targetRect?.width || 0,\n top: 0,\n height: 48,\n };\n setContainerRect(newRect);\n };\n\n const updateContainerScrollPosition = () => {\n if (!containerRef.current) return;\n const xScrollOffset = containerRef.current.scrollLeft;\n stickyContainerRef.current?.scrollTo(xScrollOffset, 0);\n };\n\n // Configure intersection observer to toggle sticky header on/off\n\n useEffect(() => {\n if (!intersectionTargetRef.current) return;\n const options = {\n rootMargin: `-${stickyHeaderTop}px 100% 0px 100%`,\n threshold: 1.0,\n };\n const intersectionCallback: IntersectionObserverCallback = (entries) => {\n entries.forEach((entry) => {\n setIsVisible(!entry.isIntersecting);\n });\n };\n const intersectionObserver = new IntersectionObserver(intersectionCallback, options);\n intersectionObserver.observe(intersectionTargetRef.current);\n return () => intersectionObserver.disconnect(); // eslint-disable-line consistent-return\n }, [intersectionTargetRef.current]);\n\n // Calculate sticky header position and size to match table container\n\n useEffect(() => {\n if (!isVisible) return;\n if (!containerRef.current) return;\n updateContainerDimensions();\n }, [containerRef.current, isVisible]);\n\n // Update dimensions when container element is resized\n\n useEffect(() => {\n if (!isVisible) return;\n if (!containerRef.current) return;\n const resizeObserverCallback = throttle(updateContainerDimensions, THROTTE_TIME_MS); // Throttle events\n const resizeObserver = new ResizeObserver(resizeObserverCallback);\n resizeObserver.observe(containerRef.current);\n return () => resizeObserver.disconnect(); // eslint-disable-line consistent-return\n }, [containerRef.current, isVisible]);\n\n // Update dimensions when document scrolls\n // will only call updateContainerDimensions on horizontal scroll\n useEffect(() => {\n if (!isVisible) return;\n if (!containerRef.current) return;\n const scrollCallback = throttle(() => {\n const { left } = containerRef.current?.getBoundingClientRect() || {};\n if (left && lastLeftValue.current !== left) {\n updateContainerDimensions();\n lastLeftValue.current = left;\n }\n }, THROTTE_TIME_MS); // Throttle events\n document.addEventListener('scroll', scrollCallback);\n return () => document.removeEventListener('scroll', scrollCallback); // eslint-disable-line consistent-return\n }, [containerRef.current, isVisible]);\n\n // Sync container scrolling\n\n useEffect(() => {\n updateContainerScrollPosition();\n }, [isVisible]);\n\n useEffect(() => {\n containerRef.current?.addEventListener('scroll', updateContainerScrollPosition);\n return () => {\n containerRef.current?.removeEventListener('scroll', updateContainerScrollPosition);\n };\n }, [containerRef.current]);\n\n // Render sticky header\n\n if (!isVisible) return null;\n\n const containerStyle: CSSProperties = {\n ...containerRect,\n height: headerCellHeight,\n position: 'fixed',\n zIndex: 5,\n overflowX: 'hidden',\n overflowY: 'hidden',\n borderBottom: `1px solid ${theme.colors.neutral.grey.base}`,\n borderTop: `1px solid ${theme.colors.neutral.grey.base}`,\n boxShadow: Shadows.base,\n top: `${stickyHeaderTop}px` || '0px',\n };\n\n // Generate rules to sync sticky columns with \"real\" columns\n const columnRules = cellWidths.map(\n (width, index) => `th:nth-child(${index + 1}) { width: ${width}px; }`,\n );\n\n return (\n <div style={containerStyle} ref={stickyContainerRef}>\n <TableGrid tableCss={tableCss} extraRules={columnRules}>\n <thead>{children}</thead>\n </TableGrid>\n </div>\n );\n}\n"],"names":["useRef","useState","useEffect","throttle","ResizeObserver","headerCellHeight","theme","Shadows","React","TableGrid"],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React, { ReactNode, RefObject } from 'react';
|
|
2
|
+
import { TableCssOutput } from '../utils/generateTableCss';
|
|
2
3
|
export interface StickyHeadProps {
|
|
3
|
-
tableCss:
|
|
4
|
+
tableCss: TableCssOutput;
|
|
4
5
|
children?: ReactNode;
|
|
5
6
|
intersectionTargetRef: RefObject<HTMLElement>;
|
|
6
7
|
containerRef: RefObject<HTMLElement>;
|
|
@@ -117,18 +117,10 @@ function StickyHead({ children, intersectionTargetRef, containerRef, cellWidths,
|
|
|
117
117
|
boxShadow: Shadows.base,
|
|
118
118
|
top: `${stickyHeaderTop}px` || '0px',
|
|
119
119
|
};
|
|
120
|
-
// Generate
|
|
121
|
-
const
|
|
122
|
-
.map((width, index) => `
|
|
123
|
-
& th:nth-child(${index + 1}) {
|
|
124
|
-
width: ${width}px;
|
|
125
|
-
}
|
|
126
|
-
`)
|
|
127
|
-
.join('');
|
|
128
|
-
// Append to generated table styles
|
|
129
|
-
const allCss = tableCss + columnsCss;
|
|
120
|
+
// Generate rules to sync sticky columns with "real" columns
|
|
121
|
+
const columnRules = cellWidths.map((width, index) => `th:nth-child(${index + 1}) { width: ${width}px; }`);
|
|
130
122
|
return (React__default.createElement("div", { style: containerStyle, ref: stickyContainerRef },
|
|
131
|
-
React__default.createElement(TableGrid, {
|
|
123
|
+
React__default.createElement(TableGrid, { tableCss: tableCss, extraRules: columnRules },
|
|
132
124
|
React__default.createElement("thead", null, children))));
|
|
133
125
|
}
|
|
134
126
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StickyHead.js","sources":["../../../../src/components/DataTable/components/StickyHead.tsx"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { CSSProperties, ReactNode, RefObject, useEffect, useRef, useState } from 'react';\nimport throttle from 'lodash.throttle';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { theme } from '../../../theme';\n\nimport { headerCellHeight } from '../constants';\nimport { TableGrid } from './TableGrid';\nimport { Shadows } from '../../../theme/modules/shadows';\n\nexport interface StickyHeadProps {\n tableCss:
|
|
1
|
+
{"version":3,"file":"StickyHead.js","sources":["../../../../src/components/DataTable/components/StickyHead.tsx"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { CSSProperties, ReactNode, RefObject, useEffect, useRef, useState } from 'react';\nimport throttle from 'lodash.throttle';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { theme } from '../../../theme';\n\nimport { headerCellHeight } from '../constants';\nimport { TableGrid } from './TableGrid';\nimport { TableCssOutput } from '../utils/generateTableCss';\nimport { Shadows } from '../../../theme/modules/shadows';\n\nexport interface StickyHeadProps {\n tableCss: TableCssOutput;\n children?: ReactNode;\n intersectionTargetRef: RefObject<HTMLElement>;\n containerRef: RefObject<HTMLElement>;\n cellWidths: number[];\n stickyHeaderTop?: number;\n}\n\nexport function StickyHead({\n children,\n intersectionTargetRef,\n containerRef,\n cellWidths,\n tableCss,\n stickyHeaderTop = 0,\n}: StickyHeadProps) {\n const stickyContainerRef = useRef<HTMLDivElement>(null);\n const [isVisible, setIsVisible] = useState(false);\n const [containerRect, setContainerRect] = useState({\n top: 0,\n left: 0,\n width: 0,\n height: 0,\n });\n\n const lastLeftValue = useRef<null | number>(null);\n const THROTTE_TIME_MS = 30;\n\n const updateContainerDimensions = () => {\n const targetRect = containerRef.current?.getBoundingClientRect();\n const newRect = {\n left: targetRect?.left || 0,\n width: targetRect?.width || 0,\n top: 0,\n height: 48,\n };\n setContainerRect(newRect);\n };\n\n const updateContainerScrollPosition = () => {\n if (!containerRef.current) return;\n const xScrollOffset = containerRef.current.scrollLeft;\n stickyContainerRef.current?.scrollTo(xScrollOffset, 0);\n };\n\n // Configure intersection observer to toggle sticky header on/off\n\n useEffect(() => {\n if (!intersectionTargetRef.current) return;\n const options = {\n rootMargin: `-${stickyHeaderTop}px 100% 0px 100%`,\n threshold: 1.0,\n };\n const intersectionCallback: IntersectionObserverCallback = (entries) => {\n entries.forEach((entry) => {\n setIsVisible(!entry.isIntersecting);\n });\n };\n const intersectionObserver = new IntersectionObserver(intersectionCallback, options);\n intersectionObserver.observe(intersectionTargetRef.current);\n return () => intersectionObserver.disconnect(); // eslint-disable-line consistent-return\n }, [intersectionTargetRef.current]);\n\n // Calculate sticky header position and size to match table container\n\n useEffect(() => {\n if (!isVisible) return;\n if (!containerRef.current) return;\n updateContainerDimensions();\n }, [containerRef.current, isVisible]);\n\n // Update dimensions when container element is resized\n\n useEffect(() => {\n if (!isVisible) return;\n if (!containerRef.current) return;\n const resizeObserverCallback = throttle(updateContainerDimensions, THROTTE_TIME_MS); // Throttle events\n const resizeObserver = new ResizeObserver(resizeObserverCallback);\n resizeObserver.observe(containerRef.current);\n return () => resizeObserver.disconnect(); // eslint-disable-line consistent-return\n }, [containerRef.current, isVisible]);\n\n // Update dimensions when document scrolls\n // will only call updateContainerDimensions on horizontal scroll\n useEffect(() => {\n if (!isVisible) return;\n if (!containerRef.current) return;\n const scrollCallback = throttle(() => {\n const { left } = containerRef.current?.getBoundingClientRect() || {};\n if (left && lastLeftValue.current !== left) {\n updateContainerDimensions();\n lastLeftValue.current = left;\n }\n }, THROTTE_TIME_MS); // Throttle events\n document.addEventListener('scroll', scrollCallback);\n return () => document.removeEventListener('scroll', scrollCallback); // eslint-disable-line consistent-return\n }, [containerRef.current, isVisible]);\n\n // Sync container scrolling\n\n useEffect(() => {\n updateContainerScrollPosition();\n }, [isVisible]);\n\n useEffect(() => {\n containerRef.current?.addEventListener('scroll', updateContainerScrollPosition);\n return () => {\n containerRef.current?.removeEventListener('scroll', updateContainerScrollPosition);\n };\n }, [containerRef.current]);\n\n // Render sticky header\n\n if (!isVisible) return null;\n\n const containerStyle: CSSProperties = {\n ...containerRect,\n height: headerCellHeight,\n position: 'fixed',\n zIndex: 5,\n overflowX: 'hidden',\n overflowY: 'hidden',\n borderBottom: `1px solid ${theme.colors.neutral.grey.base}`,\n borderTop: `1px solid ${theme.colors.neutral.grey.base}`,\n boxShadow: Shadows.base,\n top: `${stickyHeaderTop}px` || '0px',\n };\n\n // Generate rules to sync sticky columns with \"real\" columns\n const columnRules = cellWidths.map(\n (width, index) => `th:nth-child(${index + 1}) { width: ${width}px; }`,\n );\n\n return (\n <div style={containerStyle} ref={stickyContainerRef}>\n <TableGrid tableCss={tableCss} extraRules={columnRules}>\n <thead>{children}</thead>\n </TableGrid>\n </div>\n );\n}\n"],"names":["React"],"mappings":"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"}
|
|
@@ -1,14 +1,58 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var buildClassnames = require('../../../utils/buildClassnames.cjs');
|
|
5
|
+
require('uid/secure');
|
|
6
|
+
var useTableId = require('../hooks/useTableId.cjs');
|
|
7
|
+
var DataTable_module = require('./DataTable.module.scss.cjs');
|
|
5
8
|
|
|
6
9
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
7
10
|
|
|
8
|
-
var
|
|
11
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
9
12
|
|
|
10
|
-
|
|
11
|
-
|
|
13
|
+
/**
|
|
14
|
+
* Prefixes each selector in a rule with the scope selector.
|
|
15
|
+
* Handles comma-separated selector lists (e.g. "th::after, td::after { ... }")
|
|
16
|
+
* by scoping every selector, not just the first.
|
|
17
|
+
*/
|
|
18
|
+
function scopeRule(scopeSelector, rule) {
|
|
19
|
+
const braceIndex = rule.indexOf('{');
|
|
20
|
+
if (braceIndex === -1)
|
|
21
|
+
return `${scopeSelector} ${rule}`;
|
|
22
|
+
const selectorPart = rule.slice(0, braceIndex).trim();
|
|
23
|
+
const bodyPart = rule.slice(braceIndex);
|
|
24
|
+
const scopedSelectors = selectorPart
|
|
25
|
+
.split(',')
|
|
26
|
+
.map((selector) => `${scopeSelector} ${selector.trim()}`)
|
|
27
|
+
.join(', ');
|
|
28
|
+
return `${scopedSelectors} ${bodyPart}`;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Builds a complete scoped stylesheet from properties and rules.
|
|
32
|
+
* No CSS nesting dependency.
|
|
33
|
+
*/
|
|
34
|
+
function buildScopedStyle(scopeSelector, properties, rules) {
|
|
35
|
+
const parts = [];
|
|
36
|
+
if (properties) {
|
|
37
|
+
parts.push(`${scopeSelector} { ${properties} }`);
|
|
38
|
+
}
|
|
39
|
+
rules.forEach((rule) => {
|
|
40
|
+
parts.push(scopeRule(scopeSelector, rule));
|
|
41
|
+
});
|
|
42
|
+
return parts.join('\n');
|
|
43
|
+
}
|
|
44
|
+
const TableGrid = React__default.default.forwardRef(({ tableCss, extraRules, className, children, style, ...rest }, ref) => {
|
|
45
|
+
const tableId = useTableId.useTableId();
|
|
46
|
+
const scopeSelector = `[data-table-id="${tableId}"]`;
|
|
47
|
+
const scopedStyle = React.useMemo(() => {
|
|
48
|
+
const allRules = extraRules ? [...tableCss.rules, ...extraRules] : tableCss.rules;
|
|
49
|
+
return buildScopedStyle(scopeSelector, tableCss.properties, allRules);
|
|
50
|
+
}, [tableCss, extraRules, scopeSelector]);
|
|
51
|
+
return (React__default.default.createElement(React__default.default.Fragment, null,
|
|
52
|
+
scopedStyle && React__default.default.createElement("style", null, scopedStyle),
|
|
53
|
+
React__default.default.createElement("table", { ref: ref, "data-table-id": tableId, className: buildClassnames.buildClassnames([DataTable_module.tableGrid, className]), style: style, ...rest }, children)));
|
|
54
|
+
});
|
|
55
|
+
TableGrid.displayName = 'TableGrid';
|
|
12
56
|
|
|
13
57
|
exports.TableGrid = TableGrid;
|
|
14
58
|
//# sourceMappingURL=TableGrid.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableGrid.cjs","sources":["../../../../src/components/DataTable/components/TableGrid.
|
|
1
|
+
{"version":3,"file":"TableGrid.cjs","sources":["../../../../src/components/DataTable/components/TableGrid.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { buildClassnames } from '../../../utils';\nimport { useTableId } from '../hooks/useTableId';\nimport { TableCssOutput } from '../utils/generateTableCss';\nimport styles from './DataTable.module.scss';\n\nexport interface TableGridProps extends React.TableHTMLAttributes<HTMLTableElement> {\n /** Structured CSS output from generateTableCss */\n tableCss: TableCssOutput;\n /** Additional CSS rules to scope to this table (e.g. StickyHead column widths) */\n extraRules?: string[];\n children?: React.ReactNode;\n className?: string;\n}\n\n/**\n * Prefixes each selector in a rule with the scope selector.\n * Handles comma-separated selector lists (e.g. \"th::after, td::after { ... }\")\n * by scoping every selector, not just the first.\n */\nfunction scopeRule(scopeSelector: string, rule: string): string {\n const braceIndex = rule.indexOf('{');\n if (braceIndex === -1) return `${scopeSelector} ${rule}`;\n\n const selectorPart = rule.slice(0, braceIndex).trim();\n const bodyPart = rule.slice(braceIndex);\n\n const scopedSelectors = selectorPart\n .split(',')\n .map((selector) => `${scopeSelector} ${selector.trim()}`)\n .join(', ');\n\n return `${scopedSelectors} ${bodyPart}`;\n}\n\n/**\n * Builds a complete scoped stylesheet from properties and rules.\n * No CSS nesting dependency.\n */\nfunction buildScopedStyle(scopeSelector: string, properties: string, rules: string[]): string {\n const parts: string[] = [];\n\n if (properties) {\n parts.push(`${scopeSelector} { ${properties} }`);\n }\n\n rules.forEach((rule) => {\n parts.push(scopeRule(scopeSelector, rule));\n });\n\n return parts.join('\\n');\n}\n\nexport const TableGrid = React.forwardRef<HTMLTableElement, TableGridProps>(\n ({ tableCss, extraRules, className, children, style, ...rest }, ref) => {\n const tableId = useTableId();\n const scopeSelector = `[data-table-id=\"${tableId}\"]`;\n\n const scopedStyle = useMemo(() => {\n const allRules = extraRules ? [...tableCss.rules, ...extraRules] : tableCss.rules;\n return buildScopedStyle(scopeSelector, tableCss.properties, allRules);\n }, [tableCss, extraRules, scopeSelector]);\n\n return (\n <>\n {scopedStyle && <style>{scopedStyle}</style>}\n <table\n ref={ref}\n data-table-id={tableId}\n className={buildClassnames([styles.tableGrid, className])}\n style={style}\n {...rest}\n >\n {children}\n </table>\n </>\n );\n },\n);\n\nTableGrid.displayName = 'TableGrid';\n"],"names":["React","useTableId","useMemo","buildClassnames","styles"],"mappings":";;;;;;;;;;;;AAeA;;;;AAIG;AACH,SAAS,SAAS,CAAC,aAAqB,EAAE,IAAY,EAAA;IACpD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;IACpC,IAAI,UAAU,KAAK,EAAE;AAAE,QAAA,OAAO,CAAA,EAAG,aAAa,CAAA,CAAA,EAAI,IAAI,EAAE;AAExD,IAAA,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE;IACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;IAEvC,MAAM,eAAe,GAAG;SACrB,KAAK,CAAC,GAAG;AACT,SAAA,GAAG,CAAC,CAAC,QAAQ,KAAK,CAAA,EAAG,aAAa,CAAA,CAAA,EAAI,QAAQ,CAAC,IAAI,EAAE,EAAE;SACvD,IAAI,CAAC,IAAI,CAAC;AAEb,IAAA,OAAO,CAAA,EAAG,eAAe,CAAA,CAAA,EAAI,QAAQ,EAAE;AACzC;AAEA;;;AAGG;AACH,SAAS,gBAAgB,CAAC,aAAqB,EAAE,UAAkB,EAAE,KAAe,EAAA;IAClF,MAAM,KAAK,GAAa,EAAE;AAE1B,IAAA,IAAI,UAAU,EAAE;QACd,KAAK,CAAC,IAAI,CAAC,CAAA,EAAG,aAAa,CAAA,GAAA,EAAM,UAAU,CAAA,EAAA,CAAI,CAAC;AACjD,IAAA;AAED,IAAA,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;QACrB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;AAC5C,IAAA,CAAC,CAAC;AAEF,IAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;AACzB;AAEO,MAAM,SAAS,GAAGA,sBAAK,CAAC,UAAU,CACvC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,KAAI;AACrE,IAAA,MAAM,OAAO,GAAGC,qBAAU,EAAE;AAC5B,IAAA,MAAM,aAAa,GAAG,CAAA,gBAAA,EAAmB,OAAO,IAAI;AAEpD,IAAA,MAAM,WAAW,GAAGC,aAAO,CAAC,MAAK;QAC/B,MAAM,QAAQ,GAAG,UAAU,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK;QACjF,OAAO,gBAAgB,CAAC,aAAa,EAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC;IACvE,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;AAEzC,IAAA,QACEF,sBAAA,CAAA,aAAA,CAAAA,sBAAA,CAAA,QAAA,EAAA,IAAA;QACG,WAAW,IAAIA,sBAAA,CAAA,aAAA,CAAA,OAAA,EAAA,IAAA,EAAQ,WAAW,CAAS;AAC5C,QAAAA,sBAAA,CAAA,aAAA,CAAA,OAAA,EAAA,EACE,GAAG,EAAE,GAAG,EAAA,eAAA,EACO,OAAO,EACtB,SAAS,EAAEG,+BAAe,CAAC,CAACC,gBAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,EACzD,KAAK,EAAE,KAAK,EAAA,GACR,IAAI,EAAA,EAEP,QAAQ,CACH,CACP;AAEP,CAAC;AAGH,SAAS,CAAC,WAAW,GAAG,WAAW;;;;"}
|