intergalactic 15.65.3-prerelease-d76cc7b9 → 15.66.0-prerelease-0004a874
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 +73 -9
- package/animation/index.d.ts +1 -1
- package/animation/lib/cjs/Collapse.js +29 -29
- package/animation/lib/cjs/Collapse.js.map +1 -1
- package/animation/lib/cjs/FadeInOut.js +28 -28
- package/animation/lib/cjs/Scale.js +28 -28
- package/animation/lib/cjs/Slide.js +28 -28
- package/animation/lib/cjs/Transform.js +28 -28
- package/animation/lib/cjs/index.d.js.map +1 -1
- package/animation/lib/cjs/style/keyframes.shadow.css +53 -5
- package/animation/lib/es6/Collapse.js +29 -29
- package/animation/lib/es6/Collapse.js.map +1 -1
- package/animation/lib/es6/FadeInOut.js +28 -28
- package/animation/lib/es6/Scale.js +28 -28
- package/animation/lib/es6/Slide.js +28 -28
- package/animation/lib/es6/Transform.js +28 -28
- package/animation/lib/es6/index.d.js.map +1 -1
- package/animation/lib/es6/style/keyframes.shadow.css +53 -5
- package/animation/lib/types/index.d.ts +1 -1
- package/base-trigger/lib/cjs/BaseTrigger.js +18 -18
- package/base-trigger/lib/cjs/ButtonTrigger.js +3 -3
- package/base-trigger/lib/cjs/FilterTrigger.js +7 -7
- package/base-trigger/lib/cjs/LinkTrigger.js +12 -12
- package/base-trigger/lib/es6/BaseTrigger.js +18 -18
- package/base-trigger/lib/es6/ButtonTrigger.js +3 -3
- package/base-trigger/lib/es6/FilterTrigger.js +7 -7
- package/base-trigger/lib/es6/LinkTrigger.js +12 -12
- package/button/lib/cjs/Button.js +26 -26
- package/button/lib/cjs/style/button.shadow.css +10 -11
- package/button/lib/es6/Button.js +26 -26
- package/button/lib/es6/style/button.shadow.css +10 -11
- package/card/index.d.ts +10 -1
- package/card/lib/cjs/Card.js +10 -3
- package/card/lib/cjs/Card.js.map +1 -1
- package/card/lib/cjs/index.d.js.map +1 -1
- package/card/lib/es6/Card.js +10 -3
- package/card/lib/es6/Card.js.map +1 -1
- package/card/lib/es6/index.d.js.map +1 -1
- package/card/lib/types/index.d.ts +10 -1
- package/carousel/lib/cjs/Carousel.js +18 -7
- package/carousel/lib/cjs/Carousel.js.map +1 -1
- package/carousel/lib/es6/Carousel.js +18 -7
- package/carousel/lib/es6/Carousel.js.map +1 -1
- package/components.json +6 -6
- package/d3-chart/Area.d.ts +2 -2
- package/d3-chart/Line.d.ts +2 -2
- package/d3-chart/lib/cjs/Area.js +11 -11
- package/d3-chart/lib/cjs/Axis.js +14 -14
- package/d3-chart/lib/cjs/Bar.js +10 -10
- package/d3-chart/lib/cjs/Bubble.js +12 -12
- package/d3-chart/lib/cjs/Donut.js +9 -9
- package/d3-chart/lib/cjs/Dots.js +9 -9
- package/d3-chart/lib/cjs/Dots.js.map +1 -1
- package/d3-chart/lib/cjs/HorizontalBar.js +10 -10
- package/d3-chart/lib/cjs/Hover.js +3 -3
- package/d3-chart/lib/cjs/Line.js +12 -10
- package/d3-chart/lib/cjs/Line.js.map +1 -1
- package/d3-chart/lib/cjs/Plot.js +3 -3
- package/d3-chart/lib/cjs/Radar.js +19 -19
- package/d3-chart/lib/cjs/RadialTree.js +11 -11
- package/d3-chart/lib/cjs/ReferenceLine.js +9 -9
- package/d3-chart/lib/cjs/ScatterPlot.js +9 -9
- package/d3-chart/lib/cjs/Tooltip.js +9 -9
- package/d3-chart/lib/cjs/Venn.js +9 -9
- package/d3-chart/lib/cjs/a11y/PlotA11yModule.js +2 -2
- package/d3-chart/lib/cjs/a11y/PlotA11yView.js +2 -2
- package/d3-chart/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
- package/d3-chart/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js +17 -17
- package/d3-chart/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js +6 -6
- package/d3-chart/lib/cjs/types/Area.d.js.map +1 -1
- package/d3-chart/lib/cjs/types/Line.d.js.map +1 -1
- package/d3-chart/lib/es6/Area.js +11 -11
- package/d3-chart/lib/es6/Axis.js +14 -14
- package/d3-chart/lib/es6/Bar.js +10 -10
- package/d3-chart/lib/es6/Bubble.js +12 -12
- package/d3-chart/lib/es6/Donut.js +9 -9
- package/d3-chart/lib/es6/Dots.js +9 -9
- package/d3-chart/lib/es6/Dots.js.map +1 -1
- package/d3-chart/lib/es6/HorizontalBar.js +10 -10
- package/d3-chart/lib/es6/Hover.js +3 -3
- package/d3-chart/lib/es6/Line.js +12 -10
- package/d3-chart/lib/es6/Line.js.map +1 -1
- package/d3-chart/lib/es6/Plot.js +3 -3
- package/d3-chart/lib/es6/Radar.js +19 -19
- package/d3-chart/lib/es6/RadialTree.js +11 -11
- package/d3-chart/lib/es6/ReferenceLine.js +9 -9
- package/d3-chart/lib/es6/ScatterPlot.js +9 -9
- package/d3-chart/lib/es6/Tooltip.js +9 -9
- package/d3-chart/lib/es6/Venn.js +9 -9
- package/d3-chart/lib/es6/a11y/PlotA11yModule.js +2 -2
- package/d3-chart/lib/es6/a11y/PlotA11yView.js +2 -2
- package/d3-chart/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
- package/d3-chart/lib/es6/component/ChartLegend/LegendItem/LegendItem.js +17 -17
- package/d3-chart/lib/es6/component/ChartLegend/LegendTable/LegendTable.js +6 -6
- package/d3-chart/lib/es6/types/Area.d.js.map +1 -1
- package/d3-chart/lib/es6/types/Line.d.js.map +1 -1
- package/d3-chart/lib/types/Area.d.ts +2 -2
- package/d3-chart/lib/types/Line.d.ts +2 -2
- package/data-table/lib/cjs/DataTable.js +5 -0
- package/data-table/lib/cjs/DataTable.js.map +1 -1
- package/data-table/lib/es6/DataTable.js +5 -0
- package/data-table/lib/es6/DataTable.js.map +1 -1
- package/date-picker/lib/cjs/DatePicker.js +1 -1
- package/date-picker/lib/cjs/DatePicker.js.map +1 -1
- package/date-picker/lib/cjs/DateRangeComparator.js +11 -8
- package/date-picker/lib/cjs/DateRangeComparator.js.map +1 -1
- package/date-picker/lib/cjs/MonthDateRangeComparator.js +7 -6
- package/date-picker/lib/cjs/MonthDateRangeComparator.js.map +1 -1
- package/date-picker/lib/cjs/components/Calendar.js +156 -72
- package/date-picker/lib/cjs/components/Calendar.js.map +1 -1
- package/date-picker/lib/cjs/components/DateRangeComparatorAbstract.js +206 -123
- package/date-picker/lib/cjs/components/DateRangeComparatorAbstract.js.map +1 -1
- package/date-picker/lib/cjs/components/InputTrigger.js +50 -38
- package/date-picker/lib/cjs/components/InputTrigger.js.map +1 -1
- package/date-picker/lib/cjs/components/PickerAbstract.js +38 -29
- package/date-picker/lib/cjs/components/PickerAbstract.js.map +1 -1
- package/date-picker/lib/cjs/components/RangePickerAbstract.js +105 -79
- package/date-picker/lib/cjs/components/RangePickerAbstract.js.map +1 -1
- package/date-picker/lib/cjs/components/index.js +4 -4
- package/date-picker/lib/cjs/components/index.js.map +1 -1
- package/date-picker/lib/cjs/style/calendar.shadow.css +7 -3
- package/date-picker/lib/cjs/translations/en.json +8 -1
- package/date-picker/lib/cjs/utils/formatDate.js +19 -7
- package/date-picker/lib/cjs/utils/formatDate.js.map +1 -1
- package/date-picker/lib/es6/DatePicker.js +2 -2
- package/date-picker/lib/es6/DatePicker.js.map +1 -1
- package/date-picker/lib/es6/DateRangeComparator.js +11 -8
- package/date-picker/lib/es6/DateRangeComparator.js.map +1 -1
- package/date-picker/lib/es6/MonthDateRangeComparator.js +7 -6
- package/date-picker/lib/es6/MonthDateRangeComparator.js.map +1 -1
- package/date-picker/lib/es6/components/Calendar.js +157 -73
- package/date-picker/lib/es6/components/Calendar.js.map +1 -1
- package/date-picker/lib/es6/components/DateRangeComparatorAbstract.js +206 -123
- package/date-picker/lib/es6/components/DateRangeComparatorAbstract.js.map +1 -1
- package/date-picker/lib/es6/components/InputTrigger.js +50 -38
- package/date-picker/lib/es6/components/InputTrigger.js.map +1 -1
- package/date-picker/lib/es6/components/PickerAbstract.js +38 -29
- package/date-picker/lib/es6/components/PickerAbstract.js.map +1 -1
- package/date-picker/lib/es6/components/RangePickerAbstract.js +105 -79
- package/date-picker/lib/es6/components/RangePickerAbstract.js.map +1 -1
- package/date-picker/lib/es6/components/index.js +4 -4
- package/date-picker/lib/es6/components/index.js.map +1 -1
- package/date-picker/lib/es6/style/calendar.shadow.css +7 -3
- package/date-picker/lib/es6/translations/en.json +8 -1
- package/date-picker/lib/es6/utils/formatDate.js +16 -5
- package/date-picker/lib/es6/utils/formatDate.js.map +1 -1
- package/dropdown-menu/lib/cjs/DropdownMenu.js +46 -19
- package/dropdown-menu/lib/cjs/DropdownMenu.js.map +1 -1
- package/dropdown-menu/lib/es6/DropdownMenu.js +47 -20
- package/dropdown-menu/lib/es6/DropdownMenu.js.map +1 -1
- package/icon/Check/l/index.js +1 -1
- package/icon/Check/l/index.mjs +1 -1
- package/icon/CheckDouble/l/index.d.ts +6 -0
- package/icon/CheckDouble/l/index.js +36 -0
- package/icon/CheckDouble/l/index.mjs +24 -0
- package/icon/CheckDouble/m/index.d.ts +6 -0
- package/icon/CheckDouble/m/index.js +36 -0
- package/icon/CheckDouble/m/index.mjs +24 -0
- package/icon/CollapseAlt/l/index.d.ts +6 -0
- package/icon/CollapseAlt/l/index.js +36 -0
- package/icon/CollapseAlt/l/index.mjs +24 -0
- package/icon/CollapseAlt/m/index.d.ts +6 -0
- package/icon/CollapseAlt/m/index.js +36 -0
- package/icon/CollapseAlt/m/index.mjs +24 -0
- package/icon/ExpandAlt/l/index.d.ts +6 -0
- package/icon/ExpandAlt/l/index.js +36 -0
- package/icon/ExpandAlt/l/index.mjs +24 -0
- package/icon/ExpandAlt/m/index.d.ts +6 -0
- package/icon/ExpandAlt/m/index.js +36 -0
- package/icon/ExpandAlt/m/index.mjs +24 -0
- package/package.json +26 -2
- package/pagination/lib/cjs/Pagination.js +10 -10
- package/pagination/lib/es6/Pagination.js +10 -10
- package/pills/index.d.ts +3 -3
- package/pills/lib/cjs/Pills.js +19 -18
- package/pills/lib/cjs/Pills.js.map +1 -1
- package/pills/lib/cjs/index.d.js.map +1 -1
- package/pills/lib/cjs/style/pills.shadow.css +6 -1
- package/pills/lib/es6/Pills.js +19 -18
- package/pills/lib/es6/Pills.js.map +1 -1
- package/pills/lib/es6/index.d.js.map +1 -1
- package/pills/lib/es6/style/pills.shadow.css +6 -1
- package/pills/lib/types/index.d.ts +3 -3
- package/select/lib/cjs/InputSearch.js +6 -6
- package/select/lib/cjs/Select.js +9 -9
- package/select/lib/es6/InputSearch.js +6 -6
- package/select/lib/es6/Select.js +9 -9
- package/tag/lib/cjs/Tag.js +20 -20
- package/tag/lib/cjs/style/tag.shadow.css +2 -1
- package/tag/lib/es6/Tag.js +20 -20
- package/tag/lib/es6/style/tag.shadow.css +2 -1
- package/time-picker/lib/cjs/PickerInput.js +3 -1
- package/time-picker/lib/cjs/PickerInput.js.map +1 -1
- package/time-picker/lib/cjs/TimePicker.js +12 -12
- package/time-picker/lib/es6/PickerInput.js +3 -1
- package/time-picker/lib/es6/PickerInput.js.map +1 -1
- package/time-picker/lib/es6/TimePicker.js +12 -12
- package/utils/lib/propsForElement.js +1 -1
- package/utils/lib/propsForElement.js.map +1 -1
- package/utils/lib/propsForElement.mjs +1 -1
- package/utils/lib/propsForElement.mjs.map +1 -1
@@ -1 +1 @@
|
|
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","reversedSortDirection","desc","asc","defaultSortDirection","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","flatMap","subRow","keys","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","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 */\n disabledScroll?: 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 /**\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 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":";;;;;;;;;;;;;;;;;AAEA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAFA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAUA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AASA,IAAAQ,KAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,KAAA,GAAAP,sBAAA,CAAAF,OAAA;AACA,IAAAU,SAAA,GAAAR,sBAAA,CAAAF,OAAA;AAA8D,IAAAW,SAAA;EAAAC,UAAA;AAAA;AAAA,IAAAC,KAAA,+BAAAf,KAAA,CAAAgB,OAAA,CAAAC,MAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAI9D,IAAMC,qBAAsE,GAAG;EAC7EC,IAAI,EAAE,KAAK;EACXC,GAAG,EAAE;AACP,CAAC;AACD,IAAMC,oBAAmC,GAAG,MAAM;AAElD,IAAMC,SAAS,GAAGC,MAAM,CAAC,WAAW,CAAC;AAACC,OAAA,CAAAF,SAAA,GAAAA,SAAA;AAEtC,IAAMG,SAAS,GAAG,SAAS;AAE3B,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIC,IAAY,EAAK;EAC7C,YAAAC,MAAA,CAAYD,IAAI,CAACE,OAAO,CAACJ,SAAS,EAAE,GAAG,CAAC;AAC1C,CAAC;AAqID,SAASK,qBAAqBA,CAACC,OAAiB,EAAEC,IAAa,EAAE;EAC/D,IAAMC,WAAW,GAAGF,OAAO,CAAC,CAAC,CAAC;EAC9B,IAAMG,UAAU,GAAGH,OAAO,CAACA,OAAO,CAACI,MAAM,GAAG,CAAC,CAAC;EAC9C,IAAIF,WAAW,KAAK,CAACD,IAAI,IAAIA,IAAI,KAAK,MAAM,CAAC,EAAE;IAC7CC,WAAW,CAACG,UAAU,GAAG,IAAI;IAC7B,IAAIH,WAAW,CAACF,OAAO,EAAE;MACvBD,qBAAqB,CAACG,WAAW,CAACF,OAAO,EAAE,MAAM,CAAC;IACpD;EACF;EACA,IAAIG,UAAU,KAAK,CAACF,IAAI,IAAIA,IAAI,KAAK,OAAO,CAAC,EAAE;IAC7CE,UAAU,CAACG,WAAW,GAAG,IAAI;IAC7B,IAAIH,UAAU,CAACH,OAAO,EAAE;MACtBD,qBAAqB,CAACI,UAAU,CAACH,OAAO,EAAE,OAAO,CAAC;IACpD;EACF;AACF;AAAC,IAEKO,mBAAmB,0BAAAC,UAAA;EAAA,IAAAC,UAAA,aAAAF,mBAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,OAAAC,aAAA,aAAAJ,mBAAA;EAmBvB,SAAAA,oBAAYK,KAAc,EAAE;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,mBAAAP,mBAAA;IAC1BM,KAAA,GAAAH,MAAA,CAAAK,IAAA,OAAMH,KAAK;IAAE,IAAAI,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,cAPK,EAAE;IAAA,IAAAG,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,4BAEXK,iBAAK,CAACC,SAAS,EAAe;IAAA,IAAAH,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,oBACyB,IAAI;IAAA,IAAAG,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,oBACJ,IAAI;IAAA,IAAAG,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,uBAWnD,UAACjB,IAAY,EAAEwB,KAAuB,EAAK;MAC5D,IAAMC,MAAM,GAAGR,KAAA,CAAKb,OAAO,CAACsB,IAAI,CAAC,UAACD,MAAM;QAAA,OAAKA,MAAM,CAACzB,IAAI,KAAKA,IAAI;MAAA,EAAE;MACnE,OAAO,IAAA2B,gBAAI,MAAAN,uBAAA,aAAAJ,KAAA,GAET,cAAc,EACd,CACEQ,MAAM,CAACzB,IAAI,EACXyB,MAAM,CAACG,MAAM,GAAGrC,qBAAqB,CAACkC,MAAM,CAACI,aAAa,CAAC,GAAGJ,MAAM,CAACI,aAAa,CACnF,EACDL,KAAK,CACN;IACH,CAAC;IAAA,IAAAJ,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,oBAEe,YAAM;MACpBA,KAAA,CAAKa,WAAW,EAAE;IACpB,CAAC;IAAA,IAAAV,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,iBAEY,YAAM;MAAA,IAAAc,cAAA,EAAAC,qBAAA;MACjB,CAAAD,cAAA,GAAAd,KAAA,CAAKgB,QAAQ,cAAAF,cAAA,wBAAAC,qBAAA,GAAbD,cAAA,CAAeG,OAAO,cAAAF,qBAAA,uBAAtBA,qBAAA,CAAwBG,cAAc,CAAC;QACrCC,KAAK,EAAE,SAAS;QAChBC,MAAM,EAAE,SAAS;QACjBC,QAAQ,EAAE;MACZ,CAAC,CAAC;IACJ,CAAC;IA7BC,IAAMf,SAAS,GAAG,IAAAgB,sBAAU,GAAE;IAC9B;IACAtB,KAAA,CAAKuB,aAAa,GAAGjB,SAAS,CAAC,MAAM,CAAC;IACtCN,KAAA,CAAKwB,aAAa,GAAGlB,SAAS,CAAC,MAAM,CAAC;IAAC,OAAAN,KAAA;EACzC;EAAC,IAAAyB,aAAA,aAAA/B,mBAAA;IAAAgC,GAAA;IAAAC,KAAA,EA2BD,SAAAC,YAAYzC,OAAiB,EAAE;MAAA,IAAA0C,SAAA,OAAAC,2BAAA,aACR3C,OAAO;QAAA4C,KAAA;MAAA;QAA5B,KAAAF,SAAA,CAAAG,CAAA,MAAAD,KAAA,GAAAF,SAAA,CAAAI,CAAA,IAAAC,IAAA,GAA8B;UAAA,IAAnB1B,MAAM,GAAAuB,KAAA,CAAAJ,KAAA;UACf,IAAInB,MAAM,CAAC2B,MAAM,EAAE;YAAA,IAAAC,sBAAA;YACjB,CAAAA,sBAAA,OAAI,CAACpB,QAAQ,CAACC,OAAO,cAAAmB,sBAAA,uBAArBA,sBAAA,CAAuBjE,KAAK,CAACkE,WAAW,CAAC7B,MAAM,CAAC8B,QAAQ,KAAAtD,MAAA,CAAKwB,MAAM,CAAC+B,KAAK,QAAK;UAChF;QACF;MAAC,SAAAC,GAAA;QAAAX,SAAA,CAAAY,CAAA,CAAAD,GAAA;MAAA;QAAAX,SAAA,CAAAa,CAAA;MAAA;IACH;EAAC;IAAAhB,GAAA;IAAAC,KAAA,EAED,SAAAgB,kBACEC,QAAyB,EAEzB;MAAA,IAAAC,MAAA;MAAA,IADAC,OAAqC,GAAAC,SAAA,CAAAxD,MAAA,QAAAwD,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG;QAAEE,KAAK,EAAED;MAAU,CAAC;MAE5D,IAAQE,IAAI,GAAK,IAAI,CAACC,OAAO,CAArBD,IAAI;MACZ,IAAME,eAAyB,GAAG,EAAE;MACpC/C,iBAAK,CAACgD,QAAQ,CAACC,OAAO,CAACV,QAAQ,EAAE,UAACW,KAAK,EAAK;QAAA,IAAAC,aAAA;QAC1C,IAAI,eAACnD,iBAAK,CAACoD,cAAc,CAACF,KAAK,CAAC,EAAE;QAClC,IAAIA,KAAK,CAACG,IAAI,KAAKC,eAAe,CAACC,MAAM,EAAE;QAE3C,IAAAC,KAAA,GAUIN,KAAK,CAACxD,KAAK;UATb6C,QAAQ,GAAAiB,KAAA,CAARjB,QAAQ;UACR7D,IAAI,GAAA8E,KAAA,CAAJ9E,IAAI;UAAA+E,WAAA,GAAAD,KAAA,CACJZ,KAAK;UAALA,KAAK,GAAAa,WAAA,cAAGhB,OAAO,CAACG,KAAK,GAAAa,WAAA;UACrBC,SAAS,GAAAF,KAAA,CAATE,SAAS;UACTC,QAAQ,GAAAH,KAAA,CAARG,QAAQ;UACRC,IAAI,GAAAJ,KAAA,CAAJI,IAAI;UACJC,QAAQ,GAAAL,KAAA,CAARK,QAAQ;UACRvD,MAAM,GAAAkD,KAAA,CAANlD,MAAM;UACHZ,KAAK,OAAAoE,yBAAA,aAAAN,KAAA,EAAA5F,SAAA;QAEV,IAAMmG,kBAAkB,GAAGhB,eAAe,CAACA,eAAe,CAAC7D,MAAM,GAAG,CAAC,CAAC;QACtE,IAAM8E,OAAO,GAAG,CAACtF,IAAI;QACrB,IAAII,OAA6B;QAEjC,IAAIkF,OAAO,EAAE;UACXlF,OAAO,GAAG0D,MAAI,CAACF,iBAAiB,CAACC,QAAQ,EAAE;YAAEK,KAAK,EAALA;UAAM,CAAC,CAAC;UACrDtC,MAAM,GAAG,OAAOA,MAAM,KAAK,SAAS,GAAGA,MAAM,GAAGxB,OAAO,CAACmF,IAAI,CAAC,UAACC,CAAC;YAAA,OAAKA,CAAC,CAAC5D,MAAM;UAAA,EAAC;UAE7E,IAAIuD,QAAQ,EAAE;YACZhF,qBAAqB,CAACC,OAAO,CAAC;UAChC;UAEAJ,IAAI,GAAG,IAAAyF,qBAAc,EAACrF,OAAO,CAAC,CAC3BsF,GAAG,CAAC,UAAAC,KAAA;YAAA,IAAG3F,IAAI,GAAA2F,KAAA,CAAJ3F,IAAI;YAAA,OAAOA,IAAI;UAAA,EAAC,CACvB4F,IAAI,CAAC,GAAG,CAAC;UACZ,IAAI,CAACxF,OAAO,CAACI,MAAM,EAAE;UACrBqD,QAAQ,GAAGvC,iBAAK,CAACgD,QAAQ,CAACuB,OAAO,CAAChC,QAAQ,CAAC,CAACiC,MAAM,CAChD,UAACtB,KAAK;YAAA,OAAK,EAAE,cAAAlD,iBAAK,CAACoD,cAAc,CAACF,KAAK,CAAC,IAAIA,KAAK,CAACG,IAAI,KAAKC,eAAe,CAACC,MAAM,CAAC;UAAA,EACnF;QACH;QAEA,IAAMpD,MAAM,GAAGqC,MAAI,CAAC1D,OAAO,CAACsB,IAAI,CAAC,UAACD,MAAM;UAAA,OAAKA,MAAM,CAACzB,IAAI,KAAKA,IAAI;QAAA,EAAC;QAClE,IAAM+F,cAAc,GAAG;UACrB,IAAIvC,KAAKA,CAAA,EAAG;YAAA,IAAAwC,qBAAA;YACV;YACA,OAAO,EAAAA,qBAAA,OAAI,CAAChF,KAAK,CAACiF,GAAG,CAAC/D,OAAO,cAAA8D,qBAAA,uBAAtBA,qBAAA,CAAwBE,qBAAqB,EAAE,CAAC1C,KAAK,KAAI,CAAC;UACnE,CAAC;UACDxD,IAAI,EAAJA,IAAI;UACJuD,QAAQ,EAAExD,oBAAoB,CAACC,IAAI,CAAC;UACpCoD,MAAM,EAAE8B,IAAI,KAAK,SAAS;UAC1BhB,KAAK,EAALA,KAAK;UACLc,SAAS,EAATA,SAAS;UACTpD,MAAM,EAAE,OAAOA,MAAM,KAAK,SAAS,GAAGA,MAAM,GAAGuC,IAAI,CAAC,CAAC,CAAC,KAAKnE,IAAI;UAC/DiF,QAAQ,EAARA,QAAQ;UACRxE,UAAU,EAAE,CAAA4E,kBAAkB,aAAlBA,kBAAkB,uBAAlBA,kBAAkB,CAAE3E,WAAW,MAAK,IAAI,GAAG,KAAK,GAAGyE,QAAQ;UACvEzE,WAAW,EAAEyE,QAAQ;UACrBtD,aAAa,EACXsC,IAAI,CAAC,CAAC,CAAC,KAAKnE,IAAI,GACZmE,IAAI,CAAC,CAAC,CAAC,GACP,CAAA1C,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEI,aAAa,MACpB,OAAOoD,QAAQ,KAAK,QAAQ,GAAGA,QAAQ,GAAGvF,oBAAoB,CAAC;UACtEsB,KAAK,MAAAmF,cAAA,iBAAAA,cAAA;YACHnG,IAAI,EAAJA,IAAI;YACJkF,IAAI,EAAEA,IAAI,KAAK,SAAS,GAAGjB,SAAS,GAAGiB;UAAI,GACxClE,KAAK;YACR;YACAoF,UAAU,EAAE5B,KAAK,CAACyB,GAAG;YACrBpC,QAAQ,EAARA,QAAQ;YACRoC,GAAG,EAAE,CAAAxE,MAAM,aAANA,MAAM,wBAAAgD,aAAA,GAANhD,MAAM,CAAET,KAAK,cAAAyD,aAAA,uBAAbA,aAAA,CAAewB,GAAG,kBAAI3E,iBAAK,CAACC,SAAS;UAAE,EAC7C;UACD8E,aAAa,EAAE;QACjB,CAAsB;QAEtB,IAAIjG,OAAO,EAAE;UACX2F,cAAc,CAAC3F,OAAO,GAAGA,OAAO;UAChCA,OAAO,CAACmE,OAAO,CAAC,UAAC9C,MAAM;YAAA,OAAKA,MAAM,CAAC4E,aAAa,CAACC,OAAO,CAACP,cAAc,CAAC;UAAA,EAAC;QAC3E;QACA1B,eAAe,CAACkC,IAAI,CAACR,cAAc,CAAC;MACtC,CAAC,CAAC;MACF,OAAO1B,eAAe;IACxB;EAAC;IAAA1B,GAAA;IAAAC,KAAA,EAED,SAAA4D,aAAaxF,KAAkB,EAAE;MAC/B,IAAAyF,aAAA,GAAqB,IAAI,CAACrC,OAAO;QAAzBsC,GAAG,GAAAD,aAAA,CAAHC,GAAG;QAAEC,GAAG,GAAAF,aAAA,CAAHE,GAAG;MAChB,IAAMtC,eAAe,GAAG,IAAI,CAACT,iBAAiB,CAAC5C,KAAK,CAAC6C,QAAQ,CAAC;MAE9D,IAAI,CAACzD,OAAO,GAAG,IAAAqF,qBAAc,EAACpB,eAAe,CAAC;MAC9C,OAAO;QACLuC,YAAY,EAAE,IAAAC,kCAAoB,EAAC,IAAI,CAACC,gBAAgB,EAAE,IAAI,CAACC,UAAU,CAAC;QAC1E1C,eAAe,EAAfA,eAAe;QACfqC,GAAG,EAAHA,GAAG;QACHM,QAAQ,EAAE,IAAI,CAACC,aAAa;QAC5BC,UAAU,EAAE,IAAI,CAACzE,aAAa;QAC9BkE,GAAG,EAAHA;MACF,CAAC;IACH;EAAC;IAAAhE,GAAA;IAAAC,KAAA,EAED,SAAAuE,aAAanG,KAAkB,EAAE;MAC/B,IAAAoG,cAAA,GAAsC,IAAI,CAAChD,OAAO;QAA1CiD,IAAI,GAAAD,cAAA,CAAJC,IAAI;QAAEX,GAAG,GAAAU,cAAA,CAAHV,GAAG;QAAEY,SAAS,GAAAF,cAAA,CAATE,SAAS;QAAEX,GAAG,GAAAS,cAAA,CAAHT,GAAG;MACjC,IAAMY,eAAuD,GAAG,CAAC,CAAC;MAClE,IAAMC,cAA4B,GAAG,EAAE;MAEvClG,iBAAK,CAACgD,QAAQ,CAACC,OAAO,CAACvD,KAAK,CAAC6C,QAAQ,EAAE,UAACW,KAAK,EAAK;QAChD,kBAAIlD,iBAAK,CAACoD,cAAc,CAACF,KAAK,CAAC,EAAE;UAC/B,IAAAiD,KAAA,GAAqCjD,KAAK,CAACxD,KAAK;YAAxChB,IAAI,GAAAyH,KAAA,CAAJzH,IAAI;YAAE6D,QAAQ,GAAA4D,KAAA,CAAR5D,QAAQ;YAAK6D,KAAK,OAAAtC,yBAAA,aAAAqC,KAAA,EAAAtI,UAAA;UAIhC,IAAIqF,KAAK,CAACG,IAAI,KAAKC,eAAe,CAAC+C,IAAI,IAAI3H,IAAI,EAAE;YAC/CA,IAAI,CAAC4H,KAAK,CAAC,GAAG,CAAC,CAACrD,OAAO,CAAC,UAACvE,IAAI,EAAK;cAChCuH,eAAe,CAACvH,IAAI,CAAC,GAAGuH,eAAe,CAACvH,IAAI,CAAC,IAAI,EAAE;cACnDuH,eAAe,CAACvH,IAAI,CAAC,CAACuG,IAAI,KAAAJ,cAAA,iBAAAA,cAAA,iBACrBuB,KAAK;gBACRG,mBAAmB,EAAEhE;cAAQ,GAC7B;YACJ,CAAC,CAAC;UACJ;UACA,IAAIW,KAAK,CAACG,IAAI,KAAKC,eAAe,CAACkD,GAAG,EAAE;YACtCN,cAAc,CAACjB,IAAI,KAAAJ,cAAA,iBAAAA,cAAA,iBACduB,KAAK;cACRG,mBAAmB,EAAEhE;YAAQ,GAC7B;UACJ;QACF;MACF,CAAC,CAAC;MAEF,OAAO;QACLzD,OAAO,EAAE,IAAI,CAACA,OAAO;QACrB2H,IAAI,EAAE,IAAI,CAACC,UAAU,CAACX,IAAI,EAAEE,eAAe,CAAC;QAC5CD,SAAS,EAATA,SAAS;QACTZ,GAAG,EAAHA,GAAG;QACHc,cAAc,EAAdA,cAAc;QACdN,UAAU,EAAE,IAAI,CAAC1E,aAAa;QAC9BmE,GAAG,EAAHA;MACF,CAAC;IACH;EAAC;IAAAhE,GAAA;IAAAC,KAAA,EAED,SAAAoF,WAAWX,IAAe,EAAEE,eAAuD,EAAE;MAAA,IAAAU,MAAA;MACnF,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAIb,IAAe,EAAEc,OAAuC;QAAA,OACzEd,IAAI,CAAC3B,GAAG,CAAC,UAAC0C,GAAG,EAAK;UAChB,IAAMC,WAKL,GAAG,CAAC,CAAC;UACN,IAAMC,sBAAsD,GAAG,CAAC,CAAC;UACjE,KAAK,IAAMC,MAAM,IAAIH,GAAG,EAAE;YACxB,IAAMI,WAAW,GAAGD,MAAM,CAACX,KAAK,CAAC,GAAG,CAAC;YACrC,IAAIY,WAAW,CAAChI,MAAM,IAAI,CAAC,EAAE;cAAA,IAAAiI,UAAA,OAAA1F,2BAAA,aACNyF,WAAW;gBAAAE,MAAA;cAAA;gBAAhC,KAAAD,UAAA,CAAAxF,CAAA,MAAAyF,MAAA,GAAAD,UAAA,CAAAvF,CAAA,IAAAC,IAAA,GAAkC;kBAAA,IAAvB1B,MAAM,GAAAiH,MAAA,CAAA9F,KAAA;kBACfyF,WAAW,CAAC5G,MAAM,CAAC,GAAG;oBACpBkH,cAAc,EAAEH,WAAW;oBAC3BI,SAAS,EAAER,GAAG,CAACG,MAAM;kBACvB,CAAC;kBACDD,sBAAsB,CAAC7G,MAAM,CAAC,GAAG,IAAI;gBACvC;cAAC,SAAAgC,GAAA;gBAAAgF,UAAA,CAAA/E,CAAA,CAAAD,GAAA;cAAA;gBAAAgF,UAAA,CAAA9E,CAAA;cAAA;YACH,CAAC,MAAM;cACL2E,sBAAsB,CAACC,MAAM,CAAC,GAAG,IAAI;YACvC;UACF;UAEA,IAAMM,SAAS,GAAGT,GAAG,CAACzI,SAAS,CAAC,IAAI,EAAE;UACtC,IAAMmJ,gBAAgB,GAAGC,MAAM,CAACC,WAAW,CACzCH,SAAS,CACNI,OAAO,CAAC,UAACC,MAAM;YAAA,OAAKH,MAAM,CAACI,IAAI,CAACD,MAAM,CAAC;UAAA,EAAC,CACxCD,OAAO,CAAC,UAACtG,GAAG;YAAA,OAAKA,GAAG,CAACiF,KAAK,CAAC,GAAG,CAAC;UAAA,EAAC,CAChClC,GAAG,CAAC,UAAC/C,GAAG;YAAA,OAAK,CAACA,GAAG,EAAE,IAAI,CAAC;UAAA,EAAC,CAC7B;UAED,IAAI2C,OAAO,GAAG,KAAK;UAEnB,IAAM8D,KAAkB,GAAGnB,MAAI,CAAC7H,OAAO,CACpCsF,GAAG,CAAC,UAACjE,MAAM,EAAK;YACf,IAAI4G,WAAW,CAAC5G,MAAM,CAACzB,IAAI,CAAC,EAAE;cAC5B,IAAAqJ,qBAAA,GAAsChB,WAAW,CAAC5G,MAAM,CAACzB,IAAI,CAAC;gBAAtD2I,cAAc,GAAAU,qBAAA,CAAdV,cAAc;gBAAEC,SAAS,GAAAS,qBAAA,CAATT,SAAS;cACjC,IAAID,cAAc,CAAC,CAAC,CAAC,KAAKlH,MAAM,CAACzB,IAAI,EAAE;gBACrC,OAAO;kBACLA,IAAI,EAAE2I,cAAc,CAAC/C,IAAI,CAAC,GAAG,CAAC;kBAC9B0D,MAAM,EAAEX,cAAc,CAACjD,GAAG,CAAC3F,oBAAoB,CAAC;kBAChDmE,KAAK,EAAEzC,MAAM,CAACyC,KAAK;kBACnBmD,IAAI,EAAEuB,SAAS;kBACfrB,eAAe,EAAEA,eAAe,CAAC9F,MAAM,CAACzB,IAAI,CAAC,IAAI;gBACnD,CAAC;cACH;YACF,CAAC,MAAM,IAAIyB,MAAM,CAACzB,IAAI,IAAIoI,GAAG,EAAE;cAC7B,OAAO;gBACLpI,IAAI,EAAEyB,MAAM,CAACzB,IAAI;gBACjBsJ,MAAM,EAAE7H,MAAM,CAAC8B,QAAQ;gBACvBW,KAAK,EAAEzC,MAAM,CAACyC,KAAK;gBACnBmD,IAAI,EAAEe,GAAG,CAAC3G,MAAM,CAACzB,IAAI,CAAC;gBACtBuH,eAAe,EAAEA,eAAe,CAAC9F,MAAM,CAACzB,IAAI,CAAC,IAAI;cACnD,CAAC;YACH,CAAC,MAAM,IAAI,CAACsF,OAAO,IAAIwD,gBAAgB,CAACrH,MAAM,CAACzB,IAAI,CAAC,EAAE;cACpD;cACAsF,OAAO,GAAG,IAAI;cACd,OAAO4C,SAAS,CAACW,SAAS,MAAA1C,cAAA,iBAAAA,cAAA,iBACrBgC,OAAO,GACPG,sBAAsB,EACzB;YACJ,CAAC,MAAM,IAAI,CAACH,OAAO,CAAC1G,MAAM,CAACzB,IAAI,CAAC,IAAI,CAAC8I,gBAAgB,CAACrH,MAAM,CAACzB,IAAI,CAAC,EAAE;cAClE;cACA,OAAO;gBACLA,IAAI,EAAEyB,MAAM,CAACzB,IAAI;gBACjBsJ,MAAM,EAAE7H,MAAM,CAAC8B,QAAQ;gBACvBW,KAAK,EAAEzC,MAAM,CAACyC,KAAK;gBACnBmD,IAAI,EAAE,IAAI;gBACVE,eAAe,EAAEA,eAAe,CAAC9F,MAAM,CAACzB,IAAI,CAAC,IAAI;cACnD,CAAC;YACH;UACF,CAAC,CAAC,CACD8F,MAAM,CAAC,UAACrE,MAAM;YAAA,OAAKA,MAAM;UAAA,EAAC,CAC1BiE,GAAG,CAAC,UAACjE,MAAM;YAAA,OAAKA,MAAM;UAAA,CAAC,CAAC;UAE3B2H,KAAK,CAACG,WAAW,GAAGnB,GAAG;UACvB,OAAOgB,KAAK;QACd,CAAC,CAAC;MAAA;MAEJ,OAAOlB,SAAS,CAACb,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5B;EAAC;IAAA1E,GAAA;IAAAC,KAAA,EAED,SAAA4G,mBAAA,EAAqB;MACnB,IAAI,CAAC3G,WAAW,CAAC,IAAI,CAACzC,OAAO,CAAC;IAChC;EAAC;IAAAuC,GAAA;IAAAC,KAAA,EAED,SAAA6G,OAAA,EAAS;MAAA,IAAAC,IAAA,QAAAtF,OAAA;QAAAuF,KAAA;MACP,IAAMC,UAAU,GAKJC,YAAG;MAJf,IAAAC,cAAA,GAAmC,IAAI,CAAC1F,OAAO;QAAvCE,QAAQ,GAAAwF,cAAA,CAARxF,QAAQ;QAAEyF,MAAM,GAAAD,cAAA,CAANC,MAAM;QAAE1C,IAAI,GAAAyC,cAAA,CAAJzC,IAAI;MAE9B,OAAAsC,KAAA,GAAO,IAAAtK,aAAO,EAAC0K,MAAM,CAAC,eACpBvL,MAAA,YAAAwL,aAAA,CAACJ,UAAU,EAAAD,KAAA,CAAAM,EAAA,mBAAA9D,cAAA,qBAAA9H,KAAA,CAAA6L,WAAA;QAAA,kBAEO,CAAC,MAAM,CAAC;QAAA,OACnB,IAAI,CAACjI,QAAQ;QAAA,QACb,OAAO;QAAA,iBACG,CAACoF,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAI,EAAE,EAAE7G;MAAM,GAAAkJ,IAAA,kBAElClL,MAAA,YAAAwL,aAAA,CAAC1F,QAAQ,EAAAqF,KAAA,CAAAM,EAAA,iBAAG,CACD;IAEjB;EAAC;EAAA,OAAAtJ,mBAAA;AAAA,EA9S+BwJ,eAAS;AAAA,IAAA/I,gBAAA,aAArCT,mBAAmB,iBACF,iBAAiB;AAAA,IAAAS,gBAAA,aADlCT,mBAAmB,WAGRvB,KAAK;AAAA,IAAAgC,gBAAA,aAHhBT,mBAAmB,aAIN,CAAC,IAAAyJ,oBAAmB,GAAE,CAAC;AAAA,IAAAhJ,gBAAA,aAJpCT,mBAAmB,kBAMD;EACpB+F,GAAG,EAAE,SAAS;EACdY,SAAS,EAAE,IAAI;EACfnD,IAAI,EAAE,EAAE;EACRkD,IAAI,EAAE;AACR,CAAC;AA2SH,SAASgD,mBAAmBA,CAAA,EAAG;EAC7B,OAAO,IAAI;AACb;AAqDA,IAAMzF,eAAe,GAAG,IAAA0F,gBAAe,EACrC3J,mBAAmB,EACnB;EACE4J,IAAI,EAAJA,gBAAI;EACJC,IAAI,EAAJA,gBAAI;EACJ3F,MAAM,EAAEwF,mBAAmB;EAC3B1C,IAAI,EAAE0C,mBAAmB;EACzBvC,GAAG,EAAEuC;AACP,CAAC,EACD,CAAC,CAAC,CAOH;AAAC,IAAAI,QAAA,GAGa7F,eAAe;AAAA/E,OAAA,cAAA4K,QAAA;AAEvB,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CACxBC,OAKoB;EAAA,OACgCA,OAAO;AAAA,CAAO;AAAC9K,OAAA,CAAA6K,aAAA,GAAAA,aAAA;AAE9D,IAAME,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAC3BD,OAKoB;EAAA,OACmCA,OAAO;AAAA,CAAO;AAAC9K,OAAA,CAAA+K,gBAAA,GAAAA,gBAAA;AAEjE,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAC5BF,OAKoB;EAAA,OACoCA,OAAO;AAAA,CAAO;AAAC9K,OAAA,CAAAgL,iBAAA,GAAAA,iBAAA"}
|
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","reversedSortDirection","desc","asc","defaultSortDirection","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","flatMap","subRow","keys","cells","_groupByName$column$n","cssVar","flatRowData","componentDidMount","componentDidUpdate","render","_ref","_ref2","SDataTable","Box","_this$asProps3","styles","createElement","cn","assignProps","Component","uniqueIDEnhancement","ComponentDefinition","createComponent","Head","Body","_default","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 */\n disabledScroll?: 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 /**\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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"}
|
@@ -374,6 +374,11 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
374
374
|
};
|
375
375
|
return parseData(data, {});
|
376
376
|
}
|
377
|
+
}, {
|
378
|
+
key: "componentDidMount",
|
379
|
+
value: function componentDidMount() {
|
380
|
+
this.setVarStyle(this.columns);
|
381
|
+
}
|
377
382
|
}, {
|
378
383
|
key: "componentDidUpdate",
|
379
384
|
value: function componentDidUpdate() {
|
@@ -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","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 */\n disabledScroll?: 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 /**\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 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":";;;;;;;;;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAOC,eAAe,IACpBC,SAAS,EAETC,IAAI,EACJC,OAAO,QAGF,eAAe;AACtB,SAASC,GAAG,QAA6B,mBAAmB;AAC5D,OAAOC,UAAU,MAAM,+BAA+B;AACtD,SAASC,oBAAoB,QAAQ,gCAAgC;AACrE,OAAOC,IAAI,MAAM,yBAAyB;AAC1C,SAASC,cAAc,QAAQ,SAAS;AASxC,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,mBAAmB,MAAM,6BAA6B;AAAC;AAAA,IAAAC,KAAA,+BAAAC,QAAA,CAAAC,MAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAI9D,IAAMC,qBAAsE,GAAG;EAC7EC,IAAI,EAAE,KAAK;EACXC,GAAG,EAAE;AACP,CAAC;AACD,IAAMC,oBAAmC,GAAG,MAAM;AAElD,IAAMC,SAAS,GAAGC,MAAM,CAAC,WAAW,CAAC;AAErC,IAAMC,SAAS,GAAG,SAAS;AAE3B,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIC,IAAY,EAAK;EAC7C,YAAAC,MAAA,CAAYD,IAAI,CAACE,OAAO,CAACJ,SAAS,EAAE,GAAG,CAAC;AAC1C,CAAC;AAqID,SAASK,qBAAqBA,CAACC,OAAiB,EAAEC,IAAa,EAAE;EAC/D,IAAMC,WAAW,GAAGF,OAAO,CAAC,CAAC,CAAC;EAC9B,IAAMG,UAAU,GAAGH,OAAO,CAACA,OAAO,CAACI,MAAM,GAAG,CAAC,CAAC;EAC9C,IAAIF,WAAW,KAAK,CAACD,IAAI,IAAIA,IAAI,KAAK,MAAM,CAAC,EAAE;IAC7CC,WAAW,CAACG,UAAU,GAAG,IAAI;IAC7B,IAAIH,WAAW,CAACF,OAAO,EAAE;MACvBD,qBAAqB,CAACG,WAAW,CAACF,OAAO,EAAE,MAAM,CAAC;IACpD;EACF;EACA,IAAIG,UAAU,KAAK,CAACF,IAAI,IAAIA,IAAI,KAAK,OAAO,CAAC,EAAE;IAC7CE,UAAU,CAACG,WAAW,GAAG,IAAI;IAC7B,IAAIH,UAAU,CAACH,OAAO,EAAE;MACtBD,qBAAqB,CAACI,UAAU,CAACH,OAAO,EAAE,OAAO,CAAC;IACpD;EACF;AACF;AAAC,IAEKO,mBAAmB,0BAAAC,UAAA;EAAAC,SAAA,CAAAF,mBAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,mBAAA;EAmBvB,SAAAA,oBAAYK,KAAc,EAAE;IAAA,IAAAC,KAAA;IAAAC,eAAA,OAAAP,mBAAA;IAC1BM,KAAA,GAAAH,MAAA,CAAAK,IAAA,OAAMH,KAAK;IAAEI,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,cAPK,EAAE;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,4BAEXzC,KAAK,CAAC8C,SAAS,EAAe;IAAAF,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,oBACyB,IAAI;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,oBACJ,IAAI;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,uBAWnD,UAACjB,IAAY,EAAEuB,KAAuB,EAAK;MAC5D,IAAMC,MAAM,GAAGP,KAAA,CAAKb,OAAO,CAACqB,IAAI,CAAC,UAACD,MAAM;QAAA,OAAKA,MAAM,CAACxB,IAAI,KAAKA,IAAI;MAAA,EAAE;MACnE,OAAOhB,IAAI,CAAAqC,sBAAA,CAAAJ,KAAA,GAET,cAAc,EACd,CACEO,MAAM,CAACxB,IAAI,EACXwB,MAAM,CAACE,MAAM,GAAGlC,qBAAqB,CAACgC,MAAM,CAACG,aAAa,CAAC,GAAGH,MAAM,CAACG,aAAa,CACnF,EACDJ,KAAK,CACN;IACH,CAAC;IAAAH,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,oBAEe,YAAM;MACpBA,KAAA,CAAKW,WAAW,EAAE;IACpB,CAAC;IAAAR,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,iBAEY,YAAM;MAAA,IAAAY,cAAA,EAAAC,qBAAA;MACjB,CAAAD,cAAA,GAAAZ,KAAA,CAAKc,QAAQ,cAAAF,cAAA,wBAAAC,qBAAA,GAAbD,cAAA,CAAeG,OAAO,cAAAF,qBAAA,uBAAtBA,qBAAA,CAAwBG,cAAc,CAAC;QACrCC,KAAK,EAAE,SAAS;QAChBC,MAAM,EAAE,SAAS;QACjBC,QAAQ,EAAE;MACZ,CAAC,CAAC;IACJ,CAAC;IA7BC,IAAMd,SAAS,GAAGxC,UAAU,EAAE;IAC9B;IACAmC,KAAA,CAAKoB,aAAa,GAAGf,SAAS,CAAC,MAAM,CAAC;IACtCL,KAAA,CAAKqB,aAAa,GAAGhB,SAAS,CAAC,MAAM,CAAC;IAAC,OAAAL,KAAA;EACzC;EAACsB,YAAA,CAAA5B,mBAAA;IAAA6B,GAAA;IAAAC,KAAA,EA2BD,SAAAC,YAAYtC,OAAiB,EAAE;MAAA,IAAAuC,SAAA,GAAAC,0BAAA,CACRxC,OAAO;QAAAyC,KAAA;MAAA;QAA5B,KAAAF,SAAA,CAAAG,CAAA,MAAAD,KAAA,GAAAF,SAAA,CAAAI,CAAA,IAAAC,IAAA,GAA8B;UAAA,IAAnBxB,MAAM,GAAAqB,KAAA,CAAAJ,KAAA;UACf,IAAIjB,MAAM,CAACyB,MAAM,EAAE;YAAA,IAAAC,sBAAA;YACjB,CAAAA,sBAAA,OAAI,CAACnB,QAAQ,CAACC,OAAO,cAAAkB,sBAAA,uBAArBA,sBAAA,CAAuB7D,KAAK,CAAC8D,WAAW,CAAC3B,MAAM,CAAC4B,QAAQ,KAAAnD,MAAA,CAAKuB,MAAM,CAAC6B,KAAK,QAAK;UAChF;QACF;MAAC,SAAAC,GAAA;QAAAX,SAAA,CAAAY,CAAA,CAAAD,GAAA;MAAA;QAAAX,SAAA,CAAAa,CAAA;MAAA;IACH;EAAC;IAAAhB,GAAA;IAAAC,KAAA,EAED,SAAAgB,kBACEC,QAAyB,EAEzB;MAAA,IAAAC,MAAA;MAAA,IADAC,OAAqC,GAAAC,SAAA,CAAArD,MAAA,QAAAqD,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG;QAAEE,KAAK,EAAED;MAAU,CAAC;MAE5D,IAAQE,IAAI,GAAK,IAAI,CAACC,OAAO,CAArBD,IAAI;MACZ,IAAME,eAAyB,GAAG,EAAE;MACpC1F,KAAK,CAAC2F,QAAQ,CAACC,OAAO,CAACV,QAAQ,EAAE,UAACW,KAAK,EAAK;QAAA,IAAAC,aAAA;QAC1C,IAAI,eAAC9F,KAAK,CAAC+F,cAAc,CAACF,KAAK,CAAC,EAAE;QAClC,IAAIA,KAAK,CAACG,IAAI,KAAKC,eAAe,CAACC,MAAM,EAAE;QAE3C,IAAAC,KAAA,GAUIN,KAAK,CAACrD,KAAK;UATb0C,QAAQ,GAAAiB,KAAA,CAARjB,QAAQ;UACR1D,IAAI,GAAA2E,KAAA,CAAJ3E,IAAI;UAAA4E,WAAA,GAAAD,KAAA,CACJZ,KAAK;UAALA,KAAK,GAAAa,WAAA,cAAGhB,OAAO,CAACG,KAAK,GAAAa,WAAA;UACrBC,SAAS,GAAAF,KAAA,CAATE,SAAS;UACTC,QAAQ,GAAAH,KAAA,CAARG,QAAQ;UACRC,IAAI,GAAAJ,KAAA,CAAJI,IAAI;UACJC,QAAQ,GAAAL,KAAA,CAARK,QAAQ;UACRtD,MAAM,GAAAiD,KAAA,CAANjD,MAAM;UACHV,KAAK,GAAAiE,wBAAA,CAAAN,KAAA,EAAAO,SAAA;QAEV,IAAMC,kBAAkB,GAAGjB,eAAe,CAACA,eAAe,CAAC1D,MAAM,GAAG,CAAC,CAAC;QACtE,IAAM4E,OAAO,GAAG,CAACpF,IAAI;QACrB,IAAII,OAA6B;QAEjC,IAAIgF,OAAO,EAAE;UACXhF,OAAO,GAAGuD,MAAI,CAACF,iBAAiB,CAACC,QAAQ,EAAE;YAAEK,KAAK,EAALA;UAAM,CAAC,CAAC;UACrDrC,MAAM,GAAG,OAAOA,MAAM,KAAK,SAAS,GAAGA,MAAM,GAAGtB,OAAO,CAACiF,IAAI,CAAC,UAACC,CAAC;YAAA,OAAKA,CAAC,CAAC5D,MAAM;UAAA,EAAC;UAE7E,IAAIsD,QAAQ,EAAE;YACZ7E,qBAAqB,CAACC,OAAO,CAAC;UAChC;UAEAJ,IAAI,GAAGf,cAAc,CAACmB,OAAO,CAAC,CAC3BmF,GAAG,CAAC,UAAAC,KAAA;YAAA,IAAGxF,IAAI,GAAAwF,KAAA,CAAJxF,IAAI;YAAA,OAAOA,IAAI;UAAA,EAAC,CACvByF,IAAI,CAAC,GAAG,CAAC;UACZ,IAAI,CAACrF,OAAO,CAACI,MAAM,EAAE;UACrBkD,QAAQ,GAAGlF,KAAK,CAAC2F,QAAQ,CAACuB,OAAO,CAAChC,QAAQ,CAAC,CAACiC,MAAM,CAChD,UAACtB,KAAK;YAAA,OAAK,EAAE,cAAA7F,KAAK,CAAC+F,cAAc,CAACF,KAAK,CAAC,IAAIA,KAAK,CAACG,IAAI,KAAKC,eAAe,CAACC,MAAM,CAAC;UAAA,EACnF;QACH;QAEA,IAAMlD,MAAM,GAAGmC,MAAI,CAACvD,OAAO,CAACqB,IAAI,CAAC,UAACD,MAAM;UAAA,OAAKA,MAAM,CAACxB,IAAI,KAAKA,IAAI;QAAA,EAAC;QAClE,IAAM4F,cAAc,GAAG;UACrB,IAAIvC,KAAKA,CAAA,EAAG;YAAA,IAAAwC,qBAAA;YACV;YACA,OAAO,EAAAA,qBAAA,OAAI,CAAC7E,KAAK,CAAC8E,GAAG,CAAC9D,OAAO,cAAA6D,qBAAA,uBAAtBA,qBAAA,CAAwBE,qBAAqB,EAAE,CAAC1C,KAAK,KAAI,CAAC;UACnE,CAAC;UACDrD,IAAI,EAAJA,IAAI;UACJoD,QAAQ,EAAErD,oBAAoB,CAACC,IAAI,CAAC;UACpCiD,MAAM,EAAE8B,IAAI,KAAK,SAAS;UAC1BhB,KAAK,EAALA,KAAK;UACLc,SAAS,EAATA,SAAS;UACTnD,MAAM,EAAE,OAAOA,MAAM,KAAK,SAAS,GAAGA,MAAM,GAAGsC,IAAI,CAAC,CAAC,CAAC,KAAKhE,IAAI;UAC/D8E,QAAQ,EAARA,QAAQ;UACRrE,UAAU,EAAE,CAAA0E,kBAAkB,aAAlBA,kBAAkB,uBAAlBA,kBAAkB,CAAEzE,WAAW,MAAK,IAAI,GAAG,KAAK,GAAGsE,QAAQ;UACvEtE,WAAW,EAAEsE,QAAQ;UACrBrD,aAAa,EACXqC,IAAI,CAAC,CAAC,CAAC,KAAKhE,IAAI,GACZgE,IAAI,CAAC,CAAC,CAAC,GACP,CAAAxC,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEG,aAAa,MACpB,OAAOmD,QAAQ,KAAK,QAAQ,GAAGA,QAAQ,GAAGnF,oBAAoB,CAAC;UACtEqB,KAAK,EAAAgF,aAAA,CAAAA,aAAA;YACHhG,IAAI,EAAJA,IAAI;YACJ+E,IAAI,EAAEA,IAAI,KAAK,SAAS,GAAGjB,SAAS,GAAGiB;UAAI,GACxC/D,KAAK;YACR;YACAiF,UAAU,EAAE5B,KAAK,CAACyB,GAAG;YACrBpC,QAAQ,EAARA,QAAQ;YACRoC,GAAG,EAAE,CAAAtE,MAAM,aAANA,MAAM,wBAAA8C,aAAA,GAAN9C,MAAM,CAAER,KAAK,cAAAsD,aAAA,uBAAbA,aAAA,CAAewB,GAAG,kBAAItH,KAAK,CAAC8C,SAAS;UAAE,EAC7C;UACD4E,aAAa,EAAE;QACjB,CAAsB;QAEtB,IAAI9F,OAAO,EAAE;UACXwF,cAAc,CAACxF,OAAO,GAAGA,OAAO;UAChCA,OAAO,CAACgE,OAAO,CAAC,UAAC5C,MAAM;YAAA,OAAKA,MAAM,CAAC0E,aAAa,CAACC,OAAO,CAACP,cAAc,CAAC;UAAA,EAAC;QAC3E;QACA1B,eAAe,CAACkC,IAAI,CAACR,cAAc,CAAC;MACtC,CAAC,CAAC;MACF,OAAO1B,eAAe;IACxB;EAAC;IAAA1B,GAAA;IAAAC,KAAA,EAED,SAAA4D,aAAarF,KAAkB,EAAE;MAC/B,IAAAsF,aAAA,GAAqB,IAAI,CAACrC,OAAO;QAAzBsC,GAAG,GAAAD,aAAA,CAAHC,GAAG;QAAEC,GAAG,GAAAF,aAAA,CAAHE,GAAG;MAChB,IAAMtC,eAAe,GAAG,IAAI,CAACT,iBAAiB,CAACzC,KAAK,CAAC0C,QAAQ,CAAC;MAE9D,IAAI,CAACtD,OAAO,GAAGnB,cAAc,CAACiF,eAAe,CAAC;MAC9C,OAAO;QACLuC,YAAY,EAAE1H,oBAAoB,CAAC,IAAI,CAAC2H,gBAAgB,EAAE,IAAI,CAACC,UAAU,CAAC;QAC1EzC,eAAe,EAAfA,eAAe;QACfqC,GAAG,EAAHA,GAAG;QACHK,QAAQ,EAAE,IAAI,CAACC,aAAa;QAC5BC,UAAU,EAAE,IAAI,CAACxE,aAAa;QAC9BkE,GAAG,EAAHA;MACF,CAAC;IACH;EAAC;IAAAhE,GAAA;IAAAC,KAAA,EAED,SAAAsE,aAAa/F,KAAkB,EAAE;MAC/B,IAAAgG,cAAA,GAAsC,IAAI,CAAC/C,OAAO;QAA1CgD,IAAI,GAAAD,cAAA,CAAJC,IAAI;QAAEV,GAAG,GAAAS,cAAA,CAAHT,GAAG;QAAEW,SAAS,GAAAF,cAAA,CAATE,SAAS;QAAEV,GAAG,GAAAQ,cAAA,CAAHR,GAAG;MACjC,IAAMW,eAAuD,GAAG,CAAC,CAAC;MAClE,IAAMC,cAA4B,GAAG,EAAE;MAEvC5I,KAAK,CAAC2F,QAAQ,CAACC,OAAO,CAACpD,KAAK,CAAC0C,QAAQ,EAAE,UAACW,KAAK,EAAK;QAChD,kBAAI7F,KAAK,CAAC+F,cAAc,CAACF,KAAK,CAAC,EAAE;UAC/B,IAAAgD,KAAA,GAAqChD,KAAK,CAACrD,KAAK;YAAxChB,IAAI,GAAAqH,KAAA,CAAJrH,IAAI;YAAE0D,QAAQ,GAAA2D,KAAA,CAAR3D,QAAQ;YAAK4D,KAAK,GAAArC,wBAAA,CAAAoC,KAAA,EAAAE,UAAA;UAIhC,IAAIlD,KAAK,CAACG,IAAI,KAAKC,eAAe,CAAC+C,IAAI,IAAIxH,IAAI,EAAE;YAC/CA,IAAI,CAACyH,KAAK,CAAC,GAAG,CAAC,CAACrD,OAAO,CAAC,UAACpE,IAAI,EAAK;cAChCmH,eAAe,CAACnH,IAAI,CAAC,GAAGmH,eAAe,CAACnH,IAAI,CAAC,IAAI,EAAE;cACnDmH,eAAe,CAACnH,IAAI,CAAC,CAACoG,IAAI,CAAAJ,aAAA,CAAAA,aAAA,KACrBsB,KAAK;gBACRI,mBAAmB,EAAEhE;cAAQ,GAC7B;YACJ,CAAC,CAAC;UACJ;UACA,IAAIW,KAAK,CAACG,IAAI,KAAKC,eAAe,CAACkD,GAAG,EAAE;YACtCP,cAAc,CAAChB,IAAI,CAAAJ,aAAA,CAAAA,aAAA,KACdsB,KAAK;cACRI,mBAAmB,EAAEhE;YAAQ,GAC7B;UACJ;QACF;MACF,CAAC,CAAC;MAEF,OAAO;QACLtD,OAAO,EAAE,IAAI,CAACA,OAAO;QACrBwH,IAAI,EAAE,IAAI,CAACC,UAAU,CAACZ,IAAI,EAAEE,eAAe,CAAC;QAC5CD,SAAS,EAATA,SAAS;QACTX,GAAG,EAAHA,GAAG;QACHa,cAAc,EAAdA,cAAc;QACdN,UAAU,EAAE,IAAI,CAACzE,aAAa;QAC9BmE,GAAG,EAAHA;MACF,CAAC;IACH;EAAC;IAAAhE,GAAA;IAAAC,KAAA,EAED,SAAAoF,WAAWZ,IAAe,EAAEE,eAAuD,EAAE;MAAA,IAAAW,MAAA;MACnF,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAId,IAAe,EAAEe,OAAuC;QAAA,OACzEf,IAAI,CAAC1B,GAAG,CAAC,UAAC0C,GAAG,EAAK;UAChB,IAAMC,WAKL,GAAG,CAAC,CAAC;UACN,IAAMC,sBAAsD,GAAG,CAAC,CAAC;UACjE,KAAK,IAAMC,MAAM,IAAIH,GAAG,EAAE;YACxB,IAAMI,WAAW,GAAGD,MAAM,CAACX,KAAK,CAAC,GAAG,CAAC;YACrC,IAAIY,WAAW,CAAC7H,MAAM,IAAI,CAAC,EAAE;cAAA,IAAA8H,UAAA,GAAA1F,0BAAA,CACNyF,WAAW;gBAAAE,MAAA;cAAA;gBAAhC,KAAAD,UAAA,CAAAxF,CAAA,MAAAyF,MAAA,GAAAD,UAAA,CAAAvF,CAAA,IAAAC,IAAA,GAAkC;kBAAA,IAAvBxB,MAAM,GAAA+G,MAAA,CAAA9F,KAAA;kBACfyF,WAAW,CAAC1G,MAAM,CAAC,GAAG;oBACpBgH,cAAc,EAAEH,WAAW;oBAC3BI,SAAS,EAAER,GAAG,CAACG,MAAM;kBACvB,CAAC;kBACDD,sBAAsB,CAAC3G,MAAM,CAAC,GAAG,IAAI;gBACvC;cAAC,SAAA8B,GAAA;gBAAAgF,UAAA,CAAA/E,CAAA,CAAAD,GAAA;cAAA;gBAAAgF,UAAA,CAAA9E,CAAA;cAAA;YACH,CAAC,MAAM;cACL2E,sBAAsB,CAACC,MAAM,CAAC,GAAG,IAAI;YACvC;UACF;UAEA,IAAMM,SAAS,GAAGT,GAAG,CAACrI,SAAS,CAAC,IAAI,EAAE;UACtC,IAAM+I,gBAAgB,GAAGC,MAAM,CAACC,WAAW,CACzCH,SAAS,CACNI,OAAO,CAAC,UAACC,MAAM;YAAA,OAAKH,MAAM,CAACI,IAAI,CAACD,MAAM,CAAC;UAAA,EAAC,CACxCD,OAAO,CAAC,UAACtG,GAAG;YAAA,OAAKA,GAAG,CAACiF,KAAK,CAAC,GAAG,CAAC;UAAA,EAAC,CAChClC,GAAG,CAAC,UAAC/C,GAAG;YAAA,OAAK,CAACA,GAAG,EAAE,IAAI,CAAC;UAAA,EAAC,CAC7B;UAED,IAAI4C,OAAO,GAAG,KAAK;UAEnB,IAAM6D,KAAkB,GAAGnB,MAAI,CAAC1H,OAAO,CACpCmF,GAAG,CAAC,UAAC/D,MAAM,EAAK;YACf,IAAI0G,WAAW,CAAC1G,MAAM,CAACxB,IAAI,CAAC,EAAE;cAC5B,IAAAkJ,qBAAA,GAAsChB,WAAW,CAAC1G,MAAM,CAACxB,IAAI,CAAC;gBAAtDwI,cAAc,GAAAU,qBAAA,CAAdV,cAAc;gBAAEC,SAAS,GAAAS,qBAAA,CAATT,SAAS;cACjC,IAAID,cAAc,CAAC,CAAC,CAAC,KAAKhH,MAAM,CAACxB,IAAI,EAAE;gBACrC,OAAO;kBACLA,IAAI,EAAEwI,cAAc,CAAC/C,IAAI,CAAC,GAAG,CAAC;kBAC9B0D,MAAM,EAAEX,cAAc,CAACjD,GAAG,CAACxF,oBAAoB,CAAC;kBAChDgE,KAAK,EAAEvC,MAAM,CAACuC,KAAK;kBACnBkD,IAAI,EAAEwB,SAAS;kBACftB,eAAe,EAAEA,eAAe,CAAC3F,MAAM,CAACxB,IAAI,CAAC,IAAI;gBACnD,CAAC;cACH;YACF,CAAC,MAAM,IAAIwB,MAAM,CAACxB,IAAI,IAAIiI,GAAG,EAAE;cAC7B,OAAO;gBACLjI,IAAI,EAAEwB,MAAM,CAACxB,IAAI;gBACjBmJ,MAAM,EAAE3H,MAAM,CAAC4B,QAAQ;gBACvBW,KAAK,EAAEvC,MAAM,CAACuC,KAAK;gBACnBkD,IAAI,EAAEgB,GAAG,CAACzG,MAAM,CAACxB,IAAI,CAAC;gBACtBmH,eAAe,EAAEA,eAAe,CAAC3F,MAAM,CAACxB,IAAI,CAAC,IAAI;cACnD,CAAC;YACH,CAAC,MAAM,IAAI,CAACoF,OAAO,IAAIuD,gBAAgB,CAACnH,MAAM,CAACxB,IAAI,CAAC,EAAE;cACpD;cACAoF,OAAO,GAAG,IAAI;cACd,OAAO2C,SAAS,CAACW,SAAS,EAAA1C,aAAA,CAAAA,aAAA,KACrBgC,OAAO,GACPG,sBAAsB,EACzB;YACJ,CAAC,MAAM,IAAI,CAACH,OAAO,CAACxG,MAAM,CAACxB,IAAI,CAAC,IAAI,CAAC2I,gBAAgB,CAACnH,MAAM,CAACxB,IAAI,CAAC,EAAE;cAClE;cACA,OAAO;gBACLA,IAAI,EAAEwB,MAAM,CAACxB,IAAI;gBACjBmJ,MAAM,EAAE3H,MAAM,CAAC4B,QAAQ;gBACvBW,KAAK,EAAEvC,MAAM,CAACuC,KAAK;gBACnBkD,IAAI,EAAE,IAAI;gBACVE,eAAe,EAAEA,eAAe,CAAC3F,MAAM,CAACxB,IAAI,CAAC,IAAI;cACnD,CAAC;YACH;UACF,CAAC,CAAC,CACD2F,MAAM,CAAC,UAACnE,MAAM;YAAA,OAAKA,MAAM;UAAA,EAAC,CAC1B+D,GAAG,CAAC,UAAC/D,MAAM;YAAA,OAAKA,MAAM;UAAA,CAAC,CAAC;UAE3ByH,KAAK,CAACG,WAAW,GAAGnB,GAAG;UACvB,OAAOgB,KAAK;QACd,CAAC,CAAC;MAAA;MAEJ,OAAOlB,SAAS,CAACd,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5B;EAAC;IAAAzE,GAAA;IAAAC,KAAA,EAED,SAAA4G,mBAAA,EAAqB;MACnB,IAAI,CAAC3G,WAAW,CAAC,IAAI,CAACtC,OAAO,CAAC;IAChC;EAAC;IAAAoC,GAAA;IAAAC,KAAA,EAED,SAAA6G,OAAA,EAAS;MAAA,IAAAC,IAAA,QAAAtF,OAAA;QAAAuF,KAAA;MACP,IAAMC,UAAU,GAKJ5K,GAAG;MAJf,IAAA6K,cAAA,GAAmC,IAAI,CAACzF,OAAO;QAAvCE,QAAQ,GAAAuF,cAAA,CAARvF,QAAQ;QAAEwF,MAAM,GAAAD,cAAA,CAANC,MAAM;QAAE1C,IAAI,GAAAyC,cAAA,CAAJzC,IAAI;MAE9B,OAAAuC,KAAA,GAAO5K,OAAO,CAAC+K,MAAM,CAAC,eACpBnL,KAAA,CAAAoL,aAAA,CAACH,UAAU,EAAAD,KAAA,CAAAK,EAAA,eAAA7D,aAAA,KAAA8D,YAAA;QAAA,kBAEO,CAAC,MAAM,CAAC;QAAA,OACnB,IAAI,CAAC/H,QAAQ;QAAA,QACb,OAAO;QAAA,iBACG,CAACkF,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAI,EAAE,EAAEzG;MAAM,GAAA+I,IAAA,kBAElC/K,KAAA,CAAAoL,aAAA,CAACzF,QAAQ,EAAAqF,KAAA,CAAAK,EAAA,iBAAG,CACD;IAEjB;EAAC;EAAA,OAAAlJ,mBAAA;AAAA,EA9S+BjC,SAAS;AAAA0C,eAAA,CAArCT,mBAAmB,iBACF,iBAAiB;AAAAS,eAAA,CADlCT,mBAAmB,WAGRtB,KAAK;AAAA+B,eAAA,CAHhBT,mBAAmB,aAIN,CAACvB,mBAAmB,EAAE,CAAC;AAAAgC,eAAA,CAJpCT,mBAAmB,kBAMD;EACpB4F,GAAG,EAAE,SAAS;EACdW,SAAS,EAAE,IAAI;EACflD,IAAI,EAAE,EAAE;EACRiD,IAAI,EAAE;AACR,CAAC;AA2SH,SAAS8C,mBAAmBA,CAAA,EAAG;EAC7B,OAAO,IAAI;AACb;AAqDA,IAAMtF,eAAe,GAAGhG,eAAe,CACrCkC,mBAAmB,EACnB;EACEzB,IAAI,EAAJA,IAAI;EACJC,IAAI,EAAJA,IAAI;EACJuF,MAAM,EAAEqF,mBAAmB;EAC3BvC,IAAI,EAAEuC,mBAAmB;EACzBpC,GAAG,EAAEoC;AACP,CAAC,EACD,CAAC,CAAC,CAOH;AAED,SAASnK,SAAS;AAClB,eAAe6E,eAAe;AAE9B,OAAO,IAAMuF,aAAa,GAAG,SAAhBA,aAAaA,CACxBC,OAKoB;EAAA,OACgCA,OAAO;AAAA,CAAO;AAEpE,OAAO,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAC3BD,OAKoB;EAAA,OACmCA,OAAO;AAAA,CAAO;AAEvE,OAAO,IAAME,iBAAiB,GAAG,SAApBA,iBAAiBA,CAC5BF,OAKoB;EAAA,OACoCA,OAAO;AAAA,CAAO"}
|
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 */\n disabledScroll?: 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 /**\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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"}
|
@@ -59,7 +59,7 @@ var DatePickerRoot = /*#__PURE__*/function (_PickerAbstract) {
|
|
59
59
|
locale = _this$asProps.locale;
|
60
60
|
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, (0, _get2["default"])((0, _getPrototypeOf2["default"])(DatePickerRoot.prototype), "getButtonTriggerProps", this).call(this)), {}, {
|
61
61
|
placeholder: 'Select date',
|
62
|
-
children: value ? (0, _formatDate.
|
62
|
+
children: value ? (0, _formatDate.formatDDMMYY)(value, locale) : null
|
63
63
|
});
|
64
64
|
}
|
65
65
|
}, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DatePicker.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_dayjs","_flexBox","_button","_divider","_i18nEnhance","_components","_Calendar","_PickerAbstract2","_formatDate","_includesDate","_intergalacticDynamicLocales","DatePickerRoot","_PickerAbstract","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","ArrowLeft","ArrowUp","ArrowRight","ArrowDown","handlers","value","Date","setHours","_createClass2","key","getButtonTriggerProps","_this$asProps","asProps","locale","_objectSpread2","_get2","_getPrototypeOf2","prototype","placeholder","children","getLocaleDate","getTriggerProps","_this$asProps2","onChange","onDisplayedPeriodChange","disabled","size","getI18nText","w","disabledDates","createElement","InputTrigger","SingleDateInput","getPopperProps","Fragment","DatePicker","Header","Calendar","ml","mt","Today","getTitleProps","_this$asProps3","displayedPeriod","Intl","DateTimeFormat","month","year","format","dayjs","startOf","toDate","getTodayProps","_this$asProps4","i18n","onClick","handlerToday","some","includesDate","PickerAbstract","exports","props","defaultProps","Trigger","Popper","_Component","_super2","render","_ref","_ref2","SToday","Box","_this$asProps5","styles","sstyled","cn","assignProps","Component","i18nEnhance","localizedMessages","createComponent","ButtonTrigger","Title","Prev","Next","parent","_default"],"sources":["../../src/DatePicker.jsx"],"sourcesContent":["import React from 'react';\nimport dayjs from 'dayjs';\nimport createComponent, { Component, Root, sstyled } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport Button from '@semcore/button';\nimport Divider from '@semcore/divider';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport {\n Header,\n Next,\n Popper,\n Prev,\n Title,\n Trigger as ButtonTrigger,\n InputTrigger,\n} from './components';\nimport { CalendarDays as Calendar } from './components/Calendar';\nimport PickerAbstract from './components/PickerAbstract';\nimport { getLocaleDate } from './utils/formatDate';\nimport includesDate from './utils/includesDate';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nexport class DatePickerRoot extends PickerAbstract {\n static displayName = 'DatePicker';\n\n static defaultProps = (props) => ({\n ...PickerAbstract.defaultProps(props),\n children: (\n <>\n <DatePicker.Trigger />\n <DatePicker.Popper />\n </>\n ),\n });\n\n navigateStep = 'month';\n keyStep = 'day';\n keyDiff = {\n ArrowLeft: -1,\n ArrowUp: -7,\n ArrowRight: 1,\n ArrowDown: 7,\n };\n\n handlerToday = () => {\n this.handlers.value(new Date(new Date().setHours(0, 0, 0, 0)));\n };\n\n getButtonTriggerProps() {\n const { value, locale } = this.asProps;\n return {\n ...super.getButtonTriggerProps(),\n placeholder: 'Select date',\n children: value ? getLocaleDate(value, locale) : null,\n };\n }\n\n getTriggerProps() {\n const { value, onChange, onDisplayedPeriodChange, locale, disabled, size, getI18nText } =\n this.asProps;\n\n return {\n ...super.getButtonTriggerProps(),\n value,\n onChange,\n onDisplayedPeriodChange,\n locale,\n w: size === 'm' ? 145 : 160,\n disabledDates: disabled,\n children: () => <InputTrigger.SingleDateInput />,\n getI18nText,\n };\n }\n\n getPopperProps() {\n return {\n ...super.getPopperProps(),\n children: (\n <>\n <DatePicker.Header />\n <DatePicker.Calendar />\n <Divider ml={-4} mt={4} w='calc(100% + 32px)' />\n <DatePicker.Today />\n </>\n ),\n };\n }\n\n getTitleProps() {\n const { displayedPeriod, locale } = this.asProps;\n return {\n ...super.getTitleProps(),\n children: new Intl.DateTimeFormat(locale, { month: 'long', year: 'numeric' }).format(\n dayjs(displayedPeriod).startOf('month').toDate(),\n ),\n };\n }\n\n getTodayProps() {\n const { i18n, locale, disabled } = this.asProps;\n\n return {\n i18n,\n locale,\n onClick: this.handlerToday,\n disabled: disabled.some(includesDate(dayjs(), 'day')),\n };\n }\n}\n\nclass Today extends Component {\n static enhance = [i18nEnhance(localizedMessages)];\n\n render() {\n const SToday = Root;\n const { styles, getI18nText, disabled, onClick } = this.asProps;\n return sstyled(styles)(\n <SToday render={Box} __excludeProps={['onClick']}>\n <Button\n use='tertiary'\n children={getI18nText('today')}\n disabled={disabled}\n onClick={onClick}\n />\n </SToday>,\n );\n }\n}\n\nconst DatePicker = createComponent(\n DatePickerRoot,\n {\n Trigger: InputTrigger,\n ButtonTrigger,\n Popper,\n Header,\n Title,\n Prev,\n Next,\n Calendar,\n Today,\n },\n {\n parent: Calendar,\n },\n);\n\nexport default DatePicker;\n"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"DatePicker.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_dayjs","_flexBox","_button","_divider","_i18nEnhance","_components","_Calendar","_PickerAbstract2","_formatDate","_includesDate","_intergalacticDynamicLocales","DatePickerRoot","_PickerAbstract","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","ArrowLeft","ArrowUp","ArrowRight","ArrowDown","handlers","value","Date","setHours","_createClass2","key","getButtonTriggerProps","_this$asProps","asProps","locale","_objectSpread2","_get2","_getPrototypeOf2","prototype","placeholder","children","formatDDMMYY","getTriggerProps","_this$asProps2","onChange","onDisplayedPeriodChange","disabled","size","getI18nText","w","disabledDates","createElement","InputTrigger","SingleDateInput","getPopperProps","Fragment","DatePicker","Header","Calendar","ml","mt","Today","getTitleProps","_this$asProps3","displayedPeriod","Intl","DateTimeFormat","month","year","format","dayjs","startOf","toDate","getTodayProps","_this$asProps4","i18n","onClick","handlerToday","some","includesDate","PickerAbstract","exports","props","defaultProps","Trigger","Popper","_Component","_super2","render","_ref","_ref2","SToday","Box","_this$asProps5","styles","sstyled","cn","assignProps","Component","i18nEnhance","localizedMessages","createComponent","ButtonTrigger","Title","Prev","Next","parent","_default"],"sources":["../../src/DatePicker.jsx"],"sourcesContent":["import React from 'react';\nimport dayjs from 'dayjs';\nimport createComponent, { Component, Root, sstyled } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport Button from '@semcore/button';\nimport Divider from '@semcore/divider';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport {\n Header,\n Next,\n Popper,\n Prev,\n Title,\n Trigger as ButtonTrigger,\n InputTrigger,\n} from './components';\nimport { CalendarDays as Calendar } from './components/Calendar';\nimport PickerAbstract from './components/PickerAbstract';\nimport { formatDDMMYY } from './utils/formatDate';\nimport includesDate from './utils/includesDate';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nexport class DatePickerRoot extends PickerAbstract {\n static displayName = 'DatePicker';\n\n static defaultProps = (props) => ({\n ...PickerAbstract.defaultProps(props),\n children: (\n <>\n <DatePicker.Trigger />\n <DatePicker.Popper />\n </>\n ),\n });\n\n navigateStep = 'month';\n keyStep = 'day';\n keyDiff = {\n ArrowLeft: -1,\n ArrowUp: -7,\n ArrowRight: 1,\n ArrowDown: 7,\n };\n\n handlerToday = () => {\n this.handlers.value(new Date(new Date().setHours(0, 0, 0, 0)));\n };\n\n getButtonTriggerProps() {\n const { value, locale } = this.asProps;\n return {\n ...super.getButtonTriggerProps(),\n placeholder: 'Select date',\n children: value ? formatDDMMYY(value, locale) : null,\n };\n }\n\n getTriggerProps() {\n const { value, onChange, onDisplayedPeriodChange, locale, disabled, size, getI18nText } =\n this.asProps;\n\n return {\n ...super.getButtonTriggerProps(),\n value,\n onChange,\n onDisplayedPeriodChange,\n locale,\n w: size === 'm' ? 145 : 160,\n disabledDates: disabled,\n children: () => <InputTrigger.SingleDateInput />,\n getI18nText,\n };\n }\n\n getPopperProps() {\n return {\n ...super.getPopperProps(),\n children: (\n <>\n <DatePicker.Header />\n <DatePicker.Calendar />\n <Divider ml={-4} mt={4} w='calc(100% + 32px)' />\n <DatePicker.Today />\n </>\n ),\n };\n }\n\n getTitleProps() {\n const { displayedPeriod, locale } = this.asProps;\n return {\n ...super.getTitleProps(),\n children: new Intl.DateTimeFormat(locale, { month: 'long', year: 'numeric' }).format(\n dayjs(displayedPeriod).startOf('month').toDate(),\n ),\n };\n }\n\n getTodayProps() {\n const { i18n, locale, disabled } = this.asProps;\n\n return {\n i18n,\n locale,\n onClick: this.handlerToday,\n disabled: disabled.some(includesDate(dayjs(), 'day')),\n };\n }\n}\n\nclass Today extends Component {\n static enhance = [i18nEnhance(localizedMessages)];\n\n render() {\n const SToday = Root;\n const { styles, getI18nText, disabled, onClick } = this.asProps;\n return sstyled(styles)(\n <SToday render={Box} __excludeProps={['onClick']}>\n <Button\n use='tertiary'\n children={getI18nText('today')}\n disabled={disabled}\n onClick={onClick}\n />\n </SToday>,\n );\n }\n}\n\nconst DatePicker = createComponent(\n DatePickerRoot,\n {\n Trigger: InputTrigger,\n ButtonTrigger,\n Popper,\n Header,\n Title,\n Prev,\n Next,\n Calendar,\n Today,\n },\n {\n parent: Calendar,\n },\n);\n\nexport default DatePicker;\n"],"mappings":"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"}
|
@@ -32,7 +32,7 @@ function RangeInput(props) {
|
|
32
32
|
return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SComparatorRangeInput, _ref2.cn("SComparatorRangeInput", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
|
33
33
|
"data-name": 'SComparatorRangeInput',
|
34
34
|
"tag": _InputTrigger["default"],
|
35
|
-
"__excludeProps": ['role', 'aria-haspopup', 'onChange', 'value']
|
35
|
+
"__excludeProps": ['role', 'aria-haspopup', 'aria-expanded', 'onChange', 'value']
|
36
36
|
}, _ref))), /*#__PURE__*/_react["default"].createElement(_InputTrigger["default"].DateRange, null, /*#__PURE__*/_react["default"].createElement(SRangeIndicator, _ref2.cn("SRangeIndicator", {
|
37
37
|
"range": props.range,
|
38
38
|
"disabled": props.disabled,
|
@@ -61,10 +61,10 @@ var DateRangeComparatorRoot = /*#__PURE__*/function (_RangeComparatorAbstr) {
|
|
61
61
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "navigateStep", 'month');
|
62
62
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "keyStep", 'day');
|
63
63
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "keyDiff", {
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
64
|
+
ArrowLeft: -1,
|
65
|
+
ArrowUp: -7,
|
66
|
+
ArrowRight: 1,
|
67
|
+
ArrowDown: 7
|
68
68
|
});
|
69
69
|
return _this;
|
70
70
|
}
|
@@ -94,9 +94,11 @@ var DateRangeComparatorRoot = /*#__PURE__*/function (_RangeComparatorAbstr) {
|
|
94
94
|
value: function getBodyProps(_ref11) {
|
95
95
|
var showButtons = _ref11.showButtons;
|
96
96
|
return {
|
97
|
-
children: /*#__PURE__*/_react["default"].createElement(
|
97
|
+
children: /*#__PURE__*/_react["default"].createElement(_flexBox.Flex, {
|
98
|
+
direction: "row-reverse"
|
99
|
+
}, /*#__PURE__*/_react["default"].createElement(DateRangeComparator.Periods, {
|
98
100
|
showButtons: showButtons
|
99
|
-
}))
|
101
|
+
}), /*#__PURE__*/_react["default"].createElement(DateRangeComparator.RangeCalendar, null))
|
100
102
|
};
|
101
103
|
}
|
102
104
|
}, {
|
@@ -195,7 +197,8 @@ function PeriodsOptions(props) {
|
|
195
197
|
var styles = props.styles,
|
196
198
|
SPeriodsOptions = props.Root;
|
197
199
|
return _ref9 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SPeriodsOptions, _ref9.cn("SPeriodsOptions", {
|
198
|
-
"render": DateRangeComparator.Period
|
200
|
+
"render": DateRangeComparator.Period,
|
201
|
+
"p": 2
|
199
202
|
}));
|
200
203
|
}
|
201
204
|
function PeriodsControls(props) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DateRangeComparator.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_components","_Calendar","_flexBox","_divider","_DateRangeComparatorAbstract","_InputTrigger","RangeInput","props","_ref","arguments[0]","_ref2","styles","SComparatorRangeInput","Box","SRangeIndicator","sstyled","createElement","cn","_objectSpread2","assignProps","InputTriggerBase","DateRange","range","disabled","Indicator","FromMaskedInput","RangeSep","ToMaskedInput","MaskedInput","Addon","SingleDateInput","DateRangeFromInput","DateRangeToInput","DateRangeComparatorRoot","_RangeComparatorAbstr","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","_createClass2","key","value","getRangeInput","DateRangeComparator","getPopperProps","_get2","_getPrototypeOf2","prototype","children","Fragment","Header","Body","showButtons","getHeaderProps","ValueDateRange","CompareToggle","CompareDateRange","getBodyProps","_ref11","RangeCalendar","Periods","getPeriodsProps","_ref12","_ref12$unclearable","unclearable","Divider","Column","Options","Controls","Apply","Reset","getFooterProps","_ref13","_ref13$unclearable","RangeComparatorAbstract","defaultProps","Trigger","Popper","_ref3","SValueDateRange","Root","_ref4","SSecondaryDateRange","_ref5","SRangeCalendar","Flex","CalendarHeader","tag","Prev","Title","Calendar","Next","_ref6","SPeriods","PeriodsDivider","_ref7","SPeriodsDivider","PeriodsColumn","_ref8","SPeriodsColumn","PeriodsOptions","_ref9","SPeriodsOptions","Period","PeriodsControls","_ref10","SPeriodsControls","createComponent","Footer","parent","_default","exports"],"sources":["../../src/DateRangeComparator.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Root, sstyled } from '@semcore/core';\nimport { Header as CalendarHeader, Next, Period, Popper, Prev, Title } from './components';\nimport { CalendarDays as Calendar } from './components/Calendar';\nimport { Box, Flex } from '@semcore/flex-box';\nimport Divider from '@semcore/divider';\nimport RangeComparatorAbstract, {\n Apply,\n Reset,\n Header,\n Trigger,\n CompareToggle,\n Body,\n Footer,\n} from './components/DateRangeComparatorAbstract';\nimport InputTriggerBase from './components/InputTrigger';\n\nfunction RangeInput(props) {\n const { styles } = props;\n const SComparatorRangeInput = Root;\n const SRangeIndicator = Box;\n return sstyled(styles)(\n <SComparatorRangeInput\n data-name='SComparatorRangeInput'\n render={Box}\n tag={InputTriggerBase}\n __excludeProps={['role', 'aria-haspopup', 'onChange', 'value']}\n >\n <InputTriggerBase.DateRange>\n <SRangeIndicator range={props.range} disabled={props.disabled} w={12} h={12} ml={2} />\n <InputTriggerBase.DateRange.Indicator />\n <InputTriggerBase.DateRange.FromMaskedInput />\n <InputTriggerBase.DateRange.RangeSep />\n <InputTriggerBase.DateRange.ToMaskedInput />\n </InputTriggerBase.DateRange>\n </SComparatorRangeInput>,\n );\n}\nRangeInput.Indicator = InputTriggerBase.Indicator;\nRangeInput.MaskedInput = InputTriggerBase.MaskedInput;\nRangeInput.Addon = InputTriggerBase.Addon;\nRangeInput.SingleDateInput = InputTriggerBase.SingleDateInput;\nRangeInput.DateRange = InputTriggerBase.DateRange;\nRangeInput.DateRangeFromInput = InputTriggerBase.DateRangeFromInput;\nRangeInput.DateRangeToInput = InputTriggerBase.DateRangeToInput;\nclass DateRangeComparatorRoot extends RangeComparatorAbstract {\n static displayName = 'DateRangeComparator';\n static defaultProps = (props) => {\n return {\n ...RangeComparatorAbstract.defaultProps(props),\n children: (\n <>\n <DateRangeComparator.Trigger />\n <DateRangeComparator.Popper />\n </>\n ),\n };\n };\n\n navigateStep = 'month';\n keyStep = 'day';\n keyDiff = {\n 37: -1,\n 38: -7,\n 39: 1,\n 40: 7,\n };\n\n getRangeInput() {\n return <DateRangeComparator.RangeInput.DateRange />;\n }\n\n getPopperProps() {\n return {\n ...super.getPopperProps(),\n children: (\n <>\n <DateRangeComparator.Header />\n <DateRangeComparator.Body showButtons={true} />\n </>\n ),\n };\n }\n\n getHeaderProps() {\n return {\n children: (\n <>\n <DateRangeComparator.ValueDateRange />\n <DateRangeComparator.CompareToggle />\n <DateRangeComparator.CompareDateRange />\n </>\n ),\n };\n }\n\n getBodyProps({ showButtons }) {\n return {\n children: (\n <>\n <DateRangeComparator.RangeCalendar />\n <DateRangeComparator.Periods showButtons={showButtons} />\n </>\n ),\n };\n }\n\n getPeriodsProps({ showButtons, unclearable = false }) {\n return {\n children: (\n <>\n <DateRangeComparator.Periods.Divider />\n <DateRangeComparator.Periods.Column>\n <DateRangeComparator.Periods.Options />\n {showButtons && (\n <DateRangeComparator.Periods.Controls>\n <DateRangeComparator.Apply />\n {!unclearable && <DateRangeComparator.Reset />}\n </DateRangeComparator.Periods.Controls>\n )}\n </DateRangeComparator.Periods.Column>\n </>\n ),\n };\n }\n\n getFooterProps({ unclearable = false }) {\n return {\n children: (\n <>\n <DateRangeComparator.Apply />\n {!unclearable && <DateRangeComparator.Reset />}\n </>\n ),\n };\n }\n}\n\nfunction ValueDateRange(props) {\n const { Root: SValueDateRange, styles } = props;\n return sstyled(styles)(<SValueDateRange render={DateRangeComparator.RangeInput} range='value' />);\n}\n\nfunction CompareDateRange(props) {\n const { Root: SSecondaryDateRange, styles } = props;\n return sstyled(styles)(\n <SSecondaryDateRange render={DateRangeComparator.RangeInput} range='compare' />,\n );\n}\n\nfunction RangeCalendar(props) {\n const { Root: SRangeCalendar, styles } = props;\n return sstyled(styles)(\n <SRangeCalendar render={Flex} gap={8}>\n <Flex direction='column'>\n <DateRangeComparator.CalendarHeader tag={Flex}>\n <DateRangeComparator.Prev />\n <DateRangeComparator.Title />\n </DateRangeComparator.CalendarHeader>\n <DateRangeComparator.Calendar />\n </Flex>\n <Flex direction='column'>\n <DateRangeComparator.CalendarHeader tag={Flex}>\n <DateRangeComparator.Title />\n <DateRangeComparator.Next />\n </DateRangeComparator.CalendarHeader>\n <DateRangeComparator.Calendar />\n </Flex>\n </SRangeCalendar>,\n );\n}\nfunction Periods(props) {\n const { Root: SPeriods, styles } = props;\n return sstyled(styles)(<SPeriods render={Flex} />);\n}\nfunction PeriodsDivider(props) {\n const { Root: SPeriodsDivider, styles } = props;\n return sstyled(styles)(<SPeriodsDivider orientation='vertical' h='auto' render={Divider} />);\n}\nfunction PeriodsColumn(props) {\n const { Root: SPeriodsColumn, styles } = props;\n return sstyled(styles)(\n <SPeriodsColumn render={Flex} direction='column' justifyContent='space-between' />,\n );\n}\nfunction PeriodsOptions(props) {\n const { styles, Root: SPeriodsOptions } = props;\n return sstyled(styles)(<SPeriodsOptions render={DateRangeComparator.Period} />);\n}\nfunction PeriodsControls(props) {\n const { styles, Root: SPeriodsControls } = props;\n return sstyled(styles)(<SPeriodsControls render={Flex} p={4} gap={2} />);\n}\n\nconst DateRangeComparator = createComponent(\n DateRangeComparatorRoot,\n {\n Popper,\n CalendarHeader,\n Title,\n Header,\n Prev,\n Next,\n Calendar,\n Period,\n Apply,\n Reset,\n\n Trigger,\n ValueDateRange,\n CompareToggle,\n CompareDateRange,\n Body,\n RangeCalendar,\n Periods: [\n Periods,\n {\n Divider: PeriodsDivider,\n Column: PeriodsColumn,\n Options: PeriodsOptions,\n Controls: PeriodsControls,\n },\n ],\n Footer,\n RangeInput,\n },\n {\n parent: Calendar,\n },\n);\n\nexport default DateRangeComparator;\n"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"DateRangeComparator.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_components","_Calendar","_flexBox","_divider","_DateRangeComparatorAbstract","_InputTrigger","RangeInput","props","_ref","arguments[0]","_ref2","styles","SComparatorRangeInput","Box","SRangeIndicator","sstyled","createElement","cn","_objectSpread2","assignProps","InputTriggerBase","DateRange","range","disabled","Indicator","FromMaskedInput","RangeSep","ToMaskedInput","MaskedInput","Addon","SingleDateInput","DateRangeFromInput","DateRangeToInput","DateRangeComparatorRoot","_RangeComparatorAbstr","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","ArrowLeft","ArrowUp","ArrowRight","ArrowDown","_createClass2","key","value","getRangeInput","DateRangeComparator","getPopperProps","_get2","_getPrototypeOf2","prototype","children","Fragment","Header","Body","showButtons","getHeaderProps","ValueDateRange","CompareToggle","CompareDateRange","getBodyProps","_ref11","Flex","direction","Periods","RangeCalendar","getPeriodsProps","_ref12","_ref12$unclearable","unclearable","Divider","Column","Options","Controls","Apply","Reset","getFooterProps","_ref13","_ref13$unclearable","RangeComparatorAbstract","defaultProps","Trigger","Popper","_ref3","SValueDateRange","Root","_ref4","SSecondaryDateRange","_ref5","SRangeCalendar","CalendarHeader","tag","Prev","Title","Calendar","Next","_ref6","SPeriods","PeriodsDivider","_ref7","SPeriodsDivider","PeriodsColumn","_ref8","SPeriodsColumn","PeriodsOptions","_ref9","SPeriodsOptions","Period","PeriodsControls","_ref10","SPeriodsControls","createComponent","Footer","parent","_default","exports"],"sources":["../../src/DateRangeComparator.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Root, sstyled } from '@semcore/core';\nimport { Header as CalendarHeader, Next, Period, Popper, Prev, Title } from './components';\nimport { CalendarDays as Calendar } from './components/Calendar';\nimport { Box, Flex } from '@semcore/flex-box';\nimport Divider from '@semcore/divider';\nimport RangeComparatorAbstract, {\n Apply,\n Reset,\n Header,\n Trigger,\n CompareToggle,\n Body,\n Footer,\n} from './components/DateRangeComparatorAbstract';\nimport InputTriggerBase from './components/InputTrigger';\n\nfunction RangeInput(props) {\n const { styles } = props;\n const SComparatorRangeInput = Root;\n const SRangeIndicator = Box;\n return sstyled(styles)(\n <SComparatorRangeInput\n data-name='SComparatorRangeInput'\n render={Box}\n tag={InputTriggerBase}\n __excludeProps={['role', 'aria-haspopup', 'aria-expanded', 'onChange', 'value']}\n >\n <InputTriggerBase.DateRange>\n <SRangeIndicator range={props.range} disabled={props.disabled} w={12} h={12} ml={2} />\n <InputTriggerBase.DateRange.Indicator />\n <InputTriggerBase.DateRange.FromMaskedInput />\n <InputTriggerBase.DateRange.RangeSep />\n <InputTriggerBase.DateRange.ToMaskedInput />\n </InputTriggerBase.DateRange>\n </SComparatorRangeInput>,\n );\n}\nRangeInput.Indicator = InputTriggerBase.Indicator;\nRangeInput.MaskedInput = InputTriggerBase.MaskedInput;\nRangeInput.Addon = InputTriggerBase.Addon;\nRangeInput.SingleDateInput = InputTriggerBase.SingleDateInput;\nRangeInput.DateRange = InputTriggerBase.DateRange;\nRangeInput.DateRangeFromInput = InputTriggerBase.DateRangeFromInput;\nRangeInput.DateRangeToInput = InputTriggerBase.DateRangeToInput;\nclass DateRangeComparatorRoot extends RangeComparatorAbstract {\n static displayName = 'DateRangeComparator';\n static defaultProps = (props) => {\n return {\n ...RangeComparatorAbstract.defaultProps(props),\n children: (\n <>\n <DateRangeComparator.Trigger />\n <DateRangeComparator.Popper />\n </>\n ),\n };\n };\n\n navigateStep = 'month';\n keyStep = 'day';\n keyDiff = {\n ArrowLeft: -1,\n ArrowUp: -7,\n ArrowRight: 1,\n ArrowDown: 7,\n };\n\n getRangeInput() {\n return <DateRangeComparator.RangeInput.DateRange />;\n }\n\n getPopperProps() {\n return {\n ...super.getPopperProps(),\n children: (\n <>\n <DateRangeComparator.Header />\n <DateRangeComparator.Body showButtons={true} />\n </>\n ),\n };\n }\n\n getHeaderProps() {\n return {\n children: (\n <>\n <DateRangeComparator.ValueDateRange />\n <DateRangeComparator.CompareToggle />\n <DateRangeComparator.CompareDateRange />\n </>\n ),\n };\n }\n\n getBodyProps({ showButtons }) {\n return {\n children: (\n <Flex direction='row-reverse'>\n <DateRangeComparator.Periods showButtons={showButtons} />\n <DateRangeComparator.RangeCalendar />\n </Flex>\n ),\n };\n }\n\n getPeriodsProps({ showButtons, unclearable = false }) {\n return {\n children: (\n <>\n <DateRangeComparator.Periods.Divider />\n <DateRangeComparator.Periods.Column>\n <DateRangeComparator.Periods.Options />\n {showButtons && (\n <DateRangeComparator.Periods.Controls>\n <DateRangeComparator.Apply />\n {!unclearable && <DateRangeComparator.Reset />}\n </DateRangeComparator.Periods.Controls>\n )}\n </DateRangeComparator.Periods.Column>\n </>\n ),\n };\n }\n\n getFooterProps({ unclearable = false }) {\n return {\n children: (\n <>\n <DateRangeComparator.Apply />\n {!unclearable && <DateRangeComparator.Reset />}\n </>\n ),\n };\n }\n}\n\nfunction ValueDateRange(props) {\n const { Root: SValueDateRange, styles } = props;\n return sstyled(styles)(<SValueDateRange render={DateRangeComparator.RangeInput} range='value' />);\n}\n\nfunction CompareDateRange(props) {\n const { Root: SSecondaryDateRange, styles } = props;\n return sstyled(styles)(\n <SSecondaryDateRange render={DateRangeComparator.RangeInput} range='compare' />,\n );\n}\n\nfunction RangeCalendar(props) {\n const { Root: SRangeCalendar, styles } = props;\n return sstyled(styles)(\n <SRangeCalendar render={Flex} gap={8}>\n <Flex direction='column'>\n <DateRangeComparator.CalendarHeader tag={Flex}>\n <DateRangeComparator.Prev />\n <DateRangeComparator.Title />\n </DateRangeComparator.CalendarHeader>\n <DateRangeComparator.Calendar />\n </Flex>\n <Flex direction='column'>\n <DateRangeComparator.CalendarHeader tag={Flex}>\n <DateRangeComparator.Title />\n <DateRangeComparator.Next />\n </DateRangeComparator.CalendarHeader>\n <DateRangeComparator.Calendar />\n </Flex>\n </SRangeCalendar>,\n );\n}\nfunction Periods(props) {\n const { Root: SPeriods, styles } = props;\n return sstyled(styles)(<SPeriods render={Flex} />);\n}\nfunction PeriodsDivider(props) {\n const { Root: SPeriodsDivider, styles } = props;\n return sstyled(styles)(<SPeriodsDivider orientation='vertical' h='auto' render={Divider} />);\n}\nfunction PeriodsColumn(props) {\n const { Root: SPeriodsColumn, styles } = props;\n return sstyled(styles)(\n <SPeriodsColumn render={Flex} direction='column' justifyContent='space-between' />,\n );\n}\nfunction PeriodsOptions(props) {\n const { styles, Root: SPeriodsOptions } = props;\n return sstyled(styles)(<SPeriodsOptions render={DateRangeComparator.Period} p={2} />);\n}\nfunction PeriodsControls(props) {\n const { styles, Root: SPeriodsControls } = props;\n return sstyled(styles)(<SPeriodsControls render={Flex} p={4} gap={2} />);\n}\n\nconst DateRangeComparator = createComponent(\n DateRangeComparatorRoot,\n {\n Popper,\n CalendarHeader,\n Title,\n Header,\n Prev,\n Next,\n Calendar,\n Period,\n Apply,\n Reset,\n\n Trigger,\n ValueDateRange,\n CompareToggle,\n CompareDateRange,\n Body,\n RangeCalendar,\n Periods: [\n Periods,\n {\n Divider: PeriodsDivider,\n Column: PeriodsColumn,\n Options: PeriodsOptions,\n Controls: PeriodsControls,\n },\n ],\n Footer,\n RangeInput,\n },\n {\n parent: Calendar,\n },\n);\n\nexport default DateRangeComparator;\n"],"mappings":"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"}
|