@semcore/data-table 4.30.0 → 4.31.0-prerelease.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.js","names":["React","createComponent","Component","Root","sstyled","Box","syncScroll","callAllEventHandlers","fire","flattenColumns","Head","Body","uniqueIDEnhancement","style","_sstyled","insert","reversedSortDirection","desc","asc","defaultSortDirection","ROW_GROUP","Symbol","cssVarReg","createCssVarForWidth","name","concat","replace","setBorderGroupColumns","columns","side","firstColumn","lastColumn","length","borderLeft","borderRight","RootDefinitionTable","_Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","createRef","event","column","find","active","sortDirection","forceUpdate","_this$tableRef","_this$tableRef$curren","tableRef","current","scrollIntoView","block","inline","behavior","scrollBodyRef","scrollHeadRef","_createClass","key","value","setVarStyle","_iterator","_createForOfIteratorHelper","_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","_objectWithoutProperties","_excluded","lastColumnChildren","isGroup","some","c","map","_ref4","join","toArray","filter","columnChildren","_this$props$ref$curre","ref","getBoundingClientRect","_objectSpread","forwardRef","parentColumns","unshift","push","getHeadProps","_this$asProps","use","uid","$onSortClick","handlerSortClick","scrollToUp","onResize","handlerResize","$scrollRef","getBodyProps","_this$asProps2","data","uniqueKey","cellPropsLayers","rowPropsLayers","_ref5","other","_excluded2","Cell","split","childrenPropsGetter","Row","rows","dataToRows","_this3","parseData","exclude","row","groupByName","columnsWithoutRowGroup","rowKey","columnNames","_iterator2","_step2","groupedColumns","groupData","rowsGroup","rowsGroupedNames","Object","fromEntries","flatMap","subRow","keys","cells","_groupByName$column$n","cssVar","flatRowData","componentDidMount","componentDidUpdate","render","_ref","_ref2","SDataTable","_this$asProps3","styles","createElement","cn","_assignProps","ComponentDefinition","wrapDataTable","wrapper","wrapDataTableRow","wrapDataTableCell"],"sources":["../../src/DataTable.tsx"],"sourcesContent":["import React from 'react';\nimport { Property } from 'csstype';\nimport createComponent, {\n Component,\n PropGetterFn,\n Root,\n sstyled,\n UnknownProperties,\n Intergalactic,\n} from '@semcore/core';\nimport { Box, BoxProps, FlexProps } 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 reversedSortDirection: { [direction in SortDirection]: SortDirection } = {\n desc: 'asc',\n asc: 'desc',\n};\nconst defaultSortDirection: SortDirection = 'desc';\n\nconst ROW_GROUP = Symbol('ROW_GROUP');\n\nconst cssVarReg = /[:;\\W]/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\nexport type DataTableData = { [key: string]: unknown };\nexport type DataTableSort<Columns extends string | number | symbol = string> = [\n sortBy: Columns,\n sortDirection: 'desc' | 'asc',\n];\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\n/** @deprecated */\nexport interface IDataTableProps<\n DataTableData extends { [key: string]: any }[] = UnknownProperties[],\n> extends DataTableProps<DataTableData> {}\nexport type DataTableProps<DataTableData extends { [key: string]: any }[] = UnknownProperties[]> =\n BoxProps & {\n /** Table theme according to visual hierarchy on the page\n * @default primary\n * */\n use?: DataTableUse;\n /** Data for table */\n data?: DataTableData;\n /** Active sort object */\n sort?: DataTableSort<keyof DataTableData[0]>;\n /** Handler call when request will change sort */\n onSortChange?: (sort: DataTableSort<keyof DataTableData[0]>, e?: React.SyntheticEvent) => void;\n /** Field name in one data entity that is unique accross all dataset\n * @default id\n */\n uniqueKey?: keyof DataTableData[0];\n /** Make cells compact by changing left and right paddings to smaller ones*/\n compact?: boolean;\n };\n\n/** @deprecated */\nexport interface IDataTableHeadProps extends DataTableHeadProps, UnknownProperties {}\nexport type DataTableHeadProps = BoxProps & {\n /** Sticky table header\n * @deprecated\n * */\n sticky?: boolean;\n\n /** Hidden header */\n hidden?: boolean;\n\n /** Disabled scroll (as action) */\n disabledScroll?: boolean;\n\n /** Enable scroll bar element in header */\n withScrollBar?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableColumnProps extends DataTableColumnProps, UnknownProperties {}\nexport type DataTableColumnProps = FlexProps & {\n /** Unique column name */\n name?: string;\n /** Enable sorting for column. And if you are passing a string, you can also set the default sorting */\n sortable?: boolean | 'desc' | 'asc';\n /** Enable resize for column\n * @ignore */\n resizable?: boolean;\n /** Fix column on the left o right side of the table */\n fixed?: 'left' | 'right';\n /** Fields to control the size of the column */\n flex?: Property.Flex | 'inherit';\n /** Add vertical border to the column */\n vBorders?: boolean;\n /** Add vertical border to the right side of the cell */\n borderRight?: boolean;\n /** Add vertical border to the left side of the cell */\n borderLeft?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableBodyProps extends DataTableBodyProps, UnknownProperties {}\nexport type DataTableBodyProps = BoxProps & {\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 /** Allows to redefine rows renderning for a very deep and even fragile customization like building custom virtual scrolling */\n renderRows?: (props: {\n rows: DataTableRow[];\n columns: Column[];\n renderRow: (row: DataTableRow, details: { dataIndex: number }) => React.ReactNode;\n }) => React.ReactNode;\n /**\n * Called every time user scrolls area\n */\n onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;\n /** Disabled scroll */\n disabledScroll?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableRowProps extends DataTableRowProps, UnknownProperties {}\nexport type DataTableRowProps = BoxProps & {\n /** Theme for row */\n theme?: DataTableTheme;\n /** Sets row state to active*/\n active?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableCellProps extends DataTableCellProps, UnknownProperties {}\nexport type DataTableCellProps<Name extends string = string> = FlexProps & {\n /** Unique name for column or columns separated by / */\n name: Name;\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 ? reversedSortDirection[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 : defaultSortDirection),\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 .flatMap((subRow) => Object.keys(subRow))\n .flatMap((key) => key.split('/'))\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 componentDidMount() {\n this.setVarStyle(this.columns);\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\ntype DataTableCtx = {\n getHeadProps: PropGetterFn;\n getBodyProps: PropGetterFn;\n};\n\nfunction ComponentDefinition() {\n return null;\n}\n\ntype IntergalacticDataTableComponent<PropsExtending extends {} = {}> = (<\n Data extends DataTableData[],\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.ComponentProps<\n Tag,\n 'div',\n DataTableProps<Data> & PropsExtending,\n DataTableCtx,\n never\n >,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', DataTableProps>;\n\ntype IntergalacticDataTableRowComponent<PropsExtending extends {} = {}> = (<\n Data extends DataTableData[],\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.PropsRenderingResultComponentProps<\n Tag,\n DataTableRowProps & {\n /**\n * That property is ONLY used for the component strict typings. In the component runtime `data` prop set on `<DataTable>...</DataTable> is used.\n */\n data?: Data;\n } & PropsExtending,\n DataTableCtx & { data: Data },\n [row: Data[0], index: number]\n >,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', DataTableRowProps>;\n\ntype IntergalacticDataTableCellComponent<PropsExtending extends {} = {}> = (<\n Data extends DataTableData[] = [],\n Name extends string = string,\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.PropsRenderingResultComponentProps<\n Tag,\n DataTableCellProps<Name> & {\n /**\n * That property is ONLY used for the componenct strict typings. In the component runtime `data` prop set on `<DataTable>...</DataTable> is used.\n */\n data?: Data;\n } & PropsExtending,\n DataTableCtx & { data: Data },\n [row: Data[0], index: number]\n >,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', DataTableCellProps>;\n\nconst DefinitionTable = createComponent(\n RootDefinitionTable,\n {\n Head,\n Body,\n Column: ComponentDefinition,\n Cell: ComponentDefinition,\n Row: ComponentDefinition,\n },\n {},\n) as IntergalacticDataTableComponent & {\n Head: Intergalactic.Component<'div', DataTableHeadProps>;\n Body: Intergalactic.Component<'div', DataTableBodyProps>;\n Column: Intergalactic.Component<'div', DataTableColumnProps>;\n Row: IntergalacticDataTableRowComponent;\n Cell: IntergalacticDataTableCellComponent;\n};\n\nexport { ROW_GROUP };\nexport default DefinitionTable;\n\nexport const wrapDataTable = <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<IntergalacticDataTableComponent>\n > &\n PropsExtending,\n ) => React.ReactNode,\n): IntergalacticDataTableComponent<PropsExtending> => wrapper as any;\n\nexport const wrapDataTableRow = <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<IntergalacticDataTableRowComponent>\n > &\n PropsExtending,\n ) => React.ReactNode,\n): IntergalacticDataTableRowComponent<PropsExtending> => wrapper as any;\n\nexport const wrapDataTableCell = <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<IntergalacticDataTableCellComponent>\n > &\n PropsExtending,\n ) => React.ReactNode,\n): IntergalacticDataTableCellComponent<PropsExtending> => wrapper as any;\n"],"mappings":"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"}
1
+ {"version":3,"file":"DataTable.js","names":["React","createComponent","Component","Root","sstyled","Box","syncScroll","callAllEventHandlers","fire","flattenColumns","Head","Body","uniqueIDEnhancement","style","_sstyled","insert","reversedSortDirection","desc","asc","defaultSortDirection","ROW_GROUP","Symbol","cssVarReg","createCssVarForWidth","name","concat","replace","setBorderGroupColumns","columns","side","firstColumn","lastColumn","length","borderLeft","borderRight","RootDefinitionTable","_Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","createRef","event","column","find","active","sortDirection","forceUpdate","_this$tableRef","_this$tableRef$curren","tableRef","current","scrollIntoView","block","inline","behavior","scrollBodyRef","scrollHeadRef","_createClass","key","value","setVarStyle","_iterator","_createForOfIteratorHelper","_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","_objectWithoutProperties","_excluded","lastColumnChildren","isGroup","some","c","map","_ref4","join","toArray","filter","columnChildren","_this$props$ref$curre","ref","getBoundingClientRect","_objectSpread","forwardRef","parentColumns","unshift","push","getHeadProps","_this$asProps","use","uid","$onSortClick","handlerSortClick","scrollToUp","onResize","handlerResize","$scrollRef","getBodyProps","_this$asProps2","data","uniqueKey","cellPropsLayers","rowPropsLayers","_ref5","other","_excluded2","Cell","split","childrenPropsGetter","Row","rows","dataToRows","_this3","parseData","exclude","row","groupByName","columnsWithoutRowGroup","rowKey","columnNames","_iterator2","_step2","groupedColumns","groupData","rowsGroup","rowsGroupedNames","Object","fromEntries","flatMap","subRow","keys","cells","_groupByName$column$n","cssVar","flatRowData","componentDidMount","componentDidUpdate","render","_ref","_ref2","SDataTable","_this$asProps3","styles","createElement","cn","_assignProps","ComponentDefinition","wrapDataTable","wrapper","wrapDataTableRow","wrapDataTableCell"],"sources":["../../src/DataTable.tsx"],"sourcesContent":["import React from 'react';\nimport { Property } from 'csstype';\nimport createComponent, {\n Component,\n PropGetterFn,\n Root,\n sstyled,\n UnknownProperties,\n Intergalactic,\n} from '@semcore/core';\nimport { Box, BoxProps, FlexProps } 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 reversedSortDirection: { [direction in SortDirection]: SortDirection } = {\n desc: 'asc',\n asc: 'desc',\n};\nconst defaultSortDirection: SortDirection = 'desc';\n\nconst ROW_GROUP = Symbol('ROW_GROUP');\n\nconst cssVarReg = /[:;\\W]/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\nexport type DataTableData = { [key: string]: unknown };\nexport type DataTableSort<Columns extends string | number | symbol = string> = [\n sortBy: Columns,\n sortDirection: 'desc' | 'asc',\n];\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\n/** @deprecated */\nexport interface IDataTableProps<\n DataTableData extends { [key: string]: any }[] = UnknownProperties[],\n> extends DataTableProps<DataTableData> {}\nexport type DataTableProps<DataTableData extends { [key: string]: any }[] = UnknownProperties[]> =\n BoxProps & {\n /** Table theme according to visual hierarchy on the page\n * @default primary\n * */\n use?: DataTableUse;\n /** Data for table */\n data?: DataTableData;\n /** Active sort object */\n sort?: DataTableSort<keyof DataTableData[0]>;\n /** Handler call when request will change sort */\n onSortChange?: (sort: DataTableSort<keyof DataTableData[0]>, e?: React.SyntheticEvent) => void;\n /** Field name in one data entity that is unique accross all dataset\n * @default id\n */\n uniqueKey?: keyof DataTableData[0];\n /** Make cells compact by changing left and right paddings to smaller ones*/\n compact?: boolean;\n };\n\n/** @deprecated */\nexport interface IDataTableHeadProps extends DataTableHeadProps, UnknownProperties {}\nexport type DataTableHeadProps = BoxProps & {\n /** Sticky table header\n * @deprecated\n * */\n sticky?: boolean;\n\n /** Hidden header */\n hidden?: boolean;\n\n /** Disabled scroll (as action) */\n disabledScroll?: boolean;\n\n /** Enable scroll bar element in header */\n withScrollBar?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableColumnProps extends DataTableColumnProps, UnknownProperties {}\nexport type DataTableColumnProps = FlexProps & {\n /** Unique column name */\n name?: string;\n /** Enable sorting for column. And if you are passing a string, you can also set the default sorting */\n sortable?: boolean | 'desc' | 'asc';\n /** Enable resize for column\n * @ignore */\n resizable?: boolean;\n /** Fix column on the left o right side of the table */\n fixed?: 'left' | 'right';\n /** Fields to control the size of the column */\n flex?: Property.Flex | 'inherit';\n /** Add vertical border to the column */\n vBorders?: boolean;\n /** Add vertical border to the right side of the cell */\n borderRight?: boolean;\n /** Add vertical border to the left side of the cell */\n borderLeft?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableBodyProps extends DataTableBodyProps, UnknownProperties {}\nexport type DataTableBodyProps = BoxProps & {\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 /** Allows to redefine rows renderning for a very deep and even fragile customization like building custom virtual scrolling */\n renderRows?: (props: {\n rows: DataTableRow[];\n columns: Column[];\n renderRow: (row: DataTableRow, details: { dataIndex: number }) => React.ReactNode;\n }) => React.ReactNode;\n /**\n * Called every time user scrolls area\n */\n onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;\n /** Disabled scroll */\n disabledScroll?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableRowProps extends DataTableRowProps, UnknownProperties {}\nexport type DataTableRowProps = BoxProps & {\n /** Theme for row */\n theme?: DataTableTheme;\n /** Sets row state to active*/\n active?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableCellProps extends DataTableCellProps, UnknownProperties {}\nexport type DataTableCellProps<Name extends string = string> = FlexProps & {\n /** Unique name for column or columns separated by / */\n name: Name;\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 ? reversedSortDirection[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 : defaultSortDirection),\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 .flatMap((subRow) => Object.keys(subRow))\n .flatMap((key) => key.split('/'))\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 componentDidMount() {\n this.setVarStyle(this.columns);\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\ntype DataTableCtx = {\n getHeadProps: PropGetterFn;\n getBodyProps: PropGetterFn;\n};\n\nfunction ComponentDefinition() {\n return null;\n}\n\ntype IntergalacticDataTableComponent<PropsExtending extends {} = {}> = (<\n Data extends DataTableData[],\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.ComponentProps<\n Tag,\n 'div',\n DataTableProps<Data> & PropsExtending,\n DataTableCtx,\n never\n >,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', DataTableProps>;\n\ntype IntergalacticDataTableRowComponent<PropsExtending extends {} = {}> = (<\n Data extends DataTableData[],\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.PropsRenderingResultComponentProps<\n Tag,\n DataTableRowProps & {\n /**\n * That property is ONLY used for the component strict typings. In the component runtime `data` prop set on `<DataTable>...</DataTable> is used.\n */\n data?: Data;\n } & PropsExtending,\n DataTableCtx & { data: Data },\n [row: Data[0], index: number]\n >,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', DataTableRowProps>;\n\ntype IntergalacticDataTableCellComponent<PropsExtending extends {} = {}> = (<\n Data extends DataTableData[] = [],\n Name extends string = string,\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.PropsRenderingResultComponentProps<\n Tag,\n DataTableCellProps<Name> & {\n /**\n * That property is ONLY used for the componenct strict typings. In the component runtime `data` prop set on `<DataTable>...</DataTable> is used.\n */\n data?: Data;\n } & PropsExtending,\n DataTableCtx & { data: Data },\n [row: Data[0], index: number]\n >,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', DataTableCellProps>;\n\nconst DefinitionTable = createComponent(\n RootDefinitionTable,\n {\n Head,\n Body,\n Column: ComponentDefinition,\n Cell: ComponentDefinition,\n Row: ComponentDefinition,\n },\n {},\n) as IntergalacticDataTableComponent & {\n Head: Intergalactic.Component<'div', DataTableHeadProps>;\n Body: Intergalactic.Component<'div', DataTableBodyProps>;\n Column: Intergalactic.Component<'div', DataTableColumnProps>;\n Row: IntergalacticDataTableRowComponent;\n Cell: IntergalacticDataTableCellComponent;\n};\n\nexport { ROW_GROUP };\nexport default DefinitionTable;\n\nexport const wrapDataTable = <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<IntergalacticDataTableComponent>\n > &\n PropsExtending,\n ) => React.ReactNode,\n): IntergalacticDataTableComponent<PropsExtending> => wrapper as any;\n\nexport const wrapDataTableRow = <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<IntergalacticDataTableRowComponent>\n > &\n PropsExtending,\n ) => React.ReactNode,\n): IntergalacticDataTableRowComponent<PropsExtending> => wrapper as any;\n\nexport const wrapDataTableCell = <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<IntergalacticDataTableCellComponent>\n > &\n PropsExtending,\n ) => React.ReactNode,\n): IntergalacticDataTableCellComponent<PropsExtending> => wrapper as any;\n"],"mappings":"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"}
package/lib/es6/Head.js CHANGED
@@ -6,7 +6,6 @@ import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized
6
6
  import _inherits from "@babel/runtime/helpers/inherits";
7
7
  import _createSuper from "@babel/runtime/helpers/createSuper";
8
8
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
9
- import { sstyled as _sstyled } from "@semcore/core";
10
9
  import { assignProps as _assignProps } from "@semcore/core";
11
10
  import React from 'react';
12
11
  import { Component, sstyled, Root } from '@semcore/core';
@@ -18,12 +17,6 @@ import { callAllEventHandlers } from '@semcore/utils/lib/assignProps';
18
17
  import { flattenColumns, getFixedStyle, getScrollOffsetValue } from './utils';
19
18
  import logger from '@semcore/utils/lib/logger';
20
19
  import { setRef } from '@semcore/utils/lib/ref';
21
- /*__reshadow-styles__:"./style/scroll-area.shadow.css"*/
22
- var scrollStyles = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SShadowHorizontal_g4hcn_gg_:before{left:var(--left-offset_g4hcn)!important}.___SShadowHorizontal_g4hcn_gg_:after{right:var(--right-offset_g4hcn)!important}" /*__inner_css_end__*/, "g4hcn_gg_") /*__reshadow_css_end__*/, {
23
- "__SShadowHorizontal": "___SShadowHorizontal_g4hcn_gg_",
24
- "--left-offset": "--left-offset_g4hcn",
25
- "--right-offset": "--right-offset_g4hcn"
26
- });
27
20
  var SORTING_ICON = {
28
21
  desc: SortDesc,
29
22
  asc: SortAsc
@@ -146,8 +139,6 @@ var Head = /*#__PURE__*/function (_Component) {
146
139
  _ref3;
147
140
  var SHead = Box;
148
141
  var SHeadWrapper = Box;
149
- var SScrollArea = ScrollArea;
150
- var SScrollAreaBar = ScrollArea.Bar;
151
142
  var _this$asProps2 = this.asProps,
152
143
  Children = _this$asProps2.Children,
153
144
  styles = _this$asProps2.styles,
@@ -155,7 +146,6 @@ var Head = /*#__PURE__*/function (_Component) {
155
146
  onResize = _this$asProps2.onResize,
156
147
  $scrollRef = _this$asProps2.$scrollRef,
157
148
  sticky = _this$asProps2.sticky,
158
- disabledScroll = _this$asProps2.disabledScroll,
159
149
  withScrollBar = _this$asProps2.withScrollBar,
160
150
  hidden = _this$asProps2.hidden;
161
151
  this.columns = flattenColumns(columnsChildren);
@@ -166,15 +156,13 @@ var Head = /*#__PURE__*/function (_Component) {
166
156
  logger.warn(sticky, "'sticky' property is deprecated, use '<Sticky/>' wrapper", this.asProps['data-ui-name'] || Head.displayName);
167
157
  return _ref3 = sstyled(styles), /*#__PURE__*/React.createElement(SHeadWrapper, _ref3.cn("SHeadWrapper", {
168
158
  "sticky": sticky
169
- }), /*#__PURE__*/React.createElement(SScrollArea, _ref3.cn("SScrollArea", {
170
- "styles": scrollStyles,
171
- "left-offset": "".concat(offsetLeftSum, "px"),
172
- "right-offset": "".concat(offsetRightSum, "px"),
159
+ }), /*#__PURE__*/React.createElement(ScrollArea, _ref3.cn("ScrollArea", {
160
+ "leftOffset": offsetLeftSum,
161
+ "rightOffset": offsetRightSum,
173
162
  "shadow": true,
174
163
  "onResize": onResize
175
- }), /*#__PURE__*/React.createElement(SScrollArea.Container, {
164
+ }), /*#__PURE__*/React.createElement(ScrollArea.Container, {
176
165
  ref: $scrollRef,
177
- disabledScroll: disabledScroll,
178
166
  role: "rowgroup",
179
167
  tabIndex: hidden ? -1 : 0
180
168
  }, /*#__PURE__*/React.createElement(SHead, _ref3.cn("SHead", _objectSpread({}, _assignProps({
@@ -190,12 +178,9 @@ var Head = /*#__PURE__*/function (_Component) {
190
178
  }), /*#__PURE__*/React.createElement("div", _ref3.cn("div", {
191
179
  "style": displayContents,
192
180
  "role": 'cell'
193
- }), /*#__PURE__*/React.createElement(SScrollAreaBar, _ref3.cn("SScrollAreaBar", {
194
- "orientation": 'horizontal',
195
- "left": "".concat(offsetLeftSum, "px"),
196
- "right": "".concat(offsetRightSum, "px"),
197
- "offsetSum": "".concat(offsetLeftSum + offsetRightSum, "px")
198
- })))))), Children.origin);
181
+ }), /*#__PURE__*/React.createElement(ScrollArea.Bar, {
182
+ orientation: "horizontal"
183
+ }))))), Children.origin);
199
184
  }
200
185
  }]);
201
186
  return Head;
@@ -1 +1 @@
1
- {"version":3,"file":"Head.js","names":["React","Component","sstyled","Root","Box","Flex","ScrollArea","SortDesc","SortAsc","callAllEventHandlers","flattenColumns","getFixedStyle","getScrollOffsetValue","logger","setRef","scrollStyles","_sstyled","insert","SORTING_ICON","desc","asc","ariaSort","displayContents","display","Head","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","name","event","asProps","$onSortClick","key","preventDefault","props","ref","forwardRef","_createClass","value","renderColumns","columns","width","_this2","map","column","renderColumn","_ref2","_column$columns","_this$asProps","styles","use","hidden","uid","SColumn","SHead","SSortWrapper","SSortIcon","sortDirection","ariaSortValue","sortable","active","undefined","isGroup","cSize","_getFixedStyle","_getFixedStyle2","_slicedToArray","style","_objectSpread","flexBasis","flex","setVar","varWidth","createElement","cn","fixed","resizable","borderLeft","borderRight","refColumn","onClick","bindHandlerSortClick","onKeyDown","bindHandlerKeyDown","Fragment","children","render","_ref","_ref3","SHeadWrapper","SScrollArea","SScrollAreaBar","Bar","_this$asProps2","Children","columnsChildren","onResize","$scrollRef","sticky","disabledScroll","withScrollBar","_getScrollOffsetValue","_getScrollOffsetValue2","offsetLeftSum","offsetRightSum","warn","displayName","Container","role","tabIndex","_assignProps","Boolean","origin"],"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';\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;\nconst displayContents = { display: 'contents' };\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 withScrollBar?: boolean;\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.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\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 as any;\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 __excludeProps={['hidden']}\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 as any;\n const SScrollArea = ScrollArea as any;\n const SScrollAreaBar = ScrollArea.Bar as any;\n const {\n Children,\n styles,\n columnsChildren,\n onResize,\n $scrollRef,\n sticky,\n disabledScroll,\n withScrollBar,\n hidden,\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}>\n <SScrollArea\n styles={scrollStyles}\n left-offset={`${offsetLeftSum}px`}\n right-offset={`${offsetRightSum}px`}\n shadow\n onResize={onResize}\n >\n <SScrollArea.Container\n ref={$scrollRef}\n disabledScroll={disabledScroll}\n role='rowgroup'\n tabIndex={hidden ? -1 : 0}\n >\n <SHead render={Box} role='row' aria-rowindex='1' __excludeProps={['hidden']}>\n {this.renderColumns(columnsChildren, 100 / this.columns.length)}\n </SHead>\n </SScrollArea.Container>\n {Boolean(withScrollBar) && (\n <div style={displayContents} role='rowgroup'>\n <div style={displayContents} role='row'>\n <div style={displayContents} role='cell'>\n <SScrollAreaBar\n orientation='horizontal'\n left={`${offsetLeftSum}px`}\n right={`${offsetRightSum}px`}\n offsetSum={`${offsetLeftSum + offsetRightSum}px`}\n />\n </div>\n </div>\n </div>\n )}\n </SScrollArea>\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":["React","Component","sstyled","Root","Box","Flex","ScrollArea","SortDesc","SortAsc","callAllEventHandlers","flattenColumns","getFixedStyle","getScrollOffsetValue","logger","setRef","SORTING_ICON","desc","asc","ariaSort","displayContents","display","Head","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","name","event","asProps","$onSortClick","key","preventDefault","props","ref","forwardRef","_createClass","value","renderColumns","columns","width","_this2","map","column","renderColumn","_ref2","_column$columns","_this$asProps","styles","use","hidden","uid","SColumn","SHead","SSortWrapper","SSortIcon","sortDirection","ariaSortValue","sortable","active","undefined","isGroup","cSize","_getFixedStyle","_getFixedStyle2","_slicedToArray","style","_objectSpread","flexBasis","flex","setVar","varWidth","createElement","cn","fixed","resizable","borderLeft","borderRight","refColumn","onClick","bindHandlerSortClick","onKeyDown","bindHandlerKeyDown","Fragment","children","render","_ref","_ref3","SHeadWrapper","_this$asProps2","Children","columnsChildren","onResize","$scrollRef","sticky","withScrollBar","_getScrollOffsetValue","_getScrollOffsetValue2","offsetLeftSum","offsetRightSum","warn","displayName","Container","role","tabIndex","_assignProps","Boolean","Bar","orientation","origin"],"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';\n\nconst SORTING_ICON = {\n desc: SortDesc,\n asc: SortAsc,\n} as const;\nconst ariaSort = {\n desc: 'descending',\n asc: 'ascending',\n} as const;\nconst displayContents = { display: 'contents' };\n\ntype AsProps = {\n $onSortClick: (name: string, event: React.MouseEvent | React.KeyboardEvent) => void;\n $scrollRef: (instance: unknown) => void;\n use: 'primary' | 'secondary';\n columnsChildren: Column[];\n onResize: ResizeObserverCallback;\n sticky: boolean;\n ['data-ui-name']: string;\n uid?: string;\n withScrollBar?: boolean;\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.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\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 as any;\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 __excludeProps={['hidden']}\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 as any;\n const {\n Children,\n styles,\n columnsChildren,\n onResize,\n $scrollRef,\n sticky,\n withScrollBar,\n hidden,\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}>\n <ScrollArea\n leftOffset={offsetLeftSum}\n rightOffset={offsetRightSum}\n shadow\n onResize={onResize}\n >\n <ScrollArea.Container ref={$scrollRef} role='rowgroup' tabIndex={hidden ? -1 : 0}>\n <SHead render={Box} role='row' aria-rowindex='1' __excludeProps={['hidden']}>\n {this.renderColumns(columnsChildren, 100 / this.columns.length)}\n </SHead>\n </ScrollArea.Container>\n {Boolean(withScrollBar) && (\n <div style={displayContents} role='rowgroup'>\n <div style={displayContents} role='row'>\n <div style={displayContents} role='cell'>\n <ScrollArea.Bar orientation='horizontal' />\n </div>\n </div>\n </div>\n )}\n </ScrollArea>\n {Children.origin}\n </SHeadWrapper>,\n );\n }\n}\n\nexport default Head;\n"],"mappings":"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"}
@@ -350,7 +350,6 @@ SCell[use='secondary'] {
350
350
 
351
351
  SCell[fixed] {
352
352
  position: sticky;
353
- z-index: 1;
354
353
  }
355
354
 
356
355
  SCell[theme='muted'] {
@@ -373,23 +372,6 @@ SCell[theme='danger'] {
373
372
  background-color: var(--intergalactic-table-td-cell-critical, #fff0f7);
374
373
  }
375
374
 
376
- SScrollAreaBar[orientation='horizontal'] {
377
- position: sticky;
378
- bottom: 0;
379
- left: 0;
380
- margin-top: calc(-1 * var(--intergalactic-spacing-3x, 12px));
381
- z-index: 2;
382
- margin-left: calc(var(--left-offset) + var(--intergalactic-spacing-1x, 4px));
383
- margin-right: calc(var(--right-offset) + var(--intergalactic-spacing-1x, 4px));
384
- width: calc(100% - var(--offsetSum) - 8px);
385
- }
386
-
387
-
388
- SScrollAreaBar[orientation='vertical'] {
389
- width: 12px;
390
- }
391
-
392
-
393
375
  SHeightHold {
394
376
  position: absolute;
395
377
  top: 0;
@@ -8,7 +8,6 @@ type AsProps = {
8
8
  columnsChildren: Column[];
9
9
  onResize: ResizeObserverCallback;
10
10
  sticky: boolean;
11
- disabledScroll?: boolean;
12
11
  ['data-ui-name']: string;
13
12
  uid?: string;
14
13
  withScrollBar?: boolean;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/data-table",
3
3
  "description": "Semrush DataTable Component",
4
- "version": "4.30.0",
4
+ "version": "4.31.0-prerelease.0",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",
@@ -11,7 +11,7 @@
11
11
  "dependencies": {
12
12
  "@semcore/flex-box": "5.20.0",
13
13
  "@semcore/icon": "4.28.0",
14
- "@semcore/scroll-area": "5.21.0",
14
+ "@semcore/scroll-area": "5.22.0-prerelease.0",
15
15
  "@semcore/utils": "4.21.0"
16
16
  },
17
17
  "devDependencies": {
@@ -1,7 +0,0 @@
1
- SShadowHorizontal:before {
2
- left: var(--left-offset) !important;
3
- }
4
-
5
- SShadowHorizontal:after {
6
- right: var(--right-offset) !important;
7
- }
@@ -1,7 +0,0 @@
1
- SShadowHorizontal:before {
2
- left: var(--left-offset) !important;
3
- }
4
-
5
- SShadowHorizontal:after {
6
- right: var(--right-offset) !important;
7
- }