@semcore/data-table 3.3.4 → 3.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,19 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
+ ## [3.4.1] - 2022-10-28
6
+
7
+ ### Changed
8
+
9
+ - Version patch update due to children dependencies update (`@semcore/icon` [3.1.1 ~> 3.1.2], `@semcore/utils` [3.40.0 ~> 3.40.0]).
10
+
11
+ ## [3.4.0] - 2022-10-25
12
+
13
+ ### Added
14
+
15
+ - Added `disabledScroll` property that disables scrolling in tables.
16
+ - Added the ability(`flex="inherit"`) to inherit the size from the top table.
17
+
5
18
  ## [3.3.4] - 2022-10-24
6
19
 
7
20
  ### Changed
package/lib/cjs/Body.js CHANGED
@@ -71,14 +71,16 @@ var scrollStyles = (
71
71
  /*__reshadow_css_start__*/
72
72
  _core.sstyled.insert(
73
73
  /*__inner_css_start__*/
74
- ".___SShadowHorizontal_1oufr_gg_:before {\n left: var(--left_1oufr) !important;\n}\n.___SShadowHorizontal_1oufr_gg_:after {\n right: var(--right_1oufr) !important;\n}\n"
74
+ ".___SShadowHorizontal_ki0ko_gg_:before {\n left: var(--left_ki0ko) !important;\n}\n.___SShadowHorizontal_ki0ko_gg_:after {\n right: var(--right_ki0ko) !important;\n}\n.___SContainer_ki0ko_gg_.__disabledScroll_ki0ko_gg_ {\n overflow: visible;\n}\n"
75
75
  /*__inner_css_end__*/
76
- , "1oufr_gg_")
76
+ , "ki0ko_gg_")
77
77
  /*__reshadow_css_end__*/
78
78
  , {
79
- "__SShadowHorizontal": "___SShadowHorizontal_1oufr_gg_",
80
- "--left": "--left_1oufr",
81
- "--right": "--right_1oufr"
79
+ "__SShadowHorizontal": "___SShadowHorizontal_ki0ko_gg_",
80
+ "--left": "--left_ki0ko",
81
+ "--right": "--right_ki0ko",
82
+ "__SContainer": "___SContainer_ki0ko_gg_",
83
+ "_disabledScroll": "__disabledScroll_ki0ko_gg_"
82
84
  });
83
85
  var testEnv = process.env.NODE_ENV === 'test';
84
86
 
