@hh.ru/magritte-ui-table 3.1.16 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,8 +4,8 @@ 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-CXTCStm3.js';
8
- import { s as styles } from './table-DkbHaPA9.js';
7
+ import { c as cellStyles } from './cell-D15nzsih.js';
8
+ import { s as styles } from './table-u76Vdytz.js';
9
9
 
10
10
  const DENSITY_TO_CSS = {
11
11
  'extra-small': styles.densityExtraSmall,
@@ -26,6 +26,7 @@ const StickyTableHeader = ({ root, divider, density, headerRef, children }) => {
26
26
  const columns = ref.current.querySelectorAll('[data-magritte-table-cell]');
27
27
  [...columns].forEach((column, index) => {
28
28
  column.style.setProperty('width', `${widths[index]}px`);
29
+ column.style.setProperty('max-width', `${widths[index]}px`);
29
30
  });
30
31
  root.style.setProperty('margin-bottom', `-${headerRef.current.getBoundingClientRect().height}px`);
31
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"StickyTableHeader.js","sources":["../src/StickyTableHeader.tsx"],"sourcesContent":["import { FC, PropsWithChildren, RefObject, useCallback, useContext, useLayoutEffect, useRef } from 'react';\nimport { createPortal } from 'react-dom';\nimport classnames from 'classnames';\n\nimport { TableContext } from '@hh.ru/magritte-ui-table/context';\nimport { Density } from '@hh.ru/magritte-ui-table/types';\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: Density;\n}\n\nconst DENSITY_TO_CSS = {\n 'extra-small': styles.densityExtraSmall,\n small: styles.densitySmall,\n medium: styles.densityMedium,\n large: styles.densityLarge,\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 });\n root.style.setProperty('margin-bottom', `-${headerRef.current.getBoundingClientRect().height}px`);\n }\n }, [headerRef, root]);\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, DENSITY_TO_CSS[density], {\n [styles.withDivider]: !!divider,\n })}\n data-qa=\"table-sticky-header\"\n >\n {children}\n </thead>\n </table>,\n root\n )}\n </>\n );\n};\n"],"names":["_jsx"],"mappings":";;;;;;;;AAiBA,MAAM,cAAc,GAAG;IACnB,aAAa,EAAE,MAAM,CAAC,iBAAiB;IACvC,KAAK,EAAE,MAAM,CAAC,YAAY;IAC1B,MAAM,EAAE,MAAM,CAAC,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC,YAAY;CAC7B,CAAC;AAEW,MAAA,iBAAiB,GAA+B,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAI;AAC7G,IAAA,MAAM,GAAG,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;AAC3C,IAAA,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;AAEhH,IAAA,MAAM,SAAS,GAAG,WAAW,CAAC,MAAK;QAC/B,IAAI,GAAG,CAAC,OAAO,IAAI,IAAI,IAAI,SAAS,CAAC,OAAO,EAAE;YAC1C,MAAM,aAAa,GACf,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAAuB,4BAA4B,CAAC,CAAC;YAC3F,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,CAAC,GAAG,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,KAAI;gBACzC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;AACzD,aAAC,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAc,4BAA4B,CAAC,CAAC;YACxF,CAAC,GAAG,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,KAAI;AACnC,gBAAA,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,CAAG,EAAA,MAAM,CAAC,KAAK,CAAC,CAAA,EAAA,CAAI,CAAC,CAAC;AAC5D,aAAC,CAAC,CAAC;AACH,YAAA,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,eAAe,EAAE,CAAI,CAAA,EAAA,SAAS,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAA,EAAA,CAAI,CAAC,CAAC;SACrG;AACL,KAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IAEtB,eAAe,CAAC,MAAK;AACjB,QAAA,IAAI,IAAI,IAAI,YAAY,EAAE;AACtB,YAAA,SAAS,EAAE,CAAC;AACZ,YAAA,sBAAsB,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC;YAEvC,OAAO,MAAM,wBAAwB,GAAG,SAAS,CAAC,CAAC;SACtD;QAED,OAAO,KAAK,CAAC,CAAC;AAClB,KAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,sBAAsB,EAAE,wBAAwB,CAAC,CAAC,CAAC;IAEtF,QACIA,0BACK,YAAY;AACT,YAAA,YAAY,CACRA,GAAA,CAAA,OAAA,EAAA,EAAO,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,cAAc,CAAC,EAC3E,QAAA,EAAAA,GAAA,CAAA,OAAA,EAAA,EACI,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE;AAC1D,wBAAA,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,OAAO;qBAClC,CAAC,EAAA,SAAA,EACM,qBAAqB,EAAA,QAAA,EAE5B,QAAQ,EAAA,CACL,EACJ,CAAA,EACR,IAAI,CACP,EACN,CAAA,EACL;AACN;;;;"}
1
+ {"version":3,"file":"StickyTableHeader.js","sources":["../src/StickyTableHeader.tsx"],"sourcesContent":["import { FC, PropsWithChildren, RefObject, useCallback, useContext, useLayoutEffect, useRef } from 'react';\nimport { createPortal } from 'react-dom';\nimport classnames from 'classnames';\n\nimport { TableContext } from '@hh.ru/magritte-ui-table/context';\nimport { Density } from '@hh.ru/magritte-ui-table/types';\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: Density;\n}\n\nconst DENSITY_TO_CSS = {\n 'extra-small': styles.densityExtraSmall,\n small: styles.densitySmall,\n medium: styles.densityMedium,\n large: styles.densityLarge,\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 }, [headerRef, root]);\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, DENSITY_TO_CSS[density], {\n [styles.withDivider]: !!divider,\n })}\n data-qa=\"table-sticky-header\"\n >\n {children}\n </thead>\n </table>,\n root\n )}\n </>\n );\n};\n"],"names":["_jsx"],"mappings":"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"}
package/Table.js CHANGED
@@ -8,8 +8,8 @@ import { useBreakpoint } from '@hh.ru/magritte-ui-breakpoint';
8
8
  import { useScrollbar, Scrollbar } from '@hh.ru/magritte-ui-scrollbar';
9
9
  import { TableContext } from './context.js';
10
10
  import { useTableResize } from './useTableResize.js';
11
- import { c as cellStyles } from './cell-CXTCStm3.js';
12
- import { s as styles } from './table-DkbHaPA9.js';
11
+ import { c as cellStyles } from './cell-D15nzsih.js';
12
+ import { s as styles } from './table-u76Vdytz.js';
13
13
 
14
14
  const DENSITY_TO_CSS = {
15
15
  'extra-small': styles.densityExtraSmall,
package/TableBody.js CHANGED
@@ -3,7 +3,7 @@ import { jsx } from 'react/jsx-runtime';
3
3
  import { useRef, useContext } from 'react';
4
4
  import { VirtualizedTableBody } from './VirtualizedTableBody.js';
5
5
  import { TableContext } from './context.js';
6
- import { s as styles } from './table-DkbHaPA9.js';
6
+ import { s as styles } from './table-u76Vdytz.js';
7
7
  import './useTableVirtualizer.js';
8
8
  import '@tanstack/react-virtual';
9
9
 
package/TableCell.js CHANGED
@@ -5,10 +5,10 @@ import classnames from 'classnames';
5
5
  import { useMultipleRefs } from '@hh.ru/magritte-common-use-multiple-refs';
6
6
  import { useLayoutContext } from '@hh.ru/magritte-ui-grid/layoutContext';
7
7
  import { TableContext } from './context.js';
8
- import { c as cellStyles } from './cell-CXTCStm3.js';
9
- import { s as styles } from './table-DkbHaPA9.js';
8
+ import { c as cellStyles } from './cell-D15nzsih.js';
9
+ import { s as styles } from './table-u76Vdytz.js';
10
10
 
11
- const TableCellComponent = ({ Element = 'td', m, l, xl, xxl, width, children, stickyLeft, stickyRight, align, 'data-qa': dataQa = 'table-cell', ...rest }, ref) => {
11
+ const TableCellComponent = ({ Element = 'td', m, l, xl, xxl, width, children, stickyLeft, stickyRight, align, verticalAlign, 'data-qa': dataQa = 'table-cell', ...rest }, ref) => {
12
12
  const cellRef = useRef(null);
13
13
  const multiRef = useMultipleRefs(ref, cellRef);
14
14
  const extendsL = l ?? m;
@@ -58,7 +58,9 @@ const TableCellComponent = ({ Element = 'td', m, l, xl, xxl, width, children, st
58
58
  [cellStyles.stickyRight]: stickyRight,
59
59
  }), ref: multiRef, style: {
60
60
  textAlign: align,
61
+ verticalAlign,
61
62
  width,
63
+ maxWidth: width,
62
64
  }, children: children }));
63
65
  };
