@public-ui/components 1.1.16-rc.0 → 1.1.16-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"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","setSortDirection","sort","direction","clear","set","sortFunction","handlePagination","onClick","event","page","_a","state","_pagination","_on","setState","Object","assign","_page","onChangePage","onChangePageSize","pageSize","_pageSize","beforePatchPagination","nextValue","_nextState","_component","key","updateSortedData","sortedData","_data","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","sortDirection","_b","validateMinWidth","defaultValue","validatePagination","componentWillLoad","_minWidth","getNumberOfCols","horizontalHeaders","data","max","row","count","col","colSpan","length","getNumberOfRows","verticalHeaders","rowSpan","filterHeaderKeys","primaryHeader","cells","push","getPrimaryHeader","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\tprivate setSortDirection = (sort: KoliBriSortFunction, direction: KoliBriSortDirection) => {\n\t\t/**\n\t\t * Durch des Clearen, ist es nicht möglich eine Mehr-Spalten-Sortierung\n\t\t * darzustellen. Das wäre der Fall, wenn man ggf. Daten in außerhalb der\n\t\t * Komponente sortiert und diese sortiert von außen rein gibt und der\n\t\t * Sortierungsalgorithmus mehrere Spalten zusammen sortierte.\n\t\t *\n\t\t * Beachte auch col.sort !== this.sortFunction\n\t\t */\n\t\tthis.sortDirections.clear();\n\t\tthis.sortDirections.set(sort, direction);\n\t\tthis.sortFunction = sort;\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.setSortDirection(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\theaders.vertical?.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.setSortDirection(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? col.sort !== this.sortFunction ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.sortDirections.get(col.sort) === 'NOS' ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t 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\tdata-sort={`sort-${this.sortDirections.get(col.sort!) as string}`}\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\tcol.sort !== this.sortFunction ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.sortDirections.get(col.sort) === 'NOS' ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.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.setSortDirection(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.setSortDirection(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.setSortDirection(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? col.sort !== this.sortFunction ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.sortDirections.get(col.sort) === 'NOS' ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t 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\tdata-sort={`sort-${this.sortDirections.get(col.sort!) as string}`}\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\tcol.sort !== this.sortFunction ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.sortDirections.get(col.sort) === 'NOS' ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.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.setSortDirection(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.setSortDirection(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.setSortDirection(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"}
@@ -39,6 +39,7 @@ export declare class KolTable implements Generic.Element.ComponentApi<RequiredPr
39
39
  state: States;
40
40
  validateCaption(value?: string): void;
41
41
  validateData(value?: Stringified<KoliBriDataType[]>): void;
42
+ private setSortDirection;
42
43
  validateHeaders(value?: Stringified<KoliBriTableHeaders>): void;
43
44
  validateMinWidth(value?: string): void;
44
45
  private readonly handlePagination;