@@ -379,7 +381,8 @@ var Body = /*#__PURE__*/function (_Component) {
379
381
  $scrollRef = _this$asProps3.$scrollRef,
380
382
  virtualScroll = _this$asProps3.virtualScroll,
381
383
  onResize = _this$asProps3.onResize,
382
- onScroll = _this$asProps3.onScroll;
384
+ onScroll = _this$asProps3.onScroll,
385
+ disabledScroll = _this$asProps3.disabledScroll;
383
386
  var columnsInitialized = columns.reduce(function (sum, _ref10) {
384
387
  var width = _ref10.width;
385
388
  return sum + width;
@@ -408,7 +411,8 @@ var Body = /*#__PURE__*/function (_Component) {
408
411
  "onResize": (0, _assignProps2.callAllEventHandlers)(onResize, this.handleScrollAreaResize),
409
412
  "onScroll": (0, _assignProps2.callAllEventHandlers)(onScroll, this.handleScrollAreaScroll)
410
413
  }), /*#__PURE__*/_react["default"].createElement(_scrollArea["default"].Container, {
411
- ref: $scrollRef
414
+ ref: $scrollRef,
415
+ disabledScroll: disabledScroll
412
416
  }, /*#__PURE__*/_react["default"].createElement(SBody, _ref5.cn("SBody", _objectSpread({}, (0, _core.assignProps)({
413
417
  "role": "rowgroup"
414
418
  }, _ref))), holdHeight && /*#__PURE__*/_react["default"].createElement(SHeightHold, _ref5.cn("SHeightHold", {
@@ -1 +1 @@
1
- {"version":3,"file":"Body.js","names":["testEnv","process","env","NODE_ENV","getCellsByColumn","cells","flattenCells","flat","Object","fromEntries","map","cell","name","data","Body","rowHeight","undefined","scrollAreaHeight","scrollOffset","React","createRef","virtualScroll","asProps","rowHeightFromProps","state","trottle","entries","contentRect","height","setState","oldState","event","target","scrollTop","firstRowRef","current","firstRowResizeObserver","ResizeObserver","handleFirstRowResize","observe","rowData","index","SCell","Flex","styles","columns","use","Array","isArray","SGroupCell","sstyled","renderRows","column","find","c","getFixedStyle","value","vars","cssVar","props","children","justifyContent","style","width","length","join","cellPropsLayers","cellPropLayer","childrenPropsGetter","p","other","propsCell","assignProps","fixed","theme","dataIndex","topOffset","nested","SRow","Box","rowPropsLayers","uniqueKey","flatRowData","key","String","needToMeasureHeight","renderCells","active","positioned","top","ref","rowPropsLayer","propsRow","rows","renderRow","getRowHeight","tollerance","startIndex","Math","max","floor","lastIndex","min","ceil","needToMeasureFirstRowHeight","firstRow","visibleRows","slice","processedVisibleRows","unshift","disconnect","SBody","SBodyWrapper","SScrollAreaBar","ScrollArea","Bar","SHeightHold","Children","$scrollRef","onResize","onScroll","columnsInitialized","reduce","sum","getScrollOffsetValue","offsetLeftSum","offsetRightSum","offsetSum","holdHeight","Promise","setupRowSizeObserver","scrollStyles","callAllEventHandlers","handleScrollAreaResize","handleScrollAreaScroll","renderVirtualizedRows","origin","Component"],"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};\n\ntype State = {\n rowHeight: number | undefined;\n scrollAreaHeight: undefined | number;\n scrollOffset: number;\n};\n\nclass Body extends Component<AsProps, State> {\n state: State = {\n rowHeight: undefined,\n scrollAreaHeight: undefined,\n scrollOffset: 0,\n };\n\n firstRowRef = React.createRef<HTMLElement>();\n firstRowResizeObserver: ResizeObserver | null = null;\n\n getRowHeight = () => {\n const { virtualScroll } = this.asProps;\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n return rowHeightFromProps || this.state.rowHeight;\n };\n\n renderCells(cells: NestedCells, rowData: RowData, index: number) {\n const SCell = Flex;\n const { styles, columns, use } = this.asProps;\n return cells.map((cell) => {\n if (Array.isArray(cell)) {\n const SGroupCell = 'div';\n return sstyled(styles)(\n <SGroupCell role=\"rowgroup\" data-ui-name=\"group-cell\">\n {this.renderRows(cell as NestedCells[])}\n </SGroupCell>,\n );\n } else {\n const column = columns.find((c) => c.name === cell.name);\n const [name, value] = getFixedStyle(cell, columns);\n const vars = (Array.isArray(cell.cssVar) ? cell.cssVar : [cell.cssVar]).map(\n (name) => `var(${name})`,\n );\n type CellProps = IBoxProps & {\n name: string;\n children: React.ReactNode;\n style: React.CSSProperties;\n };\n\n let props: CellProps = {\n name: cell.name,\n children: <>{cell.data}</>,\n justifyContent: column?.props?.justifyContent,\n style: {\n width: vars.length === 1 ? vars[0] : `calc(${vars.join(' + ')})`,\n },\n };\n if (name !== undefined && value !== undefined) {\n props.style[name] = value;\n }\n\n for (const cellPropLayer of cell.cellPropsLayers || []) {\n const { childrenPropsGetter = (p) => p, ...other } = cellPropLayer;\n const propsCell = assignProps(other, props);\n props = assignProps(childrenPropsGetter(propsCell, rowData, index), propsCell);\n }\n\n return sstyled(styles)(\n <SCell\n key={cell.name}\n role=\"cell\"\n {...props}\n fixed={cell.fixed}\n theme={props.theme}\n use={use}\n />,\n ) as React.ReactElement;\n }\n }, [] as React.ReactElement[]);\n }\n\n renderRow(\n cells: NestedCells,\n { dataIndex, topOffset, nested }: { dataIndex: number; topOffset?: number; nested: boolean },\n ) {\n const SRow = Box;\n const { styles, rowPropsLayers, uniqueKey, virtualScroll } = this.asProps;\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n\n const rowData = cells.flatRowData || getCellsByColumn(cells);\n const key = rowData[uniqueKey] ? String(rowData[uniqueKey]) : `row_${dataIndex}`;\n const needToMeasureHeight = dataIndex === 0 && !nested && !rowHeightFromProps;\n\n let props = {\n children: this.renderCells(cells, rowData, dataIndex),\n theme: undefined,\n active: undefined,\n positioned: topOffset !== undefined,\n top: topOffset,\n ref: needToMeasureHeight ? this.firstRowRef : undefined,\n key,\n 'aria-rowindex': dataIndex + 1,\n };\n\n for (const rowPropsLayer of rowPropsLayers) {\n const { childrenPropsGetter = (p) => p, ...other } = rowPropsLayer;\n const propsRow = assignProps(other, props);\n props = assignProps(childrenPropsGetter(propsRow, rowData, dataIndex), propsRow);\n }\n\n return sstyled(styles)(<SRow role=\"row\" {...props} />);\n }\n\n renderRows(rows: NestedCells[]) {\n return rows.map((cells, dataIndex) => this.renderRow(cells, { dataIndex, nested: false }));\n }\n\n renderVirtualizedRows(rows: NestedCells[]) {\n if (rows.length === 0) return [];\n\n const { virtualScroll } = this.asProps;\n const { scrollOffset, scrollAreaHeight } = this.state;\n const rowHeight = this.getRowHeight();\n\n const tollerance = (typeof virtualScroll === 'object' ? virtualScroll?.tollerance : 2) ?? 2;\n const startIndex = Math.max(Math.floor(scrollOffset / rowHeight!) - tollerance, 0);\n const lastIndex = Math.min(\n Math.ceil((scrollOffset + scrollAreaHeight!) / rowHeight!) + tollerance,\n rows.length,\n );\n\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n const needToMeasureFirstRowHeight = !rowHeightFromProps;\n\n const firstRow = { cells: rows[0], dataIndex: 0, topOffset: 0 };\n const visibleRows = rowHeight !== undefined ? rows.slice(startIndex, lastIndex) : [];\n const processedVisibleRows = visibleRows.map((cells, index) => ({\n cells,\n dataIndex: startIndex + index,\n topOffset: rowHeight! * (startIndex + index),\n }));\n if (needToMeasureFirstRowHeight && startIndex !== 0) {\n processedVisibleRows.unshift(firstRow);\n }\n\n return processedVisibleRows.map(({ cells, dataIndex, topOffset }) =>\n this.renderRow(cells, { dataIndex, topOffset, nested: false }),\n );\n }\n\n handleFirstRowResize = trottle((entries: ResizeObserverEntry[]) => {\n const { contentRect } = entries[0];\n const { height } = contentRect;\n this.setState((oldState: State) => {\n if (oldState.rowHeight === height) return oldState;\n return { rowHeight: height };\n });\n });\n\n handleScrollAreaResize = trottle((entries: ResizeObserverEntry[]) => {\n const { virtualScroll } = this.asProps;\n if (!virtualScroll) return;\n const { contentRect } = entries[0];\n const { height } = contentRect;\n this.setState((oldState: State) => {\n if (oldState.scrollAreaHeight === height) return oldState;\n return { scrollAreaHeight: height };\n });\n });\n\n handleScrollAreaScroll = (event: React.SyntheticEvent<HTMLElement>) => {\n const { scrollTop } = event.target as HTMLElement;\n const { virtualScroll } = this.asProps;\n if (virtualScroll) {\n this.setState((oldState: State) => {\n if (oldState.scrollOffset === scrollTop) return oldState;\n return { scrollOffset: scrollTop };\n });\n }\n };\n\n setupRowSizeObserver = () => {\n if (!this.firstRowRef.current) return;\n if (!this.asProps.virtualScroll) return;\n this.firstRowResizeObserver = new ResizeObserver(this.handleFirstRowResize);\n this.firstRowResizeObserver.observe(this.firstRowRef.current);\n };\n\n componentWillUnmount() {\n this.firstRowResizeObserver?.disconnect();\n }\n\n render() {\n const SBody = Root;\n const SBodyWrapper = Box;\n const SScrollAreaBar = ScrollArea.Bar;\n const SHeightHold = Box;\n const { Children, styles, rows, columns, $scrollRef, virtualScroll, onResize, onScroll } =\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}>\n <SBody render={Box} role=\"rowgroup\">\n {holdHeight && <SHeightHold hMin={holdHeight} aria-hidden={true} />}\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":["testEnv","process","env","NODE_ENV","getCellsByColumn","cells","flattenCells","flat","Object","fromEntries","map","cell","name","data","Body","rowHeight","undefined","scrollAreaHeight","scrollOffset","React","createRef","virtualScroll","asProps","rowHeightFromProps","state","trottle","entries","contentRect","height","setState","oldState","event","target","scrollTop","firstRowRef","current","firstRowResizeObserver","ResizeObserver","handleFirstRowResize","observe","rowData","index","SCell","Flex","styles","columns","use","Array","isArray","SGroupCell","sstyled","renderRows","column","find","c","getFixedStyle","value","vars","cssVar","props","children","justifyContent","style","width","length","join","cellPropsLayers","cellPropLayer","childrenPropsGetter","p","other","propsCell","assignProps","fixed","theme","dataIndex","topOffset","nested","SRow","Box","rowPropsLayers","uniqueKey","flatRowData","key","String","needToMeasureHeight","renderCells","active","positioned","top","ref","rowPropsLayer","propsRow","rows","renderRow","getRowHeight","tollerance","startIndex","Math","max","floor","lastIndex","min","ceil","needToMeasureFirstRowHeight","firstRow","visibleRows","slice","processedVisibleRows","unshift","disconnect","SBody","SBodyWrapper","SScrollAreaBar","ScrollArea","Bar","SHeightHold","Children","$scrollRef","onResize","onScroll","disabledScroll","columnsInitialized","reduce","sum","getScrollOffsetValue","offsetLeftSum","offsetRightSum","offsetSum","holdHeight","Promise","setupRowSizeObserver","scrollStyles","callAllEventHandlers","handleScrollAreaResize","handleScrollAreaScroll","renderVirtualizedRows","origin","Component"],"sources":["../../src/Body.tsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box, Flex, IBoxProps } from '@semcore/flex-box';\nimport ScrollArea from '@semcore/scroll-area';\nimport { getFixedStyle, getScrollOffsetValue } from './utils';\nimport { RowData, Column, NestedCells, PropsLayer, Cell } from './types';\nimport assignProps, { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport scrollStyles from './style/scroll-area.shadow.css';\nimport syncScroll from '@semcore/utils/lib/syncScroll';\nimport trottle from '@semcore/utils/lib/rafTrottle';\n\nconst testEnv = process.env.NODE_ENV === 'test';\n\nconst getCellsByColumn = (cells: NestedCells): RowData => {\n const flattenCells = cells.flat(20) as Cell[];\n return Object.fromEntries(flattenCells.map((cell) => [cell.name, cell.data]));\n};\n\ntype AsProps = {\n rows: NestedCells[];\n columns: Column[];\n $scrollRef: ReturnType<ReturnType<typeof syncScroll>>;\n onResize: ResizeObserverCallback;\n onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;\n rowPropsLayers: PropsLayer[];\n use: 'primary' | 'secondary';\n uniqueKey: string;\n virtualScroll?: boolean | { tollerance?: number; rowHeight?: number };\n disabledScroll?: boolean;\n};\n\ntype State = {\n rowHeight: number | undefined;\n scrollAreaHeight: undefined | number;\n scrollOffset: number;\n};\n\nclass Body extends Component<AsProps, State> {\n state: State = {\n rowHeight: undefined,\n scrollAreaHeight: undefined,\n scrollOffset: 0,\n };\n\n firstRowRef = React.createRef<HTMLElement>();\n firstRowResizeObserver: ResizeObserver | null = null;\n\n getRowHeight = () => {\n const { virtualScroll } = this.asProps;\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n return rowHeightFromProps || this.state.rowHeight;\n };\n\n renderCells(cells: NestedCells, rowData: RowData, index: number) {\n const SCell = Flex;\n const { styles, columns, use } = this.asProps;\n return cells.map((cell) => {\n if (Array.isArray(cell)) {\n const SGroupCell = 'div';\n return sstyled(styles)(\n <SGroupCell role=\"rowgroup\" data-ui-name=\"group-cell\">\n {this.renderRows(cell as NestedCells[])}\n </SGroupCell>,\n );\n } else {\n const column = columns.find((c) => c.name === cell.name);\n const [name, value] = getFixedStyle(cell, columns);\n const vars = (Array.isArray(cell.cssVar) ? cell.cssVar : [cell.cssVar]).map(\n (name) => `var(${name})`,\n );\n type CellProps = IBoxProps & {\n name: string;\n children: React.ReactNode;\n style: React.CSSProperties;\n };\n\n let props: CellProps = {\n name: cell.name,\n children: <>{cell.data}</>,\n justifyContent: column?.props?.justifyContent,\n style: {\n width: vars.length === 1 ? vars[0] : `calc(${vars.join(' + ')})`,\n },\n };\n if (name !== undefined && value !== undefined) {\n props.style[name] = value;\n }\n\n for (const cellPropLayer of cell.cellPropsLayers || []) {\n const { childrenPropsGetter = (p) => p, ...other } = cellPropLayer;\n const propsCell = assignProps(other, props);\n props = assignProps(childrenPropsGetter(propsCell, rowData, index), propsCell);\n }\n\n return sstyled(styles)(\n <SCell\n key={cell.name}\n role=\"cell\"\n {...props}\n fixed={cell.fixed}\n theme={props.theme}\n use={use}\n />,\n ) as React.ReactElement;\n }\n }, [] as React.ReactElement[]);\n }\n\n renderRow(\n cells: NestedCells,\n { dataIndex, topOffset, nested }: { dataIndex: number; topOffset?: number; nested: boolean },\n ) {\n const SRow = Box;\n const { styles, rowPropsLayers, uniqueKey, virtualScroll } = this.asProps;\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n\n const rowData = cells.flatRowData || getCellsByColumn(cells);\n const key = rowData[uniqueKey] ? String(rowData[uniqueKey]) : `row_${dataIndex}`;\n const needToMeasureHeight = dataIndex === 0 && !nested && !rowHeightFromProps;\n\n let props = {\n children: this.renderCells(cells, rowData, dataIndex),\n theme: undefined,\n active: undefined,\n positioned: topOffset !== undefined,\n top: topOffset,\n ref: needToMeasureHeight ? this.firstRowRef : undefined,\n key,\n 'aria-rowindex': dataIndex + 1,\n };\n\n for (const rowPropsLayer of rowPropsLayers) {\n const { childrenPropsGetter = (p) => p, ...other } = rowPropsLayer;\n const propsRow = assignProps(other, props);\n props = assignProps(childrenPropsGetter(propsRow, rowData, dataIndex), propsRow);\n }\n\n return sstyled(styles)(<SRow role=\"row\" {...props} />);\n }\n\n renderRows(rows: NestedCells[]) {\n return rows.map((cells, dataIndex) => this.renderRow(cells, { dataIndex, nested: false }));\n }\n\n renderVirtualizedRows(rows: NestedCells[]) {\n if (rows.length === 0) return [];\n\n const { virtualScroll } = this.asProps;\n const { scrollOffset, scrollAreaHeight } = this.state;\n const rowHeight = this.getRowHeight();\n\n const tollerance = (typeof virtualScroll === 'object' ? virtualScroll?.tollerance : 2) ?? 2;\n const startIndex = Math.max(Math.floor(scrollOffset / rowHeight!) - tollerance, 0);\n const lastIndex = Math.min(\n Math.ceil((scrollOffset + scrollAreaHeight!) / rowHeight!) + tollerance,\n rows.length,\n );\n\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n const needToMeasureFirstRowHeight = !rowHeightFromProps;\n\n const firstRow = { cells: rows[0], dataIndex: 0, topOffset: 0 };\n const visibleRows = rowHeight !== undefined ? rows.slice(startIndex, lastIndex) : [];\n const processedVisibleRows = visibleRows.map((cells, index) => ({\n cells,\n dataIndex: startIndex + index,\n topOffset: rowHeight! * (startIndex + index),\n }));\n if (needToMeasureFirstRowHeight && startIndex !== 0) {\n processedVisibleRows.unshift(firstRow);\n }\n\n return processedVisibleRows.map(({ cells, dataIndex, topOffset }) =>\n this.renderRow(cells, { dataIndex, topOffset, nested: false }),\n );\n }\n\n handleFirstRowResize = trottle((entries: ResizeObserverEntry[]) => {\n const { contentRect } = entries[0];\n const { height } = contentRect;\n this.setState((oldState: State) => {\n if (oldState.rowHeight === height) return oldState;\n return { rowHeight: height };\n });\n });\n\n handleScrollAreaResize = trottle((entries: ResizeObserverEntry[]) => {\n const { virtualScroll } = this.asProps;\n if (!virtualScroll) return;\n const { contentRect } = entries[0];\n const { height } = contentRect;\n this.setState((oldState: State) => {\n if (oldState.scrollAreaHeight === height) return oldState;\n return { scrollAreaHeight: height };\n });\n });\n\n handleScrollAreaScroll = (event: React.SyntheticEvent<HTMLElement>) => {\n const { scrollTop } = event.target as HTMLElement;\n const { virtualScroll } = this.asProps;\n if (virtualScroll) {\n this.setState((oldState: State) => {\n if (oldState.scrollOffset === scrollTop) return oldState;\n return { scrollOffset: scrollTop };\n });\n }\n };\n\n setupRowSizeObserver = () => {\n if (!this.firstRowRef.current) return;\n if (!this.asProps.virtualScroll) return;\n this.firstRowResizeObserver = new ResizeObserver(this.handleFirstRowResize);\n this.firstRowResizeObserver.observe(this.firstRowRef.current);\n };\n\n componentWillUnmount() {\n this.firstRowResizeObserver?.disconnect();\n }\n\n render() {\n const SBody = Root;\n const SBodyWrapper = Box;\n const SScrollAreaBar = ScrollArea.Bar;\n const SHeightHold = Box;\n const {\n Children,\n styles,\n rows,\n columns,\n $scrollRef,\n virtualScroll,\n onResize,\n onScroll,\n disabledScroll,\n } = this.asProps;\n\n const columnsInitialized = columns.reduce((sum, { width }) => sum + width, 0) > 0 || testEnv;\n\n const [offsetLeftSum, offsetRightSum] = getScrollOffsetValue(columns);\n const offsetSum = offsetLeftSum + offsetRightSum;\n\n const rowHeight = this.getRowHeight();\n const holdHeight =\n rowHeight !== undefined && virtualScroll ? rowHeight * rows.length : undefined;\n\n if (virtualScroll && columnsInitialized && !rowHeight) {\n new Promise(() => this.setupRowSizeObserver());\n }\n\n return sstyled(styles)(\n <SBodyWrapper>\n <ScrollArea\n shadow\n styles={scrollStyles}\n use:left={`${offsetLeftSum}px`}\n use:right={`${offsetRightSum}px`}\n onResize={callAllEventHandlers(onResize, this.handleScrollAreaResize)}\n onScroll={callAllEventHandlers(onScroll, this.handleScrollAreaScroll)}\n >\n <ScrollArea.Container ref={$scrollRef} disabledScroll={disabledScroll}>\n <SBody render={Box} role=\"rowgroup\">\n {holdHeight && <SHeightHold hMin={holdHeight} aria-hidden={true} />}\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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"}
@@ -43,7 +43,7 @@ var _Head = _interopRequireDefault(require("./Head"));
43
43
 
44
44
  var _Body = _interopRequireDefault(require("./Body"));
45
45
 
46
- var _excluded = ["children", "name", "fixed", "resizable", "sortable"],
46
+ var _excluded = ["children", "name", "fixed", "resizable", "sortable", "flex"],
47
47
  _excluded2 = ["name", "children"];
48
48
 
49
49
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -69,46 +69,46 @@ var style = (
69
69
  /*__reshadow_css_start__*/
70
70
  _core.sstyled.insert(
71
71
  /*__inner_css_start__*/
72
- ":root {\n\n /* DEPRECATED START\n Deprecated variables should never be used in\n components styles but preserved for backward\n compatibility if they used in projects\n like `<Badge bg=\"red\">alpha</Badge>`\n */\n /* DEPRECATED END */\n}\n\n.___SDataTable_1rskp_gg_ {\n position: relative;\n}\n\n.___SHeadWrapper_1rskp_gg_ {\n position: relative;\n}\n\n.___SHeadWrapper_1rskp_gg_.__sticky_1rskp_gg_ {\n position: sticky;\n top: 0;\n z-index: 2;\n}\n\n.___SHead_1rskp_gg_ {\n display: flex;\n position: relative;\n flex-direction: row;\n min-width: -moz-fit-content;\n min-width: fit-content;\n z-index: 0;\n}\n\n.___SColumn_1rskp_gg_ {\n display: flex;\n align-items: center;\n flex-grow: 1;\n font-size: 12px;\n color: #191b23;\n box-sizing: border-box;\n position: relative\n}\n\n.___SColumn_1rskp_gg_:focus {\n outline: none;\n box-shadow: 0 0 0 3px rgba(0, 143, 248, 0.2);\n }\n\n.___SColumn_1rskp_gg_.__hidden_1rskp_gg_ {\n height: 0 !important;\n padding: 0 !important;\n overflow: hidden !important;\n border: none !important;\n}\n\n.___SColumn_1rskp_gg_._use_primary_1rskp_gg_ {\n padding: 12px;\n border-right: 1px solid #e0e1e9;\n border-bottom: 1px solid #e0e1e9;\n background-color: #f4f5f9;\n}\n\n.___SColumn_1rskp_gg_._use_secondary_1rskp_gg_ {\n padding: 8px;\n border-bottom: 1px solid #a9abb6;\n background-color: #ffffff;\n}\n\n.___SColumn_1rskp_gg_.__use_1rskp_gg_:last-child {\n border-right: none;\n}\n\n.___SColumn_1rskp_gg_.__group_1rskp_gg_.__use_1rskp_gg_ {\n display: flex;\n flex-wrap: wrap;\n flex-direction: column;\n align-items: normal;\n border-bottom: none;\n padding: 0;\n}\n\n.___SColumn_1rskp_gg_.__groupHead_1rskp_gg_.__use_1rskp_gg_ {\n justify-content: center;\n border-right: none;\n /* for resizable */\n z-index: 1;\n}\n\n.___SColumn_1rskp_gg_.__groupHead_1rskp_gg_._use_primary_1rskp_gg_ {\n border-bottom: 1px solid #e0e1e9;\n}\n\n.___SColumn_1rskp_gg_.__groupHead_1rskp_gg_._use_secondary_1rskp_gg_ {\n border-bottom: 1px solid #e0e1e9;\n}\n\n.___SColumn_1rskp_gg_.__sortable_1rskp_gg_ {\n cursor: pointer\n}\n\n.___SColumn_1rskp_gg_.__sortable_1rskp_gg_._use_primary_1rskp_gg_:hover {\n background-color: #e0e1e9;\n }\n\n.___SColumn_1rskp_gg_.__active_1rskp_gg_._use_primary_1rskp_gg_ {\n background-color: #e0e1e9;\n}\n\n.___SColumn_1rskp_gg_.__resizable_1rskp_gg_:hover:after {\n background: #e0e1e9;\n }\n\n.___SColumn_1rskp_gg_.__resizable_1rskp_gg_:after {\n content: '';\n position: absolute;\n bottom: 0;\n right: -1px;\n height: 100vh;\n width: 1px;\n background: transparent;\n cursor: col-resize;\n }\n\n.___SColumn_1rskp_gg_.__fixed_1rskp_gg_ {\n position: sticky;\n /* because up resizable */\n z-index: 2;\n}\n\n.___SSortIcon_1rskp_gg_ {\n fill: #a9abb6;\n margin-left: 6px;\n}\n\n.___SSortIcon_1rskp_gg_.__active_1rskp_gg_ {\n fill: #8a8e9b;\n}\n\n.___SBodyWrapper_1rskp_gg_ {\n position: relative;\n}\n\n.___SBody_1rskp_gg_ {\n display: flex;\n flex-direction: column;\n position: relative;\n min-width: -moz-fit-content;\n min-width: fit-content;\n}\n\n.___SRow_1rskp_gg_ {\n display: flex;\n flex-direction: row;\n position: relative;\n}\n\n/* DEFAULT THEME */\n\n.___SRow_1rskp_gg_.__active_1rskp_gg_ > .___SCell_1rskp_gg_:not(.__theme_1rskp_gg_),\n.___SRow_1rskp_gg_:hover > .___SCell_1rskp_gg_:not(.__theme_1rskp_gg_),\n.___SRow_1rskp_gg_ .___SCell_1rskp_gg_:hover + .___SGroupCell_1rskp_gg_ .___SCell_1rskp_gg_:not(.__theme_1rskp_gg_) {\n background-color: rgb(240, 240, 244);\n}\n\n/* MUTED THEME */\n\n.___SRow_1rskp_gg_._theme_muted_1rskp_gg_ .___SCell_1rskp_gg_:not(.__theme_1rskp_gg_) {\n background-color: #f2f3f4;\n}\n\n.___SRow_1rskp_gg_:hover > .___SCell_1rskp_gg_._theme_muted_1rskp_gg_,\n.___SRow_1rskp_gg_._theme_muted_1rskp_gg_.__active_1rskp_gg_ > .___SCell_1rskp_gg_:not(.__theme_1rskp_gg_),\n.___SRow_1rskp_gg_._theme_muted_1rskp_gg_:hover > .___SCell_1rskp_gg_:not(.__theme_1rskp_gg_),\n.___SRow_1rskp_gg_._theme_muted_1rskp_gg_ .___SCell_1rskp_gg_:hover + .___SGroupCell_1rskp_gg_ .___SCell_1rskp_gg_:not(.__theme_1rskp_gg_) {\n background-color: #f6f7f7;\n}\n\n/* INFO THEME */\n\n.___SRow_1rskp_gg_._theme_info_1rskp_gg_ .___SCell_1rskp_gg_:not(.__theme_1rskp_gg_) {\n background-color: #e9f7ff;\n}\n\n.___SRow_1rskp_gg_:hover > .___SCell_1rskp_gg_._theme_info_1rskp_gg_,\n.___SRow_1rskp_gg_._theme_info_1rskp_gg_.__active_1rskp_gg_ > .___SCell_1rskp_gg_:not(.__theme_1rskp_gg_),\n.___SRow_1rskp_gg_._theme_info_1rskp_gg_:hover > .___SCell_1rskp_gg_:not(.__theme_1rskp_gg_),\n.___SRow_1rskp_gg_._theme_info_1rskp_gg_ .___SCell_1rskp_gg_:hover + .___SGroupCell_1rskp_gg_ .___SCell_1rskp_gg_:not(.__theme_1rskp_gg_) {\n background-color: #c4e5fe;\n}\n\n/* SUCCESS THEME */\n\n.___SRow_1rskp_gg_._theme_success_1rskp_gg_ .___SCell_1rskp_gg_:not(.__theme_1rskp_gg_) {\n background-color: #dbfee8;\n}\n\n.___SRow_1rskp_gg_:hover > .___SCell_1rskp_gg_._theme_success_1rskp_gg_,\n.___SRow_1rskp_gg_._theme_success_1rskp_gg_.__active_1rskp_gg_ > .___SCell_1rskp_gg_:not(.__theme_1rskp_gg_),\n.___SRow_1rskp_gg_._theme_success_1rskp_gg_:hover > .___SCell_1rskp_gg_:not(.__theme_1rskp_gg_),\n.___SRow_1rskp_gg_._theme_success_1rskp_gg_ .___SCell_1rskp_gg_:hover + .___SGroupCell_1rskp_gg_ .___SCell_1rskp_gg_:not(.__theme_1rskp_gg_) {\n background-color: #9ef2c9;\n}\n\n/* WARNING THEME */\n\n.___SRow_1rskp_gg_._theme_warning_1rskp_gg_ .___SCell_1rskp_gg_:not(.__theme_1rskp_gg_) {\n background-color: #fff3d9;\n}\n\n.___SRow_1rskp_gg_:hover > .___SCell_1rskp_gg_._theme_warning_1rskp_gg_,\n.___SRow_1rskp_gg_._theme_warning_1rskp_gg_.__active_1rskp_gg_ > .___SCell_1rskp_gg_:not(.__theme_1rskp_gg_),\n.___SRow_1rskp_gg_._theme_warning_1rskp_gg_:hover > .___SCell_1rskp_gg_:not(.__theme_1rskp_gg_),\n.___SRow_1rskp_gg_._theme_warning_1rskp_gg_ .___SCell_1rskp_gg_:hover + .___SGroupCell_1rskp_gg_ .___SCell_1rskp_gg_:not(.__theme_1rskp_gg_) {\n background-color: #ffdca2;\n}\n\n/* DANGER THEME */\n\n.___SRow_1rskp_gg_._theme_danger_1rskp_gg_ .___SCell_1rskp_gg_:not(.__theme_1rskp_gg_) {\n background-color: #fff0f7;\n}\n\n.___SRow_1rskp_gg_:hover > .___SCell_1rskp_gg_._theme_danger_1rskp_gg_,\n.___SRow_1rskp_gg_._theme_danger_1rskp_gg_.__active_1rskp_gg_ > .___SCell_1rskp_gg_:not(.__theme_1rskp_gg_),\n.___SRow_1rskp_gg_._theme_danger_1rskp_gg_:hover > .___SCell_1rskp_gg_:not(.__theme_1rskp_gg_),\n.___SRow_1rskp_gg_._theme_danger_1rskp_gg_ .___SCell_1rskp_gg_:hover + .___SGroupCell_1rskp_gg_ .___SCell_1rskp_gg_:not(.__theme_1rskp_gg_) {\n background-color: #ffd7df;\n}\n\n.___SRow_1rskp_gg_.__positioned_1rskp_gg_ {\n position: absolute;\n}\n\n.___SCell_1rskp_gg_ {\n display: flex;\n flex: 1;\n flex-basis: auto;\n font-size: 14px;\n line-height: 1.42;\n color: #191b23;\n box-sizing: border-box;\n border-bottom: 1px solid #e0e1e9;\n overflow: hidden;\n white-space: nowrap;\n}\n\n.___SCell_1rskp_gg_._use_primary_1rskp_gg_ {\n padding: 12px;\n min-height: 45px;\n background-color: #ffffff;\n}\n\n.___SCell_1rskp_gg_._use_secondary_1rskp_gg_ {\n padding: 8px;\n min-height: 37px;\n background-color: #ffffff;\n}\n\n.___SCell_1rskp_gg_.__fixed_1rskp_gg_ {\n position: sticky;\n z-index: 1;\n}\n\n.___SCell_1rskp_gg_._theme_muted_1rskp_gg_ {\n background-color: #f2f3f4;\n}\n\n.___SCell_1rskp_gg_._theme_info_1rskp_gg_ {\n background-color: #e9f7ff;\n}\n\n.___SCell_1rskp_gg_._theme_success_1rskp_gg_ {\n background-color: #dbfee8;\n}\n\n.___SCell_1rskp_gg_._theme_warning_1rskp_gg_ {\n background-color: #fff3d9;\n}\n\n.___SCell_1rskp_gg_._theme_danger_1rskp_gg_ {\n background-color: #fff0f7;\n}\n\n.___SScrollAreaBar_1rskp_gg_._orientation_horizontal_1rskp_gg_ {\n position: sticky;\n bottom: 0;\n left: 0;\n margin-top: -12px;\n z-index: 2;\n}\n\n.___SScrollAreaBar_1rskp_gg_._orientation_vertical_1rskp_gg_ {\n width: 12px;\n}\n\n.___SScrollAreaBar_1rskp_gg_._orientation_horizontal_1rskp_gg_ {\n margin-left: calc(var(--left_1rskp) + 4px);\n margin-right: calc(var(--right_1rskp) + 4px);\n width: calc(100% - var(--offsetSum_1rskp) - 8px);\n}\n\n.___SHeightHold_1rskp_gg_ {\n position: absolute;\n top: 0;\n width: 100%;\n pointer-events: none;\n /* should be under other layers */\n z-index: -1;\n}\n"
72
+ ":root {\n\n /* DEPRECATED START\n Deprecated variables should never be used in\n components styles but preserved for backward\n compatibility if they used in projects\n like `<Badge bg=\"red\">alpha</Badge>`\n */\n /* DEPRECATED END */\n}\n\n.___SDataTable_35v88_gg_ {\n position: relative;\n}\n\n.___SHeadWrapper_35v88_gg_ {\n position: relative;\n}\n\n.___SHeadWrapper_35v88_gg_.__sticky_35v88_gg_ {\n position: sticky;\n top: 0;\n z-index: 2;\n}\n\n.___SHead_35v88_gg_ {\n display: flex;\n position: relative;\n flex-direction: row;\n min-width: -moz-fit-content;\n min-width: fit-content;\n z-index: 0;\n}\n\n.___SColumn_35v88_gg_ {\n display: flex;\n align-items: center;\n flex-grow: 1;\n font-size: 12px;\n color: #191b23;\n box-sizing: border-box;\n position: relative\n}\n\n.___SColumn_35v88_gg_:focus {\n outline: none;\n box-shadow: 0 0 0 3px rgba(0, 143, 248, 0.2);\n }\n\n.___SColumn_35v88_gg_.__hidden_35v88_gg_ {\n height: 0 !important;\n padding: 0 !important;\n overflow: hidden !important;\n border: none !important;\n}\n\n.___SColumn_35v88_gg_._use_primary_35v88_gg_ {\n padding: 12px;\n border-right: 1px solid #e0e1e9;\n border-bottom: 1px solid #e0e1e9;\n background-color: #f4f5f9;\n}\n\n.___SColumn_35v88_gg_._use_secondary_35v88_gg_ {\n padding: 8px;\n border-bottom: 1px solid #a9abb6;\n background-color: #ffffff;\n}\n\n.___SColumn_35v88_gg_.__use_35v88_gg_:last-child {\n border-right: none;\n}\n\n.___SColumn_35v88_gg_.__group_35v88_gg_.__use_35v88_gg_ {\n display: flex;\n flex-wrap: wrap;\n flex-direction: column;\n align-items: normal;\n border-bottom: none;\n padding: 0;\n}\n\n.___SColumn_35v88_gg_.__groupHead_35v88_gg_.__use_35v88_gg_ {\n justify-content: center;\n border-right: none;\n /* for resizable */\n z-index: 1;\n}\n\n.___SColumn_35v88_gg_.__groupHead_35v88_gg_._use_primary_35v88_gg_ {\n border-bottom: 1px solid #e0e1e9;\n}\n\n.___SColumn_35v88_gg_.__groupHead_35v88_gg_._use_secondary_35v88_gg_ {\n border-bottom: 1px solid #e0e1e9;\n}\n\n.___SColumn_35v88_gg_.__sortable_35v88_gg_ {\n cursor: pointer\n}\n\n.___SColumn_35v88_gg_.__sortable_35v88_gg_._use_primary_35v88_gg_:hover {\n background-color: #e0e1e9;\n }\n\n.___SColumn_35v88_gg_.__active_35v88_gg_._use_primary_35v88_gg_ {\n background-color: #e0e1e9;\n}\n\n.___SColumn_35v88_gg_.__resizable_35v88_gg_:hover:after {\n background: #e0e1e9;\n }\n\n.___SColumn_35v88_gg_.__resizable_35v88_gg_:after {\n content: '';\n position: absolute;\n bottom: 0;\n right: -1px;\n height: 100vh;\n width: 1px;\n background: transparent;\n cursor: col-resize;\n }\n\n.___SColumn_35v88_gg_.__fixed_35v88_gg_ {\n position: sticky;\n /* because up resizable */\n z-index: 2;\n}\n\n.___SSortIcon_35v88_gg_ {\n fill: #a9abb6;\n margin-left: 6px;\n}\n\n.___SSortIcon_35v88_gg_.__active_35v88_gg_ {\n fill: #8a8e9b;\n}\n\n.___SBodyWrapper_35v88_gg_ {\n position: relative;\n}\n\n.___SBody_35v88_gg_ {\n display: flex;\n flex-direction: column;\n position: relative;\n min-width: -moz-fit-content;\n min-width: fit-content;\n}\n\n.___SRow_35v88_gg_ {\n display: flex;\n flex-direction: row;\n position: relative;\n}\n\n/* DEFAULT THEME */\n\n.___SRow_35v88_gg_.__active_35v88_gg_ > .___SCell_35v88_gg_:not(.__theme_35v88_gg_),\n.___SRow_35v88_gg_:hover > .___SCell_35v88_gg_:not(.__theme_35v88_gg_),\n.___SRow_35v88_gg_ .___SCell_35v88_gg_:hover + .___SGroupCell_35v88_gg_ .___SCell_35v88_gg_:not(.__theme_35v88_gg_) {\n background-color: rgb(240, 240, 244);\n}\n\n/* MUTED THEME */\n\n.___SRow_35v88_gg_._theme_muted_35v88_gg_ .___SCell_35v88_gg_:not(.__theme_35v88_gg_) {\n background-color: #f2f3f4;\n}\n\n.___SRow_35v88_gg_:hover > .___SCell_35v88_gg_._theme_muted_35v88_gg_,\n.___SRow_35v88_gg_._theme_muted_35v88_gg_.__active_35v88_gg_ > .___SCell_35v88_gg_:not(.__theme_35v88_gg_),\n.___SRow_35v88_gg_._theme_muted_35v88_gg_:hover > .___SCell_35v88_gg_:not(.__theme_35v88_gg_),\n.___SRow_35v88_gg_._theme_muted_35v88_gg_ .___SCell_35v88_gg_:hover + .___SGroupCell_35v88_gg_ .___SCell_35v88_gg_:not(.__theme_35v88_gg_) {\n background-color: #f6f7f7;\n}\n\n/* INFO THEME */\n\n.___SRow_35v88_gg_._theme_info_35v88_gg_ .___SCell_35v88_gg_:not(.__theme_35v88_gg_) {\n background-color: #e9f7ff;\n}\n\n.___SRow_35v88_gg_:hover > .___SCell_35v88_gg_._theme_info_35v88_gg_,\n.___SRow_35v88_gg_._theme_info_35v88_gg_.__active_35v88_gg_ > .___SCell_35v88_gg_:not(.__theme_35v88_gg_),\n.___SRow_35v88_gg_._theme_info_35v88_gg_:hover > .___SCell_35v88_gg_:not(.__theme_35v88_gg_),\n.___SRow_35v88_gg_._theme_info_35v88_gg_ .___SCell_35v88_gg_:hover + .___SGroupCell_35v88_gg_ .___SCell_35v88_gg_:not(.__theme_35v88_gg_) {\n background-color: #c4e5fe;\n}\n\n/* SUCCESS THEME */\n\n.___SRow_35v88_gg_._theme_success_35v88_gg_ .___SCell_35v88_gg_:not(.__theme_35v88_gg_) {\n background-color: #dbfee8;\n}\n\n.___SRow_35v88_gg_:hover > .___SCell_35v88_gg_._theme_success_35v88_gg_,\n.___SRow_35v88_gg_._theme_success_35v88_gg_.__active_35v88_gg_ > .___SCell_35v88_gg_:not(.__theme_35v88_gg_),\n.___SRow_35v88_gg_._theme_success_35v88_gg_:hover > .___SCell_35v88_gg_:not(.__theme_35v88_gg_),\n.___SRow_35v88_gg_._theme_success_35v88_gg_ .___SCell_35v88_gg_:hover + .___SGroupCell_35v88_gg_ .___SCell_35v88_gg_:not(.__theme_35v88_gg_) {\n background-color: #9ef2c9;\n}\n\n/* WARNING THEME */\n\n.___SRow_35v88_gg_._theme_warning_35v88_gg_ .___SCell_35v88_gg_:not(.__theme_35v88_gg_) {\n background-color: #fff3d9;\n}\n\n.___SRow_35v88_gg_:hover > .___SCell_35v88_gg_._theme_warning_35v88_gg_,\n.___SRow_35v88_gg_._theme_warning_35v88_gg_.__active_35v88_gg_ > .___SCell_35v88_gg_:not(.__theme_35v88_gg_),\n.___SRow_35v88_gg_._theme_warning_35v88_gg_:hover > .___SCell_35v88_gg_:not(.__theme_35v88_gg_),\n.___SRow_35v88_gg_._theme_warning_35v88_gg_ .___SCell_35v88_gg_:hover + .___SGroupCell_35v88_gg_ .___SCell_35v88_gg_:not(.__theme_35v88_gg_) {\n background-color: #ffdca2;\n}\n\n/* DANGER THEME */\n\n.___SRow_35v88_gg_._theme_danger_35v88_gg_ .___SCell_35v88_gg_:not(.__theme_35v88_gg_) {\n background-color: #fff0f7;\n}\n\n.___SRow_35v88_gg_:hover > .___SCell_35v88_gg_._theme_danger_35v88_gg_,\n.___SRow_35v88_gg_._theme_danger_35v88_gg_.__active_35v88_gg_ > .___SCell_35v88_gg_:not(.__theme_35v88_gg_),\n.___SRow_35v88_gg_._theme_danger_35v88_gg_:hover > .___SCell_35v88_gg_:not(.__theme_35v88_gg_),\n.___SRow_35v88_gg_._theme_danger_35v88_gg_ .___SCell_35v88_gg_:hover + .___SGroupCell_35v88_gg_ .___SCell_35v88_gg_:not(.__theme_35v88_gg_) {\n background-color: #ffd7df;\n}\n\n.___SRow_35v88_gg_.__positioned_35v88_gg_ {\n position: absolute;\n}\n\n.___SCell_35v88_gg_ {\n display: flex;\n flex: 1;\n flex-basis: auto;\n font-size: 14px;\n line-height: 1.42;\n color: #191b23;\n box-sizing: border-box;\n border-bottom: 1px solid #e0e1e9;\n overflow: hidden;\n white-space: nowrap;\n}\n\n.___SCell_35v88_gg_._use_primary_35v88_gg_ {\n padding: 12px;\n min-height: 45px;\n background-color: #ffffff;\n}\n\n.___SCell_35v88_gg_._use_secondary_35v88_gg_ {\n padding: 8px;\n min-height: 37px;\n background-color: #ffffff;\n}\n\n.___SCell_35v88_gg_.__fixed_35v88_gg_ {\n position: sticky;\n z-index: 1;\n}\n\n.___SCell_35v88_gg_._theme_muted_35v88_gg_ {\n background-color: #f2f3f4;\n}\n\n.___SCell_35v88_gg_._theme_info_35v88_gg_ {\n background-color: #e9f7ff;\n}\n\n.___SCell_35v88_gg_._theme_success_35v88_gg_ {\n background-color: #dbfee8;\n}\n\n.___SCell_35v88_gg_._theme_warning_35v88_gg_ {\n background-color: #fff3d9;\n}\n\n.___SCell_35v88_gg_._theme_danger_35v88_gg_ {\n background-color: #fff0f7;\n}\n\n.___SScrollAreaBar_35v88_gg_._orientation_horizontal_35v88_gg_ {\n position: sticky;\n bottom: 0;\n left: 0;\n margin-top: -12px;\n z-index: 2;\n}\n\n.___SScrollAreaBar_35v88_gg_._orientation_vertical_35v88_gg_ {\n width: 12px;\n}\n\n.___SScrollAreaBar_35v88_gg_._orientation_horizontal_35v88_gg_ {\n margin-left: calc(var(--left_35v88) + 4px);\n margin-right: calc(var(--right_35v88) + 4px);\n width: calc(100% - var(--offsetSum_35v88) - 8px);\n}\n\n.___SHeightHold_35v88_gg_ {\n position: absolute;\n top: 0;\n width: 100%;\n pointer-events: none;\n /* should be under other layers */\n z-index: -1;\n}\n"
73
73
  /*__inner_css_end__*/
74
- , "1rskp_gg_")
74
+ , "35v88_gg_")
75
75
  /*__reshadow_css_end__*/
76
76
  , {
77
- "__SDataTable": "___SDataTable_1rskp_gg_",
78
- "__SHeadWrapper": "___SHeadWrapper_1rskp_gg_",
79
- "_sticky": "__sticky_1rskp_gg_",
80
- "__SHead": "___SHead_1rskp_gg_",
81
- "__SColumn": "___SColumn_1rskp_gg_",
82
- "_hidden": "__hidden_1rskp_gg_",
83
- "_use_primary": "_use_primary_1rskp_gg_",
84
- "_use_secondary": "_use_secondary_1rskp_gg_",
85
- "_use": "__use_1rskp_gg_",
86
- "_group": "__group_1rskp_gg_",
87
- "_groupHead": "__groupHead_1rskp_gg_",
88
- "_sortable": "__sortable_1rskp_gg_",
89
- "_active": "__active_1rskp_gg_",
90
- "_resizable": "__resizable_1rskp_gg_",
91
- "_fixed": "__fixed_1rskp_gg_",
92
- "__SSortIcon": "___SSortIcon_1rskp_gg_",
93
- "__SBodyWrapper": "___SBodyWrapper_1rskp_gg_",
94
- "__SBody": "___SBody_1rskp_gg_",
95
- "__SRow": "___SRow_1rskp_gg_",
96
- "__SCell": "___SCell_1rskp_gg_",
97
- "_theme": "__theme_1rskp_gg_",
98
- "__SGroupCell": "___SGroupCell_1rskp_gg_",
99
- "_theme_muted": "_theme_muted_1rskp_gg_",
100
- "_theme_info": "_theme_info_1rskp_gg_",
101
- "_theme_success": "_theme_success_1rskp_gg_",
102
- "_theme_warning": "_theme_warning_1rskp_gg_",
103
- "_theme_danger": "_theme_danger_1rskp_gg_",
104
- "_positioned": "__positioned_1rskp_gg_",
105
- "__SScrollAreaBar": "___SScrollAreaBar_1rskp_gg_",
106
- "_orientation_horizontal": "_orientation_horizontal_1rskp_gg_",
107
- "_orientation_vertical": "_orientation_vertical_1rskp_gg_",
108
- "--left": "--left_1rskp",
109
- "--right": "--right_1rskp",
110
- "--offsetSum": "--offsetSum_1rskp",
111
- "__SHeightHold": "___SHeightHold_1rskp_gg_"
77
+ "__SDataTable": "___SDataTable_35v88_gg_",
78
+ "__SHeadWrapper": "___SHeadWrapper_35v88_gg_",
79
+ "_sticky": "__sticky_35v88_gg_",
80
+ "__SHead": "___SHead_35v88_gg_",
81
+ "__SColumn": "___SColumn_35v88_gg_",
82
+ "_hidden": "__hidden_35v88_gg_",
83
+ "_use_primary": "_use_primary_35v88_gg_",
84
+ "_use_secondary": "_use_secondary_35v88_gg_",
85
+ "_use": "__use_35v88_gg_",
86
+ "_group": "__group_35v88_gg_",
87
+ "_groupHead": "__groupHead_35v88_gg_",
88
+ "_sortable": "__sortable_35v88_gg_",
89
+ "_active": "__active_35v88_gg_",
90
+ "_resizable": "__resizable_35v88_gg_",
91
+ "_fixed": "__fixed_35v88_gg_",
92
+ "__SSortIcon": "___SSortIcon_35v88_gg_",
93
+ "__SBodyWrapper": "___SBodyWrapper_35v88_gg_",
94
+ "__SBody": "___SBody_35v88_gg_",
95
+ "__SRow": "___SRow_35v88_gg_",
96
+ "__SCell": "___SCell_35v88_gg_",
97
+ "_theme": "__theme_35v88_gg_",
98
+ "__SGroupCell": "___SGroupCell_35v88_gg_",
99
+ "_theme_muted": "_theme_muted_35v88_gg_",
100
+ "_theme_info": "_theme_info_35v88_gg_",
101
+ "_theme_success": "_theme_success_35v88_gg_",
102
+ "_theme_warning": "_theme_warning_35v88_gg_",
103
+ "_theme_danger": "_theme_danger_35v88_gg_",
104
+ "_positioned": "__positioned_35v88_gg_",
105
+ "__SScrollAreaBar": "___SScrollAreaBar_35v88_gg_",
106
+ "_orientation_horizontal": "_orientation_horizontal_35v88_gg_",
107
+ "_orientation_vertical": "_orientation_vertical_35v88_gg_",
108
+ "--left": "--left_35v88",
109
+ "--right": "--right_35v88",
110
+ "--offsetSum": "--offsetSum_35v88",
111
+ "__SHeightHold": "___SHeightHold_35v88_gg_"
112
112
  });
113
113
  var REVERSED_SORT_DIRECTION = {
114
114
  desc: 'asc',
@@ -173,26 +173,10 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
173
173
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
174
174
  var _column = _step.value;
175
175
 
176
- if (Array.isArray(_column.cssVar)) {
177
- var _iterator2 = _createForOfIteratorHelper(_column.cssVar),
178
- _step2;
176
+ if (_column.setVar) {
177
+ var _this$tableRef$curren2;
179
178
 
180
- try {
181
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
182
- var _this$tableRef$curren2;
183
-
184
- var cssVar = _step2.value;
185
- (_this$tableRef$curren2 = this.tableRef.current) === null || _this$tableRef$curren2 === void 0 ? void 0 : _this$tableRef$curren2.style.setProperty(cssVar, "".concat(_column.width, "px"));
186
- }
187
- } catch (err) {
188
- _iterator2.e(err);
189
- } finally {
190
- _iterator2.f();
191
- }
192
- } else {
193
- var _this$tableRef$curren3;
194
-
195
- (_this$tableRef$curren3 = this.tableRef.current) === null || _this$tableRef$curren3 === void 0 ? void 0 : _this$tableRef$curren3.style.setProperty(_column.cssVar, "".concat(_column.width, "px"));
179
+ (_this$tableRef$curren2 = this.tableRef.current) === null || _this$tableRef$curren2 === void 0 ? void 0 : _this$tableRef$curren2.style.setProperty(_column.varWidth, "".concat(_column.width, "px"));
196
180
  }
197
181
  }
198
182
  } catch (err) {
@@ -224,9 +208,10 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
224
208
  fixed = _ref3$fixed === void 0 ? options.fixed : _ref3$fixed,
225
209
  resizable = _ref3.resizable,
226
210
  sortable = _ref3.sortable,
211
+ flex = _ref3.flex,
227
212
  props = (0, _objectWithoutProperties2["default"])(_ref3, _excluded);
228
213
  var isGroup = !name;
229
- var columns = [];
214
+ var columns;
230
215
 
231
216
  if (isGroup) {
232
217
  columns = _this2.childrenToColumns(children, {
@@ -246,7 +231,7 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
246
231
  return column.name === name;
247
232
  });
248
233
 
249
- columnsChildren.push({
234
+ var columnChildren = {
250
235
  get width() {
251
236
  var _this$props$ref$curre;
252
237
 
@@ -254,22 +239,29 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
254
239
  },
255
240
 
256
241
  name: name,
257
- cssVar: createCssVarForWidth(name),
242
+ varWidth: createCssVarForWidth(name),
243
+ setVar: flex !== 'inherit',
258
244
  fixed: fixed,
259
245
  resizable: resizable,
260
246
  active: sort[0] === name,
261
247
  sortable: sortable,
262
248
  sortDirection: sort[0] === name ? sort[1] : (column === null || column === void 0 ? void 0 : column.sortDirection) || (typeof sortable == 'string' ? sortable : DEFAULT_SORT_DIRECTION),
263
- columns: columns,
264
249
  props: _objectSpread(_objectSpread({
265
- name: name
250
+ name: name,
251
+ flex: flex === 'inherit' ? undefined : flex
266
252
  }, props), {}, {
267
253
  // @ts-ignore
268
254
  forwardRef: child.ref,
269
255
  children: children,
270
256
  ref: (column === null || column === void 0 ? void 0 : (_column$props = column.props) === null || _column$props === void 0 ? void 0 : _column$props.ref) || /*#__PURE__*/_react["default"].createRef()
271
257
  })
272
- });
258
+ };
259
+
260
+ if (columns) {
261
+ columnChildren.columns = columns;
262
+ }
263
+
264
+ columnsChildren.push(columnChildren);
273
265
  });
274
266
 
275
267
  return columnsChildren;
@@ -346,12 +338,12 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
346
338
  var columnNames = rowKey.split('/');
347
339
 
348
340
  if (columnNames.length >= 2) {
349
- var _iterator3 = _createForOfIteratorHelper(columnNames),
350
- _step3;
341
+ var _iterator2 = _createForOfIteratorHelper(columnNames),
342
+ _step2;
351
343
 
352
344
  try {
353
- for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
354
- var _column2 = _step3.value;
345
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
346
+ var _column2 = _step2.value;
355
347
  groupByName[_column2] = {
356
348
  groupedColumns: columnNames,
357
349
  groupData: row[rowKey]
@@ -359,9 +351,9 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
359
351
  groupedColumns[rowKey] = true;
360
352
  }
361
353
  } catch (err) {
362
- _iterator3.e(err);
354
+ _iterator2.e(err);
363
355
  } finally {
364
- _iterator3.f();
356
+ _iterator2.f();
365
357
  }
366
358
  } else {
367
359
  ungroupedColumns[rowKey] = true;
@@ -394,7 +386,7 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
394
386
  } else if (column.name in row) {
395
387
  return {
396
388
  name: column.name,
397
- cssVar: column.cssVar,
389
+ cssVar: column.varWidth,
398
390
  fixed: column.fixed,
399
391
  data: row[column.name],
400
392
  cellPropsLayers: cellPropsLayers[column.name] || []
@@ -406,7 +398,7 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
406
398
  } else if (!exclude[column.name] && !rowsGroupedNames[column.name]) {
407
399
  return {
408
400
  name: column.name,
409
- cssVar: column.cssVar,
401
+ cssVar: column.varWidth,
410
402
  fixed: column.fixed,
411
403
  data: null,
412
404
  cellPropsLayers: cellPropsLayers[column.name] || []
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.js","names":["REVERSED_SORT_DIRECTION","desc","asc","DEFAULT_SORT_DIRECTION","ROW_GROUP","Symbol","cssVarReg","createCssVarForWidth","name","replace","RootDefinitionTable","props","React","createRef","event","column","columns","find","fire","active","sortDirection","forceUpdate","tableRef","current","scrollIntoView","block","inline","behavior","syncScroll","scrollBodyRef","scrollHeadRef","Array","isArray","cssVar","style","setProperty","width","children","options","fixed","undefined","sort","asProps","columnsChildren","Children","forEach","child","isValidElement","type","DefinitionTable","Column","resizable","sortable","isGroup","childrenToColumns","flattenColumns","map","join","length","toArray","filter","push","ref","getBoundingClientRect","forwardRef","use","$onSortClick","callAllEventHandlers","handlerSortClick","scrollToUp","onResize","handlerResize","$scrollRef","data","uniqueKey","cellPropsLayers","rowPropsLayers","other","Cell","split","childrenPropsGetter","Row","rows","dataToRows","parseData","exclude","row","groupByName","groupedColumns","ungroupedColumns","rowKey","columnNames","groupData","rowsGroup","rowsGroupedNames","Object","fromEntries","subRow","keys","flat","key","cells","flatRowData","setVarStyle","SDataTable","Box","styles","sstyled","Component","ComponentDefinition","createComponent","Head","Body"],"sources":["../../src/DataTable.tsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, PropGetterFn, Root, sstyled } from '@semcore/core';\nimport { Box, IBoxProps, IFlexProps } from '@semcore/flex-box';\nimport syncScroll from '@semcore/utils/lib/syncScroll';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport fire from '@semcore/utils/lib/fire';\nimport { flattenColumns } from './utils';\nimport type {\n Column,\n NestedCells,\n PropsLayer,\n PseudoChildPropsGetter,\n RowData,\n SortDirection,\n} from './types';\nimport Head from './Head';\nimport Body from './Body';\n\nimport style from './style/data-table.shadow.css';\n\nconst REVERSED_SORT_DIRECTION: { [direction in SortDirection]: SortDirection } = {\n desc: 'asc',\n asc: 'desc',\n};\nconst DEFAULT_SORT_DIRECTION: SortDirection = 'desc';\n\nconst ROW_GROUP = Symbol('ROW_GROUP');\n\nconst cssVarReg = /[:;]/g;\n\nconst createCssVarForWidth = (name: string) => {\n return `--${name.replace(cssVarReg, '_')}_width`;\n};\n\ntype AsProps = {\n use: 'primary' | 'secondary';\n sort: SortDirection[];\n data: RowData[];\n uniqueKey: string;\n};\n\ntype HeadAsProps = {\n children: React.ReactChild;\n};\ntype BodyAsProps = {\n children: React.ReactChild;\n};\n\n/* utils type */\ntype CProps<Props, Ctx = {}, UCProps = {}> = Props & {\n children?: ((props: Props & Ctx, handlers: UCProps) => React.ReactNode) | React.ReactNode;\n};\ntype ReturnEl = React.ReactElement | null;\ntype ChildRenderFn<Props> = Props & {\n children?: (props: Props, column: DataTableData, index: number) => { [key: string]: unknown };\n};\n/* utils type */\n\nexport type DataTableData = { [key: string]: unknown };\nexport type DataTableSort = [string, 'desc' | 'asc'];\nexport type DataTableTheme = 'muted' | 'info' | 'success' | 'warning' | 'danger';\nexport type DataTableUse = 'primary' | 'secondary';\nexport type DataTableRow = DataTableCell[];\nexport type DataTableCell = {\n /** Name of column */\n name: string;\n /** Data of column */\n data: React.ReactNode;\n [key: string]: unknown;\n};\n\nexport interface IDataTableProps extends IBoxProps {\n /** Theme for table\n * @default primary\n * */\n use?: DataTableUse;\n /** Data for table */\n data?: DataTableData[];\n /** Active sort object */\n sort?: DataTableSort;\n /** Handler call when will request change sort */\n onSortChange?: (sort: DataTableSort, e?: React.SyntheticEvent) => void;\n /** Field name in one data entity that is unique accross all set of data\n * @default id\n */\n uniqueKey?: string;\n}\n\nexport interface IDataTableHeadProps extends IBoxProps {\n /** Sticky header table\n * @deprecated\n * */\n sticky?: boolean;\n\n /** Hidden header */\n hidden?: boolean;\n}\n\nexport interface IDataTableColumnProps extends IFlexProps {\n /** Unique name column */\n name?: string;\n /** Enable sort for column also if you pass string you can set default sort */\n sortable?: boolean | 'desc' | 'asc';\n /** Enable resize for column\n * @ignore */\n resizable?: boolean;\n /** Fixed column on the left/right */\n fixed?: 'left' | 'right';\n}\n\nexport interface IDataTableBodyProps extends IBoxProps {\n /** Rows table */\n rows?: DataTableRow[];\n /** When enabled, only visually acessable rows are rendered.\n * `tollerance` property controls how many rows outside of viewport are render.\n * `rowHeight` fixes the rows height if it known. If not provided, first row node height is measured.\n * @default { tollerance: 2 }\n */\n virtualScroll?: boolean | { tollerance?: number; rowHeight?: number };\n /**\n * Called every time user scrolls area\n */\n onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;\n}\n\nexport interface IDataTableRowProps extends IBoxProps {\n /** Theme for row */\n theme?: DataTableTheme;\n /** Displays row as active/hover */\n active?: boolean;\n}\n\nexport interface IDataTableCellProps extends IFlexProps {\n /** Unique name column or columns separated by / */\n name: string;\n /** Theme for cell */\n theme?: DataTableTheme;\n}\n\nclass RootDefinitionTable extends Component<AsProps> {\n static displayName = 'DefinitionTable';\n\n static style = style;\n\n static defaultProps = {\n use: 'primary',\n uniqueKey: 'id',\n sort: [],\n data: [],\n } as AsProps;\n\n columns: Column[] = [];\n\n tableRef = React.createRef<HTMLElement>();\n scrollBodyRef: null | ReturnType<ReturnType<typeof syncScroll>> = null;\n scrollHeadRef: null | ReturnType<ReturnType<typeof syncScroll>> = null;\n\n constructor(props: AsProps) {\n super(props);\n\n const createRef = syncScroll();\n // first create body ref for master scroll\n this.scrollBodyRef = createRef('body');\n this.scrollHeadRef = createRef('head');\n }\n\n handlerSortClick = (name: string, event: React.MouseEvent) => {\n const column = this.columns.find((column) => column.name === name)!;\n return fire(\n this,\n 'onSortChange',\n [\n column.name,\n column.active ? REVERSED_SORT_DIRECTION[column.sortDirection] : column.sortDirection,\n ],\n event,\n );\n };\n\n handlerResize = () => {\n this.forceUpdate();\n };\n\n scrollToUp = () => {\n this.tableRef?.current?.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n behavior: 'smooth',\n });\n };\n\n setVarStyle(columns: Column[]) {\n for (const column of columns) {\n if (Array.isArray(column.cssVar)) {\n for (const cssVar of column.cssVar) {\n this.tableRef.current?.style.setProperty(cssVar, `${column.width}px`);\n }\n } else {\n this.tableRef.current?.style.setProperty(column.cssVar, `${column.width}px`);\n }\n }\n }\n\n childrenToColumns(\n children: React.ReactNode,\n options: { fixed?: 'left' | 'right' } = { fixed: undefined },\n ) {\n const { sort } = this.asProps;\n const columnsChildren: Column[] = [];\n React.Children.forEach(children, (child) => {\n if (!React.isValidElement(child)) return;\n if (child.type !== DefinitionTable.Column) return;\n\n let {\n children,\n name,\n fixed = options.fixed,\n resizable,\n sortable,\n ...props\n } = child.props as Column['props'];\n const isGroup = !name;\n let columns: Column[] = [];\n\n if (isGroup) {\n columns = this.childrenToColumns(children, { fixed });\n name = flattenColumns(columns)\n .map(({ name }) => name)\n .join('/');\n if (!columns.length) return;\n children = React.Children.toArray(children).filter(\n (child) => !(React.isValidElement(child) && child.type === DefinitionTable.Column),\n );\n }\n\n const column = this.columns.find((column) => column.name === name);\n columnsChildren.push({\n get width() {\n return this.props.ref.current?.getBoundingClientRect().width || 0;\n },\n name,\n cssVar: createCssVarForWidth(name),\n fixed,\n resizable,\n active: sort[0] === name,\n sortable,\n sortDirection:\n sort[0] === name\n ? sort[1]\n : column?.sortDirection ||\n (typeof sortable == 'string' ? sortable : DEFAULT_SORT_DIRECTION),\n columns,\n props: {\n name,\n ...props,\n // @ts-ignore\n forwardRef: child.ref,\n children,\n ref: column?.props?.ref || React.createRef(),\n },\n });\n });\n return columnsChildren;\n }\n\n getHeadProps(props: HeadAsProps) {\n const { use } = this.asProps;\n const columnsChildren = this.childrenToColumns(props.children);\n this.columns = flattenColumns(columnsChildren);\n return {\n $onSortClick: callAllEventHandlers(this.handlerSortClick, this.scrollToUp),\n columnsChildren,\n use,\n onResize: this.handlerResize,\n $scrollRef: this.scrollHeadRef,\n };\n }\n\n getBodyProps(props: BodyAsProps) {\n const { data, use, uniqueKey } = this.asProps;\n\n const cellPropsLayers: { [columnName: string]: PropsLayer[] } = {};\n const rowPropsLayers: PropsLayer[] = [];\n\n React.Children.forEach(props.children, (child) => {\n if (React.isValidElement(child)) {\n const { name, children, ...other } = child.props as {\n name?: string;\n children?: PseudoChildPropsGetter;\n } & { [propName: string]: unknown };\n if (child.type === DefinitionTable.Cell && name) {\n name.split('/').forEach((name) => {\n cellPropsLayers[name] = cellPropsLayers[name] || [];\n cellPropsLayers[name].push({\n ...other,\n childrenPropsGetter: children,\n });\n });\n }\n if (child.type === DefinitionTable.Row) {\n rowPropsLayers.push({\n ...other,\n childrenPropsGetter: children,\n });\n }\n }\n });\n\n return {\n columns: this.columns,\n rows: this.dataToRows(data, cellPropsLayers),\n uniqueKey,\n use,\n rowPropsLayers,\n $scrollRef: this.scrollBodyRef,\n };\n }\n\n dataToRows(data: RowData[], cellPropsLayers: { [columnName: string]: PropsLayer[] }) {\n const parseData = (data: RowData[], exclude: { [columnName: string]: true }) =>\n data.map((row) => {\n const groupByName: {\n [columnName: string]: {\n groupedColumns: string[];\n groupData: { [columnName: string]: unknown };\n };\n } = {};\n const groupedColumns: { [columnname: string]: true } = {};\n const ungroupedColumns: { [columnname: string]: true } = {};\n for (const rowKey in row) {\n const columnNames = rowKey.split('/');\n if (columnNames.length >= 2) {\n for (const column of columnNames) {\n groupByName[column] = {\n groupedColumns: columnNames,\n groupData: row[rowKey] as { [columnName: string]: unknown },\n };\n groupedColumns[rowKey] = true;\n }\n } else {\n ungroupedColumns[rowKey] = true;\n }\n }\n const rowsGroup = row[ROW_GROUP] || [];\n const rowsGroupedNames = Object.fromEntries(\n rowsGroup\n .map((subRow) => Object.keys(subRow))\n .flat()\n .map((key) => [key, true]),\n );\n\n let isGroup = false;\n\n const cells: NestedCells = this.columns\n .map((column) => {\n if (groupByName[column.name]) {\n const { groupedColumns, groupData } = groupByName[column.name];\n if (groupedColumns[0] === column.name) {\n return {\n name: groupedColumns.join('/'),\n cssVar: groupedColumns.map(createCssVarForWidth),\n fixed: column.fixed,\n data: groupData,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n } else if (column.name in row) {\n return {\n name: column.name,\n cssVar: column.cssVar,\n fixed: column.fixed,\n data: row[column.name],\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n } else if (!isGroup && rowsGroupedNames[column.name]) {\n // TODO: make it work not only with first group\n isGroup = true;\n return parseData(rowsGroup, {\n ...ungroupedColumns,\n ...groupedColumns,\n });\n } else if (!exclude[column.name] && !rowsGroupedNames[column.name]) {\n return {\n name: column.name,\n cssVar: column.cssVar,\n fixed: column.fixed,\n data: null,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n })\n .filter((column) => column !== undefined)\n .map((column) => column!);\n\n cells.flatRowData = row;\n return cells;\n });\n\n return parseData(data, {});\n }\n\n componentDidUpdate() {\n this.setVarStyle(this.columns);\n }\n\n render() {\n const SDataTable = Root;\n const { Children, styles, data } = this.asProps;\n\n return sstyled(styles)(\n <SDataTable\n render={Box}\n __excludeProps={['data']}\n ref={this.tableRef}\n role=\"table\"\n aria-rowcount={(data ?? []).length}\n >\n <Children />\n </SDataTable>,\n );\n }\n}\n\ninterface IDataTableCtx {\n getHeadProps: PropGetterFn;\n getBodyProps: PropGetterFn;\n}\n\nfunction ComponentDefinition() {\n return null;\n}\n\nconst DefinitionTable = createComponent(\n RootDefinitionTable,\n {\n Head,\n Body,\n Column: ComponentDefinition,\n Cell: ComponentDefinition,\n Row: ComponentDefinition,\n },\n {},\n) as (<T>(props: CProps<IDataTableProps & T, IDataTableCtx>) => ReturnEl) & {\n Head: <T>(props: IDataTableHeadProps & T) => ReturnEl;\n Body: <T>(props: IDataTableBodyProps & T) => ReturnEl;\n Column: <T>(props: IDataTableColumnProps & T) => ReturnEl;\n Cell: <T>(props: ChildRenderFn<IDataTableCellProps & T>) => ReturnEl;\n Row: <T>(props: ChildRenderFn<IDataTableRowProps & T>) => ReturnEl;\n};\n\nexport { ROW_GROUP };\nexport default DefinitionTable;\n"],"mappings":"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"}
1
+ {"version":3,"file":"DataTable.js","names":["REVERSED_SORT_DIRECTION","desc","asc","DEFAULT_SORT_DIRECTION","ROW_GROUP","Symbol","cssVarReg","createCssVarForWidth","name","replace","RootDefinitionTable","props","React","createRef","event","column","columns","find","fire","active","sortDirection","forceUpdate","tableRef","current","scrollIntoView","block","inline","behavior","syncScroll","scrollBodyRef","scrollHeadRef","setVar","style","setProperty","varWidth","width","children","options","fixed","undefined","sort","asProps","columnsChildren","Children","forEach","child","isValidElement","type","DefinitionTable","Column","resizable","sortable","flex","isGroup","childrenToColumns","flattenColumns","map","join","length","toArray","filter","columnChildren","ref","getBoundingClientRect","forwardRef","push","use","$onSortClick","callAllEventHandlers","handlerSortClick","scrollToUp","onResize","handlerResize","$scrollRef","data","uniqueKey","cellPropsLayers","rowPropsLayers","other","Cell","split","childrenPropsGetter","Row","rows","dataToRows","parseData","exclude","row","groupByName","groupedColumns","ungroupedColumns","rowKey","columnNames","groupData","rowsGroup","rowsGroupedNames","Object","fromEntries","subRow","keys","flat","key","cells","cssVar","flatRowData","setVarStyle","SDataTable","Box","styles","sstyled","Component","ComponentDefinition","createComponent","Head","Body"],"sources":["../../src/DataTable.tsx"],"sourcesContent":["import React from 'react';\nimport { Property } from 'csstype';\nimport createComponent, { Component, PropGetterFn, Root, sstyled } from '@semcore/core';\nimport { Box, IBoxProps, IFlexProps } from '@semcore/flex-box';\nimport syncScroll from '@semcore/utils/lib/syncScroll';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport fire from '@semcore/utils/lib/fire';\nimport { flattenColumns } from './utils';\nimport type {\n Column,\n NestedCells,\n PropsLayer,\n PseudoChildPropsGetter,\n RowData,\n SortDirection,\n} from './types';\nimport Head from './Head';\nimport Body from './Body';\n\nimport style from './style/data-table.shadow.css';\n\nconst REVERSED_SORT_DIRECTION: { [direction in SortDirection]: SortDirection } = {\n desc: 'asc',\n asc: 'desc',\n};\nconst DEFAULT_SORT_DIRECTION: SortDirection = 'desc';\n\nconst ROW_GROUP = Symbol('ROW_GROUP');\n\nconst cssVarReg = /[:;]/g;\n\nconst createCssVarForWidth = (name: string) => {\n return `--${name.replace(cssVarReg, '_')}_width`;\n};\n\ntype AsProps = {\n use: 'primary' | 'secondary';\n sort: SortDirection[];\n data: RowData[];\n uniqueKey: string;\n};\n\ntype HeadAsProps = {\n children: React.ReactChild;\n};\ntype BodyAsProps = {\n children: React.ReactChild;\n};\n\n/* utils type */\ntype CProps<Props, Ctx = {}, UCProps = {}> = Props & {\n children?: ((props: Props & Ctx, handlers: UCProps) => React.ReactNode) | React.ReactNode;\n};\ntype ReturnEl = React.ReactElement | null;\ntype ChildRenderFn<Props> = Props & {\n children?: (props: Props, column: DataTableData, index: number) => { [key: string]: unknown };\n};\n/* utils type */\n\nexport type DataTableData = { [key: string]: unknown };\nexport type DataTableSort = [string, 'desc' | 'asc'];\nexport type DataTableTheme = 'muted' | 'info' | 'success' | 'warning' | 'danger';\nexport type DataTableUse = 'primary' | 'secondary';\nexport type DataTableRow = DataTableCell[];\nexport type DataTableCell = {\n /** Name of column */\n name: string;\n /** Data of column */\n data: React.ReactNode;\n [key: string]: unknown;\n};\n\nexport interface IDataTableProps extends IBoxProps {\n /** Theme for table\n * @default primary\n * */\n use?: DataTableUse;\n /** Data for table */\n data?: DataTableData[];\n /** Active sort object */\n sort?: DataTableSort;\n /** Handler call when will request change sort */\n onSortChange?: (sort: DataTableSort, e?: React.SyntheticEvent) => void;\n /** Field name in one data entity that is unique accross all set of data\n * @default id\n */\n uniqueKey?: string;\n}\n\nexport interface IDataTableHeadProps extends IBoxProps {\n /** Sticky header table\n * @deprecated\n * */\n sticky?: boolean;\n\n /** Hidden header */\n hidden?: boolean;\n\n /** Disabled scroll */\n disabledScroll?: boolean;\n}\n\nexport interface IDataTableColumnProps extends IFlexProps {\n /** Unique name column */\n name?: string;\n /** Enable sort for column also if you pass string you can set default sort */\n sortable?: boolean | 'desc' | 'asc';\n /** Enable resize for column\n * @ignore */\n resizable?: boolean;\n /** Fixed column on the left/right */\n fixed?: 'left' | 'right';\n /** Fields to control the size of the column. */\n flex?: Property.Flex | 'inherit';\n}\n\nexport interface IDataTableBodyProps extends IBoxProps {\n /** Rows table */\n rows?: DataTableRow[];\n /** When enabled, only visually acessable rows are rendered.\n * `tollerance` property controls how many rows outside of viewport are render.\n * `rowHeight` fixes the rows height if it known. If not provided, first row node height is measured.\n * @default { tollerance: 2 }\n */\n virtualScroll?: boolean | { tollerance?: number; rowHeight?: number };\n /**\n * Called every time user scrolls area\n */\n onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;\n /** Disabled scroll */\n disabledScroll?: boolean;\n}\n\nexport interface IDataTableRowProps extends IBoxProps {\n /** Theme for row */\n theme?: DataTableTheme;\n /** Displays row as active/hover */\n active?: boolean;\n}\n\nexport interface IDataTableCellProps extends IFlexProps {\n /** Unique name column or columns separated by / */\n name: string;\n /** Theme for cell */\n theme?: DataTableTheme;\n}\n\nclass RootDefinitionTable extends Component<AsProps> {\n static displayName = 'DefinitionTable';\n\n static style = style;\n\n static defaultProps = {\n use: 'primary',\n uniqueKey: 'id',\n sort: [],\n data: [],\n } as AsProps;\n\n columns: Column[] = [];\n\n tableRef = React.createRef<HTMLElement>();\n scrollBodyRef: null | ReturnType<ReturnType<typeof syncScroll>> = null;\n scrollHeadRef: null | ReturnType<ReturnType<typeof syncScroll>> = null;\n\n constructor(props: AsProps) {\n super(props);\n\n const createRef = syncScroll();\n // first create body ref for master scroll\n this.scrollBodyRef = createRef('body');\n this.scrollHeadRef = createRef('head');\n }\n\n handlerSortClick = (name: string, event: React.MouseEvent) => {\n const column = this.columns.find((column) => column.name === name)!;\n return fire(\n this,\n 'onSortChange',\n [\n column.name,\n column.active ? REVERSED_SORT_DIRECTION[column.sortDirection] : column.sortDirection,\n ],\n event,\n );\n };\n\n handlerResize = () => {\n this.forceUpdate();\n };\n\n scrollToUp = () => {\n this.tableRef?.current?.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n behavior: 'smooth',\n });\n };\n\n setVarStyle(columns: Column[]) {\n for (const column of columns) {\n if (column.setVar) {\n this.tableRef.current?.style.setProperty(column.varWidth, `${column.width}px`);\n }\n }\n }\n\n childrenToColumns(\n children: React.ReactNode,\n options: { fixed?: 'left' | 'right' } = { fixed: undefined },\n ) {\n const { sort } = this.asProps;\n const columnsChildren: Column[] = [];\n React.Children.forEach(children, (child) => {\n if (!React.isValidElement(child)) return;\n if (child.type !== DefinitionTable.Column) return;\n\n let {\n children,\n name,\n fixed = options.fixed,\n resizable,\n sortable,\n flex,\n ...props\n } = child.props as Column['props'];\n const isGroup = !name;\n let columns: Column[] | undefined;\n\n if (isGroup) {\n columns = this.childrenToColumns(children, { fixed });\n name = flattenColumns(columns)\n .map(({ name }) => name)\n .join('/');\n if (!columns.length) return;\n children = React.Children.toArray(children).filter(\n (child) => !(React.isValidElement(child) && child.type === DefinitionTable.Column),\n );\n }\n\n const column = this.columns.find((column) => column.name === name);\n\n const columnChildren = {\n get width() {\n return this.props.ref.current?.getBoundingClientRect().width || 0;\n },\n name,\n varWidth: createCssVarForWidth(name),\n setVar: flex !== 'inherit',\n fixed,\n resizable,\n active: sort[0] === name,\n sortable,\n sortDirection:\n sort[0] === name\n ? sort[1]\n : column?.sortDirection ||\n (typeof sortable == 'string' ? sortable : DEFAULT_SORT_DIRECTION),\n props: {\n name,\n flex: flex === 'inherit' ? undefined : flex,\n ...props,\n // @ts-ignore\n forwardRef: child.ref,\n children,\n ref: column?.props?.ref || React.createRef(),\n },\n } as Column;\n\n if (columns) {\n columnChildren.columns = columns;\n }\n columnsChildren.push(columnChildren);\n });\n return columnsChildren;\n }\n\n getHeadProps(props: HeadAsProps) {\n const { use } = this.asProps;\n const columnsChildren = this.childrenToColumns(props.children);\n this.columns = flattenColumns(columnsChildren);\n return {\n $onSortClick: callAllEventHandlers(this.handlerSortClick, this.scrollToUp),\n columnsChildren,\n use,\n onResize: this.handlerResize,\n $scrollRef: this.scrollHeadRef,\n };\n }\n\n getBodyProps(props: BodyAsProps) {\n const { data, use, uniqueKey } = this.asProps;\n\n const cellPropsLayers: { [columnName: string]: PropsLayer[] } = {};\n const rowPropsLayers: PropsLayer[] = [];\n\n React.Children.forEach(props.children, (child) => {\n if (React.isValidElement(child)) {\n const { name, children, ...other } = child.props as {\n name?: string;\n children?: PseudoChildPropsGetter;\n } & { [propName: string]: unknown };\n if (child.type === DefinitionTable.Cell && name) {\n name.split('/').forEach((name) => {\n cellPropsLayers[name] = cellPropsLayers[name] || [];\n cellPropsLayers[name].push({\n ...other,\n childrenPropsGetter: children,\n });\n });\n }\n if (child.type === DefinitionTable.Row) {\n rowPropsLayers.push({\n ...other,\n childrenPropsGetter: children,\n });\n }\n }\n });\n\n return {\n columns: this.columns,\n rows: this.dataToRows(data, cellPropsLayers),\n uniqueKey,\n use,\n rowPropsLayers,\n $scrollRef: this.scrollBodyRef,\n };\n }\n\n dataToRows(data: RowData[], cellPropsLayers: { [columnName: string]: PropsLayer[] }) {\n const parseData = (data: RowData[], exclude: { [columnName: string]: true }) =>\n data.map((row) => {\n const groupByName: {\n [columnName: string]: {\n groupedColumns: string[];\n groupData: { [columnName: string]: unknown };\n };\n } = {};\n const groupedColumns: { [columnname: string]: true } = {};\n const ungroupedColumns: { [columnname: string]: true } = {};\n for (const rowKey in row) {\n const columnNames = rowKey.split('/');\n if (columnNames.length >= 2) {\n for (const column of columnNames) {\n groupByName[column] = {\n groupedColumns: columnNames,\n groupData: row[rowKey] as { [columnName: string]: unknown },\n };\n groupedColumns[rowKey] = true;\n }\n } else {\n ungroupedColumns[rowKey] = true;\n }\n }\n const rowsGroup = row[ROW_GROUP] || [];\n const rowsGroupedNames = Object.fromEntries(\n rowsGroup\n .map((subRow) => Object.keys(subRow))\n .flat()\n .map((key) => [key, true]),\n );\n\n let isGroup = false;\n\n const cells: NestedCells = this.columns\n .map((column) => {\n if (groupByName[column.name]) {\n const { groupedColumns, groupData } = groupByName[column.name];\n if (groupedColumns[0] === column.name) {\n return {\n name: groupedColumns.join('/'),\n cssVar: groupedColumns.map(createCssVarForWidth),\n fixed: column.fixed,\n data: groupData,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n } else if (column.name in row) {\n return {\n name: column.name,\n cssVar: column.varWidth,\n fixed: column.fixed,\n data: row[column.name],\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n } else if (!isGroup && rowsGroupedNames[column.name]) {\n // TODO: make it work not only with first group\n isGroup = true;\n return parseData(rowsGroup, {\n ...ungroupedColumns,\n ...groupedColumns,\n });\n } else if (!exclude[column.name] && !rowsGroupedNames[column.name]) {\n return {\n name: column.name,\n cssVar: column.varWidth,\n fixed: column.fixed,\n data: null,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n })\n .filter((column) => column !== undefined)\n .map((column) => column!);\n\n cells.flatRowData = row;\n return cells;\n });\n\n return parseData(data, {});\n }\n\n componentDidUpdate() {\n this.setVarStyle(this.columns);\n }\n\n render() {\n const SDataTable = Root;\n const { Children, styles, data } = this.asProps;\n\n return sstyled(styles)(\n <SDataTable\n render={Box}\n __excludeProps={['data']}\n ref={this.tableRef}\n role=\"table\"\n aria-rowcount={(data ?? []).length}\n >\n <Children />\n </SDataTable>,\n );\n }\n}\n\ninterface IDataTableCtx {\n getHeadProps: PropGetterFn;\n getBodyProps: PropGetterFn;\n}\n\nfunction ComponentDefinition() {\n return null;\n}\n\nconst DefinitionTable = createComponent(\n RootDefinitionTable,\n {\n Head,\n Body,\n Column: ComponentDefinition,\n Cell: ComponentDefinition,\n Row: ComponentDefinition,\n },\n {},\n) as (<T>(props: CProps<IDataTableProps & T, IDataTableCtx>) => ReturnEl) & {\n Head: <T>(props: IDataTableHeadProps & T) => ReturnEl;\n Body: <T>(props: IDataTableBodyProps & T) => ReturnEl;\n Column: <T>(props: IDataTableColumnProps & T) => ReturnEl;\n Cell: <T>(props: ChildRenderFn<IDataTableCellProps & T>) => ReturnEl;\n Row: <T>(props: ChildRenderFn<IDataTableRowProps & T>) => ReturnEl;\n};\n\nexport { ROW_GROUP };\nexport default DefinitionTable;\n"],"mappings":"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"}
package/lib/cjs/Head.js CHANGED
@@ -58,14 +58,16 @@ var scrollStyles = (
58
58
  /*__reshadow_css_start__*/
59
59
  _core.sstyled.insert(
60
60
  /*__inner_css_start__*/
61
- ".___SShadowHorizontal_1oufr_gg_:before {\n left: var(--left_1oufr) !important;\n}\n.___SShadowHorizontal_1oufr_gg_:after {\n right: var(--right_1oufr) !important;\n}\n"
61
+ ".___SShadowHorizontal_ki0ko_gg_:before {\n left: var(--left_ki0ko) !important;\n}\n.___SShadowHorizontal_ki0ko_gg_:after {\n right: var(--right_ki0ko) !important;\n}\n.___SContainer_ki0ko_gg_.__disabledScroll_ki0ko_gg_ {\n overflow: visible;\n}\n"
62
62
  /*__inner_css_end__*/
63
- , "1oufr_gg_")
63
+ , "ki0ko_gg_")
64
64
  /*__reshadow_css_end__*/
65
65
  , {
66
- "__SShadowHorizontal": "___SShadowHorizontal_1oufr_gg_",
67
- "--left": "--left_1oufr",
68
- "--right": "--right_1oufr"
66
+ "__SShadowHorizontal": "___SShadowHorizontal_ki0ko_gg_",
67
+ "--left": "--left_ki0ko",
68
+ "--right": "--right_ki0ko",
69
+ "__SContainer": "___SContainer_ki0ko_gg_",
70
+ "_disabledScroll": "__disabledScroll_ki0ko_gg_"
69
71
  });
70
72
  var SORTING_ICON = {
71
73
  desc: _m["default"],
@@ -154,6 +156,10 @@ var Head = /*#__PURE__*/function (_Component) {
154
156
  style[name] = value;
155
157
  }
156
158
 
159
+ if (!column.setVar) {
160
+ style['flexBasis'] = "var(".concat(column.varWidth, ")");
161
+ }
162
+
157
163
  return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SColumn, _ref2.cn("SColumn", _objectSpread(_objectSpread({
158
164
  "role": isGroup ? undefined : 'columnheader',
159
165
  "key": column.name,
@@ -193,7 +199,8 @@ var Head = /*#__PURE__*/function (_Component) {
193
199
  columnsChildren = _this$asProps2.columnsChildren,
194
200
  onResize = _this$asProps2.onResize,
195
201
  $scrollRef = _this$asProps2.$scrollRef,
196
- sticky = _this$asProps2.sticky;
202
+ sticky = _this$asProps2.sticky,
203
+ disabledScroll = _this$asProps2.disabledScroll;
197
204
  this.columns = (0, _utils.flattenColumns)(columnsChildren);
198
205
 
199
206
  var _getScrollOffsetValue = (0, _utils.getScrollOffsetValue)(this.columns),
@@ -213,7 +220,8 @@ var Head = /*#__PURE__*/function (_Component) {
213
220
  "shadow": true,
214
221
  "onResize": onResize
215
222
  }), /*#__PURE__*/_react["default"].createElement(_scrollArea["default"].Container, {
216
- ref: $scrollRef
223
+ ref: $scrollRef,
224
+ disabledScroll: disabledScroll
217
225
  }, /*#__PURE__*/_react["default"].createElement(SHead, _ref3.cn("SHead", _objectSpread({}, (0, _core.assignProps)({
218
226
  "role": "row"
219
227
  }, _ref))), this.renderColumns(columnsChildren, 100 / this.columns.length)))), Children.origin);