@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 +13 -0
- package/lib/cjs/Body.js +11 -7
- package/lib/cjs/Body.js.map +1 -1
- package/lib/cjs/DataTable.js +63 -71
- package/lib/cjs/DataTable.js.map +1 -1
- package/lib/cjs/Head.js +15 -7
- package/lib/cjs/Head.js.map +1 -1
- package/lib/cjs/style/scroll-area.shadow.css +4 -0
- package/lib/cjs/types.js.map +1 -1
- package/lib/es6/Body.js +11 -7
- package/lib/es6/Body.js.map +1 -1
- package/lib/es6/DataTable.js +63 -71
- package/lib/es6/DataTable.js.map +1 -1
- package/lib/es6/Head.js +15 -7
- package/lib/es6/Head.js.map +1 -1
- package/lib/es6/style/scroll-area.shadow.css +4 -0
- package/lib/es6/types.js.map +1 -1
- package/lib/types/Body.d.ts +1 -0
- package/lib/types/DataTable.d.ts +7 -0
- package/lib/types/Head.d.ts +1 -0
- package/lib/types/types.d.ts +6 -2
- package/package.json +2 -1
package/lib/cjs/Head.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Head.js","names":["SORTING_ICON","desc","SortDesc","asc","SortAsc","ariaSort","Head","name","event","asProps","$onSortClick","code","props","ref","setRef","forwardRef","columns","width","map","column","renderColumn","styles","use","hidden","SColumn","Flex","SHead","Box","SSortIcon","sortDirection","ariaSortValue","sortable","active","undefined","isGroup","length","cSize","flattenColumns","getFixedStyle","value","style","flexBasis","flex","sstyled","fixed","resizable","refColumn","callAllEventHandlers","onClick","bindHandlerSortClick","onKeyDown","bindHandlerKeyDown","children","renderColumns","SHeadWrapper","Children","columnsChildren","onResize","$scrollRef","sticky","getScrollOffsetValue","offsetLeftSum","offsetRightSum","logger","warn","displayName","scrollStyles","origin","Component"],"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 ['data-ui-name']: 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 } = this.asProps;\n const SColumn = Flex;\n const SHead = Box;\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 return sstyled(styles)(\n <SColumn\n role={isGroup ? undefined : 'columnheader'}\n key={column.name}\n use={use}\n fixed={column.fixed}\n resizable={column.resizable}\n sortable={column.sortable}\n active={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 role=\"columnheader\" groupHead use={use}>\n <div>{column.props.children}</div>\n </SColumn>\n <SHead>{this.renderColumns(column.columns, 100 / cSize)}</SHead>\n </>\n ) : (\n <>\n <div>{column.props.children}</div>\n {column.sortable ? <SSortIcon active={column.active} /> : 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 } = 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}>\n <SHead render={Box} role=\"row\">\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":["SORTING_ICON","desc","SortDesc","asc","SortAsc","ariaSort","Head","name","event","asProps","$onSortClick","code","props","ref","setRef","forwardRef","columns","width","map","column","renderColumn","styles","use","hidden","SColumn","Flex","SHead","Box","SSortIcon","sortDirection","ariaSortValue","sortable","active","undefined","isGroup","length","cSize","flattenColumns","getFixedStyle","value","style","flexBasis","flex","setVar","varWidth","sstyled","fixed","resizable","refColumn","callAllEventHandlers","onClick","bindHandlerSortClick","onKeyDown","bindHandlerKeyDown","children","renderColumns","SHeadWrapper","Children","columnsChildren","onResize","$scrollRef","sticky","disabledScroll","getScrollOffsetValue","offsetLeftSum","offsetRightSum","logger","warn","displayName","scrollStyles","origin","Component"],"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};\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 } = this.asProps;\n const SColumn = Flex;\n const SHead = Box;\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 key={column.name}\n use={use}\n fixed={column.fixed}\n resizable={column.resizable}\n sortable={column.sortable}\n active={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 role=\"columnheader\" groupHead use={use}>\n <div>{column.props.children}</div>\n </SColumn>\n <SHead>{this.renderColumns(column.columns, 100 / cSize)}</SHead>\n </>\n ) : (\n <>\n <div>{column.props.children}</div>\n {column.sortable ? <SSortIcon active={column.active} /> : 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\">\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/cjs/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../src/types.ts"],"sourcesContent":["import React from 'react';\nimport { ROW_GROUP } from './DataTable';\n\nexport type PseudoChildPropsGetter = (\n props: { [propName: string]: unknown },\n rowData: { [columnName: string]: unknown },\n index: number,\n) => { [propName: string]: unknown };\nexport type PropsLayer = {\n childrenPropsGetter?: PseudoChildPropsGetter;\n [propName: string]: unknown;\n};\n\nexport type SortDirection = 'asc' | 'desc';\nexport type Column<\n Props extends { [propName: string]: unknown } = { [propName: string]: unknown },\n> = {\n name: string;\n active: boolean;\n width: number;\n fixed?: 'left' | 'right';\n resizable?: boolean;\n sortable?: boolean | SortDirection;\n sortDirection: SortDirection;\n
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../src/types.ts"],"sourcesContent":["import React from 'react';\nimport { ROW_GROUP } from './DataTable';\nimport { Property } from 'csstype';\n\nexport type PseudoChildPropsGetter = (\n props: { [propName: string]: unknown },\n rowData: { [columnName: string]: unknown },\n index: number,\n) => { [propName: string]: unknown };\nexport type PropsLayer = {\n childrenPropsGetter?: PseudoChildPropsGetter;\n [propName: string]: unknown;\n};\n\nexport type SortDirection = 'asc' | 'desc';\nexport type Column<\n Props extends { [propName: string]: unknown } = { [propName: string]: unknown },\n> = {\n name: string;\n active: boolean;\n width: number;\n fixed?: 'left' | 'right';\n resizable?: boolean;\n sortable?: boolean | SortDirection;\n sortDirection: SortDirection;\n varWidth: string;\n setVar: boolean;\n data?: unknown;\n props: {\n name: string;\n ref: React.RefObject<HTMLElement>;\n } & Partial<{\n flex: Property.Flex;\n onClick: (event: React.MouseEvent) => void;\n onKeyDown: (event: React.KeyboardEvent) => void;\n forwardRef: React.Ref<HTMLElement>;\n style: React.CSSProperties;\n fixed: 'left' | 'right';\n children: React.ReactNode[];\n resizable: boolean;\n sortable: boolean | SortDirection;\n sortDirection: SortDirection;\n }> &\n Props;\n columns: Column[];\n};\nexport type Cell = Pick<Column, 'name' | 'fixed' | 'data'> & {\n cssVar: string | string[];\n cellPropsLayers: PropsLayer[];\n};\nexport type RowData<\n Data extends { [columnName: string]: unknown } = { [columnName: string]: unknown },\n> = Data &\n Partial<{\n name: string;\n [ROW_GROUP]: RowData[];\n }>;\nexport type NestedCells = (Cell | NestedCells)[] & { flatRowData?: RowData };\n"],"mappings":";;AACA"}
|
package/lib/es6/Body.js
CHANGED
|
@@ -40,14 +40,16 @@ var scrollStyles = (
|
|
|
40
40
|
/*__reshadow_css_start__*/
|
|
41
41
|
_sstyled.insert(
|
|
42
42
|
/*__inner_css_start__*/
|
|
43
|
-
".
|
|
43
|
+
".___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"
|
|
44
44
|
/*__inner_css_end__*/
|
|
45
|
-
, "
|
|
45
|
+
, "ki0ko_gg_")
|
|
46
46
|
/*__reshadow_css_end__*/
|
|
47
47
|
, {
|
|
48
|
-
"__SShadowHorizontal": "
|
|
49
|
-
"--left": "--
|
|
50
|
-
"--right": "--
|
|
48
|
+
"__SShadowHorizontal": "___SShadowHorizontal_ki0ko_gg_",
|
|
49
|
+
"--left": "--left_ki0ko",
|
|
50
|
+
"--right": "--right_ki0ko",
|
|
51
|
+
"__SContainer": "___SContainer_ki0ko_gg_",
|
|
52
|
+
"_disabledScroll": "__disabledScroll_ki0ko_gg_"
|
|
51
53
|
});
|
|
52
54
|
import trottle from '@semcore/utils/lib/rafTrottle';
|
|
53
55
|
var testEnv = process.env.NODE_ENV === 'test';
|
|
@@ -362,7 +364,8 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
362
364
|
$scrollRef = _this$asProps3.$scrollRef,
|
|
363
365
|
virtualScroll = _this$asProps3.virtualScroll,
|
|
364
366
|
onResize = _this$asProps3.onResize,
|
|
365
|
-
onScroll = _this$asProps3.onScroll
|
|
367
|
+
onScroll = _this$asProps3.onScroll,
|
|
368
|
+
disabledScroll = _this$asProps3.disabledScroll;
|
|
366
369
|
var columnsInitialized = columns.reduce(function (sum, _ref10) {
|
|
367
370
|
var width = _ref10.width;
|
|
368
371
|
return sum + width;
|
|
@@ -391,7 +394,8 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
391
394
|
"onResize": callAllEventHandlers(onResize, this.handleScrollAreaResize),
|
|
392
395
|
"onScroll": callAllEventHandlers(onScroll, this.handleScrollAreaScroll)
|
|
393
396
|
}), /*#__PURE__*/React.createElement(ScrollArea.Container, {
|
|
394
|
-
ref: $scrollRef
|
|
397
|
+
ref: $scrollRef,
|
|
398
|
+
disabledScroll: disabledScroll
|
|
395
399
|
}, /*#__PURE__*/React.createElement(SBody, _ref5.cn("SBody", _objectSpread({}, _assignProps({
|
|
396
400
|
"role": "rowgroup"
|
|
397
401
|
}, _ref))), holdHeight && /*#__PURE__*/React.createElement(SHeightHold, _ref5.cn("SHeightHold", {
|
package/lib/es6/Body.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Body.js","names":["React","Component","sstyled","Root","Box","Flex","ScrollArea","getFixedStyle","getScrollOffsetValue","assignProps","callAllEventHandlers","ResizeObserver","trottle","testEnv","process","env","NODE_ENV","getCellsByColumn","cells","flattenCells","flat","Object","fromEntries","map","cell","name","data","Body","rowHeight","undefined","scrollAreaHeight","scrollOffset","createRef","virtualScroll","asProps","rowHeightFromProps","state","entries","contentRect","height","setState","oldState","event","target","scrollTop","firstRowRef","current","firstRowResizeObserver","handleFirstRowResize","observe","rowData","index","SCell","styles","columns","use","Array","isArray","SGroupCell","renderRows","column","find","c","value","vars","cssVar","props","children","justifyContent","style","width","length","join","cellPropsLayers","cellPropLayer","childrenPropsGetter","p","other","propsCell","fixed","theme","dataIndex","topOffset","nested","SRow","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","Bar","SHeightHold","Children","$scrollRef","onResize","onScroll","columnsInitialized","reduce","sum","offsetLeftSum","offsetRightSum","offsetSum","holdHeight","Promise","setupRowSizeObserver","scrollStyles","handleScrollAreaResize","handleScrollAreaScroll","renderVirtualizedRows","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};\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":["React","Component","sstyled","Root","Box","Flex","ScrollArea","getFixedStyle","getScrollOffsetValue","assignProps","callAllEventHandlers","ResizeObserver","trottle","testEnv","process","env","NODE_ENV","getCellsByColumn","cells","flattenCells","flat","Object","fromEntries","map","cell","name","data","Body","rowHeight","undefined","scrollAreaHeight","scrollOffset","createRef","virtualScroll","asProps","rowHeightFromProps","state","entries","contentRect","height","setState","oldState","event","target","scrollTop","firstRowRef","current","firstRowResizeObserver","handleFirstRowResize","observe","rowData","index","SCell","styles","columns","use","Array","isArray","SGroupCell","renderRows","column","find","c","value","vars","cssVar","props","children","justifyContent","style","width","length","join","cellPropsLayers","cellPropLayer","childrenPropsGetter","p","other","propsCell","fixed","theme","dataIndex","topOffset","nested","SRow","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","Bar","SHeightHold","Children","$scrollRef","onResize","onScroll","disabledScroll","columnsInitialized","reduce","sum","offsetLeftSum","offsetRightSum","offsetSum","holdHeight","Promise","setupRowSizeObserver","scrollStyles","handleScrollAreaResize","handleScrollAreaScroll","renderVirtualizedRows","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};\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,SAAT,EAAoBC,OAApB,EAA6BC,IAA7B,QAAyC,eAAzC;AACA,SAASC,GAAT,EAAcC,IAAd,QAAqC,mBAArC;AACA,OAAOC,UAAP,MAAuB,sBAAvB;AACA,SAASC,aAAT,EAAwBC,oBAAxB,QAAoD,SAApD;AAEA,OAAOC,WAAP,IAAsBC,oBAAtB,QAAkD,gCAAlD;AACA,OAAOC,cAAP,MAA2B,0BAA3B;;;;;;;;;;;;;;;;;;AAGA,OAAOC,OAAP,MAAoB,+BAApB;AAEA,IAAMC,OAAO,GAAGC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,MAAzC;;AAEA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,KAAD,EAAiC;EACxD,IAAMC,YAAY,GAAGD,KAAK,CAACE,IAAN,CAAW,EAAX,CAArB;EACA,OAAOC,MAAM,CAACC,WAAP,CAAmBH,YAAY,CAACI,GAAb,CAAiB,UAACC,IAAD;IAAA,OAAU,CAACA,IAAI,CAACC,IAAN,EAAYD,IAAI,CAACE,IAAjB,CAAV;EAAA,CAAjB,CAAnB,CAAP;AACD,CAHD;;IAwBMC,I;;;;;;;;;;;;;;;;4DACW;MACbC,SAAS,EAAEC,SADE;MAEbC,gBAAgB,EAAED,SAFL;MAGbE,YAAY,EAAE;IAHD,C;;+EAMD/B,KAAK,CAACgC,SAAN,E;;6EACkC,I;;mEAEjC,YAAM;MACnB,IAAQC,aAAR,GAA0B,MAAKC,OAA/B,CAAQD,aAAR;MACA,IAAME,kBAAkB,GAAG,QAAOF,aAAP,MAAyB,QAAzB,KAAqCA,aAArC,aAAqCA,aAArC,uBAAqCA,aAAa,CAAEL,SAApD,CAA3B;MACA,OAAOO,kBAAkB,IAAI,MAAKC,KAAL,CAAWR,SAAxC;IACD,C;;2EA8HsBhB,OAAO,CAAC,UAACyB,OAAD,EAAoC;MACjE,IAAQC,WAAR,GAAwBD,OAAO,CAAC,CAAD,CAA/B,CAAQC,WAAR;MACA,IAAQC,MAAR,GAAmBD,WAAnB,CAAQC,MAAR;;MACA,MAAKC,QAAL,CAAc,UAACC,QAAD,EAAqB;QACjC,IAAIA,QAAQ,CAACb,SAAT,KAAuBW,MAA3B,EAAmC,OAAOE,QAAP;QACnC,OAAO;UAAEb,SAAS,EAAEW;QAAb,CAAP;MACD,CAHD;IAID,CAP6B,C;;6EASL3B,OAAO,CAAC,UAACyB,OAAD,EAAoC;MACnE,IAAQJ,aAAR,GAA0B,MAAKC,OAA/B,CAAQD,aAAR;MACA,IAAI,CAACA,aAAL,EAAoB;MACpB,IAAQK,WAAR,GAAwBD,OAAO,CAAC,CAAD,CAA/B,CAAQC,WAAR;MACA,IAAQC,MAAR,GAAmBD,WAAnB,CAAQC,MAAR;;MACA,MAAKC,QAAL,CAAc,UAACC,QAAD,EAAqB;QACjC,IAAIA,QAAQ,CAACX,gBAAT,KAA8BS,MAAlC,EAA0C,OAAOE,QAAP;QAC1C,OAAO;UAAEX,gBAAgB,EAAES;QAApB,CAAP;MACD,CAHD;IAID,CAT+B,C;;6EAWP,UAACG,KAAD,EAA8C;MACrE,YAAsBA,KAAK,CAACC,MAA5B;MAAA,IAAQC,SAAR,SAAQA,SAAR;MACA,IAAQX,aAAR,GAA0B,MAAKC,OAA/B,CAAQD,aAAR;;MACA,IAAIA,aAAJ,EAAmB;QACjB,MAAKO,QAAL,CAAc,UAACC,QAAD,EAAqB;UACjC,IAAIA,QAAQ,CAACV,YAAT,KAA0Ba,SAA9B,EAAyC,OAAOH,QAAP;UACzC,OAAO;YAAEV,YAAY,EAAEa;UAAhB,CAAP;QACD,CAHD;MAID;IACF,C;;2EAEsB,YAAM;MAC3B,IAAI,CAAC,MAAKC,WAAL,CAAiBC,OAAtB,EAA+B;MAC/B,IAAI,CAAC,MAAKZ,OAAL,CAAaD,aAAlB,EAAiC;MACjC,MAAKc,sBAAL,GAA8B,IAAIpC,cAAJ,CAAmB,MAAKqC,oBAAxB,CAA9B;;MACA,MAAKD,sBAAL,CAA4BE,OAA5B,CAAoC,MAAKJ,WAAL,CAAiBC,OAArD;IACD,C;;;;;;;WAhKD,qBAAY5B,KAAZ,EAAgCgC,OAAhC,EAAkDC,KAAlD,EAAiE;MAAA;;MAC/D,IAAMC,KAAK,GAAG/C,IAAd;MACA,oBAAiC,KAAK6B,OAAtC;MAAA,IAAQmB,MAAR,iBAAQA,MAAR;MAAA,IAAgBC,OAAhB,iBAAgBA,OAAhB;MAAA,IAAyBC,GAAzB,iBAAyBA,GAAzB;MACA,OAAOrC,KAAK,CAACK,GAAN,CAAU,UAACC,IAAD,EAAU;QACzB,IAAIgC,KAAK,CAACC,OAAN,CAAcjC,IAAd,CAAJ,EAAyB;UAAA;;UACvB,IAAMkC,UAAU,GAAG,KAAnB;UACA,eAAOxD,OAAO,CAACmD,MAAD,CAAd,eACE,oBAAC,UAAD;YAAA,QAAiB,UAAjB;YAAA,gBAAyC;UAAzC,IACG,MAAI,CAACM,UAAL,CAAgBnC,IAAhB,CADH,CADF;QAKD,CAPD,MAOO;UAAA;;UACL,IAAMoC,MAAM,GAAGN,OAAO,CAACO,IAAR,CAAa,UAACC,CAAD;YAAA,OAAOA,CAAC,CAACrC,IAAF,KAAWD,IAAI,CAACC,IAAvB;UAAA,CAAb,CAAf;;UACA,qBAAsBlB,aAAa,CAACiB,IAAD,EAAO8B,OAAP,CAAnC;UAAA;UAAA,IAAO7B,IAAP;UAAA,IAAasC,KAAb;;UACA,IAAMC,IAAI,GAAG,CAACR,KAAK,CAACC,OAAN,CAAcjC,IAAI,CAACyC,MAAnB,IAA6BzC,IAAI,CAACyC,MAAlC,GAA2C,CAACzC,IAAI,CAACyC,MAAN,CAA5C,EAA2D1C,GAA3D,CACX,UAACE,IAAD;YAAA,qBAAiBA,IAAjB;UAAA,CADW,CAAb;UASA,IAAIyC,KAAgB,GAAG;YACrBzC,IAAI,EAAED,IAAI,CAACC,IADU;YAErB0C,QAAQ,eAAE,0CAAG3C,IAAI,CAACE,IAAR,CAFW;YAGrB0C,cAAc,EAAER,MAAF,aAAEA,MAAF,wCAAEA,MAAM,CAAEM,KAAV,kDAAE,cAAeE,cAHV;YAIrBC,KAAK,EAAE;cACLC,KAAK,EAAEN,IAAI,CAACO,MAAL,KAAgB,CAAhB,GAAoBP,IAAI,CAAC,CAAD,CAAxB,kBAAsCA,IAAI,CAACQ,IAAL,CAAU,KAAV,CAAtC;YADF;UAJc,CAAvB;;UAQA,IAAI/C,IAAI,KAAKI,SAAT,IAAsBkC,KAAK,KAAKlC,SAApC,EAA+C;YAC7CqC,KAAK,CAACG,KAAN,CAAY5C,IAAZ,IAAoBsC,KAApB;UACD;;UAtBI,2CAwBuBvC,IAAI,CAACiD,eAAL,IAAwB,EAxB/C;UAAA;;UAAA;YAwBL,oDAAwD;cAAA,IAA7CC,aAA6C;;cACtD,4BAAqDA,aAArD,CAAQC,mBAAR;cAAA,IAAQA,mBAAR,sCAA8B,UAACC,CAAD;gBAAA,OAAOA,CAAP;cAAA,CAA9B;cAAA,IAA2CC,KAA3C,4BAAqDH,aAArD;;cACA,IAAMI,SAAS,GAAGrE,WAAW,CAACoE,KAAD,EAAQX,KAAR,CAA7B;cACAA,KAAK,GAAGzD,WAAW,CAACkE,mBAAmB,CAACG,SAAD,EAAY5B,OAAZ,EAAqBC,KAArB,CAApB,EAAiD2B,SAAjD,CAAnB;YACD;UA5BI;YAAA;UAAA;YAAA;UAAA;;UA8BL,eAAO5E,OAAO,CAACmD,MAAD,CAAd,eACE,oBAAC,KAAD;YAAA,OACO7B,IAAI,CAACC,IADZ;YAAA,QAEO;UAFP,GAGMyC,KAHN;YAAA,SAIS1C,IAAI,CAACuD,KAJd;YAAA,SAKSb,KAAK,CAACc,KALf;YAAA,OAMOzB;UANP,IADF;QAUD;MACF,CAjDM,EAiDJ,EAjDI,CAAP;IAkDD;;;WAED,mBACErC,KADF,SAGE;MAAA;;MAAA,IADE+D,SACF,SADEA,SACF;MAAA,IADaC,SACb,SADaA,SACb;MAAA,IADwBC,MACxB,SADwBA,MACxB;MACA,IAAMC,IAAI,GAAGhF,GAAb;MACA,qBAA6D,KAAK8B,OAAlE;MAAA,IAAQmB,MAAR,kBAAQA,MAAR;MAAA,IAAgBgC,cAAhB,kBAAgBA,cAAhB;MAAA,IAAgCC,SAAhC,kBAAgCA,SAAhC;MAAA,IAA2CrD,aAA3C,kBAA2CA,aAA3C;MACA,IAAME,kBAAkB,GAAG,QAAOF,aAAP,MAAyB,QAAzB,KAAqCA,aAArC,aAAqCA,aAArC,uBAAqCA,aAAa,CAAEL,SAApD,CAA3B;MAEA,IAAMsB,OAAO,GAAGhC,KAAK,CAACqE,WAAN,IAAqBtE,gBAAgB,CAACC,KAAD,CAArD;MACA,IAAMsE,GAAG,GAAGtC,OAAO,CAACoC,SAAD,CAAP,GAAqBG,MAAM,CAACvC,OAAO,CAACoC,SAAD,CAAR,CAA3B,iBAAyDL,SAAzD,CAAZ;MACA,IAAMS,mBAAmB,GAAGT,SAAS,KAAK,CAAd,IAAmB,CAACE,MAApB,IAA8B,CAAChD,kBAA3D;MAEA,IAAI+B,KAAK,GAAG;QACVC,QAAQ,EAAE,KAAKwB,WAAL,CAAiBzE,KAAjB,EAAwBgC,OAAxB,EAAiC+B,SAAjC,CADA;QAEVD,KAAK,EAAEnD,SAFG;QAGV+D,MAAM,EAAE/D,SAHE;QAIVgE,UAAU,EAAEX,SAAS,KAAKrD,SAJhB;QAKViE,GAAG,EAAEZ,SALK;QAMVa,GAAG,EAAEL,mBAAmB,GAAG,KAAK7C,WAAR,GAAsBhB,SANpC;QAOV2D,GAAG,EAAHA,GAPU;QAQV,iBAAiBP,SAAS,GAAG;MARnB,CAAZ;;MATA,4CAoB4BI,cApB5B;MAAA;;MAAA;QAoBA,uDAA4C;UAAA,IAAjCW,aAAiC;;UAC1C,4BAAqDA,aAArD,CAAQrB,mBAAR;UAAA,IAAQA,mBAAR,sCAA8B,UAACC,CAAD;YAAA,OAAOA,CAAP;UAAA,CAA9B;UAAA,IAA2CC,KAA3C,4BAAqDmB,aAArD;;UACA,IAAMC,QAAQ,GAAGxF,WAAW,CAACoE,KAAD,EAAQX,KAAR,CAA5B;UACAA,KAAK,GAAGzD,WAAW,CAACkE,mBAAmB,CAACsB,QAAD,EAAW/C,OAAX,EAAoB+B,SAApB,CAApB,EAAoDgB,QAApD,CAAnB;QACD;MAxBD;QAAA;MAAA;QAAA;MAAA;;MA0BA,eAAO/F,OAAO,CAACmD,MAAD,CAAd,eAAuB,oBAAC,IAAD;QAAA,QAAW;MAAX,GAAqBa,KAArB,GAAvB;IACD;;;WAED,oBAAWgC,IAAX,EAAgC;MAAA;;MAC9B,OAAOA,IAAI,CAAC3E,GAAL,CAAS,UAACL,KAAD,EAAQ+D,SAAR;QAAA,OAAsB,MAAI,CAACkB,SAAL,CAAejF,KAAf,EAAsB;UAAE+D,SAAS,EAATA,SAAF;UAAaE,MAAM,EAAE;QAArB,CAAtB,CAAtB;MAAA,CAAT,CAAP;IACD;;;WAED,+BAAsBe,IAAtB,EAA2C;MAAA;MAAA;;MACzC,IAAIA,IAAI,CAAC3B,MAAL,KAAgB,CAApB,EAAuB,OAAO,EAAP;MAEvB,IAAQtC,aAAR,GAA0B,KAAKC,OAA/B,CAAQD,aAAR;MACA,kBAA2C,KAAKG,KAAhD;MAAA,IAAQL,YAAR,eAAQA,YAAR;MAAA,IAAsBD,gBAAtB,eAAsBA,gBAAtB;MACA,IAAMF,SAAS,GAAG,KAAKwE,YAAL,EAAlB;MAEA,IAAMC,UAAU,YAAI,QAAOpE,aAAP,MAAyB,QAAzB,GAAoCA,aAApC,aAAoCA,aAApC,uBAAoCA,aAAa,CAAEoE,UAAnD,GAAgE,CAApE,yCAA0E,CAA1F;MACA,IAAMC,UAAU,GAAGC,IAAI,CAACC,GAAL,CAASD,IAAI,CAACE,KAAL,CAAW1E,YAAY,GAAGH,SAA1B,IAAwCyE,UAAjD,EAA6D,CAA7D,CAAnB;MACA,IAAMK,SAAS,GAAGH,IAAI,CAACI,GAAL,CAChBJ,IAAI,CAACK,IAAL,CAAU,CAAC7E,YAAY,GAAGD,gBAAhB,IAAqCF,SAA/C,IAA6DyE,UAD7C,EAEhBH,IAAI,CAAC3B,MAFW,CAAlB;MAKA,IAAMpC,kBAAkB,GAAG,QAAOF,aAAP,MAAyB,QAAzB,KAAqCA,aAArC,aAAqCA,aAArC,uBAAqCA,aAAa,CAAEL,SAApD,CAA3B;MACA,IAAMiF,2BAA2B,GAAG,CAAC1E,kBAArC;MAEA,IAAM2E,QAAQ,GAAG;QAAE5F,KAAK,EAAEgF,IAAI,CAAC,CAAD,CAAb;QAAkBjB,SAAS,EAAE,CAA7B;QAAgCC,SAAS,EAAE;MAA3C,CAAjB;MACA,IAAM6B,WAAW,GAAGnF,SAAS,KAAKC,SAAd,GAA0BqE,IAAI,CAACc,KAAL,CAAWV,UAAX,EAAuBI,SAAvB,CAA1B,GAA8D,EAAlF;MACA,IAAMO,oBAAoB,GAAGF,WAAW,CAACxF,GAAZ,CAAgB,UAACL,KAAD,EAAQiC,KAAR;QAAA,OAAmB;UAC9DjC,KAAK,EAALA,KAD8D;UAE9D+D,SAAS,EAAEqB,UAAU,GAAGnD,KAFsC;UAG9D+B,SAAS,EAAEtD,SAAS,IAAK0E,UAAU,GAAGnD,KAAlB;QAH0C,CAAnB;MAAA,CAAhB,CAA7B;;MAKA,IAAI0D,2BAA2B,IAAIP,UAAU,KAAK,CAAlD,EAAqD;QACnDW,oBAAoB,CAACC,OAArB,CAA6BJ,QAA7B;MACD;;MAED,OAAOG,oBAAoB,CAAC1F,GAArB,CAAyB;QAAA,IAAGL,KAAH,SAAGA,KAAH;QAAA,IAAU+D,SAAV,SAAUA,SAAV;QAAA,IAAqBC,SAArB,SAAqBA,SAArB;QAAA,OAC9B,MAAI,CAACiB,SAAL,CAAejF,KAAf,EAAsB;UAAE+D,SAAS,EAATA,SAAF;UAAaC,SAAS,EAATA,SAAb;UAAwBC,MAAM,EAAE;QAAhC,CAAtB,CAD8B;MAAA,CAAzB,CAAP;IAGD;;;WAwCD,gCAAuB;MAAA;;MACrB,8BAAKpC,sBAAL,gFAA6BoE,UAA7B;IACD;;;WAED,kBAAS;MAAA;MAAA;MAAA;;MACP,IAAMC,KAAK,GAwCYhH,GAxCvB;MACA,IAAMiH,YAAY,GAAGjH,GAArB;MACA,IAAMkH,cAAc,GAAGhH,UAAU,CAACiH,GAAlC;MACA,IAAMC,WAAW,GAAGpH,GAApB;MACA,qBAUI,KAAK8B,OAVT;MAAA,IACEuF,QADF,kBACEA,QADF;MAAA,IAEEpE,MAFF,kBAEEA,MAFF;MAAA,IAGE6C,IAHF,kBAGEA,IAHF;MAAA,IAIE5C,OAJF,kBAIEA,OAJF;MAAA,IAKEoE,UALF,kBAKEA,UALF;MAAA,IAMEzF,aANF,kBAMEA,aANF;MAAA,IAOE0F,QAPF,kBAOEA,QAPF;MAAA,IAQEC,QARF,kBAQEA,QARF;MAAA,IASEC,cATF,kBASEA,cATF;MAYA,IAAMC,kBAAkB,GAAGxE,OAAO,CAACyE,MAAR,CAAe,UAACC,GAAD;QAAA,IAAQ1D,KAAR,UAAQA,KAAR;QAAA,OAAoB0D,GAAG,GAAG1D,KAA1B;MAAA,CAAf,EAAgD,CAAhD,IAAqD,CAArD,IAA0DzD,OAArF;;MAEA,4BAAwCL,oBAAoB,CAAC8C,OAAD,CAA5D;MAAA;MAAA,IAAO2E,aAAP;MAAA,IAAsBC,cAAtB;;MACA,IAAMC,SAAS,GAAGF,aAAa,GAAGC,cAAlC;MAEA,IAAMtG,SAAS,GAAG,KAAKwE,YAAL,EAAlB;MACA,IAAMgC,UAAU,GACdxG,SAAS,KAAKC,SAAd,IAA2BI,aAA3B,GAA2CL,SAAS,GAAGsE,IAAI,CAAC3B,MAA5D,GAAqE1C,SADvE;;MAGA,IAAII,aAAa,IAAI6F,kBAAjB,IAAuC,CAAClG,SAA5C,EAAuD;QACrD,IAAIyG,OAAJ,CAAY;UAAA,OAAM,MAAI,CAACC,oBAAL,EAAN;QAAA,CAAZ;MACD;;MAED,eAAOpI,OAAO,CAACmD,MAAD,CAAd,eACE,oBAAC,YAAD,6CACE,oBAAC,UAAD;QAAA;QAAA,UAEUkF,YAFV;QAAA,sBAGeN,aAHf;QAAA,uBAIgBC,cAJhB;QAAA,YAKYxH,oBAAoB,CAACiH,QAAD,EAAW,KAAKa,sBAAhB,CALhC;QAAA,YAMY9H,oBAAoB,CAACkH,QAAD,EAAW,KAAKa,sBAAhB;MANhC,iBAQE,oBAAC,UAAD,CAAY,SAAZ;QAAsB,GAAG,EAAEf,UAA3B;QAAuC,cAAc,EAAEG;MAAvD,gBACE,oBAAC,KAAD;QAAA,QAAyB;MAAzB,YACGO,UAAU,iBAAI,oBAAC,WAAD;QAAA,QAAmBA,UAAnB;QAAA,eAA4C;MAA5C,GADjB,EAEGN,kBAAkB,IAAI,CAAC7F,aAAvB,GAAuC,KAAK0B,UAAL,CAAgBuC,IAAhB,CAAvC,GAA+D,IAFlE,EAGG4B,kBAAkB,IAAI7F,aAAtB,GAAsC,KAAKyG,qBAAL,CAA2BxC,IAA3B,CAAtC,GAAyE,IAH5E,CADF,CARF,eAeE,oBAAC,cAAD;QAAA,eACc,YADd;QAAA,kBAEW+B,aAFX;QAAA,mBAGYC,cAHZ;QAAA,uBAIgBC,SAJhB;MAAA,GAfF,eAqBE,oBAAC,cAAD;QAAA,eAA4B;MAA5B,GArBF,CADF,EAwBGV,QAAQ,CAACkB,MAxBZ,CADF;IA4BD;;;;EAhPgB1I,S;;AAmPnB,eAAe0B,IAAf"}
|
package/lib/es6/DataTable.js
CHANGED
|
@@ -8,7 +8,7 @@ import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
|
8
8
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
9
9
|
import { sstyled as _sstyled } from "@semcore/core";
|
|
10
10
|
import { assignProps as _assignProps } from "@semcore/core";
|
|
11
|
-
var _excluded = ["children", "name", "fixed", "resizable", "sortable"],
|
|
11
|
+
var _excluded = ["children", "name", "fixed", "resizable", "sortable", "flex"],
|
|
12
12
|
_excluded2 = ["name", "children"];
|
|
13
13
|
|
|
14
14
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
@@ -40,46 +40,46 @@ var style = (
|
|
|
40
40
|
/*__reshadow_css_start__*/
|
|
41
41
|
_sstyled.insert(
|
|
42
42
|
/*__inner_css_start__*/
|
|
43
|
-
":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.
|
|
43
|
+
":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"
|
|
44
44
|
/*__inner_css_end__*/
|
|
45
|
-
, "
|
|
45
|
+
, "35v88_gg_")
|
|
46
46
|
/*__reshadow_css_end__*/
|
|
47
47
|
, {
|
|
48
|
-
"__SDataTable": "
|
|
49
|
-
"__SHeadWrapper": "
|
|
50
|
-
"_sticky": "
|
|
51
|
-
"__SHead": "
|
|
52
|
-
"__SColumn": "
|
|
53
|
-
"_hidden": "
|
|
54
|
-
"_use_primary": "
|
|
55
|
-
"_use_secondary": "
|
|
56
|
-
"_use": "
|
|
57
|
-
"_group": "
|
|
58
|
-
"_groupHead": "
|
|
59
|
-
"_sortable": "
|
|
60
|
-
"_active": "
|
|
61
|
-
"_resizable": "
|
|
62
|
-
"_fixed": "
|
|
63
|
-
"__SSortIcon": "
|
|
64
|
-
"__SBodyWrapper": "
|
|
65
|
-
"__SBody": "
|
|
66
|
-
"__SRow": "
|
|
67
|
-
"__SCell": "
|
|
68
|
-
"_theme": "
|
|
69
|
-
"__SGroupCell": "
|
|
70
|
-
"_theme_muted": "
|
|
71
|
-
"_theme_info": "
|
|
72
|
-
"_theme_success": "
|
|
73
|
-
"_theme_warning": "
|
|
74
|
-
"_theme_danger": "
|
|
75
|
-
"_positioned": "
|
|
76
|
-
"__SScrollAreaBar": "
|
|
77
|
-
"_orientation_horizontal": "
|
|
78
|
-
"_orientation_vertical": "
|
|
79
|
-
"--left": "--
|
|
80
|
-
"--right": "--
|
|
81
|
-
"--offsetSum": "--
|
|
82
|
-
"__SHeightHold": "
|
|
48
|
+
"__SDataTable": "___SDataTable_35v88_gg_",
|
|
49
|
+
"__SHeadWrapper": "___SHeadWrapper_35v88_gg_",
|
|
50
|
+
"_sticky": "__sticky_35v88_gg_",
|
|
51
|
+
"__SHead": "___SHead_35v88_gg_",
|
|
52
|
+
"__SColumn": "___SColumn_35v88_gg_",
|
|
53
|
+
"_hidden": "__hidden_35v88_gg_",
|
|
54
|
+
"_use_primary": "_use_primary_35v88_gg_",
|
|
55
|
+
"_use_secondary": "_use_secondary_35v88_gg_",
|
|
56
|
+
"_use": "__use_35v88_gg_",
|
|
57
|
+
"_group": "__group_35v88_gg_",
|
|
58
|
+
"_groupHead": "__groupHead_35v88_gg_",
|
|
59
|
+
"_sortable": "__sortable_35v88_gg_",
|
|
60
|
+
"_active": "__active_35v88_gg_",
|
|
61
|
+
"_resizable": "__resizable_35v88_gg_",
|
|
62
|
+
"_fixed": "__fixed_35v88_gg_",
|
|
63
|
+
"__SSortIcon": "___SSortIcon_35v88_gg_",
|
|
64
|
+
"__SBodyWrapper": "___SBodyWrapper_35v88_gg_",
|
|
65
|
+
"__SBody": "___SBody_35v88_gg_",
|
|
66
|
+
"__SRow": "___SRow_35v88_gg_",
|
|
67
|
+
"__SCell": "___SCell_35v88_gg_",
|
|
68
|
+
"_theme": "__theme_35v88_gg_",
|
|
69
|
+
"__SGroupCell": "___SGroupCell_35v88_gg_",
|
|
70
|
+
"_theme_muted": "_theme_muted_35v88_gg_",
|
|
71
|
+
"_theme_info": "_theme_info_35v88_gg_",
|
|
72
|
+
"_theme_success": "_theme_success_35v88_gg_",
|
|
73
|
+
"_theme_warning": "_theme_warning_35v88_gg_",
|
|
74
|
+
"_theme_danger": "_theme_danger_35v88_gg_",
|
|
75
|
+
"_positioned": "__positioned_35v88_gg_",
|
|
76
|
+
"__SScrollAreaBar": "___SScrollAreaBar_35v88_gg_",
|
|
77
|
+
"_orientation_horizontal": "_orientation_horizontal_35v88_gg_",
|
|
78
|
+
"_orientation_vertical": "_orientation_vertical_35v88_gg_",
|
|
79
|
+
"--left": "--left_35v88",
|
|
80
|
+
"--right": "--right_35v88",
|
|
81
|
+
"--offsetSum": "--offsetSum_35v88",
|
|
82
|
+
"__SHeightHold": "___SHeightHold_35v88_gg_"
|
|
83
83
|
});
|
|
84
84
|
var REVERSED_SORT_DIRECTION = {
|
|
85
85
|
desc: 'asc',
|
|
@@ -152,26 +152,10 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
152
152
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
153
153
|
var _column = _step.value;
|
|
154
154
|
|
|
155
|
-
if (
|
|
156
|
-
var
|
|
157
|
-
_step2;
|
|
155
|
+
if (_column.setVar) {
|
|
156
|
+
var _this$tableRef$curren2;
|
|
158
157
|
|
|
159
|
-
|
|
160
|
-
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
161
|
-
var _this$tableRef$curren2;
|
|
162
|
-
|
|
163
|
-
var cssVar = _step2.value;
|
|
164
|
-
(_this$tableRef$curren2 = this.tableRef.current) === null || _this$tableRef$curren2 === void 0 ? void 0 : _this$tableRef$curren2.style.setProperty(cssVar, "".concat(_column.width, "px"));
|
|
165
|
-
}
|
|
166
|
-
} catch (err) {
|
|
167
|
-
_iterator2.e(err);
|
|
168
|
-
} finally {
|
|
169
|
-
_iterator2.f();
|
|
170
|
-
}
|
|
171
|
-
} else {
|
|
172
|
-
var _this$tableRef$curren3;
|
|
173
|
-
|
|
174
|
-
(_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"));
|
|
158
|
+
(_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"));
|
|
175
159
|
}
|
|
176
160
|
}
|
|
177
161
|
} catch (err) {
|
|
@@ -203,10 +187,11 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
203
187
|
fixed = _ref3$fixed === void 0 ? options.fixed : _ref3$fixed,
|
|
204
188
|
resizable = _ref3.resizable,
|
|
205
189
|
sortable = _ref3.sortable,
|
|
190
|
+
flex = _ref3.flex,
|
|
206
191
|
props = _objectWithoutProperties(_ref3, _excluded);
|
|
207
192
|
|
|
208
193
|
var isGroup = !name;
|
|
209
|
-
var columns
|
|
194
|
+
var columns;
|
|
210
195
|
|
|
211
196
|
if (isGroup) {
|
|
212
197
|
columns = _this2.childrenToColumns(children, {
|
|
@@ -226,7 +211,7 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
226
211
|
return column.name === name;
|
|
227
212
|
});
|
|
228
213
|
|
|
229
|
-
|
|
214
|
+
var columnChildren = {
|
|
230
215
|
get width() {
|
|
231
216
|
var _this$props$ref$curre;
|
|
232
217
|
|
|
@@ -234,22 +219,29 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
234
219
|
},
|
|
235
220
|
|
|
236
221
|
name: name,
|
|
237
|
-
|
|
222
|
+
varWidth: createCssVarForWidth(name),
|
|
223
|
+
setVar: flex !== 'inherit',
|
|
238
224
|
fixed: fixed,
|
|
239
225
|
resizable: resizable,
|
|
240
226
|
active: sort[0] === name,
|
|
241
227
|
sortable: sortable,
|
|
242
228
|
sortDirection: sort[0] === name ? sort[1] : (column === null || column === void 0 ? void 0 : column.sortDirection) || (typeof sortable == 'string' ? sortable : DEFAULT_SORT_DIRECTION),
|
|
243
|
-
columns: columns,
|
|
244
229
|
props: _objectSpread(_objectSpread({
|
|
245
|
-
name: name
|
|
230
|
+
name: name,
|
|
231
|
+
flex: flex === 'inherit' ? undefined : flex
|
|
246
232
|
}, props), {}, {
|
|
247
233
|
// @ts-ignore
|
|
248
234
|
forwardRef: child.ref,
|
|
249
235
|
children: children,
|
|
250
236
|
ref: (column === null || column === void 0 ? void 0 : (_column$props = column.props) === null || _column$props === void 0 ? void 0 : _column$props.ref) || /*#__PURE__*/React.createRef()
|
|
251
237
|
})
|
|
252
|
-
}
|
|
238
|
+
};
|
|
239
|
+
|
|
240
|
+
if (columns) {
|
|
241
|
+
columnChildren.columns = columns;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
columnsChildren.push(columnChildren);
|
|
253
245
|
});
|
|
254
246
|
return columnsChildren;
|
|
255
247
|
}
|
|
@@ -323,12 +315,12 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
323
315
|
var columnNames = rowKey.split('/');
|
|
324
316
|
|
|
325
317
|
if (columnNames.length >= 2) {
|
|
326
|
-
var
|
|
327
|
-
|
|
318
|
+
var _iterator2 = _createForOfIteratorHelper(columnNames),
|
|
319
|
+
_step2;
|
|
328
320
|
|
|
329
321
|
try {
|
|
330
|
-
for (
|
|
331
|
-
var _column2 =
|
|
322
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
323
|
+
var _column2 = _step2.value;
|
|
332
324
|
groupByName[_column2] = {
|
|
333
325
|
groupedColumns: columnNames,
|
|
334
326
|
groupData: row[rowKey]
|
|
@@ -336,9 +328,9 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
336
328
|
groupedColumns[rowKey] = true;
|
|
337
329
|
}
|
|
338
330
|
} catch (err) {
|
|
339
|
-
|
|
331
|
+
_iterator2.e(err);
|
|
340
332
|
} finally {
|
|
341
|
-
|
|
333
|
+
_iterator2.f();
|
|
342
334
|
}
|
|
343
335
|
} else {
|
|
344
336
|
ungroupedColumns[rowKey] = true;
|
|
@@ -371,7 +363,7 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
371
363
|
} else if (column.name in row) {
|
|
372
364
|
return {
|
|
373
365
|
name: column.name,
|
|
374
|
-
cssVar: column.
|
|
366
|
+
cssVar: column.varWidth,
|
|
375
367
|
fixed: column.fixed,
|
|
376
368
|
data: row[column.name],
|
|
377
369
|
cellPropsLayers: cellPropsLayers[column.name] || []
|
|
@@ -383,7 +375,7 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
383
375
|
} else if (!exclude[column.name] && !rowsGroupedNames[column.name]) {
|
|
384
376
|
return {
|
|
385
377
|
name: column.name,
|
|
386
|
-
cssVar: column.
|
|
378
|
+
cssVar: column.varWidth,
|
|
387
379
|
fixed: column.fixed,
|
|
388
380
|
data: null,
|
|
389
381
|
cellPropsLayers: cellPropsLayers[column.name] || []
|