@public-ui/components 1.1.15-rc.9 → 1.1.15

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 CHANGED
@@ -9,9 +9,9 @@
9
9
  <link href="https://fonts.cdnfonts.com/css/roboto" rel="stylesheet" />
10
10
  <link href="https://use.fontawesome.com/releases/v6.2.1/css/all.css" rel="stylesheet" />
11
11
  <script type="module">
12
- import { register } from 'https://esm.sh/@public-ui/core@1.1.15-rc.9';
13
- import { defineCustomElements } from 'https://esm.sh/@public-ui/components@1.1.15-rc.9/dist/loader';
14
- import { MAPZ } from 'https://esm.sh/@public-ui/themes@1.1.15-rc.9';
12
+ import { register } from 'https://esm.sh/@public-ui/core@1.1.15';
13
+ import { defineCustomElements } from 'https://esm.sh/@public-ui/components@1.1.15/dist/loader';
14
+ import { MAPZ } from 'https://esm.sh/@public-ui/themes@1.1.15';
15
15
  register(MAPZ, defineCustomElements)
16
16
  .then(() => {})
17
17
  .catch(console.warn);
@@ -78,9 +78,9 @@
78
78
  <pre>
79
79
  <code class="language-html">&#60;head&#62;
80
80
  &#60;script type="module"&#62;
81
- import { register } from 'https://esm.sh/@public-ui/core@1.1.15-rc.9';
82
- import { defineCustomElements } from 'https://esm.sh/@public-ui/components@1.1.15-rc.9/dist/loader';
83
- import { MAPZ } from 'https://esm.sh/@public-ui/themes@1.1.15-rc.9';
81
+ import { register } from 'https://esm.sh/@public-ui/core@1.1.15';
82
+ import { defineCustomElements } from 'https://esm.sh/@public-ui/components@1.1.15/dist/loader';
83
+ import { MAPZ } from 'https://esm.sh/@public-ui/themes@1.1.15';
84
84
  register([MAPZ], [defineCustomElements])
