@public-ui/components 1.1.16-rc.0 → 1.1.16-rc.1
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/cheat-sheet.html +6 -6
- package/custom-elements.json +1 -1
- package/dist/cjs/kol-table.cjs.entry.js +1 -1
- package/dist/cjs/kol-table.cjs.entry.js.map +1 -1
- package/dist/cjs/reuse-d95dc094.js.map +1 -1
- package/dist/components/component.js.map +1 -1
- package/dist/components/kol-table.js +1 -1
- package/dist/components/kol-table.js.map +1 -1
- package/dist/esm/kol-table.entry.js +1 -1
- package/dist/esm/kol-table.entry.js.map +1 -1
- package/dist/esm/reuse-f9be4952.js.map +1 -1
- package/dist/kolibri/assets/table-simulation.js +1 -1
- package/dist/kolibri/kol-table.entry.js +1 -1
- package/dist/kolibri/kol-table.entry.js.map +1 -1
- package/dist/kolibri/reuse-f9be4952.js.map +1 -1
- package/jest-test-results.json +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["defaultStyleCss","PAGINATION_OPTIONS","KolTable","this","horizontal","sortDirections","Map","showPagination","pageStartSlice","pageEndSlice","handlePagination","onClick","event","page","_a","state","_pagination","_on","setState","Object","assign","_page","onChangePage","onChangePageSize","pageSize","_pageSize","beforePatchPagination","nextValue","_nextState","_component","key","updateSortedData","sortedData","_data","sortFunction","get","reverse","_caption","_headers","vertical","_total","_sortedData","validateCaption","value","watchString","required","validateData","emptyStringByArrayHandler","objectObjectHandler","parseJson","e","Array","isArray","find","dataTupel","undefined","afterPatch","timeout","setTimeout","clearTimeout","validateHeaders","watchValidator","Set","hooks","beforePatch","headers","forEach","header","cell","sort","sortDirection","set","validateMinWidth","defaultValue","validatePagination","componentWillLoad","_minWidth","getNumberOfCols","horizontalHeaders","data","max","row","count","col","colSpan","length","getNumberOfRows","verticalHeaders","rowSpan","filterHeaderKeys","primaryHeader","cells","push","getPrimaryHeader","_b","createDataField","maxCols","maxRows","dataField","rowCount","rowSpans","_row","index","i","dataRow","sum","rows","asTd","k","j","label","colspan","rowspan","emptyCell","render","Math","selectDisplayedData","slice","cellRender","el","HTMLElement","html","textAlign","width","innerHTML","displayedData","h","Host","tabindex","style","minWidth","map","cols","class","ref","scope","exportparts","_ariaLabel","_icon","_iconOnly","_label","_variant","_boundaryCount","_customClass","_pageSizeOptions","_siblingCount","_tooltipAlign"],"sources":["./src/components/table/style.sass?tag=kol-table&mode=default&encapsulation=shadow","./src/components/table/component.tsx"],"sourcesContent":["/* windicss-touch: 1639175625181 */\n@import ../style\n\n:host\n @apply overflow-hidden\n\n & > div\n overflow-x: auto\n border-radius: var(--kolibri-border-radius)\n border-style: solid\n border-width: 1px\n @apply border-default\n\n table\n border: 0\n width: 100%\n\n tr\n border-top-style: solid\n border-top-width: 1px\n @apply py-1 px-2 border-t-1 border-default\n\n th,\n td\n border-right-style: solid\n border-right-width: 1px\n @apply py-1 px-2 border-default\n\n &:last-child\n border: 0\n\n th,\n .th\n @apply bg-gray-200\n\n &:nth-child(even)\n @apply bg-gray-100\n\n &:nth-child(odd)\n @apply white\n\n & > div.pagination\n @apply border-none w-full grid grid-flow-col content-center items-center pt-2 px-1 gap-2\n\n & > div::last-child\n @apply flex justify-self-end items-center gap-2\n","/* eslint-disable jsx-a11y/no-noninteractive-tabindex */\nimport { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Generic } from '@public-ui/core';\nimport { Stringified } from '../../types/common';\nimport {\n\tKoliBriDataType,\n\tKoliBriSortDirection,\n\tKoliBriSortFunction,\n\tKoliBriTableCell,\n\tKoliBriTableHeaderCell,\n\tKoliBriTableHeaders,\n\tKoliBriTablePaginationProps,\n\tKoliBriTablePaginationStates,\n} from '../../types/table';\nimport { emptyStringByArrayHandler, objectObjectHandler, parseJson, setState, watchString, watchValidator } from '../../utils/prop.validators';\nimport { KoliBriPaginationButtonCallbacks } from '../pagination/types';\n\ntype KoliBriTableHeaderCellAndData = KoliBriTableHeaderCell & {\n\tdata: KoliBriDataType;\n};\n\n/**\n * API\n */\ntype RequiredProps = {\n\tcaption: string;\n\tdata: Stringified<KoliBriDataType[]>;\n\theaders: Stringified<KoliBriTableHeaders>;\n};\ntype OptionalProps = {\n\tminWidth: string;\n\tpagination: boolean | Stringified<KoliBriTablePaginationProps>;\n};\n// type Props = Generic.Element.Members<RequiredProps, OptionalProps>;\n\ntype RequiredStates = {\n\tcaption: string;\n\tdata: KoliBriDataType[];\n\theaders: KoliBriTableHeaders;\n\tpagination: KoliBriTablePaginationStates;\n\tsortedData: KoliBriDataType[];\n};\ntype OptionalStates = {\n\tminWidth: string;\n} & {\n\tsortDirection: KoliBriSortDirection;\n};\ntype States = Generic.Element.Members<RequiredStates, OptionalStates>;\n\nconst PAGINATION_OPTIONS = [10, 20, 50, 100];\n\n@Component({\n\ttag: 'kol-table',\n\tstyleUrls: {\n\t\tdefault: './style.sass',\n\t},\n\tshadow: true,\n})\nexport class KolTable implements Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates> {\n\t// https://github.com/ionic-team/stencil/issues/2895\n\tprivate horizontal = true;\n\tprivate sortFunction?: KoliBriSortFunction;\n\tprivate sortDirections: Map<KoliBriSortFunction, KoliBriSortDirection> = new Map();\n\tprivate showPagination = false;\n\tprivate pageStartSlice = 0;\n\tprivate pageEndSlice = 10;\n\n\t/**\n\t * Gibt den Titel oder eine Legende mit Erklärungen zur Tabelle an.\n\t */\n\t@Prop() public _caption!: string;\n\n\t/**\n\t * Gibt die Daten an, die für die Erstellung der Tabelle verwendet werden.\n\t */\n\t@Prop() public _data!: Stringified<KoliBriDataType[]>;\n\n\t/**\n\t * Gibt die horizontalen und vertikalen Header für die Tabelle an.\n\t */\n\t@Prop() public _headers!: Stringified<KoliBriTableHeaders>;\n\n\t/**\n\t * Gibt an, die minimale Breite der Tabelle an.\n\t */\n\t@Prop() public _minWidth?: string;\n\n\t/**\n\t * Gibt an, ob die Daten geteilt in Seiten angezeigt wird.\n\t */\n\t@Prop() public _pagination?: boolean | Stringified<KoliBriTablePaginationProps>;\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_caption: '',\n\t\t_data: [],\n\t\t_headers: {\n\t\t\thorizontal: [],\n\t\t\tvertical: [],\n\t\t},\n\t\t_pagination: {\n\t\t\t_page: 1,\n\t\t\t_pageSize: 10,\n\t\t\t_total: 0,\n\t\t},\n\t\t_sortedData: [],\n\t};\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_caption')\n\tpublic validateCaption(value?: string): void {\n\t\twatchString(this, '_caption', value, {\n\t\t\trequired: true,\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_data')\n\tpublic validateData(value?: Stringified<KoliBriDataType[]>): void {\n\t\temptyStringByArrayHandler(value, () => {\n\t\t\tobjectObjectHandler(value, () => {\n\t\t\t\tif (typeof value === 'undefined') {\n\t\t\t\t\tvalue = [];\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\tvalue = parseJson<KoliBriDataType[]>(value);\n\t\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t\t} catch (e) {\n\t\t\t\t\t// value behält den ursprünglichen Wert\n\t\t\t\t}\n\t\t\t\tif (Array.isArray(value) && value.find((dataTupel: KoliBriDataType) => !(typeof dataTupel === 'object' && dataTupel !== null)) === undefined) {\n\t\t\t\t\tsetState(this, '_data', value, {\n\t\t\t\t\t\tafterPatch: () => {\n\t\t\t\t\t\t\t// TODO: kein guter Hack (endless loop)\n\t\t\t\t\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\t\t\t\t\tclearTimeout(timeout);\n\t\t\t\t\t\t\t\tthis.updateSortedData();\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_headers')\n\tpublic validateHeaders(value?: Stringified<KoliBriTableHeaders>): void {\n\t\t/**\n\t\t * - es darf maximal ein Header als primary markiert werden (last win)\n\t\t * - der primary-Header entscheidet implizit über _order und _orientation\n\t\t * - primary-Headers müssen das key-Property setzen\n\t\t * - nicht primary-Headers müssen das key-Property nicht setzen (wird ignoriert)\n\t\t * - _order: wird durch den primary-Header geregelt\n\t\t * - _orientation: wird durch den primary-Header geregelt\n\t\t * - sobald ein Header sortierbar ist, darf es nur noch entweder horizontale\n\t\t * oder vertikale Header geben, aber nicht mehr beides\n\t\t */\n\t\temptyStringByArrayHandler(value, () => {\n\t\t\tobjectObjectHandler(value, () => {\n\t\t\t\ttry {\n\t\t\t\t\tvalue = parseJson<KoliBriTableHeaders>(value);\n\t\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t\t} catch (e) {\n\t\t\t\t\t// value behält den ursprünglichen Wert\n\t\t\t\t}\n\t\t\t\twatchValidator(this, '_headers', (value): boolean => typeof value === 'object' && value !== null, new Set(['KoliBriTableHeaders']), value, {\n\t\t\t\t\thooks: {\n\t\t\t\t\t\tbeforePatch: (nextValue: unknown) => {\n\t\t\t\t\t\t\tconst headers: KoliBriTableHeaders = nextValue as KoliBriTableHeaders;\n\t\t\t\t\t\t\theaders.horizontal?.forEach((header) => {\n\t\t\t\t\t\t\t\theader.forEach((cell) => {\n\t\t\t\t\t\t\t\t\tif (typeof cell.sort === 'function' && typeof cell.sortDirection === 'string') {\n\t\t\t\t\t\t\t\t\t\tthis.sortDirections.set(cell.sort, cell.sortDirection);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_minWidth')\n\tpublic validateMinWidth(value?: string): void {\n\t\twatchString(this, '_minWidth', value, {\n\t\t\tdefaultValue: undefined,\n\t\t});\n\t}\n\n\tprivate readonly handlePagination: KoliBriPaginationButtonCallbacks = {\n\t\tonClick: (event: Event, page: number) => {\n\t\t\tif (typeof this.state._pagination._on?.onClick === 'function') {\n\t\t\t\tthis.state._pagination._on.onClick(event, page);\n\t\t\t}\n\t\t\tsetState(this, '_pagination', {\n\t\t\t\t...this.state._pagination,\n\t\t\t\t_page: page,\n\t\t\t});\n\t\t},\n\t\tonChangePage: (event: Event, page: number) => {\n\t\t\tif (typeof this.state._pagination._on?.onChangePage === 'function') {\n\t\t\t\tthis.state._pagination._on.onChangePage(event, page);\n\t\t\t}\n\t\t\tsetState(this, '_pagination', {\n\t\t\t\t...this.state._pagination,\n\t\t\t\t_page: page,\n\t\t\t});\n\t\t},\n\t\tonChangePageSize: (event: Event, pageSize: number) => {\n\t\t\tif (typeof this.state._pagination._on?.onChangePageSize === 'function') {\n\t\t\t\tthis.state._pagination._on.onChangePageSize(event, pageSize);\n\t\t\t}\n\t\t\tsetState(this, '_pagination', {\n\t\t\t\t...this.state._pagination,\n\t\t\t\t_pageSize: pageSize,\n\t\t\t});\n\t\t\tsetState(this, '_pageSize', pageSize);\n\t\t},\n\t};\n\n\tprivate readonly beforePatchPagination: Generic.Element.NextStateHooksCallback = (nextValue, _nextState, _component, key): void => {\n\t\tif (key === '_pagination') {\n\t\t\tthis.showPagination = nextValue === true || nextValue === '' /* true */ || (typeof nextValue === 'object' && nextValue !== null);\n\t\t}\n\t};\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_pagination')\n\tpublic validatePagination(value?: boolean | Stringified<KoliBriTablePaginationProps>): void {\n\t\ttry {\n\t\t\tvalue = parseJson<KoliBriTablePaginationProps>(value);\n\t\t\t// eslint-disable-next-line no-empty\n\t\t} catch (e) {\n\t\t\t// value behält den ursprünglichen Wert\n\t\t}\n\t\twatchValidator(this, '_pagination', () => true, new Set(['boolean', 'KoliBriTablePagination']), value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.beforePatchPagination,\n\t\t\t},\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis.validateCaption(this._caption);\n\t\tthis.validateData(this._data);\n\t\tthis.validateHeaders(this._headers);\n\t\tthis.validateMinWidth(this._minWidth);\n\t\tthis.validatePagination(this._pagination);\n\t}\n\n\tprivate getNumberOfCols(horizontalHeaders: KoliBriTableHeaderCell[][], data: KoliBriDataType[]): number {\n\t\tlet max = 0;\n\t\thorizontalHeaders.forEach((row) => {\n\t\t\tlet count = 0;\n\t\t\trow.forEach((col) => (count += col.colSpan ?? 1));\n\t\t\tif (max < count) {\n\t\t\t\tmax = count;\n\t\t\t}\n\t\t});\n\t\tif (max === 0) {\n\t\t\tmax = data.length;\n\t\t}\n\t\treturn max;\n\t}\n\n\tprivate getNumberOfRows(verticalHeaders: KoliBriTableHeaderCell[][], data: KoliBriDataType[]): number {\n\t\tlet max = 0;\n\t\tverticalHeaders.forEach((col) => {\n\t\t\tlet count = 0;\n\t\t\tcol.forEach((row) => (count += row.rowSpan ?? 1));\n\t\t\tif (max < count) {\n\t\t\t\tmax = count;\n\t\t\t}\n\t\t});\n\t\tif (max === 0) {\n\t\t\tmax = data.length;\n\t\t}\n\t\treturn max;\n\t}\n\n\t// TODO: hier muss noch die order beachtet werden bei colspan und rowspan\n\tprivate filterHeaderKeys(headers: KoliBriTableHeaderCell[][]): KoliBriTableHeaderCell[] {\n\t\tconst primaryHeader: KoliBriTableHeaderCell[] = [];\n\t\theaders.forEach((cells) => {\n\t\t\tcells.forEach((cell) => {\n\t\t\t\tif (typeof cell.key === 'string') {\n\t\t\t\t\tprimaryHeader.push(cell);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\treturn primaryHeader;\n\t}\n\n\tprivate getPrimaryHeader(headers: KoliBriTableHeaders): KoliBriTableHeaderCell[] {\n\t\tlet primaryHeader: KoliBriTableHeaderCell[] = this.filterHeaderKeys(headers.horizontal ?? []);\n\t\tthis.horizontal = true;\n\t\tif (primaryHeader.length === 0) {\n\t\t\tprimaryHeader = this.filterHeaderKeys(headers.vertical ?? []);\n\t\t\tif (primaryHeader.length > 0) {\n\t\t\t\tthis.horizontal = false;\n\t\t\t}\n\t\t}\n\t\treturn primaryHeader;\n\t}\n\n\tprivate createDataField(data: KoliBriDataType[], headers: KoliBriTableHeaders): KoliBriTableCell[][] {\n\t\theaders.horizontal = Array.isArray(headers?.horizontal) ? headers.horizontal : [];\n\t\theaders.vertical = Array.isArray(headers?.vertical) ? headers.vertical : [];\n\t\tconst primaryHeader = this.getPrimaryHeader(headers);\n\t\tconst maxCols = this.getNumberOfCols(headers.horizontal, data);\n\t\tconst maxRows = this.getNumberOfRows(headers.vertical, data);\n\t\tconst dataField: KoliBriTableCell[][] = [];\n\n\t\tconst rowCount: number[] = [];\n\t\tconst rowSpans: number[][] = [];\n\t\theaders.vertical.forEach((_row, index) => {\n\t\t\trowCount[index] = 0;\n\t\t\trowSpans[index] = [];\n\t\t});\n\n\t\tfor (let i = 0; i < maxRows; i++) {\n\t\t\tconst dataRow: KoliBriTableHeaderCellAndData[] = [];\n\t\t\theaders.vertical.forEach((cells, index) => {\n\t\t\t\tlet sum = 0;\n\t\t\t\trowSpans[index].forEach((value) => (sum += value));\n\t\t\t\tif (sum <= i) {\n\t\t\t\t\tconst rows = cells[i - sum + rowCount[index]];\n\t\t\t\t\tif (typeof rows === 'object') {\n\t\t\t\t\t\tdataRow.push({\n\t\t\t\t\t\t\t...rows,\n\t\t\t\t\t\t\tasTd: false,\n\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\t\t\t\t\t\tdata: {} as KoliBriDataType,\n\t\t\t\t\t\t});\n\t\t\t\t\t\tlet rowSpan = 1;\n\t\t\t\t\t\tif (typeof rows.rowSpan === 'number' && rows.rowSpan > 1) {\n\t\t\t\t\t\t\trowSpan = rows.rowSpan;\n\t\t\t\t\t\t}\n\t\t\t\t\t\trowSpans[index].push(rowSpan);\n\t\t\t\t\t\tif (typeof rows.colSpan === 'number' && rows.colSpan > 1) {\n\t\t\t\t\t\t\tfor (let k = 1; k < rows.colSpan; k++) {\n\t\t\t\t\t\t\t\trowSpans[index + k].push(rowSpan);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\trowCount[index]++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\tfor (let j = 0; j < maxCols; j++) {\n\t\t\t\tif (this.horizontal === true) {\n\t\t\t\t\tif (\n\t\t\t\t\t\ttypeof primaryHeader[j] === 'object' &&\n\t\t\t\t\t\tprimaryHeader[j] !== null &&\n\t\t\t\t\t\ttypeof primaryHeader[j].key === 'string' &&\n\t\t\t\t\t\ttypeof data[i] === 'object' &&\n\t\t\t\t\t\tdata[i] !== null\n\t\t\t\t\t) {\n\t\t\t\t\t\tdataRow.push({\n\t\t\t\t\t\t\t...primaryHeader[j],\n\t\t\t\t\t\t\tcolSpan: undefined,\n\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\t\t\t\t\t\tdata: data[i],\n\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\t\t\t\t\tlabel: data[i][primaryHeader[j].key as unknown as string] as string,\n\t\t\t\t\t\t\trowSpan: undefined,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (\n\t\t\t\t\t\ttypeof primaryHeader[i] === 'object' &&\n\t\t\t\t\t\tprimaryHeader[i] !== null &&\n\t\t\t\t\t\ttypeof primaryHeader[i].key === 'string' &&\n\t\t\t\t\t\ttypeof data[j] === 'object' &&\n\t\t\t\t\t\tdata[j] !== null\n\t\t\t\t\t) {\n\t\t\t\t\t\tdataRow.push({\n\t\t\t\t\t\t\t...primaryHeader[i],\n\t\t\t\t\t\t\tcolSpan: undefined,\n\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\t\t\t\t\t\tdata: data[j],\n\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\t\t\t\t\tlabel: data[j][primaryHeader[i].key as unknown as number] as string,\n\t\t\t\t\t\t\trowSpan: undefined,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tdataField.push(dataRow);\n\t\t}\n\t\tif (data.length === 0) {\n\t\t\tlet colspan = 0;\n\t\t\tlet rowspan = 0;\n\t\t\tif (Array.isArray(headers.horizontal) && headers.horizontal.length > 0) {\n\t\t\t\theaders.horizontal[0].forEach((col) => {\n\t\t\t\t\tcolspan += col.colSpan || 1;\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (Array.isArray(headers.vertical) && headers.vertical.length > 0) {\n\t\t\t\tcolspan -= headers.vertical.length;\n\t\t\t\theaders.vertical[0].forEach((row) => {\n\t\t\t\t\trowspan += row.rowSpan || 1;\n\t\t\t\t});\n\t\t\t}\n\t\t\tconst emptyCell = {\n\t\t\t\tcolSpan: colspan,\n\t\t\t\tlabel: 'Es sind keine Einträge vorhanden.',\n\t\t\t\trender: undefined,\n\t\t\t\trowSpan: Math.max(rowspan, 1),\n\t\t\t};\n\t\t\tif (dataField.length === 0) {\n\t\t\t\tdataField.push([emptyCell]);\n\t\t\t} else {\n\t\t\t\tdataField[0].push(emptyCell);\n\t\t\t}\n\t\t}\n\t\treturn dataField;\n\t}\n\n\tprivate selectDisplayedData(data: KoliBriDataType[], pageSize: number, page: number): KoliBriDataType[] {\n\t\tif (typeof pageSize === 'number' && pageSize > 0 && typeof page === 'number' && page > 0) {\n\t\t\tthis.pageStartSlice = pageSize * (page - 1);\n\t\t\tthis.pageEndSlice = pageSize * page > data.length ? data.length : pageSize * page;\n\t\t\treturn data.slice(this.pageStartSlice, this.pageEndSlice);\n\t\t} else {\n\t\t\tthis.pageStartSlice = 0;\n\t\t\tthis.pageEndSlice = data.length;\n\t\t\treturn data;\n\t\t}\n\t}\n\n\tprivate cellRender(col: KoliBriTableHeaderCellAndData, el?: HTMLElement): void {\n\t\tconst timeout = setTimeout(() => {\n\t\t\tclearTimeout(timeout);\n\t\t\tif (typeof col.render === 'function' && el instanceof HTMLElement) {\n\t\t\t\tconst html = col.render(\n\t\t\t\t\tel,\n\t\t\t\t\t{\n\t\t\t\t\t\tasTd: col.asTd,\n\t\t\t\t\t\tlabel: col.label,\n\t\t\t\t\t\ttextAlign: col.textAlign,\n\t\t\t\t\t\twidth: col.width,\n\t\t\t\t\t} as KoliBriTableHeaderCell,\n\t\t\t\t\tcol.data,\n\t\t\t\t\tthis.state._data\n\t\t\t\t);\n\t\t\t\tif (typeof html === 'string') {\n\t\t\t\t\tel.innerHTML = html;\n\t\t\t\t}\n\t\t\t}\n\t\t}, 50);\n\t}\n\n\tprivate updateSortedData = () => {\n\t\tlet sortedData: KoliBriDataType[] = this.state._data;\n\t\tif (typeof this.sortFunction === 'function') {\n\t\t\tswitch (this.sortDirections.get(this.sortFunction)) {\n\t\t\t\tcase 'NOS':\n\t\t\t\t\tsortedData = [...this.state._data];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ASC':\n\t\t\t\t\tsortedData = this.sortFunction([...this.state._data]);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tsortedData = this.sortFunction([...this.state._data]).reverse();\n\t\t\t}\n\t\t}\n\t\tsetState(this, '_sortedData', sortedData);\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tconst displayedData: KoliBriDataType[] = this.selectDisplayedData(\n\t\t\tthis.state._sortedData,\n\t\t\tthis.showPagination ? this.state._pagination?._pageSize ?? 10 : this.state._sortedData.length,\n\t\t\tthis.state._pagination._page || 1\n\t\t);\n\t\tconst dataField = this.createDataField(displayedData, this.state._headers);\n\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t{/*\n\t\t\t\t - https://dequeuniversity.com/rules/axe/3.5/scrollable-region-focusable\n\t\t\t\t\t- https://www.a11yproject.com/posts/how-to-use-the-tabindex-attribute/\n\t\t\t\t\t- https://ux.stackexchange.com/questions/119952/when-is-it-wrong-to-put-tabindex-0-on-non-interactive-content\n\n\t\t\t\t\tNicht <div tabindex=\"0\">\n\n\t\t\t\t\tDOCH!!!\n\t\t\t\t\thttps://dequeuniversity.com/rules/axe/4.4/scrollable-region-focusable?application=AxeChrome\n\t\t\t\t*/}\n\t\t\t\t<div tabindex=\"0\">\n\t\t\t\t\t<table\n\t\t\t\t\t\t// role=\"grid\"\n\t\t\t\t\t\t// aria-readonly=\"true\"\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tminWidth: this.state._minWidth,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<caption>{this.state._caption}</caption>\n\t\t\t\t\t\t{Array.isArray(this.state._headers.horizontal) && (\n\t\t\t\t\t\t\t<thead>\n\t\t\t\t\t\t\t\t{this.state._headers.horizontal.map((cols) => (\n\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t{cols.map((col) => {\n\t\t\t\t\t\t\t\t\t\t\tif (col.asTd === true) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<td\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[col.textAlign as string]: typeof col.textAlign === 'string' && col.textAlign.length > 0,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolSpan={col.colSpan}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trowSpan={col.rowSpan}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttextAlign: col.textAlign,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twidth: col.width,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// role=\"gridcell\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tref={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttypeof col.render === 'function'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? (el) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.cellRender(col as KoliBriTableHeaderCellAndData, el);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinnerHTML={typeof col.render !== 'function' ? col.label : ''}\n\t\t\t\t\t\t\t\t\t\t\t\t\t></td>\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// role=\"columnheader\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tscope={typeof col.colSpan === 'number' && col.colSpan > 1 ? 'colgroup' : 'col'}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolSpan={col.colSpan}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trowSpan={col.rowSpan}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twidth: col.width,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\taria-sort={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttypeof col.sort === 'function'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? this.sortDirections.get(col.sort) === 'NOS' || this.sortDirections.get(col.sort) === undefined\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'none'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: this.sortDirections.get(col.sort) === 'ASC'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'ascending'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'descending'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"w-full flex gap-1 items-center\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'w-full': true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[col.textAlign as string]: typeof col.textAlign === 'string' && col.textAlign.length > 0,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tinnerHTML={col.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttextAlign: col.textAlign,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t></div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{typeof col.sort === 'function' && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<kol-button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\texportparts=\"button,ghost\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t_ariaLabel={'Sortierung von ' + col.label + ' ändern'}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t_icon={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.sortDirections.get(col.sort) === 'NOS' || this.sortDirections.get(col.sort) === undefined\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'fas fa-sort'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: this.sortDirections.get(col.sort) === 'ASC'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'fas fa-sort-up'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'fas fa-sort-down'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t_iconOnly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t_label={'Sortierung von ' + col.label + ' ändern'}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t_on={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (typeof col.sort === 'function') {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.sortFunction = col.sort;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tswitch (this.sortDirections.get(this.sortFunction)) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcase 'ASC':\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.sortDirections.set(this.sortFunction, 'DESC');\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcase 'DESC':\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.sortDirections.set(this.sortFunction, 'NOS');\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.sortDirections.set(this.sortFunction, 'ASC');\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.updateSortedData();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t_variant=\"ghost\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t></kol-button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</thead>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{/* <tbody aria-atomic=\"true\" aria-live=\"polite\" aria-relevant=\"additions removals\"> */}\n\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t{dataField.map((row, index) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<tr key={`row-${index}`}>\n\t\t\t\t\t\t\t\t\t\t{row.map((col) => {\n\t\t\t\t\t\t\t\t\t\t\tif (col.asTd === false) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// role=\"rowheader\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tscope={typeof col.rowSpan === 'number' && col.rowSpan > 1 ? 'rowgroup' : 'row'}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolSpan={col.colSpan}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trowSpan={col.rowSpan}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twidth: col.width,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\taria-sort={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttypeof col.sort === 'function'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? this.sortDirections.get(col.sort) === 'NOS' || this.sortDirections.get(col.sort) === undefined\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'none'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: this.sortDirections.get(col.sort) === 'ASC'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'ascending'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'descending'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"w-full flex gap-1 items-center\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'w-full': true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[col.textAlign as string]: typeof col.textAlign === 'string' && col.textAlign.length > 0,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tinnerHTML={col.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttextAlign: col.textAlign,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t></div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{typeof col.sort === 'function' && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<kol-button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\texportparts=\"button,ghost\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t_ariaLabel={'Sortierung von ' + col.label + ' ändern'}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t_icon={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.sortDirections.get(col.sort) === 'NOS' || this.sortDirections.get(col.sort) === undefined\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'fas fa-sort'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: this.sortDirections.get(col.sort) === 'ASC'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'fas fa-sort-up'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'fas fa-sort-down'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t_iconOnly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t_label={'Sortierung von ' + col.label + ' ändern'}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t_on={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (typeof col.sort === 'function') {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.sortFunction = col.sort;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tswitch (this.sortDirections.get(this.sortFunction)) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcase 'ASC':\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.sortDirections.set(this.sortFunction, 'DESC');\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcase 'DESC':\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.sortDirections.set(this.sortFunction, 'NOS');\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.sortDirections.set(this.sortFunction, 'ASC');\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.updateSortedData();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t_variant=\"ghost\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t></kol-button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<td\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// role=\"gridcell\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[col.textAlign as string]: typeof col.textAlign === 'string' && col.textAlign.length > 0,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolSpan={col.colSpan}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trowSpan={col.rowSpan}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttextAlign: col.textAlign,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twidth: col.width,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tref={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttypeof col.render === 'function'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? (el) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.cellRender(col as KoliBriTableHeaderCellAndData, el);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinnerHTML={typeof col.render !== 'function' ? col.label : ''}\n\t\t\t\t\t\t\t\t\t\t\t\t\t></td>\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</tbody>\n\t\t\t\t\t</table>\n\t\t\t\t</div>\n\t\t\t\t{this.pageEndSlice > 0 && this.showPagination && (\n\t\t\t\t\t<div class=\"pagination\">\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\tEinträge {this.pageEndSlice > 0 ? this.pageStartSlice + 1 : 0} bis {this.pageEndSlice} von{' '}\n\t\t\t\t\t\t\t{this.state._pagination._total || (Array.isArray(this.state._data) ? this.state._data.length : 0)} angezeigt\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<kol-pagination\n\t\t\t\t\t\t\t\t_boundaryCount={this.state._pagination._boundaryCount}\n\t\t\t\t\t\t\t\t_customClass={this.state._pagination._customClass}\n\t\t\t\t\t\t\t\t_on={this.handlePagination}\n\t\t\t\t\t\t\t\t_page={this.state._pagination._page}\n\t\t\t\t\t\t\t\t_pageSize={this.state._pagination._pageSize}\n\t\t\t\t\t\t\t\t_pageSizeOptions={this.state._pagination._pageSizeOptions || PAGINATION_OPTIONS}\n\t\t\t\t\t\t\t\t_siblingCount={this.state._pagination._siblingCount}\n\t\t\t\t\t\t\t\t_tooltipAlign=\"bottom\"\n\t\t\t\t\t\t\t\t_total={this.state._pagination._total || this.state._data.length}\n\t\t\t\t\t\t\t></kol-pagination>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["defaultStyleCss","PAGINATION_OPTIONS","CELL_REFS","Map","KolTable","this","horizontal","sortDirections","showPagination","pageStartSlice","pageEndSlice","handlePagination","onClick","event","page","_a","state","_pagination","_on","setState","Object","assign","_page","onChangePage","onChangePageSize","pageSize","_pageSize","beforePatchPagination","nextValue","_nextState","_component","key","updateSortedData","sortedData","_data","sortFunction","get","reverse","_caption","_headers","vertical","_total","_sortedData","validateCaption","value","watchString","required","validateData","emptyStringByArrayHandler","objectObjectHandler","parseJson","e","Array","isArray","find","dataTupel","undefined","afterPatch","timeout","setTimeout","clearTimeout","validateHeaders","watchValidator","Set","hooks","beforePatch","headers","forEach","header","cell","sort","sortDirection","set","validateMinWidth","defaultValue","validatePagination","componentWillLoad","_minWidth","getNumberOfCols","horizontalHeaders","data","max","row","count","col","colSpan","length","getNumberOfRows","verticalHeaders","rowSpan","filterHeaderKeys","primaryHeader","cells","push","getPrimaryHeader","_b","createDataField","maxCols","maxRows","dataField","rowCount","rowSpans","_row","index","i","dataRow","sum","rows","asTd","k","j","label","colspan","rowspan","emptyCell","render","Math","selectDisplayedData","slice","cellRender","el","HTMLElement","html","textAlign","width","innerHTML","displayedData","h","Host","tabindex","style","minWidth","map","cols","rowIdx","colIdx","class","ref","scope","exportparts","_ariaLabel","_icon","_iconOnly","_label","_variant","_boundaryCount","_customClass","_pageSizeOptions","_siblingCount","_tooltipAlign"],"sources":["./src/components/table/style.sass?tag=kol-table&mode=default&encapsulation=shadow","./src/components/table/component.tsx"],"sourcesContent":["/* windicss-touch: 1639175625181 */\n@import ../style\n\n:host\n @apply overflow-hidden\n\n & > div\n overflow-x: auto\n border-radius: var(--kolibri-border-radius)\n border-style: solid\n border-width: 1px\n @apply border-default\n\n table\n border: 0\n width: 100%\n\n tr\n border-top-style: solid\n border-top-width: 1px\n @apply py-1 px-2 border-t-1 border-default\n\n th,\n td\n border-right-style: solid\n border-right-width: 1px\n @apply py-1 px-2 border-default\n\n &:last-child\n border: 0\n\n th,\n .th\n @apply bg-gray-200\n\n &:nth-child(even)\n @apply bg-gray-100\n\n &:nth-child(odd)\n @apply white\n\n & > div.pagination\n @apply border-none w-full grid grid-flow-col content-center items-center pt-2 px-1 gap-2\n\n & > div::last-child\n @apply flex justify-self-end items-center gap-2\n","/* eslint-disable jsx-a11y/no-noninteractive-tabindex */\nimport { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Generic } from '@public-ui/core';\nimport { Stringified } from '../../types/common';\nimport {\n\tKoliBriDataType,\n\tKoliBriSortDirection,\n\tKoliBriSortFunction,\n\tKoliBriTableCell,\n\tKoliBriTableHeaderCell,\n\tKoliBriTableHeaders,\n\tKoliBriTablePaginationProps,\n\tKoliBriTablePaginationStates,\n} from '../../types/table';\nimport { emptyStringByArrayHandler, objectObjectHandler, parseJson, setState, watchString, watchValidator } from '../../utils/prop.validators';\nimport { KoliBriPaginationButtonCallbacks } from '../pagination/types';\n\ntype KoliBriTableHeaderCellAndData = KoliBriTableHeaderCell & {\n\tdata: KoliBriDataType;\n};\n\n/**\n * API\n */\ntype RequiredProps = {\n\tcaption: string;\n\tdata: Stringified<KoliBriDataType[]>;\n\theaders: Stringified<KoliBriTableHeaders>;\n};\ntype OptionalProps = {\n\tminWidth: string;\n\tpagination: boolean | Stringified<KoliBriTablePaginationProps>;\n};\n// type Props = Generic.Element.Members<RequiredProps, OptionalProps>;\n\ntype RequiredStates = {\n\tcaption: string;\n\tdata: KoliBriDataType[];\n\theaders: KoliBriTableHeaders;\n\tpagination: KoliBriTablePaginationStates;\n\tsortedData: KoliBriDataType[];\n};\ntype OptionalStates = {\n\tminWidth: string;\n} & {\n\tsortDirection: KoliBriSortDirection;\n};\ntype States = Generic.Element.Members<RequiredStates, OptionalStates>;\n\nconst PAGINATION_OPTIONS = [10, 20, 50, 100];\n\nconst CELL_REFS = new Map<HTMLElement, ReturnType<typeof setTimeout>>();\n\n@Component({\n\ttag: 'kol-table',\n\tstyleUrls: {\n\t\tdefault: './style.sass',\n\t},\n\tshadow: true,\n})\nexport class KolTable implements Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates> {\n\t// https://github.com/ionic-team/stencil/issues/2895\n\tprivate horizontal = true;\n\tprivate sortFunction?: KoliBriSortFunction;\n\tprivate sortDirections: Map<KoliBriSortFunction, KoliBriSortDirection> = new Map();\n\tprivate showPagination = false;\n\tprivate pageStartSlice = 0;\n\tprivate pageEndSlice = 10;\n\n\t/**\n\t * Gibt den Titel oder eine Legende mit Erklärungen zur Tabelle an.\n\t */\n\t@Prop() public _caption!: string;\n\n\t/**\n\t * Gibt die Daten an, die für die Erstellung der Tabelle verwendet werden.\n\t */\n\t@Prop() public _data!: Stringified<KoliBriDataType[]>;\n\n\t/**\n\t * Gibt die horizontalen und vertikalen Header für die Tabelle an.\n\t */\n\t@Prop() public _headers!: Stringified<KoliBriTableHeaders>;\n\n\t/**\n\t * Gibt an, die minimale Breite der Tabelle an.\n\t */\n\t@Prop() public _minWidth?: string;\n\n\t/**\n\t * Gibt an, ob die Daten geteilt in Seiten angezeigt wird.\n\t */\n\t@Prop() public _pagination?: boolean | Stringified<KoliBriTablePaginationProps>;\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_caption: '',\n\t\t_data: [],\n\t\t_headers: {\n\t\t\thorizontal: [],\n\t\t\tvertical: [],\n\t\t},\n\t\t_pagination: {\n\t\t\t_page: 1,\n\t\t\t_pageSize: 10,\n\t\t\t_total: 0,\n\t\t},\n\t\t_sortedData: [],\n\t};\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_caption')\n\tpublic validateCaption(value?: string): void {\n\t\twatchString(this, '_caption', value, {\n\t\t\trequired: true,\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_data')\n\tpublic validateData(value?: Stringified<KoliBriDataType[]>): void {\n\t\temptyStringByArrayHandler(value, () => {\n\t\t\tobjectObjectHandler(value, () => {\n\t\t\t\tif (typeof value === 'undefined') {\n\t\t\t\t\tvalue = [];\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\tvalue = parseJson<KoliBriDataType[]>(value);\n\t\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t\t} catch (e) {\n\t\t\t\t\t// value behält den ursprünglichen Wert\n\t\t\t\t}\n\t\t\t\tif (Array.isArray(value) && value.find((dataTupel: KoliBriDataType) => !(typeof dataTupel === 'object' && dataTupel !== null)) === undefined) {\n\t\t\t\t\tsetState(this, '_data', value, {\n\t\t\t\t\t\tafterPatch: () => {\n\t\t\t\t\t\t\t// TODO: kein guter Hack (endless loop)\n\t\t\t\t\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\t\t\t\t\tclearTimeout(timeout);\n\t\t\t\t\t\t\t\tthis.updateSortedData();\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_headers')\n\tpublic validateHeaders(value?: Stringified<KoliBriTableHeaders>): void {\n\t\t/**\n\t\t * - es darf maximal ein Header als primary markiert werden (last win)\n\t\t * - der primary-Header entscheidet implizit über _order und _orientation\n\t\t * - primary-Headers müssen das key-Property setzen\n\t\t * - nicht primary-Headers müssen das key-Property nicht setzen (wird ignoriert)\n\t\t * - _order: wird durch den primary-Header geregelt\n\t\t * - _orientation: wird durch den primary-Header geregelt\n\t\t * - sobald ein Header sortierbar ist, darf es nur noch entweder horizontale\n\t\t * oder vertikale Header geben, aber nicht mehr beides\n\t\t */\n\t\temptyStringByArrayHandler(value, () => {\n\t\t\tobjectObjectHandler(value, () => {\n\t\t\t\ttry {\n\t\t\t\t\tvalue = parseJson<KoliBriTableHeaders>(value);\n\t\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t\t} catch (e) {\n\t\t\t\t\t// value behält den ursprünglichen Wert\n\t\t\t\t}\n\t\t\t\twatchValidator(this, '_headers', (value): boolean => typeof value === 'object' && value !== null, new Set(['KoliBriTableHeaders']), value, {\n\t\t\t\t\thooks: {\n\t\t\t\t\t\tbeforePatch: (nextValue: unknown) => {\n\t\t\t\t\t\t\tconst headers: KoliBriTableHeaders = nextValue as KoliBriTableHeaders;\n\t\t\t\t\t\t\theaders.horizontal?.forEach((header) => {\n\t\t\t\t\t\t\t\theader.forEach((cell) => {\n\t\t\t\t\t\t\t\t\tif (typeof cell.sort === 'function' && typeof cell.sortDirection === 'string') {\n\t\t\t\t\t\t\t\t\t\tthis.sortDirections.set(cell.sort, cell.sortDirection);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_minWidth')\n\tpublic validateMinWidth(value?: string): void {\n\t\twatchString(this, '_minWidth', value, {\n\t\t\tdefaultValue: undefined,\n\t\t});\n\t}\n\n\tprivate readonly handlePagination: KoliBriPaginationButtonCallbacks = {\n\t\tonClick: (event: Event, page: number) => {\n\t\t\tif (typeof this.state._pagination._on?.onClick === 'function') {\n\t\t\t\tthis.state._pagination._on.onClick(event, page);\n\t\t\t}\n\t\t\tsetState(this, '_pagination', {\n\t\t\t\t...this.state._pagination,\n\t\t\t\t_page: page,\n\t\t\t});\n\t\t},\n\t\tonChangePage: (event: Event, page: number) => {\n\t\t\tif (typeof this.state._pagination._on?.onChangePage === 'function') {\n\t\t\t\tthis.state._pagination._on.onChangePage(event, page);\n\t\t\t}\n\t\t\tsetState(this, '_pagination', {\n\t\t\t\t...this.state._pagination,\n\t\t\t\t_page: page,\n\t\t\t});\n\t\t},\n\t\tonChangePageSize: (event: Event, pageSize: number) => {\n\t\t\tif (typeof this.state._pagination._on?.onChangePageSize === 'function') {\n\t\t\t\tthis.state._pagination._on.onChangePageSize(event, pageSize);\n\t\t\t}\n\t\t\tsetState(this, '_pagination', {\n\t\t\t\t...this.state._pagination,\n\t\t\t\t_pageSize: pageSize,\n\t\t\t});\n\t\t\tsetState(this, '_pageSize', pageSize);\n\t\t},\n\t};\n\n\tprivate readonly beforePatchPagination: Generic.Element.NextStateHooksCallback = (nextValue, _nextState, _component, key): void => {\n\t\tif (key === '_pagination') {\n\t\t\tthis.showPagination = nextValue === true || nextValue === '' /* true */ || (typeof nextValue === 'object' && nextValue !== null);\n\t\t}\n\t};\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_pagination')\n\tpublic validatePagination(value?: boolean | Stringified<KoliBriTablePaginationProps>): void {\n\t\ttry {\n\t\t\tvalue = parseJson<KoliBriTablePaginationProps>(value);\n\t\t\t// eslint-disable-next-line no-empty\n\t\t} catch (e) {\n\t\t\t// value behält den ursprünglichen Wert\n\t\t}\n\t\twatchValidator(this, '_pagination', () => true, new Set(['boolean', 'KoliBriTablePagination']), value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.beforePatchPagination,\n\t\t\t},\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis.validateCaption(this._caption);\n\t\tthis.validateData(this._data);\n\t\tthis.validateHeaders(this._headers);\n\t\tthis.validateMinWidth(this._minWidth);\n\t\tthis.validatePagination(this._pagination);\n\t}\n\n\tprivate getNumberOfCols(horizontalHeaders: KoliBriTableHeaderCell[][], data: KoliBriDataType[]): number {\n\t\tlet max = 0;\n\t\thorizontalHeaders.forEach((row) => {\n\t\t\tlet count = 0;\n\t\t\trow.forEach((col) => (count += col.colSpan ?? 1));\n\t\t\tif (max < count) {\n\t\t\t\tmax = count;\n\t\t\t}\n\t\t});\n\t\tif (max === 0) {\n\t\t\tmax = data.length;\n\t\t}\n\t\treturn max;\n\t}\n\n\tprivate getNumberOfRows(verticalHeaders: KoliBriTableHeaderCell[][], data: KoliBriDataType[]): number {\n\t\tlet max = 0;\n\t\tverticalHeaders.forEach((col) => {\n\t\t\tlet count = 0;\n\t\t\tcol.forEach((row) => (count += row.rowSpan ?? 1));\n\t\t\tif (max < count) {\n\t\t\t\tmax = count;\n\t\t\t}\n\t\t});\n\t\tif (max === 0) {\n\t\t\tmax = data.length;\n\t\t}\n\t\treturn max;\n\t}\n\n\t// TODO: hier muss noch die order beachtet werden bei colspan und rowspan\n\tprivate filterHeaderKeys(headers: KoliBriTableHeaderCell[][]): KoliBriTableHeaderCell[] {\n\t\tconst primaryHeader: KoliBriTableHeaderCell[] = [];\n\t\theaders.forEach((cells) => {\n\t\t\tcells.forEach((cell) => {\n\t\t\t\tif (typeof cell.key === 'string') {\n\t\t\t\t\tprimaryHeader.push(cell);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\treturn primaryHeader;\n\t}\n\n\tprivate getPrimaryHeader(headers: KoliBriTableHeaders): KoliBriTableHeaderCell[] {\n\t\tlet primaryHeader: KoliBriTableHeaderCell[] = this.filterHeaderKeys(headers.horizontal ?? []);\n\t\tthis.horizontal = true;\n\t\tif (primaryHeader.length === 0) {\n\t\t\tprimaryHeader = this.filterHeaderKeys(headers.vertical ?? []);\n\t\t\tif (primaryHeader.length > 0) {\n\t\t\t\tthis.horizontal = false;\n\t\t\t}\n\t\t}\n\t\treturn primaryHeader;\n\t}\n\n\tprivate createDataField(data: KoliBriDataType[], headers: KoliBriTableHeaders): KoliBriTableCell[][] {\n\t\theaders.horizontal = Array.isArray(headers?.horizontal) ? headers.horizontal : [];\n\t\theaders.vertical = Array.isArray(headers?.vertical) ? headers.vertical : [];\n\t\tconst primaryHeader = this.getPrimaryHeader(headers);\n\t\tconst maxCols = this.getNumberOfCols(headers.horizontal, data);\n\t\tconst maxRows = this.getNumberOfRows(headers.vertical, data);\n\t\tconst dataField: KoliBriTableCell[][] = [];\n\n\t\tconst rowCount: number[] = [];\n\t\tconst rowSpans: number[][] = [];\n\t\theaders.vertical.forEach((_row, index) => {\n\t\t\trowCount[index] = 0;\n\t\t\trowSpans[index] = [];\n\t\t});\n\n\t\tfor (let i = 0; i < maxRows; i++) {\n\t\t\tconst dataRow: KoliBriTableHeaderCellAndData[] = [];\n\t\t\theaders.vertical.forEach((cells, index) => {\n\t\t\t\tlet sum = 0;\n\t\t\t\trowSpans[index].forEach((value) => (sum += value));\n\t\t\t\tif (sum <= i) {\n\t\t\t\t\tconst rows = cells[i - sum + rowCount[index]];\n\t\t\t\t\tif (typeof rows === 'object') {\n\t\t\t\t\t\tdataRow.push({\n\t\t\t\t\t\t\t...rows,\n\t\t\t\t\t\t\tasTd: false,\n\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\t\t\t\t\t\tdata: {} as KoliBriDataType,\n\t\t\t\t\t\t});\n\t\t\t\t\t\tlet rowSpan = 1;\n\t\t\t\t\t\tif (typeof rows.rowSpan === 'number' && rows.rowSpan > 1) {\n\t\t\t\t\t\t\trowSpan = rows.rowSpan;\n\t\t\t\t\t\t}\n\t\t\t\t\t\trowSpans[index].push(rowSpan);\n\t\t\t\t\t\tif (typeof rows.colSpan === 'number' && rows.colSpan > 1) {\n\t\t\t\t\t\t\tfor (let k = 1; k < rows.colSpan; k++) {\n\t\t\t\t\t\t\t\trowSpans[index + k].push(rowSpan);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\trowCount[index]++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\tfor (let j = 0; j < maxCols; j++) {\n\t\t\t\tif (this.horizontal === true) {\n\t\t\t\t\tif (\n\t\t\t\t\t\ttypeof primaryHeader[j] === 'object' &&\n\t\t\t\t\t\tprimaryHeader[j] !== null &&\n\t\t\t\t\t\ttypeof primaryHeader[j].key === 'string' &&\n\t\t\t\t\t\ttypeof data[i] === 'object' &&\n\t\t\t\t\t\tdata[i] !== null\n\t\t\t\t\t) {\n\t\t\t\t\t\tdataRow.push({\n\t\t\t\t\t\t\t...primaryHeader[j],\n\t\t\t\t\t\t\tcolSpan: undefined,\n\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\t\t\t\t\t\tdata: data[i],\n\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\t\t\t\t\tlabel: data[i][primaryHeader[j].key as unknown as string] as string,\n\t\t\t\t\t\t\trowSpan: undefined,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (\n\t\t\t\t\t\ttypeof primaryHeader[i] === 'object' &&\n\t\t\t\t\t\tprimaryHeader[i] !== null &&\n\t\t\t\t\t\ttypeof primaryHeader[i].key === 'string' &&\n\t\t\t\t\t\ttypeof data[j] === 'object' &&\n\t\t\t\t\t\tdata[j] !== null\n\t\t\t\t\t) {\n\t\t\t\t\t\tdataRow.push({\n\t\t\t\t\t\t\t...primaryHeader[i],\n\t\t\t\t\t\t\tcolSpan: undefined,\n\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\t\t\t\t\t\tdata: data[j],\n\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\t\t\t\t\tlabel: data[j][primaryHeader[i].key as unknown as number] as string,\n\t\t\t\t\t\t\trowSpan: undefined,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tdataField.push(dataRow);\n\t\t}\n\t\tif (data.length === 0) {\n\t\t\tlet colspan = 0;\n\t\t\tlet rowspan = 0;\n\t\t\tif (Array.isArray(headers.horizontal) && headers.horizontal.length > 0) {\n\t\t\t\theaders.horizontal[0].forEach((col) => {\n\t\t\t\t\tcolspan += col.colSpan || 1;\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (Array.isArray(headers.vertical) && headers.vertical.length > 0) {\n\t\t\t\tcolspan -= headers.vertical.length;\n\t\t\t\theaders.vertical[0].forEach((row) => {\n\t\t\t\t\trowspan += row.rowSpan || 1;\n\t\t\t\t});\n\t\t\t}\n\t\t\tconst emptyCell = {\n\t\t\t\tcolSpan: colspan,\n\t\t\t\tlabel: 'Es sind keine Einträge vorhanden.',\n\t\t\t\trender: undefined,\n\t\t\t\trowSpan: Math.max(rowspan, 1),\n\t\t\t};\n\t\t\tif (dataField.length === 0) {\n\t\t\t\tdataField.push([emptyCell]);\n\t\t\t} else {\n\t\t\t\tdataField[0].push(emptyCell);\n\t\t\t}\n\t\t}\n\t\treturn dataField;\n\t}\n\n\tprivate selectDisplayedData(data: KoliBriDataType[], pageSize: number, page: number): KoliBriDataType[] {\n\t\tif (typeof pageSize === 'number' && pageSize > 0 && typeof page === 'number' && page > 0) {\n\t\t\tthis.pageStartSlice = pageSize * (page - 1);\n\t\t\tthis.pageEndSlice = pageSize * page > data.length ? data.length : pageSize * page;\n\t\t\treturn data.slice(this.pageStartSlice, this.pageEndSlice);\n\t\t} else {\n\t\t\tthis.pageStartSlice = 0;\n\t\t\tthis.pageEndSlice = data.length;\n\t\t\treturn data;\n\t\t}\n\t}\n\n\tprivate cellRender(col: KoliBriTableHeaderCellAndData, el?: HTMLElement): void {\n\t\tif (el instanceof HTMLElement) {\n\t\t\tclearTimeout(CELL_REFS.get(el));\n\t\t\tCELL_REFS.set(\n\t\t\t\tel,\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tclearTimeout(CELL_REFS.get(el));\n\t\t\t\t\tif (typeof col.render === 'function') {\n\t\t\t\t\t\tconst html = col.render(\n\t\t\t\t\t\t\tel,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tasTd: col.asTd,\n\t\t\t\t\t\t\t\tlabel: col.label,\n\t\t\t\t\t\t\t\ttextAlign: col.textAlign,\n\t\t\t\t\t\t\t\twidth: col.width,\n\t\t\t\t\t\t\t} as KoliBriTableHeaderCell,\n\t\t\t\t\t\t\tcol.data,\n\t\t\t\t\t\t\tthis.state._data\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (typeof html === 'string') {\n\t\t\t\t\t\t\tel.innerHTML = html;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate updateSortedData = () => {\n\t\tlet sortedData: KoliBriDataType[] = this.state._data;\n\t\tif (typeof this.sortFunction === 'function') {\n\t\t\tswitch (this.sortDirections.get(this.sortFunction)) {\n\t\t\t\tcase 'NOS':\n\t\t\t\t\tsortedData = [...this.state._data];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ASC':\n\t\t\t\t\tsortedData = this.sortFunction([...this.state._data]);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tsortedData = this.sortFunction([...this.state._data]).reverse();\n\t\t\t}\n\t\t}\n\t\tsetState(this, '_sortedData', sortedData);\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tconst displayedData: KoliBriDataType[] = this.selectDisplayedData(\n\t\t\tthis.state._sortedData,\n\t\t\tthis.showPagination ? this.state._pagination?._pageSize ?? 10 : this.state._sortedData.length,\n\t\t\tthis.state._pagination._page || 1\n\t\t);\n\t\tconst dataField = this.createDataField(displayedData, this.state._headers);\n\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t{/*\n\t\t\t\t - https://dequeuniversity.com/rules/axe/3.5/scrollable-region-focusable\n\t\t\t\t\t- https://www.a11yproject.com/posts/how-to-use-the-tabindex-attribute/\n\t\t\t\t\t- https://ux.stackexchange.com/questions/119952/when-is-it-wrong-to-put-tabindex-0-on-non-interactive-content\n\n\t\t\t\t\tNicht <div tabindex=\"0\">\n\n\t\t\t\t\tDOCH!!!\n\t\t\t\t\thttps://dequeuniversity.com/rules/axe/4.4/scrollable-region-focusable?application=AxeChrome\n\t\t\t\t*/}\n\t\t\t\t<div tabindex=\"0\">\n\t\t\t\t\t<table\n\t\t\t\t\t\t// role=\"grid\"\n\t\t\t\t\t\t// aria-readonly=\"true\"\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tminWidth: this.state._minWidth,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<caption>{this.state._caption}</caption>\n\t\t\t\t\t\t{Array.isArray(this.state._headers.horizontal) && (\n\t\t\t\t\t\t\t<thead>\n\t\t\t\t\t\t\t\t{this.state._headers.horizontal.map((cols, rowIdx) => (\n\t\t\t\t\t\t\t\t\t<tr key={`thead-${rowIdx}`}>\n\t\t\t\t\t\t\t\t\t\t{cols.map((col, colIdx) => {\n\t\t\t\t\t\t\t\t\t\t\tif (col.asTd === true) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<td // role=\"gridcell\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={`thead-${rowIdx}-${colIdx}-${col.label}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[col.textAlign as string]: typeof col.textAlign === 'string' && col.textAlign.length > 0,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolSpan={col.colSpan}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trowSpan={col.rowSpan}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttextAlign: col.textAlign,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twidth: col.width,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tref={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttypeof col.render === 'function'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? (el) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.cellRender(col as KoliBriTableHeaderCellAndData, el);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinnerHTML={typeof col.render !== 'function' ? col.label : ''}\n\t\t\t\t\t\t\t\t\t\t\t\t\t></td>\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<th // role=\"columnheader\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={`thead-${rowIdx}-${colIdx}-${col.label}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tscope={typeof col.colSpan === 'number' && col.colSpan > 1 ? 'colgroup' : 'col'}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolSpan={col.colSpan}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trowSpan={col.rowSpan}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twidth: col.width,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\taria-sort={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttypeof col.sort === 'function'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? this.sortDirections.get(col.sort) === 'NOS' || this.sortDirections.get(col.sort) === undefined\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'none'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: this.sortDirections.get(col.sort) === 'ASC'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'ascending'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'descending'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"w-full flex gap-1 items-center\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'w-full': true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[col.textAlign as string]: typeof col.textAlign === 'string' && col.textAlign.length > 0,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tinnerHTML={col.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttextAlign: col.textAlign,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t></div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{typeof col.sort === 'function' && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<kol-button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\texportparts=\"button,ghost\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t_ariaLabel={'Sortierung von ' + col.label + ' ändern'}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t_icon={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.sortDirections.get(col.sort) === 'NOS' || this.sortDirections.get(col.sort) === undefined\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'fas fa-sort'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: this.sortDirections.get(col.sort) === 'ASC'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'fas fa-sort-up'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'fas fa-sort-down'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t_iconOnly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t_label={'Sortierung von ' + col.label + ' ändern'}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t_on={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (typeof col.sort === 'function') {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.sortFunction = col.sort;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tswitch (this.sortDirections.get(this.sortFunction)) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcase 'ASC':\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.sortDirections.set(this.sortFunction, 'DESC');\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcase 'DESC':\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.sortDirections.set(this.sortFunction, 'NOS');\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.sortDirections.set(this.sortFunction, 'ASC');\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.updateSortedData();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t_variant=\"ghost\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t></kol-button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</thead>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{/* <tbody aria-atomic=\"true\" aria-live=\"polite\" aria-relevant=\"additions removals\"> */}\n\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t{dataField.map((row, rowIdx) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<tr key={`tbody-${rowIdx}`}>\n\t\t\t\t\t\t\t\t\t\t{row.map((col, colIdx) => {\n\t\t\t\t\t\t\t\t\t\t\tif (col.asTd === false) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<th // role=\"rowheader\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={`tbody-${rowIdx}-${colIdx}-${col.label}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tscope={typeof col.rowSpan === 'number' && col.rowSpan > 1 ? 'rowgroup' : 'row'}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolSpan={col.colSpan}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trowSpan={col.rowSpan}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twidth: col.width,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\taria-sort={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttypeof col.sort === 'function'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? this.sortDirections.get(col.sort) === 'NOS' || this.sortDirections.get(col.sort) === undefined\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'none'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: this.sortDirections.get(col.sort) === 'ASC'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'ascending'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'descending'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"w-full flex gap-1 items-center\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'w-full': true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[col.textAlign as string]: typeof col.textAlign === 'string' && col.textAlign.length > 0,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tinnerHTML={col.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttextAlign: col.textAlign,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t></div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{typeof col.sort === 'function' && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<kol-button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\texportparts=\"button,ghost\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t_ariaLabel={'Sortierung von ' + col.label + ' ändern'}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t_icon={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.sortDirections.get(col.sort) === 'NOS' || this.sortDirections.get(col.sort) === undefined\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'fas fa-sort'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: this.sortDirections.get(col.sort) === 'ASC'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'fas fa-sort-up'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'fas fa-sort-down'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t_iconOnly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t_label={'Sortierung von ' + col.label + ' ändern'}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t_on={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (typeof col.sort === 'function') {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.sortFunction = col.sort;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tswitch (this.sortDirections.get(this.sortFunction)) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcase 'ASC':\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.sortDirections.set(this.sortFunction, 'DESC');\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcase 'DESC':\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.sortDirections.set(this.sortFunction, 'NOS');\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.sortDirections.set(this.sortFunction, 'ASC');\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.updateSortedData();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t_variant=\"ghost\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t></kol-button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<td // role=\"gridcell\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={`tbody-${rowIdx}-${colIdx}-${col.label}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[col.textAlign as string]: typeof col.textAlign === 'string' && col.textAlign.length > 0,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolSpan={col.colSpan}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trowSpan={col.rowSpan}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttextAlign: col.textAlign,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twidth: col.width,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tref={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttypeof col.render === 'function'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? (el) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.cellRender(col as KoliBriTableHeaderCellAndData, el);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinnerHTML={typeof col.render !== 'function' ? col.label : ''}\n\t\t\t\t\t\t\t\t\t\t\t\t\t></td>\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</tbody>\n\t\t\t\t\t</table>\n\t\t\t\t</div>\n\t\t\t\t{this.pageEndSlice > 0 && this.showPagination && (\n\t\t\t\t\t<div class=\"pagination\">\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\tEinträge {this.pageEndSlice > 0 ? this.pageStartSlice + 1 : 0} bis {this.pageEndSlice} von{' '}\n\t\t\t\t\t\t\t{this.state._pagination._total || (Array.isArray(this.state._data) ? this.state._data.length : 0)} angezeigt\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<kol-pagination\n\t\t\t\t\t\t\t\t_boundaryCount={this.state._pagination._boundaryCount}\n\t\t\t\t\t\t\t\t_customClass={this.state._pagination._customClass}\n\t\t\t\t\t\t\t\t_on={this.handlePagination}\n\t\t\t\t\t\t\t\t_page={this.state._pagination._page}\n\t\t\t\t\t\t\t\t_pageSize={this.state._pagination._pageSize}\n\t\t\t\t\t\t\t\t_pageSizeOptions={this.state._pagination._pageSizeOptions || PAGINATION_OPTIONS}\n\t\t\t\t\t\t\t\t_siblingCount={this.state._pagination._siblingCount}\n\t\t\t\t\t\t\t\t_tooltipAlign=\"bottom\"\n\t\t\t\t\t\t\t\t_total={this.state._pagination._total || this.state._data.length}\n\t\t\t\t\t\t\t></kol-pagination>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["propergateFocus","host","ref","isObject","focus","ops"],"sources":["./src/utils/reuse.ts"],"sourcesContent":["import { isObject } from './validator';\n\nexport const propergateFocus = <H extends HTMLElement, R extends HTMLElement>(host?: H, ref?: R) => {\n\tif (isObject(host) && host) {\n\t\thost.focus = (ops: FocusOptions) => ref?.focus(ops);\n\t}\n};\n\n/**\n * If you need a tiny setTimeout with clearTimeout, you can\n * use this compact implementation.\n *\n * @param cb Callback with the code to run\n * @param delay Timeout delay\n */\nexport const smartSetTimeout = (cb: () => void, delay?: number) => {\n\tconst timeout = setTimeout(() => {\n\t\tclearTimeout(timeout);\n\t\tcb();\n\t}, delay);\n};\n"],"mappings":";;;kDAEaA,EAAkB,CAA+CC,EAAUC,KACvF,GAAIC,EAASF,IAASA,EAAM,CAC3BA,EAAKG,MAASC,GAAsBH,IAAG,MAAHA,SAAG,SAAHA,EAAKE,MAAMC,E"}
|
|
1
|
+
{"version":3,"names":["propergateFocus","host","ref","isObject","focus","ops"],"sources":["./src/utils/reuse.ts"],"sourcesContent":["import { isObject } from './validator';\n\nexport const propergateFocus = <H extends HTMLElement, R extends HTMLElement>(host?: H, ref?: R) => {\n\tif (isObject(host) && host) {\n\t\thost.focus = (ops: FocusOptions) => ref?.focus(ops);\n\t}\n};\n\n/**\n * If you need a tiny setTimeout with clearTimeout, you can\n * use this compact implementation.\n *\n * @param cb Callback with the code to run\n * @param delay Timeout delay\n */\n// ts-prune-ignore-next\nexport const smartSetTimeout = (cb: () => void, delay?: number) => {\n\tconst timeout = setTimeout(() => {\n\t\tclearTimeout(timeout);\n\t\tcb();\n\t}, delay);\n};\n"],"mappings":";;;kDAEaA,EAAkB,CAA+CC,EAAUC,KACvF,GAAIC,EAASF,IAASA,EAAM,CAC3BA,EAAKG,MAASC,GAAsBH,IAAG,MAAHA,SAAG,SAAHA,EAAKE,MAAMC,E"}
|