64
66
  const TableCell = forwardRef(TableCellComponent);
package/TableCell.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"TableCell.js","sources":["../src/TableCell.tsx"],"sourcesContent":["import { PropsWithChildren, useCallback, useContext, useLayoutEffect, useRef, forwardRef, ForwardedRef } 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 { 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,\n children,\n stickyLeft,\n stickyRight,\n align,\n 'data-qa': dataQa = 'table-cell',\n ...rest\n }: PropsWithChildren<TableCellProps>,\n ref: ForwardedRef<HTMLTableCellElement>\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 { leftSidebarEnabled, rightSidebarEnabled } = 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[`cell_m-${m}`]]: m,\n [styles[`cell_l-${extendsL}`]]: extendsL,\n [styles[`cell_xl-${extendsXL}`]]: extendsXL,\n [styles[`cell_xxl-${extendsXXL}`]]: extendsXXL,\n [styles.withLeftSidebar]: leftSidebarEnabled,\n [styles.withRightSidebar]: rightSidebarEnabled,\n [styles.sticky]: stickyLeft || stickyRight,\n [styles.stickyLeft]: stickyLeft,\n [styles.stickyRight]: stickyRight,\n })}\n ref={multiRef}\n style={{\n textAlign: align,\n width,\n }}\n >\n {children}\n </Element>\n );\n};\nexport const TableCell = forwardRef(TableCellComponent);\n"],"names":["_jsx","styles","tableStyles"],"mappings":"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"}
1
+ {"version":3,"file":"TableCell.js","sources":["../src/TableCell.tsx"],"sourcesContent":["import { PropsWithChildren, useCallback, useContext, useLayoutEffect, useRef, forwardRef, ForwardedRef } 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 { 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,\n children,\n stickyLeft,\n stickyRight,\n align,\n verticalAlign,\n 'data-qa': dataQa = 'table-cell',\n ...rest\n }: PropsWithChildren<TableCellProps>,\n ref: ForwardedRef<HTMLTableCellElement>\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 { leftSidebarEnabled, rightSidebarEnabled } = 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[`cell_m-${m}`]]: m,\n [styles[`cell_l-${extendsL}`]]: extendsL,\n [styles[`cell_xl-${extendsXL}`]]: extendsXL,\n [styles[`cell_xxl-${extendsXXL}`]]: extendsXXL,\n [styles.withLeftSidebar]: leftSidebarEnabled,\n [styles.withRightSidebar]: rightSidebarEnabled,\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 width,\n maxWidth: width,\n }}\n >\n {children}\n </Element>\n );\n};\nexport const TableCell = forwardRef(TableCellComponent);\n"],"names":["_jsx","styles","tableStyles"],"mappings":"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"}
package/TableHeader.js CHANGED
@@ -4,9 +4,9 @@ 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-DkbHaPA9.js';
7
+ import { s as styles } from './table-u76Vdytz.js';
8
8
  import 'react-dom';
