@semcore/data-table 3.8.3 → 3.8.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 CHANGED
@@ -2,6 +2,19 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
+ ## [3.8.5] - 2023-05-03
6
+
7
+ ### Changed
8
+
9
+ - Version patch update due to children dependencies update (`@semcore/scroll-area` [4.2.20 ~> 4.3.0], `@semcore/utils` [3.50.4 ~> 3.50.5]).
10
+
11
+ ## [3.8.4] - 2023-04-28
12
+
13
+ ### Fixed
14
+
15
+ - Semantically connected cells with corresponding headers.
16
+ - Added `scope` for table header.
17
+
5
18
  ## [3.8.3] - 2023-04-25
6
19
 
7
20
  ### Fixed
package/lib/cjs/Body.js CHANGED
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports["default"] = void 0;
9
9
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
10
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
12
  var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
12
13
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
14
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
@@ -28,12 +29,12 @@ var _rafTrottle = _interopRequireDefault(require("@semcore/utils/lib/rafTrottle"
28
29
  var _excluded = ["childrenPropsGetter"],
29
30
  _excluded2 = ["childrenPropsGetter"];
30
31
  /*__reshadow-styles__:"./style/scroll-area.shadow.css"*/
31
- var scrollStyles = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SShadowHorizontal_drper_gg_:before{left:var(--left_drper)!important}.___SShadowHorizontal_drper_gg_:after{right:var(--right_drper)!important}.___SContainer_drper_gg_.__disabledScroll_drper_gg_{overflow:visible}" /*__inner_css_end__*/, "drper_gg_") /*__reshadow_css_end__*/, {
32
- "__SShadowHorizontal": "___SShadowHorizontal_drper_gg_",
33
- "--left": "--left_drper",
34
- "--right": "--right_drper",
35
- "__SContainer": "___SContainer_drper_gg_",
36
- "_disabledScroll": "__disabledScroll_drper_gg_"
32
+ var scrollStyles = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SShadowHorizontal_178cu_gg_:before{left:var(--left_178cu)!important}.___SShadowHorizontal_178cu_gg_:after{right:var(--right_178cu)!important}.___SContainer_178cu_gg_.__disabledScroll_178cu_gg_{overflow:visible}" /*__inner_css_end__*/, "178cu_gg_") /*__reshadow_css_end__*/, {
33
+ "__SShadowHorizontal": "___SShadowHorizontal_178cu_gg_",
34
+ "--left": "--left_178cu",
35
+ "--right": "--right_178cu",
36
+ "__SContainer": "___SContainer_178cu_gg_",
37
+ "_disabledScroll": "__disabledScroll_178cu_gg_"
37
38
  });
38
39
  var testEnv = process.env.NODE_ENV === 'test';
