@semcore/data-table 16.0.1-prerelease.0 → 16.0.1-prerelease.2
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 +5 -0
- package/lib/cjs/components/Body/Body.js +68 -51
- package/lib/cjs/components/Body/Body.js.map +1 -1
- package/lib/cjs/components/Body/Cell.js +35 -35
- package/lib/cjs/components/Body/Cell.js.map +1 -1
- package/lib/cjs/components/Body/Cell.types.js.map +1 -1
- package/lib/cjs/components/Body/MergedCells.js +6 -2
- package/lib/cjs/components/Body/MergedCells.js.map +1 -1
- package/lib/cjs/components/Body/Row.js +42 -43
- package/lib/cjs/components/Body/Row.js.map +1 -1
- package/lib/cjs/components/Body/Row.types.js.map +1 -1
- package/lib/cjs/components/Body/style.shadow.css +7 -10
- package/lib/cjs/components/DataTable/DataTable.js +11 -2
- package/lib/cjs/components/DataTable/DataTable.js.map +1 -1
- package/lib/cjs/components/Head/Column.js +49 -34
- package/lib/cjs/components/Head/Column.js.map +1 -1
- package/lib/es6/components/Body/Body.js +69 -52
- package/lib/es6/components/Body/Body.js.map +1 -1
- package/lib/es6/components/Body/Cell.js +35 -35
- package/lib/es6/components/Body/Cell.js.map +1 -1
- package/lib/es6/components/Body/Cell.types.js.map +1 -1
- package/lib/es6/components/Body/MergedCells.js +6 -2
- package/lib/es6/components/Body/MergedCells.js.map +1 -1
- package/lib/es6/components/Body/Row.js +42 -43
- package/lib/es6/components/Body/Row.js.map +1 -1
- package/lib/es6/components/Body/Row.types.js +1 -1
- package/lib/es6/components/Body/Row.types.js.map +1 -1
- package/lib/es6/components/Body/style.shadow.css +7 -10
- package/lib/es6/components/DataTable/DataTable.js +11 -2
- package/lib/es6/components/DataTable/DataTable.js.map +1 -1
- package/lib/es6/components/Head/Column.js +49 -34
- package/lib/es6/components/Head/Column.js.map +1 -1
- package/lib/esm/components/Body/Body.mjs +70 -53
- package/lib/esm/components/Body/Cell.mjs +36 -36
- package/lib/esm/components/Body/MergedCells.mjs +6 -2
- package/lib/esm/components/Body/Row.mjs +41 -41
- package/lib/esm/components/Body/style.shadow.css +7 -10
- package/lib/esm/components/DataTable/DataTable.mjs +11 -2
- package/lib/esm/components/Head/Column.mjs +31 -23
- package/lib/types/components/Body/Cell.types.d.ts +2 -0
- package/lib/types/components/Body/MergedCells.d.ts +6 -2
- package/lib/types/components/Body/Row.types.d.ts +9 -3
- package/lib/types/components/Head/Column.d.ts +1 -0
- package/package.json +10 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Column.js","names":["_core","require","React","_interopRequireWildcard","_baseComponents","_m","_interopRequireDefault","_m2","_button","_getFocusableIn","_canUseDOM","_isFocusInside","style","sstyled","insert","SORTING_ICON","desc","SortDesc","asc","SortAsc","ARIA_SORT","SORT_ICON_WIDTH","DEFAULT_DIRECTION","reversedSortDirection","Column","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","createRef","sortVisible","node","columnRef","current","_this$columnRef$curre","_this$columnRef$curre2","clonedColumn","document","createElement","computedStyle","window","getComputedStyle","childNodes","forEach","sortWrapperRef","append","cloneNode","setProperty","styles","key","getPropertyValue","getPropertyPriority","body","appendChild","computedWidth","Math","ceil","getBoundingClientRect","width","removeChild","defaultNodeWidth","clientWidth","freeSpace","setState","e","relatedTarget","isFocusInside","currentTarget","lastInteraction","isKeyboard","_this$asProps","asProps","sort","onSortChange","name","isMouse","target","sortDirection","defaultDirection","lockedCell","focusableChildren","from","children","flatMap","getFocusableIn","_this$lockedCell$","focus","startsWith","stopPropagation","shiftKey","_focusableChildren","preventDefault","_focusableChildren$","_focusableChildren$2","_this$lockedCell$2","setAttribute","cellElement","_createClass2","value","componentDidMount","parent","sticky","_columnElement$parent","columnElement","groupElement","parentElement","item","groupHeight","height","componentDidUpdate","prevProps","_prevProps$sort","_this$asProps$sort","changeSortSize","canUseDOM","_this$asProps$sort2","_this$asProps$sort3","_this$asProps2","tableRef","gridTemplateColumns","columnIndex","newWidth","calculateActiveColumnMinWidth","setTimeout","map","gtcWidth","index","join","get","sortable","render","_ref","_ref2","SColumn","Flex","SSortWrapper","SSortButton","ButtonLink","_this$asProps3","uid","sortableColumnDescribeId","Children","SSortIcon","isSorted","visibleSort","Boolean","state","ariaDescribedBy","push","ariaSortValue","undefined","cn","_objectSpread2","assignProps","handleMouseEnter","handleMouseLeave","handleFocusCell","handleBlur","handleKeyDown","handleSortClick","Addon","tag","Component","exports"],"sources":["../../../../src/components/Head/Column.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Component, Intergalactic, lastInteraction, Root, sstyled } from '@semcore/core';\nimport { ColumnPropsInner, DataTableColumnProps } from './Column.types';\nimport { Flex } from '@semcore/base-components';\nimport SortDesc from '@semcore/icon/SortDesc/m';\nimport SortAsc from '@semcore/icon/SortAsc/m';\nimport { IconProps } from '@semcore/icon';\n\nimport style from './style.shadow.css';\nimport { ButtonLink } from '@semcore/button';\nimport type { DataTableData, SortDirection } from '../DataTable/DataTable.types';\nimport { getFocusableIn } from '@semcore/core/lib/utils/focus-lock/getFocusableIn';\nimport canUseDOM from '@semcore/core/lib/utils/canUseDOM';\nimport { isFocusInside } from '@semcore/core/lib/utils/focus-lock/isFocusInside';\n\nconst SORTING_ICON: { [key in SortDirection]: Intergalactic.Component<'svg', IconProps> } = {\n desc: SortDesc,\n asc: SortAsc,\n} as const;\n\nconst ARIA_SORT = {\n desc: 'descending',\n asc: 'ascending',\n} as const;\n\nconst SORT_ICON_WIDTH = 20;\n\nconst DEFAULT_DIRECTION = 'desc';\n\nconst reversedSortDirection: { [direction in SortDirection]: SortDirection } = {\n desc: 'asc',\n asc: 'desc',\n};\n\ntype State = {\n sortVisible: boolean;\n};\n\nexport class Column<D extends DataTableData> extends Component<\n DataTableColumnProps,\n {},\n {},\n [],\n ColumnPropsInner<D>\n> {\n static displayName = 'Column';\n static style = style;\n\n lockedCell: [HTMLElement | null, boolean] = [null, false];\n\n columnRef = React.createRef<HTMLDivElement>();\n sortWrapperRef = React.createRef<HTMLDivElement>();\n\n state: State = {\n sortVisible: false,\n };\n\n componentDidMount() {\n if (this.asProps.parent && this.asProps.sticky) {\n const columnElement = this.columnRef.current;\n const groupElement = columnElement?.parentElement?.children.item(0);\n\n const groupHeight = groupElement?.getBoundingClientRect().height;\n\n if (groupHeight) {\n columnElement?.style.setProperty('top', `${groupHeight}px`);\n }\n }\n }\n\n componentDidUpdate(prevProps: DataTableColumnProps & ColumnPropsInner<D>): void {\n if (\n this.asProps.changeSortSize &&\n canUseDOM() &&\n prevProps.sort?.[0] !== this.asProps.sort?.[0]\n ) {\n const { tableRef, gridTemplateColumns, columnIndex } = this.asProps;\n\n if (this.asProps.sort?.[0] === this.asProps.name) {\n const newWidth = this.calculateActiveColumnMinWidth();\n\n setTimeout(() => {\n if (tableRef.current && newWidth !== null) {\n tableRef.current.style.setProperty(\n 'grid-template-columns',\n gridTemplateColumns\n .map((gtcWidth, index) => {\n if (index === columnIndex) {\n return `${newWidth}px`;\n }\n return gtcWidth;\n })\n .join(' '),\n );\n }\n });\n } else if (this.asProps.sort?.[0] !== this.asProps.name) {\n setTimeout(() => {\n if (tableRef.current) {\n tableRef.current.style.setProperty(\n 'grid-template-columns',\n gridTemplateColumns.join(' '),\n );\n }\n });\n }\n }\n }\n\n calculateActiveColumnMinWidth = (): number | null => {\n const node = this.columnRef.current;\n\n if (node) {\n const clonedColumn = document.createElement('div');\n const computedStyle = window.getComputedStyle(node);\n\n node.childNodes.forEach((node) => {\n if (this.sortWrapperRef.current !== node) {\n clonedColumn.append(node.cloneNode(true));\n }\n });\n\n clonedColumn.style.setProperty('visibility', 'hidden', 'important');\n\n const styles = [\n 'display',\n 'flex',\n 'margin',\n 'padding',\n 'background',\n 'font-style',\n 'font-width',\n 'font-size',\n 'font-weight',\n ];\n\n styles.forEach((key) => {\n clonedColumn.style.setProperty(\n key,\n computedStyle.getPropertyValue(key),\n computedStyle.getPropertyPriority(key),\n );\n });\n\n clonedColumn.style.setProperty('width', 'fit-content', 'important');\n\n document.body.appendChild(clonedColumn);\n\n const computedWidth = Math.ceil(clonedColumn.getBoundingClientRect().width);\n\n document.body.removeChild(clonedColumn);\n\n const defaultNodeWidth = this.columnRef.current?.clientWidth ?? 0;\n\n if (computedWidth >= defaultNodeWidth) {\n return defaultNodeWidth + SORT_ICON_WIDTH;\n } else {\n const freeSpace = defaultNodeWidth - computedWidth;\n\n if (freeSpace < SORT_ICON_WIDTH) {\n return computedWidth + SORT_ICON_WIDTH;\n }\n }\n }\n\n return null;\n };\n\n get defaultDirection() {\n const { sortable } = this.asProps;\n\n if (typeof sortable === 'string') {\n return sortable;\n }\n\n return DEFAULT_DIRECTION;\n }\n\n handleMouseEnter = () => {\n this.setState({ sortVisible: true });\n };\n\n handleMouseLeave = () => {\n this.setState({ sortVisible: false });\n };\n\n handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n const relatedTarget = e.relatedTarget as HTMLElement | undefined;\n if (!isFocusInside(e.currentTarget, relatedTarget) && lastInteraction.isKeyboard()) {\n this.setState({ sortVisible: false });\n }\n };\n\n handleSortClick = (e: React.SyntheticEvent<HTMLButtonElement>) => {\n const { sort, onSortChange, name } = this.asProps;\n\n if (\n lastInteraction.isMouse() ||\n (lastInteraction.isKeyboard() && e.target === e.currentTarget)\n ) {\n if (sort && onSortChange) {\n const sortDirection =\n sort[0] === name ? reversedSortDirection[sort[1]] : this.defaultDirection;\n\n onSortChange([name, sortDirection], e);\n }\n }\n };\n\n handleKeyDown = (e: React.KeyboardEvent) => {\n if (e.currentTarget === this.lockedCell[0]) {\n const focusableChildren = Array.from(this.lockedCell[0].children).flatMap((node) =>\n getFocusableIn(node as HTMLElement),\n );\n\n if (this.lockedCell[1]) {\n if (e.key === 'Escape') {\n this.lockedCell[0]?.focus();\n this.lockedCell[1] = false;\n }\n if (e.key.startsWith('Arrow')) {\n e.stopPropagation();\n }\n if (e.key === 'Tab') {\n if (e.target === focusableChildren[0] && e.shiftKey) {\n focusableChildren[focusableChildren.length - 1]?.focus();\n e.preventDefault();\n } else if (e.target === focusableChildren[focusableChildren.length - 1] && !e.shiftKey) {\n focusableChildren[0]?.focus();\n e.preventDefault();\n }\n\n e.stopPropagation();\n }\n } else if (e.key === 'Enter') {\n this.lockedCell[1] = true;\n focusableChildren[0]?.focus();\n } else if (e.key === 'Tab') {\n this.lockedCell[0]?.setAttribute('inert', '');\n }\n }\n };\n\n handleFocusCell = (e: React.FocusEvent<HTMLElement, HTMLElement>) => {\n const cellElement = e.currentTarget;\n const target = e.target;\n\n this.setState({ sortVisible: true }, () => {\n if (target === cellElement) {\n const focusableChildren = Array.from(cellElement.children).flatMap((node) =>\n getFocusableIn(node as HTMLElement),\n );\n\n if (focusableChildren.length === 1) {\n focusableChildren[0].focus();\n } else if (focusableChildren.length > 1) {\n this.lockedCell = [cellElement, false];\n }\n }\n });\n };\n\n render() {\n const SColumn = Root;\n const SSortWrapper = 'div';\n const SSortButton = ButtonLink;\n const { styles, sortable, sort, uid, name, parent, sortableColumnDescribeId, Children } =\n this.asProps;\n\n const SSortIcon =\n sort && sort[0] === name ? SORTING_ICON[sort[1]] : SORTING_ICON[this.defaultDirection];\n const isSorted = sort?.[0] === name;\n const visibleSort = Boolean(sortable) && (this.state.sortVisible || isSorted);\n\n const ariaDescribedBy = [];\n if (isSorted) {\n ariaDescribedBy.push(sortableColumnDescribeId);\n }\n if (parent) {\n ariaDescribedBy.push(`igc-table-${uid}-${parent.name}-group`);\n }\n\n const ariaSortValue = sort?.[1] ? ARIA_SORT[sort[1]] : undefined;\n\n return sstyled(styles)(\n <SColumn\n render={Flex}\n ref={this.columnRef}\n role={'columnheader'}\n tabIndex={-1}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n onFocus={this.handleFocusCell}\n onBlur={this.handleBlur}\n onKeyDown={this.handleKeyDown}\n visibleSort={visibleSort}\n isSorted={isSorted}\n innerOutline\n aria-describedby={ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined}\n aria-sort={ariaSortValue}\n onClick={sortable ? this.handleSortClick : undefined}\n >\n <Children />\n\n {sortable && (\n <SSortWrapper ref={this.sortWrapperRef}>\n <SSortButton\n onClick={this.handleSortClick}\n aria-label={ariaSortValue}\n color={'--intergalactic-icon-primary-neutral'}\n >\n <SSortButton.Addon tag={SSortIcon} />\n </SSortButton>\n </SSortWrapper>\n )}\n </SColumn>,\n );\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Column.js","names":["_core","require","React","_interopRequireWildcard","_baseComponents","_m","_interopRequireDefault","_m2","_button","_getFocusableIn","_canUseDOM","_isFocusInside","style","sstyled","insert","SORTING_ICON","desc","SortDesc","asc","SortAsc","ARIA_SORT","SORT_ICON_WIDTH","DEFAULT_DIRECTION","reversedSortDirection","Column","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","createRef","sortVisible","node","columnRef","current","_this$columnRef$curre","_this$columnRef$curre2","clonedColumn","document","createElement","computedStyle","window","getComputedStyle","childNodes","forEach","sortWrapperRef","append","cloneNode","setProperty","styles","key","getPropertyValue","getPropertyPriority","body","appendChild","computedWidth","Math","ceil","getBoundingClientRect","width","removeChild","defaultNodeWidth","clientWidth","freeSpace","setState","e","relatedTarget","isFocusInside","currentTarget","lastInteraction","isKeyboard","_this$asProps","asProps","sort","onSortChange","name","isMouse","target","sortDirection","defaultDirection","lockedCell","focusableChildren","from","children","flatMap","getFocusableIn","_this$lockedCell$","focus","startsWith","stopPropagation","shiftKey","_focusableChildren","preventDefault","_focusableChildren$","_focusableChildren$2","_this$lockedCell$2","setAttribute","cellElement","_createClass2","value","componentDidMount","_this$asProps2","parent","sticky","changeSortSize","_columnElement$parent","columnElement","groupElement","parentElement","item","groupHeight","height","canUseDOM","changeTemplateColumnBySort","componentDidUpdate","prevProps","_prevProps$sort","_this$asProps$sort","_this$asProps3","tableRef","gridTemplateColumns","columnIndex","newWidth","calculateActiveColumnMinWidth","setTimeout","map","gtcWidth","index","join","get","sortable","render","_ref","_ref2","SColumn","Flex","SSortWrapper","SSortButton","ButtonLink","_this$asProps4","uid","sortableColumnDescribeId","Children","SSortIcon","isSorted","visibleSort","Boolean","state","ariaDescribedBy","push","ariaSortValue","undefined","cn","_objectSpread2","assignProps","handleMouseEnter","handleMouseLeave","handleFocusCell","handleBlur","handleKeyDown","handleSortClick","Addon","tag","Component","exports"],"sources":["../../../../src/components/Head/Column.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Component, Intergalactic, lastInteraction, Root, sstyled } from '@semcore/core';\nimport { ColumnPropsInner, DataTableColumnProps } from './Column.types';\nimport { Flex } from '@semcore/base-components';\nimport SortDesc from '@semcore/icon/SortDesc/m';\nimport SortAsc from '@semcore/icon/SortAsc/m';\nimport { IconProps } from '@semcore/icon';\n\nimport style from './style.shadow.css';\nimport { ButtonLink } from '@semcore/button';\nimport type { DataTableData, SortDirection } from '../DataTable/DataTable.types';\nimport { getFocusableIn } from '@semcore/core/lib/utils/focus-lock/getFocusableIn';\nimport canUseDOM from '@semcore/core/lib/utils/canUseDOM';\nimport { isFocusInside } from '@semcore/core/lib/utils/focus-lock/isFocusInside';\n\nconst SORTING_ICON: { [key in SortDirection]: Intergalactic.Component<'svg', IconProps> } = {\n desc: SortDesc,\n asc: SortAsc,\n} as const;\n\nconst ARIA_SORT = {\n desc: 'descending',\n asc: 'ascending',\n} as const;\n\nconst SORT_ICON_WIDTH = 20;\n\nconst DEFAULT_DIRECTION = 'desc';\n\nconst reversedSortDirection: { [direction in SortDirection]: SortDirection } = {\n desc: 'asc',\n asc: 'desc',\n};\n\ntype State = {\n sortVisible: boolean;\n};\n\nexport class Column<D extends DataTableData> extends Component<\n DataTableColumnProps,\n {},\n {},\n [],\n ColumnPropsInner<D>\n> {\n static displayName = 'Column';\n static style = style;\n\n lockedCell: [HTMLElement | null, boolean] = [null, false];\n\n columnRef = React.createRef<HTMLDivElement>();\n sortWrapperRef = React.createRef<HTMLDivElement>();\n\n state: State = {\n sortVisible: false,\n };\n\n componentDidMount() {\n const { parent, sticky, changeSortSize, name, sort } = this.asProps;\n\n if (parent && sticky) {\n const columnElement = this.columnRef.current;\n const groupElement = columnElement?.parentElement?.children.item(0);\n\n const groupHeight = groupElement?.getBoundingClientRect().height;\n\n if (groupHeight) {\n columnElement?.style.setProperty('top', `${groupHeight}px`);\n }\n }\n\n if (canUseDOM() && changeSortSize && sort?.[0] === name) {\n this.changeTemplateColumnBySort();\n }\n }\n\n componentDidUpdate(prevProps: DataTableColumnProps & ColumnPropsInner<D>): void {\n if (\n this.asProps.changeSortSize &&\n canUseDOM() &&\n prevProps.sort?.[0] !== this.asProps.sort?.[0]\n ) {\n this.changeTemplateColumnBySort();\n }\n }\n\n changeTemplateColumnBySort() {\n const { tableRef, gridTemplateColumns, columnIndex, sort, name } = this.asProps;\n\n if (sort?.[0] === name) {\n const newWidth = this.calculateActiveColumnMinWidth();\n\n setTimeout(() => {\n if (tableRef.current && newWidth !== null) {\n tableRef.current.style.setProperty(\n 'grid-template-columns',\n gridTemplateColumns\n .map((gtcWidth, index) => {\n if (index === columnIndex) {\n return `${newWidth}px`;\n }\n return gtcWidth;\n })\n .join(' '),\n );\n }\n });\n } else if (sort?.[0] !== name) {\n setTimeout(() => {\n if (tableRef.current) {\n tableRef.current.style.setProperty(\n 'grid-template-columns',\n gridTemplateColumns.join(' '),\n );\n }\n });\n }\n }\n\n calculateActiveColumnMinWidth = (): number | null => {\n const node = this.columnRef.current;\n\n if (node) {\n const clonedColumn = document.createElement('div');\n const computedStyle = window.getComputedStyle(node);\n\n node.childNodes.forEach((node) => {\n if (this.sortWrapperRef.current !== node) {\n clonedColumn.append(node.cloneNode(true));\n }\n });\n\n clonedColumn.style.setProperty('visibility', 'hidden', 'important');\n\n const styles = [\n 'display',\n 'flex',\n 'margin',\n 'padding',\n 'background',\n 'font-style',\n 'font-width',\n 'font-size',\n 'font-weight',\n ];\n\n styles.forEach((key) => {\n clonedColumn.style.setProperty(\n key,\n computedStyle.getPropertyValue(key),\n computedStyle.getPropertyPriority(key),\n );\n });\n\n clonedColumn.style.setProperty('width', 'fit-content', 'important');\n\n document.body.appendChild(clonedColumn);\n\n const computedWidth = Math.ceil(clonedColumn.getBoundingClientRect().width);\n\n document.body.removeChild(clonedColumn);\n\n const defaultNodeWidth = this.columnRef.current?.clientWidth ?? 0;\n\n if (computedWidth >= defaultNodeWidth) {\n return defaultNodeWidth + SORT_ICON_WIDTH;\n } else {\n const freeSpace = defaultNodeWidth - computedWidth;\n\n if (freeSpace < SORT_ICON_WIDTH) {\n return computedWidth + SORT_ICON_WIDTH;\n }\n }\n }\n\n return null;\n };\n\n get defaultDirection() {\n const { sortable } = this.asProps;\n\n if (typeof sortable === 'string') {\n return sortable;\n }\n\n return DEFAULT_DIRECTION;\n }\n\n handleMouseEnter = () => {\n this.setState({ sortVisible: true });\n };\n\n handleMouseLeave = () => {\n this.setState({ sortVisible: false });\n };\n\n handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n const relatedTarget = e.relatedTarget as HTMLElement | undefined;\n if (!isFocusInside(e.currentTarget, relatedTarget) && lastInteraction.isKeyboard()) {\n this.setState({ sortVisible: false });\n }\n };\n\n handleSortClick = (e: React.SyntheticEvent<HTMLButtonElement>) => {\n const { sort, onSortChange, name } = this.asProps;\n\n if (\n lastInteraction.isMouse() ||\n (lastInteraction.isKeyboard() && e.target === e.currentTarget)\n ) {\n if (sort && onSortChange) {\n const sortDirection =\n sort[0] === name ? reversedSortDirection[sort[1]] : this.defaultDirection;\n\n onSortChange([name, sortDirection], e);\n }\n }\n };\n\n handleKeyDown = (e: React.KeyboardEvent) => {\n if (e.currentTarget === this.lockedCell[0]) {\n const focusableChildren = Array.from(this.lockedCell[0].children).flatMap((node) =>\n getFocusableIn(node as HTMLElement),\n );\n\n if (this.lockedCell[1]) {\n if (e.key === 'Escape') {\n this.lockedCell[0]?.focus();\n this.lockedCell[1] = false;\n }\n if (e.key.startsWith('Arrow')) {\n e.stopPropagation();\n }\n if (e.key === 'Tab') {\n if (e.target === focusableChildren[0] && e.shiftKey) {\n focusableChildren[focusableChildren.length - 1]?.focus();\n e.preventDefault();\n } else if (e.target === focusableChildren[focusableChildren.length - 1] && !e.shiftKey) {\n focusableChildren[0]?.focus();\n e.preventDefault();\n }\n\n e.stopPropagation();\n }\n } else if (e.key === 'Enter') {\n this.lockedCell[1] = true;\n focusableChildren[0]?.focus();\n } else if (e.key === 'Tab') {\n this.lockedCell[0]?.setAttribute('inert', '');\n }\n }\n };\n\n handleFocusCell = (e: React.FocusEvent<HTMLElement, HTMLElement>) => {\n const cellElement = e.currentTarget;\n const target = e.target;\n\n this.setState({ sortVisible: true }, () => {\n if (target === cellElement) {\n const focusableChildren = Array.from(cellElement.children).flatMap((node) =>\n getFocusableIn(node as HTMLElement),\n );\n\n if (focusableChildren.length === 1) {\n focusableChildren[0].focus();\n } else if (focusableChildren.length > 1) {\n this.lockedCell = [cellElement, false];\n }\n }\n });\n };\n\n render() {\n const SColumn = Root;\n const SSortWrapper = 'div';\n const SSortButton = ButtonLink;\n const { styles, sortable, sort, uid, name, parent, sortableColumnDescribeId, Children } =\n this.asProps;\n\n const SSortIcon =\n sort && sort[0] === name ? SORTING_ICON[sort[1]] : SORTING_ICON[this.defaultDirection];\n const isSorted = sort?.[0] === name;\n const visibleSort = Boolean(sortable) && (this.state.sortVisible || isSorted);\n\n const ariaDescribedBy = [];\n if (isSorted) {\n ariaDescribedBy.push(sortableColumnDescribeId);\n }\n if (parent) {\n ariaDescribedBy.push(`igc-table-${uid}-${parent.name}-group`);\n }\n\n const ariaSortValue = sort?.[1] ? ARIA_SORT[sort[1]] : undefined;\n\n return sstyled(styles)(\n <SColumn\n render={Flex}\n ref={this.columnRef}\n role={'columnheader'}\n tabIndex={-1}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n onFocus={this.handleFocusCell}\n onBlur={this.handleBlur}\n onKeyDown={this.handleKeyDown}\n visibleSort={visibleSort}\n isSorted={isSorted}\n innerOutline\n aria-describedby={ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined}\n aria-sort={ariaSortValue}\n onClick={sortable ? this.handleSortClick : undefined}\n >\n <Children />\n\n {sortable && (\n <SSortWrapper ref={this.sortWrapperRef}>\n <SSortButton\n onClick={this.handleSortClick}\n aria-label={ariaSortValue}\n color={'--intergalactic-icon-primary-neutral'}\n >\n <SSortButton.Addon tag={SSortIcon} />\n </SSortButton>\n </SSortWrapper>\n )}\n </SColumn>,\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
1
2
|
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
2
3
|
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
3
4
|
import _createClass from "@babel/runtime/helpers/createClass";
|
|
@@ -12,50 +13,51 @@ import { Component, createComponent, Root, sstyled } from '@semcore/core';
|
|
|
12
13
|
import { Box } from '@semcore/base-components';
|
|
13
14
|
import { Row } from './Row';
|
|
14
15
|
/*!__reshadow-styles__:"./style.shadow.css"*/
|
|
15
|
-
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SBody_sdxd5_gg_,.___SRowGroup_sdxd5_gg_,.___SRow_sdxd5_gg_{display:contents}.___SBody_sdxd5_gg_.__compact_sdxd5_gg_ .___SCell_sdxd5_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SBody_sdxd5_gg_.__compact_sdxd5_gg_ .___SCell_sdxd5_gg_[data-aria-level]{padding-left:calc(var(--intergalactic-spacing-2x, 8px) + (var(--intergalactic-spacing-5x, 20px)*(var(--data-aria-level_sdxd5) - 1)))}.___SCell_sdxd5_gg_.__gridArea_sdxd5_gg_,.___SCollapseRow_sdxd5_gg_.__gridArea_sdxd5_gg_,.___SRow_sdxd5_gg_.__gridArea_sdxd5_gg_{grid-area:var(--gridArea_sdxd5)}.___SCollapseRow_sdxd5_gg_ .___SCell_sdxd5_gg_{display:block}.___SRow_sdxd5_gg_.__active_sdxd5_gg_>.___SCell_sdxd5_gg_:not(.__theme_sdxd5_gg_),.___SRow_sdxd5_gg_.__expanded_sdxd5_gg_._accordionType_cell_sdxd5_gg_>.___SCell_sdxd5_gg_:not(.__theme_sdxd5_gg_).__withAccordion_sdxd5_gg_,.___SRow_sdxd5_gg_.__expanded_sdxd5_gg_._accordionType_row_sdxd5_gg_>.___SCell_sdxd5_gg_:not(.__theme_sdxd5_gg_){background-color:var(--intergalactic-table-td-cell-active, #e6e7ed)}.___SCollapseRow_sdxd5_gg_>.___SCell_sdxd5_gg_:not(.__theme_sdxd5_gg_),.___SRow_sdxd5_gg_.__expanded_sdxd5_gg_>.___SCell_sdxd5_gg_:not(.__theme_sdxd5_gg_){background-color:var(--intergalactic-table-td-cell-accordion, #f4f5f9)}@media (hover:hover){.___SRowGroup_sdxd5_gg_:has(.___SCell_sdxd5_gg_:hover)>.___SRow_sdxd5_gg_._theme_muted_sdxd5_gg_>.___SCell_sdxd5_gg_[data-grouped-by=rowgroup]:not(.__theme_sdxd5_gg_),.___SRowGroup_sdxd5_gg_:has(.___SCell_sdxd5_gg_:hover)>.___SRow_sdxd5_gg_>.___SCell_sdxd5_gg_[data-grouped-by=rowgroup]._theme_muted_sdxd5_gg_,.___SRowGroup_sdxd5_gg_:has(.___SCell_sdxd5_gg_:hover)>.___SRow_sdxd5_gg_>.___SCell_sdxd5_gg_[data-grouped-by=rowgroup]:not(.__theme_sdxd5_gg_),.___SRowGroup_sdxd5_gg_:has(.___SCell_sdxd5_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_sdxd5_gg_._theme_muted_sdxd5_gg_>.___SCell_sdxd5_gg_:not(.__theme_sdxd5_gg_),.___SRowGroup_sdxd5_gg_:has(.___SCell_sdxd5_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_sdxd5_gg_>.___SCell_sdxd5_gg_._theme_muted_sdxd5_gg_,.___SRowGroup_sdxd5_gg_:has(.___SCell_sdxd5_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_sdxd5_gg_>.___SCell_sdxd5_gg_:not(.__theme_sdxd5_gg_),.___SRow_sdxd5_gg_._theme_muted_sdxd5_gg_:hover>.___SCell_sdxd5_gg_:not(.__theme_sdxd5_gg_),.___SRow_sdxd5_gg_:hover>.___SCell_sdxd5_gg_._theme_muted_sdxd5_gg_,.___SRow_sdxd5_gg_:hover>.___SCell_sdxd5_gg_:not(.__theme_sdxd5_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}.___SRowGroup_sdxd5_gg_:has(.___SCell_sdxd5_gg_:hover)>.___SRow_sdxd5_gg_._theme_info_sdxd5_gg_>.___SCell_sdxd5_gg_[data-grouped-by=rowgroup]:not(.__theme_sdxd5_gg_),.___SRowGroup_sdxd5_gg_:has(.___SCell_sdxd5_gg_:hover)>.___SRow_sdxd5_gg_>.___SCell_sdxd5_gg_[data-grouped-by=rowgroup]._theme_info_sdxd5_gg_,.___SRowGroup_sdxd5_gg_:has(.___SCell_sdxd5_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_sdxd5_gg_._theme_info_sdxd5_gg_>.___SCell_sdxd5_gg_:not(.__theme_sdxd5_gg_),.___SRowGroup_sdxd5_gg_:has(.___SCell_sdxd5_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_sdxd5_gg_>.___SCell_sdxd5_gg_._theme_info_sdxd5_gg_,.___SRow_sdxd5_gg_._theme_info_sdxd5_gg_:hover>.___SCell_sdxd5_gg_:not(.__theme_sdxd5_gg_),.___SRow_sdxd5_gg_:hover>.___SCell_sdxd5_gg_._theme_info_sdxd5_gg_{background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}.___SRowGroup_sdxd5_gg_:has(.___SCell_sdxd5_gg_:hover)>.___SRow_sdxd5_gg_._theme_success_sdxd5_gg_>.___SCell_sdxd5_gg_[data-grouped-by=rowgroup]:not(.__theme_sdxd5_gg_),.___SRowGroup_sdxd5_gg_:has(.___SCell_sdxd5_gg_:hover)>.___SRow_sdxd5_gg_>.___SCell_sdxd5_gg_[data-grouped-by=rowgroup]._theme_success_sdxd5_gg_,.___SRowGroup_sdxd5_gg_:has(.___SCell_sdxd5_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_sdxd5_gg_._theme_success_sdxd5_gg_>.___SCell_sdxd5_gg_:not(.__theme_sdxd5_gg_),.___SRowGroup_sdxd5_gg_:has(.___SCell_sdxd5_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_sdxd5_gg_>.___SCell_sdxd5_gg_._theme_success_sdxd5_gg_,.___SRow_sdxd5_gg_._theme_success_sdxd5_gg_:hover>.___SCell_sdxd5_gg_:not(.__theme_sdxd5_gg_),.___SRow_sdxd5_gg_:hover>.___SCell_sdxd5_gg_._theme_success_sdxd5_gg_{background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}.___SRowGroup_sdxd5_gg_:has(.___SCell_sdxd5_gg_:hover)>.___SRow_sdxd5_gg_._theme_warning_sdxd5_gg_>.___SCell_sdxd5_gg_[data-grouped-by=rowgroup]:not(.__theme_sdxd5_gg_),.___SRowGroup_sdxd5_gg_:has(.___SCell_sdxd5_gg_:hover)>.___SRow_sdxd5_gg_>.___SCell_sdxd5_gg_[data-grouped-by=rowgroup]._theme_warning_sdxd5_gg_,.___SRowGroup_sdxd5_gg_:has(.___SCell_sdxd5_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_sdxd5_gg_._theme_warning_sdxd5_gg_>.___SCell_sdxd5_gg_:not(.__theme_sdxd5_gg_),.___SRowGroup_sdxd5_gg_:has(.___SCell_sdxd5_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_sdxd5_gg_>.___SCell_sdxd5_gg_._theme_warning_sdxd5_gg_,.___SRow_sdxd5_gg_._theme_warning_sdxd5_gg_:hover>.___SCell_sdxd5_gg_:not(.__theme_sdxd5_gg_),.___SRow_sdxd5_gg_:hover>.___SCell_sdxd5_gg_._theme_warning_sdxd5_gg_{background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}.___SRowGroup_sdxd5_gg_:has(.___SCell_sdxd5_gg_:hover)>.___SRow_sdxd5_gg_._theme_danger_sdxd5_gg_>.___SCell_sdxd5_gg_[data-grouped-by=rowgroup]:not(.__theme_sdxd5_gg_),.___SRowGroup_sdxd5_gg_:has(.___SCell_sdxd5_gg_:hover)>.___SRow_sdxd5_gg_>.___SCell_sdxd5_gg_[data-grouped-by=rowgroup]._theme_danger_sdxd5_gg_,.___SRowGroup_sdxd5_gg_:has(.___SCell_sdxd5_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_sdxd5_gg_._theme_danger_sdxd5_gg_>.___SCell_sdxd5_gg_:not(.__theme_sdxd5_gg_),.___SRowGroup_sdxd5_gg_:has(.___SCell_sdxd5_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_sdxd5_gg_>.___SCell_sdxd5_gg_._theme_danger_sdxd5_gg_,.___SRow_sdxd5_gg_._theme_danger_sdxd5_gg_:hover>.___SCell_sdxd5_gg_:not(.__theme_sdxd5_gg_),.___SRow_sdxd5_gg_:hover>.___SCell_sdxd5_gg_._theme_danger_sdxd5_gg_{background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}}.___SRow_sdxd5_gg_._theme_muted_sdxd5_gg_ .___SCell_sdxd5_gg_:not(.__theme_sdxd5_gg_){background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}.___SRow_sdxd5_gg_._theme_muted_sdxd5_gg_.__active_sdxd5_gg_>.___SCell_sdxd5_gg_:not(.__theme_sdxd5_gg_){background-color:var(--intergalactic-table-td-cell-active, #e6e7ed)}.___SRow_sdxd5_gg_._theme_info_sdxd5_gg_ .___SCell_sdxd5_gg_:not(.__theme_sdxd5_gg_){background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SRow_sdxd5_gg_._theme_info_sdxd5_gg_.__active_sdxd5_gg_>.___SCell_sdxd5_gg_:not(.__theme_sdxd5_gg_){background-color:var(--intergalactic-table-td-cell-selected-active, #c4e5fe)}.___SRow_sdxd5_gg_._theme_success_sdxd5_gg_ .___SCell_sdxd5_gg_:not(.__theme_sdxd5_gg_){background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SRow_sdxd5_gg_._theme_success_sdxd5_gg_.__active_sdxd5_gg_>.___SCell_sdxd5_gg_:not(.__theme_sdxd5_gg_){background-color:var(--intergalactic-table-td-cell-new-active, #9ef2c9)}.___SRow_sdxd5_gg_._theme_warning_sdxd5_gg_ .___SCell_sdxd5_gg_:not(.__theme_sdxd5_gg_){background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SRow_sdxd5_gg_._theme_warning_sdxd5_gg_.__active_sdxd5_gg_>.___SCell_sdxd5_gg_:not(.__theme_sdxd5_gg_){background-color:var(--intergalactic-table-td-cell-warning-active, #ffdca2)}.___SRow_sdxd5_gg_._theme_danger_sdxd5_gg_ .___SCell_sdxd5_gg_:not(.__theme_sdxd5_gg_){background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SRow_sdxd5_gg_._theme_danger_sdxd5_gg_.__active_sdxd5_gg_>.___SCell_sdxd5_gg_:not(.__theme_sdxd5_gg_){background-color:var(--intergalactic-table-td-cell-critical-active, #ffd7df)}.___SCell_sdxd5_gg_{display:flex;height:100%;font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%);color:var(--intergalactic-text-primary, #191b23);box-sizing:border-box;border-bottom:1px solid var(--intergalactic-border-secondary, #e0e1e9);overflow:hidden;white-space:pre-wrap;word-break:break-word;font-feature-settings:\"tnum\";font-variant-numeric:tabular-nums;transition:width calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out;outline:0}.___SCell_sdxd5_gg_ .___SAccordionToggle_sdxd5_gg_{margin-right:var(--intergalactic-spacing-3x, 12px);margin-top:var(--intergalactic-spacing-05x, 2px);height:-moz-fit-content;height:fit-content}.___SCell_sdxd5_gg_ .___SAccordionToggle_sdxd5_gg_ svg{transition:transform calc(var(--intergalactic-duration-accordion, 200)*1ms) ease-out}.___SCell_sdxd5_gg_ .___SAccordionToggle_sdxd5_gg_.__expanded_sdxd5_gg_ svg{transform:rotate(90deg)}.___SCheckboxCell_sdxd5_gg_,.___SRow_sdxd5_gg_._accordionType_cell_sdxd5_gg_>.___SCell_sdxd5_gg_.__withAccordion_sdxd5_gg_,.___SRow_sdxd5_gg_._accordionType_row_sdxd5_gg_>.___SCell_sdxd5_gg_{cursor:pointer}.___SCell_sdxd5_gg_._use_primary_sdxd5_gg_{padding:var(--intergalactic-spacing-3x, 12px);min-height:45px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_sdxd5_gg_._use_primary_sdxd5_gg_[data-aria-level]{padding-left:calc(var(--intergalactic-spacing-3x, 12px) + ((var(--intergalactic-spacing-5x, 20px) + var(--intergalactic-spacing-2x, 8px))*(var(--data-aria-level_sdxd5) - 1)))}.___SCell_sdxd5_gg_._use_secondary_sdxd5_gg_{padding:var(--intergalactic-spacing-2x, 8px);min-height:37px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_sdxd5_gg_._use_secondary_sdxd5_gg_[data-aria-level]{padding-left:calc(var(--intergalactic-spacing-2x, 8px) + ((var(--intergalactic-spacing-5x, 20px) + var(--intergalactic-spacing-2x, 8px))*(var(--data-aria-level_sdxd5) - 1)))}.___SCell_sdxd5_gg_._borders_both_sdxd5_gg_,.___SCell_sdxd5_gg_._borders_left_sdxd5_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_sdxd5_gg_._borders_both_sdxd5_gg_,.___SCell_sdxd5_gg_._borders_right_sdxd5_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_sdxd5_gg_.__fixed_sdxd5_gg_{position:sticky;z-index:2}.___SCell_sdxd5_gg_._theme_muted_sdxd5_gg_{background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}.___SCell_sdxd5_gg_._theme_info_sdxd5_gg_{background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SCell_sdxd5_gg_._theme_success_sdxd5_gg_{background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SCell_sdxd5_gg_._theme_warning_sdxd5_gg_{background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SCell_sdxd5_gg_._theme_danger_sdxd5_gg_{background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SSpinContainer_sdxd5_gg_{position:absolute;left:0;right:0;bottom:0;top:0;display:flex;align-items:center;justify-content:center;background-color:var(--intergalactic-overlay-limitation-secondary, rgba(255, 255, 255, 0.85))}.___SSpinContainer_sdxd5_gg_.__headerHeight_sdxd5_gg_{top:var(--headerHeight_sdxd5)}.___SEmptyData_sdxd5_gg_{grid-column:1/-1}.___SRow_sdxd5_gg_._sideIndents_wide_sdxd5_gg_ .___SCell_sdxd5_gg_:first-child{padding-left:var(--intergalactic-spacing-5x, 20px)}.___SRow_sdxd5_gg_._sideIndents_wide_sdxd5_gg_ .___SCell_sdxd5_gg_:last-child{padding-right:var(--intergalactic-spacing-5x, 20px)}", /*__inner_css_end__*/"sdxd5_gg_"),
|
|
16
|
+
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SBody_yrn54_gg_,.___SRowGroup_yrn54_gg_,.___SRow_yrn54_gg_{display:contents}.___SBody_yrn54_gg_.__compact_yrn54_gg_ .___SCell_yrn54_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SBody_yrn54_gg_.__compact_yrn54_gg_ .___SCell_yrn54_gg_[data-aria-level]{padding-left:calc(var(--intergalactic-spacing-2x, 8px) + (var(--intergalactic-spacing-5x, 20px)*(var(--data-aria-level_yrn54) - 1)))}.___SCell_yrn54_gg_.__gridArea_yrn54_gg_,.___SCollapseRow_yrn54_gg_.__gridArea_yrn54_gg_,.___SRow_yrn54_gg_.__gridArea_yrn54_gg_{grid-area:var(--gridArea_yrn54)}.___SCollapseRow_yrn54_gg_ .___SCell_yrn54_gg_{display:block}.___SCell_yrn54_gg_:not(.__theme_yrn54_gg_).__expanded_yrn54_gg_.__withAccordion_yrn54_gg_,.___SRow_yrn54_gg_.__active_yrn54_gg_>.___SCell_yrn54_gg_:not(.__theme_yrn54_gg_),.___SRow_yrn54_gg_._accordionType_row_yrn54_gg_.__expanded_yrn54_gg_>.___SCell_yrn54_gg_:not(.__theme_yrn54_gg_){background-color:var(--intergalactic-table-td-cell-active, #e6e7ed)}.___SCollapseRow_yrn54_gg_>.___SCell_yrn54_gg_:not(.__theme_yrn54_gg_),.___SRow_yrn54_gg_.__isAccordionRow_yrn54_gg_>.___SCell_yrn54_gg_:not(.__theme_yrn54_gg_){background-color:var(--intergalactic-table-td-cell-accordion, #f4f5f9)}@media (hover:hover){.___SRowGroup_yrn54_gg_:has(.___SCell_yrn54_gg_:hover)>.___SRow_yrn54_gg_._theme_muted_yrn54_gg_>.___SCell_yrn54_gg_[data-grouped-by=rowgroup]:not(.__theme_yrn54_gg_),.___SRowGroup_yrn54_gg_:has(.___SCell_yrn54_gg_:hover)>.___SRow_yrn54_gg_>.___SCell_yrn54_gg_[data-grouped-by=rowgroup]._theme_muted_yrn54_gg_,.___SRowGroup_yrn54_gg_:has(.___SCell_yrn54_gg_:hover)>.___SRow_yrn54_gg_>.___SCell_yrn54_gg_[data-grouped-by=rowgroup]:not(.__theme_yrn54_gg_):not(.__expanded_yrn54_gg_.__withAccordion_yrn54_gg_),.___SRowGroup_yrn54_gg_:has(.___SCell_yrn54_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_yrn54_gg_._theme_muted_yrn54_gg_>.___SCell_yrn54_gg_:not(.__theme_yrn54_gg_),.___SRowGroup_yrn54_gg_:has(.___SCell_yrn54_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_yrn54_gg_>.___SCell_yrn54_gg_._theme_muted_yrn54_gg_,.___SRowGroup_yrn54_gg_:has(.___SCell_yrn54_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_yrn54_gg_>.___SCell_yrn54_gg_:not(.__theme_yrn54_gg_):not(.__expanded_yrn54_gg_.__withAccordion_yrn54_gg_),.___SRow_yrn54_gg_._theme_muted_yrn54_gg_:hover>.___SCell_yrn54_gg_:not(.__theme_yrn54_gg_),.___SRow_yrn54_gg_:hover>.___SCell_yrn54_gg_._theme_muted_yrn54_gg_,.___SRow_yrn54_gg_:not(._accordionType_row_yrn54_gg_.__expanded_yrn54_gg_):hover>.___SCell_yrn54_gg_:not(.__theme_yrn54_gg_):not(.__expanded_yrn54_gg_.__withAccordion_yrn54_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}.___SRowGroup_yrn54_gg_:has(.___SCell_yrn54_gg_:hover)>.___SRow_yrn54_gg_._theme_info_yrn54_gg_>.___SCell_yrn54_gg_[data-grouped-by=rowgroup]:not(.__theme_yrn54_gg_),.___SRowGroup_yrn54_gg_:has(.___SCell_yrn54_gg_:hover)>.___SRow_yrn54_gg_>.___SCell_yrn54_gg_[data-grouped-by=rowgroup]._theme_info_yrn54_gg_,.___SRowGroup_yrn54_gg_:has(.___SCell_yrn54_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_yrn54_gg_._theme_info_yrn54_gg_>.___SCell_yrn54_gg_:not(.__theme_yrn54_gg_),.___SRowGroup_yrn54_gg_:has(.___SCell_yrn54_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_yrn54_gg_>.___SCell_yrn54_gg_._theme_info_yrn54_gg_,.___SRow_yrn54_gg_._theme_info_yrn54_gg_:hover>.___SCell_yrn54_gg_:not(.__theme_yrn54_gg_),.___SRow_yrn54_gg_:hover>.___SCell_yrn54_gg_._theme_info_yrn54_gg_{background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}.___SRowGroup_yrn54_gg_:has(.___SCell_yrn54_gg_:hover)>.___SRow_yrn54_gg_._theme_success_yrn54_gg_>.___SCell_yrn54_gg_[data-grouped-by=rowgroup]:not(.__theme_yrn54_gg_),.___SRowGroup_yrn54_gg_:has(.___SCell_yrn54_gg_:hover)>.___SRow_yrn54_gg_>.___SCell_yrn54_gg_[data-grouped-by=rowgroup]._theme_success_yrn54_gg_,.___SRowGroup_yrn54_gg_:has(.___SCell_yrn54_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_yrn54_gg_._theme_success_yrn54_gg_>.___SCell_yrn54_gg_:not(.__theme_yrn54_gg_),.___SRowGroup_yrn54_gg_:has(.___SCell_yrn54_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_yrn54_gg_>.___SCell_yrn54_gg_._theme_success_yrn54_gg_,.___SRow_yrn54_gg_._theme_success_yrn54_gg_:hover>.___SCell_yrn54_gg_:not(.__theme_yrn54_gg_),.___SRow_yrn54_gg_:hover>.___SCell_yrn54_gg_._theme_success_yrn54_gg_{background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}.___SRowGroup_yrn54_gg_:has(.___SCell_yrn54_gg_:hover)>.___SRow_yrn54_gg_._theme_warning_yrn54_gg_>.___SCell_yrn54_gg_[data-grouped-by=rowgroup]:not(.__theme_yrn54_gg_),.___SRowGroup_yrn54_gg_:has(.___SCell_yrn54_gg_:hover)>.___SRow_yrn54_gg_>.___SCell_yrn54_gg_[data-grouped-by=rowgroup]._theme_warning_yrn54_gg_,.___SRowGroup_yrn54_gg_:has(.___SCell_yrn54_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_yrn54_gg_._theme_warning_yrn54_gg_>.___SCell_yrn54_gg_:not(.__theme_yrn54_gg_),.___SRowGroup_yrn54_gg_:has(.___SCell_yrn54_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_yrn54_gg_>.___SCell_yrn54_gg_._theme_warning_yrn54_gg_,.___SRow_yrn54_gg_._theme_warning_yrn54_gg_:hover>.___SCell_yrn54_gg_:not(.__theme_yrn54_gg_),.___SRow_yrn54_gg_:hover>.___SCell_yrn54_gg_._theme_warning_yrn54_gg_{background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}.___SRowGroup_yrn54_gg_:has(.___SCell_yrn54_gg_:hover)>.___SRow_yrn54_gg_._theme_danger_yrn54_gg_>.___SCell_yrn54_gg_[data-grouped-by=rowgroup]:not(.__theme_yrn54_gg_),.___SRowGroup_yrn54_gg_:has(.___SCell_yrn54_gg_:hover)>.___SRow_yrn54_gg_>.___SCell_yrn54_gg_[data-grouped-by=rowgroup]._theme_danger_yrn54_gg_,.___SRowGroup_yrn54_gg_:has(.___SCell_yrn54_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_yrn54_gg_._theme_danger_yrn54_gg_>.___SCell_yrn54_gg_:not(.__theme_yrn54_gg_),.___SRowGroup_yrn54_gg_:has(.___SCell_yrn54_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_yrn54_gg_>.___SCell_yrn54_gg_._theme_danger_yrn54_gg_,.___SRow_yrn54_gg_._theme_danger_yrn54_gg_:hover>.___SCell_yrn54_gg_:not(.__theme_yrn54_gg_),.___SRow_yrn54_gg_:hover>.___SCell_yrn54_gg_._theme_danger_yrn54_gg_{background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}}.___SRow_yrn54_gg_._theme_muted_yrn54_gg_ .___SCell_yrn54_gg_:not(.__theme_yrn54_gg_){background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}.___SRow_yrn54_gg_._theme_muted_yrn54_gg_.__active_yrn54_gg_>.___SCell_yrn54_gg_:not(.__theme_yrn54_gg_){background-color:var(--intergalactic-table-td-cell-active, #e6e7ed)}.___SRow_yrn54_gg_._theme_info_yrn54_gg_ .___SCell_yrn54_gg_:not(.__theme_yrn54_gg_){background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SRow_yrn54_gg_._theme_info_yrn54_gg_.__active_yrn54_gg_>.___SCell_yrn54_gg_:not(.__theme_yrn54_gg_){background-color:var(--intergalactic-table-td-cell-selected-active, #c4e5fe)}.___SRow_yrn54_gg_._theme_success_yrn54_gg_ .___SCell_yrn54_gg_:not(.__theme_yrn54_gg_){background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SRow_yrn54_gg_._theme_success_yrn54_gg_.__active_yrn54_gg_>.___SCell_yrn54_gg_:not(.__theme_yrn54_gg_){background-color:var(--intergalactic-table-td-cell-new-active, #9ef2c9)}.___SRow_yrn54_gg_._theme_warning_yrn54_gg_ .___SCell_yrn54_gg_:not(.__theme_yrn54_gg_){background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SRow_yrn54_gg_._theme_warning_yrn54_gg_.__active_yrn54_gg_>.___SCell_yrn54_gg_:not(.__theme_yrn54_gg_){background-color:var(--intergalactic-table-td-cell-warning-active, #ffdca2)}.___SRow_yrn54_gg_._theme_danger_yrn54_gg_ .___SCell_yrn54_gg_:not(.__theme_yrn54_gg_){background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SRow_yrn54_gg_._theme_danger_yrn54_gg_.__active_yrn54_gg_>.___SCell_yrn54_gg_:not(.__theme_yrn54_gg_){background-color:var(--intergalactic-table-td-cell-critical-active, #ffd7df)}.___SCell_yrn54_gg_{display:flex;height:100%;font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%);color:var(--intergalactic-text-primary, #191b23);box-sizing:border-box;border-bottom:1px solid var(--intergalactic-border-secondary, #e0e1e9);overflow:hidden;white-space:pre-wrap;word-break:break-word;font-feature-settings:\"tnum\";font-variant-numeric:tabular-nums;transition:width calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out;outline:0}.___SCell_yrn54_gg_ .___SAccordionToggle_yrn54_gg_{margin-right:var(--intergalactic-spacing-3x, 12px);margin-top:var(--intergalactic-spacing-05x, 2px);height:-moz-fit-content;height:fit-content}.___SCell_yrn54_gg_ .___SAccordionToggle_yrn54_gg_ svg{transition:transform calc(var(--intergalactic-duration-accordion, 200)*1ms) ease-out}.___SCell_yrn54_gg_ .___SAccordionToggle_yrn54_gg_.__expanded_yrn54_gg_ svg{transform:rotate(90deg)}.___SCell_yrn54_gg_.__withAccordion_yrn54_gg_,.___SCheckboxCell_yrn54_gg_,.___SRow_yrn54_gg_._accordionType_row_yrn54_gg_>.___SCell_yrn54_gg_{cursor:pointer}.___SCell_yrn54_gg_._use_primary_yrn54_gg_{padding:var(--intergalactic-spacing-3x, 12px);min-height:45px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_yrn54_gg_._use_primary_yrn54_gg_[data-aria-level]{padding-left:calc(var(--intergalactic-spacing-3x, 12px) + ((var(--intergalactic-spacing-5x, 20px) + var(--intergalactic-spacing-2x, 8px))*(var(--data-aria-level_yrn54) - 1)))}.___SCell_yrn54_gg_._use_secondary_yrn54_gg_{padding:var(--intergalactic-spacing-2x, 8px);min-height:37px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_yrn54_gg_._use_secondary_yrn54_gg_[data-aria-level]{padding-left:calc(var(--intergalactic-spacing-2x, 8px) + ((var(--intergalactic-spacing-5x, 20px) + var(--intergalactic-spacing-2x, 8px))*(var(--data-aria-level_yrn54) - 1)))}.___SCell_yrn54_gg_._borders_both_yrn54_gg_,.___SCell_yrn54_gg_._borders_left_yrn54_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_yrn54_gg_._borders_both_yrn54_gg_,.___SCell_yrn54_gg_._borders_right_yrn54_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_yrn54_gg_.__fixed_yrn54_gg_{position:sticky;z-index:2}.___SCell_yrn54_gg_._theme_muted_yrn54_gg_{background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}.___SCell_yrn54_gg_._theme_info_yrn54_gg_{background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SCell_yrn54_gg_._theme_success_yrn54_gg_{background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SCell_yrn54_gg_._theme_warning_yrn54_gg_{background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SCell_yrn54_gg_._theme_danger_yrn54_gg_{background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SSpinContainer_yrn54_gg_{position:absolute;left:0;right:0;bottom:0;top:0;display:flex;align-items:center;justify-content:center;background-color:var(--intergalactic-overlay-limitation-secondary, rgba(255, 255, 255, 0.85))}.___SSpinContainer_yrn54_gg_.__headerHeight_yrn54_gg_{top:var(--headerHeight_yrn54)}.___SEmptyData_yrn54_gg_{grid-column:1/-1}.___SRow_yrn54_gg_._sideIndents_wide_yrn54_gg_ .___SCell_yrn54_gg_:first-child{padding-left:var(--intergalactic-spacing-5x, 20px)}.___SRow_yrn54_gg_._sideIndents_wide_yrn54_gg_ .___SCell_yrn54_gg_:last-child{padding-right:var(--intergalactic-spacing-5x, 20px)}", /*__inner_css_end__*/"yrn54_gg_"),
|
|
16
17
|
/*__reshadow_css_end__*/
|
|
17
18
|
{
|
|
18
|
-
"__SBody": "
|
|
19
|
-
"__SRow": "
|
|
20
|
-
"__SRowGroup": "
|
|
21
|
-
"_gridArea": "
|
|
22
|
-
"__SCell": "
|
|
23
|
-
"__SCollapseRow": "
|
|
24
|
-
"--gridArea": "--
|
|
25
|
-
"_active": "
|
|
26
|
-
"_theme": "
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"_theme_muted": "
|
|
32
|
-
"_theme_info": "
|
|
33
|
-
"_theme_success": "
|
|
34
|
-
"_theme_warning": "
|
|
35
|
-
"_theme_danger": "
|
|
36
|
-
"__SCheckboxCell": "
|
|
37
|
-
"_borders_both": "
|
|
38
|
-
"_borders_left": "
|
|
39
|
-
"_borders_right": "
|
|
40
|
-
"_fixed": "
|
|
41
|
-
"__SSpinContainer": "
|
|
42
|
-
"_headerHeight": "
|
|
43
|
-
"--headerHeight": "--
|
|
44
|
-
"__SEmptyData": "
|
|
45
|
-
"_compact": "
|
|
46
|
-
"--data-aria-level": "--data-aria-
|
|
47
|
-
"__SAccordionToggle": "
|
|
48
|
-
"_use_primary": "
|
|
49
|
-
"_use_secondary": "
|
|
50
|
-
"_sideIndents_wide": "
|
|
19
|
+
"__SBody": "___SBody_yrn54_gg_",
|
|
20
|
+
"__SRow": "___SRow_yrn54_gg_",
|
|
21
|
+
"__SRowGroup": "___SRowGroup_yrn54_gg_",
|
|
22
|
+
"_gridArea": "__gridArea_yrn54_gg_",
|
|
23
|
+
"__SCell": "___SCell_yrn54_gg_",
|
|
24
|
+
"__SCollapseRow": "___SCollapseRow_yrn54_gg_",
|
|
25
|
+
"--gridArea": "--gridArea_yrn54",
|
|
26
|
+
"_active": "__active_yrn54_gg_",
|
|
27
|
+
"_theme": "__theme_yrn54_gg_",
|
|
28
|
+
"_accordionType_row": "_accordionType_row_yrn54_gg_",
|
|
29
|
+
"_expanded": "__expanded_yrn54_gg_",
|
|
30
|
+
"_withAccordion": "__withAccordion_yrn54_gg_",
|
|
31
|
+
"_isAccordionRow": "__isAccordionRow_yrn54_gg_",
|
|
32
|
+
"_theme_muted": "_theme_muted_yrn54_gg_",
|
|
33
|
+
"_theme_info": "_theme_info_yrn54_gg_",
|
|
34
|
+
"_theme_success": "_theme_success_yrn54_gg_",
|
|
35
|
+
"_theme_warning": "_theme_warning_yrn54_gg_",
|
|
36
|
+
"_theme_danger": "_theme_danger_yrn54_gg_",
|
|
37
|
+
"__SCheckboxCell": "___SCheckboxCell_yrn54_gg_",
|
|
38
|
+
"_borders_both": "_borders_both_yrn54_gg_",
|
|
39
|
+
"_borders_left": "_borders_left_yrn54_gg_",
|
|
40
|
+
"_borders_right": "_borders_right_yrn54_gg_",
|
|
41
|
+
"_fixed": "__fixed_yrn54_gg_",
|
|
42
|
+
"__SSpinContainer": "___SSpinContainer_yrn54_gg_",
|
|
43
|
+
"_headerHeight": "__headerHeight_yrn54_gg_",
|
|
44
|
+
"--headerHeight": "--headerHeight_yrn54",
|
|
45
|
+
"__SEmptyData": "___SEmptyData_yrn54_gg_",
|
|
46
|
+
"_compact": "__compact_yrn54_gg_",
|
|
47
|
+
"--data-aria-level": "--data-aria-level_yrn54",
|
|
48
|
+
"__SAccordionToggle": "___SAccordionToggle_yrn54_gg_",
|
|
49
|
+
"_use_primary": "_use_primary_yrn54_gg_",
|
|
50
|
+
"_use_secondary": "_use_secondary_yrn54_gg_",
|
|
51
|
+
"_sideIndents_wide": "_sideIndents_wide_yrn54_gg_"
|
|
51
52
|
});
|
|
52
53
|
import { Cell } from './Cell';
|
|
53
54
|
import { MergedColumnsCell, MergedRowsCell } from './MergedCells';
|
|
54
|
-
import { ACCORDION, ROW_INDEX, UNIQ_ROW_KEY } from '../DataTable/DataTable';
|
|
55
|
+
import { ACCORDION, ROW_GROUP, ROW_INDEX, UNIQ_ROW_KEY } from '../DataTable/DataTable';
|
|
55
56
|
import ChevronRightM from '@semcore/icon/ChevronRight/m';
|
|
56
57
|
import { ButtonLink } from '@semcore/button';
|
|
57
58
|
import Spin from '@semcore/spin';
|
|
58
59
|
import { isInteractiveElement } from '@semcore/core/lib/utils/isInteractiveElement';
|
|
60
|
+
import { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';
|
|
59
61
|
var ROWS_BUFFER = 20;
|
|
60
62
|
var APROX_ROWS_ON_PAGE = 20;
|
|
61
63
|
var BodyRoot = /*#__PURE__*/function (_Component) {
|
|
@@ -149,7 +151,7 @@ var BodyRoot = /*#__PURE__*/function (_Component) {
|
|
|
149
151
|
|
|
150
152
|
var accordionDataGridArea = Array.isArray(row[ACCORDION]) ? "".concat(gridRowIndex + 1, " / 1 / ").concat(gridRowIndex + 1 + row[ACCORDION].length, " / ").concat(columns.length + 1) : "".concat(gridRowIndex + 1, " / 1 / ").concat(gridRowIndex + 1, " / ").concat(columns.length + 1);
|
|
151
153
|
return _objectSpread(_objectSpread({
|
|
152
|
-
onClick: row[ACCORDION] ? this.handleClickRow(row, index) : undefined
|
|
154
|
+
onClick: row[ACCORDION] && !props.mergedRow ? this.handleClickRow(row, index) : undefined
|
|
153
155
|
}, rowProps === null || rowProps === void 0 ? void 0 : rowProps(row, index)), {}, {
|
|
154
156
|
use: use,
|
|
155
157
|
uid: uid,
|
|
@@ -171,7 +173,8 @@ var BodyRoot = /*#__PURE__*/function (_Component) {
|
|
|
171
173
|
inert: loading ? '' : undefined,
|
|
172
174
|
scrollAreaRef: scrollAreaRef,
|
|
173
175
|
sideIndents: sideIndents,
|
|
174
|
-
getFixedStyle: getFixedStyle
|
|
176
|
+
getFixedStyle: getFixedStyle,
|
|
177
|
+
mergedRow: props.mergedRow
|
|
175
178
|
});
|
|
176
179
|
}
|
|
177
180
|
}, {
|
|
@@ -179,8 +182,7 @@ var BodyRoot = /*#__PURE__*/function (_Component) {
|
|
|
179
182
|
value: function getCellProps(props) {
|
|
180
183
|
var _props$children,
|
|
181
184
|
_value3,
|
|
182
|
-
_this2 = this
|
|
183
|
-
_value4;
|
|
185
|
+
_this2 = this;
|
|
184
186
|
var _this$asProps2 = this.asProps,
|
|
185
187
|
use = _this$asProps2.use,
|
|
186
188
|
renderCell = _this$asProps2.renderCell,
|
|
@@ -188,7 +190,8 @@ var BodyRoot = /*#__PURE__*/function (_Component) {
|
|
|
188
190
|
styles = _this$asProps2.styles,
|
|
189
191
|
getI18nText = _this$asProps2.getI18nText,
|
|
190
192
|
virtualScroll = _this$asProps2.virtualScroll,
|
|
191
|
-
tableRef = _this$asProps2.tableRef
|
|
193
|
+
tableRef = _this$asProps2.tableRef,
|
|
194
|
+
flatRows = _this$asProps2.flatRows;
|
|
192
195
|
var SAccordionToggle = ButtonLink;
|
|
193
196
|
var dataKey = props.column.name;
|
|
194
197
|
var cellValue = props.row[dataKey];
|
|
@@ -235,16 +238,33 @@ var BodyRoot = /*#__PURE__*/function (_Component) {
|
|
|
235
238
|
}
|
|
236
239
|
}
|
|
237
240
|
}
|
|
238
|
-
if (props.columnIndex === 0 && props.row[ACCORDION] || (_value3 = value) !== null && _value3 !== void 0 && _value3[ACCORDION]) {
|
|
239
|
-
var _ref2;
|
|
241
|
+
if (props.columnIndex === 0 && props.row[ACCORDION] || (_value3 = value) !== null && _value3 !== void 0 && _value3[ACCORDION] || cellValue instanceof MergedRowsCell && cellValue.accordion) {
|
|
242
|
+
var _ref2, _value4;
|
|
240
243
|
var expanded = expandedRows === null || expandedRows === void 0 ? void 0 : expandedRows.has(props.row[UNIQ_ROW_KEY]);
|
|
244
|
+
if (cellValue instanceof MergedRowsCell && cellValue.accordion && props.row[ROW_GROUP]) {
|
|
245
|
+
var mergedKeysSet = props.row[ROW_GROUP];
|
|
246
|
+
expanded = _toConsumableArray(mergedKeysSet).some(function (key) {
|
|
247
|
+
return expandedRows === null || expandedRows === void 0 ? void 0 : expandedRows.has(key);
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
extraProps.expanded = expanded;
|
|
251
|
+
var row = props.row;
|
|
252
|
+
var rowIndex = props.rowIndex;
|
|
253
|
+
if (cellValue instanceof MergedRowsCell && cellValue.accordion) {
|
|
254
|
+
row = flatRows[props.rowIndex + cellValue.rowsCount - 1];
|
|
255
|
+
rowIndex = props.rowIndex + cellValue.rowsCount - 1;
|
|
256
|
+
}
|
|
257
|
+
var handleClick = function handleClick(e) {
|
|
258
|
+
e.stopPropagation();
|
|
259
|
+
_this2.handleExpandRow(row, rowIndex);
|
|
260
|
+
};
|
|
261
|
+
if ((_value4 = value) !== null && _value4 !== void 0 && _value4[ACCORDION] || cellValue instanceof MergedRowsCell && cellValue.accordion) {
|
|
262
|
+
extraProps.onClick = callAllEventHandlers(extraProps.onClick, this.handleClickCell(row, rowIndex));
|
|
263
|
+
}
|
|
241
264
|
extraProps.children = (_ref2 = sstyled(styles), /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SAccordionToggle, _ref2.cn("SAccordionToggle", {
|
|
242
265
|
"aria-label": getI18nText('DataTable.Cell.AccordionToggle.expand:aria-label'),
|
|
243
266
|
"expanded": expanded,
|
|
244
|
-
"onClick":
|
|
245
|
-
e.stopPropagation();
|
|
246
|
-
_this2.handleExpandRow(props.row, props.rowIndex);
|
|
247
|
-
},
|
|
267
|
+
"onClick": handleClick,
|
|
248
268
|
"color": '--intergalactic-icon-primary-neutral',
|
|
249
269
|
"aria-expanded": expanded,
|
|
250
270
|
"aria-describedby": props.id,
|
|
@@ -253,9 +273,6 @@ var BodyRoot = /*#__PURE__*/function (_Component) {
|
|
|
253
273
|
tag: ChevronRightM
|
|
254
274
|
})), extraProps.children));
|
|
255
275
|
}
|
|
256
|
-
if ((_value4 = value) !== null && _value4 !== void 0 && _value4[ACCORDION]) {
|
|
257
|
-
extraProps.onClick = this.handleClickCell(props.row, props.rowIndex);
|
|
258
|
-
}
|
|
259
276
|
return extraProps;
|
|
260
277
|
}
|
|
261
278
|
}, {
|
|
@@ -365,8 +382,7 @@ var BodyRoot = /*#__PURE__*/function (_Component) {
|
|
|
365
382
|
return _ref3 = sstyled(styles), /*#__PURE__*/React.createElement(SBody, _ref3.cn("SBody", _objectSpread({}, _assignProps({
|
|
366
383
|
"__excludeProps": ['data']
|
|
367
384
|
}, _ref))), emptyRow && /*#__PURE__*/React.createElement(Body.Row, {
|
|
368
|
-
row: emptyRow
|
|
369
|
-
offset: 0
|
|
385
|
+
row: emptyRow
|
|
370
386
|
}), typeof virtualScroll === 'boolean' && rowMarginTop && /*#__PURE__*/React.createElement(Box, _ref3.cn("Box", {
|
|
371
387
|
"h": rowMarginTop
|
|
372
388
|
})), rowsToRender.map(function (row, index) {
|
|
@@ -379,7 +395,8 @@ var BodyRoot = /*#__PURE__*/function (_Component) {
|
|
|
379
395
|
}), row.map(function (item, i) {
|
|
380
396
|
return /*#__PURE__*/React.createElement(Body.Row, {
|
|
381
397
|
key: item[UNIQ_ROW_KEY],
|
|
382
|
-
row: item
|
|
398
|
+
row: item,
|
|
399
|
+
mergedRow: i > 0 ? true : false
|
|
383
400
|
});
|
|
384
401
|
}));
|
|
385
402
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Body.js","names":["React","Component","createComponent","Root","sstyled","Box","Row","style","_sstyled","insert","Cell","MergedColumnsCell","MergedRowsCell","ACCORDION","ROW_INDEX","UNIQ_ROW_KEY","ChevronRightM","ButtonLink","Spin","isInteractiveElement","ROWS_BUFFER","APROX_ROWS_ON_PAGE","BodyRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","Map","index","row","node","rowsHeightMap","has","set","setRowHeight","setTimeout","i","size","asProps","onExpandRow","e","target","handleExpandRow","_createClass","key","value","getRowProps","props","_this$asProps","use","gridTemplateAreas","gridTemplateColumns","expandedRows","columns","loading","hasGroups","scrollAreaRef","uid","onBackFromAccordion","rowProps","rows","flatRows","sideIndents","selectedRows","onSelectRow","getFixedStyle","rowIndex","from","reduce","acc","item","findIndex","_flatRows$rowIndex","expandedRow","isArray","gridRowIndex","ariaRowIndex","accordionDataGridArea","_objectSpread","onClick","handleClickRow","undefined","expanded","inert","getCellProps","_props$children","_value3","_this2","_value4","_this$asProps2","renderCell","styles","getI18nText","virtualScroll","tableRef","SAccordionToggle","dataKey","column","name","cellValue","isMergedRows","isMergedColumns","defaultRender","_value","isValidElement","toString","extraProps","Boolean","children","_value$toString","_value2","external","columnName","columnIndex","isReactNode","_ref2","createElement","Fragment","cn","stopPropagation","id","accordionId","Addon","tag","handleClickCell","render","_ref","_ref3","_this$rowsHeightMap$g5","_this3","SBody","SRowGroup","SSpinContainer","_this$asProps3","headerHeight","spinnerRef","scrollDirection","tableContainerRef","scrollTop","renderEmptyData","rowsToRender","startIndex","lastIndex","_virtualScroll$rowsBu","_tableContainerRef$cu","_tableContainerRef$cu2","rowsBuffer","offsetHeight","current","prevPrepared","nextPrepared","_virtualScroll$aproxR","aproxRowsOnPage","_this$rowsHeightMap$g","_this$rowsHeightMap$g2","_lastIndex","indexForDownIterate","get","valueFromToCompare","valueToToCompare","Math","max","min","_this$rowsHeightMap$g3","_this$rowsHeightMap$g4","_startIndex","indexForUpIterate","slice","rowHeight","floor","ceil","rowMarginTop","emptyRow","_emptyRow","_assignProps","Body","offset","map","_ref4","handleRef","ref","obj","_this$rowsHeightMap$g6","_node$children$item","firstChild","role","HTMLElement","offsetTop","height","getBoundingClientRect","nextSibling"],"sources":["../../../../src/components/Body/Body.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Component, createComponent, Intergalactic, Root, sstyled } from '@semcore/core';\nimport { BodyPropsInner, DataTableBodyProps } from './Body.types';\nimport { Box } from '@semcore/base-components';\nimport { Row } from './Row';\n\nimport style from './style.shadow.css';\nimport { Cell } from './Cell';\nimport { DataTableRowProps, DTRow, RowPropsInner } from './Row.types';\nimport { DataTableCellProps } from './Cell.types';\nimport { MergedColumnsCell, MergedRowsCell } from './MergedCells';\nimport { ACCORDION, ROW_INDEX, UNIQ_ROW_KEY } from '../DataTable/DataTable';\nimport ChevronRightM from '@semcore/icon/ChevronRight/m';\nimport { ButtonLink } from '@semcore/button';\nimport { DTValue } from '../DataTable/DataTable.types';\nimport Spin from '@semcore/spin';\nimport { isInteractiveElement } from '@semcore/core/lib/utils/isInteractiveElement';\n\nconst ROWS_BUFFER = 20;\nconst APROX_ROWS_ON_PAGE = 20;\n\nclass BodyRoot extends Component<DataTableBodyProps, {}, {}, [], BodyPropsInner> {\n static displayName = 'Body';\n static style = style;\n\n rowsHeightMap = new Map<number, [number, number, HTMLElement]>();\n\n indexForDownIterate = 0;\n indexForUpIterate = 0;\n\n handleRef = (index: number, row: DTRow) => (node: HTMLElement | null) => {\n if (!this.rowsHeightMap.has(index) && node) {\n this.rowsHeightMap.set(index, [0, 0, node]);\n this.setRowHeight(index, row);\n }\n };\n\n handleExpandRow = (row: DTRow, index: number) => {\n setTimeout(() => {\n this.setRowHeight(index, row);\n for (let i = index; i < this.rowsHeightMap.size; i++) {\n this.setRowHeight(i, row);\n }\n }, 300); // we need to calculate after expanding animation\n\n this.asProps.onExpandRow(row);\n };\n\n handleClickRow = (row: DTRow, index: number) => (e: React.SyntheticEvent<HTMLElement>) => {\n if (!isInteractiveElement(e.target)) {\n this.handleExpandRow(row, index);\n }\n };\n handleClickCell = (row: DTRow, index: number) => (e: React.SyntheticEvent<HTMLElement>) => {\n if (!isInteractiveElement(e.target)) {\n this.handleExpandRow(row, index);\n }\n };\n\n getRowProps(props: { row: DTRow }): RowPropsInner {\n const {\n use,\n gridTemplateAreas,\n gridTemplateColumns,\n expandedRows,\n columns,\n onExpandRow,\n loading,\n hasGroups,\n scrollAreaRef,\n uid,\n onBackFromAccordion,\n rowProps,\n rows,\n flatRows,\n sideIndents,\n selectedRows,\n onSelectRow,\n getFixedStyle,\n } = this.asProps;\n const row = props.row;\n const index = row[ROW_INDEX];\n\n const rowIndex = Array.from(expandedRows ?? []).reduce((acc, item) => {\n const rowIndex = flatRows.findIndex((row) => row[UNIQ_ROW_KEY] === item);\n if (rowIndex < index) {\n const expandedRow = flatRows[rowIndex]?.[ACCORDION];\n if (Array.isArray(expandedRow)) {\n acc = acc + expandedRow.length;\n } else {\n acc = acc + 1;\n }\n }\n\n return acc;\n }, index);\n\n const gridRowIndex = rowIndex + (hasGroups ? 3 : 2); // 1 - for header, 1 - because start not from 0, but from 1\n const ariaRowIndex = rowIndex + 2; // 1 - for header, 1 - because start not from 0, but from 1\n\n const accordionDataGridArea = Array.isArray(row[ACCORDION])\n ? `${gridRowIndex + 1} / 1 / ${gridRowIndex + 1 + row[ACCORDION].length} / ${\n columns.length + 1\n }`\n : `${gridRowIndex + 1} / 1 / ${gridRowIndex + 1} / ${columns.length + 1}`;\n\n return {\n onClick: row[ACCORDION] ? this.handleClickRow(row, index) : undefined,\n ...rowProps?.(row, index),\n use,\n uid,\n gridTemplateAreas,\n gridTemplateColumns,\n expanded: expandedRows?.has(row[UNIQ_ROW_KEY]),\n accordionDataGridArea,\n columns,\n rowIndex: index,\n ariaRowIndex,\n gridRowIndex,\n rows,\n onBackFromAccordion,\n row,\n expandedRows,\n onExpandRow,\n selectedRows,\n onSelectRow,\n inert: loading ? '' : undefined,\n scrollAreaRef,\n sideIndents,\n getFixedStyle,\n };\n }\n\n getCellProps(props: DataTableCellProps) {\n const { use, renderCell, expandedRows, styles, getI18nText, virtualScroll, tableRef } =\n this.asProps;\n const SAccordionToggle = ButtonLink;\n\n let dataKey = props.column.name;\n const cellValue = props.row[dataKey];\n\n let value: DTValue | undefined = undefined;\n const isMergedRows = cellValue instanceof MergedRowsCell;\n const isMergedColumns = cellValue instanceof MergedColumnsCell;\n\n if (isMergedColumns || isMergedRows) {\n value = cellValue.value;\n if (isMergedColumns) {\n dataKey = cellValue.dataKey;\n }\n } else {\n value = cellValue;\n }\n\n const defaultRender = () => {\n return React.isValidElement(value) ? value : value?.toString();\n };\n\n const extraProps: Record<string, any> = {\n use,\n virtualScroll: Boolean(virtualScroll),\n tableRef,\n children: props.children ?? defaultRender(),\n };\n\n if (renderCell) {\n const external = renderCell({\n columnName: props.column.name,\n row: props.row,\n column: props.column,\n rowIndex: props.rowIndex,\n columnIndex: props.columnIndex,\n dataKey,\n defaultRender,\n value: React.isValidElement(value) ? value : value?.toString() ?? '',\n isMergedRows,\n isMergedColumns,\n });\n\n if (this.isReactNode(external) || Array.isArray(external)) {\n extraProps.children = external;\n } else {\n for (const key in external) {\n extraProps[key] = external[key];\n }\n }\n }\n\n if ((props.columnIndex === 0 && props.row[ACCORDION]) || value?.[ACCORDION]) {\n const expanded = expandedRows?.has(props.row[UNIQ_ROW_KEY]);\n extraProps.children = sstyled(styles)(\n <>\n <SAccordionToggle\n aria-label={getI18nText('DataTable.Cell.AccordionToggle.expand:aria-label')}\n // @ts-ignore\n expanded={expanded}\n onClick={(e: React.SyntheticEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n this.handleExpandRow(props.row, props.rowIndex);\n }}\n color={'--intergalactic-icon-primary-neutral'}\n aria-expanded={expanded}\n aria-describedby={props.id}\n aria-controls={props.accordionId}\n >\n <SAccordionToggle.Addon tag={ChevronRightM} />\n </SAccordionToggle>\n {extraProps.children}\n </>,\n );\n }\n\n if (value?.[ACCORDION]) {\n extraProps.onClick = this.handleClickCell(props.row, props.rowIndex);\n }\n\n return extraProps;\n }\n\n render() {\n const SBody = Root;\n const SRowGroup = Box;\n const SSpinContainer = Box;\n const {\n styles,\n loading,\n headerHeight,\n spinnerRef,\n virtualScroll,\n scrollDirection,\n tableContainerRef,\n scrollTop,\n renderEmptyData,\n columns,\n uid,\n rows,\n } = this.asProps;\n\n let rowsToRender = rows;\n let startIndex = -1;\n let lastIndex = -1;\n\n if (virtualScroll) {\n const rowsBuffer =\n typeof virtualScroll !== 'boolean' && 'rowsBuffer' in virtualScroll\n ? virtualScroll.rowsBuffer ?? ROWS_BUFFER\n : ROWS_BUFFER;\n const offsetHeight = tableContainerRef.current?.offsetHeight ?? 0;\n const prevPrepared = scrollDirection === 'up' ? rowsBuffer : 4;\n const nextPrepared = scrollDirection === 'up' ? 4 : rowsBuffer;\n\n if (typeof virtualScroll === 'boolean' || 'aproxRowsOnPage' in virtualScroll) {\n const aproxRowsOnPage =\n typeof virtualScroll !== 'boolean'\n ? virtualScroll.aproxRowsOnPage ?? APROX_ROWS_ON_PAGE\n : APROX_ROWS_ON_PAGE;\n if (scrollDirection === 'down') {\n for (let i = this.indexForDownIterate; i < this.rowsHeightMap.size - 1; i++) {\n const value = this.rowsHeightMap.get(i);\n if (!value) continue;\n const key = i;\n const valueFromToCompare = value[1];\n const valueToToCompare = value[0];\n\n if (startIndex === -1 && scrollTop < valueFromToCompare) {\n startIndex = Math.max(key - prevPrepared, 0);\n }\n\n if (startIndex !== -1 && scrollTop + offsetHeight < valueToToCompare) {\n lastIndex = Math.min(key + nextPrepared, rows.length);\n }\n\n if (startIndex !== -1 && lastIndex !== -1) {\n break;\n }\n }\n\n if (scrollTop + offsetHeight < (this.rowsHeightMap.get(lastIndex ?? 0)?.[1] ?? 0)) {\n lastIndex = lastIndex + aproxRowsOnPage;\n }\n } else if (scrollDirection === 'up') {\n for (let i = this.indexForUpIterate; i >= 0; i--) {\n const value = this.rowsHeightMap.get(i);\n if (!value) continue;\n const key = i;\n const valueFromToCompare = value[1];\n const valueToToCompare = value[0];\n\n if (lastIndex === -1 && scrollTop + offsetHeight > valueToToCompare) {\n lastIndex = Math.min(key + nextPrepared, rows.length);\n }\n\n if (lastIndex !== -1 && scrollTop < valueFromToCompare) {\n startIndex = Math.max(key - prevPrepared, 0);\n }\n\n if (startIndex !== -1 && lastIndex !== -1) {\n break;\n }\n }\n\n if (scrollTop < (this.rowsHeightMap.get(startIndex ?? 0)?.[0] ?? 0)) {\n startIndex = Math.max(startIndex - aproxRowsOnPage, 0);\n }\n }\n\n if (startIndex === -1) {\n startIndex = scrollTop === 0 ? 0 : Math.max(rows.length - aproxRowsOnPage, 0);\n }\n\n if (lastIndex === -1) {\n lastIndex = scrollTop === 0 ? aproxRowsOnPage : rows.length;\n }\n\n this.indexForDownIterate = startIndex;\n this.indexForUpIterate = lastIndex;\n\n rowsToRender = rows.slice(startIndex, lastIndex);\n } else if ('rowHeight' in virtualScroll) {\n const rowHeight = virtualScroll.rowHeight;\n\n startIndex = Math.max(Math.floor(scrollTop / rowHeight) - prevPrepared, 0);\n\n const lastIndex = Math.min(\n Math.ceil((scrollTop + offsetHeight) / rowHeight) + nextPrepared,\n rows.length,\n );\n\n rowsToRender = rows.slice(startIndex, lastIndex);\n }\n }\n\n startIndex = startIndex === -1 ? 0 : startIndex;\n const rowMarginTop = this.rowsHeightMap.get(startIndex - 1)?.[1];\n\n let emptyRow: DTRow | null = null;\n\n if (rowsToRender.length === 0) {\n emptyRow = {\n [UNIQ_ROW_KEY]: `${uid}_empty_data`,\n [ROW_INDEX]: 0,\n [columns[0].name]: new MergedColumnsCell(renderEmptyData(), {\n dataKey: columns[0].name,\n size: columns.length,\n }),\n };\n }\n\n return sstyled(styles)(\n <SBody render={Box} __excludeProps={['data']}>\n {emptyRow && <Body.Row row={emptyRow} offset={0} />}\n {typeof virtualScroll === 'boolean' && rowMarginTop && <Box h={rowMarginTop} />}\n {rowsToRender.map((row, index) => {\n if (Array.isArray(row)) {\n return sstyled(styles)(\n <SRowGroup\n role={'rowgroup'}\n key={`gg_${row[0][UNIQ_ROW_KEY]}`}\n ref={this.handleRef(startIndex + index, row[0])}\n >\n {row.map((item, i) => {\n return <Body.Row key={item[UNIQ_ROW_KEY]} row={item} />;\n })}\n </SRowGroup>,\n );\n }\n return (\n <Body.Row\n key={row[UNIQ_ROW_KEY]}\n row={row}\n ref={virtualScroll ? this.handleRef(startIndex + index, row) : undefined}\n />\n );\n })}\n {loading && (\n <SSpinContainer\n innerOutline\n // @ts-ignore\n headerHeight={`${headerHeight}px`}\n tabIndex={-1}\n ref={spinnerRef}\n role={'row'}\n >\n <Spin size={'xxl'} role={'gridcell'} />\n </SSpinContainer>\n )}\n </SBody>,\n );\n }\n\n private isReactNode(obj: React.ReactNode | Record<string, any>): obj is React.ReactNode {\n return (\n typeof obj === 'string' ||\n typeof obj === 'number' ||\n React.isValidElement(obj) ||\n typeof obj === 'boolean' ||\n obj === undefined ||\n obj === null\n );\n }\n\n private setRowHeight(index: number, row: DTRow) {\n const { expandedRows } = this.asProps;\n const node = this.rowsHeightMap.get(index)?.[2];\n const firstChild =\n node?.role === 'rowgroup' ? node?.children.item(0)?.children.item(0) : node?.children.item(0);\n if (node && firstChild instanceof HTMLElement) {\n const offset = firstChild.offsetTop - this.asProps.headerHeight;\n let height = firstChild.getBoundingClientRect().height;\n\n if (expandedRows.has(row[UNIQ_ROW_KEY]) && node.nextSibling instanceof HTMLElement) {\n height = height + node.nextSibling.getBoundingClientRect().height;\n }\n\n this.rowsHeightMap.set(index, [offset, offset + height, node]);\n }\n }\n}\n\nexport const Body = createComponent(BodyRoot, {\n Row,\n Cell,\n}) as Intergalactic.Component<'div', DataTableBodyProps> & {\n Row: Intergalactic.Component<'div', DataTableRowProps>;\n Cell: Intergalactic.Component<'div', DataTableCellProps>;\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Body.js","names":["React","Component","createComponent","Root","sstyled","Box","Row","style","_sstyled","insert","Cell","MergedColumnsCell","MergedRowsCell","ACCORDION","ROW_GROUP","ROW_INDEX","UNIQ_ROW_KEY","ChevronRightM","ButtonLink","Spin","isInteractiveElement","callAllEventHandlers","ROWS_BUFFER","APROX_ROWS_ON_PAGE","BodyRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","Map","index","row","node","rowsHeightMap","has","set","setRowHeight","setTimeout","i","size","asProps","onExpandRow","e","target","handleExpandRow","_createClass","key","value","getRowProps","props","_this$asProps","use","gridTemplateAreas","gridTemplateColumns","expandedRows","columns","loading","hasGroups","scrollAreaRef","uid","onBackFromAccordion","rowProps","rows","flatRows","sideIndents","selectedRows","onSelectRow","getFixedStyle","rowIndex","from","reduce","acc","item","findIndex","_flatRows$rowIndex","expandedRow","isArray","gridRowIndex","ariaRowIndex","accordionDataGridArea","_objectSpread","onClick","mergedRow","handleClickRow","undefined","expanded","inert","getCellProps","_props$children","_value3","_this2","_this$asProps2","renderCell","styles","getI18nText","virtualScroll","tableRef","SAccordionToggle","dataKey","column","name","cellValue","isMergedRows","isMergedColumns","defaultRender","_value","isValidElement","toString","extraProps","Boolean","children","_value$toString","_value2","external","columnName","columnIndex","isReactNode","accordion","_ref2","_value4","mergedKeysSet","_toConsumableArray","some","rowsCount","handleClick","stopPropagation","handleClickCell","createElement","Fragment","cn","id","accordionId","Addon","tag","render","_ref","_ref3","_this$rowsHeightMap$g5","_this3","SBody","SRowGroup","SSpinContainer","_this$asProps3","headerHeight","spinnerRef","scrollDirection","tableContainerRef","scrollTop","renderEmptyData","rowsToRender","startIndex","lastIndex","_virtualScroll$rowsBu","_tableContainerRef$cu","_tableContainerRef$cu2","rowsBuffer","offsetHeight","current","prevPrepared","nextPrepared","_virtualScroll$aproxR","aproxRowsOnPage","_this$rowsHeightMap$g","_this$rowsHeightMap$g2","_lastIndex","indexForDownIterate","get","valueFromToCompare","valueToToCompare","Math","max","min","_this$rowsHeightMap$g3","_this$rowsHeightMap$g4","_startIndex","indexForUpIterate","slice","rowHeight","floor","ceil","rowMarginTop","emptyRow","_emptyRow","_assignProps","Body","map","_ref4","handleRef","ref","obj","_this$rowsHeightMap$g6","_node$children$item","firstChild","role","HTMLElement","offset","offsetTop","height","getBoundingClientRect","nextSibling"],"sources":["../../../../src/components/Body/Body.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Component, createComponent, Intergalactic, Root, sstyled } from '@semcore/core';\nimport { BodyPropsInner, DataTableBodyProps } from './Body.types';\nimport { Box } from '@semcore/base-components';\nimport { Row } from './Row';\n\nimport style from './style.shadow.css';\nimport { Cell } from './Cell';\nimport { DataTableRowProps, DTRow, RowPropsInner } from './Row.types';\nimport { DataTableCellProps } from './Cell.types';\nimport { MergedColumnsCell, MergedRowsCell } from './MergedCells';\nimport { ACCORDION, ROW_GROUP, ROW_INDEX, UNIQ_ROW_KEY } from '../DataTable/DataTable';\nimport ChevronRightM from '@semcore/icon/ChevronRight/m';\nimport { ButtonLink } from '@semcore/button';\nimport { DTValue } from '../DataTable/DataTable.types';\nimport Spin from '@semcore/spin';\nimport { isInteractiveElement } from '@semcore/core/lib/utils/isInteractiveElement';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\n\nconst ROWS_BUFFER = 20;\nconst APROX_ROWS_ON_PAGE = 20;\n\nclass BodyRoot extends Component<DataTableBodyProps, {}, {}, [], BodyPropsInner> {\n static displayName = 'Body';\n static style = style;\n\n rowsHeightMap = new Map<number, [number, number, HTMLElement]>();\n\n indexForDownIterate = 0;\n indexForUpIterate = 0;\n\n handleRef = (index: number, row: DTRow) => (node: HTMLElement | null) => {\n if (!this.rowsHeightMap.has(index) && node) {\n this.rowsHeightMap.set(index, [0, 0, node]);\n this.setRowHeight(index, row);\n }\n };\n\n handleExpandRow = (row: DTRow, index: number) => {\n setTimeout(() => {\n this.setRowHeight(index, row);\n for (let i = index; i < this.rowsHeightMap.size; i++) {\n this.setRowHeight(i, row);\n }\n }, 300); // we need to calculate after expanding animation\n\n this.asProps.onExpandRow(row);\n };\n\n handleClickRow = (row: DTRow, index: number) => (e: React.SyntheticEvent<HTMLElement>) => {\n if (!isInteractiveElement(e.target)) {\n this.handleExpandRow(row, index);\n }\n };\n handleClickCell = (row: DTRow, index: number) => (e: React.SyntheticEvent<HTMLElement>) => {\n if (!isInteractiveElement(e.target)) {\n this.handleExpandRow(row, index);\n }\n };\n\n getRowProps(props: { row: DTRow; mergedRow?: boolean }): RowPropsInner {\n const {\n use,\n gridTemplateAreas,\n gridTemplateColumns,\n expandedRows,\n columns,\n onExpandRow,\n loading,\n hasGroups,\n scrollAreaRef,\n uid,\n onBackFromAccordion,\n rowProps,\n rows,\n flatRows,\n sideIndents,\n selectedRows,\n onSelectRow,\n getFixedStyle,\n } = this.asProps;\n const row = props.row;\n const index = row[ROW_INDEX];\n\n const rowIndex = Array.from(expandedRows ?? []).reduce((acc, item) => {\n const rowIndex = flatRows.findIndex((row) => row[UNIQ_ROW_KEY] === item);\n if (rowIndex < index) {\n const expandedRow = flatRows[rowIndex]?.[ACCORDION];\n if (Array.isArray(expandedRow)) {\n acc = acc + expandedRow.length;\n } else {\n acc = acc + 1;\n }\n }\n\n return acc;\n }, index);\n\n const gridRowIndex = rowIndex + (hasGroups ? 3 : 2); // 1 - for header, 1 - because start not from 0, but from 1\n const ariaRowIndex = rowIndex + 2; // 1 - for header, 1 - because start not from 0, but from 1\n\n const accordionDataGridArea = Array.isArray(row[ACCORDION])\n ? `${gridRowIndex + 1} / 1 / ${gridRowIndex + 1 + row[ACCORDION].length} / ${\n columns.length + 1\n }`\n : `${gridRowIndex + 1} / 1 / ${gridRowIndex + 1} / ${columns.length + 1}`;\n\n return {\n onClick: row[ACCORDION] && !props.mergedRow ? this.handleClickRow(row, index) : undefined,\n ...rowProps?.(row, index),\n use,\n uid,\n gridTemplateAreas,\n gridTemplateColumns,\n expanded: expandedRows?.has(row[UNIQ_ROW_KEY]),\n accordionDataGridArea,\n columns,\n rowIndex: index,\n ariaRowIndex,\n gridRowIndex,\n rows,\n onBackFromAccordion,\n row,\n expandedRows,\n onExpandRow,\n selectedRows,\n onSelectRow,\n inert: loading ? '' : undefined,\n scrollAreaRef,\n sideIndents,\n getFixedStyle,\n mergedRow: props.mergedRow,\n };\n }\n\n getCellProps(props: DataTableCellProps) {\n const {\n use,\n renderCell,\n expandedRows,\n styles,\n getI18nText,\n virtualScroll,\n tableRef,\n flatRows,\n } = this.asProps;\n const SAccordionToggle = ButtonLink;\n\n let dataKey = props.column.name;\n const cellValue = props.row[dataKey];\n\n let value: DTValue | undefined = undefined;\n const isMergedRows = cellValue instanceof MergedRowsCell;\n const isMergedColumns = cellValue instanceof MergedColumnsCell;\n\n if (isMergedColumns || isMergedRows) {\n value = cellValue.value;\n if (isMergedColumns) {\n dataKey = cellValue.dataKey;\n }\n } else {\n value = cellValue;\n }\n\n const defaultRender = () => {\n return React.isValidElement(value) ? value : value?.toString();\n };\n\n const extraProps: Record<string, any> = {\n use,\n virtualScroll: Boolean(virtualScroll),\n tableRef,\n children: props.children ?? defaultRender(),\n };\n\n if (renderCell) {\n const external = renderCell({\n columnName: props.column.name,\n row: props.row,\n column: props.column,\n rowIndex: props.rowIndex,\n columnIndex: props.columnIndex,\n dataKey,\n defaultRender,\n value: React.isValidElement(value) ? value : value?.toString() ?? '',\n isMergedRows,\n isMergedColumns,\n });\n\n if (this.isReactNode(external) || Array.isArray(external)) {\n extraProps.children = external;\n } else {\n for (const key in external) {\n extraProps[key] = external[key];\n }\n }\n }\n\n if (\n (props.columnIndex === 0 && props.row[ACCORDION]) ||\n value?.[ACCORDION] ||\n (cellValue instanceof MergedRowsCell && cellValue.accordion)\n ) {\n let expanded = expandedRows?.has(props.row[UNIQ_ROW_KEY]);\n\n if (cellValue instanceof MergedRowsCell && cellValue.accordion && props.row[ROW_GROUP]) {\n const mergedKeysSet = props.row[ROW_GROUP];\n\n expanded = [...mergedKeysSet].some((key) => expandedRows?.has(key));\n }\n\n extraProps.expanded = expanded;\n\n let row = props.row;\n let rowIndex = props.rowIndex;\n\n if (cellValue instanceof MergedRowsCell && cellValue.accordion) {\n row = flatRows[props.rowIndex + cellValue.rowsCount - 1];\n rowIndex = props.rowIndex + cellValue.rowsCount - 1;\n }\n\n const handleClick = (e: React.SyntheticEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n\n this.handleExpandRow(row, rowIndex);\n };\n\n if (value?.[ACCORDION] || (cellValue instanceof MergedRowsCell && cellValue.accordion)) {\n extraProps.onClick = callAllEventHandlers(\n extraProps.onClick,\n this.handleClickCell(row, rowIndex),\n );\n }\n\n extraProps.children = sstyled(styles)(\n <>\n <SAccordionToggle\n aria-label={getI18nText('DataTable.Cell.AccordionToggle.expand:aria-label')}\n // @ts-ignore\n expanded={expanded}\n onClick={handleClick}\n color={'--intergalactic-icon-primary-neutral'}\n aria-expanded={expanded}\n aria-describedby={props.id}\n aria-controls={props.accordionId}\n >\n <SAccordionToggle.Addon tag={ChevronRightM} />\n </SAccordionToggle>\n {extraProps.children}\n </>,\n );\n }\n\n return extraProps;\n }\n\n render() {\n const SBody = Root;\n const SRowGroup = Box;\n const SSpinContainer = Box;\n const {\n styles,\n loading,\n headerHeight,\n spinnerRef,\n virtualScroll,\n scrollDirection,\n tableContainerRef,\n scrollTop,\n renderEmptyData,\n columns,\n uid,\n rows,\n } = this.asProps;\n\n let rowsToRender = rows;\n let startIndex = -1;\n let lastIndex = -1;\n\n if (virtualScroll) {\n const rowsBuffer =\n typeof virtualScroll !== 'boolean' && 'rowsBuffer' in virtualScroll\n ? virtualScroll.rowsBuffer ?? ROWS_BUFFER\n : ROWS_BUFFER;\n const offsetHeight = tableContainerRef.current?.offsetHeight ?? 0;\n const prevPrepared = scrollDirection === 'up' ? rowsBuffer : 4;\n const nextPrepared = scrollDirection === 'up' ? 4 : rowsBuffer;\n\n if (typeof virtualScroll === 'boolean' || 'aproxRowsOnPage' in virtualScroll) {\n const aproxRowsOnPage =\n typeof virtualScroll !== 'boolean'\n ? virtualScroll.aproxRowsOnPage ?? APROX_ROWS_ON_PAGE\n : APROX_ROWS_ON_PAGE;\n if (scrollDirection === 'down') {\n for (let i = this.indexForDownIterate; i < this.rowsHeightMap.size - 1; i++) {\n const value = this.rowsHeightMap.get(i);\n if (!value) continue;\n const key = i;\n const valueFromToCompare = value[1];\n const valueToToCompare = value[0];\n\n if (startIndex === -1 && scrollTop < valueFromToCompare) {\n startIndex = Math.max(key - prevPrepared, 0);\n }\n\n if (startIndex !== -1 && scrollTop + offsetHeight < valueToToCompare) {\n lastIndex = Math.min(key + nextPrepared, rows.length);\n }\n\n if (startIndex !== -1 && lastIndex !== -1) {\n break;\n }\n }\n\n if (scrollTop + offsetHeight < (this.rowsHeightMap.get(lastIndex ?? 0)?.[1] ?? 0)) {\n lastIndex = lastIndex + aproxRowsOnPage;\n }\n } else if (scrollDirection === 'up') {\n for (let i = this.indexForUpIterate; i >= 0; i--) {\n const value = this.rowsHeightMap.get(i);\n if (!value) continue;\n const key = i;\n const valueFromToCompare = value[1];\n const valueToToCompare = value[0];\n\n if (lastIndex === -1 && scrollTop + offsetHeight > valueToToCompare) {\n lastIndex = Math.min(key + nextPrepared, rows.length);\n }\n\n if (lastIndex !== -1 && scrollTop < valueFromToCompare) {\n startIndex = Math.max(key - prevPrepared, 0);\n }\n\n if (startIndex !== -1 && lastIndex !== -1) {\n break;\n }\n }\n\n if (scrollTop < (this.rowsHeightMap.get(startIndex ?? 0)?.[0] ?? 0)) {\n startIndex = Math.max(startIndex - aproxRowsOnPage, 0);\n }\n }\n\n if (startIndex === -1) {\n startIndex = scrollTop === 0 ? 0 : Math.max(rows.length - aproxRowsOnPage, 0);\n }\n\n if (lastIndex === -1) {\n lastIndex = scrollTop === 0 ? aproxRowsOnPage : rows.length;\n }\n\n this.indexForDownIterate = startIndex;\n this.indexForUpIterate = lastIndex;\n\n rowsToRender = rows.slice(startIndex, lastIndex);\n } else if ('rowHeight' in virtualScroll) {\n const rowHeight = virtualScroll.rowHeight;\n\n startIndex = Math.max(Math.floor(scrollTop / rowHeight) - prevPrepared, 0);\n\n const lastIndex = Math.min(\n Math.ceil((scrollTop + offsetHeight) / rowHeight) + nextPrepared,\n rows.length,\n );\n\n rowsToRender = rows.slice(startIndex, lastIndex);\n }\n }\n\n startIndex = startIndex === -1 ? 0 : startIndex;\n const rowMarginTop = this.rowsHeightMap.get(startIndex - 1)?.[1];\n\n let emptyRow: DTRow | null = null;\n\n if (rowsToRender.length === 0) {\n emptyRow = {\n [UNIQ_ROW_KEY]: `${uid}_empty_data`,\n [ROW_INDEX]: 0,\n [columns[0].name]: new MergedColumnsCell(renderEmptyData(), {\n dataKey: columns[0].name,\n size: columns.length,\n }),\n };\n }\n\n return sstyled(styles)(\n <SBody render={Box} __excludeProps={['data']}>\n {emptyRow && <Body.Row row={emptyRow} />}\n {typeof virtualScroll === 'boolean' && rowMarginTop && <Box h={rowMarginTop} />}\n {rowsToRender.map((row, index) => {\n if (Array.isArray(row)) {\n return sstyled(styles)(\n <SRowGroup\n role={'rowgroup'}\n key={`gg_${row[0][UNIQ_ROW_KEY]}`}\n ref={this.handleRef(startIndex + index, row[0])}\n >\n {row.map((item, i) => {\n return (\n <Body.Row\n key={item[UNIQ_ROW_KEY]}\n row={item}\n mergedRow={i > 0 ? true : false}\n />\n );\n })}\n </SRowGroup>,\n );\n }\n return (\n <Body.Row\n key={row[UNIQ_ROW_KEY]}\n row={row}\n ref={virtualScroll ? this.handleRef(startIndex + index, row) : undefined}\n />\n );\n })}\n {loading && (\n <SSpinContainer\n innerOutline\n // @ts-ignore\n headerHeight={`${headerHeight}px`}\n tabIndex={-1}\n ref={spinnerRef}\n role={'row'}\n >\n <Spin size={'xxl'} role={'gridcell'} />\n </SSpinContainer>\n )}\n </SBody>,\n );\n }\n\n private isReactNode(obj: React.ReactNode | Record<string, any>): obj is React.ReactNode {\n return (\n typeof obj === 'string' ||\n typeof obj === 'number' ||\n React.isValidElement(obj) ||\n typeof obj === 'boolean' ||\n obj === undefined ||\n obj === null\n );\n }\n\n private setRowHeight(index: number, row: DTRow) {\n const { expandedRows } = this.asProps;\n const node = this.rowsHeightMap.get(index)?.[2];\n const firstChild =\n node?.role === 'rowgroup' ? node?.children.item(0)?.children.item(0) : node?.children.item(0);\n if (node && firstChild instanceof HTMLElement) {\n const offset = firstChild.offsetTop - this.asProps.headerHeight;\n let height = firstChild.getBoundingClientRect().height;\n\n if (expandedRows.has(row[UNIQ_ROW_KEY]) && node.nextSibling instanceof HTMLElement) {\n height = height + node.nextSibling.getBoundingClientRect().height;\n }\n\n this.rowsHeightMap.set(index, [offset, offset + height, node]);\n }\n }\n}\n\nexport const Body = createComponent(BodyRoot, {\n Row,\n Cell,\n}) as Intergalactic.Component<'div', DataTableBodyProps> & {\n Row: Intergalactic.Component<'div', DataTableRowProps>;\n Cell: Intergalactic.Component<'div', DataTableCellProps>;\n};\n"],"mappings":"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"}
|