@sis-cc/dotstatsuite-visions 13.6.0 → 13.7.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.
|
@@ -282,11 +282,6 @@ const useStyles$4 = makeStyles((theme) => ({
|
|
|
282
282
|
},
|
|
283
283
|
value: {
|
|
284
284
|
overflow: "inherit"
|
|
285
|
-
},
|
|
286
|
-
rightAlign: {
|
|
287
|
-
// only for rtl layout !
|
|
288
|
-
// changed by right in rtl mode
|
|
289
|
-
textAlign: "right"
|
|
290
285
|
}
|
|
291
286
|
}));
|
|
292
287
|
const isValidNumber = R.both(R.is(Number), R.complement(R.equals(NaN)));
|
|
@@ -318,21 +313,9 @@ const Cell = ({
|
|
|
318
313
|
underline: "always",
|
|
319
314
|
onClick: () => cellHandler({ indexedDimValIds }),
|
|
320
315
|
className: classes.link,
|
|
321
|
-
children: R.is(Function, HTMLRenderer) ? /* @__PURE__ */ jsx(
|
|
322
|
-
HTMLRenderer,
|
|
323
|
-
{
|
|
324
|
-
html: value,
|
|
325
|
-
style: { float: isRtl && R.isNil(textAlign) ? "left" : textAlign }
|
|
326
|
-
}
|
|
327
|
-
) : value
|
|
328
|
-
}
|
|
329
|
-
) : R.is(Function, HTMLRenderer) ? /* @__PURE__ */ jsx(
|
|
330
|
-
HTMLRenderer,
|
|
331
|
-
{
|
|
332
|
-
html: value,
|
|
333
|
-
style: { float: isRtl && R.isNil(textAlign) ? "left" : textAlign }
|
|
316
|
+
children: R.is(Function, HTMLRenderer) ? /* @__PURE__ */ jsx(HTMLRenderer, { html: value }) : value
|
|
334
317
|
}
|
|
335
|
-
) : value;
|
|
318
|
+
) : R.is(Function, HTMLRenderer) ? /* @__PURE__ */ jsx(HTMLRenderer, { html: value }) : value;
|
|
336
319
|
return /* @__PURE__ */ jsxs(
|
|
337
320
|
TableCell,
|
|
338
321
|
{
|
|
@@ -341,14 +324,13 @@ const Cell = ({
|
|
|
341
324
|
className: cx(classes.cell, {
|
|
342
325
|
[classes.oneCell]: isOne,
|
|
343
326
|
[classes.active]: isActive,
|
|
344
|
-
[classes.highlight]: isHighlight
|
|
345
|
-
[classes.rightAlign]: isRtl && R.isNil(textAlign)
|
|
327
|
+
[classes.highlight]: isHighlight
|
|
346
328
|
}),
|
|
347
329
|
headers,
|
|
348
330
|
"aria-describedby": headers,
|
|
349
331
|
onClick: activeCellHandler,
|
|
350
332
|
tabIndex: 0,
|
|
351
|
-
style: { textAlign },
|
|
333
|
+
style: { textAlign: textAlign ? textAlign : isRtl ? "left" : "right" },
|
|
352
334
|
children: [
|
|
353
335
|
!R.isNil(SideIcon) && /* @__PURE__ */ jsx(SideIcon, { sideProps, className: classes.value }),
|
|
354
336
|
hasFlag && /* @__PURE__ */ jsx(Flags, { HTMLRenderer, flags, labelAccessor }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableHtml5.js","sources":["../../src/TableHtml5/utils.js","../../src/TableHtml5/flags.jsx","../../src/TableHtml5/subHeader.jsx","../../src/TableHtml5/cell.jsx","../../src/TableHtml5/sectionHeader.jsx","../../src/TableHtml5/section.jsx","../../src/TableHtml5/header.jsx","../../src/TableHtml5/TableHtml5.jsx"],"sourcesContent":["import * as R from 'ramda';\n\nexport const getValue = labelAccessor => item =>\n R.has('values', item)\n ? R.reduce(\n (acc, val) => ({\n label: acc.label,\n id: R.isEmpty(acc.id) ? val.id : `${acc.id}, ${val.id}`,\n flags: R.concat(acc.flags, val.flags || []),\n parents: R.concat(acc.parents, val.parents || []),\n }),\n { id: '', flags: [], parents: [], label: labelAccessor(item.values) },\n item.values,\n )\n : R.pipe(R.prop('value'), val => R.assoc('label', labelAccessor(val), val))(item);\n\nexport const defaultLabelAccessor = item => {\n if (R.is(Object, item)) {\n return R.prop('name', item);\n }\n return R.pipe(R.pluck('name'), R.join(', '))(item);\n};\n","import React, { Fragment } from 'react';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport makeStyles from '@mui/styles/makeStyles';\nimport Typography from '@mui/material/Typography';\nimport { useTheme } from '@mui/material/styles';\nimport { visuallyHidden } from '@mui/utils';\nimport Tooltip from '@mui/material/Tooltip';\nimport { Asterisk } from '../Icons/Asterisk';\nimport { getValue } from './utils';\nimport useKeyboardEscapeHandler from '../hooks/useKeybordEscapeHandler';\n\nconst flagStylePath = theme => R.pathOr({}, ['mixins', 'table', 'flag'], theme);\nconst useStyles = makeStyles(theme => ({\n content: {\n borderRadius: 3,\n boxSizing: 'border-box',\n listStyleType: 'none',\n maxWidth: 270,\n padding: 0,\n margin: 0,\n ...theme.typography.body1,\n },\n flags: {\n borderBottom: '1px dotted',\n borderColor: 'inherit',\n margin: theme.spacing(0, 0.5),\n whiteSpace: 'nowrap',\n display: 'inline',\n fontWeight: 'bold',\n fontStyle: 'normal',\n position: 'relative',\n verticalAlign: R.propOr('middle', 'verticalAlign', flagStylePath(theme)),\n ...R.propOr({}, 'root', flagStylePath(theme)),\n },\n svg: {\n verticalAlign: R.propOr('middle', 'verticalAlign', flagStylePath(theme)),\n },\n header: {\n color: theme.palette.getContrastText(theme.palette.primary.main),\n },\n}));\n\nexport const Flags = ({ flags = [], isHeader, HTMLRenderer, labelAccessor }) => {\n const classes = useStyles();\n const theme = useTheme();\n const noFlags = R.isNil(flags) || R.isEmpty(flags);\n const { open, setOpen } = useKeyboardEscapeHandler();\n\n if (noFlags) return null;\n\n const hasUncoded = R.any(R.complement(R.has('code')), flags);\n const codedIcons = R.pipe(\n R.reduce((acc, flag) => R.when(R.always(R.has('code', flag)), R.append(flag.code))(acc), []),\n R.join(R.propOr(',', 'delimiters', flagStylePath(theme))),\n )(flags);\n\n const labels = R.map(flag => {\n const value = getValue(labelAccessor)(flag);\n return R.isEmpty(labelAccessor(flag)) ? value.label : `${labelAccessor(flag)}: ${value.label}`;\n }, flags);\n const content = (\n <ul data-testid=\"cell-flags-footnotes-content\" className={classes.content}>\n {R.addIndex(R.map)(\n (label, index) => (\n <li key={index}>\n {R.is(Function, HTMLRenderer) ? <HTMLRenderer html={label} /> : label}\n </li>\n ),\n labels,\n )}\n </ul>\n );\n return (\n <Tooltip\n tabIndex={0}\n aria-label={R.join(', ', labels)}\n aria-hidden={false}\n title={content}\n placement=\"top\"\n open={open}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n >\n <span\n data-testid=\"cell-flags-footnotes-icon\"\n className={cx(classes.flags, { [classes.header]: isHeader })}\n >\n {R.not(R.isEmpty(codedIcons)) && codedIcons}\n {R.and(R.not(R.isEmpty(codedIcons)), hasUncoded) && (\n <React.Fragment>{R.propOr(',', 'delimiters', flagStylePath(theme))}</React.Fragment>\n )}\n {hasUncoded && (\n <Fragment>\n \n <Asterisk className={classes.svg} style={{ fontSize: 11 }} />\n <Typography style={visuallyHidden}>{`* ${labels}`}</Typography>\n </Fragment>\n )}\n </span>\n </Tooltip>\n );\n};\n","import React from 'react';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport Typography from '@mui/material/Typography';\nimport { useTheme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport TableCell from '@mui/material/TableCell';\nimport TableRow from '@mui/material/TableRow';\nimport { getLight, getIsRtl } from '../utils';\nimport { Flags } from './flags';\n\nconst useStyles = makeStyles(theme => ({\n columnsTitle: {\n position: 'sticky',\n zIndex: 1,\n boxSizing: 'border-box',\n backgroundColor: getLight(theme) || theme.palette.secondary.light,\n border: 'none',\n borderBottom: `1px solid ${theme.palette.grey[500]}`,\n color: theme.palette.grey['A700'],\n verticalAlign: 'middle',\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n right: 0,\n width: '1px',\n height: '100%',\n backgroundColor: theme.palette.grey[500],\n },\n // backgroundColor: getLight(theme) || theme.palette.secondary.light,\n // border: 'inherit',\n // borderBottom: `1.5px solid ${theme.palette.grey[500]}`,\n // borderRight: `1.5px solid ${theme.palette.grey[500]}`,\n // padding: `${theme.spacing(0.5)} ${theme.spacing(1)}`,\n // color: theme.palette.grey['A700'],\n // verticalAlign: 'middle',\n // position: 'sticky',\n // zIndex: 1,\n // outline: `1px solid ${theme.palette.grey[500]}`,\n // borderCollapse: 'collapse',\n // borderSpacing: 0\n },\n fillerCell: {\n backgroundColor: theme.palette.grey[200],\n border: 'inherit',\n borderBottom: `1.5px solid ${theme.palette.grey[500]}`,\n borderRight: `1.5px solid ${theme.palette.grey[500]}`,\n padding: `${theme.spacing(0.5)} ${theme.spacing(1)}`,\n verticalAlign: 'middle',\n textAlign: 'center',\n color: theme.palette.grey['A700'],\n zIndex: 1,\n },\n cellContent: {\n justifyContent: 'flex-start',\n display: 'flex',\n },\n label: {\n fontStyle: 'italic',\n fontWeight: 'bold',\n },\n highlight: theme.mixins.table.cellHighlight,\n}));\n\nconst mapIndexed = R.addIndex(R.map);\n\nexport const SubHeader = React.forwardRef(\n (\n {\n headerData,\n xLayoutData,\n activeCellIds,\n subHeadCellsWidth,\n SideIcon,\n HTMLRenderer,\n labelAccessor,\n },\n refs,\n ) => {\n const classes = useStyles();\n const theme = useTheme();\n const isRtl = getIsRtl(theme);\n return (\n <TableRow>\n {mapIndexed(\n (rowItem, index) => (\n <TableCell\n component=\"th\"\n className={classes.columnsTitle}\n key={index}\n id={`subHeader_${index}`}\n style={\n isRtl ? { right: subHeadCellsWidth[index] } : { left: subHeadCellsWidth[index] }\n }\n ref={element => (refs.current[index] = element)}\n scope=\"col\"\n >\n <div\n className={classes.cellContent}\n aria-label={R.path(['dimension', 'id'], rowItem)}\n data-testid={`row-dim`}\n >\n <Typography variant=\"body1\" tabIndex={0} className={classes.label}>\n {R.pipe(R.prop('dimension'), labelAccessor)(rowItem)}\n <Flags\n labelAccessor={labelAccessor}\n HTMLRenderer={HTMLRenderer}\n flags={R.path(['dimension', 'flags'], rowItem)}\n />\n </Typography>\n </div>\n </TableCell>\n ),\n xLayoutData,\n )}\n <TableCell\n className={classes.fillerCell}\n style={\n isRtl\n ? { position: 'sticky', right: R.last(subHeadCellsWidth) }\n : { position: 'sticky', left: R.last(subHeadCellsWidth) }\n }\n />\n {mapIndexed(\n (item, index) => (\n <TableCell\n key={index}\n className={cx(classes.fillerCell, {\n [classes.highlight]: R.prop(index)(activeCellIds),\n })}\n >\n {!R.isNil(SideIcon) && <SideIcon sideProps={R.prop('sideProps', item)} />}\n <Flags\n flags={R.prop('flags', item)}\n labelAccessor={labelAccessor}\n HTMLRenderer={HTMLRenderer}\n />\n </TableCell>\n ),\n headerData,\n )}\n </TableRow>\n );\n },\n);\n","import React from 'react';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport { useTheme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport TableCell from '@mui/material/TableCell';\nimport Link from '@mui/material/Link';\nimport { Flags } from './flags';\nimport { getIsRtl } from '../utils';\n\nconst useStyles = makeStyles(theme => ({\n cell: {\n borderBottom: `1.5px solid ${theme.palette.grey[500]}`,\n borderRight: `1.5px solid ${theme.palette.grey[500]}`,\n padding: `${theme.spacing(0.5)} ${theme.spacing(1)}`,\n verticalAlign: 'baseline',\n color: theme.palette.grey['A700'],\n '&:hover': {\n boxShadow: `inset 0 0 0 2px ${theme.palette.primary.main}`,\n },\n whiteSpace: 'pre-wrap',\n borderCollapse: 'collapse',\n },\n active: {\n boxShadow: `inset 0 0 0 2px ${theme.palette.primary.main}`,\n },\n highlight: theme.mixins.table.cellHighlight,\n oneCell: {\n border: `thin solid ${theme.palette.grey[500]}`,\n display: 'block', // MUI TableCell is inline-block\n },\n link: {\n position: 'inherit',\n userSelect: 'inherit',\n },\n value: {\n overflow: 'inherit',\n },\n rightAlign: {\n // only for rtl layout !\n // changed by right in rtl mode\n textAlign: 'right',\n },\n}));\n\nconst isValidNumber = R.both(R.is(Number), R.complement(R.equals(NaN)));\n\nexport const Cell = ({\n flags,\n value,\n intValue,\n headers,\n isOne,\n indexedDimValIds = {},\n cellHandler,\n activeCellHandler,\n isActive,\n isHighlight,\n sideProps,\n SideIcon,\n HTMLRenderer,\n labelAccessor,\n textAlign,\n}) => {\n const classes = useStyles();\n const isRtl = getIsRtl(useTheme());\n const hasFlag = R.not(R.isEmpty(flags));\n const uiValue =\n R.is(Function, cellHandler) && !R.isEmpty(indexedDimValIds) ? (\n <Link\n component=\"button\"\n variant=\"body1\"\n underline=\"always\"\n onClick={() => cellHandler({ indexedDimValIds })}\n className={classes.link}\n >\n {R.is(Function, HTMLRenderer) ? (\n <HTMLRenderer\n html={value}\n style={{ float: isRtl && R.isNil(textAlign) ? 'left' : textAlign }}\n />\n ) : (\n value\n )}\n </Link>\n ) : R.is(Function, HTMLRenderer) ? (\n <HTMLRenderer\n html={value}\n style={{ float: isRtl && R.isNil(textAlign) ? 'left' : textAlign }}\n />\n ) : (\n value\n );\n\n return (\n <TableCell\n align={isValidNumber(intValue) ? 'right' : textAlign}\n component={isOne ? 'div' : 'td'}\n className={cx(classes.cell, {\n [classes.oneCell]: isOne,\n [classes.active]: isActive,\n [classes.highlight]: isHighlight,\n [classes.rightAlign]: isRtl && R.isNil(textAlign),\n })}\n headers={headers}\n aria-describedby={headers}\n onClick={activeCellHandler}\n tabIndex={0}\n style={{ textAlign }}\n >\n {!R.isNil(SideIcon) && <SideIcon sideProps={sideProps} className={classes.value} />}\n {hasFlag && <Flags HTMLRenderer={HTMLRenderer} flags={flags} labelAccessor={labelAccessor} />}\n {uiValue}\n </TableCell>\n );\n};\n","import React, { Fragment } from 'react';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport Typography from '@mui/material/Typography';\nimport Grid from '@mui/material/Grid';\nimport { useTheme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport TableCell from '@mui/material/TableCell';\nimport TableRow from '@mui/material/TableRow';\nimport { Flags } from './flags';\nimport { getDark, getIsRtl } from '../utils';\nimport { getValue } from './utils';\n\nconst useStyles = makeStyles(theme => ({\n section: {\n borderCollapse: 'collapse',\n backgroundColor: getDark(theme) || theme.palette.secondary.dark,\n border: 'inherit',\n borderBottom: `1px solid ${theme.palette.grey[500]}`,\n borderRight: `1px solid ${theme.palette.grey[500]}`,\n padding: theme.spacing(0, 1),\n color: theme.palette.grey['A700'],\n verticalAlign: 'middle',\n whiteSpace: 'nowrap',\n },\n label: {\n fontStyle: 'italic',\n fontWeight: 'bold',\n marginRight: theme.spacing(0.5),\n },\n containerSection: {\n display: 'flex',\n alignItems: 'center',\n },\n stickyHeaderSection: {\n position: 'sticky',\n },\n flag: {\n height: '100%',\n backgroundColor: getDark(theme) || theme.palette.secondary.dark,\n paddingLeft: 12,\n },\n leftLabelPosition: {\n left: theme.spacing(1),\n },\n rightLabelPosition: {\n right: theme.spacing(1),\n },\n sectionLabelsContainer: {\n padding: theme.spacing(0.5, 0),\n },\n}));\nconst mapIndexed = R.addIndex(R.map);\n\nexport const SectionHeader = ({\n headerData,\n section,\n currentSection,\n xLayoutDataLength,\n headerHeight,\n SideIcon,\n HTMLRenderer,\n labelAccessor,\n}) => {\n const classes = useStyles();\n const theme = useTheme();\n const isRtl = getIsRtl(theme);\n if (R.compose(R.anyPass([R.isNil, R.isEmpty]), R.path([0, 'data']))(section)) return null;\n\n return (\n <TableRow\n key={section.key}\n className={classes.stickyHeaderSection}\n style={{ left: 0, top: headerHeight, zIndex: 2 }}\n >\n <TableCell\n component=\"th\"\n className={classes.section}\n colSpan={R.pipe(R.length, R.inc, R.add(xLayoutDataLength))(headerData)}\n id={currentSection}\n scope=\"col\"\n >\n <Grid container alignItems=\"center\">\n <Grid\n item\n style={\n isRtl ? { position: 'sticky', right: '8px' } : { position: 'sticky', left: '8px' }\n }\n >\n <Typography variant=\"body1\" component=\"div\" className={classes.containerSection}>\n <span\n className={cx(\n classes.stickyHeaderSection,\n classes.leftLabelPosition,\n classes.sectionLabelsContainer,\n )}\n >\n {mapIndexed(\n (sectionHeader, index) => {\n const value = getValue(labelAccessor)(sectionHeader);\n return (\n <Fragment key={index}>\n {index !== 0 && <br />}\n\n <Typography\n noWrap\n variant=\"body1\"\n component=\"span\"\n tabIndex={0}\n className={classes.label}\n data-testid=\"section-dim\"\n aria-label={R.path(['dimension', 'id'], sectionHeader)}\n >\n {R.pipe(R.prop('dimension'), labelAccessor)(sectionHeader)}\n {':'}\n </Typography>\n <Typography noWrap variant=\"body1\" component=\"span\" tabIndex={0}>\n {R.prop('label', value)}\n </Typography>\n <Flags\n HTMLRenderer={HTMLRenderer}\n labelAccessor={labelAccessor}\n flags={R.prop('flags', value)}\n />\n </Fragment>\n );\n },\n R.path([0, 'data'], section),\n )}\n <span>\n <Flags\n HTMLRenderer={HTMLRenderer}\n flags={R.path([0, 'flags'], section)}\n labelAccessor={labelAccessor}\n />\n </span>\n </span>\n </Typography>\n </Grid>\n {!R.isNil(SideIcon) && (\n <Grid item style={{ marginLeft: 40 }}>\n <SideIcon sideProps={R.path([0, 'sideProps'], section)} />\n </Grid>\n )}\n </Grid>\n </TableCell>\n </TableRow>\n );\n};\n","import React from 'react';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport Typography from '@mui/material/Typography';\nimport { useTheme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport TableBody from '@mui/material/TableBody';\nimport TableCell from '@mui/material/TableCell';\nimport TableRow from '@mui/material/TableRow';\nimport { SectionHeader } from './sectionHeader';\nimport { Cell } from './cell';\nimport { getLight, getIsRtl } from '../utils';\nimport { getValue } from './utils';\nimport { Flags } from './flags';\nimport { memo } from 'react';\n\nconst useStyles = makeStyles(theme => ({\n rowTitle: {\n backgroundColor: getLight(theme) || theme.palette.secondary.light,\n border: 'inherit',\n borderBottom: `1.5px solid ${theme.palette.grey[500]}`,\n borderRight: `1.5px solid ${theme.palette.grey[500]}`,\n padding: `${theme.spacing(0.5)} ${theme.spacing(1)}`,\n color: theme.palette.grey['A700'],\n verticalAlign: 'top',\n align: 'left',\n borderCollapse: 'collapse',\n borderSpacing: 0,\n },\n timePeriodCells: {\n whiteSpace: 'nowrap',\n },\n fillerCell: {\n minWidth: '30px',\n backgroundColor: theme.palette.grey[200],\n verticalAlign: 'top',\n border: 'inherit',\n borderBottom: `1.5px solid ${theme.palette.grey[500]}`,\n borderRight: `1.5px solid ${theme.palette.grey[500]}`,\n padding: `${theme.spacing(0.5)} ${theme.spacing(1)}`,\n position: 'sticky',\n zIndex: 1,\n },\n cellContent: {\n display: 'flex',\n alignItems: 'center',\n },\n flagContainer: {\n display: 'flex',\n justifyContent: 'center',\n fontWeight: 'bold',\n },\n topCell: {\n paddingTop: 0,\n },\n hierarchySpace: {\n marginBottom: 'auto',\n },\n highlight: theme.mixins.table.cellHighlight,\n stickyHeader: {\n position: 'sticky',\n zIndex: 1,\n },\n}));\nconst mapIndexed = R.addIndex(R.map);\n\nconst SectionComponent = ({\n headerData,\n cells,\n section,\n xLayoutDataLength,\n cellHandler,\n activeCellHandler,\n activeCellIds,\n headerHeight,\n sectionIndex,\n nbColumnsByRows,\n SideIcon,\n subHeadCellsWidth,\n HTMLRenderer,\n labelAccessor,\n cellValueAccessor,\n isNoWrap,\n textAlign,\n}) => {\n const classes = useStyles();\n const currentSection = R.path([0, 'key'], section);\n const headerNumberRows = R.length(nbColumnsByRows);\n const maxColumns = R.last(nbColumnsByRows);\n const theme = useTheme();\n const isRtl = getIsRtl(theme);\n\n return (\n <TableBody>\n <SectionHeader\n headerData={headerData}\n section={section}\n currentSection={currentSection}\n xLayoutDataLength={xLayoutDataLength}\n headerHeight={headerHeight}\n SideIcon={SideIcon}\n HTMLRenderer={HTMLRenderer}\n labelAccessor={labelAccessor}\n />\n {mapIndexed(\n (sectionbody, rowIndex) => {\n const rowId = `${sectionbody.key}_${sectionIndex}_${rowIndex}`;\n const rowIds = R.pipe(\n R.map(index => `${sectionbody.key}_${sectionIndex}_${index}`),\n R.join(' '),\n )(R.times(R.identity, R.length(R.prop('data', sectionbody))));\n return (\n <TableRow key={rowId}>\n {R.times(index => {\n const cell = R.path(['data', index], sectionbody);\n const value = R.isNil(cell) ? { label: '' } : getValue(labelAccessor)(cell);\n const flags = R.propOr([], 'flags', value);\n const id = `${rowIndex}_${rowId}_${index}`;\n\n // special space is used for hierarchy U+2007    \n const hierarchySpace = R.pipe(\n R.propOr([], 'parents'),\n R.when(R.isNil, R.always([])),\n R.length,\n // eslint-disable-next-line no-irregular-whitespace\n R.times(() => '· '),\n )(value);\n\n return (\n <TableCell\n key={id}\n className={cx(classes.rowTitle, classes.stickyHeader, {\n [classes.highlight]: R.prop(rowId)(activeCellIds),\n [classes.timePeriodCells]:\n R.is(Function, isNoWrap) && isNoWrap(R.propOr({}, 'dimension', cell)),\n })}\n id={id}\n headers={`subHeader_${index} ${currentSection}`}\n component=\"th\"\n style={\n isRtl\n ? { right: subHeadCellsWidth[index] }\n : { left: subHeadCellsWidth[index] }\n }\n >\n <div className={classes.cellContent}>\n {!R.isEmpty(hierarchySpace) && (\n <div className={classes.hierarchySpace}>{hierarchySpace}</div>\n )}\n <Typography\n variant=\"body1\"\n tabIndex={0}\n aria-describedby={`subHeader_${index} ${currentSection}`}\n >\n {R.prop('label', value)}\n <Flags\n HTMLRenderer={HTMLRenderer}\n labelAccessor={labelAccessor}\n flags={flags}\n />\n </Typography>\n </div>\n </TableCell>\n );\n }, xLayoutDataLength /*R.prop('data', sectionbody)*/)}\n <TableCell\n className={cx(classes.fillerCell, {\n [classes.highlight]: R.prop(rowId)(activeCellIds),\n })}\n style={\n isRtl ? { right: R.last(subHeadCellsWidth) } : { left: R.last(subHeadCellsWidth) }\n }\n >\n <div className={classes.flagContainer}>\n {!R.isNil(SideIcon) && <SideIcon sideProps={R.prop('sideProps', sectionbody)} />}\n <Flags\n HTMLRenderer={HTMLRenderer}\n labelAccessor={labelAccessor}\n flags={R.prop('flags', sectionbody)}\n />\n </div>\n </TableCell>\n {mapIndexed((item, columnIndex) => {\n const columnIds = R.pipe(\n R.times(R.identity),\n R.map(rowIndex => {\n const columnId = R.divide(\n columnIndex,\n R.divide(maxColumns, R.nth(rowIndex, nbColumnsByRows)),\n );\n return `${Math.floor(columnId || 0)}_${rowIndex}`;\n }),\n R.join(' '),\n )(headerNumberRows);\n\n const intersectionCellId = `${rowId}/${columnIndex}`;\n const isActive = R.pipe(\n R.propOr({}, 'intersectionCellId'),\n R.equals(intersectionCellId),\n )(activeCellIds);\n const missingValLabel = item.isEmpty || sectionbody.isEmpty ? '' : '..';\n return (\n <Cell\n {...R.pipe(\n R.pathOr({ value: null }, [item.key, currentSection, sectionbody.key, 0]),\n R.over(R.lensProp('value'), val =>\n R.isNil(val) ? missingValLabel : cellValueAccessor(val),\n ),\n )(cells)}\n key={intersectionCellId}\n headers={`${rowIds} ${columnIds} ${currentSection}`}\n cellHandler={cellHandler}\n HTMLRenderer={HTMLRenderer}\n labelAccessor={labelAccessor}\n SideIcon={SideIcon}\n isActive={isActive}\n textAlign={textAlign}\n isHighlight={R.any(R.identity)([\n R.prop(rowId)(activeCellIds),\n R.prop(columnIndex)(activeCellIds),\n ])}\n activeCellHandler={\n R.is(Function)(activeCellHandler)\n ? () =>\n activeCellHandler({\n [rowId]: R.not(isActive),\n [columnIndex]: R.not(isActive),\n intersectionCellId: isActive ? null : intersectionCellId,\n })\n : null\n }\n />\n );\n }, headerData)}\n </TableRow>\n );\n },\n R.nth(1, section),\n )}\n </TableBody>\n );\n};\n\nexport const Section = memo(SectionComponent);\n","import React from 'react';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport Typography from '@mui/material/Typography';\nimport { useTheme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport TableCell from '@mui/material/TableCell';\nimport TableRow from '@mui/material/TableRow';\nimport { Flags } from './flags';\nimport { getIsRtl } from '../utils';\nimport { getValue } from './utils';\n\nconst useStyles = makeStyles(theme => ({\n tableHeadCell: {\n color: theme.palette.getContrastText(theme.palette.primary.main),\n backgroundColor: theme.palette.primary.main,\n border: 'inherit',\n borderBottom: `thin solid ${theme.palette.grey[500]}`,\n borderRight: `thin solid ${theme.palette.grey[500]}`,\n padding: `${theme.spacing(0.5)} ${theme.spacing(1)}`,\n verticalAlign: 'top',\n '&:focus ': {\n opacity: '.85',\n },\n textAlign: 'center',\n },\n cellContentCenter: {\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center',\n position: 'sticky',\n },\n cellContentRight: {\n display: 'flex',\n justifyContent: 'flex-end',\n fontStyle: 'italic',\n },\n cellLabelHeader: {\n fontStyle: 'inherit',\n fontWeight: 'bold',\n },\n stickyLabel: {\n position: 'sticky',\n },\n}));\n\nconst timesIndexed = R.addIndex(R.times);\nconst mapIndexed = R.addIndex(R.map);\n\nexport const Header = ({\n headerData,\n valuesHeaderData,\n xLayoutDataLength,\n subHeadCellsWidth,\n HTMLRenderer,\n labelAccessor,\n}) => {\n const classes = useStyles();\n const theme = useTheme();\n const isRtl = getIsRtl(theme);\n\n const stickyLabelPosition = `${R.last(subHeadCellsWidth)}px + 30px + ${theme.spacing(1)}`;\n\n if (R.compose(R.anyPass([R.isNil, R.isEmpty]), R.path([0, 'data']))(headerData)) return null;\n return timesIndexed(\n index => {\n const flags = R.path([0, 'data', index, 'dimension', 'flags'], headerData);\n const id = `header_${index}`;\n return (\n <TableRow key={id}>\n <TableCell\n component=\"th\"\n padding=\"none\"\n align=\"center\"\n className={classes.tableHeadCell}\n colSpan={R.inc(xLayoutDataLength)}\n id={id}\n tabIndex={0}\n scope=\"row\"\n title={R.pipe(R.path([-1, 'data', index, 'dimension']), labelAccessor)(headerData)}\n style={\n isRtl\n ? { position: 'sticky', zIndex: 1, right: 0 }\n : { position: 'sticky', zIndex: 1, left: 0 }\n }\n >\n <div\n className={classes.cellContentRight}\n aria-label={R.path([0, 'data', index, 'dimension', 'id'], headerData)}\n data-testid={`header-dim`}\n role=\"row\"\n >\n <Typography variant=\"body1\" className={classes.cellLabelHeader}>\n {R.pipe(R.path([-1, 'data', index, 'dimension']), labelAccessor)(headerData)}\n <Flags\n HTMLRenderer={HTMLRenderer}\n flags={flags}\n isHeader\n labelAccessor={labelAccessor}\n />\n </Typography>\n </div>\n </TableCell>\n {mapIndexed(\n (headerItem, idx) => {\n const value = headerItem.isEmpty\n ? { label: '' }\n : getValue(labelAccessor)(headerItem);\n const flags = R.propOr([], 'flags', value);\n const hierarchySpace = R.pipe(\n R.propOr([], 'parents'),\n R.length,\n R.times(() => '·'),\n )(value);\n return (\n <TableCell\n key={`${R.prop('id', value)}-${idx}`}\n component=\"th\"\n className={cx(classes.tableHeadCell, {\n [classes.topCell]: R.not(R.isEmpty(flags)),\n })}\n id={`${idx}_${index}`}\n headers={`header_${index}`}\n colSpan={R.prop('spanCount', headerItem)}\n tabIndex={0}\n title={R.prop('label', value)}\n aria-label={R.prop('label', value)}\n aria-describedby={id}\n scope=\"col\"\n >\n <div className={classes.cellContentCenter}>\n {!R.isEmpty(hierarchySpace) &&\n mapIndexed((space, idx) => <div key={idx}>{space}</div>)(hierarchySpace)}\n <Typography\n className={classes.stickyLabel}\n style={{\n left: isRtl ? theme.spacing(1) : stickyLabelPosition,\n right: isRtl ? stickyLabelPosition : theme.spacing(1),\n }}\n variant=\"body1\"\n >\n {R.prop('label', value)}\n <Flags\n HTMLRenderer={HTMLRenderer}\n flags={flags}\n isHeader\n labelAccessor={labelAccessor}\n />\n </Typography>\n </div>\n </TableCell>\n );\n },\n R.nth(index, valuesHeaderData),\n )}\n </TableRow>\n );\n },\n R.compose(R.length, R.pathOr([], [-1, 'data']))(headerData),\n );\n};\n","import React, { useRef, useState, useEffect, useMemo } from 'react';\nimport makeStyles from '@mui/styles/makeStyles';\nimport * as R from 'ramda';\nimport Table from '@mui/material/Table';\nimport { defaultLabelAccessor } from './utils';\nimport { SubHeader } from './subHeader';\nimport { Cell } from './cell';\nimport { Section } from './section';\nimport { Header } from './header';\n\n/*\n * Accessibility.\n * Do not use \"TableHead\" from Material-ui.\n * Material-ui, add \"scope\" attribute for accessibility, \"scope\" attribute can break screen reader if use with headers.\n * Child from TableHead will inherit a \"scope\" that we don't want. (not possible to turn off)\n * We are using \"headers\" attribute because the table is too complexe to use \"scope\".\n */\n\nconst useStyles = makeStyles(theme => ({\n table: {\n outline: '1px solid transparent',\n transform: 'translateZ(0)',\n borderCollapse: 'separate',\n borderLeft: `1px solid ${theme.palette.grey[500]}`,\n borderTop: `1px solid ${theme.palette.grey[500]}`,\n padding: '0px 0px',\n },\n stickyHeader: {\n position: 'sticky',\n top: 0,\n zIndex: 2,\n },\n}));\n\nconst mapIndexed = R.addIndex(R.map);\n\nexport const getEnhancedValuesHeaderData = data => {\n const colLength = R.pipe(R.last, R.propOr([], 'data'), R.length)(data);\n return R.pipe(\n R.pluck('data'),\n // mix merge and transpose for performance\n R.reduce(\n (acc, cells) => {\n R.addIndex(R.forEach)((_, rowIndex) => {\n const cell = R.nth(rowIndex, cells) || {};\n const cellId = R.has('values', cell)\n ? R.pipe(R.prop('values'), R.pluck('id'), R.join(','))(cell)\n : R.pathOr(`missing${rowIndex}`, ['value', 'id'], cell);\n const topCell = rowIndex > 0 ? R.pipe(R.nth(rowIndex - 1), R.last)(acc) : null;\n const cellKey = R.isNil(topCell) ? cellId : `${topCell.key}-${cellId}`;\n\n const leftCell = R.pipe(R.nth(rowIndex), R.last)(acc);\n if (R.prop('key', leftCell) === cellKey && rowIndex !== colLength - 1) {\n acc = R.over(\n R.lensIndex(rowIndex),\n R.over(R.lensIndex(-1), R.evolve({ spanCount: R.add(1) })),\n )(acc);\n } else {\n acc = R.over(\n R.lensIndex(rowIndex),\n R.append({\n ...R.pick(['value', 'values'], cell),\n key: cellKey,\n spanCount: 1,\n isEmpty: R.isEmpty(cell),\n }),\n )(acc);\n }\n })(acc);\n return acc;\n },\n R.times(R.always([]), colLength),\n ),\n )(data);\n};\n\nconst getCellsWidth = R.addIndex(R.reduce)(\n (acc, element, index) => R.append(R.add(acc[index], R.propOr(0, 'offsetWidth', element)), acc),\n [0],\n);\n\nexport const TableHtml5 = ({\n cells,\n headerData = [],\n sectionsData = [],\n cellHandler,\n activeCellIds,\n activeCellHandler,\n SideIcon,\n testId = 'vis-table',\n HTMLRenderer,\n cellValueAccessor = R.identity,\n labelAccessor = defaultLabelAccessor,\n textAlign,\n isNoWrap = R.always(false),\n}) => {\n const classes = useStyles();\n const [headerHeight, setHeaderHeight] = useState(0);\n const [subHeadCellsWidth, setSubHeadCellsWidth] = useState([0]);\n const headerRef = useRef(null);\n const subHeadCellsRef = useRef([]);\n\n useEffect(() => {\n setHeaderHeight(R.pathOr(0, ['current', 'clientHeight'], headerRef));\n setSubHeadCellsWidth(getCellsWidth(R.prop('current', subHeadCellsRef)));\n }, [cells, headerData, sectionsData]);\n\n useEffect(() => {\n let timeoutId = null;\n const resizeListener = () => {\n clearTimeout(timeoutId);\n timeoutId = setTimeout(() => {\n setHeaderHeight(R.pathOr(0, ['current', 'clientHeight'], headerRef));\n setSubHeadCellsWidth(getCellsWidth(R.prop('current', subHeadCellsRef)));\n }, 150);\n };\n window.addEventListener('resize', resizeListener);\n return () => window.removeEventListener('resize', resizeListener);\n }, []);\n\n const xLayoutData = R.pathOr([], [0, 1, -1, 'data'], sectionsData);\n const xLayoutDataLength = R.length(xLayoutData);\n const { valuesHeaderData, nbColumnsByRows } = useMemo(() => {\n const valuesHeaderData = getEnhancedValuesHeaderData(headerData);\n const nbColumnsByRows = R.map(R.length)(valuesHeaderData);\n return { valuesHeaderData, nbColumnsByRows };\n }, [headerData]);\n\n const isSingleObs = R.hasPath(['', '', '', 0], cells);\n if (isSingleObs)\n return (\n <Cell\n HTMLRenderer={HTMLRenderer}\n labelAccessor={labelAccessor}\n {...R.pathOr({}, ['', '', '', 0], cells)}\n cellHandler={cellHandler}\n isOne\n textAlign={textAlign}\n />\n );\n\n return (\n <Table className={classes.table} aria-label=\"table\" size=\"small\" data-testid={testId}>\n <thead ref={headerRef} className={classes.stickyHeader}>\n <Header\n headerData={headerData}\n valuesHeaderData={valuesHeaderData}\n xLayoutDataLength={xLayoutDataLength}\n subHeadCellsWidth={subHeadCellsWidth}\n HTMLRenderer={HTMLRenderer}\n labelAccessor={labelAccessor}\n />\n <SubHeader\n headerData={headerData}\n xLayoutData={xLayoutData}\n activeCellIds={activeCellIds}\n SideIcon={SideIcon}\n ref={subHeadCellsRef}\n subHeadCellsWidth={subHeadCellsWidth}\n HTMLRenderer={HTMLRenderer}\n labelAccessor={labelAccessor}\n />\n </thead>\n {mapIndexed(\n (section, index) => (\n <Section\n key={`section-${index}`}\n sectionIndex={index}\n headerHeight={headerHeight}\n nbColumnsByRows={nbColumnsByRows}\n headerData={headerData}\n cells={cells}\n section={section}\n xLayoutDataLength={xLayoutDataLength}\n cellHandler={cellHandler}\n activeCellIds={activeCellIds}\n activeCellHandler={activeCellHandler}\n SideIcon={SideIcon}\n subHeadCellsWidth={subHeadCellsWidth}\n HTMLRenderer={HTMLRenderer}\n cellValueAccessor={cellValueAccessor}\n labelAccessor={labelAccessor}\n isNoWrap={isNoWrap}\n textAlign={textAlign}\n />\n ),\n sectionsData,\n )}\n </Table>\n );\n};\n"],"names":["useStyles","Tooltip","mapIndexed","rowIndex","flags","idx","valuesHeaderData","nbColumnsByRows"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TableHtml5.js","sources":["../../src/TableHtml5/utils.js","../../src/TableHtml5/flags.jsx","../../src/TableHtml5/subHeader.jsx","../../src/TableHtml5/cell.jsx","../../src/TableHtml5/sectionHeader.jsx","../../src/TableHtml5/section.jsx","../../src/TableHtml5/header.jsx","../../src/TableHtml5/TableHtml5.jsx"],"sourcesContent":["import * as R from 'ramda';\n\nexport const getValue = labelAccessor => item =>\n R.has('values', item)\n ? R.reduce(\n (acc, val) => ({\n label: acc.label,\n id: R.isEmpty(acc.id) ? val.id : `${acc.id}, ${val.id}`,\n flags: R.concat(acc.flags, val.flags || []),\n parents: R.concat(acc.parents, val.parents || []),\n }),\n { id: '', flags: [], parents: [], label: labelAccessor(item.values) },\n item.values,\n )\n : R.pipe(R.prop('value'), val => R.assoc('label', labelAccessor(val), val))(item);\n\nexport const defaultLabelAccessor = item => {\n if (R.is(Object, item)) {\n return R.prop('name', item);\n }\n return R.pipe(R.pluck('name'), R.join(', '))(item);\n};\n","import React, { Fragment } from 'react';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport makeStyles from '@mui/styles/makeStyles';\nimport Typography from '@mui/material/Typography';\nimport { useTheme } from '@mui/material/styles';\nimport { visuallyHidden } from '@mui/utils';\nimport Tooltip from '@mui/material/Tooltip';\nimport { Asterisk } from '../Icons/Asterisk';\nimport { getValue } from './utils';\nimport useKeyboardEscapeHandler from '../hooks/useKeybordEscapeHandler';\n\nconst flagStylePath = theme => R.pathOr({}, ['mixins', 'table', 'flag'], theme);\nconst useStyles = makeStyles(theme => ({\n content: {\n borderRadius: 3,\n boxSizing: 'border-box',\n listStyleType: 'none',\n maxWidth: 270,\n padding: 0,\n margin: 0,\n ...theme.typography.body1,\n },\n flags: {\n borderBottom: '1px dotted',\n borderColor: 'inherit',\n margin: theme.spacing(0, 0.5),\n whiteSpace: 'nowrap',\n display: 'inline',\n fontWeight: 'bold',\n fontStyle: 'normal',\n position: 'relative',\n verticalAlign: R.propOr('middle', 'verticalAlign', flagStylePath(theme)),\n ...R.propOr({}, 'root', flagStylePath(theme)),\n },\n svg: {\n verticalAlign: R.propOr('middle', 'verticalAlign', flagStylePath(theme)),\n },\n header: {\n color: theme.palette.getContrastText(theme.palette.primary.main),\n },\n}));\n\nexport const Flags = ({ flags = [], isHeader, HTMLRenderer, labelAccessor }) => {\n const classes = useStyles();\n const theme = useTheme();\n const noFlags = R.isNil(flags) || R.isEmpty(flags);\n const { open, setOpen } = useKeyboardEscapeHandler();\n\n if (noFlags) return null;\n\n const hasUncoded = R.any(R.complement(R.has('code')), flags);\n const codedIcons = R.pipe(\n R.reduce((acc, flag) => R.when(R.always(R.has('code', flag)), R.append(flag.code))(acc), []),\n R.join(R.propOr(',', 'delimiters', flagStylePath(theme))),\n )(flags);\n\n const labels = R.map(flag => {\n const value = getValue(labelAccessor)(flag);\n return R.isEmpty(labelAccessor(flag)) ? value.label : `${labelAccessor(flag)}: ${value.label}`;\n }, flags);\n const content = (\n <ul data-testid=\"cell-flags-footnotes-content\" className={classes.content}>\n {R.addIndex(R.map)(\n (label, index) => (\n <li key={index}>\n {R.is(Function, HTMLRenderer) ? <HTMLRenderer html={label} /> : label}\n </li>\n ),\n labels,\n )}\n </ul>\n );\n return (\n <Tooltip\n tabIndex={0}\n aria-label={R.join(', ', labels)}\n aria-hidden={false}\n title={content}\n placement=\"top\"\n open={open}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n >\n <span\n data-testid=\"cell-flags-footnotes-icon\"\n className={cx(classes.flags, { [classes.header]: isHeader })}\n >\n {R.not(R.isEmpty(codedIcons)) && codedIcons}\n {R.and(R.not(R.isEmpty(codedIcons)), hasUncoded) && (\n <React.Fragment>{R.propOr(',', 'delimiters', flagStylePath(theme))}</React.Fragment>\n )}\n {hasUncoded && (\n <Fragment>\n \n <Asterisk className={classes.svg} style={{ fontSize: 11 }} />\n <Typography style={visuallyHidden}>{`* ${labels}`}</Typography>\n </Fragment>\n )}\n </span>\n </Tooltip>\n );\n};\n","import React from 'react';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport Typography from '@mui/material/Typography';\nimport { useTheme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport TableCell from '@mui/material/TableCell';\nimport TableRow from '@mui/material/TableRow';\nimport { getLight, getIsRtl } from '../utils';\nimport { Flags } from './flags';\n\nconst useStyles = makeStyles(theme => ({\n columnsTitle: {\n position: 'sticky',\n zIndex: 1,\n boxSizing: 'border-box',\n backgroundColor: getLight(theme) || theme.palette.secondary.light,\n border: 'none',\n borderBottom: `1px solid ${theme.palette.grey[500]}`,\n color: theme.palette.grey['A700'],\n verticalAlign: 'middle',\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n right: 0,\n width: '1px',\n height: '100%',\n backgroundColor: theme.palette.grey[500],\n },\n // backgroundColor: getLight(theme) || theme.palette.secondary.light,\n // border: 'inherit',\n // borderBottom: `1.5px solid ${theme.palette.grey[500]}`,\n // borderRight: `1.5px solid ${theme.palette.grey[500]}`,\n // padding: `${theme.spacing(0.5)} ${theme.spacing(1)}`,\n // color: theme.palette.grey['A700'],\n // verticalAlign: 'middle',\n // position: 'sticky',\n // zIndex: 1,\n // outline: `1px solid ${theme.palette.grey[500]}`,\n // borderCollapse: 'collapse',\n // borderSpacing: 0\n },\n fillerCell: {\n backgroundColor: theme.palette.grey[200],\n border: 'inherit',\n borderBottom: `1.5px solid ${theme.palette.grey[500]}`,\n borderRight: `1.5px solid ${theme.palette.grey[500]}`,\n padding: `${theme.spacing(0.5)} ${theme.spacing(1)}`,\n verticalAlign: 'middle',\n textAlign: 'center',\n color: theme.palette.grey['A700'],\n zIndex: 1,\n },\n cellContent: {\n justifyContent: 'flex-start',\n display: 'flex',\n },\n label: {\n fontStyle: 'italic',\n fontWeight: 'bold',\n },\n highlight: theme.mixins.table.cellHighlight,\n}));\n\nconst mapIndexed = R.addIndex(R.map);\n\nexport const SubHeader = React.forwardRef(\n (\n {\n headerData,\n xLayoutData,\n activeCellIds,\n subHeadCellsWidth,\n SideIcon,\n HTMLRenderer,\n labelAccessor,\n },\n refs,\n ) => {\n const classes = useStyles();\n const theme = useTheme();\n const isRtl = getIsRtl(theme);\n return (\n <TableRow>\n {mapIndexed(\n (rowItem, index) => (\n <TableCell\n component=\"th\"\n className={classes.columnsTitle}\n key={index}\n id={`subHeader_${index}`}\n style={\n isRtl ? { right: subHeadCellsWidth[index] } : { left: subHeadCellsWidth[index] }\n }\n ref={element => (refs.current[index] = element)}\n scope=\"col\"\n >\n <div\n className={classes.cellContent}\n aria-label={R.path(['dimension', 'id'], rowItem)}\n data-testid={`row-dim`}\n >\n <Typography variant=\"body1\" tabIndex={0} className={classes.label}>\n {R.pipe(R.prop('dimension'), labelAccessor)(rowItem)}\n <Flags\n labelAccessor={labelAccessor}\n HTMLRenderer={HTMLRenderer}\n flags={R.path(['dimension', 'flags'], rowItem)}\n />\n </Typography>\n </div>\n </TableCell>\n ),\n xLayoutData,\n )}\n <TableCell\n className={classes.fillerCell}\n style={\n isRtl\n ? { position: 'sticky', right: R.last(subHeadCellsWidth) }\n : { position: 'sticky', left: R.last(subHeadCellsWidth) }\n }\n />\n {mapIndexed(\n (item, index) => (\n <TableCell\n key={index}\n className={cx(classes.fillerCell, {\n [classes.highlight]: R.prop(index)(activeCellIds),\n })}\n >\n {!R.isNil(SideIcon) && <SideIcon sideProps={R.prop('sideProps', item)} />}\n <Flags\n flags={R.prop('flags', item)}\n labelAccessor={labelAccessor}\n HTMLRenderer={HTMLRenderer}\n />\n </TableCell>\n ),\n headerData,\n )}\n </TableRow>\n );\n },\n);\n","import React from 'react';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport { useTheme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport TableCell from '@mui/material/TableCell';\nimport Link from '@mui/material/Link';\nimport { Flags } from './flags';\nimport { getIsRtl } from '../utils';\n\nconst useStyles = makeStyles(theme => ({\n cell: {\n borderBottom: `1.5px solid ${theme.palette.grey[500]}`,\n borderRight: `1.5px solid ${theme.palette.grey[500]}`,\n padding: `${theme.spacing(0.5)} ${theme.spacing(1)}`,\n verticalAlign: 'baseline',\n color: theme.palette.grey['A700'],\n '&:hover': {\n boxShadow: `inset 0 0 0 2px ${theme.palette.primary.main}`,\n },\n whiteSpace: 'pre-wrap',\n borderCollapse: 'collapse',\n },\n active: {\n boxShadow: `inset 0 0 0 2px ${theme.palette.primary.main}`,\n },\n highlight: theme.mixins.table.cellHighlight,\n oneCell: {\n border: `thin solid ${theme.palette.grey[500]}`,\n display: 'block', // MUI TableCell is inline-block\n },\n link: {\n position: 'inherit',\n userSelect: 'inherit',\n },\n value: {\n overflow: 'inherit',\n },\n}));\n\nconst isValidNumber = R.both(R.is(Number), R.complement(R.equals(NaN)));\n\nexport const Cell = ({\n flags,\n value,\n intValue,\n headers,\n isOne,\n indexedDimValIds = {},\n cellHandler,\n activeCellHandler,\n isActive,\n isHighlight,\n sideProps,\n SideIcon,\n HTMLRenderer,\n labelAccessor,\n textAlign,\n}) => {\n const classes = useStyles();\n const isRtl = getIsRtl(useTheme());\n const hasFlag = R.not(R.isEmpty(flags));\n const uiValue =\n R.is(Function, cellHandler) && !R.isEmpty(indexedDimValIds) ? (\n <Link\n component=\"button\"\n variant=\"body1\"\n underline=\"always\"\n onClick={() => cellHandler({ indexedDimValIds })}\n className={classes.link}\n >\n {R.is(Function, HTMLRenderer) ? <HTMLRenderer html={value} /> : value}\n </Link>\n ) : R.is(Function, HTMLRenderer) ? <HTMLRenderer html={value} /> : value;\n\n return (\n <TableCell\n align={isValidNumber(intValue) ? 'right' : textAlign}\n component={isOne ? 'div' : 'td'}\n className={cx(classes.cell, {\n [classes.oneCell]: isOne,\n [classes.active]: isActive,\n [classes.highlight]: isHighlight,\n })}\n headers={headers}\n aria-describedby={headers}\n onClick={activeCellHandler}\n tabIndex={0}\n style={{ textAlign: textAlign ? textAlign : isRtl ? 'left' : 'right' }}\n >\n {!R.isNil(SideIcon) && <SideIcon sideProps={sideProps} className={classes.value} />}\n {hasFlag && <Flags HTMLRenderer={HTMLRenderer} flags={flags} labelAccessor={labelAccessor} />}\n {uiValue}\n </TableCell>\n );\n};\n","import React, { Fragment } from 'react';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport Typography from '@mui/material/Typography';\nimport Grid from '@mui/material/Grid';\nimport { useTheme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport TableCell from '@mui/material/TableCell';\nimport TableRow from '@mui/material/TableRow';\nimport { Flags } from './flags';\nimport { getDark, getIsRtl } from '../utils';\nimport { getValue } from './utils';\n\nconst useStyles = makeStyles(theme => ({\n section: {\n borderCollapse: 'collapse',\n backgroundColor: getDark(theme) || theme.palette.secondary.dark,\n border: 'inherit',\n borderBottom: `1px solid ${theme.palette.grey[500]}`,\n borderRight: `1px solid ${theme.palette.grey[500]}`,\n padding: theme.spacing(0, 1),\n color: theme.palette.grey['A700'],\n verticalAlign: 'middle',\n whiteSpace: 'nowrap',\n },\n label: {\n fontStyle: 'italic',\n fontWeight: 'bold',\n marginRight: theme.spacing(0.5),\n },\n containerSection: {\n display: 'flex',\n alignItems: 'center',\n },\n stickyHeaderSection: {\n position: 'sticky',\n },\n flag: {\n height: '100%',\n backgroundColor: getDark(theme) || theme.palette.secondary.dark,\n paddingLeft: 12,\n },\n leftLabelPosition: {\n left: theme.spacing(1),\n },\n rightLabelPosition: {\n right: theme.spacing(1),\n },\n sectionLabelsContainer: {\n padding: theme.spacing(0.5, 0),\n },\n}));\nconst mapIndexed = R.addIndex(R.map);\n\nexport const SectionHeader = ({\n headerData,\n section,\n currentSection,\n xLayoutDataLength,\n headerHeight,\n SideIcon,\n HTMLRenderer,\n labelAccessor,\n}) => {\n const classes = useStyles();\n const theme = useTheme();\n const isRtl = getIsRtl(theme);\n if (R.compose(R.anyPass([R.isNil, R.isEmpty]), R.path([0, 'data']))(section)) return null;\n\n return (\n <TableRow\n key={section.key}\n className={classes.stickyHeaderSection}\n style={{ left: 0, top: headerHeight, zIndex: 2 }}\n >\n <TableCell\n component=\"th\"\n className={classes.section}\n colSpan={R.pipe(R.length, R.inc, R.add(xLayoutDataLength))(headerData)}\n id={currentSection}\n scope=\"col\"\n >\n <Grid container alignItems=\"center\">\n <Grid\n item\n style={\n isRtl ? { position: 'sticky', right: '8px' } : { position: 'sticky', left: '8px' }\n }\n >\n <Typography variant=\"body1\" component=\"div\" className={classes.containerSection}>\n <span\n className={cx(\n classes.stickyHeaderSection,\n classes.leftLabelPosition,\n classes.sectionLabelsContainer,\n )}\n >\n {mapIndexed(\n (sectionHeader, index) => {\n const value = getValue(labelAccessor)(sectionHeader);\n return (\n <Fragment key={index}>\n {index !== 0 && <br />}\n\n <Typography\n noWrap\n variant=\"body1\"\n component=\"span\"\n tabIndex={0}\n className={classes.label}\n data-testid=\"section-dim\"\n aria-label={R.path(['dimension', 'id'], sectionHeader)}\n >\n {R.pipe(R.prop('dimension'), labelAccessor)(sectionHeader)}\n {':'}\n </Typography>\n <Typography noWrap variant=\"body1\" component=\"span\" tabIndex={0}>\n {R.prop('label', value)}\n </Typography>\n <Flags\n HTMLRenderer={HTMLRenderer}\n labelAccessor={labelAccessor}\n flags={R.prop('flags', value)}\n />\n </Fragment>\n );\n },\n R.path([0, 'data'], section),\n )}\n <span>\n <Flags\n HTMLRenderer={HTMLRenderer}\n flags={R.path([0, 'flags'], section)}\n labelAccessor={labelAccessor}\n />\n </span>\n </span>\n </Typography>\n </Grid>\n {!R.isNil(SideIcon) && (\n <Grid item style={{ marginLeft: 40 }}>\n <SideIcon sideProps={R.path([0, 'sideProps'], section)} />\n </Grid>\n )}\n </Grid>\n </TableCell>\n </TableRow>\n );\n};\n","import React from 'react';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport Typography from '@mui/material/Typography';\nimport { useTheme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport TableBody from '@mui/material/TableBody';\nimport TableCell from '@mui/material/TableCell';\nimport TableRow from '@mui/material/TableRow';\nimport { SectionHeader } from './sectionHeader';\nimport { Cell } from './cell';\nimport { getLight, getIsRtl } from '../utils';\nimport { getValue } from './utils';\nimport { Flags } from './flags';\nimport { memo } from 'react';\n\nconst useStyles = makeStyles(theme => ({\n rowTitle: {\n backgroundColor: getLight(theme) || theme.palette.secondary.light,\n border: 'inherit',\n borderBottom: `1.5px solid ${theme.palette.grey[500]}`,\n borderRight: `1.5px solid ${theme.palette.grey[500]}`,\n padding: `${theme.spacing(0.5)} ${theme.spacing(1)}`,\n color: theme.palette.grey['A700'],\n verticalAlign: 'top',\n align: 'left',\n borderCollapse: 'collapse',\n borderSpacing: 0,\n },\n timePeriodCells: {\n whiteSpace: 'nowrap',\n },\n fillerCell: {\n minWidth: '30px',\n backgroundColor: theme.palette.grey[200],\n verticalAlign: 'top',\n border: 'inherit',\n borderBottom: `1.5px solid ${theme.palette.grey[500]}`,\n borderRight: `1.5px solid ${theme.palette.grey[500]}`,\n padding: `${theme.spacing(0.5)} ${theme.spacing(1)}`,\n position: 'sticky',\n zIndex: 1,\n },\n cellContent: {\n display: 'flex',\n alignItems: 'center',\n },\n flagContainer: {\n display: 'flex',\n justifyContent: 'center',\n fontWeight: 'bold',\n },\n topCell: {\n paddingTop: 0,\n },\n hierarchySpace: {\n marginBottom: 'auto',\n },\n highlight: theme.mixins.table.cellHighlight,\n stickyHeader: {\n position: 'sticky',\n zIndex: 1,\n },\n}));\nconst mapIndexed = R.addIndex(R.map);\n\nconst SectionComponent = ({\n headerData,\n cells,\n section,\n xLayoutDataLength,\n cellHandler,\n activeCellHandler,\n activeCellIds,\n headerHeight,\n sectionIndex,\n nbColumnsByRows,\n SideIcon,\n subHeadCellsWidth,\n HTMLRenderer,\n labelAccessor,\n cellValueAccessor,\n isNoWrap,\n textAlign,\n}) => {\n const classes = useStyles();\n const currentSection = R.path([0, 'key'], section);\n const headerNumberRows = R.length(nbColumnsByRows);\n const maxColumns = R.last(nbColumnsByRows);\n const theme = useTheme();\n const isRtl = getIsRtl(theme);\n\n return (\n <TableBody>\n <SectionHeader\n headerData={headerData}\n section={section}\n currentSection={currentSection}\n xLayoutDataLength={xLayoutDataLength}\n headerHeight={headerHeight}\n SideIcon={SideIcon}\n HTMLRenderer={HTMLRenderer}\n labelAccessor={labelAccessor}\n />\n {mapIndexed(\n (sectionbody, rowIndex) => {\n const rowId = `${sectionbody.key}_${sectionIndex}_${rowIndex}`;\n const rowIds = R.pipe(\n R.map(index => `${sectionbody.key}_${sectionIndex}_${index}`),\n R.join(' '),\n )(R.times(R.identity, R.length(R.prop('data', sectionbody))));\n return (\n <TableRow key={rowId}>\n {R.times(index => {\n const cell = R.path(['data', index], sectionbody);\n const value = R.isNil(cell) ? { label: '' } : getValue(labelAccessor)(cell);\n const flags = R.propOr([], 'flags', value);\n const id = `${rowIndex}_${rowId}_${index}`;\n\n // special space is used for hierarchy U+2007    \n const hierarchySpace = R.pipe(\n R.propOr([], 'parents'),\n R.when(R.isNil, R.always([])),\n R.length,\n // eslint-disable-next-line no-irregular-whitespace\n R.times(() => '· '),\n )(value);\n\n return (\n <TableCell\n key={id}\n className={cx(classes.rowTitle, classes.stickyHeader, {\n [classes.highlight]: R.prop(rowId)(activeCellIds),\n [classes.timePeriodCells]:\n R.is(Function, isNoWrap) && isNoWrap(R.propOr({}, 'dimension', cell)),\n })}\n id={id}\n headers={`subHeader_${index} ${currentSection}`}\n component=\"th\"\n style={\n isRtl\n ? { right: subHeadCellsWidth[index] }\n : { left: subHeadCellsWidth[index] }\n }\n >\n <div className={classes.cellContent}>\n {!R.isEmpty(hierarchySpace) && (\n <div className={classes.hierarchySpace}>{hierarchySpace}</div>\n )}\n <Typography\n variant=\"body1\"\n tabIndex={0}\n aria-describedby={`subHeader_${index} ${currentSection}`}\n >\n {R.prop('label', value)}\n <Flags\n HTMLRenderer={HTMLRenderer}\n labelAccessor={labelAccessor}\n flags={flags}\n />\n </Typography>\n </div>\n </TableCell>\n );\n }, xLayoutDataLength /*R.prop('data', sectionbody)*/)}\n <TableCell\n className={cx(classes.fillerCell, {\n [classes.highlight]: R.prop(rowId)(activeCellIds),\n })}\n style={\n isRtl ? { right: R.last(subHeadCellsWidth) } : { left: R.last(subHeadCellsWidth) }\n }\n >\n <div className={classes.flagContainer}>\n {!R.isNil(SideIcon) && <SideIcon sideProps={R.prop('sideProps', sectionbody)} />}\n <Flags\n HTMLRenderer={HTMLRenderer}\n labelAccessor={labelAccessor}\n flags={R.prop('flags', sectionbody)}\n />\n </div>\n </TableCell>\n {mapIndexed((item, columnIndex) => {\n const columnIds = R.pipe(\n R.times(R.identity),\n R.map(rowIndex => {\n const columnId = R.divide(\n columnIndex,\n R.divide(maxColumns, R.nth(rowIndex, nbColumnsByRows)),\n );\n return `${Math.floor(columnId || 0)}_${rowIndex}`;\n }),\n R.join(' '),\n )(headerNumberRows);\n\n const intersectionCellId = `${rowId}/${columnIndex}`;\n const isActive = R.pipe(\n R.propOr({}, 'intersectionCellId'),\n R.equals(intersectionCellId),\n )(activeCellIds);\n const missingValLabel = item.isEmpty || sectionbody.isEmpty ? '' : '..';\n return (\n <Cell\n {...R.pipe(\n R.pathOr({ value: null }, [item.key, currentSection, sectionbody.key, 0]),\n R.over(R.lensProp('value'), val =>\n R.isNil(val) ? missingValLabel : cellValueAccessor(val),\n ),\n )(cells)}\n key={intersectionCellId}\n headers={`${rowIds} ${columnIds} ${currentSection}`}\n cellHandler={cellHandler}\n HTMLRenderer={HTMLRenderer}\n labelAccessor={labelAccessor}\n SideIcon={SideIcon}\n isActive={isActive}\n textAlign={textAlign}\n isHighlight={R.any(R.identity)([\n R.prop(rowId)(activeCellIds),\n R.prop(columnIndex)(activeCellIds),\n ])}\n activeCellHandler={\n R.is(Function)(activeCellHandler)\n ? () =>\n activeCellHandler({\n [rowId]: R.not(isActive),\n [columnIndex]: R.not(isActive),\n intersectionCellId: isActive ? null : intersectionCellId,\n })\n : null\n }\n />\n );\n }, headerData)}\n </TableRow>\n );\n },\n R.nth(1, section),\n )}\n </TableBody>\n );\n};\n\nexport const Section = memo(SectionComponent);\n","import React from 'react';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport Typography from '@mui/material/Typography';\nimport { useTheme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport TableCell from '@mui/material/TableCell';\nimport TableRow from '@mui/material/TableRow';\nimport { Flags } from './flags';\nimport { getIsRtl } from '../utils';\nimport { getValue } from './utils';\n\nconst useStyles = makeStyles(theme => ({\n tableHeadCell: {\n color: theme.palette.getContrastText(theme.palette.primary.main),\n backgroundColor: theme.palette.primary.main,\n border: 'inherit',\n borderBottom: `thin solid ${theme.palette.grey[500]}`,\n borderRight: `thin solid ${theme.palette.grey[500]}`,\n padding: `${theme.spacing(0.5)} ${theme.spacing(1)}`,\n verticalAlign: 'top',\n '&:focus ': {\n opacity: '.85',\n },\n textAlign: 'center',\n },\n cellContentCenter: {\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center',\n position: 'sticky',\n },\n cellContentRight: {\n display: 'flex',\n justifyContent: 'flex-end',\n fontStyle: 'italic',\n },\n cellLabelHeader: {\n fontStyle: 'inherit',\n fontWeight: 'bold',\n },\n stickyLabel: {\n position: 'sticky',\n },\n}));\n\nconst timesIndexed = R.addIndex(R.times);\nconst mapIndexed = R.addIndex(R.map);\n\nexport const Header = ({\n headerData,\n valuesHeaderData,\n xLayoutDataLength,\n subHeadCellsWidth,\n HTMLRenderer,\n labelAccessor,\n}) => {\n const classes = useStyles();\n const theme = useTheme();\n const isRtl = getIsRtl(theme);\n\n const stickyLabelPosition = `${R.last(subHeadCellsWidth)}px + 30px + ${theme.spacing(1)}`;\n\n if (R.compose(R.anyPass([R.isNil, R.isEmpty]), R.path([0, 'data']))(headerData)) return null;\n return timesIndexed(\n index => {\n const flags = R.path([0, 'data', index, 'dimension', 'flags'], headerData);\n const id = `header_${index}`;\n return (\n <TableRow key={id}>\n <TableCell\n component=\"th\"\n padding=\"none\"\n align=\"center\"\n className={classes.tableHeadCell}\n colSpan={R.inc(xLayoutDataLength)}\n id={id}\n tabIndex={0}\n scope=\"row\"\n title={R.pipe(R.path([-1, 'data', index, 'dimension']), labelAccessor)(headerData)}\n style={\n isRtl\n ? { position: 'sticky', zIndex: 1, right: 0 }\n : { position: 'sticky', zIndex: 1, left: 0 }\n }\n >\n <div\n className={classes.cellContentRight}\n aria-label={R.path([0, 'data', index, 'dimension', 'id'], headerData)}\n data-testid={`header-dim`}\n role=\"row\"\n >\n <Typography variant=\"body1\" className={classes.cellLabelHeader}>\n {R.pipe(R.path([-1, 'data', index, 'dimension']), labelAccessor)(headerData)}\n <Flags\n HTMLRenderer={HTMLRenderer}\n flags={flags}\n isHeader\n labelAccessor={labelAccessor}\n />\n </Typography>\n </div>\n </TableCell>\n {mapIndexed(\n (headerItem, idx) => {\n const value = headerItem.isEmpty\n ? { label: '' }\n : getValue(labelAccessor)(headerItem);\n const flags = R.propOr([], 'flags', value);\n const hierarchySpace = R.pipe(\n R.propOr([], 'parents'),\n R.length,\n R.times(() => '·'),\n )(value);\n return (\n <TableCell\n key={`${R.prop('id', value)}-${idx}`}\n component=\"th\"\n className={cx(classes.tableHeadCell, {\n [classes.topCell]: R.not(R.isEmpty(flags)),\n })}\n id={`${idx}_${index}`}\n headers={`header_${index}`}\n colSpan={R.prop('spanCount', headerItem)}\n tabIndex={0}\n title={R.prop('label', value)}\n aria-label={R.prop('label', value)}\n aria-describedby={id}\n scope=\"col\"\n >\n <div className={classes.cellContentCenter}>\n {!R.isEmpty(hierarchySpace) &&\n mapIndexed((space, idx) => <div key={idx}>{space}</div>)(hierarchySpace)}\n <Typography\n className={classes.stickyLabel}\n style={{\n left: isRtl ? theme.spacing(1) : stickyLabelPosition,\n right: isRtl ? stickyLabelPosition : theme.spacing(1),\n }}\n variant=\"body1\"\n >\n {R.prop('label', value)}\n <Flags\n HTMLRenderer={HTMLRenderer}\n flags={flags}\n isHeader\n labelAccessor={labelAccessor}\n />\n </Typography>\n </div>\n </TableCell>\n );\n },\n R.nth(index, valuesHeaderData),\n )}\n </TableRow>\n );\n },\n R.compose(R.length, R.pathOr([], [-1, 'data']))(headerData),\n );\n};\n","import React, { useRef, useState, useEffect, useMemo } from 'react';\nimport makeStyles from '@mui/styles/makeStyles';\nimport * as R from 'ramda';\nimport Table from '@mui/material/Table';\nimport { defaultLabelAccessor } from './utils';\nimport { SubHeader } from './subHeader';\nimport { Cell } from './cell';\nimport { Section } from './section';\nimport { Header } from './header';\n\n/*\n * Accessibility.\n * Do not use \"TableHead\" from Material-ui.\n * Material-ui, add \"scope\" attribute for accessibility, \"scope\" attribute can break screen reader if use with headers.\n * Child from TableHead will inherit a \"scope\" that we don't want. (not possible to turn off)\n * We are using \"headers\" attribute because the table is too complexe to use \"scope\".\n */\n\nconst useStyles = makeStyles(theme => ({\n table: {\n outline: '1px solid transparent',\n transform: 'translateZ(0)',\n borderCollapse: 'separate',\n borderLeft: `1px solid ${theme.palette.grey[500]}`,\n borderTop: `1px solid ${theme.palette.grey[500]}`,\n padding: '0px 0px',\n },\n stickyHeader: {\n position: 'sticky',\n top: 0,\n zIndex: 2,\n },\n}));\n\nconst mapIndexed = R.addIndex(R.map);\n\nexport const getEnhancedValuesHeaderData = data => {\n const colLength = R.pipe(R.last, R.propOr([], 'data'), R.length)(data);\n return R.pipe(\n R.pluck('data'),\n // mix merge and transpose for performance\n R.reduce(\n (acc, cells) => {\n R.addIndex(R.forEach)((_, rowIndex) => {\n const cell = R.nth(rowIndex, cells) || {};\n const cellId = R.has('values', cell)\n ? R.pipe(R.prop('values'), R.pluck('id'), R.join(','))(cell)\n : R.pathOr(`missing${rowIndex}`, ['value', 'id'], cell);\n const topCell = rowIndex > 0 ? R.pipe(R.nth(rowIndex - 1), R.last)(acc) : null;\n const cellKey = R.isNil(topCell) ? cellId : `${topCell.key}-${cellId}`;\n\n const leftCell = R.pipe(R.nth(rowIndex), R.last)(acc);\n if (R.prop('key', leftCell) === cellKey && rowIndex !== colLength - 1) {\n acc = R.over(\n R.lensIndex(rowIndex),\n R.over(R.lensIndex(-1), R.evolve({ spanCount: R.add(1) })),\n )(acc);\n } else {\n acc = R.over(\n R.lensIndex(rowIndex),\n R.append({\n ...R.pick(['value', 'values'], cell),\n key: cellKey,\n spanCount: 1,\n isEmpty: R.isEmpty(cell),\n }),\n )(acc);\n }\n })(acc);\n return acc;\n },\n R.times(R.always([]), colLength),\n ),\n )(data);\n};\n\nconst getCellsWidth = R.addIndex(R.reduce)(\n (acc, element, index) => R.append(R.add(acc[index], R.propOr(0, 'offsetWidth', element)), acc),\n [0],\n);\n\nexport const TableHtml5 = ({\n cells,\n headerData = [],\n sectionsData = [],\n cellHandler,\n activeCellIds,\n activeCellHandler,\n SideIcon,\n testId = 'vis-table',\n HTMLRenderer,\n cellValueAccessor = R.identity,\n labelAccessor = defaultLabelAccessor,\n textAlign,\n isNoWrap = R.always(false),\n}) => {\n const classes = useStyles();\n const [headerHeight, setHeaderHeight] = useState(0);\n const [subHeadCellsWidth, setSubHeadCellsWidth] = useState([0]);\n const headerRef = useRef(null);\n const subHeadCellsRef = useRef([]);\n\n useEffect(() => {\n setHeaderHeight(R.pathOr(0, ['current', 'clientHeight'], headerRef));\n setSubHeadCellsWidth(getCellsWidth(R.prop('current', subHeadCellsRef)));\n }, [cells, headerData, sectionsData]);\n\n useEffect(() => {\n let timeoutId = null;\n const resizeListener = () => {\n clearTimeout(timeoutId);\n timeoutId = setTimeout(() => {\n setHeaderHeight(R.pathOr(0, ['current', 'clientHeight'], headerRef));\n setSubHeadCellsWidth(getCellsWidth(R.prop('current', subHeadCellsRef)));\n }, 150);\n };\n window.addEventListener('resize', resizeListener);\n return () => window.removeEventListener('resize', resizeListener);\n }, []);\n\n const xLayoutData = R.pathOr([], [0, 1, -1, 'data'], sectionsData);\n const xLayoutDataLength = R.length(xLayoutData);\n const { valuesHeaderData, nbColumnsByRows } = useMemo(() => {\n const valuesHeaderData = getEnhancedValuesHeaderData(headerData);\n const nbColumnsByRows = R.map(R.length)(valuesHeaderData);\n return { valuesHeaderData, nbColumnsByRows };\n }, [headerData]);\n\n const isSingleObs = R.hasPath(['', '', '', 0], cells);\n if (isSingleObs)\n return (\n <Cell\n HTMLRenderer={HTMLRenderer}\n labelAccessor={labelAccessor}\n {...R.pathOr({}, ['', '', '', 0], cells)}\n cellHandler={cellHandler}\n isOne\n textAlign={textAlign}\n />\n );\n\n return (\n <Table className={classes.table} aria-label=\"table\" size=\"small\" data-testid={testId}>\n <thead ref={headerRef} className={classes.stickyHeader}>\n <Header\n headerData={headerData}\n valuesHeaderData={valuesHeaderData}\n xLayoutDataLength={xLayoutDataLength}\n subHeadCellsWidth={subHeadCellsWidth}\n HTMLRenderer={HTMLRenderer}\n labelAccessor={labelAccessor}\n />\n <SubHeader\n headerData={headerData}\n xLayoutData={xLayoutData}\n activeCellIds={activeCellIds}\n SideIcon={SideIcon}\n ref={subHeadCellsRef}\n subHeadCellsWidth={subHeadCellsWidth}\n HTMLRenderer={HTMLRenderer}\n labelAccessor={labelAccessor}\n />\n </thead>\n {mapIndexed(\n (section, index) => (\n <Section\n key={`section-${index}`}\n sectionIndex={index}\n headerHeight={headerHeight}\n nbColumnsByRows={nbColumnsByRows}\n headerData={headerData}\n cells={cells}\n section={section}\n xLayoutDataLength={xLayoutDataLength}\n cellHandler={cellHandler}\n activeCellIds={activeCellIds}\n activeCellHandler={activeCellHandler}\n SideIcon={SideIcon}\n subHeadCellsWidth={subHeadCellsWidth}\n HTMLRenderer={HTMLRenderer}\n cellValueAccessor={cellValueAccessor}\n labelAccessor={labelAccessor}\n isNoWrap={isNoWrap}\n textAlign={textAlign}\n />\n ),\n sectionsData,\n )}\n </Table>\n );\n};\n"],"names":["useStyles","Tooltip","mapIndexed","rowIndex","flags","idx","valuesHeaderData","nbColumnsByRows"],"mappings":"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"}
|