@semcore/data-table 3.8.2 → 3.8.4
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 +15 -2
- package/lib/cjs/Body.js +27 -20
- package/lib/cjs/Body.js.map +1 -1
- package/lib/cjs/DataTable.js +64 -53
- package/lib/cjs/DataTable.js.map +1 -1
- package/lib/cjs/Head.js +12 -8
- package/lib/cjs/Head.js.map +1 -1
- package/lib/cjs/style/data-table.shadow.css +14 -9
- package/lib/cjs/types.js.map +1 -1
- package/lib/es6/Body.js +27 -20
- package/lib/es6/Body.js.map +1 -1
- package/lib/es6/DataTable.js +64 -53
- package/lib/es6/DataTable.js.map +1 -1
- package/lib/es6/Head.js +12 -8
- package/lib/es6/Head.js.map +1 -1
- package/lib/es6/style/data-table.shadow.css +14 -9
- package/lib/es6/types.js.map +1 -1
- package/lib/types/Body.d.ts +3 -3
- package/lib/types/Head.d.ts +1 -0
- package/lib/types/types.d.ts +1 -0
- package/package.json +1 -1
package/lib/cjs/DataTable.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTable.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_flexBox","_syncScroll","_assignProps2","_fire","_utils","_Head","_Body","_excluded","_excluded2","style","sstyled","insert","REVERSED_SORT_DIRECTION","desc","asc","DEFAULT_SORT_DIRECTION","ROW_GROUP","Symbol","exports","cssVarReg","createCssVarForWidth","name","concat","replace","setBorderGroupColumns","columns","side","firstColumn","lastColumn","length","borderLeft","borderRight","RootDefinitionTable","_Component","_inherits2","_super","_createSuper2","props","_this","_classCallCheck2","call","_defineProperty2","_assertThisInitialized2","React","createRef","event","column","find","fire","active","sortDirection","forceUpdate","_this$tableRef","_this$tableRef$curren","tableRef","current","scrollIntoView","block","inline","behavior","syncScroll","scrollBodyRef","scrollHeadRef","_createClass2","key","value","setVarStyle","_iterator","_createForOfIteratorHelper2","_step","s","n","done","setVar","_this$tableRef$curren2","setProperty","varWidth","width","err","e","f","childrenToColumns","children","_this2","options","arguments","undefined","fixed","sort","asProps","columnsChildren","Children","forEach","child","_column$props","isValidElement","type","DefinitionTable","Column","_ref3","_ref3$fixed","resizable","sortable","flex","vBorders","_objectWithoutProperties2","lastColumnChildren","isGroup","some","c","flattenColumns","map","_ref4","join","toArray","filter","columnChildren","_this$props$ref$curre","ref","getBoundingClientRect","_objectSpread2","forwardRef","push","getHeadProps","use","$onSortClick","callAllEventHandlers","handlerSortClick","scrollToUp","onResize","handlerResize","$scrollRef","getBodyProps","_this$asProps","data","uniqueKey","cellPropsLayers","rowPropsLayers","_ref5","other","Cell","split","childrenPropsGetter","Row","rows","dataToRows","_this3","parseData","exclude","row","groupByName","columnsWithoutRowGroup","rowKey","columnNames","_iterator2","_step2","groupedColumns","groupData","rowsGroup","rowsGroupedNames","Object","fromEntries","subRow","keys","flat","cells","_groupByName$column$n","cssVar","flatRowData","componentDidUpdate","render","_ref","_ref2","SDataTable","Box","_this$asProps2","styles","createElement","cn","assignProps","Component","ComponentDefinition","createComponent","Head","Body","_default"],"sources":["../../src/DataTable.tsx"],"sourcesContent":["import React from 'react';\nimport { Property } from 'csstype';\nimport createComponent, { Component, PropGetterFn, Root, sstyled } from '@semcore/core';\nimport { Box, IBoxProps, IFlexProps } from '@semcore/flex-box';\nimport syncScroll from '@semcore/utils/lib/syncScroll';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport fire from '@semcore/utils/lib/fire';\nimport { flattenColumns } from './utils';\nimport type {\n Column,\n NestedCells,\n PropsLayer,\n PseudoChildPropsGetter,\n RowData,\n SortDirection,\n} from './types';\nimport Head from './Head';\nimport Body from './Body';\n\nimport style from './style/data-table.shadow.css';\n\nconst REVERSED_SORT_DIRECTION: { [direction in SortDirection]: SortDirection } = {\n desc: 'asc',\n asc: 'desc',\n};\nconst DEFAULT_SORT_DIRECTION: SortDirection = 'desc';\n\nconst ROW_GROUP = Symbol('ROW_GROUP');\n\nconst cssVarReg = /[:;]/g;\n\nconst createCssVarForWidth = (name: string) => {\n return `--${name.replace(cssVarReg, '_')}_width`;\n};\n\ntype AsProps = {\n use: 'primary' | 'secondary';\n sort: SortDirection[];\n data: RowData[];\n uniqueKey: string;\n};\n\ntype HeadAsProps = {\n children: React.ReactChild;\n};\ntype BodyAsProps = {\n children: React.ReactChild;\n};\n\n/* utils type */\ntype CProps<Props, Ctx = {}, UCProps = {}> = Props & {\n children?: ((props: Props & Ctx, handlers: UCProps) => React.ReactNode) | React.ReactNode;\n};\ntype ReturnEl = React.ReactElement | null;\ntype ChildRenderFn<Props> = Props & {\n children?: (props: Props, column: DataTableData, index: number) => { [key: string]: unknown };\n};\n/* utils type */\n\nexport type DataTableData = { [key: string]: unknown };\nexport type DataTableSort = [string, 'desc' | 'asc'];\nexport type DataTableTheme = 'muted' | 'info' | 'success' | 'warning' | 'danger';\nexport type DataTableUse = 'primary' | 'secondary';\nexport type DataTableRow = DataTableCell[];\nexport type DataTableCell = {\n /** Name of column */\n name: string;\n /** Data of column */\n data: React.ReactNode;\n [key: string]: unknown;\n};\n\nexport interface IDataTableProps extends IBoxProps {\n /** Theme for table\n * @default primary\n * */\n use?: DataTableUse;\n /** Data for table */\n data?: DataTableData[];\n /** Active sort object */\n sort?: DataTableSort;\n /** Handler call when will request change sort */\n onSortChange?: (sort: DataTableSort, e?: React.SyntheticEvent) => void;\n /** Field name in one data entity that is unique accross all set of data\n * @default id\n */\n uniqueKey?: string;\n}\n\nexport interface IDataTableHeadProps extends IBoxProps {\n /** Sticky header table\n * @deprecated\n * */\n sticky?: boolean;\n\n /** Hidden header */\n hidden?: boolean;\n\n /** Disabled scroll */\n disabledScroll?: boolean;\n}\n\nexport interface IDataTableColumnProps extends IFlexProps {\n /** Unique name column */\n name?: string;\n /** Enable sort for column also if you pass string you can set default sort */\n sortable?: boolean | 'desc' | 'asc';\n /** Enable resize for column\n * @ignore */\n resizable?: boolean;\n /** Fixed column on the left/right */\n fixed?: 'left' | 'right';\n /** Fields to control the size of the column. */\n flex?: Property.Flex | 'inherit';\n /** Add vertical borders */\n vBorders?: boolean;\n /** Add vertical border to the right side */\n borderRight?: boolean;\n /** Add vertical border to the left side */\n borderLeft?: boolean;\n /** Make cells less */\n compact?: boolean;\n}\n\nexport interface IDataTableBodyProps extends IBoxProps {\n /** Rows table */\n rows?: DataTableRow[];\n /** When enabled, only visually acessable rows are rendered.\n * `tollerance` property controls how many rows outside of viewport are render.\n * `rowHeight` fixes the rows height if it has known. If not provided, first row node height is measured.\n * @default { tollerance: 2 }\n */\n virtualScroll?: boolean | { tollerance?: number; rowHeight?: number };\n /**\n * Called every time user scrolls area\n */\n onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;\n /** Disabled scroll */\n disabledScroll?: boolean;\n}\n\nexport interface IDataTableRowProps extends IBoxProps {\n /** Theme for row */\n theme?: DataTableTheme;\n /** Displays row as active/hover */\n active?: boolean;\n}\n\nexport interface IDataTableCellProps extends IFlexProps {\n /** Unique name column or columns separated by / */\n name: string;\n /** Theme for cell */\n theme?: DataTableTheme;\n}\n\nfunction setBorderGroupColumns(columns: Column[], side?: string) {\n const firstColumn = columns[0];\n const lastColumn = columns[columns.length - 1];\n if (firstColumn && (!side || side === 'left')) {\n firstColumn.borderLeft = true;\n if (firstColumn.columns) {\n setBorderGroupColumns(firstColumn.columns, 'left');\n }\n }\n if (lastColumn && (!side || side === 'right')) {\n lastColumn.borderRight = true;\n if (lastColumn.columns) {\n setBorderGroupColumns(lastColumn.columns, 'right');\n }\n }\n}\n\nclass RootDefinitionTable extends Component<AsProps> {\n static displayName = 'DefinitionTable';\n\n static style = style;\n\n static defaultProps = {\n use: 'primary',\n uniqueKey: 'id',\n sort: [],\n data: [],\n } as AsProps;\n\n columns: Column[] = [];\n\n tableRef = React.createRef<HTMLElement>();\n scrollBodyRef: null | ReturnType<ReturnType<typeof syncScroll>> = null;\n scrollHeadRef: null | ReturnType<ReturnType<typeof syncScroll>> = null;\n\n constructor(props: AsProps) {\n super(props);\n\n const createRef = syncScroll();\n // first create body ref for master scroll\n this.scrollBodyRef = createRef('body');\n this.scrollHeadRef = createRef('head');\n }\n\n handlerSortClick = (name: string, event: React.MouseEvent) => {\n const column = this.columns.find((column) => column.name === name)!;\n return fire(\n this,\n 'onSortChange',\n [\n column.name,\n column.active ? REVERSED_SORT_DIRECTION[column.sortDirection] : column.sortDirection,\n ],\n event,\n );\n };\n\n handlerResize = () => {\n this.forceUpdate();\n };\n\n scrollToUp = () => {\n this.tableRef?.current?.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n behavior: 'smooth',\n });\n };\n\n setVarStyle(columns: Column[]) {\n for (const column of columns) {\n if (column.setVar) {\n this.tableRef.current?.style.setProperty(column.varWidth, `${column.width}px`);\n }\n }\n }\n\n childrenToColumns(\n children: React.ReactNode,\n options: { fixed?: 'left' | 'right' } = { fixed: undefined },\n ) {\n const { sort } = this.asProps;\n const columnsChildren: Column[] = [];\n React.Children.forEach(children, (child) => {\n if (!React.isValidElement(child)) return;\n if (child.type !== DefinitionTable.Column) return;\n\n let {\n children,\n name,\n fixed = options.fixed,\n resizable,\n sortable,\n flex,\n vBorders,\n active,\n ...props\n } = child.props as Column['props'];\n const lastColumnChildren = columnsChildren[columnsChildren.length - 1];\n const isGroup = !name;\n let columns: Column[] | undefined;\n\n if (isGroup) {\n columns = this.childrenToColumns(children, { fixed });\n active = typeof active === 'boolean' ? active : columns.some((c) => c.active);\n\n if (vBorders) {\n setBorderGroupColumns(columns);\n }\n\n name = flattenColumns(columns)\n .map(({ name }) => name)\n .join('/');\n if (!columns.length) return;\n children = React.Children.toArray(children).filter(\n (child) => !(React.isValidElement(child) && child.type === DefinitionTable.Column),\n );\n }\n\n const column = this.columns.find((column) => column.name === name);\n const columnChildren = {\n get width() {\n // @ts-ignore\n return this.props.ref.current?.getBoundingClientRect().width || 0;\n },\n name,\n varWidth: createCssVarForWidth(name),\n setVar: flex !== 'inherit',\n fixed,\n resizable,\n active: typeof active === 'boolean' ? active : sort[0] === name,\n sortable,\n borderLeft: lastColumnChildren?.borderRight === true ? false : vBorders,\n borderRight: vBorders,\n sortDirection:\n sort[0] === name\n ? sort[1]\n : column?.sortDirection ||\n (typeof sortable == 'string' ? sortable : DEFAULT_SORT_DIRECTION),\n props: {\n name,\n flex: flex === 'inherit' ? undefined : flex,\n ...props,\n // @ts-ignore\n forwardRef: child.ref,\n children,\n ref: column?.props?.ref || React.createRef(),\n },\n } as unknown as Column;\n\n if (columns) {\n columnChildren.columns = columns;\n }\n columnsChildren.push(columnChildren);\n });\n return columnsChildren;\n }\n\n getHeadProps(props: HeadAsProps) {\n const { use } = this.asProps;\n const columnsChildren = this.childrenToColumns(props.children);\n\n this.columns = flattenColumns(columnsChildren);\n return {\n $onSortClick: callAllEventHandlers(this.handlerSortClick, this.scrollToUp),\n columnsChildren,\n use,\n onResize: this.handlerResize,\n $scrollRef: this.scrollHeadRef,\n };\n }\n\n getBodyProps(props: BodyAsProps) {\n const { data, use, uniqueKey } = this.asProps;\n const cellPropsLayers: { [columnName: string]: PropsLayer[] } = {};\n const rowPropsLayers: PropsLayer[] = [];\n\n React.Children.forEach(props.children, (child) => {\n if (React.isValidElement(child)) {\n const { name, children, ...other } = child.props as {\n name?: string;\n children?: PseudoChildPropsGetter;\n } & { [propName: string]: unknown };\n if (child.type === DefinitionTable.Cell && name) {\n name.split('/').forEach((name) => {\n cellPropsLayers[name] = cellPropsLayers[name] || [];\n cellPropsLayers[name].push({\n ...other,\n childrenPropsGetter: children,\n });\n });\n }\n if (child.type === DefinitionTable.Row) {\n rowPropsLayers.push({\n ...other,\n childrenPropsGetter: children,\n });\n }\n }\n });\n\n return {\n columns: this.columns,\n rows: this.dataToRows(data, cellPropsLayers),\n uniqueKey,\n use,\n rowPropsLayers,\n $scrollRef: this.scrollBodyRef,\n };\n }\n\n dataToRows(data: RowData[], cellPropsLayers: { [columnName: string]: PropsLayer[] }) {\n const parseData = (data: RowData[], exclude: { [columnName: string]: true }) =>\n data.map((row) => {\n const groupByName: {\n [columnName: string]: {\n groupedColumns: string[];\n groupData: { [columnName: string]: unknown };\n };\n } = {};\n const columnsWithoutRowGroup: { [columnname: string]: true } = {};\n for (const rowKey in row) {\n const columnNames = rowKey.split('/');\n if (columnNames.length >= 2) {\n for (const column of columnNames) {\n groupByName[column] = {\n groupedColumns: columnNames,\n groupData: row[rowKey] as { [columnName: string]: unknown },\n };\n columnsWithoutRowGroup[column] = true;\n }\n } else {\n columnsWithoutRowGroup[rowKey] = true;\n }\n }\n\n const rowsGroup = row[ROW_GROUP] || [];\n const rowsGroupedNames = Object.fromEntries(\n rowsGroup\n .map((subRow) => Object.keys(subRow))\n .flat()\n .map(key => key.split('/'))\n .flat()\n .map((key) => [key, true]),\n );\n\n let isGroup = false;\n\n const cells: NestedCells = this.columns\n .map((column) => {\n if (groupByName[column.name]) {\n const { groupedColumns, groupData } = groupByName[column.name];\n if (groupedColumns[0] === column.name) {\n return {\n name: groupedColumns.join('/'),\n cssVar: groupedColumns.map(createCssVarForWidth),\n fixed: column.fixed,\n data: groupData,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n } else if (column.name in row) {\n return {\n name: column.name,\n cssVar: column.varWidth,\n fixed: column.fixed,\n data: row[column.name],\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n } else if (!isGroup && rowsGroupedNames[column.name]) {\n // TODO: make it work not only with first group\n isGroup = true;\n return parseData(rowsGroup, {\n ...exclude,\n ...columnsWithoutRowGroup,\n });\n } else if (!exclude[column.name] && !rowsGroupedNames[column.name]) {\n // add empty cell if it is not present in data\n return {\n name: column.name,\n cssVar: column.varWidth,\n fixed: column.fixed,\n data: null,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n })\n .filter((column) => column)\n .map((column) => column!);\n\n cells.flatRowData = row;\n return cells;\n });\n\n return parseData(data, {});\n }\n\n componentDidUpdate() {\n this.setVarStyle(this.columns);\n }\n\n render() {\n const SDataTable = Root;\n const { Children, styles, data } = this.asProps;\n\n return sstyled(styles)(\n <SDataTable\n render={Box}\n __excludeProps={['data']}\n ref={this.tableRef}\n role='table'\n aria-rowcount={(data ?? []).length}\n >\n <Children />\n </SDataTable>,\n );\n }\n}\n\ninterface IDataTableCtx {\n getHeadProps: PropGetterFn;\n getBodyProps: PropGetterFn;\n}\n\nfunction ComponentDefinition() {\n return null;\n}\n\nconst DefinitionTable = createComponent(\n RootDefinitionTable,\n {\n Head,\n Body,\n Column: ComponentDefinition,\n Cell: ComponentDefinition,\n Row: ComponentDefinition,\n },\n {},\n) as (<T>(props: CProps<IDataTableProps & T, IDataTableCtx>) => ReturnEl) & {\n Head: <T>(props: IDataTableHeadProps & T) => ReturnEl;\n Body: <T>(props: IDataTableBodyProps & T) => ReturnEl;\n Column: <T>(props: IDataTableColumnProps & T) => ReturnEl;\n Cell: <T>(props: ChildRenderFn<IDataTableCellProps & T>) => ReturnEl;\n Row: <T>(props: ChildRenderFn<IDataTableRowProps & T>) => ReturnEl;\n};\n\nexport { ROW_GROUP };\nexport default DefinitionTable;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DataTable.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_flexBox","_syncScroll","_assignProps2","_fire","_utils","_Head","_Body","_uniqueID","_excluded","_excluded2","style","sstyled","insert","REVERSED_SORT_DIRECTION","desc","asc","DEFAULT_SORT_DIRECTION","ROW_GROUP","Symbol","exports","cssVarReg","createCssVarForWidth","name","concat","replace","setBorderGroupColumns","columns","side","firstColumn","lastColumn","length","borderLeft","borderRight","RootDefinitionTable","_Component","_inherits2","_super","_createSuper2","props","_this","_classCallCheck2","call","_defineProperty2","_assertThisInitialized2","React","createRef","event","column","find","fire","active","sortDirection","forceUpdate","_this$tableRef","_this$tableRef$curren","tableRef","current","scrollIntoView","block","inline","behavior","syncScroll","scrollBodyRef","scrollHeadRef","_createClass2","key","value","setVarStyle","_iterator","_createForOfIteratorHelper2","_step","s","n","done","setVar","_this$tableRef$curren2","setProperty","varWidth","width","err","e","f","childrenToColumns","children","_this2","options","arguments","undefined","fixed","sort","asProps","columnsChildren","Children","forEach","child","_column$props","isValidElement","type","DefinitionTable","Column","_ref3","_ref3$fixed","resizable","sortable","flex","vBorders","_objectWithoutProperties2","lastColumnChildren","isGroup","some","c","flattenColumns","map","_ref4","join","toArray","filter","columnChildren","_this$props$ref$curre","ref","getBoundingClientRect","_objectSpread2","forwardRef","parentColumns","unshift","push","getHeadProps","_this$asProps","use","uid","$onSortClick","callAllEventHandlers","handlerSortClick","scrollToUp","onResize","handlerResize","$scrollRef","getBodyProps","_this$asProps2","data","uniqueKey","cellPropsLayers","rowPropsLayers","_ref5","other","Cell","split","childrenPropsGetter","Row","rows","dataToRows","_this3","parseData","exclude","row","groupByName","columnsWithoutRowGroup","rowKey","columnNames","_iterator2","_step2","groupedColumns","groupData","rowsGroup","rowsGroupedNames","Object","fromEntries","subRow","keys","flat","cells","_groupByName$column$n","cssVar","flatRowData","componentDidUpdate","render","_ref","_ref2","SDataTable","Box","_this$asProps3","styles","createElement","cn","assignProps","Component","uniqueIDEnhancement","ComponentDefinition","createComponent","Head","Body","_default"],"sources":["../../src/DataTable.tsx"],"sourcesContent":["import React from 'react';\nimport { Property } from 'csstype';\nimport createComponent, { Component, PropGetterFn, Root, sstyled } from '@semcore/core';\nimport { Box, IBoxProps, IFlexProps } from '@semcore/flex-box';\nimport syncScroll from '@semcore/utils/lib/syncScroll';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport fire from '@semcore/utils/lib/fire';\nimport { flattenColumns } from './utils';\nimport type {\n Column,\n NestedCells,\n PropsLayer,\n PseudoChildPropsGetter,\n RowData,\n SortDirection,\n} from './types';\nimport Head from './Head';\nimport Body from './Body';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\n\nimport style from './style/data-table.shadow.css';\n\nconst REVERSED_SORT_DIRECTION: { [direction in SortDirection]: SortDirection } = {\n desc: 'asc',\n asc: 'desc',\n};\nconst DEFAULT_SORT_DIRECTION: SortDirection = 'desc';\n\nconst ROW_GROUP = Symbol('ROW_GROUP');\n\nconst cssVarReg = /[:;]/g;\n\nconst createCssVarForWidth = (name: string) => {\n return `--${name.replace(cssVarReg, '_')}_width`;\n};\n\ntype AsProps = {\n use: 'primary' | 'secondary';\n sort: SortDirection[];\n data: RowData[];\n uniqueKey: string;\n uid?: string;\n};\n\ntype HeadAsProps = {\n children: React.ReactChild;\n uid: string;\n};\ntype BodyAsProps = {\n children: React.ReactChild;\n uid: string;\n};\n\n/* utils type */\ntype CProps<Props, Ctx = {}, UCProps = {}> = Props & {\n children?: ((props: Props & Ctx, handlers: UCProps) => React.ReactNode) | React.ReactNode;\n};\ntype ReturnEl = React.ReactElement | null;\ntype ChildRenderFn<Props> = Props & {\n children?: (props: Props, column: DataTableData, index: number) => { [key: string]: unknown };\n};\n/* utils type */\n\nexport type DataTableData = { [key: string]: unknown };\nexport type DataTableSort = [string, 'desc' | 'asc'];\nexport type DataTableTheme = 'muted' | 'info' | 'success' | 'warning' | 'danger';\nexport type DataTableUse = 'primary' | 'secondary';\nexport type DataTableRow = DataTableCell[];\nexport type DataTableCell = {\n /** Name of column */\n name: string;\n /** Data of column */\n data: React.ReactNode;\n [key: string]: unknown;\n};\n\nexport interface IDataTableProps extends IBoxProps {\n /** Theme for table\n * @default primary\n * */\n use?: DataTableUse;\n /** Data for table */\n data?: DataTableData[];\n /** Active sort object */\n sort?: DataTableSort;\n /** Handler call when will request change sort */\n onSortChange?: (sort: DataTableSort, e?: React.SyntheticEvent) => void;\n /** Field name in one data entity that is unique accross all set of data\n * @default id\n */\n uniqueKey?: string;\n}\n\nexport interface IDataTableHeadProps extends IBoxProps {\n /** Sticky header table\n * @deprecated\n * */\n sticky?: boolean;\n\n /** Hidden header */\n hidden?: boolean;\n\n /** Disabled scroll */\n disabledScroll?: boolean;\n}\n\nexport interface IDataTableColumnProps extends IFlexProps {\n /** Unique name column */\n name?: string;\n /** Enable sort for column also if you pass string you can set default sort */\n sortable?: boolean | 'desc' | 'asc';\n /** Enable resize for column\n * @ignore */\n resizable?: boolean;\n /** Fixed column on the left/right */\n fixed?: 'left' | 'right';\n /** Fields to control the size of the column. */\n flex?: Property.Flex | 'inherit';\n /** Add vertical borders */\n vBorders?: boolean;\n /** Add vertical border to the right side */\n borderRight?: boolean;\n /** Add vertical border to the left side */\n borderLeft?: boolean;\n /** Make cells less */\n compact?: boolean;\n}\n\nexport interface IDataTableBodyProps extends IBoxProps {\n /** Rows table */\n rows?: DataTableRow[];\n /** When enabled, only visually acessable rows are rendered.\n * `tollerance` property controls how many rows outside of viewport are render.\n * `rowHeight` fixes the rows height if it has known. If not provided, first row node height is measured.\n * @default { tollerance: 2 }\n */\n virtualScroll?: boolean | { tollerance?: number; rowHeight?: number };\n /**\n * Called every time user scrolls area\n */\n onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;\n /** Disabled scroll */\n disabledScroll?: boolean;\n}\n\nexport interface IDataTableRowProps extends IBoxProps {\n /** Theme for row */\n theme?: DataTableTheme;\n /** Displays row as active/hover */\n active?: boolean;\n}\n\nexport interface IDataTableCellProps extends IFlexProps {\n /** Unique name column or columns separated by / */\n name: string;\n /** Theme for cell */\n theme?: DataTableTheme;\n}\n\nfunction setBorderGroupColumns(columns: Column[], side?: string) {\n const firstColumn = columns[0];\n const lastColumn = columns[columns.length - 1];\n if (firstColumn && (!side || side === 'left')) {\n firstColumn.borderLeft = true;\n if (firstColumn.columns) {\n setBorderGroupColumns(firstColumn.columns, 'left');\n }\n }\n if (lastColumn && (!side || side === 'right')) {\n lastColumn.borderRight = true;\n if (lastColumn.columns) {\n setBorderGroupColumns(lastColumn.columns, 'right');\n }\n }\n}\n\nclass RootDefinitionTable extends Component<AsProps> {\n static displayName = 'DefinitionTable';\n\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n use: 'primary',\n uniqueKey: 'id',\n sort: [],\n data: [],\n } as AsProps;\n\n columns: Column[] = [];\n\n tableRef = React.createRef<HTMLElement>();\n scrollBodyRef: null | ReturnType<ReturnType<typeof syncScroll>> = null;\n scrollHeadRef: null | ReturnType<ReturnType<typeof syncScroll>> = null;\n\n constructor(props: AsProps) {\n super(props);\n\n const createRef = syncScroll();\n // first create body ref for master scroll\n this.scrollBodyRef = createRef('body');\n this.scrollHeadRef = createRef('head');\n }\n\n handlerSortClick = (name: string, event: React.MouseEvent) => {\n const column = this.columns.find((column) => column.name === name)!;\n return fire(\n this,\n 'onSortChange',\n [\n column.name,\n column.active ? REVERSED_SORT_DIRECTION[column.sortDirection] : column.sortDirection,\n ],\n event,\n );\n };\n\n handlerResize = () => {\n this.forceUpdate();\n };\n\n scrollToUp = () => {\n this.tableRef?.current?.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n behavior: 'smooth',\n });\n };\n\n setVarStyle(columns: Column[]) {\n for (const column of columns) {\n if (column.setVar) {\n this.tableRef.current?.style.setProperty(column.varWidth, `${column.width}px`);\n }\n }\n }\n\n childrenToColumns(\n children: React.ReactNode,\n options: { fixed?: 'left' | 'right' } = { fixed: undefined },\n ) {\n const { sort } = this.asProps;\n const columnsChildren: Column[] = [];\n React.Children.forEach(children, (child) => {\n if (!React.isValidElement(child)) return;\n if (child.type !== DefinitionTable.Column) return;\n\n let {\n children,\n name,\n fixed = options.fixed,\n resizable,\n sortable,\n flex,\n vBorders,\n active,\n ...props\n } = child.props as Column['props'];\n const lastColumnChildren = columnsChildren[columnsChildren.length - 1];\n const isGroup = !name;\n let columns: Column[] | undefined;\n\n if (isGroup) {\n columns = this.childrenToColumns(children, { fixed });\n active = typeof active === 'boolean' ? active : columns.some((c) => c.active);\n\n if (vBorders) {\n setBorderGroupColumns(columns);\n }\n\n name = flattenColumns(columns)\n .map(({ name }) => name)\n .join('/');\n if (!columns.length) return;\n children = React.Children.toArray(children).filter(\n (child) => !(React.isValidElement(child) && child.type === DefinitionTable.Column),\n );\n }\n\n const column = this.columns.find((column) => column.name === name);\n const columnChildren = {\n get width() {\n // @ts-ignore\n return this.props.ref.current?.getBoundingClientRect().width || 0;\n },\n name,\n varWidth: createCssVarForWidth(name),\n setVar: flex !== 'inherit',\n fixed,\n resizable,\n active: typeof active === 'boolean' ? active : sort[0] === name,\n sortable,\n borderLeft: lastColumnChildren?.borderRight === true ? false : vBorders,\n borderRight: vBorders,\n sortDirection:\n sort[0] === name\n ? sort[1]\n : column?.sortDirection ||\n (typeof sortable == 'string' ? sortable : DEFAULT_SORT_DIRECTION),\n props: {\n name,\n flex: flex === 'inherit' ? undefined : flex,\n ...props,\n // @ts-ignore\n forwardRef: child.ref,\n children,\n ref: column?.props?.ref || React.createRef(),\n },\n parentColumns: [],\n } as unknown as Column;\n\n if (columns) {\n columnChildren.columns = columns;\n columns.forEach((column) => column.parentColumns.unshift(columnChildren));\n }\n columnsChildren.push(columnChildren);\n });\n return columnsChildren;\n }\n\n getHeadProps(props: HeadAsProps) {\n const { use, uid } = this.asProps;\n const columnsChildren = this.childrenToColumns(props.children);\n\n this.columns = flattenColumns(columnsChildren);\n return {\n $onSortClick: callAllEventHandlers(this.handlerSortClick, this.scrollToUp),\n columnsChildren,\n use,\n onResize: this.handlerResize,\n $scrollRef: this.scrollHeadRef,\n uid,\n };\n }\n\n getBodyProps(props: BodyAsProps) {\n const { data, use, uniqueKey, uid } = this.asProps;\n const cellPropsLayers: { [columnName: string]: PropsLayer[] } = {};\n const rowPropsLayers: PropsLayer[] = [];\n\n React.Children.forEach(props.children, (child) => {\n if (React.isValidElement(child)) {\n const { name, children, ...other } = child.props as {\n name?: string;\n children?: PseudoChildPropsGetter;\n } & { [propName: string]: unknown };\n if (child.type === DefinitionTable.Cell && name) {\n name.split('/').forEach((name) => {\n cellPropsLayers[name] = cellPropsLayers[name] || [];\n cellPropsLayers[name].push({\n ...other,\n childrenPropsGetter: children,\n });\n });\n }\n if (child.type === DefinitionTable.Row) {\n rowPropsLayers.push({\n ...other,\n childrenPropsGetter: children,\n });\n }\n }\n });\n\n return {\n columns: this.columns,\n rows: this.dataToRows(data, cellPropsLayers),\n uniqueKey,\n use,\n rowPropsLayers,\n $scrollRef: this.scrollBodyRef,\n uid,\n };\n }\n\n dataToRows(data: RowData[], cellPropsLayers: { [columnName: string]: PropsLayer[] }) {\n const parseData = (data: RowData[], exclude: { [columnName: string]: true }) =>\n data.map((row) => {\n const groupByName: {\n [columnName: string]: {\n groupedColumns: string[];\n groupData: { [columnName: string]: unknown };\n };\n } = {};\n const columnsWithoutRowGroup: { [columnname: string]: true } = {};\n for (const rowKey in row) {\n const columnNames = rowKey.split('/');\n if (columnNames.length >= 2) {\n for (const column of columnNames) {\n groupByName[column] = {\n groupedColumns: columnNames,\n groupData: row[rowKey] as { [columnName: string]: unknown },\n };\n columnsWithoutRowGroup[column] = true;\n }\n } else {\n columnsWithoutRowGroup[rowKey] = true;\n }\n }\n\n const rowsGroup = row[ROW_GROUP] || [];\n const rowsGroupedNames = Object.fromEntries(\n rowsGroup\n .map((subRow) => Object.keys(subRow))\n .flat()\n .map((key) => key.split('/'))\n .flat()\n .map((key) => [key, true]),\n );\n\n let isGroup = false;\n\n const cells: NestedCells = this.columns\n .map((column) => {\n if (groupByName[column.name]) {\n const { groupedColumns, groupData } = groupByName[column.name];\n if (groupedColumns[0] === column.name) {\n return {\n name: groupedColumns.join('/'),\n cssVar: groupedColumns.map(createCssVarForWidth),\n fixed: column.fixed,\n data: groupData,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n } else if (column.name in row) {\n return {\n name: column.name,\n cssVar: column.varWidth,\n fixed: column.fixed,\n data: row[column.name],\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n } else if (!isGroup && rowsGroupedNames[column.name]) {\n // TODO: make it work not only with first group\n isGroup = true;\n return parseData(rowsGroup, {\n ...exclude,\n ...columnsWithoutRowGroup,\n });\n } else if (!exclude[column.name] && !rowsGroupedNames[column.name]) {\n // add empty cell if it is not present in data\n return {\n name: column.name,\n cssVar: column.varWidth,\n fixed: column.fixed,\n data: null,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n })\n .filter((column) => column)\n .map((column) => column!);\n\n cells.flatRowData = row;\n return cells;\n });\n\n return parseData(data, {});\n }\n\n componentDidUpdate() {\n this.setVarStyle(this.columns);\n }\n\n render() {\n const SDataTable = Root;\n const { Children, styles, data } = this.asProps;\n\n return sstyled(styles)(\n <SDataTable\n render={Box}\n __excludeProps={['data']}\n ref={this.tableRef}\n role=\"table\"\n aria-rowcount={(data ?? []).length}\n >\n <Children />\n </SDataTable>,\n );\n }\n}\n\ninterface IDataTableCtx {\n getHeadProps: PropGetterFn;\n getBodyProps: PropGetterFn;\n}\n\nfunction ComponentDefinition() {\n return null;\n}\n\nconst DefinitionTable = createComponent(\n RootDefinitionTable,\n {\n Head,\n Body,\n Column: ComponentDefinition,\n Cell: ComponentDefinition,\n Row: ComponentDefinition,\n },\n {},\n) as (<T>(props: CProps<IDataTableProps & T, IDataTableCtx>) => ReturnEl) & {\n Head: <T>(props: IDataTableHeadProps & T) => ReturnEl;\n Body: <T>(props: IDataTableBodyProps & T) => ReturnEl;\n Column: <T>(props: IDataTableColumnProps & T) => ReturnEl;\n Cell: <T>(props: ChildRenderFn<IDataTableCellProps & T>) => ReturnEl;\n Row: <T>(props: ChildRenderFn<IDataTableRowProps & T>) => ReturnEl;\n};\n\nexport { ROW_GROUP };\nexport default DefinitionTable;\n"],"mappings":"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"}
|
package/lib/cjs/Head.js
CHANGED
|
@@ -25,12 +25,12 @@ var _logger = _interopRequireDefault(require("@semcore/utils/lib/logger"));
|
|
|
25
25
|
var _ref4 = require("@semcore/utils/lib/ref");
|
|
26
26
|
require("resize-observer-polyfill");
|
|
27
27
|
/*__reshadow-styles__:"./style/scroll-area.shadow.css"*/
|
|
28
|
-
var scrollStyles = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".
|
|
29
|
-
"__SShadowHorizontal": "
|
|
30
|
-
"--left": "--
|
|
31
|
-
"--right": "--
|
|
32
|
-
"__SContainer": "
|
|
33
|
-
"_disabledScroll": "
|
|
28
|
+
var scrollStyles = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SShadowHorizontal_jk9yh_gg_:before{left:var(--left_jk9yh)!important}.___SShadowHorizontal_jk9yh_gg_:after{right:var(--right_jk9yh)!important}.___SContainer_jk9yh_gg_.__disabledScroll_jk9yh_gg_{overflow:visible}" /*__inner_css_end__*/, "jk9yh_gg_") /*__reshadow_css_end__*/, {
|
|
29
|
+
"__SShadowHorizontal": "___SShadowHorizontal_jk9yh_gg_",
|
|
30
|
+
"--left": "--left_jk9yh",
|
|
31
|
+
"--right": "--right_jk9yh",
|
|
32
|
+
"__SContainer": "___SContainer_jk9yh_gg_",
|
|
33
|
+
"_disabledScroll": "__disabledScroll_jk9yh_gg_"
|
|
34
34
|
});
|
|
35
35
|
var SORTING_ICON = {
|
|
36
36
|
desc: _m["default"],
|
|
@@ -88,7 +88,8 @@ var Head = /*#__PURE__*/function (_Component) {
|
|
|
88
88
|
var _this$asProps = this.asProps,
|
|
89
89
|
styles = _this$asProps.styles,
|
|
90
90
|
use = _this$asProps.use,
|
|
91
|
-
hidden = _this$asProps.hidden
|
|
91
|
+
hidden = _this$asProps.hidden,
|
|
92
|
+
uid = _this$asProps.uid;
|
|
92
93
|
var SColumn = _flexBox.Flex;
|
|
93
94
|
var SHead = _flexBox.Box;
|
|
94
95
|
var SSortWrapper = 'div';
|
|
@@ -111,7 +112,9 @@ var Head = /*#__PURE__*/function (_Component) {
|
|
|
111
112
|
}
|
|
112
113
|
return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SColumn, _ref2.cn("SColumn", (0, _objectSpread2["default"])((0, _objectSpread2["default"])({
|
|
113
114
|
"role": isGroup ? undefined : 'columnheader',
|
|
115
|
+
"scope": isGroup ? 'colgroup' : 'col',
|
|
114
116
|
"key": column.name,
|
|
117
|
+
"id": "igc-table-".concat(uid, "-").concat(column.name),
|
|
115
118
|
"use": use,
|
|
116
119
|
"fixed": column.fixed,
|
|
117
120
|
"resizable": column.resizable,
|
|
@@ -173,7 +176,8 @@ var Head = /*#__PURE__*/function (_Component) {
|
|
|
173
176
|
ref: $scrollRef,
|
|
174
177
|
disabledScroll: disabledScroll
|
|
175
178
|
}, /*#__PURE__*/_react["default"].createElement(SHead, _ref3.cn("SHead", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
|
|
176
|
-
"role": "row"
|
|
179
|
+
"role": "row",
|
|
180
|
+
"aria-rowindex": "1"
|
|
177
181
|
}, _ref))), this.renderColumns(columnsChildren, 100 / this.columns.length)))), Children.origin);
|
|
178
182
|
}
|
|
179
183
|
}]);
|
package/lib/cjs/Head.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Head.js","names":["_core","require","_react","_interopRequireDefault","_flexBox","_scrollArea","_m","_m2","_assignProps2","_utils","_logger","_ref4","scrollStyles","sstyled","insert","SORTING_ICON","desc","SortDesc","asc","SortAsc","ariaSort","Head","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","name","event","asProps","$onSortClick","code","props","ref","setRef","forwardRef","_createClass2","key","value","renderColumns","columns","width","_this2","map","column","renderColumn","_ref2","_column$columns","_this$asProps","styles","use","hidden","SColumn","Flex","SHead","Box","SSortWrapper","SSortIcon","sortDirection","ariaSortValue","sortable","active","undefined","isGroup","cSize","flattenColumns","_getFixedStyle","getFixedStyle","_getFixedStyle2","_slicedToArray2","style","_objectSpread2","flexBasis","flex","setVar","varWidth","createElement","cn","fixed","resizable","borderLeft","borderRight","refColumn","callAllEventHandlers","onClick","bindHandlerSortClick","onKeyDown","bindHandlerKeyDown","Fragment","children","render","_ref","_ref3","SHeadWrapper","_this$asProps2","Children","columnsChildren","onResize","$scrollRef","sticky","disabledScroll","_getScrollOffsetValue","getScrollOffsetValue","_getScrollOffsetValue2","offsetLeftSum","offsetRightSum","logger","warn","displayName","Container","assignProps","origin","Component","_default","exports"],"sources":["../../src/Head.tsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box, Flex } from '@semcore/flex-box';\nimport ScrollArea from '@semcore/scroll-area';\nimport SortDesc from '@semcore/icon/SortDesc/m';\nimport SortAsc from '@semcore/icon/SortAsc/m';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport { flattenColumns, getFixedStyle, getScrollOffsetValue } from './utils';\nimport type { Column } from './types';\nimport logger from '@semcore/utils/lib/logger';\nimport { setRef } from '@semcore/utils/lib/ref';\nimport 'resize-observer-polyfill';\n\nimport scrollStyles from './style/scroll-area.shadow.css';\n\nconst SORTING_ICON = {\n desc: SortDesc,\n asc: SortAsc,\n} as const;\nconst ariaSort = {\n desc: 'descending',\n asc: 'ascending',\n} as const;\n\ntype AsProps = {\n $onSortClick: (name: string, event: React.MouseEvent | React.KeyboardEvent) => void;\n $scrollRef: (instance: unknown) => void;\n use: 'primary' | 'secondary';\n columnsChildren: Column[];\n onResize: ResizeObserverCallback;\n sticky: boolean;\n disabledScroll?: boolean;\n ['data-ui-name']: string;\n};\n\nclass Head extends Component<AsProps> {\n columns: Column[] = [];\n\n static displayName: string;\n\n bindHandlerSortClick = (name: string) => (event: React.MouseEvent) => {\n this.asProps.$onSortClick(name, event);\n };\n\n bindHandlerKeyDown = (name: string) => (event: React.KeyboardEvent) => {\n if (event.code === 'Enter') {\n this.asProps.$onSortClick(name, event);\n }\n };\n\n refColumn = (props: Column['props']) => (ref: HTMLElement) => {\n setRef(props.ref, ref);\n if (props.forwardRef) {\n setRef(props.forwardRef, ref);\n }\n };\n\n renderColumns(columns: Column[], width: number) {\n return columns.map((column) => this.renderColumn(column, width));\n }\n\n renderColumn(column: Column, width: number) {\n const { styles, use, hidden } = this.asProps;\n const SColumn = Flex;\n const SHead = Box;\n const SSortWrapper = 'div';\n const SSortIcon = SORTING_ICON[column.sortDirection];\n const ariaSortValue =\n column.sortable && column.active ? ariaSort[column.sortDirection] : undefined;\n const isGroup = column.columns?.length > 0;\n const cSize = isGroup ? flattenColumns(column.columns).length : 1;\n const [name, value] = getFixedStyle(column, this.columns);\n\n const style = {\n flexBasis: column.props.flex === undefined && `${width * cSize}%`,\n ...column.props.style,\n };\n\n if (name !== undefined && value !== undefined) {\n style[name] = value;\n }\n\n if (!column.setVar) {\n style['flexBasis'] = `var(${column.varWidth})`;\n }\n\n return sstyled(styles)(\n <SColumn\n role={isGroup ? undefined : 'columnheader'}\n key={column.name}\n use={use}\n fixed={column.fixed}\n resizable={column.resizable}\n sortable={column.sortable}\n borderLeft={isGroup ? false : column.borderLeft}\n borderRight={isGroup ? false : column.borderRight}\n active={isGroup ? false : column.active}\n group={isGroup}\n tabIndex={column.sortable && 0}\n {...column.props}\n ref={this.refColumn(column.props)}\n onClick={callAllEventHandlers(\n column.props.onClick,\n column.sortable ? this.bindHandlerSortClick(column.name) : undefined,\n )}\n onKeyDown={callAllEventHandlers(\n column.props.onKeyDown,\n column.sortable ? this.bindHandlerKeyDown(column.name) : undefined,\n )}\n style={style}\n hidden={hidden}\n aria-sort={ariaSortValue}\n >\n {isGroup ? (\n <>\n <SColumn\n role=\"columnheader\"\n groupHead\n use={use}\n active={column.active}\n borderLeft={column.borderLeft}\n borderRight={column.borderRight}\n >\n <div>{column.props.children}</div>\n </SColumn>\n <SHead>{this.renderColumns(column.columns, 100 / cSize)}</SHead>\n </>\n ) : (\n <>\n {column.props.children}\n {column.sortable ? (\n <SSortWrapper>\n <SSortIcon active={column.active} />\n </SSortWrapper>\n ) : null}\n </>\n )}\n </SColumn>,\n );\n }\n\n render() {\n const SHead = Root;\n const SHeadWrapper = Box;\n const { Children, styles, columnsChildren, onResize, $scrollRef, sticky, disabledScroll } =\n this.asProps;\n\n this.columns = flattenColumns(columnsChildren);\n\n const [offsetLeftSum, offsetRightSum] = getScrollOffsetValue(this.columns);\n\n logger.warn(\n sticky,\n \"'sticky' property is deprecated, use '<Sticky/>' wrapper\",\n this.asProps['data-ui-name'] || Head.displayName,\n );\n\n return sstyled(styles)(\n <SHeadWrapper sticky={sticky} role=\"rowgroup\">\n <ScrollArea\n styles={scrollStyles}\n use:left={`${offsetLeftSum}px`}\n use:right={`${offsetRightSum}px`}\n shadow\n onResize={onResize}\n >\n <ScrollArea.Container ref={$scrollRef} disabledScroll={disabledScroll}>\n <SHead render={Box} role=\"row\">\n {this.renderColumns(columnsChildren, 100 / this.columns.length)}\n </SHead>\n </ScrollArea.Container>\n </ScrollArea>\n {Children.origin}\n </SHeadWrapper>,\n );\n }\n}\n\nexport default Head;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Head.js","names":["_core","require","_react","_interopRequireDefault","_flexBox","_scrollArea","_m","_m2","_assignProps2","_utils","_logger","_ref4","scrollStyles","sstyled","insert","SORTING_ICON","desc","SortDesc","asc","SortAsc","ariaSort","Head","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","name","event","asProps","$onSortClick","code","props","ref","setRef","forwardRef","_createClass2","key","value","renderColumns","columns","width","_this2","map","column","renderColumn","_ref2","_column$columns","_this$asProps","styles","use","hidden","uid","SColumn","Flex","SHead","Box","SSortWrapper","SSortIcon","sortDirection","ariaSortValue","sortable","active","undefined","isGroup","cSize","flattenColumns","_getFixedStyle","getFixedStyle","_getFixedStyle2","_slicedToArray2","style","_objectSpread2","flexBasis","flex","setVar","varWidth","createElement","cn","fixed","resizable","borderLeft","borderRight","refColumn","callAllEventHandlers","onClick","bindHandlerSortClick","onKeyDown","bindHandlerKeyDown","Fragment","children","render","_ref","_ref3","SHeadWrapper","_this$asProps2","Children","columnsChildren","onResize","$scrollRef","sticky","disabledScroll","_getScrollOffsetValue","getScrollOffsetValue","_getScrollOffsetValue2","offsetLeftSum","offsetRightSum","logger","warn","displayName","Container","assignProps","origin","Component","_default","exports"],"sources":["../../src/Head.tsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box, Flex } from '@semcore/flex-box';\nimport ScrollArea from '@semcore/scroll-area';\nimport SortDesc from '@semcore/icon/SortDesc/m';\nimport SortAsc from '@semcore/icon/SortAsc/m';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport { flattenColumns, getFixedStyle, getScrollOffsetValue } from './utils';\nimport type { Column } from './types';\nimport logger from '@semcore/utils/lib/logger';\nimport { setRef } from '@semcore/utils/lib/ref';\nimport 'resize-observer-polyfill';\n\nimport scrollStyles from './style/scroll-area.shadow.css';\n\nconst SORTING_ICON = {\n desc: SortDesc,\n asc: SortAsc,\n} as const;\nconst ariaSort = {\n desc: 'descending',\n asc: 'ascending',\n} as const;\n\ntype AsProps = {\n $onSortClick: (name: string, event: React.MouseEvent | React.KeyboardEvent) => void;\n $scrollRef: (instance: unknown) => void;\n use: 'primary' | 'secondary';\n columnsChildren: Column[];\n onResize: ResizeObserverCallback;\n sticky: boolean;\n disabledScroll?: boolean;\n ['data-ui-name']: string;\n uid?: string;\n};\n\nclass Head extends Component<AsProps> {\n columns: Column[] = [];\n\n static displayName: string;\n\n bindHandlerSortClick = (name: string) => (event: React.MouseEvent) => {\n this.asProps.$onSortClick(name, event);\n };\n\n bindHandlerKeyDown = (name: string) => (event: React.KeyboardEvent) => {\n if (event.code === 'Enter') {\n this.asProps.$onSortClick(name, event);\n }\n };\n\n refColumn = (props: Column['props']) => (ref: HTMLElement) => {\n setRef(props.ref, ref);\n if (props.forwardRef) {\n setRef(props.forwardRef, ref);\n }\n };\n\n renderColumns(columns: Column[], width: number) {\n return columns.map((column) => this.renderColumn(column, width));\n }\n\n renderColumn(column: Column, width: number) {\n const { styles, use, hidden, uid } = this.asProps;\n const SColumn = Flex;\n const SHead = Box;\n const SSortWrapper = 'div';\n const SSortIcon = SORTING_ICON[column.sortDirection];\n const ariaSortValue =\n column.sortable && column.active ? ariaSort[column.sortDirection] : undefined;\n const isGroup = column.columns?.length > 0;\n const cSize = isGroup ? flattenColumns(column.columns).length : 1;\n const [name, value] = getFixedStyle(column, this.columns);\n\n const style = {\n flexBasis: column.props.flex === undefined && `${width * cSize}%`,\n ...column.props.style,\n };\n\n if (name !== undefined && value !== undefined) {\n style[name] = value;\n }\n\n if (!column.setVar) {\n style['flexBasis'] = `var(${column.varWidth})`;\n }\n\n return sstyled(styles)(\n <SColumn\n role={isGroup ? undefined : 'columnheader'}\n scope={isGroup ? 'colgroup' : 'col'}\n key={column.name}\n id={`igc-table-${uid}-${column.name}`}\n use={use}\n fixed={column.fixed}\n resizable={column.resizable}\n sortable={column.sortable}\n borderLeft={isGroup ? false : column.borderLeft}\n borderRight={isGroup ? false : column.borderRight}\n active={isGroup ? false : column.active}\n group={isGroup}\n tabIndex={column.sortable && 0}\n {...column.props}\n ref={this.refColumn(column.props)}\n onClick={callAllEventHandlers(\n column.props.onClick,\n column.sortable ? this.bindHandlerSortClick(column.name) : undefined,\n )}\n onKeyDown={callAllEventHandlers(\n column.props.onKeyDown,\n column.sortable ? this.bindHandlerKeyDown(column.name) : undefined,\n )}\n style={style}\n hidden={hidden}\n aria-sort={ariaSortValue}\n >\n {isGroup ? (\n <>\n <SColumn\n role=\"columnheader\"\n groupHead\n use={use}\n active={column.active}\n borderLeft={column.borderLeft}\n borderRight={column.borderRight}\n >\n <div>{column.props.children}</div>\n </SColumn>\n <SHead>{this.renderColumns(column.columns, 100 / cSize)}</SHead>\n </>\n ) : (\n <>\n {column.props.children}\n {column.sortable ? (\n <SSortWrapper>\n <SSortIcon active={column.active} />\n </SSortWrapper>\n ) : null}\n </>\n )}\n </SColumn>,\n );\n }\n\n render() {\n const SHead = Root;\n const SHeadWrapper = Box;\n const { Children, styles, columnsChildren, onResize, $scrollRef, sticky, disabledScroll } =\n this.asProps;\n\n this.columns = flattenColumns(columnsChildren);\n\n const [offsetLeftSum, offsetRightSum] = getScrollOffsetValue(this.columns);\n\n logger.warn(\n sticky,\n \"'sticky' property is deprecated, use '<Sticky/>' wrapper\",\n this.asProps['data-ui-name'] || Head.displayName,\n );\n\n return sstyled(styles)(\n <SHeadWrapper sticky={sticky} role=\"rowgroup\">\n <ScrollArea\n styles={scrollStyles}\n use:left={`${offsetLeftSum}px`}\n use:right={`${offsetRightSum}px`}\n shadow\n onResize={onResize}\n >\n <ScrollArea.Container ref={$scrollRef} disabledScroll={disabledScroll}>\n <SHead render={Box} role=\"row\" aria-rowindex=\"1\">\n {this.renderColumns(columnsChildren, 100 / this.columns.length)}\n </SHead>\n </ScrollArea.Container>\n </ScrollArea>\n {Children.origin}\n </SHeadWrapper>,\n );\n }\n}\n\nexport default Head;\n"],"mappings":";;;;;;;;;;;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AADA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,EAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,GAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,aAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AAEA,IAAAS,OAAA,GAAAP,sBAAA,CAAAF,OAAA;AACA,IAAAU,KAAA,GAAAV,OAAA;AACAA,OAAA;AAAkC;AAAA,IAAAW,YAAA,+BAAAZ,KAAA,CAAAa,OAAA,CAAAC,MAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAIlC,IAAMC,YAAY,GAAG;EACnBC,IAAI,EAAEC,aAAQ;EACdC,GAAG,EAAEC;AACP,CAAU;AACV,IAAMC,QAAQ,GAAG;EACfJ,IAAI,EAAE,YAAY;EAClBE,GAAG,EAAE;AACP,CAAU;AAAC,IAcLG,IAAI,0BAAAC,UAAA;EAAA,IAAAC,UAAA,aAAAF,IAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,OAAAC,aAAA,aAAAJ,IAAA;EAAA,SAAAA,KAAA;IAAA,IAAAK,KAAA;IAAA,IAAAC,gBAAA,mBAAAN,IAAA;IAAA,SAAAO,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAAP,KAAA,GAAAF,MAAA,CAAAU,IAAA,CAAAC,KAAA,CAAAX,MAAA,SAAAY,MAAA,CAAAL,IAAA;IAAA,IAAAM,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,cACY,EAAE;IAAA,IAAAW,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,2BAIC,UAACa,IAAY;MAAA,OAAK,UAACC,KAAuB,EAAK;QACpEd,KAAA,CAAKe,OAAO,CAACC,YAAY,CAACH,IAAI,EAAEC,KAAK,CAAC;MACxC,CAAC;IAAA;IAAA,IAAAH,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,yBAEoB,UAACa,IAAY;MAAA,OAAK,UAACC,KAA0B,EAAK;QACrE,IAAIA,KAAK,CAACG,IAAI,KAAK,OAAO,EAAE;UAC1BjB,KAAA,CAAKe,OAAO,CAACC,YAAY,CAACH,IAAI,EAAEC,KAAK,CAAC;QACxC;MACF,CAAC;IAAA;IAAA,IAAAH,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,gBAEW,UAACkB,KAAsB;MAAA,OAAK,UAACC,GAAgB,EAAK;QAC5D,IAAAC,YAAM,EAACF,KAAK,CAACC,GAAG,EAAEA,GAAG,CAAC;QACtB,IAAID,KAAK,CAACG,UAAU,EAAE;UACpB,IAAAD,YAAM,EAACF,KAAK,CAACG,UAAU,EAAEF,GAAG,CAAC;QAC/B;MACF,CAAC;IAAA;IAAA,OAAAnB,KAAA;EAAA;EAAA,IAAAsB,aAAA,aAAA3B,IAAA;IAAA4B,GAAA;IAAAC,KAAA,EAED,SAAAC,cAAcC,OAAiB,EAAEC,KAAa,EAAE;MAAA,IAAAC,MAAA;MAC9C,OAAOF,OAAO,CAACG,GAAG,CAAC,UAACC,MAAM;QAAA,OAAKF,MAAI,CAACG,YAAY,CAACD,MAAM,EAAEH,KAAK,CAAC;MAAA,EAAC;IAClE;EAAC;IAAAJ,GAAA;IAAAC,KAAA,EAED,SAAAO,aAAaD,MAAc,EAAEH,KAAa,EAAE;MAAA,IAAAK,KAAA,EAAAC,eAAA;MAC1C,IAAAC,aAAA,GAAqC,IAAI,CAACnB,OAAO;QAAzCoB,MAAM,GAAAD,aAAA,CAANC,MAAM;QAAEC,GAAG,GAAAF,aAAA,CAAHE,GAAG;QAAEC,MAAM,GAAAH,aAAA,CAANG,MAAM;QAAEC,GAAG,GAAAJ,aAAA,CAAHI,GAAG;MAChC,IAAMC,OAAO,GAAGC,aAAI;MACpB,IAAMC,KAAK,GAAGC,YAAG;MACjB,IAAMC,YAAY,GAAG,KAAK;MAC1B,IAAMC,SAAS,GAAGvD,YAAY,CAACyC,MAAM,CAACe,aAAa,CAAC;MACpD,IAAMC,aAAa,GACjBhB,MAAM,CAACiB,QAAQ,IAAIjB,MAAM,CAACkB,MAAM,GAAGtD,QAAQ,CAACoC,MAAM,CAACe,aAAa,CAAC,GAAGI,SAAS;MAC/E,IAAMC,OAAO,GAAG,EAAAjB,eAAA,GAAAH,MAAM,CAACJ,OAAO,cAAAO,eAAA,uBAAdA,eAAA,CAAgB7B,MAAM,IAAG,CAAC;MAC1C,IAAM+C,KAAK,GAAGD,OAAO,GAAG,IAAAE,qBAAc,EAACtB,MAAM,CAACJ,OAAO,CAAC,CAACtB,MAAM,GAAG,CAAC;MACjE,IAAAiD,cAAA,GAAsB,IAAAC,oBAAa,EAACxB,MAAM,EAAE,IAAI,CAACJ,OAAO,CAAC;QAAA6B,eAAA,OAAAC,eAAA,aAAAH,cAAA;QAAlDxC,IAAI,GAAA0C,eAAA;QAAE/B,KAAK,GAAA+B,eAAA;MAElB,IAAME,KAAK,OAAAC,cAAA;QACTC,SAAS,EAAE7B,MAAM,CAACZ,KAAK,CAAC0C,IAAI,KAAKX,SAAS,OAAAvC,MAAA,CAAOiB,KAAK,GAAGwB,KAAK;MAAG,GAC9DrB,MAAM,CAACZ,KAAK,CAACuC,KAAK,CACtB;MAED,IAAI5C,IAAI,KAAKoC,SAAS,IAAIzB,KAAK,KAAKyB,SAAS,EAAE;QAC7CQ,KAAK,CAAC5C,IAAI,CAAC,GAAGW,KAAK;MACrB;MAEA,IAAI,CAACM,MAAM,CAAC+B,MAAM,EAAE;QAClBJ,KAAK,CAAC,WAAW,CAAC,UAAA/C,MAAA,CAAUoB,MAAM,CAACgC,QAAQ,MAAG;MAChD;MAEA,OAAA9B,KAAA,GAAO,IAAA7C,aAAO,EAACgD,MAAM,CAAC,eACpB3D,MAAA,YAAAuF,aAAA,CAACxB,OAAO,EAAAP,KAAA,CAAAgC,EAAA,gBAAAN,cAAA,iBAAAA,cAAA;QAAA,QACAR,OAAO,GAAGD,SAAS,GAAG,cAAc;QAAA,SACnCC,OAAO,GAAG,UAAU,GAAG,KAAK;QAAA,OAC9BpB,MAAM,CAACjB,IAAI;QAAA,mBAAAH,MAAA,CACC4B,GAAG,OAAA5B,MAAA,CAAIoB,MAAM,CAACjB,IAAI;QAAA,OAC9BuB,GAAG;QAAA,SACDN,MAAM,CAACmC,KAAK;QAAA,aACRnC,MAAM,CAACoC,SAAS;QAAA,YACjBpC,MAAM,CAACiB,QAAQ;QAAA,cACbG,OAAO,GAAG,KAAK,GAAGpB,MAAM,CAACqC,UAAU;QAAA,eAClCjB,OAAO,GAAG,KAAK,GAAGpB,MAAM,CAACsC,WAAW;QAAA,UACzClB,OAAO,GAAG,KAAK,GAAGpB,MAAM,CAACkB,MAAM;QAAA,SAChCE,OAAO;QAAA,YACJpB,MAAM,CAACiB,QAAQ,IAAI;MAAC,GAC1BjB,MAAM,CAACZ,KAAK;QAAA,OACX,IAAI,CAACmD,SAAS,CAACvC,MAAM,CAACZ,KAAK,CAAC;QAAA,WACxB,IAAAoD,kCAAoB,EAC3BxC,MAAM,CAACZ,KAAK,CAACqD,OAAO,EACpBzC,MAAM,CAACiB,QAAQ,GAAG,IAAI,CAACyB,oBAAoB,CAAC1C,MAAM,CAACjB,IAAI,CAAC,GAAGoC,SAAS,CACrE;QAAA,aACU,IAAAqB,kCAAoB,EAC7BxC,MAAM,CAACZ,KAAK,CAACuD,SAAS,EACtB3C,MAAM,CAACiB,QAAQ,GAAG,IAAI,CAAC2B,kBAAkB,CAAC5C,MAAM,CAACjB,IAAI,CAAC,GAAGoC,SAAS,CACnE;QAAA,SACMQ,KAAK;QAAA,UACJpB,MAAM;QAAA,aACHS;MAAa,KAEvBI,OAAO,gBACN1E,MAAA,YAAAuF,aAAA,CAAAvF,MAAA,YAAAmG,QAAA,qBACEnG,MAAA,YAAAuF,aAAA,CAACxB,OAAO,EAAAP,KAAA,CAAAgC,EAAA;QAAA,QACD,cAAc;QAAA;QAAA,OAEd5B,GAAG;QAAA,UACAN,MAAM,CAACkB,MAAM;QAAA,cACTlB,MAAM,CAACqC,UAAU;QAAA,eAChBrC,MAAM,CAACsC;MAAW,iBAE/B5F,MAAA,YAAAuF,aAAA,QAAA/B,KAAA,CAAAgC,EAAA,aAAMlC,MAAM,CAACZ,KAAK,CAAC0D,QAAQ,CAAO,CAC1B,eACVpG,MAAA,YAAAuF,aAAA,CAACtB,KAAK,EAAAT,KAAA,CAAAgC,EAAA,eAAE,IAAI,CAACvC,aAAa,CAACK,MAAM,CAACJ,OAAO,EAAE,GAAG,GAAGyB,KAAK,CAAC,CAAS,CAC/D,gBAEH3E,MAAA,YAAAuF,aAAA,CAAAvF,MAAA,YAAAmG,QAAA,QACG7C,MAAM,CAACZ,KAAK,CAAC0D,QAAQ,EACrB9C,MAAM,CAACiB,QAAQ,gBACdvE,MAAA,YAAAuF,aAAA,CAACpB,YAAY,EAAAX,KAAA,CAAAgC,EAAA,mCACXxF,MAAA,YAAAuF,aAAA,CAACnB,SAAS,EAAAZ,KAAA,CAAAgC,EAAA;QAAA,UAASlC,MAAM,CAACkB;MAAM,GAAI,CACvB,GACb,IAAI,CAEX,CACO;IAEd;EAAC;IAAAzB,GAAA;IAAAC,KAAA,EAED,SAAAqD,OAAA,EAAS;MAAA,IAAAC,IAAA,QAAA/D,OAAA;QAAAgE,KAAA;MACP,IAAMtC,KAAK,GAyBYC,YAzBL;MAClB,IAAMsC,YAAY,GAAGtC,YAAG;MACxB,IAAAuC,cAAA,GACE,IAAI,CAAClE,OAAO;QADNmE,QAAQ,GAAAD,cAAA,CAARC,QAAQ;QAAE/C,MAAM,GAAA8C,cAAA,CAAN9C,MAAM;QAAEgD,eAAe,GAAAF,cAAA,CAAfE,eAAe;QAAEC,QAAQ,GAAAH,cAAA,CAARG,QAAQ;QAAEC,UAAU,GAAAJ,cAAA,CAAVI,UAAU;QAAEC,MAAM,GAAAL,cAAA,CAANK,MAAM;QAAEC,cAAc,GAAAN,cAAA,CAAdM,cAAc;MAGvF,IAAI,CAAC7D,OAAO,GAAG,IAAA0B,qBAAc,EAAC+B,eAAe,CAAC;MAE9C,IAAAK,qBAAA,GAAwC,IAAAC,2BAAoB,EAAC,IAAI,CAAC/D,OAAO,CAAC;QAAAgE,sBAAA,OAAAlC,eAAA,aAAAgC,qBAAA;QAAnEG,aAAa,GAAAD,sBAAA;QAAEE,cAAc,GAAAF,sBAAA;MAEpCG,kBAAM,CAACC,IAAI,CACTR,MAAM,EACN,0DAA0D,EAC1D,IAAI,CAACvE,OAAO,CAAC,cAAc,CAAC,IAAIpB,IAAI,CAACoG,WAAW,CACjD;MAED,OAAAhB,KAAA,GAAO,IAAA5F,aAAO,EAACgD,MAAM,CAAC,eACpB3D,MAAA,YAAAuF,aAAA,CAACiB,YAAY,EAAAD,KAAA,CAAAf,EAAA;QAAA,UAASsB,MAAM;QAAA,QAAO;MAAU,iBAC3C9G,MAAA,YAAAuF,aAAA,CAACpF,WAAA,WAAU,EAAAoG,KAAA,CAAAf,EAAA;QAAA,UACD9E,YAAY;QAAA,eAAAwB,MAAA,CACPiF,aAAa;QAAA,gBAAAjF,MAAA,CACZkF,cAAc;QAAA;QAAA,YAElBR;MAAQ,iBAElB5G,MAAA,YAAAuF,aAAA,CAACpF,WAAA,WAAU,CAACqH,SAAS;QAAC7E,GAAG,EAAEkE,UAAW;QAACE,cAAc,EAAEA;MAAe,gBACpE/G,MAAA,YAAAuF,aAAA,CAACtB,KAAK,EAAAsC,KAAA,CAAAf,EAAA,cAAAN,cAAA,qBAAApF,KAAA,CAAA2H,WAAA;QAAA,QAAmB,KAAK;QAAA,iBAAe;MAAG,GAAAnB,IAAA,KAC7C,IAAI,CAACrD,aAAa,CAAC0D,eAAe,EAAE,GAAG,GAAG,IAAI,CAACzD,OAAO,CAACtB,MAAM,CAAC,CACzD,CACa,CACZ,EACZ8E,QAAQ,CAACgB,MAAM,CACH;IAEnB;EAAC;EAAA,OAAAvG,IAAA;AAAA,EA9IgBwG,eAAS;AAAA,IAAAxF,gBAAA,aAAtBhB,IAAI;AAAA,IAAAyG,QAAA,GAiJKzG,IAAI;AAAA0G,OAAA,cAAAD,QAAA"}
|
|
@@ -44,10 +44,15 @@ SColumn {
|
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
SColumn[hidden] {
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
position: absolute !important;
|
|
48
|
+
width: 1px !important;
|
|
49
|
+
height: 1px !important;
|
|
50
|
+
padding: 0px !important;
|
|
51
|
+
margin: -1px !important;
|
|
49
52
|
overflow: hidden !important;
|
|
50
|
-
|
|
53
|
+
clip: rect(0, 0, 0, 0) !important;
|
|
54
|
+
white-space: nowrap !important;
|
|
55
|
+
border-width: 0 !important;
|
|
51
56
|
}
|
|
52
57
|
|
|
53
58
|
SColumn[use='primary'] {
|
|
@@ -191,17 +196,17 @@ SSortIcon {
|
|
|
191
196
|
|
|
192
197
|
SColumn[use='primary'] SSortWrapper:before {
|
|
193
198
|
background: linear-gradient(
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
199
|
+
270deg,
|
|
200
|
+
var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,
|
|
201
|
+
rgba(224, 225, 233, 0) 105%
|
|
197
202
|
);
|
|
198
203
|
}
|
|
199
204
|
|
|
200
205
|
SColumn[use='secondary'] SSortWrapper:before {
|
|
201
206
|
background: linear-gradient(
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
207
|
+
270deg,
|
|
208
|
+
var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,
|
|
209
|
+
rgba(255, 255, 255, 0) 105%
|
|
205
210
|
);
|
|
206
211
|
}
|
|
207
212
|
|
package/lib/cjs/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["_DataTable","require"],"sources":["../../src/types.ts"],"sourcesContent":["import React from 'react';\nimport { ROW_GROUP } from './DataTable';\nimport { Property } from 'csstype';\n\nexport type PseudoChildPropsGetter = (\n props: { [propName: string]: unknown },\n rowData: { [columnName: string]: unknown },\n index: number,\n) => { [propName: string]: unknown };\nexport type PropsLayer = {\n childrenPropsGetter?: PseudoChildPropsGetter;\n [propName: string]: unknown;\n};\n\nexport type SortDirection = 'asc' | 'desc';\nexport type Column<\n Props extends { [propName: string]: unknown } = { [propName: string]: unknown },\n> = {\n name: string;\n active: boolean;\n width: number;\n fixed?: 'left' | 'right';\n resizable?: boolean;\n sortable?: boolean | SortDirection;\n sortDirection: SortDirection;\n varWidth: string;\n setVar: boolean;\n data?: unknown;\n vBorders?: boolean;\n borderLeft?: boolean;\n borderRight?: boolean;\n props: {\n name: string;\n ref: React.RefObject<HTMLElement>;\n } & Partial<{\n flex: Property.Flex;\n justifyContent: Property.JustifyContent;\n onClick: (event: React.MouseEvent) => void;\n onKeyDown: (event: React.KeyboardEvent) => void;\n forwardRef: React.Ref<HTMLElement>;\n style: React.CSSProperties;\n fixed: 'left' | 'right';\n children: React.ReactNode[];\n resizable: boolean;\n sortable: boolean | SortDirection;\n sortDirection: SortDirection;\n vBorders: boolean;\n borderLeft: boolean;\n borderRight: boolean;\n }> &\n Props;\n columns: Column[];\n};\nexport type Cell = Pick<Column, 'name' | 'fixed' | 'data'> & {\n cssVar: string | string[];\n cellPropsLayers: PropsLayer[];\n};\nexport type RowData<\n Data extends { [columnName: string]: unknown } = { [columnName: string]: unknown },\n> = Data &\n Partial<{\n name: string;\n [ROW_GROUP]: RowData[];\n }>;\nexport type NestedCells = (Cell | NestedCells)[] & { flatRowData?: RowData };\n"],"mappings":";;AACA,IAAAA,UAAA,GAAAC,OAAA"}
|
|
1
|
+
{"version":3,"file":"types.js","names":["_DataTable","require"],"sources":["../../src/types.ts"],"sourcesContent":["import React from 'react';\nimport { ROW_GROUP } from './DataTable';\nimport { Property } from 'csstype';\n\nexport type PseudoChildPropsGetter = (\n props: { [propName: string]: unknown },\n rowData: { [columnName: string]: unknown },\n index: number,\n) => { [propName: string]: unknown };\nexport type PropsLayer = {\n childrenPropsGetter?: PseudoChildPropsGetter;\n [propName: string]: unknown;\n};\n\nexport type SortDirection = 'asc' | 'desc';\nexport type Column<\n Props extends { [propName: string]: unknown } = { [propName: string]: unknown },\n> = {\n name: string;\n active: boolean;\n width: number;\n fixed?: 'left' | 'right';\n resizable?: boolean;\n sortable?: boolean | SortDirection;\n sortDirection: SortDirection;\n varWidth: string;\n setVar: boolean;\n data?: unknown;\n vBorders?: boolean;\n borderLeft?: boolean;\n borderRight?: boolean;\n props: {\n name: string;\n ref: React.RefObject<HTMLElement>;\n } & Partial<{\n flex: Property.Flex;\n justifyContent: Property.JustifyContent;\n onClick: (event: React.MouseEvent) => void;\n onKeyDown: (event: React.KeyboardEvent) => void;\n forwardRef: React.Ref<HTMLElement>;\n style: React.CSSProperties;\n fixed: 'left' | 'right';\n children: React.ReactNode[];\n resizable: boolean;\n sortable: boolean | SortDirection;\n sortDirection: SortDirection;\n vBorders: boolean;\n borderLeft: boolean;\n borderRight: boolean;\n }> &\n Props;\n columns: Column[];\n parentColumns: Column[];\n};\nexport type Cell = Pick<Column, 'name' | 'fixed' | 'data'> & {\n cssVar: string | string[];\n cellPropsLayers: PropsLayer[];\n};\nexport type RowData<\n Data extends { [columnName: string]: unknown } = { [columnName: string]: unknown },\n> = Data &\n Partial<{\n name: string;\n [ROW_GROUP]: RowData[];\n }>;\nexport type NestedCells = (Cell | NestedCells)[] & { flatRowData?: RowData };\n"],"mappings":";;AACA,IAAAA,UAAA,GAAAC,OAAA"}
|
package/lib/es6/Body.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
2
2
|
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
3
|
+
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
3
4
|
import _createForOfIteratorHelper from "@babel/runtime/helpers/createForOfIteratorHelper";
|
|
4
5
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
5
6
|
import _typeof from "@babel/runtime/helpers/typeof";
|
|
@@ -21,12 +22,12 @@ import { getFixedStyle, getScrollOffsetValue } from './utils';
|
|
|
21
22
|
import assignProps, { callAllEventHandlers } from '@semcore/utils/lib/assignProps';
|
|
22
23
|
import ResizeObserver from 'resize-observer-polyfill';
|
|
23
24
|
/*__reshadow-styles__:"./style/scroll-area.shadow.css"*/
|
|
24
|
-
var scrollStyles = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".
|
|
25
|
-
"__SShadowHorizontal": "
|
|
26
|
-
"--left": "--
|
|
27
|
-
"--right": "--
|
|
28
|
-
"__SContainer": "
|
|
29
|
-
"_disabledScroll": "
|
|
25
|
+
var scrollStyles = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SShadowHorizontal_jk9yh_gg_:before{left:var(--left_jk9yh)!important}.___SShadowHorizontal_jk9yh_gg_:after{right:var(--right_jk9yh)!important}.___SContainer_jk9yh_gg_.__disabledScroll_jk9yh_gg_{overflow:visible}" /*__inner_css_end__*/, "jk9yh_gg_") /*__reshadow_css_end__*/, {
|
|
26
|
+
"__SShadowHorizontal": "___SShadowHorizontal_jk9yh_gg_",
|
|
27
|
+
"--left": "--left_jk9yh",
|
|
28
|
+
"--right": "--right_jk9yh",
|
|
29
|
+
"__SContainer": "___SContainer_jk9yh_gg_",
|
|
30
|
+
"_disabledScroll": "__disabledScroll_jk9yh_gg_"
|
|
30
31
|
});
|
|
31
32
|
import trottle from '@semcore/utils/lib/rafTrottle';
|
|
32
33
|
var testEnv = process.env.NODE_ENV === 'test';
|
|
@@ -103,23 +104,25 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
103
104
|
}
|
|
104
105
|
_createClass(Body, [{
|
|
105
106
|
key: "renderCells",
|
|
106
|
-
value: function renderCells(cells, rowData,
|
|
107
|
+
value: function renderCells(cells, rowData, dataIndex) {
|
|
107
108
|
var _this2 = this;
|
|
108
109
|
var SCell = Flex;
|
|
109
110
|
var _this$asProps = this.asProps,
|
|
110
111
|
styles = _this$asProps.styles,
|
|
111
112
|
columns = _this$asProps.columns,
|
|
112
|
-
use = _this$asProps.use
|
|
113
|
-
|
|
113
|
+
use = _this$asProps.use,
|
|
114
|
+
uid = _this$asProps.uid;
|
|
115
|
+
return cells.map(function (cell, cellIndex) {
|
|
114
116
|
if (Array.isArray(cell)) {
|
|
115
117
|
var _ref2;
|
|
116
118
|
var SGroupCell = 'div';
|
|
117
119
|
return _ref2 = sstyled(styles), /*#__PURE__*/React.createElement(SGroupCell, _ref2.cn("SGroupCell", {
|
|
120
|
+
"key": cellIndex,
|
|
118
121
|
"role": "rowgroup",
|
|
119
122
|
"data-ui-name": "group-cell"
|
|
120
123
|
}), _this2.renderRows(cell));
|
|
121
124
|
} else {
|
|
122
|
-
var _ref3, _column$props, _column$props2;
|
|
125
|
+
var _ref3, _column$parentColumns, _column$props, _column$props2;
|
|
123
126
|
var nameParts = cell.name.split('/');
|
|
124
127
|
var firstName = nameParts[0];
|
|
125
128
|
var lastName = nameParts[nameParts.length - 1];
|
|
@@ -136,6 +139,9 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
136
139
|
_getFixedStyle2 = _slicedToArray(_getFixedStyle, 2),
|
|
137
140
|
name = _getFixedStyle2[0],
|
|
138
141
|
value = _getFixedStyle2[1];
|
|
142
|
+
var parentColumnNames = (_column$parentColumns = column === null || column === void 0 ? void 0 : column.parentColumns.map(function (column) {
|
|
143
|
+
return column.name;
|
|
144
|
+
})) !== null && _column$parentColumns !== void 0 ? _column$parentColumns : [];
|
|
139
145
|
var vars = (Array.isArray(cell.cssVar) ? cell.cssVar : [cell.cssVar]).map(function (name) {
|
|
140
146
|
return "var(".concat(name, ")");
|
|
141
147
|
});
|
|
@@ -164,16 +170,20 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
164
170
|
} : _cellPropLayer$childr,
|
|
165
171
|
other = _objectWithoutProperties(cellPropLayer, _excluded);
|
|
166
172
|
var propsCell = assignProps(other, props);
|
|
167
|
-
props = assignProps(childrenPropsGetter(propsCell, rowData,
|
|
173
|
+
props = assignProps(childrenPropsGetter(propsCell, rowData, dataIndex), propsCell);
|
|
168
174
|
}
|
|
169
175
|
} catch (err) {
|
|
170
176
|
_iterator.e(err);
|
|
171
177
|
} finally {
|
|
172
178
|
_iterator.f();
|
|
173
179
|
}
|
|
180
|
+
var headerIds = [cell.name].concat(_toConsumableArray(parentColumnNames)).filter(Boolean).map(function (name) {
|
|
181
|
+
return "igc-table-".concat(uid, "-").concat(name);
|
|
182
|
+
});
|
|
174
183
|
return _ref3 = sstyled(styles), /*#__PURE__*/React.createElement(SCell, _ref3.cn("SCell", _objectSpread(_objectSpread({
|
|
175
184
|
"key": cell.name,
|
|
176
|
-
"role": "cell"
|
|
185
|
+
"role": "cell",
|
|
186
|
+
"headers": headerIds.join(' ')
|
|
177
187
|
}, props), {}, {
|
|
178
188
|
"fixed": cell.fixed,
|
|
179
189
|
"theme": props.theme,
|
|
@@ -189,8 +199,7 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
189
199
|
value: function renderRow(cells, _ref7) {
|
|
190
200
|
var _ref4;
|
|
191
201
|
var dataIndex = _ref7.dataIndex,
|
|
192
|
-
topOffset = _ref7.topOffset
|
|
193
|
-
nested = _ref7.nested;
|
|
202
|
+
topOffset = _ref7.topOffset;
|
|
194
203
|
var SRow = Box;
|
|
195
204
|
var _this$asProps2 = this.asProps,
|
|
196
205
|
styles = _this$asProps2.styles,
|
|
@@ -200,7 +209,7 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
200
209
|
var rowHeightFromProps = _typeof(virtualScroll) === 'object' && (virtualScroll === null || virtualScroll === void 0 ? void 0 : virtualScroll.rowHeight);
|
|
201
210
|
var rowData = cells.flatRowData || getCellsByColumn(cells);
|
|
202
211
|
var key = rowData[uniqueKey] ? String(rowData[uniqueKey]) : "row_".concat(dataIndex);
|
|
203
|
-
var needToMeasureHeight = dataIndex === 0 && !
|
|
212
|
+
var needToMeasureHeight = dataIndex === 0 && !rowHeightFromProps;
|
|
204
213
|
var props = {
|
|
205
214
|
children: this.renderCells(cells, rowData, dataIndex),
|
|
206
215
|
theme: undefined,
|
|
@@ -209,7 +218,7 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
209
218
|
top: topOffset,
|
|
210
219
|
ref: needToMeasureHeight ? this.firstRowRef : undefined,
|
|
211
220
|
key: key,
|
|
212
|
-
'aria-rowindex': dataIndex +
|
|
221
|
+
'aria-rowindex': dataIndex + 2
|
|
213
222
|
};
|
|
214
223
|
var _iterator2 = _createForOfIteratorHelper(rowPropsLayers),
|
|
215
224
|
_step2;
|
|
@@ -239,8 +248,7 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
239
248
|
var _this3 = this;
|
|
240
249
|
return rows.map(function (cells, dataIndex) {
|
|
241
250
|
return _this3.renderRow(cells, {
|
|
242
|
-
dataIndex: dataIndex
|
|
243
|
-
nested: false
|
|
251
|
+
dataIndex: dataIndex
|
|
244
252
|
});
|
|
245
253
|
});
|
|
246
254
|
}
|
|
@@ -282,8 +290,7 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
282
290
|
topOffset = _ref9.topOffset;
|
|
283
291
|
return _this4.renderRow(cells, {
|
|
284
292
|
dataIndex: dataIndex,
|
|
285
|
-
topOffset: topOffset
|
|
286
|
-
nested: false
|
|
293
|
+
topOffset: topOffset
|
|
287
294
|
});
|
|
288
295
|
});
|
|
289
296
|
}
|