39
40
  var getCellsByColumn = function getCellsByColumn(cells) {
@@ -109,13 +110,14 @@ var Body = /*#__PURE__*/function (_Component) {
109
110
  }
110
111
  (0, _createClass2["default"])(Body, [{
111
112
  key: "renderCells",
112
- value: function renderCells(cells, rowData, index) {
113
+ value: function renderCells(cells, rowData, dataIndex) {
113
114
  var _this2 = this;
114
115
  var SCell = _flexBox.Flex;
115
116
  var _this$asProps = this.asProps,
116
117
  styles = _this$asProps.styles,
117
118
  columns = _this$asProps.columns,
118
- use = _this$asProps.use;
119
+ use = _this$asProps.use,
120
+ uid = _this$asProps.uid;
119
121
  return cells.map(function (cell, cellIndex) {
120
122
  if (Array.isArray(cell)) {
121
123
  var _ref2;
@@ -126,7 +128,7 @@ var Body = /*#__PURE__*/function (_Component) {
126
128
  "data-ui-name": "group-cell"
127
129
  }), _this2.renderRows(cell));
128
130
  } else {
129
- var _ref3, _column$props, _column$props2;
131
+ var _ref3, _column$parentColumns, _column$props, _column$props2;
130
132
  var nameParts = cell.name.split('/');
131
133
  var firstName = nameParts[0];
132
134
  var lastName = nameParts[nameParts.length - 1];
@@ -143,6 +145,9 @@ var Body = /*#__PURE__*/function (_Component) {
143
145
  _getFixedStyle2 = (0, _slicedToArray2["default"])(_getFixedStyle, 2),
144
146
  name = _getFixedStyle2[0],
145
147
  value = _getFixedStyle2[1];
148
+ var parentColumnNames = (_column$parentColumns = column === null || column === void 0 ? void 0 : column.parentColumns.map(function (column) {
149
+ return column.name;
150
+ })) !== null && _column$parentColumns !== void 0 ? _column$parentColumns : [];
146
151
  var vars = (Array.isArray(cell.cssVar) ? cell.cssVar : [cell.cssVar]).map(function (name) {
147
152
  return "var(".concat(name, ")");
148
153
  });
@@ -171,16 +176,20 @@ var Body = /*#__PURE__*/function (_Component) {
171
176
  } : _cellPropLayer$childr,
172
177
  other = (0, _objectWithoutProperties2["default"])(cellPropLayer, _excluded);
173
178
  var propsCell = (0, _assignProps2["default"])(other, props);
174
- props = (0, _assignProps2["default"])(childrenPropsGetter(propsCell, rowData, index), propsCell);
179
+ props = (0, _assignProps2["default"])(childrenPropsGetter(propsCell, rowData, dataIndex), propsCell);
175
180
  }
176
181
  } catch (err) {
177
182
  _iterator.e(err);
178
183
  } finally {
179
184
  _iterator.f();
180
185
  }
186
+ var headerIds = [cell.name].concat((0, _toConsumableArray2["default"])(parentColumnNames)).filter(Boolean).map(function (name) {
187
+ return "igc-table-".concat(uid, "-").concat(name);
188
+ });
181
189
  return _ref3 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SCell, _ref3.cn("SCell", (0, _objectSpread2["default"])((0, _objectSpread2["default"])({
182
190
  "key": cell.name,
183
- "role": "cell"
191
+ "role": "cell",
192
+ "headers": headerIds.join(' ')
184
193
  }, props), {}, {
185
194
  "fixed": cell.fixed,
186
195
  "theme": props.theme,
@@ -196,8 +205,7 @@ var Body = /*#__PURE__*/function (_Component) {
196
205
  value: function renderRow(cells, _ref7) {
197
206
  var _ref4;
198
207
  var dataIndex = _ref7.dataIndex,
199
- topOffset = _ref7.topOffset,
200
- nested = _ref7.nested;
208
+ topOffset = _ref7.topOffset;
201
209
  var SRow = _flexBox.Box;
202
210
  var _this$asProps2 = this.asProps,
203
211
  styles = _this$asProps2.styles,
@@ -207,7 +215,7 @@ var Body = /*#__PURE__*/function (_Component) {
207
215
  var rowHeightFromProps = (0, _typeof2["default"])(virtualScroll) === 'object' && (virtualScroll === null || virtualScroll === void 0 ? void 0 : virtualScroll.rowHeight);
208
216
  var rowData = cells.flatRowData || getCellsByColumn(cells);
209
217
  var key = rowData[uniqueKey] ? String(rowData[uniqueKey]) : "row_".concat(dataIndex);
210
- var needToMeasureHeight = dataIndex === 0 && !nested && !rowHeightFromProps;
218
+ var needToMeasureHeight = dataIndex === 0 && !rowHeightFromProps;
211
219
  var props = {
212
220
  children: this.renderCells(cells, rowData, dataIndex),
213
221
  theme: undefined,
@@ -216,7 +224,7 @@ var Body = /*#__PURE__*/function (_Component) {
216
224
  top: topOffset,
217
225
  ref: needToMeasureHeight ? this.firstRowRef : undefined,
218
226
  key: key,
219
- 'aria-rowindex': dataIndex + 1
227
+ 'aria-rowindex': dataIndex + 2
220
228
  };
221
229
  var _iterator2 = (0, _createForOfIteratorHelper2["default"])(rowPropsLayers),
222
230
  _step2;
@@ -246,8 +254,7 @@ var Body = /*#__PURE__*/function (_Component) {
246
254
  var _this3 = this;
247
255
  return rows.map(function (cells, dataIndex) {
248
256
  return _this3.renderRow(cells, {
249
- dataIndex: dataIndex,
250
- nested: false
257
+ dataIndex: dataIndex
251
258
  });
252
259
  });
253
260
  }
@@ -289,8 +296,7 @@ var Body = /*#__PURE__*/function (_Component) {
289
296
  topOffset = _ref9.topOffset;
290
297
  return _this4.renderRow(cells, {
291
298
  dataIndex: dataIndex,
292
- topOffset: topOffset,
293
- nested: false
299
+ topOffset: topOffset
294
300
  });
295
301
  });
296
302
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Body.js","names":["_core","require","_react","_interopRequireDefault","_flexBox","_scrollArea","_utils","_assignProps2","_interopRequireWildcard","_resizeObserverPolyfill","_rafTrottle","_excluded","_excluded2","scrollStyles","sstyled","insert","testEnv","process","env","NODE_ENV","getCellsByColumn","cells","flattenCells","flat","Object","fromEntries","map","cell","name","data","Body","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","rowHeight","undefined","scrollAreaHeight","scrollOffset","React","createRef","virtualScroll","asProps","rowHeightFromProps","_typeof2","state","trottle","entries","contentRect","height","setState","oldState","event","_ref6","target","scrollTop","firstRowRef","current","firstRowResizeObserver","ResizeObserver","handleFirstRowResize","observe","_createClass2","key","value","renderCells","rowData","index","_this2","SCell","Flex","_this$asProps","styles","columns","use","cellIndex","isArray","_ref2","SGroupCell","createElement","cn","renderRows","_ref3","_column$props","_column$props2","nameParts","split","firstName","lastName","firstColumn","find","c","lastColumn","column","_getFixedStyle","getFixedStyle","_getFixedStyle2","_slicedToArray2","vars","cssVar","props","children","Fragment","justifyContent","alignItems","borderLeft","borderRight","style","width","join","_iterator","_createForOfIteratorHelper2","cellPropsLayers","_step","s","n","done","cellPropLayer","_cellPropLayer$childr","childrenPropsGetter","p","other","_objectWithoutProperties2","propsCell","assignProps","err","e","f","_objectSpread2","fixed","theme","renderRow","_ref7","_ref4","dataIndex","topOffset","nested","SRow","Box","_this$asProps2","rowPropsLayers","uniqueKey","flatRowData","String","needToMeasureHeight","active","positioned","top","ref","_iterator2","_step2","rowPropsLayer","_rowPropsLayer$childr","propsRow","rows","_this3","renderVirtualizedRows","_ref8","_this4","_this$state","getRowHeight","tollerance","startIndex","Math","max","floor","lastIndex","min","ceil","needToMeasureFirstRowHeight","firstRow","visibleRows","slice","processedVisibleRows","unshift","_ref9","componentWillUnmount","_this$firstRowResizeO","disconnect","render","_ref","_ref5","_this5","SBody","SBodyWrapper","SScrollAreaBar","ScrollArea","Bar","SHeightHold","_this$asProps3","Children","$scrollRef","onResize","onScroll","disabledScroll","columnsInitialized","reduce","sum","_ref10","_getScrollOffsetValue","getScrollOffsetValue","_getScrollOffsetValue2","offsetLeftSum","offsetRightSum","offsetSum","holdHeight","Promise","setupRowSizeObserver","callAllEventHandlers","handleScrollAreaResize","handleScrollAreaScroll","Container","origin","Component","_default","exports"],"sources":["../../src/Body.tsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box, Flex, IBoxProps } from '@semcore/flex-box';\nimport ScrollArea from '@semcore/scroll-area';\nimport { getFixedStyle, getScrollOffsetValue } from './utils';\nimport { RowData, Column, NestedCells, PropsLayer, Cell } from './types';\nimport assignProps, { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport scrollStyles from './style/scroll-area.shadow.css';\nimport syncScroll from '@semcore/utils/lib/syncScroll';\nimport trottle from '@semcore/utils/lib/rafTrottle';\n\nconst testEnv = process.env.NODE_ENV === 'test';\n\nconst getCellsByColumn = (cells: NestedCells): RowData => {\n const flattenCells = cells.flat(20) as Cell[];\n return Object.fromEntries(flattenCells.map((cell) => [cell.name, cell.data]));\n};\n\ntype AsProps = {\n rows: NestedCells[];\n columns: Column[];\n $scrollRef: ReturnType<ReturnType<typeof syncScroll>>;\n onResize: ResizeObserverCallback;\n onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;\n rowPropsLayers: PropsLayer[];\n use: 'primary' | 'secondary';\n uniqueKey: string;\n virtualScroll?: boolean | { tollerance?: number; rowHeight?: number };\n disabledScroll?: boolean;\n};\n\ntype State = {\n rowHeight: number | undefined;\n scrollAreaHeight: undefined | number;\n scrollOffset: number;\n};\n\nclass Body extends Component<AsProps, State> {\n state: State = {\n rowHeight: undefined,\n scrollAreaHeight: undefined,\n scrollOffset: 0,\n };\n\n firstRowRef = React.createRef<HTMLElement>();\n firstRowResizeObserver: ResizeObserver | null = null;\n\n getRowHeight = () => {\n const { virtualScroll } = this.asProps;\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n return rowHeightFromProps || this.state.rowHeight;\n };\n\n renderCells(cells: NestedCells, rowData: RowData, index: number) {\n const SCell = Flex;\n const { styles, columns, use } = this.asProps;\n return cells.map((cell, cellIndex) => {\n if (Array.isArray(cell)) {\n const SGroupCell = 'div';\n return sstyled(styles)(\n <SGroupCell key={cellIndex} role=\"rowgroup\" data-ui-name=\"group-cell\">\n {this.renderRows(cell as NestedCells[])}\n </SGroupCell>,\n );\n } else {\n const nameParts = cell.name.split('/');\n const firstName = nameParts[0];\n const lastName = nameParts[nameParts.length - 1];\n const firstColumn = columns.find((c) => c.name === firstName);\n const lastColumn = columns.find((c) => c.name === lastName);\n const column = columns.find((c) => c.name === cell.name);\n const [name, value] = getFixedStyle(cell, columns);\n const vars = (Array.isArray(cell.cssVar) ? cell.cssVar : [cell.cssVar]).map(\n (name) => `var(${name})`,\n );\n type CellProps = IBoxProps & {\n name: string;\n children: React.ReactNode;\n style: React.CSSProperties;\n };\n\n let props: CellProps = {\n name: cell.name,\n children: <>{cell.data}</>,\n justifyContent: column?.props?.justifyContent,\n alignItems: column?.props?.alignItems,\n borderLeft: firstColumn?.borderLeft,\n borderRight: lastColumn?.borderRight,\n style: {\n width: vars.length === 1 ? vars[0] : `calc(${vars.join(' + ')})`,\n },\n };\n if (name !== undefined && value !== undefined) {\n props.style[name] = value;\n }\n\n for (const cellPropLayer of cell.cellPropsLayers || []) {\n const { childrenPropsGetter = (p) => p, ...other } = cellPropLayer;\n const propsCell = assignProps(other, props);\n props = assignProps(childrenPropsGetter(propsCell, rowData, index), propsCell);\n }\n\n return sstyled(styles)(\n <SCell\n key={cell.name}\n role=\"cell\"\n {...props}\n fixed={cell.fixed}\n theme={props.theme}\n use={use}\n borderLeft={props.borderLeft}\n borderRight={props.borderRight}\n />,\n ) as React.ReactElement;\n }\n }, [] as React.ReactElement[]);\n }\n\n renderRow(\n cells: NestedCells,\n { dataIndex, topOffset, nested }: { dataIndex: number; topOffset?: number; nested: boolean },\n ) {\n const SRow = Box;\n const { styles, rowPropsLayers, uniqueKey, virtualScroll } = this.asProps;\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n\n const rowData = cells.flatRowData || getCellsByColumn(cells);\n const key = rowData[uniqueKey] ? String(rowData[uniqueKey]) : `row_${dataIndex}`;\n const needToMeasureHeight = dataIndex === 0 && !nested && !rowHeightFromProps;\n\n let props = {\n children: this.renderCells(cells, rowData, dataIndex),\n theme: undefined,\n active: undefined,\n positioned: topOffset !== undefined,\n top: topOffset,\n ref: needToMeasureHeight ? this.firstRowRef : undefined,\n key,\n 'aria-rowindex': dataIndex + 1,\n };\n\n for (const rowPropsLayer of rowPropsLayers) {\n const { childrenPropsGetter = (p) => p, ...other } = rowPropsLayer;\n const propsRow = assignProps(other, props);\n props = assignProps(childrenPropsGetter(propsRow, rowData, dataIndex), propsRow);\n }\n\n return sstyled(styles)(<SRow role=\"row\" {...props} />);\n }\n\n renderRows(rows: NestedCells[]) {\n return rows.map((cells, dataIndex) => this.renderRow(cells, { dataIndex, nested: false }));\n }\n\n renderVirtualizedRows(rows: NestedCells[]) {\n if (rows.length === 0) return [];\n\n const { virtualScroll } = this.asProps;\n const { scrollOffset, scrollAreaHeight } = this.state;\n const rowHeight = this.getRowHeight();\n\n const tollerance = (typeof virtualScroll === 'object' ? virtualScroll?.tollerance : 2) ?? 2;\n const startIndex = Math.max(Math.floor(scrollOffset / rowHeight!) - tollerance, 0);\n const lastIndex = Math.min(\n Math.ceil((scrollOffset + scrollAreaHeight!) / rowHeight!) + tollerance,\n rows.length,\n );\n\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n const needToMeasureFirstRowHeight = !rowHeightFromProps;\n\n const firstRow = { cells: rows[0], dataIndex: 0, topOffset: 0 };\n const visibleRows = rowHeight !== undefined ? rows.slice(startIndex, lastIndex) : [];\n const processedVisibleRows = visibleRows.map((cells, index) => ({\n cells,\n dataIndex: startIndex + index,\n topOffset: rowHeight! * (startIndex + index),\n }));\n if (needToMeasureFirstRowHeight && startIndex !== 0) {\n processedVisibleRows.unshift(firstRow);\n }\n\n return processedVisibleRows.map(({ cells, dataIndex, topOffset }) =>\n this.renderRow(cells, { dataIndex, topOffset, nested: false }),\n );\n }\n\n handleFirstRowResize = trottle((entries: ResizeObserverEntry[]) => {\n const { contentRect } = entries[0];\n const { height } = contentRect;\n this.setState((oldState: State) => {\n if (oldState.rowHeight === height) return oldState;\n return { rowHeight: height };\n });\n });\n\n handleScrollAreaResize = trottle((entries: ResizeObserverEntry[]) => {\n const { virtualScroll } = this.asProps;\n if (!virtualScroll) return;\n const { contentRect } = entries[0];\n const { height } = contentRect;\n this.setState((oldState: State) => {\n if (oldState.scrollAreaHeight === height) return oldState;\n return { scrollAreaHeight: height };\n });\n });\n\n handleScrollAreaScroll = (event: React.SyntheticEvent<HTMLElement>) => {\n const { scrollTop } = event.target as HTMLElement;\n const { virtualScroll } = this.asProps;\n if (virtualScroll) {\n this.setState((oldState: State) => {\n if (oldState.scrollOffset === scrollTop) return oldState;\n return { scrollOffset: scrollTop };\n });\n }\n };\n\n setupRowSizeObserver = () => {\n if (!this.firstRowRef.current) return;\n if (!this.asProps.virtualScroll) return;\n this.firstRowResizeObserver = new ResizeObserver(this.handleFirstRowResize);\n this.firstRowResizeObserver.observe(this.firstRowRef.current);\n };\n\n componentWillUnmount() {\n this.firstRowResizeObserver?.disconnect();\n }\n\n render() {\n const SBody = Root;\n const SBodyWrapper = Box;\n const SScrollAreaBar = ScrollArea.Bar;\n const SHeightHold = Box;\n const {\n Children,\n styles,\n rows,\n columns,\n $scrollRef,\n virtualScroll,\n onResize,\n onScroll,\n disabledScroll,\n } = this.asProps;\n\n const columnsInitialized = columns.reduce((sum, { width }) => sum + width, 0) > 0 || testEnv;\n\n const [offsetLeftSum, offsetRightSum] = getScrollOffsetValue(columns);\n const offsetSum = offsetLeftSum + offsetRightSum;\n\n const rowHeight = this.getRowHeight();\n const holdHeight =\n rowHeight !== undefined && virtualScroll ? rowHeight * rows.length : undefined;\n\n if (virtualScroll && columnsInitialized && !rowHeight) {\n new Promise(() => this.setupRowSizeObserver());\n }\n\n return sstyled(styles)(\n <SBodyWrapper>\n <ScrollArea\n shadow\n styles={scrollStyles}\n use:left={`${offsetLeftSum}px`}\n use:right={`${offsetRightSum}px`}\n onResize={callAllEventHandlers(onResize, this.handleScrollAreaResize)}\n onScroll={callAllEventHandlers(onScroll, this.handleScrollAreaScroll)}\n >\n <ScrollArea.Container ref={$scrollRef} disabledScroll={disabledScroll}>\n <SBody render={Box} role=\"rowgroup\">\n {holdHeight ? <SHeightHold hMin={holdHeight} aria-hidden={true} /> : null}\n {columnsInitialized && !virtualScroll ? this.renderRows(rows) : null}\n {columnsInitialized && virtualScroll ? this.renderVirtualizedRows(rows) : null}\n </SBody>\n </ScrollArea.Container>\n <SScrollAreaBar\n orientation=\"horizontal\"\n left={`${offsetLeftSum}px`}\n right={`${offsetRightSum}px`}\n offsetSum={`${offsetSum}px`}\n />\n <SScrollAreaBar orientation=\"vertical\" />\n </ScrollArea>\n {Children.origin}\n </SBodyWrapper>,\n );\n }\n}\n\nexport default Body;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Body.js","names":["_core","require","_react","_interopRequireDefault","_flexBox","_scrollArea","_utils","_assignProps2","_interopRequireWildcard","_resizeObserverPolyfill","_rafTrottle","_excluded","_excluded2","scrollStyles","sstyled","insert","testEnv","process","env","NODE_ENV","getCellsByColumn","cells","flattenCells","flat","Object","fromEntries","map","cell","name","data","Body","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","rowHeight","undefined","scrollAreaHeight","scrollOffset","React","createRef","virtualScroll","asProps","rowHeightFromProps","_typeof2","state","trottle","entries","contentRect","height","setState","oldState","event","_ref6","target","scrollTop","firstRowRef","current","firstRowResizeObserver","ResizeObserver","handleFirstRowResize","observe","_createClass2","key","value","renderCells","rowData","dataIndex","_this2","SCell","Flex","_this$asProps","styles","columns","use","uid","cellIndex","isArray","_ref2","SGroupCell","createElement","cn","renderRows","_ref3","_column$parentColumns","_column$props","_column$props2","nameParts","split","firstName","lastName","firstColumn","find","c","lastColumn","column","_getFixedStyle","getFixedStyle","_getFixedStyle2","_slicedToArray2","parentColumnNames","parentColumns","vars","cssVar","props","children","Fragment","justifyContent","alignItems","borderLeft","borderRight","style","width","join","_iterator","_createForOfIteratorHelper2","cellPropsLayers","_step","s","n","done","cellPropLayer","_cellPropLayer$childr","childrenPropsGetter","p","other","_objectWithoutProperties2","propsCell","assignProps","err","e","f","headerIds","_toConsumableArray2","filter","Boolean","_objectSpread2","fixed","theme","renderRow","_ref7","_ref4","topOffset","SRow","Box","_this$asProps2","rowPropsLayers","uniqueKey","flatRowData","String","needToMeasureHeight","active","positioned","top","ref","_iterator2","_step2","rowPropsLayer","_rowPropsLayer$childr","propsRow","rows","_this3","renderVirtualizedRows","_ref8","_this4","_this$state","getRowHeight","tollerance","startIndex","Math","max","floor","lastIndex","min","ceil","needToMeasureFirstRowHeight","firstRow","visibleRows","slice","processedVisibleRows","index","unshift","_ref9","componentWillUnmount","_this$firstRowResizeO","disconnect","render","_ref","_ref5","_this5","SBody","SBodyWrapper","SScrollAreaBar","ScrollArea","Bar","SHeightHold","_this$asProps3","Children","$scrollRef","onResize","onScroll","disabledScroll","columnsInitialized","reduce","sum","_ref10","_getScrollOffsetValue","getScrollOffsetValue","_getScrollOffsetValue2","offsetLeftSum","offsetRightSum","offsetSum","holdHeight","Promise","setupRowSizeObserver","callAllEventHandlers","handleScrollAreaResize","handleScrollAreaScroll","Container","origin","Component","_default","exports"],"sources":["../../src/Body.tsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box, Flex, IBoxProps } from '@semcore/flex-box';\nimport ScrollArea from '@semcore/scroll-area';\nimport { getFixedStyle, getScrollOffsetValue } from './utils';\nimport { RowData, Column, NestedCells, PropsLayer, Cell } from './types';\nimport assignProps, { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport scrollStyles from './style/scroll-area.shadow.css';\nimport syncScroll from '@semcore/utils/lib/syncScroll';\nimport trottle from '@semcore/utils/lib/rafTrottle';\n\nconst testEnv = process.env.NODE_ENV === 'test';\n\nconst getCellsByColumn = (cells: NestedCells): RowData => {\n const flattenCells = cells.flat(20) as Cell[];\n return Object.fromEntries(flattenCells.map((cell) => [cell.name, cell.data]));\n};\n\ntype AsProps = {\n rows: NestedCells[];\n columns: Column[];\n $scrollRef: ReturnType<ReturnType<typeof syncScroll>>;\n onResize: ResizeObserverCallback;\n onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;\n rowPropsLayers: PropsLayer[];\n use: 'primary' | 'secondary';\n uniqueKey: string;\n virtualScroll?: boolean | { tollerance?: number; rowHeight?: number };\n disabledScroll?: boolean;\n uid?: string;\n};\n\ntype State = {\n rowHeight: number | undefined;\n scrollAreaHeight: undefined | number;\n scrollOffset: number;\n};\n\nclass Body extends Component<AsProps, State> {\n state: State = {\n rowHeight: undefined,\n scrollAreaHeight: undefined,\n scrollOffset: 0,\n };\n\n firstRowRef = React.createRef<HTMLElement>();\n firstRowResizeObserver: ResizeObserver | null = null;\n\n getRowHeight = () => {\n const { virtualScroll } = this.asProps;\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n return rowHeightFromProps || this.state.rowHeight;\n };\n\n renderCells(cells: NestedCells, rowData: RowData, dataIndex: number) {\n const SCell = Flex;\n const { styles, columns, use, uid } = this.asProps;\n return cells.map((cell, cellIndex) => {\n if (Array.isArray(cell)) {\n const SGroupCell = 'div';\n return sstyled(styles)(\n <SGroupCell key={cellIndex} role=\"rowgroup\" data-ui-name=\"group-cell\">\n {this.renderRows(cell as NestedCells[])}\n </SGroupCell>,\n );\n } else {\n const nameParts = cell.name.split('/');\n const firstName = nameParts[0];\n const lastName = nameParts[nameParts.length - 1];\n const firstColumn = columns.find((c) => c.name === firstName);\n const lastColumn = columns.find((c) => c.name === lastName);\n const column = columns.find((c) => c.name === cell.name);\n const [name, value] = getFixedStyle(cell, columns);\n const parentColumnNames = column?.parentColumns.map((column) => column.name) ?? [];\n const vars = (Array.isArray(cell.cssVar) ? cell.cssVar : [cell.cssVar]).map(\n (name) => `var(${name})`,\n );\n type CellProps = IBoxProps & {\n name: string;\n children: React.ReactNode;\n style: React.CSSProperties;\n };\n\n let props: CellProps = {\n name: cell.name,\n children: <>{cell.data}</>,\n justifyContent: column?.props?.justifyContent,\n alignItems: column?.props?.alignItems,\n borderLeft: firstColumn?.borderLeft,\n borderRight: lastColumn?.borderRight,\n style: {\n width: vars.length === 1 ? vars[0] : `calc(${vars.join(' + ')})`,\n },\n };\n if (name !== undefined && value !== undefined) {\n props.style[name] = value;\n }\n\n for (const cellPropLayer of cell.cellPropsLayers || []) {\n const { childrenPropsGetter = (p) => p, ...other } = cellPropLayer;\n const propsCell = assignProps(other, props);\n props = assignProps(childrenPropsGetter(propsCell, rowData, dataIndex), propsCell);\n }\n\n const headerIds = [cell.name, ...parentColumnNames]\n .filter(Boolean)\n .map((name) => `igc-table-${uid}-${name}`);\n\n return sstyled(styles)(\n <SCell\n key={cell.name}\n role=\"cell\"\n headers={headerIds.join(' ')}\n {...props}\n fixed={cell.fixed}\n theme={props.theme}\n use={use}\n borderLeft={props.borderLeft}\n borderRight={props.borderRight}\n />,\n ) as React.ReactElement;\n }\n }, [] as React.ReactElement[]);\n }\n\n renderRow(\n cells: NestedCells,\n { dataIndex, topOffset }: { dataIndex: number; topOffset?: number },\n ) {\n const SRow = Box;\n const { styles, rowPropsLayers, uniqueKey, virtualScroll } = this.asProps;\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n\n const rowData = cells.flatRowData || getCellsByColumn(cells);\n const key = rowData[uniqueKey] ? String(rowData[uniqueKey]) : `row_${dataIndex}`;\n const needToMeasureHeight = dataIndex === 0 && !rowHeightFromProps;\n\n let props = {\n children: this.renderCells(cells, rowData, dataIndex),\n theme: undefined,\n active: undefined,\n positioned: topOffset !== undefined,\n top: topOffset,\n ref: needToMeasureHeight ? this.firstRowRef : undefined,\n key,\n 'aria-rowindex': dataIndex + 2,\n };\n\n for (const rowPropsLayer of rowPropsLayers) {\n const { childrenPropsGetter = (p) => p, ...other } = rowPropsLayer;\n const propsRow = assignProps(other, props);\n props = assignProps(childrenPropsGetter(propsRow, rowData, dataIndex), propsRow);\n }\n\n return sstyled(styles)(<SRow role=\"row\" {...props} />);\n }\n\n renderRows(rows: NestedCells[]) {\n return rows.map((cells, dataIndex) => this.renderRow(cells, { dataIndex }));\n }\n\n renderVirtualizedRows(rows: NestedCells[]) {\n if (rows.length === 0) return [];\n\n const { virtualScroll } = this.asProps;\n const { scrollOffset, scrollAreaHeight } = this.state;\n const rowHeight = this.getRowHeight();\n\n const tollerance = (typeof virtualScroll === 'object' ? virtualScroll?.tollerance : 2) ?? 2;\n const startIndex = Math.max(Math.floor(scrollOffset / rowHeight!) - tollerance, 0);\n const lastIndex = Math.min(\n Math.ceil((scrollOffset + scrollAreaHeight!) / rowHeight!) + tollerance,\n rows.length,\n );\n\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n const needToMeasureFirstRowHeight = !rowHeightFromProps;\n\n const firstRow = { cells: rows[0], dataIndex: 0, topOffset: 0 };\n const visibleRows = rowHeight !== undefined ? rows.slice(startIndex, lastIndex) : [];\n const processedVisibleRows = visibleRows.map((cells, index) => ({\n cells,\n dataIndex: startIndex + index,\n topOffset: rowHeight! * (startIndex + index),\n }));\n if (needToMeasureFirstRowHeight && startIndex !== 0) {\n processedVisibleRows.unshift(firstRow);\n }\n\n return processedVisibleRows.map(({ cells, dataIndex, topOffset }) =>\n this.renderRow(cells, { dataIndex, topOffset }),\n );\n }\n\n handleFirstRowResize = trottle((entries: ResizeObserverEntry[]) => {\n const { contentRect } = entries[0];\n const { height } = contentRect;\n this.setState((oldState: State) => {\n if (oldState.rowHeight === height) return oldState;\n return { rowHeight: height };\n });\n });\n\n handleScrollAreaResize = trottle((entries: ResizeObserverEntry[]) => {\n const { virtualScroll } = this.asProps;\n if (!virtualScroll) return;\n const { contentRect } = entries[0];\n const { height } = contentRect;\n this.setState((oldState: State) => {\n if (oldState.scrollAreaHeight === height) return oldState;\n return { scrollAreaHeight: height };\n });\n });\n\n handleScrollAreaScroll = (event: React.SyntheticEvent<HTMLElement>) => {\n const { scrollTop } = event.target as HTMLElement;\n const { virtualScroll } = this.asProps;\n if (virtualScroll) {\n this.setState((oldState: State) => {\n if (oldState.scrollOffset === scrollTop) return oldState;\n return { scrollOffset: scrollTop };\n });\n }\n };\n\n setupRowSizeObserver = () => {\n if (!this.firstRowRef.current) return;\n if (!this.asProps.virtualScroll) return;\n this.firstRowResizeObserver = new ResizeObserver(this.handleFirstRowResize);\n this.firstRowResizeObserver.observe(this.firstRowRef.current);\n };\n\n componentWillUnmount() {\n this.firstRowResizeObserver?.disconnect();\n }\n\n render() {\n const SBody = Root;\n const SBodyWrapper = Box;\n const SScrollAreaBar = ScrollArea.Bar;\n const SHeightHold = Box;\n const {\n Children,\n styles,\n rows,\n columns,\n $scrollRef,\n virtualScroll,\n onResize,\n onScroll,\n disabledScroll,\n } = this.asProps;\n\n const columnsInitialized = columns.reduce((sum, { width }) => sum + width, 0) > 0 || testEnv;\n\n const [offsetLeftSum, offsetRightSum] = getScrollOffsetValue(columns);\n const offsetSum = offsetLeftSum + offsetRightSum;\n\n const rowHeight = this.getRowHeight();\n const holdHeight =\n rowHeight !== undefined && virtualScroll ? rowHeight * rows.length : undefined;\n\n if (virtualScroll && columnsInitialized && !rowHeight) {\n new Promise(() => this.setupRowSizeObserver());\n }\n\n return sstyled(styles)(\n <SBodyWrapper>\n <ScrollArea\n shadow\n styles={scrollStyles}\n use:left={`${offsetLeftSum}px`}\n use:right={`${offsetRightSum}px`}\n onResize={callAllEventHandlers(onResize, this.handleScrollAreaResize)}\n onScroll={callAllEventHandlers(onScroll, this.handleScrollAreaScroll)}\n >\n <ScrollArea.Container ref={$scrollRef} disabledScroll={disabledScroll}>\n <SBody render={Box} role=\"rowgroup\">\n {holdHeight ? <SHeightHold hMin={holdHeight} aria-hidden={true} /> : null}\n {columnsInitialized && !virtualScroll ? this.renderRows(rows) : null}\n {columnsInitialized && virtualScroll ? this.renderVirtualizedRows(rows) : null}\n </SBody>\n </ScrollArea.Container>\n <SScrollAreaBar\n orientation=\"horizontal\"\n left={`${offsetLeftSum}px`}\n right={`${offsetRightSum}px`}\n offsetSum={`${offsetSum}px`}\n />\n <SScrollAreaBar orientation=\"vertical\" />\n </ScrollArea>\n {Children.origin}\n </SBodyWrapper>,\n );\n }\n}\n\nexport default Body;\n"],"mappings":"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"}
@@ -24,49 +24,50 @@ var _fire = _interopRequireDefault(require("@semcore/utils/lib/fire"));
24
24
  var _utils = require("./utils");
25
25
  var _Head = _interopRequireDefault(require("./Head"));
26
26
  var _Body = _interopRequireDefault(require("./Body"));
27
+ var _uniqueID = _interopRequireDefault(require("@semcore/utils/lib/uniqueID"));
27
28
  var _excluded = ["children", "name", "fixed", "resizable", "sortable", "flex", "vBorders", "active"],
28
29
  _excluded2 = ["name", "children"];
29
30
  /*__reshadow-styles__:"./style/data-table.shadow.css"*/
30
- var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SDataTable_ty0rf_gg_,.___SHeadWrapper_ty0rf_gg_{position:relative}.___SDataTable_ty0rf_gg_.__compact_ty0rf_gg_ .___SCell_ty0rf_gg_,.___SDataTable_ty0rf_gg_.__compact_ty0rf_gg_ .___SColumn_ty0rf_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SHeadWrapper_ty0rf_gg_.__sticky_ty0rf_gg_{position:sticky;top:0;z-index:2}.___SHead_ty0rf_gg_{display:flex;position:relative;flex-direction:row;min-width:-moz-fit-content;min-width:fit-content;z-index:0}.___SColumn_ty0rf_gg_{display:flex;align-items:flex-start;flex-grow:1;font-size:var(--intergalactic-fs-100, 12px);line-height:var(--intergalactic-lh-100, 133%);color:var(--intergalactic-text-primary, #191b23);box-sizing:border-box;position:relative}.___SColumn_ty0rf_gg_.focus-visible{outline:0;box-shadow:inset var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.3))}.___SColumn_ty0rf_gg_:focus-visible{outline:0;box-shadow:inset var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.3))}.___SColumn_ty0rf_gg_.__hidden_ty0rf_gg_{height:0!important;padding:0!important;overflow:hidden!important;border:0!important}.___SColumn_ty0rf_gg_._use_primary_ty0rf_gg_{padding:var(--intergalactic-spacing-3x, 12px);border-bottom:1px solid var(--intergalactic-border-secondary, #e0e1e9);background-color:var(--intergalactic-table-th-primary-cell, #f4f5f9)}.___SColumn_ty0rf_gg_._use_secondary_ty0rf_gg_{padding:var(--intergalactic-spacing-2x, 8px);border-bottom:1px solid var(--intergalactic-border-table-accent, #a9abb6);background-color:var(--intergalactic-table-th-secondary-cell, #ffffff)}.___SColumn_ty0rf_gg_.__group_ty0rf_gg_.__use_ty0rf_gg_{display:flex;flex-wrap:wrap;flex-direction:column;align-items:normal;border-bottom:none;padding:0}.___SColumn_ty0rf_gg_.__groupHead_ty0rf_gg_{justify-content:center;z-index:1;border-bottom:none}.___SColumn_ty0rf_gg_.__sortable_ty0rf_gg_{cursor:pointer}@media (hover:hover){.___SColumn_ty0rf_gg_.__sortable_ty0rf_gg_._use_primary_ty0rf_gg_:hover{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SColumn_ty0rf_gg_.__sortable_ty0rf_gg_:hover .___SSortWrapper_ty0rf_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_ty0rf_gg_.__sortable_ty0rf_gg_:hover .___SSortIcon_ty0rf_gg_,.___SColumn_ty0rf_gg_.__sortable_ty0rf_gg_:hover .___SSortWrapper_ty0rf_gg_:before{display:block;opacity:1}}.___SColumn_ty0rf_gg_._use_primary_ty0rf_gg_.__active_ty0rf_gg_{background-color:var(--intergalactic-table-th-primary-cell-active, #e0e1e9);width:100%}.___SColumn_ty0rf_gg_.__active_ty0rf_gg_ .___SSortWrapper_ty0rf_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_ty0rf_gg_.__active_ty0rf_gg_ .___SSortIcon_ty0rf_gg_{display:block;position:relative;opacity:1}.___SColumn_ty0rf_gg_.__resizable_ty0rf_gg_{border-right:1px solid transparent}@media (hover:hover){.___SColumn_ty0rf_gg_.__resizable_ty0rf_gg_:hover:after{border-right-color:var(--intergalactic-border-table-accent, #a9abb6)}}.___SColumn_ty0rf_gg_.__resizable_ty0rf_gg_:after{content:\"\";position:absolute;bottom:0;right:-1px;height:100%;width:5px;background:0 0;cursor:col-resize;border-right:1px solid transparent}.___SColumn_ty0rf_gg_.__fixed_ty0rf_gg_{position:sticky;z-index:2}.___SCell_ty0rf_gg_.__borderLeft_ty0rf_gg_,.___SColumn_ty0rf_gg_.__borderLeft_ty0rf_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_ty0rf_gg_.__borderRight_ty0rf_gg_,.___SColumn_ty0rf_gg_.__borderRight_ty0rf_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SSortWrapper_ty0rf_gg_{flex-shrink:99999;position:relative;flex-basis:0;height:100%;min-height:16px;opacity:0;transition:all .3s ease}.___SSortIcon_ty0rf_gg_,.___SSortWrapper_ty0rf_gg_:before{display:none;position:absolute;right:0;opacity:0;transition:opacity .3s ease}.___SSortWrapper_ty0rf_gg_:before{content:\"\";top:0;width:20px;height:100%}.___SSortIcon_ty0rf_gg_{fill:var(--intergalactic-icon-secondary-neutral-hover-active, #8a8e9b);top:calc(1em*1.25 - 16px);margin-left:var(--intergalactic-spacing-1x, 4px)}.___SColumn_ty0rf_gg_._use_primary_ty0rf_gg_ .___SSortWrapper_ty0rf_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_ty0rf_gg_._use_secondary_ty0rf_gg_ .___SSortWrapper_ty0rf_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,rgba(255,255,255,0) 105%)}.___SBodyWrapper_ty0rf_gg_{position:relative}.___SBody_ty0rf_gg_{display:flex;flex-direction:column;position:relative;min-width:-moz-fit-content;min-width:fit-content}.___SRow_ty0rf_gg_{display:flex;flex-direction:row;position:relative}.___SRow_ty0rf_gg_.__active_ty0rf_gg_>.___SCell_ty0rf_gg_:not(.__theme_ty0rf_gg_),.___SRow_ty0rf_gg_._theme_muted_ty0rf_gg_.__active_ty0rf_gg_>.___SCell_ty0rf_gg_:not(.__theme_ty0rf_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}@media (hover:hover){.___SRow_ty0rf_gg_ .___SCell_ty0rf_gg_:hover+.___SGroupCell_ty0rf_gg_ .___SCell_ty0rf_gg_:not(.__theme_ty0rf_gg_),.___SRow_ty0rf_gg_:hover>.___SCell_ty0rf_gg_:not(.__theme_ty0rf_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_ty0rf_gg_._theme_muted_ty0rf_gg_ .___SCell_ty0rf_gg_:not(.__theme_ty0rf_gg_){background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}@media (hover:hover){.___SRow_ty0rf_gg_._theme_muted_ty0rf_gg_ .___SCell_ty0rf_gg_:hover+.___SGroupCell_ty0rf_gg_ .___SCell_ty0rf_gg_:not(.__theme_ty0rf_gg_),.___SRow_ty0rf_gg_._theme_muted_ty0rf_gg_:hover>.___SCell_ty0rf_gg_:not(.__theme_ty0rf_gg_),.___SRow_ty0rf_gg_:hover>.___SCell_ty0rf_gg_._theme_muted_ty0rf_gg_{background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_ty0rf_gg_._theme_info_ty0rf_gg_ .___SCell_ty0rf_gg_:not(.__theme_ty0rf_gg_){background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SRow_ty0rf_gg_._theme_info_ty0rf_gg_.__active_ty0rf_gg_>.___SCell_ty0rf_gg_:not(.__theme_ty0rf_gg_){background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}@media (hover:hover){.___SRow_ty0rf_gg_._theme_info_ty0rf_gg_ .___SCell_ty0rf_gg_:hover+.___SGroupCell_ty0rf_gg_ .___SCell_ty0rf_gg_:not(.__theme_ty0rf_gg_),.___SRow_ty0rf_gg_._theme_info_ty0rf_gg_:hover>.___SCell_ty0rf_gg_:not(.__theme_ty0rf_gg_),.___SRow_ty0rf_gg_:hover>.___SCell_ty0rf_gg_._theme_info_ty0rf_gg_{background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}}.___SRow_ty0rf_gg_._theme_success_ty0rf_gg_ .___SCell_ty0rf_gg_:not(.__theme_ty0rf_gg_){background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SRow_ty0rf_gg_._theme_success_ty0rf_gg_.__active_ty0rf_gg_>.___SCell_ty0rf_gg_:not(.__theme_ty0rf_gg_){background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}@media (hover:hover){.___SRow_ty0rf_gg_._theme_success_ty0rf_gg_ .___SCell_ty0rf_gg_:hover+.___SGroupCell_ty0rf_gg_ .___SCell_ty0rf_gg_:not(.__theme_ty0rf_gg_),.___SRow_ty0rf_gg_._theme_success_ty0rf_gg_:hover>.___SCell_ty0rf_gg_:not(.__theme_ty0rf_gg_),.___SRow_ty0rf_gg_:hover>.___SCell_ty0rf_gg_._theme_success_ty0rf_gg_{background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}}.___SRow_ty0rf_gg_._theme_warning_ty0rf_gg_ .___SCell_ty0rf_gg_:not(.__theme_ty0rf_gg_){background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SRow_ty0rf_gg_._theme_warning_ty0rf_gg_.__active_ty0rf_gg_>.___SCell_ty0rf_gg_:not(.__theme_ty0rf_gg_){background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}@media (hover:hover){.___SRow_ty0rf_gg_._theme_warning_ty0rf_gg_ .___SCell_ty0rf_gg_:hover+.___SGroupCell_ty0rf_gg_ .___SCell_ty0rf_gg_:not(.__theme_ty0rf_gg_),.___SRow_ty0rf_gg_._theme_warning_ty0rf_gg_:hover>.___SCell_ty0rf_gg_:not(.__theme_ty0rf_gg_),.___SRow_ty0rf_gg_:hover>.___SCell_ty0rf_gg_._theme_warning_ty0rf_gg_{background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}}.___SRow_ty0rf_gg_._theme_danger_ty0rf_gg_ .___SCell_ty0rf_gg_:not(.__theme_ty0rf_gg_){background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SRow_ty0rf_gg_._theme_danger_ty0rf_gg_.__active_ty0rf_gg_>.___SCell_ty0rf_gg_:not(.__theme_ty0rf_gg_){background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}@media (hover:hover){.___SRow_ty0rf_gg_._theme_danger_ty0rf_gg_ .___SCell_ty0rf_gg_:hover+.___SGroupCell_ty0rf_gg_ .___SCell_ty0rf_gg_:not(.__theme_ty0rf_gg_),.___SRow_ty0rf_gg_._theme_danger_ty0rf_gg_:hover>.___SCell_ty0rf_gg_:not(.__theme_ty0rf_gg_),.___SRow_ty0rf_gg_:hover>.___SCell_ty0rf_gg_._theme_danger_ty0rf_gg_{background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}}.___SRow_ty0rf_gg_.__positioned_ty0rf_gg_{position:absolute}.___SCell_ty0rf_gg_{display:flex;flex:1;flex-basis:auto;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:nowrap}.___SCell_ty0rf_gg_._use_primary_ty0rf_gg_{padding:var(--intergalactic-spacing-3x, 12px);min-height:45px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_ty0rf_gg_._use_secondary_ty0rf_gg_{padding:var(--intergalactic-spacing-2x, 8px);min-height:37px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_ty0rf_gg_.__fixed_ty0rf_gg_{position:sticky;z-index:1}.___SCell_ty0rf_gg_._theme_muted_ty0rf_gg_{background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}.___SCell_ty0rf_gg_._theme_info_ty0rf_gg_{background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SCell_ty0rf_gg_._theme_success_ty0rf_gg_{background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SCell_ty0rf_gg_._theme_warning_ty0rf_gg_{background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SCell_ty0rf_gg_._theme_danger_ty0rf_gg_{background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SScrollAreaBar_ty0rf_gg_._orientation_horizontal_ty0rf_gg_{position:sticky;bottom:0;left:0;margin-top:calc(-1*var(--intergalactic-spacing-3x, 12px));z-index:2}.___SScrollAreaBar_ty0rf_gg_._orientation_vertical_ty0rf_gg_{width:12px}.___SScrollAreaBar_ty0rf_gg_._orientation_horizontal_ty0rf_gg_{margin-left:calc(var(--left_ty0rf) + var(--intergalactic-spacing-1x, 4px));margin-right:calc(var(--right_ty0rf) + var(--intergalactic-spacing-1x, 4px));width:calc(100% - var(--offsetSum_ty0rf) - 8px)}.___SHeightHold_ty0rf_gg_{position:absolute;top:0;width:100%;pointer-events:none;z-index:-1}" /*__inner_css_end__*/, "ty0rf_gg_") /*__reshadow_css_end__*/, {
31
- "__SDataTable": "___SDataTable_ty0rf_gg_",
32
- "_compact": "__compact_ty0rf_gg_",
33
- "__SColumn": "___SColumn_ty0rf_gg_",
34
- "__SCell": "___SCell_ty0rf_gg_",
35
- "__SHeadWrapper": "___SHeadWrapper_ty0rf_gg_",
36
- "_sticky": "__sticky_ty0rf_gg_",
37
- "__SHead": "___SHead_ty0rf_gg_",
38
- "_hidden": "__hidden_ty0rf_gg_",
39
- "_use_primary": "_use_primary_ty0rf_gg_",
40
- "_use_secondary": "_use_secondary_ty0rf_gg_",
41
- "_group": "__group_ty0rf_gg_",
42
- "_use": "__use_ty0rf_gg_",
43
- "_groupHead": "__groupHead_ty0rf_gg_",
44
- "_sortable": "__sortable_ty0rf_gg_",
45
- "__SSortWrapper": "___SSortWrapper_ty0rf_gg_",
46
- "__SSortIcon": "___SSortIcon_ty0rf_gg_",
47
- "_active": "__active_ty0rf_gg_",
48
- "_resizable": "__resizable_ty0rf_gg_",
49
- "_fixed": "__fixed_ty0rf_gg_",
50
- "_borderLeft": "__borderLeft_ty0rf_gg_",
51
- "_borderRight": "__borderRight_ty0rf_gg_",
52
- "__SBodyWrapper": "___SBodyWrapper_ty0rf_gg_",
53
- "__SBody": "___SBody_ty0rf_gg_",
54
- "__SRow": "___SRow_ty0rf_gg_",
55
- "_theme": "__theme_ty0rf_gg_",
56
- "__SGroupCell": "___SGroupCell_ty0rf_gg_",
57
- "_theme_muted": "_theme_muted_ty0rf_gg_",
58
- "_theme_info": "_theme_info_ty0rf_gg_",
59
- "_theme_success": "_theme_success_ty0rf_gg_",
60
- "_theme_warning": "_theme_warning_ty0rf_gg_",
61
- "_theme_danger": "_theme_danger_ty0rf_gg_",
62
- "_positioned": "__positioned_ty0rf_gg_",
63
- "__SScrollAreaBar": "___SScrollAreaBar_ty0rf_gg_",
64
- "_orientation_horizontal": "_orientation_horizontal_ty0rf_gg_",
65
- "_orientation_vertical": "_orientation_vertical_ty0rf_gg_",
66
- "--left": "--left_ty0rf",
67
- "--right": "--right_ty0rf",
68
- "--offsetSum": "--offsetSum_ty0rf",
69
- "__SHeightHold": "___SHeightHold_ty0rf_gg_"
31
+ var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SDataTable_hso85_gg_,.___SHeadWrapper_hso85_gg_{position:relative}.___SDataTable_hso85_gg_.__compact_hso85_gg_ .___SCell_hso85_gg_,.___SDataTable_hso85_gg_.__compact_hso85_gg_ .___SColumn_hso85_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SHeadWrapper_hso85_gg_.__sticky_hso85_gg_{position:sticky;top:0;z-index:2}.___SHead_hso85_gg_{display:flex;position:relative;flex-direction:row;min-width:-moz-fit-content;min-width:fit-content;z-index:0}.___SColumn_hso85_gg_{display:flex;align-items:flex-start;flex-grow:1;font-size:var(--intergalactic-fs-100, 12px);line-height:var(--intergalactic-lh-100, 133%);color:var(--intergalactic-text-primary, #191b23);box-sizing:border-box;position:relative}.___SColumn_hso85_gg_.focus-visible{outline:0;box-shadow:inset var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.3))}.___SColumn_hso85_gg_:focus-visible{outline:0;box-shadow:inset var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.3))}.___SColumn_hso85_gg_.__hidden_hso85_gg_{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border-width:0!important}.___SColumn_hso85_gg_._use_primary_hso85_gg_{padding:var(--intergalactic-spacing-3x, 12px);border-bottom:1px solid var(--intergalactic-border-secondary, #e0e1e9);background-color:var(--intergalactic-table-th-primary-cell, #f4f5f9)}.___SColumn_hso85_gg_._use_secondary_hso85_gg_{padding:var(--intergalactic-spacing-2x, 8px);border-bottom:1px solid var(--intergalactic-border-table-accent, #a9abb6);background-color:var(--intergalactic-table-th-secondary-cell, #ffffff)}.___SColumn_hso85_gg_.__group_hso85_gg_.__use_hso85_gg_{display:flex;flex-wrap:wrap;flex-direction:column;align-items:normal;border-bottom:none;padding:0}.___SColumn_hso85_gg_.__groupHead_hso85_gg_{justify-content:center;z-index:1;border-bottom:none}.___SColumn_hso85_gg_.__sortable_hso85_gg_{cursor:pointer}@media (hover:hover){.___SColumn_hso85_gg_.__sortable_hso85_gg_._use_primary_hso85_gg_:hover{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SColumn_hso85_gg_.__sortable_hso85_gg_:hover .___SSortWrapper_hso85_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_hso85_gg_.__sortable_hso85_gg_:hover .___SSortIcon_hso85_gg_,.___SColumn_hso85_gg_.__sortable_hso85_gg_:hover .___SSortWrapper_hso85_gg_:before{display:block;opacity:1}}.___SColumn_hso85_gg_._use_primary_hso85_gg_.__active_hso85_gg_{background-color:var(--intergalactic-table-th-primary-cell-active, #e0e1e9);width:100%}.___SColumn_hso85_gg_.__active_hso85_gg_ .___SSortWrapper_hso85_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_hso85_gg_.__active_hso85_gg_ .___SSortIcon_hso85_gg_{display:block;position:relative;opacity:1}.___SColumn_hso85_gg_.__resizable_hso85_gg_{border-right:1px solid transparent}@media (hover:hover){.___SColumn_hso85_gg_.__resizable_hso85_gg_:hover:after{border-right-color:var(--intergalactic-border-table-accent, #a9abb6)}}.___SColumn_hso85_gg_.__resizable_hso85_gg_:after{content:\"\";position:absolute;bottom:0;right:-1px;height:100%;width:5px;background:0 0;cursor:col-resize;border-right:1px solid transparent}.___SColumn_hso85_gg_.__fixed_hso85_gg_{position:sticky;z-index:2}.___SCell_hso85_gg_.__borderLeft_hso85_gg_,.___SColumn_hso85_gg_.__borderLeft_hso85_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_hso85_gg_.__borderRight_hso85_gg_,.___SColumn_hso85_gg_.__borderRight_hso85_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SSortWrapper_hso85_gg_{flex-shrink:99999;position:relative;flex-basis:0;height:100%;min-height:16px;opacity:0;transition:all .3s ease}.___SSortIcon_hso85_gg_,.___SSortWrapper_hso85_gg_:before{display:none;position:absolute;right:0;opacity:0;transition:opacity .3s ease}.___SSortWrapper_hso85_gg_:before{content:\"\";top:0;width:20px;height:100%}.___SSortIcon_hso85_gg_{fill:var(--intergalactic-icon-secondary-neutral-hover-active, #8a8e9b);top:calc(1em*1.25 - 16px);margin-left:var(--intergalactic-spacing-1x, 4px)}.___SColumn_hso85_gg_._use_primary_hso85_gg_ .___SSortWrapper_hso85_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_hso85_gg_._use_secondary_hso85_gg_ .___SSortWrapper_hso85_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,rgba(255,255,255,0) 105%)}.___SBodyWrapper_hso85_gg_{position:relative}.___SBody_hso85_gg_{display:flex;flex-direction:column;position:relative;min-width:-moz-fit-content;min-width:fit-content}.___SRow_hso85_gg_{display:flex;flex-direction:row;position:relative}.___SRow_hso85_gg_.__active_hso85_gg_>.___SCell_hso85_gg_:not(.__theme_hso85_gg_),.___SRow_hso85_gg_._theme_muted_hso85_gg_.__active_hso85_gg_>.___SCell_hso85_gg_:not(.__theme_hso85_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}@media (hover:hover){.___SRow_hso85_gg_ .___SCell_hso85_gg_:hover+.___SGroupCell_hso85_gg_ .___SCell_hso85_gg_:not(.__theme_hso85_gg_),.___SRow_hso85_gg_:hover>.___SCell_hso85_gg_:not(.__theme_hso85_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_hso85_gg_._theme_muted_hso85_gg_ .___SCell_hso85_gg_:not(.__theme_hso85_gg_){background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}@media (hover:hover){.___SRow_hso85_gg_._theme_muted_hso85_gg_ .___SCell_hso85_gg_:hover+.___SGroupCell_hso85_gg_ .___SCell_hso85_gg_:not(.__theme_hso85_gg_),.___SRow_hso85_gg_._theme_muted_hso85_gg_:hover>.___SCell_hso85_gg_:not(.__theme_hso85_gg_),.___SRow_hso85_gg_:hover>.___SCell_hso85_gg_._theme_muted_hso85_gg_{background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_hso85_gg_._theme_info_hso85_gg_ .___SCell_hso85_gg_:not(.__theme_hso85_gg_){background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SRow_hso85_gg_._theme_info_hso85_gg_.__active_hso85_gg_>.___SCell_hso85_gg_:not(.__theme_hso85_gg_){background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}@media (hover:hover){.___SRow_hso85_gg_._theme_info_hso85_gg_ .___SCell_hso85_gg_:hover+.___SGroupCell_hso85_gg_ .___SCell_hso85_gg_:not(.__theme_hso85_gg_),.___SRow_hso85_gg_._theme_info_hso85_gg_:hover>.___SCell_hso85_gg_:not(.__theme_hso85_gg_),.___SRow_hso85_gg_:hover>.___SCell_hso85_gg_._theme_info_hso85_gg_{background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}}.___SRow_hso85_gg_._theme_success_hso85_gg_ .___SCell_hso85_gg_:not(.__theme_hso85_gg_){background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SRow_hso85_gg_._theme_success_hso85_gg_.__active_hso85_gg_>.___SCell_hso85_gg_:not(.__theme_hso85_gg_){background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}@media (hover:hover){.___SRow_hso85_gg_._theme_success_hso85_gg_ .___SCell_hso85_gg_:hover+.___SGroupCell_hso85_gg_ .___SCell_hso85_gg_:not(.__theme_hso85_gg_),.___SRow_hso85_gg_._theme_success_hso85_gg_:hover>.___SCell_hso85_gg_:not(.__theme_hso85_gg_),.___SRow_hso85_gg_:hover>.___SCell_hso85_gg_._theme_success_hso85_gg_{background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}}.___SRow_hso85_gg_._theme_warning_hso85_gg_ .___SCell_hso85_gg_:not(.__theme_hso85_gg_){background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SRow_hso85_gg_._theme_warning_hso85_gg_.__active_hso85_gg_>.___SCell_hso85_gg_:not(.__theme_hso85_gg_){background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}@media (hover:hover){.___SRow_hso85_gg_._theme_warning_hso85_gg_ .___SCell_hso85_gg_:hover+.___SGroupCell_hso85_gg_ .___SCell_hso85_gg_:not(.__theme_hso85_gg_),.___SRow_hso85_gg_._theme_warning_hso85_gg_:hover>.___SCell_hso85_gg_:not(.__theme_hso85_gg_),.___SRow_hso85_gg_:hover>.___SCell_hso85_gg_._theme_warning_hso85_gg_{background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}}.___SRow_hso85_gg_._theme_danger_hso85_gg_ .___SCell_hso85_gg_:not(.__theme_hso85_gg_){background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SRow_hso85_gg_._theme_danger_hso85_gg_.__active_hso85_gg_>.___SCell_hso85_gg_:not(.__theme_hso85_gg_){background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}@media (hover:hover){.___SRow_hso85_gg_._theme_danger_hso85_gg_ .___SCell_hso85_gg_:hover+.___SGroupCell_hso85_gg_ .___SCell_hso85_gg_:not(.__theme_hso85_gg_),.___SRow_hso85_gg_._theme_danger_hso85_gg_:hover>.___SCell_hso85_gg_:not(.__theme_hso85_gg_),.___SRow_hso85_gg_:hover>.___SCell_hso85_gg_._theme_danger_hso85_gg_{background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}}.___SRow_hso85_gg_.__positioned_hso85_gg_{position:absolute}.___SCell_hso85_gg_{display:flex;flex:1;flex-basis:auto;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:nowrap}.___SCell_hso85_gg_._use_primary_hso85_gg_{padding:var(--intergalactic-spacing-3x, 12px);min-height:45px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_hso85_gg_._use_secondary_hso85_gg_{padding:var(--intergalactic-spacing-2x, 8px);min-height:37px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_hso85_gg_.__fixed_hso85_gg_{position:sticky;z-index:1}.___SCell_hso85_gg_._theme_muted_hso85_gg_{background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}.___SCell_hso85_gg_._theme_info_hso85_gg_{background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SCell_hso85_gg_._theme_success_hso85_gg_{background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SCell_hso85_gg_._theme_warning_hso85_gg_{background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SCell_hso85_gg_._theme_danger_hso85_gg_{background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SScrollAreaBar_hso85_gg_._orientation_horizontal_hso85_gg_{position:sticky;bottom:0;left:0;margin-top:calc(-1*var(--intergalactic-spacing-3x, 12px));z-index:2}.___SScrollAreaBar_hso85_gg_._orientation_vertical_hso85_gg_{width:12px}.___SScrollAreaBar_hso85_gg_._orientation_horizontal_hso85_gg_{margin-left:calc(var(--left_hso85) + var(--intergalactic-spacing-1x, 4px));margin-right:calc(var(--right_hso85) + var(--intergalactic-spacing-1x, 4px));width:calc(100% - var(--offsetSum_hso85) - 8px)}.___SHeightHold_hso85_gg_{position:absolute;top:0;width:100%;pointer-events:none;z-index:-1}" /*__inner_css_end__*/, "hso85_gg_") /*__reshadow_css_end__*/, {
32
+ "__SDataTable": "___SDataTable_hso85_gg_",
33
+ "_compact": "__compact_hso85_gg_",
34
+ "__SColumn": "___SColumn_hso85_gg_",
35
+ "__SCell": "___SCell_hso85_gg_",
36
+ "__SHeadWrapper": "___SHeadWrapper_hso85_gg_",
37
+ "_sticky": "__sticky_hso85_gg_",
38
+ "__SHead": "___SHead_hso85_gg_",
39
+ "_hidden": "__hidden_hso85_gg_",
40
+ "_use_primary": "_use_primary_hso85_gg_",
41
+ "_use_secondary": "_use_secondary_hso85_gg_",
42
+ "_group": "__group_hso85_gg_",
43
+ "_use": "__use_hso85_gg_",
44
+ "_groupHead": "__groupHead_hso85_gg_",
45
+ "_sortable": "__sortable_hso85_gg_",
46
+ "__SSortWrapper": "___SSortWrapper_hso85_gg_",
47
+ "__SSortIcon": "___SSortIcon_hso85_gg_",
48
+ "_active": "__active_hso85_gg_",
49
+ "_resizable": "__resizable_hso85_gg_",
50
+ "_fixed": "__fixed_hso85_gg_",
51
+ "_borderLeft": "__borderLeft_hso85_gg_",
52
+ "_borderRight": "__borderRight_hso85_gg_",
53
+ "__SBodyWrapper": "___SBodyWrapper_hso85_gg_",
54
+ "__SBody": "___SBody_hso85_gg_",
55
+ "__SRow": "___SRow_hso85_gg_",
56
+ "_theme": "__theme_hso85_gg_",
57
+ "__SGroupCell": "___SGroupCell_hso85_gg_",
58
+ "_theme_muted": "_theme_muted_hso85_gg_",
59
+ "_theme_info": "_theme_info_hso85_gg_",
60
+ "_theme_success": "_theme_success_hso85_gg_",
61
+ "_theme_warning": "_theme_warning_hso85_gg_",
62
+ "_theme_danger": "_theme_danger_hso85_gg_",
63
+ "_positioned": "__positioned_hso85_gg_",
64
+ "__SScrollAreaBar": "___SScrollAreaBar_hso85_gg_",
65
+ "_orientation_horizontal": "_orientation_horizontal_hso85_gg_",
66
+ "_orientation_vertical": "_orientation_vertical_hso85_gg_",
67
+ "--left": "--left_hso85",
68
+ "--right": "--right_hso85",
69
+ "--offsetSum": "--offsetSum_hso85",
70
+ "__SHeightHold": "___SHeightHold_hso85_gg_"
70
71
  });
71
72
  var REVERSED_SORT_DIRECTION = {
72
73
  desc: 'asc',
@@ -221,10 +222,14 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
221
222
  forwardRef: child.ref,
222
223
  children: children,
223
224
  ref: (column === null || column === void 0 ? void 0 : (_column$props = column.props) === null || _column$props === void 0 ? void 0 : _column$props.ref) || /*#__PURE__*/_react["default"].createRef()
224
- })
225
+ }),
226
+ parentColumns: []
225
227
  };
226
228
  if (columns) {
227
229
  columnChildren.columns = columns;
230
+ columns.forEach(function (column) {
231
+ return column.parentColumns.unshift(columnChildren);
232
+ });
228
233
  }
229
234
  columnsChildren.push(columnChildren);
230
235
  });
@@ -233,7 +238,9 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
233
238
  }, {
234
239
  key: "getHeadProps",
235
240
  value: function getHeadProps(props) {
236
- var use = this.asProps.use;
241
+ var _this$asProps = this.asProps,
242
+ use = _this$asProps.use,
243
+ uid = _this$asProps.uid;
237
244
  var columnsChildren = this.childrenToColumns(props.children);
238
245
  this.columns = (0, _utils.flattenColumns)(columnsChildren);
239
246
  return {
@@ -241,16 +248,18 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
241
248
  columnsChildren: columnsChildren,
242
249
  use: use,
243
250
  onResize: this.handlerResize,
244
- $scrollRef: this.scrollHeadRef
251
+ $scrollRef: this.scrollHeadRef,
252
+ uid: uid
245
253
  };
246
254
  }
247
255
  }, {
248
256
  key: "getBodyProps",
249
257
  value: function getBodyProps(props) {
250
- var _this$asProps = this.asProps,
251
- data = _this$asProps.data,
252
- use = _this$asProps.use,
253
- uniqueKey = _this$asProps.uniqueKey;
258
+ var _this$asProps2 = this.asProps,
259
+ data = _this$asProps2.data,
260
+ use = _this$asProps2.use,
261
+ uniqueKey = _this$asProps2.uniqueKey,
262
+ uid = _this$asProps2.uid;
254
263
  var cellPropsLayers = {};
255
264
  var rowPropsLayers = [];
256
265
  _react["default"].Children.forEach(props.children, function (child) {
@@ -280,7 +289,8 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
280
289
  uniqueKey: uniqueKey,
281
290
  use: use,
282
291
  rowPropsLayers: rowPropsLayers,
283
- $scrollRef: this.scrollBodyRef
292
+ $scrollRef: this.scrollBodyRef,
293
+ uid: uid
284
294
  };
285
295
  }
286
296
  }, {
@@ -381,14 +391,14 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
381
391
  var _ref = this.asProps,
382
392
  _ref2;
383
393
  var SDataTable = _flexBox.Box;
384
- var _this$asProps2 = this.asProps,
385
- Children = _this$asProps2.Children,
386
- styles = _this$asProps2.styles,
387
- data = _this$asProps2.data;
394
+ var _this$asProps3 = this.asProps,
395
+ Children = _this$asProps3.Children,
396
+ styles = _this$asProps3.styles,
397
+ data = _this$asProps3.data;
388
398
  return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SDataTable, _ref2.cn("SDataTable", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
389
399
  "__excludeProps": ['data'],
390
400
  "ref": this.tableRef,
391
- "role": 'table',
401
+ "role": "table",
392
402
  "aria-rowcount": (data !== null && data !== void 0 ? data : []).length
393
403
  }, _ref))), /*#__PURE__*/_react["default"].createElement(Children, _ref2.cn("Children", {})));
394
404
  }
@@ -397,6 +407,7 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
397
407
  }(_core.Component);
398
408
  (0, _defineProperty2["default"])(RootDefinitionTable, "displayName", 'DefinitionTable');
399
409
  (0, _defineProperty2["default"])(RootDefinitionTable, "style", style);
410
+ (0, _defineProperty2["default"])(RootDefinitionTable, "enhance", [(0, _uniqueID["default"])()]);
400
411
  (0, _defineProperty2["default"])(RootDefinitionTable, "defaultProps", {
401
412
  use: 'primary',
402
413
  uniqueKey: 'id',