@semcore/data-table 3.9.6 → 3.10.0

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,18 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
+ ## [3.10.0] - 2023-06-15
6
+
7
+ ### Changed
8
+
9
+ - Moved `role="rowgroup"` on focusable scroll areas to match automatic a11y checks.
10
+
11
+ ## [3.9.7] - 2023-06-14
12
+
13
+ ### Fixed
14
+
15
+ - Grouped rows aria roles.
16
+
5
17
  ## [3.9.6] - 2023-06-13
6
18
 
7
19
  ### Changed
package/lib/cjs/Body.js CHANGED
@@ -29,12 +29,12 @@ var _rafTrottle = _interopRequireDefault(require("@semcore/utils/lib/rafTrottle"
29
29
  var _excluded = ["childrenPropsGetter"],
30
30
  _excluded2 = ["childrenPropsGetter"];
31
31
  /*__reshadow-styles__:"./style/scroll-area.shadow.css"*/
32
- var scrollStyles = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SShadowHorizontal_mhnl2_gg_:before{left:var(--left_mhnl2)!important}.___SShadowHorizontal_mhnl2_gg_:after{right:var(--right_mhnl2)!important}.___SContainer_mhnl2_gg_.__disabledScroll_mhnl2_gg_{overflow:visible}" /*__inner_css_end__*/, "mhnl2_gg_") /*__reshadow_css_end__*/, {
33
- "__SShadowHorizontal": "___SShadowHorizontal_mhnl2_gg_",
34
- "--left": "--left_mhnl2",
35
- "--right": "--right_mhnl2",
36
- "__SContainer": "___SContainer_mhnl2_gg_",
37
- "_disabledScroll": "__disabledScroll_mhnl2_gg_"
32
+ var scrollStyles = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SShadowHorizontal_1ntqh_gg_:before{left:var(--left_1ntqh)!important}.___SShadowHorizontal_1ntqh_gg_:after{right:var(--right_1ntqh)!important}.___SContainer_1ntqh_gg_.__disabledScroll_1ntqh_gg_{overflow:visible}" /*__inner_css_end__*/, "1ntqh_gg_") /*__reshadow_css_end__*/, {
33
+ "__SShadowHorizontal": "___SShadowHorizontal_1ntqh_gg_",
34
+ "--left": "--left_1ntqh",
35
+ "--right": "--right_1ntqh",
36
+ "__SContainer": "___SContainer_1ntqh_gg_",
37
+ "_disabledScroll": "__disabledScroll_1ntqh_gg_"
38
38
  });
39
39
  var testEnv = process.env.NODE_ENV === 'test';
40
40
  var getCellsByColumn = function getCellsByColumn(cells) {
@@ -124,9 +124,8 @@ var Body = /*#__PURE__*/function (_Component) {
124
124
  var SGroupCell = 'div';
125
125
  return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SGroupCell, _ref2.cn("SGroupCell", {
126
126
  "key": cellIndex,
127
- "role": "rowgroup",
128
127
  "data-ui-name": "group-cell"
129
- }), _this2.renderRows(cell));
128
+ }), _this2.renderRows(cell, true));
130
129
  } else {
131
130
  var _ref3, _column$parentColumns, _column$props, _column$props2;
132
131
  var nameParts = cell.name.split('/');
@@ -205,7 +204,8 @@ var Body = /*#__PURE__*/function (_Component) {
205
204
  value: function renderRow(cells, _ref7) {
206
205
  var _ref4;
207
206
  var dataIndex = _ref7.dataIndex,
208
- topOffset = _ref7.topOffset;
207
+ topOffset = _ref7.topOffset,
208
+ nested = _ref7.nested;
209
209
  var SRow = _flexBox.Box;
210
210
  var _this$asProps2 = this.asProps,
211
211
  styles = _this$asProps2.styles,
@@ -224,7 +224,7 @@ var Body = /*#__PURE__*/function (_Component) {
224
224
  top: topOffset,
225
225
  ref: needToMeasureHeight ? this.firstRowRef : undefined,
226
226
  key: key,
227
- 'aria-rowindex': dataIndex + 2
227
+ 'aria-rowindex': !nested ? dataIndex + 2 : undefined
228
228
  };
229
229
  var _iterator2 = (0, _createForOfIteratorHelper2["default"])(rowPropsLayers),
230
230
  _step2;
@@ -245,16 +245,19 @@ var Body = /*#__PURE__*/function (_Component) {
245
245
  _iterator2.f();
246
246
  }
247
247
  return _ref4 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SRow, _ref4.cn("SRow", (0, _objectSpread2["default"])({
248
- "role": "row"
248
+ "data-nested": nested.toString(),
249
+ "role": !nested ? 'row' : undefined
249
250
  }, props)));
250
251
  }
251
252
  }, {
252
253
  key: "renderRows",
253
254
  value: function renderRows(rows) {
254
255
  var _this3 = this;
256
+ var nested = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
255
257
  return rows.map(function (cells, dataIndex) {
256
258
  return _this3.renderRow(cells, {
257
- dataIndex: dataIndex
259
+ dataIndex: dataIndex,
260
+ nested: nested
258
261
  });
259
262
  });
260
263
  }
@@ -296,7 +299,8 @@ var Body = /*#__PURE__*/function (_Component) {
296
299
  topOffset = _ref9.topOffset;
297
300
  return _this4.renderRow(cells, {
298
301
  dataIndex: dataIndex,
299
- topOffset: topOffset
302
+ topOffset: topOffset,
303
+ nested: false
300
304
  });
301
305
  });
302
306
  }
