@semcore/data-table 16.0.0-prerelease.2 → 16.0.0-prerelease.21

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 (152) hide show
  1. package/CHANGELOG.md +25 -1
  2. package/lib/cjs/components/Body/Body.js +439 -0
  3. package/lib/cjs/components/Body/Body.js.map +1 -0
  4. package/lib/cjs/components/Body/Body.types.js +2 -0
  5. package/lib/cjs/components/Body/Body.types.js.map +1 -0
  6. package/lib/cjs/components/Body/Cell.js +195 -0
  7. package/lib/cjs/components/Body/Cell.js.map +1 -0
  8. package/lib/cjs/components/Body/Cell.types.js +2 -0
  9. package/lib/cjs/components/Body/Cell.types.js.map +1 -0
  10. package/lib/cjs/components/Body/MergedCells.js +29 -0
  11. package/lib/cjs/components/Body/MergedCells.js.map +1 -0
  12. package/lib/cjs/components/Body/Row.js +252 -0
  13. package/lib/cjs/components/Body/Row.js.map +1 -0
  14. package/lib/cjs/components/Body/Row.types.js +4 -0
  15. package/lib/cjs/components/Body/Row.types.js.map +1 -0
  16. package/lib/cjs/components/Body/style.shadow.css +263 -0
  17. package/lib/cjs/components/DataTable/DataTable.js +1025 -0
  18. package/lib/cjs/components/DataTable/DataTable.js.map +1 -0
  19. package/lib/cjs/{types.js → components/DataTable/DataTable.types.js} +1 -1
  20. package/lib/cjs/components/DataTable/DataTable.types.js.map +1 -0
  21. package/lib/cjs/components/DataTable/dataTable.shadow.css +17 -0
  22. package/lib/cjs/components/Head/Column.js +311 -0
  23. package/lib/cjs/components/Head/Column.js.map +1 -0
  24. package/lib/cjs/components/Head/Column.types.js +2 -0
  25. package/lib/cjs/components/Head/Column.types.js.map +1 -0
  26. package/lib/cjs/components/Head/Group.js +116 -0
  27. package/lib/cjs/components/Head/Group.js.map +1 -0
  28. package/lib/cjs/components/Head/Group.type.js +2 -0
  29. package/lib/cjs/components/Head/Group.type.js.map +1 -0
  30. package/lib/cjs/components/Head/Head.js +207 -0
  31. package/lib/cjs/components/Head/Head.js.map +1 -0
  32. package/lib/cjs/components/Head/Head.types.js +2 -0
  33. package/lib/cjs/components/Head/Head.types.js.map +1 -0
  34. package/lib/cjs/components/Head/style.shadow.css +180 -0
  35. package/lib/cjs/index.js +25 -15
  36. package/lib/cjs/index.js.map +1 -1
  37. package/lib/cjs/style/scroll-shadows.shadow.css +45 -5
  38. package/lib/cjs/translations/en.json +6 -1
  39. package/lib/es6/components/Body/Body.js +432 -0
  40. package/lib/es6/components/Body/Body.js.map +1 -0
  41. package/lib/es6/components/Body/Body.types.js +2 -0
  42. package/lib/es6/components/Body/Body.types.js.map +1 -0
  43. package/lib/es6/components/Body/Cell.js +188 -0
  44. package/lib/es6/components/Body/Cell.js.map +1 -0
  45. package/lib/es6/components/Body/Cell.types.js +2 -0
  46. package/lib/es6/components/Body/Cell.types.js.map +1 -0
  47. package/lib/es6/components/Body/MergedCells.js +20 -0
  48. package/lib/es6/components/Body/MergedCells.js.map +1 -0
  49. package/lib/es6/components/Body/Row.js +245 -0
  50. package/lib/es6/components/Body/Row.js.map +1 -0
  51. package/lib/es6/components/Body/Row.types.js +2 -0
  52. package/lib/es6/components/Body/Row.types.js.map +1 -0
  53. package/lib/es6/components/Body/style.shadow.css +263 -0
  54. package/lib/es6/components/DataTable/DataTable.js +1013 -0
  55. package/lib/es6/components/DataTable/DataTable.js.map +1 -0
  56. package/lib/es6/components/DataTable/DataTable.types.js +2 -0
  57. package/lib/es6/components/DataTable/DataTable.types.js.map +1 -0
  58. package/lib/es6/components/DataTable/dataTable.shadow.css +17 -0
  59. package/lib/es6/components/Head/Column.js +304 -0
  60. package/lib/es6/components/Head/Column.js.map +1 -0
  61. package/lib/es6/components/Head/Column.types.js +2 -0
  62. package/lib/es6/components/Head/Column.types.js.map +1 -0
  63. package/lib/es6/components/Head/Group.js +109 -0
  64. package/lib/es6/components/Head/Group.js.map +1 -0
  65. package/lib/es6/components/Head/Group.type.js +2 -0
  66. package/lib/es6/components/Head/Group.type.js.map +1 -0
  67. package/lib/es6/components/Head/Head.js +201 -0
  68. package/lib/es6/components/Head/Head.js.map +1 -0
  69. package/lib/es6/components/Head/Head.types.js +2 -0
  70. package/lib/es6/components/Head/Head.types.js.map +1 -0
  71. package/lib/es6/components/Head/style.shadow.css +180 -0
  72. package/lib/es6/index.js +5 -2
  73. package/lib/es6/index.js.map +1 -1
  74. package/lib/es6/style/scroll-shadows.shadow.css +45 -5
  75. package/lib/es6/translations/en.json +6 -1
  76. package/lib/esm/components/Body/Body.mjs +394 -0
  77. package/lib/esm/components/Body/Cell.mjs +186 -0
  78. package/lib/esm/components/Body/MergedCells.mjs +23 -0
  79. package/lib/esm/components/Body/Row.mjs +224 -0
  80. package/lib/esm/components/Body/style.shadow.css +263 -0
  81. package/lib/esm/components/DataTable/DataTable.mjs +944 -0
  82. package/lib/esm/components/DataTable/dataTable.shadow.css +17 -0
  83. package/lib/esm/components/Head/Column.mjs +296 -0
  84. package/lib/esm/components/Head/Group.mjs +103 -0
  85. package/lib/esm/components/Head/Head.mjs +181 -0
  86. package/lib/esm/components/Head/style.shadow.css +180 -0
  87. package/lib/esm/index.mjs +9 -6
  88. package/lib/esm/style/scroll-shadows.shadow.css +47 -0
  89. package/lib/esm/translations/__intergalactic-dynamic-locales.mjs +30 -30
  90. package/lib/esm/translations/de.json.mjs +5 -4
  91. package/lib/esm/translations/en.json.mjs +10 -4
  92. package/lib/esm/translations/es.json.mjs +5 -4
  93. package/lib/esm/translations/fr.json.mjs +5 -4
  94. package/lib/esm/translations/it.json.mjs +5 -4
  95. package/lib/esm/translations/ja.json.mjs +5 -4
  96. package/lib/esm/translations/ko.json.mjs +5 -4
  97. package/lib/esm/translations/nl.json.mjs +5 -4
  98. package/lib/esm/translations/pl.json.mjs +5 -4
  99. package/lib/esm/translations/pt.json.mjs +5 -4
  100. package/lib/esm/translations/sv.json.mjs +5 -4
  101. package/lib/esm/translations/tr.json.mjs +5 -4
  102. package/lib/esm/translations/vi.json.mjs +5 -4
  103. package/lib/esm/translations/zh.json.mjs +5 -4
  104. package/lib/types/components/Body/Body.d.ts +8 -0
  105. package/lib/types/components/Body/Body.types.d.ts +57 -0
  106. package/lib/types/components/Body/Cell.d.ts +3 -0
  107. package/lib/types/components/Body/Cell.types.d.ts +20 -0
  108. package/lib/types/components/Body/MergedCells.d.ts +14 -0
  109. package/lib/types/components/Body/Row.d.ts +3 -0
  110. package/lib/types/components/Body/Row.types.d.ts +43 -0
  111. package/lib/types/components/DataTable/DataTable.d.ts +13 -0
  112. package/lib/types/components/DataTable/DataTable.types.d.ts +125 -0
  113. package/lib/types/components/Head/Column.d.ts +30 -0
  114. package/lib/types/components/Head/Column.types.d.ts +71 -0
  115. package/lib/types/components/Head/Group.d.ts +15 -0
  116. package/lib/types/components/Head/Group.type.d.ts +16 -0
  117. package/lib/types/components/Head/Head.d.ts +98 -0
  118. package/lib/types/components/Head/Head.types.d.ts +40 -0
  119. package/lib/types/index.d.ts +10 -2
  120. package/lib/types/translations/__intergalactic-dynamic-locales.d.ts +5 -0
  121. package/package.json +11 -6
  122. package/vite.config.ts +0 -3
  123. package/lib/cjs/Body.js +0 -475
  124. package/lib/cjs/Body.js.map +0 -1
  125. package/lib/cjs/DataTable.js +0 -622
  126. package/lib/cjs/DataTable.js.map +0 -1
  127. package/lib/cjs/Head.js +0 -399
  128. package/lib/cjs/Head.js.map +0 -1
  129. package/lib/cjs/style/data-table.shadow.css +0 -394
  130. package/lib/cjs/types.js.map +0 -1
  131. package/lib/cjs/utils.js +0 -57
  132. package/lib/cjs/utils.js.map +0 -1
  133. package/lib/es6/Body.js +0 -468
  134. package/lib/es6/Body.js.map +0 -1
  135. package/lib/es6/DataTable.js +0 -614
  136. package/lib/es6/DataTable.js.map +0 -1
  137. package/lib/es6/Head.js +0 -391
  138. package/lib/es6/Head.js.map +0 -1
  139. package/lib/es6/style/data-table.shadow.css +0 -394
  140. package/lib/es6/types.js +0 -2
  141. package/lib/es6/types.js.map +0 -1
  142. package/lib/es6/utils.js +0 -48
  143. package/lib/es6/utils.js.map +0 -1
  144. package/lib/esm/Body.mjs +0 -320
  145. package/lib/esm/DataTable.mjs +0 -439
  146. package/lib/esm/Head.mjs +0 -258
  147. package/lib/esm/utils.mjs +0 -37
  148. package/lib/types/Body.d.ts +0 -61
  149. package/lib/types/DataTable.d.ts +0 -205
  150. package/lib/types/Head.d.ts +0 -45
  151. package/lib/types/types.d.ts +0 -73
  152. package/lib/types/utils.d.ts +0 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Body.js","names":["React","Component","createComponent","Root","sstyled","Box","Row","style","_sstyled","insert","Cell","MergedColumnsCell","MergedRowsCell","ACCORDION","ROW_INDEX","UNIQ_ROW_KEY","ChevronRightM","ButtonLink","Spin","isInteractiveElement","ROWS_BUFFER","APROX_ROWS_ON_PAGE","BodyRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","Map","index","row","node","rowsHeightMap","has","set","setRowHeight","setTimeout","i","size","asProps","onExpandRow","e","target","handleExpandRow","_createClass","key","value","getRowProps","props","_this$asProps","use","gridTemplateAreas","gridTemplateColumns","expandedRows","columns","loading","hasGroups","scrollAreaRef","uid","onBackFromAccordion","rowProps","rows","flatRows","sideIndents","selectedRows","onSelectRow","getFixedStyle","rowIndex","from","reduce","acc","item","findIndex","_flatRows$rowIndex","expandedRow","isArray","gridRowIndex","ariaRowIndex","accordionDataGridArea","_objectSpread","onClick","handleClickRow","undefined","expanded","inert","getCellProps","_props$children","_value3","_this2","_value4","_this$asProps2","renderCell","styles","getI18nText","virtualScroll","tableRef","SAccordionToggle","dataKey","column","name","cellValue","isMergedRows","isMergedColumns","defaultRender","_value","isValidElement","toString","extraProps","Boolean","children","_value$toString","_value2","external","columnName","columnIndex","isReactNode","_ref2","createElement","Fragment","cn","stopPropagation","id","accordionId","Addon","tag","handleClickCell","render","_ref","_ref3","_this$rowsHeightMap$g5","_this3","SBody","SRowGroup","SSpinContainer","_this$asProps3","headerHeight","spinnerRef","scrollDirection","tableContainerRef","scrollTop","renderEmptyData","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","get","valueFromToCompare","valueToToCompare","Math","max","min","_this$rowsHeightMap$g3","_this$rowsHeightMap$g4","_startIndex","indexForUpIterate","slice","rowHeight","floor","ceil","rowMarginTop","emptyRow","_emptyRow","_assignProps","Body","offset","map","_ref4","handleRef","ref","obj","_this$rowsHeightMap$g6","_node$children$item","firstChild","role","HTMLElement","offsetTop","height","getBoundingClientRect","nextSibling"],"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_INDEX, UNIQ_ROW_KEY } 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';\nimport { isInteractiveElement } from '@semcore/core/lib/utils/isInteractiveElement';\n\nconst ROWS_BUFFER = 20;\nconst APROX_ROWS_ON_PAGE = 20;\n\nclass BodyRoot extends Component<DataTableBodyProps, {}, {}, [], BodyPropsInner> {\n static displayName = 'Body';\n static style = style;\n\n rowsHeightMap = new Map<number, [number, number, HTMLElement]>();\n\n indexForDownIterate = 0;\n indexForUpIterate = 0;\n\n handleRef = (index: number, row: DTRow) => (node: HTMLElement | null) => {\n if (!this.rowsHeightMap.has(index) && node) {\n this.rowsHeightMap.set(index, [0, 0, node]);\n this.setRowHeight(index, row);\n }\n };\n\n handleExpandRow = (row: DTRow, index: number) => {\n setTimeout(() => {\n this.setRowHeight(index, row);\n for (let i = index; i < this.rowsHeightMap.size; i++) {\n this.setRowHeight(i, row);\n }\n }, 300); // we need to calculate after expanding animation\n\n this.asProps.onExpandRow(row);\n };\n\n handleClickRow = (row: DTRow, index: number) => (e: React.SyntheticEvent<HTMLElement>) => {\n if (!isInteractiveElement(e.target)) {\n this.handleExpandRow(row, index);\n }\n };\n handleClickCell = (row: DTRow, index: number) => (e: React.SyntheticEvent<HTMLElement>) => {\n if (!isInteractiveElement(e.target)) {\n this.handleExpandRow(row, index);\n }\n };\n\n getRowProps(props: { row: DTRow }): RowPropsInner {\n const {\n use,\n gridTemplateAreas,\n gridTemplateColumns,\n expandedRows,\n columns,\n onExpandRow,\n loading,\n hasGroups,\n scrollAreaRef,\n uid,\n onBackFromAccordion,\n rowProps,\n rows,\n flatRows,\n sideIndents,\n selectedRows,\n onSelectRow,\n getFixedStyle,\n } = this.asProps;\n const row = props.row;\n const index = row[ROW_INDEX];\n\n const rowIndex = Array.from(expandedRows ?? []).reduce((acc, item) => {\n const rowIndex = flatRows.findIndex((row) => row[UNIQ_ROW_KEY] === item);\n if (rowIndex < index) {\n const expandedRow = flatRows[rowIndex]?.[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 onClick: row[ACCORDION] ? this.handleClickRow(row, index) : undefined,\n ...rowProps?.(row, index),\n use,\n uid,\n gridTemplateAreas,\n gridTemplateColumns,\n expanded: expandedRows?.has(row[UNIQ_ROW_KEY]),\n accordionDataGridArea,\n columns,\n rowIndex: index,\n ariaRowIndex,\n gridRowIndex,\n rows,\n onBackFromAccordion,\n row,\n expandedRows,\n onExpandRow,\n selectedRows,\n onSelectRow,\n inert: loading ? '' : undefined,\n scrollAreaRef,\n sideIndents,\n getFixedStyle,\n };\n }\n\n getCellProps(props: DataTableCellProps) {\n const { use, renderCell, expandedRows, styles, getI18nText, virtualScroll, 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 return React.isValidElement(value) ? value : 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: React.isValidElement(value) ? 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 if ((props.columnIndex === 0 && props.row[ACCORDION]) || value?.[ACCORDION]) {\n const expanded = expandedRows?.has(props.row[UNIQ_ROW_KEY]);\n extraProps.children = sstyled(styles)(\n <>\n <SAccordionToggle\n aria-label={getI18nText('DataTable.Cell.AccordionToggle.expand:aria-label')}\n // @ts-ignore\n expanded={expanded}\n onClick={(e: React.SyntheticEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n this.handleExpandRow(props.row, props.rowIndex);\n }}\n color={'--intergalactic-icon-primary-neutral'}\n aria-expanded={expanded}\n aria-describedby={props.id}\n aria-controls={props.accordionId}\n >\n <SAccordionToggle.Addon tag={ChevronRightM} />\n </SAccordionToggle>\n {extraProps.children}\n </>,\n );\n }\n\n if (value?.[ACCORDION]) {\n extraProps.onClick = this.handleClickCell(props.row, props.rowIndex);\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 renderEmptyData,\n columns,\n uid,\n rows,\n } = this.asProps;\n\n let rowsToRender = 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, 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, 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 = Math.max(startIndex - aproxRowsOnPage, 0);\n }\n }\n\n if (startIndex === -1) {\n startIndex = scrollTop === 0 ? 0 : Math.max(rows.length - aproxRowsOnPage, 0);\n }\n\n if (lastIndex === -1) {\n lastIndex = scrollTop === 0 ? aproxRowsOnPage : rows.length;\n }\n\n this.indexForDownIterate = startIndex;\n this.indexForUpIterate = lastIndex;\n\n rowsToRender = 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 rows.length,\n );\n\n rowsToRender = rows.slice(startIndex, lastIndex);\n }\n }\n\n startIndex = startIndex === -1 ? 0 : startIndex;\n const rowMarginTop = this.rowsHeightMap.get(startIndex - 1)?.[1];\n\n let emptyRow: DTRow | null = null;\n\n if (rowsToRender.length === 0) {\n emptyRow = {\n [UNIQ_ROW_KEY]: `${uid}_empty_data`,\n [ROW_INDEX]: 0,\n [columns[0].name]: new MergedColumnsCell(renderEmptyData(), {\n dataKey: columns[0].name,\n size: columns.length,\n }),\n };\n }\n\n return sstyled(styles)(\n <SBody render={Box} __excludeProps={['data']}>\n {emptyRow && <Body.Row row={emptyRow} offset={0} />}\n {typeof virtualScroll === 'boolean' && rowMarginTop && <Box h={rowMarginTop} />}\n {rowsToRender.map((row, index) => {\n if (Array.isArray(row)) {\n return sstyled(styles)(\n <SRowGroup\n role={'rowgroup'}\n key={`gg_${row[0][UNIQ_ROW_KEY]}`}\n ref={this.handleRef(startIndex + index, row[0])}\n >\n {row.map((item, i) => {\n return <Body.Row key={item[UNIQ_ROW_KEY]} row={item} />;\n })}\n </SRowGroup>,\n );\n }\n return (\n <Body.Row\n key={row[UNIQ_ROW_KEY]}\n row={row}\n ref={virtualScroll ? this.handleRef(startIndex + index, row) : undefined}\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 setRowHeight(index: number, row: DTRow) {\n const { expandedRows } = this.asProps;\n const node = this.rowsHeightMap.get(index)?.[2];\n const firstChild =\n node?.role === 'rowgroup' ? node?.children.item(0)?.children.item(0) : node?.children.item(0);\n if (node && firstChild instanceof HTMLElement) {\n const offset = firstChild.offsetTop - this.asProps.headerHeight;\n let height = firstChild.getBoundingClientRect().height;\n\n if (expandedRows.has(row[UNIQ_ROW_KEY]) && node.nextSibling instanceof HTMLElement) {\n height = height + node.nextSibling.getBoundingClientRect().height;\n }\n\n this.rowsHeightMap.set(index, [offset, offset + height, node]);\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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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Body.types.js.map