85
85
  .then(() =&#62; {})
86
86
  .catch(console.warn);
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.1.15-rc.9",
2
+ "version": "1.1.15",
3
3
  "tags": [
4
4
  {
5
5
  "name": "kol-abbr",
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const index=require("./index-59a3234b.js"),prop_validators=require("./prop.validators-8ddaf00e.js");require("./index.m-21aa1255.js"),require("./a11y.tipps-e1770acf.js"),require("./dev.utils-2353100d.js"),require("./index-adbf25b5.js");const defaultStyleCss='/* windicss-touch: 1639175625181 */\n/* windicss-touch: 1649810622229 */\n/* windicss layer base */\n*, ::before, ::after {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n border-width: 0;\n border-style: solid;\n border-color: var(--kolibri-border-color);\n}\n* {\n --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: var(--kolibri-color);\n --tw-ring-color: rgba(undefined, 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n}\n:root {\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n}\n:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n:-moz-ui-invalid {\n box-shadow: none;\n}\n::moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n}\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\n[type=\'search\'] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\nabbr[title] {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\na {\n color: inherit;\n text-decoration: inherit;\n}\nbody {\n margin: 0;\n font-family: inherit;\n line-height: inherit;\n}\nb {\n font-weight: bolder;\n}\nbutton, select {\n text-transform: none;\n}\nbutton, [type=\'button\'], [type=\'reset\'], [type=\'submit\'] {\n -webkit-appearance: button;\n}\nbutton {\n background-color: transparent;\n background-image: none;\n}\nbutton, [role="button"] {\n cursor: pointer;\n}\ncode {\n font-size: 1em;\n font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;\n}\nfieldset {\n margin: 0;\n padding: 0;\n}\nhtml {\n -webkit-text-size-adjust: 100%;\n font-family: ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";\n line-height: 1.5;\n}\nh1, p, h2, h3, h4, h5, h6 {\n margin: 0;\n}\nh1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n}\ninput, button, optgroup, select, textarea {\n font-family: inherit;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n padding: 0;\n line-height: inherit;\n color: inherit;\n}\ninput::placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput::webkit-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput::-moz-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput:-ms-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput::-ms-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\nlegend {\n padding: 0;\n}\nprogress {\n vertical-align: baseline;\n}\nsmall {\n font-size: 80%;\n}\nsvg {\n display: block;\n vertical-align: middle;\n}\ntable {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n}\ntextarea {\n resize: vertical;\n}\ntextarea::placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ntextarea::webkit-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ntextarea::-moz-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ntextarea:-ms-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ntextarea::-ms-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\nul, ol {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n/* windicss layer components */\n/* windicss layer utilities */\n.container {\n width: 100%;\n}\n@media (min-width: 640px) {\n .container {\n max-width: 640px;\n }\n}\n@media (min-width: 768px) {\n .container {\n max-width: 768px;\n }\n}\n@media (min-width: 1024px) {\n .container {\n max-width: 1024px;\n }\n}\n@media (min-width: 1280px) {\n .container {\n max-width: 1280px;\n }\n}\n@media (min-width: 1536px) {\n .container {\n max-width: 1536px;\n }\n}\n.bg-normal {\n background-color: var(--kolibri-color-normal);\n}\n.bg-white {\n --tw-bg-opacity: 1;\n background-color: rgba(255, 255, 255, var(--tw-bg-opacity));\n}\n.bg-spin-1 {\n background-color: var(--kolibri-color-spin-1);\n}\n.bg-spin-2 {\n background-color: var(--kolibri-color-spin-2);\n}\n.bg-spin-3 {\n background-color: var(--kolibri-color-spin-3);\n}\n.rounded {\n border-radius: var(--kolibri-border-radius);\n}\n.border-1 {\n border-width: 1px;\n}\n.cursor-pointer {\n cursor: pointer;\n}\n.block {\n display: block;\n}\n.inline-block {\n display: inline-block;\n}\n.flex {\n display: -webkit-box;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n}\n.inline-flex {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: -webkit-inline-flex;\n display: inline-flex;\n}\n.table {\n display: table;\n}\n.grid {\n display: -ms-grid;\n display: grid;\n}\n.hidden {\n display: none;\n}\n.flex-wrap {\n -ms-flex-wrap: wrap;\n -webkit-flex-wrap: wrap;\n flex-wrap: wrap;\n}\n.items-center {\n -webkit-box-align: center;\n -ms-flex-align: center;\n -webkit-align-items: center;\n align-items: center;\n}\n.content-center {\n -ms-flex-line-pack: center;\n -webkit-align-content: center;\n align-content: center;\n}\n.float-left {\n float: left;\n}\n.font-80 {\n font-weight: 80;\n}\n.font-60 {\n font-weight: 60;\n}\n.h-full {\n height: 100%;\n}\n.h-0 {\n height: 0px;\n}\n.h-0\\.41c-2\\.42\\2c 0-4\\.82-1\\.57-4\\.82-3\\.58c0\\.05-0\\.98\\2c 0\\.43-1\\.91\\2c 1\\.07-2\\.65c0\\.3\\2c 0\\.05\\2c 0\\.61\\2c 0\\.09\\2c 0\\.92\\2c 0\\.09c1\\.1\\2c 0\\2c 1\\.69-0\\.58\\2c 1\\.74-1\\.16 {\n height: 0.29rem;\n}\n.text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem;\n}\n.text-2xl {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n.text-lg {\n font-size: 1.125rem;\n line-height: 1.75rem;\n}\n.leading-normal {\n line-height: 1.5;\n}\n.list-none {\n list-style-type: none;\n}\n.list-disc {\n list-style-type: disc;\n}\n.list-decimal {\n list-style-type: decimal;\n}\n.mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n.mb-1 {\n margin-bottom: calc(1 * var(--kolibri-spacing));\n}\n.mr-2 {\n margin-right: calc(2 * var(--kolibri-spacing));\n}\n.ml-2 {\n margin-left: calc(2 * var(--kolibri-spacing));\n}\n.mt-2 {\n margin-top: calc(2 * var(--kolibri-spacing));\n}\n.mt-4 {\n margin-top: calc(4 * var(--kolibri-spacing));\n}\n.outline {\n outline-style: solid;\n}\n.overflow-hidden {\n overflow: hidden;\n}\n.overflow-y-visible {\n overflow-y: visible;\n}\n.p-2 {\n padding: calc(2 * var(--kolibri-spacing));\n}\n.p-4 {\n padding: calc(4 * var(--kolibri-spacing));\n}\n.px {\n padding-left: 1px;\n padding-right: 1px;\n}\n.py-2 {\n padding-top: calc(2 * var(--kolibri-spacing));\n padding-bottom: calc(2 * var(--kolibri-spacing));\n}\n.pl-8 {\n padding-left: 2rem;\n}\n.pb-2 {\n padding-bottom: calc(2 * var(--kolibri-spacing));\n}\n.tab {\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n}\n.absolute {\n position: absolute;\n}\n.text-center {\n text-align: center;\n}\n.text-normal {\n color: var(--kolibri-color-normal);\n}\n.hover\\:text-primary:hover {\n color: var(--kolibri-color-primary);\n}\n.italic {\n font-style: italic;\n}\n.underline {\n -webkit-text-decoration-line: underline;\n text-decoration-line: underline;\n}\n.indent {\n text-indent: 1.5rem;\n}\n.visible {\n visibility: visible;\n}\n.w-full {\n width: 100%;\n}\n.w-4\\/5 {\n width: 80%;\n}\n.z-50 {\n z-index: 50;\n}\n.gap-1 {\n grid-gap: calc(1 * var(--kolibri-spacing));\n gap: calc(1 * var(--kolibri-spacing));\n}\n.gap-2 {\n grid-gap: calc(2 * var(--kolibri-spacing));\n gap: calc(2 * var(--kolibri-spacing));\n}\n.grid-flow-col {\n grid-auto-flow: column;\n}\n.transform {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-rotate: 0;\n --tw-rotate-x: 0;\n --tw-rotate-y: 0;\n --tw-rotate-z: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-scale-z: 1;\n -webkit-transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));\n -ms-transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));\n transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));\n}\n.animate {\n -webkit-animation-iteration-count: 1;\n animation-iteration-count: 1;\n}\n.filter {\n --tw-blur: var(--tw-empty,/*!*/ /*!*/);\n --tw-brightness: var(--tw-empty,/*!*/ /*!*/);\n --tw-contrast: var(--tw-empty,/*!*/ /*!*/);\n --tw-grayscale: var(--tw-empty,/*!*/ /*!*/);\n --tw-hue-rotate: var(--tw-empty,/*!*/ /*!*/);\n --tw-invert: var(--tw-empty,/*!*/ /*!*/);\n --tw-saturate: var(--tw-empty,/*!*/ /*!*/);\n --tw-sepia: var(--tw-empty,/*!*/ /*!*/);\n --tw-drop-shadow: var(--tw-empty,/*!*/ /*!*/);\n -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n.blur {\n -webkit-backdrop-filter: blur(8px);\n backdrop-filter: blur(8px);\n}\n:host * {\n -ms-hyphens: var(--kolibri-hyphens);\n -webkit-hyphens: var(--kolibri-hyphens);\n hyphens: var(--kolibri-hyphens);\n font-family: var(--kolibri-font-family);\n line-height: var(--kolibri-line-height);\n word-break: break-word;\n}\n\n:host {\n overflow: hidden;\n}\n:host > div {\n overflow-x: auto;\n border-radius: var(--kolibri-border-radius);\n border-style: solid;\n border-width: 1px;\n}\n:host > div table {\n border: 0;\n width: 100%;\n}\n:host > div table tr {\n border-top-style: solid;\n border-top-width: 1px;\n padding-top: calc(1 * var(--kolibri-spacing));\n padding-bottom: calc(1 * var(--kolibri-spacing));\n padding-left: calc(2 * var(--kolibri-spacing));\n padding-right: calc(2 * var(--kolibri-spacing));\n}\n:host > div table tr th, :host > div table tr td {\n border-right-style: solid;\n border-right-width: 1px;\n padding-top: calc(1 * var(--kolibri-spacing));\n padding-bottom: calc(1 * var(--kolibri-spacing));\n padding-left: calc(2 * var(--kolibri-spacing));\n padding-right: calc(2 * var(--kolibri-spacing));\n}\n:host > div table tr th:last-child,\n:host > div table tr td:last-child {\n border: 0;\n}\n:host > div table tr th, :host > div table tr .th {\n --tw-bg-opacity: 1;\n background-color: rgba(229, 231, 235, var(--tw-bg-opacity));\n}\n:host > div table tr:nth-child(even) {\n --tw-bg-opacity: 1;\n background-color: rgba(243, 244, 246, var(--tw-bg-opacity));\n}\n:host > div table tr:nth-child(odd) {\n @apply white;\n}\n:host > div.pagination {\n border-style: none;\n display: -ms-grid;\n display: grid;\n -webkit-box-align: center;\n -ms-flex-align: center;\n -webkit-align-items: center;\n align-items: center;\n -ms-flex-line-pack: center;\n -webkit-align-content: center;\n align-content: center;\n padding-top: calc(2 * var(--kolibri-spacing));\n padding-left: calc(1 * var(--kolibri-spacing));\n padding-right: calc(1 * var(--kolibri-spacing));\n width: 100%;\n grid-gap: calc(2 * var(--kolibri-spacing));\n gap: calc(2 * var(--kolibri-spacing));\n grid-auto-flow: column;\n}\n:host > div.pagination > div::last-child {\n display: -webkit-box;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n -webkit-align-items: center;\n align-items: center;\n -ms-grid-column-align: end;\n justify-self: end;\n grid-gap: calc(2 * var(--kolibri-spacing));\n gap: calc(2 * var(--kolibri-spacing));\n}',PAGINATION_OPTIONS=[10,20,50,100],KolTable=class{constructor(t){index.registerInstance(this,t),this.horizontal=!0,this.sortDirections=new Map,this.showPagination=!1,this.pageStartSlice=0,this.pageEndSlice=10,this.handlePagination={onClick:(t,n)=>{var i;"function"==typeof(null===(i=this.state._pagination._on)||void 0===i?void 0:i.onClick)&&this.state._pagination._on.onClick(t,n),prop_validators.setState(this,"_pagination",Object.assign(Object.assign({},this.state._pagination),{_page:n}))},onChangePage:(t,n)=>{var i;"function"==typeof(null===(i=this.state._pagination._on)||void 0===i?void 0:i.onChangePage)&&this.state._pagination._on.onChangePage(t,n),prop_validators.setState(this,"_pagination",Object.assign(Object.assign({},this.state._pagination),{_page:n}))},onChangePageSize:(t,n)=>{var i;"function"==typeof(null===(i=this.state._pagination._on)||void 0===i?void 0:i.onChangePageSize)&&this.state._pagination._on.onChangePageSize(t,n),prop_validators.setState(this,"_pagination",Object.assign(Object.assign({},this.state._pagination),{_pageSize:n})),prop_validators.setState(this,"_pageSize",n)}},this.beforePatchPagination=(t,n,i,e)=>{"_pagination"===e&&(this.showPagination=!0===t||""===t||"object"==typeof t&&null!==t)},this.updateSortedData=()=>{let t=this.state._data;if("function"==typeof this.sortFunction)switch(this.sortDirections.get(this.sortFunction)){case"NOS":t=[...this.state._data];break;case"ASC":t=this.sortFunction([...this.state._data]);break;default:t=this.sortFunction([...this.state._data]).reverse()}prop_validators.setState(this,"_sortedData",t)},this._caption=void 0,this._data=void 0,this._headers=void 0,this._minWidth=void 0,this._pagination=void 0,this.state={_caption:"",_data:[],_headers:{horizontal:[],vertical:[]},_pagination:{_page:1,_pageSize:10,_total:0},_sortedData:[]}}validateCaption(t){prop_validators.watchString(this,"_caption",t,{required:!0})}validateData(t){prop_validators.emptyStringByArrayHandler(t,(()=>{prop_validators.objectObjectHandler(t,(()=>{void 0===t&&(t=[]);try{t=prop_validators.parseJson(t)}catch(t){}Array.isArray(t)&&void 0===t.find((t=>!("object"==typeof t&&null!==t)))&&prop_validators.setState(this,"_data",t,{afterPatch:()=>{const t=setTimeout((()=>{clearTimeout(t),this.updateSortedData()}))}})}))}))}validateHeaders(t){prop_validators.emptyStringByArrayHandler(t,(()=>{prop_validators.objectObjectHandler(t,(()=>{try{t=prop_validators.parseJson(t)}catch(t){}prop_validators.watchValidator(this,"_headers",(t=>"object"==typeof t&&null!==t),new Set(["KoliBriTableHeaders"]),t,{hooks:{beforePatch:t=>{var n;null===(n=t.horizontal)||void 0===n||n.forEach((t=>{t.forEach((t=>{"function"==typeof t.sort&&"string"==typeof t.sortDirection&&this.sortDirections.set(t.sort,t.sortDirection)}))}))}}})}))}))}validateMinWidth(t){prop_validators.watchString(this,"_minWidth",t,{defaultValue:void 0})}validatePagination(t){try{t=prop_validators.parseJson(t)}catch(t){}prop_validators.watchValidator(this,"_pagination",(()=>!0),new Set(["boolean","KoliBriTablePagination"]),t,{hooks:{beforePatch:this.beforePatchPagination}})}componentWillLoad(){this.validateCaption(this._caption),this.validateData(this._data),this.validateHeaders(this._headers),this.validateMinWidth(this._minWidth),this.validatePagination(this._pagination)}getNumberOfCols(t,n){let i=0;return t.forEach((t=>{let n=0;t.forEach((t=>{var i;return n+=null!==(i=t.colSpan)&&void 0!==i?i:1})),i<n&&(i=n)})),0===i&&(i=n.length),i}getNumberOfRows(t,n){let i=0;return t.forEach((t=>{let n=0;t.forEach((t=>{var i;return n+=null!==(i=t.rowSpan)&&void 0!==i?i:1})),i<n&&(i=n)})),0===i&&(i=n.length),i}filterHeaderKeys(t){const n=[];return t.forEach((t=>{t.forEach((t=>{"string"==typeof t.key&&n.push(t)}))})),n}getPrimaryHeader(t){var n,i;let e=this.filterHeaderKeys(null!==(n=t.horizontal)&&void 0!==n?n:[]);return this.horizontal=!0,0===e.length&&(e=this.filterHeaderKeys(null!==(i=t.vertical)&&void 0!==i?i:[]),e.length>0&&(this.horizontal=!1)),e}createDataField(t,n){n.horizontal=Array.isArray(null==n?void 0:n.horizontal)?n.horizontal:[],n.vertical=Array.isArray(null==n?void 0:n.vertical)?n.vertical:[];const i=this.getPrimaryHeader(n),e=this.getNumberOfCols(n.horizontal,t),a=this.getNumberOfRows(n.vertical,t),o=[],r=[],s=[];n.vertical.forEach(((t,n)=>{r[n]=0,s[n]=[]}));for(let l=0;l<a;l++){const a=[];n.vertical.forEach(((t,n)=>{let i=0;if(s[n].forEach((t=>i+=t)),i<=l){const e=t[l-i+r[n]];if("object"==typeof e){a.push(Object.assign(Object.assign({},e),{asTd:!1,data:{}}));let t=1;if("number"==typeof e.rowSpan&&e.rowSpan>1&&(t=e.rowSpan),s[n].push(t),"number"==typeof e.colSpan&&e.colSpan>1)for(let i=1;i<e.colSpan;i++)s[n+i].push(t);r[n]++}}}));for(let n=0;n<e;n++)!0===this.horizontal?"object"==typeof i[n]&&null!==i[n]&&"string"==typeof i[n].key&&"object"==typeof t[l]&&null!==t[l]&&a.push(Object.assign(Object.assign({},i[n]),{colSpan:void 0,data:t[l],label:t[l][i[n].key],rowSpan:void 0})):"object"==typeof i[l]&&null!==i[l]&&"string"==typeof i[l].key&&"object"==typeof t[n]&&null!==t[n]&&a.push(Object.assign(Object.assign({},i[l]),{colSpan:void 0,data:t[n],label:t[n][i[l].key],rowSpan:void 0}));o.push(a)}if(0===t.length){let t=0,i=0;Array.isArray(n.horizontal)&&n.horizontal.length>0&&n.horizontal[0].forEach((n=>{t+=n.colSpan||1})),Array.isArray(n.vertical)&&n.vertical.length>0&&(t-=n.vertical.length,n.vertical[0].forEach((t=>{i+=t.rowSpan||1})));const e={colSpan:t,label:"Es sind keine Einträge vorhanden.",render:()=>"Es sind keine Einträge vorhanden.",rowSpan:Math.max(i,1)};0===o.length?o.push([e]):o[0].push(e)}return o}selectDisplayedData(t,n,i){return"number"==typeof n&&n>0&&"number"==typeof i&&i>0?(this.pageStartSlice=n*(i-1),this.pageEndSlice=n*i>t.length?t.length:n*i,t.slice(this.pageStartSlice,this.pageEndSlice)):(this.pageStartSlice=0,this.pageEndSlice=t.length,t)}cellRender(t,n){const i=setTimeout((()=>{if(clearTimeout(i),"function"==typeof t.render&&n instanceof HTMLElement){const i=t.render(n,{asTd:t.asTd,label:t.label,textAlign:t.textAlign,width:t.width},t.data,this.state._data);"string"==typeof i&&(n.innerHTML=i)}}),50)}render(){var t,n;const i=this.selectDisplayedData(this.state._sortedData,this.showPagination?null!==(n=null===(t=this.state._pagination)||void 0===t?void 0:t._pageSize)&&void 0!==n?n:10:this.state._sortedData.length,this.state._pagination._page||1),e=this.createDataField(i,this.state._headers);return index.h(index.Host,null,index.h("div",{tabindex:"0"},index.h("table",{style:{minWidth:this.state._minWidth}},index.h("caption",null,this.state._caption),Array.isArray(this.state._headers.horizontal)&&index.h("thead",null,this.state._headers.horizontal.map((t=>index.h("tr",null,t.map((t=>!0===t.asTd?index.h("td",{class:{[t.textAlign]:"string"==typeof t.textAlign&&t.textAlign.length>0},colSpan:t.colSpan,rowSpan:t.rowSpan,style:{textAlign:t.textAlign,width:t.width},ref:"function"==typeof t.render?n=>{this.cellRender(t,n)}:void 0,innerHTML:"function"!=typeof t.render?t.label:""}):index.h("th",{scope:"number"==typeof t.colSpan&&t.colSpan>1?"colgroup":"col",colSpan:t.colSpan,rowSpan:t.rowSpan,style:{width:t.width},"aria-sort":"function"==typeof t.sort?"NOS"===this.sortDirections.get(t.sort)||void 0===this.sortDirections.get(t.sort)?"none":"ASC"===this.sortDirections.get(t.sort)?"ascending":"descending":void 0},index.h("div",{class:"w-full flex gap-1 items-center"},index.h("div",{class:{"w-full":!0,[t.textAlign]:"string"==typeof t.textAlign&&t.textAlign.length>0},innerHTML:t.label,style:{textAlign:t.textAlign}}),"function"==typeof t.sort&&index.h("kol-button",{exportparts:"button,ghost",_ariaLabel:"Sortierung von "+t.label+" ändern",_icon:"NOS"===this.sortDirections.get(t.sort)||void 0===this.sortDirections.get(t.sort)?"fas fa-sort":"ASC"===this.sortDirections.get(t.sort)?"fas fa-sort-up":"fas fa-sort-down",_iconOnly:!0,_label:"Sortierung von "+t.label+" ändern",_on:{onClick:()=>{if("function"==typeof t.sort){switch(this.sortFunction=t.sort,this.sortDirections.get(this.sortFunction)){case"ASC":this.sortDirections.set(this.sortFunction,"DESC");break;case"DESC":this.sortDirections.set(this.sortFunction,"NOS");break;default:this.sortDirections.set(this.sortFunction,"ASC")}this.updateSortedData()}}},_variant:"ghost"}))))))))),index.h("tbody",null,e.map(((t,n)=>index.h("tr",{key:`row-${n}`},t.map((t=>!1===t.asTd?index.h("th",{scope:"number"==typeof t.rowSpan&&t.rowSpan>1?"rowgroup":"row",colSpan:t.colSpan,rowSpan:t.rowSpan,style:{width:t.width},"aria-sort":"function"==typeof t.sort?"NOS"===this.sortDirections.get(t.sort)||void 0===this.sortDirections.get(t.sort)?"none":"ASC"===this.sortDirections.get(t.sort)?"ascending":"descending":void 0},index.h("div",{class:"w-full flex gap-1 items-center"},index.h("div",{class:{"w-full":!0,[t.textAlign]:"string"==typeof t.textAlign&&t.textAlign.length>0},innerHTML:t.label,style:{textAlign:t.textAlign}}),"function"==typeof t.sort&&index.h("kol-button",{exportparts:"button,ghost",_ariaLabel:"Sortierung von "+t.label+" ändern",_icon:"NOS"===this.sortDirections.get(t.sort)||void 0===this.sortDirections.get(t.sort)?"fas fa-sort":"ASC"===this.sortDirections.get(t.sort)?"fas fa-sort-up":"fas fa-sort-down",_iconOnly:!0,_label:"Sortierung von "+t.label+" ändern",_on:{onClick:()=>{if("function"==typeof t.sort){switch(this.sortFunction=t.sort,this.sortDirections.get(this.sortFunction)){case"ASC":this.sortDirections.set(this.sortFunction,"DESC");break;case"DESC":this.sortDirections.set(this.sortFunction,"NOS");break;default:this.sortDirections.set(this.sortFunction,"ASC")}this.updateSortedData()}}},_variant:"ghost"}))):index.h("td",{class:{[t.textAlign]:"string"==typeof t.textAlign&&t.textAlign.length>0},colSpan:t.colSpan,rowSpan:t.rowSpan,style:{textAlign:t.textAlign,width:t.width},ref:"function"==typeof t.render?n=>{this.cellRender(t,n)}:void 0,innerHTML:"function"!=typeof t.render?t.label:""}))))))))),this.pageEndSlice>0&&this.showPagination&&index.h("div",null,index.h("span",null,"Einträge ",this.pageEndSlice>0?this.pageStartSlice+1:0," bis ",this.pageEndSlice," von"," ",this.state._pagination._total||(Array.isArray(this.state._data)?this.state._data.length:0)," angezeigt"),index.h("div",null,index.h("kol-pagination",{_boundaryCount:this.state._pagination._boundaryCount,_customClass:this.state._pagination._customClass,_on:this.handlePagination,_page:this.state._pagination._page,_pageSize:this.state._pagination._pageSize,_pageSizeOptions:this.state._pagination._pageSizeOptions||PAGINATION_OPTIONS,_siblingCount:this.state._pagination._siblingCount,_tooltipAlign:"bottom",_total:this.state._pagination._total||this.state._data.length}))))}static get watchers(){return{_caption:["validateCaption"],_data:["validateData"],_headers:["validateHeaders"],_minWidth:["validateMinWidth"],_pagination:["validatePagination"]}}};KolTable.style={default:defaultStyleCss},exports.kol_table=KolTable;
4
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const index=require("./index-59a3234b.js"),prop_validators=require("./prop.validators-8ddaf00e.js");require("./index.m-21aa1255.js"),require("./a11y.tipps-e1770acf.js"),require("./dev.utils-2353100d.js"),require("./index-adbf25b5.js");const defaultStyleCss='/* windicss-touch: 1639175625181 */\n/* windicss-touch: 1649810622229 */\n/* windicss layer base */\n*, ::before, ::after {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n border-width: 0;\n border-style: solid;\n border-color: var(--kolibri-border-color);\n}\n* {\n --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: var(--kolibri-color);\n --tw-ring-color: rgba(undefined, 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n}\n:root {\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n}\n:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n:-moz-ui-invalid {\n box-shadow: none;\n}\n::moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n}\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\n[type=\'search\'] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\nabbr[title] {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\na {\n color: inherit;\n text-decoration: inherit;\n}\nbody {\n margin: 0;\n font-family: inherit;\n line-height: inherit;\n}\nb {\n font-weight: bolder;\n}\nbutton, select {\n text-transform: none;\n}\nbutton, [type=\'button\'], [type=\'reset\'], [type=\'submit\'] {\n -webkit-appearance: button;\n}\nbutton {\n background-color: transparent;\n background-image: none;\n}\nbutton, [role="button"] {\n cursor: pointer;\n}\ncode {\n font-size: 1em;\n font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;\n}\nfieldset {\n margin: 0;\n padding: 0;\n}\nhtml {\n -webkit-text-size-adjust: 100%;\n font-family: ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";\n line-height: 1.5;\n}\nh1, p, h2, h3, h4, h5, h6 {\n margin: 0;\n}\nh1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n}\ninput, button, optgroup, select, textarea {\n font-family: inherit;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n padding: 0;\n line-height: inherit;\n color: inherit;\n}\ninput::placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput::webkit-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput::-moz-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput:-ms-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput::-ms-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\nlegend {\n padding: 0;\n}\nprogress {\n vertical-align: baseline;\n}\nsmall {\n font-size: 80%;\n}\nsvg {\n display: block;\n vertical-align: middle;\n}\ntable {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n}\ntextarea {\n resize: vertical;\n}\ntextarea::placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ntextarea::webkit-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ntextarea::-moz-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ntextarea:-ms-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ntextarea::-ms-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\nul, ol {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n/* windicss layer components */\n/* windicss layer utilities */\n.container {\n width: 100%;\n}\n@media (min-width: 640px) {\n .container {\n max-width: 640px;\n }\n}\n@media (min-width: 768px) {\n .container {\n max-width: 768px;\n }\n}\n@media (min-width: 1024px) {\n .container {\n max-width: 1024px;\n }\n}\n@media (min-width: 1280px) {\n .container {\n max-width: 1280px;\n }\n}\n@media (min-width: 1536px) {\n .container {\n max-width: 1536px;\n }\n}\n.bg-normal {\n background-color: var(--kolibri-color-normal);\n}\n.bg-white {\n --tw-bg-opacity: 1;\n background-color: rgba(255, 255, 255, var(--tw-bg-opacity));\n}\n.bg-spin-1 {\n background-color: var(--kolibri-color-spin-1);\n}\n.bg-spin-2 {\n background-color: var(--kolibri-color-spin-2);\n}\n.bg-spin-3 {\n background-color: var(--kolibri-color-spin-3);\n}\n.rounded {\n border-radius: var(--kolibri-border-radius);\n}\n.border-1 {\n border-width: 1px;\n}\n.cursor-pointer {\n cursor: pointer;\n}\n.block {\n display: block;\n}\n.inline-block {\n display: inline-block;\n}\n.flex {\n display: -webkit-box;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n}\n.inline-flex {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: -webkit-inline-flex;\n display: inline-flex;\n}\n.table {\n display: table;\n}\n.grid {\n display: -ms-grid;\n display: grid;\n}\n.hidden {\n display: none;\n}\n.flex-wrap {\n -ms-flex-wrap: wrap;\n -webkit-flex-wrap: wrap;\n flex-wrap: wrap;\n}\n.items-center {\n -webkit-box-align: center;\n -ms-flex-align: center;\n -webkit-align-items: center;\n align-items: center;\n}\n.content-center {\n -ms-flex-line-pack: center;\n -webkit-align-content: center;\n align-content: center;\n}\n.float-left {\n float: left;\n}\n.font-80 {\n font-weight: 80;\n}\n.font-60 {\n font-weight: 60;\n}\n.h-full {\n height: 100%;\n}\n.h-0 {\n height: 0px;\n}\n.h-0\\.41c-2\\.42\\2c 0-4\\.82-1\\.57-4\\.82-3\\.58c0\\.05-0\\.98\\2c 0\\.43-1\\.91\\2c 1\\.07-2\\.65c0\\.3\\2c 0\\.05\\2c 0\\.61\\2c 0\\.09\\2c 0\\.92\\2c 0\\.09c1\\.1\\2c 0\\2c 1\\.69-0\\.58\\2c 1\\.74-1\\.16 {\n height: 0.29rem;\n}\n.text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem;\n}\n.text-2xl {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n.text-lg {\n font-size: 1.125rem;\n line-height: 1.75rem;\n}\n.leading-normal {\n line-height: 1.5;\n}\n.list-none {\n list-style-type: none;\n}\n.list-disc {\n list-style-type: disc;\n}\n.list-decimal {\n list-style-type: decimal;\n}\n.mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n.mb-1 {\n margin-bottom: calc(1 * var(--kolibri-spacing));\n}\n.mr-2 {\n margin-right: calc(2 * var(--kolibri-spacing));\n}\n.ml-2 {\n margin-left: calc(2 * var(--kolibri-spacing));\n}\n.mt-2 {\n margin-top: calc(2 * var(--kolibri-spacing));\n}\n.mt-4 {\n margin-top: calc(4 * var(--kolibri-spacing));\n}\n.outline {\n outline-style: solid;\n}\n.overflow-hidden {\n overflow: hidden;\n}\n.overflow-y-visible {\n overflow-y: visible;\n}\n.p-2 {\n padding: calc(2 * var(--kolibri-spacing));\n}\n.p-4 {\n padding: calc(4 * var(--kolibri-spacing));\n}\n.px {\n padding-left: 1px;\n padding-right: 1px;\n}\n.py-2 {\n padding-top: calc(2 * var(--kolibri-spacing));\n padding-bottom: calc(2 * var(--kolibri-spacing));\n}\n.pl-8 {\n padding-left: 2rem;\n}\n.pb-2 {\n padding-bottom: calc(2 * var(--kolibri-spacing));\n}\n.tab {\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n}\n.absolute {\n position: absolute;\n}\n.text-center {\n text-align: center;\n}\n.text-normal {\n color: var(--kolibri-color-normal);\n}\n.hover\\:text-primary:hover {\n color: var(--kolibri-color-primary);\n}\n.italic {\n font-style: italic;\n}\n.underline {\n -webkit-text-decoration-line: underline;\n text-decoration-line: underline;\n}\n.indent {\n text-indent: 1.5rem;\n}\n.visible {\n visibility: visible;\n}\n.w-full {\n width: 100%;\n}\n.w-4\\/5 {\n width: 80%;\n}\n.z-50 {\n z-index: 50;\n}\n.gap-1 {\n grid-gap: calc(1 * var(--kolibri-spacing));\n gap: calc(1 * var(--kolibri-spacing));\n}\n.gap-2 {\n grid-gap: calc(2 * var(--kolibri-spacing));\n gap: calc(2 * var(--kolibri-spacing));\n}\n.grid-flow-col {\n grid-auto-flow: column;\n}\n.transform {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-rotate: 0;\n --tw-rotate-x: 0;\n --tw-rotate-y: 0;\n --tw-rotate-z: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-scale-z: 1;\n -webkit-transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));\n -ms-transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));\n transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));\n}\n.animate {\n -webkit-animation-iteration-count: 1;\n animation-iteration-count: 1;\n}\n.filter {\n --tw-blur: var(--tw-empty,/*!*/ /*!*/);\n --tw-brightness: var(--tw-empty,/*!*/ /*!*/);\n --tw-contrast: var(--tw-empty,/*!*/ /*!*/);\n --tw-grayscale: var(--tw-empty,/*!*/ /*!*/);\n --tw-hue-rotate: var(--tw-empty,/*!*/ /*!*/);\n --tw-invert: var(--tw-empty,/*!*/ /*!*/);\n --tw-saturate: var(--tw-empty,/*!*/ /*!*/);\n --tw-sepia: var(--tw-empty,/*!*/ /*!*/);\n --tw-drop-shadow: var(--tw-empty,/*!*/ /*!*/);\n -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n.blur {\n -webkit-backdrop-filter: blur(8px);\n backdrop-filter: blur(8px);\n}\n:host * {\n -ms-hyphens: var(--kolibri-hyphens);\n -webkit-hyphens: var(--kolibri-hyphens);\n hyphens: var(--kolibri-hyphens);\n font-family: var(--kolibri-font-family);\n line-height: var(--kolibri-line-height);\n word-break: break-word;\n}\n\n:host {\n overflow: hidden;\n}\n:host > div {\n overflow-x: auto;\n border-radius: var(--kolibri-border-radius);\n border-style: solid;\n border-width: 1px;\n}\n:host > div table {\n border: 0;\n width: 100%;\n}\n:host > div table tr {\n border-top-style: solid;\n border-top-width: 1px;\n padding-top: calc(1 * var(--kolibri-spacing));\n padding-bottom: calc(1 * var(--kolibri-spacing));\n padding-left: calc(2 * var(--kolibri-spacing));\n padding-right: calc(2 * var(--kolibri-spacing));\n}\n:host > div table tr th, :host > div table tr td {\n border-right-style: solid;\n border-right-width: 1px;\n padding-top: calc(1 * var(--kolibri-spacing));\n padding-bottom: calc(1 * var(--kolibri-spacing));\n padding-left: calc(2 * var(--kolibri-spacing));\n padding-right: calc(2 * var(--kolibri-spacing));\n}\n:host > div table tr th:last-child,\n:host > div table tr td:last-child {\n border: 0;\n}\n:host > div table tr th, :host > div table tr .th {\n --tw-bg-opacity: 1;\n background-color: rgba(229, 231, 235, var(--tw-bg-opacity));\n}\n:host > div table tr:nth-child(even) {\n --tw-bg-opacity: 1;\n background-color: rgba(243, 244, 246, var(--tw-bg-opacity));\n}\n:host > div table tr:nth-child(odd) {\n @apply white;\n}\n:host > div.pagination {\n border-style: none;\n display: -ms-grid;\n display: grid;\n -webkit-box-align: center;\n -ms-flex-align: center;\n -webkit-align-items: center;\n align-items: center;\n -ms-flex-line-pack: center;\n -webkit-align-content: center;\n align-content: center;\n padding-top: calc(2 * var(--kolibri-spacing));\n padding-left: calc(1 * var(--kolibri-spacing));\n padding-right: calc(1 * var(--kolibri-spacing));\n width: 100%;\n grid-gap: calc(2 * var(--kolibri-spacing));\n gap: calc(2 * var(--kolibri-spacing));\n grid-auto-flow: column;\n}\n:host > div.pagination > div::last-child {\n display: -webkit-box;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n -webkit-align-items: center;\n align-items: center;\n -ms-grid-column-align: end;\n justify-self: end;\n grid-gap: calc(2 * var(--kolibri-spacing));\n gap: calc(2 * var(--kolibri-spacing));\n}',PAGINATION_OPTIONS=[10,20,50,100],KolTable=class{constructor(t){index.registerInstance(this,t),this.horizontal=!0,this.sortDirections=new Map,this.showPagination=!1,this.pageStartSlice=0,this.pageEndSlice=10,this.handlePagination={onClick:(t,n)=>{var i;"function"==typeof(null===(i=this.state._pagination._on)||void 0===i?void 0:i.onClick)&&this.state._pagination._on.onClick(t,n),prop_validators.setState(this,"_pagination",Object.assign(Object.assign({},this.state._pagination),{_page:n}))},onChangePage:(t,n)=>{var i;"function"==typeof(null===(i=this.state._pagination._on)||void 0===i?void 0:i.onChangePage)&&this.state._pagination._on.onChangePage(t,n),prop_validators.setState(this,"_pagination",Object.assign(Object.assign({},this.state._pagination),{_page:n}))},onChangePageSize:(t,n)=>{var i;"function"==typeof(null===(i=this.state._pagination._on)||void 0===i?void 0:i.onChangePageSize)&&this.state._pagination._on.onChangePageSize(t,n),prop_validators.setState(this,"_pagination",Object.assign(Object.assign({},this.state._pagination),{_pageSize:n})),prop_validators.setState(this,"_pageSize",n)}},this.beforePatchPagination=(t,n,i,e)=>{"_pagination"===e&&(this.showPagination=!0===t||""===t||"object"==typeof t&&null!==t)},this.updateSortedData=()=>{let t=this.state._data;if("function"==typeof this.sortFunction)switch(this.sortDirections.get(this.sortFunction)){case"NOS":t=[...this.state._data];break;case"ASC":t=this.sortFunction([...this.state._data]);break;default:t=this.sortFunction([...this.state._data]).reverse()}prop_validators.setState(this,"_sortedData",t)},this._caption=void 0,this._data=void 0,this._headers=void 0,this._minWidth=void 0,this._pagination=void 0,this.state={_caption:"",_data:[],_headers:{horizontal:[],vertical:[]},_pagination:{_page:1,_pageSize:10,_total:0},_sortedData:[]}}validateCaption(t){prop_validators.watchString(this,"_caption",t,{required:!0})}validateData(t){prop_validators.emptyStringByArrayHandler(t,(()=>{prop_validators.objectObjectHandler(t,(()=>{void 0===t&&(t=[]);try{t=prop_validators.parseJson(t)}catch(t){}Array.isArray(t)&&void 0===t.find((t=>!("object"==typeof t&&null!==t)))&&prop_validators.setState(this,"_data",t,{afterPatch:()=>{const t=setTimeout((()=>{clearTimeout(t),this.updateSortedData()}))}})}))}))}validateHeaders(t){prop_validators.emptyStringByArrayHandler(t,(()=>{prop_validators.objectObjectHandler(t,(()=>{try{t=prop_validators.parseJson(t)}catch(t){}prop_validators.watchValidator(this,"_headers",(t=>"object"==typeof t&&null!==t),new Set(["KoliBriTableHeaders"]),t,{hooks:{beforePatch:t=>{var n;null===(n=t.horizontal)||void 0===n||n.forEach((t=>{t.forEach((t=>{"function"==typeof t.sort&&"string"==typeof t.sortDirection&&this.sortDirections.set(t.sort,t.sortDirection)}))}))}}})}))}))}validateMinWidth(t){prop_validators.watchString(this,"_minWidth",t,{defaultValue:void 0})}validatePagination(t){try{t=prop_validators.parseJson(t)}catch(t){}prop_validators.watchValidator(this,"_pagination",(()=>!0),new Set(["boolean","KoliBriTablePagination"]),t,{hooks:{beforePatch:this.beforePatchPagination}})}componentWillLoad(){this.validateCaption(this._caption),this.validateData(this._data),this.validateHeaders(this._headers),this.validateMinWidth(this._minWidth),this.validatePagination(this._pagination)}getNumberOfCols(t,n){let i=0;return t.forEach((t=>{let n=0;t.forEach((t=>{var i;return n+=null!==(i=t.colSpan)&&void 0!==i?i:1})),i<n&&(i=n)})),0===i&&(i=n.length),i}getNumberOfRows(t,n){let i=0;return t.forEach((t=>{let n=0;t.forEach((t=>{var i;return n+=null!==(i=t.rowSpan)&&void 0!==i?i:1})),i<n&&(i=n)})),0===i&&(i=n.length),i}filterHeaderKeys(t){const n=[];return t.forEach((t=>{t.forEach((t=>{"string"==typeof t.key&&n.push(t)}))})),n}getPrimaryHeader(t){var n,i;let e=this.filterHeaderKeys(null!==(n=t.horizontal)&&void 0!==n?n:[]);return this.horizontal=!0,0===e.length&&(e=this.filterHeaderKeys(null!==(i=t.vertical)&&void 0!==i?i:[]),e.length>0&&(this.horizontal=!1)),e}createDataField(t,n){n.horizontal=Array.isArray(null==n?void 0:n.horizontal)?n.horizontal:[],n.vertical=Array.isArray(null==n?void 0:n.vertical)?n.vertical:[];const i=this.getPrimaryHeader(n),e=this.getNumberOfCols(n.horizontal,t),a=this.getNumberOfRows(n.vertical,t),o=[],r=[],s=[];n.vertical.forEach(((t,n)=>{r[n]=0,s[n]=[]}));for(let l=0;l<a;l++){const a=[];n.vertical.forEach(((t,n)=>{let i=0;if(s[n].forEach((t=>i+=t)),i<=l){const e=t[l-i+r[n]];if("object"==typeof e){a.push(Object.assign(Object.assign({},e),{asTd:!1,data:{}}));let t=1;if("number"==typeof e.rowSpan&&e.rowSpan>1&&(t=e.rowSpan),s[n].push(t),"number"==typeof e.colSpan&&e.colSpan>1)for(let i=1;i<e.colSpan;i++)s[n+i].push(t);r[n]++}}}));for(let n=0;n<e;n++)!0===this.horizontal?"object"==typeof i[n]&&null!==i[n]&&"string"==typeof i[n].key&&"object"==typeof t[l]&&null!==t[l]&&a.push(Object.assign(Object.assign({},i[n]),{colSpan:void 0,data:t[l],label:t[l][i[n].key],rowSpan:void 0})):"object"==typeof i[l]&&null!==i[l]&&"string"==typeof i[l].key&&"object"==typeof t[n]&&null!==t[n]&&a.push(Object.assign(Object.assign({},i[l]),{colSpan:void 0,data:t[n],label:t[n][i[l].key],rowSpan:void 0}));o.push(a)}if(0===t.length){let t=0,i=0;Array.isArray(n.horizontal)&&n.horizontal.length>0&&n.horizontal[0].forEach((n=>{t+=n.colSpan||1})),Array.isArray(n.vertical)&&n.vertical.length>0&&(t-=n.vertical.length,n.vertical[0].forEach((t=>{i+=t.rowSpan||1})));const e={colSpan:t,label:"Es sind keine Einträge vorhanden.",render:void 0,rowSpan:Math.max(i,1)};0===o.length?o.push([e]):o[0].push(e)}return o}selectDisplayedData(t,n,i){return"number"==typeof n&&n>0&&"number"==typeof i&&i>0?(this.pageStartSlice=n*(i-1),this.pageEndSlice=n*i>t.length?t.length:n*i,t.slice(this.pageStartSlice,this.pageEndSlice)):(this.pageStartSlice=0,this.pageEndSlice=t.length,t)}cellRender(t,n){const i=setTimeout((()=>{if(clearTimeout(i),"function"==typeof t.render&&n instanceof HTMLElement){const i=t.render(n,{asTd:t.asTd,label:t.label,textAlign:t.textAlign,width:t.width},t.data,this.state._data);"string"==typeof i&&(n.innerHTML=i)}}),50)}render(){var t,n;const i=this.selectDisplayedData(this.state._sortedData,this.showPagination?null!==(n=null===(t=this.state._pagination)||void 0===t?void 0:t._pageSize)&&void 0!==n?n:10:this.state._sortedData.length,this.state._pagination._page||1),e=this.createDataField(i,this.state._headers);return index.h(index.Host,null,index.h("div",{tabindex:"0"},index.h("table",{style:{minWidth:this.state._minWidth}},index.h("caption",null,this.state._caption),Array.isArray(this.state._headers.horizontal)&&index.h("thead",null,this.state._headers.horizontal.map((t=>index.h("tr",null,t.map((t=>!0===t.asTd?index.h("td",{class:{[t.textAlign]:"string"==typeof t.textAlign&&t.textAlign.length>0},colSpan:t.colSpan,rowSpan:t.rowSpan,style:{textAlign:t.textAlign,width:t.width},ref:"function"==typeof t.render?n=>{this.cellRender(t,n)}:void 0,innerHTML:"function"!=typeof t.render?t.label:""}):index.h("th",{scope:"number"==typeof t.colSpan&&t.colSpan>1?"colgroup":"col",colSpan:t.colSpan,rowSpan:t.rowSpan,style:{width:t.width},"aria-sort":"function"==typeof t.sort?"NOS"===this.sortDirections.get(t.sort)||void 0===this.sortDirections.get(t.sort)?"none":"ASC"===this.sortDirections.get(t.sort)?"ascending":"descending":void 0},index.h("div",{class:"w-full flex gap-1 items-center"},index.h("div",{class:{"w-full":!0,[t.textAlign]:"string"==typeof t.textAlign&&t.textAlign.length>0},innerHTML:t.label,style:{textAlign:t.textAlign}}),"function"==typeof t.sort&&index.h("kol-button",{exportparts:"button,ghost",_ariaLabel:"Sortierung von "+t.label+" ändern",_icon:"NOS"===this.sortDirections.get(t.sort)||void 0===this.sortDirections.get(t.sort)?"fas fa-sort":"ASC"===this.sortDirections.get(t.sort)?"fas fa-sort-up":"fas fa-sort-down",_iconOnly:!0,_label:"Sortierung von "+t.label+" ändern",_on:{onClick:()=>{if("function"==typeof t.sort){switch(this.sortFunction=t.sort,this.sortDirections.get(this.sortFunction)){case"ASC":this.sortDirections.set(this.sortFunction,"DESC");break;case"DESC":this.sortDirections.set(this.sortFunction,"NOS");break;default:this.sortDirections.set(this.sortFunction,"ASC")}this.updateSortedData()}}},_variant:"ghost"}))))))))),index.h("tbody",null,e.map(((t,n)=>index.h("tr",{key:`row-${n}`},t.map((t=>!1===t.asTd?index.h("th",{scope:"number"==typeof t.rowSpan&&t.rowSpan>1?"rowgroup":"row",colSpan:t.colSpan,rowSpan:t.rowSpan,style:{width:t.width},"aria-sort":"function"==typeof t.sort?"NOS"===this.sortDirections.get(t.sort)||void 0===this.sortDirections.get(t.sort)?"none":"ASC"===this.sortDirections.get(t.sort)?"ascending":"descending":void 0},index.h("div",{class:"w-full flex gap-1 items-center"},index.h("div",{class:{"w-full":!0,[t.textAlign]:"string"==typeof t.textAlign&&t.textAlign.length>0},innerHTML:t.label,style:{textAlign:t.textAlign}}),"function"==typeof t.sort&&index.h("kol-button",{exportparts:"button,ghost",_ariaLabel:"Sortierung von "+t.label+" ändern",_icon:"NOS"===this.sortDirections.get(t.sort)||void 0===this.sortDirections.get(t.sort)?"fas fa-sort":"ASC"===this.sortDirections.get(t.sort)?"fas fa-sort-up":"fas fa-sort-down",_iconOnly:!0,_label:"Sortierung von "+t.label+" ändern",_on:{onClick:()=>{if("function"==typeof t.sort){switch(this.sortFunction=t.sort,this.sortDirections.get(this.sortFunction)){case"ASC":this.sortDirections.set(this.sortFunction,"DESC");break;case"DESC":this.sortDirections.set(this.sortFunction,"NOS");break;default:this.sortDirections.set(this.sortFunction,"ASC")}this.updateSortedData()}}},_variant:"ghost"}))):index.h("td",{class:{[t.textAlign]:"string"==typeof t.textAlign&&t.textAlign.length>0},colSpan:t.colSpan,rowSpan:t.rowSpan,style:{textAlign:t.textAlign,width:t.width},ref:"function"==typeof t.render?n=>{this.cellRender(t,n)}:void 0,innerHTML:"function"!=typeof t.render?t.label:""}))))))))),this.pageEndSlice>0&&this.showPagination&&index.h("div",null,index.h("span",null,"Einträge ",this.pageEndSlice>0?this.pageStartSlice+1:0," bis ",this.pageEndSlice," von"," ",this.state._pagination._total||(Array.isArray(this.state._data)?this.state._data.length:0)," angezeigt"),index.h("div",null,index.h("kol-pagination",{_boundaryCount:this.state._pagination._boundaryCount,_customClass:this.state._pagination._customClass,_on:this.handlePagination,_page:this.state._pagination._page,_pageSize:this.state._pagination._pageSize,_pageSizeOptions:this.state._pagination._pageSizeOptions||PAGINATION_OPTIONS,_siblingCount:this.state._pagination._siblingCount,_tooltipAlign:"bottom",_total:this.state._pagination._total||this.state._data.length}))))}static get watchers(){return{_caption:["validateCaption"],_data:["validateData"],_headers:["validateHeaders"],_minWidth:["validateMinWidth"],_pagination:["validatePagination"]}}};KolTable.style={default:defaultStyleCss},exports.kol_table=KolTable;
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{a as setState,w as watchString,t as emptyStringByArrayHandler,u as parseJson,j as watchValidator,v as objectObjectHandler}from"./prop.validators.js";import{d as defineCustomElement$c}from"./component.js";import{d as defineCustomElement$2,a as defineCustomElement$9,b as defineCustomElement$b}from"./component2.js";import{d as defineCustomElement$a}from"./shadow.js";import{d as defineCustomElement$8}from"./component4.js";import{d as defineCustomElement$7}from"./component5.js";import{d as defineCustomElement$6}from"./component7.js";import{d as defineCustomElement$5}from"./component11.js";import{d as defineCustomElement$4}from"./component12.js";import{d as defineCustomElement$3}from"./component13.js";const defaultStyleCss='/* windicss-touch: 1639175625181 */\n/* windicss-touch: 1649810622229 */\n/* windicss layer base */\n*, ::before, ::after {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n border-width: 0;\n border-style: solid;\n border-color: var(--kolibri-border-color);\n}\n* {\n --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: var(--kolibri-color);\n --tw-ring-color: rgba(undefined, 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n}\n:root {\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n}\n:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n:-moz-ui-invalid {\n box-shadow: none;\n}\n::moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n}\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\n[type=\'search\'] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\nabbr[title] {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\na {\n color: inherit;\n text-decoration: inherit;\n}\nbody {\n margin: 0;\n font-family: inherit;\n line-height: inherit;\n}\nb {\n font-weight: bolder;\n}\nbutton, select {\n text-transform: none;\n}\nbutton, [type=\'button\'], [type=\'reset\'], [type=\'submit\'] {\n -webkit-appearance: button;\n}\nbutton {\n background-color: transparent;\n background-image: none;\n}\nbutton, [role="button"] {\n cursor: pointer;\n}\ncode {\n font-size: 1em;\n font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;\n}\nfieldset {\n margin: 0;\n padding: 0;\n}\nhtml {\n -webkit-text-size-adjust: 100%;\n font-family: ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";\n line-height: 1.5;\n}\nh1, p, h2, h3, h4, h5, h6 {\n margin: 0;\n}\nh1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n}\ninput, button, optgroup, select, textarea {\n font-family: inherit;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n padding: 0;\n line-height: inherit;\n color: inherit;\n}\ninput::placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput::webkit-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput::-moz-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput:-ms-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput::-ms-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\nlegend {\n padding: 0;\n}\nprogress {\n vertical-align: baseline;\n}\nsmall {\n font-size: 80%;\n}\nsvg {\n display: block;\n vertical-align: middle;\n}\ntable {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n}\ntextarea {\n resize: vertical;\n}\ntextarea::placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ntextarea::webkit-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ntextarea::-moz-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ntextarea:-ms-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ntextarea::-ms-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\nul, ol {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n/* windicss layer components */\n/* windicss layer utilities */\n.container {\n width: 100%;\n}\n@media (min-width: 640px) {\n .container {\n max-width: 640px;\n }\n}\n@media (min-width: 768px) {\n .container {\n max-width: 768px;\n }\n}\n@media (min-width: 1024px) {\n .container {\n max-width: 1024px;\n }\n}\n@media (min-width: 1280px) {\n .container {\n max-width: 1280px;\n }\n}\n@media (min-width: 1536px) {\n .container {\n max-width: 1536px;\n }\n}\n.bg-normal {\n background-color: var(--kolibri-color-normal);\n}\n.bg-white {\n --tw-bg-opacity: 1;\n background-color: rgba(255, 255, 255, var(--tw-bg-opacity));\n}\n.bg-spin-1 {\n background-color: var(--kolibri-color-spin-1);\n}\n.bg-spin-2 {\n background-color: var(--kolibri-color-spin-2);\n}\n.bg-spin-3 {\n background-color: var(--kolibri-color-spin-3);\n}\n.rounded {\n border-radius: var(--kolibri-border-radius);\n}\n.border-1 {\n border-width: 1px;\n}\n.cursor-pointer {\n cursor: pointer;\n}\n.block {\n display: block;\n}\n.inline-block {\n display: inline-block;\n}\n.flex {\n display: -webkit-box;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n}\n.inline-flex {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: -webkit-inline-flex;\n display: inline-flex;\n}\n.table {\n display: table;\n}\n.grid {\n display: -ms-grid;\n display: grid;\n}\n.hidden {\n display: none;\n}\n.flex-wrap {\n -ms-flex-wrap: wrap;\n -webkit-flex-wrap: wrap;\n flex-wrap: wrap;\n}\n.items-center {\n -webkit-box-align: center;\n -ms-flex-align: center;\n -webkit-align-items: center;\n align-items: center;\n}\n.content-center {\n -ms-flex-line-pack: center;\n -webkit-align-content: center;\n align-content: center;\n}\n.float-left {\n float: left;\n}\n.font-80 {\n font-weight: 80;\n}\n.font-60 {\n font-weight: 60;\n}\n.h-full {\n height: 100%;\n}\n.h-0 {\n height: 0px;\n}\n.h-0\\.41c-2\\.42\\2c 0-4\\.82-1\\.57-4\\.82-3\\.58c0\\.05-0\\.98\\2c 0\\.43-1\\.91\\2c 1\\.07-2\\.65c0\\.3\\2c 0\\.05\\2c 0\\.61\\2c 0\\.09\\2c 0\\.92\\2c 0\\.09c1\\.1\\2c 0\\2c 1\\.69-0\\.58\\2c 1\\.74-1\\.16 {\n height: 0.29rem;\n}\n.text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem;\n}\n.text-2xl {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n.text-lg {\n font-size: 1.125rem;\n line-height: 1.75rem;\n}\n.leading-normal {\n line-height: 1.5;\n}\n.list-none {\n list-style-type: none;\n}\n.list-disc {\n list-style-type: disc;\n}\n.list-decimal {\n list-style-type: decimal;\n}\n.mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n.mb-1 {\n margin-bottom: calc(1 * var(--kolibri-spacing));\n}\n.mr-2 {\n margin-right: calc(2 * var(--kolibri-spacing));\n}\n.ml-2 {\n margin-left: calc(2 * var(--kolibri-spacing));\n}\n.mt-2 {\n margin-top: calc(2 * var(--kolibri-spacing));\n}\n.mt-4 {\n margin-top: calc(4 * var(--kolibri-spacing));\n}\n.outline {\n outline-style: solid;\n}\n.overflow-hidden {\n overflow: hidden;\n}\n.overflow-y-visible {\n overflow-y: visible;\n}\n.p-2 {\n padding: calc(2 * var(--kolibri-spacing));\n}\n.p-4 {\n padding: calc(4 * var(--kolibri-spacing));\n}\n.px {\n padding-left: 1px;\n padding-right: 1px;\n}\n.py-2 {\n padding-top: calc(2 * var(--kolibri-spacing));\n padding-bottom: calc(2 * var(--kolibri-spacing));\n}\n.pl-8 {\n padding-left: 2rem;\n}\n.pb-2 {\n padding-bottom: calc(2 * var(--kolibri-spacing));\n}\n.tab {\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n}\n.absolute {\n position: absolute;\n}\n.text-center {\n text-align: center;\n}\n.text-normal {\n color: var(--kolibri-color-normal);\n}\n.hover\\:text-primary:hover {\n color: var(--kolibri-color-primary);\n}\n.italic {\n font-style: italic;\n}\n.underline {\n -webkit-text-decoration-line: underline;\n text-decoration-line: underline;\n}\n.indent {\n text-indent: 1.5rem;\n}\n.visible {\n visibility: visible;\n}\n.w-full {\n width: 100%;\n}\n.w-4\\/5 {\n width: 80%;\n}\n.z-50 {\n z-index: 50;\n}\n.gap-1 {\n grid-gap: calc(1 * var(--kolibri-spacing));\n gap: calc(1 * var(--kolibri-spacing));\n}\n.gap-2 {\n grid-gap: calc(2 * var(--kolibri-spacing));\n gap: calc(2 * var(--kolibri-spacing));\n}\n.grid-flow-col {\n grid-auto-flow: column;\n}\n.transform {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-rotate: 0;\n --tw-rotate-x: 0;\n --tw-rotate-y: 0;\n --tw-rotate-z: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-scale-z: 1;\n -webkit-transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));\n -ms-transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));\n transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));\n}\n.animate {\n -webkit-animation-iteration-count: 1;\n animation-iteration-count: 1;\n}\n.filter {\n --tw-blur: var(--tw-empty,/*!*/ /*!*/);\n --tw-brightness: var(--tw-empty,/*!*/ /*!*/);\n --tw-contrast: var(--tw-empty,/*!*/ /*!*/);\n --tw-grayscale: var(--tw-empty,/*!*/ /*!*/);\n --tw-hue-rotate: var(--tw-empty,/*!*/ /*!*/);\n --tw-invert: var(--tw-empty,/*!*/ /*!*/);\n --tw-saturate: var(--tw-empty,/*!*/ /*!*/);\n --tw-sepia: var(--tw-empty,/*!*/ /*!*/);\n --tw-drop-shadow: var(--tw-empty,/*!*/ /*!*/);\n -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n.blur {\n -webkit-backdrop-filter: blur(8px);\n backdrop-filter: blur(8px);\n}\n:host * {\n -ms-hyphens: var(--kolibri-hyphens);\n -webkit-hyphens: var(--kolibri-hyphens);\n hyphens: var(--kolibri-hyphens);\n font-family: var(--kolibri-font-family);\n line-height: var(--kolibri-line-height);\n word-break: break-word;\n}\n\n:host {\n overflow: hidden;\n}\n:host > div {\n overflow-x: auto;\n border-radius: var(--kolibri-border-radius);\n border-style: solid;\n border-width: 1px;\n}\n:host > div table {\n border: 0;\n width: 100%;\n}\n:host > div table tr {\n border-top-style: solid;\n border-top-width: 1px;\n padding-top: calc(1 * var(--kolibri-spacing));\n padding-bottom: calc(1 * var(--kolibri-spacing));\n padding-left: calc(2 * var(--kolibri-spacing));\n padding-right: calc(2 * var(--kolibri-spacing));\n}\n:host > div table tr th, :host > div table tr td {\n border-right-style: solid;\n border-right-width: 1px;\n padding-top: calc(1 * var(--kolibri-spacing));\n padding-bottom: calc(1 * var(--kolibri-spacing));\n padding-left: calc(2 * var(--kolibri-spacing));\n padding-right: calc(2 * var(--kolibri-spacing));\n}\n:host > div table tr th:last-child,\n:host > div table tr td:last-child {\n border: 0;\n}\n:host > div table tr th, :host > div table tr .th {\n --tw-bg-opacity: 1;\n background-color: rgba(229, 231, 235, var(--tw-bg-opacity));\n}\n:host > div table tr:nth-child(even) {\n --tw-bg-opacity: 1;\n background-color: rgba(243, 244, 246, var(--tw-bg-opacity));\n}\n:host > div table tr:nth-child(odd) {\n @apply white;\n}\n:host > div.pagination {\n border-style: none;\n display: -ms-grid;\n display: grid;\n -webkit-box-align: center;\n -ms-flex-align: center;\n -webkit-align-items: center;\n align-items: center;\n -ms-flex-line-pack: center;\n -webkit-align-content: center;\n align-content: center;\n padding-top: calc(2 * var(--kolibri-spacing));\n padding-left: calc(1 * var(--kolibri-spacing));\n padding-right: calc(1 * var(--kolibri-spacing));\n width: 100%;\n grid-gap: calc(2 * var(--kolibri-spacing));\n gap: calc(2 * var(--kolibri-spacing));\n grid-auto-flow: column;\n}\n:host > div.pagination > div::last-child {\n display: -webkit-box;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n -webkit-align-items: center;\n align-items: center;\n -ms-grid-column-align: end;\n justify-self: end;\n grid-gap: calc(2 * var(--kolibri-spacing));\n gap: calc(2 * var(--kolibri-spacing));\n}',PAGINATION_OPTIONS=[10,20,50,100],KolTable$1=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.horizontal=!0,this.sortDirections=new Map,this.showPagination=!1,this.pageStartSlice=0,this.pageEndSlice=10,this.handlePagination={onClick:(t,n)=>{var e;"function"==typeof(null===(e=this.state._pagination._on)||void 0===e?void 0:e.onClick)&&this.state._pagination._on.onClick(t,n),setState(this,"_pagination",Object.assign(Object.assign({},this.state._pagination),{_page:n}))},onChangePage:(t,n)=>{var e;"function"==typeof(null===(e=this.state._pagination._on)||void 0===e?void 0:e.onChangePage)&&this.state._pagination._on.onChangePage(t,n),setState(this,"_pagination",Object.assign(Object.assign({},this.state._pagination),{_page:n}))},onChangePageSize:(t,n)=>{var e;"function"==typeof(null===(e=this.state._pagination._on)||void 0===e?void 0:e.onChangePageSize)&&this.state._pagination._on.onChangePageSize(t,n),setState(this,"_pagination",Object.assign(Object.assign({},this.state._pagination),{_pageSize:n})),setState(this,"_pageSize",n)}},this.beforePatchPagination=(t,n,e,i)=>{"_pagination"===i&&(this.showPagination=!0===t||""===t||"object"==typeof t&&null!==t)},this.updateSortedData=()=>{let t=this.state._data;if("function"==typeof this.sortFunction)switch(this.sortDirections.get(this.sortFunction)){case"NOS":t=[...this.state._data];break;case"ASC":t=this.sortFunction([...this.state._data]);break;default:t=this.sortFunction([...this.state._data]).reverse()}setState(this,"_sortedData",t)},this._caption=void 0,this._data=void 0,this._headers=void 0,this._minWidth=void 0,this._pagination=void 0,this.state={_caption:"",_data:[],_headers:{horizontal:[],vertical:[]},_pagination:{_page:1,_pageSize:10,_total:0},_sortedData:[]}}validateCaption(t){watchString(this,"_caption",t,{required:!0})}validateData(t){emptyStringByArrayHandler(t,(()=>{objectObjectHandler(t,(()=>{void 0===t&&(t=[]);try{t=parseJson(t)}catch(t){}Array.isArray(t)&&void 0===t.find((t=>!("object"==typeof t&&null!==t)))&&setState(this,"_data",t,{afterPatch:()=>{const t=setTimeout((()=>{clearTimeout(t),this.updateSortedData()}))}})}))}))}validateHeaders(t){emptyStringByArrayHandler(t,(()=>{objectObjectHandler(t,(()=>{try{t=parseJson(t)}catch(t){}watchValidator(this,"_headers",(t=>"object"==typeof t&&null!==t),new Set(["KoliBriTableHeaders"]),t,{hooks:{beforePatch:t=>{var n;null===(n=t.horizontal)||void 0===n||n.forEach((t=>{t.forEach((t=>{"function"==typeof t.sort&&"string"==typeof t.sortDirection&&this.sortDirections.set(t.sort,t.sortDirection)}))}))}}})}))}))}validateMinWidth(t){watchString(this,"_minWidth",t,{defaultValue:void 0})}validatePagination(t){try{t=parseJson(t)}catch(t){}watchValidator(this,"_pagination",(()=>!0),new Set(["boolean","KoliBriTablePagination"]),t,{hooks:{beforePatch:this.beforePatchPagination}})}componentWillLoad(){this.validateCaption(this._caption),this.validateData(this._data),this.validateHeaders(this._headers),this.validateMinWidth(this._minWidth),this.validatePagination(this._pagination)}getNumberOfCols(t,n){let e=0;return t.forEach((t=>{let n=0;t.forEach((t=>{var e;return n+=null!==(e=t.colSpan)&&void 0!==e?e:1})),e<n&&(e=n)})),0===e&&(e=n.length),e}getNumberOfRows(t,n){let e=0;return t.forEach((t=>{let n=0;t.forEach((t=>{var e;return n+=null!==(e=t.rowSpan)&&void 0!==e?e:1})),e<n&&(e=n)})),0===e&&(e=n.length),e}filterHeaderKeys(t){const n=[];return t.forEach((t=>{t.forEach((t=>{"string"==typeof t.key&&n.push(t)}))})),n}getPrimaryHeader(t){var n,e;let i=this.filterHeaderKeys(null!==(n=t.horizontal)&&void 0!==n?n:[]);return this.horizontal=!0,0===i.length&&(i=this.filterHeaderKeys(null!==(e=t.vertical)&&void 0!==e?e:[]),i.length>0&&(this.horizontal=!1)),i}createDataField(t,n){n.horizontal=Array.isArray(null==n?void 0:n.horizontal)?n.horizontal:[],n.vertical=Array.isArray(null==n?void 0:n.vertical)?n.vertical:[];const e=this.getPrimaryHeader(n),i=this.getNumberOfCols(n.horizontal,t),a=this.getNumberOfRows(n.vertical,t),o=[],r=[],s=[];n.vertical.forEach(((t,n)=>{r[n]=0,s[n]=[]}));for(let l=0;l<a;l++){const a=[];n.vertical.forEach(((t,n)=>{let e=0;if(s[n].forEach((t=>e+=t)),e<=l){const i=t[l-e+r[n]];if("object"==typeof i){a.push(Object.assign(Object.assign({},i),{asTd:!1,data:{}}));let t=1;if("number"==typeof i.rowSpan&&i.rowSpan>1&&(t=i.rowSpan),s[n].push(t),"number"==typeof i.colSpan&&i.colSpan>1)for(let e=1;e<i.colSpan;e++)s[n+e].push(t);r[n]++}}}));for(let n=0;n<i;n++)!0===this.horizontal?"object"==typeof e[n]&&null!==e[n]&&"string"==typeof e[n].key&&"object"==typeof t[l]&&null!==t[l]&&a.push(Object.assign(Object.assign({},e[n]),{colSpan:void 0,data:t[l],label:t[l][e[n].key],rowSpan:void 0})):"object"==typeof e[l]&&null!==e[l]&&"string"==typeof e[l].key&&"object"==typeof t[n]&&null!==t[n]&&a.push(Object.assign(Object.assign({},e[l]),{colSpan:void 0,data:t[n],label:t[n][e[l].key],rowSpan:void 0}));o.push(a)}if(0===t.length){let t=0,e=0;Array.isArray(n.horizontal)&&n.horizontal.length>0&&n.horizontal[0].forEach((n=>{t+=n.colSpan||1})),Array.isArray(n.vertical)&&n.vertical.length>0&&(t-=n.vertical.length,n.vertical[0].forEach((t=>{e+=t.rowSpan||1})));const i={colSpan:t,label:"Es sind keine Einträge vorhanden.",render:()=>"Es sind keine Einträge vorhanden.",rowSpan:Math.max(e,1)};0===o.length?o.push([i]):o[0].push(i)}return o}selectDisplayedData(t,n,e){return"number"==typeof n&&n>0&&"number"==typeof e&&e>0?(this.pageStartSlice=n*(e-1),this.pageEndSlice=n*e>t.length?t.length:n*e,t.slice(this.pageStartSlice,this.pageEndSlice)):(this.pageStartSlice=0,this.pageEndSlice=t.length,t)}cellRender(t,n){const e=setTimeout((()=>{if(clearTimeout(e),"function"==typeof t.render&&n instanceof HTMLElement){const e=t.render(n,{asTd:t.asTd,label:t.label,textAlign:t.textAlign,width:t.width},t.data,this.state._data);"string"==typeof e&&(n.innerHTML=e)}}),50)}render(){var t,n;const e=this.selectDisplayedData(this.state._sortedData,this.showPagination?null!==(n=null===(t=this.state._pagination)||void 0===t?void 0:t._pageSize)&&void 0!==n?n:10:this.state._sortedData.length,this.state._pagination._page||1),i=this.createDataField(e,this.state._headers);return h(Host,null,h("div",{tabindex:"0"},h("table",{style:{minWidth:this.state._minWidth}},h("caption",null,this.state._caption),Array.isArray(this.state._headers.horizontal)&&h("thead",null,this.state._headers.horizontal.map((t=>h("tr",null,t.map((t=>!0===t.asTd?h("td",{class:{[t.textAlign]:"string"==typeof t.textAlign&&t.textAlign.length>0},colSpan:t.colSpan,rowSpan:t.rowSpan,style:{textAlign:t.textAlign,width:t.width},ref:"function"==typeof t.render?n=>{this.cellRender(t,n)}:void 0,innerHTML:"function"!=typeof t.render?t.label:""}):h("th",{scope:"number"==typeof t.colSpan&&t.colSpan>1?"colgroup":"col",colSpan:t.colSpan,rowSpan:t.rowSpan,style:{width:t.width},"aria-sort":"function"==typeof t.sort?"NOS"===this.sortDirections.get(t.sort)||void 0===this.sortDirections.get(t.sort)?"none":"ASC"===this.sortDirections.get(t.sort)?"ascending":"descending":void 0},h("div",{class:"w-full flex gap-1 items-center"},h("div",{class:{"w-full":!0,[t.textAlign]:"string"==typeof t.textAlign&&t.textAlign.length>0},innerHTML:t.label,style:{textAlign:t.textAlign}}),"function"==typeof t.sort&&h("kol-button",{exportparts:"button,ghost",_ariaLabel:"Sortierung von "+t.label+" ändern",_icon:"NOS"===this.sortDirections.get(t.sort)||void 0===this.sortDirections.get(t.sort)?"fas fa-sort":"ASC"===this.sortDirections.get(t.sort)?"fas fa-sort-up":"fas fa-sort-down",_iconOnly:!0,_label:"Sortierung von "+t.label+" ändern",_on:{onClick:()=>{if("function"==typeof t.sort){switch(this.sortFunction=t.sort,this.sortDirections.get(this.sortFunction)){case"ASC":this.sortDirections.set(this.sortFunction,"DESC");break;case"DESC":this.sortDirections.set(this.sortFunction,"NOS");break;default:this.sortDirections.set(this.sortFunction,"ASC")}this.updateSortedData()}}},_variant:"ghost"}))))))))),h("tbody",null,i.map(((t,n)=>h("tr",{key:`row-${n}`},t.map((t=>!1===t.asTd?h("th",{scope:"number"==typeof t.rowSpan&&t.rowSpan>1?"rowgroup":"row",colSpan:t.colSpan,rowSpan:t.rowSpan,style:{width:t.width},"aria-sort":"function"==typeof t.sort?"NOS"===this.sortDirections.get(t.sort)||void 0===this.sortDirections.get(t.sort)?"none":"ASC"===this.sortDirections.get(t.sort)?"ascending":"descending":void 0},h("div",{class:"w-full flex gap-1 items-center"},h("div",{class:{"w-full":!0,[t.textAlign]:"string"==typeof t.textAlign&&t.textAlign.length>0},innerHTML:t.label,style:{textAlign:t.textAlign}}),"function"==typeof t.sort&&h("kol-button",{exportparts:"button,ghost",_ariaLabel:"Sortierung von "+t.label+" ändern",_icon:"NOS"===this.sortDirections.get(t.sort)||void 0===this.sortDirections.get(t.sort)?"fas fa-sort":"ASC"===this.sortDirections.get(t.sort)?"fas fa-sort-up":"fas fa-sort-down",_iconOnly:!0,_label:"Sortierung von "+t.label+" ändern",_on:{onClick:()=>{if("function"==typeof t.sort){switch(this.sortFunction=t.sort,this.sortDirections.get(this.sortFunction)){case"ASC":this.sortDirections.set(this.sortFunction,"DESC");break;case"DESC":this.sortDirections.set(this.sortFunction,"NOS");break;default:this.sortDirections.set(this.sortFunction,"ASC")}this.updateSortedData()}}},_variant:"ghost"}))):h("td",{class:{[t.textAlign]:"string"==typeof t.textAlign&&t.textAlign.length>0},colSpan:t.colSpan,rowSpan:t.rowSpan,style:{textAlign:t.textAlign,width:t.width},ref:"function"==typeof t.render?n=>{this.cellRender(t,n)}:void 0,innerHTML:"function"!=typeof t.render?t.label:""}))))))))),this.pageEndSlice>0&&this.showPagination&&h("div",null,h("span",null,"Einträge ",this.pageEndSlice>0?this.pageStartSlice+1:0," bis ",this.pageEndSlice," von"," ",this.state._pagination._total||(Array.isArray(this.state._data)?this.state._data.length:0)," angezeigt"),h("div",null,h("kol-pagination",{_boundaryCount:this.state._pagination._boundaryCount,_customClass:this.state._pagination._customClass,_on:this.handlePagination,_page:this.state._pagination._page,_pageSize:this.state._pagination._pageSize,_pageSizeOptions:this.state._pagination._pageSizeOptions||PAGINATION_OPTIONS,_siblingCount:this.state._pagination._siblingCount,_tooltipAlign:"bottom",_total:this.state._pagination._total||this.state._data.length}))))}static get watchers(){return{_caption:["validateCaption"],_data:["validateData"],_headers:["validateHeaders"],_minWidth:["validateMinWidth"],_pagination:["validatePagination"]}}static get style(){return{default:defaultStyleCss}}},[33,"kol-table",{_caption:[1],_data:[1],_headers:[1],_minWidth:[1,"_min-width"],_pagination:[8],state:[32]}]);function defineCustomElement$1(){if("undefined"==typeof customElements)return;["kol-table","kol-alert","kol-badge","kol-button","kol-button-wc","kol-heading-wc","kol-icon","kol-input","kol-pagination","kol-select","kol-span-wc","kol-tooltip"].forEach((t=>{switch(t){case"kol-table":customElements.get(t)||customElements.define(t,KolTable$1);break;case"kol-alert":customElements.get(t)||defineCustomElement$c();break;case"kol-badge":customElements.get(t)||defineCustomElement$b();break;case"kol-button":customElements.get(t)||defineCustomElement$a();break;case"kol-button-wc":customElements.get(t)||defineCustomElement$9();break;case"kol-heading-wc":customElements.get(t)||defineCustomElement$8();break;case"kol-icon":customElements.get(t)||defineCustomElement$7();break;case"kol-input":customElements.get(t)||defineCustomElement$6();break;case"kol-pagination":customElements.get(t)||defineCustomElement$5();break;case"kol-select":customElements.get(t)||defineCustomElement$4();break;case"kol-span-wc":customElements.get(t)||defineCustomElement$3();break;case"kol-tooltip":customElements.get(t)||defineCustomElement$2()}}))}const KolTable=KolTable$1,defineCustomElement=defineCustomElement$1;export{KolTable,defineCustomElement};
4
+ import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{a as setState,w as watchString,t as emptyStringByArrayHandler,u as parseJson,j as watchValidator,v as objectObjectHandler}from"./prop.validators.js";import{d as defineCustomElement$c}from"./component.js";import{d as defineCustomElement$2,a as defineCustomElement$9,b as defineCustomElement$b}from"./component2.js";import{d as defineCustomElement$a}from"./shadow.js";import{d as defineCustomElement$8}from"./component4.js";import{d as defineCustomElement$7}from"./component5.js";import{d as defineCustomElement$6}from"./component7.js";import{d as defineCustomElement$5}from"./component11.js";import{d as defineCustomElement$4}from"./component12.js";import{d as defineCustomElement$3}from"./component13.js";const defaultStyleCss='/* windicss-touch: 1639175625181 */\n/* windicss-touch: 1649810622229 */\n/* windicss layer base */\n*, ::before, ::after {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n border-width: 0;\n border-style: solid;\n border-color: var(--kolibri-border-color);\n}\n* {\n --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: var(--kolibri-color);\n --tw-ring-color: rgba(undefined, 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n}\n:root {\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n}\n:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n:-moz-ui-invalid {\n box-shadow: none;\n}\n::moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n}\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\n[type=\'search\'] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\nabbr[title] {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\na {\n color: inherit;\n text-decoration: inherit;\n}\nbody {\n margin: 0;\n font-family: inherit;\n line-height: inherit;\n}\nb {\n font-weight: bolder;\n}\nbutton, select {\n text-transform: none;\n}\nbutton, [type=\'button\'], [type=\'reset\'], [type=\'submit\'] {\n -webkit-appearance: button;\n}\nbutton {\n background-color: transparent;\n background-image: none;\n}\nbutton, [role="button"] {\n cursor: pointer;\n}\ncode {\n font-size: 1em;\n font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;\n}\nfieldset {\n margin: 0;\n padding: 0;\n}\nhtml {\n -webkit-text-size-adjust: 100%;\n font-family: ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";\n line-height: 1.5;\n}\nh1, p, h2, h3, h4, h5, h6 {\n margin: 0;\n}\nh1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n}\ninput, button, optgroup, select, textarea {\n font-family: inherit;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n padding: 0;\n line-height: inherit;\n color: inherit;\n}\ninput::placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput::webkit-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput::-moz-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput:-ms-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput::-ms-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\nlegend {\n padding: 0;\n}\nprogress {\n vertical-align: baseline;\n}\nsmall {\n font-size: 80%;\n}\nsvg {\n display: block;\n vertical-align: middle;\n}\ntable {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n}\ntextarea {\n resize: vertical;\n}\ntextarea::placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ntextarea::webkit-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ntextarea::-moz-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ntextarea:-ms-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ntextarea::-ms-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\nul, ol {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n/* windicss layer components */\n/* windicss layer utilities */\n.container {\n width: 100%;\n}\n@media (min-width: 640px) {\n .container {\n max-width: 640px;\n }\n}\n@media (min-width: 768px) {\n .container {\n max-width: 768px;\n }\n}\n@media (min-width: 1024px) {\n .container {\n max-width: 1024px;\n }\n}\n@media (min-width: 1280px) {\n .container {\n max-width: 1280px;\n }\n}\n@media (min-width: 1536px) {\n .container {\n max-width: 1536px;\n }\n}\n.bg-normal {\n background-color: var(--kolibri-color-normal);\n}\n.bg-white {\n --tw-bg-opacity: 1;\n background-color: rgba(255, 255, 255, var(--tw-bg-opacity));\n}\n.bg-spin-1 {\n background-color: var(--kolibri-color-spin-1);\n}\n.bg-spin-2 {\n background-color: var(--kolibri-color-spin-2);\n}\n.bg-spin-3 {\n background-color: var(--kolibri-color-spin-3);\n}\n.rounded {\n border-radius: var(--kolibri-border-radius);\n}\n.border-1 {\n border-width: 1px;\n}\n.cursor-pointer {\n cursor: pointer;\n}\n.block {\n display: block;\n}\n.inline-block {\n display: inline-block;\n}\n.flex {\n display: -webkit-box;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n}\n.inline-flex {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: -webkit-inline-flex;\n display: inline-flex;\n}\n.table {\n display: table;\n}\n.grid {\n display: -ms-grid;\n display: grid;\n}\n.hidden {\n display: none;\n}\n.flex-wrap {\n -ms-flex-wrap: wrap;\n -webkit-flex-wrap: wrap;\n flex-wrap: wrap;\n}\n.items-center {\n -webkit-box-align: center;\n -ms-flex-align: center;\n -webkit-align-items: center;\n align-items: center;\n}\n.content-center {\n -ms-flex-line-pack: center;\n -webkit-align-content: center;\n align-content: center;\n}\n.float-left {\n float: left;\n}\n.font-80 {\n font-weight: 80;\n}\n.font-60 {\n font-weight: 60;\n}\n.h-full {\n height: 100%;\n}\n.h-0 {\n height: 0px;\n}\n.h-0\\.41c-2\\.42\\2c 0-4\\.82-1\\.57-4\\.82-3\\.58c0\\.05-0\\.98\\2c 0\\.43-1\\.91\\2c 1\\.07-2\\.65c0\\.3\\2c 0\\.05\\2c 0\\.61\\2c 0\\.09\\2c 0\\.92\\2c 0\\.09c1\\.1\\2c 0\\2c 1\\.69-0\\.58\\2c 1\\.74-1\\.16 {\n height: 0.29rem;\n}\n.text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem;\n}\n.text-2xl {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n.text-lg {\n font-size: 1.125rem;\n line-height: 1.75rem;\n}\n.leading-normal {\n line-height: 1.5;\n}\n.list-none {\n list-style-type: none;\n}\n.list-disc {\n list-style-type: disc;\n}\n.list-decimal {\n list-style-type: decimal;\n}\n.mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n.mb-1 {\n margin-bottom: calc(1 * var(--kolibri-spacing));\n}\n.mr-2 {\n margin-right: calc(2 * var(--kolibri-spacing));\n}\n.ml-2 {\n margin-left: calc(2 * var(--kolibri-spacing));\n}\n.mt-2 {\n margin-top: calc(2 * var(--kolibri-spacing));\n}\n.mt-4 {\n margin-top: calc(4 * var(--kolibri-spacing));\n}\n.outline {\n outline-style: solid;\n}\n.overflow-hidden {\n overflow: hidden;\n}\n.overflow-y-visible {\n overflow-y: visible;\n}\n.p-2 {\n padding: calc(2 * var(--kolibri-spacing));\n}\n.p-4 {\n padding: calc(4 * var(--kolibri-spacing));\n}\n.px {\n padding-left: 1px;\n padding-right: 1px;\n}\n.py-2 {\n padding-top: calc(2 * var(--kolibri-spacing));\n padding-bottom: calc(2 * var(--kolibri-spacing));\n}\n.pl-8 {\n padding-left: 2rem;\n}\n.pb-2 {\n padding-bottom: calc(2 * var(--kolibri-spacing));\n}\n.tab {\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n}\n.absolute {\n position: absolute;\n}\n.text-center {\n text-align: center;\n}\n.text-normal {\n color: var(--kolibri-color-normal);\n}\n.hover\\:text-primary:hover {\n color: var(--kolibri-color-primary);\n}\n.italic {\n font-style: italic;\n}\n.underline {\n -webkit-text-decoration-line: underline;\n text-decoration-line: underline;\n}\n.indent {\n text-indent: 1.5rem;\n}\n.visible {\n visibility: visible;\n}\n.w-full {\n width: 100%;\n}\n.w-4\\/5 {\n width: 80%;\n}\n.z-50 {\n z-index: 50;\n}\n.gap-1 {\n grid-gap: calc(1 * var(--kolibri-spacing));\n gap: calc(1 * var(--kolibri-spacing));\n}\n.gap-2 {\n grid-gap: calc(2 * var(--kolibri-spacing));\n gap: calc(2 * var(--kolibri-spacing));\n}\n.grid-flow-col {\n grid-auto-flow: column;\n}\n.transform {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-rotate: 0;\n --tw-rotate-x: 0;\n --tw-rotate-y: 0;\n --tw-rotate-z: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-scale-z: 1;\n -webkit-transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));\n -ms-transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));\n transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));\n}\n.animate {\n -webkit-animation-iteration-count: 1;\n animation-iteration-count: 1;\n}\n.filter {\n --tw-blur: var(--tw-empty,/*!*/ /*!*/);\n --tw-brightness: var(--tw-empty,/*!*/ /*!*/);\n --tw-contrast: var(--tw-empty,/*!*/ /*!*/);\n --tw-grayscale: var(--tw-empty,/*!*/ /*!*/);\n --tw-hue-rotate: var(--tw-empty,/*!*/ /*!*/);\n --tw-invert: var(--tw-empty,/*!*/ /*!*/);\n --tw-saturate: var(--tw-empty,/*!*/ /*!*/);\n --tw-sepia: var(--tw-empty,/*!*/ /*!*/);\n --tw-drop-shadow: var(--tw-empty,/*!*/ /*!*/);\n -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n.blur {\n -webkit-backdrop-filter: blur(8px);\n backdrop-filter: blur(8px);\n}\n:host * {\n -ms-hyphens: var(--kolibri-hyphens);\n -webkit-hyphens: var(--kolibri-hyphens);\n hyphens: var(--kolibri-hyphens);\n font-family: var(--kolibri-font-family);\n line-height: var(--kolibri-line-height);\n word-break: break-word;\n}\n\n:host {\n overflow: hidden;\n}\n:host > div {\n overflow-x: auto;\n border-radius: var(--kolibri-border-radius);\n border-style: solid;\n border-width: 1px;\n}\n:host > div table {\n border: 0;\n width: 100%;\n}\n:host > div table tr {\n border-top-style: solid;\n border-top-width: 1px;\n padding-top: calc(1 * var(--kolibri-spacing));\n padding-bottom: calc(1 * var(--kolibri-spacing));\n padding-left: calc(2 * var(--kolibri-spacing));\n padding-right: calc(2 * var(--kolibri-spacing));\n}\n:host > div table tr th, :host > div table tr td {\n border-right-style: solid;\n border-right-width: 1px;\n padding-top: calc(1 * var(--kolibri-spacing));\n padding-bottom: calc(1 * var(--kolibri-spacing));\n padding-left: calc(2 * var(--kolibri-spacing));\n padding-right: calc(2 * var(--kolibri-spacing));\n}\n:host > div table tr th:last-child,\n:host > div table tr td:last-child {\n border: 0;\n}\n:host > div table tr th, :host > div table tr .th {\n --tw-bg-opacity: 1;\n background-color: rgba(229, 231, 235, var(--tw-bg-opacity));\n}\n:host > div table tr:nth-child(even) {\n --tw-bg-opacity: 1;\n background-color: rgba(243, 244, 246, var(--tw-bg-opacity));\n}\n:host > div table tr:nth-child(odd) {\n @apply white;\n}\n:host > div.pagination {\n border-style: none;\n display: -ms-grid;\n display: grid;\n -webkit-box-align: center;\n -ms-flex-align: center;\n -webkit-align-items: center;\n align-items: center;\n -ms-flex-line-pack: center;\n -webkit-align-content: center;\n align-content: center;\n padding-top: calc(2 * var(--kolibri-spacing));\n padding-left: calc(1 * var(--kolibri-spacing));\n padding-right: calc(1 * var(--kolibri-spacing));\n width: 100%;\n grid-gap: calc(2 * var(--kolibri-spacing));\n gap: calc(2 * var(--kolibri-spacing));\n grid-auto-flow: column;\n}\n:host > div.pagination > div::last-child {\n display: -webkit-box;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n -webkit-align-items: center;\n align-items: center;\n -ms-grid-column-align: end;\n justify-self: end;\n grid-gap: calc(2 * var(--kolibri-spacing));\n gap: calc(2 * var(--kolibri-spacing));\n}',PAGINATION_OPTIONS=[10,20,50,100],KolTable$1=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.horizontal=!0,this.sortDirections=new Map,this.showPagination=!1,this.pageStartSlice=0,this.pageEndSlice=10,this.handlePagination={onClick:(t,n)=>{var e;"function"==typeof(null===(e=this.state._pagination._on)||void 0===e?void 0:e.onClick)&&this.state._pagination._on.onClick(t,n),setState(this,"_pagination",Object.assign(Object.assign({},this.state._pagination),{_page:n}))},onChangePage:(t,n)=>{var e;"function"==typeof(null===(e=this.state._pagination._on)||void 0===e?void 0:e.onChangePage)&&this.state._pagination._on.onChangePage(t,n),setState(this,"_pagination",Object.assign(Object.assign({},this.state._pagination),{_page:n}))},onChangePageSize:(t,n)=>{var e;"function"==typeof(null===(e=this.state._pagination._on)||void 0===e?void 0:e.onChangePageSize)&&this.state._pagination._on.onChangePageSize(t,n),setState(this,"_pagination",Object.assign(Object.assign({},this.state._pagination),{_pageSize:n})),setState(this,"_pageSize",n)}},this.beforePatchPagination=(t,n,e,i)=>{"_pagination"===i&&(this.showPagination=!0===t||""===t||"object"==typeof t&&null!==t)},this.updateSortedData=()=>{let t=this.state._data;if("function"==typeof this.sortFunction)switch(this.sortDirections.get(this.sortFunction)){case"NOS":t=[...this.state._data];break;case"ASC":t=this.sortFunction([...this.state._data]);break;default:t=this.sortFunction([...this.state._data]).reverse()}setState(this,"_sortedData",t)},this._caption=void 0,this._data=void 0,this._headers=void 0,this._minWidth=void 0,this._pagination=void 0,this.state={_caption:"",_data:[],_headers:{horizontal:[],vertical:[]},_pagination:{_page:1,_pageSize:10,_total:0},_sortedData:[]}}validateCaption(t){watchString(this,"_caption",t,{required:!0})}validateData(t){emptyStringByArrayHandler(t,(()=>{objectObjectHandler(t,(()=>{void 0===t&&(t=[]);try{t=parseJson(t)}catch(t){}Array.isArray(t)&&void 0===t.find((t=>!("object"==typeof t&&null!==t)))&&setState(this,"_data",t,{afterPatch:()=>{const t=setTimeout((()=>{clearTimeout(t),this.updateSortedData()}))}})}))}))}validateHeaders(t){emptyStringByArrayHandler(t,(()=>{objectObjectHandler(t,(()=>{try{t=parseJson(t)}catch(t){}watchValidator(this,"_headers",(t=>"object"==typeof t&&null!==t),new Set(["KoliBriTableHeaders"]),t,{hooks:{beforePatch:t=>{var n;null===(n=t.horizontal)||void 0===n||n.forEach((t=>{t.forEach((t=>{"function"==typeof t.sort&&"string"==typeof t.sortDirection&&this.sortDirections.set(t.sort,t.sortDirection)}))}))}}})}))}))}validateMinWidth(t){watchString(this,"_minWidth",t,{defaultValue:void 0})}validatePagination(t){try{t=parseJson(t)}catch(t){}watchValidator(this,"_pagination",(()=>!0),new Set(["boolean","KoliBriTablePagination"]),t,{hooks:{beforePatch:this.beforePatchPagination}})}componentWillLoad(){this.validateCaption(this._caption),this.validateData(this._data),this.validateHeaders(this._headers),this.validateMinWidth(this._minWidth),this.validatePagination(this._pagination)}getNumberOfCols(t,n){let e=0;return t.forEach((t=>{let n=0;t.forEach((t=>{var e;return n+=null!==(e=t.colSpan)&&void 0!==e?e:1})),e<n&&(e=n)})),0===e&&(e=n.length),e}getNumberOfRows(t,n){let e=0;return t.forEach((t=>{let n=0;t.forEach((t=>{var e;return n+=null!==(e=t.rowSpan)&&void 0!==e?e:1})),e<n&&(e=n)})),0===e&&(e=n.length),e}filterHeaderKeys(t){const n=[];return t.forEach((t=>{t.forEach((t=>{"string"==typeof t.key&&n.push(t)}))})),n}getPrimaryHeader(t){var n,e;let i=this.filterHeaderKeys(null!==(n=t.horizontal)&&void 0!==n?n:[]);return this.horizontal=!0,0===i.length&&(i=this.filterHeaderKeys(null!==(e=t.vertical)&&void 0!==e?e:[]),i.length>0&&(this.horizontal=!1)),i}createDataField(t,n){n.horizontal=Array.isArray(null==n?void 0:n.horizontal)?n.horizontal:[],n.vertical=Array.isArray(null==n?void 0:n.vertical)?n.vertical:[];const e=this.getPrimaryHeader(n),i=this.getNumberOfCols(n.horizontal,t),a=this.getNumberOfRows(n.vertical,t),o=[],r=[],s=[];n.vertical.forEach(((t,n)=>{r[n]=0,s[n]=[]}));for(let l=0;l<a;l++){const a=[];n.vertical.forEach(((t,n)=>{let e=0;if(s[n].forEach((t=>e+=t)),e<=l){const i=t[l-e+r[n]];if("object"==typeof i){a.push(Object.assign(Object.assign({},i),{asTd:!1,data:{}}));let t=1;if("number"==typeof i.rowSpan&&i.rowSpan>1&&(t=i.rowSpan),s[n].push(t),"number"==typeof i.colSpan&&i.colSpan>1)for(let e=1;e<i.colSpan;e++)s[n+e].push(t);r[n]++}}}));for(let n=0;n<i;n++)!0===this.horizontal?"object"==typeof e[n]&&null!==e[n]&&"string"==typeof e[n].key&&"object"==typeof t[l]&&null!==t[l]&&a.push(Object.assign(Object.assign({},e[n]),{colSpan:void 0,data:t[l],label:t[l][e[n].key],rowSpan:void 0})):"object"==typeof e[l]&&null!==e[l]&&"string"==typeof e[l].key&&"object"==typeof t[n]&&null!==t[n]&&a.push(Object.assign(Object.assign({},e[l]),{colSpan:void 0,data:t[n],label:t[n][e[l].key],rowSpan:void 0}));o.push(a)}if(0===t.length){let t=0,e=0;Array.isArray(n.horizontal)&&n.horizontal.length>0&&n.horizontal[0].forEach((n=>{t+=n.colSpan||1})),Array.isArray(n.vertical)&&n.vertical.length>0&&(t-=n.vertical.length,n.vertical[0].forEach((t=>{e+=t.rowSpan||1})));const i={colSpan:t,label:"Es sind keine Einträge vorhanden.",render:void 0,rowSpan:Math.max(e,1)};0===o.length?o.push([i]):o[0].push(i)}return o}selectDisplayedData(t,n,e){return"number"==typeof n&&n>0&&"number"==typeof e&&e>0?(this.pageStartSlice=n*(e-1),this.pageEndSlice=n*e>t.length?t.length:n*e,t.slice(this.pageStartSlice,this.pageEndSlice)):(this.pageStartSlice=0,this.pageEndSlice=t.length,t)}cellRender(t,n){const e=setTimeout((()=>{if(clearTimeout(e),"function"==typeof t.render&&n instanceof HTMLElement){const e=t.render(n,{asTd:t.asTd,label:t.label,textAlign:t.textAlign,width:t.width},t.data,this.state._data);"string"==typeof e&&(n.innerHTML=e)}}),50)}render(){var t,n;const e=this.selectDisplayedData(this.state._sortedData,this.showPagination?null!==(n=null===(t=this.state._pagination)||void 0===t?void 0:t._pageSize)&&void 0!==n?n:10:this.state._sortedData.length,this.state._pagination._page||1),i=this.createDataField(e,this.state._headers);return h(Host,null,h("div",{tabindex:"0"},h("table",{style:{minWidth:this.state._minWidth}},h("caption",null,this.state._caption),Array.isArray(this.state._headers.horizontal)&&h("thead",null,this.state._headers.horizontal.map((t=>h("tr",null,t.map((t=>!0===t.asTd?h("td",{class:{[t.textAlign]:"string"==typeof t.textAlign&&t.textAlign.length>0},colSpan:t.colSpan,rowSpan:t.rowSpan,style:{textAlign:t.textAlign,width:t.width},ref:"function"==typeof t.render?n=>{this.cellRender(t,n)}:void 0,innerHTML:"function"!=typeof t.render?t.label:""}):h("th",{scope:"number"==typeof t.colSpan&&t.colSpan>1?"colgroup":"col",colSpan:t.colSpan,rowSpan:t.rowSpan,style:{width:t.width},"aria-sort":"function"==typeof t.sort?"NOS"===this.sortDirections.get(t.sort)||void 0===this.sortDirections.get(t.sort)?"none":"ASC"===this.sortDirections.get(t.sort)?"ascending":"descending":void 0},h("div",{class:"w-full flex gap-1 items-center"},h("div",{class:{"w-full":!0,[t.textAlign]:"string"==typeof t.textAlign&&t.textAlign.length>0},innerHTML:t.label,style:{textAlign:t.textAlign}}),"function"==typeof t.sort&&h("kol-button",{exportparts:"button,ghost",_ariaLabel:"Sortierung von "+t.label+" ändern",_icon:"NOS"===this.sortDirections.get(t.sort)||void 0===this.sortDirections.get(t.sort)?"fas fa-sort":"ASC"===this.sortDirections.get(t.sort)?"fas fa-sort-up":"fas fa-sort-down",_iconOnly:!0,_label:"Sortierung von "+t.label+" ändern",_on:{onClick:()=>{if("function"==typeof t.sort){switch(this.sortFunction=t.sort,this.sortDirections.get(this.sortFunction)){case"ASC":this.sortDirections.set(this.sortFunction,"DESC");break;case"DESC":this.sortDirections.set(this.sortFunction,"NOS");break;default:this.sortDirections.set(this.sortFunction,"ASC")}this.updateSortedData()}}},_variant:"ghost"}))))))))),h("tbody",null,i.map(((t,n)=>h("tr",{key:`row-${n}`},t.map((t=>!1===t.asTd?h("th",{scope:"number"==typeof t.rowSpan&&t.rowSpan>1?"rowgroup":"row",colSpan:t.colSpan,rowSpan:t.rowSpan,style:{width:t.width},"aria-sort":"function"==typeof t.sort?"NOS"===this.sortDirections.get(t.sort)||void 0===this.sortDirections.get(t.sort)?"none":"ASC"===this.sortDirections.get(t.sort)?"ascending":"descending":void 0},h("div",{class:"w-full flex gap-1 items-center"},h("div",{class:{"w-full":!0,[t.textAlign]:"string"==typeof t.textAlign&&t.textAlign.length>0},innerHTML:t.label,style:{textAlign:t.textAlign}}),"function"==typeof t.sort&&h("kol-button",{exportparts:"button,ghost",_ariaLabel:"Sortierung von "+t.label+" ändern",_icon:"NOS"===this.sortDirections.get(t.sort)||void 0===this.sortDirections.get(t.sort)?"fas fa-sort":"ASC"===this.sortDirections.get(t.sort)?"fas fa-sort-up":"fas fa-sort-down",_iconOnly:!0,_label:"Sortierung von "+t.label+" ändern",_on:{onClick:()=>{if("function"==typeof t.sort){switch(this.sortFunction=t.sort,this.sortDirections.get(this.sortFunction)){case"ASC":this.sortDirections.set(this.sortFunction,"DESC");break;case"DESC":this.sortDirections.set(this.sortFunction,"NOS");break;default:this.sortDirections.set(this.sortFunction,"ASC")}this.updateSortedData()}}},_variant:"ghost"}))):h("td",{class:{[t.textAlign]:"string"==typeof t.textAlign&&t.textAlign.length>0},colSpan:t.colSpan,rowSpan:t.rowSpan,style:{textAlign:t.textAlign,width:t.width},ref:"function"==typeof t.render?n=>{this.cellRender(t,n)}:void 0,innerHTML:"function"!=typeof t.render?t.label:""}))))))))),this.pageEndSlice>0&&this.showPagination&&h("div",null,h("span",null,"Einträge ",this.pageEndSlice>0?this.pageStartSlice+1:0," bis ",this.pageEndSlice," von"," ",this.state._pagination._total||(Array.isArray(this.state._data)?this.state._data.length:0)," angezeigt"),h("div",null,h("kol-pagination",{_boundaryCount:this.state._pagination._boundaryCount,_customClass:this.state._pagination._customClass,_on:this.handlePagination,_page:this.state._pagination._page,_pageSize:this.state._pagination._pageSize,_pageSizeOptions:this.state._pagination._pageSizeOptions||PAGINATION_OPTIONS,_siblingCount:this.state._pagination._siblingCount,_tooltipAlign:"bottom",_total:this.state._pagination._total||this.state._data.length}))))}static get watchers(){return{_caption:["validateCaption"],_data:["validateData"],_headers:["validateHeaders"],_minWidth:["validateMinWidth"],_pagination:["validatePagination"]}}static get style(){return{default:defaultStyleCss}}},[33,"kol-table",{_caption:[1],_data:[1],_headers:[1],_minWidth:[1,"_min-width"],_pagination:[8],state:[32]}]);function defineCustomElement$1(){if("undefined"==typeof customElements)return;["kol-table","kol-alert","kol-badge","kol-button","kol-button-wc","kol-heading-wc","kol-icon","kol-input","kol-pagination","kol-select","kol-span-wc","kol-tooltip"].forEach((t=>{switch(t){case"kol-table":customElements.get(t)||customElements.define(t,KolTable$1);break;case"kol-alert":customElements.get(t)||defineCustomElement$c();break;case"kol-badge":customElements.get(t)||defineCustomElement$b();break;case"kol-button":customElements.get(t)||defineCustomElement$a();break;case"kol-button-wc":customElements.get(t)||defineCustomElement$9();break;case"kol-heading-wc":customElements.get(t)||defineCustomElement$8();break;case"kol-icon":customElements.get(t)||defineCustomElement$7();break;case"kol-input":customElements.get(t)||defineCustomElement$6();break;case"kol-pagination":customElements.get(t)||defineCustomElement$5();break;case"kol-select":customElements.get(t)||defineCustomElement$4();break;case"kol-span-wc":customElements.get(t)||defineCustomElement$3();break;case"kol-tooltip":customElements.get(t)||defineCustomElement$2()}}))}const KolTable=KolTable$1,defineCustomElement=defineCustomElement$1;export{KolTable,defineCustomElement};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as registerInstance,h,H as Host}from"./index-a9774259.js";import{s as setState,w as watchString,i as emptyStringByArrayHandler,p as parseJson,a as watchValidator,o as objectObjectHandler}from"./prop.validators-82b345aa.js";import"./index.m-86dc8c44.js";import"./a11y.tipps-d591ee77.js";import"./dev.utils-daaf2f39.js";import"./index-d870d3e1.js";const defaultStyleCss='/* windicss-touch: 1639175625181 */\n/* windicss-touch: 1649810622229 */\n/* windicss layer base */\n*, ::before, ::after {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n border-width: 0;\n border-style: solid;\n border-color: var(--kolibri-border-color);\n}\n* {\n --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: var(--kolibri-color);\n --tw-ring-color: rgba(undefined, 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n}\n:root {\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n}\n:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n:-moz-ui-invalid {\n box-shadow: none;\n}\n::moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n}\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\n[type=\'search\'] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\nabbr[title] {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\na {\n color: inherit;\n text-decoration: inherit;\n}\nbody {\n margin: 0;\n font-family: inherit;\n line-height: inherit;\n}\nb {\n font-weight: bolder;\n}\nbutton, select {\n text-transform: none;\n}\nbutton, [type=\'button\'], [type=\'reset\'], [type=\'submit\'] {\n -webkit-appearance: button;\n}\nbutton {\n background-color: transparent;\n background-image: none;\n}\nbutton, [role="button"] {\n cursor: pointer;\n}\ncode {\n font-size: 1em;\n font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;\n}\nfieldset {\n margin: 0;\n padding: 0;\n}\nhtml {\n -webkit-text-size-adjust: 100%;\n font-family: ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";\n line-height: 1.5;\n}\nh1, p, h2, h3, h4, h5, h6 {\n margin: 0;\n}\nh1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n}\ninput, button, optgroup, select, textarea {\n font-family: inherit;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n padding: 0;\n line-height: inherit;\n color: inherit;\n}\ninput::placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput::webkit-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput::-moz-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput:-ms-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput::-ms-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\nlegend {\n padding: 0;\n}\nprogress {\n vertical-align: baseline;\n}\nsmall {\n font-size: 80%;\n}\nsvg {\n display: block;\n vertical-align: middle;\n}\ntable {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n}\ntextarea {\n resize: vertical;\n}\ntextarea::placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ntextarea::webkit-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ntextarea::-moz-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ntextarea:-ms-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ntextarea::-ms-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\nul, ol {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n/* windicss layer components */\n/* windicss layer utilities */\n.container {\n width: 100%;\n}\n@media (min-width: 640px) {\n .container {\n max-width: 640px;\n }\n}\n@media (min-width: 768px) {\n .container {\n max-width: 768px;\n }\n}\n@media (min-width: 1024px) {\n .container {\n max-width: 1024px;\n }\n}\n@media (min-width: 1280px) {\n .container {\n max-width: 1280px;\n }\n}\n@media (min-width: 1536px) {\n .container {\n max-width: 1536px;\n }\n}\n.bg-normal {\n background-color: var(--kolibri-color-normal);\n}\n.bg-white {\n --tw-bg-opacity: 1;\n background-color: rgba(255, 255, 255, var(--tw-bg-opacity));\n}\n.bg-spin-1 {\n background-color: var(--kolibri-color-spin-1);\n}\n.bg-spin-2 {\n background-color: var(--kolibri-color-spin-2);\n}\n.bg-spin-3 {\n background-color: var(--kolibri-color-spin-3);\n}\n.rounded {\n border-radius: var(--kolibri-border-radius);\n}\n.border-1 {\n border-width: 1px;\n}\n.cursor-pointer {\n cursor: pointer;\n}\n.block {\n display: block;\n}\n.inline-block {\n display: inline-block;\n}\n.flex {\n display: -webkit-box;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n}\n.inline-flex {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: -webkit-inline-flex;\n display: inline-flex;\n}\n.table {\n display: table;\n}\n.grid {\n display: -ms-grid;\n display: grid;\n}\n.hidden {\n display: none;\n}\n.flex-wrap {\n -ms-flex-wrap: wrap;\n -webkit-flex-wrap: wrap;\n flex-wrap: wrap;\n}\n.items-center {\n -webkit-box-align: center;\n -ms-flex-align: center;\n -webkit-align-items: center;\n align-items: center;\n}\n.content-center {\n -ms-flex-line-pack: center;\n -webkit-align-content: center;\n align-content: center;\n}\n.float-left {\n float: left;\n}\n.font-80 {\n font-weight: 80;\n}\n.font-60 {\n font-weight: 60;\n}\n.h-full {\n height: 100%;\n}\n.h-0 {\n height: 0px;\n}\n.h-0\\.41c-2\\.42\\2c 0-4\\.82-1\\.57-4\\.82-3\\.58c0\\.05-0\\.98\\2c 0\\.43-1\\.91\\2c 1\\.07-2\\.65c0\\.3\\2c 0\\.05\\2c 0\\.61\\2c 0\\.09\\2c 0\\.92\\2c 0\\.09c1\\.1\\2c 0\\2c 1\\.69-0\\.58\\2c 1\\.74-1\\.16 {\n height: 0.29rem;\n}\n.text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem;\n}\n.text-2xl {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n.text-lg {\n font-size: 1.125rem;\n line-height: 1.75rem;\n}\n.leading-normal {\n line-height: 1.5;\n}\n.list-none {\n list-style-type: none;\n}\n.list-disc {\n list-style-type: disc;\n}\n.list-decimal {\n list-style-type: decimal;\n}\n.mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n.mb-1 {\n margin-bottom: calc(1 * var(--kolibri-spacing));\n}\n.mr-2 {\n margin-right: calc(2 * var(--kolibri-spacing));\n}\n.ml-2 {\n margin-left: calc(2 * var(--kolibri-spacing));\n}\n.mt-2 {\n margin-top: calc(2 * var(--kolibri-spacing));\n}\n.mt-4 {\n margin-top: calc(4 * var(--kolibri-spacing));\n}\n.outline {\n outline-style: solid;\n}\n.overflow-hidden {\n overflow: hidden;\n}\n.overflow-y-visible {\n overflow-y: visible;\n}\n.p-2 {\n padding: calc(2 * var(--kolibri-spacing));\n}\n.p-4 {\n padding: calc(4 * var(--kolibri-spacing));\n}\n.px {\n padding-left: 1px;\n padding-right: 1px;\n}\n.py-2 {\n padding-top: calc(2 * var(--kolibri-spacing));\n padding-bottom: calc(2 * var(--kolibri-spacing));\n}\n.pl-8 {\n padding-left: 2rem;\n}\n.pb-2 {\n padding-bottom: calc(2 * var(--kolibri-spacing));\n}\n.tab {\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n}\n.absolute {\n position: absolute;\n}\n.text-center {\n text-align: center;\n}\n.text-normal {\n color: var(--kolibri-color-normal);\n}\n.hover\\:text-primary:hover {\n color: var(--kolibri-color-primary);\n}\n.italic {\n font-style: italic;\n}\n.underline {\n -webkit-text-decoration-line: underline;\n text-decoration-line: underline;\n}\n.indent {\n text-indent: 1.5rem;\n}\n.visible {\n visibility: visible;\n}\n.w-full {\n width: 100%;\n}\n.w-4\\/5 {\n width: 80%;\n}\n.z-50 {\n z-index: 50;\n}\n.gap-1 {\n grid-gap: calc(1 * var(--kolibri-spacing));\n gap: calc(1 * var(--kolibri-spacing));\n}\n.gap-2 {\n grid-gap: calc(2 * var(--kolibri-spacing));\n gap: calc(2 * var(--kolibri-spacing));\n}\n.grid-flow-col {\n grid-auto-flow: column;\n}\n.transform {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-rotate: 0;\n --tw-rotate-x: 0;\n --tw-rotate-y: 0;\n --tw-rotate-z: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-scale-z: 1;\n -webkit-transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));\n -ms-transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));\n transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));\n}\n.animate {\n -webkit-animation-iteration-count: 1;\n animation-iteration-count: 1;\n}\n.filter {\n --tw-blur: var(--tw-empty,/*!*/ /*!*/);\n --tw-brightness: var(--tw-empty,/*!*/ /*!*/);\n --tw-contrast: var(--tw-empty,/*!*/ /*!*/);\n --tw-grayscale: var(--tw-empty,/*!*/ /*!*/);\n --tw-hue-rotate: var(--tw-empty,/*!*/ /*!*/);\n --tw-invert: var(--tw-empty,/*!*/ /*!*/);\n --tw-saturate: var(--tw-empty,/*!*/ /*!*/);\n --tw-sepia: var(--tw-empty,/*!*/ /*!*/);\n --tw-drop-shadow: var(--tw-empty,/*!*/ /*!*/);\n -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n.blur {\n -webkit-backdrop-filter: blur(8px);\n backdrop-filter: blur(8px);\n}\n:host * {\n -ms-hyphens: var(--kolibri-hyphens);\n -webkit-hyphens: var(--kolibri-hyphens);\n hyphens: var(--kolibri-hyphens);\n font-family: var(--kolibri-font-family);\n line-height: var(--kolibri-line-height);\n word-break: break-word;\n}\n\n:host {\n overflow: hidden;\n}\n:host > div {\n overflow-x: auto;\n border-radius: var(--kolibri-border-radius);\n border-style: solid;\n border-width: 1px;\n}\n:host > div table {\n border: 0;\n width: 100%;\n}\n:host > div table tr {\n border-top-style: solid;\n border-top-width: 1px;\n padding-top: calc(1 * var(--kolibri-spacing));\n padding-bottom: calc(1 * var(--kolibri-spacing));\n padding-left: calc(2 * var(--kolibri-spacing));\n padding-right: calc(2 * var(--kolibri-spacing));\n}\n:host > div table tr th, :host > div table tr td {\n border-right-style: solid;\n border-right-width: 1px;\n padding-top: calc(1 * var(--kolibri-spacing));\n padding-bottom: calc(1 * var(--kolibri-spacing));\n padding-left: calc(2 * var(--kolibri-spacing));\n padding-right: calc(2 * var(--kolibri-spacing));\n}\n:host > div table tr th:last-child,\n:host > div table tr td:last-child {\n border: 0;\n}\n:host > div table tr th, :host > div table tr .th {\n --tw-bg-opacity: 1;\n background-color: rgba(229, 231, 235, var(--tw-bg-opacity));\n}\n:host > div table tr:nth-child(even) {\n --tw-bg-opacity: 1;\n background-color: rgba(243, 244, 246, var(--tw-bg-opacity));\n}\n:host > div table tr:nth-child(odd) {\n @apply white;\n}\n:host > div.pagination {\n border-style: none;\n display: -ms-grid;\n display: grid;\n -webkit-box-align: center;\n -ms-flex-align: center;\n -webkit-align-items: center;\n align-items: center;\n -ms-flex-line-pack: center;\n -webkit-align-content: center;\n align-content: center;\n padding-top: calc(2 * var(--kolibri-spacing));\n padding-left: calc(1 * var(--kolibri-spacing));\n padding-right: calc(1 * var(--kolibri-spacing));\n width: 100%;\n grid-gap: calc(2 * var(--kolibri-spacing));\n gap: calc(2 * var(--kolibri-spacing));\n grid-auto-flow: column;\n}\n:host > div.pagination > div::last-child {\n display: -webkit-box;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n -webkit-align-items: center;\n align-items: center;\n -ms-grid-column-align: end;\n justify-self: end;\n grid-gap: calc(2 * var(--kolibri-spacing));\n gap: calc(2 * var(--kolibri-spacing));\n}',PAGINATION_OPTIONS=[10,20,50,100],KolTable=class{constructor(t){registerInstance(this,t),this.horizontal=!0,this.sortDirections=new Map,this.showPagination=!1,this.pageStartSlice=0,this.pageEndSlice=10,this.handlePagination={onClick:(t,n)=>{var i;"function"==typeof(null===(i=this.state._pagination._on)||void 0===i?void 0:i.onClick)&&this.state._pagination._on.onClick(t,n),setState(this,"_pagination",Object.assign(Object.assign({},this.state._pagination),{_page:n}))},onChangePage:(t,n)=>{var i;"function"==typeof(null===(i=this.state._pagination._on)||void 0===i?void 0:i.onChangePage)&&this.state._pagination._on.onChangePage(t,n),setState(this,"_pagination",Object.assign(Object.assign({},this.state._pagination),{_page:n}))},onChangePageSize:(t,n)=>{var i;"function"==typeof(null===(i=this.state._pagination._on)||void 0===i?void 0:i.onChangePageSize)&&this.state._pagination._on.onChangePageSize(t,n),setState(this,"_pagination",Object.assign(Object.assign({},this.state._pagination),{_pageSize:n})),setState(this,"_pageSize",n)}},this.beforePatchPagination=(t,n,i,a)=>{"_pagination"===a&&(this.showPagination=!0===t||""===t||"object"==typeof t&&null!==t)},this.updateSortedData=()=>{let t=this.state._data;if("function"==typeof this.sortFunction)switch(this.sortDirections.get(this.sortFunction)){case"NOS":t=[...this.state._data];break;case"ASC":t=this.sortFunction([...this.state._data]);break;default:t=this.sortFunction([...this.state._data]).reverse()}setState(this,"_sortedData",t)},this._caption=void 0,this._data=void 0,this._headers=void 0,this._minWidth=void 0,this._pagination=void 0,this.state={_caption:"",_data:[],_headers:{horizontal:[],vertical:[]},_pagination:{_page:1,_pageSize:10,_total:0},_sortedData:[]}}validateCaption(t){watchString(this,"_caption",t,{required:!0})}validateData(t){emptyStringByArrayHandler(t,(()=>{objectObjectHandler(t,(()=>{void 0===t&&(t=[]);try{t=parseJson(t)}catch(t){}Array.isArray(t)&&void 0===t.find((t=>!("object"==typeof t&&null!==t)))&&setState(this,"_data",t,{afterPatch:()=>{const t=setTimeout((()=>{clearTimeout(t),this.updateSortedData()}))}})}))}))}validateHeaders(t){emptyStringByArrayHandler(t,(()=>{objectObjectHandler(t,(()=>{try{t=parseJson(t)}catch(t){}watchValidator(this,"_headers",(t=>"object"==typeof t&&null!==t),new Set(["KoliBriTableHeaders"]),t,{hooks:{beforePatch:t=>{var n;null===(n=t.horizontal)||void 0===n||n.forEach((t=>{t.forEach((t=>{"function"==typeof t.sort&&"string"==typeof t.sortDirection&&this.sortDirections.set(t.sort,t.sortDirection)}))}))}}})}))}))}validateMinWidth(t){watchString(this,"_minWidth",t,{defaultValue:void 0})}validatePagination(t){try{t=parseJson(t)}catch(t){}watchValidator(this,"_pagination",(()=>!0),new Set(["boolean","KoliBriTablePagination"]),t,{hooks:{beforePatch:this.beforePatchPagination}})}componentWillLoad(){this.validateCaption(this._caption),this.validateData(this._data),this.validateHeaders(this._headers),this.validateMinWidth(this._minWidth),this.validatePagination(this._pagination)}getNumberOfCols(t,n){let i=0;return t.forEach((t=>{let n=0;t.forEach((t=>{var i;return n+=null!==(i=t.colSpan)&&void 0!==i?i:1})),i<n&&(i=n)})),0===i&&(i=n.length),i}getNumberOfRows(t,n){let i=0;return t.forEach((t=>{let n=0;t.forEach((t=>{var i;return n+=null!==(i=t.rowSpan)&&void 0!==i?i:1})),i<n&&(i=n)})),0===i&&(i=n.length),i}filterHeaderKeys(t){const n=[];return t.forEach((t=>{t.forEach((t=>{"string"==typeof t.key&&n.push(t)}))})),n}getPrimaryHeader(t){var n,i;let a=this.filterHeaderKeys(null!==(n=t.horizontal)&&void 0!==n?n:[]);return this.horizontal=!0,0===a.length&&(a=this.filterHeaderKeys(null!==(i=t.vertical)&&void 0!==i?i:[]),a.length>0&&(this.horizontal=!1)),a}createDataField(t,n){n.horizontal=Array.isArray(null==n?void 0:n.horizontal)?n.horizontal:[],n.vertical=Array.isArray(null==n?void 0:n.vertical)?n.vertical:[];const i=this.getPrimaryHeader(n),a=this.getNumberOfCols(n.horizontal,t),e=this.getNumberOfRows(n.vertical,t),o=[],r=[],s=[];n.vertical.forEach(((t,n)=>{r[n]=0,s[n]=[]}));for(let l=0;l<e;l++){const e=[];n.vertical.forEach(((t,n)=>{let i=0;if(s[n].forEach((t=>i+=t)),i<=l){const a=t[l-i+r[n]];if("object"==typeof a){e.push(Object.assign(Object.assign({},a),{asTd:!1,data:{}}));let t=1;if("number"==typeof a.rowSpan&&a.rowSpan>1&&(t=a.rowSpan),s[n].push(t),"number"==typeof a.colSpan&&a.colSpan>1)for(let i=1;i<a.colSpan;i++)s[n+i].push(t);r[n]++}}}));for(let n=0;n<a;n++)!0===this.horizontal?"object"==typeof i[n]&&null!==i[n]&&"string"==typeof i[n].key&&"object"==typeof t[l]&&null!==t[l]&&e.push(Object.assign(Object.assign({},i[n]),{colSpan:void 0,data:t[l],label:t[l][i[n].key],rowSpan:void 0})):"object"==typeof i[l]&&null!==i[l]&&"string"==typeof i[l].key&&"object"==typeof t[n]&&null!==t[n]&&e.push(Object.assign(Object.assign({},i[l]),{colSpan:void 0,data:t[n],label:t[n][i[l].key],rowSpan:void 0}));o.push(e)}if(0===t.length){let t=0,i=0;Array.isArray(n.horizontal)&&n.horizontal.length>0&&n.horizontal[0].forEach((n=>{t+=n.colSpan||1})),Array.isArray(n.vertical)&&n.vertical.length>0&&(t-=n.vertical.length,n.vertical[0].forEach((t=>{i+=t.rowSpan||1})));const a={colSpan:t,label:"Es sind keine Einträge vorhanden.",render:()=>"Es sind keine Einträge vorhanden.",rowSpan:Math.max(i,1)};0===o.length?o.push([a]):o[0].push(a)}return o}selectDisplayedData(t,n,i){return"number"==typeof n&&n>0&&"number"==typeof i&&i>0?(this.pageStartSlice=n*(i-1),this.pageEndSlice=n*i>t.length?t.length:n*i,t.slice(this.pageStartSlice,this.pageEndSlice)):(this.pageStartSlice=0,this.pageEndSlice=t.length,t)}cellRender(t,n){const i=setTimeout((()=>{if(clearTimeout(i),"function"==typeof t.render&&n instanceof HTMLElement){const i=t.render(n,{asTd:t.asTd,label:t.label,textAlign:t.textAlign,width:t.width},t.data,this.state._data);"string"==typeof i&&(n.innerHTML=i)}}),50)}render(){var t,n;const i=this.selectDisplayedData(this.state._sortedData,this.showPagination?null!==(n=null===(t=this.state._pagination)||void 0===t?void 0:t._pageSize)&&void 0!==n?n:10:this.state._sortedData.length,this.state._pagination._page||1),a=this.createDataField(i,this.state._headers);return h(Host,null,h("div",{tabindex:"0"},h("table",{style:{minWidth:this.state._minWidth}},h("caption",null,this.state._caption),Array.isArray(this.state._headers.horizontal)&&h("thead",null,this.state._headers.horizontal.map((t=>h("tr",null,t.map((t=>!0===t.asTd?h("td",{class:{[t.textAlign]:"string"==typeof t.textAlign&&t.textAlign.length>0},colSpan:t.colSpan,rowSpan:t.rowSpan,style:{textAlign:t.textAlign,width:t.width},ref:"function"==typeof t.render?n=>{this.cellRender(t,n)}:void 0,innerHTML:"function"!=typeof t.render?t.label:""}):h("th",{scope:"number"==typeof t.colSpan&&t.colSpan>1?"colgroup":"col",colSpan:t.colSpan,rowSpan:t.rowSpan,style:{width:t.width},"aria-sort":"function"==typeof t.sort?"NOS"===this.sortDirections.get(t.sort)||void 0===this.sortDirections.get(t.sort)?"none":"ASC"===this.sortDirections.get(t.sort)?"ascending":"descending":void 0},h("div",{class:"w-full flex gap-1 items-center"},h("div",{class:{"w-full":!0,[t.textAlign]:"string"==typeof t.textAlign&&t.textAlign.length>0},innerHTML:t.label,style:{textAlign:t.textAlign}}),"function"==typeof t.sort&&h("kol-button",{exportparts:"button,ghost",_ariaLabel:"Sortierung von "+t.label+" ändern",_icon:"NOS"===this.sortDirections.get(t.sort)||void 0===this.sortDirections.get(t.sort)?"fas fa-sort":"ASC"===this.sortDirections.get(t.sort)?"fas fa-sort-up":"fas fa-sort-down",_iconOnly:!0,_label:"Sortierung von "+t.label+" ändern",_on:{onClick:()=>{if("function"==typeof t.sort){switch(this.sortFunction=t.sort,this.sortDirections.get(this.sortFunction)){case"ASC":this.sortDirections.set(this.sortFunction,"DESC");break;case"DESC":this.sortDirections.set(this.sortFunction,"NOS");break;default:this.sortDirections.set(this.sortFunction,"ASC")}this.updateSortedData()}}},_variant:"ghost"}))))))))),h("tbody",null,a.map(((t,n)=>h("tr",{key:`row-${n}`},t.map((t=>!1===t.asTd?h("th",{scope:"number"==typeof t.rowSpan&&t.rowSpan>1?"rowgroup":"row",colSpan:t.colSpan,rowSpan:t.rowSpan,style:{width:t.width},"aria-sort":"function"==typeof t.sort?"NOS"===this.sortDirections.get(t.sort)||void 0===this.sortDirections.get(t.sort)?"none":"ASC"===this.sortDirections.get(t.sort)?"ascending":"descending":void 0},h("div",{class:"w-full flex gap-1 items-center"},h("div",{class:{"w-full":!0,[t.textAlign]:"string"==typeof t.textAlign&&t.textAlign.length>0},innerHTML:t.label,style:{textAlign:t.textAlign}}),"function"==typeof t.sort&&h("kol-button",{exportparts:"button,ghost",_ariaLabel:"Sortierung von "+t.label+" ändern",_icon:"NOS"===this.sortDirections.get(t.sort)||void 0===this.sortDirections.get(t.sort)?"fas fa-sort":"ASC"===this.sortDirections.get(t.sort)?"fas fa-sort-up":"fas fa-sort-down",_iconOnly:!0,_label:"Sortierung von "+t.label+" ändern",_on:{onClick:()=>{if("function"==typeof t.sort){switch(this.sortFunction=t.sort,this.sortDirections.get(this.sortFunction)){case"ASC":this.sortDirections.set(this.sortFunction,"DESC");break;case"DESC":this.sortDirections.set(this.sortFunction,"NOS");break;default:this.sortDirections.set(this.sortFunction,"ASC")}this.updateSortedData()}}},_variant:"ghost"}))):h("td",{class:{[t.textAlign]:"string"==typeof t.textAlign&&t.textAlign.length>0},colSpan:t.colSpan,rowSpan:t.rowSpan,style:{textAlign:t.textAlign,width:t.width},ref:"function"==typeof t.render?n=>{this.cellRender(t,n)}:void 0,innerHTML:"function"!=typeof t.render?t.label:""}))))))))),this.pageEndSlice>0&&this.showPagination&&h("div",null,h("span",null,"Einträge ",this.pageEndSlice>0?this.pageStartSlice+1:0," bis ",this.pageEndSlice," von"," ",this.state._pagination._total||(Array.isArray(this.state._data)?this.state._data.length:0)," angezeigt"),h("div",null,h("kol-pagination",{_boundaryCount:this.state._pagination._boundaryCount,_customClass:this.state._pagination._customClass,_on:this.handlePagination,_page:this.state._pagination._page,_pageSize:this.state._pagination._pageSize,_pageSizeOptions:this.state._pagination._pageSizeOptions||PAGINATION_OPTIONS,_siblingCount:this.state._pagination._siblingCount,_tooltipAlign:"bottom",_total:this.state._pagination._total||this.state._data.length}))))}static get watchers(){return{_caption:["validateCaption"],_data:["validateData"],_headers:["validateHeaders"],_minWidth:["validateMinWidth"],_pagination:["validatePagination"]}}};KolTable.style={default:defaultStyleCss};export{KolTable as kol_table};
4
+ import{r as registerInstance,h,H as Host}from"./index-a9774259.js";import{s as setState,w as watchString,i as emptyStringByArrayHandler,p as parseJson,a as watchValidator,o as objectObjectHandler}from"./prop.validators-82b345aa.js";import"./index.m-86dc8c44.js";import"./a11y.tipps-d591ee77.js";import"./dev.utils-daaf2f39.js";import"./index-d870d3e1.js";const defaultStyleCss='/* windicss-touch: 1639175625181 */\n/* windicss-touch: 1649810622229 */\n/* windicss layer base */\n*, ::before, ::after {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n border-width: 0;\n border-style: solid;\n border-color: var(--kolibri-border-color);\n}\n* {\n --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: var(--kolibri-color);\n --tw-ring-color: rgba(undefined, 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n}\n:root {\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n}\n:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n:-moz-ui-invalid {\n box-shadow: none;\n}\n::moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n}\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\n[type=\'search\'] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\nabbr[title] {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\na {\n color: inherit;\n text-decoration: inherit;\n}\nbody {\n margin: 0;\n font-family: inherit;\n line-height: inherit;\n}\nb {\n font-weight: bolder;\n}\nbutton, select {\n text-transform: none;\n}\nbutton, [type=\'button\'], [type=\'reset\'], [type=\'submit\'] {\n -webkit-appearance: button;\n}\nbutton {\n background-color: transparent;\n background-image: none;\n}\nbutton, [role="button"] {\n cursor: pointer;\n}\ncode {\n font-size: 1em;\n font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;\n}\nfieldset {\n margin: 0;\n padding: 0;\n}\nhtml {\n -webkit-text-size-adjust: 100%;\n font-family: ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";\n line-height: 1.5;\n}\nh1, p, h2, h3, h4, h5, h6 {\n margin: 0;\n}\nh1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n}\ninput, button, optgroup, select, textarea {\n font-family: inherit;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n padding: 0;\n line-height: inherit;\n color: inherit;\n}\ninput::placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput::webkit-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput::-moz-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput:-ms-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput::-ms-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\nlegend {\n padding: 0;\n}\nprogress {\n vertical-align: baseline;\n}\nsmall {\n font-size: 80%;\n}\nsvg {\n display: block;\n vertical-align: middle;\n}\ntable {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n}\ntextarea {\n resize: vertical;\n}\ntextarea::placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ntextarea::webkit-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ntextarea::-moz-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ntextarea:-ms-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ntextarea::-ms-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\nul, ol {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n/* windicss layer components */\n/* windicss layer utilities */\n.container {\n width: 100%;\n}\n@media (min-width: 640px) {\n .container {\n max-width: 640px;\n }\n}\n@media (min-width: 768px) {\n .container {\n max-width: 768px;\n }\n}\n@media (min-width: 1024px) {\n .container {\n max-width: 1024px;\n }\n}\n@media (min-width: 1280px) {\n .container {\n max-width: 1280px;\n }\n}\n@media (min-width: 1536px) {\n .container {\n max-width: 1536px;\n }\n}\n.bg-normal {\n background-color: var(--kolibri-color-normal);\n}\n.bg-white {\n --tw-bg-opacity: 1;\n background-color: rgba(255, 255, 255, var(--tw-bg-opacity));\n}\n.bg-spin-1 {\n background-color: var(--kolibri-color-spin-1);\n}\n.bg-spin-2 {\n background-color: var(--kolibri-color-spin-2);\n}\n.bg-spin-3 {\n background-color: var(--kolibri-color-spin-3);\n}\n.rounded {\n border-radius: var(--kolibri-border-radius);\n}\n.border-1 {\n border-width: 1px;\n}\n.cursor-pointer {\n cursor: pointer;\n}\n.block {\n display: block;\n}\n.inline-block {\n display: inline-block;\n}\n.flex {\n display: -webkit-box;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n}\n.inline-flex {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: -webkit-inline-flex;\n display: inline-flex;\n}\n.table {\n display: table;\n}\n.grid {\n display: -ms-grid;\n display: grid;\n}\n.hidden {\n display: none;\n}\n.flex-wrap {\n -ms-flex-wrap: wrap;\n -webkit-flex-wrap: wrap;\n flex-wrap: wrap;\n}\n.items-center {\n -webkit-box-align: center;\n -ms-flex-align: center;\n -webkit-align-items: center;\n align-items: center;\n}\n.content-center {\n -ms-flex-line-pack: center;\n -webkit-align-content: center;\n align-content: center;\n}\n.float-left {\n float: left;\n}\n.font-80 {\n font-weight: 80;\n}\n.font-60 {\n font-weight: 60;\n}\n.h-full {\n height: 100%;\n}\n.h-0 {\n height: 0px;\n}\n.h-0\\.41c-2\\.42\\2c 0-4\\.82-1\\.57-4\\.82-3\\.58c0\\.05-0\\.98\\2c 0\\.43-1\\.91\\2c 1\\.07-2\\.65c0\\.3\\2c 0\\.05\\2c 0\\.61\\2c 0\\.09\\2c 0\\.92\\2c 0\\.09c1\\.1\\2c 0\\2c 1\\.69-0\\.58\\2c 1\\.74-1\\.16 {\n height: 0.29rem;\n}\n.text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem;\n}\n.text-2xl {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n.text-lg {\n font-size: 1.125rem;\n line-height: 1.75rem;\n}\n.leading-normal {\n line-height: 1.5;\n}\n.list-none {\n list-style-type: none;\n}\n.list-disc {\n list-style-type: disc;\n}\n.list-decimal {\n list-style-type: decimal;\n}\n.mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n.mb-1 {\n margin-bottom: calc(1 * var(--kolibri-spacing));\n}\n.mr-2 {\n margin-right: calc(2 * var(--kolibri-spacing));\n}\n.ml-2 {\n margin-left: calc(2 * var(--kolibri-spacing));\n}\n.mt-2 {\n margin-top: calc(2 * var(--kolibri-spacing));\n}\n.mt-4 {\n margin-top: calc(4 * var(--kolibri-spacing));\n}\n.outline {\n outline-style: solid;\n}\n.overflow-hidden {\n overflow: hidden;\n}\n.overflow-y-visible {\n overflow-y: visible;\n}\n.p-2 {\n padding: calc(2 * var(--kolibri-spacing));\n}\n.p-4 {\n padding: calc(4 * var(--kolibri-spacing));\n}\n.px {\n padding-left: 1px;\n padding-right: 1px;\n}\n.py-2 {\n padding-top: calc(2 * var(--kolibri-spacing));\n padding-bottom: calc(2 * var(--kolibri-spacing));\n}\n.pl-8 {\n padding-left: 2rem;\n}\n.pb-2 {\n padding-bottom: calc(2 * var(--kolibri-spacing));\n}\n.tab {\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n}\n.absolute {\n position: absolute;\n}\n.text-center {\n text-align: center;\n}\n.text-normal {\n color: var(--kolibri-color-normal);\n}\n.hover\\:text-primary:hover {\n color: var(--kolibri-color-primary);\n}\n.italic {\n font-style: italic;\n}\n.underline {\n -webkit-text-decoration-line: underline;\n text-decoration-line: underline;\n}\n.indent {\n text-indent: 1.5rem;\n}\n.visible {\n visibility: visible;\n}\n.w-full {\n width: 100%;\n}\n.w-4\\/5 {\n width: 80%;\n}\n.z-50 {\n z-index: 50;\n}\n.gap-1 {\n grid-gap: calc(1 * var(--kolibri-spacing));\n gap: calc(1 * var(--kolibri-spacing));\n}\n.gap-2 {\n grid-gap: calc(2 * var(--kolibri-spacing));\n gap: calc(2 * var(--kolibri-spacing));\n}\n.grid-flow-col {\n grid-auto-flow: column;\n}\n.transform {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-rotate: 0;\n --tw-rotate-x: 0;\n --tw-rotate-y: 0;\n --tw-rotate-z: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-scale-z: 1;\n -webkit-transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));\n -ms-transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));\n transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));\n}\n.animate {\n -webkit-animation-iteration-count: 1;\n animation-iteration-count: 1;\n}\n.filter {\n --tw-blur: var(--tw-empty,/*!*/ /*!*/);\n --tw-brightness: var(--tw-empty,/*!*/ /*!*/);\n --tw-contrast: var(--tw-empty,/*!*/ /*!*/);\n --tw-grayscale: var(--tw-empty,/*!*/ /*!*/);\n --tw-hue-rotate: var(--tw-empty,/*!*/ /*!*/);\n --tw-invert: var(--tw-empty,/*!*/ /*!*/);\n --tw-saturate: var(--tw-empty,/*!*/ /*!*/);\n --tw-sepia: var(--tw-empty,/*!*/ /*!*/);\n --tw-drop-shadow: var(--tw-empty,/*!*/ /*!*/);\n -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n.blur {\n -webkit-backdrop-filter: blur(8px);\n backdrop-filter: blur(8px);\n}\n:host * {\n -ms-hyphens: var(--kolibri-hyphens);\n -webkit-hyphens: var(--kolibri-hyphens);\n hyphens: var(--kolibri-hyphens);\n font-family: var(--kolibri-font-family);\n line-height: var(--kolibri-line-height);\n word-break: break-word;\n}\n\n:host {\n overflow: hidden;\n}\n:host > div {\n overflow-x: auto;\n border-radius: var(--kolibri-border-radius);\n border-style: solid;\n border-width: 1px;\n}\n:host > div table {\n border: 0;\n width: 100%;\n}\n:host > div table tr {\n border-top-style: solid;\n border-top-width: 1px;\n padding-top: calc(1 * var(--kolibri-spacing));\n padding-bottom: calc(1 * var(--kolibri-spacing));\n padding-left: calc(2 * var(--kolibri-spacing));\n padding-right: calc(2 * var(--kolibri-spacing));\n}\n:host > div table tr th, :host > div table tr td {\n border-right-style: solid;\n border-right-width: 1px;\n padding-top: calc(1 * var(--kolibri-spacing));\n padding-bottom: calc(1 * var(--kolibri-spacing));\n padding-left: calc(2 * var(--kolibri-spacing));\n padding-right: calc(2 * var(--kolibri-spacing));\n}\n:host > div table tr th:last-child,\n:host > div table tr td:last-child {\n border: 0;\n}\n:host > div table tr th, :host > div table tr .th {\n --tw-bg-opacity: 1;\n background-color: rgba(229, 231, 235, var(--tw-bg-opacity));\n}\n:host > div table tr:nth-child(even) {\n --tw-bg-opacity: 1;\n background-color: rgba(243, 244, 246, var(--tw-bg-opacity));\n}\n:host > div table tr:nth-child(odd) {\n @apply white;\n}\n:host > div.pagination {\n border-style: none;\n display: -ms-grid;\n display: grid;\n -webkit-box-align: center;\n -ms-flex-align: center;\n -webkit-align-items: center;\n align-items: center;\n -ms-flex-line-pack: center;\n -webkit-align-content: center;\n align-content: center;\n padding-top: calc(2 * var(--kolibri-spacing));\n padding-left: calc(1 * var(--kolibri-spacing));\n padding-right: calc(1 * var(--kolibri-spacing));\n width: 100%;\n grid-gap: calc(2 * var(--kolibri-spacing));\n gap: calc(2 * var(--kolibri-spacing));\n grid-auto-flow: column;\n}\n:host > div.pagination > div::last-child {\n display: -webkit-box;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n -webkit-align-items: center;\n align-items: center;\n -ms-grid-column-align: end;\n justify-self: end;\n grid-gap: calc(2 * var(--kolibri-spacing));\n gap: calc(2 * var(--kolibri-spacing));\n}',PAGINATION_OPTIONS=[10,20,50,100],KolTable=class{constructor(t){registerInstance(this,t),this.horizontal=!0,this.sortDirections=new Map,this.showPagination=!1,this.pageStartSlice=0,this.pageEndSlice=10,this.handlePagination={onClick:(t,n)=>{var i;"function"==typeof(null===(i=this.state._pagination._on)||void 0===i?void 0:i.onClick)&&this.state._pagination._on.onClick(t,n),setState(this,"_pagination",Object.assign(Object.assign({},this.state._pagination),{_page:n}))},onChangePage:(t,n)=>{var i;"function"==typeof(null===(i=this.state._pagination._on)||void 0===i?void 0:i.onChangePage)&&this.state._pagination._on.onChangePage(t,n),setState(this,"_pagination",Object.assign(Object.assign({},this.state._pagination),{_page:n}))},onChangePageSize:(t,n)=>{var i;"function"==typeof(null===(i=this.state._pagination._on)||void 0===i?void 0:i.onChangePageSize)&&this.state._pagination._on.onChangePageSize(t,n),setState(this,"_pagination",Object.assign(Object.assign({},this.state._pagination),{_pageSize:n})),setState(this,"_pageSize",n)}},this.beforePatchPagination=(t,n,i,a)=>{"_pagination"===a&&(this.showPagination=!0===t||""===t||"object"==typeof t&&null!==t)},this.updateSortedData=()=>{let t=this.state._data;if("function"==typeof this.sortFunction)switch(this.sortDirections.get(this.sortFunction)){case"NOS":t=[...this.state._data];break;case"ASC":t=this.sortFunction([...this.state._data]);break;default:t=this.sortFunction([...this.state._data]).reverse()}setState(this,"_sortedData",t)},this._caption=void 0,this._data=void 0,this._headers=void 0,this._minWidth=void 0,this._pagination=void 0,this.state={_caption:"",_data:[],_headers:{horizontal:[],vertical:[]},_pagination:{_page:1,_pageSize:10,_total:0},_sortedData:[]}}validateCaption(t){watchString(this,"_caption",t,{required:!0})}validateData(t){emptyStringByArrayHandler(t,(()=>{objectObjectHandler(t,(()=>{void 0===t&&(t=[]);try{t=parseJson(t)}catch(t){}Array.isArray(t)&&void 0===t.find((t=>!("object"==typeof t&&null!==t)))&&setState(this,"_data",t,{afterPatch:()=>{const t=setTimeout((()=>{clearTimeout(t),this.updateSortedData()}))}})}))}))}validateHeaders(t){emptyStringByArrayHandler(t,(()=>{objectObjectHandler(t,(()=>{try{t=parseJson(t)}catch(t){}watchValidator(this,"_headers",(t=>"object"==typeof t&&null!==t),new Set(["KoliBriTableHeaders"]),t,{hooks:{beforePatch:t=>{var n;null===(n=t.horizontal)||void 0===n||n.forEach((t=>{t.forEach((t=>{"function"==typeof t.sort&&"string"==typeof t.sortDirection&&this.sortDirections.set(t.sort,t.sortDirection)}))}))}}})}))}))}validateMinWidth(t){watchString(this,"_minWidth",t,{defaultValue:void 0})}validatePagination(t){try{t=parseJson(t)}catch(t){}watchValidator(this,"_pagination",(()=>!0),new Set(["boolean","KoliBriTablePagination"]),t,{hooks:{beforePatch:this.beforePatchPagination}})}componentWillLoad(){this.validateCaption(this._caption),this.validateData(this._data),this.validateHeaders(this._headers),this.validateMinWidth(this._minWidth),this.validatePagination(this._pagination)}getNumberOfCols(t,n){let i=0;return t.forEach((t=>{let n=0;t.forEach((t=>{var i;return n+=null!==(i=t.colSpan)&&void 0!==i?i:1})),i<n&&(i=n)})),0===i&&(i=n.length),i}getNumberOfRows(t,n){let i=0;return t.forEach((t=>{let n=0;t.forEach((t=>{var i;return n+=null!==(i=t.rowSpan)&&void 0!==i?i:1})),i<n&&(i=n)})),0===i&&(i=n.length),i}filterHeaderKeys(t){const n=[];return t.forEach((t=>{t.forEach((t=>{"string"==typeof t.key&&n.push(t)}))})),n}getPrimaryHeader(t){var n,i;let a=this.filterHeaderKeys(null!==(n=t.horizontal)&&void 0!==n?n:[]);return this.horizontal=!0,0===a.length&&(a=this.filterHeaderKeys(null!==(i=t.vertical)&&void 0!==i?i:[]),a.length>0&&(this.horizontal=!1)),a}createDataField(t,n){n.horizontal=Array.isArray(null==n?void 0:n.horizontal)?n.horizontal:[],n.vertical=Array.isArray(null==n?void 0:n.vertical)?n.vertical:[];const i=this.getPrimaryHeader(n),a=this.getNumberOfCols(n.horizontal,t),e=this.getNumberOfRows(n.vertical,t),o=[],r=[],s=[];n.vertical.forEach(((t,n)=>{r[n]=0,s[n]=[]}));for(let l=0;l<e;l++){const e=[];n.vertical.forEach(((t,n)=>{let i=0;if(s[n].forEach((t=>i+=t)),i<=l){const a=t[l-i+r[n]];if("object"==typeof a){e.push(Object.assign(Object.assign({},a),{asTd:!1,data:{}}));let t=1;if("number"==typeof a.rowSpan&&a.rowSpan>1&&(t=a.rowSpan),s[n].push(t),"number"==typeof a.colSpan&&a.colSpan>1)for(let i=1;i<a.colSpan;i++)s[n+i].push(t);r[n]++}}}));for(let n=0;n<a;n++)!0===this.horizontal?"object"==typeof i[n]&&null!==i[n]&&"string"==typeof i[n].key&&"object"==typeof t[l]&&null!==t[l]&&e.push(Object.assign(Object.assign({},i[n]),{colSpan:void 0,data:t[l],label:t[l][i[n].key],rowSpan:void 0})):"object"==typeof i[l]&&null!==i[l]&&"string"==typeof i[l].key&&"object"==typeof t[n]&&null!==t[n]&&e.push(Object.assign(Object.assign({},i[l]),{colSpan:void 0,data:t[n],label:t[n][i[l].key],rowSpan:void 0}));o.push(e)}if(0===t.length){let t=0,i=0;Array.isArray(n.horizontal)&&n.horizontal.length>0&&n.horizontal[0].forEach((n=>{t+=n.colSpan||1})),Array.isArray(n.vertical)&&n.vertical.length>0&&(t-=n.vertical.length,n.vertical[0].forEach((t=>{i+=t.rowSpan||1})));const a={colSpan:t,label:"Es sind keine Einträge vorhanden.",render:void 0,rowSpan:Math.max(i,1)};0===o.length?o.push([a]):o[0].push(a)}return o}selectDisplayedData(t,n,i){return"number"==typeof n&&n>0&&"number"==typeof i&&i>0?(this.pageStartSlice=n*(i-1),this.pageEndSlice=n*i>t.length?t.length:n*i,t.slice(this.pageStartSlice,this.pageEndSlice)):(this.pageStartSlice=0,this.pageEndSlice=t.length,t)}cellRender(t,n){const i=setTimeout((()=>{if(clearTimeout(i),"function"==typeof t.render&&n instanceof HTMLElement){const i=t.render(n,{asTd:t.asTd,label:t.label,textAlign:t.textAlign,width:t.width},t.data,this.state._data);"string"==typeof i&&(n.innerHTML=i)}}),50)}render(){var t,n;const i=this.selectDisplayedData(this.state._sortedData,this.showPagination?null!==(n=null===(t=this.state._pagination)||void 0===t?void 0:t._pageSize)&&void 0!==n?n:10:this.state._sortedData.length,this.state._pagination._page||1),a=this.createDataField(i,this.state._headers);return h(Host,null,h("div",{tabindex:"0"},h("table",{style:{minWidth:this.state._minWidth}},h("caption",null,this.state._caption),Array.isArray(this.state._headers.horizontal)&&h("thead",null,this.state._headers.horizontal.map((t=>h("tr",null,t.map((t=>!0===t.asTd?h("td",{class:{[t.textAlign]:"string"==typeof t.textAlign&&t.textAlign.length>0},colSpan:t.colSpan,rowSpan:t.rowSpan,style:{textAlign:t.textAlign,width:t.width},ref:"function"==typeof t.render?n=>{this.cellRender(t,n)}:void 0,innerHTML:"function"!=typeof t.render?t.label:""}):h("th",{scope:"number"==typeof t.colSpan&&t.colSpan>1?"colgroup":"col",colSpan:t.colSpan,rowSpan:t.rowSpan,style:{width:t.width},"aria-sort":"function"==typeof t.sort?"NOS"===this.sortDirections.get(t.sort)||void 0===this.sortDirections.get(t.sort)?"none":"ASC"===this.sortDirections.get(t.sort)?"ascending":"descending":void 0},h("div",{class:"w-full flex gap-1 items-center"},h("div",{class:{"w-full":!0,[t.textAlign]:"string"==typeof t.textAlign&&t.textAlign.length>0},innerHTML:t.label,style:{textAlign:t.textAlign}}),"function"==typeof t.sort&&h("kol-button",{exportparts:"button,ghost",_ariaLabel:"Sortierung von "+t.label+" ändern",_icon:"NOS"===this.sortDirections.get(t.sort)||void 0===this.sortDirections.get(t.sort)?"fas fa-sort":"ASC"===this.sortDirections.get(t.sort)?"fas fa-sort-up":"fas fa-sort-down",_iconOnly:!0,_label:"Sortierung von "+t.label+" ändern",_on:{onClick:()=>{if("function"==typeof t.sort){switch(this.sortFunction=t.sort,this.sortDirections.get(this.sortFunction)){case"ASC":this.sortDirections.set(this.sortFunction,"DESC");break;case"DESC":this.sortDirections.set(this.sortFunction,"NOS");break;default:this.sortDirections.set(this.sortFunction,"ASC")}this.updateSortedData()}}},_variant:"ghost"}))))))))),h("tbody",null,a.map(((t,n)=>h("tr",{key:`row-${n}`},t.map((t=>!1===t.asTd?h("th",{scope:"number"==typeof t.rowSpan&&t.rowSpan>1?"rowgroup":"row",colSpan:t.colSpan,rowSpan:t.rowSpan,style:{width:t.width},"aria-sort":"function"==typeof t.sort?"NOS"===this.sortDirections.get(t.sort)||void 0===this.sortDirections.get(t.sort)?"none":"ASC"===this.sortDirections.get(t.sort)?"ascending":"descending":void 0},h("div",{class:"w-full flex gap-1 items-center"},h("div",{class:{"w-full":!0,[t.textAlign]:"string"==typeof t.textAlign&&t.textAlign.length>0},innerHTML:t.label,style:{textAlign:t.textAlign}}),"function"==typeof t.sort&&h("kol-button",{exportparts:"button,ghost",_ariaLabel:"Sortierung von "+t.label+" ändern",_icon:"NOS"===this.sortDirections.get(t.sort)||void 0===this.sortDirections.get(t.sort)?"fas fa-sort":"ASC"===this.sortDirections.get(t.sort)?"fas fa-sort-up":"fas fa-sort-down",_iconOnly:!0,_label:"Sortierung von "+t.label+" ändern",_on:{onClick:()=>{if("function"==typeof t.sort){switch(this.sortFunction=t.sort,this.sortDirections.get(this.sortFunction)){case"ASC":this.sortDirections.set(this.sortFunction,"DESC");break;case"DESC":this.sortDirections.set(this.sortFunction,"NOS");break;default:this.sortDirections.set(this.sortFunction,"ASC")}this.updateSortedData()}}},_variant:"ghost"}))):h("td",{class:{[t.textAlign]:"string"==typeof t.textAlign&&t.textAlign.length>0},colSpan:t.colSpan,rowSpan:t.rowSpan,style:{textAlign:t.textAlign,width:t.width},ref:"function"==typeof t.render?n=>{this.cellRender(t,n)}:void 0,innerHTML:"function"!=typeof t.render?t.label:""}))))))))),this.pageEndSlice>0&&this.showPagination&&h("div",null,h("span",null,"Einträge ",this.pageEndSlice>0?this.pageStartSlice+1:0," bis ",this.pageEndSlice," von"," ",this.state._pagination._total||(Array.isArray(this.state._data)?this.state._data.length:0)," angezeigt"),h("div",null,h("kol-pagination",{_boundaryCount:this.state._pagination._boundaryCount,_customClass:this.state._pagination._customClass,_on:this.handlePagination,_page:this.state._pagination._page,_pageSize:this.state._pagination._pageSize,_pageSizeOptions:this.state._pagination._pageSizeOptions||PAGINATION_OPTIONS,_siblingCount:this.state._pagination._siblingCount,_tooltipAlign:"bottom",_total:this.state._pagination._total||this.state._data.length}))))}static get watchers(){return{_caption:["validateCaption"],_data:["validateData"],_headers:["validateHeaders"],_minWidth:["validateMinWidth"],_pagination:["validatePagination"]}}};KolTable.style={default:defaultStyleCss};export{KolTable as kol_table};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as n,h as t,H as i}from"./index-a9774259.js";import{s as e,w as a,i as o,p as r,a as l,o as s}from"./prop.validators-82b345aa.js";import"./index.m-86dc8c44.js";import"./a11y.tipps-d591ee77.js";import"./dev.utils-daaf2f39.js";import"./index-d870d3e1.js";const c=[10,20,50,100],d=class{constructor(t){n(this,t),this.horizontal=!0,this.sortDirections=new Map,this.showPagination=!1,this.pageStartSlice=0,this.pageEndSlice=10,this.handlePagination={onClick:(t,n)=>{var i;"function"==typeof(null===(i=this.state._pagination._on)||void 0===i?void 0:i.onClick)&&this.state._pagination._on.onClick(t,n),e(this,"_pagination",Object.assign(Object.assign({},this.state._pagination),{_page:n}))},onChangePage:(t,n)=>{var i;"function"==typeof(null===(i=this.state._pagination._on)||void 0===i?void 0:i.onChangePage)&&this.state._pagination._on.onChangePage(t,n),e(this,"_pagination",Object.assign(Object.assign({},this.state._pagination),{_page:n}))},onChangePageSize:(t,n)=>{var i;"function"==typeof(null===(i=this.state._pagination._on)||void 0===i?void 0:i.onChangePageSize)&&this.state._pagination._on.onChangePageSize(t,n),e(this,"_pagination",Object.assign(Object.assign({},this.state._pagination),{_pageSize:n})),e(this,"_pageSize",n)}},this.beforePatchPagination=(t,n,i,a)=>{"_pagination"===a&&(this.showPagination=!0===t||""===t||"object"==typeof t&&null!==t)},this.updateSortedData=()=>{let t=this.state._data;if("function"==typeof this.sortFunction)switch(this.sortDirections.get(this.sortFunction)){case"NOS":t=[...this.state._data];break;case"ASC":t=this.sortFunction([...this.state._data]);break;default:t=this.sortFunction([...this.state._data]).reverse()}e(this,"_sortedData",t)},this._caption=void 0,this._data=void 0,this._headers=void 0,this._minWidth=void 0,this._pagination=void 0,this.state={_caption:"",_data:[],_headers:{horizontal:[],vertical:[]},_pagination:{_page:1,_pageSize:10,_total:0},_sortedData:[]}}validateCaption(t){a(this,"_caption",t,{required:!0})}validateData(t){o(t,(()=>{s(t,(()=>{void 0===t&&(t=[]);try{t=r(t)}catch(t){}Array.isArray(t)&&void 0===t.find((t=>!("object"==typeof t&&null!==t)))&&e(this,"_data",t,{afterPatch:()=>{const t=setTimeout((()=>{clearTimeout(t),this.updateSortedData()}))}})}))}))}validateHeaders(t){o(t,(()=>{s(t,(()=>{try{t=r(t)}catch(t){}l(this,"_headers",(t=>"object"==typeof t&&null!==t),new Set(["KoliBriTableHeaders"]),t,{hooks:{beforePatch:t=>{var n;null===(n=t.horizontal)||void 0===n||n.forEach((t=>{t.forEach((t=>{"function"==typeof t.sort&&"string"==typeof t.sortDirection&&this.sortDirections.set(t.sort,t.sortDirection)}))}))}}})}))}))}validateMinWidth(t){a(this,"_minWidth",t,{defaultValue:void 0})}validatePagination(t){try{t=r(t)}catch(t){}l(this,"_pagination",(()=>!0),new Set(["boolean","KoliBriTablePagination"]),t,{hooks:{beforePatch:this.beforePatchPagination}})}componentWillLoad(){this.validateCaption(this._caption),this.validateData(this._data),this.validateHeaders(this._headers),this.validateMinWidth(this._minWidth),this.validatePagination(this._pagination)}getNumberOfCols(t,n){let i=0;return t.forEach((t=>{let n=0;t.forEach((t=>{var i;return n+=null!==(i=t.colSpan)&&void 0!==i?i:1})),i<n&&(i=n)})),0===i&&(i=n.length),i}getNumberOfRows(t,n){let i=0;return t.forEach((t=>{let n=0;t.forEach((t=>{var i;return n+=null!==(i=t.rowSpan)&&void 0!==i?i:1})),i<n&&(i=n)})),0===i&&(i=n.length),i}filterHeaderKeys(t){const n=[];return t.forEach((t=>{t.forEach((t=>{"string"==typeof t.key&&n.push(t)}))})),n}getPrimaryHeader(t){var n,i;let a=this.filterHeaderKeys(null!==(n=t.horizontal)&&void 0!==n?n:[]);return this.horizontal=!0,0===a.length&&(a=this.filterHeaderKeys(null!==(i=t.vertical)&&void 0!==i?i:[]),a.length>0&&(this.horizontal=!1)),a}createDataField(t,n){n.horizontal=Array.isArray(null==n?void 0:n.horizontal)?n.horizontal:[],n.vertical=Array.isArray(null==n?void 0:n.vertical)?n.vertical:[];const i=this.getPrimaryHeader(n),a=this.getNumberOfCols(n.horizontal,t),e=this.getNumberOfRows(n.vertical,t),o=[],r=[],s=[];n.vertical.forEach(((t,n)=>{r[n]=0,s[n]=[]}));for(let l=0;l<e;l++){const e=[];n.vertical.forEach(((t,n)=>{let i=0;if(s[n].forEach((t=>i+=t)),i<=l){const a=t[l-i+r[n]];if("object"==typeof a){e.push(Object.assign(Object.assign({},a),{asTd:!1,data:{}}));let t=1;if("number"==typeof a.rowSpan&&a.rowSpan>1&&(t=a.rowSpan),s[n].push(t),"number"==typeof a.colSpan&&a.colSpan>1)for(let i=1;i<a.colSpan;i++)s[n+i].push(t);r[n]++}}}));for(let n=0;n<a;n++)!0===this.horizontal?"object"==typeof i[n]&&null!==i[n]&&"string"==typeof i[n].key&&"object"==typeof t[l]&&null!==t[l]&&e.push(Object.assign(Object.assign({},i[n]),{colSpan:void 0,data:t[l],label:t[l][i[n].key],rowSpan:void 0})):"object"==typeof i[l]&&null!==i[l]&&"string"==typeof i[l].key&&"object"==typeof t[n]&&null!==t[n]&&e.push(Object.assign(Object.assign({},i[l]),{colSpan:void 0,data:t[n],label:t[n][i[l].key],rowSpan:void 0}));o.push(e)}if(0===t.length){let t=0,i=0;Array.isArray(n.horizontal)&&n.horizontal.length>0&&n.horizontal[0].forEach((n=>{t+=n.colSpan||1})),Array.isArray(n.vertical)&&n.vertical.length>0&&(t-=n.vertical.length,n.vertical[0].forEach((t=>{i+=t.rowSpan||1})));const a={colSpan:t,label:"Es sind keine Einträge vorhanden.",render:()=>"Es sind keine Einträge vorhanden.",rowSpan:Math.max(i,1)};0===o.length?o.push([a]):o[0].push(a)}return o}selectDisplayedData(t,n,i){return"number"==typeof n&&n>0&&"number"==typeof i&&i>0?(this.pageStartSlice=n*(i-1),this.pageEndSlice=n*i>t.length?t.length:n*i,t.slice(this.pageStartSlice,this.pageEndSlice)):(this.pageStartSlice=0,this.pageEndSlice=t.length,t)}cellRender(t,n){const i=setTimeout((()=>{if(clearTimeout(i),"function"==typeof t.render&&n instanceof HTMLElement){const i=t.render(n,{asTd:t.asTd,label:t.label,textAlign:t.textAlign,width:t.width},t.data,this.state._data);"string"==typeof i&&(n.innerHTML=i)}}),50)}render(){var n,a;const e=this.selectDisplayedData(this.state._sortedData,this.showPagination?null!==(a=null===(n=this.state._pagination)||void 0===n?void 0:n._pageSize)&&void 0!==a?a:10:this.state._sortedData.length,this.state._pagination._page||1),o=this.createDataField(e,this.state._headers);return t(i,null,t("div",{tabindex:"0"},t("table",{style:{minWidth:this.state._minWidth}},t("caption",null,this.state._caption),Array.isArray(this.state._headers.horizontal)&&t("thead",null,this.state._headers.horizontal.map((n=>t("tr",null,n.map((n=>!0===n.asTd?t("td",{class:{[n.textAlign]:"string"==typeof n.textAlign&&n.textAlign.length>0},colSpan:n.colSpan,rowSpan:n.rowSpan,style:{textAlign:n.textAlign,width:n.width},ref:"function"==typeof n.render?t=>{this.cellRender(n,t)}:void 0,innerHTML:"function"!=typeof n.render?n.label:""}):t("th",{scope:"number"==typeof n.colSpan&&n.colSpan>1?"colgroup":"col",colSpan:n.colSpan,rowSpan:n.rowSpan,style:{width:n.width},"aria-sort":"function"==typeof n.sort?"NOS"===this.sortDirections.get(n.sort)||void 0===this.sortDirections.get(n.sort)?"none":"ASC"===this.sortDirections.get(n.sort)?"ascending":"descending":void 0},t("div",{class:"w-full flex gap-1 items-center"},t("div",{class:{"w-full":!0,[n.textAlign]:"string"==typeof n.textAlign&&n.textAlign.length>0},innerHTML:n.label,style:{textAlign:n.textAlign}}),"function"==typeof n.sort&&t("kol-button",{exportparts:"button,ghost",_ariaLabel:"Sortierung von "+n.label+" ändern",_icon:"NOS"===this.sortDirections.get(n.sort)||void 0===this.sortDirections.get(n.sort)?"fas fa-sort":"ASC"===this.sortDirections.get(n.sort)?"fas fa-sort-up":"fas fa-sort-down",_iconOnly:!0,_label:"Sortierung von "+n.label+" ändern",_on:{onClick:()=>{if("function"==typeof n.sort){switch(this.sortFunction=n.sort,this.sortDirections.get(this.sortFunction)){case"ASC":this.sortDirections.set(this.sortFunction,"DESC");break;case"DESC":this.sortDirections.set(this.sortFunction,"NOS");break;default:this.sortDirections.set(this.sortFunction,"ASC")}this.updateSortedData()}}},_variant:"ghost"}))))))))),t("tbody",null,o.map(((n,i)=>t("tr",{key:`row-${i}`},n.map((n=>!1===n.asTd?t("th",{scope:"number"==typeof n.rowSpan&&n.rowSpan>1?"rowgroup":"row",colSpan:n.colSpan,rowSpan:n.rowSpan,style:{width:n.width},"aria-sort":"function"==typeof n.sort?"NOS"===this.sortDirections.get(n.sort)||void 0===this.sortDirections.get(n.sort)?"none":"ASC"===this.sortDirections.get(n.sort)?"ascending":"descending":void 0},t("div",{class:"w-full flex gap-1 items-center"},t("div",{class:{"w-full":!0,[n.textAlign]:"string"==typeof n.textAlign&&n.textAlign.length>0},innerHTML:n.label,style:{textAlign:n.textAlign}}),"function"==typeof n.sort&&t("kol-button",{exportparts:"button,ghost",_ariaLabel:"Sortierung von "+n.label+" ändern",_icon:"NOS"===this.sortDirections.get(n.sort)||void 0===this.sortDirections.get(n.sort)?"fas fa-sort":"ASC"===this.sortDirections.get(n.sort)?"fas fa-sort-up":"fas fa-sort-down",_iconOnly:!0,_label:"Sortierung von "+n.label+" ändern",_on:{onClick:()=>{if("function"==typeof n.sort){switch(this.sortFunction=n.sort,this.sortDirections.get(this.sortFunction)){case"ASC":this.sortDirections.set(this.sortFunction,"DESC");break;case"DESC":this.sortDirections.set(this.sortFunction,"NOS");break;default:this.sortDirections.set(this.sortFunction,"ASC")}this.updateSortedData()}}},_variant:"ghost"}))):t("td",{class:{[n.textAlign]:"string"==typeof n.textAlign&&n.textAlign.length>0},colSpan:n.colSpan,rowSpan:n.rowSpan,style:{textAlign:n.textAlign,width:n.width},ref:"function"==typeof n.render?t=>{this.cellRender(n,t)}:void 0,innerHTML:"function"!=typeof n.render?n.label:""}))))))))),this.pageEndSlice>0&&this.showPagination&&t("div",null,t("span",null,"Einträge ",this.pageEndSlice>0?this.pageStartSlice+1:0," bis ",this.pageEndSlice," von"," ",this.state._pagination._total||(Array.isArray(this.state._data)?this.state._data.length:0)," angezeigt"),t("div",null,t("kol-pagination",{_boundaryCount:this.state._pagination._boundaryCount,_customClass:this.state._pagination._customClass,_on:this.handlePagination,_page:this.state._pagination._page,_pageSize:this.state._pagination._pageSize,_pageSizeOptions:this.state._pagination._pageSizeOptions||c,_siblingCount:this.state._pagination._siblingCount,_tooltipAlign:"bottom",_total:this.state._pagination._total||this.state._data.length}))))}static get watchers(){return{_caption:["validateCaption"],_data:["validateData"],_headers:["validateHeaders"],_minWidth:["validateMinWidth"],_pagination:["validatePagination"]}}};d.style={default:'/* windicss-touch: 1639175625181 */\n/* windicss-touch: 1649810622229 */\n/* windicss layer base */\n*, ::before, ::after {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n border-width: 0;\n border-style: solid;\n border-color: var(--kolibri-border-color);\n}\n* {\n --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: var(--kolibri-color);\n --tw-ring-color: rgba(undefined, 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n}\n:root {\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n}\n:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n:-moz-ui-invalid {\n box-shadow: none;\n}\n::moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n}\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\n[type=\'search\'] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\nabbr[title] {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\na {\n color: inherit;\n text-decoration: inherit;\n}\nbody {\n margin: 0;\n font-family: inherit;\n line-height: inherit;\n}\nb {\n font-weight: bolder;\n}\nbutton, select {\n text-transform: none;\n}\nbutton, [type=\'button\'], [type=\'reset\'], [type=\'submit\'] {\n -webkit-appearance: button;\n}\nbutton {\n background-color: transparent;\n background-image: none;\n}\nbutton, [role="button"] {\n cursor: pointer;\n}\ncode {\n font-size: 1em;\n font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;\n}\nfieldset {\n margin: 0;\n padding: 0;\n}\nhtml {\n -webkit-text-size-adjust: 100%;\n font-family: ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";\n line-height: 1.5;\n}\nh1, p, h2, h3, h4, h5, h6 {\n margin: 0;\n}\nh1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n}\ninput, button, optgroup, select, textarea {\n font-family: inherit;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n padding: 0;\n line-height: inherit;\n color: inherit;\n}\ninput::placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput::webkit-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput::-moz-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput:-ms-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput::-ms-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\nlegend {\n padding: 0;\n}\nprogress {\n vertical-align: baseline;\n}\nsmall {\n font-size: 80%;\n}\nsvg {\n display: block;\n vertical-align: middle;\n}\ntable {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n}\ntextarea {\n resize: vertical;\n}\ntextarea::placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ntextarea::webkit-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ntextarea::-moz-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ntextarea:-ms-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ntextarea::-ms-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\nul, ol {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n/* windicss layer components */\n/* windicss layer utilities */\n.container {\n width: 100%;\n}\n@media (min-width: 640px) {\n .container {\n max-width: 640px;\n }\n}\n@media (min-width: 768px) {\n .container {\n max-width: 768px;\n }\n}\n@media (min-width: 1024px) {\n .container {\n max-width: 1024px;\n }\n}\n@media (min-width: 1280px) {\n .container {\n max-width: 1280px;\n }\n}\n@media (min-width: 1536px) {\n .container {\n max-width: 1536px;\n }\n}\n.bg-normal {\n background-color: var(--kolibri-color-normal);\n}\n.bg-white {\n --tw-bg-opacity: 1;\n background-color: rgba(255, 255, 255, var(--tw-bg-opacity));\n}\n.bg-spin-1 {\n background-color: var(--kolibri-color-spin-1);\n}\n.bg-spin-2 {\n background-color: var(--kolibri-color-spin-2);\n}\n.bg-spin-3 {\n background-color: var(--kolibri-color-spin-3);\n}\n.rounded {\n border-radius: var(--kolibri-border-radius);\n}\n.border-1 {\n border-width: 1px;\n}\n.cursor-pointer {\n cursor: pointer;\n}\n.block {\n display: block;\n}\n.inline-block {\n display: inline-block;\n}\n.flex {\n display: -webkit-box;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n}\n.inline-flex {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: -webkit-inline-flex;\n display: inline-flex;\n}\n.table {\n display: table;\n}\n.grid {\n display: -ms-grid;\n display: grid;\n}\n.hidden {\n display: none;\n}\n.flex-wrap {\n -ms-flex-wrap: wrap;\n -webkit-flex-wrap: wrap;\n flex-wrap: wrap;\n}\n.items-center {\n -webkit-box-align: center;\n -ms-flex-align: center;\n -webkit-align-items: center;\n align-items: center;\n}\n.content-center {\n -ms-flex-line-pack: center;\n -webkit-align-content: center;\n align-content: center;\n}\n.float-left {\n float: left;\n}\n.font-80 {\n font-weight: 80;\n}\n.font-60 {\n font-weight: 60;\n}\n.h-full {\n height: 100%;\n}\n.h-0 {\n height: 0px;\n}\n.h-0\\.41c-2\\.42\\2c 0-4\\.82-1\\.57-4\\.82-3\\.58c0\\.05-0\\.98\\2c 0\\.43-1\\.91\\2c 1\\.07-2\\.65c0\\.3\\2c 0\\.05\\2c 0\\.61\\2c 0\\.09\\2c 0\\.92\\2c 0\\.09c1\\.1\\2c 0\\2c 1\\.69-0\\.58\\2c 1\\.74-1\\.16 {\n height: 0.29rem;\n}\n.text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem;\n}\n.text-2xl {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n.text-lg {\n font-size: 1.125rem;\n line-height: 1.75rem;\n}\n.leading-normal {\n line-height: 1.5;\n}\n.list-none {\n list-style-type: none;\n}\n.list-disc {\n list-style-type: disc;\n}\n.list-decimal {\n list-style-type: decimal;\n}\n.mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n.mb-1 {\n margin-bottom: calc(1 * var(--kolibri-spacing));\n}\n.mr-2 {\n margin-right: calc(2 * var(--kolibri-spacing));\n}\n.ml-2 {\n margin-left: calc(2 * var(--kolibri-spacing));\n}\n.mt-2 {\n margin-top: calc(2 * var(--kolibri-spacing));\n}\n.mt-4 {\n margin-top: calc(4 * var(--kolibri-spacing));\n}\n.outline {\n outline-style: solid;\n}\n.overflow-hidden {\n overflow: hidden;\n}\n.overflow-y-visible {\n overflow-y: visible;\n}\n.p-2 {\n padding: calc(2 * var(--kolibri-spacing));\n}\n.p-4 {\n padding: calc(4 * var(--kolibri-spacing));\n}\n.px {\n padding-left: 1px;\n padding-right: 1px;\n}\n.py-2 {\n padding-top: calc(2 * var(--kolibri-spacing));\n padding-bottom: calc(2 * var(--kolibri-spacing));\n}\n.pl-8 {\n padding-left: 2rem;\n}\n.pb-2 {\n padding-bottom: calc(2 * var(--kolibri-spacing));\n}\n.tab {\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n}\n.absolute {\n position: absolute;\n}\n.text-center {\n text-align: center;\n}\n.text-normal {\n color: var(--kolibri-color-normal);\n}\n.hover\\:text-primary:hover {\n color: var(--kolibri-color-primary);\n}\n.italic {\n font-style: italic;\n}\n.underline {\n -webkit-text-decoration-line: underline;\n text-decoration-line: underline;\n}\n.indent {\n text-indent: 1.5rem;\n}\n.visible {\n visibility: visible;\n}\n.w-full {\n width: 100%;\n}\n.w-4\\/5 {\n width: 80%;\n}\n.z-50 {\n z-index: 50;\n}\n.gap-1 {\n grid-gap: calc(1 * var(--kolibri-spacing));\n gap: calc(1 * var(--kolibri-spacing));\n}\n.gap-2 {\n grid-gap: calc(2 * var(--kolibri-spacing));\n gap: calc(2 * var(--kolibri-spacing));\n}\n.grid-flow-col {\n grid-auto-flow: column;\n}\n.transform {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-rotate: 0;\n --tw-rotate-x: 0;\n --tw-rotate-y: 0;\n --tw-rotate-z: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-scale-z: 1;\n -webkit-transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));\n -ms-transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));\n transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));\n}\n.animate {\n -webkit-animation-iteration-count: 1;\n animation-iteration-count: 1;\n}\n.filter {\n --tw-blur: var(--tw-empty,/*!*/ /*!*/);\n --tw-brightness: var(--tw-empty,/*!*/ /*!*/);\n --tw-contrast: var(--tw-empty,/*!*/ /*!*/);\n --tw-grayscale: var(--tw-empty,/*!*/ /*!*/);\n --tw-hue-rotate: var(--tw-empty,/*!*/ /*!*/);\n --tw-invert: var(--tw-empty,/*!*/ /*!*/);\n --tw-saturate: var(--tw-empty,/*!*/ /*!*/);\n --tw-sepia: var(--tw-empty,/*!*/ /*!*/);\n --tw-drop-shadow: var(--tw-empty,/*!*/ /*!*/);\n -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n.blur {\n -webkit-backdrop-filter: blur(8px);\n backdrop-filter: blur(8px);\n}\n:host * {\n -ms-hyphens: var(--kolibri-hyphens);\n -webkit-hyphens: var(--kolibri-hyphens);\n hyphens: var(--kolibri-hyphens);\n font-family: var(--kolibri-font-family);\n line-height: var(--kolibri-line-height);\n word-break: break-word;\n}\n\n:host {\n overflow: hidden;\n}\n:host > div {\n overflow-x: auto;\n border-radius: var(--kolibri-border-radius);\n border-style: solid;\n border-width: 1px;\n}\n:host > div table {\n border: 0;\n width: 100%;\n}\n:host > div table tr {\n border-top-style: solid;\n border-top-width: 1px;\n padding-top: calc(1 * var(--kolibri-spacing));\n padding-bottom: calc(1 * var(--kolibri-spacing));\n padding-left: calc(2 * var(--kolibri-spacing));\n padding-right: calc(2 * var(--kolibri-spacing));\n}\n:host > div table tr th, :host > div table tr td {\n border-right-style: solid;\n border-right-width: 1px;\n padding-top: calc(1 * var(--kolibri-spacing));\n padding-bottom: calc(1 * var(--kolibri-spacing));\n padding-left: calc(2 * var(--kolibri-spacing));\n padding-right: calc(2 * var(--kolibri-spacing));\n}\n:host > div table tr th:last-child,\n:host > div table tr td:last-child {\n border: 0;\n}\n:host > div table tr th, :host > div table tr .th {\n --tw-bg-opacity: 1;\n background-color: rgba(229, 231, 235, var(--tw-bg-opacity));\n}\n:host > div table tr:nth-child(even) {\n --tw-bg-opacity: 1;\n background-color: rgba(243, 244, 246, var(--tw-bg-opacity));\n}\n:host > div table tr:nth-child(odd) {\n @apply white;\n}\n:host > div.pagination {\n border-style: none;\n display: -ms-grid;\n display: grid;\n -webkit-box-align: center;\n -ms-flex-align: center;\n -webkit-align-items: center;\n align-items: center;\n -ms-flex-line-pack: center;\n -webkit-align-content: center;\n align-content: center;\n padding-top: calc(2 * var(--kolibri-spacing));\n padding-left: calc(1 * var(--kolibri-spacing));\n padding-right: calc(1 * var(--kolibri-spacing));\n width: 100%;\n grid-gap: calc(2 * var(--kolibri-spacing));\n gap: calc(2 * var(--kolibri-spacing));\n grid-auto-flow: column;\n}\n:host > div.pagination > div::last-child {\n display: -webkit-box;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n -webkit-align-items: center;\n align-items: center;\n -ms-grid-column-align: end;\n justify-self: end;\n grid-gap: calc(2 * var(--kolibri-spacing));\n gap: calc(2 * var(--kolibri-spacing));\n}'};export{d as kol_table};
4
+ import{r as n,h as t,H as i}from"./index-a9774259.js";import{s as e,w as a,i as o,p as r,a as l,o as s}from"./prop.validators-82b345aa.js";import"./index.m-86dc8c44.js";import"./a11y.tipps-d591ee77.js";import"./dev.utils-daaf2f39.js";import"./index-d870d3e1.js";const c=[10,20,50,100],d=class{constructor(t){n(this,t),this.horizontal=!0,this.sortDirections=new Map,this.showPagination=!1,this.pageStartSlice=0,this.pageEndSlice=10,this.handlePagination={onClick:(t,n)=>{var i;"function"==typeof(null===(i=this.state._pagination._on)||void 0===i?void 0:i.onClick)&&this.state._pagination._on.onClick(t,n),e(this,"_pagination",Object.assign(Object.assign({},this.state._pagination),{_page:n}))},onChangePage:(t,n)=>{var i;"function"==typeof(null===(i=this.state._pagination._on)||void 0===i?void 0:i.onChangePage)&&this.state._pagination._on.onChangePage(t,n),e(this,"_pagination",Object.assign(Object.assign({},this.state._pagination),{_page:n}))},onChangePageSize:(t,n)=>{var i;"function"==typeof(null===(i=this.state._pagination._on)||void 0===i?void 0:i.onChangePageSize)&&this.state._pagination._on.onChangePageSize(t,n),e(this,"_pagination",Object.assign(Object.assign({},this.state._pagination),{_pageSize:n})),e(this,"_pageSize",n)}},this.beforePatchPagination=(t,n,i,a)=>{"_pagination"===a&&(this.showPagination=!0===t||""===t||"object"==typeof t&&null!==t)},this.updateSortedData=()=>{let t=this.state._data;if("function"==typeof this.sortFunction)switch(this.sortDirections.get(this.sortFunction)){case"NOS":t=[...this.state._data];break;case"ASC":t=this.sortFunction([...this.state._data]);break;default:t=this.sortFunction([...this.state._data]).reverse()}e(this,"_sortedData",t)},this._caption=void 0,this._data=void 0,this._headers=void 0,this._minWidth=void 0,this._pagination=void 0,this.state={_caption:"",_data:[],_headers:{horizontal:[],vertical:[]},_pagination:{_page:1,_pageSize:10,_total:0},_sortedData:[]}}validateCaption(t){a(this,"_caption",t,{required:!0})}validateData(t){o(t,(()=>{s(t,(()=>{void 0===t&&(t=[]);try{t=r(t)}catch(t){}Array.isArray(t)&&void 0===t.find((t=>!("object"==typeof t&&null!==t)))&&e(this,"_data",t,{afterPatch:()=>{const t=setTimeout((()=>{clearTimeout(t),this.updateSortedData()}))}})}))}))}validateHeaders(t){o(t,(()=>{s(t,(()=>{try{t=r(t)}catch(t){}l(this,"_headers",(t=>"object"==typeof t&&null!==t),new Set(["KoliBriTableHeaders"]),t,{hooks:{beforePatch:t=>{var n;null===(n=t.horizontal)||void 0===n||n.forEach((t=>{t.forEach((t=>{"function"==typeof t.sort&&"string"==typeof t.sortDirection&&this.sortDirections.set(t.sort,t.sortDirection)}))}))}}})}))}))}validateMinWidth(t){a(this,"_minWidth",t,{defaultValue:void 0})}validatePagination(t){try{t=r(t)}catch(t){}l(this,"_pagination",(()=>!0),new Set(["boolean","KoliBriTablePagination"]),t,{hooks:{beforePatch:this.beforePatchPagination}})}componentWillLoad(){this.validateCaption(this._caption),this.validateData(this._data),this.validateHeaders(this._headers),this.validateMinWidth(this._minWidth),this.validatePagination(this._pagination)}getNumberOfCols(t,n){let i=0;return t.forEach((t=>{let n=0;t.forEach((t=>{var i;return n+=null!==(i=t.colSpan)&&void 0!==i?i:1})),i<n&&(i=n)})),0===i&&(i=n.length),i}getNumberOfRows(t,n){let i=0;return t.forEach((t=>{let n=0;t.forEach((t=>{var i;return n+=null!==(i=t.rowSpan)&&void 0!==i?i:1})),i<n&&(i=n)})),0===i&&(i=n.length),i}filterHeaderKeys(t){const n=[];return t.forEach((t=>{t.forEach((t=>{"string"==typeof t.key&&n.push(t)}))})),n}getPrimaryHeader(t){var n,i;let a=this.filterHeaderKeys(null!==(n=t.horizontal)&&void 0!==n?n:[]);return this.horizontal=!0,0===a.length&&(a=this.filterHeaderKeys(null!==(i=t.vertical)&&void 0!==i?i:[]),a.length>0&&(this.horizontal=!1)),a}createDataField(t,n){n.horizontal=Array.isArray(null==n?void 0:n.horizontal)?n.horizontal:[],n.vertical=Array.isArray(null==n?void 0:n.vertical)?n.vertical:[];const i=this.getPrimaryHeader(n),a=this.getNumberOfCols(n.horizontal,t),e=this.getNumberOfRows(n.vertical,t),o=[],r=[],s=[];n.vertical.forEach(((t,n)=>{r[n]=0,s[n]=[]}));for(let l=0;l<e;l++){const e=[];n.vertical.forEach(((t,n)=>{let i=0;if(s[n].forEach((t=>i+=t)),i<=l){const a=t[l-i+r[n]];if("object"==typeof a){e.push(Object.assign(Object.assign({},a),{asTd:!1,data:{}}));let t=1;if("number"==typeof a.rowSpan&&a.rowSpan>1&&(t=a.rowSpan),s[n].push(t),"number"==typeof a.colSpan&&a.colSpan>1)for(let i=1;i<a.colSpan;i++)s[n+i].push(t);r[n]++}}}));for(let n=0;n<a;n++)!0===this.horizontal?"object"==typeof i[n]&&null!==i[n]&&"string"==typeof i[n].key&&"object"==typeof t[l]&&null!==t[l]&&e.push(Object.assign(Object.assign({},i[n]),{colSpan:void 0,data:t[l],label:t[l][i[n].key],rowSpan:void 0})):"object"==typeof i[l]&&null!==i[l]&&"string"==typeof i[l].key&&"object"==typeof t[n]&&null!==t[n]&&e.push(Object.assign(Object.assign({},i[l]),{colSpan:void 0,data:t[n],label:t[n][i[l].key],rowSpan:void 0}));o.push(e)}if(0===t.length){let t=0,i=0;Array.isArray(n.horizontal)&&n.horizontal.length>0&&n.horizontal[0].forEach((n=>{t+=n.colSpan||1})),Array.isArray(n.vertical)&&n.vertical.length>0&&(t-=n.vertical.length,n.vertical[0].forEach((t=>{i+=t.rowSpan||1})));const a={colSpan:t,label:"Es sind keine Einträge vorhanden.",render:void 0,rowSpan:Math.max(i,1)};0===o.length?o.push([a]):o[0].push(a)}return o}selectDisplayedData(t,n,i){return"number"==typeof n&&n>0&&"number"==typeof i&&i>0?(this.pageStartSlice=n*(i-1),this.pageEndSlice=n*i>t.length?t.length:n*i,t.slice(this.pageStartSlice,this.pageEndSlice)):(this.pageStartSlice=0,this.pageEndSlice=t.length,t)}cellRender(t,n){const i=setTimeout((()=>{if(clearTimeout(i),"function"==typeof t.render&&n instanceof HTMLElement){const i=t.render(n,{asTd:t.asTd,label:t.label,textAlign:t.textAlign,width:t.width},t.data,this.state._data);"string"==typeof i&&(n.innerHTML=i)}}),50)}render(){var n,a;const e=this.selectDisplayedData(this.state._sortedData,this.showPagination?null!==(a=null===(n=this.state._pagination)||void 0===n?void 0:n._pageSize)&&void 0!==a?a:10:this.state._sortedData.length,this.state._pagination._page||1),o=this.createDataField(e,this.state._headers);return t(i,null,t("div",{tabindex:"0"},t("table",{style:{minWidth:this.state._minWidth}},t("caption",null,this.state._caption),Array.isArray(this.state._headers.horizontal)&&t("thead",null,this.state._headers.horizontal.map((n=>t("tr",null,n.map((n=>!0===n.asTd?t("td",{class:{[n.textAlign]:"string"==typeof n.textAlign&&n.textAlign.length>0},colSpan:n.colSpan,rowSpan:n.rowSpan,style:{textAlign:n.textAlign,width:n.width},ref:"function"==typeof n.render?t=>{this.cellRender(n,t)}:void 0,innerHTML:"function"!=typeof n.render?n.label:""}):t("th",{scope:"number"==typeof n.colSpan&&n.colSpan>1?"colgroup":"col",colSpan:n.colSpan,rowSpan:n.rowSpan,style:{width:n.width},"aria-sort":"function"==typeof n.sort?"NOS"===this.sortDirections.get(n.sort)||void 0===this.sortDirections.get(n.sort)?"none":"ASC"===this.sortDirections.get(n.sort)?"ascending":"descending":void 0},t("div",{class:"w-full flex gap-1 items-center"},t("div",{class:{"w-full":!0,[n.textAlign]:"string"==typeof n.textAlign&&n.textAlign.length>0},innerHTML:n.label,style:{textAlign:n.textAlign}}),"function"==typeof n.sort&&t("kol-button",{exportparts:"button,ghost",_ariaLabel:"Sortierung von "+n.label+" ändern",_icon:"NOS"===this.sortDirections.get(n.sort)||void 0===this.sortDirections.get(n.sort)?"fas fa-sort":"ASC"===this.sortDirections.get(n.sort)?"fas fa-sort-up":"fas fa-sort-down",_iconOnly:!0,_label:"Sortierung von "+n.label+" ändern",_on:{onClick:()=>{if("function"==typeof n.sort){switch(this.sortFunction=n.sort,this.sortDirections.get(this.sortFunction)){case"ASC":this.sortDirections.set(this.sortFunction,"DESC");break;case"DESC":this.sortDirections.set(this.sortFunction,"NOS");break;default:this.sortDirections.set(this.sortFunction,"ASC")}this.updateSortedData()}}},_variant:"ghost"}))))))))),t("tbody",null,o.map(((n,i)=>t("tr",{key:`row-${i}`},n.map((n=>!1===n.asTd?t("th",{scope:"number"==typeof n.rowSpan&&n.rowSpan>1?"rowgroup":"row",colSpan:n.colSpan,rowSpan:n.rowSpan,style:{width:n.width},"aria-sort":"function"==typeof n.sort?"NOS"===this.sortDirections.get(n.sort)||void 0===this.sortDirections.get(n.sort)?"none":"ASC"===this.sortDirections.get(n.sort)?"ascending":"descending":void 0},t("div",{class:"w-full flex gap-1 items-center"},t("div",{class:{"w-full":!0,[n.textAlign]:"string"==typeof n.textAlign&&n.textAlign.length>0},innerHTML:n.label,style:{textAlign:n.textAlign}}),"function"==typeof n.sort&&t("kol-button",{exportparts:"button,ghost",_ariaLabel:"Sortierung von "+n.label+" ändern",_icon:"NOS"===this.sortDirections.get(n.sort)||void 0===this.sortDirections.get(n.sort)?"fas fa-sort":"ASC"===this.sortDirections.get(n.sort)?"fas fa-sort-up":"fas fa-sort-down",_iconOnly:!0,_label:"Sortierung von "+n.label+" ändern",_on:{onClick:()=>{if("function"==typeof n.sort){switch(this.sortFunction=n.sort,this.sortDirections.get(this.sortFunction)){case"ASC":this.sortDirections.set(this.sortFunction,"DESC");break;case"DESC":this.sortDirections.set(this.sortFunction,"NOS");break;default:this.sortDirections.set(this.sortFunction,"ASC")}this.updateSortedData()}}},_variant:"ghost"}))):t("td",{class:{[n.textAlign]:"string"==typeof n.textAlign&&n.textAlign.length>0},colSpan:n.colSpan,rowSpan:n.rowSpan,style:{textAlign:n.textAlign,width:n.width},ref:"function"==typeof n.render?t=>{this.cellRender(n,t)}:void 0,innerHTML:"function"!=typeof n.render?n.label:""}))))))))),this.pageEndSlice>0&&this.showPagination&&t("div",null,t("span",null,"Einträge ",this.pageEndSlice>0?this.pageStartSlice+1:0," bis ",this.pageEndSlice," von"," ",this.state._pagination._total||(Array.isArray(this.state._data)?this.state._data.length:0)," angezeigt"),t("div",null,t("kol-pagination",{_boundaryCount:this.state._pagination._boundaryCount,_customClass:this.state._pagination._customClass,_on:this.handlePagination,_page:this.state._pagination._page,_pageSize:this.state._pagination._pageSize,_pageSizeOptions:this.state._pagination._pageSizeOptions||c,_siblingCount:this.state._pagination._siblingCount,_tooltipAlign:"bottom",_total:this.state._pagination._total||this.state._data.length}))))}static get watchers(){return{_caption:["validateCaption"],_data:["validateData"],_headers:["validateHeaders"],_minWidth:["validateMinWidth"],_pagination:["validatePagination"]}}};d.style={default:'/* windicss-touch: 1639175625181 */\n/* windicss-touch: 1649810622229 */\n/* windicss layer base */\n*, ::before, ::after {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n border-width: 0;\n border-style: solid;\n border-color: var(--kolibri-border-color);\n}\n* {\n --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: var(--kolibri-color);\n --tw-ring-color: rgba(undefined, 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n}\n:root {\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n}\n:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n:-moz-ui-invalid {\n box-shadow: none;\n}\n::moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n}\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\n[type=\'search\'] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\nabbr[title] {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\na {\n color: inherit;\n text-decoration: inherit;\n}\nbody {\n margin: 0;\n font-family: inherit;\n line-height: inherit;\n}\nb {\n font-weight: bolder;\n}\nbutton, select {\n text-transform: none;\n}\nbutton, [type=\'button\'], [type=\'reset\'], [type=\'submit\'] {\n -webkit-appearance: button;\n}\nbutton {\n background-color: transparent;\n background-image: none;\n}\nbutton, [role="button"] {\n cursor: pointer;\n}\ncode {\n font-size: 1em;\n font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;\n}\nfieldset {\n margin: 0;\n padding: 0;\n}\nhtml {\n -webkit-text-size-adjust: 100%;\n font-family: ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";\n line-height: 1.5;\n}\nh1, p, h2, h3, h4, h5, h6 {\n margin: 0;\n}\nh1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n}\ninput, button, optgroup, select, textarea {\n font-family: inherit;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n padding: 0;\n line-height: inherit;\n color: inherit;\n}\ninput::placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput::webkit-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput::-moz-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput:-ms-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput::-ms-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\nlegend {\n padding: 0;\n}\nprogress {\n vertical-align: baseline;\n}\nsmall {\n font-size: 80%;\n}\nsvg {\n display: block;\n vertical-align: middle;\n}\ntable {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n}\ntextarea {\n resize: vertical;\n}\ntextarea::placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ntextarea::webkit-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ntextarea::-moz-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ntextarea:-ms-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ntextarea::-ms-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\nul, ol {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n/* windicss layer components */\n/* windicss layer utilities */\n.container {\n width: 100%;\n}\n@media (min-width: 640px) {\n .container {\n max-width: 640px;\n }\n}\n@media (min-width: 768px) {\n .container {\n max-width: 768px;\n }\n}\n@media (min-width: 1024px) {\n .container {\n max-width: 1024px;\n }\n}\n@media (min-width: 1280px) {\n .container {\n max-width: 1280px;\n }\n}\n@media (min-width: 1536px) {\n .container {\n max-width: 1536px;\n }\n}\n.bg-normal {\n background-color: var(--kolibri-color-normal);\n}\n.bg-white {\n --tw-bg-opacity: 1;\n background-color: rgba(255, 255, 255, var(--tw-bg-opacity));\n}\n.bg-spin-1 {\n background-color: var(--kolibri-color-spin-1);\n}\n.bg-spin-2 {\n background-color: var(--kolibri-color-spin-2);\n}\n.bg-spin-3 {\n background-color: var(--kolibri-color-spin-3);\n}\n.rounded {\n border-radius: var(--kolibri-border-radius);\n}\n.border-1 {\n border-width: 1px;\n}\n.cursor-pointer {\n cursor: pointer;\n}\n.block {\n display: block;\n}\n.inline-block {\n display: inline-block;\n}\n.flex {\n display: -webkit-box;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n}\n.inline-flex {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: -webkit-inline-flex;\n display: inline-flex;\n}\n.table {\n display: table;\n}\n.grid {\n display: -ms-grid;\n display: grid;\n}\n.hidden {\n display: none;\n}\n.flex-wrap {\n -ms-flex-wrap: wrap;\n -webkit-flex-wrap: wrap;\n flex-wrap: wrap;\n}\n.items-center {\n -webkit-box-align: center;\n -ms-flex-align: center;\n -webkit-align-items: center;\n align-items: center;\n}\n.content-center {\n -ms-flex-line-pack: center;\n -webkit-align-content: center;\n align-content: center;\n}\n.float-left {\n float: left;\n}\n.font-80 {\n font-weight: 80;\n}\n.font-60 {\n font-weight: 60;\n}\n.h-full {\n height: 100%;\n}\n.h-0 {\n height: 0px;\n}\n.h-0\\.41c-2\\.42\\2c 0-4\\.82-1\\.57-4\\.82-3\\.58c0\\.05-0\\.98\\2c 0\\.43-1\\.91\\2c 1\\.07-2\\.65c0\\.3\\2c 0\\.05\\2c 0\\.61\\2c 0\\.09\\2c 0\\.92\\2c 0\\.09c1\\.1\\2c 0\\2c 1\\.69-0\\.58\\2c 1\\.74-1\\.16 {\n height: 0.29rem;\n}\n.text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem;\n}\n.text-2xl {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n.text-lg {\n font-size: 1.125rem;\n line-height: 1.75rem;\n}\n.leading-normal {\n line-height: 1.5;\n}\n.list-none {\n list-style-type: none;\n}\n.list-disc {\n list-style-type: disc;\n}\n.list-decimal {\n list-style-type: decimal;\n}\n.mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n.mb-1 {\n margin-bottom: calc(1 * var(--kolibri-spacing));\n}\n.mr-2 {\n margin-right: calc(2 * var(--kolibri-spacing));\n}\n.ml-2 {\n margin-left: calc(2 * var(--kolibri-spacing));\n}\n.mt-2 {\n margin-top: calc(2 * var(--kolibri-spacing));\n}\n.mt-4 {\n margin-top: calc(4 * var(--kolibri-spacing));\n}\n.outline {\n outline-style: solid;\n}\n.overflow-hidden {\n overflow: hidden;\n}\n.overflow-y-visible {\n overflow-y: visible;\n}\n.p-2 {\n padding: calc(2 * var(--kolibri-spacing));\n}\n.p-4 {\n padding: calc(4 * var(--kolibri-spacing));\n}\n.px {\n padding-left: 1px;\n padding-right: 1px;\n}\n.py-2 {\n padding-top: calc(2 * var(--kolibri-spacing));\n padding-bottom: calc(2 * var(--kolibri-spacing));\n}\n.pl-8 {\n padding-left: 2rem;\n}\n.pb-2 {\n padding-bottom: calc(2 * var(--kolibri-spacing));\n}\n.tab {\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n}\n.absolute {\n position: absolute;\n}\n.text-center {\n text-align: center;\n}\n.text-normal {\n color: var(--kolibri-color-normal);\n}\n.hover\\:text-primary:hover {\n color: var(--kolibri-color-primary);\n}\n.italic {\n font-style: italic;\n}\n.underline {\n -webkit-text-decoration-line: underline;\n text-decoration-line: underline;\n}\n.indent {\n text-indent: 1.5rem;\n}\n.visible {\n visibility: visible;\n}\n.w-full {\n width: 100%;\n}\n.w-4\\/5 {\n width: 80%;\n}\n.z-50 {\n z-index: 50;\n}\n.gap-1 {\n grid-gap: calc(1 * var(--kolibri-spacing));\n gap: calc(1 * var(--kolibri-spacing));\n}\n.gap-2 {\n grid-gap: calc(2 * var(--kolibri-spacing));\n gap: calc(2 * var(--kolibri-spacing));\n}\n.grid-flow-col {\n grid-auto-flow: column;\n}\n.transform {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-rotate: 0;\n --tw-rotate-x: 0;\n --tw-rotate-y: 0;\n --tw-rotate-z: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-scale-z: 1;\n -webkit-transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));\n -ms-transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));\n transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));\n}\n.animate {\n -webkit-animation-iteration-count: 1;\n animation-iteration-count: 1;\n}\n.filter {\n --tw-blur: var(--tw-empty,/*!*/ /*!*/);\n --tw-brightness: var(--tw-empty,/*!*/ /*!*/);\n --tw-contrast: var(--tw-empty,/*!*/ /*!*/);\n --tw-grayscale: var(--tw-empty,/*!*/ /*!*/);\n --tw-hue-rotate: var(--tw-empty,/*!*/ /*!*/);\n --tw-invert: var(--tw-empty,/*!*/ /*!*/);\n --tw-saturate: var(--tw-empty,/*!*/ /*!*/);\n --tw-sepia: var(--tw-empty,/*!*/ /*!*/);\n --tw-drop-shadow: var(--tw-empty,/*!*/ /*!*/);\n -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n.blur {\n -webkit-backdrop-filter: blur(8px);\n backdrop-filter: blur(8px);\n}\n:host * {\n -ms-hyphens: var(--kolibri-hyphens);\n -webkit-hyphens: var(--kolibri-hyphens);\n hyphens: var(--kolibri-hyphens);\n font-family: var(--kolibri-font-family);\n line-height: var(--kolibri-line-height);\n word-break: break-word;\n}\n\n:host {\n overflow: hidden;\n}\n:host > div {\n overflow-x: auto;\n border-radius: var(--kolibri-border-radius);\n border-style: solid;\n border-width: 1px;\n}\n:host > div table {\n border: 0;\n width: 100%;\n}\n:host > div table tr {\n border-top-style: solid;\n border-top-width: 1px;\n padding-top: calc(1 * var(--kolibri-spacing));\n padding-bottom: calc(1 * var(--kolibri-spacing));\n padding-left: calc(2 * var(--kolibri-spacing));\n padding-right: calc(2 * var(--kolibri-spacing));\n}\n:host > div table tr th, :host > div table tr td {\n border-right-style: solid;\n border-right-width: 1px;\n padding-top: calc(1 * var(--kolibri-spacing));\n padding-bottom: calc(1 * var(--kolibri-spacing));\n padding-left: calc(2 * var(--kolibri-spacing));\n padding-right: calc(2 * var(--kolibri-spacing));\n}\n:host > div table tr th:last-child,\n:host > div table tr td:last-child {\n border: 0;\n}\n:host > div table tr th, :host > div table tr .th {\n --tw-bg-opacity: 1;\n background-color: rgba(229, 231, 235, var(--tw-bg-opacity));\n}\n:host > div table tr:nth-child(even) {\n --tw-bg-opacity: 1;\n background-color: rgba(243, 244, 246, var(--tw-bg-opacity));\n}\n:host > div table tr:nth-child(odd) {\n @apply white;\n}\n:host > div.pagination {\n border-style: none;\n display: -ms-grid;\n display: grid;\n -webkit-box-align: center;\n -ms-flex-align: center;\n -webkit-align-items: center;\n align-items: center;\n -ms-flex-line-pack: center;\n -webkit-align-content: center;\n align-content: center;\n padding-top: calc(2 * var(--kolibri-spacing));\n padding-left: calc(1 * var(--kolibri-spacing));\n padding-right: calc(1 * var(--kolibri-spacing));\n width: 100%;\n grid-gap: calc(2 * var(--kolibri-spacing));\n gap: calc(2 * var(--kolibri-spacing));\n grid-auto-flow: column;\n}\n:host > div.pagination > div::last-child {\n display: -webkit-box;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n -webkit-align-items: center;\n align-items: center;\n -ms-grid-column-align: end;\n justify-self: end;\n grid-gap: calc(2 * var(--kolibri-spacing));\n gap: calc(2 * var(--kolibri-spacing));\n}'};export{d as kol_table};