@@ -351,10 +355,9 @@ var Body = /*#__PURE__*/function (_Component) {
351
355
  "onScroll": (0, _assignProps2.callAllEventHandlers)(onScroll, this.handleScrollAreaScroll)
352
356
  }), /*#__PURE__*/_react["default"].createElement(_scrollArea["default"].Container, {
353
357
  ref: $scrollRef,
354
- disabledScroll: disabledScroll
355
- }, /*#__PURE__*/_react["default"].createElement(SBody, _ref5.cn("SBody", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
356
- "role": "rowgroup"
357
- }, _ref))), holdHeight ? /*#__PURE__*/_react["default"].createElement(SHeightHold, _ref5.cn("SHeightHold", {
358
+ disabledScroll: disabledScroll,
359
+ role: "rowgroup"
360
+ }, /*#__PURE__*/_react["default"].createElement(SBody, _ref5.cn("SBody", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({}, _ref))), holdHeight ? /*#__PURE__*/_react["default"].createElement(SHeightHold, _ref5.cn("SHeightHold", {
358
361
  "hMin": holdHeight,
359
362
  "aria-hidden": true
360
363
  })) : null, columnsInitialized && !virtualScroll ? this.renderRows(rows) : null, columnsInitialized && virtualScroll ? this.renderVirtualizedRows(rows) : null)), /*#__PURE__*/_react["default"].createElement(SScrollAreaBar, _ref5.cn("SScrollAreaBar", {
@@ -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","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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"}
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","nested","SRow","Box","_this$asProps2","rowPropsLayers","uniqueKey","flatRowData","String","needToMeasureHeight","active","positioned","top","ref","_iterator2","_step2","rowPropsLayer","_rowPropsLayer$childr","propsRow","toString","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","role","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} data-ui-name=\"group-cell\">\n {this.renderRows(cell as NestedCells[], true)}\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, 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 && !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': !nested ? dataIndex + 2 : undefined,\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)(\n <SRow data-nested={nested.toString()} role={!nested ? 'row' : undefined} {...props} />,\n );\n }\n\n renderRows(rows: NestedCells[], nested = false) {\n return rows.map((cells, dataIndex) => this.renderRow(cells, { dataIndex, nested }));\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} role=\"rowgroup\">\n <SBody render={Box}>\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":";;;;;;;;;;;;;;;;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AADA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AAEA,IAAAM,aAAA,GAAAC,uBAAA,CAAAP,OAAA;AACA,IAAAQ,uBAAA,GAAAN,sBAAA,CAAAF,OAAA;AAGA,IAAAS,WAAA,GAAAP,sBAAA,CAAAF,OAAA;AAAoD,IAAAU,SAAA;EAAAC,UAAA;AAAA;AAAA,IAAAC,YAAA,+BAAAb,KAAA,CAAAc,OAAA,CAAAC,MAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAEpD,IAAMC,OAAO,GAAGC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,MAAM;AAE/C,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,KAAkB,EAAc;EACxD,IAAMC,YAAY,GAAGD,KAAK,CAACE,IAAI,CAAC,EAAE,CAAW;EAC7C,OAAOC,MAAM,CAACC,WAAW,CAACH,YAAY,CAACI,GAAG,CAAC,UAACC,IAAI;IAAA,OAAK,CAACA,IAAI,CAACC,IAAI,EAAED,IAAI,CAACE,IAAI,CAAC;EAAA,EAAC,CAAC;AAC/E,CAAC;AAAC,IAsBIC,IAAI,0BAAAC,UAAA;EAAA,IAAAC,UAAA,aAAAF,IAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,OAAAC,aAAA,aAAAJ,IAAA;EAAA,SAAAA,KAAA;IAAA,IAAAK,KAAA;IAAA,IAAAC,gBAAA,mBAAAN,IAAA;IAAA,SAAAO,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAAP,KAAA,GAAAF,MAAA,CAAAU,IAAA,CAAAC,KAAA,CAAAX,MAAA,SAAAY,MAAA,CAAAL,IAAA;IAAA,IAAAM,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,YACO;MACba,SAAS,EAAEC,SAAS;MACpBC,gBAAgB,EAAED,SAAS;MAC3BE,YAAY,EAAE;IAChB,CAAC;IAAA,IAAAL,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,+BAEaiB,iBAAK,CAACC,SAAS,EAAe;IAAA,IAAAP,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,6BACI,IAAI;IAAA,IAAAW,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,mBAErC,YAAM;MACnB,IAAQmB,aAAa,GAAKnB,KAAA,CAAKoB,OAAO,CAA9BD,aAAa;MACrB,IAAME,kBAAkB,GAAG,IAAAC,QAAA,aAAOH,aAAa,MAAK,QAAQ,KAAIA,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEN,SAAS;MACxF,OAAOQ,kBAAkB,IAAIrB,KAAA,CAAKuB,KAAK,CAACV,SAAS;IACnD,CAAC;IAAA,IAAAF,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,2BAgJsB,IAAAwB,sBAAO,EAAC,UAACC,OAA8B,EAAK;MACjE,IAAQC,WAAW,GAAKD,OAAO,CAAC,CAAC,CAAC,CAA1BC,WAAW;MACnB,IAAQC,MAAM,GAAKD,WAAW,CAAtBC,MAAM;MACd3B,KAAA,CAAK4B,QAAQ,CAAC,UAACC,QAAe,EAAK;QACjC,IAAIA,QAAQ,CAAChB,SAAS,KAAKc,MAAM,EAAE,OAAOE,QAAQ;QAClD,OAAO;UAAEhB,SAAS,EAAEc;QAAO,CAAC;MAC9B,CAAC,CAAC;IACJ,CAAC,CAAC;IAAA,IAAAhB,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,6BAEuB,IAAAwB,sBAAO,EAAC,UAACC,OAA8B,EAAK;MACnE,IAAQN,aAAa,GAAKnB,KAAA,CAAKoB,OAAO,CAA9BD,aAAa;MACrB,IAAI,CAACA,aAAa,EAAE;MACpB,IAAQO,WAAW,GAAKD,OAAO,CAAC,CAAC,CAAC,CAA1BC,WAAW;MACnB,IAAQC,MAAM,GAAKD,WAAW,CAAtBC,MAAM;MACd3B,KAAA,CAAK4B,QAAQ,CAAC,UAACC,QAAe,EAAK;QACjC,IAAIA,QAAQ,CAACd,gBAAgB,KAAKY,MAAM,EAAE,OAAOE,QAAQ;QACzD,OAAO;UAAEd,gBAAgB,EAAEY;QAAO,CAAC;MACrC,CAAC,CAAC;IACJ,CAAC,CAAC;IAAA,IAAAhB,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,6BAEuB,UAAC8B,KAAwC,EAAK;MACrE,IAAAC,KAAA,GAAsBD,KAAK,CAACE,MAAM;QAA1BC,SAAS,GAAAF,KAAA,CAATE,SAAS;MACjB,IAAQd,aAAa,GAAKnB,KAAA,CAAKoB,OAAO,CAA9BD,aAAa;MACrB,IAAIA,aAAa,EAAE;QACjBnB,KAAA,CAAK4B,QAAQ,CAAC,UAACC,QAAe,EAAK;UACjC,IAAIA,QAAQ,CAACb,YAAY,KAAKiB,SAAS,EAAE,OAAOJ,QAAQ;UACxD,OAAO;YAAEb,YAAY,EAAEiB;UAAU,CAAC;QACpC,CAAC,CAAC;MACJ;IACF,CAAC;IAAA,IAAAtB,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,2BAEsB,YAAM;MAC3B,IAAI,CAACA,KAAA,CAAKkC,WAAW,CAACC,OAAO,EAAE;MAC/B,IAAI,CAACnC,KAAA,CAAKoB,OAAO,CAACD,aAAa,EAAE;MACjCnB,KAAA,CAAKoC,sBAAsB,GAAG,IAAIC,kCAAc,CAACrC,KAAA,CAAKsC,oBAAoB,CAAC;MAC3EtC,KAAA,CAAKoC,sBAAsB,CAACG,OAAO,CAACvC,KAAA,CAAKkC,WAAW,CAACC,OAAO,CAAC;IAC/D,CAAC;IAAA,OAAAnC,KAAA;EAAA;EAAA,IAAAwC,aAAA,aAAA7C,IAAA;IAAA8C,GAAA;IAAAC,KAAA,EAlLD,SAAAC,YAAYzD,KAAkB,EAAE0D,OAAgB,EAAEC,SAAiB,EAAE;MAAA,IAAAC,MAAA;MACnE,IAAMC,KAAK,GAAGC,aAAI;MAClB,IAAAC,aAAA,GAAsC,IAAI,CAAC7B,OAAO;QAA1C8B,MAAM,GAAAD,aAAA,CAANC,MAAM;QAAEC,OAAO,GAAAF,aAAA,CAAPE,OAAO;QAAEC,GAAG,GAAAH,aAAA,CAAHG,GAAG;QAAEC,GAAG,GAAAJ,aAAA,CAAHI,GAAG;MACjC,OAAOnE,KAAK,CAACK,GAAG,CAAC,UAACC,IAAI,EAAE8D,SAAS,EAAK;QACpC,IAAIhD,KAAK,CAACiD,OAAO,CAAC/D,IAAI,CAAC,EAAE;UAAA,IAAAgE,KAAA;UACvB,IAAMC,UAAU,GAAG,KAAK;UACxB,OAAAD,KAAA,GAAO,IAAA7E,aAAO,EAACuE,MAAM,CAAC,eACpBnF,MAAA,YAAA2F,aAAA,CAACD,UAAU,EAAAD,KAAA,CAAAG,EAAA;YAAA,OAAML,SAAS;YAAA,gBAAe;UAAY,IAClDR,MAAI,CAACc,UAAU,CAACpE,IAAI,EAAmB,IAAI,CAAC,CAClC;QAEjB,CAAC,MAAM;UAAA,IAAAqE,KAAA,EAAAC,qBAAA,EAAAC,aAAA,EAAAC,cAAA;UACL,IAAMC,SAAS,GAAGzE,IAAI,CAACC,IAAI,CAACyE,KAAK,CAAC,GAAG,CAAC;UACtC,IAAMC,SAAS,GAAGF,SAAS,CAAC,CAAC,CAAC;UAC9B,IAAMG,QAAQ,GAAGH,SAAS,CAACA,SAAS,CAAC7D,MAAM,GAAG,CAAC,CAAC;UAChD,IAAMiE,WAAW,GAAGlB,OAAO,CAACmB,IAAI,CAAC,UAACC,CAAC;YAAA,OAAKA,CAAC,CAAC9E,IAAI,KAAK0E,SAAS;UAAA,EAAC;UAC7D,IAAMK,UAAU,GAAGrB,OAAO,CAACmB,IAAI,CAAC,UAACC,CAAC;YAAA,OAAKA,CAAC,CAAC9E,IAAI,KAAK2E,QAAQ;UAAA,EAAC;UAC3D,IAAMK,MAAM,GAAGtB,OAAO,CAACmB,IAAI,CAAC,UAACC,CAAC;YAAA,OAAKA,CAAC,CAAC9E,IAAI,KAAKD,IAAI,CAACC,IAAI;UAAA,EAAC;UACxD,IAAAiF,cAAA,GAAsB,IAAAC,oBAAa,EAACnF,IAAI,EAAE2D,OAAO,CAAC;YAAAyB,eAAA,OAAAC,eAAA,aAAAH,cAAA;YAA3CjF,IAAI,GAAAmF,eAAA;YAAElC,KAAK,GAAAkC,eAAA;UAClB,IAAME,iBAAiB,IAAAhB,qBAAA,GAAGW,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEM,aAAa,CAACxF,GAAG,CAAC,UAACkF,MAAM;YAAA,OAAKA,MAAM,CAAChF,IAAI;UAAA,EAAC,cAAAqE,qBAAA,cAAAA,qBAAA,GAAI,EAAE;UAClF,IAAMkB,IAAI,GAAG,CAAC1E,KAAK,CAACiD,OAAO,CAAC/D,IAAI,CAACyF,MAAM,CAAC,GAAGzF,IAAI,CAACyF,MAAM,GAAG,CAACzF,IAAI,CAACyF,MAAM,CAAC,EAAE1F,GAAG,CACzE,UAACE,IAAI;YAAA,cAAAiB,MAAA,CAAYjB,IAAI;UAAA,CAAG,CACzB;UAOD,IAAIyF,KAAgB,GAAG;YACrBzF,IAAI,EAAED,IAAI,CAACC,IAAI;YACf0F,QAAQ,eAAEpH,MAAA,YAAA2F,aAAA,CAAA3F,MAAA,YAAAqH,QAAA,QAAG5F,IAAI,CAACE,IAAI,CAAI;YAC1B2F,cAAc,EAAEZ,MAAM,aAANA,MAAM,wBAAAV,aAAA,GAANU,MAAM,CAAES,KAAK,cAAAnB,aAAA,uBAAbA,aAAA,CAAesB,cAAc;YAC7CC,UAAU,EAAEb,MAAM,aAANA,MAAM,wBAAAT,cAAA,GAANS,MAAM,CAAES,KAAK,cAAAlB,cAAA,uBAAbA,cAAA,CAAesB,UAAU;YACrCC,UAAU,EAAElB,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEkB,UAAU;YACnCC,WAAW,EAAEhB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEgB,WAAW;YACpCC,KAAK,EAAE;cACLC,KAAK,EAAEV,IAAI,CAAC5E,MAAM,KAAK,CAAC,GAAG4E,IAAI,CAAC,CAAC,CAAC,WAAAtE,MAAA,CAAWsE,IAAI,CAACW,IAAI,CAAC,KAAK,CAAC;YAC/D;UACF,CAAC;UACD,IAAIlG,IAAI,KAAKqB,SAAS,IAAI4B,KAAK,KAAK5B,SAAS,EAAE;YAC7CoE,KAAK,CAACO,KAAK,CAAChG,IAAI,CAAC,GAAGiD,KAAK;UAC3B;UAAC,IAAAkD,SAAA,OAAAC,2BAAA,aAE2BrG,IAAI,CAACsG,eAAe,IAAI,EAAE;YAAAC,KAAA;UAAA;YAAtD,KAAAH,SAAA,CAAAI,CAAA,MAAAD,KAAA,GAAAH,SAAA,CAAAK,CAAA,IAAAC,IAAA,GAAwD;cAAA,IAA7CC,aAAa,GAAAJ,KAAA,CAAArD,KAAA;cACtB,IAAA0D,qBAAA,GAAqDD,aAAa,CAA1DE,mBAAmB;gBAAnBA,mBAAmB,GAAAD,qBAAA,cAAG,UAACE,CAAC;kBAAA,OAAKA,CAAC;gBAAA,IAAAF,qBAAA;gBAAKG,KAAK,OAAAC,yBAAA,aAAKL,aAAa,EAAA3H,SAAA;cAClE,IAAMiI,SAAS,GAAG,IAAAC,wBAAW,EAACH,KAAK,EAAErB,KAAK,CAAC;cAC3CA,KAAK,GAAG,IAAAwB,wBAAW,EAACL,mBAAmB,CAACI,SAAS,EAAE7D,OAAO,EAAEC,SAAS,CAAC,EAAE4D,SAAS,CAAC;YACpF;UAAC,SAAAE,GAAA;YAAAf,SAAA,CAAAgB,CAAA,CAAAD,GAAA;UAAA;YAAAf,SAAA,CAAAiB,CAAA;UAAA;UAED,IAAMC,SAAS,GAAG,CAACtH,IAAI,CAACC,IAAI,EAAAiB,MAAA,KAAAqG,mBAAA,aAAKjC,iBAAiB,GAC/CkC,MAAM,CAACC,OAAO,CAAC,CACf1H,GAAG,CAAC,UAACE,IAAI;YAAA,oBAAAiB,MAAA,CAAkB2C,GAAG,OAAA3C,MAAA,CAAIjB,IAAI;UAAA,CAAE,CAAC;UAE5C,OAAAoE,KAAA,GAAO,IAAAlF,aAAO,EAACuE,MAAM,CAAC,eACpBnF,MAAA,YAAA2F,aAAA,CAACX,KAAK,EAAAc,KAAA,CAAAF,EAAA,cAAAuD,cAAA,iBAAAA,cAAA;YAAA,OACC1H,IAAI,CAACC,IAAI;YAAA,QACT,MAAM;YAAA,WACFqH,SAAS,CAACnB,IAAI,CAAC,GAAG;UAAC,GACxBT,KAAK;YAAA,SACF1F,IAAI,CAAC2H,KAAK;YAAA,SACVjC,KAAK,CAACkC,KAAK;YAAA,OACbhE,GAAG;YAAA,cACI8B,KAAK,CAACK,UAAU;YAAA,eACfL,KAAK,CAACM;UAAW,IAC9B;QAEN;MACF,CAAC,EAAE,EAAE,CAAyB;IAChC;EAAC;IAAA/C,GAAA;IAAAC,KAAA,EAED,SAAA2E,UACEnI,KAAkB,EAAAoI,KAAA,EAElB;MAAA,IAAAC,KAAA;MAAA,IADE1E,SAAS,GAAAyE,KAAA,CAATzE,SAAS;QAAE2E,SAAS,GAAAF,KAAA,CAATE,SAAS;QAAEC,MAAM,GAAAH,KAAA,CAANG,MAAM;MAE9B,IAAMC,IAAI,GAAGC,YAAG;MAChB,IAAAC,cAAA,GAA6D,IAAI,CAACxG,OAAO;QAAjE8B,MAAM,GAAA0E,cAAA,CAAN1E,MAAM;QAAE2E,cAAc,GAAAD,cAAA,CAAdC,cAAc;QAAEC,SAAS,GAAAF,cAAA,CAATE,SAAS;QAAE3G,aAAa,GAAAyG,cAAA,CAAbzG,aAAa;MACxD,IAAME,kBAAkB,GAAG,IAAAC,QAAA,aAAOH,aAAa,MAAK,QAAQ,KAAIA,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEN,SAAS;MAExF,IAAM+B,OAAO,GAAG1D,KAAK,CAAC6I,WAAW,IAAI9I,gBAAgB,CAACC,KAAK,CAAC;MAC5D,IAAMuD,GAAG,GAAGG,OAAO,CAACkF,SAAS,CAAC,GAAGE,MAAM,CAACpF,OAAO,CAACkF,SAAS,CAAC,CAAC,UAAApH,MAAA,CAAUmC,SAAS,CAAE;MAChF,IAAMoF,mBAAmB,GAAGpF,SAAS,KAAK,CAAC,IAAI,CAACxB,kBAAkB;MAElE,IAAI6D,KAAK,GAAG;QACVC,QAAQ,EAAE,IAAI,CAACxC,WAAW,CAACzD,KAAK,EAAE0D,OAAO,EAAEC,SAAS,CAAC;QACrDuE,KAAK,EAAEtG,SAAS;QAChBoH,MAAM,EAAEpH,SAAS;QACjBqH,UAAU,EAAEX,SAAS,KAAK1G,SAAS;QACnCsH,GAAG,EAAEZ,SAAS;QACda,GAAG,EAAEJ,mBAAmB,GAAG,IAAI,CAAC/F,WAAW,GAAGpB,SAAS;QACvD2B,GAAG,EAAHA,GAAG;QACH,eAAe,EAAE,CAACgF,MAAM,GAAG5E,SAAS,GAAG,CAAC,GAAG/B;MAC7C,CAAC;MAAC,IAAAwH,UAAA,OAAAzC,2BAAA,aAE0BgC,cAAc;QAAAU,MAAA;MAAA;QAA1C,KAAAD,UAAA,CAAAtC,CAAA,MAAAuC,MAAA,GAAAD,UAAA,CAAArC,CAAA,IAAAC,IAAA,GAA4C;UAAA,IAAjCsC,aAAa,GAAAD,MAAA,CAAA7F,KAAA;UACtB,IAAA+F,qBAAA,GAAqDD,aAAa,CAA1DnC,mBAAmB;YAAnBA,mBAAmB,GAAAoC,qBAAA,cAAG,UAACnC,CAAC;cAAA,OAAKA,CAAC;YAAA,IAAAmC,qBAAA;YAAKlC,KAAK,OAAAC,yBAAA,aAAKgC,aAAa,EAAA/J,UAAA;UAClE,IAAMiK,QAAQ,GAAG,IAAAhC,wBAAW,EAACH,KAAK,EAAErB,KAAK,CAAC;UAC1CA,KAAK,GAAG,IAAAwB,wBAAW,EAACL,mBAAmB,CAACqC,QAAQ,EAAE9F,OAAO,EAAEC,SAAS,CAAC,EAAE6F,QAAQ,CAAC;QAClF;MAAC,SAAA/B,GAAA;QAAA2B,UAAA,CAAA1B,CAAA,CAAAD,GAAA;MAAA;QAAA2B,UAAA,CAAAzB,CAAA;MAAA;MAED,OAAAU,KAAA,GAAO,IAAA5I,aAAO,EAACuE,MAAM,CAAC,eACpBnF,MAAA,YAAA2F,aAAA,CAACgE,IAAI,EAAAH,KAAA,CAAA5D,EAAA,aAAAuD,cAAA;QAAA,eAAcO,MAAM,CAACkB,QAAQ,EAAE;QAAA,QAAQ,CAAClB,MAAM,GAAG,KAAK,GAAG3G;MAAS,GAAMoE,KAAK,GAAI;IAE1F;EAAC;IAAAzC,GAAA;IAAAC,KAAA,EAED,SAAAkB,WAAWgF,IAAmB,EAAkB;MAAA,IAAAC,MAAA;MAAA,IAAhBpB,MAAM,GAAAtH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAW,SAAA,GAAAX,SAAA,MAAG,KAAK;MAC5C,OAAOyI,IAAI,CAACrJ,GAAG,CAAC,UAACL,KAAK,EAAE2D,SAAS;QAAA,OAAKgG,MAAI,CAACxB,SAAS,CAACnI,KAAK,EAAE;UAAE2D,SAAS,EAATA,SAAS;UAAE4E,MAAM,EAANA;QAAO,CAAC,CAAC;MAAA,EAAC;IACrF;EAAC;IAAAhF,GAAA;IAAAC,KAAA,EAED,SAAAoG,sBAAsBF,IAAmB,EAAE;MAAA,IAAAG,KAAA;QAAAC,MAAA;MACzC,IAAIJ,IAAI,CAACxI,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE;MAEhC,IAAQe,aAAa,GAAK,IAAI,CAACC,OAAO,CAA9BD,aAAa;MACrB,IAAA8H,WAAA,GAA2C,IAAI,CAAC1H,KAAK;QAA7CP,YAAY,GAAAiI,WAAA,CAAZjI,YAAY;QAAED,gBAAgB,GAAAkI,WAAA,CAAhBlI,gBAAgB;MACtC,IAAMF,SAAS,GAAG,IAAI,CAACqI,YAAY,EAAE;MAErC,IAAMC,UAAU,IAAAJ,KAAA,GAAI,IAAAzH,QAAA,aAAOH,aAAa,MAAK,QAAQ,GAAGA,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEgI,UAAU,GAAG,CAAC,cAAAJ,KAAA,cAAAA,KAAA,GAAK,CAAC;MAC3F,IAAMK,UAAU,GAAGC,IAAI,CAACC,GAAG,CAACD,IAAI,CAACE,KAAK,CAACvI,YAAY,GAAGH,SAAU,CAAC,GAAGsI,UAAU,EAAE,CAAC,CAAC;MAClF,IAAMK,SAAS,GAAGH,IAAI,CAACI,GAAG,CACxBJ,IAAI,CAACK,IAAI,CAAC,CAAC1I,YAAY,GAAGD,gBAAiB,IAAIF,SAAU,CAAC,GAAGsI,UAAU,EACvEP,IAAI,CAACxI,MAAM,CACZ;MAED,IAAMiB,kBAAkB,GAAG,IAAAC,QAAA,aAAOH,aAAa,MAAK,QAAQ,KAAIA,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEN,SAAS;MACxF,IAAM8I,2BAA2B,GAAG,CAACtI,kBAAkB;MAEvD,IAAMuI,QAAQ,GAAG;QAAE1K,KAAK,EAAE0J,IAAI,CAAC,CAAC,CAAC;QAAE/F,SAAS,EAAE,CAAC;QAAE2E,SAAS,EAAE;MAAE,CAAC;MAC/D,IAAMqC,WAAW,GAAGhJ,SAAS,KAAKC,SAAS,GAAG8H,IAAI,CAACkB,KAAK,CAACV,UAAU,EAAEI,SAAS,CAAC,GAAG,EAAE;MACpF,IAAMO,oBAAoB,GAAGF,WAAW,CAACtK,GAAG,CAAC,UAACL,KAAK,EAAE8K,KAAK;QAAA,OAAM;UAC9D9K,KAAK,EAALA,KAAK;UACL2D,SAAS,EAAEuG,UAAU,GAAGY,KAAK;UAC7BxC,SAAS,EAAE3G,SAAS,IAAKuI,UAAU,GAAGY,KAAK;QAC7C,CAAC;MAAA,CAAC,CAAC;MACH,IAAIL,2BAA2B,IAAIP,UAAU,KAAK,CAAC,EAAE;QACnDW,oBAAoB,CAACE,OAAO,CAACL,QAAQ,CAAC;MACxC;MAEA,OAAOG,oBAAoB,CAACxK,GAAG,CAAC,UAAA2K,KAAA;QAAA,IAAGhL,KAAK,GAAAgL,KAAA,CAALhL,KAAK;UAAE2D,SAAS,GAAAqH,KAAA,CAATrH,SAAS;UAAE2E,SAAS,GAAA0C,KAAA,CAAT1C,SAAS;QAAA,OAC5DwB,MAAI,CAAC3B,SAAS,CAACnI,KAAK,EAAE;UAAE2D,SAAS,EAATA,SAAS;UAAE2E,SAAS,EAATA,SAAS;UAAEC,MAAM,EAAE;QAAM,CAAC,CAAC;MAAA,EAC/D;IACH;EAAC;IAAAhF,GAAA;IAAAC,KAAA,EAwCD,SAAAyH,qBAAA,EAAuB;MAAA,IAAAC,qBAAA;MACrB,CAAAA,qBAAA,OAAI,CAAChI,sBAAsB,cAAAgI,qBAAA,uBAA3BA,qBAAA,CAA6BC,UAAU,EAAE;IAC3C;EAAC;IAAA5H,GAAA;IAAAC,KAAA,EAED,SAAA4H,OAAA,EAAS;MAAA,IAAAC,IAAA,QAAAnJ,OAAA;QAAAoJ,KAAA;QAAAC,MAAA;MACP,IAAMC,KAAK,GAwCY/C,YAAG;MAvC1B,IAAMgD,YAAY,GAAGhD,YAAG;MACxB,IAAMiD,cAAc,GAAGC,sBAAU,CAACC,GAAG;MACrC,IAAMC,WAAW,GAAGpD,YAAG;MACvB,IAAAqD,cAAA,GAUI,IAAI,CAAC5J,OAAO;QATd6J,QAAQ,GAAAD,cAAA,CAARC,QAAQ;QACR/H,MAAM,GAAA8H,cAAA,CAAN9H,MAAM;QACN0F,IAAI,GAAAoC,cAAA,CAAJpC,IAAI;QACJzF,OAAO,GAAA6H,cAAA,CAAP7H,OAAO;QACP+H,UAAU,GAAAF,cAAA,CAAVE,UAAU;QACV/J,aAAa,GAAA6J,cAAA,CAAb7J,aAAa;QACbgK,QAAQ,GAAAH,cAAA,CAARG,QAAQ;QACRC,QAAQ,GAAAJ,cAAA,CAARI,QAAQ;QACRC,cAAc,GAAAL,cAAA,CAAdK,cAAc;MAGhB,IAAMC,kBAAkB,GAAGnI,OAAO,CAACoI,MAAM,CAAC,UAACC,GAAG,EAAAC,MAAA;QAAA,IAAI/F,KAAK,GAAA+F,MAAA,CAAL/F,KAAK;QAAA,OAAO8F,GAAG,GAAG9F,KAAK;MAAA,GAAE,CAAC,CAAC,GAAG,CAAC,IAAI7G,OAAO;MAE5F,IAAA6M,qBAAA,GAAwC,IAAAC,2BAAoB,EAACxI,OAAO,CAAC;QAAAyI,sBAAA,OAAA/G,eAAA,aAAA6G,qBAAA;QAA9DG,aAAa,GAAAD,sBAAA;QAAEE,cAAc,GAAAF,sBAAA;MACpC,IAAMG,SAAS,GAAGF,aAAa,GAAGC,cAAc;MAEhD,IAAMjL,SAAS,GAAG,IAAI,CAACqI,YAAY,EAAE;MACrC,IAAM8C,UAAU,GACdnL,SAAS,KAAKC,SAAS,IAAIK,aAAa,GAAGN,SAAS,GAAG+H,IAAI,CAACxI,MAAM,GAAGU,SAAS;MAEhF,IAAIK,aAAa,IAAImK,kBAAkB,IAAI,CAACzK,SAAS,EAAE;QACrD,IAAIoL,OAAO,CAAC;UAAA,OAAMxB,MAAI,CAACyB,oBAAoB,EAAE;QAAA,EAAC;MAChD;MAEA,OAAA1B,KAAA,GAAO,IAAA7L,aAAO,EAACuE,MAAM,CAAC,eACpBnF,MAAA,YAAA2F,aAAA,CAACiH,YAAY,EAAAH,KAAA,CAAA7G,EAAA,mCACX5F,MAAA,YAAA2F,aAAA,CAACxF,WAAA,WAAU,EAAAsM,KAAA,CAAA7G,EAAA;QAAA;QAAA,UAEDjF,YAAY;QAAA,eAAAgC,MAAA,CACPmL,aAAa;QAAA,gBAAAnL,MAAA,CACZoL,cAAc;QAAA,YAClB,IAAAK,kCAAoB,EAAChB,QAAQ,EAAE,IAAI,CAACiB,sBAAsB,CAAC;QAAA,YAC3D,IAAAD,kCAAoB,EAACf,QAAQ,EAAE,IAAI,CAACiB,sBAAsB;MAAC,iBAErEtO,MAAA,YAAA2F,aAAA,CAACxF,WAAA,WAAU,CAACoO,SAAS;QAACjE,GAAG,EAAE6C,UAAW;QAACG,cAAc,EAAEA,cAAe;QAACkB,IAAI,EAAC;MAAU,gBACpFxO,MAAA,YAAA2F,aAAA,CAACgH,KAAK,EAAAF,KAAA,CAAA7G,EAAA,cAAAuD,cAAA,qBAAArJ,KAAA,CAAA6I,WAAA,MAAA6D,IAAA,KACHyB,UAAU,gBAAGjO,MAAA,YAAA2F,aAAA,CAACqH,WAAW,EAAAP,KAAA,CAAA7G,EAAA;QAAA,QAAOqI,UAAU;QAAA,eAAe;MAAI,GAAI,GAAG,IAAI,EACxEV,kBAAkB,IAAI,CAACnK,aAAa,GAAG,IAAI,CAACyC,UAAU,CAACgF,IAAI,CAAC,GAAG,IAAI,EACnE0C,kBAAkB,IAAInK,aAAa,GAAG,IAAI,CAAC2H,qBAAqB,CAACF,IAAI,CAAC,GAAG,IAAI,CACxE,CACa,eACvB7K,MAAA,YAAA2F,aAAA,CAACkH,cAAc,EAAAJ,KAAA,CAAA7G,EAAA;QAAA,eACD,YAAY;QAAA,WAAAjD,MAAA,CACfmL,aAAa;QAAA,YAAAnL,MAAA,CACZoL,cAAc;QAAA,gBAAApL,MAAA,CACVqL,SAAS;MAAA,GACvB,eACFhO,MAAA,YAAA2F,aAAA,CAACkH,cAAc,EAAAJ,KAAA,CAAA7G,EAAA;QAAA,eAAa;MAAU,GAAG,CAC9B,EACZsH,QAAQ,CAACuB,MAAM,CACH;IAEnB;EAAC;EAAA,OAAA7M,IAAA;AAAA,EAlQgB8M,eAAS;AAAA,IAAAC,QAAA,GAqQb/M,IAAI;AAAAgN,OAAA,cAAAD,QAAA"}
@@ -28,46 +28,46 @@ var _uniqueID = _interopRequireDefault(require("@semcore/utils/lib/uniqueID"));
28
28
  var _excluded = ["children", "name", "fixed", "resizable", "sortable", "flex", "vBorders", "active"],
29
29
  _excluded2 = ["name", "children"];
30
30
  /*__reshadow-styles__:"./style/data-table.shadow.css"*/
31
- var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SDataTable_17pry_gg_,.___SHeadWrapper_17pry_gg_{position:relative}.___SDataTable_17pry_gg_.__compact_17pry_gg_ .___SCell_17pry_gg_,.___SDataTable_17pry_gg_.__compact_17pry_gg_ .___SColumn_17pry_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SHeadWrapper_17pry_gg_.__sticky_17pry_gg_{position:sticky;top:0;z-index:2}.___SHead_17pry_gg_{display:flex;position:relative;flex-direction:row;min-width:-moz-fit-content;min-width:fit-content;z-index:0}.___SColumn_17pry_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_17pry_gg_.focus-visible{outline:0;box-shadow:inset var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___SColumn_17pry_gg_:focus-visible{outline:0;box-shadow:inset var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___SColumn_17pry_gg_.__hidden_17pry_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_17pry_gg_._use_primary_17pry_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_17pry_gg_._use_secondary_17pry_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_17pry_gg_.__group_17pry_gg_.__use_17pry_gg_{display:flex;flex-wrap:wrap;flex-direction:column;align-items:normal;border-bottom:none;padding:0}.___SColumn_17pry_gg_.__groupHead_17pry_gg_{justify-content:center;z-index:1;border-bottom:none}.___SColumn_17pry_gg_.__sortable_17pry_gg_{cursor:pointer}@media (hover:hover){.___SColumn_17pry_gg_.__sortable_17pry_gg_._use_primary_17pry_gg_:hover{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SColumn_17pry_gg_.__sortable_17pry_gg_:hover .___SSortWrapper_17pry_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_17pry_gg_.__sortable_17pry_gg_:hover .___SSortIcon_17pry_gg_,.___SColumn_17pry_gg_.__sortable_17pry_gg_:hover .___SSortWrapper_17pry_gg_:before{display:block;opacity:1}}.___SColumn_17pry_gg_._use_primary_17pry_gg_.__active_17pry_gg_{background-color:var(--intergalactic-table-th-primary-cell-active, #e0e1e9);width:100%}.___SColumn_17pry_gg_.__active_17pry_gg_ .___SSortWrapper_17pry_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_17pry_gg_.__active_17pry_gg_ .___SSortIcon_17pry_gg_{display:block;position:relative;opacity:1}.___SColumn_17pry_gg_.__resizable_17pry_gg_{border-right:1px solid transparent}@media (hover:hover){.___SColumn_17pry_gg_.__resizable_17pry_gg_:hover:after{border-right-color:var(--intergalactic-border-table-accent, #a9abb6)}}.___SColumn_17pry_gg_.__resizable_17pry_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_17pry_gg_.__fixed_17pry_gg_{position:sticky;z-index:2}.___SCell_17pry_gg_.__borderLeft_17pry_gg_,.___SColumn_17pry_gg_.__borderLeft_17pry_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_17pry_gg_.__borderRight_17pry_gg_,.___SColumn_17pry_gg_.__borderRight_17pry_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SSortWrapper_17pry_gg_{flex-shrink:99999;position:relative;flex-basis:0;height:100%;min-height:16px;opacity:0;transition:all .3s ease}.___SSortIcon_17pry_gg_,.___SSortWrapper_17pry_gg_:before{display:none;position:absolute;right:0;opacity:0;transition:opacity .3s ease}.___SSortWrapper_17pry_gg_:before{content:\"\";top:0;width:20px;height:100%}.___SSortIcon_17pry_gg_{fill:var(--intergalactic-icon-secondary-neutral-hover-active, #8a8e9b);top:calc(1em*1.25 - 16px);margin-left:var(--intergalactic-spacing-1x, 4px)}.___SColumn_17pry_gg_._use_primary_17pry_gg_ .___SSortWrapper_17pry_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_17pry_gg_._use_secondary_17pry_gg_ .___SSortWrapper_17pry_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,rgba(255,255,255,0) 105%)}.___SBodyWrapper_17pry_gg_{position:relative}.___SBody_17pry_gg_{display:flex;flex-direction:column;position:relative;min-width:-moz-fit-content;min-width:fit-content}.___SRow_17pry_gg_{display:flex;flex-direction:row;position:relative}.___SRow_17pry_gg_.__active_17pry_gg_>.___SCell_17pry_gg_:not(.__theme_17pry_gg_),.___SRow_17pry_gg_._theme_muted_17pry_gg_.__active_17pry_gg_>.___SCell_17pry_gg_:not(.__theme_17pry_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}@media (hover:hover){.___SRow_17pry_gg_ .___SCell_17pry_gg_:hover+.___SGroupCell_17pry_gg_ .___SCell_17pry_gg_:not(.__theme_17pry_gg_),.___SRow_17pry_gg_:hover>.___SCell_17pry_gg_:not(.__theme_17pry_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_17pry_gg_._theme_muted_17pry_gg_ .___SCell_17pry_gg_:not(.__theme_17pry_gg_){background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}@media (hover:hover){.___SRow_17pry_gg_._theme_muted_17pry_gg_ .___SCell_17pry_gg_:hover+.___SGroupCell_17pry_gg_ .___SCell_17pry_gg_:not(.__theme_17pry_gg_),.___SRow_17pry_gg_._theme_muted_17pry_gg_:hover>.___SCell_17pry_gg_:not(.__theme_17pry_gg_),.___SRow_17pry_gg_:hover>.___SCell_17pry_gg_._theme_muted_17pry_gg_{background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_17pry_gg_._theme_info_17pry_gg_ .___SCell_17pry_gg_:not(.__theme_17pry_gg_){background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SRow_17pry_gg_._theme_info_17pry_gg_.__active_17pry_gg_>.___SCell_17pry_gg_:not(.__theme_17pry_gg_){background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}@media (hover:hover){.___SRow_17pry_gg_._theme_info_17pry_gg_ .___SCell_17pry_gg_:hover+.___SGroupCell_17pry_gg_ .___SCell_17pry_gg_:not(.__theme_17pry_gg_),.___SRow_17pry_gg_._theme_info_17pry_gg_:hover>.___SCell_17pry_gg_:not(.__theme_17pry_gg_),.___SRow_17pry_gg_:hover>.___SCell_17pry_gg_._theme_info_17pry_gg_{background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}}.___SRow_17pry_gg_._theme_success_17pry_gg_ .___SCell_17pry_gg_:not(.__theme_17pry_gg_){background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SRow_17pry_gg_._theme_success_17pry_gg_.__active_17pry_gg_>.___SCell_17pry_gg_:not(.__theme_17pry_gg_){background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}@media (hover:hover){.___SRow_17pry_gg_._theme_success_17pry_gg_ .___SCell_17pry_gg_:hover+.___SGroupCell_17pry_gg_ .___SCell_17pry_gg_:not(.__theme_17pry_gg_),.___SRow_17pry_gg_._theme_success_17pry_gg_:hover>.___SCell_17pry_gg_:not(.__theme_17pry_gg_),.___SRow_17pry_gg_:hover>.___SCell_17pry_gg_._theme_success_17pry_gg_{background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}}.___SRow_17pry_gg_._theme_warning_17pry_gg_ .___SCell_17pry_gg_:not(.__theme_17pry_gg_){background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SRow_17pry_gg_._theme_warning_17pry_gg_.__active_17pry_gg_>.___SCell_17pry_gg_:not(.__theme_17pry_gg_){background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}@media (hover:hover){.___SRow_17pry_gg_._theme_warning_17pry_gg_ .___SCell_17pry_gg_:hover+.___SGroupCell_17pry_gg_ .___SCell_17pry_gg_:not(.__theme_17pry_gg_),.___SRow_17pry_gg_._theme_warning_17pry_gg_:hover>.___SCell_17pry_gg_:not(.__theme_17pry_gg_),.___SRow_17pry_gg_:hover>.___SCell_17pry_gg_._theme_warning_17pry_gg_{background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}}.___SRow_17pry_gg_._theme_danger_17pry_gg_ .___SCell_17pry_gg_:not(.__theme_17pry_gg_){background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SRow_17pry_gg_._theme_danger_17pry_gg_.__active_17pry_gg_>.___SCell_17pry_gg_:not(.__theme_17pry_gg_){background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}@media (hover:hover){.___SRow_17pry_gg_._theme_danger_17pry_gg_ .___SCell_17pry_gg_:hover+.___SGroupCell_17pry_gg_ .___SCell_17pry_gg_:not(.__theme_17pry_gg_),.___SRow_17pry_gg_._theme_danger_17pry_gg_:hover>.___SCell_17pry_gg_:not(.__theme_17pry_gg_),.___SRow_17pry_gg_:hover>.___SCell_17pry_gg_._theme_danger_17pry_gg_{background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}}.___SRow_17pry_gg_.__positioned_17pry_gg_{position:absolute}.___SCell_17pry_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_17pry_gg_._use_primary_17pry_gg_{padding:var(--intergalactic-spacing-3x, 12px);min-height:45px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_17pry_gg_._use_secondary_17pry_gg_{padding:var(--intergalactic-spacing-2x, 8px);min-height:37px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_17pry_gg_.__fixed_17pry_gg_{position:sticky;z-index:1}.___SCell_17pry_gg_._theme_muted_17pry_gg_{background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}.___SCell_17pry_gg_._theme_info_17pry_gg_{background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SCell_17pry_gg_._theme_success_17pry_gg_{background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SCell_17pry_gg_._theme_warning_17pry_gg_{background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SCell_17pry_gg_._theme_danger_17pry_gg_{background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SScrollAreaBar_17pry_gg_._orientation_horizontal_17pry_gg_{position:sticky;bottom:0;left:0;margin-top:calc(-1*var(--intergalactic-spacing-3x, 12px));z-index:2}.___SScrollAreaBar_17pry_gg_._orientation_vertical_17pry_gg_{width:12px}.___SScrollAreaBar_17pry_gg_._orientation_horizontal_17pry_gg_{margin-left:calc(var(--left_17pry) + var(--intergalactic-spacing-1x, 4px));margin-right:calc(var(--right_17pry) + var(--intergalactic-spacing-1x, 4px));width:calc(100% - var(--offsetSum_17pry) - 8px)}.___SHeightHold_17pry_gg_{position:absolute;top:0;width:100%;pointer-events:none;z-index:-1}" /*__inner_css_end__*/, "17pry_gg_") /*__reshadow_css_end__*/, {
32
- "__SDataTable": "___SDataTable_17pry_gg_",
33
- "_compact": "__compact_17pry_gg_",
34
- "__SColumn": "___SColumn_17pry_gg_",
35
- "__SCell": "___SCell_17pry_gg_",
36
- "__SHeadWrapper": "___SHeadWrapper_17pry_gg_",
37
- "_sticky": "__sticky_17pry_gg_",
38
- "__SHead": "___SHead_17pry_gg_",
39
- "_hidden": "__hidden_17pry_gg_",
40
- "_use_primary": "_use_primary_17pry_gg_",
41
- "_use_secondary": "_use_secondary_17pry_gg_",
42
- "_group": "__group_17pry_gg_",
43
- "_use": "__use_17pry_gg_",
44
- "_groupHead": "__groupHead_17pry_gg_",
45
- "_sortable": "__sortable_17pry_gg_",
46
- "__SSortWrapper": "___SSortWrapper_17pry_gg_",
47
- "__SSortIcon": "___SSortIcon_17pry_gg_",
48
- "_active": "__active_17pry_gg_",
49
- "_resizable": "__resizable_17pry_gg_",
50
- "_fixed": "__fixed_17pry_gg_",
51
- "_borderLeft": "__borderLeft_17pry_gg_",
52
- "_borderRight": "__borderRight_17pry_gg_",
53
- "__SBodyWrapper": "___SBodyWrapper_17pry_gg_",
54
- "__SBody": "___SBody_17pry_gg_",
55
- "__SRow": "___SRow_17pry_gg_",
56
- "_theme": "__theme_17pry_gg_",
57
- "__SGroupCell": "___SGroupCell_17pry_gg_",
58
- "_theme_muted": "_theme_muted_17pry_gg_",
59
- "_theme_info": "_theme_info_17pry_gg_",
60
- "_theme_success": "_theme_success_17pry_gg_",
61
- "_theme_warning": "_theme_warning_17pry_gg_",
62
- "_theme_danger": "_theme_danger_17pry_gg_",
63
- "_positioned": "__positioned_17pry_gg_",
64
- "__SScrollAreaBar": "___SScrollAreaBar_17pry_gg_",
65
- "_orientation_horizontal": "_orientation_horizontal_17pry_gg_",
66
- "_orientation_vertical": "_orientation_vertical_17pry_gg_",
67
- "--left": "--left_17pry",
68
- "--right": "--right_17pry",
69
- "--offsetSum": "--offsetSum_17pry",
70
- "__SHeightHold": "___SHeightHold_17pry_gg_"
31
+ var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SDataTable_1ak62_gg_,.___SHeadWrapper_1ak62_gg_{position:relative}.___SDataTable_1ak62_gg_.__compact_1ak62_gg_ .___SCell_1ak62_gg_,.___SDataTable_1ak62_gg_.__compact_1ak62_gg_ .___SColumn_1ak62_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SHeadWrapper_1ak62_gg_.__sticky_1ak62_gg_{position:sticky;top:0;z-index:2}.___SHead_1ak62_gg_{display:flex;position:relative;flex-direction:row;min-width:-moz-fit-content;min-width:fit-content;z-index:0}.___SColumn_1ak62_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_1ak62_gg_.focus-visible{outline:0;box-shadow:inset var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___SColumn_1ak62_gg_:focus-visible{outline:0;box-shadow:inset var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___SColumn_1ak62_gg_.__hidden_1ak62_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_1ak62_gg_._use_primary_1ak62_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_1ak62_gg_._use_secondary_1ak62_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_1ak62_gg_.__group_1ak62_gg_.__use_1ak62_gg_{display:flex;flex-wrap:wrap;flex-direction:column;align-items:normal;border-bottom:none;padding:0}.___SColumn_1ak62_gg_.__groupHead_1ak62_gg_{justify-content:center;z-index:1;border-bottom:none}.___SColumn_1ak62_gg_.__sortable_1ak62_gg_{cursor:pointer}@media (hover:hover){.___SColumn_1ak62_gg_.__sortable_1ak62_gg_._use_primary_1ak62_gg_:hover{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SColumn_1ak62_gg_.__sortable_1ak62_gg_:hover .___SSortWrapper_1ak62_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_1ak62_gg_.__sortable_1ak62_gg_:hover .___SSortIcon_1ak62_gg_,.___SColumn_1ak62_gg_.__sortable_1ak62_gg_:hover .___SSortWrapper_1ak62_gg_:before{display:block;opacity:1}}.___SColumn_1ak62_gg_._use_primary_1ak62_gg_.__active_1ak62_gg_{background-color:var(--intergalactic-table-th-primary-cell-active, #e0e1e9);width:100%}.___SColumn_1ak62_gg_.__active_1ak62_gg_ .___SSortWrapper_1ak62_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_1ak62_gg_.__active_1ak62_gg_ .___SSortIcon_1ak62_gg_{display:block;position:relative;opacity:1}.___SColumn_1ak62_gg_.__resizable_1ak62_gg_{border-right:1px solid transparent}@media (hover:hover){.___SColumn_1ak62_gg_.__resizable_1ak62_gg_:hover:after{border-right-color:var(--intergalactic-border-table-accent, #a9abb6)}}.___SColumn_1ak62_gg_.__resizable_1ak62_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_1ak62_gg_.__fixed_1ak62_gg_{position:sticky;z-index:2}.___SCell_1ak62_gg_.__borderLeft_1ak62_gg_,.___SColumn_1ak62_gg_.__borderLeft_1ak62_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_1ak62_gg_.__borderRight_1ak62_gg_,.___SColumn_1ak62_gg_.__borderRight_1ak62_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SSortWrapper_1ak62_gg_{flex-shrink:99999;position:relative;flex-basis:0;height:100%;min-height:16px;opacity:0;transition:all .3s ease}.___SSortIcon_1ak62_gg_,.___SSortWrapper_1ak62_gg_:before{display:none;position:absolute;right:0;opacity:0;transition:opacity .3s ease}.___SSortWrapper_1ak62_gg_:before{content:\"\";top:0;width:20px;height:100%}.___SSortIcon_1ak62_gg_{fill:var(--intergalactic-icon-secondary-neutral-hover-active, #8a8e9b);top:calc(1em*1.25 - 16px);margin-left:var(--intergalactic-spacing-1x, 4px)}.___SColumn_1ak62_gg_._use_primary_1ak62_gg_ .___SSortWrapper_1ak62_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_1ak62_gg_._use_secondary_1ak62_gg_ .___SSortWrapper_1ak62_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,rgba(255,255,255,0) 105%)}.___SBodyWrapper_1ak62_gg_{position:relative}.___SBody_1ak62_gg_{display:flex;flex-direction:column;position:relative;min-width:-moz-fit-content;min-width:fit-content}.___SRow_1ak62_gg_{display:flex;flex-direction:row;position:relative}.___SRow_1ak62_gg_.__active_1ak62_gg_>.___SCell_1ak62_gg_:not(.__theme_1ak62_gg_),.___SRow_1ak62_gg_._theme_muted_1ak62_gg_.__active_1ak62_gg_>.___SCell_1ak62_gg_:not(.__theme_1ak62_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}@media (hover:hover){.___SRow_1ak62_gg_ .___SCell_1ak62_gg_:hover+.___SGroupCell_1ak62_gg_ .___SCell_1ak62_gg_:not(.__theme_1ak62_gg_),.___SRow_1ak62_gg_:hover>.___SCell_1ak62_gg_:not(.__theme_1ak62_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_1ak62_gg_._theme_muted_1ak62_gg_ .___SCell_1ak62_gg_:not(.__theme_1ak62_gg_){background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}@media (hover:hover){.___SRow_1ak62_gg_._theme_muted_1ak62_gg_ .___SCell_1ak62_gg_:hover+.___SGroupCell_1ak62_gg_ .___SCell_1ak62_gg_:not(.__theme_1ak62_gg_),.___SRow_1ak62_gg_._theme_muted_1ak62_gg_:hover>.___SCell_1ak62_gg_:not(.__theme_1ak62_gg_),.___SRow_1ak62_gg_:hover>.___SCell_1ak62_gg_._theme_muted_1ak62_gg_{background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_1ak62_gg_._theme_info_1ak62_gg_ .___SCell_1ak62_gg_:not(.__theme_1ak62_gg_){background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SRow_1ak62_gg_._theme_info_1ak62_gg_.__active_1ak62_gg_>.___SCell_1ak62_gg_:not(.__theme_1ak62_gg_){background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}@media (hover:hover){.___SRow_1ak62_gg_._theme_info_1ak62_gg_ .___SCell_1ak62_gg_:hover+.___SGroupCell_1ak62_gg_ .___SCell_1ak62_gg_:not(.__theme_1ak62_gg_),.___SRow_1ak62_gg_._theme_info_1ak62_gg_:hover>.___SCell_1ak62_gg_:not(.__theme_1ak62_gg_),.___SRow_1ak62_gg_:hover>.___SCell_1ak62_gg_._theme_info_1ak62_gg_{background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}}.___SRow_1ak62_gg_._theme_success_1ak62_gg_ .___SCell_1ak62_gg_:not(.__theme_1ak62_gg_){background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SRow_1ak62_gg_._theme_success_1ak62_gg_.__active_1ak62_gg_>.___SCell_1ak62_gg_:not(.__theme_1ak62_gg_){background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}@media (hover:hover){.___SRow_1ak62_gg_._theme_success_1ak62_gg_ .___SCell_1ak62_gg_:hover+.___SGroupCell_1ak62_gg_ .___SCell_1ak62_gg_:not(.__theme_1ak62_gg_),.___SRow_1ak62_gg_._theme_success_1ak62_gg_:hover>.___SCell_1ak62_gg_:not(.__theme_1ak62_gg_),.___SRow_1ak62_gg_:hover>.___SCell_1ak62_gg_._theme_success_1ak62_gg_{background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}}.___SRow_1ak62_gg_._theme_warning_1ak62_gg_ .___SCell_1ak62_gg_:not(.__theme_1ak62_gg_){background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SRow_1ak62_gg_._theme_warning_1ak62_gg_.__active_1ak62_gg_>.___SCell_1ak62_gg_:not(.__theme_1ak62_gg_){background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}@media (hover:hover){.___SRow_1ak62_gg_._theme_warning_1ak62_gg_ .___SCell_1ak62_gg_:hover+.___SGroupCell_1ak62_gg_ .___SCell_1ak62_gg_:not(.__theme_1ak62_gg_),.___SRow_1ak62_gg_._theme_warning_1ak62_gg_:hover>.___SCell_1ak62_gg_:not(.__theme_1ak62_gg_),.___SRow_1ak62_gg_:hover>.___SCell_1ak62_gg_._theme_warning_1ak62_gg_{background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}}.___SRow_1ak62_gg_._theme_danger_1ak62_gg_ .___SCell_1ak62_gg_:not(.__theme_1ak62_gg_){background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SRow_1ak62_gg_._theme_danger_1ak62_gg_.__active_1ak62_gg_>.___SCell_1ak62_gg_:not(.__theme_1ak62_gg_){background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}@media (hover:hover){.___SRow_1ak62_gg_._theme_danger_1ak62_gg_ .___SCell_1ak62_gg_:hover+.___SGroupCell_1ak62_gg_ .___SCell_1ak62_gg_:not(.__theme_1ak62_gg_),.___SRow_1ak62_gg_._theme_danger_1ak62_gg_:hover>.___SCell_1ak62_gg_:not(.__theme_1ak62_gg_),.___SRow_1ak62_gg_:hover>.___SCell_1ak62_gg_._theme_danger_1ak62_gg_{background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}}.___SRow_1ak62_gg_.__positioned_1ak62_gg_{position:absolute}.___SCell_1ak62_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_1ak62_gg_._use_primary_1ak62_gg_{padding:var(--intergalactic-spacing-3x, 12px);min-height:45px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_1ak62_gg_._use_secondary_1ak62_gg_{padding:var(--intergalactic-spacing-2x, 8px);min-height:37px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_1ak62_gg_.__fixed_1ak62_gg_{position:sticky;z-index:1}.___SCell_1ak62_gg_._theme_muted_1ak62_gg_{background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}.___SCell_1ak62_gg_._theme_info_1ak62_gg_{background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SCell_1ak62_gg_._theme_success_1ak62_gg_{background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SCell_1ak62_gg_._theme_warning_1ak62_gg_{background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SCell_1ak62_gg_._theme_danger_1ak62_gg_{background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SScrollAreaBar_1ak62_gg_._orientation_horizontal_1ak62_gg_{position:sticky;bottom:0;left:0;margin-top:calc(-1*var(--intergalactic-spacing-3x, 12px));z-index:2}.___SScrollAreaBar_1ak62_gg_._orientation_vertical_1ak62_gg_{width:12px}.___SScrollAreaBar_1ak62_gg_._orientation_horizontal_1ak62_gg_{margin-left:calc(var(--left_1ak62) + var(--intergalactic-spacing-1x, 4px));margin-right:calc(var(--right_1ak62) + var(--intergalactic-spacing-1x, 4px));width:calc(100% - var(--offsetSum_1ak62) - 8px)}.___SHeightHold_1ak62_gg_{position:absolute;top:0;width:100%;pointer-events:none;z-index:-1}" /*__inner_css_end__*/, "1ak62_gg_") /*__reshadow_css_end__*/, {
32
+ "__SDataTable": "___SDataTable_1ak62_gg_",
33
+ "_compact": "__compact_1ak62_gg_",
34
+ "__SColumn": "___SColumn_1ak62_gg_",
35
+ "__SCell": "___SCell_1ak62_gg_",
36
+ "__SHeadWrapper": "___SHeadWrapper_1ak62_gg_",
37
+ "_sticky": "__sticky_1ak62_gg_",
38
+ "__SHead": "___SHead_1ak62_gg_",
39
+ "_hidden": "__hidden_1ak62_gg_",
40
+ "_use_primary": "_use_primary_1ak62_gg_",
41
+ "_use_secondary": "_use_secondary_1ak62_gg_",
42
+ "_group": "__group_1ak62_gg_",
43
+ "_use": "__use_1ak62_gg_",
44
+ "_groupHead": "__groupHead_1ak62_gg_",
45
+ "_sortable": "__sortable_1ak62_gg_",
46
+ "__SSortWrapper": "___SSortWrapper_1ak62_gg_",
47
+ "__SSortIcon": "___SSortIcon_1ak62_gg_",
48
+ "_active": "__active_1ak62_gg_",
49
+ "_resizable": "__resizable_1ak62_gg_",
50
+ "_fixed": "__fixed_1ak62_gg_",
51
+ "_borderLeft": "__borderLeft_1ak62_gg_",
52
+ "_borderRight": "__borderRight_1ak62_gg_",
53
+ "__SBodyWrapper": "___SBodyWrapper_1ak62_gg_",
54
+ "__SBody": "___SBody_1ak62_gg_",
55
+ "__SRow": "___SRow_1ak62_gg_",
56
+ "_theme": "__theme_1ak62_gg_",
57
+ "__SGroupCell": "___SGroupCell_1ak62_gg_",
58
+ "_theme_muted": "_theme_muted_1ak62_gg_",
59
+ "_theme_info": "_theme_info_1ak62_gg_",
60
+ "_theme_success": "_theme_success_1ak62_gg_",
61
+ "_theme_warning": "_theme_warning_1ak62_gg_",
62
+ "_theme_danger": "_theme_danger_1ak62_gg_",
63
+ "_positioned": "__positioned_1ak62_gg_",
64
+ "__SScrollAreaBar": "___SScrollAreaBar_1ak62_gg_",
65
+ "_orientation_horizontal": "_orientation_horizontal_1ak62_gg_",
66
+ "_orientation_vertical": "_orientation_vertical_1ak62_gg_",
67
+ "--left": "--left_1ak62",
68
+ "--right": "--right_1ak62",
69
+ "--offsetSum": "--offsetSum_1ak62",
70
+ "__SHeightHold": "___SHeightHold_1ak62_gg_"
71
71
  });
72
72
  var reversedSortDirection = {
73
73
  desc: 'asc',
package/lib/cjs/Head.js CHANGED
@@ -25,12 +25,12 @@ var _logger = _interopRequireDefault(require("@semcore/utils/lib/logger"));
25
25
  var _ref4 = require("@semcore/utils/lib/ref");
26
26
  require("resize-observer-polyfill");
27
27
  /*__reshadow-styles__:"./style/scroll-area.shadow.css"*/
28
- var scrollStyles = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SShadowHorizontal_mhnl2_gg_:before{left:var(--left_mhnl2)!important}.___SShadowHorizontal_mhnl2_gg_:after{right:var(--right_mhnl2)!important}.___SContainer_mhnl2_gg_.__disabledScroll_mhnl2_gg_{overflow:visible}" /*__inner_css_end__*/, "mhnl2_gg_") /*__reshadow_css_end__*/, {
29
- "__SShadowHorizontal": "___SShadowHorizontal_mhnl2_gg_",
30
- "--left": "--left_mhnl2",
31
- "--right": "--right_mhnl2",
32
- "__SContainer": "___SContainer_mhnl2_gg_",
33
- "_disabledScroll": "__disabledScroll_mhnl2_gg_"
28
+ var scrollStyles = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SShadowHorizontal_1ntqh_gg_:before{left:var(--left_1ntqh)!important}.___SShadowHorizontal_1ntqh_gg_:after{right:var(--right_1ntqh)!important}.___SContainer_1ntqh_gg_.__disabledScroll_1ntqh_gg_{overflow:visible}" /*__inner_css_end__*/, "1ntqh_gg_") /*__reshadow_css_end__*/, {
29
+ "__SShadowHorizontal": "___SShadowHorizontal_1ntqh_gg_",
30
+ "--left": "--left_1ntqh",
31
+ "--right": "--right_1ntqh",
32
+ "__SContainer": "___SContainer_1ntqh_gg_",
33
+ "_disabledScroll": "__disabledScroll_1ntqh_gg_"
34
34
  });
35
35
  var SORTING_ICON = {
36
36
  desc: _m["default"],
@@ -164,8 +164,7 @@ var Head = /*#__PURE__*/function (_Component) {
164
164
  offsetRightSum = _getScrollOffsetValue2[1];
165
165
  _logger["default"].warn(sticky, "'sticky' property is deprecated, use '<Sticky/>' wrapper", this.asProps['data-ui-name'] || Head.displayName);
166
166
  return _ref3 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SHeadWrapper, _ref3.cn("SHeadWrapper", {
167
- "sticky": sticky,
168
- "role": "rowgroup"
167
+ "sticky": sticky
169
168
  }), /*#__PURE__*/_react["default"].createElement(_scrollArea["default"], _ref3.cn("ScrollArea", {
170
169
  "styles": scrollStyles,
171
170
  "use:left": "".concat(offsetLeftSum, "px"),
@@ -174,7 +173,8 @@ var Head = /*#__PURE__*/function (_Component) {
174
173
  "onResize": onResize
175
174
  }), /*#__PURE__*/_react["default"].createElement(_scrollArea["default"].Container, {
176
175
  ref: $scrollRef,
177
- disabledScroll: disabledScroll
176
+ disabledScroll: disabledScroll,
177
+ role: "rowgroup"
178
178
  }, /*#__PURE__*/_react["default"].createElement(SHead, _ref3.cn("SHead", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
179
179
  "role": "row",
180
180
  "aria-rowindex": "1"
@@ -1 +1 @@
1
- {"version":3,"file":"Head.js","names":["_core","require","_react","_interopRequireDefault","_flexBox","_scrollArea","_m","_m2","_assignProps2","_utils","_logger","_ref4","scrollStyles","sstyled","insert","SORTING_ICON","desc","SortDesc","asc","SortAsc","ariaSort","Head","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","name","event","asProps","$onSortClick","code","props","ref","setRef","forwardRef","_createClass2","key","value","renderColumns","columns","width","_this2","map","column","renderColumn","_ref2","_column$columns","_this$asProps","styles","use","hidden","uid","SColumn","Flex","SHead","Box","SSortWrapper","SSortIcon","sortDirection","ariaSortValue","sortable","active","undefined","isGroup","cSize","flattenColumns","_getFixedStyle","getFixedStyle","_getFixedStyle2","_slicedToArray2","style","_objectSpread2","flexBasis","flex","setVar","varWidth","createElement","cn","fixed","resizable","borderLeft","borderRight","refColumn","callAllEventHandlers","onClick","bindHandlerSortClick","onKeyDown","bindHandlerKeyDown","Fragment","children","render","_ref","_ref3","SHeadWrapper","_this$asProps2","Children","columnsChildren","onResize","$scrollRef","sticky","disabledScroll","_getScrollOffsetValue","getScrollOffsetValue","_getScrollOffsetValue2","offsetLeftSum","offsetRightSum","logger","warn","displayName","Container","assignProps","origin","Component","_default","exports"],"sources":["../../src/Head.tsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box, Flex } from '@semcore/flex-box';\nimport ScrollArea from '@semcore/scroll-area';\nimport SortDesc from '@semcore/icon/SortDesc/m';\nimport SortAsc from '@semcore/icon/SortAsc/m';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport { flattenColumns, getFixedStyle, getScrollOffsetValue } from './utils';\nimport type { Column } from './types';\nimport logger from '@semcore/utils/lib/logger';\nimport { setRef } from '@semcore/utils/lib/ref';\nimport 'resize-observer-polyfill';\n\nimport scrollStyles from './style/scroll-area.shadow.css';\n\nconst SORTING_ICON = {\n desc: SortDesc,\n asc: SortAsc,\n} as const;\nconst ariaSort = {\n desc: 'descending',\n asc: 'ascending',\n} as const;\n\ntype AsProps = {\n $onSortClick: (name: string, event: React.MouseEvent | React.KeyboardEvent) => void;\n $scrollRef: (instance: unknown) => void;\n use: 'primary' | 'secondary';\n columnsChildren: Column[];\n onResize: ResizeObserverCallback;\n sticky: boolean;\n disabledScroll?: boolean;\n ['data-ui-name']: string;\n uid?: string;\n};\n\nclass Head extends Component<AsProps> {\n columns: Column[] = [];\n\n static displayName: string;\n\n bindHandlerSortClick = (name: string) => (event: React.MouseEvent) => {\n this.asProps.$onSortClick(name, event);\n };\n\n bindHandlerKeyDown = (name: string) => (event: React.KeyboardEvent) => {\n if (event.code === 'Enter') {\n this.asProps.$onSortClick(name, event);\n }\n };\n\n refColumn = (props: Column['props']) => (ref: HTMLElement) => {\n setRef(props.ref, ref);\n if (props.forwardRef) {\n setRef(props.forwardRef, ref);\n }\n };\n\n renderColumns(columns: Column[], width: number) {\n return columns.map((column) => this.renderColumn(column, width));\n }\n\n renderColumn(column: Column, width: number) {\n const { styles, use, hidden, uid } = this.asProps;\n const SColumn = Flex;\n const SHead = Box;\n const SSortWrapper = 'div';\n const SSortIcon = SORTING_ICON[column.sortDirection];\n const ariaSortValue =\n column.sortable && column.active ? ariaSort[column.sortDirection] : undefined;\n const isGroup = column.columns?.length > 0;\n const cSize = isGroup ? flattenColumns(column.columns).length : 1;\n const [name, value] = getFixedStyle(column, this.columns);\n\n const style = {\n flexBasis: column.props.flex === undefined && `${width * cSize}%`,\n ...column.props.style,\n };\n\n if (name !== undefined && value !== undefined) {\n style[name] = value;\n }\n\n if (!column.setVar) {\n style['flexBasis'] = `var(${column.varWidth})`;\n }\n\n return sstyled(styles)(\n <SColumn\n role={isGroup ? undefined : 'columnheader'}\n scope={isGroup ? 'colgroup' : 'col'}\n key={column.name}\n id={`igc-table-${uid}-${column.name}`}\n use={use}\n fixed={column.fixed}\n resizable={column.resizable}\n sortable={column.sortable}\n borderLeft={isGroup ? false : column.borderLeft}\n borderRight={isGroup ? false : column.borderRight}\n active={isGroup ? false : column.active}\n group={isGroup}\n tabIndex={column.sortable && 0}\n {...column.props}\n ref={this.refColumn(column.props)}\n onClick={callAllEventHandlers(\n column.props.onClick,\n column.sortable ? this.bindHandlerSortClick(column.name) : undefined,\n )}\n onKeyDown={callAllEventHandlers(\n column.props.onKeyDown,\n column.sortable ? this.bindHandlerKeyDown(column.name) : undefined,\n )}\n style={style}\n hidden={hidden}\n aria-sort={ariaSortValue}\n >\n {isGroup ? (\n <>\n <SColumn\n role=\"columnheader\"\n groupHead\n use={use}\n active={column.active}\n borderLeft={column.borderLeft}\n borderRight={column.borderRight}\n >\n <div>{column.props.children}</div>\n </SColumn>\n <SHead>{this.renderColumns(column.columns, 100 / cSize)}</SHead>\n </>\n ) : (\n <>\n {column.props.children}\n {column.sortable ? (\n <SSortWrapper>\n <SSortIcon active={column.active} />\n </SSortWrapper>\n ) : null}\n </>\n )}\n </SColumn>,\n );\n }\n\n render() {\n const SHead = Root;\n const SHeadWrapper = Box;\n const { Children, styles, columnsChildren, onResize, $scrollRef, sticky, disabledScroll } =\n this.asProps;\n\n this.columns = flattenColumns(columnsChildren);\n\n const [offsetLeftSum, offsetRightSum] = getScrollOffsetValue(this.columns);\n\n logger.warn(\n sticky,\n \"'sticky' property is deprecated, use '<Sticky/>' wrapper\",\n this.asProps['data-ui-name'] || Head.displayName,\n );\n\n return sstyled(styles)(\n <SHeadWrapper sticky={sticky} role=\"rowgroup\">\n <ScrollArea\n styles={scrollStyles}\n use:left={`${offsetLeftSum}px`}\n use:right={`${offsetRightSum}px`}\n shadow\n onResize={onResize}\n >\n <ScrollArea.Container ref={$scrollRef} disabledScroll={disabledScroll}>\n <SHead render={Box} role=\"row\" aria-rowindex=\"1\">\n {this.renderColumns(columnsChildren, 100 / this.columns.length)}\n </SHead>\n </ScrollArea.Container>\n </ScrollArea>\n {Children.origin}\n </SHeadWrapper>,\n );\n }\n}\n\nexport default Head;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Head.js","names":["_core","require","_react","_interopRequireDefault","_flexBox","_scrollArea","_m","_m2","_assignProps2","_utils","_logger","_ref4","scrollStyles","sstyled","insert","SORTING_ICON","desc","SortDesc","asc","SortAsc","ariaSort","Head","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","name","event","asProps","$onSortClick","code","props","ref","setRef","forwardRef","_createClass2","key","value","renderColumns","columns","width","_this2","map","column","renderColumn","_ref2","_column$columns","_this$asProps","styles","use","hidden","uid","SColumn","Flex","SHead","Box","SSortWrapper","SSortIcon","sortDirection","ariaSortValue","sortable","active","undefined","isGroup","cSize","flattenColumns","_getFixedStyle","getFixedStyle","_getFixedStyle2","_slicedToArray2","style","_objectSpread2","flexBasis","flex","setVar","varWidth","createElement","cn","fixed","resizable","borderLeft","borderRight","refColumn","callAllEventHandlers","onClick","bindHandlerSortClick","onKeyDown","bindHandlerKeyDown","Fragment","children","render","_ref","_ref3","SHeadWrapper","_this$asProps2","Children","columnsChildren","onResize","$scrollRef","sticky","disabledScroll","_getScrollOffsetValue","getScrollOffsetValue","_getScrollOffsetValue2","offsetLeftSum","offsetRightSum","logger","warn","displayName","Container","role","assignProps","origin","Component","_default","exports"],"sources":["../../src/Head.tsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box, Flex } from '@semcore/flex-box';\nimport ScrollArea from '@semcore/scroll-area';\nimport SortDesc from '@semcore/icon/SortDesc/m';\nimport SortAsc from '@semcore/icon/SortAsc/m';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport { flattenColumns, getFixedStyle, getScrollOffsetValue } from './utils';\nimport type { Column } from './types';\nimport logger from '@semcore/utils/lib/logger';\nimport { setRef } from '@semcore/utils/lib/ref';\nimport 'resize-observer-polyfill';\n\nimport scrollStyles from './style/scroll-area.shadow.css';\n\nconst SORTING_ICON = {\n desc: SortDesc,\n asc: SortAsc,\n} as const;\nconst ariaSort = {\n desc: 'descending',\n asc: 'ascending',\n} as const;\n\ntype AsProps = {\n $onSortClick: (name: string, event: React.MouseEvent | React.KeyboardEvent) => void;\n $scrollRef: (instance: unknown) => void;\n use: 'primary' | 'secondary';\n columnsChildren: Column[];\n onResize: ResizeObserverCallback;\n sticky: boolean;\n disabledScroll?: boolean;\n ['data-ui-name']: string;\n uid?: string;\n};\n\nclass Head extends Component<AsProps> {\n columns: Column[] = [];\n\n static displayName: string;\n\n bindHandlerSortClick = (name: string) => (event: React.MouseEvent) => {\n this.asProps.$onSortClick(name, event);\n };\n\n bindHandlerKeyDown = (name: string) => (event: React.KeyboardEvent) => {\n if (event.code === 'Enter') {\n this.asProps.$onSortClick(name, event);\n }\n };\n\n refColumn = (props: Column['props']) => (ref: HTMLElement) => {\n setRef(props.ref, ref);\n if (props.forwardRef) {\n setRef(props.forwardRef, ref);\n }\n };\n\n renderColumns(columns: Column[], width: number) {\n return columns.map((column) => this.renderColumn(column, width));\n }\n\n renderColumn(column: Column, width: number) {\n const { styles, use, hidden, uid } = this.asProps;\n const SColumn = Flex;\n const SHead = Box;\n const SSortWrapper = 'div';\n const SSortIcon = SORTING_ICON[column.sortDirection];\n const ariaSortValue =\n column.sortable && column.active ? ariaSort[column.sortDirection] : undefined;\n const isGroup = column.columns?.length > 0;\n const cSize = isGroup ? flattenColumns(column.columns).length : 1;\n const [name, value] = getFixedStyle(column, this.columns);\n\n const style = {\n flexBasis: column.props.flex === undefined && `${width * cSize}%`,\n ...column.props.style,\n };\n\n if (name !== undefined && value !== undefined) {\n style[name] = value;\n }\n\n if (!column.setVar) {\n style['flexBasis'] = `var(${column.varWidth})`;\n }\n\n return sstyled(styles)(\n <SColumn\n role={isGroup ? undefined : 'columnheader'}\n scope={isGroup ? 'colgroup' : 'col'}\n key={column.name}\n id={`igc-table-${uid}-${column.name}`}\n use={use}\n fixed={column.fixed}\n resizable={column.resizable}\n sortable={column.sortable}\n borderLeft={isGroup ? false : column.borderLeft}\n borderRight={isGroup ? false : column.borderRight}\n active={isGroup ? false : column.active}\n group={isGroup}\n tabIndex={column.sortable && 0}\n {...column.props}\n ref={this.refColumn(column.props)}\n onClick={callAllEventHandlers(\n column.props.onClick,\n column.sortable ? this.bindHandlerSortClick(column.name) : undefined,\n )}\n onKeyDown={callAllEventHandlers(\n column.props.onKeyDown,\n column.sortable ? this.bindHandlerKeyDown(column.name) : undefined,\n )}\n style={style}\n hidden={hidden}\n aria-sort={ariaSortValue}\n >\n {isGroup ? (\n <>\n <SColumn\n role=\"columnheader\"\n groupHead\n use={use}\n active={column.active}\n borderLeft={column.borderLeft}\n borderRight={column.borderRight}\n >\n <div>{column.props.children}</div>\n </SColumn>\n <SHead>{this.renderColumns(column.columns, 100 / cSize)}</SHead>\n </>\n ) : (\n <>\n {column.props.children}\n {column.sortable ? (\n <SSortWrapper>\n <SSortIcon active={column.active} />\n </SSortWrapper>\n ) : null}\n </>\n )}\n </SColumn>,\n );\n }\n\n render() {\n const SHead = Root;\n const SHeadWrapper = Box;\n const { Children, styles, columnsChildren, onResize, $scrollRef, sticky, disabledScroll } =\n this.asProps;\n\n this.columns = flattenColumns(columnsChildren);\n\n const [offsetLeftSum, offsetRightSum] = getScrollOffsetValue(this.columns);\n\n logger.warn(\n sticky,\n \"'sticky' property is deprecated, use '<Sticky/>' wrapper\",\n this.asProps['data-ui-name'] || Head.displayName,\n );\n\n return sstyled(styles)(\n <SHeadWrapper sticky={sticky}>\n <ScrollArea\n styles={scrollStyles}\n use:left={`${offsetLeftSum}px`}\n use:right={`${offsetRightSum}px`}\n shadow\n onResize={onResize}\n >\n <ScrollArea.Container ref={$scrollRef} disabledScroll={disabledScroll} role=\"rowgroup\">\n <SHead render={Box} role=\"row\" aria-rowindex=\"1\">\n {this.renderColumns(columnsChildren, 100 / this.columns.length)}\n </SHead>\n </ScrollArea.Container>\n </ScrollArea>\n {Children.origin}\n </SHeadWrapper>,\n );\n }\n}\n\nexport default Head;\n"],"mappings":"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"}
package/lib/es6/Body.js CHANGED
@@ -22,12 +22,12 @@ import { getFixedStyle, getScrollOffsetValue } from './utils';
22
22
  import assignProps, { callAllEventHandlers } from '@semcore/utils/lib/assignProps';
23
23
  import ResizeObserver from 'resize-observer-polyfill';
24
24
  /*__reshadow-styles__:"./style/scroll-area.shadow.css"*/
25
- var scrollStyles = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SShadowHorizontal_mhnl2_gg_:before{left:var(--left_mhnl2)!important}.___SShadowHorizontal_mhnl2_gg_:after{right:var(--right_mhnl2)!important}.___SContainer_mhnl2_gg_.__disabledScroll_mhnl2_gg_{overflow:visible}" /*__inner_css_end__*/, "mhnl2_gg_") /*__reshadow_css_end__*/, {
26
- "__SShadowHorizontal": "___SShadowHorizontal_mhnl2_gg_",
27
- "--left": "--left_mhnl2",
28
- "--right": "--right_mhnl2",
29
- "__SContainer": "___SContainer_mhnl2_gg_",
30
- "_disabledScroll": "__disabledScroll_mhnl2_gg_"
25
+ var scrollStyles = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SShadowHorizontal_1ntqh_gg_:before{left:var(--left_1ntqh)!important}.___SShadowHorizontal_1ntqh_gg_:after{right:var(--right_1ntqh)!important}.___SContainer_1ntqh_gg_.__disabledScroll_1ntqh_gg_{overflow:visible}" /*__inner_css_end__*/, "1ntqh_gg_") /*__reshadow_css_end__*/, {
26
+ "__SShadowHorizontal": "___SShadowHorizontal_1ntqh_gg_",
27
+ "--left": "--left_1ntqh",
28
+ "--right": "--right_1ntqh",
29
+ "__SContainer": "___SContainer_1ntqh_gg_",
30
+ "_disabledScroll": "__disabledScroll_1ntqh_gg_"
31
31
  });
32
32
  import trottle from '@semcore/utils/lib/rafTrottle';
33
33
  var testEnv = process.env.NODE_ENV === 'test';
@@ -118,9 +118,8 @@ var Body = /*#__PURE__*/function (_Component) {
118
118
  var SGroupCell = 'div';
119
119
  return _ref2 = sstyled(styles), /*#__PURE__*/React.createElement(SGroupCell, _ref2.cn("SGroupCell", {
120
120
  "key": cellIndex,
121
- "role": "rowgroup",
122
121
  "data-ui-name": "group-cell"
123
- }), _this2.renderRows(cell));
122
+ }), _this2.renderRows(cell, true));
124
123
  } else {
125
124
  var _ref3, _column$parentColumns, _column$props, _column$props2;
126
125
  var nameParts = cell.name.split('/');
@@ -199,7 +198,8 @@ var Body = /*#__PURE__*/function (_Component) {
199
198
  value: function renderRow(cells, _ref7) {
200
199
  var _ref4;
201
200
  var dataIndex = _ref7.dataIndex,
202
- topOffset = _ref7.topOffset;
201
+ topOffset = _ref7.topOffset,
202
+ nested = _ref7.nested;
203
203
  var SRow = Box;
204
204
  var _this$asProps2 = this.asProps,
205
205
  styles = _this$asProps2.styles,
@@ -218,7 +218,7 @@ var Body = /*#__PURE__*/function (_Component) {
218
218
  top: topOffset,
219
219
  ref: needToMeasureHeight ? this.firstRowRef : undefined,
220
220
  key: key,
221
- 'aria-rowindex': dataIndex + 2
221
+ 'aria-rowindex': !nested ? dataIndex + 2 : undefined
222
222
  };
223
223
  var _iterator2 = _createForOfIteratorHelper(rowPropsLayers),
224
224
  _step2;
@@ -239,16 +239,19 @@ var Body = /*#__PURE__*/function (_Component) {
239
239
  _iterator2.f();
240
240
  }
241
241
  return _ref4 = sstyled(styles), /*#__PURE__*/React.createElement(SRow, _ref4.cn("SRow", _objectSpread({
242
- "role": "row"
242
+ "data-nested": nested.toString(),
243
+ "role": !nested ? 'row' : undefined
243
244
  }, props)));
244
245
  }
245
246
  }, {
246
247
  key: "renderRows",
247
248
  value: function renderRows(rows) {
248
249
  var _this3 = this;
250
+ var nested = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
249
251
  return rows.map(function (cells, dataIndex) {
250
252
  return _this3.renderRow(cells, {
251
- dataIndex: dataIndex
253
+ dataIndex: dataIndex,
254
+ nested: nested
252
255
  });
253
256
  });
254
257
  }
@@ -290,7 +293,8 @@ var Body = /*#__PURE__*/function (_Component) {
290
293
  topOffset = _ref9.topOffset;
291
294
  return _this4.renderRow(cells, {
292
295
  dataIndex: dataIndex,
293
- topOffset: topOffset
296
+ topOffset: topOffset,
297
+ nested: false
294
298
  });
295
299
  });
296
300
  }
@@ -345,10 +349,9 @@ var Body = /*#__PURE__*/function (_Component) {
345
349
  "onScroll": callAllEventHandlers(onScroll, this.handleScrollAreaScroll)
346
350
  }), /*#__PURE__*/React.createElement(ScrollArea.Container, {
347
351
  ref: $scrollRef,
348
- disabledScroll: disabledScroll
349
- }, /*#__PURE__*/React.createElement(SBody, _ref5.cn("SBody", _objectSpread({}, _assignProps({
350
- "role": "rowgroup"
351
- }, _ref))), holdHeight ? /*#__PURE__*/React.createElement(SHeightHold, _ref5.cn("SHeightHold", {
352
+ disabledScroll: disabledScroll,
353
+ role: "rowgroup"
354
+ }, /*#__PURE__*/React.createElement(SBody, _ref5.cn("SBody", _objectSpread({}, _assignProps({}, _ref))), holdHeight ? /*#__PURE__*/React.createElement(SHeightHold, _ref5.cn("SHeightHold", {
352
355
  "hMin": holdHeight,
353
356
  "aria-hidden": true
354
357
  })) : null, columnsInitialized && !virtualScroll ? this.renderRows(rows) : null, columnsInitialized && virtualScroll ? this.renderVirtualizedRows(rows) : null)), /*#__PURE__*/React.createElement(SScrollAreaBar, _ref5.cn("SScrollAreaBar", {
@@ -1 +1 @@
1
- {"version":3,"file":"Body.js","names":["React","Component","sstyled","Root","Box","Flex","ScrollArea","getFixedStyle","getScrollOffsetValue","assignProps","callAllEventHandlers","ResizeObserver","scrollStyles","_sstyled","insert","trottle","testEnv","process","env","NODE_ENV","getCellsByColumn","cells","flattenCells","flat","Object","fromEntries","map","cell","name","data","Body","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","rowHeight","undefined","scrollAreaHeight","scrollOffset","createRef","virtualScroll","asProps","rowHeightFromProps","_typeof","state","entries","contentRect","height","setState","oldState","event","_ref6","target","scrollTop","firstRowRef","current","firstRowResizeObserver","handleFirstRowResize","observe","_createClass","key","value","renderCells","rowData","dataIndex","_this2","SCell","_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","_getFixedStyle2","_slicedToArray","parentColumnNames","parentColumns","vars","cssVar","props","children","Fragment","justifyContent","alignItems","borderLeft","borderRight","style","width","join","_iterator","_createForOfIteratorHelper","cellPropsLayers","_step","s","n","done","cellPropLayer","_cellPropLayer$childr","childrenPropsGetter","p","other","_objectWithoutProperties","_excluded","propsCell","err","e","f","headerIds","_toConsumableArray","filter","Boolean","_objectSpread","fixed","theme","renderRow","_ref7","_ref4","topOffset","SRow","_this$asProps2","rowPropsLayers","uniqueKey","flatRowData","String","needToMeasureHeight","active","positioned","top","ref","_iterator2","_step2","rowPropsLayer","_rowPropsLayer$childr","_excluded2","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","Bar","SHeightHold","_this$asProps3","Children","$scrollRef","onResize","onScroll","disabledScroll","columnsInitialized","reduce","sum","_ref10","_getScrollOffsetValue","_getScrollOffsetValue2","offsetLeftSum","offsetRightSum","offsetSum","holdHeight","Promise","setupRowSizeObserver","handleScrollAreaResize","handleScrollAreaScroll","Container","_assignProps","origin"],"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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"}
1
+ {"version":3,"file":"Body.js","names":["React","Component","sstyled","Root","Box","Flex","ScrollArea","getFixedStyle","getScrollOffsetValue","assignProps","callAllEventHandlers","ResizeObserver","scrollStyles","_sstyled","insert","trottle","testEnv","process","env","NODE_ENV","getCellsByColumn","cells","flattenCells","flat","Object","fromEntries","map","cell","name","data","Body","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","rowHeight","undefined","scrollAreaHeight","scrollOffset","createRef","virtualScroll","asProps","rowHeightFromProps","_typeof","state","entries","contentRect","height","setState","oldState","event","_ref6","target","scrollTop","firstRowRef","current","firstRowResizeObserver","handleFirstRowResize","observe","_createClass","key","value","renderCells","rowData","dataIndex","_this2","SCell","_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","_getFixedStyle2","_slicedToArray","parentColumnNames","parentColumns","vars","cssVar","props","children","Fragment","justifyContent","alignItems","borderLeft","borderRight","style","width","join","_iterator","_createForOfIteratorHelper","cellPropsLayers","_step","s","n","done","cellPropLayer","_cellPropLayer$childr","childrenPropsGetter","p","other","_objectWithoutProperties","_excluded","propsCell","err","e","f","headerIds","_toConsumableArray","filter","Boolean","_objectSpread","fixed","theme","renderRow","_ref7","_ref4","topOffset","nested","SRow","_this$asProps2","rowPropsLayers","uniqueKey","flatRowData","String","needToMeasureHeight","active","positioned","top","ref","_iterator2","_step2","rowPropsLayer","_rowPropsLayer$childr","_excluded2","propsRow","toString","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","Bar","SHeightHold","_this$asProps3","Children","$scrollRef","onResize","onScroll","disabledScroll","columnsInitialized","reduce","sum","_ref10","_getScrollOffsetValue","_getScrollOffsetValue2","offsetLeftSum","offsetRightSum","offsetSum","holdHeight","Promise","setupRowSizeObserver","handleScrollAreaResize","handleScrollAreaScroll","Container","role","_assignProps","origin"],"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} data-ui-name=\"group-cell\">\n {this.renderRows(cell as NestedCells[], true)}\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, 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 && !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': !nested ? dataIndex + 2 : undefined,\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)(\n <SRow data-nested={nested.toString()} role={!nested ? 'row' : undefined} {...props} />,\n );\n }\n\n renderRows(rows: NestedCells[], nested = false) {\n return rows.map((cells, dataIndex) => this.renderRow(cells, { dataIndex, nested }));\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} role=\"rowgroup\">\n <SBody render={Box}>\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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"}
@@ -22,46 +22,46 @@ import Head from './Head';
22
22
  import Body from './Body';
23
23
  import uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';
24
24
  /*__reshadow-styles__:"./style/data-table.shadow.css"*/
25
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SDataTable_17pry_gg_,.___SHeadWrapper_17pry_gg_{position:relative}.___SDataTable_17pry_gg_.__compact_17pry_gg_ .___SCell_17pry_gg_,.___SDataTable_17pry_gg_.__compact_17pry_gg_ .___SColumn_17pry_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SHeadWrapper_17pry_gg_.__sticky_17pry_gg_{position:sticky;top:0;z-index:2}.___SHead_17pry_gg_{display:flex;position:relative;flex-direction:row;min-width:-moz-fit-content;min-width:fit-content;z-index:0}.___SColumn_17pry_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_17pry_gg_.focus-visible{outline:0;box-shadow:inset var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___SColumn_17pry_gg_:focus-visible{outline:0;box-shadow:inset var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___SColumn_17pry_gg_.__hidden_17pry_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_17pry_gg_._use_primary_17pry_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_17pry_gg_._use_secondary_17pry_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_17pry_gg_.__group_17pry_gg_.__use_17pry_gg_{display:flex;flex-wrap:wrap;flex-direction:column;align-items:normal;border-bottom:none;padding:0}.___SColumn_17pry_gg_.__groupHead_17pry_gg_{justify-content:center;z-index:1;border-bottom:none}.___SColumn_17pry_gg_.__sortable_17pry_gg_{cursor:pointer}@media (hover:hover){.___SColumn_17pry_gg_.__sortable_17pry_gg_._use_primary_17pry_gg_:hover{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SColumn_17pry_gg_.__sortable_17pry_gg_:hover .___SSortWrapper_17pry_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_17pry_gg_.__sortable_17pry_gg_:hover .___SSortIcon_17pry_gg_,.___SColumn_17pry_gg_.__sortable_17pry_gg_:hover .___SSortWrapper_17pry_gg_:before{display:block;opacity:1}}.___SColumn_17pry_gg_._use_primary_17pry_gg_.__active_17pry_gg_{background-color:var(--intergalactic-table-th-primary-cell-active, #e0e1e9);width:100%}.___SColumn_17pry_gg_.__active_17pry_gg_ .___SSortWrapper_17pry_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_17pry_gg_.__active_17pry_gg_ .___SSortIcon_17pry_gg_{display:block;position:relative;opacity:1}.___SColumn_17pry_gg_.__resizable_17pry_gg_{border-right:1px solid transparent}@media (hover:hover){.___SColumn_17pry_gg_.__resizable_17pry_gg_:hover:after{border-right-color:var(--intergalactic-border-table-accent, #a9abb6)}}.___SColumn_17pry_gg_.__resizable_17pry_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_17pry_gg_.__fixed_17pry_gg_{position:sticky;z-index:2}.___SCell_17pry_gg_.__borderLeft_17pry_gg_,.___SColumn_17pry_gg_.__borderLeft_17pry_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_17pry_gg_.__borderRight_17pry_gg_,.___SColumn_17pry_gg_.__borderRight_17pry_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SSortWrapper_17pry_gg_{flex-shrink:99999;position:relative;flex-basis:0;height:100%;min-height:16px;opacity:0;transition:all .3s ease}.___SSortIcon_17pry_gg_,.___SSortWrapper_17pry_gg_:before{display:none;position:absolute;right:0;opacity:0;transition:opacity .3s ease}.___SSortWrapper_17pry_gg_:before{content:\"\";top:0;width:20px;height:100%}.___SSortIcon_17pry_gg_{fill:var(--intergalactic-icon-secondary-neutral-hover-active, #8a8e9b);top:calc(1em*1.25 - 16px);margin-left:var(--intergalactic-spacing-1x, 4px)}.___SColumn_17pry_gg_._use_primary_17pry_gg_ .___SSortWrapper_17pry_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_17pry_gg_._use_secondary_17pry_gg_ .___SSortWrapper_17pry_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,rgba(255,255,255,0) 105%)}.___SBodyWrapper_17pry_gg_{position:relative}.___SBody_17pry_gg_{display:flex;flex-direction:column;position:relative;min-width:-moz-fit-content;min-width:fit-content}.___SRow_17pry_gg_{display:flex;flex-direction:row;position:relative}.___SRow_17pry_gg_.__active_17pry_gg_>.___SCell_17pry_gg_:not(.__theme_17pry_gg_),.___SRow_17pry_gg_._theme_muted_17pry_gg_.__active_17pry_gg_>.___SCell_17pry_gg_:not(.__theme_17pry_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}@media (hover:hover){.___SRow_17pry_gg_ .___SCell_17pry_gg_:hover+.___SGroupCell_17pry_gg_ .___SCell_17pry_gg_:not(.__theme_17pry_gg_),.___SRow_17pry_gg_:hover>.___SCell_17pry_gg_:not(.__theme_17pry_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_17pry_gg_._theme_muted_17pry_gg_ .___SCell_17pry_gg_:not(.__theme_17pry_gg_){background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}@media (hover:hover){.___SRow_17pry_gg_._theme_muted_17pry_gg_ .___SCell_17pry_gg_:hover+.___SGroupCell_17pry_gg_ .___SCell_17pry_gg_:not(.__theme_17pry_gg_),.___SRow_17pry_gg_._theme_muted_17pry_gg_:hover>.___SCell_17pry_gg_:not(.__theme_17pry_gg_),.___SRow_17pry_gg_:hover>.___SCell_17pry_gg_._theme_muted_17pry_gg_{background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_17pry_gg_._theme_info_17pry_gg_ .___SCell_17pry_gg_:not(.__theme_17pry_gg_){background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SRow_17pry_gg_._theme_info_17pry_gg_.__active_17pry_gg_>.___SCell_17pry_gg_:not(.__theme_17pry_gg_){background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}@media (hover:hover){.___SRow_17pry_gg_._theme_info_17pry_gg_ .___SCell_17pry_gg_:hover+.___SGroupCell_17pry_gg_ .___SCell_17pry_gg_:not(.__theme_17pry_gg_),.___SRow_17pry_gg_._theme_info_17pry_gg_:hover>.___SCell_17pry_gg_:not(.__theme_17pry_gg_),.___SRow_17pry_gg_:hover>.___SCell_17pry_gg_._theme_info_17pry_gg_{background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}}.___SRow_17pry_gg_._theme_success_17pry_gg_ .___SCell_17pry_gg_:not(.__theme_17pry_gg_){background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SRow_17pry_gg_._theme_success_17pry_gg_.__active_17pry_gg_>.___SCell_17pry_gg_:not(.__theme_17pry_gg_){background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}@media (hover:hover){.___SRow_17pry_gg_._theme_success_17pry_gg_ .___SCell_17pry_gg_:hover+.___SGroupCell_17pry_gg_ .___SCell_17pry_gg_:not(.__theme_17pry_gg_),.___SRow_17pry_gg_._theme_success_17pry_gg_:hover>.___SCell_17pry_gg_:not(.__theme_17pry_gg_),.___SRow_17pry_gg_:hover>.___SCell_17pry_gg_._theme_success_17pry_gg_{background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}}.___SRow_17pry_gg_._theme_warning_17pry_gg_ .___SCell_17pry_gg_:not(.__theme_17pry_gg_){background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SRow_17pry_gg_._theme_warning_17pry_gg_.__active_17pry_gg_>.___SCell_17pry_gg_:not(.__theme_17pry_gg_){background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}@media (hover:hover){.___SRow_17pry_gg_._theme_warning_17pry_gg_ .___SCell_17pry_gg_:hover+.___SGroupCell_17pry_gg_ .___SCell_17pry_gg_:not(.__theme_17pry_gg_),.___SRow_17pry_gg_._theme_warning_17pry_gg_:hover>.___SCell_17pry_gg_:not(.__theme_17pry_gg_),.___SRow_17pry_gg_:hover>.___SCell_17pry_gg_._theme_warning_17pry_gg_{background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}}.___SRow_17pry_gg_._theme_danger_17pry_gg_ .___SCell_17pry_gg_:not(.__theme_17pry_gg_){background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SRow_17pry_gg_._theme_danger_17pry_gg_.__active_17pry_gg_>.___SCell_17pry_gg_:not(.__theme_17pry_gg_){background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}@media (hover:hover){.___SRow_17pry_gg_._theme_danger_17pry_gg_ .___SCell_17pry_gg_:hover+.___SGroupCell_17pry_gg_ .___SCell_17pry_gg_:not(.__theme_17pry_gg_),.___SRow_17pry_gg_._theme_danger_17pry_gg_:hover>.___SCell_17pry_gg_:not(.__theme_17pry_gg_),.___SRow_17pry_gg_:hover>.___SCell_17pry_gg_._theme_danger_17pry_gg_{background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}}.___SRow_17pry_gg_.__positioned_17pry_gg_{position:absolute}.___SCell_17pry_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_17pry_gg_._use_primary_17pry_gg_{padding:var(--intergalactic-spacing-3x, 12px);min-height:45px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_17pry_gg_._use_secondary_17pry_gg_{padding:var(--intergalactic-spacing-2x, 8px);min-height:37px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_17pry_gg_.__fixed_17pry_gg_{position:sticky;z-index:1}.___SCell_17pry_gg_._theme_muted_17pry_gg_{background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}.___SCell_17pry_gg_._theme_info_17pry_gg_{background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SCell_17pry_gg_._theme_success_17pry_gg_{background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SCell_17pry_gg_._theme_warning_17pry_gg_{background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SCell_17pry_gg_._theme_danger_17pry_gg_{background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SScrollAreaBar_17pry_gg_._orientation_horizontal_17pry_gg_{position:sticky;bottom:0;left:0;margin-top:calc(-1*var(--intergalactic-spacing-3x, 12px));z-index:2}.___SScrollAreaBar_17pry_gg_._orientation_vertical_17pry_gg_{width:12px}.___SScrollAreaBar_17pry_gg_._orientation_horizontal_17pry_gg_{margin-left:calc(var(--left_17pry) + var(--intergalactic-spacing-1x, 4px));margin-right:calc(var(--right_17pry) + var(--intergalactic-spacing-1x, 4px));width:calc(100% - var(--offsetSum_17pry) - 8px)}.___SHeightHold_17pry_gg_{position:absolute;top:0;width:100%;pointer-events:none;z-index:-1}" /*__inner_css_end__*/, "17pry_gg_") /*__reshadow_css_end__*/, {
26
- "__SDataTable": "___SDataTable_17pry_gg_",
27
- "_compact": "__compact_17pry_gg_",
28
- "__SColumn": "___SColumn_17pry_gg_",
29
- "__SCell": "___SCell_17pry_gg_",
30
- "__SHeadWrapper": "___SHeadWrapper_17pry_gg_",
31
- "_sticky": "__sticky_17pry_gg_",
32
- "__SHead": "___SHead_17pry_gg_",
33
- "_hidden": "__hidden_17pry_gg_",
34
- "_use_primary": "_use_primary_17pry_gg_",
35
- "_use_secondary": "_use_secondary_17pry_gg_",
36
- "_group": "__group_17pry_gg_",
37
- "_use": "__use_17pry_gg_",
38
- "_groupHead": "__groupHead_17pry_gg_",
39
- "_sortable": "__sortable_17pry_gg_",
40
- "__SSortWrapper": "___SSortWrapper_17pry_gg_",
41
- "__SSortIcon": "___SSortIcon_17pry_gg_",
42
- "_active": "__active_17pry_gg_",
43
- "_resizable": "__resizable_17pry_gg_",
44
- "_fixed": "__fixed_17pry_gg_",
45
- "_borderLeft": "__borderLeft_17pry_gg_",
46
- "_borderRight": "__borderRight_17pry_gg_",
47
- "__SBodyWrapper": "___SBodyWrapper_17pry_gg_",
48
- "__SBody": "___SBody_17pry_gg_",
49
- "__SRow": "___SRow_17pry_gg_",
50
- "_theme": "__theme_17pry_gg_",
51
- "__SGroupCell": "___SGroupCell_17pry_gg_",
52
- "_theme_muted": "_theme_muted_17pry_gg_",
53
- "_theme_info": "_theme_info_17pry_gg_",
54
- "_theme_success": "_theme_success_17pry_gg_",
55
- "_theme_warning": "_theme_warning_17pry_gg_",
56
- "_theme_danger": "_theme_danger_17pry_gg_",
57
- "_positioned": "__positioned_17pry_gg_",
58
- "__SScrollAreaBar": "___SScrollAreaBar_17pry_gg_",
59
- "_orientation_horizontal": "_orientation_horizontal_17pry_gg_",
60
- "_orientation_vertical": "_orientation_vertical_17pry_gg_",
61
- "--left": "--left_17pry",
62
- "--right": "--right_17pry",
63
- "--offsetSum": "--offsetSum_17pry",
64
- "__SHeightHold": "___SHeightHold_17pry_gg_"
25
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SDataTable_1ak62_gg_,.___SHeadWrapper_1ak62_gg_{position:relative}.___SDataTable_1ak62_gg_.__compact_1ak62_gg_ .___SCell_1ak62_gg_,.___SDataTable_1ak62_gg_.__compact_1ak62_gg_ .___SColumn_1ak62_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SHeadWrapper_1ak62_gg_.__sticky_1ak62_gg_{position:sticky;top:0;z-index:2}.___SHead_1ak62_gg_{display:flex;position:relative;flex-direction:row;min-width:-moz-fit-content;min-width:fit-content;z-index:0}.___SColumn_1ak62_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_1ak62_gg_.focus-visible{outline:0;box-shadow:inset var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___SColumn_1ak62_gg_:focus-visible{outline:0;box-shadow:inset var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___SColumn_1ak62_gg_.__hidden_1ak62_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_1ak62_gg_._use_primary_1ak62_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_1ak62_gg_._use_secondary_1ak62_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_1ak62_gg_.__group_1ak62_gg_.__use_1ak62_gg_{display:flex;flex-wrap:wrap;flex-direction:column;align-items:normal;border-bottom:none;padding:0}.___SColumn_1ak62_gg_.__groupHead_1ak62_gg_{justify-content:center;z-index:1;border-bottom:none}.___SColumn_1ak62_gg_.__sortable_1ak62_gg_{cursor:pointer}@media (hover:hover){.___SColumn_1ak62_gg_.__sortable_1ak62_gg_._use_primary_1ak62_gg_:hover{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SColumn_1ak62_gg_.__sortable_1ak62_gg_:hover .___SSortWrapper_1ak62_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_1ak62_gg_.__sortable_1ak62_gg_:hover .___SSortIcon_1ak62_gg_,.___SColumn_1ak62_gg_.__sortable_1ak62_gg_:hover .___SSortWrapper_1ak62_gg_:before{display:block;opacity:1}}.___SColumn_1ak62_gg_._use_primary_1ak62_gg_.__active_1ak62_gg_{background-color:var(--intergalactic-table-th-primary-cell-active, #e0e1e9);width:100%}.___SColumn_1ak62_gg_.__active_1ak62_gg_ .___SSortWrapper_1ak62_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_1ak62_gg_.__active_1ak62_gg_ .___SSortIcon_1ak62_gg_{display:block;position:relative;opacity:1}.___SColumn_1ak62_gg_.__resizable_1ak62_gg_{border-right:1px solid transparent}@media (hover:hover){.___SColumn_1ak62_gg_.__resizable_1ak62_gg_:hover:after{border-right-color:var(--intergalactic-border-table-accent, #a9abb6)}}.___SColumn_1ak62_gg_.__resizable_1ak62_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_1ak62_gg_.__fixed_1ak62_gg_{position:sticky;z-index:2}.___SCell_1ak62_gg_.__borderLeft_1ak62_gg_,.___SColumn_1ak62_gg_.__borderLeft_1ak62_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_1ak62_gg_.__borderRight_1ak62_gg_,.___SColumn_1ak62_gg_.__borderRight_1ak62_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SSortWrapper_1ak62_gg_{flex-shrink:99999;position:relative;flex-basis:0;height:100%;min-height:16px;opacity:0;transition:all .3s ease}.___SSortIcon_1ak62_gg_,.___SSortWrapper_1ak62_gg_:before{display:none;position:absolute;right:0;opacity:0;transition:opacity .3s ease}.___SSortWrapper_1ak62_gg_:before{content:\"\";top:0;width:20px;height:100%}.___SSortIcon_1ak62_gg_{fill:var(--intergalactic-icon-secondary-neutral-hover-active, #8a8e9b);top:calc(1em*1.25 - 16px);margin-left:var(--intergalactic-spacing-1x, 4px)}.___SColumn_1ak62_gg_._use_primary_1ak62_gg_ .___SSortWrapper_1ak62_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_1ak62_gg_._use_secondary_1ak62_gg_ .___SSortWrapper_1ak62_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,rgba(255,255,255,0) 105%)}.___SBodyWrapper_1ak62_gg_{position:relative}.___SBody_1ak62_gg_{display:flex;flex-direction:column;position:relative;min-width:-moz-fit-content;min-width:fit-content}.___SRow_1ak62_gg_{display:flex;flex-direction:row;position:relative}.___SRow_1ak62_gg_.__active_1ak62_gg_>.___SCell_1ak62_gg_:not(.__theme_1ak62_gg_),.___SRow_1ak62_gg_._theme_muted_1ak62_gg_.__active_1ak62_gg_>.___SCell_1ak62_gg_:not(.__theme_1ak62_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}@media (hover:hover){.___SRow_1ak62_gg_ .___SCell_1ak62_gg_:hover+.___SGroupCell_1ak62_gg_ .___SCell_1ak62_gg_:not(.__theme_1ak62_gg_),.___SRow_1ak62_gg_:hover>.___SCell_1ak62_gg_:not(.__theme_1ak62_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_1ak62_gg_._theme_muted_1ak62_gg_ .___SCell_1ak62_gg_:not(.__theme_1ak62_gg_){background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}@media (hover:hover){.___SRow_1ak62_gg_._theme_muted_1ak62_gg_ .___SCell_1ak62_gg_:hover+.___SGroupCell_1ak62_gg_ .___SCell_1ak62_gg_:not(.__theme_1ak62_gg_),.___SRow_1ak62_gg_._theme_muted_1ak62_gg_:hover>.___SCell_1ak62_gg_:not(.__theme_1ak62_gg_),.___SRow_1ak62_gg_:hover>.___SCell_1ak62_gg_._theme_muted_1ak62_gg_{background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_1ak62_gg_._theme_info_1ak62_gg_ .___SCell_1ak62_gg_:not(.__theme_1ak62_gg_){background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SRow_1ak62_gg_._theme_info_1ak62_gg_.__active_1ak62_gg_>.___SCell_1ak62_gg_:not(.__theme_1ak62_gg_){background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}@media (hover:hover){.___SRow_1ak62_gg_._theme_info_1ak62_gg_ .___SCell_1ak62_gg_:hover+.___SGroupCell_1ak62_gg_ .___SCell_1ak62_gg_:not(.__theme_1ak62_gg_),.___SRow_1ak62_gg_._theme_info_1ak62_gg_:hover>.___SCell_1ak62_gg_:not(.__theme_1ak62_gg_),.___SRow_1ak62_gg_:hover>.___SCell_1ak62_gg_._theme_info_1ak62_gg_{background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}}.___SRow_1ak62_gg_._theme_success_1ak62_gg_ .___SCell_1ak62_gg_:not(.__theme_1ak62_gg_){background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SRow_1ak62_gg_._theme_success_1ak62_gg_.__active_1ak62_gg_>.___SCell_1ak62_gg_:not(.__theme_1ak62_gg_){background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}@media (hover:hover){.___SRow_1ak62_gg_._theme_success_1ak62_gg_ .___SCell_1ak62_gg_:hover+.___SGroupCell_1ak62_gg_ .___SCell_1ak62_gg_:not(.__theme_1ak62_gg_),.___SRow_1ak62_gg_._theme_success_1ak62_gg_:hover>.___SCell_1ak62_gg_:not(.__theme_1ak62_gg_),.___SRow_1ak62_gg_:hover>.___SCell_1ak62_gg_._theme_success_1ak62_gg_{background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}}.___SRow_1ak62_gg_._theme_warning_1ak62_gg_ .___SCell_1ak62_gg_:not(.__theme_1ak62_gg_){background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SRow_1ak62_gg_._theme_warning_1ak62_gg_.__active_1ak62_gg_>.___SCell_1ak62_gg_:not(.__theme_1ak62_gg_){background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}@media (hover:hover){.___SRow_1ak62_gg_._theme_warning_1ak62_gg_ .___SCell_1ak62_gg_:hover+.___SGroupCell_1ak62_gg_ .___SCell_1ak62_gg_:not(.__theme_1ak62_gg_),.___SRow_1ak62_gg_._theme_warning_1ak62_gg_:hover>.___SCell_1ak62_gg_:not(.__theme_1ak62_gg_),.___SRow_1ak62_gg_:hover>.___SCell_1ak62_gg_._theme_warning_1ak62_gg_{background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}}.___SRow_1ak62_gg_._theme_danger_1ak62_gg_ .___SCell_1ak62_gg_:not(.__theme_1ak62_gg_){background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SRow_1ak62_gg_._theme_danger_1ak62_gg_.__active_1ak62_gg_>.___SCell_1ak62_gg_:not(.__theme_1ak62_gg_){background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}@media (hover:hover){.___SRow_1ak62_gg_._theme_danger_1ak62_gg_ .___SCell_1ak62_gg_:hover+.___SGroupCell_1ak62_gg_ .___SCell_1ak62_gg_:not(.__theme_1ak62_gg_),.___SRow_1ak62_gg_._theme_danger_1ak62_gg_:hover>.___SCell_1ak62_gg_:not(.__theme_1ak62_gg_),.___SRow_1ak62_gg_:hover>.___SCell_1ak62_gg_._theme_danger_1ak62_gg_{background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}}.___SRow_1ak62_gg_.__positioned_1ak62_gg_{position:absolute}.___SCell_1ak62_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_1ak62_gg_._use_primary_1ak62_gg_{padding:var(--intergalactic-spacing-3x, 12px);min-height:45px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_1ak62_gg_._use_secondary_1ak62_gg_{padding:var(--intergalactic-spacing-2x, 8px);min-height:37px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_1ak62_gg_.__fixed_1ak62_gg_{position:sticky;z-index:1}.___SCell_1ak62_gg_._theme_muted_1ak62_gg_{background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}.___SCell_1ak62_gg_._theme_info_1ak62_gg_{background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SCell_1ak62_gg_._theme_success_1ak62_gg_{background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SCell_1ak62_gg_._theme_warning_1ak62_gg_{background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SCell_1ak62_gg_._theme_danger_1ak62_gg_{background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SScrollAreaBar_1ak62_gg_._orientation_horizontal_1ak62_gg_{position:sticky;bottom:0;left:0;margin-top:calc(-1*var(--intergalactic-spacing-3x, 12px));z-index:2}.___SScrollAreaBar_1ak62_gg_._orientation_vertical_1ak62_gg_{width:12px}.___SScrollAreaBar_1ak62_gg_._orientation_horizontal_1ak62_gg_{margin-left:calc(var(--left_1ak62) + var(--intergalactic-spacing-1x, 4px));margin-right:calc(var(--right_1ak62) + var(--intergalactic-spacing-1x, 4px));width:calc(100% - var(--offsetSum_1ak62) - 8px)}.___SHeightHold_1ak62_gg_{position:absolute;top:0;width:100%;pointer-events:none;z-index:-1}" /*__inner_css_end__*/, "1ak62_gg_") /*__reshadow_css_end__*/, {
26
+ "__SDataTable": "___SDataTable_1ak62_gg_",
27
+ "_compact": "__compact_1ak62_gg_",
28
+ "__SColumn": "___SColumn_1ak62_gg_",
29
+ "__SCell": "___SCell_1ak62_gg_",
30
+ "__SHeadWrapper": "___SHeadWrapper_1ak62_gg_",
31
+ "_sticky": "__sticky_1ak62_gg_",
32
+ "__SHead": "___SHead_1ak62_gg_",
33
+ "_hidden": "__hidden_1ak62_gg_",
34
+ "_use_primary": "_use_primary_1ak62_gg_",
35
+ "_use_secondary": "_use_secondary_1ak62_gg_",
36
+ "_group": "__group_1ak62_gg_",
37
+ "_use": "__use_1ak62_gg_",
38
+ "_groupHead": "__groupHead_1ak62_gg_",
39
+ "_sortable": "__sortable_1ak62_gg_",
40
+ "__SSortWrapper": "___SSortWrapper_1ak62_gg_",
41
+ "__SSortIcon": "___SSortIcon_1ak62_gg_",
42
+ "_active": "__active_1ak62_gg_",
43
+ "_resizable": "__resizable_1ak62_gg_",
44
+ "_fixed": "__fixed_1ak62_gg_",
45
+ "_borderLeft": "__borderLeft_1ak62_gg_",
46
+ "_borderRight": "__borderRight_1ak62_gg_",
47
+ "__SBodyWrapper": "___SBodyWrapper_1ak62_gg_",
48
+ "__SBody": "___SBody_1ak62_gg_",
49
+ "__SRow": "___SRow_1ak62_gg_",
50
+ "_theme": "__theme_1ak62_gg_",
51
+ "__SGroupCell": "___SGroupCell_1ak62_gg_",
52
+ "_theme_muted": "_theme_muted_1ak62_gg_",
53
+ "_theme_info": "_theme_info_1ak62_gg_",
54
+ "_theme_success": "_theme_success_1ak62_gg_",
55
+ "_theme_warning": "_theme_warning_1ak62_gg_",
56
+ "_theme_danger": "_theme_danger_1ak62_gg_",
57
+ "_positioned": "__positioned_1ak62_gg_",
58
+ "__SScrollAreaBar": "___SScrollAreaBar_1ak62_gg_",
59
+ "_orientation_horizontal": "_orientation_horizontal_1ak62_gg_",
60
+ "_orientation_vertical": "_orientation_vertical_1ak62_gg_",
61
+ "--left": "--left_1ak62",
62
+ "--right": "--right_1ak62",
63
+ "--offsetSum": "--offsetSum_1ak62",
64
+ "__SHeightHold": "___SHeightHold_1ak62_gg_"
65
65
  });
66
66
  var reversedSortDirection = {
67
67
  desc: 'asc',
package/lib/es6/Head.js CHANGED
@@ -20,12 +20,12 @@ import logger from '@semcore/utils/lib/logger';
20
20
  import { setRef } from '@semcore/utils/lib/ref';
21
21
  import 'resize-observer-polyfill';
22
22
  /*__reshadow-styles__:"./style/scroll-area.shadow.css"*/
23
- var scrollStyles = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SShadowHorizontal_mhnl2_gg_:before{left:var(--left_mhnl2)!important}.___SShadowHorizontal_mhnl2_gg_:after{right:var(--right_mhnl2)!important}.___SContainer_mhnl2_gg_.__disabledScroll_mhnl2_gg_{overflow:visible}" /*__inner_css_end__*/, "mhnl2_gg_") /*__reshadow_css_end__*/, {
24
- "__SShadowHorizontal": "___SShadowHorizontal_mhnl2_gg_",
25
- "--left": "--left_mhnl2",
26
- "--right": "--right_mhnl2",
27
- "__SContainer": "___SContainer_mhnl2_gg_",
28
- "_disabledScroll": "__disabledScroll_mhnl2_gg_"
23
+ var scrollStyles = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SShadowHorizontal_1ntqh_gg_:before{left:var(--left_1ntqh)!important}.___SShadowHorizontal_1ntqh_gg_:after{right:var(--right_1ntqh)!important}.___SContainer_1ntqh_gg_.__disabledScroll_1ntqh_gg_{overflow:visible}" /*__inner_css_end__*/, "1ntqh_gg_") /*__reshadow_css_end__*/, {
24
+ "__SShadowHorizontal": "___SShadowHorizontal_1ntqh_gg_",
25
+ "--left": "--left_1ntqh",
26
+ "--right": "--right_1ntqh",
27
+ "__SContainer": "___SContainer_1ntqh_gg_",
28
+ "_disabledScroll": "__disabledScroll_1ntqh_gg_"
29
29
  });
30
30
  var SORTING_ICON = {
31
31
  desc: SortDesc,
@@ -159,8 +159,7 @@ var Head = /*#__PURE__*/function (_Component) {
159
159
  offsetRightSum = _getScrollOffsetValue2[1];
160
160
  logger.warn(sticky, "'sticky' property is deprecated, use '<Sticky/>' wrapper", this.asProps['data-ui-name'] || Head.displayName);
161
161
  return _ref3 = sstyled(styles), /*#__PURE__*/React.createElement(SHeadWrapper, _ref3.cn("SHeadWrapper", {
162
- "sticky": sticky,
163
- "role": "rowgroup"
162
+ "sticky": sticky
164
163
  }), /*#__PURE__*/React.createElement(ScrollArea, _ref3.cn("ScrollArea", {
165
164
  "styles": scrollStyles,
166
165
  "use:left": "".concat(offsetLeftSum, "px"),
@@ -169,7 +168,8 @@ var Head = /*#__PURE__*/function (_Component) {
169
168
  "onResize": onResize
170
169
  }), /*#__PURE__*/React.createElement(ScrollArea.Container, {
171
170
  ref: $scrollRef,
172
- disabledScroll: disabledScroll
171
+ disabledScroll: disabledScroll,
172
+ role: "rowgroup"
173
173
  }, /*#__PURE__*/React.createElement(SHead, _ref3.cn("SHead", _objectSpread({}, _assignProps({
174
174
  "role": "row",
175
175
  "aria-rowindex": "1"
@@ -1 +1 @@
1
- {"version":3,"file":"Head.js","names":["React","Component","sstyled","Root","Box","Flex","ScrollArea","SortDesc","SortAsc","callAllEventHandlers","flattenColumns","getFixedStyle","getScrollOffsetValue","logger","setRef","scrollStyles","_sstyled","insert","SORTING_ICON","desc","asc","ariaSort","Head","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","name","event","asProps","$onSortClick","code","props","ref","forwardRef","_createClass","key","value","renderColumns","columns","width","_this2","map","column","renderColumn","_ref2","_column$columns","_this$asProps","styles","use","hidden","uid","SColumn","SHead","SSortWrapper","SSortIcon","sortDirection","ariaSortValue","sortable","active","undefined","isGroup","cSize","_getFixedStyle","_getFixedStyle2","_slicedToArray","style","_objectSpread","flexBasis","flex","setVar","varWidth","createElement","cn","fixed","resizable","borderLeft","borderRight","refColumn","onClick","bindHandlerSortClick","onKeyDown","bindHandlerKeyDown","Fragment","children","render","_ref","_ref3","SHeadWrapper","_this$asProps2","Children","columnsChildren","onResize","$scrollRef","sticky","disabledScroll","_getScrollOffsetValue","_getScrollOffsetValue2","offsetLeftSum","offsetRightSum","warn","displayName","Container","_assignProps","origin"],"sources":["../../src/Head.tsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box, Flex } from '@semcore/flex-box';\nimport ScrollArea from '@semcore/scroll-area';\nimport SortDesc from '@semcore/icon/SortDesc/m';\nimport SortAsc from '@semcore/icon/SortAsc/m';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport { flattenColumns, getFixedStyle, getScrollOffsetValue } from './utils';\nimport type { Column } from './types';\nimport logger from '@semcore/utils/lib/logger';\nimport { setRef } from '@semcore/utils/lib/ref';\nimport 'resize-observer-polyfill';\n\nimport scrollStyles from './style/scroll-area.shadow.css';\n\nconst SORTING_ICON = {\n desc: SortDesc,\n asc: SortAsc,\n} as const;\nconst ariaSort = {\n desc: 'descending',\n asc: 'ascending',\n} as const;\n\ntype AsProps = {\n $onSortClick: (name: string, event: React.MouseEvent | React.KeyboardEvent) => void;\n $scrollRef: (instance: unknown) => void;\n use: 'primary' | 'secondary';\n columnsChildren: Column[];\n onResize: ResizeObserverCallback;\n sticky: boolean;\n disabledScroll?: boolean;\n ['data-ui-name']: string;\n uid?: string;\n};\n\nclass Head extends Component<AsProps> {\n columns: Column[] = [];\n\n static displayName: string;\n\n bindHandlerSortClick = (name: string) => (event: React.MouseEvent) => {\n this.asProps.$onSortClick(name, event);\n };\n\n bindHandlerKeyDown = (name: string) => (event: React.KeyboardEvent) => {\n if (event.code === 'Enter') {\n this.asProps.$onSortClick(name, event);\n }\n };\n\n refColumn = (props: Column['props']) => (ref: HTMLElement) => {\n setRef(props.ref, ref);\n if (props.forwardRef) {\n setRef(props.forwardRef, ref);\n }\n };\n\n renderColumns(columns: Column[], width: number) {\n return columns.map((column) => this.renderColumn(column, width));\n }\n\n renderColumn(column: Column, width: number) {\n const { styles, use, hidden, uid } = this.asProps;\n const SColumn = Flex;\n const SHead = Box;\n const SSortWrapper = 'div';\n const SSortIcon = SORTING_ICON[column.sortDirection];\n const ariaSortValue =\n column.sortable && column.active ? ariaSort[column.sortDirection] : undefined;\n const isGroup = column.columns?.length > 0;\n const cSize = isGroup ? flattenColumns(column.columns).length : 1;\n const [name, value] = getFixedStyle(column, this.columns);\n\n const style = {\n flexBasis: column.props.flex === undefined && `${width * cSize}%`,\n ...column.props.style,\n };\n\n if (name !== undefined && value !== undefined) {\n style[name] = value;\n }\n\n if (!column.setVar) {\n style['flexBasis'] = `var(${column.varWidth})`;\n }\n\n return sstyled(styles)(\n <SColumn\n role={isGroup ? undefined : 'columnheader'}\n scope={isGroup ? 'colgroup' : 'col'}\n key={column.name}\n id={`igc-table-${uid}-${column.name}`}\n use={use}\n fixed={column.fixed}\n resizable={column.resizable}\n sortable={column.sortable}\n borderLeft={isGroup ? false : column.borderLeft}\n borderRight={isGroup ? false : column.borderRight}\n active={isGroup ? false : column.active}\n group={isGroup}\n tabIndex={column.sortable && 0}\n {...column.props}\n ref={this.refColumn(column.props)}\n onClick={callAllEventHandlers(\n column.props.onClick,\n column.sortable ? this.bindHandlerSortClick(column.name) : undefined,\n )}\n onKeyDown={callAllEventHandlers(\n column.props.onKeyDown,\n column.sortable ? this.bindHandlerKeyDown(column.name) : undefined,\n )}\n style={style}\n hidden={hidden}\n aria-sort={ariaSortValue}\n >\n {isGroup ? (\n <>\n <SColumn\n role=\"columnheader\"\n groupHead\n use={use}\n active={column.active}\n borderLeft={column.borderLeft}\n borderRight={column.borderRight}\n >\n <div>{column.props.children}</div>\n </SColumn>\n <SHead>{this.renderColumns(column.columns, 100 / cSize)}</SHead>\n </>\n ) : (\n <>\n {column.props.children}\n {column.sortable ? (\n <SSortWrapper>\n <SSortIcon active={column.active} />\n </SSortWrapper>\n ) : null}\n </>\n )}\n </SColumn>,\n );\n }\n\n render() {\n const SHead = Root;\n const SHeadWrapper = Box;\n const { Children, styles, columnsChildren, onResize, $scrollRef, sticky, disabledScroll } =\n this.asProps;\n\n this.columns = flattenColumns(columnsChildren);\n\n const [offsetLeftSum, offsetRightSum] = getScrollOffsetValue(this.columns);\n\n logger.warn(\n sticky,\n \"'sticky' property is deprecated, use '<Sticky/>' wrapper\",\n this.asProps['data-ui-name'] || Head.displayName,\n );\n\n return sstyled(styles)(\n <SHeadWrapper sticky={sticky} role=\"rowgroup\">\n <ScrollArea\n styles={scrollStyles}\n use:left={`${offsetLeftSum}px`}\n use:right={`${offsetRightSum}px`}\n shadow\n onResize={onResize}\n >\n <ScrollArea.Container ref={$scrollRef} disabledScroll={disabledScroll}>\n <SHead render={Box} role=\"row\" aria-rowindex=\"1\">\n {this.renderColumns(columnsChildren, 100 / this.columns.length)}\n </SHead>\n </ScrollArea.Container>\n </ScrollArea>\n {Children.origin}\n </SHeadWrapper>,\n );\n }\n}\n\nexport default Head;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Head.js","names":["React","Component","sstyled","Root","Box","Flex","ScrollArea","SortDesc","SortAsc","callAllEventHandlers","flattenColumns","getFixedStyle","getScrollOffsetValue","logger","setRef","scrollStyles","_sstyled","insert","SORTING_ICON","desc","asc","ariaSort","Head","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","name","event","asProps","$onSortClick","code","props","ref","forwardRef","_createClass","key","value","renderColumns","columns","width","_this2","map","column","renderColumn","_ref2","_column$columns","_this$asProps","styles","use","hidden","uid","SColumn","SHead","SSortWrapper","SSortIcon","sortDirection","ariaSortValue","sortable","active","undefined","isGroup","cSize","_getFixedStyle","_getFixedStyle2","_slicedToArray","style","_objectSpread","flexBasis","flex","setVar","varWidth","createElement","cn","fixed","resizable","borderLeft","borderRight","refColumn","onClick","bindHandlerSortClick","onKeyDown","bindHandlerKeyDown","Fragment","children","render","_ref","_ref3","SHeadWrapper","_this$asProps2","Children","columnsChildren","onResize","$scrollRef","sticky","disabledScroll","_getScrollOffsetValue","_getScrollOffsetValue2","offsetLeftSum","offsetRightSum","warn","displayName","Container","role","_assignProps","origin"],"sources":["../../src/Head.tsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box, Flex } from '@semcore/flex-box';\nimport ScrollArea from '@semcore/scroll-area';\nimport SortDesc from '@semcore/icon/SortDesc/m';\nimport SortAsc from '@semcore/icon/SortAsc/m';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport { flattenColumns, getFixedStyle, getScrollOffsetValue } from './utils';\nimport type { Column } from './types';\nimport logger from '@semcore/utils/lib/logger';\nimport { setRef } from '@semcore/utils/lib/ref';\nimport 'resize-observer-polyfill';\n\nimport scrollStyles from './style/scroll-area.shadow.css';\n\nconst SORTING_ICON = {\n desc: SortDesc,\n asc: SortAsc,\n} as const;\nconst ariaSort = {\n desc: 'descending',\n asc: 'ascending',\n} as const;\n\ntype AsProps = {\n $onSortClick: (name: string, event: React.MouseEvent | React.KeyboardEvent) => void;\n $scrollRef: (instance: unknown) => void;\n use: 'primary' | 'secondary';\n columnsChildren: Column[];\n onResize: ResizeObserverCallback;\n sticky: boolean;\n disabledScroll?: boolean;\n ['data-ui-name']: string;\n uid?: string;\n};\n\nclass Head extends Component<AsProps> {\n columns: Column[] = [];\n\n static displayName: string;\n\n bindHandlerSortClick = (name: string) => (event: React.MouseEvent) => {\n this.asProps.$onSortClick(name, event);\n };\n\n bindHandlerKeyDown = (name: string) => (event: React.KeyboardEvent) => {\n if (event.code === 'Enter') {\n this.asProps.$onSortClick(name, event);\n }\n };\n\n refColumn = (props: Column['props']) => (ref: HTMLElement) => {\n setRef(props.ref, ref);\n if (props.forwardRef) {\n setRef(props.forwardRef, ref);\n }\n };\n\n renderColumns(columns: Column[], width: number) {\n return columns.map((column) => this.renderColumn(column, width));\n }\n\n renderColumn(column: Column, width: number) {\n const { styles, use, hidden, uid } = this.asProps;\n const SColumn = Flex;\n const SHead = Box;\n const SSortWrapper = 'div';\n const SSortIcon = SORTING_ICON[column.sortDirection];\n const ariaSortValue =\n column.sortable && column.active ? ariaSort[column.sortDirection] : undefined;\n const isGroup = column.columns?.length > 0;\n const cSize = isGroup ? flattenColumns(column.columns).length : 1;\n const [name, value] = getFixedStyle(column, this.columns);\n\n const style = {\n flexBasis: column.props.flex === undefined && `${width * cSize}%`,\n ...column.props.style,\n };\n\n if (name !== undefined && value !== undefined) {\n style[name] = value;\n }\n\n if (!column.setVar) {\n style['flexBasis'] = `var(${column.varWidth})`;\n }\n\n return sstyled(styles)(\n <SColumn\n role={isGroup ? undefined : 'columnheader'}\n scope={isGroup ? 'colgroup' : 'col'}\n key={column.name}\n id={`igc-table-${uid}-${column.name}`}\n use={use}\n fixed={column.fixed}\n resizable={column.resizable}\n sortable={column.sortable}\n borderLeft={isGroup ? false : column.borderLeft}\n borderRight={isGroup ? false : column.borderRight}\n active={isGroup ? false : column.active}\n group={isGroup}\n tabIndex={column.sortable && 0}\n {...column.props}\n ref={this.refColumn(column.props)}\n onClick={callAllEventHandlers(\n column.props.onClick,\n column.sortable ? this.bindHandlerSortClick(column.name) : undefined,\n )}\n onKeyDown={callAllEventHandlers(\n column.props.onKeyDown,\n column.sortable ? this.bindHandlerKeyDown(column.name) : undefined,\n )}\n style={style}\n hidden={hidden}\n aria-sort={ariaSortValue}\n >\n {isGroup ? (\n <>\n <SColumn\n role=\"columnheader\"\n groupHead\n use={use}\n active={column.active}\n borderLeft={column.borderLeft}\n borderRight={column.borderRight}\n >\n <div>{column.props.children}</div>\n </SColumn>\n <SHead>{this.renderColumns(column.columns, 100 / cSize)}</SHead>\n </>\n ) : (\n <>\n {column.props.children}\n {column.sortable ? (\n <SSortWrapper>\n <SSortIcon active={column.active} />\n </SSortWrapper>\n ) : null}\n </>\n )}\n </SColumn>,\n );\n }\n\n render() {\n const SHead = Root;\n const SHeadWrapper = Box;\n const { Children, styles, columnsChildren, onResize, $scrollRef, sticky, disabledScroll } =\n this.asProps;\n\n this.columns = flattenColumns(columnsChildren);\n\n const [offsetLeftSum, offsetRightSum] = getScrollOffsetValue(this.columns);\n\n logger.warn(\n sticky,\n \"'sticky' property is deprecated, use '<Sticky/>' wrapper\",\n this.asProps['data-ui-name'] || Head.displayName,\n );\n\n return sstyled(styles)(\n <SHeadWrapper sticky={sticky}>\n <ScrollArea\n styles={scrollStyles}\n use:left={`${offsetLeftSum}px`}\n use:right={`${offsetRightSum}px`}\n shadow\n onResize={onResize}\n >\n <ScrollArea.Container ref={$scrollRef} disabledScroll={disabledScroll} role=\"rowgroup\">\n <SHead render={Box} role=\"row\" aria-rowindex=\"1\">\n {this.renderColumns(columnsChildren, 100 / this.columns.length)}\n </SHead>\n </ScrollArea.Container>\n </ScrollArea>\n {Children.origin}\n </SHeadWrapper>,\n );\n }\n}\n\nexport default Head;\n"],"mappings":"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"}
@@ -30,11 +30,12 @@ declare class Body extends Component<AsProps, State> {
30
30
  firstRowResizeObserver: ResizeObserver | null;
31
31
  getRowHeight: () => number | undefined;
32
32
  renderCells(cells: NestedCells, rowData: RowData, dataIndex: number): React.ReactNode[];
33
- renderRow(cells: NestedCells, { dataIndex, topOffset }: {
33
+ renderRow(cells: NestedCells, { dataIndex, topOffset, nested }: {
34
34
  dataIndex: number;
35
35
  topOffset?: number;
36
+ nested: boolean;
36
37
  }): React.ReactNode;
37
- renderRows(rows: NestedCells[]): React.ReactNode[];
38
+ renderRows(rows: NestedCells[], nested?: boolean): React.ReactNode[];
38
39
  renderVirtualizedRows(rows: NestedCells[]): React.ReactNode[];
39
40
  handleFirstRowResize: {
40
41
  (...args: any[]): void;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/data-table",
3
3
  "description": "Semrush DataTable Component",
4
- "version": "3.9.6",
4
+ "version": "3.10.0",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",
@@ -17,7 +17,7 @@
17
17
  },
18
18
  "devDependencies": {
19
19
  "@types/react": "18.0.21",
20
- "@semcore/jest-preset-ui": "1.0.0",
20
+ "@semcore/testing-utils": "1.0.0",
21
21
  "@guidepup/playwright": "0.6.1",
22
22
  "@playwright/test": "1.25.1",
23
23
  "@semcore/base-trigger": "*",
@@ -33,24 +33,19 @@
33
33
  "@semcore/sticky": "*",
34
34
  "@semcore/tooltip": "*",
35
35
  "@types/node": "^17.0.45",
36
- "csstype": "3.0.8",
37
- "jest": "29.0.1"
36
+ "csstype": "3.0.8"
38
37
  },
39
38
  "peerDependencies": {
40
39
  "@semcore/core": "^1.11",
41
40
  "react": "16.8 - 18",
42
41
  "react-dom": "16.8 - 18"
43
42
  },
44
- "jest": {
45
- "preset": "@semcore/jest-preset-ui"
46
- },
47
43
  "repository": {
48
44
  "type": "git",
49
45
  "url": "https://github.com/semrush/intergalactic.git",
50
46
  "directory": "semcore/data-table"
51
47
  },
52
48
  "scripts": {
53
- "build": "pnpm semcore-builder --source=ts",
54
- "test": "jest"
49
+ "build": "pnpm semcore-builder --source=ts"
55
50
  }
56
51
  }