@semcore/data-table 16.0.0-prerelease.19 → 16.0.0-prerelease.20
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 -1
- package/lib/cjs/components/Body/Body.js +177 -193
- package/lib/cjs/components/Body/Body.js.map +1 -1
- package/lib/cjs/components/Body/Body.types.js.map +1 -1
- package/lib/cjs/components/Body/Cell.js +39 -34
- 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 +3 -5
- package/lib/cjs/components/Body/MergedCells.js.map +1 -1
- package/lib/cjs/components/Body/Row.js +129 -63
- 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 +26 -4
- package/lib/cjs/components/DataTable/DataTable.js +458 -157
- package/lib/cjs/components/DataTable/DataTable.js.map +1 -1
- package/lib/cjs/components/DataTable/DataTable.types.js.map +1 -1
- package/lib/cjs/components/DataTable/dataTable.shadow.css +0 -1
- package/lib/cjs/components/Head/Column.js +38 -25
- package/lib/cjs/components/Head/Column.js.map +1 -1
- package/lib/cjs/components/Head/Column.types.js.map +1 -1
- package/lib/cjs/components/Head/Group.js +31 -26
- package/lib/cjs/components/Head/Group.js.map +1 -1
- package/lib/cjs/components/Head/Group.type.js.map +1 -1
- package/lib/cjs/components/Head/Head.js +90 -50
- package/lib/cjs/components/Head/Head.js.map +1 -1
- package/lib/cjs/components/Head/Head.types.js.map +1 -1
- package/lib/cjs/components/Head/style.shadow.css +13 -0
- package/lib/cjs/index.js +6 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/style/scroll-shadows.shadow.css +12 -0
- package/lib/cjs/translations/en.json +4 -1
- package/lib/es6/components/Body/Body.js +178 -194
- package/lib/es6/components/Body/Body.js.map +1 -1
- package/lib/es6/components/Body/Body.types.js.map +1 -1
- package/lib/es6/components/Body/Cell.js +39 -34
- 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 +3 -5
- package/lib/es6/components/Body/MergedCells.js.map +1 -1
- package/lib/es6/components/Body/Row.js +130 -64
- 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 +26 -4
- package/lib/es6/components/DataTable/DataTable.js +453 -155
- package/lib/es6/components/DataTable/DataTable.js.map +1 -1
- package/lib/es6/components/DataTable/DataTable.types.js +1 -1
- package/lib/es6/components/DataTable/DataTable.types.js.map +1 -1
- package/lib/es6/components/DataTable/dataTable.shadow.css +0 -1
- package/lib/es6/components/Head/Column.js +38 -25
- package/lib/es6/components/Head/Column.js.map +1 -1
- package/lib/es6/components/Head/Column.types.js.map +1 -1
- package/lib/es6/components/Head/Group.js +32 -27
- package/lib/es6/components/Head/Group.js.map +1 -1
- package/lib/es6/components/Head/Group.type.js.map +1 -1
- package/lib/es6/components/Head/Head.js +92 -51
- package/lib/es6/components/Head/Head.js.map +1 -1
- package/lib/es6/components/Head/Head.types.js.map +1 -1
- package/lib/es6/components/Head/style.shadow.css +13 -0
- package/lib/es6/index.js +2 -2
- package/lib/es6/index.js.map +1 -1
- package/lib/es6/style/scroll-shadows.shadow.css +12 -0
- package/lib/es6/translations/en.json +4 -1
- package/lib/esm/components/Body/Body.mjs +164 -188
- package/lib/esm/components/Body/Cell.mjs +41 -35
- package/lib/esm/components/Body/MergedCells.mjs +3 -5
- package/lib/esm/components/Body/Row.mjs +112 -52
- package/lib/esm/components/Body/style.shadow.css +263 -0
- package/lib/esm/components/DataTable/DataTable.mjs +404 -128
- package/lib/esm/components/DataTable/dataTable.shadow.css +17 -0
- package/lib/esm/components/Head/Column.mjs +40 -26
- package/lib/esm/components/Head/Group.mjs +33 -28
- package/lib/esm/components/Head/Head.mjs +71 -37
- package/lib/esm/components/Head/style.shadow.css +180 -0
- package/lib/esm/index.mjs +2 -1
- package/lib/esm/style/scroll-shadows.shadow.css +47 -0
- package/lib/esm/translations/en.json.mjs +4 -1
- package/lib/types/components/Body/Body.types.d.ts +23 -7
- package/lib/types/components/Body/Cell.types.d.ts +3 -0
- package/lib/types/components/Body/MergedCells.d.ts +2 -3
- package/lib/types/components/Body/Row.types.d.ts +12 -5
- package/lib/types/components/DataTable/DataTable.d.ts +5 -2
- package/lib/types/components/DataTable/DataTable.types.d.ts +31 -7
- package/lib/types/components/Head/Column.d.ts +2 -1
- package/lib/types/components/Head/Column.types.d.ts +5 -16
- package/lib/types/components/Head/Group.type.d.ts +1 -0
- package/lib/types/components/Head/Head.types.d.ts +9 -0
- package/lib/types/index.d.ts +2 -2
- package/lib/types/translations/__intergalactic-dynamic-locales.d.ts +3 -0
- package/package.json +10 -8
- package/lib/cjs/utils.js +0 -66
- package/lib/cjs/utils.js.map +0 -1
- package/lib/es6/utils.js +0 -56
- package/lib/es6/utils.js.map +0 -1
- package/lib/esm/utils.mjs +0 -43
- package/lib/types/utils.d.ts +0 -8
|
@@ -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","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","render","_ref","_ref2","SColumn","Flex","SSortWrapper","SSortButton","ButtonLink","_this$asProps3","sortable","uid","sortableColumnDescribeId","Children","SSortIcon","isSorted","visibleSort","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, 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';\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 = {\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 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 = sort[0] === name ? reversedSortDirection[sort[1]] : DEFAULT_DIRECTION;\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 = sort ? SORTING_ICON[sort[1]] : SORTING_ICON['asc'];\n const isSorted = sort?.[0] === name;\n const visibleSort = 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={this.handleSortClick}\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","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":";;;;;;;;;;;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AADA,IAAAC,KAAA,GAAAC,uBAAA,CAAAF,OAAA;AAGA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,EAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,GAAA,GAAAD,sBAAA,CAAAL,OAAA;AAIA,IAAAO,OAAA,GAAAP,OAAA;AAEA,IAAAQ,eAAA,GAAAR,OAAA;AACA,IAAAS,UAAA,GAAAJ,sBAAA,CAAAL,OAAA;AACA,IAAAU,cAAA,GAAAV,OAAA;AAAiF;AAAA,IAAAW,KAAA,+BAAAZ,KAAA,CAAAa,OAAA,CAAAC,MAAA;AAAA;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAEjF,IAAMC,YAAmF,GAAG;EAC1FC,IAAI,EAAEC,aAAQ;EACdC,GAAG,EAAEC;AACP,CAAU;AAEV,IAAMC,SAAS,GAAG;EAChBJ,IAAI,EAAE,YAAY;EAClBE,GAAG,EAAE;AACP,CAAU;AAEV,IAAMG,eAAe,GAAG,EAAE;AAE1B,IAAMC,iBAAiB,GAAG,MAAM;AAEhC,IAAMC,qBAAsE,GAAG;EAC7EP,IAAI,EAAE,KAAK;EACXE,GAAG,EAAE;AACP,CAAC;AAAC,IAMWM,MAAM,0BAAAC,UAAA;EAAA,IAAAC,UAAA,aAAAF,MAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,OAAAC,aAAA,aAAAJ,MAAA;EAAA,SAAAA,OAAA;IAAA,IAAAK,KAAA;IAAA,IAAAC,gBAAA,mBAAAN,MAAA;IAAA,SAAAO,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAAP,KAAA,GAAAF,MAAA,CAAAU,IAAA,CAAAC,KAAA,CAAAX,MAAA,SAAAY,MAAA,CAAAL,IAAA;IAAA,IAAAM,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,iBAU2B,CAAC,IAAI,EAAE,KAAK,CAAC;IAAA,IAAAW,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,6BAE7C3B,KAAK,CAACwC,SAAS,EAAkB;IAAA,IAAAF,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,kCAC5B3B,KAAK,CAACwC,SAAS,EAAkB;IAAA,IAAAF,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,YAEnC;MACbc,WAAW,EAAE;IACf,CAAC;IAAA,IAAAH,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,oCAsD+B,YAAqB;MACnD,IAAMe,IAAI,GAAGf,KAAA,CAAKgB,SAAS,CAACC,OAAO;MAEnC,IAAIF,IAAI,EAAE;QAAA,IAAAG,qBAAA,EAAAC,sBAAA;QACR,IAAMC,YAAY,GAAGC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;QAClD,IAAMC,aAAa,GAAGC,MAAM,CAACC,gBAAgB,CAACV,IAAI,CAAC;QAEnDA,IAAI,CAACW,UAAU,CAACC,OAAO,CAAC,UAACZ,IAAI,EAAK;UAChC,IAAIf,KAAA,CAAK4B,cAAc,CAACX,OAAO,KAAKF,IAAI,EAAE;YACxCK,YAAY,CAACS,MAAM,CAACd,IAAI,CAACe,SAAS,CAAC,IAAI,CAAC,CAAC;UAC3C;QACF,CAAC,CAAC;QAEFV,YAAY,CAACrC,KAAK,CAACgD,WAAW,CAAC,YAAY,EAAE,QAAQ,EAAE,WAAW,CAAC;QAEnE,IAAMC,MAAM,GAAG,CACb,SAAS,EACT,MAAM,EACN,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,aAAa,CACd;QAEDA,MAAM,CAACL,OAAO,CAAC,UAACM,GAAG,EAAK;UACtBb,YAAY,CAACrC,KAAK,CAACgD,WAAW,CAC5BE,GAAG,EACHV,aAAa,CAACW,gBAAgB,CAACD,GAAG,CAAC,EACnCV,aAAa,CAACY,mBAAmB,CAACF,GAAG,CAAC,CACvC;QACH,CAAC,CAAC;QAEFb,YAAY,CAACrC,KAAK,CAACgD,WAAW,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,CAAC;QAEnEV,QAAQ,CAACe,IAAI,CAACC,WAAW,CAACjB,YAAY,CAAC;QAEvC,IAAMkB,aAAa,GAAGC,IAAI,CAACC,IAAI,CAACpB,YAAY,CAACqB,qBAAqB,EAAE,CAACC,KAAK,CAAC;QAE3ErB,QAAQ,CAACe,IAAI,CAACO,WAAW,CAACvB,YAAY,CAAC;QAEvC,IAAMwB,gBAAgB,IAAA1B,qBAAA,IAAAC,sBAAA,GAAGnB,KAAA,CAAKgB,SAAS,CAACC,OAAO,cAAAE,sBAAA,uBAAtBA,sBAAA,CAAwB0B,WAAW,cAAA3B,qBAAA,cAAAA,qBAAA,GAAI,CAAC;QAEjE,IAAIoB,aAAa,IAAIM,gBAAgB,EAAE;UACrC,OAAOA,gBAAgB,GAAGpD,eAAe;QAC3C,CAAC,MAAM;UACL,IAAMsD,SAAS,GAAGF,gBAAgB,GAAGN,aAAa;UAElD,IAAIQ,SAAS,GAAGtD,eAAe,EAAE;YAC/B,OAAO8C,aAAa,GAAG9C,eAAe;UACxC;QACF;MACF;MAEA,OAAO,IAAI;IACb,CAAC;IAAA,IAAAmB,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,uBAYkB,YAAM;MACvBA,KAAA,CAAK+C,QAAQ,CAAC;QAAEjC,WAAW,EAAE;MAAK,CAAC,CAAC;IACtC,CAAC;IAAA,IAAAH,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,uBAEkB,YAAM;MACvBA,KAAA,CAAK+C,QAAQ,CAAC;QAAEjC,WAAW,EAAE;MAAM,CAAC,CAAC;IACvC,CAAC;IAAA,IAAAH,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,iBAEY,UAACgD,CAAgC,EAAK;MACjD,IAAMC,aAAa,GAAGD,CAAC,CAACC,aAAwC;MAChE,IAAI,CAAC,IAAAC,4BAAa,EAACF,CAAC,CAACG,aAAa,EAAEF,aAAa,CAAC,IAAIG,qBAAe,CAACC,UAAU,EAAE,EAAE;QAClFrD,KAAA,CAAK+C,QAAQ,CAAC;UAAEjC,WAAW,EAAE;QAAM,CAAC,CAAC;MACvC;IACF,CAAC;IAAA,IAAAH,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,sBAEiB,UAACgD,CAA0C,EAAK;MAChE,IAAAM,aAAA,GAAqCtD,KAAA,CAAKuD,OAAO;QAAzCC,IAAI,GAAAF,aAAA,CAAJE,IAAI;QAAEC,YAAY,GAAAH,aAAA,CAAZG,YAAY;QAAEC,IAAI,GAAAJ,aAAA,CAAJI,IAAI;MAEhC,IACEN,qBAAe,CAACO,OAAO,EAAE,IACxBP,qBAAe,CAACC,UAAU,EAAE,IAAIL,CAAC,CAACY,MAAM,KAAKZ,CAAC,CAACG,aAAc,EAC9D;QACA,IAAIK,IAAI,IAAIC,YAAY,EAAE;UACxB,IAAMI,aAAa,GACjBL,IAAI,CAAC,CAAC,CAAC,KAAKE,IAAI,GAAGhE,qBAAqB,CAAC8D,IAAI,CAAC,CAAC,CAAC,CAAC,GAAGxD,KAAA,CAAK8D,gBAAgB;UAE3EL,YAAY,CAAC,CAACC,IAAI,EAAEG,aAAa,CAAC,EAAEb,CAAC,CAAC;QACxC;MACF;IACF,CAAC;IAAA,IAAArC,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,oBAEe,UAACgD,CAAsB,EAAK;MAC1C,IAAIA,CAAC,CAACG,aAAa,KAAKnD,KAAA,CAAK+D,UAAU,CAAC,CAAC,CAAC,EAAE;QAC1C,IAAMC,iBAAiB,GAAG1D,KAAK,CAAC2D,IAAI,CAACjE,KAAA,CAAK+D,UAAU,CAAC,CAAC,CAAC,CAACG,QAAQ,CAAC,CAACC,OAAO,CAAC,UAACpD,IAAI;UAAA,OAC7E,IAAAqD,8BAAc,EAACrD,IAAI,CAAgB;QAAA,EACpC;QAED,IAAIf,KAAA,CAAK+D,UAAU,CAAC,CAAC,CAAC,EAAE;UACtB,IAAIf,CAAC,CAACf,GAAG,KAAK,QAAQ,EAAE;YAAA,IAAAoC,iBAAA;YACtB,CAAAA,iBAAA,GAAArE,KAAA,CAAK+D,UAAU,CAAC,CAAC,CAAC,cAAAM,iBAAA,uBAAlBA,iBAAA,CAAoBC,KAAK,EAAE;YAC3BtE,KAAA,CAAK+D,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK;UAC5B;UACA,IAAIf,CAAC,CAACf,GAAG,CAACsC,UAAU,CAAC,OAAO,CAAC,EAAE;YAC7BvB,CAAC,CAACwB,eAAe,EAAE;UACrB;UACA,IAAIxB,CAAC,CAACf,GAAG,KAAK,KAAK,EAAE;YACnB,IAAIe,CAAC,CAACY,MAAM,KAAKI,iBAAiB,CAAC,CAAC,CAAC,IAAIhB,CAAC,CAACyB,QAAQ,EAAE;cAAA,IAAAC,kBAAA;cACnD,CAAAA,kBAAA,GAAAV,iBAAiB,CAACA,iBAAiB,CAAC5D,MAAM,GAAG,CAAC,CAAC,cAAAsE,kBAAA,uBAA/CA,kBAAA,CAAiDJ,KAAK,EAAE;cACxDtB,CAAC,CAAC2B,cAAc,EAAE;YACpB,CAAC,MAAM,IAAI3B,CAAC,CAACY,MAAM,KAAKI,iBAAiB,CAACA,iBAAiB,CAAC5D,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC4C,CAAC,CAACyB,QAAQ,EAAE;cAAA,IAAAG,mBAAA;cACtF,CAAAA,mBAAA,GAAAZ,iBAAiB,CAAC,CAAC,CAAC,cAAAY,mBAAA,uBAApBA,mBAAA,CAAsBN,KAAK,EAAE;cAC7BtB,CAAC,CAAC2B,cAAc,EAAE;YACpB;YAEA3B,CAAC,CAACwB,eAAe,EAAE;UACrB;QACF,CAAC,MAAM,IAAIxB,CAAC,CAACf,GAAG,KAAK,OAAO,EAAE;UAAA,IAAA4C,oBAAA;UAC5B7E,KAAA,CAAK+D,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI;UACzB,CAAAc,oBAAA,GAAAb,iBAAiB,CAAC,CAAC,CAAC,cAAAa,oBAAA,uBAApBA,oBAAA,CAAsBP,KAAK,EAAE;QAC/B,CAAC,MAAM,IAAItB,CAAC,CAACf,GAAG,KAAK,KAAK,EAAE;UAAA,IAAA6C,kBAAA;UAC1B,CAAAA,kBAAA,GAAA9E,KAAA,CAAK+D,UAAU,CAAC,CAAC,CAAC,cAAAe,kBAAA,uBAAlBA,kBAAA,CAAoBC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;QAC/C;MACF;IACF,CAAC;IAAA,IAAApE,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,sBAEiB,UAACgD,CAA6C,EAAK;MACnE,IAAMgC,WAAW,GAAGhC,CAAC,CAACG,aAAa;MACnC,IAAMS,MAAM,GAAGZ,CAAC,CAACY,MAAM;MAEvB5D,KAAA,CAAK+C,QAAQ,CAAC;QAAEjC,WAAW,EAAE;MAAK,CAAC,EAAE,YAAM;QACzC,IAAI8C,MAAM,KAAKoB,WAAW,EAAE;UAC1B,IAAMhB,iBAAiB,GAAG1D,KAAK,CAAC2D,IAAI,CAACe,WAAW,CAACd,QAAQ,CAAC,CAACC,OAAO,CAAC,UAACpD,IAAI;YAAA,OACtE,IAAAqD,8BAAc,EAACrD,IAAI,CAAgB;UAAA,EACpC;UAED,IAAIiD,iBAAiB,CAAC5D,MAAM,KAAK,CAAC,EAAE;YAClC4D,iBAAiB,CAAC,CAAC,CAAC,CAACM,KAAK,EAAE;UAC9B,CAAC,MAAM,IAAIN,iBAAiB,CAAC5D,MAAM,GAAG,CAAC,EAAE;YACvCJ,KAAA,CAAK+D,UAAU,GAAG,CAACiB,WAAW,EAAE,KAAK,CAAC;UACxC;QACF;MACF,CAAC,CAAC;IACJ,CAAC;IAAA,OAAAhF,KAAA;EAAA;EAAA,IAAAiF,aAAA,aAAAtF,MAAA;IAAAsC,GAAA;IAAAiD,KAAA,EA3MD,SAAAC,kBAAA,EAAoB;MAClB,IAAI,IAAI,CAAC5B,OAAO,CAAC6B,MAAM,IAAI,IAAI,CAAC7B,OAAO,CAAC8B,MAAM,EAAE;QAAA,IAAAC,qBAAA;QAC9C,IAAMC,aAAa,GAAG,IAAI,CAACvE,SAAS,CAACC,OAAO;QAC5C,IAAMuE,YAAY,GAAGD,aAAa,aAAbA,aAAa,wBAAAD,qBAAA,GAAbC,aAAa,CAAEE,aAAa,cAAAH,qBAAA,uBAA5BA,qBAAA,CAA8BpB,QAAQ,CAACwB,IAAI,CAAC,CAAC,CAAC;QAEnE,IAAMC,WAAW,GAAGH,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAE/C,qBAAqB,EAAE,CAACmD,MAAM;QAEhE,IAAID,WAAW,EAAE;UACfJ,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAExG,KAAK,CAACgD,WAAW,CAAC,KAAK,KAAArB,MAAA,CAAKiF,WAAW,QAAK;QAC7D;MACF;IACF;EAAC;IAAA1D,GAAA;IAAAiD,KAAA,EAED,SAAAW,mBAAmBC,SAAqD,EAAQ;MAAA,IAAAC,eAAA,EAAAC,kBAAA;MAC9E,IACE,IAAI,CAACzC,OAAO,CAAC0C,cAAc,IAC3B,IAAAC,qBAAS,GAAE,IACX,EAAAH,eAAA,GAAAD,SAAS,CAACtC,IAAI,cAAAuC,eAAA,uBAAdA,eAAA,CAAiB,CAAC,CAAC,QAAAC,kBAAA,GAAK,IAAI,CAACzC,OAAO,CAACC,IAAI,cAAAwC,kBAAA,uBAAjBA,kBAAA,CAAoB,CAAC,CAAC,GAC9C;QAAA,IAAAG,mBAAA,EAAAC,mBAAA;QACA,IAAAC,cAAA,GAAuD,IAAI,CAAC9C,OAAO;UAA3D+C,QAAQ,GAAAD,cAAA,CAARC,QAAQ;UAAEC,mBAAmB,GAAAF,cAAA,CAAnBE,mBAAmB;UAAEC,WAAW,GAAAH,cAAA,CAAXG,WAAW;QAElD,IAAI,EAAAL,mBAAA,OAAI,CAAC5C,OAAO,CAACC,IAAI,cAAA2C,mBAAA,uBAAjBA,mBAAA,CAAoB,CAAC,CAAC,MAAK,IAAI,CAAC5C,OAAO,CAACG,IAAI,EAAE;UAChD,IAAM+C,QAAQ,GAAG,IAAI,CAACC,6BAA6B,EAAE;UAErDC,UAAU,CAAC,YAAM;YACf,IAAIL,QAAQ,CAACrF,OAAO,IAAIwF,QAAQ,KAAK,IAAI,EAAE;cACzCH,QAAQ,CAACrF,OAAO,CAAClC,KAAK,CAACgD,WAAW,CAChC,uBAAuB,EACvBwE,mBAAmB,CAChBK,GAAG,CAAC,UAACC,QAAQ,EAAEC,KAAK,EAAK;gBACxB,IAAIA,KAAK,KAAKN,WAAW,EAAE;kBACzB,UAAA9F,MAAA,CAAU+F,QAAQ;gBACpB;gBACA,OAAOI,QAAQ;cACjB,CAAC,CAAC,CACDE,IAAI,CAAC,GAAG,CAAC,CACb;YACH;UACF,CAAC,CAAC;QACJ,CAAC,MAAM,IAAI,EAAAX,mBAAA,OAAI,CAAC7C,OAAO,CAACC,IAAI,cAAA4C,mBAAA,uBAAjBA,mBAAA,CAAoB,CAAC,CAAC,MAAK,IAAI,CAAC7C,OAAO,CAACG,IAAI,EAAE;UACvDiD,UAAU,CAAC,YAAM;YACf,IAAIL,QAAQ,CAACrF,OAAO,EAAE;cACpBqF,QAAQ,CAACrF,OAAO,CAAClC,KAAK,CAACgD,WAAW,CAChC,uBAAuB,EACvBwE,mBAAmB,CAACQ,IAAI,CAAC,GAAG,CAAC,CAC9B;YACH;UACF,CAAC,CAAC;QACJ;MACF;IACF;EAAC;IAAA9E,GAAA;IAAA+E,GAAA,EA6DD,SAAAA,IAAA,EAAuB;MACrB,IAAQC,QAAQ,GAAK,IAAI,CAAC1D,OAAO,CAAzB0D,QAAQ;MAEhB,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAE;QAChC,OAAOA,QAAQ;MACjB;MAEA,OAAOxH,iBAAiB;IAC1B;EAAC;IAAAwC,GAAA;IAAAiD,KAAA,EAsFD,SAAAgC,OAAA,EAAS;MAAA,IAAAC,IAAA,QAAA5D,OAAA;QAAA6D,KAAA;MACP,IAAMC,OAAO,GAuBDC,oBAAI;MAtBhB,IAAMC,YAAY,GAAG,KAAK;MAC1B,IAAMC,WAAW,GAAGC,kBAAU;MAC9B,IAAAC,cAAA,GACE,IAAI,CAACnE,OAAO;QADNvB,MAAM,GAAA0F,cAAA,CAAN1F,MAAM;QAAEiF,QAAQ,GAAAS,cAAA,CAART,QAAQ;QAAEzD,IAAI,GAAAkE,cAAA,CAAJlE,IAAI;QAAEmE,GAAG,GAAAD,cAAA,CAAHC,GAAG;QAAEjE,IAAI,GAAAgE,cAAA,CAAJhE,IAAI;QAAE0B,MAAM,GAAAsC,cAAA,CAANtC,MAAM;QAAEwC,wBAAwB,GAAAF,cAAA,CAAxBE,wBAAwB;QAAEC,QAAQ,GAAAH,cAAA,CAARG,QAAQ;MAGrF,IAAMC,SAAS,GACbtE,IAAI,IAAIA,IAAI,CAAC,CAAC,CAAC,KAAKE,IAAI,GAAGxE,YAAY,CAACsE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAGtE,YAAY,CAAC,IAAI,CAAC4E,gBAAgB,CAAC;MACxF,IAAMiE,QAAQ,GAAG,CAAAvE,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAG,CAAC,CAAC,MAAKE,IAAI;MACnC,IAAMsE,WAAW,GAAGC,OAAO,CAAChB,QAAQ,CAAC,KAAK,IAAI,CAACiB,KAAK,CAACpH,WAAW,IAAIiH,QAAQ,CAAC;MAE7E,IAAMI,eAAe,GAAG,EAAE;MAC1B,IAAIJ,QAAQ,EAAE;QACZI,eAAe,CAACC,IAAI,CAACR,wBAAwB,CAAC;MAChD;MACA,IAAIxC,MAAM,EAAE;QACV+C,eAAe,CAACC,IAAI,cAAA1H,MAAA,CAAciH,GAAG,OAAAjH,MAAA,CAAI0E,MAAM,CAAC1B,IAAI,YAAS;MAC/D;MAEA,IAAM2E,aAAa,GAAG7E,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAG,CAAC,CAAC,GAAGjE,SAAS,CAACiE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG8E,SAAS;MAEhE,OAAAlB,KAAA,GAAO,IAAApI,aAAO,EAACgD,MAAM,CAAC,eACpB3D,KAAA,CAAAiD,aAAA,CAAC+F,OAAO,EAAAD,KAAA,CAAAmB,EAAA,gBAAAC,cAAA,qBAAArK,KAAA,CAAAsK,WAAA;QAAA,OAED,IAAI,CAACzH,SAAS;QAAA,QACb,cAAc;QAAA,YACV,CAAC,CAAC;QAAA,gBACE,IAAI,CAAC0H,gBAAgB;QAAA,gBACrB,IAAI,CAACC,gBAAgB;QAAA,WAC1B,IAAI,CAACC,eAAe;QAAA,UACrB,IAAI,CAACC,UAAU;QAAA,aACZ,IAAI,CAACC,aAAa;QAAA,eAChBd,WAAW;QAAA,YACdD,QAAQ;QAAA;QAAA,oBAEAI,eAAe,CAAC/H,MAAM,GAAG,CAAC,GAAG+H,eAAe,CAACpB,IAAI,CAAC,GAAG,CAAC,GAAGuB,SAAS;QAAA,aACzED,aAAa;QAAA,WACfpB,QAAQ,GAAG,IAAI,CAAC8B,eAAe,GAAGT;MAAS,GAAAnB,IAAA,kBAEpD9I,KAAA,CAAAiD,aAAA,CAACuG,QAAQ,EAAAT,KAAA,CAAAmB,EAAA,iBAAG,EAEXtB,QAAQ,iBACP5I,KAAA,CAAAiD,aAAA,CAACiG,YAAY,EAAAH,KAAA,CAAAmB,EAAA;QAAA,OAAM,IAAI,CAAC3G;MAAc,iBACpCvD,KAAA,CAAAiD,aAAA,CAACkG,WAAW,EAAAJ,KAAA,CAAAmB,EAAA;QAAA,WACD,IAAI,CAACQ,eAAe;QAAA,cACjBV,aAAa;QAAA,SAClB;MAAsC,iBAE7ChK,KAAA,CAAAiD,aAAA,CAACkG,WAAW,CAACwB,KAAK;QAACC,GAAG,EAAEnB;MAAU,EAAG,CACzB,CAEjB,CACO;IAEd;EAAC;EAAA,OAAAnI,MAAA;AAAA,EAvRkDuJ,eAAS;AAAAC,OAAA,CAAAxJ,MAAA,GAAAA,MAAA;AAAA,IAAAgB,gBAAA,aAAjDhB,MAAM,iBAOI,QAAQ;AAAA,IAAAgB,gBAAA,aAPlBhB,MAAM,WAQFZ,KAAK"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Column.types.js","names":[],"sources":["../../../../src/components/Head/Column.types.ts"],"sourcesContent":["import {\n ColumnGroupConfig,\n DataTableData,\n DataTableProps,\n DTUse,\n} from '../DataTable/DataTable.types';\nimport { Property } from 'csstype';\n\nexport type CommonColumnType = {\n /**\n * Name of column for mapping with data\n */\n name: string;\n /**\n * Flag to define column as sortable\n */\n sortable?: boolean;\n /**\n * Fixes column to some side of table\n */\n fixed?: 'left' | 'right';\n /**\n * Adds vertical border(s)\n */\n borders?: 'both' | 'left' | 'right';\n /**\n * It manages the `flex-wrap` property\n */\n flexWrap?: boolean;\n /**\n * It manages the `align-items` property\n */\n alignItems?: Property.AlignItems;\n /**\n * It manages the `align-content` property\n */\n alignContent?: Property.AlignContent;\n /**\n * CSS `justify-content` property\n */\n justifyContent?: Property.JustifyContent;\n};\n\nexport type DTColumn =
|
|
1
|
+
{"version":3,"file":"Column.types.js","names":[],"sources":["../../../../src/components/Head/Column.types.ts"],"sourcesContent":["import {\n ColumnGroupConfig,\n ColumnItemConfig,\n DataTableData,\n DataTableProps,\n DTUse,\n SortDirection,\n} from '../DataTable/DataTable.types';\nimport { Property } from 'csstype';\n\nexport type CommonColumnType = {\n /**\n * Name of column for mapping with data\n */\n name: string;\n /**\n * Flag to define column as sortable\n */\n sortable?: boolean | SortDirection;\n /**\n * Fixes column to some side of table\n */\n fixed?: 'left' | 'right';\n /**\n * Adds vertical border(s)\n */\n borders?: 'both' | 'left' | 'right';\n /**\n * It manages the `flex-wrap` property\n */\n flexWrap?: boolean;\n /**\n * It manages the `align-items` property\n */\n alignItems?: Property.AlignItems;\n /**\n * It manages the `align-content` property\n */\n alignContent?: Property.AlignContent;\n /**\n * CSS `justify-content` property\n */\n justifyContent?: Property.JustifyContent;\n};\n\nexport type DTColumn = ColumnItemConfig &\n CommonColumnType & {\n /**\n * Width for grid-template-columns\n */\n gtcWidth: string;\n\n parent?: DTColumn | ColumnGroupConfig;\n\n columns?: DTColumn[];\n children?: React.ReactNode | React.FC;\n\n gridArea?: string;\n };\n\nexport type DataTableColumnProps = CommonColumnType & {\n /**\n * Value for grid-template-columns for current column\n */\n gtcWidth?: string;\n\n /**\n * Flag for change column size if sorted by it\n */\n changeSortSize?: boolean;\n};\n\nexport type ColumnPropsInner<D extends DataTableData> = {\n use: DTUse;\n borders?: 'both' | 'left' | 'right';\n sort?: DataTableProps<D>['sort'];\n onSortChange?: DataTableProps<D>['onSortChange'];\n uid: string;\n parent?: DTColumn;\n sortableColumnDescribeId: string;\n columnIndex: number;\n tableRef: React.RefObject<HTMLElement>;\n gridTemplateColumns: string[];\n gridTemplateAreas: string[];\n sticky: boolean;\n};\n"],"mappings":""}
|
|
@@ -19,27 +19,31 @@ var _baseComponents = require("@semcore/base-components");
|
|
|
19
19
|
var _getOriginChildren = _interopRequireDefault(require("@semcore/core/lib/utils/getOriginChildren"));
|
|
20
20
|
var _DataTable = require("../DataTable/DataTable");
|
|
21
21
|
var _uniqueID = _interopRequireDefault(require("@semcore/core/lib/utils/uniqueID"));
|
|
22
|
-
|
|
23
|
-
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
22
|
+
/*!__reshadow-styles__:"./style.shadow.css"*/
|
|
23
|
+
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SGroupContainer_ah4hc_gg_,.___SHead_ah4hc_gg_{display:contents}.___SHead_ah4hc_gg_.__sticky_ah4hc_gg_ .___SColumn_ah4hc_gg_{position:sticky;top:0;z-index:2}.___SHead_ah4hc_gg_.__sticky_ah4hc_gg_ .___SGroup_ah4hc_gg_{top:0}.___SHead_ah4hc_gg_.__sticky_ah4hc_gg_ .___SGroupContainer_ah4hc_gg_>.___SColumn_ah4hc_gg_{position:sticky;z-index:2}.___SHead_ah4hc_gg_.__compact_ah4hc_gg_ .___SColumn_ah4hc_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SColumn_ah4hc_gg_,.___SGroup_ah4hc_gg_{display:flex;align-items:flex-start;font-size:var(--intergalactic-fs-100, 12px);color:var(--intergalactic-text-primary, #191b23);box-sizing:border-box;height:100%;position:relative;transition:width calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out,min-width calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out,max-width calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out;overflow:hidden}.___SGroup_ah4hc_gg_{justify-content:center;text-align:center;background-color:var(--intergalactic-table-th-primary-cell, #f4f5f9)}.___SGroup_ah4hc_gg_._use_primary_ah4hc_gg_{padding:var(--intergalactic-spacing-3x, 12px)}.___SGroup_ah4hc_gg_._use_primary_ah4hc_gg_:has(~.___SColumn_ah4hc_gg_.__visibleSort_ah4hc_gg_){background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SGroup_ah4hc_gg_._use_secondary_ah4hc_gg_{padding:var(--intergalactic-spacing-2x, 8px)}.___SColumn_ah4hc_gg_._borders_both_ah4hc_gg_,.___SColumn_ah4hc_gg_._borders_left_ah4hc_gg_,.___SGroup_ah4hc_gg_._borders_both_ah4hc_gg_,.___SGroup_ah4hc_gg_._borders_left_ah4hc_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SColumn_ah4hc_gg_._borders_both_ah4hc_gg_,.___SColumn_ah4hc_gg_._borders_right_ah4hc_gg_,.___SGroup_ah4hc_gg_._borders_both_ah4hc_gg_,.___SGroup_ah4hc_gg_._borders_right_ah4hc_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SColumn_ah4hc_gg_._use_primary_ah4hc_gg_{padding:var(--intergalactic-spacing-3x, 12px);border-bottom:1px solid var(--intergalactic-border-secondary, #e0e1e9);background-color:var(--intergalactic-table-th-primary-cell, #f4f5f9)}.___SColumn_ah4hc_gg_._use_primary_ah4hc_gg_ .___SSortWrapper_ah4hc_gg_::before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_ah4hc_gg_._use_primary_ah4hc_gg_.__visibleSort_ah4hc_gg_{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SColumn_ah4hc_gg_._use_primary_ah4hc_gg_.__visibleSort_ah4hc_gg_ .___SSortWrapper_ah4hc_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_ah4hc_gg_._use_primary_ah4hc_gg_.__visibleSort_ah4hc_gg_ .___SSortButton_ah4hc_gg_,.___SColumn_ah4hc_gg_._use_primary_ah4hc_gg_.__visibleSort_ah4hc_gg_ .___SSortWrapper_ah4hc_gg_::before,.___SColumn_ah4hc_gg_._use_secondary_ah4hc_gg_.__visibleSort_ah4hc_gg_ .___SSortWrapper_ah4hc_gg_::before{display:flex;opacity:1}.___SColumn_ah4hc_gg_._use_secondary_ah4hc_gg_{padding:var(--intergalactic-spacing-2x, 8px);border-bottom:1px solid var(--intergalactic-border-table-accent, #a9abb6);background-color:var(--intergalactic-table-th-secondary-cell, #ffffff)}.___SColumn_ah4hc_gg_._use_secondary_ah4hc_gg_ .___SSortWrapper_ah4hc_gg_::before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,rgba(255,255,255,0) 105%)}.___SColumn_ah4hc_gg_._use_secondary_ah4hc_gg_.__visibleSort_ah4hc_gg_ .___SSortWrapper_ah4hc_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_ah4hc_gg_._use_secondary_ah4hc_gg_.__visibleSort_ah4hc_gg_ .___SSortButton_ah4hc_gg_{display:flex;opacity:1}.___SColumn_ah4hc_gg_.__gridArea_ah4hc_gg_,.___SGroupTitle_ah4hc_gg_.__gridArea_ah4hc_gg_,.___SGroup_ah4hc_gg_.__gridArea_ah4hc_gg_{grid-area:var(--gridArea_ah4hc)}.___SHead_ah4hc_gg_ .___SColumn_ah4hc_gg_.__fixed_ah4hc_gg_,.___SHead_ah4hc_gg_ .___SGroup_ah4hc_gg_.__fixed_ah4hc_gg_,.___SHead_ah4hc_gg_.__sticky_ah4hc_gg_ .___SColumn_ah4hc_gg_.__fixed_ah4hc_gg_,.___SHead_ah4hc_gg_.__sticky_ah4hc_gg_ .___SGroup_ah4hc_gg_{position:sticky;z-index:3}@media (hover:hover){.___SColumn_ah4hc_gg_.__sortable_ah4hc_gg_:hover{cursor:pointer}}.___SSortWrapper_ah4hc_gg_{align-items:center;display:flex;flex-shrink:1;position:relative;flex-basis:0;min-height:16px;opacity:0;transition:all calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out}.___SSortButton_ah4hc_gg_,.___SSortWrapper_ah4hc_gg_:before{display:none;position:absolute;right:0;opacity:0;transition:opacity .3s ease}.___SSortWrapper_ah4hc_gg_:before{content:\"\";top:0;width:20px;height:100%}.___SSortButton_ah4hc_gg_{fill:var(--intergalactic-icon-secondary-neutral-hover-active, #878992);top:calc(-1*(1em*1.25 - 16px));margin-left:var(--intergalactic-spacing-1x, 4px)}.___SHead_ah4hc_gg_._sideIndents_wide_ah4hc_gg_ .___SColumn_ah4hc_gg_:first-child{padding-left:var(--intergalactic-spacing-5x, 20px)}.___SHead_ah4hc_gg_._sideIndents_wide_ah4hc_gg_ .___SColumn_ah4hc_gg_:last-child{padding-right:var(--intergalactic-spacing-5x, 20px)}.___SHeadCheckboxCol_ah4hc_gg_{cursor:pointer}", /*__inner_css_end__*/"ah4hc_gg_"),
|
|
24
|
+
/*__reshadow_css_end__*/
|
|
25
|
+
{
|
|
26
|
+
"__SHead": "___SHead_ah4hc_gg_",
|
|
27
|
+
"__SGroupContainer": "___SGroupContainer_ah4hc_gg_",
|
|
28
|
+
"_sticky": "__sticky_ah4hc_gg_",
|
|
29
|
+
"__SColumn": "___SColumn_ah4hc_gg_",
|
|
30
|
+
"__SGroup": "___SGroup_ah4hc_gg_",
|
|
31
|
+
"_compact": "__compact_ah4hc_gg_",
|
|
32
|
+
"_use_secondary": "_use_secondary_ah4hc_gg_",
|
|
33
|
+
"_borders_both": "_borders_both_ah4hc_gg_",
|
|
34
|
+
"_borders_left": "_borders_left_ah4hc_gg_",
|
|
35
|
+
"_borders_right": "_borders_right_ah4hc_gg_",
|
|
36
|
+
"_gridArea": "__gridArea_ah4hc_gg_",
|
|
37
|
+
"__SGroupTitle": "___SGroupTitle_ah4hc_gg_",
|
|
38
|
+
"--gridArea": "--gridArea_ah4hc",
|
|
39
|
+
"_fixed": "__fixed_ah4hc_gg_",
|
|
40
|
+
"_sortable": "__sortable_ah4hc_gg_",
|
|
41
|
+
"__SSortWrapper": "___SSortWrapper_ah4hc_gg_",
|
|
42
|
+
"__SSortButton": "___SSortButton_ah4hc_gg_",
|
|
43
|
+
"__SHeadCheckboxCol": "___SHeadCheckboxCol_ah4hc_gg_",
|
|
44
|
+
"_use_primary": "_use_primary_ah4hc_gg_",
|
|
45
|
+
"_visibleSort": "__visibleSort_ah4hc_gg_",
|
|
46
|
+
"_sideIndents_wide": "_sideIndents_wide_ah4hc_gg_"
|
|
43
47
|
});
|
|
44
48
|
var Group = /*#__PURE__*/function (_Component) {
|
|
45
49
|
(0, _inherits2["default"])(Group, _Component);
|
|
@@ -77,11 +81,12 @@ var Group = /*#__PURE__*/function (_Component) {
|
|
|
77
81
|
title = _this$asProps.title,
|
|
78
82
|
fixed = _this$asProps.fixed,
|
|
79
83
|
fixedColumnsMap = _this$asProps.fixedColumnsMap,
|
|
80
|
-
columns = _this$asProps.columns
|
|
84
|
+
columns = _this$asProps.columns,
|
|
85
|
+
withConfig = _this$asProps.withConfig;
|
|
81
86
|
var groupColumns = columns !== null && columns !== void 0 ? columns : [];
|
|
82
87
|
var children = (0, _getOriginChildren["default"])(Children);
|
|
83
|
-
var firstName =
|
|
84
|
-
var lastName =
|
|
88
|
+
var firstName = withConfig ? (_groupColumns$ = groupColumns[0]) === null || _groupColumns$ === void 0 ? void 0 : _groupColumns$.name : (_children$ = children[0]) === null || _children$ === void 0 ? void 0 : _children$.props.name;
|
|
89
|
+
var lastName = withConfig ? (_groupColumns = groupColumns[groupColumns.length - 1]) === null || _groupColumns === void 0 ? void 0 : _groupColumns.name : (_children = children[children.length - 1]) === null || _children === void 0 ? void 0 : _children.props.name;
|
|
85
90
|
var style = {};
|
|
86
91
|
if (fixed === 'left' && firstName) {
|
|
87
92
|
style.left = fixedColumnsMap.get(firstName);
|
|
@@ -93,8 +98,8 @@ var Group = /*#__PURE__*/function (_Component) {
|
|
|
93
98
|
"style": style,
|
|
94
99
|
"__excludeProps": ['title'],
|
|
95
100
|
"id": this.groupId
|
|
96
|
-
}, _ref))),
|
|
97
|
-
return /*#__PURE__*/React.createElement(_DataTable.
|
|
101
|
+
}, _ref))), withConfig ? children : title), withConfig ? groupColumns.map(function (column, i) {
|
|
102
|
+
return /*#__PURE__*/React.createElement(_DataTable.DataTableInternal.Head.Column, (0, _extends2["default"])({
|
|
98
103
|
key: column.name
|
|
99
104
|
}, column, {
|
|
100
105
|
"aria-describedby": _this.groupId
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Group.js","names":["_core","require","React","_interopRequireWildcard","_baseComponents","_getOriginChildren","_interopRequireDefault","_DataTable","_uniqueID","style","sstyled","insert","Group","_Component","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","key","value","componentDidMount","forceUpdate","get","uid","asProps","concat","render","_ref","_ref2","_groupColumns$","_children$","_groupColumns","_children","_this","SGroupContainer","Box","SGroup","_this$asProps","styles","Children","title","fixed","fixedColumnsMap","columns","groupColumns","children","getOriginChildren","firstName","name","props","lastName","length","left","right","createElement","cn","_objectSpread2","assignProps","groupId","map","column","i","
|
|
1
|
+
{"version":3,"file":"Group.js","names":["_core","require","React","_interopRequireWildcard","_baseComponents","_getOriginChildren","_interopRequireDefault","_DataTable","_uniqueID","style","sstyled","insert","Group","_Component","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","key","value","componentDidMount","forceUpdate","get","uid","asProps","concat","render","_ref","_ref2","_groupColumns$","_children$","_groupColumns","_children","_this","SGroupContainer","Box","SGroup","_this$asProps","styles","Children","title","fixed","fixedColumnsMap","columns","withConfig","groupColumns","children","getOriginChildren","firstName","name","props","lastName","length","left","right","createElement","cn","_objectSpread2","assignProps","groupId","map","column","i","DataTableInternal","Head","Column","_extends2","Component","exports","_defineProperty2","uniqueIDEnhancement"],"sources":["../../../../src/components/Head/Group.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport { Box } from '@semcore/base-components';\n\nimport style from './style.shadow.css';\nimport { DataTableGroupProps, GroupPropsInner } from './Group.type';\nimport getOriginChildren from '@semcore/core/lib/utils/getOriginChildren';\nimport { DataTableInternal } from '../DataTable/DataTable';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\n\nexport class Group extends Component<\n DataTableGroupProps,\n {},\n {},\n typeof Group.enhance,\n GroupPropsInner\n> {\n static displayName = 'Group';\n static style = style;\n static enhance = [uniqueIDEnhancement()] as const;\n\n componentDidMount() {\n this.forceUpdate();\n }\n\n get groupId() {\n const { uid } = this.asProps;\n\n return `${uid}_columns_group`;\n }\n\n render() {\n const SGroupContainer = Box;\n const SGroup = Root;\n const { styles, Children, title, fixed, fixedColumnsMap, columns, withConfig } = this.asProps;\n const groupColumns = columns ?? [];\n const children = getOriginChildren(Children);\n\n const firstName = withConfig ? groupColumns[0]?.name : children[0]?.props.name;\n const lastName = withConfig\n ? groupColumns[groupColumns.length - 1]?.name\n : children[children.length - 1]?.props.name;\n\n const style: any = {};\n\n if (fixed === 'left' && firstName) {\n style.left = fixedColumnsMap.get(firstName);\n }\n if (fixed === 'right') {\n style.right = fixedColumnsMap.get(lastName);\n }\n\n return sstyled(styles)(\n <SGroupContainer>\n <SGroup render={Box} style={style} __excludeProps={['title']} id={this.groupId}>\n {withConfig ? children : title}\n </SGroup>\n {withConfig ? (\n groupColumns.map((column, i) => {\n return (\n <DataTableInternal.Head.Column\n key={column.name}\n {...column}\n aria-describedby={this.groupId}\n />\n );\n })\n ) : (\n <Children />\n )}\n </SGroupContainer>,\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Group.type.js","names":[],"sources":["../../../../src/components/Head/Group.type.ts"],"sourcesContent":["import { DTUse } from '../DataTable/DataTable.types';\nimport { ReactElement } from 'react';\nimport { DataTableColumnProps, DTColumn } from './Column.types';\n\nexport type DataTableGroupProps = {\n title: React.ReactNode;\n\n borders?: 'both' | 'left' | 'right';\n\n fixed?: 'left' | 'right';\n\n children: Array<ReactElement<DataTableColumnProps>>;\n\n name?: string;\n columns?: DTColumn[];\n};\n\nexport type GroupPropsInner = {\n use: DTUse;\n fixedColumnsMap: Map<string, any>;\n};\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"Group.type.js","names":[],"sources":["../../../../src/components/Head/Group.type.ts"],"sourcesContent":["import { DTUse } from '../DataTable/DataTable.types';\nimport { ReactElement } from 'react';\nimport { DataTableColumnProps, DTColumn } from './Column.types';\n\nexport type DataTableGroupProps = {\n title: React.ReactNode;\n\n borders?: 'both' | 'left' | 'right';\n\n fixed?: 'left' | 'right';\n\n children: Array<ReactElement<DataTableColumnProps>>;\n\n name?: string;\n columns?: DTColumn[];\n};\n\nexport type GroupPropsInner = {\n use: DTUse;\n fixedColumnsMap: Map<string, any>;\n withConfig: boolean;\n};\n"],"mappings":""}
|
|
@@ -20,29 +20,33 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
20
20
|
var _baseComponents = require("@semcore/base-components");
|
|
21
21
|
var _Column = require("./Column");
|
|
22
22
|
var _Group = require("./Group");
|
|
23
|
-
var _utils = require("../../utils");
|
|
24
23
|
var _DataTable = require("../DataTable/DataTable");
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
24
|
+
var _checkbox = _interopRequireDefault(require("@semcore/checkbox"));
|
|
25
|
+
/*!__reshadow-styles__:"./style.shadow.css"*/
|
|
26
|
+
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SGroupContainer_ah4hc_gg_,.___SHead_ah4hc_gg_{display:contents}.___SHead_ah4hc_gg_.__sticky_ah4hc_gg_ .___SColumn_ah4hc_gg_{position:sticky;top:0;z-index:2}.___SHead_ah4hc_gg_.__sticky_ah4hc_gg_ .___SGroup_ah4hc_gg_{top:0}.___SHead_ah4hc_gg_.__sticky_ah4hc_gg_ .___SGroupContainer_ah4hc_gg_>.___SColumn_ah4hc_gg_{position:sticky;z-index:2}.___SHead_ah4hc_gg_.__compact_ah4hc_gg_ .___SColumn_ah4hc_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SColumn_ah4hc_gg_,.___SGroup_ah4hc_gg_{display:flex;align-items:flex-start;font-size:var(--intergalactic-fs-100, 12px);color:var(--intergalactic-text-primary, #191b23);box-sizing:border-box;height:100%;position:relative;transition:width calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out,min-width calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out,max-width calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out;overflow:hidden}.___SGroup_ah4hc_gg_{justify-content:center;text-align:center;background-color:var(--intergalactic-table-th-primary-cell, #f4f5f9)}.___SGroup_ah4hc_gg_._use_primary_ah4hc_gg_{padding:var(--intergalactic-spacing-3x, 12px)}.___SGroup_ah4hc_gg_._use_primary_ah4hc_gg_:has(~.___SColumn_ah4hc_gg_.__visibleSort_ah4hc_gg_){background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SGroup_ah4hc_gg_._use_secondary_ah4hc_gg_{padding:var(--intergalactic-spacing-2x, 8px)}.___SColumn_ah4hc_gg_._borders_both_ah4hc_gg_,.___SColumn_ah4hc_gg_._borders_left_ah4hc_gg_,.___SGroup_ah4hc_gg_._borders_both_ah4hc_gg_,.___SGroup_ah4hc_gg_._borders_left_ah4hc_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SColumn_ah4hc_gg_._borders_both_ah4hc_gg_,.___SColumn_ah4hc_gg_._borders_right_ah4hc_gg_,.___SGroup_ah4hc_gg_._borders_both_ah4hc_gg_,.___SGroup_ah4hc_gg_._borders_right_ah4hc_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SColumn_ah4hc_gg_._use_primary_ah4hc_gg_{padding:var(--intergalactic-spacing-3x, 12px);border-bottom:1px solid var(--intergalactic-border-secondary, #e0e1e9);background-color:var(--intergalactic-table-th-primary-cell, #f4f5f9)}.___SColumn_ah4hc_gg_._use_primary_ah4hc_gg_ .___SSortWrapper_ah4hc_gg_::before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_ah4hc_gg_._use_primary_ah4hc_gg_.__visibleSort_ah4hc_gg_{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SColumn_ah4hc_gg_._use_primary_ah4hc_gg_.__visibleSort_ah4hc_gg_ .___SSortWrapper_ah4hc_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_ah4hc_gg_._use_primary_ah4hc_gg_.__visibleSort_ah4hc_gg_ .___SSortButton_ah4hc_gg_,.___SColumn_ah4hc_gg_._use_primary_ah4hc_gg_.__visibleSort_ah4hc_gg_ .___SSortWrapper_ah4hc_gg_::before,.___SColumn_ah4hc_gg_._use_secondary_ah4hc_gg_.__visibleSort_ah4hc_gg_ .___SSortWrapper_ah4hc_gg_::before{display:flex;opacity:1}.___SColumn_ah4hc_gg_._use_secondary_ah4hc_gg_{padding:var(--intergalactic-spacing-2x, 8px);border-bottom:1px solid var(--intergalactic-border-table-accent, #a9abb6);background-color:var(--intergalactic-table-th-secondary-cell, #ffffff)}.___SColumn_ah4hc_gg_._use_secondary_ah4hc_gg_ .___SSortWrapper_ah4hc_gg_::before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,rgba(255,255,255,0) 105%)}.___SColumn_ah4hc_gg_._use_secondary_ah4hc_gg_.__visibleSort_ah4hc_gg_ .___SSortWrapper_ah4hc_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_ah4hc_gg_._use_secondary_ah4hc_gg_.__visibleSort_ah4hc_gg_ .___SSortButton_ah4hc_gg_{display:flex;opacity:1}.___SColumn_ah4hc_gg_.__gridArea_ah4hc_gg_,.___SGroupTitle_ah4hc_gg_.__gridArea_ah4hc_gg_,.___SGroup_ah4hc_gg_.__gridArea_ah4hc_gg_{grid-area:var(--gridArea_ah4hc)}.___SHead_ah4hc_gg_ .___SColumn_ah4hc_gg_.__fixed_ah4hc_gg_,.___SHead_ah4hc_gg_ .___SGroup_ah4hc_gg_.__fixed_ah4hc_gg_,.___SHead_ah4hc_gg_.__sticky_ah4hc_gg_ .___SColumn_ah4hc_gg_.__fixed_ah4hc_gg_,.___SHead_ah4hc_gg_.__sticky_ah4hc_gg_ .___SGroup_ah4hc_gg_{position:sticky;z-index:3}@media (hover:hover){.___SColumn_ah4hc_gg_.__sortable_ah4hc_gg_:hover{cursor:pointer}}.___SSortWrapper_ah4hc_gg_{align-items:center;display:flex;flex-shrink:1;position:relative;flex-basis:0;min-height:16px;opacity:0;transition:all calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out}.___SSortButton_ah4hc_gg_,.___SSortWrapper_ah4hc_gg_:before{display:none;position:absolute;right:0;opacity:0;transition:opacity .3s ease}.___SSortWrapper_ah4hc_gg_:before{content:\"\";top:0;width:20px;height:100%}.___SSortButton_ah4hc_gg_{fill:var(--intergalactic-icon-secondary-neutral-hover-active, #878992);top:calc(-1*(1em*1.25 - 16px));margin-left:var(--intergalactic-spacing-1x, 4px)}.___SHead_ah4hc_gg_._sideIndents_wide_ah4hc_gg_ .___SColumn_ah4hc_gg_:first-child{padding-left:var(--intergalactic-spacing-5x, 20px)}.___SHead_ah4hc_gg_._sideIndents_wide_ah4hc_gg_ .___SColumn_ah4hc_gg_:last-child{padding-right:var(--intergalactic-spacing-5x, 20px)}.___SHeadCheckboxCol_ah4hc_gg_{cursor:pointer}", /*__inner_css_end__*/"ah4hc_gg_"),
|
|
27
|
+
/*__reshadow_css_end__*/
|
|
28
|
+
{
|
|
29
|
+
"__SHead": "___SHead_ah4hc_gg_",
|
|
30
|
+
"__SGroupContainer": "___SGroupContainer_ah4hc_gg_",
|
|
31
|
+
"_sticky": "__sticky_ah4hc_gg_",
|
|
32
|
+
"__SColumn": "___SColumn_ah4hc_gg_",
|
|
33
|
+
"__SGroup": "___SGroup_ah4hc_gg_",
|
|
34
|
+
"_compact": "__compact_ah4hc_gg_",
|
|
35
|
+
"_use_secondary": "_use_secondary_ah4hc_gg_",
|
|
36
|
+
"_borders_both": "_borders_both_ah4hc_gg_",
|
|
37
|
+
"_borders_left": "_borders_left_ah4hc_gg_",
|
|
38
|
+
"_borders_right": "_borders_right_ah4hc_gg_",
|
|
39
|
+
"_gridArea": "__gridArea_ah4hc_gg_",
|
|
40
|
+
"__SGroupTitle": "___SGroupTitle_ah4hc_gg_",
|
|
41
|
+
"--gridArea": "--gridArea_ah4hc",
|
|
42
|
+
"_fixed": "__fixed_ah4hc_gg_",
|
|
43
|
+
"_sortable": "__sortable_ah4hc_gg_",
|
|
44
|
+
"__SSortWrapper": "___SSortWrapper_ah4hc_gg_",
|
|
45
|
+
"__SSortButton": "___SSortButton_ah4hc_gg_",
|
|
46
|
+
"__SHeadCheckboxCol": "___SHeadCheckboxCol_ah4hc_gg_",
|
|
47
|
+
"_use_primary": "_use_primary_ah4hc_gg_",
|
|
48
|
+
"_visibleSort": "__visibleSort_ah4hc_gg_",
|
|
49
|
+
"_sideIndents_wide": "_sideIndents_wide_ah4hc_gg_"
|
|
46
50
|
});
|
|
47
51
|
var HeadRoot = /*#__PURE__*/function (_Component) {
|
|
48
52
|
(0, _inherits2["default"])(HeadRoot, _Component);
|
|
@@ -55,6 +59,18 @@ var HeadRoot = /*#__PURE__*/function (_Component) {
|
|
|
55
59
|
}
|
|
56
60
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
57
61
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "fixedColumnsMap", new Map());
|
|
62
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleSelectAll", function (value, event) {
|
|
63
|
+
var _this$asProps$onChang, _this$asProps;
|
|
64
|
+
(_this$asProps$onChang = (_this$asProps = _this.asProps).onChangeSelectAll) === null || _this$asProps$onChang === void 0 ? void 0 : _this$asProps$onChang.call(_this$asProps, value, event);
|
|
65
|
+
});
|
|
66
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleClickSelectAll", function (value) {
|
|
67
|
+
return function (event) {
|
|
68
|
+
var _this$asProps$onChang2, _this$asProps2;
|
|
69
|
+
event === null || event === void 0 ? void 0 : event.preventDefault();
|
|
70
|
+
event === null || event === void 0 ? void 0 : event.stopPropagation();
|
|
71
|
+
(_this$asProps$onChang2 = (_this$asProps2 = _this.asProps).onChangeSelectAll) === null || _this$asProps$onChang2 === void 0 ? void 0 : _this$asProps$onChang2.call(_this$asProps2, value, event);
|
|
72
|
+
};
|
|
73
|
+
});
|
|
58
74
|
return _this;
|
|
59
75
|
}
|
|
60
76
|
(0, _createClass2["default"])(HeadRoot, [{
|
|
@@ -66,33 +82,45 @@ var HeadRoot = /*#__PURE__*/function (_Component) {
|
|
|
66
82
|
}, {
|
|
67
83
|
key: "getGroupProps",
|
|
68
84
|
value: function getGroupProps(_, index) {
|
|
69
|
-
var _this$
|
|
70
|
-
use = _this$
|
|
71
|
-
gridAreaGroupMap = _this$
|
|
85
|
+
var _this$asProps3 = this.asProps,
|
|
86
|
+
use = _this$asProps3.use,
|
|
87
|
+
gridAreaGroupMap = _this$asProps3.gridAreaGroupMap,
|
|
88
|
+
children = _this$asProps3.children;
|
|
72
89
|
return {
|
|
73
90
|
use: use,
|
|
74
91
|
gridArea: gridAreaGroupMap.get(index),
|
|
75
|
-
fixedColumnsMap: this.fixedColumnsMap
|
|
92
|
+
fixedColumnsMap: this.fixedColumnsMap,
|
|
93
|
+
withConfig: children === undefined
|
|
76
94
|
};
|
|
77
95
|
}
|
|
78
96
|
}, {
|
|
79
97
|
key: "getColumnProps",
|
|
80
98
|
value: function getColumnProps(_, index) {
|
|
81
|
-
var _this$
|
|
82
|
-
use = _this$
|
|
83
|
-
columns = _this$
|
|
84
|
-
sort = _this$
|
|
85
|
-
onSortChange = _this$
|
|
86
|
-
tableRef = _this$
|
|
87
|
-
gridTemplateColumns = _this$
|
|
88
|
-
gridTemplateAreas = _this$
|
|
89
|
-
sticky = _this$
|
|
99
|
+
var _this$asProps4 = this.asProps,
|
|
100
|
+
use = _this$asProps4.use,
|
|
101
|
+
columns = _this$asProps4.columns,
|
|
102
|
+
sort = _this$asProps4.sort,
|
|
103
|
+
onSortChange = _this$asProps4.onSortChange,
|
|
104
|
+
tableRef = _this$asProps4.tableRef,
|
|
105
|
+
gridTemplateColumns = _this$asProps4.gridTemplateColumns,
|
|
106
|
+
gridTemplateAreas = _this$asProps4.gridTemplateAreas,
|
|
107
|
+
sticky = _this$asProps4.sticky,
|
|
108
|
+
top = _this$asProps4.top,
|
|
109
|
+
selectedRows = _this$asProps4.selectedRows,
|
|
110
|
+
h = _this$asProps4.h,
|
|
111
|
+
getFixedStyle = _this$asProps4.getFixedStyle;
|
|
90
112
|
var column = columns[index];
|
|
91
|
-
|
|
113
|
+
if (index === 0 && selectedRows && columns[index + 1].fixed) {
|
|
114
|
+
column.fixed = 'left';
|
|
115
|
+
}
|
|
116
|
+
var _getFixedStyle = getFixedStyle(column),
|
|
92
117
|
_getFixedStyle2 = (0, _slicedToArray2["default"])(_getFixedStyle, 2),
|
|
93
118
|
name = _getFixedStyle2[0],
|
|
94
119
|
value = _getFixedStyle2[1];
|
|
95
120
|
var style = {};
|
|
121
|
+
if (top) {
|
|
122
|
+
style.top = "".concat(top, "px");
|
|
123
|
+
}
|
|
96
124
|
if (name !== undefined && value !== undefined) {
|
|
97
125
|
style[name] = value;
|
|
98
126
|
this.fixedColumnsMap.set(column.name, value);
|
|
@@ -100,10 +128,6 @@ var HeadRoot = /*#__PURE__*/function (_Component) {
|
|
|
100
128
|
return {
|
|
101
129
|
use: use,
|
|
102
130
|
'aria-colindex': index + 1,
|
|
103
|
-
ref: function ref(node) {
|
|
104
|
-
var _column$ref;
|
|
105
|
-
return (_column$ref = column.ref) === null || _column$ref === void 0 ? void 0 : _column$ref.call(column, node);
|
|
106
|
-
},
|
|
107
131
|
style: style,
|
|
108
132
|
gridArea: column.gridArea,
|
|
109
133
|
fixed: column.fixed,
|
|
@@ -116,7 +140,8 @@ var HeadRoot = /*#__PURE__*/function (_Component) {
|
|
|
116
140
|
columnIndex: index,
|
|
117
141
|
tableRef: tableRef,
|
|
118
142
|
gridTemplateColumns: gridTemplateColumns,
|
|
119
|
-
gridTemplateAreas: gridTemplateAreas
|
|
143
|
+
gridTemplateAreas: gridTemplateAreas,
|
|
144
|
+
h: h
|
|
120
145
|
};
|
|
121
146
|
}
|
|
122
147
|
}, {
|
|
@@ -125,19 +150,34 @@ var HeadRoot = /*#__PURE__*/function (_Component) {
|
|
|
125
150
|
var _ref = this.asProps,
|
|
126
151
|
_ref2;
|
|
127
152
|
var SHead = _baseComponents.Box;
|
|
128
|
-
var
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
153
|
+
var SHeadCheckboxCol = Head.Column;
|
|
154
|
+
var _this$asProps5 = this.asProps,
|
|
155
|
+
Children = _this$asProps5.Children,
|
|
156
|
+
styles = _this$asProps5.styles,
|
|
157
|
+
getI18nText = _this$asProps5.getI18nText,
|
|
158
|
+
children = _this$asProps5.children,
|
|
159
|
+
treeColumns = _this$asProps5.treeColumns,
|
|
160
|
+
selectedRows = _this$asProps5.selectedRows,
|
|
161
|
+
totalRows = _this$asProps5.totalRows;
|
|
162
|
+
var checked = selectedRows && selectedRows.length === totalRows && totalRows > 0;
|
|
163
|
+
var indeterminate = selectedRows && selectedRows.length > 0 && !checked;
|
|
134
164
|
return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SHead, _ref2.cn("SHead", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
|
|
135
165
|
"role": 'row',
|
|
136
166
|
"aria-rowindex": 1
|
|
137
|
-
}, _ref))),
|
|
167
|
+
}, _ref))), selectedRows && /*#__PURE__*/React.createElement(SHeadCheckboxCol, _ref2.cn("SHeadCheckboxCol", {
|
|
168
|
+
"name": _DataTable.SELECT_ALL.toString(),
|
|
169
|
+
"onClick": this.handleClickSelectAll(!checked)
|
|
170
|
+
}), /*#__PURE__*/React.createElement(_checkbox["default"], _ref2.cn("Checkbox", {
|
|
171
|
+
"checked": checked,
|
|
172
|
+
"indeterminate": indeterminate,
|
|
173
|
+
"aria-label": getI18nText('DataTable.Header.selectAllCheckbox:aria-label'),
|
|
174
|
+
"onChange": this.handleSelectAll
|
|
175
|
+
}), /*#__PURE__*/React.createElement(_checkbox["default"].Value, null, /*#__PURE__*/React.createElement(_checkbox["default"].Value.Control, null), /*#__PURE__*/React.createElement(_checkbox["default"].Value.CheckMark, {
|
|
176
|
+
mt: 0
|
|
177
|
+
})))), children ? /*#__PURE__*/React.createElement(Children, _ref2.cn("Children", {})) : /*#__PURE__*/React.createElement(React.Fragment, null, treeColumns.map(function (column, i) {
|
|
138
178
|
if ('columns' in column) {
|
|
139
179
|
var _column$columns;
|
|
140
|
-
return /*#__PURE__*/React.createElement(_DataTable.
|
|
180
|
+
return /*#__PURE__*/React.createElement(_DataTable.DataTableInternal.Head.Group, (0, _extends2["default"])({
|
|
141
181
|
key: column.name
|
|
142
182
|
}, column, {
|
|
143
183
|
name: (_column$columns = column.columns) === null || _column$columns === void 0 ? void 0 : _column$columns.map(function (c) {
|
|
@@ -146,7 +186,7 @@ var HeadRoot = /*#__PURE__*/function (_Component) {
|
|
|
146
186
|
title: ''
|
|
147
187
|
}));
|
|
148
188
|
}
|
|
149
|
-
return /*#__PURE__*/React.createElement(_DataTable.
|
|
189
|
+
return /*#__PURE__*/React.createElement(_DataTable.DataTableInternal.Head.Column, (0, _extends2["default"])({
|
|
150
190
|
key: column.name
|
|
151
191
|
}, column));
|
|
152
192
|
}))), /*#__PURE__*/React.createElement(_baseComponents.ScreenReaderOnly, _ref2.cn("ScreenReaderOnly", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Head.js","names":["_core","require","React","_interopRequireWildcard","_baseComponents","_Column","_Group","_utils","_DataTable","style","sstyled","insert","HeadRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","Map","_createClass2","key","value","sortableColumnDescribeId","uid","asProps","getGroupProps","_","index","_this$asProps","use","gridAreaGroupMap","gridArea","get","fixedColumnsMap","getColumnProps","_this$asProps2","columns","sort","onSortChange","tableRef","gridTemplateColumns","gridTemplateAreas","sticky","column","_getFixedStyle","getFixedStyle","_getFixedStyle2","_slicedToArray2","name","undefined","set","ref","node","_column$ref","fixed","borders","parent","columnIndex","render","_ref","_ref2","SHead","Box","_this$asProps3","Children","styles","getI18nText","children","treeColumns","createElement","Fragment","cn","_objectSpread2","assignProps","map","i","_column$columns","DataTable","Head","Group","_extends2","c","join","title","Column","ScreenReaderOnly","Component","createComponent","exports"],"sources":["../../../../src/components/Head/Head.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Component, createComponent, Intergalactic, Root, sstyled } from '@semcore/core';\nimport { DataTableHeadProps, HeadPropsInner } from './Head.types';\nimport { Box, ScreenReaderOnly } from '@semcore/base-components';\nimport Tooltip from '@semcore/tooltip';\n\nimport style from './style.shadow.css';\nimport { Column } from './Column';\nimport { Group } from './Group';\nimport { DataTableColumnProps } from './Column.types';\nimport { getFixedStyle } from '../../utils';\nimport { DataTableGroupProps } from './Group.type';\nimport { DataTableData } from '../DataTable/DataTable.types';\nimport { DataTable } from '../DataTable/DataTable';\n\nclass HeadRoot<D extends DataTableData> extends Component<\n DataTableHeadProps,\n {},\n {},\n [],\n HeadPropsInner<D>\n> {\n static displayName = 'Head';\n static style = style;\n\n fixedColumnsMap = new Map<string, any>();\n\n sortableColumnDescribeId() {\n const { uid } = this.asProps;\n return `${uid}-column-sortable-describer`;\n }\n\n getGroupProps(_: any, index: number) {\n const { use, gridAreaGroupMap } = this.asProps;\n\n return {\n use,\n gridArea: gridAreaGroupMap.get(index),\n fixedColumnsMap: this.fixedColumnsMap,\n };\n }\n\n getColumnProps(_: any, index: number) {\n const {\n use,\n columns,\n sort,\n onSortChange,\n tableRef,\n gridTemplateColumns,\n gridTemplateAreas,\n sticky,\n } = this.asProps;\n const column = columns[index];\n const [name, value] = getFixedStyle(column, columns);\n const style: any = {};\n\n if (name !== undefined && value !== undefined) {\n style[name] = value;\n\n this.fixedColumnsMap.set(column.name, value);\n }\n\n return {\n use,\n 'aria-colindex': index + 1,\n ref: (node: HTMLElement | null) => column.ref?.(node),\n style,\n gridArea: column.gridArea,\n fixed: column.fixed,\n sticky,\n borders: column.borders,\n sort,\n onSortChange,\n parent: column.parent,\n sortableColumnDescribeId: this.sortableColumnDescribeId(),\n columnIndex: index,\n tableRef,\n gridTemplateColumns,\n gridTemplateAreas,\n };\n }\n\n render() {\n const SHead = Root;\n const { Children, styles, getI18nText, children, treeColumns } = this.asProps;\n\n return sstyled(styles)(\n <>\n <SHead render={Box} role='row' aria-rowindex={1}>\n {children ? (\n <Children />\n ) : (\n <>\n {treeColumns.map((column, i) => {\n if ('columns' in column) {\n return (\n <DataTable.Head.Group\n key={column.name}\n {...column}\n name={column.columns?.map((c) => c.name).join('/')}\n title={''}\n />\n );\n }\n\n return <DataTable.Head.Column key={column.name} {...column} />;\n })}\n </>\n )}\n </SHead>\n\n <ScreenReaderOnly aria-hidden={true} id={this.sortableColumnDescribeId()}>\n {getI18nText('sortableColumn')}\n </ScreenReaderOnly>\n </>,\n );\n }\n}\n\nexport const Head = createComponent(HeadRoot, { Column, Group }) as Intergalactic.Component<\n 'div',\n DataTableHeadProps\n> & {\n Column: <Tag extends 'div' | typeof Tooltip = 'div'>(\n props: Intergalactic.InternalTypings.ComponentProps<Tag, 'div', DataTableColumnProps, {}, []>,\n ) => Intergalactic.InternalTypings.ComponentRenderingResults;\n Group: <Tag extends 'div' | typeof Tooltip = 'div'>(\n props: Intergalactic.InternalTypings.ComponentProps<Tag, 'div', DataTableGroupProps, {}, []>,\n ) => Intergalactic.InternalTypings.ComponentRenderingResults;\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Head.js","names":["_core","require","React","_interopRequireWildcard","_baseComponents","_Column","_Group","_DataTable","_checkbox","_interopRequireDefault","style","sstyled","insert","HeadRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","Map","value","event","_this$asProps$onChang","_this$asProps","asProps","onChangeSelectAll","_this$asProps$onChang2","_this$asProps2","preventDefault","stopPropagation","_createClass2","key","sortableColumnDescribeId","uid","getGroupProps","_","index","_this$asProps3","use","gridAreaGroupMap","children","gridArea","get","fixedColumnsMap","withConfig","undefined","getColumnProps","_this$asProps4","columns","sort","onSortChange","tableRef","gridTemplateColumns","gridTemplateAreas","sticky","top","selectedRows","h","getFixedStyle","column","fixed","_getFixedStyle","_getFixedStyle2","_slicedToArray2","name","set","borders","parent","columnIndex","render","_ref","_ref2","SHead","Box","SHeadCheckboxCol","Head","Column","_this$asProps5","Children","styles","getI18nText","treeColumns","totalRows","checked","indeterminate","createElement","Fragment","cn","_objectSpread2","assignProps","SELECT_ALL","toString","handleClickSelectAll","handleSelectAll","Value","Control","CheckMark","mt","map","i","_column$columns","DataTableInternal","Group","_extends2","c","join","title","ScreenReaderOnly","Component","createComponent","exports"],"sources":["../../../../src/components/Head/Head.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Component, createComponent, Intergalactic, Root, sstyled } from '@semcore/core';\nimport { DataTableHeadProps, HeadPropsInner } from './Head.types';\nimport { Box, ScreenReaderOnly } from '@semcore/base-components';\nimport Tooltip from '@semcore/tooltip';\n\nimport style from './style.shadow.css';\nimport { Column } from './Column';\nimport { Group } from './Group';\nimport { DataTableColumnProps } from './Column.types';\nimport { DataTableGroupProps } from './Group.type';\nimport { DataTableData } from '../DataTable/DataTable.types';\nimport { DataTableInternal } from '../DataTable/DataTable';\nimport { SELECT_ALL } from '../DataTable/DataTable';\nimport Checkbox from '@semcore/checkbox';\n\nclass HeadRoot<D extends DataTableData> extends Component<\n DataTableHeadProps,\n {},\n {},\n [],\n HeadPropsInner<D>\n> {\n static displayName = 'Head';\n static style = style;\n\n fixedColumnsMap = new Map<string, any>();\n\n sortableColumnDescribeId() {\n const { uid } = this.asProps;\n return `${uid}-column-sortable-describer`;\n }\n\n getGroupProps(_: any, index: number) {\n const { use, gridAreaGroupMap, children } = this.asProps;\n\n return {\n use,\n gridArea: gridAreaGroupMap.get(index),\n fixedColumnsMap: this.fixedColumnsMap,\n withConfig: children === undefined,\n };\n }\n\n getColumnProps(_: any, index: number) {\n const {\n use,\n columns,\n sort,\n onSortChange,\n tableRef,\n gridTemplateColumns,\n gridTemplateAreas,\n sticky,\n top,\n selectedRows,\n h,\n getFixedStyle,\n } = this.asProps;\n const column = columns[index];\n\n if (index === 0 && selectedRows && columns[index + 1].fixed) {\n column.fixed = 'left';\n }\n\n const [name, value] = getFixedStyle(column);\n const style: any = {};\n\n if (top) {\n style.top = `${top}px`;\n }\n\n if (name !== undefined && value !== undefined) {\n style[name] = value;\n\n this.fixedColumnsMap.set(column.name, value);\n }\n\n return {\n use,\n 'aria-colindex': index + 1,\n style,\n gridArea: column.gridArea,\n fixed: column.fixed,\n sticky,\n borders: column.borders,\n sort,\n onSortChange,\n parent: column.parent,\n sortableColumnDescribeId: this.sortableColumnDescribeId(),\n columnIndex: index,\n tableRef,\n gridTemplateColumns,\n gridTemplateAreas,\n h,\n };\n }\n\n handleSelectAll = (value: boolean, event?: React.SyntheticEvent<HTMLElement>) => {\n this.asProps.onChangeSelectAll?.(value, event);\n };\n\n handleClickSelectAll = (value: boolean) => (event?: React.SyntheticEvent<HTMLElement>) => {\n event?.preventDefault();\n event?.stopPropagation();\n this.asProps.onChangeSelectAll?.(value, event);\n };\n\n render() {\n const SHead = Root;\n const SHeadCheckboxCol = Head.Column;\n const { Children, styles, getI18nText, children, treeColumns, selectedRows, totalRows } =\n this.asProps;\n\n const checked = selectedRows && selectedRows.length === totalRows && totalRows > 0;\n const indeterminate = selectedRows && selectedRows.length > 0 && !checked;\n\n return sstyled(styles)(\n <>\n <SHead render={Box} role='row' aria-rowindex={1}>\n {selectedRows && (\n <SHeadCheckboxCol\n name={SELECT_ALL.toString()}\n onClick={this.handleClickSelectAll(!checked)}\n >\n <Checkbox\n checked={checked}\n indeterminate={indeterminate}\n aria-label={getI18nText('DataTable.Header.selectAllCheckbox:aria-label')}\n onChange={this.handleSelectAll}\n >\n <Checkbox.Value>\n <Checkbox.Value.Control />\n <Checkbox.Value.CheckMark mt={0} />\n </Checkbox.Value>\n </Checkbox>\n </SHeadCheckboxCol>\n )}\n\n {children ? (\n <Children />\n ) : (\n <>\n {treeColumns.map((column, i) => {\n if ('columns' in column) {\n return (\n <DataTableInternal.Head.Group\n key={column.name}\n {...column}\n name={column.columns?.map((c) => c.name).join('/')}\n title={''}\n />\n );\n }\n\n return <DataTableInternal.Head.Column key={column.name} {...column} />;\n })}\n </>\n )}\n </SHead>\n\n <ScreenReaderOnly aria-hidden={true} id={this.sortableColumnDescribeId()}>\n {getI18nText('sortableColumn')}\n </ScreenReaderOnly>\n </>,\n );\n }\n}\n\nexport const Head = createComponent(HeadRoot, { Column, Group }) as Intergalactic.Component<\n 'div',\n DataTableHeadProps\n> & {\n Column: <Tag extends 'div' | typeof Tooltip = 'div'>(\n props: Intergalactic.InternalTypings.ComponentProps<Tag, 'div', DataTableColumnProps, {}, []>,\n ) => Intergalactic.InternalTypings.ComponentRenderingResults;\n Group: <Tag extends 'div' | typeof Tooltip = 'div'>(\n props: Intergalactic.InternalTypings.ComponentProps<Tag, 'div', DataTableGroupProps, {}, []>,\n ) => Intergalactic.InternalTypings.ComponentRenderingResults;\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Head.types.js","names":[],"sources":["../../../../src/components/Head/Head.types.ts"],"sourcesContent":["import { DataTableData, DataTableProps, DTUse } from '../DataTable/DataTable.types';\nimport { DTColumn } from './Column.types';\n\nexport type DataTableHeadProps = {\n /**\n * Sticky header\n * @default false\n */\n sticky?: boolean;\n\n /**\n * offset for sticky header\n */\n top?: number;\n\n /** Enable scroll bar element in header */\n withScrollBar?: boolean;\n};\n\nexport type HeadPropsInner<D extends DataTableData> = {\n use: DTUse;\n tableRef: React.RefObject<HTMLElement>;\n columns: DTColumn[];\n treeColumns: DTColumn[];\n compact: boolean;\n sort?: DataTableProps<D>['sort'];\n onSortChange?: DataTableProps<D>['onSortChange'];\n getI18nText: (key: string) => string;\n uid: string;\n ref: React.RefObject<HTMLDivElement>;\n\n gridAreaGroupMap: Map<number, string>;\n gridTemplateColumns: string[];\n gridTemplateAreas: string[];\n};\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"Head.types.js","names":[],"sources":["../../../../src/components/Head/Head.types.ts"],"sourcesContent":["import { DataTableData, DataTableProps, DTUse } from '../DataTable/DataTable.types';\nimport { DTColumn } from './Column.types';\n\nexport type DataTableHeadProps = {\n /**\n * Sticky header\n * @default false\n */\n sticky?: boolean;\n\n /**\n * offset for sticky header\n */\n top?: number;\n\n /**\n * Height of header in px\n */\n h?: number;\n\n /** Enable scroll bar element in header */\n withScrollBar?: boolean;\n};\n\nexport type HeadPropsInner<D extends DataTableData> = {\n use: DTUse;\n tableRef: React.RefObject<HTMLElement>;\n columns: DTColumn[];\n treeColumns: DTColumn[];\n compact: boolean;\n sort?: DataTableProps<D>['sort'];\n onSortChange?: DataTableProps<D>['onSortChange'];\n getI18nText: (key: string) => string;\n uid: string;\n ref: React.RefObject<HTMLDivElement>;\n\n gridAreaGroupMap: Map<number, string>;\n gridTemplateColumns: string[];\n gridTemplateAreas: string[];\n sideIndents?: 'wide';\n\n totalRows: number;\n selectedRows?: number[];\n onChangeSelectAll?: (value: boolean, event?: React.SyntheticEvent<HTMLElement>) => void;\n\n getFixedStyle: (\n cell: Pick<DTColumn, 'name' | 'fixed'>,\n ) => [side: 'left' | 'right', style: string | number] | [side: undefined, style: undefined];\n};\n"],"mappings":""}
|