@semcore/data-table 16.0.0-prerelease.16 → 16.0.0-prerelease.18

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 (107) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/lib/cjs/components/Body/Body.js +336 -97
  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 +89 -32
  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 +9 -5
  9. package/lib/cjs/components/Body/MergedCells.js.map +1 -1
  10. package/lib/cjs/components/Body/Row.js +86 -112
  11. package/lib/cjs/components/Body/Row.js.map +1 -1
  12. package/lib/cjs/components/Body/Row.types.js +2 -0
  13. package/lib/cjs/components/Body/Row.types.js.map +1 -1
  14. package/lib/cjs/components/Body/style.shadow.css +87 -36
  15. package/lib/cjs/components/DataTable/DataTable.js +317 -158
  16. package/lib/cjs/components/DataTable/DataTable.js.map +1 -1
  17. package/lib/cjs/components/DataTable/DataTable.types.js +2 -0
  18. package/lib/cjs/components/DataTable/DataTable.types.js.map +1 -1
  19. package/lib/cjs/components/DataTable/dataTable.shadow.css +4 -0
  20. package/lib/cjs/components/Head/Column.js +54 -33
  21. package/lib/cjs/components/Head/Column.js.map +1 -1
  22. package/lib/cjs/components/Head/Column.types.js.map +1 -1
  23. package/lib/cjs/components/Head/Group.js +51 -38
  24. package/lib/cjs/components/Head/Group.js.map +1 -1
  25. package/lib/cjs/components/Head/Group.type.js.map +1 -1
  26. package/lib/cjs/components/Head/Head.js +46 -31
  27. package/lib/cjs/components/Head/Head.js.map +1 -1
  28. package/lib/cjs/components/Head/Head.types.js.map +1 -1
  29. package/lib/cjs/components/Head/style.shadow.css +16 -14
  30. package/lib/cjs/index.js.map +1 -1
  31. package/lib/cjs/style/scroll-shadows.shadow.css +30 -6
  32. package/lib/es6/components/Body/Body.js +337 -98
  33. package/lib/es6/components/Body/Body.js.map +1 -1
  34. package/lib/es6/components/Body/Body.types.js.map +1 -1
  35. package/lib/es6/components/Body/Cell.js +89 -32
  36. package/lib/es6/components/Body/Cell.js.map +1 -1
  37. package/lib/es6/components/Body/Cell.types.js.map +1 -1
  38. package/lib/es6/components/Body/MergedCells.js +9 -5
  39. package/lib/es6/components/Body/MergedCells.js.map +1 -1
  40. package/lib/es6/components/Body/Row.js +86 -112
  41. package/lib/es6/components/Body/Row.js.map +1 -1
  42. package/lib/es6/components/Body/Row.types.js +1 -1
  43. package/lib/es6/components/Body/Row.types.js.map +1 -1
  44. package/lib/es6/components/Body/style.shadow.css +87 -36
  45. package/lib/es6/components/DataTable/DataTable.js +315 -157
  46. package/lib/es6/components/DataTable/DataTable.js.map +1 -1
  47. package/lib/es6/components/DataTable/DataTable.types.js +1 -1
  48. package/lib/es6/components/DataTable/DataTable.types.js.map +1 -1
  49. package/lib/es6/components/DataTable/dataTable.shadow.css +4 -0
  50. package/lib/es6/components/Head/Column.js +52 -31
  51. package/lib/es6/components/Head/Column.js.map +1 -1
  52. package/lib/es6/components/Head/Column.types.js.map +1 -1
  53. package/lib/es6/components/Head/Group.js +51 -38
  54. package/lib/es6/components/Head/Group.js.map +1 -1
  55. package/lib/es6/components/Head/Group.type.js.map +1 -1
  56. package/lib/es6/components/Head/Head.js +47 -32
  57. package/lib/es6/components/Head/Head.js.map +1 -1
  58. package/lib/es6/components/Head/Head.types.js.map +1 -1
  59. package/lib/es6/components/Head/style.shadow.css +16 -14
  60. package/lib/es6/index.js.map +1 -1
  61. package/lib/es6/style/scroll-shadows.shadow.css +30 -6
  62. package/lib/esm/components/Body/Body.mjs +317 -94
  63. package/lib/esm/components/Body/Cell.mjs +82 -31
  64. package/lib/esm/components/Body/MergedCells.mjs +9 -5
  65. package/lib/esm/components/Body/Row.mjs +78 -107
  66. package/lib/esm/components/DataTable/DataTable.mjs +281 -105
  67. package/lib/esm/components/Head/Column.mjs +52 -32
  68. package/lib/esm/components/Head/Group.mjs +48 -39
  69. package/lib/esm/components/Head/Head.mjs +45 -32
  70. package/lib/esm/utils.mjs +0 -9
  71. package/lib/types/components/Body/Body.types.d.ts +21 -12
  72. package/lib/types/components/Body/Cell.types.d.ts +9 -6
  73. package/lib/types/components/Body/MergedCells.d.ts +8 -3
  74. package/lib/types/components/Body/Row.types.d.ts +22 -10
  75. package/lib/types/components/DataTable/DataTable.d.ts +2 -1
  76. package/lib/types/components/DataTable/DataTable.types.d.ts +55 -6
  77. package/lib/types/components/Head/Column.d.ts +2 -1
  78. package/lib/types/components/Head/Column.types.d.ts +5 -3
  79. package/lib/types/components/Head/Group.d.ts +5 -2
  80. package/lib/types/components/Head/Group.type.d.ts +6 -1
  81. package/lib/types/components/Head/Head.d.ts +93 -3
  82. package/lib/types/components/Head/Head.types.d.ts +1 -0
  83. package/lib/types/index.d.ts +2 -2
  84. package/package.json +8 -7
  85. package/lib/cjs/Body.js +0 -476
  86. package/lib/cjs/Body.js.map +0 -1
  87. package/lib/cjs/DataTable.js +0 -622
  88. package/lib/cjs/DataTable.js.map +0 -1
  89. package/lib/cjs/Head.js +0 -399
  90. package/lib/cjs/Head.js.map +0 -1
  91. package/lib/cjs/style/data-table.shadow.css +0 -394
  92. package/lib/cjs/types.js +0 -4
  93. package/lib/cjs/types.js.map +0 -1
  94. package/lib/es6/Body.js +0 -469
  95. package/lib/es6/Body.js.map +0 -1
  96. package/lib/es6/DataTable.js +0 -614
  97. package/lib/es6/DataTable.js.map +0 -1
  98. package/lib/es6/Head.js +0 -391
  99. package/lib/es6/Head.js.map +0 -1
  100. package/lib/es6/style/data-table.shadow.css +0 -394
  101. package/lib/es6/types.js +0 -2
  102. package/lib/es6/types.js.map +0 -1
  103. package/lib/esm/Head.mjs +0 -369
  104. package/lib/types/Body.d.ts +0 -61
  105. package/lib/types/DataTable.d.ts +0 -205
  106. package/lib/types/Head.d.ts +0 -45
  107. package/lib/types/types.d.ts +0 -73