@@ -0,0 +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, VirtualScroll } from '../DataTable/DataTable.types';\nimport { Theme } from './Cell.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 | React.ReactElement;\n defaultRender: () => React.ReactNode;\n isMergedRows: boolean;\n isMergedColumns: boolean;\n};\n\nexport type DataTableBodyProps = {\n renderCell?: (\n props: CellRenderProps,\n ) => React.ReactNode | (Record<string, any> & { theme?: Theme });\n\n rowProps?: (\n row: DTRow,\n rowIndex: number,\n ) => (Record<string, any> & { theme?: Theme }) | undefined;\n};\n\nexport type BodyPropsInner = DataTableBodyProps & {\n rows: Array<DTRow | DTRow[]>;\n flatRows: DTRow[];\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: Set<string>;\n onExpandRow: (row: DTRow) => void;\n spinnerRef: React.RefObject<HTMLDivElement>;\n tableContainerRef: React.RefObject<HTMLDivElement>;\n tableRef: React.RefObject<HTMLDivElement>;\n scrollAreaRef: React.RefObject<HTMLDivElement>;\n scrollTop: number;\n scrollDirection: 'down' | 'up';\n virtualScroll?: VirtualScroll;\n hasGroups: boolean;\n uid: string;\n rowProps?: (row: DTRow, rowIndex: number) => Record<string, any> | undefined;\n renderCell?: (props: CellRenderProps) => React.ReactNode | Record<string, any>;\n onBackFromAccordion: (colIndex: number) => void;\n stickyHeader?: boolean;\n selectedRows?: number[];\n onSelectRow?: (\n isSelect: boolean,\n selectedRowIndex: number,\n row: DTRow,\n event?: React.SyntheticEvent<HTMLElement>,\n ) => void;\n renderEmptyData: () => React.ReactNode;\n sideIndents?: 'wide';\n getFixedStyle: (\n cell: Pick<DTColumn, 'name' | 'fixed'>,\n ) => [side: 'left' | 'right', style: string | number] | [side: undefined, style: undefined];\n};\n"],"mappings":""}
@@ -0,0 +1,188 @@
1
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
+ import _createClass from "@babel/runtime/helpers/createClass";
4
+ import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
5
+ import _inherits from "@babel/runtime/helpers/inherits";
6
+ import _createSuper from "@babel/runtime/helpers/createSuper";
7
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
+ import { sstyled as _sstyled } from "@semcore/core";
9
+ import { assignProps as _assignProps } from "@semcore/core";
10
+ import * as React from 'react';
11
+ import { Component, Root, sstyled, createComponent } from '@semcore/core';
12
+ import { Flex } from '@semcore/base-components';
13
+ /*!__reshadow-styles__:"./style.shadow.css"*/
14
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SBody_1sflu_gg_,.___SRowGroup_1sflu_gg_,.___SRow_1sflu_gg_{display:contents}.___SBody_1sflu_gg_.__compact_1sflu_gg_ .___SCell_1sflu_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SBody_1sflu_gg_.__compact_1sflu_gg_ .___SCell_1sflu_gg_[data-aria-level]{padding-left:calc(var(--intergalactic-spacing-2x, 8px) + (var(--intergalactic-spacing-5x, 20px)*(var(--data-aria-level_1sflu) - 1)))}.___SCell_1sflu_gg_.__gridArea_1sflu_gg_,.___SCollapseRow_1sflu_gg_.__gridArea_1sflu_gg_,.___SRow_1sflu_gg_.__gridArea_1sflu_gg_{grid-area:var(--gridArea_1sflu)}.___SCollapseRow_1sflu_gg_ .___SCell_1sflu_gg_{display:block}.___SRow_1sflu_gg_.__active_1sflu_gg_>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_),.___SRow_1sflu_gg_.__expanded_1sflu_gg_._accordionType_cell_1sflu_gg_>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_).__withAccordion_1sflu_gg_,.___SRow_1sflu_gg_.__expanded_1sflu_gg_._accordionType_row_1sflu_gg_>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_){background-color:var(--intergalactic-table-td-cell-active, #e6e7ed)}.___SCollapseRow_1sflu_gg_>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_),.___SRow_1sflu_gg_.__expanded_1sflu_gg_>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_){background-color:var(--intergalactic-table-td-cell-accordion, #f4f5f9)}@media (hover:hover){.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_:hover)>.___SRow_1sflu_gg_._theme_muted_1sflu_gg_>.___SCell_1sflu_gg_[data-grouped-by=rowgroup]:not(.__theme_1sflu_gg_),.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_:hover)>.___SRow_1sflu_gg_>.___SCell_1sflu_gg_[data-grouped-by=rowgroup]._theme_muted_1sflu_gg_,.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_:hover)>.___SRow_1sflu_gg_>.___SCell_1sflu_gg_[data-grouped-by=rowgroup]:not(.__theme_1sflu_gg_),.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1sflu_gg_._theme_muted_1sflu_gg_>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_),.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1sflu_gg_>.___SCell_1sflu_gg_._theme_muted_1sflu_gg_,.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1sflu_gg_>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_),.___SRow_1sflu_gg_._theme_muted_1sflu_gg_:hover>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_),.___SRow_1sflu_gg_:hover>.___SCell_1sflu_gg_._theme_muted_1sflu_gg_,.___SRow_1sflu_gg_:hover>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_:hover)>.___SRow_1sflu_gg_._theme_info_1sflu_gg_>.___SCell_1sflu_gg_[data-grouped-by=rowgroup]:not(.__theme_1sflu_gg_),.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_:hover)>.___SRow_1sflu_gg_>.___SCell_1sflu_gg_[data-grouped-by=rowgroup]._theme_info_1sflu_gg_,.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1sflu_gg_._theme_info_1sflu_gg_>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_),.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1sflu_gg_>.___SCell_1sflu_gg_._theme_info_1sflu_gg_,.___SRow_1sflu_gg_._theme_info_1sflu_gg_:hover>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_),.___SRow_1sflu_gg_:hover>.___SCell_1sflu_gg_._theme_info_1sflu_gg_{background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_:hover)>.___SRow_1sflu_gg_._theme_success_1sflu_gg_>.___SCell_1sflu_gg_[data-grouped-by=rowgroup]:not(.__theme_1sflu_gg_),.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_:hover)>.___SRow_1sflu_gg_>.___SCell_1sflu_gg_[data-grouped-by=rowgroup]._theme_success_1sflu_gg_,.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1sflu_gg_._theme_success_1sflu_gg_>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_),.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1sflu_gg_>.___SCell_1sflu_gg_._theme_success_1sflu_gg_,.___SRow_1sflu_gg_._theme_success_1sflu_gg_:hover>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_),.___SRow_1sflu_gg_:hover>.___SCell_1sflu_gg_._theme_success_1sflu_gg_{background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_:hover)>.___SRow_1sflu_gg_._theme_warning_1sflu_gg_>.___SCell_1sflu_gg_[data-grouped-by=rowgroup]:not(.__theme_1sflu_gg_),.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_:hover)>.___SRow_1sflu_gg_>.___SCell_1sflu_gg_[data-grouped-by=rowgroup]._theme_warning_1sflu_gg_,.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1sflu_gg_._theme_warning_1sflu_gg_>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_),.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1sflu_gg_>.___SCell_1sflu_gg_._theme_warning_1sflu_gg_,.___SRow_1sflu_gg_._theme_warning_1sflu_gg_:hover>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_),.___SRow_1sflu_gg_:hover>.___SCell_1sflu_gg_._theme_warning_1sflu_gg_{background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_:hover)>.___SRow_1sflu_gg_._theme_danger_1sflu_gg_>.___SCell_1sflu_gg_[data-grouped-by=rowgroup]:not(.__theme_1sflu_gg_),.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_:hover)>.___SRow_1sflu_gg_>.___SCell_1sflu_gg_[data-grouped-by=rowgroup]._theme_danger_1sflu_gg_,.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1sflu_gg_._theme_danger_1sflu_gg_>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_),.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1sflu_gg_>.___SCell_1sflu_gg_._theme_danger_1sflu_gg_,.___SRow_1sflu_gg_._theme_danger_1sflu_gg_:hover>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_),.___SRow_1sflu_gg_:hover>.___SCell_1sflu_gg_._theme_danger_1sflu_gg_{background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}}.___SRow_1sflu_gg_._theme_muted_1sflu_gg_ .___SCell_1sflu_gg_:not(.__theme_1sflu_gg_){background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}.___SRow_1sflu_gg_._theme_muted_1sflu_gg_.__active_1sflu_gg_>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_){background-color:var(--intergalactic-table-td-cell-active, #e6e7ed)}.___SRow_1sflu_gg_._theme_info_1sflu_gg_ .___SCell_1sflu_gg_:not(.__theme_1sflu_gg_){background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SRow_1sflu_gg_._theme_info_1sflu_gg_.__active_1sflu_gg_>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_){background-color:var(--intergalactic-table-td-cell-selected-active, #c4e5fe)}.___SRow_1sflu_gg_._theme_success_1sflu_gg_ .___SCell_1sflu_gg_:not(.__theme_1sflu_gg_){background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SRow_1sflu_gg_._theme_success_1sflu_gg_.__active_1sflu_gg_>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_){background-color:var(--intergalactic-table-td-cell-new-active, #9ef2c9)}.___SRow_1sflu_gg_._theme_warning_1sflu_gg_ .___SCell_1sflu_gg_:not(.__theme_1sflu_gg_){background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SRow_1sflu_gg_._theme_warning_1sflu_gg_.__active_1sflu_gg_>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_){background-color:var(--intergalactic-table-td-cell-warning-active, #ffdca2)}.___SRow_1sflu_gg_._theme_danger_1sflu_gg_ .___SCell_1sflu_gg_:not(.__theme_1sflu_gg_){background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SRow_1sflu_gg_._theme_danger_1sflu_gg_.__active_1sflu_gg_>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_){background-color:var(--intergalactic-table-td-cell-critical-active, #ffd7df)}.___SCell_1sflu_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_1sflu_gg_ .___SAccordionToggle_1sflu_gg_{margin-right:var(--intergalactic-spacing-3x, 12px);margin-top:var(--intergalactic-spacing-05x, 2px);height:-moz-fit-content;height:fit-content}.___SCell_1sflu_gg_ .___SAccordionToggle_1sflu_gg_ svg{transition:transform calc(var(--intergalactic-duration-accordion, 200)*1ms) ease-out}.___SCell_1sflu_gg_ .___SAccordionToggle_1sflu_gg_.__expanded_1sflu_gg_ svg{transform:rotate(90deg)}.___SCheckboxCell_1sflu_gg_,.___SRow_1sflu_gg_._accordionType_cell_1sflu_gg_>.___SCell_1sflu_gg_.__withAccordion_1sflu_gg_,.___SRow_1sflu_gg_._accordionType_row_1sflu_gg_>.___SCell_1sflu_gg_{cursor:pointer}.___SCell_1sflu_gg_._use_primary_1sflu_gg_{padding:var(--intergalactic-spacing-3x, 12px);min-height:45px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_1sflu_gg_._use_primary_1sflu_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_1sflu) - 1)))}.___SCell_1sflu_gg_._use_secondary_1sflu_gg_{padding:var(--intergalactic-spacing-2x, 8px);min-height:37px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_1sflu_gg_._use_secondary_1sflu_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_1sflu) - 1)))}.___SCell_1sflu_gg_._borders_both_1sflu_gg_,.___SCell_1sflu_gg_._borders_left_1sflu_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_1sflu_gg_._borders_both_1sflu_gg_,.___SCell_1sflu_gg_._borders_right_1sflu_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_1sflu_gg_.__fixed_1sflu_gg_{position:sticky;z-index:2}.___SCell_1sflu_gg_._theme_muted_1sflu_gg_{background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}.___SCell_1sflu_gg_._theme_info_1sflu_gg_{background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SCell_1sflu_gg_._theme_success_1sflu_gg_{background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SCell_1sflu_gg_._theme_warning_1sflu_gg_{background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SCell_1sflu_gg_._theme_danger_1sflu_gg_{background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SSpinContainer_1sflu_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_1sflu_gg_.__headerHeight_1sflu_gg_{top:var(--headerHeight_1sflu)}.___SEmptyData_1sflu_gg_{grid-column:1/-1}.___SRow_1sflu_gg_._sideIndents_wide_1sflu_gg_ .___SCell_1sflu_gg_:first-child{padding-left:var(--intergalactic-spacing-5x, 20px)}.___SRow_1sflu_gg_._sideIndents_wide_1sflu_gg_ .___SCell_1sflu_gg_:last-child{padding-right:var(--intergalactic-spacing-5x, 20px)}", /*__inner_css_end__*/"1sflu_gg_"),
15
+ /*__reshadow_css_end__*/
16
+ {
17
+ "__SBody": "___SBody_1sflu_gg_",
18
+ "__SRow": "___SRow_1sflu_gg_",
19
+ "__SRowGroup": "___SRowGroup_1sflu_gg_",
20
+ "_gridArea": "__gridArea_1sflu_gg_",
21
+ "__SCell": "___SCell_1sflu_gg_",
22
+ "__SCollapseRow": "___SCollapseRow_1sflu_gg_",
23
+ "--gridArea": "--gridArea_1sflu",
24
+ "_active": "__active_1sflu_gg_",
25
+ "_theme": "__theme_1sflu_gg_",
26
+ "_expanded": "__expanded_1sflu_gg_",
27
+ "_accordionType_row": "_accordionType_row_1sflu_gg_",
28
+ "_accordionType_cell": "_accordionType_cell_1sflu_gg_",
29
+ "_withAccordion": "__withAccordion_1sflu_gg_",
30
+ "_theme_muted": "_theme_muted_1sflu_gg_",
31
+ "_theme_info": "_theme_info_1sflu_gg_",
32
+ "_theme_success": "_theme_success_1sflu_gg_",
33
+ "_theme_warning": "_theme_warning_1sflu_gg_",
34
+ "_theme_danger": "_theme_danger_1sflu_gg_",
35
+ "__SCheckboxCell": "___SCheckboxCell_1sflu_gg_",
36
+ "_borders_both": "_borders_both_1sflu_gg_",
37
+ "_borders_left": "_borders_left_1sflu_gg_",
38
+ "_borders_right": "_borders_right_1sflu_gg_",
39
+ "_fixed": "__fixed_1sflu_gg_",
40
+ "__SSpinContainer": "___SSpinContainer_1sflu_gg_",
41
+ "_headerHeight": "__headerHeight_1sflu_gg_",
42
+ "--headerHeight": "--headerHeight_1sflu",
43
+ "__SEmptyData": "___SEmptyData_1sflu_gg_",
44
+ "_compact": "__compact_1sflu_gg_",
45
+ "--data-aria-level": "--data-aria-level_1sflu",
46
+ "__SAccordionToggle": "___SAccordionToggle_1sflu_gg_",
47
+ "_use_primary": "_use_primary_1sflu_gg_",
48
+ "_use_secondary": "_use_secondary_1sflu_gg_",
49
+ "_sideIndents_wide": "_sideIndents_wide_1sflu_gg_"
50
+ });
51
+ import { getFocusableIn } from '@semcore/core/lib/utils/focus-lock/getFocusableIn';
52
+ import { MergedColumnsCell, MergedRowsCell } from './MergedCells';
53
+ import { isFocusInside } from '@semcore/core/lib/utils/focus-lock/isFocusInside';
54
+ var CellRoot = /*#__PURE__*/function (_Component) {
55
+ _inherits(CellRoot, _Component);
56
+ var _super = _createSuper(CellRoot);
57
+ function CellRoot() {
58
+ var _this;
59
+ _classCallCheck(this, CellRoot);
60
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
61
+ args[_key] = arguments[_key];
62
+ }
63
+ _this = _super.call.apply(_super, [this].concat(args));
64
+ _defineProperty(_assertThisInitialized(_this), "cellRef", /*#__PURE__*/React.createRef());
65
+ _defineProperty(_assertThisInitialized(_this), "lockedCell", [null, false]);
66
+ _defineProperty(_assertThisInitialized(_this), "handleKeyDown", function (e) {
67
+ if (e.currentTarget === _this.lockedCell[0]) {
68
+ var focusableChildren = Array.from(_this.lockedCell[0].children).flatMap(function (node) {
69
+ return getFocusableIn(node);
70
+ });
71
+ if (_this.lockedCell[1]) {
72
+ if (e.key === 'Escape') {
73
+ var _this$lockedCell$;
74
+ (_this$lockedCell$ = _this.lockedCell[0]) === null || _this$lockedCell$ === void 0 ? void 0 : _this$lockedCell$.focus();
75
+ _this.lockedCell[1] = false;
76
+ }
77
+ if (e.key.startsWith('Arrow')) {
78
+ e.stopPropagation();
79
+ e.preventDefault();
80
+ }
81
+ if (e.key === 'Tab') {
82
+ if (e.target === focusableChildren[0] && e.shiftKey) {
83
+ var _focusableChildren;
84
+ (_focusableChildren = focusableChildren[focusableChildren.length - 1]) === null || _focusableChildren === void 0 ? void 0 : _focusableChildren.focus();
85
+ e.preventDefault();
86
+ } else if (e.target === focusableChildren[focusableChildren.length - 1] && !e.shiftKey) {
87
+ var _focusableChildren$;
88
+ (_focusableChildren$ = focusableChildren[0]) === null || _focusableChildren$ === void 0 ? void 0 : _focusableChildren$.focus();
89
+ e.preventDefault();
90
+ }
91
+ e.stopPropagation();
92
+ }
93
+ } else if (e.key === 'Enter') {
94
+ var _focusableChildren$2;
95
+ e.preventDefault();
96
+ e.stopPropagation();
97
+ _this.lockedCell[1] = true;
98
+ (_focusableChildren$2 = focusableChildren[0]) === null || _focusableChildren$2 === void 0 ? void 0 : _focusableChildren$2.focus();
99
+ }
100
+ }
101
+ });
102
+ _defineProperty(_assertThisInitialized(_this), "onFocusCell", function (e) {
103
+ if (e.target === e.currentTarget && e.target.matches(':focus-visible')) {
104
+ e.target.scrollIntoView({
105
+ behavior: 'smooth',
106
+ block: 'center',
107
+ inline: 'center'
108
+ });
109
+ var focusableChildren = Array.from(e.currentTarget.children).flatMap(function (node) {
110
+ return getFocusableIn(node);
111
+ });
112
+ if (focusableChildren.length === 1) {
113
+ focusableChildren[0].focus();
114
+ } else if (focusableChildren.length > 1) {
115
+ _this.lockedCell = [e.currentTarget, false];
116
+ }
117
+ }
118
+ });
119
+ return _this;
120
+ }
121
+ _createClass(CellRoot, [{
122
+ key: "componentWillUnmount",
123
+ value: function componentWillUnmount() {
124
+ var _this$asProps = this.asProps,
125
+ virtualScroll = _this$asProps.virtualScroll,
126
+ tableRef = _this$asProps.tableRef;
127
+ if (virtualScroll && this.cellRef.current && isFocusInside(this.cellRef.current)) {
128
+ var _tableRef$current;
129
+ (_tableRef$current = tableRef.current) === null || _tableRef$current === void 0 ? void 0 : _tableRef$current.setAttribute('tabIndex', '0');
130
+ }
131
+ }
132
+ }, {
133
+ key: "render",
134
+ value: function render() {
135
+ var _ref = this.asProps,
136
+ _ref2;
137
+ var SCell = Flex;
138
+ var _this$asProps2 = this.asProps,
139
+ Children = _this$asProps2.Children,
140
+ styles = _this$asProps2.styles,
141
+ row = _this$asProps2.row,
142
+ column = _this$asProps2.column,
143
+ columnIndex = _this$asProps2.columnIndex,
144
+ gridRowIndex = _this$asProps2.gridRowIndex;
145
+ var cell = row[column.name];
146
+ var cellName = cell instanceof MergedColumnsCell ? cell.dataKey : column.name;
147
+ var scope = null;
148
+ var gridArea = undefined;
149
+ var fromRow = gridRowIndex;
150
+ var fromCol = columnIndex + 1;
151
+ if (cell instanceof MergedColumnsCell) {
152
+ gridArea = "".concat(fromRow, " / ").concat(fromCol, " / ").concat(fromRow + 1, " / ").concat(fromCol + cell.columnsCount);
153
+ scope = 'colgroup';
154
+ } else if (cell instanceof MergedRowsCell) {
155
+ gridArea = "".concat(fromRow, " / ").concat(fromCol, " / ").concat(fromRow + cell.rowsCount, " / ").concat(fromCol + 1);
156
+ scope = 'rowgroup';
157
+ } else {
158
+ gridArea = "".concat(fromRow, " / ").concat(fromCol, " / ").concat(fromRow + 1, " / ").concat(fromCol + 1);
159
+ }
160
+ return _ref2 = sstyled(styles), /*#__PURE__*/React.createElement(SCell, _ref2.cn("SCell", _objectSpread({}, _assignProps({
161
+ "ref": this.cellRef,
162
+ "innerOutline": true,
163
+ "tabIndex": -1,
164
+ "onKeyDown": this.handleKeyDown,
165
+ "onFocus": this.onFocusCell,
166
+ "name": cellName,
167
+ "role": 'gridcell',
168
+ "aria-colindex": columnIndex + 1,
169
+ "data-grouped-by": scope,
170
+ "scope": scope,
171
+ "aria-colspan": cell instanceof MergedColumnsCell ? cell.columnsCount : undefined,
172
+ "aria-rowspan": cell instanceof MergedRowsCell ? cell.rowsCount : undefined,
173
+ "gridArea": gridArea,
174
+ "borders": column.borders,
175
+ "flexWrap": column.flexWrap,
176
+ "alignItems": column.alignItems,
177
+ "alignContent": column.alignContent,
178
+ "justifyContent": column.justifyContent,
179
+ "fixed": column.fixed
180
+ }, _ref))), /*#__PURE__*/React.createElement(Children, _ref2.cn("Children", {})));
181
+ }
182
+ }]);
183
+ return CellRoot;
184
+ }(Component);
185
+ _defineProperty(CellRoot, "displayName", 'Cell');
186
+ _defineProperty(CellRoot, "style", style);
187
+ export var Cell = createComponent(CellRoot);
188
+ //# sourceMappingURL=Cell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cell.js","names":["React","Component","Root","sstyled","createComponent","Flex","style","_sstyled","insert","getFocusableIn","MergedColumnsCell","MergedRowsCell","isFocusInside","CellRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","createRef","e","currentTarget","lockedCell","focusableChildren","from","children","flatMap","node","key","_this$lockedCell$","focus","startsWith","stopPropagation","preventDefault","target","shiftKey","_focusableChildren","_focusableChildren$","_focusableChildren$2","matches","scrollIntoView","behavior","block","inline","_createClass","value","componentWillUnmount","_this$asProps","asProps","virtualScroll","tableRef","cellRef","current","_tableRef$current","setAttribute","render","_ref","_ref2","SCell","_this$asProps2","Children","styles","row","column","columnIndex","gridRowIndex","cell","name","cellName","dataKey","scope","gridArea","undefined","fromRow","fromCol","columnsCount","rowsCount","createElement","cn","_objectSpread","_assignProps","handleKeyDown","onFocusCell","borders","flexWrap","alignItems","alignContent","justifyContent","fixed","Cell"],"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 = `${fromRow} / ${fromCol} / ${fromRow + cell.rowsCount} / ${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.rowsCount : 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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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Cell.types.js.map
@@ -0,0 +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 } from '../Head/Column.types';\n\nexport type Theme = 'muted' | 'info' | 'success' | 'warning' | 'danger';\n\nexport type DataTableCellProps = {\n id: string;\n accordionId: string;\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":""}
@@ -0,0 +1,20 @@
1
+ import _createClass from "@babel/runtime/helpers/createClass";
2
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
+ export var MergedRowsCell = /*#__PURE__*/_createClass(function MergedRowsCell(value, rowsCount) {
5
+ _classCallCheck(this, MergedRowsCell);
6
+ _defineProperty(this, "value", void 0);
7
+ _defineProperty(this, "rowsCount", void 0);
8
+ this.value = value;
9
+ this.rowsCount = rowsCount;
10
+ });
11
+ export var MergedColumnsCell = /*#__PURE__*/_createClass(function MergedColumnsCell(value, options) {
12
+ _classCallCheck(this, MergedColumnsCell);
13
+ _defineProperty(this, "value", void 0);
14
+ _defineProperty(this, "columnsCount", void 0);
15
+ _defineProperty(this, "dataKey", void 0);
16
+ this.value = value;
17
+ this.columnsCount = options.size;
18
+ this.dataKey = options.dataKey;
19
+ });
20
+ //# sourceMappingURL=MergedCells.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MergedCells.js","names":["MergedRowsCell","_createClass","value","rowsCount","_classCallCheck","_defineProperty","MergedColumnsCell","options","columnsCount","size","dataKey"],"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, rowsCount: number) {\n this.value = value;\n this.rowsCount = rowsCount;\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":";;;AAAA,WAAaA,cAAc,gBAAAC,YAAA,CAIzB,SAAAD,eAAYE,KAAU,EAAEC,SAAiB,EAAE;EAAAC,eAAA,OAAAJ,cAAA;EAAAK,eAAA;EAAAA,eAAA;EACzC,IAAI,CAACH,KAAK,GAAGA,KAAK;EAClB,IAAI,CAACC,SAAS,GAAGA,SAAS;AAC5B,CAAC;AAGH,WAAaG,iBAAiB,gBAAAL,YAAA,CAK5B,SAAAK,kBAAYJ,KAAU,EAAEK,OAA0C,EAAE;EAAAH,eAAA,OAAAE,iBAAA;EAAAD,eAAA;EAAAA,eAAA;EAAAA,eAAA;EAClE,IAAI,CAACH,KAAK,GAAGA,KAAK;EAClB,IAAI,CAACM,YAAY,GAAGD,OAAO,CAACE,IAAI;EAChC,IAAI,CAACC,OAAO,GAAGH,OAAO,CAACG,OAAO;AAChC,CAAC"}