9
- import './cell-CXTCStm3.js';
9
+ import './cell-D15nzsih.js';
10
10
 
11
11
  const DENSITY_TO_CSS = {
12
12
  'extra-small': styles.densityExtraSmall,
package/TableRow.js CHANGED
@@ -4,10 +4,10 @@ import { forwardRef, useContext, useRef, useEffect } from 'react';
4
4
  import classnames from 'classnames';
5
5
  import { useMultipleRefs } from '@hh.ru/magritte-common-use-multiple-refs';
6
6
  import { TableContext } from './context.js';
7
- import { c as cellStyles } from './cell-CXTCStm3.js';
8
- import { s as styles } from './table-DkbHaPA9.js';
7
+ import { c as cellStyles } from './cell-D15nzsih.js';
8
+ import { s as styles } from './table-u76Vdytz.js';
9
9
 
10
- const TableRowComponent = ({ style, styleHighlighted, action, showAction, animated, onClick, panel, showPanel, children, measure, align, 'data-qa': dataQa = 'table-row', ...rest }, ref) => {
10
+ const TableRowComponent = ({ style, styleHighlighted, action, showAction, animated, onClick, panel, showPanel, children, measure, align, verticalAlign = 'top', 'data-qa': dataQa = 'table-row', ...rest }, ref) => {
11
11
  const { paddingLeft, paddingRight } = useContext(TableContext);
12
12
  const highlightedColor = styleHighlighted || style;
13
13
  const wasPanelShown = useRef(null);
@@ -31,6 +31,7 @@ const TableRowComponent = ({ style, styleHighlighted, action, showAction, animat
31
31
  [styles[`style-highlighted-${highlightedColor}`]]: highlightedColor,
32
32
  }), onClick: onClick, ref: multiRef, "data-qa": dataQa, style: {
33
33
  textAlign: align,
34
+ verticalAlign,
34
35
  }, children: [!!paddingLeft && (jsx("td", { className: classnames(cellStyles.spaceCell, cellStyles.pinned, styles.td), "data-qa": "table-row-left-space", style: { width: paddingLeft }, children: showAction && action && jsx("div", { className: cellStyles.control, children: action }) })), children, !!paddingRight && (jsx("td", { className: classnames(cellStyles.spaceCell, styles.td), "data-qa": "table-row-right-space", style: { width: paddingRight } }))] }), panel && showPanel && (jsxs("tr", { "data-qa": `${dataQa}-panel`, "data-magritte-table-row-panel": true, className: classnames(styles.row, styles.rowPanel, styles.animated), style: {
35
36
  textAlign: align,
36
37
  }, children: [!!paddingLeft && (jsx("td", { className: classnames(cellStyles.spaceCell, cellStyles.pinned, styles.td), "data-qa": "table-row-left-space", style: { width: paddingLeft } })), panel, !!paddingRight && (jsx("td", { className: classnames(cellStyles.spaceCell, styles.td), "data-qa": "table-row-right-space", style: { width: paddingRight } }))] }))] }));