@@ -1 +1 @@
1
- {"version":3,"file":"Body.js","names":["_core","require","React","_interopRequireWildcard","_baseComponents","_Row","_Cell","_MergedCells","_DataTable","_m","_interopRequireDefault","_button","_spin","style","sstyled","insert","BodyRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","expandedRowIndex","expandedRows","asProps","includes","handlers","filter","row","_toConsumableArray2","_createClass2","key","value","uncontrolledProps","getRowProps","_","index","_this$asProps","rows","use","gridTemplateAreas","gridTemplateColumns","columns","headerRows","rowIndex","reduce","acc","item","accordionDataGridArea","isArray","ACCORDION","expanded","getCellProps","props","_this2","_this$asProps2","renderCell","styles","getI18nText","SAccordionToggle","ButtonLink","cellValue","name","MergedRowsCell","MergedColumnsCell","defaultRender","columnIndex","_ref2","createElement","Fragment","cn","onClick","onExpandRow","Addon","tag","ChevronRightM","children","column","render","_ref","_ref3","SBody","Box","SSpinContainer","_this$asProps3","loading","headerHeight","_objectSpread2","assignProps","map","Body","Row","role","Component","defaultExpandedRows","createComponent","Cell","exports"],"sources":["../../../../src/components/Body/Body.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Component, createComponent, Intergalactic, Root, sstyled } from '@semcore/core';\nimport { BodyPropsInner, DataTableBodyProps } from './Body.types';\nimport { Box } from '@semcore/base-components';\nimport { Row } from './Row';\n\nimport style from './style.shadow.css';\nimport { Cell } from './Cell';\nimport { DataTableRowProps } from './Row.types';\nimport { DataTableCellProps } from './Cell.types';\nimport { MergedColumnsCell, MergedRowsCell } from './MergedCells';\nimport { ACCORDION } from '../DataTable/DataTable';\nimport ChevronRightM from '@semcore/icon/ChevronRight/m';\nimport { ButtonLink } from '@semcore/button';\nimport { DTValue } from '../DataTable/DataTable.types';\nimport Spin from '@semcore/spin';\n\nclass BodyRoot extends Component<DataTableBodyProps, {}, {}, [], BodyPropsInner> {\n static displayName = 'Body';\n static style = style;\n\n static defaultProps = {\n defaultExpandedRows: [],\n };\n\n uncontrolledProps() {\n return {\n expandedRows: [],\n };\n }\n\n onExpandRow = (expandedRowIndex: number) => {\n const { expandedRows } = this.asProps;\n if (expandedRows?.includes(expandedRowIndex)) {\n this.handlers.expandedRows(expandedRows.filter((row) => row !== expandedRowIndex));\n } else {\n this.handlers.expandedRows([...expandedRows!, expandedRowIndex]);\n }\n };\n\n getRowProps(_: any, index: number) {\n const { rows, use, gridTemplateAreas, gridTemplateColumns, expandedRows, columns, headerRows } =\n this.asProps;\n const row = rows[index];\n\n const rowIndex = (expandedRows ?? []).reduce((acc, item) => {\n if (item < index) {\n acc = acc + 1;\n }\n\n return acc;\n }, index);\n\n const accordionDataGridArea = Array.isArray(row[ACCORDION])\n ? `${rowIndex + headerRows + 2} / 1 / ${\n rowIndex + headerRows + 2 + row[ACCORDION].length\n } / ${columns.length + 1}`\n : `${rowIndex + headerRows + 2} / 1 / ${rowIndex + headerRows + 2} / ${columns.length + 1}`;\n\n return {\n use,\n gridTemplateAreas,\n gridTemplateColumns,\n expanded: expandedRows?.includes(index),\n accordionDataGridArea,\n columns,\n headerRows,\n rowIndex: index,\n rows,\n };\n }\n\n getCellProps(props: DataTableCellProps) {\n const { use, renderCell, expandedRows, styles, getI18nText } = this.asProps;\n const SAccordionToggle = ButtonLink;\n\n const cellValue = props.row[props.name];\n\n let value: DTValue = '';\n\n if (cellValue instanceof MergedRowsCell || cellValue instanceof MergedColumnsCell) {\n value = cellValue.value;\n } else {\n value = cellValue;\n }\n\n const defaultRender = () => {\n if (props.columnIndex === 0 && props.row[ACCORDION]) {\n return sstyled(styles)(\n <>\n <SAccordionToggle\n aria-label={getI18nText('DataTable.Cell.AccordionToggle.expand:aria-label')}\n // @ts-ignore\n expanded={expandedRows?.includes(props.rowIndex)}\n onClick={() => this.onExpandRow(props.rowIndex)}\n color={'--intergalactic-icon-primary-neutral'}\n >\n <SAccordionToggle.Addon tag={ChevronRightM} />\n </SAccordionToggle>\n {value}\n </>,\n );\n }\n\n return value;\n };\n\n return {\n use,\n children: renderCell\n ? renderCell({\n name: props.name,\n row: props.row,\n column: props.column,\n rowIndex: props.rowIndex,\n columnIndex: props.columnIndex,\n defaultRender: defaultRender,\n value,\n })\n : defaultRender(),\n };\n }\n\n render() {\n const SBody = Root;\n const SSpinContainer = Box;\n const { rows, columns, styles, headerRows, loading, headerHeight } = this.asProps;\n\n return sstyled(styles)(\n <SBody render={Box}>\n {rows.map((row, index) => {\n return (\n // @ts-ignore\n <Body.Row\n key={index}\n role={'row'}\n aria-rowindex={index + 2}\n // columns={columns}\n row={row}\n // rows={rows}\n // rowIndex={index}\n // headerRows={headerRows}\n />\n );\n })}\n {loading && (\n // @ts-ignore\n <SSpinContainer aria-hidden headerHeight={`${headerHeight}px`}>\n <Spin size={'xxl'} />\n </SSpinContainer>\n )}\n </SBody>,\n );\n }\n}\n\nexport const Body = createComponent(BodyRoot, {\n Row,\n Cell,\n}) as Intergalactic.Component<'div', DataTableBodyProps> & {\n Row: Intergalactic.Component<'div', DataTableRowProps>;\n Cell: Intergalactic.Component<'div', DataTableCellProps>;\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"Body.js","names":["_core","require","React","_interopRequireWildcard","_baseComponents","_Row","_Cell","_MergedCells","_DataTable","_m","_interopRequireDefault","_button","_spin","style","sstyled","insert","ROWS_BUFFER","APROX_ROWS_ON_PAGE","BodyRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","Map","index","node","rowsHeightMap","has","firstChild","children","item","HTMLElement","offset","offsetTop","asProps","headerHeight","height","getBoundingClientRect","set","_createClass2","key","value","componentDidMount","rows","calculateRows","forceUpdate","componentDidUpdate","prevProps","data","getRowProps","props","i","_this2","_this$asProps","use","gridTemplateAreas","gridTemplateColumns","expandedRows","columns","onExpandRow","loading","hasGroups","row","rowIndex","reduce","acc","expandedRow","flat","ACCORDION","isArray","gridRowIndex","ariaRowIndex","accordionDataGridArea","expanded","includes","inert","undefined","getCellProps","_props$children","_this$asProps2","renderCell","styles","getI18nText","virtualScroll","tableRef","SAccordionToggle","ButtonLink","dataKey","column","name","cellValue","isMergedRows","MergedRowsCell","isMergedColumns","MergedColumnsCell","defaultRender","_value","_value3","columnIndex","_ref2","_value2","createElement","Fragment","cn","onClick","Addon","tag","ChevronRightM","toString","extraProps","Boolean","_value$toString","_value4","external","columnName","isReactNode","render","_ref","_ref3","_this3","SBody","Box","SRowGroup","SSpinContainer","_this$asProps3","spinnerRef","scrollDirection","tableContainerRef","scrollTop","rowsToRender","startIndex","lastIndex","_virtualScroll$rowsBu","_tableContainerRef$cu","_tableContainerRef$cu2","rowsBuffer","offsetHeight","current","prevPrepared","nextPrepared","_virtualScroll$aproxR","aproxRowsOnPage","_this$rowsHeightMap$g","_this$rowsHeightMap$g2","_lastIndex","indexForDownIterate","size","get","valueFromToCompare","valueToToCompare","Math","max","min","_this$rowsHeightMap$g3","_this$rowsHeightMap$g4","_startIndex","indexForUpIterate","slice","rowHeight","floor","ceil","_objectSpread2","assignProps","map","rowMarginTop","_this3$rowsHeightMap$","_ref4","Body","Row","UNIQ_ROW_KEY","ref","handleRef","obj","isValidElement","_this4","_this$asProps4","uid","columnNames","id","makeDtRow","excludeColumns","Set","dtRow","Object","entries","_ref5","_ref6","_slicedToArray2","columnsToRow","split","columnsSplitter","forEach","groupedRows","ROW_GROUP","fromRow","toRow","innerRows","groupedKeys","groupedRowData","_ref7","_ref8","push","childRow","rowData","Component","createComponent","Cell","exports"],"sources":["../../../../src/components/Body/Body.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Component, createComponent, Intergalactic, Root, sstyled } from '@semcore/core';\nimport { BodyPropsInner, DataTableBodyProps } from './Body.types';\nimport { Box } from '@semcore/base-components';\nimport { Row } from './Row';\n\nimport style from './style.shadow.css';\nimport { Cell } from './Cell';\nimport { DataTableRowProps, DTRow, RowPropsInner } from './Row.types';\nimport { DataTableCellProps } from './Cell.types';\nimport { MergedColumnsCell, MergedRowsCell } from './MergedCells';\nimport { ACCORDION, ROW_GROUP, UNIQ_ROW_KEY } from '../DataTable/DataTable';\nimport ChevronRightM from '@semcore/icon/ChevronRight/m';\nimport { ButtonLink } from '@semcore/button';\nimport { DataRowItem, DataTableData, DTValue } from '../DataTable/DataTable.types';\nimport Spin from '@semcore/spin';\nimport { DTColumn } from '../Head/Column.types';\n\nconst ROWS_BUFFER = 20;\nconst APROX_ROWS_ON_PAGE = 20;\n\nclass BodyRoot<D extends DataTableData> extends Component<\n DataTableBodyProps,\n {},\n {},\n [],\n BodyPropsInner<D>\n> {\n static displayName = 'Body';\n static style = style;\n\n private columnsSplitter = '/';\n private rows: Array<DTRow | DTRow[]> = [];\n\n rowsHeightMap = new Map<number, [number, number]>();\n\n indexForDownIterate = 0;\n indexForUpIterate = 0;\n\n componentDidMount() {\n this.rows = this.calculateRows();\n\n this.forceUpdate();\n }\n\n componentDidUpdate(prevProps: DataTableBodyProps & BodyPropsInner<D>) {\n if (prevProps.data !== this.asProps.data) {\n this.rows = this.calculateRows();\n\n this.forceUpdate();\n }\n }\n\n handleRef = (index: number) => (node: HTMLElement | null) => {\n if (!this.rowsHeightMap.has(index)) {\n const firstChild = node?.children.item(0);\n if (firstChild instanceof HTMLElement) {\n const offset = firstChild.offsetTop - this.asProps.headerHeight;\n const height = firstChild.getBoundingClientRect().height;\n\n this.rowsHeightMap.set(index, [offset, offset + height]);\n }\n }\n };\n\n getRowProps(props: { row: DTRow; offset: number }, i: number): RowPropsInner {\n const {\n use,\n gridTemplateAreas,\n gridTemplateColumns,\n expandedRows,\n columns,\n onExpandRow,\n loading,\n hasGroups,\n } = this.asProps;\n const row = props.row;\n const index = props.offset + i;\n\n const rowIndex = (expandedRows ?? []).reduce((acc, item) => {\n if (item < index) {\n const expandedRow = this.rows.flat()[item][ACCORDION];\n if (Array.isArray(expandedRow)) {\n acc = acc + expandedRow.length;\n } else {\n acc = acc + 1;\n }\n }\n\n return acc;\n }, index);\n\n const gridRowIndex = rowIndex + (hasGroups ? 3 : 2); // 1 - for header, 1 - because start not from 0, but from 1\n const ariaRowIndex = rowIndex + 2; // 1 - for header, 1 - because start not from 0, but from 1\n\n const accordionDataGridArea = Array.isArray(row[ACCORDION])\n ? `${gridRowIndex + 1} / 1 / ${gridRowIndex + 1 + row[ACCORDION].length} / ${\n columns.length + 1\n }`\n : `${gridRowIndex + 1} / 1 / ${gridRowIndex + 1} / ${columns.length + 1}`;\n\n return {\n use,\n gridTemplateAreas,\n gridTemplateColumns,\n expanded: expandedRows?.includes(index),\n accordionDataGridArea,\n columns,\n rowIndex: index,\n ariaRowIndex,\n gridRowIndex,\n rows: this.rows,\n row,\n expandedRows,\n onExpandRow,\n inert: loading ? '' : undefined,\n };\n }\n\n getCellProps(props: DataTableCellProps) {\n const {\n use,\n renderCell,\n expandedRows,\n styles,\n getI18nText,\n onExpandRow,\n virtualScroll,\n tableRef,\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 if ((props.columnIndex === 0 && props.row[ACCORDION]) || value?.[ACCORDION]) {\n return sstyled(styles)(\n <>\n <SAccordionToggle\n aria-label={getI18nText('DataTable.Cell.AccordionToggle.expand:aria-label')}\n // @ts-ignore\n expanded={expandedRows?.includes(props.rowIndex)}\n onClick={() => onExpandRow(props.rowIndex)}\n color={'--intergalactic-icon-primary-neutral'}\n >\n <SAccordionToggle.Addon tag={ChevronRightM} />\n </SAccordionToggle>\n {value?.toString()}\n </>,\n );\n }\n\n return value?.toString();\n };\n\n const extraProps: Record<string, any> = {\n use,\n virtualScroll: Boolean(virtualScroll),\n tableRef,\n children: props.children ?? defaultRender(),\n };\n\n if (renderCell) {\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: value?.toString() ?? '',\n isMergedRows,\n isMergedColumns,\n });\n\n if (this.isReactNode(external) || Array.isArray(external)) {\n extraProps.children = external;\n } else {\n for (const key in external) {\n extraProps[key] = external[key];\n }\n }\n }\n\n return extraProps;\n }\n\n render() {\n const SBody = Root;\n const SRowGroup = Box;\n const SSpinContainer = Box;\n const {\n styles,\n loading,\n headerHeight,\n spinnerRef,\n virtualScroll,\n scrollDirection,\n tableContainerRef,\n scrollTop,\n } = this.asProps;\n\n let rowsToRender = this.rows;\n let startIndex = -1;\n let lastIndex = -1;\n\n if (virtualScroll) {\n const rowsBuffer =\n typeof virtualScroll !== 'boolean' && 'rowsBuffer' in virtualScroll\n ? virtualScroll.rowsBuffer ?? ROWS_BUFFER\n : ROWS_BUFFER;\n const offsetHeight = tableContainerRef.current?.offsetHeight ?? 0;\n const prevPrepared = scrollDirection === 'up' ? rowsBuffer : 4;\n const nextPrepared = scrollDirection === 'up' ? 4 : rowsBuffer;\n\n if (typeof virtualScroll === 'boolean' || 'aproxRowsOnPage' in virtualScroll) {\n const aproxRowsOnPage =\n typeof virtualScroll !== 'boolean'\n ? virtualScroll.aproxRowsOnPage ?? APROX_ROWS_ON_PAGE\n : APROX_ROWS_ON_PAGE;\n if (scrollDirection === 'down') {\n for (let i = this.indexForDownIterate; i < this.rowsHeightMap.size - 1; i++) {\n const value = this.rowsHeightMap.get(i);\n if (!value) continue;\n const key = i;\n const valueFromToCompare = value[1];\n const valueToToCompare = value[0];\n\n if (startIndex === -1 && scrollTop < valueFromToCompare) {\n startIndex = Math.max(key - prevPrepared, 0);\n }\n\n if (startIndex !== -1 && scrollTop + offsetHeight < valueToToCompare) {\n lastIndex = Math.min(key + nextPrepared, this.rows.length);\n }\n\n if (startIndex !== -1 && lastIndex !== -1) {\n break;\n }\n }\n\n if (scrollTop + offsetHeight < (this.rowsHeightMap.get(lastIndex ?? 0)?.[1] ?? 0)) {\n lastIndex = lastIndex + aproxRowsOnPage;\n }\n } else if (scrollDirection === 'up') {\n for (let i = this.indexForUpIterate; i > 0; i--) {\n const value = this.rowsHeightMap.get(i);\n if (!value) continue;\n const key = i;\n const valueFromToCompare = value[1];\n const valueToToCompare = value[0];\n\n if (lastIndex === -1 && scrollTop + offsetHeight > valueToToCompare) {\n lastIndex = Math.min(key + nextPrepared, this.rows.length);\n }\n\n if (lastIndex !== -1 && scrollTop < valueFromToCompare) {\n startIndex = Math.max(key - prevPrepared, 0);\n }\n\n if (startIndex !== -1 && lastIndex !== -1) {\n break;\n }\n }\n\n if (scrollTop < (this.rowsHeightMap.get(startIndex ?? 0)?.[0] ?? 0)) {\n startIndex = startIndex - aproxRowsOnPage;\n }\n }\n\n if (startIndex === -1) {\n startIndex = scrollTop === 0 ? 0 : Math.max(this.rows.length - aproxRowsOnPage, 0);\n }\n\n if (lastIndex === -1) {\n lastIndex = scrollTop === 0 ? aproxRowsOnPage : this.rows.length;\n }\n\n this.indexForDownIterate = startIndex;\n this.indexForUpIterate = lastIndex;\n\n rowsToRender = this.rows.slice(startIndex, lastIndex);\n } else if ('rowHeight' in virtualScroll) {\n const rowHeight = virtualScroll.rowHeight;\n\n startIndex = Math.max(Math.floor(scrollTop / rowHeight) - prevPrepared, 0);\n\n const lastIndex = Math.min(\n Math.ceil((scrollTop + offsetHeight) / rowHeight) + nextPrepared,\n this.rows.length,\n );\n\n rowsToRender = this.rows.slice(startIndex, lastIndex);\n }\n }\n\n startIndex = startIndex === -1 ? 0 : startIndex;\n\n return sstyled(styles)(\n <SBody render={Box} __excludeProps={['data']}>\n {rowsToRender.map((row, index) => {\n let rowMarginTop: number | undefined = undefined;\n\n if (index === 0 && typeof virtualScroll === 'boolean') {\n rowMarginTop = this.rowsHeightMap.get(startIndex - 1)?.[1];\n }\n\n if (Array.isArray(row)) {\n return sstyled(styles)(\n <SRowGroup role={'rowgroup'} key={index}>\n {row.map((item, i) => {\n return <Body.Row key={item[UNIQ_ROW_KEY]} row={item} offset={startIndex} />;\n })}\n </SRowGroup>,\n );\n }\n return (\n <Body.Row\n key={row[UNIQ_ROW_KEY]}\n row={row}\n offset={startIndex}\n ref={this.handleRef(startIndex + index)}\n rowMarginTop={rowMarginTop}\n />\n );\n })}\n {loading && (\n <SSpinContainer\n innerOutline\n // @ts-ignore\n headerHeight={`${headerHeight}px`}\n tabIndex={-1}\n ref={spinnerRef}\n role={'row'}\n >\n <Spin size={'xxl'} role={'gridcell'} />\n </SSpinContainer>\n )}\n </SBody>,\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 calculateRows(): Array<DTRow[] | DTRow> {\n const { data, uid, columns } = this.asProps;\n\n const rows: Array<DTRow[] | DTRow> = [];\n const columnNames = columns.map((column: DTColumn) => column.name);\n\n let rowIndex = 0;\n\n const id = 100000000; // need this for gen keys by toString(36)\n\n const makeDtRow = (row: DataRowItem, excludeColumns?: string[]) => {\n const columns = new Set(columnNames);\n const dtRow = Object.entries(row).reduce<DTRow>(\n (acc, [key, value]) => {\n const columnsToRow = key.split(this.columnsSplitter);\n\n if (columnsToRow.length === 1) {\n acc[key] = value ?? '';\n columns.delete(key);\n } else {\n acc[columnsToRow[0]] = new MergedColumnsCell(value, {\n dataKey: key,\n size: columnsToRow.length,\n });\n columnsToRow.forEach((value) => {\n columns.delete(value);\n });\n }\n\n if (row[ACCORDION]) {\n acc[ACCORDION] = row[ACCORDION];\n }\n\n return acc;\n },\n {\n [UNIQ_ROW_KEY]: `${uid}_${(rowIndex + id).toString(36)}`,\n },\n );\n\n excludeColumns?.forEach((value) => {\n columns.delete(value);\n });\n\n if (columns.size > 0) {\n columns.forEach((value) => {\n dtRow[value] = '';\n });\n }\n\n return dtRow;\n };\n\n data.forEach((row) => {\n const groupedRows: DataTableData | undefined = row[ROW_GROUP];\n\n const fromRow = rowIndex + 2; // 1 - for header, 1 - because start not from 0, but from 1\n\n if (groupedRows) {\n const toRow = fromRow + groupedRows.length;\n const innerRows: DTRow[] = [];\n\n const groupedKeys: string[] = [];\n const groupedRowData = Object.entries(row).reduce<DTRow>(\n (acc, [key, value]) => {\n acc[key] = new MergedRowsCell(value, [fromRow, toRow]);\n groupedKeys.push(key);\n return acc;\n },\n {\n [UNIQ_ROW_KEY]: '', // will fill in makeDtRow\n },\n );\n\n groupedRows.forEach((childRow, index) => {\n let dtRow: DTRow;\n if (index === 0) {\n const rowData = {\n ...childRow,\n ...groupedRowData,\n };\n dtRow = makeDtRow(rowData);\n } else {\n dtRow = makeDtRow(childRow, groupedKeys);\n }\n\n innerRows.push(dtRow);\n rowIndex++;\n });\n\n rows.push(innerRows);\n } else {\n const dtRow = makeDtRow(row);\n\n rows.push(dtRow);\n rowIndex++;\n }\n });\n\n return rows;\n }\n}\n\nexport const Body = createComponent(BodyRoot, {\n Row,\n Cell,\n}) as Intergalactic.Component<'div', DataTableBodyProps> & {\n Row: Intergalactic.Component<'div', DataTableRowProps>;\n Cell: Intergalactic.Component<'div', DataTableCellProps>;\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Body.types.js","names":[],"sources":["../../../../src/components/Body/Body.types.ts"],"sourcesContent":["import { DTRow } from './Row.types';\nimport { DTColumn } from '../Head/Column.types';\nimport { DTUse } from '../DataTable/DataTable.types';\n\ntype CellRenderProps = {\n name: string;\n row: DTRow;\n column: DTColumn;\n rowIndex: number;\n columnIndex: number;\n value: string | number | boolean;\n defaultRender: () => React.ReactNode;\n};\n\nexport type DataTableBodyProps = {\n // rows: DTRow[];\n // columns: DTColumn[];\n\n renderCell?: (props: CellRenderProps) => React.ReactNode;\n\n expandedRows?: number[];\n\n virtualScroll?: boolean;\n};\n\nexport type BodyPropsInner = {\n rows: DTRow[];\n columns: DTColumn[];\n use: DTUse;\n scrollRef: (ref: HTMLDivElement) => void;\n headerRows: number;\n compact: boolean;\n gridTemplateColumns: string[];\n gridTemplateAreas: string[];\n loading?: boolean;\n headerHeight: number;\n getI18nText: (key: string) => string;\n};\n"],"mappings":""}
1
+ {"version":3,"file":"Body.types.js","names":[],"sources":["../../../../src/components/Body/Body.types.ts"],"sourcesContent":["import { DTRow, DTRows } from './Row.types';\nimport { DTColumn } from '../Head/Column.types';\nimport { DataTableData, DTUse, VirtualScroll } from '../DataTable/DataTable.types';\n\nexport type CellRenderProps = {\n dataKey: string;\n row: DTRow;\n column: DTColumn;\n rowIndex: number;\n columnIndex: number;\n columnName: string;\n value: string;\n defaultRender: () => React.ReactNode;\n isMergedRows: boolean;\n isMergedColumns: boolean;\n};\n\nexport type DataTableBodyProps = {\n renderCell?: (props: CellRenderProps) => React.ReactNode | Record<string, any>;\n};\n\nexport type BodyPropsInner<D extends DataTableData> = {\n data: D;\n columns: DTColumn[];\n use: DTUse;\n compact: boolean;\n gridTemplateColumns: string[];\n gridTemplateAreas: string[];\n loading?: boolean;\n headerHeight: number;\n getI18nText: (key: string) => string;\n expandedRows: number[];\n onExpandRow: (rowIndex: number) => void;\n spinnerRef: React.RefObject<HTMLDivElement>;\n tableContainerRef: React.RefObject<HTMLDivElement>;\n tableRef: React.RefObject<HTMLDivElement>;\n scrollTop: number;\n scrollDirection: 'down' | 'up';\n virtualScroll?: VirtualScroll;\n hasGroups: boolean;\n uid: string;\n renderCell?: (props: CellRenderProps) => React.ReactNode | Record<string, any>;\n};\n"],"mappings":""}
@@ -17,34 +17,40 @@ var _core = require("@semcore/core");
17
17
  var React = _interopRequireWildcard(require("react"));
18
18
  var _baseComponents = require("@semcore/base-components");
19
19
  var _getFocusableIn = require("@semcore/core/lib/utils/focus-lock/getFocusableIn");
20
+ var _MergedCells = require("./MergedCells");
21
+ var _isFocusInside = require("@semcore/core/lib/utils/focus-lock/isFocusInside");
20
22
  /*__reshadow-styles__:"./style.shadow.css"*/
21
- var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SBody_1q19z_gg_,.___SRow_1q19z_gg_{display:contents}.___SBody_1q19z_gg_.__compact_1q19z_gg_ .___SCell_1q19z_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SCell_1q19z_gg_.__gridArea_1q19z_gg_,.___SCollapseRow_1q19z_gg_.__gridArea_1q19z_gg_,.___SRow_1q19z_gg_.__gridArea_1q19z_gg_{grid-area:var(--gridArea_1q19z)}.___SRow_1q19z_gg_.__active_1q19z_gg_>.___SCell_1q19z_gg_:not(.__theme_1q19z_gg_),.___SRow_1q19z_gg_._theme_muted_1q19z_gg_.__active_1q19z_gg_>.___SCell_1q19z_gg_:not(.__theme_1q19z_gg_){background-color:var(--intergalactic-table-td-cell-active, #e6e7ed)}@media (hover:hover){.___SRow_1q19z_gg_:hover>.___SCell_1q19z_gg_:not(.__theme_1q19z_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_1q19z_gg_._theme_muted_1q19z_gg_ .___SCell_1q19z_gg_:not(.__theme_1q19z_gg_){background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}@media (hover:hover){.___SRow_1q19z_gg_._theme_muted_1q19z_gg_:hover>.___SCell_1q19z_gg_:not(.__theme_1q19z_gg_),.___SRow_1q19z_gg_:hover>.___SCell_1q19z_gg_._theme_muted_1q19z_gg_{background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_1q19z_gg_._theme_info_1q19z_gg_ .___SCell_1q19z_gg_:not(.__theme_1q19z_gg_){background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SRow_1q19z_gg_._theme_info_1q19z_gg_.__active_1q19z_gg_>.___SCell_1q19z_gg_:not(.__theme_1q19z_gg_){background-color:var(--intergalactic-table-td-cell-selected-active, #c4e5fe)}@media (hover:hover){.___SRow_1q19z_gg_._theme_info_1q19z_gg_:hover>.___SCell_1q19z_gg_:not(.__theme_1q19z_gg_),.___SRow_1q19z_gg_:hover>.___SCell_1q19z_gg_._theme_info_1q19z_gg_{background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}}.___SRow_1q19z_gg_._theme_success_1q19z_gg_ .___SCell_1q19z_gg_:not(.__theme_1q19z_gg_){background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SRow_1q19z_gg_._theme_success_1q19z_gg_.__active_1q19z_gg_>.___SCell_1q19z_gg_:not(.__theme_1q19z_gg_){background-color:var(--intergalactic-table-td-cell-new-active, #9ef2c9)}@media (hover:hover){.___SRow_1q19z_gg_._theme_success_1q19z_gg_:hover>.___SCell_1q19z_gg_:not(.__theme_1q19z_gg_),.___SRow_1q19z_gg_:hover>.___SCell_1q19z_gg_._theme_success_1q19z_gg_{background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}}.___SRow_1q19z_gg_._theme_warning_1q19z_gg_ .___SCell_1q19z_gg_:not(.__theme_1q19z_gg_){background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SRow_1q19z_gg_._theme_warning_1q19z_gg_.__active_1q19z_gg_>.___SCell_1q19z_gg_:not(.__theme_1q19z_gg_){background-color:var(--intergalactic-table-td-cell-warning-active, #ffdca2)}@media (hover:hover){.___SRow_1q19z_gg_._theme_warning_1q19z_gg_:hover>.___SCell_1q19z_gg_:not(.__theme_1q19z_gg_),.___SRow_1q19z_gg_:hover>.___SCell_1q19z_gg_._theme_warning_1q19z_gg_{background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}}.___SRow_1q19z_gg_._theme_danger_1q19z_gg_ .___SCell_1q19z_gg_:not(.__theme_1q19z_gg_){background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SRow_1q19z_gg_._theme_danger_1q19z_gg_.__active_1q19z_gg_>.___SCell_1q19z_gg_:not(.__theme_1q19z_gg_){background-color:var(--intergalactic-table-td-cell-critical-active, #ffd7df)}@media (hover:hover){.___SRow_1q19z_gg_._theme_danger_1q19z_gg_:hover>.___SCell_1q19z_gg_:not(.__theme_1q19z_gg_),.___SRow_1q19z_gg_:hover>.___SCell_1q19z_gg_._theme_danger_1q19z_gg_{background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}}.___SCell_1q19z_gg_{display:flex;height:100%;font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%);color:var(--intergalactic-text-primary, #191b23);box-sizing:border-box;border-bottom:1px solid var(--intergalactic-border-secondary, #e0e1e9);overflow:hidden;white-space:pre-wrap;word-break:break-word;font-feature-settings:\"tnum\";font-variant-numeric:tabular-nums;transition:width calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out;outline:0}.___SCell_1q19z_gg_ .___SAccordionToggle_1q19z_gg_{transition:transform calc(var(--intergalactic-duration-accordion, 200)*1ms) ease-out}.___SCell_1q19z_gg_ .___SAccordionToggle_1q19z_gg_.__expanded_1q19z_gg_{transform:rotate(90deg)}.___SCell_1q19z_gg_._use_primary_1q19z_gg_{padding:var(--intergalactic-spacing-3x, 12px);min-height:45px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_1q19z_gg_._use_primary_1q19z_gg_[data-aria-level]{padding-left:calc(var(--intergalactic-spacing-3x, 12px) + (var(--intergalactic-spacing-5x, 20px)*(var(--data-aria-level_1q19z) - 1)))}.___SCell_1q19z_gg_._use_secondary_1q19z_gg_{padding:var(--intergalactic-spacing-2x, 8px);min-height:37px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_1q19z_gg_._use_secondary_1q19z_gg_[data-aria-level]{padding-left:calc(var(--intergalactic-spacing-2x, 8px) + (var(--intergalactic-spacing-5x, 20px)*(var(--data-aria-level_1q19z) - 1)))}.___SCell_1q19z_gg_._borders_both_1q19z_gg_,.___SCell_1q19z_gg_._borders_left_1q19z_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_1q19z_gg_._borders_both_1q19z_gg_,.___SCell_1q19z_gg_._borders_right_1q19z_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_1q19z_gg_.__fixed_1q19z_gg_{position:sticky;z-index:2}.___SCell_1q19z_gg_._theme_muted_1q19z_gg_{background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}.___SCell_1q19z_gg_._theme_info_1q19z_gg_{background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SCell_1q19z_gg_._theme_success_1q19z_gg_{background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SCell_1q19z_gg_._theme_warning_1q19z_gg_{background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SCell_1q19z_gg_._theme_danger_1q19z_gg_{background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SSpinContainer_1q19z_gg_{position:absolute;left:0;right:0;bottom:0;top:0;display:flex;align-items:center;justify-content:center;background-color:var(--intergalactic-overlay-limitation-secondary, rgba(255, 255, 255, 0.85))}.___SSpinContainer_1q19z_gg_.__headerHeight_1q19z_gg_{top:var(--headerHeight_1q19z)}" /*__inner_css_end__*/, "1q19z_gg_") /*__reshadow_css_end__*/, {
22
- "__SBody": "___SBody_1q19z_gg_",
23
- "__SRow": "___SRow_1q19z_gg_",
24
- "_compact": "__compact_1q19z_gg_",
25
- "__SCell": "___SCell_1q19z_gg_",
26
- "_gridArea": "__gridArea_1q19z_gg_",
27
- "__SCollapseRow": "___SCollapseRow_1q19z_gg_",
28
- "--gridArea": "--gridArea_1q19z",
29
- "_active": "__active_1q19z_gg_",
30
- "_theme": "__theme_1q19z_gg_",
31
- "_theme_muted": "_theme_muted_1q19z_gg_",
32
- "_theme_info": "_theme_info_1q19z_gg_",
33
- "_theme_success": "_theme_success_1q19z_gg_",
34
- "_theme_warning": "_theme_warning_1q19z_gg_",
35
- "_theme_danger": "_theme_danger_1q19z_gg_",
36
- "_borders_both": "_borders_both_1q19z_gg_",
37
- "_borders_left": "_borders_left_1q19z_gg_",
38
- "_borders_right": "_borders_right_1q19z_gg_",
39
- "_fixed": "__fixed_1q19z_gg_",
40
- "__SSpinContainer": "___SSpinContainer_1q19z_gg_",
41
- "_headerHeight": "__headerHeight_1q19z_gg_",
42
- "--headerHeight": "--headerHeight_1q19z",
43
- "__SAccordionToggle": "___SAccordionToggle_1q19z_gg_",
44
- "_expanded": "__expanded_1q19z_gg_",
45
- "_use_primary": "_use_primary_1q19z_gg_",
46
- "--data-aria-level": "--data-aria-level_1q19z",
47
- "_use_secondary": "_use_secondary_1q19z_gg_"
23
+ var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SBody_1dql7_gg_,.___SRowGroup_1dql7_gg_,.___SRow_1dql7_gg_{display:contents}.___SBody_1dql7_gg_.__compact_1dql7_gg_ .___SCell_1dql7_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SBody_1dql7_gg_.__compact_1dql7_gg_ .___SCell_1dql7_gg_[data-aria-level]{padding-left:calc(var(--intergalactic-spacing-2x, 8px) + (var(--intergalactic-spacing-5x, 20px)*(var(--data-aria-level_1dql7) - 1)))}.___SCell_1dql7_gg_.__gridArea_1dql7_gg_,.___SCollapseRow_1dql7_gg_.__gridArea_1dql7_gg_,.___SRow_1dql7_gg_.__gridArea_1dql7_gg_{grid-area:var(--gridArea_1dql7)}.___SCollapseRow_1dql7_gg_ .___SCell_1dql7_gg_{display:block}.___SRow_1dql7_gg_.__active_1dql7_gg_>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_),.___SRow_1dql7_gg_.__expanded_1dql7_gg_._accordionType_cell_1dql7_gg_>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_).__withAccordion_1dql7_gg_,.___SRow_1dql7_gg_.__expanded_1dql7_gg_._accordionType_row_1dql7_gg_>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_){background-color:var(--intergalactic-table-td-cell-active, #e6e7ed)}.___SCollapseRow_1dql7_gg_>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_){background-color:var(--intergalactic-table-td-cell-actions-accordion, #f4f5f9)}@media (hover:hover){.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_:hover)>.___SRow_1dql7_gg_._theme_muted_1dql7_gg_>.___SCell_1dql7_gg_[data-grouped-by=rowgroup]:not(.__theme_1dql7_gg_),.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_:hover)>.___SRow_1dql7_gg_>.___SCell_1dql7_gg_[data-grouped-by=rowgroup]._theme_muted_1dql7_gg_,.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_:hover)>.___SRow_1dql7_gg_>.___SCell_1dql7_gg_[data-grouped-by=rowgroup]:not(.__theme_1dql7_gg_),.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1dql7_gg_._theme_muted_1dql7_gg_>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_),.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1dql7_gg_>.___SCell_1dql7_gg_._theme_muted_1dql7_gg_,.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1dql7_gg_>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_),.___SRow_1dql7_gg_._theme_muted_1dql7_gg_:hover>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_),.___SRow_1dql7_gg_:hover>.___SCell_1dql7_gg_._theme_muted_1dql7_gg_,.___SRow_1dql7_gg_:hover>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_:hover)>.___SRow_1dql7_gg_._theme_info_1dql7_gg_>.___SCell_1dql7_gg_[data-grouped-by=rowgroup]:not(.__theme_1dql7_gg_),.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_:hover)>.___SRow_1dql7_gg_>.___SCell_1dql7_gg_[data-grouped-by=rowgroup]._theme_info_1dql7_gg_,.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1dql7_gg_._theme_info_1dql7_gg_>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_),.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1dql7_gg_>.___SCell_1dql7_gg_._theme_info_1dql7_gg_,.___SRow_1dql7_gg_._theme_info_1dql7_gg_:hover>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_),.___SRow_1dql7_gg_:hover>.___SCell_1dql7_gg_._theme_info_1dql7_gg_{background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_:hover)>.___SRow_1dql7_gg_._theme_success_1dql7_gg_>.___SCell_1dql7_gg_[data-grouped-by=rowgroup]:not(.__theme_1dql7_gg_),.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_:hover)>.___SRow_1dql7_gg_>.___SCell_1dql7_gg_[data-grouped-by=rowgroup]._theme_success_1dql7_gg_,.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1dql7_gg_._theme_success_1dql7_gg_>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_),.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1dql7_gg_>.___SCell_1dql7_gg_._theme_success_1dql7_gg_,.___SRow_1dql7_gg_._theme_success_1dql7_gg_:hover>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_),.___SRow_1dql7_gg_:hover>.___SCell_1dql7_gg_._theme_success_1dql7_gg_{background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_:hover)>.___SRow_1dql7_gg_._theme_warning_1dql7_gg_>.___SCell_1dql7_gg_[data-grouped-by=rowgroup]:not(.__theme_1dql7_gg_),.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_:hover)>.___SRow_1dql7_gg_>.___SCell_1dql7_gg_[data-grouped-by=rowgroup]._theme_warning_1dql7_gg_,.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1dql7_gg_._theme_warning_1dql7_gg_>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_),.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1dql7_gg_>.___SCell_1dql7_gg_._theme_warning_1dql7_gg_,.___SRow_1dql7_gg_._theme_warning_1dql7_gg_:hover>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_),.___SRow_1dql7_gg_:hover>.___SCell_1dql7_gg_._theme_warning_1dql7_gg_{background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_:hover)>.___SRow_1dql7_gg_._theme_danger_1dql7_gg_>.___SCell_1dql7_gg_[data-grouped-by=rowgroup]:not(.__theme_1dql7_gg_),.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_:hover)>.___SRow_1dql7_gg_>.___SCell_1dql7_gg_[data-grouped-by=rowgroup]._theme_danger_1dql7_gg_,.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1dql7_gg_._theme_danger_1dql7_gg_>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_),.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1dql7_gg_>.___SCell_1dql7_gg_._theme_danger_1dql7_gg_,.___SRow_1dql7_gg_._theme_danger_1dql7_gg_:hover>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_),.___SRow_1dql7_gg_:hover>.___SCell_1dql7_gg_._theme_danger_1dql7_gg_{background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}}.___SRow_1dql7_gg_._theme_muted_1dql7_gg_ .___SCell_1dql7_gg_:not(.__theme_1dql7_gg_){background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}.___SRow_1dql7_gg_._theme_muted_1dql7_gg_.__active_1dql7_gg_>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_){background-color:var(--intergalactic-table-td-cell-active, #e6e7ed)}.___SRow_1dql7_gg_._theme_info_1dql7_gg_ .___SCell_1dql7_gg_:not(.__theme_1dql7_gg_){background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SRow_1dql7_gg_._theme_info_1dql7_gg_.__active_1dql7_gg_>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_){background-color:var(--intergalactic-table-td-cell-selected-active, #c4e5fe)}.___SRow_1dql7_gg_._theme_success_1dql7_gg_ .___SCell_1dql7_gg_:not(.__theme_1dql7_gg_){background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SRow_1dql7_gg_._theme_success_1dql7_gg_.__active_1dql7_gg_>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_){background-color:var(--intergalactic-table-td-cell-new-active, #9ef2c9)}.___SRow_1dql7_gg_._theme_warning_1dql7_gg_ .___SCell_1dql7_gg_:not(.__theme_1dql7_gg_){background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SRow_1dql7_gg_._theme_warning_1dql7_gg_.__active_1dql7_gg_>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_){background-color:var(--intergalactic-table-td-cell-warning-active, #ffdca2)}.___SRow_1dql7_gg_._theme_danger_1dql7_gg_ .___SCell_1dql7_gg_:not(.__theme_1dql7_gg_){background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SRow_1dql7_gg_._theme_danger_1dql7_gg_.__active_1dql7_gg_>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_){background-color:var(--intergalactic-table-td-cell-critical-active, #ffd7df)}.___SCell_1dql7_gg_{display:flex;height:100%;font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%);color:var(--intergalactic-text-primary, #191b23);box-sizing:border-box;border-bottom:1px solid var(--intergalactic-border-secondary, #e0e1e9);overflow:hidden;white-space:pre-wrap;word-break:break-word;font-feature-settings:\"tnum\";font-variant-numeric:tabular-nums;transition:width calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out;outline:0}.___SCell_1dql7_gg_ .___SAccordionToggle_1dql7_gg_{margin-right:var(--intergalactic-spacing-3x, 12px);transition:transform calc(var(--intergalactic-duration-accordion, 200)*1ms) ease-out}.___SCell_1dql7_gg_ .___SAccordionToggle_1dql7_gg_.__expanded_1dql7_gg_{transform:rotate(90deg)}.___SCell_1dql7_gg_._use_primary_1dql7_gg_{padding:var(--intergalactic-spacing-3x, 12px);min-height:45px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_1dql7_gg_._use_primary_1dql7_gg_[data-aria-level]{padding-left:calc(var(--intergalactic-spacing-3x, 12px) + ((var(--intergalactic-spacing-5x, 20px) + var(--intergalactic-spacing-2x, 8px))*(var(--data-aria-level_1dql7) - 1)))}.___SCell_1dql7_gg_._use_secondary_1dql7_gg_{padding:var(--intergalactic-spacing-2x, 8px);min-height:37px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_1dql7_gg_._use_secondary_1dql7_gg_[data-aria-level]{padding-left:calc(var(--intergalactic-spacing-2x, 8px) + ((var(--intergalactic-spacing-5x, 20px) + var(--intergalactic-spacing-2x, 8px))*(var(--data-aria-level_1dql7) - 1)))}.___SCell_1dql7_gg_._borders_both_1dql7_gg_,.___SCell_1dql7_gg_._borders_left_1dql7_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_1dql7_gg_._borders_both_1dql7_gg_,.___SCell_1dql7_gg_._borders_right_1dql7_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_1dql7_gg_.__fixed_1dql7_gg_{position:sticky;z-index:2}.___SCell_1dql7_gg_._theme_muted_1dql7_gg_{background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}.___SCell_1dql7_gg_._theme_info_1dql7_gg_{background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SCell_1dql7_gg_._theme_success_1dql7_gg_{background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SCell_1dql7_gg_._theme_warning_1dql7_gg_{background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SCell_1dql7_gg_._theme_danger_1dql7_gg_{background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SSpinContainer_1dql7_gg_{position:absolute;left:0;right:0;bottom:0;top:0;display:flex;align-items:center;justify-content:center;background-color:var(--intergalactic-overlay-limitation-secondary, rgba(255, 255, 255, 0.85))}.___SSpinContainer_1dql7_gg_.__headerHeight_1dql7_gg_{top:var(--headerHeight_1dql7)}" /*__inner_css_end__*/, "1dql7_gg_") /*__reshadow_css_end__*/, {
24
+ "__SBody": "___SBody_1dql7_gg_",
25
+ "__SRow": "___SRow_1dql7_gg_",
26
+ "__SRowGroup": "___SRowGroup_1dql7_gg_",
27
+ "_gridArea": "__gridArea_1dql7_gg_",
28
+ "__SCell": "___SCell_1dql7_gg_",
29
+ "__SCollapseRow": "___SCollapseRow_1dql7_gg_",
30
+ "--gridArea": "--gridArea_1dql7",
31
+ "_active": "__active_1dql7_gg_",
32
+ "_theme": "__theme_1dql7_gg_",
33
+ "_expanded": "__expanded_1dql7_gg_",
34
+ "_accordionType_row": "_accordionType_row_1dql7_gg_",
35
+ "_accordionType_cell": "_accordionType_cell_1dql7_gg_",
36
+ "_withAccordion": "__withAccordion_1dql7_gg_",
37
+ "_theme_muted": "_theme_muted_1dql7_gg_",
38
+ "_theme_info": "_theme_info_1dql7_gg_",
39
+ "_theme_success": "_theme_success_1dql7_gg_",
40
+ "_theme_warning": "_theme_warning_1dql7_gg_",
41
+ "_theme_danger": "_theme_danger_1dql7_gg_",
42
+ "_borders_both": "_borders_both_1dql7_gg_",
43
+ "_borders_left": "_borders_left_1dql7_gg_",
44
+ "_borders_right": "_borders_right_1dql7_gg_",
45
+ "_fixed": "__fixed_1dql7_gg_",
46
+ "__SSpinContainer": "___SSpinContainer_1dql7_gg_",
47
+ "_headerHeight": "__headerHeight_1dql7_gg_",
48
+ "--headerHeight": "--headerHeight_1dql7",
49
+ "_compact": "__compact_1dql7_gg_",
50
+ "--data-aria-level": "--data-aria-level_1dql7",
51
+ "__SAccordionToggle": "___SAccordionToggle_1dql7_gg_",
52
+ "_use_primary": "_use_primary_1dql7_gg_",
53
+ "_use_secondary": "_use_secondary_1dql7_gg_"
48
54
  });
49
55
  var CellRoot = /*#__PURE__*/function (_Component) {
50
56
  (0, _inherits2["default"])(CellRoot, _Component);
@@ -56,6 +62,7 @@ var CellRoot = /*#__PURE__*/function (_Component) {
56
62
  args[_key] = arguments[_key];
57
63
  }
58
64
  _this = _super.call.apply(_super, [this].concat(args));
65
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "cellRef", /*#__PURE__*/React.createRef());
59
66
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "lockedCell", [null, false]);
60
67
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleKeyDown", function (e) {
61
68
  if (e.currentTarget === _this.lockedCell[0]) {
@@ -95,6 +102,11 @@ var CellRoot = /*#__PURE__*/function (_Component) {
95
102
  });
96
103
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onFocusCell", function (e) {
97
104
  if (e.target === e.currentTarget && e.target.matches(':focus-visible')) {
105
+ e.target.scrollIntoView({
106
+ behavior: 'smooth',
107
+ block: 'center',
108
+ inline: 'center'
109
+ });
98
110
  var focusableChildren = Array.from(e.currentTarget.children).flatMap(function (node) {
99
111
  return (0, _getFocusableIn.getFocusableIn)(node);
100
112
  });
@@ -108,19 +120,64 @@ var CellRoot = /*#__PURE__*/function (_Component) {
108
120
  return _this;
109
121
  }
110
122
  (0, _createClass2["default"])(CellRoot, [{
123
+ key: "componentWillUnmount",
124
+ value: function componentWillUnmount() {
125
+ var _this$asProps = this.asProps,
126
+ virtualScroll = _this$asProps.virtualScroll,
127
+ tableRef = _this$asProps.tableRef;
128
+ if (virtualScroll && this.cellRef.current && (0, _isFocusInside.isFocusInside)(this.cellRef.current)) {
129
+ var _tableRef$current;
130
+ (_tableRef$current = tableRef.current) === null || _tableRef$current === void 0 ? void 0 : _tableRef$current.setAttribute('tabIndex', '0');
131
+ }
132
+ }
133
+ }, {
111
134
  key: "render",
112
135
  value: function render() {
113
136
  var _ref = this.asProps,
114
137
  _ref2;
115
138
  var SCell = _baseComponents.Flex;
116
- var _this$asProps = this.asProps,
117
- Children = _this$asProps.Children,
118
- styles = _this$asProps.styles;
139
+ var _this$asProps2 = this.asProps,
140
+ Children = _this$asProps2.Children,
141
+ styles = _this$asProps2.styles,
142
+ row = _this$asProps2.row,
143
+ column = _this$asProps2.column,
144
+ columnIndex = _this$asProps2.columnIndex,
145
+ gridRowIndex = _this$asProps2.gridRowIndex;
146
+ var cell = row[column.name];
147
+ var cellName = cell instanceof _MergedCells.MergedColumnsCell ? cell.dataKey : column.name;
148
+ var scope = null;
149
+ var gridArea = undefined;
150
+ var fromRow = gridRowIndex;
151
+ var fromCol = columnIndex + 1;
152
+ if (cell instanceof _MergedCells.MergedColumnsCell) {
153
+ gridArea = "".concat(fromRow, " / ").concat(fromCol, " / ").concat(fromRow + 1, " / ").concat(fromCol + cell.columnsCount);
154
+ scope = 'colgroup';
155
+ } else if (cell instanceof _MergedCells.MergedRowsCell) {
156
+ gridArea = "".concat(cell.fromRow, " / ").concat(fromCol, " / ").concat(cell.toRow, " / ").concat(fromCol + 1);
157
+ scope = 'rowgroup';
158
+ } else {
159
+ gridArea = "".concat(fromRow, " / ").concat(fromCol, " / ").concat(fromRow + 1, " / ").concat(fromCol + 1);
160
+ }
119
161
  return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/React.createElement(SCell, _ref2.cn("SCell", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
120
- "tabIndex": -1,
162
+ "ref": this.cellRef,
121
163
  "innerOutline": true,
164
+ "tabIndex": -1,
122
165
  "onKeyDown": this.handleKeyDown,
123
- "onFocus": this.onFocusCell
166
+ "onFocus": this.onFocusCell,
167
+ "name": cellName,
168
+ "role": 'gridcell',
169
+ "aria-colindex": columnIndex + 1,
170
+ "data-grouped-by": scope,
171
+ "scope": scope,
172
+ "aria-colspan": cell instanceof _MergedCells.MergedColumnsCell ? cell.columnsCount : undefined,
173
+ "aria-rowspan": cell instanceof _MergedCells.MergedRowsCell ? cell.toRow - cell.fromRow : undefined,
174
+ "gridArea": gridArea,
175
+ "borders": column.borders,
176
+ "flexWrap": column.flexWrap,
177
+ "alignItems": column.alignItems,
178
+ "alignContent": column.alignContent,
179
+ "justifyContent": column.justifyContent,
180
+ "fixed": column.fixed
124
181
  }, _ref))), /*#__PURE__*/React.createElement(Children, _ref2.cn("Children", {})));
125
182
  }
126
183
  }]);
