@semcore/data-table 16.3.1 → 16.3.2-prerelease.3

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.
Files changed (50) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/lib/cjs/components/Body/Body.js +47 -44
  3. package/lib/cjs/components/Body/Body.js.map +1 -1
  4. package/lib/cjs/components/Body/Body.types.js.map +1 -1
  5. package/lib/cjs/components/Body/Cell.js +55 -52
  6. package/lib/cjs/components/Body/Cell.js.map +1 -1
  7. package/lib/cjs/components/Body/Cell.types.js.map +1 -1
  8. package/lib/cjs/components/Body/MergedCells.js.map +1 -1
  9. package/lib/cjs/components/Body/Row.js +181 -99
  10. package/lib/cjs/components/Body/Row.js.map +1 -1
  11. package/lib/cjs/components/Body/Row.types.js.map +1 -1
  12. package/lib/cjs/components/Body/style.shadow.css +32 -4
  13. package/lib/cjs/components/DataTable/DataTable.js +46 -44
  14. package/lib/cjs/components/DataTable/DataTable.js.map +1 -1
  15. package/lib/cjs/components/DataTable/DataTable.types.js.map +1 -1
  16. package/lib/cjs/components/Head/Column.js +36 -36
  17. package/lib/cjs/components/Head/Group.js +36 -36
  18. package/lib/cjs/components/Head/Head.js +36 -36
  19. package/lib/es6/components/Body/Body.js +47 -44
  20. package/lib/es6/components/Body/Body.js.map +1 -1
  21. package/lib/es6/components/Body/Body.types.js.map +1 -1
  22. package/lib/es6/components/Body/Cell.js +56 -53
  23. package/lib/es6/components/Body/Cell.js.map +1 -1
  24. package/lib/es6/components/Body/Cell.types.js.map +1 -1
  25. package/lib/es6/components/Body/MergedCells.js.map +1 -1
  26. package/lib/es6/components/Body/Row.js +181 -99
  27. package/lib/es6/components/Body/Row.js.map +1 -1
  28. package/lib/es6/components/Body/Row.types.js.map +1 -1
  29. package/lib/es6/components/Body/style.shadow.css +32 -4
  30. package/lib/es6/components/DataTable/DataTable.js +46 -44
  31. package/lib/es6/components/DataTable/DataTable.js.map +1 -1
  32. package/lib/es6/components/DataTable/DataTable.types.js.map +1 -1
  33. package/lib/es6/components/Head/Column.js +36 -36
  34. package/lib/es6/components/Head/Group.js +36 -36
  35. package/lib/es6/components/Head/Head.js +36 -36
  36. package/lib/esm/components/Body/Body.mjs +48 -45
  37. package/lib/esm/components/Body/Cell.mjs +84 -80
  38. package/lib/esm/components/Body/Row.mjs +139 -66
  39. package/lib/esm/components/Body/style.shadow.css +32 -4
  40. package/lib/esm/components/DataTable/DataTable.mjs +48 -46
  41. package/lib/esm/components/Head/Column.mjs +37 -37
  42. package/lib/esm/components/Head/Group.mjs +37 -37
  43. package/lib/esm/components/Head/Head.mjs +37 -37
  44. package/lib/types/components/Body/Body.types.d.ts +4 -0
  45. package/lib/types/components/Body/Cell.types.d.ts +1 -0
  46. package/lib/types/components/Body/MergedCells.d.ts +5 -5
  47. package/lib/types/components/Body/Row.d.ts +4 -0
  48. package/lib/types/components/Body/Row.types.d.ts +2 -1
  49. package/lib/types/components/DataTable/DataTable.types.d.ts +2 -1
  50. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"Row.js","names":["Box","Collapse","ButtonLink","Checkbox","Component","Root","sstyled","createComponent","callAllEventHandlers","isInteractiveElement","ChevronRightM","React","Cell","MergedColumnsCell","MergedRowsCell","style","_sstyled","insert","ACCORDION","IS_EMPTY_DATA_ROW","ROW_GROUP","ROW_INDEX","SELECT_ALL","UNIQ_ROW_KEY","RowRoot","_Component","props","_this","_classCallCheck","_callSuper","_defineProperty","createRef","expandedForAnimation","value","event","_this$asProps","asProps","row","rowIndex","onSelectRow","preventDefault","stopPropagation","_this$asProps2","e","key","onBackFromAccordion","cellName","index","_this$asProps3","accordionDuration","accordionMode","expandedRows","onExpandRow","setRowHeight","rowsHeightMap","calculateAriaRowIndex","state","openDuration","Array","isArray","Math","min","length","closeDuration","setTimeout","i","size","has","closeAccordion","closeAccordionTimeout","clearTimeout","setState","previousRows","Map","flatRows","forEach","set","_toConsumableArray","entries","_ref5","_ref6","_slicedToArray","uniqKey","previousRow","_this$asProps$compone","componentsMap","get","forceUpdate","_this$asProps4","window","opt","target","handleExpandRow","handleClickRow","bind","_inherits","_createClass","componentDidMount","_this$asProps$compone2","_this$asProps5","componentRef","call","componentWillUnmount","_this$asProps$compone3","_this$asProps6","cellHasAccordion","cellValue","Boolean","_this2","mergedRow","getCellProps","_props$children","_value3","_this3","_this$asProps7","use","renderCell","styles","getI18nText","virtualScroll","tableRef","onCellClick","rawData","shadowVertical","variant","SAccordionToggle","dataKey","column","name","undefined","isMergedRows","isMergedColumns","defaultRender","_value","isValidElement","toString","withoutBorder","isLastRow","isLastAccordionRow","accordionRowIndex","rows","extraProps","children","onClick","_value$toString","_value2","rowRawData","external","columnName","columnIndex","isReactNode","accordion","_ref2","_value4","expanded","handleClick","colIndex","handleClickCell","createElement","Fragment","cn","id","accordionId","Addon","tag","render","_ref","_ref3","_this4","SRow","SCollapseRow","SAccordionRows","SCell","Row","SCheckboxCell","_this$asProps8","columns","gridRowIndex","_this$asProps8$ariaL","ariaLevel","selectedRows","uid","getFixedStyle","isAccordionRow","animationExpand","accordionType","cells","Object","foundCell","find","_ref7","_ref8","accordionDataGridArea","_row$ROW_GROUP","rowIncrement","concat","rowUniqKey","_objectSpread","_assignProps","rowElementRef","includes","map","_ref4","checked","handleClickCheckbox","handleSelectRow","Value","fixed","_getFixedStyle","_getFixedStyle2","withAccordion","handleBackFromAccordion","subrow","obj"],"sources":["../../../../src/components/Body/Row.tsx"],"sourcesContent":["import { Box, Collapse } from '@semcore/base-components';\nimport { ButtonLink } from '@semcore/button';\nimport Checkbox from '@semcore/checkbox';\nimport { Component, Root, sstyled, createComponent } from '@semcore/core';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport { isInteractiveElement } from '@semcore/core/lib/utils/isInteractiveElement';\nimport ChevronRightM from '@semcore/icon/ChevronRight/m';\nimport * as React from 'react';\n\nimport { INDEX_OFFSET } from './Body';\nimport { Cell } from './Cell';\nimport type { DataTableCellProps, DataTableCellType } from './Cell.types';\nimport { MergedColumnsCell, MergedRowsCell } from './MergedCells';\nimport type { DataTableRowProps, DataTableRowType, DTRow, RowPropsInner } from './Row.types';\nimport style from './style.shadow.css';\nimport { ACCORDION, IS_EMPTY_DATA_ROW, ROW_GROUP, ROW_INDEX, SELECT_ALL, UNIQ_ROW_KEY } from '../DataTable/DataTable';\nimport type { DataTableData, DTValue } from '../DataTable/DataTable.types';\n\ntype State = {\n expandedForAnimation: boolean;\n};\n\nexport class RowRoot<Data extends DataTableData, UniqKeyType> extends Component<DataTableRowProps<Data, UniqKeyType>, {}, State, [], RowPropsInner<Data, UniqKeyType>> {\n static displayName = 'Row';\n static style = style;\n\n static defaultProps = {\n 'aria-level': undefined,\n };\n\n private cellName: string = '';\n private closeAccordionTimeout = 0;\n\n rowElementRef = React.createRef<HTMLDivElement>();\n\n state: State = {\n expandedForAnimation: false,\n };\n\n constructor(props: DataTableRowProps<Data, UniqKeyType>) {\n super(props);\n\n this.handleClickRow = this.handleClickRow.bind(this);\n }\n\n componentDidMount() {\n this.asProps.componentRef?.(this);\n }\n\n componentWillUnmount() {\n this.asProps.componentRef?.(null);\n }\n\n cellHasAccordion(cellValue?: DTValue | MergedColumnsCell | MergedRowsCell): cellValue is DTValue {\n return (\n !(cellValue instanceof MergedRowsCell || cellValue instanceof MergedColumnsCell) &&\n Boolean(cellValue?.[ACCORDION])\n );\n }\n\n handleSelectRow = (value: boolean, event?: React.SyntheticEvent<HTMLElement>) => {\n const { row, rowIndex, onSelectRow } = this.asProps;\n\n onSelectRow?.(value, rowIndex, row, event);\n };\n\n handleClickCheckbox = (value: boolean) => (event?: React.SyntheticEvent<HTMLElement>) => {\n event?.preventDefault();\n event?.stopPropagation();\n const { row, rowIndex, onSelectRow } = this.asProps;\n\n onSelectRow?.(value, rowIndex, row, event);\n };\n\n handleBackFromAccordion = (e: React.KeyboardEvent) => {\n if (e.key === 'Escape') {\n this.asProps.onBackFromAccordion(this.cellName);\n }\n };\n\n handleExpandRow = (row: DTRow<UniqKeyType>, index: number) => {\n const { accordionDuration, accordionMode, expandedRows, onExpandRow, setRowHeight, rowsHeightMap, calculateAriaRowIndex } = this.asProps;\n const { expandedForAnimation } = this.state;\n const openDuration = Array.isArray(accordionDuration)\n ? accordionDuration[0]\n : accordionDuration ??\n (Array.isArray(row[ACCORDION]) ? Math.min(50 * row[ACCORDION].length, 200) : 200);\n const closeDuration = Array.isArray(accordionDuration)\n ? accordionDuration[1]\n : accordionDuration ??\n (Array.isArray(row[ACCORDION]) ? Math.min(50 * row[ACCORDION].length, 200) : 200);\n\n setTimeout(() => {\n setRowHeight(index, row);\n for (let i = index; i < rowsHeightMap.size; i++) {\n setRowHeight(i, row);\n }\n }, openDuration + 100); // we need to calculate after expanding animation\n\n if (expandedRows.has(row[UNIQ_ROW_KEY]) && expandedForAnimation === false) {\n this.closeAccordion(row, closeDuration);\n } else {\n if (expandedForAnimation === true && this.closeAccordionTimeout) {\n clearTimeout(this.closeAccordionTimeout);\n onExpandRow(row);\n\n this.setState({\n expandedForAnimation: false,\n }, calculateAriaRowIndex);\n }\n\n if (accordionMode === 'toggle' && expandedRows.size > 0) {\n const previousRows = new Map<UniqKeyType, DTRow<UniqKeyType>>();\n\n this.asProps.flatRows.forEach((row, index) => {\n if (expandedRows.has(row[UNIQ_ROW_KEY])) {\n previousRows.set(row[UNIQ_ROW_KEY], row);\n }\n });\n\n if (previousRows.size > 0) {\n [...previousRows.entries()].forEach(([uniqKey, previousRow]) => {\n if (!this.state.expandedForAnimation) {\n setTimeout(() => {\n this.asProps.componentsMap.get(uniqKey)?.closeAccordion(previousRow, closeDuration);\n }, openDuration / 3);\n }\n });\n }\n }\n onExpandRow(row);\n\n this.forceUpdate(this.asProps.calculateAriaRowIndex);\n }\n };\n\n closeAccordion = (row: DTRow<UniqKeyType>, closeDuration: number) => {\n const { onExpandRow, calculateAriaRowIndex } = this.asProps;\n\n this.setState({\n expandedForAnimation: true,\n }, calculateAriaRowIndex);\n this.closeAccordionTimeout = window.setTimeout(() => {\n onExpandRow(row);\n\n this.setState({\n expandedForAnimation: false,\n }, calculateAriaRowIndex);\n }, closeDuration + 100); // we need to remove it from list of grid calculations after expanding animation\n };\n\n handleClickRow(row: DTRow<UniqKeyType>) {\n return (e: React.SyntheticEvent) => {\n const index = row[ROW_INDEX];\n if (!isInteractiveElement(e.target) && row[ACCORDION] && !this.asProps.mergedRow) {\n this.handleExpandRow(row, index);\n }\n };\n }\n\n handleClickCell = (e: React.SyntheticEvent<HTMLElement>, opt: { row: DTRow<UniqKeyType>; rowIndex: number }) => {\n if (!isInteractiveElement(e.target)) {\n this.handleExpandRow(opt.row, opt.rowIndex);\n }\n };\n\n getCellProps(props: DataTableCellProps<UniqKeyType>) {\n const {\n use,\n renderCell,\n expandedRows,\n styles,\n getI18nText,\n virtualScroll,\n tableRef,\n accordionDuration,\n onCellClick,\n rawData,\n shadowVertical,\n flatRows,\n variant,\n } = this.asProps;\n const SAccordionToggle = ButtonLink;\n\n let dataKey = props.column.name;\n const cellValue = props.row[dataKey];\n\n let value: DTValue | undefined = undefined;\n const isMergedRows = cellValue instanceof MergedRowsCell;\n const isMergedColumns = cellValue instanceof MergedColumnsCell;\n\n if (isMergedColumns || isMergedRows) {\n value = cellValue.value;\n if (isMergedColumns) {\n dataKey = cellValue.dataKey;\n }\n } else {\n value = cellValue;\n }\n\n const defaultRender = () => {\n return React.isValidElement(value) ? value : value?.toString();\n };\n\n let withoutBorder = props.row[IS_EMPTY_DATA_ROW];\n\n if (variant === 'card') {\n const isLastRow = flatRows.length === props.rowIndex + 1;\n const isLastAccordionRow = props.accordionRowIndex !== undefined ? props.accordionRowIndex + 1 === props.rows.length : true;\n\n withoutBorder = isLastRow && isLastAccordionRow;\n }\n\n const extraProps: Record<string, any> = {\n use,\n virtualScroll: Boolean(virtualScroll),\n tableRef,\n children: props?.children ?? defaultRender(),\n accordionDuration,\n onClick: onCellClick,\n flatRows: this.asProps.flatRows,\n shadowVertical,\n withoutBorder,\n };\n\n if (renderCell) {\n let rowRawData = rawData[props.rowIndex];\n\n if (props.accordionRowIndex && rowRawData[ACCORDION] && Array.isArray(rowRawData[ACCORDION])) {\n rowRawData = rowRawData[ACCORDION][props.accordionRowIndex];\n }\n\n const external = renderCell({\n columnName: props.column.name,\n row: props.row,\n column: props.column,\n rowIndex: props.rowIndex,\n columnIndex: props.columnIndex,\n dataKey,\n defaultRender,\n value: React.isValidElement(value) ? value : value?.toString() ?? '',\n isMergedRows,\n isMergedColumns,\n rawData: rowRawData,\n });\n\n if (this.isReactNode(external) || Array.isArray(external)) {\n extraProps.children = external;\n } else {\n for (const key in external) {\n if (key === 'onClick') {\n extraProps[key] = callAllEventHandlers(external[key], extraProps[key]);\n } else {\n extraProps[key] = external[key];\n }\n }\n }\n }\n\n if (\n (props.columnIndex === 0 && props.row[ACCORDION]) ||\n value?.[ACCORDION] ||\n (cellValue instanceof MergedRowsCell && cellValue.accordion)\n ) {\n const expanded =\n expandedRows?.has(props.row[UNIQ_ROW_KEY]) &&\n !this.state.expandedForAnimation;\n\n extraProps.expanded = expanded;\n\n if (expanded) {\n extraProps.withoutBorder = false;\n }\n\n const row = props.row;\n const rowIndex = props.rowIndex;\n\n const handleClick = (e: React.SyntheticEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n onCellClick(e, { colIndex: props.columnIndex, rowIndex, row });\n this.handleExpandRow(row, rowIndex);\n };\n\n if (value?.[ACCORDION] || (cellValue instanceof MergedRowsCell && cellValue.accordion)) {\n extraProps.onClick = callAllEventHandlers(\n extraProps.onClick,\n this.handleClickCell,\n );\n }\n\n extraProps.children = sstyled(styles)(\n <>\n <SAccordionToggle\n aria-label={getI18nText('DataTable.Cell.AccordionToggle.expand:aria-label')}\n // @ts-ignore\n expanded={expanded && !this.state.expandedForAnimation}\n onClick={handleClick}\n color='--intergalactic-icon-primary-neutral'\n aria-expanded={expanded}\n aria-describedby={props.id}\n aria-controls={expanded ? props.accordionId : undefined}\n >\n <SAccordionToggle.Addon tag={ChevronRightM} />\n </SAccordionToggle>\n {extraProps.children}\n </>,\n );\n }\n\n return extraProps;\n }\n\n render() {\n const SRow = Root;\n const SCollapseRow = Collapse;\n const SAccordionRows = Box;\n const SCell = Row.Cell;\n const SCheckboxCell = Row.Cell;\n const {\n columns,\n row,\n rows,\n styles,\n rowIndex,\n gridRowIndex,\n 'aria-level': ariaLevel = 1,\n selectedRows,\n expandedRows,\n uid,\n getFixedStyle,\n mergedRow,\n isAccordionRow,\n animationExpand,\n accordionRowIndex,\n accordionDuration,\n use,\n shadowVertical,\n variant,\n flatRows,\n } = this.asProps;\n\n const expanded = expandedRows?.has(row[UNIQ_ROW_KEY]) && !this.state.expandedForAnimation;\n\n let accordion = row[ACCORDION];\n const accordionType = accordion && !mergedRow ? 'row' : undefined;\n\n if (!accordion) {\n const cells = Object.entries(row);\n const foundCell = cells.find(([key, value]) => {\n return this.cellHasAccordion(value) || (value instanceof MergedRowsCell && value.accordion);\n });\n\n if (foundCell) {\n this.cellName = foundCell[0];\n const value = foundCell[1];\n\n accordion = value instanceof MergedRowsCell\n ? value.accordion\n : this.cellHasAccordion(value)\n ? value[ACCORDION]\n : null;\n }\n }\n\n let accordionDataGridArea = '';\n\n if (accordion) {\n const rowIncrement = row[ROW_GROUP]?.size ? row[ROW_GROUP].size + 1 : 1;\n accordionDataGridArea = Array.isArray(accordion)\n ? `${gridRowIndex + rowIncrement} / 1 / ${gridRowIndex + rowIncrement + accordion.length} / ${\n columns.length + 1\n }`\n : `${gridRowIndex + rowIncrement} / 1 / ${gridRowIndex + rowIncrement} / ${columns.length + 1}`;\n }\n\n const rowUniqKey = row[UNIQ_ROW_KEY];\n const accordionId = `${uid}_${rowUniqKey}`;\n\n return sstyled(styles)(\n <>\n <SRow\n ref={this.rowElementRef}\n render={Box}\n role='row'\n accordionType={accordionType}\n theme={selectedRows?.includes(rowUniqKey) ? 'info' : undefined}\n use:expanded={expanded && !mergedRow}\n onClick={this.handleClickRow(row)}\n >\n {columns.map((column, i) => {\n if (selectedRows && i === 0 && row[IS_EMPTY_DATA_ROW] !== true) {\n const checked = selectedRows.includes(rowUniqKey);\n return sstyled(styles)(\n <SCheckboxCell\n key={i}\n row={row}\n rowIndex={rowIndex}\n // @ts-ignore\n column={{ name: SELECT_ALL.toString() }}\n columnIndex={0}\n gridRowIndex={gridRowIndex}\n onClick={this.handleClickCheckbox(!checked)}\n >\n <Checkbox\n checked={checked}\n aria-labelledby={`${uid}_${rowUniqKey}_1`}\n onChange={this.handleSelectRow}\n >\n <Checkbox.Value />\n </Checkbox>\n </SCheckboxCell>,\n );\n }\n\n const index = i;\n const cellValue: DTValue | MergedRowsCell | MergedColumnsCell | undefined =\n row[column.name];\n\n if (cellValue === undefined) {\n return null;\n }\n\n const style: React.CSSProperties = {};\n\n if (column.fixed) {\n const [name, value] = getFixedStyle(column);\n\n if (name !== undefined && value !== undefined) {\n style[name] = value;\n }\n }\n\n return (\n <Row.Cell\n key={index}\n id={`${uid}_${rowUniqKey}_${index}`}\n accordionId={accordionId}\n data-aria-level={index === 0 ? ariaLevel : undefined}\n row={row}\n rowIndex={rowIndex}\n gridRowIndex={gridRowIndex}\n columnIndex={index}\n style={style}\n column={column}\n withAccordion={\n Boolean(cellValue instanceof MergedRowsCell && cellValue.accordion) ||\n this.cellHasAccordion(cellValue)\n }\n isAccordionRow={isAccordionRow}\n animationExpand={animationExpand}\n accordionRowIndex={accordionRowIndex}\n rows={rows}\n />\n );\n })}\n </SRow>\n\n {React.isValidElement(accordion) && (\n <SCollapseRow\n key={rowIndex}\n role='row'\n id={accordionId}\n visible={expanded}\n aria-hidden={!expanded}\n interactive\n gridArea={accordionDataGridArea}\n duration={accordionDuration ?? 200}\n >\n <SCell\n aria-colindex={1}\n aria-level={ariaLevel + 1}\n aria-setsize={1}\n aria-posinset={1}\n accordionRowIndex={0}\n rowIndex={rowIndex}\n rows={[row]}\n row={row}\n columnIndex={1}\n // @ts-ignore\n column={{ name: ACCORDION }}\n w='100%'\n onKeyDown={this.handleBackFromAccordion}\n >\n {accordion}\n </SCell>\n </SCollapseRow>\n )}\n\n {row[ACCORDION] && Array.isArray(row[ACCORDION]) && (\n <SAccordionRows id={accordionId} role='rowgroup' aria-hidden={!expanded}>\n {row[ACCORDION].map((subrow, i) => {\n return (\n <Row\n key={i}\n // @ts-ignore\n row={subrow}\n columns={columns}\n rows={row[ACCORDION]}\n rowIndex={rowIndex}\n aria-hidden={!expanded}\n aria-posinset={i + 1}\n aria-level={ariaLevel + 1}\n gridRowIndex={gridRowIndex + 1 + i}\n isAccordionRow={true}\n getFixedStyle={getFixedStyle}\n animationExpand={expanded}\n accordionRowIndex={i}\n use={use}\n shadowVertical={shadowVertical}\n accordionDuration={accordionDuration}\n variant={variant}\n flatRows={flatRows}\n />\n );\n })}\n </SAccordionRows>\n )}\n </>,\n );\n }\n\n private isReactNode(obj: React.ReactNode | Record<string, any>): obj is React.ReactNode {\n return (\n typeof obj === 'string' ||\n typeof obj === 'number' ||\n React.isValidElement(obj) ||\n typeof obj === 'boolean' ||\n obj === undefined ||\n obj === null\n );\n }\n}\n\nexport const Row = createComponent(RowRoot, {\n Cell,\n}) as DataTableRowType & {\n Cell: DataTableCellType;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Row.js","names":["Box","Collapse","ButtonLink","Checkbox","Component","Root","sstyled","createComponent","callAllEventHandlers","isInteractiveElement","ChevronRightM","React","Cell","MergedColumnsCell","MergedRowsCell","style","_sstyled","insert","ACCORDION","IS_EMPTY_DATA_ROW","ROW_GROUP","ROW_INDEX","SELECT_ALL","UNIQ_ROW_KEY","RowRoot","_Component","props","_this","_classCallCheck","_callSuper","_defineProperty","createRef","expandedForAnimation","calculatedHeight","withAnimation","value","event","_this$asProps","asProps","row","rowIndex","onSelectRow","preventDefault","stopPropagation","_this$asProps2","e","key","onBackFromAccordion","cellName","index","_this$asProps3","accordionDuration","accordionMode","expandedRows","onExpandRow","setRowHeight","rowsHeightMap","calculateAriaRowIndex","state","openDuration","Array","isArray","Math","min","length","closeDuration","setTimeout","i","size","has","closeAccordion","closeAccordionTimeout","clearTimeout","setState","previousRows","Map","flatRows","forEach","set","_toConsumableArray","entries","_ref5","_ref6","_slicedToArray","uniqKey","previousRow","_this$asProps$compone","componentsMap","get","forceUpdate","_this$asProps4","window","opt","target","handleExpandRow","handleClickRow","bind","_inherits","_createClass","componentDidMount","_this$asProps$compone2","_this$asProps5","componentRef","call","animationExpand","rowElementRef","current","height","calculateRowHeight","componentDidUpdate","prevProps","_this$asProps6","componentWillUnmount","_this$asProps$compone3","_this$asProps7","cellHasAccordion","cellValue","Boolean","_this2","mergedRow","getCellProps","_props$children","_value3","_this3","_this$asProps8","use","renderCell","styles","getI18nText","virtualScroll","tableRef","onCellClick","rawData","shadowVertical","variant","isAccordionRow","accordionRowIndex","SAccordionToggle","dataKey","column","name","undefined","isMergedRows","isMergedColumns","defaultRender","_value","isValidElement","toString","withoutBorder","isLastRow","isLastAccordionRow","rows","extraProps","children","onClick","_value$toString","_value2","rowRawData","external","columnName","columnIndex","isReactNode","accordion","_ref2","_value4","expanded","handleClick","colIndex","handleClickCell","createElement","Fragment","cn","id","accordionId","Addon","tag","render","_ref","_ref3","_this4","SRow","SCollapseRow","SAccordionRows","SCell","Row","SCheckboxCell","_this$asProps9","columns","gridRowIndex","_this$asProps9$ariaL","ariaLevel","selectedRows","uid","getFixedStyle","sideIndents","_this$state","accordionRows","accordionComponent","accordionType","cells","Object","foundCell","find","_ref7","_ref8","accordionDataGridArea","_row$ROW_GROUP","rowIncrement","concat","rowUniqKey","_objectSpread","_assignProps","includes","map","_ref4","checked","handleClickCheckbox","handleSelectRow","Value","fixed","_getFixedStyle","_getFixedStyle2","withAccordion","handleBackFromAccordion","subrow","accordionIndex","obj","rowElement","accordionFull","cloneNode","HTMLElement","columnsWidth","from","push","getBoundingClientRect","width","display","position","visibility","gridTemplateColumns","join","child","document","body","appendChild","removeChild"],"sources":["../../../../src/components/Body/Row.tsx"],"sourcesContent":["import { Box, Collapse } from '@semcore/base-components';\nimport { ButtonLink } from '@semcore/button';\nimport Checkbox from '@semcore/checkbox';\nimport { Component, Root, sstyled, createComponent } from '@semcore/core';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport { isInteractiveElement } from '@semcore/core/lib/utils/isInteractiveElement';\nimport ChevronRightM from '@semcore/icon/ChevronRight/m';\nimport * as React from 'react';\n\nimport { Cell } from './Cell';\nimport type { DataTableCellProps, DataTableCellType } from './Cell.types';\nimport { MergedColumnsCell, MergedRowsCell } from './MergedCells';\nimport type { DataTableRowProps, DataTableRowType, DTRow, DTRows, RowPropsInner } from './Row.types';\nimport style from './style.shadow.css';\nimport { ACCORDION, IS_EMPTY_DATA_ROW, ROW_GROUP, ROW_INDEX, SELECT_ALL, UNIQ_ROW_KEY } from '../DataTable/DataTable';\nimport type { DataTableData, DTValue } from '../DataTable/DataTable.types';\n\ntype State = {\n expandedForAnimation: boolean;\n calculatedHeight: number;\n withAnimation: boolean;\n};\n\nexport class RowRoot<Data extends DataTableData, UniqKeyType> extends Component<DataTableRowProps<Data, UniqKeyType>, {}, State, [], RowPropsInner<Data, UniqKeyType>> {\n static displayName = 'Row';\n static style = style;\n\n static defaultProps = {\n 'aria-level': undefined,\n };\n\n private cellName: string = '';\n private closeAccordionTimeout = 0;\n\n rowElementRef = React.createRef<HTMLDivElement>();\n\n state: State = {\n expandedForAnimation: false,\n calculatedHeight: 0,\n withAnimation: true,\n };\n\n constructor(props: DataTableRowProps<Data, UniqKeyType>) {\n super(props);\n\n this.handleClickRow = this.handleClickRow.bind(this);\n }\n\n componentDidMount() {\n this.asProps.componentRef?.(this);\n\n const { animationExpand } = this.asProps;\n\n if (animationExpand && this.rowElementRef.current) {\n const height = this.calculateRowHeight(this.rowElementRef.current);\n\n this.setState({ calculatedHeight: height });\n }\n }\n\n componentDidUpdate(prevProps: DataTableRowProps<Data, UniqKeyType>) {\n const { animationExpand, row } = this.asProps;\n if (animationExpand && prevProps.row !== row && this.rowElementRef.current) {\n const height = this.calculateRowHeight(this.rowElementRef.current);\n\n this.setState({ calculatedHeight: height, withAnimation: false });\n }\n if (prevProps.animationExpand !== animationExpand && animationExpand === false) {\n this.setState({ withAnimation: true });\n }\n }\n\n componentWillUnmount() {\n this.asProps.componentRef?.(null);\n }\n\n cellHasAccordion(cellValue?: DTValue | MergedColumnsCell | MergedRowsCell): cellValue is DTValue {\n return (\n !(cellValue instanceof MergedRowsCell || cellValue instanceof MergedColumnsCell) &&\n Boolean(cellValue?.[ACCORDION])\n );\n }\n\n handleSelectRow = (value: boolean, event?: React.SyntheticEvent<HTMLElement>) => {\n const { row, rowIndex, onSelectRow } = this.asProps;\n\n onSelectRow?.(value, rowIndex, row, event);\n };\n\n handleClickCheckbox = (value: boolean) => (event?: React.SyntheticEvent<HTMLElement>) => {\n event?.preventDefault();\n event?.stopPropagation();\n const { row, rowIndex, onSelectRow } = this.asProps;\n\n onSelectRow?.(value, rowIndex, row, event);\n };\n\n handleBackFromAccordion = (e: React.KeyboardEvent) => {\n if (e.key === 'Escape') {\n this.asProps.onBackFromAccordion(this.cellName);\n }\n };\n\n handleExpandRow = (row: DTRow<UniqKeyType>, index: number) => {\n const { accordionDuration, accordionMode, expandedRows, onExpandRow, setRowHeight, rowsHeightMap, calculateAriaRowIndex } = this.asProps;\n const { expandedForAnimation } = this.state;\n const openDuration = Array.isArray(accordionDuration)\n ? accordionDuration[0]\n : accordionDuration ??\n (Array.isArray(row[ACCORDION]) ? Math.min(50 * row[ACCORDION].length, 200) : 200);\n const closeDuration = Array.isArray(accordionDuration)\n ? accordionDuration[1]\n : accordionDuration ??\n (Array.isArray(row[ACCORDION]) ? Math.min(50 * row[ACCORDION].length, 200) : 200);\n\n setTimeout(() => {\n setRowHeight(index, row);\n for (let i = index; i < rowsHeightMap.size; i++) {\n setRowHeight(i, row);\n }\n }, openDuration + 100); // we need to calculate after expanding animation\n\n if (expandedRows.has(row[UNIQ_ROW_KEY]) && expandedForAnimation === false) {\n this.closeAccordion(row, closeDuration);\n } else {\n if (expandedForAnimation === true && this.closeAccordionTimeout) {\n clearTimeout(this.closeAccordionTimeout);\n onExpandRow(row);\n\n this.setState({\n expandedForAnimation: false,\n }, calculateAriaRowIndex);\n }\n\n if (accordionMode === 'toggle' && expandedRows.size > 0) {\n const previousRows = new Map<UniqKeyType, DTRow<UniqKeyType>>();\n\n this.asProps.flatRows.forEach((row, index) => {\n if (expandedRows.has(row[UNIQ_ROW_KEY])) {\n previousRows.set(row[UNIQ_ROW_KEY], row);\n }\n });\n\n if (previousRows.size > 0) {\n [...previousRows.entries()].forEach(([uniqKey, previousRow]) => {\n if (!this.state.expandedForAnimation) {\n setTimeout(() => {\n this.asProps.componentsMap.get(uniqKey)?.closeAccordion(previousRow, closeDuration);\n }, openDuration / 3);\n }\n });\n }\n }\n onExpandRow(row);\n\n this.forceUpdate(this.asProps.calculateAriaRowIndex);\n }\n };\n\n closeAccordion = (row: DTRow<UniqKeyType>, closeDuration: number) => {\n const { onExpandRow, calculateAriaRowIndex } = this.asProps;\n\n this.setState({\n expandedForAnimation: true,\n }, calculateAriaRowIndex);\n this.closeAccordionTimeout = window.setTimeout(() => {\n onExpandRow(row);\n\n this.setState({\n expandedForAnimation: false,\n }, calculateAriaRowIndex);\n }, closeDuration + 100); // we need to remove it from list of grid calculations after expanding animation\n };\n\n handleClickRow(row: DTRow<UniqKeyType>) {\n return (e: React.SyntheticEvent) => {\n const index = row[ROW_INDEX];\n if (!isInteractiveElement(e.target) && row[ACCORDION] && !this.asProps.mergedRow) {\n this.handleExpandRow(row, index);\n }\n };\n }\n\n handleClickCell = (e: React.SyntheticEvent<HTMLElement>, opt: { row: DTRow<UniqKeyType>; rowIndex: number }) => {\n if (!isInteractiveElement(e.target)) {\n this.handleExpandRow(opt.row, opt.rowIndex);\n }\n };\n\n getCellProps(props: DataTableCellProps<UniqKeyType>) {\n const {\n use,\n renderCell,\n expandedRows,\n styles,\n getI18nText,\n virtualScroll,\n tableRef,\n accordionDuration,\n onCellClick,\n rawData,\n shadowVertical,\n flatRows,\n variant,\n isAccordionRow,\n accordionRowIndex,\n } = this.asProps;\n const SAccordionToggle = ButtonLink;\n\n let dataKey = props.column.name;\n const cellValue = props.row[dataKey];\n\n let value: DTValue | undefined = undefined;\n const isMergedRows = cellValue instanceof MergedRowsCell;\n const isMergedColumns = cellValue instanceof MergedColumnsCell;\n\n if (isMergedColumns || isMergedRows) {\n value = cellValue.value;\n if (isMergedColumns) {\n dataKey = cellValue.dataKey;\n }\n } else {\n value = cellValue;\n }\n\n const defaultRender = () => {\n return React.isValidElement(value) ? value : value?.toString();\n };\n\n let withoutBorder = props.row[IS_EMPTY_DATA_ROW];\n\n if (variant === 'card') {\n const isLastRow = flatRows.length === props.rowIndex + 1;\n const isLastAccordionRow = props.accordionRowIndex !== undefined ? props.accordionRowIndex + 1 === props.rows.length : true;\n\n withoutBorder = isLastRow && isLastAccordionRow;\n }\n\n const extraProps: Record<string, any> = {\n use,\n virtualScroll: Boolean(virtualScroll),\n tableRef,\n children: props?.children ?? defaultRender(),\n accordionDuration,\n onClick: onCellClick,\n flatRows: this.asProps.flatRows,\n shadowVertical,\n withoutBorder,\n calculatedHeight: this.state.calculatedHeight,\n };\n\n if (renderCell) {\n let rowRawData = rawData[props.rowIndex];\n\n if (props.accordionRowIndex !== undefined && rowRawData[ACCORDION] && Array.isArray(rowRawData[ACCORDION])) {\n rowRawData = rowRawData[ACCORDION][props.accordionRowIndex];\n }\n\n const external = renderCell({\n columnName: props.column.name,\n row: props.row,\n column: props.column,\n rowIndex: props.rowIndex,\n columnIndex: props.columnIndex,\n dataKey,\n defaultRender,\n value: React.isValidElement(value) ? value : value?.toString() ?? '',\n isMergedRows,\n isMergedColumns,\n rawData: rowRawData,\n isAccordionRow: Boolean(isAccordionRow),\n accordionRowIndex,\n });\n\n if (this.isReactNode(external) || Array.isArray(external)) {\n extraProps.children = external;\n } else {\n for (const key in external) {\n if (key === 'onClick') {\n extraProps[key] = callAllEventHandlers(external[key], extraProps[key]);\n } else {\n extraProps[key] = external[key];\n }\n }\n }\n }\n\n if (\n (props.columnIndex === 0 && props.row[ACCORDION]) ||\n value?.[ACCORDION] ||\n (cellValue instanceof MergedRowsCell && cellValue.accordion)\n ) {\n const expanded =\n expandedRows?.has(props.row[UNIQ_ROW_KEY]) &&\n !this.state.expandedForAnimation;\n\n extraProps.expanded = expanded;\n\n if (expanded) {\n extraProps.withoutBorder = false;\n }\n\n const row = props.row;\n const rowIndex = props.rowIndex;\n\n const handleClick = (e: React.SyntheticEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n onCellClick(e, { colIndex: props.columnIndex, rowIndex, row });\n this.handleExpandRow(row, rowIndex);\n };\n\n if (value?.[ACCORDION] || (cellValue instanceof MergedRowsCell && cellValue.accordion)) {\n extraProps.onClick = callAllEventHandlers(\n extraProps.onClick,\n this.handleClickCell,\n );\n }\n\n extraProps.children = sstyled(styles)(\n <>\n <SAccordionToggle\n aria-label={getI18nText('DataTable.Cell.AccordionToggle.expand:aria-label')}\n // @ts-ignore\n expanded={expanded && !this.state.expandedForAnimation}\n onClick={handleClick}\n color='--intergalactic-icon-primary-neutral'\n aria-expanded={expanded}\n aria-describedby={props.id}\n aria-controls={expanded ? props.accordionId : undefined}\n >\n <SAccordionToggle.Addon tag={ChevronRightM} />\n </SAccordionToggle>\n {extraProps.children}\n </>,\n );\n }\n\n return extraProps;\n }\n\n render() {\n const SRow = Root;\n const SCollapseRow = Collapse;\n const SAccordionRows = Box;\n const SCell = Row.Cell;\n const SCheckboxCell = Row.Cell;\n const {\n columns,\n row,\n rows,\n styles,\n rowIndex,\n gridRowIndex,\n 'aria-level': ariaLevel = 1,\n selectedRows,\n expandedRows,\n uid,\n getFixedStyle,\n mergedRow,\n isAccordionRow,\n animationExpand,\n accordionRowIndex,\n accordionDuration,\n use,\n shadowVertical,\n variant,\n flatRows,\n sideIndents,\n renderCell,\n rawData,\n } = this.asProps;\n\n const { expandedForAnimation, withAnimation } = this.state;\n\n const expanded = expandedRows?.has(row[UNIQ_ROW_KEY]) && !expandedForAnimation;\n\n let accordionRows = Array.isArray(row[ACCORDION]) ? row[ACCORDION] : undefined;\n let accordionComponent: React.ReactNode = React.isValidElement(row[ACCORDION]) ? row[ACCORDION] : undefined;\n\n const accordionType = (accordionRows || accordionComponent) && !mergedRow ? 'row' : undefined;\n\n if (!accordionRows && !accordionComponent) {\n const cells = Object.entries(row);\n const foundCell = cells.find(([key, value]) => {\n return this.cellHasAccordion(value) || (value instanceof MergedRowsCell && value.accordion);\n });\n\n if (foundCell) {\n this.cellName = foundCell[0];\n const value = foundCell[1];\n\n if (value instanceof MergedRowsCell && value.accordion) {\n if (Array.isArray(value.accordion)) {\n accordionRows = value.accordion;\n } else {\n accordionComponent = value.accordion;\n }\n } else if (this.cellHasAccordion(value)) {\n accordionComponent = value[ACCORDION];\n }\n }\n }\n\n let accordionDataGridArea = '';\n\n if (accordionRows || accordionComponent) {\n const rowIncrement = row[ROW_GROUP]?.size ? row[ROW_GROUP].size + 1 : 1;\n accordionDataGridArea = accordionRows\n ? `${gridRowIndex + rowIncrement} / 1 / ${gridRowIndex + rowIncrement + accordionRows.length} / ${\n columns.length + 1\n }`\n : `${gridRowIndex + rowIncrement} / 1 / ${gridRowIndex + rowIncrement} / ${columns.length + 1}`;\n }\n\n const rowUniqKey = row[UNIQ_ROW_KEY];\n const accordionId = `${uid}_${rowUniqKey}`;\n\n return sstyled(styles)(\n <>\n <SRow\n ref={this.rowElementRef}\n render={Box}\n role='row'\n accordionType={accordionType}\n theme={selectedRows?.includes(rowUniqKey) ? 'info' : undefined}\n use:expanded={expanded && !mergedRow}\n onClick={this.handleClickRow(row)}\n withAnimation={withAnimation}\n >\n {columns.map((column, i) => {\n if (selectedRows && i === 0 && row[IS_EMPTY_DATA_ROW] !== true) {\n const checked = selectedRows.includes(rowUniqKey);\n return sstyled(styles)(\n <SCheckboxCell\n key={i}\n row={row}\n rowIndex={rowIndex}\n // @ts-ignore\n column={{ name: SELECT_ALL.toString() }}\n columnIndex={0}\n gridRowIndex={gridRowIndex}\n onClick={this.handleClickCheckbox(!checked)}\n >\n <Checkbox\n checked={checked}\n aria-labelledby={`${uid}_${rowUniqKey}_1`}\n onChange={this.handleSelectRow}\n >\n <Checkbox.Value />\n </Checkbox>\n </SCheckboxCell>,\n );\n }\n\n const index = i;\n const cellValue: DTValue | MergedRowsCell | MergedColumnsCell | undefined =\n row[column.name];\n\n if (cellValue === undefined) {\n return null;\n }\n\n const style: React.CSSProperties = {};\n\n if (column.fixed) {\n const [name, value] = getFixedStyle(column);\n\n if (name !== undefined && value !== undefined) {\n style[name] = value;\n }\n }\n\n return (\n <Row.Cell\n key={index}\n id={`${uid}_${rowUniqKey}_${index}`}\n accordionId={accordionId}\n data-aria-level={index === 0 ? ariaLevel : undefined}\n row={row}\n rowIndex={rowIndex}\n gridRowIndex={gridRowIndex}\n columnIndex={index}\n style={style}\n column={column}\n withAccordion={\n Boolean(cellValue instanceof MergedRowsCell && cellValue.accordion) ||\n this.cellHasAccordion(cellValue)\n }\n isAccordionRow={isAccordionRow}\n animationExpand={animationExpand}\n accordionRowIndex={accordionRowIndex}\n rows={rows}\n />\n );\n })}\n </SRow>\n\n {React.isValidElement(accordionComponent) && (\n <SCollapseRow\n key={rowIndex}\n role='row'\n id={accordionId}\n visible={expanded}\n aria-hidden={!expanded}\n interactive\n gridArea={accordionDataGridArea}\n duration={accordionDuration ?? 200}\n >\n <SCell\n aria-colindex={1}\n aria-level={ariaLevel + 1}\n aria-setsize={1}\n aria-posinset={1}\n accordionRowIndex={0}\n rowIndex={rowIndex}\n rows={[row]}\n row={row}\n columnIndex={1}\n // @ts-ignore\n column={{ name: ACCORDION }}\n w='100%'\n onKeyDown={this.handleBackFromAccordion}\n >\n {accordionComponent}\n </SCell>\n </SCollapseRow>\n )}\n\n {Array.isArray(accordionRows) && (\n <SAccordionRows id={accordionId} role='rowgroup' aria-hidden={!expanded}>\n {(expanded || expandedForAnimation) && accordionRows.map((subrow, i) => {\n return (\n <Row\n key={i}\n // @ts-ignore\n row={subrow}\n columns={columns}\n rows={accordionRows}\n rowIndex={rowIndex}\n aria-hidden={!expanded}\n aria-posinset={i + 1}\n aria-level={ariaLevel + 1}\n gridRowIndex={gridRowIndex + 1 + i}\n isAccordionRow={true}\n accordionIndex={i}\n getFixedStyle={getFixedStyle}\n animationExpand={expanded}\n accordionRowIndex={i}\n use={use}\n shadowVertical={shadowVertical}\n accordionDuration={accordionDuration}\n variant={variant}\n flatRows={flatRows}\n sideIndents={sideIndents}\n renderCell={renderCell}\n rawData={rawData}\n />\n );\n })}\n </SAccordionRows>\n )}\n </>,\n );\n }\n\n private isReactNode(obj: React.ReactNode | Record<string, any>): obj is React.ReactNode {\n return (\n typeof obj === 'string' ||\n typeof obj === 'number' ||\n React.isValidElement(obj) ||\n typeof obj === 'boolean' ||\n obj === undefined ||\n obj === null\n );\n }\n\n private calculateRowHeight(rowElement: HTMLElement): number {\n const accordionFull = rowElement.cloneNode(true);\n\n if (!(accordionFull instanceof HTMLElement)) {\n return 0;\n }\n\n const columnsWidth: number[] = [];\n\n const columns = Array.from(rowElement.children);\n columns.forEach((column) => {\n columnsWidth.push(column.getBoundingClientRect().width);\n });\n\n accordionFull.style.display = 'grid';\n accordionFull.style.position = 'absolute';\n accordionFull.style.visibility = 'hidden';\n accordionFull.style.gridTemplateColumns = columnsWidth.join('px ') + 'px';\n\n Array.from(accordionFull.children).forEach((child) => {\n if (child instanceof HTMLElement) {\n child.style.height = '100%';\n }\n });\n\n document.body.appendChild(accordionFull);\n\n const height = accordionFull.getBoundingClientRect().height;\n\n document.body.removeChild(accordionFull);\n\n return height;\n }\n}\n\nexport const Row = createComponent(RowRoot, {\n Cell,\n}) as DataTableRowType & {\n Cell: DataTableCellType;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Row.types.js","names":[],"sources":["../../../../src/components/Body/Row.types.ts"],"sourcesContent":["import type { Intergalactic } from '@semcore/core';\nimport type * as React from 'react';\n\nimport type { Body } from './Body';\nimport type { CellRenderProps } from './Body.types';\nimport type { CellPropsInner, DataTableCellProps } from './Cell.types';\nimport type { MergedColumnsCell, MergedRowsCell } from './MergedCells';\nimport type { RowRoot } from './Row';\nimport type {\n ACCORDION,\n GRID_ROW_INDEX,\n IS_EMPTY_DATA_ROW,\n ROW_GROUP,\n ROW_INDEX,\n UNIQ_ROW_KEY,\n} from '../DataTable/DataTable';\nimport type {\n DTValue,\n DTUse,\n DataTableData,\n VirtualScroll,\n DataRowItem,\n DataTableProps,\n} from '../DataTable/DataTable.types';\nimport type { DTColumn } from '../Head/Column.types';\n\nexport type DTRow<UniqKeyType> = {\n [UNIQ_ROW_KEY]: UniqKeyType;\n [IS_EMPTY_DATA_ROW]?: boolean;\n [GRID_ROW_INDEX]: number;\n [ROW_INDEX]: number;\n [key: string]: DTValue | MergedRowsCell | MergedColumnsCell;\n [ACCORDION]?: React.ReactNode | DataTableData | undefined;\n [ROW_GROUP]?: Set<UniqKeyType>;\n};\nexport type DTRows<UniqKeyType> = Array<DTRow<UniqKeyType> | DTRow<UniqKeyType>[]>;\n\nexport type DataTableRowProps<Data extends DataTableData, UniqKeyType> = {\n row: DTRow<UniqKeyType>;\n mergedRow?: boolean;\n\n isAccordionRow?: DataTableCellProps<UniqKeyType>['isAccordionRow'];\n animationExpand?: DataTableCellProps<UniqKeyType>['animationExpand'];\n accordionRowIndex?: DataTableCellProps<UniqKeyType>['accordionRowIndex'];\n isNonInteractive?: boolean;\n\n componentRef?: (component: RowRoot<Data, UniqKeyType> | null) => void;\n};\n\nexport type RowPropsInner<Data extends DataTableData, UniqKeyType> = JSX.IntrinsicElements['div'] & {\n use: DTUse;\n /**\n * Flag to show is row in a merged list or not.\n */\n mergedRow?: boolean;\n\n columns: DTColumn[];\n row: DTRow<UniqKeyType> | DTRow<UniqKeyType>[];\n rows: DTRows<UniqKeyType>;\n flatRows: DTRow<UniqKeyType>[];\n rowIndex: number; // from 0\n gridRowIndex: number; // from 1 + 1 (or 2 if it has group) header\n\n onExpandRow: (expandedRow: DTRow<UniqKeyType>) => void;\n\n gridTemplateAreas: string[];\n gridTemplateColumns: string[];\n\n selectedRows?: UniqKeyType[];\n onSelectRow?: (\n isSelect: boolean,\n selectedRowIndex: number,\n row: DTRow<UniqKeyType>,\n event?: React.SyntheticEvent<HTMLElement>,\n ) => void;\n\n inert?: '';\n\n accordionDuration?: number | [number, number];\n onBackFromAccordion: (colName: string) => void;\n\n scrollAreaRef: React.RefObject<HTMLDivElement>;\n uid: string;\n sideIndents?: 'wide';\n getFixedStyle: (\n cell: Pick<DTColumn, 'name' | 'fixed'>,\n ) => [side: 'left' | 'right', style: string | number] | [side: undefined, style: undefined];\n\n renderCell?: (props: CellRenderProps<Data[number], UniqKeyType>) => React.ReactNode | Record<string, any>;\n getI18nText: (key: string) => string;\n virtualScroll?: VirtualScroll;\n tableRef: React.RefObject<HTMLDivElement>;\n onCellClick: CellPropsInner<Data, UniqKeyType>['onClick'];\n rawData: DataRowItem[];\n shadowVertical?: '' | 'end' | 'start' | 'median';\n expandedRows: Set<UniqKeyType>;\n accordionMode?: DataTableProps<any, any, any>['accordionMode'];\n rowsHeightMap: Map<number, [number, number, HTMLElement]>;\n setRowHeight: (index: number, row: DTRow<UniqKeyType>) => void;\n componentsMap: Map<UniqKeyType, RowRoot<Data, UniqKeyType>>;\n calculateAriaRowIndex: () => void;\n variant?: DataTableProps<any, any, any>['variant'];\n};\n\nexport type DataTableRowType = (<Data extends DataTableData, UniqKeyType, Tag extends Intergalactic.Tag = 'div'>(\n props: Intergalactic.InternalTypings.ComponentProps<Tag, 'div', DataTableRowProps<Data, UniqKeyType>>\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\nIntergalactic.InternalTypings.ComponentAdditive<'div', 'div', DataTableRowProps<any, any>>;\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"Row.types.js","names":[],"sources":["../../../../src/components/Body/Row.types.ts"],"sourcesContent":["import type { Intergalactic } from '@semcore/core';\nimport type * as React from 'react';\n\nimport type { Body } from './Body';\nimport type { CellRenderProps } from './Body.types';\nimport type { CellPropsInner, DataTableCellProps } from './Cell.types';\nimport type { MergedColumnsCell, MergedRowsCell } from './MergedCells';\nimport type { RowRoot } from './Row';\nimport type {\n ACCORDION,\n GRID_ROW_INDEX,\n IS_EMPTY_DATA_ROW,\n ROW_GROUP,\n ROW_INDEX,\n UNIQ_ROW_KEY,\n} from '../DataTable/DataTable';\nimport type {\n DTValue,\n DTUse,\n DataTableData,\n VirtualScroll,\n DataRowItem,\n DataTableProps,\n} from '../DataTable/DataTable.types';\nimport type { DTColumn } from '../Head/Column.types';\n\nexport type DTRow<UniqKeyType> = {\n [UNIQ_ROW_KEY]: UniqKeyType;\n [IS_EMPTY_DATA_ROW]?: boolean;\n [GRID_ROW_INDEX]: number;\n [ROW_INDEX]: number;\n [key: string]: DTValue | MergedRowsCell | MergedColumnsCell;\n [ACCORDION]?: React.ReactNode | DTRows<UniqKeyType>;\n [ROW_GROUP]?: Set<UniqKeyType>;\n};\nexport type DTRows<UniqKeyType> = Array<DTRow<UniqKeyType> | DTRow<UniqKeyType>[]>;\n\nexport type DataTableRowProps<Data extends DataTableData, UniqKeyType> = {\n row: DTRow<UniqKeyType>;\n mergedRow?: boolean;\n\n isAccordionRow?: DataTableCellProps<UniqKeyType>['isAccordionRow'];\n animationExpand?: DataTableCellProps<UniqKeyType>['animationExpand'];\n accordionRowIndex?: DataTableCellProps<UniqKeyType>['accordionRowIndex'];\n isNonInteractive?: boolean;\n\n componentRef?: (component: RowRoot<Data, UniqKeyType> | null) => void;\n\n accordionIndex?: number;\n};\n\nexport type RowPropsInner<Data extends DataTableData, UniqKeyType> = JSX.IntrinsicElements['div'] & {\n use: DTUse;\n /**\n * Flag to show is row in a merged list or not.\n */\n mergedRow?: boolean;\n\n columns: DTColumn[];\n row: DTRow<UniqKeyType> | DTRow<UniqKeyType>[];\n rows: DTRows<UniqKeyType>;\n flatRows: DTRow<UniqKeyType>[];\n rowIndex: number; // from 0\n gridRowIndex: number; // from 1 + 1 (or 2 if it has group) header\n\n onExpandRow: (expandedRow: DTRow<UniqKeyType>) => void;\n\n gridTemplateAreas: string[];\n gridTemplateColumns: string[];\n\n selectedRows?: UniqKeyType[];\n onSelectRow?: (\n isSelect: boolean,\n selectedRowIndex: number,\n row: DTRow<UniqKeyType>,\n event?: React.SyntheticEvent<HTMLElement>,\n ) => void;\n\n inert?: '';\n\n accordionDuration?: number | [number, number];\n onBackFromAccordion: (colName: string) => void;\n\n scrollAreaRef: React.RefObject<HTMLDivElement>;\n uid: string;\n sideIndents?: 'wide';\n getFixedStyle: (\n cell: Pick<DTColumn, 'name' | 'fixed'>,\n ) => [side: 'left' | 'right', style: string | number] | [side: undefined, style: undefined];\n\n renderCell?: (props: CellRenderProps<Data[number], UniqKeyType>) => React.ReactNode | Record<string, any>;\n getI18nText: (key: string) => string;\n virtualScroll?: VirtualScroll;\n tableRef: React.RefObject<HTMLDivElement>;\n onCellClick: CellPropsInner<Data, UniqKeyType>['onClick'];\n rawData: DataRowItem[];\n shadowVertical?: '' | 'end' | 'start' | 'median';\n expandedRows: Set<UniqKeyType>;\n accordionMode?: DataTableProps<any, any, any>['accordionMode'];\n rowsHeightMap: Map<number, [number, number, HTMLElement]>;\n setRowHeight: (index: number, row: DTRow<UniqKeyType>) => void;\n componentsMap: Map<UniqKeyType, RowRoot<Data, UniqKeyType>>;\n calculateAriaRowIndex: () => void;\n variant?: DataTableProps<any, any, any>['variant'];\n};\n\nexport type DataTableRowType = (<Data extends DataTableData, UniqKeyType, Tag extends Intergalactic.Tag = 'div'>(\n props: Intergalactic.InternalTypings.ComponentProps<Tag, 'div', DataTableRowProps<Data, UniqKeyType>>\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\nIntergalactic.InternalTypings.ComponentAdditive<'div', 'div', DataTableRowProps<any, any>>;\n"],"mappings":"","ignoreList":[]}
@@ -8,7 +8,22 @@ SBody[compact] {
8
8
  }
9
9
 
10
10
  SCell[data-aria-level] {
11
- padding-left: calc(var(--intergalactic-spacing-2x, 8px) + (var(--intergalactic-spacing-5x, 20px) * (var(--data-aria-level) - 1)));
11
+ padding-left: calc(var(--intergalactic-spacing-2x, 8px) + ((var(--intergalactic-spacing-4x, 16px) + var(--intergalactic-spacing-1x, 4px) + var(--intergalactic-spacing-05x, 2px)) * (var(--data-aria-level) - 1)));
12
+ }
13
+
14
+ SRow {
15
+ SCellWrapper:first-child SCell[data-aria-level] {
16
+ padding-left: calc(var(--intergalactic-spacing-2x, 8px) + ((var(--intergalactic-spacing-4x, 16px) + var(--intergalactic-spacing-1x, 4px) + var(--intergalactic-spacing-05x, 2px)) * (var(--data-aria-level) - 1)));
17
+ }
18
+ }
19
+ SRow[sideIndents='wide'] {
20
+ SCellWrapper:first-child SCell[data-aria-level] {
21
+ padding-left: calc(var(--intergalactic-spacing-5x, 20px) + ((var(--intergalactic-spacing-4x, 16px) + var(--intergalactic-spacing-1x, 4px) + var(--intergalactic-spacing-05x, 2px)) * (var(--data-aria-level) - 1)));
22
+ }
23
+ }
24
+
25
+ SCell SAccordionToggle {
26
+ margin-right: var(--intergalactic-spacing-2x, 8px);
12
27
  }
13
28
  }
14
29
 
@@ -31,7 +46,7 @@ SAccordionRows > SRow[isAccordionRow]:last-child > SCellWrapper > SCell:not([wit
31
46
  border-bottom: 1px solid var(--intergalactic-border-table-accent, #a9abb6);
32
47
  }
33
48
 
34
- SCollapseRow SCell {
49
+ SCollapseRow > SCellWrapper > SCell {
35
50
  display: block;
36
51
  }
37
52
 
@@ -204,7 +219,7 @@ SCell[use='primary'] {
204
219
  background-color: var(--intergalactic-bg-primary-neutral, #ffffff);
205
220
 
206
221
  &[data-aria-level] {
207
- padding-left: calc(var(--intergalactic-spacing-3x, 12px) + ((var(--intergalactic-spacing-5x, 20px) + var(--intergalactic-spacing-2x, 8px)) * (var(--data-aria-level) - 1)));
222
+ padding-left: calc(var(--intergalactic-spacing-3x, 12px) + ((var(--intergalactic-spacing-5x, 20px) + var(--intergalactic-spacing-1x, 4px) + var(--intergalactic-spacing-05x, 2px)) * (var(--data-aria-level) - 1)));
208
223
  }
209
224
  }
210
225
 
@@ -214,7 +229,7 @@ SCell[use='secondary'] {
214
229
  background-color: var(--intergalactic-bg-primary-neutral, #ffffff);
215
230
 
216
231
  &[data-aria-level] {
217
- padding-left: calc(var(--intergalactic-spacing-2x, 8px) + ((var(--intergalactic-spacing-5x, 20px) + var(--intergalactic-spacing-2x, 8px)) * (var(--data-aria-level) - 1)));
232
+ padding-left: calc(var(--intergalactic-spacing-2x, 8px) + ((var(--intergalactic-spacing-5x, 20px) + var(--intergalactic-spacing-1x, 4px) + var(--intergalactic-spacing-05x, 2px)) * (var(--data-aria-level) - 1)));
218
233
  }
219
234
  }
220
235
 
@@ -278,6 +293,11 @@ SEmptyData {
278
293
  SRow[sideIndents='wide'] {
279
294
  SCellWrapper:first-child SCell {
280
295
  padding-left: var(--intergalactic-spacing-5x, 20px);
296
+
297
+ &[data-aria-level] {
298
+ padding-left: calc(var(--intergalactic-spacing-5x, 20px) + ((var(--intergalactic-spacing-5x, 20px) + var(--intergalactic-spacing-1x, 4px) + var(--intergalactic-spacing-05x, 2px)) * (var(--data-aria-level) - 1)));
299
+
300
+ }
281
301
  }
282
302
 
283
303
  SCellWrapper:last-child SCell {
@@ -285,6 +305,14 @@ SRow[sideIndents='wide'] {
285
305
  }
286
306
  }
287
307
 
308
+ SRow[isAccordionRow][withAnimation] > SCellWrapper {
309
+ transition-property: height;
310
+ transition-delay: var(--delay);
311
+ transition-duration: var(--duration);
312
+ transition-timing-function: linear;
313
+ overflow: clip;
314
+ }
315
+
288
316
  SCellWrapper[fixed][shadowVertical] {
289
317
  &:after {
290
318
  content: '';
@@ -24,38 +24,38 @@ import { isFocusInside, hasFocusableIn } from '@semcore/core/lib/utils/use/useFo
24
24
  import { NoData } from '@semcore/widget-empty';
25
25
  import * as React from 'react';
26
26
  /*!__reshadow-styles__:"./dataTable.shadow.css"*/
27
- var style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SDataTable_1uu41_gg_{display:grid;align-items:start;min-width:-moz-fit-content;min-width:fit-content}.___SDataTable_1uu41_gg_.__isDataEmpty_1uu41_gg_{display:block;align-items:initial;min-width:initial}.___SDataTable_1uu41_gg_.__gridTemplateColumns_1uu41_gg_{grid-template-columns:var(--gridTemplateColumns_1uu41)}.___SDataTable_1uu41_gg_.__gridTemplateAreas_1uu41_gg_{grid-template-areas:var(--gridTemplateAreas_1uu41)}.___SDataTable_1uu41_gg_.__gridTemplateRows_1uu41_gg_{grid-template-rows:var(--gridTemplateRows_1uu41)}", /*__inner_css_end__*/"1uu41_gg_"),
27
+ var style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SDataTable_1nqim_gg_{display:grid;align-items:start;min-width:-moz-fit-content;min-width:fit-content}.___SDataTable_1nqim_gg_.__isDataEmpty_1nqim_gg_{display:block;align-items:initial;min-width:initial}.___SDataTable_1nqim_gg_.__gridTemplateColumns_1nqim_gg_{grid-template-columns:var(--gridTemplateColumns_1nqim)}.___SDataTable_1nqim_gg_.__gridTemplateAreas_1nqim_gg_{grid-template-areas:var(--gridTemplateAreas_1nqim)}.___SDataTable_1nqim_gg_.__gridTemplateRows_1nqim_gg_{grid-template-rows:var(--gridTemplateRows_1nqim)}", /*__inner_css_end__*/"1nqim_gg_"),
28
28
  /*__reshadow_css_end__*/
29
29
  {
30
- "__SDataTable": "___SDataTable_1uu41_gg_",
31
- "_isDataEmpty": "__isDataEmpty_1uu41_gg_",
32
- "_gridTemplateColumns": "__gridTemplateColumns_1uu41_gg_",
33
- "--gridTemplateColumns": "--gridTemplateColumns_1uu41",
34
- "_gridTemplateAreas": "__gridTemplateAreas_1uu41_gg_",
35
- "--gridTemplateAreas": "--gridTemplateAreas_1uu41",
36
- "_gridTemplateRows": "__gridTemplateRows_1uu41_gg_",
37
- "--gridTemplateRows": "--gridTemplateRows_1uu41"
30
+ "__SDataTable": "___SDataTable_1nqim_gg_",
31
+ "_isDataEmpty": "__isDataEmpty_1nqim_gg_",
32
+ "_gridTemplateColumns": "__gridTemplateColumns_1nqim_gg_",
33
+ "--gridTemplateColumns": "--gridTemplateColumns_1nqim",
34
+ "_gridTemplateAreas": "__gridTemplateAreas_1nqim_gg_",
35
+ "--gridTemplateAreas": "--gridTemplateAreas_1nqim",
36
+ "_gridTemplateRows": "__gridTemplateRows_1nqim_gg_",
37
+ "--gridTemplateRows": "--gridTemplateRows_1nqim"
38
38
  });
39
39
  /*!__reshadow-styles__:"../../style/scroll-shadows.shadow.css"*/
40
- var scrollStyles = (/*__reshadow_css_start__*/_sstyled2.insert(/*__inner_css_start__*/".___SScrollArea_1v4r4_gg_{width:-moz-fit-content;width:fit-content}.___SScrollArea_1v4r4_gg_ .___SContainer_1v4r4_gg_{overflow:visible;overflow:initial}.___SScrollArea_1v4r4_gg_ .___SContainer_1v4r4_gg_._scrollDirection_both_1v4r4_gg_{overflow:auto}.___SScrollArea_1v4r4_gg_ .___SContainer_1v4r4_gg_._scrollDirection_both_1v4r4_gg_.__loading_1v4r4_gg_,.___SScrollArea_1v4r4_gg_ .___SContainer_1v4r4_gg_._scrollDirection_horizontal_1v4r4_gg_.__loading_1v4r4_gg_,.___SScrollArea_1v4r4_gg_ .___SContainer_1v4r4_gg_._scrollDirection_vertical_1v4r4_gg_.__loading_1v4r4_gg_{overflow:hidden}.___SScrollArea_1v4r4_gg_ .___SContainer_1v4r4_gg_._scrollDirection_horizontal_1v4r4_gg_{overflow-x:auto;overflow-y:initial}.___SScrollArea_1v4r4_gg_ .___SContainer_1v4r4_gg_._scrollDirection_vertical_1v4r4_gg_{overflow-x:initial;overflow-y:auto}.___SScrollArea_1v4r4_gg_ .___SContainer_1v4r4_gg_.__headerHeight_1v4r4_gg_{scroll-padding-top:var(--headerHeight_1v4r4)}.___SScrollArea_1v4r4_gg_ .___SContainer_1v4r4_gg_.__leftScrollPadding_1v4r4_gg_{scroll-padding-left:var(--leftScrollPadding_1v4r4)}.___SScrollArea_1v4r4_gg_ .___SContainer_1v4r4_gg_.__rightScrollPadding_1v4r4_gg_{scroll-padding-right:var(--rightScrollPadding_1v4r4)}.___SScrollArea_1v4r4_gg_ .___SShadowHorizontal_1v4r4_gg_::before,.___SScrollArea_1v4r4_gg_ .___SShadowHorizontal_1v4r4_gg_:after,.___SScrollArea_1v4r4_gg_ .___SShadowVertical_1v4r4_gg_::after{z-index:20}.___SScrollArea_1v4r4_gg_ .___SShadowHorizontal_1v4r4_gg_.__leftOffset_1v4r4_gg_::before,.___SScrollArea_1v4r4_gg_ .___SShadowHorizontal_1v4r4_gg_.__rightOffset_1v4r4_gg_::after,.___SScrollArea_1v4r4_gg_ .___SShadowVertical_1v4r4_gg_::before{display:none}", /*__inner_css_end__*/"1v4r4_gg_"),
40
+ var scrollStyles = (/*__reshadow_css_start__*/_sstyled2.insert(/*__inner_css_start__*/".___SScrollArea_1t8qe_gg_{width:-moz-fit-content;width:fit-content}.___SScrollArea_1t8qe_gg_ .___SContainer_1t8qe_gg_{overflow:visible;overflow:initial}.___SScrollArea_1t8qe_gg_ .___SContainer_1t8qe_gg_._scrollDirection_both_1t8qe_gg_{overflow:auto}.___SScrollArea_1t8qe_gg_ .___SContainer_1t8qe_gg_._scrollDirection_both_1t8qe_gg_.__loading_1t8qe_gg_,.___SScrollArea_1t8qe_gg_ .___SContainer_1t8qe_gg_._scrollDirection_horizontal_1t8qe_gg_.__loading_1t8qe_gg_,.___SScrollArea_1t8qe_gg_ .___SContainer_1t8qe_gg_._scrollDirection_vertical_1t8qe_gg_.__loading_1t8qe_gg_{overflow:hidden}.___SScrollArea_1t8qe_gg_ .___SContainer_1t8qe_gg_._scrollDirection_horizontal_1t8qe_gg_{overflow-x:auto;overflow-y:initial}.___SScrollArea_1t8qe_gg_ .___SContainer_1t8qe_gg_._scrollDirection_vertical_1t8qe_gg_{overflow-x:initial;overflow-y:auto}.___SScrollArea_1t8qe_gg_ .___SContainer_1t8qe_gg_.__headerHeight_1t8qe_gg_{scroll-padding-top:var(--headerHeight_1t8qe)}.___SScrollArea_1t8qe_gg_ .___SContainer_1t8qe_gg_.__leftScrollPadding_1t8qe_gg_{scroll-padding-left:var(--leftScrollPadding_1t8qe)}.___SScrollArea_1t8qe_gg_ .___SContainer_1t8qe_gg_.__rightScrollPadding_1t8qe_gg_{scroll-padding-right:var(--rightScrollPadding_1t8qe)}.___SScrollArea_1t8qe_gg_ .___SShadowHorizontal_1t8qe_gg_::before,.___SScrollArea_1t8qe_gg_ .___SShadowHorizontal_1t8qe_gg_:after,.___SScrollArea_1t8qe_gg_ .___SShadowVertical_1t8qe_gg_::after{z-index:20}.___SScrollArea_1t8qe_gg_ .___SShadowHorizontal_1t8qe_gg_.__leftOffset_1t8qe_gg_::before,.___SScrollArea_1t8qe_gg_ .___SShadowHorizontal_1t8qe_gg_.__rightOffset_1t8qe_gg_::after,.___SScrollArea_1t8qe_gg_ .___SShadowVertical_1t8qe_gg_::before{display:none}", /*__inner_css_end__*/"1t8qe_gg_"),
41
41
  /*__reshadow_css_end__*/
42
42
  {
43
- "__SScrollArea": "___SScrollArea_1v4r4_gg_",
44
- "__SContainer": "___SContainer_1v4r4_gg_",
45
- "_scrollDirection_both": "_scrollDirection_both_1v4r4_gg_",
46
- "_loading": "__loading_1v4r4_gg_",
47
- "_scrollDirection_horizontal": "_scrollDirection_horizontal_1v4r4_gg_",
48
- "_scrollDirection_vertical": "_scrollDirection_vertical_1v4r4_gg_",
49
- "_headerHeight": "__headerHeight_1v4r4_gg_",
50
- "--headerHeight": "--headerHeight_1v4r4",
51
- "_leftScrollPadding": "__leftScrollPadding_1v4r4_gg_",
52
- "--leftScrollPadding": "--leftScrollPadding_1v4r4",
53
- "_rightScrollPadding": "__rightScrollPadding_1v4r4_gg_",
54
- "--rightScrollPadding": "--rightScrollPadding_1v4r4",
55
- "__SShadowVertical": "___SShadowVertical_1v4r4_gg_",
56
- "__SShadowHorizontal": "___SShadowHorizontal_1v4r4_gg_",
57
- "_leftOffset": "__leftOffset_1v4r4_gg_",
58
- "_rightOffset": "__rightOffset_1v4r4_gg_"
43
+ "__SScrollArea": "___SScrollArea_1t8qe_gg_",
44
+ "__SContainer": "___SContainer_1t8qe_gg_",
45
+ "_scrollDirection_both": "_scrollDirection_both_1t8qe_gg_",
46
+ "_loading": "__loading_1t8qe_gg_",
47
+ "_scrollDirection_horizontal": "_scrollDirection_horizontal_1t8qe_gg_",
48
+ "_scrollDirection_vertical": "_scrollDirection_vertical_1t8qe_gg_",
49
+ "_headerHeight": "__headerHeight_1t8qe_gg_",
50
+ "--headerHeight": "--headerHeight_1t8qe",
51
+ "_leftScrollPadding": "__leftScrollPadding_1t8qe_gg_",
52
+ "--leftScrollPadding": "--leftScrollPadding_1t8qe",
53
+ "_rightScrollPadding": "__rightScrollPadding_1t8qe_gg_",
54
+ "--rightScrollPadding": "--rightScrollPadding_1t8qe",
55
+ "__SShadowVertical": "___SShadowVertical_1t8qe_gg_",
56
+ "__SShadowHorizontal": "___SShadowHorizontal_1t8qe_gg_",
57
+ "_leftOffset": "__leftOffset_1t8qe_gg_",
58
+ "_rightOffset": "__rightOffset_1t8qe_gg_"
59
59
  });
60
60
  import { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';
61
61
  import { Body } from '../Body/Body';
@@ -186,11 +186,9 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
186
186
  accordionMode = _this$asProps2.accordionMode;
187
187
  if (expandedRows.has(expandedRow[UNIQ_ROW_KEY])) {
188
188
  expandedRows["delete"](expandedRow[UNIQ_ROW_KEY]);
189
- _this.handlers.expandedRows(expandedRows);
190
189
  onAccordionToggle === null || onAccordionToggle === void 0 || onAccordionToggle('close', expandedRow[UNIQ_ROW_KEY], expandedRow[ROW_INDEX]);
191
190
  } else {
192
191
  expandedRows.add(expandedRow[UNIQ_ROW_KEY]);
193
- _this.handlers.expandedRows(expandedRows);
194
192
  onAccordionToggle === null || onAccordionToggle === void 0 || onAccordionToggle('open', expandedRow[UNIQ_ROW_KEY], expandedRow[ROW_INDEX]);
195
193
  if (accordionMode === 'toggle') {
196
194
  var rowIndex = expandedRow[ROW_INDEX];
@@ -494,13 +492,6 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
494
492
  }
495
493
  _inherits(DataTableRoot, _Component);
496
494
  return _createClass(DataTableRoot, [{
497
- key: "uncontrolledProps",
498
- value: function uncontrolledProps() {
499
- return {
500
- expandedRows: new Set()
501
- };
502
- }
503
- }, {
504
495
  key: "componentDidMount",
505
496
  value: function componentDidMount() {
506
497
  var _this2 = this;
@@ -546,9 +537,11 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
546
537
  }, {
547
538
  key: "componentWillUnmount",
548
539
  value: function componentWillUnmount() {
540
+ var _this$asProps$expande;
549
541
  if (canUseDOM()) {
550
542
  document.removeEventListener('scroll', this.handleDocumentScroll);
551
543
  }
544
+ (_this$asProps$expande = this.asProps.expandedRows) === null || _this$asProps$expande === void 0 || _this$asProps$expande.clear();
552
545
  }
553
546
  }, {
554
547
  key: "totalRows",
@@ -1010,7 +1003,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
1010
1003
  var gridRowIndex = 0;
1011
1004
  var id = 100000000; // need this for gen keys by toString(36)
1012
1005
 
1013
- var makeDtRow = function makeDtRow(row, excludeColumns) {
1006
+ var _makeDtRow = function makeDtRow(row, excludeColumns) {
1014
1007
  var columns = new Set(columnNames);
1015
1008
  var accordionInCell = null;
1016
1009
  var dtRow = Object.entries(row).reduce(function (acc, _ref4) {
@@ -1037,10 +1030,16 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
1037
1030
  }, _defineProperty(_defineProperty(_defineProperty({}, UNIQ_ROW_KEY, row[UNIQ_ROW_KEY] || (uniqueRowKey ? row[uniqueRowKey] : "".concat(uid, "_").concat((rowIndex + id).toString(36)))), ROW_INDEX, rowIndex), GRID_ROW_INDEX, gridRowIndex));
1038
1031
  gridRowIndex++;
1039
1032
  if (row[ACCORDION]) {
1040
- dtRow[ACCORDION] = row[ACCORDION];
1041
- gridRowIndex = Array.isArray(row[ACCORDION]) ? gridRowIndex + row[ACCORDION].length : gridRowIndex + 1;
1033
+ if (Array.isArray(row[ACCORDION])) {
1034
+ dtRow[ACCORDION] = row[ACCORDION].map(function (item) {
1035
+ return _makeDtRow(item);
1036
+ });
1037
+ } else if (/*#__PURE__*/React.isValidElement(row[ACCORDION])) {
1038
+ dtRow[ACCORDION] = row[ACCORDION];
1039
+ gridRowIndex++;
1040
+ }
1042
1041
  } else if (accordionInCell) {
1043
- gridRowIndex = Array.isArray(accordionInCell) ? gridRowIndex + accordionInCell.length : gridRowIndex + 1;
1042
+ gridRowIndex++;
1044
1043
  }
1045
1044
  excludeColumns === null || excludeColumns === void 0 || excludeColumns.forEach(function (value) {
1046
1045
  columns["delete"](value);
@@ -1061,7 +1060,10 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
1061
1060
  var _ref7 = _slicedToArray(_ref6, 2),
1062
1061
  key = _ref7[0],
1063
1062
  value = _ref7[1];
1064
- acc[key] = new MergedRowsCell(value, groupedRows.length, row[ACCORDION]);
1063
+ var accordion = Array.isArray(row[ACCORDION]) ? row[ACCORDION].map(function (item) {
1064
+ return _makeDtRow(item);
1065
+ }) : row[ACCORDION];
1066
+ acc[key] = new MergedRowsCell(value, groupedRows.length, accordion);
1065
1067
  groupedKeys.push(key);
1066
1068
  return acc;
1067
1069
  }, _defineProperty(_defineProperty({}, UNIQ_ROW_KEY, ''), ROW_INDEX, -1));
@@ -1069,11 +1071,11 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
1069
1071
  var dtRow;
1070
1072
  if (index === 0) {
1071
1073
  var rowData = _objectSpread(_objectSpread({}, childRow), groupedRowData);
1072
- dtRow = makeDtRow(rowData);
1074
+ dtRow = _makeDtRow(rowData);
1073
1075
  dtRow[ROW_GROUP] = new Set();
1074
1076
  } else {
1075
1077
  var _innerRows$;
1076
- dtRow = makeDtRow(childRow, groupedKeys);
1078
+ dtRow = _makeDtRow(childRow, groupedKeys);
1077
1079
  (_innerRows$ = innerRows[0]) === null || _innerRows$ === void 0 || (_innerRows$ = _innerRows$[ROW_GROUP]) === null || _innerRows$ === void 0 || _innerRows$.add(dtRow[UNIQ_ROW_KEY]);
1078
1080
  }
1079
1081
  innerRows.push(dtRow);
@@ -1084,7 +1086,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
1084
1086
  });
1085
1087
  rows.push(innerRows);
1086
1088
  } else {
1087
- var dtRow = makeDtRow(row);
1089
+ var dtRow = _makeDtRow(row);
1088
1090
  rows.push(dtRow);
1089
1091
  rowIndex++;
1090
1092
  }
@@ -1129,7 +1131,7 @@ _defineProperty(DataTableRoot, "enhance", [uniqueIDEnhancement(), i18nEnhance(lo
1129
1131
  _defineProperty(DataTableRoot, "defaultProps", {
1130
1132
  use: 'primary',
1131
1133
  defaultGridTemplateColumnWidth: 'auto',
1132
- defaultExpandedRows: new Set(),
1134
+ expandedRows: new Set(),
1133
1135
  defaultSelectedRows: undefined,
1134
1136
  h: 'fit-content',
1135
1137
  renderEmptyData: function renderEmptyData() {