@hh.ru/magritte-ui-table 4.2.9 → 4.2.11
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/BaseTable.d.ts +1 -1
- package/BaseTable.js +266 -145
- package/BaseTable.js.map +1 -1
- package/FullPageContainer.js +27 -22
- package/FullPageContainer.js.map +1 -1
- package/SimpleTable.d.ts +1 -1
- package/SimpleTable.js +4 -4
- package/SimpleTable.js.map +1 -1
- package/StickyTableHeader.js +43 -37
- package/StickyTableHeader.js.map +1 -1
- package/Table.d.ts +1 -1
- package/Table.js +8 -8
- package/Table.js.map +1 -1
- package/TableBody.js +7 -4
- package/TableBody.js.map +1 -1
- package/TableCell.d.ts +1 -1
- package/TableCell.js +84 -60
- package/TableCell.js.map +1 -1
- package/TableHeader.d.ts +1 -1
- package/TableHeader.js +37 -11
- package/TableHeader.js.map +1 -1
- package/TableRow.d.ts +1 -1
- package/TableRow.js +108 -32
- package/TableRow.js.map +1 -1
- package/VirtualizedList/VirtualizedList.js +43 -32
- package/VirtualizedList/VirtualizedList.js.map +1 -1
- package/VirtualizedList/VirtualizedListWrapper.js +41 -15
- package/VirtualizedList/VirtualizedListWrapper.js.map +1 -1
- package/VirtualizedList/VirtualizedPanel.js +13 -7
- package/VirtualizedList/VirtualizedPanel.js.map +1 -1
- package/VirtualizedList/context.js +1 -1
- package/VirtualizedList/context.js.map +1 -1
- package/VirtualizedList/index.d.ts +3 -3
- package/VirtualizedList/index.js +1 -1
- package/VirtualizedList/useVirtualizedList.js +29 -33
- package/VirtualizedList/useVirtualizedList.js.map +1 -1
- package/cell-7-Eiwyn4.js +5 -0
- package/cell-7-Eiwyn4.js.map +1 -0
- package/context.js +3 -3
- package/context.js.map +1 -1
- package/index.css +1318 -1318
- package/index.d.ts +9 -9
- package/index.js +4 -4
- package/index.mock.d.ts +1 -1
- package/index.mock.js +11 -11
- package/index.mock.js.map +1 -1
- package/package.json +5 -5
- package/table-CQ76yrLp.js +5 -0
- package/table-CQ76yrLp.js.map +1 -0
- package/useTableResize.js +35 -37
- package/useTableResize.js.map +1 -1
- package/virtualized-list-DZqJXIA7.js +5 -0
- package/virtualized-list-DZqJXIA7.js.map +1 -0
- package/cell-DSmMms21.js +0 -5
- package/cell-DSmMms21.js.map +0 -1
- package/table-82HRmqkT.js +0 -5
- package/table-82HRmqkT.js.map +0 -1
- package/virtualized-list-BEEJBwlC.js +0 -5
- package/virtualized-list-BEEJBwlC.js.map +0 -1
package/SimpleTable.js
CHANGED
|
@@ -8,15 +8,15 @@ import '@hh.ru/magritte-common-use-when-font-loaded';
|
|
|
8
8
|
import '@hh.ru/magritte-ui-scrollbar';
|
|
9
9
|
import './VirtualizedList/VirtualizedListWrapper.js';
|
|
10
10
|
import './VirtualizedList/context.js';
|
|
11
|
-
import './virtualized-list-
|
|
11
|
+
import './virtualized-list-DZqJXIA7.js';
|
|
12
12
|
import './VirtualizedList/VirtualizedPanel.js';
|
|
13
13
|
import './context.js';
|
|
14
14
|
import './useTableResize.js';
|
|
15
|
-
import './cell-
|
|
16
|
-
import './table-
|
|
15
|
+
import './cell-7-Eiwyn4.js';
|
|
16
|
+
import './table-CQ76yrLp.js';
|
|
17
17
|
|
|
18
18
|
const SimpleTable = (props) => {
|
|
19
|
-
|
|
19
|
+
return /* @__PURE__ */ jsx(BaseTable, { ...props, virtualized: false });
|
|
20
20
|
};
|
|
21
21
|
|
|
22
22
|
export { SimpleTable };
|
package/SimpleTable.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleTable.js","sources":["src/SimpleTable.tsx"],"sourcesContent":["import { FC } from 'react';\n\nimport { BaseTable } from '@hh.ru/magritte-ui-table/BaseTable';\nimport { SimpleTableProps } from '@hh.ru/magritte-ui-table/types';\n\nexport const SimpleTable: FC<SimpleTableProps> = (props) => {\n return <BaseTable {...props} virtualized={false}></BaseTable>;\n};\n"],"names":[
|
|
1
|
+
{"version":3,"file":"SimpleTable.js","sources":["src/SimpleTable.tsx"],"sourcesContent":["import { FC } from 'react';\n\nimport { BaseTable } from '@hh.ru/magritte-ui-table/BaseTable';\nimport { SimpleTableProps } from '@hh.ru/magritte-ui-table/types';\n\nexport const SimpleTable: FC<SimpleTableProps> = (props) => {\n return <BaseTable {...props} virtualized={false}></BaseTable>;\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAKa,MAAA,WAAA,GAAoC,CAAC,KAAU,KAAA;AACxD,EAAA,uBAAQ,GAAA,CAAA,SAAA,EAAA,EAAW,GAAG,KAAA,EAAO,aAAa,KAAO,EAAA,CAAA,CAAA;AACrD;;;;"}
|
package/StickyTableHeader.js
CHANGED
|
@@ -4,45 +4,51 @@ import { useRef, useContext, useCallback, useLayoutEffect } from 'react';
|
|
|
4
4
|
import { createPortal } from 'react-dom';
|
|
5
5
|
import classnames from 'classnames';
|
|
6
6
|
import { TableContext } from './context.js';
|
|
7
|
-
import { c as cellStyles } from './cell-
|
|
8
|
-
import { s as styles } from './table-
|
|
7
|
+
import { c as cellStyles } from './cell-7-Eiwyn4.js';
|
|
8
|
+
import { s as styles } from './table-CQ76yrLp.js';
|
|
9
9
|
|
|
10
10
|
const StickyTableHeader = ({ root, divider, density, headerRef, children }) => {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
11
|
+
const ref = useRef(null);
|
|
12
|
+
const { fontLoaded: renderPortal, subscribeResizeHandler, unsubscribeResizeHandler } = useContext(TableContext);
|
|
13
|
+
const calcWidth = useCallback(() => {
|
|
14
|
+
if (ref.current && root && headerRef.current) {
|
|
15
|
+
const columnsHeader = headerRef.current.querySelectorAll("[data-magritte-table-cell]");
|
|
16
|
+
const widths = [];
|
|
17
|
+
[...columnsHeader].forEach((column, index) => {
|
|
18
|
+
widths[index] = column.getBoundingClientRect().width;
|
|
19
|
+
});
|
|
20
|
+
const columns = ref.current.querySelectorAll("[data-magritte-table-cell]");
|
|
21
|
+
[...columns].forEach((column, index) => {
|
|
22
|
+
column.style.setProperty("width", `${widths[index]}px`);
|
|
23
|
+
column.style.setProperty("max-width", `${widths[index]}px`);
|
|
24
|
+
});
|
|
25
|
+
root.style.setProperty("margin-bottom", `-${headerRef.current.getBoundingClientRect().height}px`);
|
|
26
|
+
}
|
|
27
|
+
}, [headerRef, root, children]);
|
|
28
|
+
useLayoutEffect(() => {
|
|
29
|
+
if (root && renderPortal) {
|
|
30
|
+
calcWidth();
|
|
31
|
+
subscribeResizeHandler?.(calcWidth, 1);
|
|
32
|
+
return () => unsubscribeResizeHandler?.(calcWidth);
|
|
33
|
+
}
|
|
34
|
+
return void 0;
|
|
35
|
+
}, [root, renderPortal, calcWidth, subscribeResizeHandler, unsubscribeResizeHandler]);
|
|
36
|
+
return /* @__PURE__ */ jsx(Fragment, { children: renderPortal && createPortal(
|
|
37
|
+
/* @__PURE__ */ jsx("table", { ref, className: classnames(styles.table, cellStyles.duplicateTable), children: /* @__PURE__ */ jsx(
|
|
38
|
+
"thead",
|
|
39
|
+
{
|
|
40
|
+
className: classnames(styles.header, {
|
|
41
|
+
[styles.withDivider]: !!divider
|
|
42
|
+
}),
|
|
43
|
+
style: {
|
|
44
|
+
"--magritte-table-row-gap": `${density}px 0`
|
|
45
|
+
},
|
|
46
|
+
"data-qa": "table-sticky-header",
|
|
47
|
+
children
|
|
48
|
+
}
|
|
49
|
+
) }),
|
|
50
|
+
root
|
|
51
|
+
) });
|
|
46
52
|
};
|
|
47
53
|
|
|
48
54
|
export { StickyTableHeader };
|
package/StickyTableHeader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StickyTableHeader.js","sources":["src/StickyTableHeader.tsx"],"sourcesContent":["import {\n CSSProperties,\n FC,\n PropsWithChildren,\n RefObject,\n useCallback,\n useContext,\n useLayoutEffect,\n useRef,\n} from 'react';\nimport { createPortal } from 'react-dom';\nimport classnames from 'classnames';\n\nimport { TokenBaseStaticSpace } from '@hh.ru/magritte-design-tokens/types';\nimport { TableContext } from '@hh.ru/magritte-ui-table/context';\n\nimport cellStyles from './cell.less';\nimport styles from './table.less';\n\ninterface StickyTableHeaderProps extends PropsWithChildren {\n root: HTMLDivElement;\n headerRef: RefObject<HTMLTableSectionElement>;\n divider?: boolean;\n density: TokenBaseStaticSpace;\n}\n\nexport const StickyTableHeader: FC<StickyTableHeaderProps> = ({ root, divider, density, headerRef, children }) => {\n const ref = useRef<HTMLTableElement>(null);\n const { fontLoaded: renderPortal, subscribeResizeHandler, unsubscribeResizeHandler } = useContext(TableContext);\n\n const calcWidth = useCallback(() => {\n if (ref.current && root && headerRef.current) {\n const columnsHeader =\n headerRef.current.querySelectorAll<HTMLTableCellElement>('[data-magritte-table-cell]');\n const widths: number[] = [];\n [...columnsHeader].forEach((column, index) => {\n widths[index] = column.getBoundingClientRect().width;\n });\n const columns = ref.current.querySelectorAll<HTMLElement>('[data-magritte-table-cell]');\n [...columns].forEach((column, index) => {\n column.style.setProperty('width', `${widths[index]}px`);\n column.style.setProperty('max-width', `${widths[index]}px`);\n });\n root.style.setProperty('margin-bottom', `-${headerRef.current.getBoundingClientRect().height}px`);\n }\n // *\n // children стоит в зависимостях, тк есть кейсы, когда контент в ячейке может поменяться, а\n // ячейка была по контенту и ее ширина изменилась - надо чтобы соответствующая колонка в стики шапке на это отреагировала и тоже поменяла свою ширину\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [headerRef, root, children]);\n\n useLayoutEffect(() => {\n if (root && renderPortal) {\n calcWidth();\n subscribeResizeHandler?.(calcWidth, 1);\n\n return () => unsubscribeResizeHandler?.(calcWidth);\n }\n\n return void 0;\n }, [root, renderPortal, calcWidth, subscribeResizeHandler, unsubscribeResizeHandler]);\n\n return (\n <>\n {renderPortal &&\n createPortal(\n <table ref={ref} className={classnames(styles.table, cellStyles.duplicateTable)}>\n <thead\n className={classnames(styles.header, {\n [styles.withDivider]: !!divider,\n })}\n style={\n {\n '--magritte-table-row-gap': `${density}px 0`,\n } as CSSProperties\n }\n data-qa=\"table-sticky-header\"\n >\n {children}\n </thead>\n </table>,\n root\n )}\n </>\n );\n};\n"],"names":[
|
|
1
|
+
{"version":3,"file":"StickyTableHeader.js","sources":["src/StickyTableHeader.tsx"],"sourcesContent":["import {\n CSSProperties,\n FC,\n PropsWithChildren,\n RefObject,\n useCallback,\n useContext,\n useLayoutEffect,\n useRef,\n} from 'react';\nimport { createPortal } from 'react-dom';\nimport classnames from 'classnames';\n\nimport { TokenBaseStaticSpace } from '@hh.ru/magritte-design-tokens/types';\nimport { TableContext } from '@hh.ru/magritte-ui-table/context';\n\nimport cellStyles from './cell.less';\nimport styles from './table.less';\n\ninterface StickyTableHeaderProps extends PropsWithChildren {\n root: HTMLDivElement;\n headerRef: RefObject<HTMLTableSectionElement>;\n divider?: boolean;\n density: TokenBaseStaticSpace;\n}\n\nexport const StickyTableHeader: FC<StickyTableHeaderProps> = ({ root, divider, density, headerRef, children }) => {\n const ref = useRef<HTMLTableElement>(null);\n const { fontLoaded: renderPortal, subscribeResizeHandler, unsubscribeResizeHandler } = useContext(TableContext);\n\n const calcWidth = useCallback(() => {\n if (ref.current && root && headerRef.current) {\n const columnsHeader =\n headerRef.current.querySelectorAll<HTMLTableCellElement>('[data-magritte-table-cell]');\n const widths: number[] = [];\n [...columnsHeader].forEach((column, index) => {\n widths[index] = column.getBoundingClientRect().width;\n });\n const columns = ref.current.querySelectorAll<HTMLElement>('[data-magritte-table-cell]');\n [...columns].forEach((column, index) => {\n column.style.setProperty('width', `${widths[index]}px`);\n column.style.setProperty('max-width', `${widths[index]}px`);\n });\n root.style.setProperty('margin-bottom', `-${headerRef.current.getBoundingClientRect().height}px`);\n }\n // *\n // children стоит в зависимостях, тк есть кейсы, когда контент в ячейке может поменяться, а\n // ячейка была по контенту и ее ширина изменилась - надо чтобы соответствующая колонка в стики шапке на это отреагировала и тоже поменяла свою ширину\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [headerRef, root, children]);\n\n useLayoutEffect(() => {\n if (root && renderPortal) {\n calcWidth();\n subscribeResizeHandler?.(calcWidth, 1);\n\n return () => unsubscribeResizeHandler?.(calcWidth);\n }\n\n return void 0;\n }, [root, renderPortal, calcWidth, subscribeResizeHandler, unsubscribeResizeHandler]);\n\n return (\n <>\n {renderPortal &&\n createPortal(\n <table ref={ref} className={classnames(styles.table, cellStyles.duplicateTable)}>\n <thead\n className={classnames(styles.header, {\n [styles.withDivider]: !!divider,\n })}\n style={\n {\n '--magritte-table-row-gap': `${density}px 0`,\n } as CSSProperties\n }\n data-qa=\"table-sticky-header\"\n >\n {children}\n </thead>\n </table>,\n root\n )}\n </>\n );\n};\n"],"names":[],"mappings":";;;;;;;;AA0Ba,MAAA,iBAAA,GAAgD,CAAC,EAAE,IAAA,EAAM,SAAS,OAAS,EAAA,SAAA,EAAW,UAAe,KAAA;AAC9G,EAAM,MAAA,GAAA,GAAM,OAAyB,IAAI,CAAA,CAAA;AACzC,EAAA,MAAM,EAAE,UAAY,EAAA,YAAA,EAAc,wBAAwB,wBAAyB,EAAA,GAAI,WAAW,YAAY,CAAA,CAAA;AAE9G,EAAM,MAAA,SAAA,GAAY,YAAY,MAAM;AAChC,IAAA,IAAI,GAAI,CAAA,OAAA,IAAW,IAAQ,IAAA,SAAA,CAAU,OAAS,EAAA;AAC1C,MAAA,MAAM,aACF,GAAA,SAAA,CAAU,OAAQ,CAAA,gBAAA,CAAuC,4BAA4B,CAAA,CAAA;AACzF,MAAA,MAAM,SAAmB,EAAC,CAAA;AAC1B,MAAA,CAAC,GAAG,aAAa,CAAA,CAAE,OAAQ,CAAA,CAAC,QAAQ,KAAU,KAAA;AAC1C,QAAA,MAAA,CAAO,KAAK,CAAA,GAAI,MAAO,CAAA,qBAAA,EAAwB,CAAA,KAAA,CAAA;AAAA,OAClD,CAAA,CAAA;AACD,MAAA,MAAM,OAAU,GAAA,GAAA,CAAI,OAAQ,CAAA,gBAAA,CAA8B,4BAA4B,CAAA,CAAA;AACtF,MAAA,CAAC,GAAG,OAAO,CAAA,CAAE,OAAQ,CAAA,CAAC,QAAQ,KAAU,KAAA;AACpC,QAAA,MAAA,CAAO,MAAM,WAAY,CAAA,OAAA,EAAS,GAAG,MAAO,CAAA,KAAK,CAAC,CAAI,EAAA,CAAA,CAAA,CAAA;AACtD,QAAA,MAAA,CAAO,MAAM,WAAY,CAAA,WAAA,EAAa,GAAG,MAAO,CAAA,KAAK,CAAC,CAAI,EAAA,CAAA,CAAA,CAAA;AAAA,OAC7D,CAAA,CAAA;AACD,MAAK,IAAA,CAAA,KAAA,CAAM,YAAY,eAAiB,EAAA,CAAA,CAAA,EAAI,UAAU,OAAQ,CAAA,qBAAA,EAAwB,CAAA,MAAM,CAAI,EAAA,CAAA,CAAA,CAAA;AAAA,KACpG;AAAA,GAKD,EAAA,CAAC,SAAW,EAAA,IAAA,EAAM,QAAQ,CAAC,CAAA,CAAA;AAE9B,EAAA,eAAA,CAAgB,MAAM;AAClB,IAAA,IAAI,QAAQ,YAAc,EAAA;AACtB,MAAU,SAAA,EAAA,CAAA;AACV,MAAA,sBAAA,GAAyB,WAAW,CAAC,CAAA,CAAA;AAErC,MAAO,OAAA,MAAM,2BAA2B,SAAS,CAAA,CAAA;AAAA,KACrD;AAEA,IAAO,OAAA,KAAA,CAAA,CAAA;AAAA,KACR,CAAC,IAAA,EAAM,cAAc,SAAW,EAAA,sBAAA,EAAwB,wBAAwB,CAAC,CAAA,CAAA;AAEpF,EAAA,uCAES,QACG,EAAA,YAAA,IAAA,YAAA;AAAA,oBACI,GAAA,CAAC,WAAM,GAAU,EAAA,SAAA,EAAW,WAAW,MAAO,CAAA,KAAA,EAAO,UAAW,CAAA,cAAc,CAC1E,EAAA,QAAA,kBAAA,GAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACG,SAAA,EAAW,UAAW,CAAA,MAAA,CAAO,MAAQ,EAAA;AAAA,UACjC,CAAC,MAAA,CAAO,WAAW,GAAG,CAAC,CAAC,OAAA;AAAA,SAC3B,CAAA;AAAA,QACD,KACI,EAAA;AAAA,UACI,0BAAA,EAA4B,GAAG,OAAO,CAAA,IAAA,CAAA;AAAA,SAC1C;AAAA,QAEJ,SAAQ,EAAA,qBAAA;AAAA,QAEP,QAAA;AAAA,OAAA;AAAA,KAET,EAAA,CAAA;AAAA,IACA,IAAA;AAAA,GAEZ,EAAA,CAAA,CAAA;AAER;;;;"}
|
package/Table.d.ts
CHANGED
package/Table.js
CHANGED
|
@@ -9,19 +9,19 @@ import '@hh.ru/magritte-common-use-when-font-loaded';
|
|
|
9
9
|
import '@hh.ru/magritte-ui-scrollbar';
|
|
10
10
|
import './VirtualizedList/VirtualizedListWrapper.js';
|
|
11
11
|
import './VirtualizedList/context.js';
|
|
12
|
-
import './virtualized-list-
|
|
12
|
+
import './virtualized-list-DZqJXIA7.js';
|
|
13
13
|
import './VirtualizedList/VirtualizedPanel.js';
|
|
14
14
|
import './context.js';
|
|
15
15
|
import './useTableResize.js';
|
|
16
|
-
import './cell-
|
|
17
|
-
import './table-
|
|
16
|
+
import './cell-7-Eiwyn4.js';
|
|
17
|
+
import './table-CQ76yrLp.js';
|
|
18
18
|
|
|
19
19
|
const Table = (props) => {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
const { isMobile } = useBreakpoint();
|
|
21
|
+
if (isMobile) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
return /* @__PURE__ */ jsx(BaseTable, { ...props });
|
|
25
25
|
};
|
|
26
26
|
|
|
27
27
|
export { Table };
|
package/Table.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.js","sources":["src/Table.tsx"],"sourcesContent":["import { FC } from 'react';\n\nimport { useBreakpoint } from '@hh.ru/magritte-ui-breakpoint';\nimport { BaseTable } from '@hh.ru/magritte-ui-table/BaseTable';\nimport { TableProps } from '@hh.ru/magritte-ui-table/types';\n\nexport const Table: FC<TableProps> = (props) => {\n const { isMobile } = useBreakpoint();\n if (isMobile) {\n return null;\n }\n\n return <BaseTable {...props} />;\n};\n"],"names":[
|
|
1
|
+
{"version":3,"file":"Table.js","sources":["src/Table.tsx"],"sourcesContent":["import { FC } from 'react';\n\nimport { useBreakpoint } from '@hh.ru/magritte-ui-breakpoint';\nimport { BaseTable } from '@hh.ru/magritte-ui-table/BaseTable';\nimport { TableProps } from '@hh.ru/magritte-ui-table/types';\n\nexport const Table: FC<TableProps> = (props) => {\n const { isMobile } = useBreakpoint();\n if (isMobile) {\n return null;\n }\n\n return <BaseTable {...props} />;\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAMa,MAAA,KAAA,GAAwB,CAAC,KAAU,KAAA;AAC5C,EAAM,MAAA,EAAE,QAAS,EAAA,GAAI,aAAc,EAAA,CAAA;AACnC,EAAA,IAAI,QAAU,EAAA;AACV,IAAO,OAAA,IAAA,CAAA;AAAA,GACX;AAEA,EAAO,uBAAA,GAAA,CAAC,SAAW,EAAA,EAAA,GAAG,KAAO,EAAA,CAAA,CAAA;AACjC;;;;"}
|
package/TableBody.js
CHANGED
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
import './index.css';
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
3
|
import { VirtualizedList } from './VirtualizedList/VirtualizedList.js';
|
|
4
|
-
import { s as styles } from './table-
|
|
4
|
+
import { s as styles } from './table-CQ76yrLp.js';
|
|
5
5
|
import 'react';
|
|
6
6
|
import 'classnames';
|
|
7
7
|
import './VirtualizedList/context.js';
|
|
8
8
|
import './VirtualizedList/useVirtualizedList.js';
|
|
9
9
|
import '@tanstack/react-virtual';
|
|
10
|
-
import './virtualized-list-
|
|
10
|
+
import './virtualized-list-DZqJXIA7.js';
|
|
11
11
|
|
|
12
|
-
const TableBody = ({
|
|
13
|
-
|
|
12
|
+
const TableBody = ({
|
|
13
|
+
"data-qa": dataQa = "table-body",
|
|
14
|
+
children
|
|
15
|
+
}) => {
|
|
16
|
+
return /* @__PURE__ */ jsx(VirtualizedList, { className: styles.body, "data-qa": dataQa, Element: "tbody", ElementItem: "tr", children });
|
|
14
17
|
};
|
|
15
18
|
|
|
16
19
|
export { TableBody };
|
package/TableBody.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableBody.js","sources":["src/TableBody.tsx"],"sourcesContent":["import { FC, PropsWithChildren } from 'react';\n\nimport { VirtualizedList } from '@hh.ru/magritte-ui-table/VirtualizedList/VirtualizedList';\n\nimport styles from './table.less';\n\nexport const TableBody: FC<PropsWithChildren<{ 'data-qa'?: string }>> = ({\n 'data-qa': dataQa = 'table-body',\n children,\n}) => {\n return (\n <VirtualizedList className={styles.body} data-qa={dataQa} Element={'tbody'} ElementItem={'tr'}>\n {children}\n </VirtualizedList>\n );\n};\n"],"names":[
|
|
1
|
+
{"version":3,"file":"TableBody.js","sources":["src/TableBody.tsx"],"sourcesContent":["import { FC, PropsWithChildren } from 'react';\n\nimport { VirtualizedList } from '@hh.ru/magritte-ui-table/VirtualizedList/VirtualizedList';\n\nimport styles from './table.less';\n\nexport const TableBody: FC<PropsWithChildren<{ 'data-qa'?: string }>> = ({\n 'data-qa': dataQa = 'table-body',\n children,\n}) => {\n return (\n <VirtualizedList className={styles.body} data-qa={dataQa} Element={'tbody'} ElementItem={'tr'}>\n {children}\n </VirtualizedList>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;AAMO,MAAM,YAA2D,CAAC;AAAA,EACrE,WAAW,MAAS,GAAA,YAAA;AAAA,EACpB,QAAA;AACJ,CAAM,KAAA;AACF,EACI,uBAAA,GAAA,CAAC,eAAgB,EAAA,EAAA,SAAA,EAAW,MAAO,CAAA,IAAA,EAAM,SAAS,EAAA,MAAA,EAAQ,OAAS,EAAA,OAAA,EAAS,WAAa,EAAA,IAAA,EACpF,QACL,EAAA,CAAA,CAAA;AAER;;;;"}
|
package/TableCell.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { PropsWithChildren } from 'react';
|
|
2
|
-
import { TableCellProps } from '
|
|
2
|
+
import { TableCellProps } from './types';
|
|
3
3
|
export declare const TableCell: import("react").ForwardRefExoticComponent<PropsWithChildren<TableCellProps> & import("react").RefAttributes<HTMLTableCellElement>>;
|
package/TableCell.js
CHANGED
|
@@ -6,67 +6,91 @@ import { useMultipleRefs } from '@hh.ru/magritte-common-use-multiple-refs';
|
|
|
6
6
|
import { useLayoutContext } from '@hh.ru/magritte-ui-grid/layoutContext';
|
|
7
7
|
import { generateCssVarsFromMap } from '@hh.ru/magritte-ui-layout';
|
|
8
8
|
import { TableContext } from './context.js';
|
|
9
|
-
import { c as cellStyles } from './cell-
|
|
10
|
-
import { s as styles } from './table-
|
|
9
|
+
import { c as cellStyles } from './cell-7-Eiwyn4.js';
|
|
10
|
+
import { s as styles } from './table-CQ76yrLp.js';
|
|
11
11
|
|
|
12
|
-
const TableCellComponent = ({
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
12
|
+
const TableCellComponent = ({
|
|
13
|
+
Element = "td",
|
|
14
|
+
m,
|
|
15
|
+
l,
|
|
16
|
+
xl,
|
|
17
|
+
xxl,
|
|
18
|
+
width: _widthValue,
|
|
19
|
+
children,
|
|
20
|
+
stickyLeft,
|
|
21
|
+
stickyRight,
|
|
22
|
+
align,
|
|
23
|
+
verticalAlign,
|
|
24
|
+
stretched = true,
|
|
25
|
+
"data-qa": dataQa = "table-cell",
|
|
26
|
+
...rest
|
|
27
|
+
}, ref) => {
|
|
28
|
+
const isWidthObject = typeof _widthValue === "object" && _widthValue !== null && !Array.isArray(_widthValue);
|
|
29
|
+
const cssVars = isWidthObject ? generateCssVarsFromMap({ width: _widthValue }, { width: "--table-cell-w" }) : { width: _widthValue, maxWidth: _widthValue };
|
|
30
|
+
const cellRef = useRef(null);
|
|
31
|
+
const multiRef = useMultipleRefs(ref, cellRef);
|
|
32
|
+
const extendsL = l ?? m;
|
|
33
|
+
const extendsXL = xl ?? extendsL;
|
|
34
|
+
const extendsXXL = xxl ?? extendsXL;
|
|
35
|
+
const { paddingRight, fontLoaded, subscribeResizeHandler, unsubscribeResizeHandler } = useContext(TableContext);
|
|
36
|
+
const { sidebarEnabled, showSidebarFrom } = useLayoutContext();
|
|
37
|
+
const calcCoordinates = useCallback(() => {
|
|
38
|
+
if (cellRef.current && cellRef.current.parentElement) {
|
|
39
|
+
cellRef.current.style.removeProperty("left");
|
|
40
|
+
cellRef.current.style.removeProperty("right");
|
|
41
|
+
const { left: parentLeft, right: parentRight } = cellRef.current.parentElement.getBoundingClientRect();
|
|
42
|
+
const { right, left } = cellRef.current.getBoundingClientRect();
|
|
43
|
+
if (stickyLeft) {
|
|
44
|
+
cellRef.current.style.setProperty("left", `${left - parentLeft}px`);
|
|
45
|
+
}
|
|
46
|
+
if (stickyRight && cellRef.current.parentElement) {
|
|
47
|
+
cellRef.current.style.setProperty("right", `${parentRight - right - (paddingRight ?? 0)}px`);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}, [paddingRight, stickyRight, stickyLeft]);
|
|
51
|
+
useLayoutEffect(() => {
|
|
52
|
+
if (fontLoaded && (stickyLeft || stickyRight)) {
|
|
53
|
+
calcCoordinates();
|
|
54
|
+
subscribeResizeHandler?.(calcCoordinates);
|
|
55
|
+
return () => unsubscribeResizeHandler?.(calcCoordinates);
|
|
56
|
+
}
|
|
57
|
+
return void 0;
|
|
58
|
+
}, [
|
|
59
|
+
stickyRight,
|
|
60
|
+
stickyLeft,
|
|
61
|
+
fontLoaded,
|
|
62
|
+
paddingRight,
|
|
63
|
+
calcCoordinates,
|
|
64
|
+
subscribeResizeHandler,
|
|
65
|
+
unsubscribeResizeHandler
|
|
66
|
+
]);
|
|
67
|
+
return /* @__PURE__ */ jsx(
|
|
68
|
+
Element,
|
|
69
|
+
{
|
|
70
|
+
...rest,
|
|
71
|
+
"data-qa": dataQa,
|
|
72
|
+
"data-magritte-table-cell": true,
|
|
73
|
+
className: classnames(cellStyles.cell, styles.td, {
|
|
74
|
+
[cellStyles.noStretched]: !stretched,
|
|
75
|
+
[cellStyles.withWidth]: !!isWidthObject,
|
|
76
|
+
[cellStyles[`cell_m-${m}`]]: m,
|
|
77
|
+
[cellStyles[`cell_l-${extendsL}`]]: extendsL,
|
|
78
|
+
[cellStyles[`cell_xl-${extendsXL}`]]: extendsXL,
|
|
79
|
+
[cellStyles[`cell_xxl-${extendsXXL}`]]: extendsXXL,
|
|
80
|
+
[cellStyles[`with-sidebar-from-${showSidebarFrom}`]]: sidebarEnabled,
|
|
81
|
+
[cellStyles.sticky]: stickyLeft || stickyRight,
|
|
82
|
+
[cellStyles.stickyLeft]: stickyLeft,
|
|
83
|
+
[cellStyles.stickyRight]: stickyRight
|
|
84
|
+
}),
|
|
85
|
+
ref: multiRef,
|
|
86
|
+
style: {
|
|
87
|
+
textAlign: align,
|
|
88
|
+
verticalAlign,
|
|
89
|
+
...cssVars
|
|
90
|
+
},
|
|
91
|
+
children
|
|
92
|
+
}
|
|
93
|
+
);
|
|
70
94
|
};
|
|
71
95
|
const TableCell = forwardRef(TableCellComponent);
|
|
72
96
|
|
package/TableCell.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableCell.js","sources":["src/TableCell.tsx"],"sourcesContent":["import {\n PropsWithChildren,\n useCallback,\n useContext,\n useLayoutEffect,\n useRef,\n forwardRef,\n ForwardedRef,\n CSSProperties,\n} from 'react';\nimport classnames from 'classnames';\n\nimport { useMultipleRefs } from '@hh.ru/magritte-common-use-multiple-refs';\nimport { useLayoutContext } from '@hh.ru/magritte-ui-grid/layoutContext';\nimport { generateCssVarsFromMap } from '@hh.ru/magritte-ui-layout';\nimport { TableContext } from '@hh.ru/magritte-ui-table/context';\nimport { TableCellProps } from '@hh.ru/magritte-ui-table/types';\n\nimport styles from './cell.less';\nimport tableStyles from './table.less';\n\nconst TableCellComponent = (\n {\n Element = 'td',\n m,\n l,\n xl,\n xxl,\n width: _widthValue,\n children,\n stickyLeft,\n stickyRight,\n align,\n verticalAlign,\n stretched = true,\n 'data-qa': dataQa = 'table-cell',\n ...rest\n }: PropsWithChildren<TableCellProps>,\n ref: ForwardedRef<HTMLTableCellElement>\n) => {\n const isWidthObject = typeof _widthValue === 'object' && _widthValue !== null && !Array.isArray(_widthValue);\n const cssVars = isWidthObject\n ? generateCssVarsFromMap({ width: _widthValue }, { width: '--table-cell-w' })\n : ({ width: _widthValue, maxWidth: _widthValue } as CSSProperties);\n\n const cellRef = useRef<HTMLTableCellElement>(null);\n const multiRef = useMultipleRefs(ref, cellRef);\n const extendsL = l ?? m;\n const extendsXL = xl ?? extendsL;\n const extendsXXL = xxl ?? extendsXL;\n const { paddingRight, fontLoaded, subscribeResizeHandler, unsubscribeResizeHandler } = useContext(TableContext);\n const { sidebarEnabled, showSidebarFrom } = useLayoutContext();\n\n const calcCoordinates = useCallback(() => {\n if (cellRef.current && cellRef.current.parentElement) {\n cellRef.current.style.removeProperty('left');\n cellRef.current.style.removeProperty('right');\n const { left: parentLeft, right: parentRight } = cellRef.current.parentElement.getBoundingClientRect();\n const { right, left } = cellRef.current.getBoundingClientRect();\n if (stickyLeft) {\n cellRef.current.style.setProperty('left', `${left - parentLeft}px`);\n }\n\n if (stickyRight && cellRef.current.parentElement) {\n cellRef.current.style.setProperty('right', `${parentRight - right - (paddingRight ?? 0)}px`);\n }\n }\n }, [paddingRight, stickyRight, stickyLeft]);\n\n useLayoutEffect(() => {\n if (fontLoaded && (stickyLeft || stickyRight)) {\n calcCoordinates();\n subscribeResizeHandler?.(calcCoordinates);\n\n return () => unsubscribeResizeHandler?.(calcCoordinates);\n }\n\n return void 0;\n }, [\n stickyRight,\n stickyLeft,\n fontLoaded,\n paddingRight,\n calcCoordinates,\n subscribeResizeHandler,\n unsubscribeResizeHandler,\n ]);\n\n return (\n <Element\n {...rest}\n data-qa={dataQa}\n data-magritte-table-cell\n className={classnames(styles.cell, tableStyles.td, {\n [styles.noStretched]: !stretched,\n [styles.withWidth]: !!isWidthObject,\n [styles[`cell_m-${m}`]]: m,\n [styles[`cell_l-${extendsL}`]]: extendsL,\n [styles[`cell_xl-${extendsXL}`]]: extendsXL,\n [styles[`cell_xxl-${extendsXXL}`]]: extendsXXL,\n [styles[`with-sidebar-from-${showSidebarFrom}`]]: sidebarEnabled,\n [styles.sticky]: stickyLeft || stickyRight,\n [styles.stickyLeft]: stickyLeft,\n [styles.stickyRight]: stickyRight,\n })}\n ref={multiRef}\n style={{\n textAlign: align,\n verticalAlign,\n ...cssVars,\n }}\n >\n {children}\n </Element>\n );\n};\nexport const TableCell = forwardRef(TableCellComponent);\n"],"names":["
|
|
1
|
+
{"version":3,"file":"TableCell.js","sources":["src/TableCell.tsx"],"sourcesContent":["import {\n PropsWithChildren,\n useCallback,\n useContext,\n useLayoutEffect,\n useRef,\n forwardRef,\n ForwardedRef,\n CSSProperties,\n} from 'react';\nimport classnames from 'classnames';\n\nimport { useMultipleRefs } from '@hh.ru/magritte-common-use-multiple-refs';\nimport { useLayoutContext } from '@hh.ru/magritte-ui-grid/layoutContext';\nimport { generateCssVarsFromMap } from '@hh.ru/magritte-ui-layout';\nimport { TableContext } from '@hh.ru/magritte-ui-table/context';\nimport { TableCellProps } from '@hh.ru/magritte-ui-table/types';\n\nimport styles from './cell.less';\nimport tableStyles from './table.less';\n\nconst TableCellComponent = (\n {\n Element = 'td',\n m,\n l,\n xl,\n xxl,\n width: _widthValue,\n children,\n stickyLeft,\n stickyRight,\n align,\n verticalAlign,\n stretched = true,\n 'data-qa': dataQa = 'table-cell',\n ...rest\n }: PropsWithChildren<TableCellProps>,\n ref: ForwardedRef<HTMLTableCellElement>\n) => {\n const isWidthObject = typeof _widthValue === 'object' && _widthValue !== null && !Array.isArray(_widthValue);\n const cssVars = isWidthObject\n ? generateCssVarsFromMap({ width: _widthValue }, { width: '--table-cell-w' })\n : ({ width: _widthValue, maxWidth: _widthValue } as CSSProperties);\n\n const cellRef = useRef<HTMLTableCellElement>(null);\n const multiRef = useMultipleRefs(ref, cellRef);\n const extendsL = l ?? m;\n const extendsXL = xl ?? extendsL;\n const extendsXXL = xxl ?? extendsXL;\n const { paddingRight, fontLoaded, subscribeResizeHandler, unsubscribeResizeHandler } = useContext(TableContext);\n const { sidebarEnabled, showSidebarFrom } = useLayoutContext();\n\n const calcCoordinates = useCallback(() => {\n if (cellRef.current && cellRef.current.parentElement) {\n cellRef.current.style.removeProperty('left');\n cellRef.current.style.removeProperty('right');\n const { left: parentLeft, right: parentRight } = cellRef.current.parentElement.getBoundingClientRect();\n const { right, left } = cellRef.current.getBoundingClientRect();\n if (stickyLeft) {\n cellRef.current.style.setProperty('left', `${left - parentLeft}px`);\n }\n\n if (stickyRight && cellRef.current.parentElement) {\n cellRef.current.style.setProperty('right', `${parentRight - right - (paddingRight ?? 0)}px`);\n }\n }\n }, [paddingRight, stickyRight, stickyLeft]);\n\n useLayoutEffect(() => {\n if (fontLoaded && (stickyLeft || stickyRight)) {\n calcCoordinates();\n subscribeResizeHandler?.(calcCoordinates);\n\n return () => unsubscribeResizeHandler?.(calcCoordinates);\n }\n\n return void 0;\n }, [\n stickyRight,\n stickyLeft,\n fontLoaded,\n paddingRight,\n calcCoordinates,\n subscribeResizeHandler,\n unsubscribeResizeHandler,\n ]);\n\n return (\n <Element\n {...rest}\n data-qa={dataQa}\n data-magritte-table-cell\n className={classnames(styles.cell, tableStyles.td, {\n [styles.noStretched]: !stretched,\n [styles.withWidth]: !!isWidthObject,\n [styles[`cell_m-${m}`]]: m,\n [styles[`cell_l-${extendsL}`]]: extendsL,\n [styles[`cell_xl-${extendsXL}`]]: extendsXL,\n [styles[`cell_xxl-${extendsXXL}`]]: extendsXXL,\n [styles[`with-sidebar-from-${showSidebarFrom}`]]: sidebarEnabled,\n [styles.sticky]: stickyLeft || stickyRight,\n [styles.stickyLeft]: stickyLeft,\n [styles.stickyRight]: stickyRight,\n })}\n ref={multiRef}\n style={{\n textAlign: align,\n verticalAlign,\n ...cssVars,\n }}\n >\n {children}\n </Element>\n );\n};\nexport const TableCell = forwardRef(TableCellComponent);\n"],"names":["styles","tableStyles"],"mappings":"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"}
|
package/TableHeader.d.ts
CHANGED
package/TableHeader.js
CHANGED
|
@@ -4,19 +4,45 @@ import { useRef, useContext } from 'react';
|
|
|
4
4
|
import classnames from 'classnames';
|
|
5
5
|
import { StickyTableHeader } from './StickyTableHeader.js';
|
|
6
6
|
import { TableContext } from './context.js';
|
|
7
|
-
import { s as styles } from './table-
|
|
7
|
+
import { s as styles } from './table-CQ76yrLp.js';
|
|
8
8
|
import 'react-dom';
|
|
9
|
-
import './cell-
|
|
9
|
+
import './cell-7-Eiwyn4.js';
|
|
10
10
|
|
|
11
|
-
const TableHeader = ({
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
11
|
+
const TableHeader = ({
|
|
12
|
+
divider,
|
|
13
|
+
density = 16,
|
|
14
|
+
"data-qa": dataQa = "table-header",
|
|
15
|
+
children
|
|
16
|
+
}) => {
|
|
17
|
+
const theadRef = useRef(null);
|
|
18
|
+
const tableContext = useContext(TableContext);
|
|
19
|
+
const withDivider = divider ?? tableContext.divider;
|
|
20
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
21
|
+
/* @__PURE__ */ jsx(
|
|
22
|
+
"thead",
|
|
23
|
+
{
|
|
24
|
+
ref: theadRef,
|
|
25
|
+
className: classnames(styles.header, {
|
|
26
|
+
[styles.withDivider]: !!withDivider
|
|
27
|
+
}),
|
|
28
|
+
"data-qa": dataQa,
|
|
29
|
+
style: {
|
|
30
|
+
"--magritte-table-row-gap": `${density}px 0`
|
|
31
|
+
},
|
|
32
|
+
children
|
|
33
|
+
}
|
|
34
|
+
),
|
|
35
|
+
tableContext.stickyHeader && tableContext.headerNode && /* @__PURE__ */ jsx(
|
|
36
|
+
StickyTableHeader,
|
|
37
|
+
{
|
|
38
|
+
root: tableContext.headerNode,
|
|
39
|
+
headerRef: theadRef,
|
|
40
|
+
divider: withDivider,
|
|
41
|
+
density,
|
|
42
|
+
children
|
|
43
|
+
}
|
|
44
|
+
)
|
|
45
|
+
] });
|
|
20
46
|
};
|
|
21
47
|
|
|
22
48
|
export { TableHeader };
|
package/TableHeader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableHeader.js","sources":["src/TableHeader.tsx"],"sourcesContent":["import { CSSProperties, FC, useContext, useRef } from 'react';\nimport classnames from 'classnames';\n\nimport { StickyTableHeader } from '@hh.ru/magritte-ui-table/StickyTableHeader';\nimport { TableContext } from '@hh.ru/magritte-ui-table/context';\nimport { TableHeaderProps } from '@hh.ru/magritte-ui-table/types';\n\nimport styles from './table.less';\n\nexport const TableHeader: FC<TableHeaderProps> = ({\n divider,\n density = 16,\n 'data-qa': dataQa = 'table-header',\n children,\n}) => {\n const theadRef = useRef<HTMLTableSectionElement>(null);\n const tableContext = useContext(TableContext);\n const withDivider = divider ?? tableContext.divider;\n\n return (\n <>\n <thead\n ref={theadRef}\n className={classnames(styles.header, {\n [styles.withDivider]: !!withDivider,\n })}\n data-qa={dataQa}\n style={\n {\n '--magritte-table-row-gap': `${density}px 0`,\n } as CSSProperties\n }\n >\n {children}\n </thead>\n {tableContext.stickyHeader && tableContext.headerNode && (\n <StickyTableHeader\n root={tableContext.headerNode}\n headerRef={theadRef}\n divider={withDivider}\n density={density}\n >\n {children}\n </StickyTableHeader>\n )}\n </>\n );\n};\n"],"names":[
|
|
1
|
+
{"version":3,"file":"TableHeader.js","sources":["src/TableHeader.tsx"],"sourcesContent":["import { CSSProperties, FC, useContext, useRef } from 'react';\nimport classnames from 'classnames';\n\nimport { StickyTableHeader } from '@hh.ru/magritte-ui-table/StickyTableHeader';\nimport { TableContext } from '@hh.ru/magritte-ui-table/context';\nimport { TableHeaderProps } from '@hh.ru/magritte-ui-table/types';\n\nimport styles from './table.less';\n\nexport const TableHeader: FC<TableHeaderProps> = ({\n divider,\n density = 16,\n 'data-qa': dataQa = 'table-header',\n children,\n}) => {\n const theadRef = useRef<HTMLTableSectionElement>(null);\n const tableContext = useContext(TableContext);\n const withDivider = divider ?? tableContext.divider;\n\n return (\n <>\n <thead\n ref={theadRef}\n className={classnames(styles.header, {\n [styles.withDivider]: !!withDivider,\n })}\n data-qa={dataQa}\n style={\n {\n '--magritte-table-row-gap': `${density}px 0`,\n } as CSSProperties\n }\n >\n {children}\n </thead>\n {tableContext.stickyHeader && tableContext.headerNode && (\n <StickyTableHeader\n root={tableContext.headerNode}\n headerRef={theadRef}\n divider={withDivider}\n density={density}\n >\n {children}\n </StickyTableHeader>\n )}\n </>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;AASO,MAAM,cAAoC,CAAC;AAAA,EAC9C,OAAA;AAAA,EACA,OAAU,GAAA,EAAA;AAAA,EACV,WAAW,MAAS,GAAA,cAAA;AAAA,EACpB,QAAA;AACJ,CAAM,KAAA;AACF,EAAM,MAAA,QAAA,GAAW,OAAgC,IAAI,CAAA,CAAA;AACrD,EAAM,MAAA,YAAA,GAAe,WAAW,YAAY,CAAA,CAAA;AAC5C,EAAM,MAAA,WAAA,GAAc,WAAW,YAAa,CAAA,OAAA,CAAA;AAE5C,EAAA,uBAEQ,IAAA,CAAA,QAAA,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACG,GAAK,EAAA,QAAA;AAAA,QACL,SAAA,EAAW,UAAW,CAAA,MAAA,CAAO,MAAQ,EAAA;AAAA,UACjC,CAAC,MAAA,CAAO,WAAW,GAAG,CAAC,CAAC,WAAA;AAAA,SAC3B,CAAA;AAAA,QACD,SAAS,EAAA,MAAA;AAAA,QACT,KACI,EAAA;AAAA,UACI,0BAAA,EAA4B,GAAG,OAAO,CAAA,IAAA,CAAA;AAAA,SAC1C;AAAA,QAGH,QAAA;AAAA,OAAA;AAAA,KACL;AAAA,IACC,YAAA,CAAa,YAAgB,IAAA,YAAA,CAAa,UACvC,oBAAA,GAAA;AAAA,MAAC,iBAAA;AAAA,MAAA;AAAA,QACG,MAAM,YAAa,CAAA,UAAA;AAAA,QACnB,SAAW,EAAA,QAAA;AAAA,QACX,OAAS,EAAA,WAAA;AAAA,QACT,OAAA;AAAA,QAEC,QAAA;AAAA,OAAA;AAAA,KACL;AAAA,GAER,EAAA,CAAA,CAAA;AAER;;;;"}
|
package/TableRow.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
export declare const TableRow: React.ForwardRefExoticComponent<import("
|
|
2
|
+
export declare const TableRow: React.ForwardRefExoticComponent<import("./types").TableRowBaseProps & Omit<React.HTMLAttributes<HTMLTableRowElement>, keyof import("./types").TableRowBaseProps> & React.RefAttributes<HTMLTableRowElement>>;
|