@semcore/data-table 16.6.0-prerelease.2 → 16.6.0-prerelease.5
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.
- package/CHANGELOG.md +7 -6
- package/lib/cjs/components/Body/Body.js +4 -3
- package/lib/cjs/components/Body/Body.js.map +1 -1
- package/lib/cjs/components/DataTable/DataTable.js +1 -1
- package/lib/cjs/components/DataTable/DataTable.js.map +1 -1
- package/lib/es6/components/Body/Body.js +4 -3
- package/lib/es6/components/Body/Body.js.map +1 -1
- package/lib/es6/components/DataTable/DataTable.js +1 -1
- package/lib/es6/components/DataTable/DataTable.js.map +1 -1
- package/lib/esm/components/Body/Body.mjs +4 -3
- package/lib/esm/components/DataTable/DataTable.mjs +1 -1
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -2,20 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
|
|
4
4
|
|
|
5
|
-
## [16.6.0] - 2026-
|
|
6
|
-
|
|
7
|
-
### Added
|
|
8
|
-
|
|
9
|
-
- New structure `SelectableRows` to handle selected rows in reactive
|
|
10
|
-
way.
|
|
5
|
+
## [16.6.0] - 2026-04-01
|
|
11
6
|
|
|
12
7
|
### Fixed
|
|
13
8
|
|
|
9
|
+
- Scroll issue in virtualized tables in Firefox.
|
|
14
10
|
- Impossible to navigate by keyboard when sorting was clicked by mouse.
|
|
15
11
|
- Impossible to navigate cells near the merger when accordion collapsed.
|
|
16
12
|
- Sorted column remains visually selected after sorting another column
|
|
17
13
|
via mouse when sorted was focused
|
|
18
14
|
|
|
15
|
+
### Added
|
|
16
|
+
|
|
17
|
+
- New structure `SelectableRows` to handle selected rows in reactive
|
|
18
|
+
way.
|
|
19
|
+
|
|
19
20
|
## [16.5.3] - 2026-02-10
|
|
20
21
|
|
|
21
22
|
### Fixed
|
|
@@ -116,7 +116,7 @@ var BodyRoot = /*#__PURE__*/function (_Component) {
|
|
|
116
116
|
});
|
|
117
117
|
(0, _defineProperty2["default"])(_this, "handleRef", function (index, row) {
|
|
118
118
|
return function (node) {
|
|
119
|
-
if (
|
|
119
|
+
if (node) {
|
|
120
120
|
_this.rowsHeightMap.set(index, [0, 0, node]);
|
|
121
121
|
_this.setRowHeight(index, row);
|
|
122
122
|
}
|
|
@@ -303,7 +303,7 @@ var BodyRoot = /*#__PURE__*/function (_Component) {
|
|
|
303
303
|
var offsetHeight = (_tableContainerRef$cu = (_tableContainerRef$cu2 = tableContainerRef.current) === null || _tableContainerRef$cu2 === void 0 ? void 0 : _tableContainerRef$cu2.offsetHeight) !== null && _tableContainerRef$cu !== void 0 ? _tableContainerRef$cu : 0;
|
|
304
304
|
var prevPrepared = scrollDirection === 'up' ? rowsBuffer : 4;
|
|
305
305
|
var nextPrepared = scrollDirection === 'up' ? 4 : rowsBuffer;
|
|
306
|
-
if (typeof virtualScroll === 'boolean' || '
|
|
306
|
+
if (typeof virtualScroll === 'boolean' || !('rowHeight' in virtualScroll)) {
|
|
307
307
|
var _virtualScroll$aproxR;
|
|
308
308
|
var aproxRowsOnPage = typeof virtualScroll !== 'boolean' ? (_virtualScroll$aproxR = virtualScroll.aproxRowsOnPage) !== null && _virtualScroll$aproxR !== void 0 ? _virtualScroll$aproxR : APROX_ROWS_ON_PAGE : APROX_ROWS_ON_PAGE;
|
|
309
309
|
if (scrollDirection === 'down') {
|
|
@@ -367,6 +367,7 @@ var BodyRoot = /*#__PURE__*/function (_Component) {
|
|
|
367
367
|
}
|
|
368
368
|
this.startIndex = startIndex === -1 ? 0 : startIndex;
|
|
369
369
|
var rowMarginTop = (_this$rowsHeightMap$g5 = this.rowsHeightMap.get(this.startIndex - 1)) === null || _this$rowsHeightMap$g5 === void 0 ? void 0 : _this$rowsHeightMap$g5[1];
|
|
370
|
+
var needMarginTop = typeof virtualScroll === 'boolean' || virtualScroll && !('rowHeight' in virtualScroll);
|
|
370
371
|
var emptyRow = null;
|
|
371
372
|
if (rowsToRender.length === 0) {
|
|
372
373
|
emptyRow = (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])({}, _DataTable.UNIQ_ROW_KEY, "".concat(uid, "_empty_data")), _DataTable.IS_EMPTY_DATA_ROW, true), _DataTable.ROW_INDEX, 0), _DataTable.GRID_ROW_INDEX, 0), columns[0].name, new _MergedCells.MergedColumnsCell(renderEmptyData(), {
|
|
@@ -383,7 +384,7 @@ var BodyRoot = /*#__PURE__*/function (_Component) {
|
|
|
383
384
|
}, _ref))), emptyRow && /*#__PURE__*/React.createElement(Body.Row, {
|
|
384
385
|
row: emptyRow,
|
|
385
386
|
isNonInteractive: true
|
|
386
|
-
}),
|
|
387
|
+
}), needMarginTop && rowMarginTop && /*#__PURE__*/React.createElement(_baseComponents.Box, _ref2.cn("Box", {
|
|
387
388
|
"h": rowMarginTop
|
|
388
389
|
})), rowsToRender.map(function (row, index) {
|
|
389
390
|
var _row$UNIQ_ROW_KEY;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Body.js","names":["_core","require","_baseComponents","_canUseDOM","_interopRequireDefault","_hasParent","_spin","React","_interopRequireWildcard","_MergedCells","_Row","_RowGroup","_DataTable","style","sstyled","insert","ROWS_BUFFER","APROX_ROWS_ON_PAGE","INDEX_OFFSET","exports","BodyRoot","_Component","props","_this","_classCallCheck2","_callSuper2","_defineProperty2","Map","createRef","requestAnimationFrame","_this$bodyRef$current","_this$bodyRef$current2","collapsedElements","bodyRef","current","querySelectorAll","forEach","collapsedElement","parent","parentElement","getAttribute","appendChild","visibleRows","row","index","HTMLElement","setAttribute","startIndex","toString","asProps","totalRows","_this$asProps$tableRe","_visibleRows$length","tableRef","length","node","rowsHeightMap","has","set","setRowHeight","component","rowsComponentsMap","UNIQ_ROW_KEY","_this$asProps","propsHeaderHeight","headerHeight","tableContainerRef","stickyHeader","scrollTop","spinContainerIsFocused","bind","_inherits2","_createClass2","key","value","componentDidMount","calculateAriaRowIndex","componentDidUpdate","prevProps","_this$asProps2","loading","activeElement","document","setTimeout","hasParent","_tableRef$current","focus","_tableRef$current2","getRowProps","_rowProps","_this$asProps3","use","gridTemplateAreas","gridTemplateColumns","expandedRows","columns","onExpandRow","hasGroups","scrollAreaRef","uid","onBackFromAccordion","rowProps","rows","flatRows","sideIndents","selectedRows","onSelectRow","getFixedStyle","accordionDuration","accordionAnimationRows","getI18nText","renderCell","onCellClick","rawData","shadowVertical","accordionMode","virtualScroll","limit","variant","ROW_INDEX","gridRowIndex","GRID_ROW_INDEX","sideIndentsValue","calculatedRowProps","_objectSpread2","rowIndex","inert","undefined","mergedRow","componentsMap","render","_ref","_ref2","_this$rowsHeightMap$g5","_this2","SBody","Box","SSpinContainer","_this$asProps4","styles","spinnerRef","scrollDirection","renderEmptyData","renderCellOverlay","rowsToRender","lastIndex","_virtualScroll$rowsBu","_tableContainerRef$cu","_tableContainerRef$cu2","rowsBuffer","offsetHeight","prevPrepared","nextPrepared","_virtualScroll$aproxR","aproxRowsOnPage","_this$rowsHeightMap$g","_this$rowsHeightMap$g2","i","indexForDownIterate","size","get","valueFromToCompare","valueToToCompare","Math","max","min","_this$rowsHeightMap$g3","_this$rowsHeightMap$g4","indexForUpIterate","slice","rowHeight","floor","ceil","rowMarginTop","emptyRow","concat","IS_EMPTY_DATA_ROW","name","MergedColumnsCell","dataKey","canUseDOM","createElement","cn","assignProps","Body","Row","isNonInteractive","map","_row$UNIQ_ROW_KEY","Array","isArray","groupUniqKey","RowGroup","handleRef","handleComponentRef","ref","componentRef","getSpinnerTopOffset","handleFocusSpinContainer","handleBlurSpinContainer","_this$rowsHeightMap$g6","_node$children$item","firstChild","role","children","item","offset","offsetTop","height","getBoundingClientRect","nextSibling","Component","createComponent"],"sources":["../../../../src/components/Body/Body.tsx"],"sourcesContent":["import { Box } from '@semcore/base-components';\nimport { Component, createComponent, Root, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/core/lib/utils/canUseDOM';\nimport { hasParent } from '@semcore/core/lib/utils/hasParent';\nimport Spin from '@semcore/spin';\nimport * as React from 'react';\n\nimport type { BodyPropsInner, DataTableBodyProps, DataTableBodyType } from './Body.types';\nimport { MergedColumnsCell } from './MergedCells';\nimport type { RowRoot } from './Row';\nimport { Row } from './Row';\nimport type { DataTableRowType, DTRow, RowPropsInner } from './Row.types';\nimport { RowGroup } from './RowGroup';\nimport style from './style.shadow.css';\nimport {\n GRID_ROW_INDEX,\n IS_EMPTY_DATA_ROW,\n ROW_INDEX,\n UNIQ_ROW_KEY,\n} from '../DataTable/DataTable';\nimport type { DataTableData } from '../DataTable/DataTable.types';\n\nconst ROWS_BUFFER = 20;\nconst APROX_ROWS_ON_PAGE = 20;\nexport const INDEX_OFFSET = 2; // 1 - for header, 1 - because start not from 0, but from 1\n\nclass BodyRoot<Data extends DataTableData, UniqKeyType> extends Component<DataTableBodyProps<Data, UniqKeyType>, {}, {}, [], BodyPropsInner<Data, UniqKeyType>> {\n static displayName = 'Body';\n static style = style;\n\n rowsHeightMap = new Map<number, [number, number, HTMLElement]>();\n rowsComponentsMap = new Map<UniqKeyType, RowRoot<Data, UniqKeyType>>();\n\n indexForDownIterate = 0;\n indexForUpIterate = 0;\n\n startIndex = -1;\n\n bodyRef = React.createRef<HTMLDivElement>();\n spinContainerIsFocused = false;\n\n constructor(props: DataTableBodyProps<Data, UniqKeyType>) {\n super(props);\n this.setRowHeight = this.setRowHeight.bind(this);\n }\n\n componentDidMount() {\n this.calculateAriaRowIndex();\n }\n\n componentDidUpdate(prevProps: DataTableBodyProps<Data, UniqKeyType> & BodyPropsInner<Data, UniqKeyType>) {\n const { loading, tableRef } = this.asProps;\n if (prevProps.loading !== loading) {\n if (loading) {\n const activeElement = document.activeElement; // need to define it here because of FF\n setTimeout(() => {\n if ((tableRef.current && hasParent(activeElement, tableRef.current))) {\n tableRef.current?.focus();\n }\n });\n } else if (!loading && this.spinContainerIsFocused) {\n setTimeout(() => {\n tableRef.current?.focus();\n });\n this.spinContainerIsFocused = false;\n }\n }\n }\n\n calculateAriaRowIndex = () => {\n requestAnimationFrame(() => {\n const collapsedElements = this.bodyRef.current?.querySelectorAll('[role=row][data-ui-name=\"Collapse\"]:not([aria-hidden=true]):not(:scope [data-ui-name=\"DataTable\"] [role=row]:not([aria-hidden=true]))');\n\n collapsedElements?.forEach((collapsedElement) => {\n const parent = collapsedElement.parentElement;\n if (parent?.getAttribute('role') === 'rowgroup') {\n parent?.appendChild(collapsedElement);\n }\n });\n\n const visibleRows = this.bodyRef.current?.querySelectorAll('[role=row]:not([aria-hidden=true]):not(:scope [data-ui-name=\"DataTable\"] [role=row]:not([aria-hidden=true]))');\n\n visibleRows?.forEach((row, index) => {\n if (row instanceof HTMLElement) {\n row.setAttribute('aria-rowindex', (index + 2 + this.startIndex).toString());\n }\n });\n\n if (!this.asProps.totalRows) {\n this.asProps.tableRef.current?.setAttribute('aria-rowcount', (visibleRows?.length ?? 0).toString());\n }\n });\n };\n\n handleRef = (index: number, row: DTRow<UniqKeyType>) => (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 handleComponentRef = (row: DTRow<UniqKeyType>) => (component: RowRoot<Data, UniqKeyType> | null) => {\n requestAnimationFrame(() => {\n if (component) {\n this.rowsComponentsMap.set(row[UNIQ_ROW_KEY], component);\n } else {\n this.rowsComponentsMap.delete(row[UNIQ_ROW_KEY]);\n }\n });\n };\n\n getRowProps(props: { row: DTRow<UniqKeyType>; mergedRow?: boolean }): RowPropsInner<Data, UniqKeyType> {\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 accordionDuration,\n accordionAnimationRows,\n getI18nText,\n renderCell,\n tableRef,\n onCellClick,\n rawData,\n shadowVertical,\n accordionMode,\n virtualScroll,\n limit,\n variant,\n } = this.asProps;\n const row = props.row;\n const index = row[ROW_INDEX];\n const gridRowIndex = row[GRID_ROW_INDEX] + (hasGroups ? INDEX_OFFSET + 1 : INDEX_OFFSET); // 1 - for header, 1 - because start not from 0, but from 1\n\n const sideIndentsValue = variant === 'card' ? 'wide' : sideIndents;\n\n const calculatedRowProps = rowProps?.(row, index) ?? {};\n\n return {\n ...calculatedRowProps,\n use,\n uid,\n gridTemplateAreas,\n gridTemplateColumns,\n columns,\n rowIndex: index,\n gridRowIndex,\n rows,\n onBackFromAccordion,\n row,\n onExpandRow,\n selectedRows,\n onSelectRow,\n inert: loading ? '' : undefined,\n scrollAreaRef,\n sideIndents: sideIndentsValue,\n getFixedStyle,\n mergedRow: props.mergedRow,\n accordionDuration,\n accordionAnimationRows,\n flatRows,\n getI18nText,\n renderCell,\n tableRef,\n onCellClick,\n rawData,\n expandedRows,\n rowsHeightMap: this.rowsHeightMap,\n setRowHeight: this.setRowHeight,\n shadowVertical,\n accordionMode,\n componentsMap: this.rowsComponentsMap,\n calculateAriaRowIndex: this.calculateAriaRowIndex,\n virtualScroll,\n variant,\n limit,\n hasGroups,\n };\n }\n\n getSpinnerTopOffset = () => {\n const { headerHeight: propsHeaderHeight, tableContainerRef, stickyHeader } = this.asProps;\n\n let headerHeight = propsHeaderHeight;\n\n if (stickyHeader) {\n return headerHeight;\n }\n\n if (tableContainerRef.current) {\n if (tableContainerRef.current.scrollTop > headerHeight) {\n headerHeight = 0;\n } else {\n headerHeight = headerHeight - tableContainerRef.current.scrollTop;\n }\n }\n\n return headerHeight;\n };\n\n handleFocusSpinContainer = () => {\n this.spinContainerIsFocused = true;\n };\n\n handleBlurSpinContainer = () => {\n this.spinContainerIsFocused = false;\n };\n\n render() {\n const SBody = Root;\n const SSpinContainer = Box;\n const {\n styles,\n loading,\n spinnerRef,\n virtualScroll,\n scrollDirection,\n tableContainerRef,\n scrollTop,\n renderEmptyData,\n columns,\n uid,\n rows,\n renderCellOverlay,\n selectedRows,\n } = this.asProps;\n\n let rowsToRender = rows;\n\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 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 this.startIndex = startIndex === -1 ? 0 : startIndex;\n const rowMarginTop = this.rowsHeightMap.get(this.startIndex - 1)?.[1];\n\n let emptyRow: DTRow<string> | null = null;\n\n if (rowsToRender.length === 0) {\n emptyRow = {\n [UNIQ_ROW_KEY]: `${uid}_empty_data`,\n [IS_EMPTY_DATA_ROW]: true,\n [ROW_INDEX]: 0,\n [GRID_ROW_INDEX]: 0,\n [columns[0].name]: new MergedColumnsCell(renderEmptyData(), {\n dataKey: columns[0].name,\n size: columns.length,\n }),\n };\n }\n\n if (canUseDOM()) {\n this.calculateAriaRowIndex();\n }\n\n return sstyled(styles)(\n <SBody render={Box} __excludeProps={['data']} ref={this.bodyRef}>\n {emptyRow && <Body.Row row={emptyRow} isNonInteractive />}\n {typeof virtualScroll === 'boolean' && rowMarginTop && <Box h={rowMarginTop} />}\n {rowsToRender.map((row, index) => {\n if (Array.isArray(row)) {\n const groupUniqKey = row[0][UNIQ_ROW_KEY];\n\n return (\n <RowGroup\n key={`gg_${groupUniqKey}`}\n rows={row}\n selectedRows={selectedRows}\n columns={columns}\n startIndex={this.startIndex}\n rowIndex={index}\n handleRef={this.handleRef}\n handleComponentRef={this.handleComponentRef}\n />\n );\n }\n\n return (\n <Body.Row\n key={row[UNIQ_ROW_KEY]?.toString()}\n row={row}\n ref={virtualScroll ? this.handleRef(this.startIndex + index, row) : undefined}\n componentRef={this.handleComponentRef(row)}\n />\n );\n })}\n {renderCellOverlay?.()}\n {loading && (\n <SSpinContainer\n innerOutline\n // @ts-ignore\n headerHeight={`${this.getSpinnerTopOffset()}px`}\n tabIndex={-1}\n ref={spinnerRef}\n role='row'\n onFocus={this.handleFocusSpinContainer}\n onBlur={this.handleBlurSpinContainer}\n >\n <Spin size='xxl' role='gridcell' />\n </SSpinContainer>\n )}\n </SBody>,\n );\n }\n\n private setRowHeight(index: number, row: DTRow<UniqKeyType>) {\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}) as DataTableBodyType & {\n Row: DataTableRowType;\n};\n"],"mappings":";;;;;;;;;;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AADA,IAAAC,eAAA,GAAAD,OAAA;AAEA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAF,sBAAA,CAAAH,OAAA;AACA,IAAAM,KAAA,GAAAC,uBAAA,CAAAP,OAAA;AAGA,IAAAQ,YAAA,GAAAR,OAAA;AAEA,IAAAS,IAAA,GAAAT,OAAA;AAEA,IAAAU,SAAA,GAAAV,OAAA;AAEA,IAAAW,UAAA,GAAAX,OAAA;AAKgC;AAAA,IAAAY,KAAA,8BAAAb,KAAA,CAAAc,OAAA,CAAAC,MAAA;AAAA;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAGhC,IAAMC,WAAW,GAAG,EAAE;AACtB,IAAMC,kBAAkB,GAAG,EAAE;AACtB,IAAMC,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,CAAC,CAAC,CAAC;AAAA,IAEzBE,QAAQ,0BAAAC,UAAA;EAeZ,SAAAD,SAAYE,KAA4C,EAAE;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,mBAAAJ,QAAA;IACxDG,KAAA,OAAAE,WAAA,mBAAAL,QAAA,GAAME,KAAK;IAAE,IAAAI,gBAAA,aAAAH,KAAA,mBAZC,IAAII,GAAG,CAAwC,CAAC;IAAA,IAAAD,gBAAA,aAAAH,KAAA,uBAC5C,IAAII,GAAG,CAA0C,CAAC;IAAA,IAAAD,gBAAA,aAAAH,KAAA,yBAEhD,CAAC;IAAA,IAAAG,gBAAA,aAAAH,KAAA,uBACH,CAAC;IAAA,IAAAG,gBAAA,aAAAH,KAAA,gBAER,CAAC,CAAC;IAAA,IAAAG,gBAAA,aAAAH,KAAA,0BAELhB,KAAK,CAACqB,SAAS,CAAiB,CAAC;IAAA,IAAAF,gBAAA,aAAAH,KAAA,4BAClB,KAAK;IAAA,IAAAG,gBAAA,aAAAH,KAAA,2BA8BN,YAAM;MAC5BM,qBAAqB,CAAC,YAAM;QAAA,IAAAC,qBAAA,EAAAC,sBAAA;QAC1B,IAAMC,iBAAiB,IAAAF,qBAAA,GAAGP,KAAA,CAAKU,OAAO,CAACC,OAAO,cAAAJ,qBAAA,uBAApBA,qBAAA,CAAsBK,gBAAgB,CAAC,uIAAuI,CAAC;QAEzMH,iBAAiB,aAAjBA,iBAAiB,eAAjBA,iBAAiB,CAAEI,OAAO,CAAC,UAACC,gBAAgB,EAAK;UAC/C,IAAMC,MAAM,GAAGD,gBAAgB,CAACE,aAAa;UAC7C,IAAI,CAAAD,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEE,YAAY,CAAC,MAAM,CAAC,MAAK,UAAU,EAAE;YAC/CF,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEG,WAAW,CAACJ,gBAAgB,CAAC;UACvC;QACF,CAAC,CAAC;QAEF,IAAMK,WAAW,IAAAX,sBAAA,GAAGR,KAAA,CAAKU,OAAO,CAACC,OAAO,cAAAH,sBAAA,uBAApBA,sBAAA,CAAsBI,gBAAgB,CAAC,8GAA8G,CAAC;QAE1KO,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAEN,OAAO,CAAC,UAACO,GAAG,EAAEC,KAAK,EAAK;UACnC,IAAID,GAAG,YAAYE,WAAW,EAAE;YAC9BF,GAAG,CAACG,YAAY,CAAC,eAAe,EAAE,CAACF,KAAK,GAAG,CAAC,GAAGrB,KAAA,CAAKwB,UAAU,EAAEC,QAAQ,CAAC,CAAC,CAAC;UAC7E;QACF,CAAC,CAAC;QAEF,IAAI,CAACzB,KAAA,CAAK0B,OAAO,CAACC,SAAS,EAAE;UAAA,IAAAC,qBAAA,EAAAC,mBAAA;UAC3B,CAAAD,qBAAA,GAAA5B,KAAA,CAAK0B,OAAO,CAACI,QAAQ,CAACnB,OAAO,cAAAiB,qBAAA,eAA7BA,qBAAA,CAA+BL,YAAY,CAAC,eAAe,EAAE,EAAAM,mBAAA,GAACV,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEY,MAAM,cAAAF,mBAAA,cAAAA,mBAAA,GAAI,CAAC,EAAEJ,QAAQ,CAAC,CAAC,CAAC;QACrG;MACF,CAAC,CAAC;IACJ,CAAC;IAAA,IAAAtB,gBAAA,aAAAH,KAAA,eAEW,UAACqB,KAAa,EAAED,GAAuB;MAAA,OAAK,UAACY,IAAwB,EAAK;QACpF,IAAI,CAAChC,KAAA,CAAKiC,aAAa,CAACC,GAAG,CAACb,KAAK,CAAC,IAAIW,IAAI,EAAE;UAC1ChC,KAAA,CAAKiC,aAAa,CAACE,GAAG,CAACd,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAEW,IAAI,CAAC,CAAC;UAC3ChC,KAAA,CAAKoC,YAAY,CAACf,KAAK,EAAED,GAAG,CAAC;QAC/B;MACF,CAAC;IAAA;IAAA,IAAAjB,gBAAA,aAAAH,KAAA,wBAEoB,UAACoB,GAAuB;MAAA,OAAK,UAACiB,SAA4C,EAAK;QAClG/B,qBAAqB,CAAC,YAAM;UAC1B,IAAI+B,SAAS,EAAE;YACbrC,KAAA,CAAKsC,iBAAiB,CAACH,GAAG,CAACf,GAAG,CAACmB,uBAAY,CAAC,EAAEF,SAAS,CAAC;UAC1D,CAAC,MAAM;YACLrC,KAAA,CAAKsC,iBAAiB,UAAO,CAAClB,GAAG,CAACmB,uBAAY,CAAC,CAAC;UAClD;QACF,CAAC,CAAC;MACJ,CAAC;IAAA;IAAA,IAAApC,gBAAA,aAAAH,KAAA,yBAqFqB,YAAM;MAC1B,IAAAwC,aAAA,GAA6ExC,KAAA,CAAK0B,OAAO;QAAnEe,iBAAiB,GAAAD,aAAA,CAA/BE,YAAY;QAAqBC,iBAAiB,GAAAH,aAAA,CAAjBG,iBAAiB;QAAEC,YAAY,GAAAJ,aAAA,CAAZI,YAAY;MAExE,IAAIF,YAAY,GAAGD,iBAAiB;MAEpC,IAAIG,YAAY,EAAE;QAChB,OAAOF,YAAY;MACrB;MAEA,IAAIC,iBAAiB,CAAChC,OAAO,EAAE;QAC7B,IAAIgC,iBAAiB,CAAChC,OAAO,CAACkC,SAAS,GAAGH,YAAY,EAAE;UACtDA,YAAY,GAAG,CAAC;QAClB,CAAC,MAAM;UACLA,YAAY,GAAGA,YAAY,GAAGC,iBAAiB,CAAChC,OAAO,CAACkC,SAAS;QACnE;MACF;MAEA,OAAOH,YAAY;IACrB,CAAC;IAAA,IAAAvC,gBAAA,aAAAH,KAAA,8BAE0B,YAAM;MAC/BA,KAAA,CAAK8C,sBAAsB,GAAG,IAAI;IACpC,CAAC;IAAA,IAAA3C,gBAAA,aAAAH,KAAA,6BAEyB,YAAM;MAC9BA,KAAA,CAAK8C,sBAAsB,GAAG,KAAK;IACrC,CAAC;IAjLC9C,KAAA,CAAKoC,YAAY,GAAGpC,KAAA,CAAKoC,YAAY,CAACW,IAAI,CAAA/C,KAAK,CAAC;IAAC,OAAAA,KAAA;EACnD;EAAC,IAAAgD,UAAA,aAAAnD,QAAA,EAAAC,UAAA;EAAA,WAAAmD,aAAA,aAAApD,QAAA;IAAAqD,GAAA;IAAAC,KAAA,EAED,SAAAC,iBAAiBA,CAAA,EAAG;MAClB,IAAI,CAACC,qBAAqB,CAAC,CAAC;IAC9B;EAAC;IAAAH,GAAA;IAAAC,KAAA,EAED,SAAAG,kBAAkBA,CAACC,SAAoF,EAAE;MACvG,IAAAC,cAAA,GAA8B,IAAI,CAAC9B,OAAO;QAAlC+B,OAAO,GAAAD,cAAA,CAAPC,OAAO;QAAE3B,QAAQ,GAAA0B,cAAA,CAAR1B,QAAQ;MACzB,IAAIyB,SAAS,CAACE,OAAO,KAAKA,OAAO,EAAE;QACjC,IAAIA,OAAO,EAAE;UACX,IAAMC,aAAa,GAAGC,QAAQ,CAACD,aAAa,CAAC,CAAC;UAC9CE,UAAU,CAAC,YAAM;YACf,IAAK9B,QAAQ,CAACnB,OAAO,IAAI,IAAAkD,oBAAS,EAACH,aAAa,EAAE5B,QAAQ,CAACnB,OAAO,CAAC,EAAG;cAAA,IAAAmD,iBAAA;cACpE,CAAAA,iBAAA,GAAAhC,QAAQ,CAACnB,OAAO,cAAAmD,iBAAA,eAAhBA,iBAAA,CAAkBC,KAAK,CAAC,CAAC;YAC3B;UACF,CAAC,CAAC;QACJ,CAAC,MAAM,IAAI,CAACN,OAAO,IAAI,IAAI,CAACX,sBAAsB,EAAE;UAClDc,UAAU,CAAC,YAAM;YAAA,IAAAI,kBAAA;YACf,CAAAA,kBAAA,GAAAlC,QAAQ,CAACnB,OAAO,cAAAqD,kBAAA,eAAhBA,kBAAA,CAAkBD,KAAK,CAAC,CAAC;UAC3B,CAAC,CAAC;UACF,IAAI,CAACjB,sBAAsB,GAAG,KAAK;QACrC;MACF;IACF;EAAC;IAAAI,GAAA;IAAAC,KAAA,EA4CD,SAAAc,WAAWA,CAAClE,KAAuD,EAAoC;MAAA,IAAAmE,SAAA;MACrG,IAAAC,cAAA,GA+BI,IAAI,CAACzC,OAAO;QA9Bd0C,GAAG,GAAAD,cAAA,CAAHC,GAAG;QACHC,iBAAiB,GAAAF,cAAA,CAAjBE,iBAAiB;QACjBC,mBAAmB,GAAAH,cAAA,CAAnBG,mBAAmB;QACnBC,YAAY,GAAAJ,cAAA,CAAZI,YAAY;QACZC,OAAO,GAAAL,cAAA,CAAPK,OAAO;QACPC,WAAW,GAAAN,cAAA,CAAXM,WAAW;QACXhB,OAAO,GAAAU,cAAA,CAAPV,OAAO;QACPiB,SAAS,GAAAP,cAAA,CAATO,SAAS;QACTC,aAAa,GAAAR,cAAA,CAAbQ,aAAa;QACbC,GAAG,GAAAT,cAAA,CAAHS,GAAG;QACHC,mBAAmB,GAAAV,cAAA,CAAnBU,mBAAmB;QACnBC,QAAQ,GAAAX,cAAA,CAARW,QAAQ;QACRC,IAAI,GAAAZ,cAAA,CAAJY,IAAI;QACJC,QAAQ,GAAAb,cAAA,CAARa,QAAQ;QACRC,WAAW,GAAAd,cAAA,CAAXc,WAAW;QACXC,YAAY,GAAAf,cAAA,CAAZe,YAAY;QACZC,WAAW,GAAAhB,cAAA,CAAXgB,WAAW;QACXC,aAAa,GAAAjB,cAAA,CAAbiB,aAAa;QACbC,iBAAiB,GAAAlB,cAAA,CAAjBkB,iBAAiB;QACjBC,sBAAsB,GAAAnB,cAAA,CAAtBmB,sBAAsB;QACtBC,WAAW,GAAApB,cAAA,CAAXoB,WAAW;QACXC,UAAU,GAAArB,cAAA,CAAVqB,UAAU;QACV1D,QAAQ,GAAAqC,cAAA,CAARrC,QAAQ;QACR2D,WAAW,GAAAtB,cAAA,CAAXsB,WAAW;QACXC,OAAO,GAAAvB,cAAA,CAAPuB,OAAO;QACPC,cAAc,GAAAxB,cAAA,CAAdwB,cAAc;QACdC,aAAa,GAAAzB,cAAA,CAAbyB,aAAa;QACbC,aAAa,GAAA1B,cAAA,CAAb0B,aAAa;QACbC,KAAK,GAAA3B,cAAA,CAAL2B,KAAK;QACLC,OAAO,GAAA5B,cAAA,CAAP4B,OAAO;MAET,IAAM3E,GAAG,GAAGrB,KAAK,CAACqB,GAAG;MACrB,IAAMC,KAAK,GAAGD,GAAG,CAAC4E,oBAAS,CAAC;MAC5B,IAAMC,YAAY,GAAG7E,GAAG,CAAC8E,yBAAc,CAAC,IAAIxB,SAAS,GAAG/E,YAAY,GAAG,CAAC,GAAGA,YAAY,CAAC,CAAC,CAAC;;MAE1F,IAAMwG,gBAAgB,GAAGJ,OAAO,KAAK,MAAM,GAAG,MAAM,GAAGd,WAAW;MAElE,IAAMmB,kBAAkB,IAAAlC,SAAA,GAAGY,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAG1D,GAAG,EAAEC,KAAK,CAAC,cAAA6C,SAAA,cAAAA,SAAA,GAAI,CAAC,CAAC;MAEvD,WAAAmC,cAAA,iBAAAA,cAAA,iBACKD,kBAAkB;QACrBhC,GAAG,EAAHA,GAAG;QACHQ,GAAG,EAAHA,GAAG;QACHP,iBAAiB,EAAjBA,iBAAiB;QACjBC,mBAAmB,EAAnBA,mBAAmB;QACnBE,OAAO,EAAPA,OAAO;QACP8B,QAAQ,EAAEjF,KAAK;QACf4E,YAAY,EAAZA,YAAY;QACZlB,IAAI,EAAJA,IAAI;QACJF,mBAAmB,EAAnBA,mBAAmB;QACnBzD,GAAG,EAAHA,GAAG;QACHqD,WAAW,EAAXA,WAAW;QACXS,YAAY,EAAZA,YAAY;QACZC,WAAW,EAAXA,WAAW;QACXoB,KAAK,EAAE9C,OAAO,GAAG,EAAE,GAAG+C,SAAS;QAC/B7B,aAAa,EAAbA,aAAa;QACbM,WAAW,EAAEkB,gBAAgB;QAC7Bf,aAAa,EAAbA,aAAa;QACbqB,SAAS,EAAE1G,KAAK,CAAC0G,SAAS;QAC1BpB,iBAAiB,EAAjBA,iBAAiB;QACjBC,sBAAsB,EAAtBA,sBAAsB;QACtBN,QAAQ,EAARA,QAAQ;QACRO,WAAW,EAAXA,WAAW;QACXC,UAAU,EAAVA,UAAU;QACV1D,QAAQ,EAARA,QAAQ;QACR2D,WAAW,EAAXA,WAAW;QACXC,OAAO,EAAPA,OAAO;QACPnB,YAAY,EAAZA,YAAY;QACZtC,aAAa,EAAE,IAAI,CAACA,aAAa;QACjCG,YAAY,EAAE,IAAI,CAACA,YAAY;QAC/BuD,cAAc,EAAdA,cAAc;QACdC,aAAa,EAAbA,aAAa;QACbc,aAAa,EAAE,IAAI,CAACpE,iBAAiB;QACrCe,qBAAqB,EAAE,IAAI,CAACA,qBAAqB;QACjDwC,aAAa,EAAbA,aAAa;QACbE,OAAO,EAAPA,OAAO;QACPD,KAAK,EAALA,KAAK;QACLpB,SAAS,EAATA;MAAS;IAEb;EAAC;IAAAxB,GAAA;IAAAC,KAAA,EA8BD,SAAAwD,MAAMA,CAAA,EAAG;MAAA,IAAAC,IAAA,QAAAlF,OAAA;QAAAmF,KAAA;QAAAC,sBAAA;QAAAC,MAAA;MACP,IAAMC,KAAK,GAuIMC,mBAAG;MAtIpB,IAAMC,cAAc,GAAGD,mBAAG;MAC1B,IAAAE,cAAA,GAcI,IAAI,CAACzF,OAAO;QAbd0F,MAAM,GAAAD,cAAA,CAANC,MAAM;QACN3D,OAAO,GAAA0D,cAAA,CAAP1D,OAAO;QACP4D,UAAU,GAAAF,cAAA,CAAVE,UAAU;QACVxB,aAAa,GAAAsB,cAAA,CAAbtB,aAAa;QACbyB,eAAe,GAAAH,cAAA,CAAfG,eAAe;QACf3E,iBAAiB,GAAAwE,cAAA,CAAjBxE,iBAAiB;QACjBE,SAAS,GAAAsE,cAAA,CAATtE,SAAS;QACT0E,eAAe,GAAAJ,cAAA,CAAfI,eAAe;QACf/C,OAAO,GAAA2C,cAAA,CAAP3C,OAAO;QACPI,GAAG,GAAAuC,cAAA,CAAHvC,GAAG;QACHG,IAAI,GAAAoC,cAAA,CAAJpC,IAAI;QACJyC,iBAAiB,GAAAL,cAAA,CAAjBK,iBAAiB;QACjBtC,YAAY,GAAAiC,cAAA,CAAZjC,YAAY;MAGd,IAAIuC,YAAY,GAAG1C,IAAI;MAEvB,IAAIvD,UAAU,GAAG,CAAC,CAAC;MACnB,IAAIkG,SAAS,GAAG,CAAC,CAAC;MAElB,IAAI7B,aAAa,EAAE;QAAA,IAAA8B,qBAAA,EAAAC,qBAAA,EAAAC,sBAAA;QACjB,IAAMC,UAAU,GACd,OAAOjC,aAAa,KAAK,SAAS,IAAI,YAAY,IAAIA,aAAa,IAAA8B,qBAAA,GAC/D9B,aAAa,CAACiC,UAAU,cAAAH,qBAAA,cAAAA,qBAAA,GAAIlI,WAAW,GACvCA,WAAW;QACjB,IAAMsI,YAAY,IAAAH,qBAAA,IAAAC,sBAAA,GAAGlF,iBAAiB,CAAChC,OAAO,cAAAkH,sBAAA,uBAAzBA,sBAAA,CAA2BE,YAAY,cAAAH,qBAAA,cAAAA,qBAAA,GAAI,CAAC;QACjE,IAAMI,YAAY,GAAGV,eAAe,KAAK,IAAI,GAAGQ,UAAU,GAAG,CAAC;QAC9D,IAAMG,YAAY,GAAGX,eAAe,KAAK,IAAI,GAAG,CAAC,GAAGQ,UAAU;QAE9D,IAAI,OAAOjC,aAAa,KAAK,SAAS,IAAI,iBAAiB,IAAIA,aAAa,EAAE;UAAA,IAAAqC,qBAAA;UAC5E,IAAMC,eAAe,GACnB,OAAOtC,aAAa,KAAK,SAAS,IAAAqC,qBAAA,GAC9BrC,aAAa,CAACsC,eAAe,cAAAD,qBAAA,cAAAA,qBAAA,GAAIxI,kBAAkB,GACnDA,kBAAkB;UACxB,IAAI4H,eAAe,KAAK,MAAM,EAAE;YAAA,IAAAc,qBAAA,EAAAC,sBAAA;YAC9B,KAAK,IAAIC,CAAC,GAAG,IAAI,CAACC,mBAAmB,EAAED,CAAC,GAAG,IAAI,CAACrG,aAAa,CAACuG,IAAI,GAAG,CAAC,EAAEF,CAAC,EAAE,EAAE;cAC3E,IAAMnF,KAAK,GAAG,IAAI,CAAClB,aAAa,CAACwG,GAAG,CAACH,CAAC,CAAC;cACvC,IAAI,CAACnF,KAAK,EAAE;cACZ,IAAMD,GAAG,GAAGoF,CAAC;cACb,IAAMI,kBAAkB,GAAGvF,KAAK,CAAC,CAAC,CAAC;cACnC,IAAMwF,gBAAgB,GAAGxF,KAAK,CAAC,CAAC,CAAC;cACjC,IAAI3B,UAAU,KAAK,CAAC,CAAC,IAAIqB,SAAS,GAAG6F,kBAAkB,EAAE;gBACvDlH,UAAU,GAAGoH,IAAI,CAACC,GAAG,CAAC3F,GAAG,GAAG8E,YAAY,EAAE,CAAC,CAAC;cAC9C;cAEA,IAAIxG,UAAU,KAAK,CAAC,CAAC,IAAIqB,SAAS,GAAGkF,YAAY,GAAGY,gBAAgB,EAAE;gBACpEjB,SAAS,GAAGkB,IAAI,CAACE,GAAG,CAAC5F,GAAG,GAAG+E,YAAY,EAAElD,IAAI,CAAChD,MAAM,CAAC;cACvD;cAEA,IAAIP,UAAU,KAAK,CAAC,CAAC,IAAIkG,SAAS,KAAK,CAAC,CAAC,EAAE;gBACzC;cACF;YACF;YAEA,IAAI7E,SAAS,GAAGkF,YAAY,KAAAK,qBAAA,IAAAC,sBAAA,GAAI,IAAI,CAACpG,aAAa,CAACwG,GAAG,CAACf,SAAS,aAATA,SAAS,cAATA,SAAS,GAAI,CAAC,CAAC,cAAAW,sBAAA,uBAAtCA,sBAAA,CAAyC,CAAC,CAAC,cAAAD,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC,EAAE;cACjFV,SAAS,GAAGA,SAAS,GAAGS,eAAe;YACzC;UACF,CAAC,MAAM,IAAIb,eAAe,KAAK,IAAI,EAAE;YAAA,IAAAyB,sBAAA,EAAAC,sBAAA;YACnC,KAAK,IAAIV,EAAC,GAAG,IAAI,CAACW,iBAAiB,EAAEX,EAAC,IAAI,CAAC,EAAEA,EAAC,EAAE,EAAE;cAChD,IAAMnF,MAAK,GAAG,IAAI,CAAClB,aAAa,CAACwG,GAAG,CAACH,EAAC,CAAC;cACvC,IAAI,CAACnF,MAAK,EAAE;cACZ,IAAMD,IAAG,GAAGoF,EAAC;cACb,IAAMI,mBAAkB,GAAGvF,MAAK,CAAC,CAAC,CAAC;cACnC,IAAMwF,iBAAgB,GAAGxF,MAAK,CAAC,CAAC,CAAC;cAEjC,IAAIuE,SAAS,KAAK,CAAC,CAAC,IAAI7E,SAAS,GAAGkF,YAAY,GAAGY,iBAAgB,EAAE;gBACnEjB,SAAS,GAAGkB,IAAI,CAACE,GAAG,CAAC5F,IAAG,GAAG+E,YAAY,EAAElD,IAAI,CAAChD,MAAM,CAAC;cACvD;cAEA,IAAI2F,SAAS,KAAK,CAAC,CAAC,IAAI7E,SAAS,GAAG6F,mBAAkB,EAAE;gBACtDlH,UAAU,GAAGoH,IAAI,CAACC,GAAG,CAAC3F,IAAG,GAAG8E,YAAY,EAAE,CAAC,CAAC;cAC9C;cAEA,IAAIxG,UAAU,KAAK,CAAC,CAAC,IAAIkG,SAAS,KAAK,CAAC,CAAC,EAAE;gBACzC;cACF;YACF;YAEA,IAAI7E,SAAS,KAAAkG,sBAAA,IAAAC,sBAAA,GAAI,IAAI,CAAC/G,aAAa,CAACwG,GAAG,CAACjH,UAAU,aAAVA,UAAU,cAAVA,UAAU,GAAI,CAAC,CAAC,cAAAwH,sBAAA,uBAAvCA,sBAAA,CAA0C,CAAC,CAAC,cAAAD,sBAAA,cAAAA,sBAAA,GAAI,CAAC,CAAC,EAAE;cACnEvH,UAAU,GAAGoH,IAAI,CAACC,GAAG,CAACrH,UAAU,GAAG2G,eAAe,EAAE,CAAC,CAAC;YACxD;UACF;UAEA,IAAI3G,UAAU,KAAK,CAAC,CAAC,EAAE;YACrBA,UAAU,GAAGqB,SAAS,KAAK,CAAC,GAAG,CAAC,GAAG+F,IAAI,CAACC,GAAG,CAAC9D,IAAI,CAAChD,MAAM,GAAGoG,eAAe,EAAE,CAAC,CAAC;UAC/E;UAEA,IAAIT,SAAS,KAAK,CAAC,CAAC,EAAE;YACpBA,SAAS,GAAG7E,SAAS,KAAK,CAAC,GAAGsF,eAAe,GAAGpD,IAAI,CAAChD,MAAM;UAC7D;UAEA,IAAI,CAACwG,mBAAmB,GAAG/G,UAAU;UACrC,IAAI,CAACyH,iBAAiB,GAAGvB,SAAS;UAElCD,YAAY,GAAG1C,IAAI,CAACmE,KAAK,CAAC1H,UAAU,EAAEkG,SAAS,CAAC;QAClD,CAAC,MAAM,IAAI,WAAW,IAAI7B,aAAa,EAAE;UACvC,IAAMsD,SAAS,GAAGtD,aAAa,CAACsD,SAAS;UAEzC3H,UAAU,GAAGoH,IAAI,CAACC,GAAG,CAACD,IAAI,CAACQ,KAAK,CAACvG,SAAS,GAAGsG,SAAS,CAAC,GAAGnB,YAAY,EAAE,CAAC,CAAC;UAE1E,IAAMN,UAAS,GAAGkB,IAAI,CAACE,GAAG,CACxBF,IAAI,CAACS,IAAI,CAAC,CAACxG,SAAS,GAAGkF,YAAY,IAAIoB,SAAS,CAAC,GAAGlB,YAAY,EAChElD,IAAI,CAAChD,MACP,CAAC;UAED0F,YAAY,GAAG1C,IAAI,CAACmE,KAAK,CAAC1H,UAAU,EAAEkG,UAAS,CAAC;QAClD;MACF;MAEA,IAAI,CAAClG,UAAU,GAAGA,UAAU,KAAK,CAAC,CAAC,GAAG,CAAC,GAAGA,UAAU;MACpD,IAAM8H,YAAY,IAAAxC,sBAAA,GAAG,IAAI,CAAC7E,aAAa,CAACwG,GAAG,CAAC,IAAI,CAACjH,UAAU,GAAG,CAAC,CAAC,cAAAsF,sBAAA,uBAA3CA,sBAAA,CAA8C,CAAC,CAAC;MAErE,IAAIyC,QAA8B,GAAG,IAAI;MAEzC,IAAI9B,YAAY,CAAC1F,MAAM,KAAK,CAAC,EAAE;QAC7BwH,QAAQ,OAAApJ,gBAAA,iBAAAA,gBAAA,iBAAAA,gBAAA,iBAAAA,gBAAA,iBAAAA,gBAAA,iBACLoC,uBAAY,KAAAiH,MAAA,CAAM5E,GAAG,mBACrB6E,4BAAiB,EAAG,IAAI,GACxBzD,oBAAS,EAAG,CAAC,GACbE,yBAAc,EAAG,CAAC,GAClB1B,OAAO,CAAC,CAAC,CAAC,CAACkF,IAAI,EAAG,IAAIC,8BAAiB,CAACpC,eAAe,CAAC,CAAC,EAAE;UAC1DqC,OAAO,EAAEpF,OAAO,CAAC,CAAC,CAAC,CAACkF,IAAI;UACxBlB,IAAI,EAAEhE,OAAO,CAACzC;QAChB,CAAC,CAAC,CACH;MACH;MAEA,IAAI,IAAA8H,qBAAS,EAAC,CAAC,EAAE;QACf,IAAI,CAACxG,qBAAqB,CAAC,CAAC;MAC9B;MAEA,OAAAwD,KAAA,GAAO,IAAAtH,aAAO,EAAC6H,MAAM,CAAC,eACpBpI,KAAA,CAAA8K,aAAA,CAAC9C,KAAK,EAAAH,KAAA,CAAAkD,EAAA,cAAA1D,cAAA,qBAAA5H,KAAA,CAAAuL,WAAA;QAAA,kBAA8B,CAAC,MAAM,CAAC;QAAA,OAAO,IAAI,CAACtJ;MAAO,GAAAkG,IAAA,KAC5D2C,QAAQ,iBAAIvK,KAAA,CAAA8K,aAAA,CAACG,IAAI,CAACC,GAAG;QAAC9I,GAAG,EAAEmI,QAAS;QAACY,gBAAgB;MAAA,CAAE,CAAC,EACxD,OAAOtE,aAAa,KAAK,SAAS,IAAIyD,YAAY,iBAAItK,KAAA,CAAA8K,aAAA,CAACnL,eAAA,CAAAsI,GAAG,EAAAJ,KAAA,CAAAkD,EAAA;QAAA,KAAIT;MAAY,EAAG,CAAC,EAC9E7B,YAAY,CAAC2C,GAAG,CAAC,UAAChJ,GAAG,EAAEC,KAAK,EAAK;QAAA,IAAAgJ,iBAAA;QAChC,IAAIC,KAAK,CAACC,OAAO,CAACnJ,GAAG,CAAC,EAAE;UACtB,IAAMoJ,YAAY,GAAGpJ,GAAG,CAAC,CAAC,CAAC,CAACmB,uBAAY,CAAC;UAEzC,oBACEvD,KAAA,CAAA8K,aAAA,CAAC1K,SAAA,CAAAqL,QAAQ;YACPvH,GAAG,QAAAsG,MAAA,CAAQgB,YAAY,CAAG;YAC1BzF,IAAI,EAAE3D,GAAI;YACV8D,YAAY,EAAEA,YAAa;YAC3BV,OAAO,EAAEA,OAAQ;YACjBhD,UAAU,EAAEuF,MAAI,CAACvF,UAAW;YAC5B8E,QAAQ,EAAEjF,KAAM;YAChBqJ,SAAS,EAAE3D,MAAI,CAAC2D,SAAU;YAC1BC,kBAAkB,EAAE5D,MAAI,CAAC4D;UAAmB,CAC7C,CAAC;QAEN;QAEA,oBACE3L,KAAA,CAAA8K,aAAA,CAACG,IAAI,CAACC,GAAG;UACPhH,GAAG,GAAAmH,iBAAA,GAAEjJ,GAAG,CAACmB,uBAAY,CAAC,cAAA8H,iBAAA,uBAAjBA,iBAAA,CAAmB5I,QAAQ,CAAC,CAAE;UACnCL,GAAG,EAAEA,GAAI;UACTwJ,GAAG,EAAE/E,aAAa,GAAGkB,MAAI,CAAC2D,SAAS,CAAC3D,MAAI,CAACvF,UAAU,GAAGH,KAAK,EAAED,GAAG,CAAC,GAAGoF,SAAU;UAC9EqE,YAAY,EAAE9D,MAAI,CAAC4D,kBAAkB,CAACvJ,GAAG;QAAE,CAC5C,CAAC;MAEN,CAAC,CAAC,EACDoG,iBAAiB,aAAjBA,iBAAiB,uBAAjBA,iBAAiB,CAAG,CAAC,EACrB/D,OAAO,iBACNzE,KAAA,CAAA8K,aAAA,CAAC5C,cAAc,EAAAL,KAAA,CAAAkD,EAAA;QAAA;QAAA,mBAAAP,MAAA,CAGI,IAAI,CAACsB,mBAAmB,CAAC,CAAC;QAAA,YACjC,CAAC,CAAC;QAAA,OACPzD,UAAU;QAAA,QACV,KAAK;QAAA,WACD,IAAI,CAAC0D,wBAAwB;QAAA,UAC9B,IAAI,CAACC;MAAuB,iBAEpChM,KAAA,CAAA8K,aAAA,CAAC/K,KAAA,WAAI,EAAA8H,KAAA,CAAAkD,EAAA;QAAA,QAAM,KAAK;QAAA,QAAM;MAAU,EAAE,CACpB,CAEb,CAAC;IAEZ;EAAC;IAAA7G,GAAA;IAAAC,KAAA,EAED,SAAQf,YAAYA,CAACf,KAAa,EAAED,GAAuB,EAAE;MAAA,IAAA6J,sBAAA,EAAAC,mBAAA;MAC3D,IAAQ3G,YAAY,GAAK,IAAI,CAAC7C,OAAO,CAA7B6C,YAAY;MACpB,IAAMvC,IAAI,IAAAiJ,sBAAA,GAAG,IAAI,CAAChJ,aAAa,CAACwG,GAAG,CAACpH,KAAK,CAAC,cAAA4J,sBAAA,uBAA7BA,sBAAA,CAAgC,CAAC,CAAC;MAC/C,IAAME,UAAU,GACd,CAAAnJ,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEoJ,IAAI,MAAK,UAAU,GAAGpJ,IAAI,aAAJA,IAAI,gBAAAkJ,mBAAA,GAAJlJ,IAAI,CAAEqJ,QAAQ,CAACC,IAAI,CAAC,CAAC,CAAC,cAAAJ,mBAAA,uBAAtBA,mBAAA,CAAwBG,QAAQ,CAACC,IAAI,CAAC,CAAC,CAAC,GAAGtJ,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEqJ,QAAQ,CAACC,IAAI,CAAC,CAAC,CAAC;MAC/F,IAAItJ,IAAI,IAAImJ,UAAU,YAAY7J,WAAW,EAAE;QAC7C,IAAMiK,MAAM,GAAGJ,UAAU,CAACK,SAAS,GAAG,IAAI,CAAC9J,OAAO,CAACgB,YAAY;QAC/D,IAAI+I,MAAM,GAAGN,UAAU,CAACO,qBAAqB,CAAC,CAAC,CAACD,MAAM;QAEtD,IAAIlH,YAAY,CAACrC,GAAG,CAACd,GAAG,CAACmB,uBAAY,CAAC,CAAC,IAAIP,IAAI,CAAC2J,WAAW,YAAYrK,WAAW,EAAE;UAClFmK,MAAM,GAAGA,MAAM,GAAGzJ,IAAI,CAAC2J,WAAW,CAACD,qBAAqB,CAAC,CAAC,CAACD,MAAM;QACnE;QAEA,IAAI,CAACxJ,aAAa,CAACE,GAAG,CAACd,KAAK,EAAE,CAACkK,MAAM,EAAEA,MAAM,GAAGE,MAAM,EAAEzJ,IAAI,CAAC,CAAC;MAChE;IACF;EAAC;AAAA,EA5Y6D4J,eAAS;AAAA,IAAAzL,gBAAA,aAAnEN,QAAQ,iBACS,MAAM;AAAA,IAAAM,gBAAA,aADvBN,QAAQ,WAEGP,KAAK;AA6Yf,IAAM2K,IAAI,GAAArK,OAAA,CAAAqK,IAAA,GAAG,IAAA4B,qBAAe,EAAChM,QAAQ,EAAE;EAC5CqK,GAAG,EAAHA;AACF,CAAC,CAEA","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Body.js","names":["_core","require","_baseComponents","_canUseDOM","_interopRequireDefault","_hasParent","_spin","React","_interopRequireWildcard","_MergedCells","_Row","_RowGroup","_DataTable","style","sstyled","insert","ROWS_BUFFER","APROX_ROWS_ON_PAGE","INDEX_OFFSET","exports","BodyRoot","_Component","props","_this","_classCallCheck2","_callSuper2","_defineProperty2","Map","createRef","requestAnimationFrame","_this$bodyRef$current","_this$bodyRef$current2","collapsedElements","bodyRef","current","querySelectorAll","forEach","collapsedElement","parent","parentElement","getAttribute","appendChild","visibleRows","row","index","HTMLElement","setAttribute","startIndex","toString","asProps","totalRows","_this$asProps$tableRe","_visibleRows$length","tableRef","length","node","rowsHeightMap","set","setRowHeight","component","rowsComponentsMap","UNIQ_ROW_KEY","_this$asProps","propsHeaderHeight","headerHeight","tableContainerRef","stickyHeader","scrollTop","spinContainerIsFocused","bind","_inherits2","_createClass2","key","value","componentDidMount","calculateAriaRowIndex","componentDidUpdate","prevProps","_this$asProps2","loading","activeElement","document","setTimeout","hasParent","_tableRef$current","focus","_tableRef$current2","getRowProps","_rowProps","_this$asProps3","use","gridTemplateAreas","gridTemplateColumns","expandedRows","columns","onExpandRow","hasGroups","scrollAreaRef","uid","onBackFromAccordion","rowProps","rows","flatRows","sideIndents","selectedRows","onSelectRow","getFixedStyle","accordionDuration","accordionAnimationRows","getI18nText","renderCell","onCellClick","rawData","shadowVertical","accordionMode","virtualScroll","limit","variant","ROW_INDEX","gridRowIndex","GRID_ROW_INDEX","sideIndentsValue","calculatedRowProps","_objectSpread2","rowIndex","inert","undefined","mergedRow","componentsMap","render","_ref","_ref2","_this$rowsHeightMap$g5","_this2","SBody","Box","SSpinContainer","_this$asProps4","styles","spinnerRef","scrollDirection","renderEmptyData","renderCellOverlay","rowsToRender","lastIndex","_virtualScroll$rowsBu","_tableContainerRef$cu","_tableContainerRef$cu2","rowsBuffer","offsetHeight","prevPrepared","nextPrepared","_virtualScroll$aproxR","aproxRowsOnPage","_this$rowsHeightMap$g","_this$rowsHeightMap$g2","i","indexForDownIterate","size","get","valueFromToCompare","valueToToCompare","Math","max","min","_this$rowsHeightMap$g3","_this$rowsHeightMap$g4","indexForUpIterate","slice","rowHeight","floor","ceil","rowMarginTop","needMarginTop","emptyRow","concat","IS_EMPTY_DATA_ROW","name","MergedColumnsCell","dataKey","canUseDOM","createElement","cn","assignProps","Body","Row","isNonInteractive","map","_row$UNIQ_ROW_KEY","Array","isArray","groupUniqKey","RowGroup","handleRef","handleComponentRef","ref","componentRef","getSpinnerTopOffset","handleFocusSpinContainer","handleBlurSpinContainer","_this$rowsHeightMap$g6","_node$children$item","firstChild","role","children","item","offset","offsetTop","height","getBoundingClientRect","has","nextSibling","Component","createComponent"],"sources":["../../../../src/components/Body/Body.tsx"],"sourcesContent":["import { Box } from '@semcore/base-components';\nimport { Component, createComponent, Root, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/core/lib/utils/canUseDOM';\nimport { hasParent } from '@semcore/core/lib/utils/hasParent';\nimport Spin from '@semcore/spin';\nimport * as React from 'react';\n\nimport type { BodyPropsInner, DataTableBodyProps, DataTableBodyType } from './Body.types';\nimport { MergedColumnsCell } from './MergedCells';\nimport type { RowRoot } from './Row';\nimport { Row } from './Row';\nimport type { DataTableRowType, DTRow, RowPropsInner } from './Row.types';\nimport { RowGroup } from './RowGroup';\nimport style from './style.shadow.css';\nimport {\n GRID_ROW_INDEX,\n IS_EMPTY_DATA_ROW,\n ROW_INDEX,\n UNIQ_ROW_KEY,\n} from '../DataTable/DataTable';\nimport type { DataTableData } from '../DataTable/DataTable.types';\n\nconst ROWS_BUFFER = 20;\nconst APROX_ROWS_ON_PAGE = 20;\nexport const INDEX_OFFSET = 2; // 1 - for header, 1 - because start not from 0, but from 1\n\nclass BodyRoot<Data extends DataTableData, UniqKeyType> extends Component<DataTableBodyProps<Data, UniqKeyType>, {}, {}, [], BodyPropsInner<Data, UniqKeyType>> {\n static displayName = 'Body';\n static style = style;\n\n rowsHeightMap = new Map<number, [number, number, HTMLElement]>();\n rowsComponentsMap = new Map<UniqKeyType, RowRoot<Data, UniqKeyType>>();\n\n indexForDownIterate = 0;\n indexForUpIterate = 0;\n\n startIndex = -1;\n\n bodyRef = React.createRef<HTMLDivElement>();\n spinContainerIsFocused = false;\n\n constructor(props: DataTableBodyProps<Data, UniqKeyType>) {\n super(props);\n this.setRowHeight = this.setRowHeight.bind(this);\n }\n\n componentDidMount() {\n this.calculateAriaRowIndex();\n }\n\n componentDidUpdate(prevProps: DataTableBodyProps<Data, UniqKeyType> & BodyPropsInner<Data, UniqKeyType>) {\n const { loading, tableRef } = this.asProps;\n if (prevProps.loading !== loading) {\n if (loading) {\n const activeElement = document.activeElement; // need to define it here because of FF\n setTimeout(() => {\n if ((tableRef.current && hasParent(activeElement, tableRef.current))) {\n tableRef.current?.focus();\n }\n });\n } else if (!loading && this.spinContainerIsFocused) {\n setTimeout(() => {\n tableRef.current?.focus();\n });\n this.spinContainerIsFocused = false;\n }\n }\n }\n\n calculateAriaRowIndex = () => {\n requestAnimationFrame(() => {\n const collapsedElements = this.bodyRef.current?.querySelectorAll('[role=row][data-ui-name=\"Collapse\"]:not([aria-hidden=true]):not(:scope [data-ui-name=\"DataTable\"] [role=row]:not([aria-hidden=true]))');\n\n collapsedElements?.forEach((collapsedElement) => {\n const parent = collapsedElement.parentElement;\n if (parent?.getAttribute('role') === 'rowgroup') {\n parent?.appendChild(collapsedElement);\n }\n });\n\n const visibleRows = this.bodyRef.current?.querySelectorAll('[role=row]:not([aria-hidden=true]):not(:scope [data-ui-name=\"DataTable\"] [role=row]:not([aria-hidden=true]))');\n\n visibleRows?.forEach((row, index) => {\n if (row instanceof HTMLElement) {\n row.setAttribute('aria-rowindex', (index + 2 + this.startIndex).toString());\n }\n });\n\n if (!this.asProps.totalRows) {\n this.asProps.tableRef.current?.setAttribute('aria-rowcount', (visibleRows?.length ?? 0).toString());\n }\n });\n };\n\n handleRef = (index: number, row: DTRow<UniqKeyType>) => (node: HTMLElement | null) => {\n if (node) {\n this.rowsHeightMap.set(index, [0, 0, node]);\n this.setRowHeight(index, row);\n }\n };\n\n handleComponentRef = (row: DTRow<UniqKeyType>) => (component: RowRoot<Data, UniqKeyType> | null) => {\n requestAnimationFrame(() => {\n if (component) {\n this.rowsComponentsMap.set(row[UNIQ_ROW_KEY], component);\n } else {\n this.rowsComponentsMap.delete(row[UNIQ_ROW_KEY]);\n }\n });\n };\n\n getRowProps(props: { row: DTRow<UniqKeyType>; mergedRow?: boolean }): RowPropsInner<Data, UniqKeyType> {\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 accordionDuration,\n accordionAnimationRows,\n getI18nText,\n renderCell,\n tableRef,\n onCellClick,\n rawData,\n shadowVertical,\n accordionMode,\n virtualScroll,\n limit,\n variant,\n } = this.asProps;\n const row = props.row;\n const index = row[ROW_INDEX];\n const gridRowIndex = row[GRID_ROW_INDEX] + (hasGroups ? INDEX_OFFSET + 1 : INDEX_OFFSET); // 1 - for header, 1 - because start not from 0, but from 1\n\n const sideIndentsValue = variant === 'card' ? 'wide' : sideIndents;\n\n const calculatedRowProps = rowProps?.(row, index) ?? {};\n\n return {\n ...calculatedRowProps,\n use,\n uid,\n gridTemplateAreas,\n gridTemplateColumns,\n columns,\n rowIndex: index,\n gridRowIndex,\n rows,\n onBackFromAccordion,\n row,\n onExpandRow,\n selectedRows,\n onSelectRow,\n inert: loading ? '' : undefined,\n scrollAreaRef,\n sideIndents: sideIndentsValue,\n getFixedStyle,\n mergedRow: props.mergedRow,\n accordionDuration,\n accordionAnimationRows,\n flatRows,\n getI18nText,\n renderCell,\n tableRef,\n onCellClick,\n rawData,\n expandedRows,\n rowsHeightMap: this.rowsHeightMap,\n setRowHeight: this.setRowHeight,\n shadowVertical,\n accordionMode,\n componentsMap: this.rowsComponentsMap,\n calculateAriaRowIndex: this.calculateAriaRowIndex,\n virtualScroll,\n variant,\n limit,\n hasGroups,\n };\n }\n\n getSpinnerTopOffset = () => {\n const { headerHeight: propsHeaderHeight, tableContainerRef, stickyHeader } = this.asProps;\n\n let headerHeight = propsHeaderHeight;\n\n if (stickyHeader) {\n return headerHeight;\n }\n\n if (tableContainerRef.current) {\n if (tableContainerRef.current.scrollTop > headerHeight) {\n headerHeight = 0;\n } else {\n headerHeight = headerHeight - tableContainerRef.current.scrollTop;\n }\n }\n\n return headerHeight;\n };\n\n handleFocusSpinContainer = () => {\n this.spinContainerIsFocused = true;\n };\n\n handleBlurSpinContainer = () => {\n this.spinContainerIsFocused = false;\n };\n\n render() {\n const SBody = Root;\n const SSpinContainer = Box;\n const {\n styles,\n loading,\n spinnerRef,\n virtualScroll,\n scrollDirection,\n tableContainerRef,\n scrollTop,\n renderEmptyData,\n columns,\n uid,\n rows,\n renderCellOverlay,\n selectedRows,\n } = this.asProps;\n\n let rowsToRender = rows;\n\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' || !('rowHeight' 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 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 this.startIndex = startIndex === -1 ? 0 : startIndex;\n const rowMarginTop = this.rowsHeightMap.get(this.startIndex - 1)?.[1];\n const needMarginTop = typeof virtualScroll === 'boolean' || (virtualScroll && !('rowHeight' in virtualScroll));\n\n let emptyRow: DTRow<string> | null = null;\n\n if (rowsToRender.length === 0) {\n emptyRow = {\n [UNIQ_ROW_KEY]: `${uid}_empty_data`,\n [IS_EMPTY_DATA_ROW]: true,\n [ROW_INDEX]: 0,\n [GRID_ROW_INDEX]: 0,\n [columns[0].name]: new MergedColumnsCell(renderEmptyData(), {\n dataKey: columns[0].name,\n size: columns.length,\n }),\n };\n }\n\n if (canUseDOM()) {\n this.calculateAriaRowIndex();\n }\n\n return sstyled(styles)(\n <SBody render={Box} __excludeProps={['data']} ref={this.bodyRef}>\n {emptyRow && <Body.Row row={emptyRow} isNonInteractive />}\n {needMarginTop && rowMarginTop && <Box h={rowMarginTop} />}\n {rowsToRender.map((row, index) => {\n if (Array.isArray(row)) {\n const groupUniqKey = row[0][UNIQ_ROW_KEY];\n\n return (\n <RowGroup\n key={`gg_${groupUniqKey}`}\n rows={row}\n selectedRows={selectedRows}\n columns={columns}\n startIndex={this.startIndex}\n rowIndex={index}\n handleRef={this.handleRef}\n handleComponentRef={this.handleComponentRef}\n />\n );\n }\n\n return (\n <Body.Row\n key={row[UNIQ_ROW_KEY]?.toString()}\n row={row}\n ref={virtualScroll ? this.handleRef(this.startIndex + index, row) : undefined}\n componentRef={this.handleComponentRef(row)}\n />\n );\n })}\n {renderCellOverlay?.()}\n {loading && (\n <SSpinContainer\n innerOutline\n // @ts-ignore\n headerHeight={`${this.getSpinnerTopOffset()}px`}\n tabIndex={-1}\n ref={spinnerRef}\n role='row'\n onFocus={this.handleFocusSpinContainer}\n onBlur={this.handleBlurSpinContainer}\n >\n <Spin size='xxl' role='gridcell' />\n </SSpinContainer>\n )}\n </SBody>,\n );\n }\n\n private setRowHeight(index: number, row: DTRow<UniqKeyType>) {\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}) as DataTableBodyType & {\n Row: DataTableRowType;\n};\n"],"mappings":";;;;;;;;;;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AADA,IAAAC,eAAA,GAAAD,OAAA;AAEA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAF,sBAAA,CAAAH,OAAA;AACA,IAAAM,KAAA,GAAAC,uBAAA,CAAAP,OAAA;AAGA,IAAAQ,YAAA,GAAAR,OAAA;AAEA,IAAAS,IAAA,GAAAT,OAAA;AAEA,IAAAU,SAAA,GAAAV,OAAA;AAEA,IAAAW,UAAA,GAAAX,OAAA;AAKgC;AAAA,IAAAY,KAAA,8BAAAb,KAAA,CAAAc,OAAA,CAAAC,MAAA;AAAA;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAGhC,IAAMC,WAAW,GAAG,EAAE;AACtB,IAAMC,kBAAkB,GAAG,EAAE;AACtB,IAAMC,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,CAAC,CAAC,CAAC;AAAA,IAEzBE,QAAQ,0BAAAC,UAAA;EAeZ,SAAAD,SAAYE,KAA4C,EAAE;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,mBAAAJ,QAAA;IACxDG,KAAA,OAAAE,WAAA,mBAAAL,QAAA,GAAME,KAAK;IAAE,IAAAI,gBAAA,aAAAH,KAAA,mBAZC,IAAII,GAAG,CAAwC,CAAC;IAAA,IAAAD,gBAAA,aAAAH,KAAA,uBAC5C,IAAII,GAAG,CAA0C,CAAC;IAAA,IAAAD,gBAAA,aAAAH,KAAA,yBAEhD,CAAC;IAAA,IAAAG,gBAAA,aAAAH,KAAA,uBACH,CAAC;IAAA,IAAAG,gBAAA,aAAAH,KAAA,gBAER,CAAC,CAAC;IAAA,IAAAG,gBAAA,aAAAH,KAAA,0BAELhB,KAAK,CAACqB,SAAS,CAAiB,CAAC;IAAA,IAAAF,gBAAA,aAAAH,KAAA,4BAClB,KAAK;IAAA,IAAAG,gBAAA,aAAAH,KAAA,2BA8BN,YAAM;MAC5BM,qBAAqB,CAAC,YAAM;QAAA,IAAAC,qBAAA,EAAAC,sBAAA;QAC1B,IAAMC,iBAAiB,IAAAF,qBAAA,GAAGP,KAAA,CAAKU,OAAO,CAACC,OAAO,cAAAJ,qBAAA,uBAApBA,qBAAA,CAAsBK,gBAAgB,CAAC,uIAAuI,CAAC;QAEzMH,iBAAiB,aAAjBA,iBAAiB,eAAjBA,iBAAiB,CAAEI,OAAO,CAAC,UAACC,gBAAgB,EAAK;UAC/C,IAAMC,MAAM,GAAGD,gBAAgB,CAACE,aAAa;UAC7C,IAAI,CAAAD,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEE,YAAY,CAAC,MAAM,CAAC,MAAK,UAAU,EAAE;YAC/CF,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEG,WAAW,CAACJ,gBAAgB,CAAC;UACvC;QACF,CAAC,CAAC;QAEF,IAAMK,WAAW,IAAAX,sBAAA,GAAGR,KAAA,CAAKU,OAAO,CAACC,OAAO,cAAAH,sBAAA,uBAApBA,sBAAA,CAAsBI,gBAAgB,CAAC,8GAA8G,CAAC;QAE1KO,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAEN,OAAO,CAAC,UAACO,GAAG,EAAEC,KAAK,EAAK;UACnC,IAAID,GAAG,YAAYE,WAAW,EAAE;YAC9BF,GAAG,CAACG,YAAY,CAAC,eAAe,EAAE,CAACF,KAAK,GAAG,CAAC,GAAGrB,KAAA,CAAKwB,UAAU,EAAEC,QAAQ,CAAC,CAAC,CAAC;UAC7E;QACF,CAAC,CAAC;QAEF,IAAI,CAACzB,KAAA,CAAK0B,OAAO,CAACC,SAAS,EAAE;UAAA,IAAAC,qBAAA,EAAAC,mBAAA;UAC3B,CAAAD,qBAAA,GAAA5B,KAAA,CAAK0B,OAAO,CAACI,QAAQ,CAACnB,OAAO,cAAAiB,qBAAA,eAA7BA,qBAAA,CAA+BL,YAAY,CAAC,eAAe,EAAE,EAAAM,mBAAA,GAACV,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEY,MAAM,cAAAF,mBAAA,cAAAA,mBAAA,GAAI,CAAC,EAAEJ,QAAQ,CAAC,CAAC,CAAC;QACrG;MACF,CAAC,CAAC;IACJ,CAAC;IAAA,IAAAtB,gBAAA,aAAAH,KAAA,eAEW,UAACqB,KAAa,EAAED,GAAuB;MAAA,OAAK,UAACY,IAAwB,EAAK;QACpF,IAAIA,IAAI,EAAE;UACRhC,KAAA,CAAKiC,aAAa,CAACC,GAAG,CAACb,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAEW,IAAI,CAAC,CAAC;UAC3ChC,KAAA,CAAKmC,YAAY,CAACd,KAAK,EAAED,GAAG,CAAC;QAC/B;MACF,CAAC;IAAA;IAAA,IAAAjB,gBAAA,aAAAH,KAAA,wBAEoB,UAACoB,GAAuB;MAAA,OAAK,UAACgB,SAA4C,EAAK;QAClG9B,qBAAqB,CAAC,YAAM;UAC1B,IAAI8B,SAAS,EAAE;YACbpC,KAAA,CAAKqC,iBAAiB,CAACH,GAAG,CAACd,GAAG,CAACkB,uBAAY,CAAC,EAAEF,SAAS,CAAC;UAC1D,CAAC,MAAM;YACLpC,KAAA,CAAKqC,iBAAiB,UAAO,CAACjB,GAAG,CAACkB,uBAAY,CAAC,CAAC;UAClD;QACF,CAAC,CAAC;MACJ,CAAC;IAAA;IAAA,IAAAnC,gBAAA,aAAAH,KAAA,yBAqFqB,YAAM;MAC1B,IAAAuC,aAAA,GAA6EvC,KAAA,CAAK0B,OAAO;QAAnEc,iBAAiB,GAAAD,aAAA,CAA/BE,YAAY;QAAqBC,iBAAiB,GAAAH,aAAA,CAAjBG,iBAAiB;QAAEC,YAAY,GAAAJ,aAAA,CAAZI,YAAY;MAExE,IAAIF,YAAY,GAAGD,iBAAiB;MAEpC,IAAIG,YAAY,EAAE;QAChB,OAAOF,YAAY;MACrB;MAEA,IAAIC,iBAAiB,CAAC/B,OAAO,EAAE;QAC7B,IAAI+B,iBAAiB,CAAC/B,OAAO,CAACiC,SAAS,GAAGH,YAAY,EAAE;UACtDA,YAAY,GAAG,CAAC;QAClB,CAAC,MAAM;UACLA,YAAY,GAAGA,YAAY,GAAGC,iBAAiB,CAAC/B,OAAO,CAACiC,SAAS;QACnE;MACF;MAEA,OAAOH,YAAY;IACrB,CAAC;IAAA,IAAAtC,gBAAA,aAAAH,KAAA,8BAE0B,YAAM;MAC/BA,KAAA,CAAK6C,sBAAsB,GAAG,IAAI;IACpC,CAAC;IAAA,IAAA1C,gBAAA,aAAAH,KAAA,6BAEyB,YAAM;MAC9BA,KAAA,CAAK6C,sBAAsB,GAAG,KAAK;IACrC,CAAC;IAjLC7C,KAAA,CAAKmC,YAAY,GAAGnC,KAAA,CAAKmC,YAAY,CAACW,IAAI,CAAA9C,KAAK,CAAC;IAAC,OAAAA,KAAA;EACnD;EAAC,IAAA+C,UAAA,aAAAlD,QAAA,EAAAC,UAAA;EAAA,WAAAkD,aAAA,aAAAnD,QAAA;IAAAoD,GAAA;IAAAC,KAAA,EAED,SAAAC,iBAAiBA,CAAA,EAAG;MAClB,IAAI,CAACC,qBAAqB,CAAC,CAAC;IAC9B;EAAC;IAAAH,GAAA;IAAAC,KAAA,EAED,SAAAG,kBAAkBA,CAACC,SAAoF,EAAE;MACvG,IAAAC,cAAA,GAA8B,IAAI,CAAC7B,OAAO;QAAlC8B,OAAO,GAAAD,cAAA,CAAPC,OAAO;QAAE1B,QAAQ,GAAAyB,cAAA,CAARzB,QAAQ;MACzB,IAAIwB,SAAS,CAACE,OAAO,KAAKA,OAAO,EAAE;QACjC,IAAIA,OAAO,EAAE;UACX,IAAMC,aAAa,GAAGC,QAAQ,CAACD,aAAa,CAAC,CAAC;UAC9CE,UAAU,CAAC,YAAM;YACf,IAAK7B,QAAQ,CAACnB,OAAO,IAAI,IAAAiD,oBAAS,EAACH,aAAa,EAAE3B,QAAQ,CAACnB,OAAO,CAAC,EAAG;cAAA,IAAAkD,iBAAA;cACpE,CAAAA,iBAAA,GAAA/B,QAAQ,CAACnB,OAAO,cAAAkD,iBAAA,eAAhBA,iBAAA,CAAkBC,KAAK,CAAC,CAAC;YAC3B;UACF,CAAC,CAAC;QACJ,CAAC,MAAM,IAAI,CAACN,OAAO,IAAI,IAAI,CAACX,sBAAsB,EAAE;UAClDc,UAAU,CAAC,YAAM;YAAA,IAAAI,kBAAA;YACf,CAAAA,kBAAA,GAAAjC,QAAQ,CAACnB,OAAO,cAAAoD,kBAAA,eAAhBA,kBAAA,CAAkBD,KAAK,CAAC,CAAC;UAC3B,CAAC,CAAC;UACF,IAAI,CAACjB,sBAAsB,GAAG,KAAK;QACrC;MACF;IACF;EAAC;IAAAI,GAAA;IAAAC,KAAA,EA4CD,SAAAc,WAAWA,CAACjE,KAAuD,EAAoC;MAAA,IAAAkE,SAAA;MACrG,IAAAC,cAAA,GA+BI,IAAI,CAACxC,OAAO;QA9BdyC,GAAG,GAAAD,cAAA,CAAHC,GAAG;QACHC,iBAAiB,GAAAF,cAAA,CAAjBE,iBAAiB;QACjBC,mBAAmB,GAAAH,cAAA,CAAnBG,mBAAmB;QACnBC,YAAY,GAAAJ,cAAA,CAAZI,YAAY;QACZC,OAAO,GAAAL,cAAA,CAAPK,OAAO;QACPC,WAAW,GAAAN,cAAA,CAAXM,WAAW;QACXhB,OAAO,GAAAU,cAAA,CAAPV,OAAO;QACPiB,SAAS,GAAAP,cAAA,CAATO,SAAS;QACTC,aAAa,GAAAR,cAAA,CAAbQ,aAAa;QACbC,GAAG,GAAAT,cAAA,CAAHS,GAAG;QACHC,mBAAmB,GAAAV,cAAA,CAAnBU,mBAAmB;QACnBC,QAAQ,GAAAX,cAAA,CAARW,QAAQ;QACRC,IAAI,GAAAZ,cAAA,CAAJY,IAAI;QACJC,QAAQ,GAAAb,cAAA,CAARa,QAAQ;QACRC,WAAW,GAAAd,cAAA,CAAXc,WAAW;QACXC,YAAY,GAAAf,cAAA,CAAZe,YAAY;QACZC,WAAW,GAAAhB,cAAA,CAAXgB,WAAW;QACXC,aAAa,GAAAjB,cAAA,CAAbiB,aAAa;QACbC,iBAAiB,GAAAlB,cAAA,CAAjBkB,iBAAiB;QACjBC,sBAAsB,GAAAnB,cAAA,CAAtBmB,sBAAsB;QACtBC,WAAW,GAAApB,cAAA,CAAXoB,WAAW;QACXC,UAAU,GAAArB,cAAA,CAAVqB,UAAU;QACVzD,QAAQ,GAAAoC,cAAA,CAARpC,QAAQ;QACR0D,WAAW,GAAAtB,cAAA,CAAXsB,WAAW;QACXC,OAAO,GAAAvB,cAAA,CAAPuB,OAAO;QACPC,cAAc,GAAAxB,cAAA,CAAdwB,cAAc;QACdC,aAAa,GAAAzB,cAAA,CAAbyB,aAAa;QACbC,aAAa,GAAA1B,cAAA,CAAb0B,aAAa;QACbC,KAAK,GAAA3B,cAAA,CAAL2B,KAAK;QACLC,OAAO,GAAA5B,cAAA,CAAP4B,OAAO;MAET,IAAM1E,GAAG,GAAGrB,KAAK,CAACqB,GAAG;MACrB,IAAMC,KAAK,GAAGD,GAAG,CAAC2E,oBAAS,CAAC;MAC5B,IAAMC,YAAY,GAAG5E,GAAG,CAAC6E,yBAAc,CAAC,IAAIxB,SAAS,GAAG9E,YAAY,GAAG,CAAC,GAAGA,YAAY,CAAC,CAAC,CAAC;;MAE1F,IAAMuG,gBAAgB,GAAGJ,OAAO,KAAK,MAAM,GAAG,MAAM,GAAGd,WAAW;MAElE,IAAMmB,kBAAkB,IAAAlC,SAAA,GAAGY,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGzD,GAAG,EAAEC,KAAK,CAAC,cAAA4C,SAAA,cAAAA,SAAA,GAAI,CAAC,CAAC;MAEvD,WAAAmC,cAAA,iBAAAA,cAAA,iBACKD,kBAAkB;QACrBhC,GAAG,EAAHA,GAAG;QACHQ,GAAG,EAAHA,GAAG;QACHP,iBAAiB,EAAjBA,iBAAiB;QACjBC,mBAAmB,EAAnBA,mBAAmB;QACnBE,OAAO,EAAPA,OAAO;QACP8B,QAAQ,EAAEhF,KAAK;QACf2E,YAAY,EAAZA,YAAY;QACZlB,IAAI,EAAJA,IAAI;QACJF,mBAAmB,EAAnBA,mBAAmB;QACnBxD,GAAG,EAAHA,GAAG;QACHoD,WAAW,EAAXA,WAAW;QACXS,YAAY,EAAZA,YAAY;QACZC,WAAW,EAAXA,WAAW;QACXoB,KAAK,EAAE9C,OAAO,GAAG,EAAE,GAAG+C,SAAS;QAC/B7B,aAAa,EAAbA,aAAa;QACbM,WAAW,EAAEkB,gBAAgB;QAC7Bf,aAAa,EAAbA,aAAa;QACbqB,SAAS,EAAEzG,KAAK,CAACyG,SAAS;QAC1BpB,iBAAiB,EAAjBA,iBAAiB;QACjBC,sBAAsB,EAAtBA,sBAAsB;QACtBN,QAAQ,EAARA,QAAQ;QACRO,WAAW,EAAXA,WAAW;QACXC,UAAU,EAAVA,UAAU;QACVzD,QAAQ,EAARA,QAAQ;QACR0D,WAAW,EAAXA,WAAW;QACXC,OAAO,EAAPA,OAAO;QACPnB,YAAY,EAAZA,YAAY;QACZrC,aAAa,EAAE,IAAI,CAACA,aAAa;QACjCE,YAAY,EAAE,IAAI,CAACA,YAAY;QAC/BuD,cAAc,EAAdA,cAAc;QACdC,aAAa,EAAbA,aAAa;QACbc,aAAa,EAAE,IAAI,CAACpE,iBAAiB;QACrCe,qBAAqB,EAAE,IAAI,CAACA,qBAAqB;QACjDwC,aAAa,EAAbA,aAAa;QACbE,OAAO,EAAPA,OAAO;QACPD,KAAK,EAALA,KAAK;QACLpB,SAAS,EAATA;MAAS;IAEb;EAAC;IAAAxB,GAAA;IAAAC,KAAA,EA8BD,SAAAwD,MAAMA,CAAA,EAAG;MAAA,IAAAC,IAAA,QAAAjF,OAAA;QAAAkF,KAAA;QAAAC,sBAAA;QAAAC,MAAA;MACP,IAAMC,KAAK,GAwIMC,mBAAG;MAvIpB,IAAMC,cAAc,GAAGD,mBAAG;MAC1B,IAAAE,cAAA,GAcI,IAAI,CAACxF,OAAO;QAbdyF,MAAM,GAAAD,cAAA,CAANC,MAAM;QACN3D,OAAO,GAAA0D,cAAA,CAAP1D,OAAO;QACP4D,UAAU,GAAAF,cAAA,CAAVE,UAAU;QACVxB,aAAa,GAAAsB,cAAA,CAAbtB,aAAa;QACbyB,eAAe,GAAAH,cAAA,CAAfG,eAAe;QACf3E,iBAAiB,GAAAwE,cAAA,CAAjBxE,iBAAiB;QACjBE,SAAS,GAAAsE,cAAA,CAATtE,SAAS;QACT0E,eAAe,GAAAJ,cAAA,CAAfI,eAAe;QACf/C,OAAO,GAAA2C,cAAA,CAAP3C,OAAO;QACPI,GAAG,GAAAuC,cAAA,CAAHvC,GAAG;QACHG,IAAI,GAAAoC,cAAA,CAAJpC,IAAI;QACJyC,iBAAiB,GAAAL,cAAA,CAAjBK,iBAAiB;QACjBtC,YAAY,GAAAiC,cAAA,CAAZjC,YAAY;MAGd,IAAIuC,YAAY,GAAG1C,IAAI;MAEvB,IAAItD,UAAU,GAAG,CAAC,CAAC;MACnB,IAAIiG,SAAS,GAAG,CAAC,CAAC;MAElB,IAAI7B,aAAa,EAAE;QAAA,IAAA8B,qBAAA,EAAAC,qBAAA,EAAAC,sBAAA;QACjB,IAAMC,UAAU,GACd,OAAOjC,aAAa,KAAK,SAAS,IAAI,YAAY,IAAIA,aAAa,IAAA8B,qBAAA,GAC/D9B,aAAa,CAACiC,UAAU,cAAAH,qBAAA,cAAAA,qBAAA,GAAIjI,WAAW,GACvCA,WAAW;QACjB,IAAMqI,YAAY,IAAAH,qBAAA,IAAAC,sBAAA,GAAGlF,iBAAiB,CAAC/B,OAAO,cAAAiH,sBAAA,uBAAzBA,sBAAA,CAA2BE,YAAY,cAAAH,qBAAA,cAAAA,qBAAA,GAAI,CAAC;QACjE,IAAMI,YAAY,GAAGV,eAAe,KAAK,IAAI,GAAGQ,UAAU,GAAG,CAAC;QAC9D,IAAMG,YAAY,GAAGX,eAAe,KAAK,IAAI,GAAG,CAAC,GAAGQ,UAAU;QAE9D,IAAI,OAAOjC,aAAa,KAAK,SAAS,IAAI,EAAE,WAAW,IAAIA,aAAa,CAAC,EAAE;UAAA,IAAAqC,qBAAA;UACzE,IAAMC,eAAe,GACnB,OAAOtC,aAAa,KAAK,SAAS,IAAAqC,qBAAA,GAC9BrC,aAAa,CAACsC,eAAe,cAAAD,qBAAA,cAAAA,qBAAA,GAAIvI,kBAAkB,GACnDA,kBAAkB;UACxB,IAAI2H,eAAe,KAAK,MAAM,EAAE;YAAA,IAAAc,qBAAA,EAAAC,sBAAA;YAC9B,KAAK,IAAIC,CAAC,GAAG,IAAI,CAACC,mBAAmB,EAAED,CAAC,GAAG,IAAI,CAACpG,aAAa,CAACsG,IAAI,GAAG,CAAC,EAAEF,CAAC,EAAE,EAAE;cAC3E,IAAMnF,KAAK,GAAG,IAAI,CAACjB,aAAa,CAACuG,GAAG,CAACH,CAAC,CAAC;cACvC,IAAI,CAACnF,KAAK,EAAE;cACZ,IAAMD,GAAG,GAAGoF,CAAC;cACb,IAAMI,kBAAkB,GAAGvF,KAAK,CAAC,CAAC,CAAC;cACnC,IAAMwF,gBAAgB,GAAGxF,KAAK,CAAC,CAAC,CAAC;cACjC,IAAI1B,UAAU,KAAK,CAAC,CAAC,IAAIoB,SAAS,GAAG6F,kBAAkB,EAAE;gBACvDjH,UAAU,GAAGmH,IAAI,CAACC,GAAG,CAAC3F,GAAG,GAAG8E,YAAY,EAAE,CAAC,CAAC;cAC9C;cAEA,IAAIvG,UAAU,KAAK,CAAC,CAAC,IAAIoB,SAAS,GAAGkF,YAAY,GAAGY,gBAAgB,EAAE;gBACpEjB,SAAS,GAAGkB,IAAI,CAACE,GAAG,CAAC5F,GAAG,GAAG+E,YAAY,EAAElD,IAAI,CAAC/C,MAAM,CAAC;cACvD;cAEA,IAAIP,UAAU,KAAK,CAAC,CAAC,IAAIiG,SAAS,KAAK,CAAC,CAAC,EAAE;gBACzC;cACF;YACF;YAEA,IAAI7E,SAAS,GAAGkF,YAAY,KAAAK,qBAAA,IAAAC,sBAAA,GAAI,IAAI,CAACnG,aAAa,CAACuG,GAAG,CAACf,SAAS,aAATA,SAAS,cAATA,SAAS,GAAI,CAAC,CAAC,cAAAW,sBAAA,uBAAtCA,sBAAA,CAAyC,CAAC,CAAC,cAAAD,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC,EAAE;cACjFV,SAAS,GAAGA,SAAS,GAAGS,eAAe;YACzC;UACF,CAAC,MAAM,IAAIb,eAAe,KAAK,IAAI,EAAE;YAAA,IAAAyB,sBAAA,EAAAC,sBAAA;YACnC,KAAK,IAAIV,EAAC,GAAG,IAAI,CAACW,iBAAiB,EAAEX,EAAC,IAAI,CAAC,EAAEA,EAAC,EAAE,EAAE;cAChD,IAAMnF,MAAK,GAAG,IAAI,CAACjB,aAAa,CAACuG,GAAG,CAACH,EAAC,CAAC;cACvC,IAAI,CAACnF,MAAK,EAAE;cACZ,IAAMD,IAAG,GAAGoF,EAAC;cACb,IAAMI,mBAAkB,GAAGvF,MAAK,CAAC,CAAC,CAAC;cACnC,IAAMwF,iBAAgB,GAAGxF,MAAK,CAAC,CAAC,CAAC;cAEjC,IAAIuE,SAAS,KAAK,CAAC,CAAC,IAAI7E,SAAS,GAAGkF,YAAY,GAAGY,iBAAgB,EAAE;gBACnEjB,SAAS,GAAGkB,IAAI,CAACE,GAAG,CAAC5F,IAAG,GAAG+E,YAAY,EAAElD,IAAI,CAAC/C,MAAM,CAAC;cACvD;cAEA,IAAI0F,SAAS,KAAK,CAAC,CAAC,IAAI7E,SAAS,GAAG6F,mBAAkB,EAAE;gBACtDjH,UAAU,GAAGmH,IAAI,CAACC,GAAG,CAAC3F,IAAG,GAAG8E,YAAY,EAAE,CAAC,CAAC;cAC9C;cAEA,IAAIvG,UAAU,KAAK,CAAC,CAAC,IAAIiG,SAAS,KAAK,CAAC,CAAC,EAAE;gBACzC;cACF;YACF;YAEA,IAAI7E,SAAS,KAAAkG,sBAAA,IAAAC,sBAAA,GAAI,IAAI,CAAC9G,aAAa,CAACuG,GAAG,CAAChH,UAAU,aAAVA,UAAU,cAAVA,UAAU,GAAI,CAAC,CAAC,cAAAuH,sBAAA,uBAAvCA,sBAAA,CAA0C,CAAC,CAAC,cAAAD,sBAAA,cAAAA,sBAAA,GAAI,CAAC,CAAC,EAAE;cACnEtH,UAAU,GAAGmH,IAAI,CAACC,GAAG,CAACpH,UAAU,GAAG0G,eAAe,EAAE,CAAC,CAAC;YACxD;UACF;UAEA,IAAI1G,UAAU,KAAK,CAAC,CAAC,EAAE;YACrBA,UAAU,GAAGoB,SAAS,KAAK,CAAC,GAAG,CAAC,GAAG+F,IAAI,CAACC,GAAG,CAAC9D,IAAI,CAAC/C,MAAM,GAAGmG,eAAe,EAAE,CAAC,CAAC;UAC/E;UAEA,IAAIT,SAAS,KAAK,CAAC,CAAC,EAAE;YACpBA,SAAS,GAAG7E,SAAS,KAAK,CAAC,GAAGsF,eAAe,GAAGpD,IAAI,CAAC/C,MAAM;UAC7D;UAEA,IAAI,CAACuG,mBAAmB,GAAG9G,UAAU;UACrC,IAAI,CAACwH,iBAAiB,GAAGvB,SAAS;UAElCD,YAAY,GAAG1C,IAAI,CAACmE,KAAK,CAACzH,UAAU,EAAEiG,SAAS,CAAC;QAClD,CAAC,MAAM,IAAI,WAAW,IAAI7B,aAAa,EAAE;UACvC,IAAMsD,SAAS,GAAGtD,aAAa,CAACsD,SAAS;UAEzC1H,UAAU,GAAGmH,IAAI,CAACC,GAAG,CAACD,IAAI,CAACQ,KAAK,CAACvG,SAAS,GAAGsG,SAAS,CAAC,GAAGnB,YAAY,EAAE,CAAC,CAAC;UAE1E,IAAMN,UAAS,GAAGkB,IAAI,CAACE,GAAG,CACxBF,IAAI,CAACS,IAAI,CAAC,CAACxG,SAAS,GAAGkF,YAAY,IAAIoB,SAAS,CAAC,GAAGlB,YAAY,EAChElD,IAAI,CAAC/C,MACP,CAAC;UAEDyF,YAAY,GAAG1C,IAAI,CAACmE,KAAK,CAACzH,UAAU,EAAEiG,UAAS,CAAC;QAClD;MACF;MAEA,IAAI,CAACjG,UAAU,GAAGA,UAAU,KAAK,CAAC,CAAC,GAAG,CAAC,GAAGA,UAAU;MACpD,IAAM6H,YAAY,IAAAxC,sBAAA,GAAG,IAAI,CAAC5E,aAAa,CAACuG,GAAG,CAAC,IAAI,CAAChH,UAAU,GAAG,CAAC,CAAC,cAAAqF,sBAAA,uBAA3CA,sBAAA,CAA8C,CAAC,CAAC;MACrE,IAAMyC,aAAa,GAAG,OAAO1D,aAAa,KAAK,SAAS,IAAKA,aAAa,IAAI,EAAE,WAAW,IAAIA,aAAa,CAAE;MAE9G,IAAI2D,QAA8B,GAAG,IAAI;MAEzC,IAAI/B,YAAY,CAACzF,MAAM,KAAK,CAAC,EAAE;QAC7BwH,QAAQ,OAAApJ,gBAAA,iBAAAA,gBAAA,iBAAAA,gBAAA,iBAAAA,gBAAA,iBAAAA,gBAAA,iBACLmC,uBAAY,KAAAkH,MAAA,CAAM7E,GAAG,mBACrB8E,4BAAiB,EAAG,IAAI,GACxB1D,oBAAS,EAAG,CAAC,GACbE,yBAAc,EAAG,CAAC,GAClB1B,OAAO,CAAC,CAAC,CAAC,CAACmF,IAAI,EAAG,IAAIC,8BAAiB,CAACrC,eAAe,CAAC,CAAC,EAAE;UAC1DsC,OAAO,EAAErF,OAAO,CAAC,CAAC,CAAC,CAACmF,IAAI;UACxBnB,IAAI,EAAEhE,OAAO,CAACxC;QAChB,CAAC,CAAC,CACH;MACH;MAEA,IAAI,IAAA8H,qBAAS,EAAC,CAAC,EAAE;QACf,IAAI,CAACzG,qBAAqB,CAAC,CAAC;MAC9B;MAEA,OAAAwD,KAAA,GAAO,IAAArH,aAAO,EAAC4H,MAAM,CAAC,eACpBnI,KAAA,CAAA8K,aAAA,CAAC/C,KAAK,EAAAH,KAAA,CAAAmD,EAAA,cAAA3D,cAAA,qBAAA3H,KAAA,CAAAuL,WAAA;QAAA,kBAA8B,CAAC,MAAM,CAAC;QAAA,OAAO,IAAI,CAACtJ;MAAO,GAAAiG,IAAA,KAC5D4C,QAAQ,iBAAIvK,KAAA,CAAA8K,aAAA,CAACG,IAAI,CAACC,GAAG;QAAC9I,GAAG,EAAEmI,QAAS;QAACY,gBAAgB;MAAA,CAAE,CAAC,EACxDb,aAAa,IAAID,YAAY,iBAAIrK,KAAA,CAAA8K,aAAA,CAACnL,eAAA,CAAAqI,GAAG,EAAAJ,KAAA,CAAAmD,EAAA;QAAA,KAAIV;MAAY,EAAG,CAAC,EACzD7B,YAAY,CAAC4C,GAAG,CAAC,UAAChJ,GAAG,EAAEC,KAAK,EAAK;QAAA,IAAAgJ,iBAAA;QAChC,IAAIC,KAAK,CAACC,OAAO,CAACnJ,GAAG,CAAC,EAAE;UACtB,IAAMoJ,YAAY,GAAGpJ,GAAG,CAAC,CAAC,CAAC,CAACkB,uBAAY,CAAC;UAEzC,oBACEtD,KAAA,CAAA8K,aAAA,CAAC1K,SAAA,CAAAqL,QAAQ;YACPxH,GAAG,QAAAuG,MAAA,CAAQgB,YAAY,CAAG;YAC1B1F,IAAI,EAAE1D,GAAI;YACV6D,YAAY,EAAEA,YAAa;YAC3BV,OAAO,EAAEA,OAAQ;YACjB/C,UAAU,EAAEsF,MAAI,CAACtF,UAAW;YAC5B6E,QAAQ,EAAEhF,KAAM;YAChBqJ,SAAS,EAAE5D,MAAI,CAAC4D,SAAU;YAC1BC,kBAAkB,EAAE7D,MAAI,CAAC6D;UAAmB,CAC7C,CAAC;QAEN;QAEA,oBACE3L,KAAA,CAAA8K,aAAA,CAACG,IAAI,CAACC,GAAG;UACPjH,GAAG,GAAAoH,iBAAA,GAAEjJ,GAAG,CAACkB,uBAAY,CAAC,cAAA+H,iBAAA,uBAAjBA,iBAAA,CAAmB5I,QAAQ,CAAC,CAAE;UACnCL,GAAG,EAAEA,GAAI;UACTwJ,GAAG,EAAEhF,aAAa,GAAGkB,MAAI,CAAC4D,SAAS,CAAC5D,MAAI,CAACtF,UAAU,GAAGH,KAAK,EAAED,GAAG,CAAC,GAAGmF,SAAU;UAC9EsE,YAAY,EAAE/D,MAAI,CAAC6D,kBAAkB,CAACvJ,GAAG;QAAE,CAC5C,CAAC;MAEN,CAAC,CAAC,EACDmG,iBAAiB,aAAjBA,iBAAiB,uBAAjBA,iBAAiB,CAAG,CAAC,EACrB/D,OAAO,iBACNxE,KAAA,CAAA8K,aAAA,CAAC7C,cAAc,EAAAL,KAAA,CAAAmD,EAAA;QAAA;QAAA,mBAAAP,MAAA,CAGI,IAAI,CAACsB,mBAAmB,CAAC,CAAC;QAAA,YACjC,CAAC,CAAC;QAAA,OACP1D,UAAU;QAAA,QACV,KAAK;QAAA,WACD,IAAI,CAAC2D,wBAAwB;QAAA,UAC9B,IAAI,CAACC;MAAuB,iBAEpChM,KAAA,CAAA8K,aAAA,CAAC/K,KAAA,WAAI,EAAA6H,KAAA,CAAAmD,EAAA;QAAA,QAAM,KAAK;QAAA,QAAM;MAAU,EAAE,CACpB,CAEb,CAAC;IAEZ;EAAC;IAAA9G,GAAA;IAAAC,KAAA,EAED,SAAQf,YAAYA,CAACd,KAAa,EAAED,GAAuB,EAAE;MAAA,IAAA6J,sBAAA,EAAAC,mBAAA;MAC3D,IAAQ5G,YAAY,GAAK,IAAI,CAAC5C,OAAO,CAA7B4C,YAAY;MACpB,IAAMtC,IAAI,IAAAiJ,sBAAA,GAAG,IAAI,CAAChJ,aAAa,CAACuG,GAAG,CAACnH,KAAK,CAAC,cAAA4J,sBAAA,uBAA7BA,sBAAA,CAAgC,CAAC,CAAC;MAC/C,IAAME,UAAU,GACd,CAAAnJ,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEoJ,IAAI,MAAK,UAAU,GAAGpJ,IAAI,aAAJA,IAAI,gBAAAkJ,mBAAA,GAAJlJ,IAAI,CAAEqJ,QAAQ,CAACC,IAAI,CAAC,CAAC,CAAC,cAAAJ,mBAAA,uBAAtBA,mBAAA,CAAwBG,QAAQ,CAACC,IAAI,CAAC,CAAC,CAAC,GAAGtJ,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEqJ,QAAQ,CAACC,IAAI,CAAC,CAAC,CAAC;MAC/F,IAAItJ,IAAI,IAAImJ,UAAU,YAAY7J,WAAW,EAAE;QAC7C,IAAMiK,MAAM,GAAGJ,UAAU,CAACK,SAAS,GAAG,IAAI,CAAC9J,OAAO,CAACe,YAAY;QAC/D,IAAIgJ,MAAM,GAAGN,UAAU,CAACO,qBAAqB,CAAC,CAAC,CAACD,MAAM;QAEtD,IAAInH,YAAY,CAACqH,GAAG,CAACvK,GAAG,CAACkB,uBAAY,CAAC,CAAC,IAAIN,IAAI,CAAC4J,WAAW,YAAYtK,WAAW,EAAE;UAClFmK,MAAM,GAAGA,MAAM,GAAGzJ,IAAI,CAAC4J,WAAW,CAACF,qBAAqB,CAAC,CAAC,CAACD,MAAM;QACnE;QAEA,IAAI,CAACxJ,aAAa,CAACC,GAAG,CAACb,KAAK,EAAE,CAACkK,MAAM,EAAEA,MAAM,GAAGE,MAAM,EAAEzJ,IAAI,CAAC,CAAC;MAChE;IACF;EAAC;AAAA,EA7Y6D6J,eAAS;AAAA,IAAA1L,gBAAA,aAAnEN,QAAQ,iBACS,MAAM;AAAA,IAAAM,gBAAA,aADvBN,QAAQ,WAEGP,KAAK;AA8Yf,IAAM2K,IAAI,GAAArK,OAAA,CAAAqK,IAAA,GAAG,IAAA6B,qBAAe,EAACjM,QAAQ,EAAE;EAC5CqK,GAAG,EAAHA;AACF,CAAC,CAEA","ignoreList":[]}
|
|
@@ -890,7 +890,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
890
890
|
}) ? '100%' : undefined;
|
|
891
891
|
var gridTemplateRows = undefined;
|
|
892
892
|
if (virtualScroll && typeof virtualScroll !== 'boolean' && 'rowHeight' in virtualScroll) {
|
|
893
|
-
gridTemplateRows = "auto auto repeat(".concat(this.totalRows, ", minmax(").concat(virtualScroll.rowHeight, "px, auto)");
|
|
893
|
+
gridTemplateRows = "auto auto repeat(".concat(this.totalRows, ", minmax(").concat(virtualScroll.rowHeight, "px, auto))");
|
|
894
894
|
}
|
|
895
895
|
return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/React.createElement(_baseComponents.ScrollArea, _ref2.cn("ScrollArea", {
|
|
896
896
|
"leftOffset": offsetLeftSum,
|