intergalactic 15.104.1 → 15.105.0-prerelease.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +23 -0
- package/button/index.d.ts +6 -0
- package/button/lib/cjs/Button.js +84 -67
- package/button/lib/cjs/Button.js.map +1 -1
- package/button/lib/cjs/index.d.js.map +1 -1
- package/button/lib/es6/Button.js +85 -67
- package/button/lib/es6/Button.js.map +1 -1
- package/button/lib/es6/index.d.js.map +1 -1
- package/button/lib/types/index.d.ts +6 -0
- package/components.json +5 -5
- package/data-table/Head.d.ts +4 -1
- package/data-table/lib/cjs/Body.js +3 -3
- package/data-table/lib/cjs/DataTable.js +36 -37
- package/data-table/lib/cjs/DataTable.js.map +1 -1
- package/data-table/lib/cjs/Head.js +13 -8
- package/data-table/lib/cjs/Head.js.map +1 -1
- package/data-table/lib/cjs/style/data-table.shadow.css +7 -4
- package/data-table/lib/es6/Body.js +3 -3
- package/data-table/lib/es6/DataTable.js +36 -37
- package/data-table/lib/es6/DataTable.js.map +1 -1
- package/data-table/lib/es6/Head.js +13 -8
- package/data-table/lib/es6/Head.js.map +1 -1
- package/data-table/lib/es6/style/data-table.shadow.css +7 -4
- package/data-table/lib/types/Head.d.ts +4 -1
- package/data-table/package.json +1 -1
- package/feedback-form/lib/cjs/FeedbackForm.js +9 -9
- package/feedback-form/lib/cjs/FeedbackForm.js.map +1 -1
- package/feedback-form/lib/cjs/component/checkbox-button/CheckboxButton.js +3 -3
- package/feedback-form/lib/cjs/component/feedback-rating/FeedbackRating.js +13 -16
- package/feedback-form/lib/cjs/component/feedback-rating/FeedbackRating.js.map +1 -1
- package/feedback-form/lib/cjs/component/slider-rating/SliderRating.js +6 -6
- package/feedback-form/lib/es6/FeedbackForm.js +9 -9
- package/feedback-form/lib/es6/FeedbackForm.js.map +1 -1
- package/feedback-form/lib/es6/component/checkbox-button/CheckboxButton.js +3 -3
- package/feedback-form/lib/es6/component/feedback-rating/FeedbackRating.js +9 -12
- package/feedback-form/lib/es6/component/feedback-rating/FeedbackRating.js.map +1 -1
- package/feedback-form/lib/es6/component/slider-rating/SliderRating.js +6 -6
- package/feedback-form/package.json +1 -1
- package/fullscreen-modal/index.d.ts +2 -2
- package/fullscreen-modal/lib/cjs/index.d.js.map +1 -1
- package/fullscreen-modal/lib/es6/index.d.js.map +1 -1
- package/fullscreen-modal/lib/types/index.d.ts +2 -2
- package/inline-edit/lib/cjs/InlineEdit.js +4 -4
- package/inline-edit/lib/cjs/translations/de.json +1 -1
- package/inline-edit/lib/cjs/translations/es.json +1 -1
- package/inline-edit/lib/cjs/translations/fr.json +1 -1
- package/inline-edit/lib/cjs/translations/it.json +1 -1
- package/inline-edit/lib/cjs/translations/ja.json +1 -1
- package/inline-edit/lib/cjs/translations/ko.json +1 -1
- package/inline-edit/lib/cjs/translations/nl.json +1 -1
- package/inline-edit/lib/cjs/translations/pl.json +1 -1
- package/inline-edit/lib/cjs/translations/pt.json +1 -1
- package/inline-edit/lib/cjs/translations/sv.json +1 -1
- package/inline-edit/lib/cjs/translations/tr.json +1 -1
- package/inline-edit/lib/cjs/translations/vi.json +1 -1
- package/inline-edit/lib/cjs/translations/zh.json +1 -1
- package/inline-edit/lib/es6/InlineEdit.js +4 -4
- package/inline-edit/lib/es6/translations/de.json +1 -1
- package/inline-edit/lib/es6/translations/es.json +1 -1
- package/inline-edit/lib/es6/translations/fr.json +1 -1
- package/inline-edit/lib/es6/translations/it.json +1 -1
- package/inline-edit/lib/es6/translations/ja.json +1 -1
- package/inline-edit/lib/es6/translations/ko.json +1 -1
- package/inline-edit/lib/es6/translations/nl.json +1 -1
- package/inline-edit/lib/es6/translations/pl.json +1 -1
- package/inline-edit/lib/es6/translations/pt.json +1 -1
- package/inline-edit/lib/es6/translations/sv.json +1 -1
- package/inline-edit/lib/es6/translations/tr.json +1 -1
- package/inline-edit/lib/es6/translations/vi.json +1 -1
- package/inline-edit/lib/es6/translations/zh.json +1 -1
- package/inline-edit/package.json +1 -1
- package/modal/index.d.ts +2 -1
- package/modal/lib/cjs/index.d.js.map +1 -1
- package/modal/lib/es6/index.d.js.map +1 -1
- package/modal/lib/types/index.d.ts +2 -1
- package/notice/index.d.ts +2 -2
- package/notice/lib/cjs/Notice.js +19 -17
- package/notice/lib/cjs/Notice.js.map +1 -1
- package/notice/lib/cjs/index.d.js.map +1 -1
- package/notice/lib/cjs/style/notice.shadow.css +3 -1
- package/notice/lib/es6/Notice.js +19 -17
- package/notice/lib/es6/Notice.js.map +1 -1
- package/notice/lib/es6/index.d.js.map +1 -1
- package/notice/lib/es6/style/notice.shadow.css +3 -1
- package/notice/lib/types/index.d.ts +2 -2
- package/notice/package.json +1 -1
- package/package.json +1 -1
- package/side-panel/index.d.ts +2 -1
- package/side-panel/lib/cjs/index.d.js.map +1 -1
- package/side-panel/lib/es6/index.d.js.map +1 -1
- package/side-panel/lib/types/index.d.ts +2 -1
- package/time-picker/lib/cjs/TimePicker.js +12 -12
- package/time-picker/lib/cjs/translations/de.json +6 -5
- package/time-picker/lib/cjs/translations/es.json +6 -5
- package/time-picker/lib/cjs/translations/fr.json +6 -5
- package/time-picker/lib/cjs/translations/it.json +6 -5
- package/time-picker/lib/cjs/translations/ja.json +6 -5
- package/time-picker/lib/cjs/translations/ko.json +6 -5
- package/time-picker/lib/cjs/translations/nl.json +6 -5
- package/time-picker/lib/cjs/translations/pl.json +6 -5
- package/time-picker/lib/cjs/translations/pt.json +6 -5
- package/time-picker/lib/cjs/translations/sv.json +6 -5
- package/time-picker/lib/cjs/translations/tr.json +6 -5
- package/time-picker/lib/cjs/translations/vi.json +6 -5
- package/time-picker/lib/cjs/translations/zh.json +6 -5
- package/time-picker/lib/es6/TimePicker.js +12 -12
- package/time-picker/lib/es6/translations/de.json +6 -5
- package/time-picker/lib/es6/translations/es.json +6 -5
- package/time-picker/lib/es6/translations/fr.json +6 -5
- package/time-picker/lib/es6/translations/it.json +6 -5
- package/time-picker/lib/es6/translations/ja.json +6 -5
- package/time-picker/lib/es6/translations/ko.json +6 -5
- package/time-picker/lib/es6/translations/nl.json +6 -5
- package/time-picker/lib/es6/translations/pl.json +6 -5
- package/time-picker/lib/es6/translations/pt.json +6 -5
- package/time-picker/lib/es6/translations/sv.json +6 -5
- package/time-picker/lib/es6/translations/tr.json +6 -5
- package/time-picker/lib/es6/translations/vi.json +6 -5
- package/time-picker/lib/es6/translations/zh.json +6 -5
- package/time-picker/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Head.js","names":["_core","require","_react","_interopRequireDefault","_flexBox","_scrollArea","_m","_m2","_assignProps2","_utils","_logger","_ref4","_cssToIntDefault","SORT_ICON_WIDTH","exports","SORTING_ICON","desc","SortDesc","asc","SortAsc","ariaSort","displayContents","display","Head","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","Map","name","event","asProps","$onSortClick","key","preventDefault","active","ref","sortWrapperRefs","set","column","setRef","props","forwardRef","getAttribute","calculateMinWidth","node","defaultMinWidths","has","wMin","wMax","w","computedStyle","window","getComputedStyle","cssToIntDefault","getPropertyValue","_this$defaultMinWidth","clonedColumn","document","createElement","childNodes","forEach","get","append","cloneNode","style","setProperty","styles","getPropertyPriority","body","appendChild","computedWidth","Math","floor","getBoundingClientRect","width","removeChild","defaultNodeWidth","freeSpace","_createClass2","value","renderColumns","columns","_this2","map","renderColumn","_ref2","_column$columns","_this$asProps","use","hidden","uid","SColumn","Flex","SHead","Box","SSortWrapper","SSortIcon","sortDirection","ariaSortValue","sortable","undefined","isGroup","cSize","flattenColumns","_getFixedStyle","getFixedStyle","_getFixedStyle2","_slicedToArray2","_objectSpread2","flexBasis","flex","setVar","varWidth","sstyled","cn","fixed","resizable","borderLeft","borderRight","makeColumnRefHandler","callAllEventHandlers","onClick","bindHandlerSortClick","onKeyDown","bindHandlerKeyDown","Fragment","children","makeSortRefHandler","render","_ref","_ref3","SHeadWrapper","_this$asProps2","Children","columnsChildren","onResize","$scrollRef","sticky","withScrollBar","animationsDisabled","_getScrollOffsetValue","getScrollOffsetValue","_getScrollOffsetValue2","offsetLeftSum","offsetRightSum","logger","warn","displayName","Container","role","tabIndex","zIndex","assignProps","Boolean","Bar","orientation","origin","Component","_default"],"sources":["../../src/Head.tsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box, Flex } from '@semcore/flex-box';\nimport ScrollArea from '@semcore/scroll-area';\nimport SortDesc from '@semcore/icon/SortDesc/m';\nimport SortAsc from '@semcore/icon/SortAsc/m';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport { flattenColumns, getFixedStyle, getScrollOffsetValue } from './utils';\nimport type { Column } from './types';\nimport logger from '@semcore/utils/lib/logger';\nimport { setRef } from '@semcore/utils/lib/ref';\nimport cssToIntDefault from '@semcore/utils/lib/cssToIntDefault';\n\nexport const SORT_ICON_WIDTH = 20;\n\nconst SORTING_ICON = {\n desc: SortDesc,\n asc: SortAsc,\n} as const;\nconst ariaSort = {\n desc: 'descending',\n asc: 'ascending',\n} as const;\nconst displayContents = { display: 'contents' };\n\ntype AsProps = {\n $onSortClick: (name: string, event: React.MouseEvent | React.KeyboardEvent) => void;\n $scrollRef: (instance: unknown) => void;\n use: 'primary' | 'secondary';\n columnsChildren: Column[];\n onResize: ResizeObserverCallback;\n sticky: boolean;\n ['data-ui-name']: string;\n uid?: string;\n withScrollBar?: boolean;\n animationsDisabled?: boolean;\n};\n\nclass Head extends Component<AsProps> {\n columns: Column[] = [];\n\n static displayName: string;\n\n sortWrapperRefs = new Map<Node, boolean>();\n defaultMinWidths = new Map<Node, number>();\n\n bindHandlerSortClick = (name: string) => (event: React.MouseEvent) => {\n this.asProps.$onSortClick(name, event);\n };\n\n bindHandlerKeyDown = (name: string) => (event: React.KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.asProps.$onSortClick(name, event);\n }\n };\n\n makeSortRefHandler = (active: boolean) => (ref: HTMLElement | null) => {\n if (ref) {\n this.sortWrapperRefs.set(ref, active);\n }\n };\n\n makeColumnRefHandler = (column: Column) => (ref: HTMLElement | null) => {\n setRef(column.props.ref, ref);\n if (column.props.forwardRef) {\n setRef(column.props.forwardRef, ref);\n }\n\n if (ref && ref.getAttribute('scope') === 'col') {\n this.calculateMinWidth(ref, column);\n }\n };\n\n calculateMinWidth = (node: HTMLElement, column: Column) => {\n if (\n !this.defaultMinWidths.has(node) &&\n (column.props.wMin || column.props.wMax || column.props.w)\n ) {\n const computedStyle = window.getComputedStyle(node);\n\n this.defaultMinWidths.set(node, cssToIntDefault(computedStyle.getPropertyValue('width')));\n }\n\n if (column.active) {\n const clonedColumn = document.createElement('div');\n const computedStyle = window.getComputedStyle(node);\n\n node.childNodes.forEach((node) => {\n if (!this.sortWrapperRefs.get(node)) {\n clonedColumn.append(node.cloneNode(true));\n }\n });\n\n clonedColumn.style.setProperty('visibility', 'hidden', 'important');\n\n const styles = [\n 'display',\n 'flex',\n 'margin',\n 'padding',\n 'background',\n 'font-style',\n 'font-width',\n 'font-size',\n 'font-weight',\n ];\n\n styles.forEach((key) => {\n clonedColumn.style.setProperty(\n key,\n computedStyle.getPropertyValue(key),\n computedStyle.getPropertyPriority(key),\n );\n });\n\n clonedColumn.style.setProperty('width', 'fit-content', 'important');\n\n document.body.appendChild(clonedColumn);\n\n const computedWidth = Math.floor(clonedColumn.getBoundingClientRect().width);\n\n document.body.removeChild(clonedColumn);\n\n const defaultNodeWidth = this.defaultMinWidths.get(node) ?? 0;\n\n if (computedWidth >= defaultNodeWidth) {\n node.style.setProperty('min-width', defaultNodeWidth + SORT_ICON_WIDTH + 'px');\n } else {\n const freeSpace = defaultNodeWidth - computedWidth;\n\n if (freeSpace < SORT_ICON_WIDTH) {\n node.style.setProperty('min-width', computedWidth + SORT_ICON_WIDTH + 'px');\n }\n }\n } else if (this.defaultMinWidths.has(node)) {\n node.style.setProperty('min-width', this.defaultMinWidths.get(node) + 'px');\n }\n };\n\n renderColumns(columns: Column[], width: number) {\n return columns.map((column) => this.renderColumn(column, width));\n }\n\n renderColumn(column: Column, width: number) {\n const { styles, use, hidden, uid } = this.asProps;\n const SColumn = Flex as any;\n const SHead = Box;\n const SSortWrapper = 'div';\n const SSortIcon = SORTING_ICON[column.sortDirection];\n const ariaSortValue =\n column.sortable && column.active ? ariaSort[column.sortDirection] : undefined;\n const isGroup = column.columns?.length > 0;\n const cSize = isGroup ? flattenColumns(column.columns).length : 1;\n const [name, value] = getFixedStyle(column, this.columns);\n\n const style = {\n flexBasis: column.props.flex === undefined && `${width * cSize}%`,\n ...column.props.style,\n };\n\n if (name !== undefined && value !== undefined) {\n style[name] = value;\n }\n\n if (!column.setVar) {\n style['flexBasis'] = `var(${column.varWidth})`;\n }\n\n return sstyled(styles)(\n <SColumn\n role={isGroup ? undefined : 'columnheader'}\n scope={isGroup ? 'colgroup' : 'col'}\n key={column.name}\n id={`igc-table-${uid}-${column.name}`}\n use={use}\n fixed={column.fixed}\n resizable={column.resizable}\n sortable={column.sortable}\n borderLeft={isGroup ? false : column.borderLeft}\n borderRight={isGroup ? false : column.borderRight}\n active={isGroup ? false : column.active}\n group={isGroup}\n tabIndex={column.sortable ? 0 : undefined}\n __excludeProps={['hidden']}\n {...column.props}\n ref={this.makeColumnRefHandler(column)}\n onClick={callAllEventHandlers(\n column.props.onClick,\n column.sortable ? this.bindHandlerSortClick(column.name) : undefined,\n )}\n onKeyDown={callAllEventHandlers(\n column.props.onKeyDown,\n column.sortable ? this.bindHandlerKeyDown(column.name) : undefined,\n )}\n style={style}\n hidden={hidden}\n aria-sort={ariaSortValue}\n >\n {isGroup ? (\n <>\n <SColumn\n role='columnheader'\n groupHead\n use={use}\n active={column.active}\n borderLeft={column.borderLeft}\n borderRight={column.borderRight}\n >\n <div>{column.props.children}</div>\n </SColumn>\n <SHead>{this.renderColumns(column.columns, 100 / cSize)}</SHead>\n </>\n ) : (\n <>\n {column.props.children}\n {column.sortable ? (\n <SSortWrapper ref={this.makeSortRefHandler(column.active)}>\n <SSortIcon />\n </SSortWrapper>\n ) : null}\n </>\n )}\n </SColumn>,\n );\n }\n\n render() {\n const SHead = Root;\n const SHeadWrapper = Box as any;\n const {\n Children,\n styles,\n columnsChildren,\n onResize,\n $scrollRef,\n sticky,\n withScrollBar,\n animationsDisabled,\n } = this.asProps;\n\n this.columns = flattenColumns(columnsChildren);\n\n const [offsetLeftSum, offsetRightSum] = getScrollOffsetValue(this.columns);\n\n logger.warn(\n sticky,\n \"'sticky' property is deprecated, use '<Sticky/>' wrapper\",\n this.asProps['data-ui-name'] || Head.displayName,\n );\n\n return sstyled(styles)(\n <SHeadWrapper sticky={sticky} animationsDisabled={animationsDisabled}>\n <ScrollArea\n leftOffset={offsetLeftSum}\n rightOffset={offsetRightSum}\n shadow\n onResize={onResize}\n >\n <ScrollArea.Container ref={$scrollRef} role='rowgroup' tabIndex={-1} zIndex={2}>\n <SHead render={Box} role='row' aria-rowindex='1' __excludeProps={['hidden']}>\n {this.renderColumns(columnsChildren, 100 / this.columns.length)}\n </SHead>\n </ScrollArea.Container>\n {Boolean(withScrollBar) && (\n <div style={displayContents} role='rowgroup'>\n <div style={displayContents} role='row'>\n <div style={displayContents} role='cell'>\n <ScrollArea.Bar orientation='horizontal' />\n </div>\n </div>\n </div>\n )}\n </ScrollArea>\n {Children.origin}\n </SHeadWrapper>,\n );\n }\n}\n\nexport default Head;\n"],"mappings":";;;;;;;;;;;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AADA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,EAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,GAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,aAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AAEA,IAAAS,OAAA,GAAAP,sBAAA,CAAAF,OAAA;AACA,IAAAU,KAAA,GAAAV,OAAA;AACA,IAAAW,gBAAA,GAAAT,sBAAA,CAAAF,OAAA;AAEO,IAAMY,eAAe,GAAG,EAAE;AAACC,OAAA,CAAAD,eAAA,GAAAA,eAAA;AAElC,IAAME,YAAY,GAAG;EACnBC,IAAI,EAAEC,aAAQ;EACdC,GAAG,EAAEC;AACP,CAAU;AACV,IAAMC,QAAQ,GAAG;EACfJ,IAAI,EAAE,YAAY;EAClBE,GAAG,EAAE;AACP,CAAU;AACV,IAAMG,eAAe,GAAG;EAAEC,OAAO,EAAE;AAAW,CAAC;AAAC,IAe1CC,IAAI,0BAAAC,UAAA;EAAA,IAAAC,UAAA,aAAAF,IAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,OAAAC,aAAA,aAAAJ,IAAA;EAAA,SAAAA,KAAA;IAAA,IAAAK,KAAA;IAAA,IAAAC,gBAAA,mBAAAN,IAAA;IAAA,SAAAO,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAAP,KAAA,GAAAF,MAAA,CAAAU,IAAA,CAAAC,KAAA,CAAAX,MAAA,SAAAY,MAAA,CAAAL,IAAA;IAAA,IAAAM,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,cACY,EAAE;IAAA,IAAAW,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,sBAIJ,IAAIa,GAAG,EAAiB;IAAA,IAAAF,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,uBACvB,IAAIa,GAAG,EAAgB;IAAA,IAAAF,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,2BAEnB,UAACc,IAAY;MAAA,OAAK,UAACC,KAAuB,EAAK;QACpEf,KAAA,CAAKgB,OAAO,CAACC,YAAY,CAACH,IAAI,EAAEC,KAAK,CAAC;MACxC,CAAC;IAAA;IAAA,IAAAJ,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,yBAEoB,UAACc,IAAY;MAAA,OAAK,UAACC,KAA0B,EAAK;QACrE,IAAIA,KAAK,CAACG,GAAG,KAAK,OAAO,IAAIH,KAAK,CAACG,GAAG,KAAK,GAAG,EAAE;UAC9CH,KAAK,CAACI,cAAc,EAAE;UACtBnB,KAAA,CAAKgB,OAAO,CAACC,YAAY,CAACH,IAAI,EAAEC,KAAK,CAAC;QACxC;MACF,CAAC;IAAA;IAAA,IAAAJ,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,yBAEoB,UAACoB,MAAe;MAAA,OAAK,UAACC,GAAuB,EAAK;QACrE,IAAIA,GAAG,EAAE;UACPrB,KAAA,CAAKsB,eAAe,CAACC,GAAG,CAACF,GAAG,EAAED,MAAM,CAAC;QACvC;MACF,CAAC;IAAA;IAAA,IAAAT,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,2BAEsB,UAACwB,MAAc;MAAA,OAAK,UAACH,GAAuB,EAAK;QACtE,IAAAI,YAAM,EAACD,MAAM,CAACE,KAAK,CAACL,GAAG,EAAEA,GAAG,CAAC;QAC7B,IAAIG,MAAM,CAACE,KAAK,CAACC,UAAU,EAAE;UAC3B,IAAAF,YAAM,EAACD,MAAM,CAACE,KAAK,CAACC,UAAU,EAAEN,GAAG,CAAC;QACtC;QAEA,IAAIA,GAAG,IAAIA,GAAG,CAACO,YAAY,CAAC,OAAO,CAAC,KAAK,KAAK,EAAE;UAC9C5B,KAAA,CAAK6B,iBAAiB,CAACR,GAAG,EAAEG,MAAM,CAAC;QACrC;MACF,CAAC;IAAA;IAAA,IAAAb,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,wBAEmB,UAAC8B,IAAiB,EAAEN,MAAc,EAAK;MACzD,IACE,CAACxB,KAAA,CAAK+B,gBAAgB,CAACC,GAAG,CAACF,IAAI,CAAC,KAC/BN,MAAM,CAACE,KAAK,CAACO,IAAI,IAAIT,MAAM,CAACE,KAAK,CAACQ,IAAI,IAAIV,MAAM,CAACE,KAAK,CAACS,CAAC,CAAC,EAC1D;QACA,IAAMC,aAAa,GAAGC,MAAM,CAACC,gBAAgB,CAACR,IAAI,CAAC;QAEnD9B,KAAA,CAAK+B,gBAAgB,CAACR,GAAG,CAACO,IAAI,EAAE,IAAAS,2BAAe,EAACH,aAAa,CAACI,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;MAC3F;MAEA,IAAIhB,MAAM,CAACJ,MAAM,EAAE;QAAA,IAAAqB,qBAAA;QACjB,IAAMC,YAAY,GAAGC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;QAClD,IAAMR,cAAa,GAAGC,MAAM,CAACC,gBAAgB,CAACR,IAAI,CAAC;QAEnDA,IAAI,CAACe,UAAU,CAACC,OAAO,CAAC,UAAChB,IAAI,EAAK;UAChC,IAAI,CAAC9B,KAAA,CAAKsB,eAAe,CAACyB,GAAG,CAACjB,IAAI,CAAC,EAAE;YACnCY,YAAY,CAACM,MAAM,CAAClB,IAAI,CAACmB,SAAS,CAAC,IAAI,CAAC,CAAC;UAC3C;QACF,CAAC,CAAC;QAEFP,YAAY,CAACQ,KAAK,CAACC,WAAW,CAAC,YAAY,EAAE,QAAQ,EAAE,WAAW,CAAC;QAEnE,IAAMC,MAAM,GAAG,CACb,SAAS,EACT,MAAM,EACN,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,aAAa,CACd;QAEDA,MAAM,CAACN,OAAO,CAAC,UAAC5B,GAAG,EAAK;UACtBwB,YAAY,CAACQ,KAAK,CAACC,WAAW,CAC5BjC,GAAG,EACHkB,cAAa,CAACI,gBAAgB,CAACtB,GAAG,CAAC,EACnCkB,cAAa,CAACiB,mBAAmB,CAACnC,GAAG,CAAC,CACvC;QACH,CAAC,CAAC;QAEFwB,YAAY,CAACQ,KAAK,CAACC,WAAW,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,CAAC;QAEnER,QAAQ,CAACW,IAAI,CAACC,WAAW,CAACb,YAAY,CAAC;QAEvC,IAAMc,aAAa,GAAGC,IAAI,CAACC,KAAK,CAAChB,YAAY,CAACiB,qBAAqB,EAAE,CAACC,KAAK,CAAC;QAE5EjB,QAAQ,CAACW,IAAI,CAACO,WAAW,CAACnB,YAAY,CAAC;QAEvC,IAAMoB,gBAAgB,IAAArB,qBAAA,GAAGzC,KAAA,CAAK+B,gBAAgB,CAACgB,GAAG,CAACjB,IAAI,CAAC,cAAAW,qBAAA,cAAAA,qBAAA,GAAI,CAAC;QAE7D,IAAIe,aAAa,IAAIM,gBAAgB,EAAE;UACrChC,IAAI,CAACoB,KAAK,CAACC,WAAW,CAAC,WAAW,EAAEW,gBAAgB,GAAG7E,eAAe,GAAG,IAAI,CAAC;QAChF,CAAC,MAAM;UACL,IAAM8E,SAAS,GAAGD,gBAAgB,GAAGN,aAAa;UAElD,IAAIO,SAAS,GAAG9E,eAAe,EAAE;YAC/B6C,IAAI,CAACoB,KAAK,CAACC,WAAW,CAAC,WAAW,EAAEK,aAAa,GAAGvE,eAAe,GAAG,IAAI,CAAC;UAC7E;QACF;MACF,CAAC,MAAM,IAAIe,KAAA,CAAK+B,gBAAgB,CAACC,GAAG,CAACF,IAAI,CAAC,EAAE;QAC1CA,IAAI,CAACoB,KAAK,CAACC,WAAW,CAAC,WAAW,EAAEnD,KAAA,CAAK+B,gBAAgB,CAACgB,GAAG,CAACjB,IAAI,CAAC,GAAG,IAAI,CAAC;MAC7E;IACF,CAAC;IAAA,OAAA9B,KAAA;EAAA;EAAA,IAAAgE,aAAA,aAAArE,IAAA;IAAAuB,GAAA;IAAA+C,KAAA,EAED,SAAAC,cAAcC,OAAiB,EAAEP,KAAa,EAAE;MAAA,IAAAQ,MAAA;MAC9C,OAAOD,OAAO,CAACE,GAAG,CAAC,UAAC7C,MAAM;QAAA,OAAK4C,MAAI,CAACE,YAAY,CAAC9C,MAAM,EAAEoC,KAAK,CAAC;MAAA,EAAC;IAClE;EAAC;IAAA1C,GAAA;IAAA+C,KAAA,EAED,SAAAK,aAAa9C,MAAc,EAAEoC,KAAa,EAAE;MAAA,IAAAW,KAAA,EAAAC,eAAA;MAC1C,IAAAC,aAAA,GAAqC,IAAI,CAACzD,OAAO;QAAzCoC,MAAM,GAAAqB,aAAA,CAANrB,MAAM;QAAEsB,GAAG,GAAAD,aAAA,CAAHC,GAAG;QAAEC,MAAM,GAAAF,aAAA,CAANE,MAAM;QAAEC,GAAG,GAAAH,aAAA,CAAHG,GAAG;MAChC,IAAMC,OAAO,GAAGC,aAAW;MAC3B,IAAMC,KAAK,GAAGC,YAAG;MACjB,IAAMC,YAAY,GAAG,KAAK;MAC1B,IAAMC,SAAS,GAAG/F,YAAY,CAACqC,MAAM,CAAC2D,aAAa,CAAC;MACpD,IAAMC,aAAa,GACjB5D,MAAM,CAAC6D,QAAQ,IAAI7D,MAAM,CAACJ,MAAM,GAAG5B,QAAQ,CAACgC,MAAM,CAAC2D,aAAa,CAAC,GAAGG,SAAS;MAC/E,IAAMC,OAAO,GAAG,EAAAf,eAAA,GAAAhD,MAAM,CAAC2C,OAAO,cAAAK,eAAA,uBAAdA,eAAA,CAAgBpE,MAAM,IAAG,CAAC;MAC1C,IAAMoF,KAAK,GAAGD,OAAO,GAAG,IAAAE,qBAAc,EAACjE,MAAM,CAAC2C,OAAO,CAAC,CAAC/D,MAAM,GAAG,CAAC;MACjE,IAAAsF,cAAA,GAAsB,IAAAC,oBAAa,EAACnE,MAAM,EAAE,IAAI,CAAC2C,OAAO,CAAC;QAAAyB,eAAA,OAAAC,eAAA,aAAAH,cAAA;QAAlD5E,IAAI,GAAA8E,eAAA;QAAE3B,KAAK,GAAA2B,eAAA;MAElB,IAAM1C,KAAK,OAAA4C,cAAA;QACTC,SAAS,EAAEvE,MAAM,CAACE,KAAK,CAACsE,IAAI,KAAKV,SAAS,OAAA5E,MAAA,CAAOkD,KAAK,GAAG4B,KAAK;MAAG,GAC9DhE,MAAM,CAACE,KAAK,CAACwB,KAAK,CACtB;MAED,IAAIpC,IAAI,KAAKwE,SAAS,IAAIrB,KAAK,KAAKqB,SAAS,EAAE;QAC7CpC,KAAK,CAACpC,IAAI,CAAC,GAAGmD,KAAK;MACrB;MAEA,IAAI,CAACzC,MAAM,CAACyE,MAAM,EAAE;QAClB/C,KAAK,CAAC,WAAW,CAAC,UAAAxC,MAAA,CAAUc,MAAM,CAAC0E,QAAQ,MAAG;MAChD;MAEA,OAAA3B,KAAA,GAAO,IAAA4B,aAAO,EAAC/C,MAAM,CAAC,eACpB9E,MAAA,YAAAsE,aAAA,CAACiC,OAAO,EAAAN,KAAA,CAAA6B,EAAA,gBAAAN,cAAA,iBAAAA,cAAA;QAAA,QACAP,OAAO,GAAGD,SAAS,GAAG,cAAc;QAAA,SACnCC,OAAO,GAAG,UAAU,GAAG,KAAK;QAAA,OAC9B/D,MAAM,CAACV,IAAI;QAAA,mBAAAJ,MAAA,CACCkE,GAAG,OAAAlE,MAAA,CAAIc,MAAM,CAACV,IAAI;QAAA,OAC9B4D,GAAG;QAAA,SACDlD,MAAM,CAAC6E,KAAK;QAAA,aACR7E,MAAM,CAAC8E,SAAS;QAAA,YACjB9E,MAAM,CAAC6D,QAAQ;QAAA,cACbE,OAAO,GAAG,KAAK,GAAG/D,MAAM,CAAC+E,UAAU;QAAA,eAClChB,OAAO,GAAG,KAAK,GAAG/D,MAAM,CAACgF,WAAW;QAAA,UACzCjB,OAAO,GAAG,KAAK,GAAG/D,MAAM,CAACJ,MAAM;QAAA,SAChCmE,OAAO;QAAA,YACJ/D,MAAM,CAAC6D,QAAQ,GAAG,CAAC,GAAGC,SAAS;QAAA,kBACzB,CAAC,QAAQ;MAAC,GACtB9D,MAAM,CAACE,KAAK;QAAA,OACX,IAAI,CAAC+E,oBAAoB,CAACjF,MAAM,CAAC;QAAA,WAC7B,IAAAkF,kCAAoB,EAC3BlF,MAAM,CAACE,KAAK,CAACiF,OAAO,EACpBnF,MAAM,CAAC6D,QAAQ,GAAG,IAAI,CAACuB,oBAAoB,CAACpF,MAAM,CAACV,IAAI,CAAC,GAAGwE,SAAS,CACrE;QAAA,aACU,IAAAoB,kCAAoB,EAC7BlF,MAAM,CAACE,KAAK,CAACmF,SAAS,EACtBrF,MAAM,CAAC6D,QAAQ,GAAG,IAAI,CAACyB,kBAAkB,CAACtF,MAAM,CAACV,IAAI,CAAC,GAAGwE,SAAS,CACnE;QAAA,SACMpC,KAAK;QAAA,UACJyB,MAAM;QAAA,aACHS;MAAa,KAEvBG,OAAO,gBACNjH,MAAA,YAAAsE,aAAA,CAAAtE,MAAA,YAAAyI,QAAA,qBACEzI,MAAA,YAAAsE,aAAA,CAACiC,OAAO,EAAAN,KAAA,CAAA6B,EAAA;QAAA,QACD,cAAc;QAAA;QAAA,OAEd1B,GAAG;QAAA,UACAlD,MAAM,CAACJ,MAAM;QAAA,cACTI,MAAM,CAAC+E,UAAU;QAAA,eAChB/E,MAAM,CAACgF;MAAW,iBAE/BlI,MAAA,YAAAsE,aAAA,QAAA2B,KAAA,CAAA6B,EAAA,aAAM5E,MAAM,CAACE,KAAK,CAACsF,QAAQ,CAAO,CAC1B,eACV1I,MAAA,YAAAsE,aAAA,CAACmC,KAAK,EAAAR,KAAA,CAAA6B,EAAA,eAAE,IAAI,CAAClC,aAAa,CAAC1C,MAAM,CAAC2C,OAAO,EAAE,GAAG,GAAGqB,KAAK,CAAC,CAAS,CAC/D,gBAEHlH,MAAA,YAAAsE,aAAA,CAAAtE,MAAA,YAAAyI,QAAA,QACGvF,MAAM,CAACE,KAAK,CAACsF,QAAQ,EACrBxF,MAAM,CAAC6D,QAAQ,gBACd/G,MAAA,YAAAsE,aAAA,CAACqC,YAAY,EAAAV,KAAA,CAAA6B,EAAA;QAAA,OAAM,IAAI,CAACa,kBAAkB,CAACzF,MAAM,CAACJ,MAAM;MAAC,iBACvD9C,MAAA,YAAAsE,aAAA,CAACsC,SAAS,EAAAX,KAAA,CAAA6B,EAAA,kBAAG,CACA,GACb,IAAI,CAEX,CACO;IAEd;EAAC;IAAAlF,GAAA;IAAA+C,KAAA,EAED,SAAAiD,OAAA,EAAS;MAAA,IAAAC,IAAA,QAAAnG,OAAA;QAAAoG,KAAA;MACP,IAAMrC,KAAK,GAgCYC,YAAG;MA/B1B,IAAMqC,YAAY,GAAGrC,YAAU;MAC/B,IAAAsC,cAAA,GASI,IAAI,CAACtG,OAAO;QARduG,QAAQ,GAAAD,cAAA,CAARC,QAAQ;QACRnE,MAAM,GAAAkE,cAAA,CAANlE,MAAM;QACNoE,eAAe,GAAAF,cAAA,CAAfE,eAAe;QACfC,QAAQ,GAAAH,cAAA,CAARG,QAAQ;QACRC,UAAU,GAAAJ,cAAA,CAAVI,UAAU;QACVC,MAAM,GAAAL,cAAA,CAANK,MAAM;QACNC,aAAa,GAAAN,cAAA,CAAbM,aAAa;QACbC,kBAAkB,GAAAP,cAAA,CAAlBO,kBAAkB;MAGpB,IAAI,CAAC1D,OAAO,GAAG,IAAAsB,qBAAc,EAAC+B,eAAe,CAAC;MAE9C,IAAAM,qBAAA,GAAwC,IAAAC,2BAAoB,EAAC,IAAI,CAAC5D,OAAO,CAAC;QAAA6D,sBAAA,OAAAnC,eAAA,aAAAiC,qBAAA;QAAnEG,aAAa,GAAAD,sBAAA;QAAEE,cAAc,GAAAF,sBAAA;MAEpCG,kBAAM,CAACC,IAAI,CACTT,MAAM,EACN,0DAA0D,EAC1D,IAAI,CAAC3G,OAAO,CAAC,cAAc,CAAC,IAAIrB,IAAI,CAAC0I,WAAW,CACjD;MAED,OAAAjB,KAAA,GAAO,IAAAjB,aAAO,EAAC/C,MAAM,CAAC,eACpB9E,MAAA,YAAAsE,aAAA,CAACyE,YAAY,EAAAD,KAAA,CAAAhB,EAAA;QAAA,UAASuB,MAAM;QAAA,sBAAsBE;MAAkB,iBAClEvJ,MAAA,YAAAsE,aAAA,CAACnE,WAAA,WAAU,EAAA2I,KAAA,CAAAhB,EAAA;QAAA,cACG6B,aAAa;QAAA,eACZC,cAAc;QAAA;QAAA,YAEjBT;MAAQ,iBAElBnJ,MAAA,YAAAsE,aAAA,CAACnE,WAAA,WAAU,CAAC6J,SAAS;QAACjH,GAAG,EAAEqG,UAAW;QAACa,IAAI,EAAC,UAAU;QAACC,QAAQ,EAAE,CAAC,CAAE;QAACC,MAAM,EAAE;MAAE,gBAC7EnK,MAAA,YAAAsE,aAAA,CAACmC,KAAK,EAAAqC,KAAA,CAAAhB,EAAA,cAAAN,cAAA,qBAAA1H,KAAA,CAAAsK,WAAA;QAAA,QAAmB,KAAK;QAAA,iBAAe,GAAG;QAAA,kBAAiB,CAAC,QAAQ;MAAC,GAAAvB,IAAA,KACxE,IAAI,CAACjD,aAAa,CAACsD,eAAe,EAAE,GAAG,GAAG,IAAI,CAACrD,OAAO,CAAC/D,MAAM,CAAC,CACzD,CACa,EACtBuI,OAAO,CAACf,aAAa,CAAC,iBACrBtJ,MAAA,YAAAsE,aAAA,QAAAwE,KAAA,CAAAhB,EAAA;QAAA,SAAY3G,eAAe;QAAA,QAAO;MAAU,iBAC1CnB,MAAA,YAAAsE,aAAA,QAAAwE,KAAA,CAAAhB,EAAA;QAAA,SAAY3G,eAAe;QAAA,QAAO;MAAK,iBACrCnB,MAAA,YAAAsE,aAAA,QAAAwE,KAAA,CAAAhB,EAAA;QAAA,SAAY3G,eAAe;QAAA,QAAO;MAAM,iBACtCnB,MAAA,YAAAsE,aAAA,CAACnE,WAAA,WAAU,CAACmK,GAAG;QAACC,WAAW,EAAC;MAAY,EAAG,CACvC,CACF,CAET,CACU,EACZtB,QAAQ,CAACuB,MAAM,CACH;IAEnB;EAAC;EAAA,OAAAnJ,IAAA;AAAA,EA/OgBoJ,eAAS;AAAA,IAAApI,gBAAA,aAAtBhB,IAAI;AAAA,IAAAqJ,QAAA,GAkPKrJ,IAAI;AAAAT,OAAA,cAAA8J,QAAA"}
|
1
|
+
{"version":3,"file":"Head.js","names":["_core","require","_react","_interopRequireDefault","_flexBox","_scrollArea","_m","_m2","_assignProps2","_utils","_logger","_ref4","_cssToIntDefault","SORT_ICON_WIDTH","exports","SORTING_ICON","desc","SortDesc","asc","SortAsc","ariaSort","displayContents","display","Head","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","Map","name","event","asProps","$onSortClick","key","preventDefault","active","ref","sortWrapperRefs","set","column","setRef","props","forwardRef","getAttribute","calculateMinWidth","node","defaultWidths","has","wMin","wMax","w","computedStyle","window","getComputedStyle","minWidth","cssToIntDefault","getPropertyValue","computedWidth","_this$defaultWidths$g","_this$defaultWidths$g2","clonedColumn","document","createElement","childNodes","forEach","get","append","cloneNode","style","setProperty","styles","getPropertyPriority","body","appendChild","Math","ceil","getBoundingClientRect","width","removeChild","defaultNodeWidth","freeSpace","_this$defaultWidths$g3","defaultNodeMinWidth","_createClass2","value","renderColumns","columns","_this2","map","renderColumn","_ref2","_column$columns","_this$asProps","use","hidden","uid","SColumn","Flex","SHead","Box","SSortWrapper","SSortIcon","sortDirection","ariaSortValue","sortable","undefined","isGroup","cSize","flattenColumns","_getFixedStyle","getFixedStyle","_getFixedStyle2","_slicedToArray2","_objectSpread2","flexBasis","flex","setVar","varWidth","sstyled","cn","fixed","resizable","borderLeft","borderRight","makeColumnRefHandler","callAllEventHandlers","onClick","bindHandlerSortClick","onKeyDown","bindHandlerKeyDown","Fragment","children","makeSortRefHandler","render","_ref","_ref3","SHeadWrapper","_this$asProps2","Children","columnsChildren","onResize","$scrollRef","sticky","withScrollBar","animationsDisabled","_getScrollOffsetValue","getScrollOffsetValue","_getScrollOffsetValue2","offsetLeftSum","offsetRightSum","logger","warn","displayName","Container","role","tabIndex","zIndex","assignProps","Boolean","Bar","orientation","origin","Component","_default"],"sources":["../../src/Head.tsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box, Flex } from '@semcore/flex-box';\nimport ScrollArea from '@semcore/scroll-area';\nimport SortDesc from '@semcore/icon/SortDesc/m';\nimport SortAsc from '@semcore/icon/SortAsc/m';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport { flattenColumns, getFixedStyle, getScrollOffsetValue } from './utils';\nimport type { Column } from './types';\nimport logger from '@semcore/utils/lib/logger';\nimport { setRef } from '@semcore/utils/lib/ref';\nimport cssToIntDefault from '@semcore/utils/lib/cssToIntDefault';\n\nexport const SORT_ICON_WIDTH = 20;\n\nconst SORTING_ICON = {\n desc: SortDesc,\n asc: SortAsc,\n} as const;\nconst ariaSort = {\n desc: 'descending',\n asc: 'ascending',\n} as const;\nconst displayContents = { display: 'contents' };\n\ntype AsProps = {\n $onSortClick: (name: string, event: React.MouseEvent | React.KeyboardEvent) => void;\n $scrollRef: (instance: unknown) => void;\n use: 'primary' | 'secondary';\n columnsChildren: Column[];\n onResize: ResizeObserverCallback;\n sticky: boolean;\n ['data-ui-name']: string;\n uid?: string;\n withScrollBar?: boolean;\n animationsDisabled?: boolean;\n};\n\nclass Head extends Component<AsProps> {\n columns: Column[] = [];\n\n static displayName: string;\n\n sortWrapperRefs = new Map<Node, boolean>();\n defaultWidths = new Map<Node, { minWidth: number; computedWidth: number }>();\n\n bindHandlerSortClick = (name: string) => (event: React.MouseEvent) => {\n this.asProps.$onSortClick(name, event);\n };\n\n bindHandlerKeyDown = (name: string) => (event: React.KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.asProps.$onSortClick(name, event);\n }\n };\n\n makeSortRefHandler = (active: boolean) => (ref: HTMLElement | null) => {\n if (ref) {\n this.sortWrapperRefs.set(ref, active);\n }\n };\n\n makeColumnRefHandler = (column: Column) => (ref: HTMLElement | null) => {\n setRef(column.props.ref, ref);\n if (column.props.forwardRef) {\n setRef(column.props.forwardRef, ref);\n }\n\n if (ref && ref.getAttribute('scope') === 'col') {\n this.calculateMinWidth(ref, column);\n }\n };\n\n calculateMinWidth = (node: HTMLElement, column: Column) => {\n if (\n !this.defaultWidths.has(node) &&\n (column.props.wMin || column.props.wMax || column.props.w)\n ) {\n const computedStyle = window.getComputedStyle(node);\n\n this.defaultWidths.set(node, {\n minWidth: cssToIntDefault(computedStyle.getPropertyValue('min-width')),\n computedWidth: cssToIntDefault(computedStyle.getPropertyValue('width')),\n });\n }\n\n if (column.active) {\n const clonedColumn = document.createElement('div');\n const computedStyle = window.getComputedStyle(node);\n\n node.childNodes.forEach((node) => {\n if (!this.sortWrapperRefs.get(node)) {\n clonedColumn.append(node.cloneNode(true));\n }\n });\n\n clonedColumn.style.setProperty('visibility', 'hidden', 'important');\n\n const styles = [\n 'display',\n 'flex',\n 'margin',\n 'padding',\n 'background',\n 'font-style',\n 'font-width',\n 'font-size',\n 'font-weight',\n ];\n\n styles.forEach((key) => {\n clonedColumn.style.setProperty(\n key,\n computedStyle.getPropertyValue(key),\n computedStyle.getPropertyPriority(key),\n );\n });\n\n clonedColumn.style.setProperty('width', 'fit-content', 'important');\n\n document.body.appendChild(clonedColumn);\n\n const computedWidth = Math.ceil(clonedColumn.getBoundingClientRect().width);\n\n document.body.removeChild(clonedColumn);\n\n const defaultNodeWidth = this.defaultWidths.get(node)?.computedWidth ?? 0;\n\n if (computedWidth >= defaultNodeWidth) {\n node.style.setProperty('min-width', defaultNodeWidth + SORT_ICON_WIDTH + 'px');\n } else {\n const freeSpace = defaultNodeWidth - computedWidth;\n\n if (freeSpace < SORT_ICON_WIDTH) {\n node.style.setProperty('min-width', computedWidth + SORT_ICON_WIDTH + 'px');\n }\n }\n } else if (this.defaultWidths.has(node)) {\n const defaultNodeMinWidth = this.defaultWidths.get(node)?.minWidth;\n\n node.style.setProperty('min-width', defaultNodeMinWidth + 'px');\n }\n };\n\n renderColumns(columns: Column[], width: number) {\n return columns.map((column) => this.renderColumn(column, width));\n }\n\n renderColumn(column: Column, width: number) {\n const { styles, use, hidden, uid } = this.asProps;\n const SColumn = Flex as any;\n const SHead = Box;\n const SSortWrapper = 'div';\n const SSortIcon = SORTING_ICON[column.sortDirection];\n const ariaSortValue =\n column.sortable && column.active ? ariaSort[column.sortDirection] : undefined;\n const isGroup = column.columns?.length > 0;\n const cSize = isGroup ? flattenColumns(column.columns).length : 1;\n const [name, value] = getFixedStyle(column, this.columns);\n\n const style = {\n flexBasis: column.props.flex === undefined && `${width * cSize}%`,\n ...column.props.style,\n };\n\n if (name !== undefined && value !== undefined) {\n style[name] = value;\n }\n\n if (!column.setVar) {\n style['flexBasis'] = `var(${column.varWidth})`;\n }\n\n return sstyled(styles)(\n <SColumn\n role={isGroup ? undefined : 'columnheader'}\n scope={isGroup ? 'colgroup' : 'col'}\n key={column.name}\n id={`igc-table-${uid}-${column.name}`}\n use={use}\n fixed={column.fixed}\n resizable={column.resizable}\n sortable={column.sortable}\n borderLeft={isGroup ? false : column.borderLeft}\n borderRight={isGroup ? false : column.borderRight}\n active={isGroup ? false : column.active}\n group={isGroup}\n tabIndex={column.sortable ? 0 : undefined}\n __excludeProps={['hidden']}\n {...column.props}\n ref={this.makeColumnRefHandler(column)}\n onClick={callAllEventHandlers(\n column.props.onClick,\n column.sortable ? this.bindHandlerSortClick(column.name) : undefined,\n )}\n onKeyDown={callAllEventHandlers(\n column.props.onKeyDown,\n column.sortable ? this.bindHandlerKeyDown(column.name) : undefined,\n )}\n style={style}\n hidden={hidden}\n aria-sort={ariaSortValue}\n >\n {isGroup ? (\n <>\n <SColumn\n role='columnheader'\n groupHead\n use={use}\n active={column.active}\n borderLeft={column.borderLeft}\n borderRight={column.borderRight}\n >\n <div>{column.props.children}</div>\n </SColumn>\n <SHead>{this.renderColumns(column.columns, 100 / cSize)}</SHead>\n </>\n ) : (\n <>\n {column.props.children}\n {column.sortable ? (\n <SSortWrapper ref={this.makeSortRefHandler(column.active)}>\n <SSortIcon />\n </SSortWrapper>\n ) : null}\n </>\n )}\n </SColumn>,\n );\n }\n\n render() {\n const SHead = Root;\n const SHeadWrapper = Box as any;\n const {\n Children,\n styles,\n columnsChildren,\n onResize,\n $scrollRef,\n sticky,\n withScrollBar,\n animationsDisabled,\n } = this.asProps;\n\n this.columns = flattenColumns(columnsChildren);\n\n const [offsetLeftSum, offsetRightSum] = getScrollOffsetValue(this.columns);\n\n logger.warn(\n sticky,\n \"'sticky' property is deprecated, use '<Sticky/>' wrapper\",\n this.asProps['data-ui-name'] || Head.displayName,\n );\n\n return sstyled(styles)(\n <SHeadWrapper sticky={sticky} animationsDisabled={animationsDisabled}>\n <ScrollArea\n leftOffset={offsetLeftSum}\n rightOffset={offsetRightSum}\n shadow\n onResize={onResize}\n >\n <ScrollArea.Container ref={$scrollRef} role='rowgroup' tabIndex={-1} zIndex={2}>\n <SHead render={Box} role='row' aria-rowindex='1' __excludeProps={['hidden']}>\n {this.renderColumns(columnsChildren, 100 / this.columns.length)}\n </SHead>\n </ScrollArea.Container>\n {Boolean(withScrollBar) && (\n <div style={displayContents} role='rowgroup'>\n <div style={displayContents} role='row'>\n <div style={displayContents} role='cell'>\n <ScrollArea.Bar orientation='horizontal' />\n </div>\n </div>\n </div>\n )}\n </ScrollArea>\n {Children.origin}\n </SHeadWrapper>,\n );\n }\n}\n\nexport default Head;\n"],"mappings":"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"}
|
@@ -98,13 +98,16 @@ SColumn[sortable] {
|
|
98
98
|
background-color: var(--intergalactic-table-th-primary-cell-hover, #e0e1e9);
|
99
99
|
}
|
100
100
|
|
101
|
-
&[justifyContent='right'][
|
102
|
-
position: relative;
|
103
|
-
}
|
104
|
-
&[justifyContent='right'][active='false']:hover SSortWrapper, &[justifyContent='right'][active='false']:focus SSortWrapper {
|
101
|
+
&[justifyContent='right']:hover SSortWrapper, &[justifyContent='right']:focus SSortWrapper {
|
105
102
|
position: absolute;
|
103
|
+
flex-basis: 0;
|
106
104
|
right: var(--intergalactic-spacing-3x, 12px);
|
107
105
|
}
|
106
|
+
&[justifyContent='right'][active] SSortWrapper {
|
107
|
+
position: relative;
|
108
|
+
flex-basis: calc(var(--intergalactic-spacing-1x, 4px) + 16px);
|
109
|
+
right: 0;
|
110
|
+
}
|
108
111
|
|
109
112
|
&:hover SSortWrapper, &:focus SSortWrapper, &[active] SSortWrapper {
|
110
113
|
flex-basis: calc(var(--intergalactic-spacing-1x, 4px) + 16px);
|
@@ -26,9 +26,9 @@ import canUseDOM from 'intergalactic/utils/lib/canUseDOM';
|
|
26
26
|
import { SORT_ICON_WIDTH } from './Head';
|
27
27
|
import cssToIntDefault from 'intergalactic/utils/lib/cssToIntDefault';
|
28
28
|
/*__reshadow-styles__:"./style/scroll-shadows.shadow.css"*/
|
29
|
-
var scrollStyles = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".
|
30
|
-
"__SShadowHorizontal": "
|
31
|
-
"__SShadowVertical": "
|
29
|
+
var scrollStyles = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SShadowHorizontal_g3ao1_gg_:after,.___SShadowHorizontal_g3ao1_gg_:before,.___SShadowVertical_g3ao1_gg_:after,.___SShadowVertical_g3ao1_gg_:before{z-index:1}" /*__inner_css_end__*/, "g3ao1_gg_") /*__reshadow_css_end__*/, {
|
30
|
+
"__SShadowHorizontal": "___SShadowHorizontal_g3ao1_gg_",
|
31
|
+
"__SShadowVertical": "___SShadowVertical_g3ao1_gg_"
|
32
32
|
});
|
33
33
|
var testEnv = process.env.NODE_ENV === 'test';
|
34
34
|
var getCellsByColumn = function getCellsByColumn(cells) {
|
@@ -22,43 +22,42 @@ import Head from './Head';
|
|
22
22
|
import Body from './Body';
|
23
23
|
import uniqueIDEnhancement from 'intergalactic/utils/lib/uniqueID';
|
24
24
|
/*__reshadow-styles__:"./style/data-table.shadow.css"*/
|
25
|
-
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SColumn_eiubu_gg_.__sortable_eiubu_gg_._justifyContent_right_eiubu_gg_.__active_eiubu_gg_ .___SSortWrapper_eiubu_gg_,.___SDataTable_eiubu_gg_,.___SHeadWrapper_eiubu_gg_{position:relative}.___SDataTable_eiubu_gg_.__compact_eiubu_gg_ .___SCell_eiubu_gg_,.___SDataTable_eiubu_gg_.__compact_eiubu_gg_ .___SColumn_eiubu_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SHeadWrapper_eiubu_gg_.__animationsDisabled_eiubu_gg_ .___SColumn_eiubu_gg_{transition:none}.___SHeadWrapper_eiubu_gg_.__sticky_eiubu_gg_{position:sticky;top:0;z-index:2}.___SHead_eiubu_gg_{display:flex;position:relative;flex-direction:row;min-width:-moz-fit-content;min-width:fit-content;z-index:0}.___SColumn_eiubu_gg_{display:flex;align-items:flex-start;flex-grow:1;font-size:var(--intergalactic-fs-100, 12px);line-height:var(--intergalactic-lh-100, 133%);color:var(--intergalactic-text-primary, #191b23);box-sizing:border-box;position:relative;transition:width calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out,min-width calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out,max-width calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out}.___SColumn_eiubu_gg_:focus-visible{outline:0;box-shadow:inset var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___SColumn_eiubu_gg_.__hidden_eiubu_gg_{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border-width:0!important}.___SColumn_eiubu_gg_._use_primary_eiubu_gg_{padding:var(--intergalactic-spacing-3x, 12px);border-bottom:1px solid var(--intergalactic-border-secondary, #e0e1e9);background-color:var(--intergalactic-table-th-primary-cell, #f4f5f9)}.___SColumn_eiubu_gg_._use_secondary_eiubu_gg_{padding:var(--intergalactic-spacing-2x, 8px);border-bottom:1px solid var(--intergalactic-border-table-accent, #a9abb6);background-color:var(--intergalactic-table-th-secondary-cell, #ffffff)}.___SColumn_eiubu_gg_.__group_eiubu_gg_.__use_eiubu_gg_{display:flex;flex-wrap:wrap;flex-direction:column;align-items:normal;border-bottom:none;padding:0}.___SColumn_eiubu_gg_.__groupHead_eiubu_gg_{justify-content:center;z-index:1;border-bottom:none}.___SColumn_eiubu_gg_.__sortable_eiubu_gg_{cursor:pointer}.___SColumn_eiubu_gg_.__sortable_eiubu_gg_._use_primary_eiubu_gg_:focus{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}@media (hover:hover){.___SColumn_eiubu_gg_.__sortable_eiubu_gg_._use_primary_eiubu_gg_:hover{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}}.___SColumn_eiubu_gg_.__sortable_eiubu_gg_._justifyContent_right_eiubu_gg_._active_false_eiubu_gg_:focus .___SSortWrapper_eiubu_gg_{position:absolute;right:var(--intergalactic-spacing-3x, 12px)}@media (hover:hover){.___SColumn_eiubu_gg_.__sortable_eiubu_gg_._justifyContent_right_eiubu_gg_._active_false_eiubu_gg_:hover .___SSortWrapper_eiubu_gg_{position:absolute;right:var(--intergalactic-spacing-3x, 12px)}}.___SColumn_eiubu_gg_.__sortable_eiubu_gg_.__active_eiubu_gg_ .___SSortWrapper_eiubu_gg_,.___SColumn_eiubu_gg_.__sortable_eiubu_gg_:focus .___SSortWrapper_eiubu_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}@media (hover:hover){.___SColumn_eiubu_gg_.__sortable_eiubu_gg_:hover .___SSortWrapper_eiubu_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}}.___SColumn_eiubu_gg_.__sortable_eiubu_gg_.__active_eiubu_gg_ .___SSortWrapper_eiubu_gg_:before,.___SColumn_eiubu_gg_.__sortable_eiubu_gg_:focus .___SSortIcon_eiubu_gg_,.___SColumn_eiubu_gg_.__sortable_eiubu_gg_:focus .___SSortWrapper_eiubu_gg_:before{display:block;opacity:1}@media (hover:hover){.___SColumn_eiubu_gg_.__sortable_eiubu_gg_:hover .___SSortWrapper_eiubu_gg_:before{display:block;opacity:1}}@media (hover:hover){.___SColumn_eiubu_gg_.__sortable_eiubu_gg_:hover .___SSortIcon_eiubu_gg_{display:block;opacity:1}}.___SColumn_eiubu_gg_._use_primary_eiubu_gg_.__active_eiubu_gg_{background-color:var(--intergalactic-table-th-primary-cell-active, #e0e1e9);width:100%}.___SColumn_eiubu_gg_.__active_eiubu_gg_ .___SSortIcon_eiubu_gg_{display:block;opacity:1}.___SColumn_eiubu_gg_.__resizable_eiubu_gg_{border-right:1px solid transparent}@media (hover:hover){.___SColumn_eiubu_gg_.__resizable_eiubu_gg_:hover:after{border-right-color:var(--intergalactic-border-table-accent, #a9abb6)}}.___SColumn_eiubu_gg_.__resizable_eiubu_gg_:after{content:\"\";position:absolute;bottom:0;right:-1px;height:100%;width:5px;background:0 0;cursor:col-resize;border-right:1px solid transparent}.___SColumn_eiubu_gg_.__fixed_eiubu_gg_{position:sticky;z-index:2}.___SCell_eiubu_gg_.__borderLeft_eiubu_gg_,.___SColumn_eiubu_gg_.__borderLeft_eiubu_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_eiubu_gg_.__borderRight_eiubu_gg_,.___SColumn_eiubu_gg_.__borderRight_eiubu_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SSortWrapper_eiubu_gg_{flex-shrink:1;position:relative;flex-basis:0;min-height:16px;opacity:0;transition:all calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out}.___SSortIcon_eiubu_gg_,.___SSortWrapper_eiubu_gg_:before{display:none;position:absolute;right:0;opacity:0;transition:opacity .3s ease}.___SSortWrapper_eiubu_gg_:before{content:\"\";top:0;width:20px;height:100%}.___SSortIcon_eiubu_gg_{fill:var(--intergalactic-icon-secondary-neutral-hover-active, #878992);top:calc(1em*1.25 - 16px);margin-left:var(--intergalactic-spacing-1x, 4px)}.___SColumn_eiubu_gg_._use_primary_eiubu_gg_ .___SSortWrapper_eiubu_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_eiubu_gg_._use_secondary_eiubu_gg_ .___SSortWrapper_eiubu_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,rgba(255,255,255,0) 105%)}.___SBodyWrapper_eiubu_gg_{position:relative}.___SBody_eiubu_gg_{display:flex;flex-direction:column;position:relative;min-width:-moz-fit-content;min-width:fit-content}.___SRow_eiubu_gg_{display:flex;flex-direction:row;position:relative}.___SRow_eiubu_gg_.__active_eiubu_gg_>.___SCell_eiubu_gg_:not(.__theme_eiubu_gg_),.___SRow_eiubu_gg_._theme_muted_eiubu_gg_.__active_eiubu_gg_>.___SCell_eiubu_gg_:not(.__theme_eiubu_gg_){background-color:var(--intergalactic-table-td-cell-active, #e6e7ed)}@media (hover:hover){.___SRow_eiubu_gg_ .___SCell_eiubu_gg_:hover+.___SGroupCell_eiubu_gg_ .___SCell_eiubu_gg_:not(.__theme_eiubu_gg_),.___SRow_eiubu_gg_:hover>.___SCell_eiubu_gg_:not(.__theme_eiubu_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_eiubu_gg_._theme_muted_eiubu_gg_ .___SCell_eiubu_gg_:not(.__theme_eiubu_gg_){background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}@media (hover:hover){.___SRow_eiubu_gg_._theme_muted_eiubu_gg_ .___SCell_eiubu_gg_:hover+.___SGroupCell_eiubu_gg_ .___SCell_eiubu_gg_:not(.__theme_eiubu_gg_),.___SRow_eiubu_gg_._theme_muted_eiubu_gg_:hover>.___SCell_eiubu_gg_:not(.__theme_eiubu_gg_),.___SRow_eiubu_gg_:hover>.___SCell_eiubu_gg_._theme_muted_eiubu_gg_{background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_eiubu_gg_._theme_info_eiubu_gg_ .___SCell_eiubu_gg_:not(.__theme_eiubu_gg_){background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SRow_eiubu_gg_._theme_info_eiubu_gg_.__active_eiubu_gg_>.___SCell_eiubu_gg_:not(.__theme_eiubu_gg_){background-color:var(--intergalactic-table-td-cell-selected-active, #c4e5fe)}@media (hover:hover){.___SRow_eiubu_gg_._theme_info_eiubu_gg_ .___SCell_eiubu_gg_:hover+.___SGroupCell_eiubu_gg_ .___SCell_eiubu_gg_:not(.__theme_eiubu_gg_),.___SRow_eiubu_gg_._theme_info_eiubu_gg_:hover>.___SCell_eiubu_gg_:not(.__theme_eiubu_gg_),.___SRow_eiubu_gg_:hover>.___SCell_eiubu_gg_._theme_info_eiubu_gg_{background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}}.___SRow_eiubu_gg_._theme_success_eiubu_gg_ .___SCell_eiubu_gg_:not(.__theme_eiubu_gg_){background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SRow_eiubu_gg_._theme_success_eiubu_gg_.__active_eiubu_gg_>.___SCell_eiubu_gg_:not(.__theme_eiubu_gg_){background-color:var(--intergalactic-table-td-cell-new-active, #9ef2c9)}@media (hover:hover){.___SRow_eiubu_gg_._theme_success_eiubu_gg_ .___SCell_eiubu_gg_:hover+.___SGroupCell_eiubu_gg_ .___SCell_eiubu_gg_:not(.__theme_eiubu_gg_),.___SRow_eiubu_gg_._theme_success_eiubu_gg_:hover>.___SCell_eiubu_gg_:not(.__theme_eiubu_gg_),.___SRow_eiubu_gg_:hover>.___SCell_eiubu_gg_._theme_success_eiubu_gg_{background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}}.___SRow_eiubu_gg_._theme_warning_eiubu_gg_ .___SCell_eiubu_gg_:not(.__theme_eiubu_gg_){background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SRow_eiubu_gg_._theme_warning_eiubu_gg_.__active_eiubu_gg_>.___SCell_eiubu_gg_:not(.__theme_eiubu_gg_){background-color:var(--intergalactic-table-td-cell-warning-active, #ffdca2)}@media (hover:hover){.___SRow_eiubu_gg_._theme_warning_eiubu_gg_ .___SCell_eiubu_gg_:hover+.___SGroupCell_eiubu_gg_ .___SCell_eiubu_gg_:not(.__theme_eiubu_gg_),.___SRow_eiubu_gg_._theme_warning_eiubu_gg_:hover>.___SCell_eiubu_gg_:not(.__theme_eiubu_gg_),.___SRow_eiubu_gg_:hover>.___SCell_eiubu_gg_._theme_warning_eiubu_gg_{background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}}.___SRow_eiubu_gg_._theme_danger_eiubu_gg_ .___SCell_eiubu_gg_:not(.__theme_eiubu_gg_){background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SRow_eiubu_gg_._theme_danger_eiubu_gg_.__active_eiubu_gg_>.___SCell_eiubu_gg_:not(.__theme_eiubu_gg_){background-color:var(--intergalactic-table-td-cell-critical-active, #ffd7df)}@media (hover:hover){.___SRow_eiubu_gg_._theme_danger_eiubu_gg_ .___SCell_eiubu_gg_:hover+.___SGroupCell_eiubu_gg_ .___SCell_eiubu_gg_:not(.__theme_eiubu_gg_),.___SRow_eiubu_gg_._theme_danger_eiubu_gg_:hover>.___SCell_eiubu_gg_:not(.__theme_eiubu_gg_),.___SRow_eiubu_gg_:hover>.___SCell_eiubu_gg_._theme_danger_eiubu_gg_{background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}}.___SRow_eiubu_gg_.__positioned_eiubu_gg_{position:absolute}.___SBody_eiubu_gg_.__animationsDisabled_eiubu_gg_ .___SCell_eiubu_gg_{transition:none}.___SCell_eiubu_gg_{display:flex;flex:1;flex-basis:auto;font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%);color:var(--intergalactic-text-primary, #191b23);box-sizing:border-box;border-bottom:1px solid var(--intergalactic-border-secondary, #e0e1e9);overflow:hidden;white-space:nowrap;font-feature-settings:\"tnum\";font-variant-numeric:tabular-nums;transition:width calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out}.___SCell_eiubu_gg_._use_primary_eiubu_gg_{padding:var(--intergalactic-spacing-3x, 12px);min-height:45px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_eiubu_gg_._use_secondary_eiubu_gg_{padding:var(--intergalactic-spacing-2x, 8px);min-height:37px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_eiubu_gg_.__fixed_eiubu_gg_{position:sticky;z-index:1}.___SCell_eiubu_gg_._theme_muted_eiubu_gg_{background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}.___SCell_eiubu_gg_._theme_info_eiubu_gg_{background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SCell_eiubu_gg_._theme_success_eiubu_gg_{background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SCell_eiubu_gg_._theme_warning_eiubu_gg_{background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SCell_eiubu_gg_._theme_danger_eiubu_gg_{background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SHeightHold_eiubu_gg_{position:absolute;top:0;width:100%;pointer-events:none;z-index:-1}" /*__inner_css_end__*/, "eiubu_gg_") /*__reshadow_css_end__*/, {
|
26
|
-
"__SDataTable": "
|
27
|
-
"__SHeadWrapper": "
|
28
|
-
"_sticky": "
|
29
|
-
"__SHead": "
|
30
|
-
"__SColumn": "
|
31
|
-
"_hidden": "
|
32
|
-
"_use_primary": "
|
33
|
-
"_use_secondary": "
|
34
|
-
"_group": "
|
35
|
-
"_use": "
|
36
|
-
"_groupHead": "
|
37
|
-
"_active": "
|
38
|
-
"__SSortIcon": "
|
39
|
-
"_fixed": "
|
40
|
-
"_borderLeft": "
|
41
|
-
"__SCell": "
|
42
|
-
"_borderRight": "
|
43
|
-
"__SSortWrapper": "
|
44
|
-
"__SBodyWrapper": "
|
45
|
-
"__SBody": "
|
46
|
-
"__SRow": "
|
47
|
-
"_theme": "
|
48
|
-
"__SGroupCell": "
|
49
|
-
"_theme_muted": "
|
50
|
-
"_theme_info": "
|
51
|
-
"_theme_success": "
|
52
|
-
"_theme_warning": "
|
53
|
-
"_theme_danger": "
|
54
|
-
"_positioned": "
|
55
|
-
"_animationsDisabled": "
|
56
|
-
"__SHeightHold": "
|
57
|
-
"_compact": "
|
58
|
-
"_sortable": "
|
59
|
-
"_justifyContent_right": "
|
60
|
-
"
|
61
|
-
"_resizable": "__resizable_eiubu_gg_"
|
25
|
+
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SDataTable_a2h7d_gg_,.___SHeadWrapper_a2h7d_gg_{position:relative}.___SDataTable_a2h7d_gg_.__compact_a2h7d_gg_ .___SCell_a2h7d_gg_,.___SDataTable_a2h7d_gg_.__compact_a2h7d_gg_ .___SColumn_a2h7d_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SHeadWrapper_a2h7d_gg_.__animationsDisabled_a2h7d_gg_ .___SColumn_a2h7d_gg_{transition:none}.___SHeadWrapper_a2h7d_gg_.__sticky_a2h7d_gg_{position:sticky;top:0;z-index:2}.___SHead_a2h7d_gg_{display:flex;position:relative;flex-direction:row;min-width:-moz-fit-content;min-width:fit-content;z-index:0}.___SColumn_a2h7d_gg_{display:flex;align-items:flex-start;flex-grow:1;font-size:var(--intergalactic-fs-100, 12px);line-height:var(--intergalactic-lh-100, 133%);color:var(--intergalactic-text-primary, #191b23);box-sizing:border-box;position:relative;transition:width calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out,min-width calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out,max-width calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out}.___SColumn_a2h7d_gg_:focus-visible{outline:0;box-shadow:inset var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___SColumn_a2h7d_gg_.__hidden_a2h7d_gg_{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border-width:0!important}.___SColumn_a2h7d_gg_._use_primary_a2h7d_gg_{padding:var(--intergalactic-spacing-3x, 12px);border-bottom:1px solid var(--intergalactic-border-secondary, #e0e1e9);background-color:var(--intergalactic-table-th-primary-cell, #f4f5f9)}.___SColumn_a2h7d_gg_._use_secondary_a2h7d_gg_{padding:var(--intergalactic-spacing-2x, 8px);border-bottom:1px solid var(--intergalactic-border-table-accent, #a9abb6);background-color:var(--intergalactic-table-th-secondary-cell, #ffffff)}.___SColumn_a2h7d_gg_.__group_a2h7d_gg_.__use_a2h7d_gg_{display:flex;flex-wrap:wrap;flex-direction:column;align-items:normal;border-bottom:none;padding:0}.___SColumn_a2h7d_gg_.__groupHead_a2h7d_gg_{justify-content:center;z-index:1;border-bottom:none}.___SColumn_a2h7d_gg_.__sortable_a2h7d_gg_{cursor:pointer}.___SColumn_a2h7d_gg_.__sortable_a2h7d_gg_._use_primary_a2h7d_gg_:focus{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}@media (hover:hover){.___SColumn_a2h7d_gg_.__sortable_a2h7d_gg_._use_primary_a2h7d_gg_:hover{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}}.___SColumn_a2h7d_gg_.__sortable_a2h7d_gg_._justifyContent_right_a2h7d_gg_:focus .___SSortWrapper_a2h7d_gg_{position:absolute;flex-basis:0;right:var(--intergalactic-spacing-3x, 12px)}@media (hover:hover){.___SColumn_a2h7d_gg_.__sortable_a2h7d_gg_._justifyContent_right_a2h7d_gg_:hover .___SSortWrapper_a2h7d_gg_{position:absolute;flex-basis:0;right:var(--intergalactic-spacing-3x, 12px)}}.___SColumn_a2h7d_gg_.__sortable_a2h7d_gg_._justifyContent_right_a2h7d_gg_.__active_a2h7d_gg_ .___SSortWrapper_a2h7d_gg_{position:relative;flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);right:0}.___SColumn_a2h7d_gg_.__sortable_a2h7d_gg_.__active_a2h7d_gg_ .___SSortWrapper_a2h7d_gg_,.___SColumn_a2h7d_gg_.__sortable_a2h7d_gg_:focus .___SSortWrapper_a2h7d_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}@media (hover:hover){.___SColumn_a2h7d_gg_.__sortable_a2h7d_gg_:hover .___SSortWrapper_a2h7d_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}}.___SColumn_a2h7d_gg_.__sortable_a2h7d_gg_.__active_a2h7d_gg_ .___SSortWrapper_a2h7d_gg_:before,.___SColumn_a2h7d_gg_.__sortable_a2h7d_gg_:focus .___SSortIcon_a2h7d_gg_,.___SColumn_a2h7d_gg_.__sortable_a2h7d_gg_:focus .___SSortWrapper_a2h7d_gg_:before{display:block;opacity:1}@media (hover:hover){.___SColumn_a2h7d_gg_.__sortable_a2h7d_gg_:hover .___SSortWrapper_a2h7d_gg_:before{display:block;opacity:1}}@media (hover:hover){.___SColumn_a2h7d_gg_.__sortable_a2h7d_gg_:hover .___SSortIcon_a2h7d_gg_{display:block;opacity:1}}.___SColumn_a2h7d_gg_._use_primary_a2h7d_gg_.__active_a2h7d_gg_{background-color:var(--intergalactic-table-th-primary-cell-active, #e0e1e9);width:100%}.___SColumn_a2h7d_gg_.__active_a2h7d_gg_ .___SSortIcon_a2h7d_gg_{display:block;opacity:1}.___SColumn_a2h7d_gg_.__resizable_a2h7d_gg_{border-right:1px solid transparent}@media (hover:hover){.___SColumn_a2h7d_gg_.__resizable_a2h7d_gg_:hover:after{border-right-color:var(--intergalactic-border-table-accent, #a9abb6)}}.___SColumn_a2h7d_gg_.__resizable_a2h7d_gg_:after{content:\"\";position:absolute;bottom:0;right:-1px;height:100%;width:5px;background:0 0;cursor:col-resize;border-right:1px solid transparent}.___SColumn_a2h7d_gg_.__fixed_a2h7d_gg_{position:sticky;z-index:2}.___SCell_a2h7d_gg_.__borderLeft_a2h7d_gg_,.___SColumn_a2h7d_gg_.__borderLeft_a2h7d_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_a2h7d_gg_.__borderRight_a2h7d_gg_,.___SColumn_a2h7d_gg_.__borderRight_a2h7d_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SSortWrapper_a2h7d_gg_{flex-shrink:1;position:relative;flex-basis:0;min-height:16px;opacity:0;transition:all calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out}.___SSortIcon_a2h7d_gg_,.___SSortWrapper_a2h7d_gg_:before{display:none;position:absolute;right:0;opacity:0;transition:opacity .3s ease}.___SSortWrapper_a2h7d_gg_:before{content:\"\";top:0;width:20px;height:100%}.___SSortIcon_a2h7d_gg_{fill:var(--intergalactic-icon-secondary-neutral-hover-active, #878992);top:calc(1em*1.25 - 16px);margin-left:var(--intergalactic-spacing-1x, 4px)}.___SColumn_a2h7d_gg_._use_primary_a2h7d_gg_ .___SSortWrapper_a2h7d_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_a2h7d_gg_._use_secondary_a2h7d_gg_ .___SSortWrapper_a2h7d_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,rgba(255,255,255,0) 105%)}.___SBodyWrapper_a2h7d_gg_{position:relative}.___SBody_a2h7d_gg_{display:flex;flex-direction:column;position:relative;min-width:-moz-fit-content;min-width:fit-content}.___SRow_a2h7d_gg_{display:flex;flex-direction:row;position:relative}.___SRow_a2h7d_gg_.__active_a2h7d_gg_>.___SCell_a2h7d_gg_:not(.__theme_a2h7d_gg_),.___SRow_a2h7d_gg_._theme_muted_a2h7d_gg_.__active_a2h7d_gg_>.___SCell_a2h7d_gg_:not(.__theme_a2h7d_gg_){background-color:var(--intergalactic-table-td-cell-active, #e6e7ed)}@media (hover:hover){.___SRow_a2h7d_gg_ .___SCell_a2h7d_gg_:hover+.___SGroupCell_a2h7d_gg_ .___SCell_a2h7d_gg_:not(.__theme_a2h7d_gg_),.___SRow_a2h7d_gg_:hover>.___SCell_a2h7d_gg_:not(.__theme_a2h7d_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_a2h7d_gg_._theme_muted_a2h7d_gg_ .___SCell_a2h7d_gg_:not(.__theme_a2h7d_gg_){background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}@media (hover:hover){.___SRow_a2h7d_gg_._theme_muted_a2h7d_gg_ .___SCell_a2h7d_gg_:hover+.___SGroupCell_a2h7d_gg_ .___SCell_a2h7d_gg_:not(.__theme_a2h7d_gg_),.___SRow_a2h7d_gg_._theme_muted_a2h7d_gg_:hover>.___SCell_a2h7d_gg_:not(.__theme_a2h7d_gg_),.___SRow_a2h7d_gg_:hover>.___SCell_a2h7d_gg_._theme_muted_a2h7d_gg_{background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_a2h7d_gg_._theme_info_a2h7d_gg_ .___SCell_a2h7d_gg_:not(.__theme_a2h7d_gg_){background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SRow_a2h7d_gg_._theme_info_a2h7d_gg_.__active_a2h7d_gg_>.___SCell_a2h7d_gg_:not(.__theme_a2h7d_gg_){background-color:var(--intergalactic-table-td-cell-selected-active, #c4e5fe)}@media (hover:hover){.___SRow_a2h7d_gg_._theme_info_a2h7d_gg_ .___SCell_a2h7d_gg_:hover+.___SGroupCell_a2h7d_gg_ .___SCell_a2h7d_gg_:not(.__theme_a2h7d_gg_),.___SRow_a2h7d_gg_._theme_info_a2h7d_gg_:hover>.___SCell_a2h7d_gg_:not(.__theme_a2h7d_gg_),.___SRow_a2h7d_gg_:hover>.___SCell_a2h7d_gg_._theme_info_a2h7d_gg_{background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}}.___SRow_a2h7d_gg_._theme_success_a2h7d_gg_ .___SCell_a2h7d_gg_:not(.__theme_a2h7d_gg_){background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SRow_a2h7d_gg_._theme_success_a2h7d_gg_.__active_a2h7d_gg_>.___SCell_a2h7d_gg_:not(.__theme_a2h7d_gg_){background-color:var(--intergalactic-table-td-cell-new-active, #9ef2c9)}@media (hover:hover){.___SRow_a2h7d_gg_._theme_success_a2h7d_gg_ .___SCell_a2h7d_gg_:hover+.___SGroupCell_a2h7d_gg_ .___SCell_a2h7d_gg_:not(.__theme_a2h7d_gg_),.___SRow_a2h7d_gg_._theme_success_a2h7d_gg_:hover>.___SCell_a2h7d_gg_:not(.__theme_a2h7d_gg_),.___SRow_a2h7d_gg_:hover>.___SCell_a2h7d_gg_._theme_success_a2h7d_gg_{background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}}.___SRow_a2h7d_gg_._theme_warning_a2h7d_gg_ .___SCell_a2h7d_gg_:not(.__theme_a2h7d_gg_){background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SRow_a2h7d_gg_._theme_warning_a2h7d_gg_.__active_a2h7d_gg_>.___SCell_a2h7d_gg_:not(.__theme_a2h7d_gg_){background-color:var(--intergalactic-table-td-cell-warning-active, #ffdca2)}@media (hover:hover){.___SRow_a2h7d_gg_._theme_warning_a2h7d_gg_ .___SCell_a2h7d_gg_:hover+.___SGroupCell_a2h7d_gg_ .___SCell_a2h7d_gg_:not(.__theme_a2h7d_gg_),.___SRow_a2h7d_gg_._theme_warning_a2h7d_gg_:hover>.___SCell_a2h7d_gg_:not(.__theme_a2h7d_gg_),.___SRow_a2h7d_gg_:hover>.___SCell_a2h7d_gg_._theme_warning_a2h7d_gg_{background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}}.___SRow_a2h7d_gg_._theme_danger_a2h7d_gg_ .___SCell_a2h7d_gg_:not(.__theme_a2h7d_gg_){background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SRow_a2h7d_gg_._theme_danger_a2h7d_gg_.__active_a2h7d_gg_>.___SCell_a2h7d_gg_:not(.__theme_a2h7d_gg_){background-color:var(--intergalactic-table-td-cell-critical-active, #ffd7df)}@media (hover:hover){.___SRow_a2h7d_gg_._theme_danger_a2h7d_gg_ .___SCell_a2h7d_gg_:hover+.___SGroupCell_a2h7d_gg_ .___SCell_a2h7d_gg_:not(.__theme_a2h7d_gg_),.___SRow_a2h7d_gg_._theme_danger_a2h7d_gg_:hover>.___SCell_a2h7d_gg_:not(.__theme_a2h7d_gg_),.___SRow_a2h7d_gg_:hover>.___SCell_a2h7d_gg_._theme_danger_a2h7d_gg_{background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}}.___SRow_a2h7d_gg_.__positioned_a2h7d_gg_{position:absolute}.___SBody_a2h7d_gg_.__animationsDisabled_a2h7d_gg_ .___SCell_a2h7d_gg_{transition:none}.___SCell_a2h7d_gg_{display:flex;flex:1;flex-basis:auto;font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%);color:var(--intergalactic-text-primary, #191b23);box-sizing:border-box;border-bottom:1px solid var(--intergalactic-border-secondary, #e0e1e9);overflow:hidden;white-space:nowrap;font-feature-settings:\"tnum\";font-variant-numeric:tabular-nums;transition:width calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out}.___SCell_a2h7d_gg_._use_primary_a2h7d_gg_{padding:var(--intergalactic-spacing-3x, 12px);min-height:45px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_a2h7d_gg_._use_secondary_a2h7d_gg_{padding:var(--intergalactic-spacing-2x, 8px);min-height:37px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_a2h7d_gg_.__fixed_a2h7d_gg_{position:sticky;z-index:1}.___SCell_a2h7d_gg_._theme_muted_a2h7d_gg_{background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}.___SCell_a2h7d_gg_._theme_info_a2h7d_gg_{background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SCell_a2h7d_gg_._theme_success_a2h7d_gg_{background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SCell_a2h7d_gg_._theme_warning_a2h7d_gg_{background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SCell_a2h7d_gg_._theme_danger_a2h7d_gg_{background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SHeightHold_a2h7d_gg_{position:absolute;top:0;width:100%;pointer-events:none;z-index:-1}" /*__inner_css_end__*/, "a2h7d_gg_") /*__reshadow_css_end__*/, {
|
26
|
+
"__SDataTable": "___SDataTable_a2h7d_gg_",
|
27
|
+
"__SHeadWrapper": "___SHeadWrapper_a2h7d_gg_",
|
28
|
+
"_sticky": "__sticky_a2h7d_gg_",
|
29
|
+
"__SHead": "___SHead_a2h7d_gg_",
|
30
|
+
"__SColumn": "___SColumn_a2h7d_gg_",
|
31
|
+
"_hidden": "__hidden_a2h7d_gg_",
|
32
|
+
"_use_primary": "_use_primary_a2h7d_gg_",
|
33
|
+
"_use_secondary": "_use_secondary_a2h7d_gg_",
|
34
|
+
"_group": "__group_a2h7d_gg_",
|
35
|
+
"_use": "__use_a2h7d_gg_",
|
36
|
+
"_groupHead": "__groupHead_a2h7d_gg_",
|
37
|
+
"_active": "__active_a2h7d_gg_",
|
38
|
+
"__SSortIcon": "___SSortIcon_a2h7d_gg_",
|
39
|
+
"_fixed": "__fixed_a2h7d_gg_",
|
40
|
+
"_borderLeft": "__borderLeft_a2h7d_gg_",
|
41
|
+
"__SCell": "___SCell_a2h7d_gg_",
|
42
|
+
"_borderRight": "__borderRight_a2h7d_gg_",
|
43
|
+
"__SSortWrapper": "___SSortWrapper_a2h7d_gg_",
|
44
|
+
"__SBodyWrapper": "___SBodyWrapper_a2h7d_gg_",
|
45
|
+
"__SBody": "___SBody_a2h7d_gg_",
|
46
|
+
"__SRow": "___SRow_a2h7d_gg_",
|
47
|
+
"_theme": "__theme_a2h7d_gg_",
|
48
|
+
"__SGroupCell": "___SGroupCell_a2h7d_gg_",
|
49
|
+
"_theme_muted": "_theme_muted_a2h7d_gg_",
|
50
|
+
"_theme_info": "_theme_info_a2h7d_gg_",
|
51
|
+
"_theme_success": "_theme_success_a2h7d_gg_",
|
52
|
+
"_theme_warning": "_theme_warning_a2h7d_gg_",
|
53
|
+
"_theme_danger": "_theme_danger_a2h7d_gg_",
|
54
|
+
"_positioned": "__positioned_a2h7d_gg_",
|
55
|
+
"_animationsDisabled": "__animationsDisabled_a2h7d_gg_",
|
56
|
+
"__SHeightHold": "___SHeightHold_a2h7d_gg_",
|
57
|
+
"_compact": "__compact_a2h7d_gg_",
|
58
|
+
"_sortable": "__sortable_a2h7d_gg_",
|
59
|
+
"_justifyContent_right": "_justifyContent_right_a2h7d_gg_",
|
60
|
+
"_resizable": "__resizable_a2h7d_gg_"
|
62
61
|
});
|
63
62
|
var reversedSortDirection = {
|
64
63
|
desc: 'asc',
|
@@ -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","_this2","animations","flatMap","_column$props$ref$cur","_column$props$ref$cur2","ref","getAnimations","filter","a","undefined","animationPromise","Promise","resolve","all","map","animation","finished","then","_iterator","_createForOfIteratorHelper","_step","s","n","done","setVar","_this2$tableRef$curre","setProperty","varWidth","width","err","e","f","console","error","childrenToColumns","children","_this3","options","arguments","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","_ref4","join","toArray","columnChildren","_this$props$ref$curre","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","_this4","parseData","exclude","row","groupByName","columnsWithoutRowGroup","rowKey","columnNames","_iterator2","_step2","groupedColumns","groupData","rowsGroup","rowsGroupedNames","Object","fromEntries","subRow","keys","cells","_groupByName$column$n","cssVar","flatRowData","componentDidMount","componentDidUpdate","render","_ref","_ref2","SDataTable","_this$asProps3","styles","createElement","cn","_assignProps","ComponentDefinition","wrapDataTable","wrapper","wrapDataTableRow","wrapDataTableCell"],"sources":["../../src/DataTable.tsx"],"sourcesContent":["import React from 'react';\nimport { Property } from 'csstype';\nimport createComponent, {\n Component,\n PropGetterFn,\n Root,\n sstyled,\n UnknownProperties,\n Intergalactic,\n} from '@semcore/core';\nimport { Box, BoxProps, FlexProps } from '@semcore/flex-box';\nimport syncScroll from '@semcore/utils/lib/syncScroll';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport fire from '@semcore/utils/lib/fire';\nimport { flattenColumns } from './utils';\nimport type {\n Column,\n NestedCells,\n PropsLayer,\n PseudoChildPropsGetter,\n RowData,\n SortDirection,\n} from './types';\nimport Head from './Head';\nimport Body from './Body';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\n\nimport style from './style/data-table.shadow.css';\n\nconst reversedSortDirection: { [direction in SortDirection]: SortDirection } = {\n desc: 'asc',\n asc: 'desc',\n};\nconst defaultSortDirection: SortDirection = 'desc';\n\nconst ROW_GROUP = Symbol('ROW_GROUP');\n\nconst cssVarReg = /[:;\\W]/g;\n\nconst createCssVarForWidth = (name: string) => {\n return `--${name.replace(cssVarReg, '_')}_width`;\n};\n\ntype AsProps = {\n use: 'primary' | 'secondary';\n sort: SortDirection[];\n data: RowData[];\n uniqueKey: string;\n uid?: string;\n};\n\ntype HeadAsProps = {\n children: React.ReactChild;\n uid: string;\n};\ntype BodyAsProps = {\n children: React.ReactChild;\n uid: string;\n};\n\nexport type DataTableData = { [key: string]: unknown };\nexport type DataTableSort<Columns extends string | number | symbol = string> = [\n sortBy: Columns,\n sortDirection: 'desc' | 'asc',\n];\nexport type DataTableTheme = 'muted' | 'info' | 'success' | 'warning' | 'danger';\nexport type DataTableUse = 'primary' | 'secondary';\nexport type DataTableRow = DataTableCell[];\nexport type DataTableCell = {\n /** Name of column */\n name: string;\n /** Data of column */\n data: React.ReactNode;\n [key: string]: unknown;\n};\n\n/** @deprecated */\nexport interface IDataTableProps<\n DataTableData extends { [key: string]: any }[] = UnknownProperties[],\n> extends DataTableProps<DataTableData> {}\nexport type DataTableProps<DataTableData extends { [key: string]: any }[] = UnknownProperties[]> =\n BoxProps & {\n /** Table theme according to visual hierarchy on the page\n * @default primary\n * */\n use?: DataTableUse;\n /** Data for table */\n data?: DataTableData;\n /** Active sort object */\n sort?: DataTableSort<keyof DataTableData[0]>;\n /** Handler call when request will change sort */\n onSortChange?: (sort: DataTableSort<keyof DataTableData[0]>, e?: React.SyntheticEvent) => void;\n /** Field name in one data entity that is unique accross all dataset\n * @default id\n */\n uniqueKey?: keyof DataTableData[0];\n /** Make cells compact by changing left and right paddings to smaller ones*/\n compact?: boolean;\n };\n\n/** @deprecated */\nexport interface IDataTableHeadProps extends DataTableHeadProps, UnknownProperties {}\nexport type DataTableHeadProps = BoxProps & {\n /** Sticky table header\n * @deprecated\n * */\n sticky?: boolean;\n\n /** Hidden header */\n hidden?: boolean;\n\n /** Disabled scroll (as action) */\n disabledScroll?: boolean;\n\n /** Enable scroll bar element in header */\n withScrollBar?: boolean;\n\n /** Disables column width change animation **/\n animationsDisabled?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableColumnProps extends DataTableColumnProps, UnknownProperties {}\nexport type DataTableColumnProps = FlexProps & {\n /** Unique column name */\n name?: string;\n /** Enable sorting for column. And if you are passing a string, you can also set the default sorting */\n sortable?: boolean | 'desc' | 'asc';\n /** Enable resize for column\n * @ignore */\n resizable?: boolean;\n /** Fix column on the left o right side of the table */\n fixed?: 'left' | 'right';\n /** Fields to control the size of the column */\n flex?: Property.Flex | 'inherit';\n /** Add vertical border to the column */\n vBorders?: boolean;\n /** Add vertical border to the right side of the cell */\n borderRight?: boolean;\n /** Add vertical border to the left side of the cell */\n borderLeft?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableBodyProps extends DataTableBodyProps, UnknownProperties {}\nexport type DataTableBodyProps = BoxProps & {\n /** Rows table */\n rows?: DataTableRow[];\n /** When enabled, only visually acessable rows are rendered.\n * `tollerance` property controls how many rows outside of viewport are render.\n * `rowHeight` fixes the rows height if it has known. If not provided, first row node height is measured.\n * @default { tollerance: 2 }\n */\n virtualScroll?: boolean | { tollerance?: number; rowHeight?: number };\n /** Allows to redefine rows renderning for a very deep and even fragile customization like building custom virtual scrolling */\n renderRows?: (props: {\n rows: DataTableRow[];\n columns: Column[];\n renderRow: (row: DataTableRow, details: { dataIndex: number }) => React.ReactNode;\n }) => React.ReactNode;\n /**\n * Called every time user scrolls area\n */\n onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;\n /** Disabled scroll */\n disabledScroll?: boolean;\n\n /** Disables column width change animation **/\n animationsDisabled?: boolean;\n\n /** Ref for table body container */\n scrollContainerRef?: React.Ref<HTMLDivElement>;\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 const animations = columns\n .flatMap((column) => column.props.ref.current?.getAnimations?.())\n .filter((a) => a !== undefined) as Animation[];\n\n let animationPromise: Promise<Animation[] | void> = Promise.resolve();\n\n if (animations.length > 0) {\n animationPromise = Promise.all(\n animations.map((animation) => {\n return animation.finished;\n }),\n );\n }\n\n animationPromise\n .then(() => {\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 .catch((err) => {\n console.error(err);\n });\n }\n\n childrenToColumns(\n children: React.ReactNode,\n options: { fixed?: 'left' | 'right' } = { fixed: undefined },\n ) {\n const { sort } = this.asProps;\n const columnsChildren: Column[] = [];\n React.Children.forEach(children, (child) => {\n if (!React.isValidElement(child)) return;\n if (child.type !== DefinitionTable.Column) return;\n\n let {\n children,\n name,\n fixed = options.fixed,\n resizable,\n sortable,\n flex,\n vBorders,\n active,\n ...props\n } = child.props as Column['props'];\n const lastColumnChildren = columnsChildren[columnsChildren.length - 1];\n const isGroup = !name;\n let columns: Column[] | undefined;\n\n if (isGroup) {\n columns = this.childrenToColumns(children, { fixed });\n active = typeof active === 'boolean' ? active : columns.some((c) => c.active);\n\n if (vBorders) {\n setBorderGroupColumns(columns);\n }\n\n name = flattenColumns(columns)\n .map(({ name }) => name)\n .join('/');\n if (!columns.length) return;\n children = React.Children.toArray(children).filter(\n (child) => !(React.isValidElement(child) && child.type === DefinitionTable.Column),\n );\n }\n\n const column = this.columns.find((column) => column.name === name);\n const columnChildren = {\n get width() {\n // @ts-ignore\n return this.props.ref.current?.getBoundingClientRect().width || 0;\n },\n name,\n varWidth: createCssVarForWidth(name),\n setVar: flex !== 'inherit',\n fixed,\n resizable,\n active: typeof active === 'boolean' ? active : sort[0] === name,\n sortable,\n borderLeft: lastColumnChildren?.borderRight === true ? false : vBorders,\n borderRight: vBorders,\n sortDirection:\n sort[0] === name\n ? sort[1]\n : column?.sortDirection ||\n (typeof sortable === 'string' ? sortable : defaultSortDirection),\n props: {\n name,\n flex: flex === 'inherit' ? undefined : flex,\n ...props,\n // @ts-ignore\n forwardRef: child.ref,\n children,\n ref: column?.props?.ref || React.createRef(),\n },\n parentColumns: [],\n } as unknown as Column;\n\n if (columns) {\n columnChildren.columns = columns;\n columns.forEach((column) => column.parentColumns.unshift(columnChildren));\n }\n columnsChildren.push(columnChildren);\n });\n return columnsChildren;\n }\n\n getHeadProps(props: HeadAsProps) {\n const { use, uid } = this.asProps;\n const columnsChildren = this.childrenToColumns(props.children);\n\n this.columns = flattenColumns(columnsChildren);\n return {\n $onSortClick: callAllEventHandlers(this.handlerSortClick, this.scrollToUp),\n columnsChildren,\n use,\n onResize: this.handlerResize,\n $scrollRef: this.scrollHeadRef,\n uid,\n };\n }\n\n getBodyProps(props: BodyAsProps) {\n const { data, use, uniqueKey, uid } = this.asProps;\n const cellPropsLayers: { [columnName: string]: PropsLayer[] } = {};\n const rowPropsLayers: PropsLayer[] = [];\n\n React.Children.forEach(props.children, (child) => {\n if (React.isValidElement(child)) {\n const { name, children, ...other } = child.props as {\n name?: string;\n children?: PseudoChildPropsGetter;\n } & { [propName: string]: unknown };\n if (child.type === DefinitionTable.Cell && name) {\n name.split('/').forEach((name) => {\n cellPropsLayers[name] = cellPropsLayers[name] || [];\n cellPropsLayers[name].push({\n ...other,\n childrenPropsGetter: children,\n });\n });\n }\n if (child.type === DefinitionTable.Row) {\n rowPropsLayers.push({\n ...other,\n childrenPropsGetter: children,\n });\n }\n }\n });\n\n return {\n columns: this.columns,\n rows: this.dataToRows(data, cellPropsLayers),\n uniqueKey,\n use,\n rowPropsLayers,\n $scrollRef: this.scrollBodyRef,\n uid,\n };\n }\n\n dataToRows(data: RowData[], cellPropsLayers: { [columnName: string]: PropsLayer[] }) {\n const parseData = (data: RowData[], exclude: { [columnName: string]: true }) =>\n data.map((row) => {\n const groupByName: {\n [columnName: string]: {\n groupedColumns: string[];\n groupData: { [columnName: string]: unknown };\n };\n } = {};\n const columnsWithoutRowGroup: { [columnname: string]: true } = {};\n for (const rowKey in row) {\n const columnNames = rowKey.split('/');\n if (columnNames.length >= 2) {\n for (const column of columnNames) {\n groupByName[column] = {\n groupedColumns: columnNames,\n groupData: row[rowKey] as { [columnName: string]: unknown },\n };\n columnsWithoutRowGroup[column] = true;\n }\n } else {\n columnsWithoutRowGroup[rowKey] = true;\n }\n }\n\n const rowsGroup = row[ROW_GROUP] || [];\n const rowsGroupedNames = Object.fromEntries(\n rowsGroup\n .flatMap((subRow) => Object.keys(subRow))\n .flatMap((key) => key.split('/'))\n .map((key) => [key, true]),\n );\n\n let isGroup = false;\n\n const cells: NestedCells = this.columns\n .map((column) => {\n if (groupByName[column.name]) {\n const { groupedColumns, groupData } = groupByName[column.name];\n if (groupedColumns[0] === column.name) {\n return {\n name: groupedColumns.join('/'),\n cssVar: groupedColumns.map(createCssVarForWidth),\n fixed: column.fixed,\n data: groupData,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n } else if (column.name in row) {\n return {\n name: column.name,\n cssVar: column.varWidth,\n fixed: column.fixed,\n data: row[column.name],\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n } else if (!isGroup && rowsGroupedNames[column.name]) {\n // TODO: make it work not only with first group\n isGroup = true;\n return parseData(rowsGroup, {\n ...exclude,\n ...columnsWithoutRowGroup,\n });\n } else if (!exclude[column.name] && !rowsGroupedNames[column.name]) {\n // add empty cell if it is not present in data\n return {\n name: column.name,\n cssVar: column.varWidth,\n fixed: column.fixed,\n data: null,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n })\n .filter((column) => column)\n .map((column) => column!);\n\n cells.flatRowData = row;\n return cells;\n });\n\n return parseData(data, {});\n }\n\n componentDidMount() {\n this.setVarStyle(this.columns);\n }\n\n componentDidUpdate() {\n this.setVarStyle(this.columns);\n }\n\n render() {\n const SDataTable = Root;\n const { Children, styles, data } = this.asProps;\n\n return sstyled(styles)(\n <SDataTable\n render={Box}\n __excludeProps={['data']}\n ref={this.tableRef}\n role='table'\n aria-rowcount={(data ?? []).length}\n >\n <Children />\n </SDataTable>,\n );\n }\n}\n\ntype DataTableCtx = {\n getHeadProps: PropGetterFn;\n getBodyProps: PropGetterFn;\n};\n\nfunction ComponentDefinition() {\n return null;\n}\n\ntype IntergalacticDataTableComponent<PropsExtending extends {} = {}> = (<\n Data extends DataTableData[],\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.ComponentProps<\n Tag,\n 'div',\n DataTableProps<Data> & PropsExtending,\n DataTableCtx,\n never\n >,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', DataTableProps>;\n\ntype IntergalacticDataTableRowComponent<PropsExtending extends {} = {}> = (<\n Data extends DataTableData[],\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.PropsRenderingResultComponentProps<\n Tag,\n DataTableRowProps & {\n /**\n * That property is ONLY used for the component strict typings. In the component runtime `data` prop set on `<DataTable>...</DataTable> is used.\n */\n data?: Data;\n } & PropsExtending,\n DataTableCtx & { data: Data },\n [row: Data[0], index: number]\n >,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', DataTableRowProps>;\n\ntype IntergalacticDataTableCellComponent<PropsExtending extends {} = {}> = (<\n Data extends DataTableData[] = [],\n Name extends string = string,\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.PropsRenderingResultComponentProps<\n Tag,\n DataTableCellProps<Name> & {\n /**\n * That property is ONLY used for the componenct strict typings. In the component runtime `data` prop set on `<DataTable>...</DataTable> is used.\n */\n data?: Data;\n } & PropsExtending,\n DataTableCtx & { data: Data },\n [row: Data[0], index: number]\n >,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', DataTableCellProps>;\n\nconst DefinitionTable = createComponent(\n RootDefinitionTable,\n {\n Head,\n Body,\n Column: ComponentDefinition,\n Cell: ComponentDefinition,\n Row: ComponentDefinition,\n },\n {},\n) as IntergalacticDataTableComponent & {\n Head: Intergalactic.Component<'div', DataTableHeadProps>;\n Body: Intergalactic.Component<'div', DataTableBodyProps>;\n Column: Intergalactic.Component<'div', DataTableColumnProps>;\n Row: IntergalacticDataTableRowComponent;\n Cell: IntergalacticDataTableCellComponent;\n};\n\nexport { ROW_GROUP };\nexport default DefinitionTable;\n\nexport const wrapDataTable = <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<IntergalacticDataTableComponent>\n > &\n PropsExtending,\n ) => React.ReactNode,\n): IntergalacticDataTableComponent<PropsExtending> => wrapper as any;\n\nexport const wrapDataTableRow = <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<IntergalacticDataTableRowComponent>\n > &\n PropsExtending,\n ) => React.ReactNode,\n): IntergalacticDataTableRowComponent<PropsExtending> => wrapper as any;\n\nexport const wrapDataTableCell = <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<IntergalacticDataTableCellComponent>\n > &\n PropsExtending,\n ) => React.ReactNode,\n): IntergalacticDataTableCellComponent<PropsExtending> => wrapper as any;\n"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"DataTable.js","names":["React","createComponent","Component","Root","sstyled","Box","syncScroll","callAllEventHandlers","fire","flattenColumns","Head","Body","uniqueIDEnhancement","style","_sstyled","insert","reversedSortDirection","desc","asc","defaultSortDirection","ROW_GROUP","Symbol","cssVarReg","createCssVarForWidth","name","concat","replace","setBorderGroupColumns","columns","side","firstColumn","lastColumn","length","borderLeft","borderRight","RootDefinitionTable","_Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","createRef","event","column","find","active","sortDirection","forceUpdate","_this$tableRef","_this$tableRef$curren","tableRef","current","scrollIntoView","block","inline","behavior","scrollBodyRef","scrollHeadRef","_createClass","key","value","setVarStyle","_this2","animations","flatMap","_column$props$ref$cur","_column$props$ref$cur2","ref","getAnimations","filter","a","undefined","animationPromise","Promise","resolve","all","map","animation","finished","then","_iterator","_createForOfIteratorHelper","_step","s","n","done","setVar","_this2$tableRef$curre","setProperty","varWidth","width","err","e","f","console","error","childrenToColumns","children","_this3","options","arguments","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","_ref4","join","toArray","columnChildren","_this$props$ref$curre","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","_this4","parseData","exclude","row","groupByName","columnsWithoutRowGroup","rowKey","columnNames","_iterator2","_step2","groupedColumns","groupData","rowsGroup","rowsGroupedNames","Object","fromEntries","subRow","keys","cells","_groupByName$column$n","cssVar","flatRowData","componentDidMount","componentDidUpdate","render","_ref","_ref2","SDataTable","_this$asProps3","styles","createElement","cn","_assignProps","ComponentDefinition","wrapDataTable","wrapper","wrapDataTableRow","wrapDataTableCell"],"sources":["../../src/DataTable.tsx"],"sourcesContent":["import React from 'react';\nimport { Property } from 'csstype';\nimport createComponent, {\n Component,\n PropGetterFn,\n Root,\n sstyled,\n UnknownProperties,\n Intergalactic,\n} from '@semcore/core';\nimport { Box, BoxProps, FlexProps } from '@semcore/flex-box';\nimport syncScroll from '@semcore/utils/lib/syncScroll';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport fire from '@semcore/utils/lib/fire';\nimport { flattenColumns } from './utils';\nimport type {\n Column,\n NestedCells,\n PropsLayer,\n PseudoChildPropsGetter,\n RowData,\n SortDirection,\n} from './types';\nimport Head from './Head';\nimport Body from './Body';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\n\nimport style from './style/data-table.shadow.css';\n\nconst reversedSortDirection: { [direction in SortDirection]: SortDirection } = {\n desc: 'asc',\n asc: 'desc',\n};\nconst defaultSortDirection: SortDirection = 'desc';\n\nconst ROW_GROUP = Symbol('ROW_GROUP');\n\nconst cssVarReg = /[:;\\W]/g;\n\nconst createCssVarForWidth = (name: string) => {\n return `--${name.replace(cssVarReg, '_')}_width`;\n};\n\ntype AsProps = {\n use: 'primary' | 'secondary';\n sort: SortDirection[];\n data: RowData[];\n uniqueKey: string;\n uid?: string;\n};\n\ntype HeadAsProps = {\n children: React.ReactChild;\n uid: string;\n};\ntype BodyAsProps = {\n children: React.ReactChild;\n uid: string;\n};\n\nexport type DataTableData = { [key: string]: unknown };\nexport type DataTableSort<Columns extends string | number | symbol = string> = [\n sortBy: Columns,\n sortDirection: 'desc' | 'asc',\n];\nexport type DataTableTheme = 'muted' | 'info' | 'success' | 'warning' | 'danger';\nexport type DataTableUse = 'primary' | 'secondary';\nexport type DataTableRow = DataTableCell[];\nexport type DataTableCell = {\n /** Name of column */\n name: string;\n /** Data of column */\n data: React.ReactNode;\n [key: string]: unknown;\n};\n\n/** @deprecated */\nexport interface IDataTableProps<\n DataTableData extends { [key: string]: any }[] = UnknownProperties[],\n> extends DataTableProps<DataTableData> {}\nexport type DataTableProps<DataTableData extends { [key: string]: any }[] = UnknownProperties[]> =\n BoxProps & {\n /** Table theme according to visual hierarchy on the page\n * @default primary\n * */\n use?: DataTableUse;\n /** Data for table */\n data?: DataTableData;\n /** Active sort object */\n sort?: DataTableSort<keyof DataTableData[0]>;\n /** Handler call when request will change sort */\n onSortChange?: (sort: DataTableSort<keyof DataTableData[0]>, e?: React.SyntheticEvent) => void;\n /** Field name in one data entity that is unique accross all dataset\n * @default id\n */\n uniqueKey?: keyof DataTableData[0];\n /** Make cells compact by changing left and right paddings to smaller ones*/\n compact?: boolean;\n };\n\n/** @deprecated */\nexport interface IDataTableHeadProps extends DataTableHeadProps, UnknownProperties {}\nexport type DataTableHeadProps = BoxProps & {\n /** Sticky table header\n * @deprecated\n * */\n sticky?: boolean;\n\n /** Hidden header */\n hidden?: boolean;\n\n /** Disabled scroll (as action) */\n disabledScroll?: boolean;\n\n /** Enable scroll bar element in header */\n withScrollBar?: boolean;\n\n /** Disables column width change animation **/\n animationsDisabled?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableColumnProps extends DataTableColumnProps, UnknownProperties {}\nexport type DataTableColumnProps = FlexProps & {\n /** Unique column name */\n name?: string;\n /** Enable sorting for column. And if you are passing a string, you can also set the default sorting */\n sortable?: boolean | 'desc' | 'asc';\n /** Enable resize for column\n * @ignore */\n resizable?: boolean;\n /** Fix column on the left o right side of the table */\n fixed?: 'left' | 'right';\n /** Fields to control the size of the column */\n flex?: Property.Flex | 'inherit';\n /** Add vertical border to the column */\n vBorders?: boolean;\n /** Add vertical border to the right side of the cell */\n borderRight?: boolean;\n /** Add vertical border to the left side of the cell */\n borderLeft?: boolean;\n};\n\n/** @deprecated */\nexport interface IDataTableBodyProps extends DataTableBodyProps, UnknownProperties {}\nexport type DataTableBodyProps = BoxProps & {\n /** Rows table */\n rows?: DataTableRow[];\n /** When enabled, only visually acessable rows are rendered.\n * `tollerance` property controls how many rows outside of viewport are render.\n * `rowHeight` fixes the rows height if it has known. If not provided, first row node height is measured.\n * @default { tollerance: 2 }\n */\n virtualScroll?: boolean | { tollerance?: number; rowHeight?: number };\n /** Allows to redefine rows renderning for a very deep and even fragile customization like building custom virtual scrolling */\n renderRows?: (props: {\n rows: DataTableRow[];\n columns: Column[];\n renderRow: (row: DataTableRow, details: { dataIndex: number }) => React.ReactNode;\n }) => React.ReactNode;\n /**\n * Called every time user scrolls area\n */\n onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;\n /** Disabled scroll */\n disabledScroll?: boolean;\n\n /** Disables column width change animation **/\n animationsDisabled?: boolean;\n\n /** Ref for table body container */\n scrollContainerRef?: React.Ref<HTMLDivElement>;\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 const animations = columns\n .flatMap((column) => column.props.ref.current?.getAnimations?.())\n .filter((a) => a !== undefined) as Animation[];\n\n let animationPromise: Promise<Animation[] | void> = Promise.resolve();\n\n if (animations.length > 0) {\n animationPromise = Promise.all(\n animations.map((animation) => {\n return animation.finished;\n }),\n );\n }\n\n animationPromise\n .then(() => {\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 .catch((err) => {\n console.error(err);\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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"}
|
@@ -42,7 +42,7 @@ var Head = /*#__PURE__*/function (_Component) {
|
|
42
42
|
_this = _super.call.apply(_super, [this].concat(args));
|
43
43
|
_defineProperty(_assertThisInitialized(_this), "columns", []);
|
44
44
|
_defineProperty(_assertThisInitialized(_this), "sortWrapperRefs", new Map());
|
45
|
-
_defineProperty(_assertThisInitialized(_this), "
|
45
|
+
_defineProperty(_assertThisInitialized(_this), "defaultWidths", new Map());
|
46
46
|
_defineProperty(_assertThisInitialized(_this), "bindHandlerSortClick", function (name) {
|
47
47
|
return function (event) {
|
48
48
|
_this.asProps.$onSortClick(name, event);
|
@@ -75,12 +75,15 @@ var Head = /*#__PURE__*/function (_Component) {
|
|
75
75
|
};
|
76
76
|
});
|
77
77
|
_defineProperty(_assertThisInitialized(_this), "calculateMinWidth", function (node, column) {
|
78
|
-
if (!_this.
|
78
|
+
if (!_this.defaultWidths.has(node) && (column.props.wMin || column.props.wMax || column.props.w)) {
|
79
79
|
var computedStyle = window.getComputedStyle(node);
|
80
|
-
_this.
|
80
|
+
_this.defaultWidths.set(node, {
|
81
|
+
minWidth: cssToIntDefault(computedStyle.getPropertyValue('min-width')),
|
82
|
+
computedWidth: cssToIntDefault(computedStyle.getPropertyValue('width'))
|
83
|
+
});
|
81
84
|
}
|
82
85
|
if (column.active) {
|
83
|
-
var _this$
|
86
|
+
var _this$defaultWidths$g, _this$defaultWidths$g2;
|
84
87
|
var clonedColumn = document.createElement('div');
|
85
88
|
var _computedStyle = window.getComputedStyle(node);
|
86
89
|
node.childNodes.forEach(function (node) {
|
@@ -95,9 +98,9 @@ var Head = /*#__PURE__*/function (_Component) {
|
|
95
98
|
});
|
96
99
|
clonedColumn.style.setProperty('width', 'fit-content', 'important');
|
97
100
|
document.body.appendChild(clonedColumn);
|
98
|
-
var computedWidth = Math.
|
101
|
+
var computedWidth = Math.ceil(clonedColumn.getBoundingClientRect().width);
|
99
102
|
document.body.removeChild(clonedColumn);
|
100
|
-
var defaultNodeWidth = (_this$
|
103
|
+
var defaultNodeWidth = (_this$defaultWidths$g = (_this$defaultWidths$g2 = _this.defaultWidths.get(node)) === null || _this$defaultWidths$g2 === void 0 ? void 0 : _this$defaultWidths$g2.computedWidth) !== null && _this$defaultWidths$g !== void 0 ? _this$defaultWidths$g : 0;
|
101
104
|
if (computedWidth >= defaultNodeWidth) {
|
102
105
|
node.style.setProperty('min-width', defaultNodeWidth + SORT_ICON_WIDTH + 'px');
|
103
106
|
} else {
|
@@ -106,8 +109,10 @@ var Head = /*#__PURE__*/function (_Component) {
|
|
106
109
|
node.style.setProperty('min-width', computedWidth + SORT_ICON_WIDTH + 'px');
|
107
110
|
}
|
108
111
|
}
|
109
|
-
} else if (_this.
|
110
|
-
|
112
|
+
} else if (_this.defaultWidths.has(node)) {
|
113
|
+
var _this$defaultWidths$g3;
|
114
|
+
var defaultNodeMinWidth = (_this$defaultWidths$g3 = _this.defaultWidths.get(node)) === null || _this$defaultWidths$g3 === void 0 ? void 0 : _this$defaultWidths$g3.minWidth;
|
115
|
+
node.style.setProperty('min-width', defaultNodeMinWidth + 'px');
|
111
116
|
}
|
112
117
|
});
|
113
118
|
return _this;
|