package/TableRow.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"TableRow.js","sources":["../src/TableRow.tsx"],"sourcesContent":["import React, { type ForwardedRef, forwardRef, useContext, useEffect, useRef } from 'react';\nimport classnames from 'classnames';\n\nimport { useMultipleRefs } from '@hh.ru/magritte-common-use-multiple-refs';\nimport { TableContext } from '@hh.ru/magritte-ui-table/context';\nimport { TableRowProps } from '@hh.ru/magritte-ui-table/types';\n\nimport cellStyles from './cell.less';\nimport styles from './table.less';\n\nconst TableRowComponent = (\n {\n style,\n styleHighlighted,\n action,\n showAction,\n animated,\n onClick,\n panel,\n showPanel,\n children,\n measure,\n align,\n 'data-qa': dataQa = 'table-row',\n ...rest\n }: TableRowProps,\n ref: ForwardedRef<HTMLTableRowElement>\n) => {\n const { paddingLeft, paddingRight } = useContext(TableContext);\n const highlightedColor = styleHighlighted || style;\n const wasPanelShown = useRef<boolean | null>(null);\n const rowRef = useRef(null);\n const multiRef = useMultipleRefs(ref, rowRef);\n\n useEffect(() => {\n if (wasPanelShown.current === null) {\n wasPanelShown.current = !!(panel && showPanel);\n return;\n }\n\n if (wasPanelShown.current !== !!(panel && showPanel)) {\n wasPanelShown.current = !!(panel && showPanel);\n rowRef.current && measure?.(rowRef.current);\n }\n }, [panel, showPanel, measure]);\n\n return (\n <>\n <tr\n {...rest}\n className={classnames(styles.row, {\n [styles.active]: !!onClick,\n [styles.animated]: animated,\n [styles.withPanel]: showPanel && panel,\n [styles[`style-${style}`]]: style,\n [styles[`style-highlighted-${highlightedColor}`]]: highlightedColor,\n })}\n onClick={onClick}\n ref={multiRef}\n data-qa={dataQa}\n style={{\n textAlign: align,\n }}\n >\n {!!paddingLeft && (\n <td\n className={classnames(cellStyles.spaceCell, cellStyles.pinned, styles.td)}\n data-qa=\"table-row-left-space\"\n style={{ width: paddingLeft }}\n >\n {showAction && action && <div className={cellStyles.control}>{action}</div>}\n </td>\n )}\n {children}\n {!!paddingRight && (\n <td\n className={classnames(cellStyles.spaceCell, styles.td)}\n data-qa=\"table-row-right-space\"\n style={{ width: paddingRight }}\n ></td>\n )}\n </tr>\n {panel && showPanel && (\n <tr\n data-qa={`${dataQa}-panel`}\n data-magritte-table-row-panel\n className={classnames(styles.row, styles.rowPanel, styles.animated)}\n style={{\n textAlign: align,\n }}\n >\n {!!paddingLeft && (\n <td\n className={classnames(cellStyles.spaceCell, cellStyles.pinned, styles.td)}\n data-qa=\"table-row-left-space\"\n style={{ width: paddingLeft }}\n ></td>\n )}\n {panel}\n {!!paddingRight && (\n <td\n className={classnames(cellStyles.spaceCell, styles.td)}\n data-qa=\"table-row-right-space\"\n style={{ width: paddingRight }}\n ></td>\n )}\n </tr>\n )}\n </>\n );\n};\n\nexport const TableRow = forwardRef(TableRowComponent);\n"],"names":["_jsxs","_Fragment","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"TableRow.js","sources":["../src/TableRow.tsx"],"sourcesContent":["import React, { type ForwardedRef, forwardRef, useContext, useEffect, useRef } from 'react';\nimport classnames from 'classnames';\n\nimport { useMultipleRefs } from '@hh.ru/magritte-common-use-multiple-refs';\nimport { TableContext } from '@hh.ru/magritte-ui-table/context';\nimport { TableRowProps } from '@hh.ru/magritte-ui-table/types';\n\nimport cellStyles from './cell.less';\nimport styles from './table.less';\n\nconst TableRowComponent = (\n {\n style,\n styleHighlighted,\n action,\n showAction,\n animated,\n onClick,\n panel,\n showPanel,\n children,\n measure,\n align,\n verticalAlign = 'top',\n 'data-qa': dataQa = 'table-row',\n ...rest\n }: TableRowProps,\n ref: ForwardedRef<HTMLTableRowElement>\n) => {\n const { paddingLeft, paddingRight } = useContext(TableContext);\n const highlightedColor = styleHighlighted || style;\n const wasPanelShown = useRef<boolean | null>(null);\n const rowRef = useRef(null);\n const multiRef = useMultipleRefs(ref, rowRef);\n\n useEffect(() => {\n if (wasPanelShown.current === null) {\n wasPanelShown.current = !!(panel && showPanel);\n return;\n }\n\n if (wasPanelShown.current !== !!(panel && showPanel)) {\n wasPanelShown.current = !!(panel && showPanel);\n rowRef.current && measure?.(rowRef.current);\n }\n }, [panel, showPanel, measure]);\n\n return (\n <>\n <tr\n {...rest}\n className={classnames(styles.row, {\n [styles.active]: !!onClick,\n [styles.animated]: animated,\n [styles.withPanel]: showPanel && panel,\n [styles[`style-${style}`]]: style,\n [styles[`style-highlighted-${highlightedColor}`]]: highlightedColor,\n })}\n onClick={onClick}\n ref={multiRef}\n data-qa={dataQa}\n style={{\n textAlign: align,\n verticalAlign,\n }}\n >\n {!!paddingLeft && (\n <td\n className={classnames(cellStyles.spaceCell, cellStyles.pinned, styles.td)}\n data-qa=\"table-row-left-space\"\n style={{ width: paddingLeft }}\n >\n {showAction && action && <div className={cellStyles.control}>{action}</div>}\n </td>\n )}\n {children}\n {!!paddingRight && (\n <td\n className={classnames(cellStyles.spaceCell, styles.td)}\n data-qa=\"table-row-right-space\"\n style={{ width: paddingRight }}\n ></td>\n )}\n </tr>\n {panel && showPanel && (\n <tr\n data-qa={`${dataQa}-panel`}\n data-magritte-table-row-panel\n className={classnames(styles.row, styles.rowPanel, styles.animated)}\n style={{\n textAlign: align,\n }}\n >\n {!!paddingLeft && (\n <td\n className={classnames(cellStyles.spaceCell, cellStyles.pinned, styles.td)}\n data-qa=\"table-row-left-space\"\n style={{ width: paddingLeft }}\n ></td>\n )}\n {panel}\n {!!paddingRight && (\n <td\n className={classnames(cellStyles.spaceCell, styles.td)}\n data-qa=\"table-row-right-space\"\n style={{ width: paddingRight }}\n ></td>\n )}\n </tr>\n )}\n </>\n );\n};\n\nexport const TableRow = forwardRef(TableRowComponent);\n"],"names":["_jsxs","_Fragment","_jsx"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import './index.css';
2
+ var cellStyles = {"cell":"magritte-cell___9SN-h_3-2-0","space-cell":"magritte-space-cell___FEzuM_3-2-0","spaceCell":"magritte-space-cell___FEzuM_3-2-0","pinned":"magritte-pinned___45ssa_3-2-0","control":"magritte-control___zooF6_3-2-0","sticky":"magritte-sticky___-VZrW_3-2-0","duplicate-table":"magritte-duplicate-table___5UfjM_3-2-0","duplicateTable":"magritte-duplicate-table___5UfjM_3-2-0","cell_m-1":"magritte-cell_m-1___hXvsr_3-2-0","cellM1":"magritte-cell_m-1___hXvsr_3-2-0","cell_m-2":"magritte-cell_m-2___ACrWd_3-2-0","cellM2":"magritte-cell_m-2___ACrWd_3-2-0","cell_m-3":"magritte-cell_m-3___gYLFS_3-2-0","cellM3":"magritte-cell_m-3___gYLFS_3-2-0","cell_m-4":"magritte-cell_m-4___abIIK_3-2-0","cellM4":"magritte-cell_m-4___abIIK_3-2-0","cell_m-5":"magritte-cell_m-5___KnqH6_3-2-0","cellM5":"magritte-cell_m-5___KnqH6_3-2-0","cell_m-6":"magritte-cell_m-6___o95mb_3-2-0","cellM6":"magritte-cell_m-6___o95mb_3-2-0","cell_m-7":"magritte-cell_m-7___DEaIG_3-2-0","cellM7":"magritte-cell_m-7___DEaIG_3-2-0","cell_m-8":"magritte-cell_m-8___TGFI7_3-2-0","cellM8":"magritte-cell_m-8___TGFI7_3-2-0","cell_m-9":"magritte-cell_m-9___yiGBE_3-2-0","cellM9":"magritte-cell_m-9___yiGBE_3-2-0","cell_m-10":"magritte-cell_m-10___tU-P9_3-2-0","cellM10":"magritte-cell_m-10___tU-P9_3-2-0","cell_m-11":"magritte-cell_m-11___Wls8v_3-2-0","cellM11":"magritte-cell_m-11___Wls8v_3-2-0","cell_m-12":"magritte-cell_m-12___QtJUR_3-2-0","cellM12":"magritte-cell_m-12___QtJUR_3-2-0","cell_l-1":"magritte-cell_l-1___08WTv_3-2-0","cellL1":"magritte-cell_l-1___08WTv_3-2-0","cell_l-2":"magritte-cell_l-2___3Egzi_3-2-0","cellL2":"magritte-cell_l-2___3Egzi_3-2-0","cell_l-3":"magritte-cell_l-3___8CURS_3-2-0","cellL3":"magritte-cell_l-3___8CURS_3-2-0","cell_l-4":"magritte-cell_l-4___4bGq1_3-2-0","cellL4":"magritte-cell_l-4___4bGq1_3-2-0","cell_l-5":"magritte-cell_l-5___2LvKm_3-2-0","cellL5":"magritte-cell_l-5___2LvKm_3-2-0","cell_l-6":"magritte-cell_l-6___ICN-G_3-2-0","cellL6":"magritte-cell_l-6___ICN-G_3-2-0","cell_l-7":"magritte-cell_l-7___1IyZf_3-2-0","cellL7":"magritte-cell_l-7___1IyZf_3-2-0","cell_l-8":"magritte-cell_l-8___KYB-a_3-2-0","cellL8":"magritte-cell_l-8___KYB-a_3-2-0","cell_l-9":"magritte-cell_l-9___CeTym_3-2-0","cellL9":"magritte-cell_l-9___CeTym_3-2-0","cell_l-10":"magritte-cell_l-10___acKEl_3-2-0","cellL10":"magritte-cell_l-10___acKEl_3-2-0","cell_l-11":"magritte-cell_l-11___VKWNT_3-2-0","cellL11":"magritte-cell_l-11___VKWNT_3-2-0","cell_l-12":"magritte-cell_l-12___SHHVR_3-2-0","cellL12":"magritte-cell_l-12___SHHVR_3-2-0","cell_xl-1":"magritte-cell_xl-1___d-7Mu_3-2-0","cellXl1":"magritte-cell_xl-1___d-7Mu_3-2-0","cell_xl-2":"magritte-cell_xl-2___0v1mr_3-2-0","cellXl2":"magritte-cell_xl-2___0v1mr_3-2-0","cell_xl-3":"magritte-cell_xl-3___dGaO8_3-2-0","cellXl3":"magritte-cell_xl-3___dGaO8_3-2-0","cell_xl-4":"magritte-cell_xl-4___XyiBZ_3-2-0","cellXl4":"magritte-cell_xl-4___XyiBZ_3-2-0","cell_xl-5":"magritte-cell_xl-5___Wzntx_3-2-0","cellXl5":"magritte-cell_xl-5___Wzntx_3-2-0","cell_xl-6":"magritte-cell_xl-6___cppOO_3-2-0","cellXl6":"magritte-cell_xl-6___cppOO_3-2-0","cell_xl-7":"magritte-cell_xl-7___z-rPX_3-2-0","cellXl7":"magritte-cell_xl-7___z-rPX_3-2-0","cell_xl-8":"magritte-cell_xl-8___uYKvC_3-2-0","cellXl8":"magritte-cell_xl-8___uYKvC_3-2-0","cell_xl-9":"magritte-cell_xl-9___Re651_3-2-0","cellXl9":"magritte-cell_xl-9___Re651_3-2-0","cell_xl-10":"magritte-cell_xl-10___-RKb4_3-2-0","cellXl10":"magritte-cell_xl-10___-RKb4_3-2-0","cell_xl-11":"magritte-cell_xl-11___Lmnus_3-2-0","cellXl11":"magritte-cell_xl-11___Lmnus_3-2-0","cell_xl-12":"magritte-cell_xl-12___14HGy_3-2-0","cellXl12":"magritte-cell_xl-12___14HGy_3-2-0","with-left-sidebar":"magritte-with-left-sidebar___ZtgsT_3-2-0","withLeftSidebar":"magritte-with-left-sidebar___ZtgsT_3-2-0","with-right-sidebar":"magritte-with-right-sidebar___QLqYo_3-2-0","withRightSidebar":"magritte-with-right-sidebar___QLqYo_3-2-0","cell_xxl-1":"magritte-cell_xxl-1___Jhugp_3-2-0","cellXxl1":"magritte-cell_xxl-1___Jhugp_3-2-0","cell_xxl-2":"magritte-cell_xxl-2___TEKj-_3-2-0","cellXxl2":"magritte-cell_xxl-2___TEKj-_3-2-0","cell_xxl-3":"magritte-cell_xxl-3___V-OWy_3-2-0","cellXxl3":"magritte-cell_xxl-3___V-OWy_3-2-0","cell_xxl-4":"magritte-cell_xxl-4___NDlag_3-2-0","cellXxl4":"magritte-cell_xxl-4___NDlag_3-2-0","cell_xxl-5":"magritte-cell_xxl-5___4caIu_3-2-0","cellXxl5":"magritte-cell_xxl-5___4caIu_3-2-0","cell_xxl-6":"magritte-cell_xxl-6___al5Oz_3-2-0","cellXxl6":"magritte-cell_xxl-6___al5Oz_3-2-0","cell_xxl-7":"magritte-cell_xxl-7___40epc_3-2-0","cellXxl7":"magritte-cell_xxl-7___40epc_3-2-0","cell_xxl-8":"magritte-cell_xxl-8___7jbSF_3-2-0","cellXxl8":"magritte-cell_xxl-8___7jbSF_3-2-0","cell_xxl-9":"magritte-cell_xxl-9___cANRv_3-2-0","cellXxl9":"magritte-cell_xxl-9___cANRv_3-2-0","cell_xxl-10":"magritte-cell_xxl-10___Wxan9_3-2-0","cellXxl10":"magritte-cell_xxl-10___Wxan9_3-2-0","cell_xxl-11":"magritte-cell_xxl-11___tPewy_3-2-0","cellXxl11":"magritte-cell_xxl-11___tPewy_3-2-0","cell_xxl-12":"magritte-cell_xxl-12___AviUH_3-2-0","cellXxl12":"magritte-cell_xxl-12___AviUH_3-2-0","has-scroll-left":"magritte-has-scroll-left___dEeNV_3-2-0","hasScrollLeft":"magritte-has-scroll-left___dEeNV_3-2-0","sticky-left":"magritte-sticky-left___r-bgc_3-2-0","stickyLeft":"magritte-sticky-left___r-bgc_3-2-0","has-scroll-right":"magritte-has-scroll-right___-eu5N_3-2-0","hasScrollRight":"magritte-has-scroll-right___-eu5N_3-2-0","sticky-right":"magritte-sticky-right___-ocur_3-2-0","stickyRight":"magritte-sticky-right___-ocur_3-2-0"};
3
+
4
+ export { cellStyles as c };
5
+ //# sourceMappingURL=cell-D15nzsih.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cell-D15nzsih.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}