@@ -1 +1 @@
1
- {"version":3,"file":"Cell.js","names":["_core","require","React","_interopRequireWildcard","_baseComponents","_getFocusableIn","style","sstyled","insert","CellRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","e","currentTarget","lockedCell","focusableChildren","from","children","flatMap","node","getFocusableIn","key","_this$lockedCell$","focus","startsWith","stopPropagation","preventDefault","target","shiftKey","_focusableChildren","_focusableChildren$","_focusableChildren$2","matches","_createClass2","value","render","_ref","asProps","_ref2","SCell","Flex","_this$asProps","Children","styles","createElement","cn","_objectSpread2","assignProps","handleKeyDown","onFocusCell","Component","Cell","createComponent","exports"],"sources":["../../../../src/components/Body/Cell.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Component, Root, sstyled, createComponent } from '@semcore/core';\nimport { Flex } from '@semcore/base-components';\n\nimport style from './style.shadow.css';\nimport { CellPropsInner, DataTableCellProps } from './Cell.types';\nimport { getFocusableIn } from '@semcore/core/lib/utils/focus-lock/getFocusableIn';\n\nclass CellRoot extends Component<DataTableCellProps, {}, {}, [], CellPropsInner> {\n static displayName = 'Cell';\n static style = style;\n\n lockedCell: [HTMLElement | null, boolean] = [null, false];\n\n handleKeyDown = (e: React.KeyboardEvent) => {\n if (e.currentTarget === this.lockedCell[0]) {\n const focusableChildren = Array.from(this.lockedCell[0].children).flatMap((node) =>\n getFocusableIn(node as HTMLElement),\n );\n\n if (this.lockedCell[1]) {\n if (e.key === 'Escape') {\n this.lockedCell[0]?.focus();\n this.lockedCell[1] = false;\n }\n if (e.key.startsWith('Arrow')) {\n e.stopPropagation();\n e.preventDefault();\n }\n if (e.key === 'Tab') {\n if (e.target === focusableChildren[0] && e.shiftKey) {\n focusableChildren[focusableChildren.length - 1]?.focus();\n e.preventDefault();\n } else if (e.target === focusableChildren[focusableChildren.length - 1] && !e.shiftKey) {\n focusableChildren[0]?.focus();\n e.preventDefault();\n }\n e.stopPropagation();\n }\n } else if (e.key === 'Enter') {\n e.preventDefault();\n e.stopPropagation();\n this.lockedCell[1] = true;\n focusableChildren[0]?.focus();\n }\n }\n };\n\n onFocusCell = (e: React.FocusEvent<HTMLElement, HTMLElement>) => {\n if (e.target === e.currentTarget && e.target.matches(':focus-visible')) {\n const focusableChildren = Array.from(e.currentTarget.children).flatMap((node) =>\n getFocusableIn(node as HTMLElement),\n );\n\n if (focusableChildren.length === 1) {\n focusableChildren[0].focus();\n } else if (focusableChildren.length > 1) {\n this.lockedCell = [e.currentTarget, false];\n }\n }\n };\n\n render() {\n const SCell = Root;\n const { Children, styles } = this.asProps;\n\n return sstyled(styles)(\n <SCell\n render={Flex}\n tabIndex={-1}\n innerOutline\n onKeyDown={this.handleKeyDown}\n onFocus={this.onFocusCell}\n >\n <Children />\n </SCell>,\n );\n }\n}\n\nexport const Cell = createComponent(CellRoot);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Cell.js","names":["_core","require","React","_interopRequireWildcard","_baseComponents","_getFocusableIn","_MergedCells","_isFocusInside","style","sstyled","insert","CellRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","createRef","e","currentTarget","lockedCell","focusableChildren","from","children","flatMap","node","getFocusableIn","key","_this$lockedCell$","focus","startsWith","stopPropagation","preventDefault","target","shiftKey","_focusableChildren","_focusableChildren$","_focusableChildren$2","matches","scrollIntoView","behavior","block","inline","_createClass2","value","componentWillUnmount","_this$asProps","asProps","virtualScroll","tableRef","cellRef","current","isFocusInside","_tableRef$current","setAttribute","render","_ref","_ref2","SCell","Flex","_this$asProps2","Children","styles","row","column","columnIndex","gridRowIndex","cell","name","cellName","MergedColumnsCell","dataKey","scope","gridArea","undefined","fromRow","fromCol","columnsCount","MergedRowsCell","toRow","createElement","cn","_objectSpread2","assignProps","handleKeyDown","onFocusCell","borders","flexWrap","alignItems","alignContent","justifyContent","fixed","Component","Cell","createComponent","exports"],"sources":["../../../../src/components/Body/Cell.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Component, Root, sstyled, createComponent } from '@semcore/core';\nimport { Flex } from '@semcore/base-components';\n\nimport style from './style.shadow.css';\nimport { CellPropsInner, DataTableCellProps } from './Cell.types';\nimport { getFocusableIn } from '@semcore/core/lib/utils/focus-lock/getFocusableIn';\nimport { MergedColumnsCell, MergedRowsCell } from './MergedCells';\nimport { isFocusInside } from '@semcore/core/lib/utils/focus-lock/isFocusInside';\n\nclass CellRoot extends Component<DataTableCellProps, {}, {}, [], CellPropsInner> {\n static displayName = 'Cell';\n static style = style;\n\n cellRef = React.createRef<HTMLDivElement>();\n\n lockedCell: [HTMLElement | null, boolean] = [null, false];\n\n componentWillUnmount() {\n const { virtualScroll, tableRef } = this.asProps;\n if (virtualScroll && this.cellRef.current && isFocusInside(this.cellRef.current)) {\n tableRef.current?.setAttribute('tabIndex', '0');\n }\n }\n\n handleKeyDown = (e: React.KeyboardEvent) => {\n if (e.currentTarget === this.lockedCell[0]) {\n const focusableChildren = Array.from(this.lockedCell[0].children).flatMap((node) =>\n getFocusableIn(node as HTMLElement),\n );\n\n if (this.lockedCell[1]) {\n if (e.key === 'Escape') {\n this.lockedCell[0]?.focus();\n this.lockedCell[1] = false;\n }\n if (e.key.startsWith('Arrow')) {\n e.stopPropagation();\n e.preventDefault();\n }\n if (e.key === 'Tab') {\n if (e.target === focusableChildren[0] && e.shiftKey) {\n focusableChildren[focusableChildren.length - 1]?.focus();\n e.preventDefault();\n } else if (e.target === focusableChildren[focusableChildren.length - 1] && !e.shiftKey) {\n focusableChildren[0]?.focus();\n e.preventDefault();\n }\n e.stopPropagation();\n }\n } else if (e.key === 'Enter') {\n e.preventDefault();\n e.stopPropagation();\n this.lockedCell[1] = true;\n focusableChildren[0]?.focus();\n }\n }\n };\n\n onFocusCell = (e: React.FocusEvent<HTMLElement, HTMLElement>) => {\n if (e.target === e.currentTarget && e.target.matches(':focus-visible')) {\n e.target.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'center',\n });\n\n const focusableChildren = Array.from(e.currentTarget.children).flatMap((node) =>\n getFocusableIn(node as HTMLElement),\n );\n\n if (focusableChildren.length === 1) {\n focusableChildren[0].focus();\n } else if (focusableChildren.length > 1) {\n this.lockedCell = [e.currentTarget, false];\n }\n }\n };\n\n render() {\n const SCell = Root;\n const { Children, styles, row, column, columnIndex, gridRowIndex } = this.asProps;\n\n const cell = row[column.name];\n const cellName = cell instanceof MergedColumnsCell ? cell.dataKey : column.name;\n\n let scope: null | 'rowgroup' | 'colgroup' = null;\n let gridArea: string | undefined = undefined;\n\n const fromRow = gridRowIndex;\n const fromCol = columnIndex + 1;\n\n if (cell instanceof MergedColumnsCell) {\n gridArea = `${fromRow} / ${fromCol} / ${fromRow + 1} / ${fromCol + cell.columnsCount}`;\n scope = 'colgroup';\n } else if (cell instanceof MergedRowsCell) {\n gridArea = `${cell.fromRow} / ${fromCol} / ${cell.toRow} / ${fromCol + 1}`;\n scope = 'rowgroup';\n } else {\n gridArea = `${fromRow} / ${fromCol} / ${fromRow + 1} / ${fromCol + 1}`;\n }\n\n return sstyled(styles)(\n <SCell\n ref={this.cellRef}\n render={Flex}\n innerOutline\n tabIndex={-1}\n onKeyDown={this.handleKeyDown}\n onFocus={this.onFocusCell}\n name={cellName}\n role={'gridcell'}\n aria-colindex={columnIndex + 1}\n data-grouped-by={scope}\n scope={scope}\n aria-colspan={cell instanceof MergedColumnsCell ? cell.columnsCount : undefined}\n aria-rowspan={cell instanceof MergedRowsCell ? cell.toRow - cell.fromRow : undefined}\n gridArea={gridArea}\n borders={column.borders}\n flexWrap={column.flexWrap}\n alignItems={column.alignItems}\n alignContent={column.alignContent}\n justifyContent={column.justifyContent}\n fixed={column.fixed}\n >\n <Children />\n </SCell>,\n );\n }\n}\n\nexport const Cell = createComponent(CellRoot);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Cell.types.js","names":[],"sources":["../../../../src/components/Body/Cell.types.ts"],"sourcesContent":["import { DTRow } from './Row.types';\nimport { DTUse } from '../DataTable/DataTable.types';\nimport { DTColumn, CommonColumnType } from '../Head/Column.types';\n\nexport type DataTableCellProps = CommonColumnType & {\n name: string;\n row: DTRow;\n columnIndex: number;\n column: DTColumn;\n rowIndex: number;\n gridArea?: string;\n};\n\nexport type CellPropsInner = {\n use: DTUse;\n};\n"],"mappings":""}
1
+ {"version":3,"file":"Cell.types.js","names":[],"sources":["../../../../src/components/Body/Cell.types.ts"],"sourcesContent":["import { DTRow } from './Row.types';\nimport { DTUse } from '../DataTable/DataTable.types';\nimport { DTColumn } from '../Head/Column.types';\n\nexport type DataTableCellProps = {\n row: DTRow;\n rowIndex: number;\n column: DTColumn;\n columnIndex: number;\n gridRowIndex: number;\n children?: React.ReactNode;\n};\n\nexport type CellPropsInner = {\n use: DTUse;\n\n virtualScroll: boolean;\n tableRef: React.RefObject<HTMLDivElement>;\n};\n"],"mappings":""}
@@ -8,20 +8,24 @@ exports.MergedRowsCell = exports.MergedColumnsCell = void 0;
8
8
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
9
9
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
- var MergedRowsCell = /*#__PURE__*/(0, _createClass2["default"])(function MergedRowsCell(value, size) {
11
+ var MergedRowsCell = /*#__PURE__*/(0, _createClass2["default"])(function MergedRowsCell(value, rows) {
12
12
  (0, _classCallCheck2["default"])(this, MergedRowsCell);
13
13
  (0, _defineProperty2["default"])(this, "value", void 0);
14
- (0, _defineProperty2["default"])(this, "rowsCount", void 0);
14
+ (0, _defineProperty2["default"])(this, "fromRow", void 0);
15
+ (0, _defineProperty2["default"])(this, "toRow", void 0);
15
16
  this.value = value;
16
- this.rowsCount = size;
17
+ this.fromRow = rows[0];
18
+ this.toRow = rows[1];
17
19
  });
18
20
  exports.MergedRowsCell = MergedRowsCell;
19
- var MergedColumnsCell = /*#__PURE__*/(0, _createClass2["default"])(function MergedColumnsCell(value, size) {
21
+ var MergedColumnsCell = /*#__PURE__*/(0, _createClass2["default"])(function MergedColumnsCell(value, options) {
20
22
  (0, _classCallCheck2["default"])(this, MergedColumnsCell);
21
23
  (0, _defineProperty2["default"])(this, "value", void 0);
22
24
  (0, _defineProperty2["default"])(this, "columnsCount", void 0);
25
+ (0, _defineProperty2["default"])(this, "dataKey", void 0);
23
26
  this.value = value;
24
- this.columnsCount = size;
27
+ this.columnsCount = options.size;
28
+ this.dataKey = options.dataKey;
25
29
  });
26
30
  exports.MergedColumnsCell = MergedColumnsCell;
27
31
  //# sourceMappingURL=MergedCells.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MergedCells.js","names":["MergedRowsCell","_createClass2","value","size","_classCallCheck2","_defineProperty2","rowsCount","exports","MergedColumnsCell","columnsCount"],"sources":["../../../../src/components/Body/MergedCells.ts"],"sourcesContent":["export class MergedRowsCell {\n public readonly value: any;\n public readonly rowsCount: number;\n\n constructor(value: any, size: number) {\n this.value = value;\n this.rowsCount = size;\n }\n}\n\nexport class MergedColumnsCell {\n public readonly value: any;\n public readonly columnsCount: number;\n\n constructor(value: any, size: number) {\n this.value = value;\n this.columnsCount = size;\n }\n}\n"],"mappings":";;;;;;;;;;IAAaA,cAAc,oBAAAC,aAAA,aAIzB,SAAAD,eAAYE,KAAU,EAAEC,IAAY,EAAE;EAAA,IAAAC,gBAAA,mBAAAJ,cAAA;EAAA,IAAAK,gBAAA;EAAA,IAAAA,gBAAA;EACpC,IAAI,CAACH,KAAK,GAAGA,KAAK;EAClB,IAAI,CAACI,SAAS,GAAGH,IAAI;AACvB,CAAC;AAAAI,OAAA,CAAAP,cAAA,GAAAA,cAAA;AAAA,IAGUQ,iBAAiB,oBAAAP,aAAA,aAI5B,SAAAO,kBAAYN,KAAU,EAAEC,IAAY,EAAE;EAAA,IAAAC,gBAAA,mBAAAI,iBAAA;EAAA,IAAAH,gBAAA;EAAA,IAAAA,gBAAA;EACpC,IAAI,CAACH,KAAK,GAAGA,KAAK;EAClB,IAAI,CAACO,YAAY,GAAGN,IAAI;AAC1B,CAAC;AAAAI,OAAA,CAAAC,iBAAA,GAAAA,iBAAA"}
1
+ {"version":3,"file":"MergedCells.js","names":["MergedRowsCell","_createClass2","value","rows","_classCallCheck2","_defineProperty2","fromRow","toRow","exports","MergedColumnsCell","options","columnsCount","size","dataKey"],"sources":["../../../../src/components/Body/MergedCells.ts"],"sourcesContent":["export class MergedRowsCell {\n public readonly value: any;\n public readonly fromRow: number;\n public readonly toRow: number;\n\n constructor(value: any, rows: [number, number]) {\n this.value = value;\n this.fromRow = rows[0];\n this.toRow = rows[1];\n }\n}\n\nexport class MergedColumnsCell {\n public readonly value: any;\n public readonly columnsCount: number;\n public readonly dataKey: string;\n\n constructor(value: any, options: { size: number; dataKey: string }) {\n this.value = value;\n this.columnsCount = options.size;\n this.dataKey = options.dataKey;\n }\n}\n"],"mappings":";;;;;;;;;;IAAaA,cAAc,oBAAAC,aAAA,aAKzB,SAAAD,eAAYE,KAAU,EAAEC,IAAsB,EAAE;EAAA,IAAAC,gBAAA,mBAAAJ,cAAA;EAAA,IAAAK,gBAAA;EAAA,IAAAA,gBAAA;EAAA,IAAAA,gBAAA;EAC9C,IAAI,CAACH,KAAK,GAAGA,KAAK;EAClB,IAAI,CAACI,OAAO,GAAGH,IAAI,CAAC,CAAC,CAAC;EACtB,IAAI,CAACI,KAAK,GAAGJ,IAAI,CAAC,CAAC,CAAC;AACtB,CAAC;AAAAK,OAAA,CAAAR,cAAA,GAAAA,cAAA;AAAA,IAGUS,iBAAiB,oBAAAR,aAAA,aAK5B,SAAAQ,kBAAYP,KAAU,EAAEQ,OAA0C,EAAE;EAAA,IAAAN,gBAAA,mBAAAK,iBAAA;EAAA,IAAAJ,gBAAA;EAAA,IAAAA,gBAAA;EAAA,IAAAA,gBAAA;EAClE,IAAI,CAACH,KAAK,GAAGA,KAAK;EAClB,IAAI,CAACS,YAAY,GAAGD,OAAO,CAACE,IAAI;EAChC,IAAI,CAACC,OAAO,GAAGH,OAAO,CAACG,OAAO;AAChC,CAAC;AAAAL,OAAA,CAAAC,iBAAA,GAAAA,iBAAA"}