@public-ui/components 1.1.13-rc.1 → 1.1.13-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.1.13-rc.1",
2
+ "version": "1.1.13-rc.2",
3
3
  "tags": [
4
4
  {
5
5
  "name": "kol-abbr",
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - the accessible web component library
3
3
  */
4
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const index=require("./index-e6ae017d.js"),prop_validators=require("./prop.validators-c9c78ae0.js");require("./index.m-d4f02c88.js"),require("./a11y.tipps-c34c01ad.js"),require("./dev.utils-d0a4bbec.js"),require("./index-33a14d78.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=[]),"string"==typeof t&&(t=prop_validators.parseJson(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,(()=>{"string"==typeof t&&(t=prop_validators.parseJson(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){"string"==typeof t&&(t=prop_validators.parseJson(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)}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",null,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 sort-up":"fas 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.showPagination&&index.h("div",{class:"pagination"},Array.isArray(this.state._data)&&this.state._data.length>0?index.h("span",null,"Einträge ",this.pageStartSlice+1," bis ",this.pageEndSlice," von"," ",this.state._pagination._total||(Array.isArray(this.state._data)?this.state._data.length:0)," angezeigt"):index.h("span",null,"Es sind keine Einträge vorhanden."),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-e6ae017d.js"),prop_validators=require("./prop.validators-c9c78ae0.js");require("./index.m-d4f02c88.js"),require("./a11y.tipps-c34c01ad.js"),require("./dev.utils-d0a4bbec.js"),require("./index-33a14d78.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=[]),"string"==typeof t&&(t=prop_validators.parseJson(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,(()=>{"string"==typeof t&&(t=prop_validators.parseJson(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){"string"==typeof t&&(t=prop_validators.parseJson(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)}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 sort-up":"fas 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.showPagination&&index.h("div",{class:"pagination"},Array.isArray(this.state._data)&&this.state._data.length>0?index.h("span",null,"Einträge ",this.pageStartSlice+1," bis ",this.pageEndSlice," von"," ",this.state._pagination._total||(Array.isArray(this.state._data)?this.state._data.length:0)," angezeigt"):index.h("span",null,"Es sind keine Einträge vorhanden."),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 web component library
3
3
  */
4
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const index=require("./index-e6ae017d.js"),a11y_tipps=require("./a11y.tipps-c34c01ad.js"),dev_utils=require("./dev.utils-d0a4bbec.js"),prop_validators=require("./prop.validators-c9c78ae0.js");require("./index.m-d4f02c88.js"),require("./index-33a14d78.js");const AVAILABLE_ALIGNMENT_VALUES=new Set(['"left", "right"']),validateAlignment=(t,e,a)=>{prop_validators.watchValidator(t,e,(t=>"bottom"===t||"left"===t||"right"===t||"top"===t),AVAILABLE_ALIGNMENT_VALUES,a)},defaultStyleCss='*,::before,::after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--kolibri-border-color)}*{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:var(--kolibri-color);--tw-ring-color:rgba(undefined, 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}::moz-focus-inner{border-style:none;padding:0}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type=\'search\']{-webkit-appearance:textfield;outline-offset:-2px}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}a{color:inherit;text-decoration:inherit}body{margin:0;font-family:inherit;line-height:inherit}b{font-weight:bolder}button,select{text-transform:none}button,[type=\'button\'],[type=\'reset\'],[type=\'submit\']{-webkit-appearance:button}button{background-color:transparent;background-image:none}button,[role="button"]{cursor:pointer}code{font-size:1em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}fieldset{margin:0;padding:0}html{-webkit-text-size-adjust:100%;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";line-height:1.5}h1,p,h2,h3,h4,h5,h6{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}input,button,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;padding:0;line-height:inherit;color:inherit}input::placeholder{opacity:1;color:#9ca3af}input::webkit-input-placeholder{opacity:1;color:#9ca3af}input::-moz-placeholder{opacity:1;color:#9ca3af}input:-ms-input-placeholder{opacity:1;color:#9ca3af}input::-ms-input-placeholder{opacity:1;color:#9ca3af}legend{padding:0}progress{vertical-align:baseline}small{font-size:80%}svg{display:block;vertical-align:middle}table{text-indent:0;border-color:inherit;border-collapse:collapse}textarea{resize:vertical}textarea::placeholder{opacity:1;color:#9ca3af}textarea::webkit-input-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}textarea:-ms-input-placeholder{opacity:1;color:#9ca3af}textarea::-ms-input-placeholder{opacity:1;color:#9ca3af}ul,ol{list-style:none;margin:0;padding:0}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.bg-normal{background-color:var(--kolibri-color-normal)}.bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-spin-1{background-color:var(--kolibri-color-spin-1)}.bg-spin-2{background-color:var(--kolibri-color-spin-2)}.bg-spin-3{background-color:var(--kolibri-color-spin-3)}.rounded{border-radius:var(--kolibri-border-radius)}.border-1{border-width:1px}.cursor-pointer{cursor:pointer}.block{display:block}.inline-block{display:inline-block}.flex{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.inline-flex{display:-webkit-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex}.table{display:table}.grid{display:-ms-grid;display:grid}.hidden{display:none}.flex-wrap{-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.items-center{-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}.content-center{-ms-flex-line-pack:center;-webkit-align-content:center;align-content:center}.float-left{float:left}.font-80{font-weight:80}.font-60{font-weight:60}.h-full{height:100%}.h-0{height:0px}.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{height:0.29rem}.text-sm{font-size:0.875rem;line-height:1.25rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.leading-normal{line-height:1.5}.list-none{list-style-type:none}.list-disc{list-style-type:disc}.list-decimal{list-style-type:decimal}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:calc(1 * var(--kolibri-spacing))}.mr-2{margin-right:calc(2 * var(--kolibri-spacing))}.ml-2{margin-left:calc(2 * var(--kolibri-spacing))}.mt-2{margin-top:calc(2 * var(--kolibri-spacing))}.mt-4{margin-top:calc(4 * var(--kolibri-spacing))}.outline{outline-style:solid}.overflow-hidden{overflow:hidden}.overflow-y-visible{overflow-y:visible}.p-2{padding:calc(2 * var(--kolibri-spacing))}.p-4{padding:calc(4 * var(--kolibri-spacing))}.px{padding-left:1px;padding-right:1px}.py-2{padding-top:calc(2 * var(--kolibri-spacing));padding-bottom:calc(2 * var(--kolibri-spacing))}.pl-8{padding-left:2rem}.pb-2{padding-bottom:calc(2 * var(--kolibri-spacing))}.tab{-moz-tab-size:4;-o-tab-size:4;tab-size:4}.absolute{position:absolute}.text-center{text-align:center}.text-normal{color:var(--kolibri-color-normal)}.hover\\:text-primary:hover{color:var(--kolibri-color-primary)}.italic{font-style:italic}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.indent{text-indent:1.5rem}.visible{visibility:visible}.w-full{width:100%}.w-4\\/5{width:80%}.z-50{z-index:50}.gap-1{grid-gap:calc(1 * var(--kolibri-spacing));gap:calc(1 * var(--kolibri-spacing))}.gap-2{grid-gap:calc(2 * var(--kolibri-spacing));gap:calc(2 * var(--kolibri-spacing))}.grid-flow-col{grid-auto-flow:column}.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate:0;--tw-rotate-x:0;--tw-rotate-y:0;--tw-rotate-z:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;-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));-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));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))}.animate{-webkit-animation-iteration-count:1;animation-iteration-count:1}.filter{--tw-blur:var(--tw-empty, );--tw-brightness:var(--tw-empty, );--tw-contrast:var(--tw-empty, );--tw-grayscale:var(--tw-empty, );--tw-hue-rotate:var(--tw-empty, );--tw-invert:var(--tw-empty, );--tw-saturate:var(--tw-empty, );--tw-sepia:var(--tw-empty, );--tw-drop-shadow:var(--tw-empty, );-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);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)}.blur{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}:host *{-ms-hyphens:var(--kolibri-hyphens);-webkit-hyphens:var(--kolibri-hyphens);hyphens:var(--kolibri-hyphens);font-family:var(--kolibri-font-family);line-height:var(--kolibri-line-height);word-break:break-word}:host{display:inline-flex}:host>*{color:inherit;width:inherit;word-spacing:inherit}:host button{display:grid;font-family:var(--kolibri-font-family);letter-spacing:inherit;width:inherit;word-spacing:inherit;border-radius:var(--kolibri-border-radius);align-items:center !important;justify-content:center !important;border-width:1px;padding:calc(2 * var(--kolibri-spacing))}:host button kol-icon,:host button .kol-icon{width:1.5em;height:1.5em;display:inline-block}:host button.primary{background-color:var(--kolibri-color-primary);border-color:transparent;--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}:host button.primary:hover,:host button.primary:focus{border-color:var(--kolibri-color-primary);color:var(--kolibri-color-primary)}:host button.secondary{background-color:var(--kolibri-color-secondary);border-color:transparent;--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}:host button.secondary:hover,:host button.secondary:focus{border-color:var(--kolibri-color-secondary);color:var(--kolibri-color-secondary)}:host button.normal{background-color:var(--kolibri-color-normal);border-color:transparent;--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}:host button.normal:hover,:host button.normal:focus{border-color:var(--kolibri-color-normal);color:var(--kolibri-color-normal)}:host button.danger{background-color:var(--kolibri-color-danger);border-color:transparent;--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}:host button.danger:hover,:host button.danger:focus{border-color:var(--kolibri-color-danger);color:var(--kolibri-color-danger)}:host button.ghost{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity));border-color:var(--kolibri-color-ghost);color:var(--kolibri-color-ghost)}:host button.ghost:hover,:host button.ghost:focus{background-color:var(--kolibri-color-ghost);border-color:transparent;--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}:host button:disabled{--tw-bg-opacity:1;background-color:rgba(209, 213, 219, var(--tw-bg-opacity));border-color:transparent;cursor:not-allowed;--tw-text-opacity:1;color:rgba(55, 65, 81, var(--tw-text-opacity))}:host button:disabled:hover,:host button:disabled:focus{--tw-bg-opacity:1;background-color:rgba(55, 65, 81, var(--tw-bg-opacity));--tw-text-opacity:1;color:rgba(209, 213, 219, var(--tw-text-opacity))}:host button[aria-selected=true],:host button:focus{border-bottom-color:var(--kolibri-color-accent) !important;border-bottom-width:6px !important}:host .close-button{font-size:50%;height:fit-content;left:-3em;position:relative;top:0.25em}',PrerenderEvent=new CustomEvent("prerender"),KolTabs=class{constructor(t){index.registerInstance(this,t),this.onCreateLabel="Neu …",this.showCreateTab=!1,this.selectedTimeout=setTimeout((()=>{})),this.nextPossibleTabIndex=(t,e,a)=>{if(a>0){if(e+a<t.length)return t[e+a]._disabled?this.nextPossibleTabIndex(t,e,a+1):e+a}else if(a<0&&e+a>=0)return t[e+a]._disabled?this.nextPossibleTabIndex(t,e,a-1):e+a;return e},this.onKeyDown=t=>{setTimeout((()=>{let e=null;switch(t.key){case"ArrowRight":e=this.nextPossibleTabIndex(this.state._tabs,this.state._selected,1);break;case"ArrowLeft":e=this.nextPossibleTabIndex(this.state._tabs,this.state._selected,-1)}null!==e&&this.onSelect(t,e,!0)}),250)},this.onClickSelect=(t,e)=>{this.onSelect(t,e,!0)},this.onMouseDown=t=>{t.stopPropagation()},this.preRender=()=>{var t;if(this.state._selected>0&&this.state._selected>this.state._tabs.length-1)return this.state._tabs.length>0&&this.onSelect(PrerenderEvent,this.state._tabs.length-1),index.h(index.Host,null);if(this.state._tabs.length>0&&this.state._selected<this.state._tabs.length&&(null===(t=this.state._tabs[this.state._selected])||void 0===t?void 0:t._disabled)){let t=this.nextPossibleTabIndex(this.state._tabs,this.state._selected,1);this.state._selected===t&&(t=this.nextPossibleTabIndex(this.state._tabs,this.state._selected,-1)),this._selected===t&&a11y_tipps.devHint("[KolTabs] Alle Tabs sind deaktiviert und somit kann kein Tab angezeigt werden."),this.onSelect(PrerenderEvent,t)}},this.onCreate=t=>{var e,a;t.stopPropagation(),"function"==typeof(null===(e=this.state._on)||void 0===e?void 0:e.onCreate)&&(null===(a=this.state._on)||void 0===a||a.onCreate(t))},this._ariaLabel=void 0,this._on=void 0,this._selected=0,this._tabs=void 0,this._tabsAlign="top",this.state={_ariaLabel:"…",_tabsAlign:"top",_selected:0,_tabs:[]}}renderButtonGroup(){return index.h("kol-button-group",{role:"tablist","aria-label":this.state._ariaLabel,onKeyDown:this.onKeyDown},this.state._tabs.map(((t,e)=>index.h("div",{class:"inline-flex"},index.h("kol-button-wc",{class:"h-full",_ariaControls:`tabpanel-${e}`,_id:`tab-${e}`,_disabled:t._disabled,_icon:t._icon,_iconOnly:t._iconOnly,_label:t._label&&t._label,_on:{onClick:t=>this.onClickSelect(t,e),onMouseDown:this.onMouseDown},_tabIndex:this.state._selected===e?0:-1,_tooltipAlign:t._tooltipAlign,_variant:this.state._selected===e?"custom":void 0,_customClass:this.state._selected===e?"selected":void 0,"aria-selected":this.state._selected===e?"true":"false",role:"tab"})))),this.showCreateTab&&index.h("kol-button-wc",{class:"create-button",_label:this.onCreateLabel,_on:{onClick:this.onCreate}}))}render(){return this.preRender(),index.h(index.Host,{ref:t=>{this.hostElement=t}},index.h("div",{ref:t=>{this.tabsElement=t},class:{[`tab-align-${this.state._tabsAlign}`]:!0}},this.renderButtonGroup(),index.h("div",null,this.state._tabs.map(((t,e)=>index.h("div",{role:"tabpanel",id:`tabpanel-${e}`,"aria-labelledby":`tab-${e}`,style:this.state._selected!==e||!0===t._disabled?{display:"none",visibility:"hidden"}:void 0},index.h("slot",{name:`tab-${e}`})))))))}validateAriaLabel(t){prop_validators.watchString(this,"_ariaLabel",t,{required:!0}),a11y_tipps.a11yHintLabelingLandmarks(t)}validateOn(t){if("object"==typeof t&&null!==t){a11y_tipps.featureHint("[KolTabs] Prüfen, wie man auch einen EventCallback einzeln ändern kann.");const e={};"function"!=typeof t.onCreate&&"object"!=typeof t.onCreate||("object"==typeof t.onCreate?("string"==typeof t.onCreate.label&&t.onCreate.label.length>0?this.onCreateLabel=t.onCreate.label:dev_utils.Log.debug("[KolTabs] Der Label-Text für Neu in {\n onCreate: {\n label: string (!),\n callback: Function\n }\n} ist nicht korrekt gesetzt."),"function"==typeof t.onCreate.callback?e.onCreate=t.onCreate.callback:dev_utils.Log.debug("[KolTabs] Die onCreate-Callback-Funktion für Neu in {\n onCreate: {\n label: string,\n callback: Function (!)\n }\n} ist nicht korrekt gesetzt.")):e.onCreate=t.onCreate,this.showCreateTab="function"==typeof e.onCreate),"function"==typeof t.onSelect&&(e.onSelect=t.onSelect),prop_validators.setState(this,"_on",e)}}validateSelected(t){prop_validators.watchNumber(this,"_selected",t)}validateTabs(t){prop_validators.watchJsonArrayString(this,"_tabs",(t=>"object"==typeof t&&null!==t&&"string"==typeof t._label&&t._label.length>0),t),a11y_tipps.uiUxHintMillerscheZahl("KolTabs",this.state._tabs.length)}validateTabsAlign(t){validateAlignment(this,"_tabsAlign",t)}componentWillLoad(){this.validateAriaLabel(this._ariaLabel),this.validateOn(this._on),this.validateSelected(this._selected),this.validateTabs(this._tabs),this.validateTabsAlign(this._tabsAlign)}componentDidRender(){var t;if(this.hostElement instanceof HTMLElement){this.htmlDivElements=null===(t=this.hostElement)||void 0===t?void 0:t.children;for(let t=0;t<this.htmlDivElements.length;t++)this.htmlDivElements[t]instanceof HTMLElement&&this.htmlDivElements[t].setAttribute("slot",`tab-${t}`)}}onSelect(t,e,a=!1){var o,i;this._selected=e,"function"==typeof(null===(o=this._on)||void 0===o?void 0:o.onSelect)&&(null===(i=this._on)||void 0===i||i.onSelect(t,e)),!0===a&&(this.selectedTimeout=setTimeout((()=>{if(clearTimeout(this.selectedTimeout),this.tabsElement instanceof HTMLElement){const t=prop_validators.koliBriQuerySelector(`button#tab-${e}`,this.tabsElement);null==t||t.focus()}}),100))}static get watchers(){return{_ariaLabel:["validateAriaLabel"],_on:["validateOn"],_selected:["validateSelected"],_tabs:["validateTabs"],_tabsAlign:["validateTabsAlign"]}}};KolTabs.style={default:defaultStyleCss},exports.kol_tabs=KolTabs;
4
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const index=require("./index-e6ae017d.js"),a11y_tipps=require("./a11y.tipps-c34c01ad.js"),dev_utils=require("./dev.utils-d0a4bbec.js"),prop_validators=require("./prop.validators-c9c78ae0.js");require("./index.m-d4f02c88.js"),require("./index-33a14d78.js");const AVAILABLE_HORIZONTAL_ALIGNMENT_VALUES=new Set(['"left", "right"']),AVAILABLE_VERTICAL_ALIGNMENT_VALUES=new Set(['"left", "right"']),AVAILABLE_ALIGNMENT_VALUES=new Set([...AVAILABLE_HORIZONTAL_ALIGNMENT_VALUES,...AVAILABLE_VERTICAL_ALIGNMENT_VALUES]),validateAlignment=(t,e,a)=>{prop_validators.watchValidator(t,e,(t=>"bottom"===t||"left"===t||"right"===t||"top"===t),AVAILABLE_ALIGNMENT_VALUES,a)},defaultStyleCss='*,::before,::after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--kolibri-border-color)}*{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:var(--kolibri-color);--tw-ring-color:rgba(undefined, 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}::moz-focus-inner{border-style:none;padding:0}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type=\'search\']{-webkit-appearance:textfield;outline-offset:-2px}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}a{color:inherit;text-decoration:inherit}body{margin:0;font-family:inherit;line-height:inherit}b{font-weight:bolder}button,select{text-transform:none}button,[type=\'button\'],[type=\'reset\'],[type=\'submit\']{-webkit-appearance:button}button{background-color:transparent;background-image:none}button,[role="button"]{cursor:pointer}code{font-size:1em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}fieldset{margin:0;padding:0}html{-webkit-text-size-adjust:100%;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";line-height:1.5}h1,p,h2,h3,h4,h5,h6{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}input,button,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;padding:0;line-height:inherit;color:inherit}input::placeholder{opacity:1;color:#9ca3af}input::webkit-input-placeholder{opacity:1;color:#9ca3af}input::-moz-placeholder{opacity:1;color:#9ca3af}input:-ms-input-placeholder{opacity:1;color:#9ca3af}input::-ms-input-placeholder{opacity:1;color:#9ca3af}legend{padding:0}progress{vertical-align:baseline}small{font-size:80%}svg{display:block;vertical-align:middle}table{text-indent:0;border-color:inherit;border-collapse:collapse}textarea{resize:vertical}textarea::placeholder{opacity:1;color:#9ca3af}textarea::webkit-input-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}textarea:-ms-input-placeholder{opacity:1;color:#9ca3af}textarea::-ms-input-placeholder{opacity:1;color:#9ca3af}ul,ol{list-style:none;margin:0;padding:0}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.bg-normal{background-color:var(--kolibri-color-normal)}.bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-spin-1{background-color:var(--kolibri-color-spin-1)}.bg-spin-2{background-color:var(--kolibri-color-spin-2)}.bg-spin-3{background-color:var(--kolibri-color-spin-3)}.rounded{border-radius:var(--kolibri-border-radius)}.border-1{border-width:1px}.cursor-pointer{cursor:pointer}.block{display:block}.inline-block{display:inline-block}.flex{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.inline-flex{display:-webkit-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex}.table{display:table}.grid{display:-ms-grid;display:grid}.hidden{display:none}.flex-wrap{-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.items-center{-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}.content-center{-ms-flex-line-pack:center;-webkit-align-content:center;align-content:center}.float-left{float:left}.font-80{font-weight:80}.font-60{font-weight:60}.h-full{height:100%}.h-0{height:0px}.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{height:0.29rem}.text-sm{font-size:0.875rem;line-height:1.25rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.leading-normal{line-height:1.5}.list-none{list-style-type:none}.list-disc{list-style-type:disc}.list-decimal{list-style-type:decimal}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:calc(1 * var(--kolibri-spacing))}.mr-2{margin-right:calc(2 * var(--kolibri-spacing))}.ml-2{margin-left:calc(2 * var(--kolibri-spacing))}.mt-2{margin-top:calc(2 * var(--kolibri-spacing))}.mt-4{margin-top:calc(4 * var(--kolibri-spacing))}.outline{outline-style:solid}.overflow-hidden{overflow:hidden}.overflow-y-visible{overflow-y:visible}.p-2{padding:calc(2 * var(--kolibri-spacing))}.p-4{padding:calc(4 * var(--kolibri-spacing))}.px{padding-left:1px;padding-right:1px}.py-2{padding-top:calc(2 * var(--kolibri-spacing));padding-bottom:calc(2 * var(--kolibri-spacing))}.pl-8{padding-left:2rem}.pb-2{padding-bottom:calc(2 * var(--kolibri-spacing))}.tab{-moz-tab-size:4;-o-tab-size:4;tab-size:4}.absolute{position:absolute}.text-center{text-align:center}.text-normal{color:var(--kolibri-color-normal)}.hover\\:text-primary:hover{color:var(--kolibri-color-primary)}.italic{font-style:italic}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.indent{text-indent:1.5rem}.visible{visibility:visible}.w-full{width:100%}.w-4\\/5{width:80%}.z-50{z-index:50}.gap-1{grid-gap:calc(1 * var(--kolibri-spacing));gap:calc(1 * var(--kolibri-spacing))}.gap-2{grid-gap:calc(2 * var(--kolibri-spacing));gap:calc(2 * var(--kolibri-spacing))}.grid-flow-col{grid-auto-flow:column}.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate:0;--tw-rotate-x:0;--tw-rotate-y:0;--tw-rotate-z:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;-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));-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));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))}.animate{-webkit-animation-iteration-count:1;animation-iteration-count:1}.filter{--tw-blur:var(--tw-empty, );--tw-brightness:var(--tw-empty, );--tw-contrast:var(--tw-empty, );--tw-grayscale:var(--tw-empty, );--tw-hue-rotate:var(--tw-empty, );--tw-invert:var(--tw-empty, );--tw-saturate:var(--tw-empty, );--tw-sepia:var(--tw-empty, );--tw-drop-shadow:var(--tw-empty, );-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);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)}.blur{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}:host *{-ms-hyphens:var(--kolibri-hyphens);-webkit-hyphens:var(--kolibri-hyphens);hyphens:var(--kolibri-hyphens);font-family:var(--kolibri-font-family);line-height:var(--kolibri-line-height);word-break:break-word}:host{display:inline-flex}:host>*{color:inherit;width:inherit;word-spacing:inherit}:host button{display:grid;font-family:var(--kolibri-font-family);letter-spacing:inherit;width:inherit;word-spacing:inherit;border-radius:var(--kolibri-border-radius);align-items:center !important;justify-content:center !important;border-width:1px;padding:calc(2 * var(--kolibri-spacing))}:host button kol-icon,:host button .kol-icon{width:1.5em;height:1.5em;display:inline-block}:host button.primary{background-color:var(--kolibri-color-primary);border-color:transparent;--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}:host button.primary:hover,:host button.primary:focus{border-color:var(--kolibri-color-primary);color:var(--kolibri-color-primary)}:host button.secondary{background-color:var(--kolibri-color-secondary);border-color:transparent;--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}:host button.secondary:hover,:host button.secondary:focus{border-color:var(--kolibri-color-secondary);color:var(--kolibri-color-secondary)}:host button.normal{background-color:var(--kolibri-color-normal);border-color:transparent;--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}:host button.normal:hover,:host button.normal:focus{border-color:var(--kolibri-color-normal);color:var(--kolibri-color-normal)}:host button.danger{background-color:var(--kolibri-color-danger);border-color:transparent;--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}:host button.danger:hover,:host button.danger:focus{border-color:var(--kolibri-color-danger);color:var(--kolibri-color-danger)}:host button.ghost{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity));border-color:var(--kolibri-color-ghost);color:var(--kolibri-color-ghost)}:host button.ghost:hover,:host button.ghost:focus{background-color:var(--kolibri-color-ghost);border-color:transparent;--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}:host button:disabled{--tw-bg-opacity:1;background-color:rgba(209, 213, 219, var(--tw-bg-opacity));border-color:transparent;cursor:not-allowed;--tw-text-opacity:1;color:rgba(55, 65, 81, var(--tw-text-opacity))}:host button:disabled:hover,:host button:disabled:focus{--tw-bg-opacity:1;background-color:rgba(55, 65, 81, var(--tw-bg-opacity));--tw-text-opacity:1;color:rgba(209, 213, 219, var(--tw-text-opacity))}:host button[aria-selected=true],:host button:focus{border-bottom-color:var(--kolibri-color-accent) !important;border-bottom-width:6px !important}:host .close-button{font-size:50%;height:fit-content;left:-3em;position:relative;top:0.25em}',PrerenderEvent=new CustomEvent("prerender"),KolTabs=class{constructor(t){index.registerInstance(this,t),this.onCreateLabel="Neu …",this.showCreateTab=!1,this.selectedTimeout=setTimeout((()=>{})),this.nextPossibleTabIndex=(t,e,a)=>{if(a>0){if(e+a<t.length)return t[e+a]._disabled?this.nextPossibleTabIndex(t,e,a+1):e+a}else if(a<0&&e+a>=0)return t[e+a]._disabled?this.nextPossibleTabIndex(t,e,a-1):e+a;return e},this.onKeyDown=t=>{setTimeout((()=>{let e=null;switch(t.key){case"ArrowRight":e=this.nextPossibleTabIndex(this.state._tabs,this.state._selected,1);break;case"ArrowLeft":e=this.nextPossibleTabIndex(this.state._tabs,this.state._selected,-1)}null!==e&&this.onSelect(t,e,!0)}),250)},this.onClickSelect=(t,e)=>{this.onSelect(t,e,!0)},this.onMouseDown=t=>{t.stopPropagation()},this.preRender=()=>{var t;if(this.state._selected>0&&this.state._selected>this.state._tabs.length-1)return this.state._tabs.length>0&&this.onSelect(PrerenderEvent,this.state._tabs.length-1),index.h(index.Host,null);if(this.state._tabs.length>0&&this.state._selected<this.state._tabs.length&&(null===(t=this.state._tabs[this.state._selected])||void 0===t?void 0:t._disabled)){let t=this.nextPossibleTabIndex(this.state._tabs,this.state._selected,1);this.state._selected===t&&(t=this.nextPossibleTabIndex(this.state._tabs,this.state._selected,-1)),this._selected===t&&a11y_tipps.devHint("[KolTabs] Alle Tabs sind deaktiviert und somit kann kein Tab angezeigt werden."),this.onSelect(PrerenderEvent,t)}},this.onCreate=t=>{var e,a;t.stopPropagation(),"function"==typeof(null===(e=this.state._on)||void 0===e?void 0:e.onCreate)&&(null===(a=this.state._on)||void 0===a||a.onCreate(t))},this._ariaLabel=void 0,this._on=void 0,this._selected=0,this._tabs=void 0,this._tabsAlign="top",this.state={_ariaLabel:"…",_tabsAlign:"top",_selected:0,_tabs:[]}}renderButtonGroup(){return index.h("kol-button-group",{role:"tablist","aria-label":this.state._ariaLabel,onKeyDown:this.onKeyDown},this.state._tabs.map(((t,e)=>index.h("div",{class:"inline-flex"},index.h("kol-button-wc",{class:"h-full",_ariaControls:`tabpanel-${e}`,_id:`tab-${e}`,_disabled:t._disabled,_icon:t._icon,_iconOnly:t._iconOnly,_label:t._label&&t._label,_on:{onClick:t=>this.onClickSelect(t,e),onMouseDown:this.onMouseDown},_tabIndex:this.state._selected===e?0:-1,_tooltipAlign:t._tooltipAlign,_variant:this.state._selected===e?"custom":void 0,_customClass:this.state._selected===e?"selected":void 0,"aria-selected":this.state._selected===e?"true":"false",role:"tab"})))),this.showCreateTab&&index.h("kol-button-wc",{class:"create-button",_label:this.onCreateLabel,_on:{onClick:this.onCreate}}))}render(){return this.preRender(),index.h(index.Host,{ref:t=>{this.hostElement=t}},index.h("div",{ref:t=>{this.tabsElement=t},class:{[`tabs-align-${this.state._tabsAlign}`]:!0}},this.renderButtonGroup(),index.h("div",null,this.state._tabs.map(((t,e)=>index.h("div",{role:"tabpanel",id:`tabpanel-${e}`,"aria-labelledby":`tab-${e}`,style:this.state._selected!==e||!0===t._disabled?{display:"none",visibility:"hidden"}:void 0},index.h("slot",{name:`tab-${e}`})))))))}validateAriaLabel(t){prop_validators.watchString(this,"_ariaLabel",t,{required:!0}),a11y_tipps.a11yHintLabelingLandmarks(t)}validateOn(t){if("object"==typeof t&&null!==t){a11y_tipps.featureHint("[KolTabs] Prüfen, wie man auch einen EventCallback einzeln ändern kann.");const e={};"function"!=typeof t.onCreate&&"object"!=typeof t.onCreate||("object"==typeof t.onCreate?("string"==typeof t.onCreate.label&&t.onCreate.label.length>0?this.onCreateLabel=t.onCreate.label:dev_utils.Log.debug("[KolTabs] Der Label-Text für Neu in {\n onCreate: {\n label: string (!),\n callback: Function\n }\n} ist nicht korrekt gesetzt."),"function"==typeof t.onCreate.callback?e.onCreate=t.onCreate.callback:dev_utils.Log.debug("[KolTabs] Die onCreate-Callback-Funktion für Neu in {\n onCreate: {\n label: string,\n callback: Function (!)\n }\n} ist nicht korrekt gesetzt.")):e.onCreate=t.onCreate,this.showCreateTab="function"==typeof e.onCreate),"function"==typeof t.onSelect&&(e.onSelect=t.onSelect),prop_validators.setState(this,"_on",e)}}validateSelected(t){prop_validators.watchNumber(this,"_selected",t)}validateTabs(t){prop_validators.watchJsonArrayString(this,"_tabs",(t=>"object"==typeof t&&null!==t&&"string"==typeof t._label&&t._label.length>0),t),a11y_tipps.uiUxHintMillerscheZahl("KolTabs",this.state._tabs.length)}validateTabsAlign(t){validateAlignment(this,"_tabsAlign",t)}componentWillLoad(){this.validateAriaLabel(this._ariaLabel),this.validateOn(this._on),this.validateSelected(this._selected),this.validateTabs(this._tabs),this.validateTabsAlign(this._tabsAlign)}componentDidRender(){var t;if(this.hostElement instanceof HTMLElement){this.htmlDivElements=null===(t=this.hostElement)||void 0===t?void 0:t.children;for(let t=0;t<this.htmlDivElements.length;t++)this.htmlDivElements[t]instanceof HTMLElement&&this.htmlDivElements[t].setAttribute("slot",`tab-${t}`)}}onSelect(t,e,a=!1){var o,i;this._selected=e,"function"==typeof(null===(o=this._on)||void 0===o?void 0:o.onSelect)&&(null===(i=this._on)||void 0===i||i.onSelect(t,e)),!0===a&&(this.selectedTimeout=setTimeout((()=>{if(clearTimeout(this.selectedTimeout),this.tabsElement instanceof HTMLElement){const t=prop_validators.koliBriQuerySelector(`button#tab-${e}`,this.tabsElement);null==t||t.focus()}}),100))}static get watchers(){return{_ariaLabel:["validateAriaLabel"],_on:["validateOn"],_selected:["validateSelected"],_tabs:["validateTabs"],_tabsAlign:["validateTabsAlign"]}}};KolTabs.style={default:defaultStyleCss},exports.kol_tabs=KolTabs;
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - the accessible web component library
3
3
  */
4
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const index=require("./index-e6ae017d.js"),buttonLink=require("./button-link-0146e9fe.js"),dev_utils=require("./dev.utils-d0a4bbec.js"),prop_validators=require("./prop.validators-c9c78ae0.js");require("./index.m-d4f02c88.js"),require("./a11y.tipps-c34c01ad.js"),require("./index-33a14d78.js");const defaultStyleCss='.kol-tooltip{font-size:1rem;position:absolute;animation-name:fadeInOpacity;animation-iteration-count:1;animation-timing-function:ease-in;animation-duration:0.5s;display:none;z-index:1000;max-width:300px;box-shadow:0 0 0.15rem rgba(255, 255, 255, 0.8)}.kol-tooltip::after{content:" ";position:absolute;border-style:solid;border-width:5px}.kol-tooltip.arrow-left::after{margin-top:-5px;top:50%;right:100%;border-color:transparent black transparent transparent}.kol-tooltip.arrow-right::after{margin-top:-5px;top:50%;left:100%;border-color:transparent transparent transparent black}.kol-tooltip.arrow-top::after{margin-left:-5px;left:50%;bottom:100%;border-color:transparent transparent black transparent}.kol-tooltip.arrow-bottom::after{margin-left:-5px;left:50%;top:100%;border-color:black transparent transparent transparent}@keyframes fadeInOpacity{0%{opacity:0}100%{opacity:1}}',KolTooltip=class{constructor(t){index.registerInstance(this,t),this.hydrated=!1,this.hostElement=null,this.childElements=[],this.alignTooltip=()=>{const t=this.childElements[0];if(this.tooltipElement instanceof HTMLElement){switch(this.state._align){case"top":case"bottom":this.tooltipElement.style.marginLeft=t.offsetWidth/2-this.tooltipElement.offsetWidth/2+"px";break;default:this.tooltipElement.style.marginTop=`-${t.offsetHeight/2+this.tooltipElement.offsetHeight/2}px`}switch(this.state._align){case"left":this.tooltipElement.style.marginLeft=`calc(-${this.tooltipElement.offsetWidth}px - 0.5em)`;break;case"right":this.tooltipElement.style.marginLeft=`calc(${t.offsetWidth}px + 0.5em)`;break;case"bottom":this.tooltipElement.style.marginTop="0.5em";break;default:this.tooltipElement.style.marginTop=`calc(-${t.offsetHeight+this.tooltipElement.offsetHeight}px - 0.5em)`}}},this.showTooltip=()=>{this.tooltipElement instanceof HTMLElement&&(this.tooltipElement.style.setProperty("display","block"),dev_utils.getDocument().body.addEventListener("keyup",this.hideTooltipByEscape),this.alignTooltip(),this.tooltipElement.style.setProperty("visibility","visible"))},this.hideTooltip=()=>{this.tooltipElement instanceof HTMLElement&&(this.tooltipElement.style.setProperty("display","none"),this.tooltipElement.style.setProperty("visibility","hidden"))},this.hideTooltipByEscape=t=>{"Escape"===t.key&&(dev_utils.getDocument().body.removeEventListener("keyup",this.hideTooltipByEscape),this.hideTooltip())},this.catchHostElement=t=>{if(this.hostElement=t,this.hostElement instanceof HTMLElement){const t=this.hostElement.previousElementSibling;t instanceof HTMLElement&&(t.removeEventListener("mouseover",this.showTooltip),t.addEventListener("mouseover",this.showTooltip),t.removeEventListener("focus",this.showTooltip),t.addEventListener("focus",this.showTooltip),t.removeEventListener("mouseout",this.hideTooltip),t.addEventListener("mouseout",this.hideTooltip),t.removeEventListener("blur",this.hideTooltip),t.addEventListener("blur",this.hideTooltip),this.childElements.push(t))}},this.catchTooltipElement=t=>{this.tooltipElement=t},this._align="top",this._id=void 0,this._label=void 0,this.state={_align:"top",_id:dev_utils.nonce(),_label:""}}render(){const t=setTimeout((()=>{clearTimeout(t),this.alignTooltip()}),250);return index.h(index.Host,{ref:this.catchHostElement,style:{maxWidth:"300px"}},""!==this.state._label&&index.h("kol-badge",{class:{"kol-tooltip":!0,"arrow-bottom":"top"===this.state._align,"arrow-left":"right"===this.state._align,"arrow-top":"bottom"===this.state._align,"arrow-right":"left"===this.state._align},id:this.state._id,ref:this.catchTooltipElement,_color:{backgroundColor:"#333",color:"#ddd"},_label:this.state._label}))}validateAlign(t){buttonLink.watchTooltipAlignment(this,"_align",t)}validateId(t){prop_validators.watchString(this,"_id",t)}validateLabel(t){prop_validators.watchString(this,"_label",t)}componentWillLoad(){this.validateAlign(this._align),this.validateId(this._id),this.validateLabel(this._label),this.hydrated=!0}static get watchers(){return{_align:["validateAlign"],_id:["validateId"],_label:["validateLabel"]}}};KolTooltip.style={default:defaultStyleCss},exports.kol_tooltip=KolTooltip;
4
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const index=require("./index-e6ae017d.js"),buttonLink=require("./button-link-0146e9fe.js"),dev_utils=require("./dev.utils-d0a4bbec.js"),prop_validators=require("./prop.validators-c9c78ae0.js");require("./index.m-d4f02c88.js"),require("./a11y.tipps-c34c01ad.js"),require("./index-33a14d78.js");const defaultStyleCss=':host>kol-badge{font-size:1rem;position:fixed;animation-name:fadeInOpacity;animation-iteration-count:1;animation-timing-function:ease-in;animation-duration:0.5s;display:none;z-index:1000;max-width:300px;box-shadow:0 0 0.15rem rgba(255, 255, 255, 0.8)}:host>kol-badge::after{content:" ";position:absolute;border-style:solid;border-width:5px}:host>kol-badge.arrow-left::after{margin-top:-5px;top:50%;right:100%;border-color:transparent black transparent transparent}:host>kol-badge.arrow-right::after{margin-top:-5px;top:50%;left:100%;border-color:transparent transparent transparent black}:host>kol-badge.arrow-top::after{margin-left:-5px;left:50%;bottom:100%;border-color:transparent transparent black transparent}:host>kol-badge.arrow-bottom::after{margin-left:-5px;left:50%;top:100%;border-color:black transparent transparent transparent}@keyframes fadeInOpacity{0%{opacity:0}100%{opacity:1}}',KolTooltip=class{constructor(t){index.registerInstance(this,t),this.hydrated=!1,this.hostElement=null,this.childElements=[],this.alignTooltip=()=>{const t=this.childElements[0];{const e=t.getBoundingClientRect();if(this.tooltipElement instanceof HTMLElement){switch(this.state._align){case"top":case"bottom":this.tooltipElement.style.left=e.left+t.offsetWidth/2-this.tooltipElement.offsetWidth/2+"px";break;default:this.tooltipElement.style.top=e.top+e.height/2-this.tooltipElement.offsetHeight/2+"px"}switch(this.state._align){case"left":this.tooltipElement.style.left=`calc(${e.left-this.tooltipElement.offsetWidth}px - 0.5em)`;break;case"right":this.tooltipElement.style.left=`calc(${e.right}px + 0.5em)`;break;case"bottom":this.tooltipElement.style.top=`calc(${e.bottom}px + 0.5em)`;break;default:this.tooltipElement.style.top=`calc(${e.top-this.tooltipElement.offsetHeight}px - 0.5em)`}}}},this.showTooltip=()=>{this.tooltipElement instanceof HTMLElement&&(this.tooltipElement.style.setProperty("display","block"),dev_utils.getDocument().body.addEventListener("keyup",this.hideTooltipByEscape),this.alignTooltip(),this.tooltipElement.style.setProperty("visibility","visible"))},this.hideTooltip=()=>{this.tooltipElement instanceof HTMLElement&&(this.tooltipElement.style.setProperty("display","none"),this.tooltipElement.style.setProperty("visibility","hidden"))},this.hideTooltipByEscape=t=>{"Escape"===t.key&&(dev_utils.getDocument().body.removeEventListener("keyup",this.hideTooltipByEscape),this.hideTooltip())},this.catchHostElement=t=>{if(this.hostElement=t,this.hostElement instanceof HTMLElement){const t=this.hostElement.previousElementSibling;t instanceof HTMLElement&&(t.removeEventListener("mouseover",this.showTooltip),t.addEventListener("mouseover",this.showTooltip),t.removeEventListener("focus",this.showTooltip),t.addEventListener("focus",this.showTooltip),t.removeEventListener("mouseout",this.hideTooltip),t.addEventListener("mouseout",this.hideTooltip),t.removeEventListener("blur",this.hideTooltip),t.addEventListener("blur",this.hideTooltip),this.childElements.push(t))}},this.catchTooltipElement=t=>{this.tooltipElement=t},this._align="top",this._id=void 0,this._label=void 0,this.state={_align:"top",_id:dev_utils.nonce(),_label:""}}render(){const t=setTimeout((()=>{clearTimeout(t),this.alignTooltip()}),250);return index.h(index.Host,{ref:this.catchHostElement,style:{maxWidth:"300px"}},""!==this.state._label&&index.h("kol-badge",{class:{"arrow-bottom":"top"===this.state._align,"arrow-left":"right"===this.state._align,"arrow-top":"bottom"===this.state._align,"arrow-right":"left"===this.state._align},id:this.state._id,ref:this.catchTooltipElement,_color:{backgroundColor:"#333",color:"#ddd"},_label:this.state._label}))}validateAlign(t){buttonLink.watchTooltipAlignment(this,"_align",t)}validateId(t){prop_validators.watchString(this,"_id",t)}validateLabel(t){prop_validators.watchString(this,"_label",t)}componentWillLoad(){this.validateAlign(this._align),this.validateId(this._id),this.validateLabel(this._label),this.hydrated=!0}static get watchers(){return{_align:["validateAlign"],_id:["validateId"],_label:["validateLabel"]}}};KolTooltip.style={default:defaultStyleCss},exports.kol_tooltip=KolTooltip;
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - the accessible web component library
3
3
  */
4
- import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{j as watchValidator,B as getDocument,n as nonce,w as watchString}from"./prop.validators.js";import{d as defineCustomElement$3}from"./component2.js";import{d as defineCustomElement$2}from"./component6.js";import{d as defineCustomElement$1}from"./component15.js";const watchTooltipAlignment=(t,e,o)=>{watchValidator(t,e,(t=>"top"===t||"right"===t||"bottom"===t||"left"===t),new Set(["TooltipAlignment {top, right, buttom, left}"]),o,{defaultValue:"top"})},defaultStyleCss='.kol-tooltip{font-size:1rem;position:absolute;animation-name:fadeInOpacity;animation-iteration-count:1;animation-timing-function:ease-in;animation-duration:0.5s;display:none;z-index:1000;max-width:300px;box-shadow:0 0 0.15rem rgba(255, 255, 255, 0.8)}.kol-tooltip::after{content:" ";position:absolute;border-style:solid;border-width:5px}.kol-tooltip.arrow-left::after{margin-top:-5px;top:50%;right:100%;border-color:transparent black transparent transparent}.kol-tooltip.arrow-right::after{margin-top:-5px;top:50%;left:100%;border-color:transparent transparent transparent black}.kol-tooltip.arrow-top::after{margin-left:-5px;left:50%;bottom:100%;border-color:transparent transparent black transparent}.kol-tooltip.arrow-bottom::after{margin-left:-5px;left:50%;top:100%;border-color:black transparent transparent transparent}@keyframes fadeInOpacity{0%{opacity:0}100%{opacity:1}}',KolTooltip=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.hydrated=!1,this.hostElement=null,this.childElements=[],this.alignTooltip=()=>{const t=this.childElements[0];if(this.tooltipElement instanceof HTMLElement){switch(this.state._align){case"top":case"bottom":this.tooltipElement.style.marginLeft=t.offsetWidth/2-this.tooltipElement.offsetWidth/2+"px";break;default:this.tooltipElement.style.marginTop=`-${t.offsetHeight/2+this.tooltipElement.offsetHeight/2}px`}switch(this.state._align){case"left":this.tooltipElement.style.marginLeft=`calc(-${this.tooltipElement.offsetWidth}px - 0.5em)`;break;case"right":this.tooltipElement.style.marginLeft=`calc(${t.offsetWidth}px + 0.5em)`;break;case"bottom":this.tooltipElement.style.marginTop="0.5em";break;default:this.tooltipElement.style.marginTop=`calc(-${t.offsetHeight+this.tooltipElement.offsetHeight}px - 0.5em)`}}},this.showTooltip=()=>{this.tooltipElement instanceof HTMLElement&&(this.tooltipElement.style.setProperty("display","block"),getDocument().body.addEventListener("keyup",this.hideTooltipByEscape),this.alignTooltip(),this.tooltipElement.style.setProperty("visibility","visible"))},this.hideTooltip=()=>{this.tooltipElement instanceof HTMLElement&&(this.tooltipElement.style.setProperty("display","none"),this.tooltipElement.style.setProperty("visibility","hidden"))},this.hideTooltipByEscape=t=>{"Escape"===t.key&&(getDocument().body.removeEventListener("keyup",this.hideTooltipByEscape),this.hideTooltip())},this.catchHostElement=t=>{if(this.hostElement=t,this.hostElement instanceof HTMLElement){const t=this.hostElement.previousElementSibling;t instanceof HTMLElement&&(t.removeEventListener("mouseover",this.showTooltip),t.addEventListener("mouseover",this.showTooltip),t.removeEventListener("focus",this.showTooltip),t.addEventListener("focus",this.showTooltip),t.removeEventListener("mouseout",this.hideTooltip),t.addEventListener("mouseout",this.hideTooltip),t.removeEventListener("blur",this.hideTooltip),t.addEventListener("blur",this.hideTooltip),this.childElements.push(t))}},this.catchTooltipElement=t=>{this.tooltipElement=t},this._align="top",this._id=void 0,this._label=void 0,this.state={_align:"top",_id:nonce(),_label:""}}render(){const t=setTimeout((()=>{clearTimeout(t),this.alignTooltip()}),250);return h(Host,{ref:this.catchHostElement,style:{maxWidth:"300px"}},""!==this.state._label&&h("kol-badge",{class:{"kol-tooltip":!0,"arrow-bottom":"top"===this.state._align,"arrow-left":"right"===this.state._align,"arrow-top":"bottom"===this.state._align,"arrow-right":"left"===this.state._align},id:this.state._id,ref:this.catchTooltipElement,_color:{backgroundColor:"#333",color:"#ddd"},_label:this.state._label}))}validateAlign(t){watchTooltipAlignment(this,"_align",t)}validateId(t){watchString(this,"_id",t)}validateLabel(t){watchString(this,"_label",t)}componentWillLoad(){this.validateAlign(this._align),this.validateId(this._id),this.validateLabel(this._label),this.hydrated=!0}static get watchers(){return{_align:["validateAlign"],_id:["validateId"],_label:["validateLabel"]}}static get style(){return{default:defaultStyleCss}}},[32,"kol-tooltip",{_align:[1],_id:[1],_label:[1],state:[32]}]);function defineCustomElement(){if("undefined"==typeof customElements)return;["kol-tooltip","kol-badge","kol-icon","kol-span-wc"].forEach((t=>{switch(t){case"kol-tooltip":customElements.get(t)||customElements.define(t,KolTooltip);break;case"kol-badge":customElements.get(t)||defineCustomElement$3();break;case"kol-icon":customElements.get(t)||defineCustomElement$2();break;case"kol-span-wc":customElements.get(t)||defineCustomElement$1()}}))}export{KolTooltip as K,defineCustomElement as d,watchTooltipAlignment as w};
4
+ import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{j as watchValidator,B as getDocument,n as nonce,w as watchString}from"./prop.validators.js";import{d as defineCustomElement$3}from"./component2.js";import{d as defineCustomElement$2}from"./component6.js";import{d as defineCustomElement$1}from"./component15.js";const watchTooltipAlignment=(t,e,o)=>{watchValidator(t,e,(t=>"top"===t||"right"===t||"bottom"===t||"left"===t),new Set(["TooltipAlignment {top, right, buttom, left}"]),o,{defaultValue:"top"})},defaultStyleCss=':host>kol-badge{font-size:1rem;position:fixed;animation-name:fadeInOpacity;animation-iteration-count:1;animation-timing-function:ease-in;animation-duration:0.5s;display:none;z-index:1000;max-width:300px;box-shadow:0 0 0.15rem rgba(255, 255, 255, 0.8)}:host>kol-badge::after{content:" ";position:absolute;border-style:solid;border-width:5px}:host>kol-badge.arrow-left::after{margin-top:-5px;top:50%;right:100%;border-color:transparent black transparent transparent}:host>kol-badge.arrow-right::after{margin-top:-5px;top:50%;left:100%;border-color:transparent transparent transparent black}:host>kol-badge.arrow-top::after{margin-left:-5px;left:50%;bottom:100%;border-color:transparent transparent black transparent}:host>kol-badge.arrow-bottom::after{margin-left:-5px;left:50%;top:100%;border-color:black transparent transparent transparent}@keyframes fadeInOpacity{0%{opacity:0}100%{opacity:1}}',KolTooltip=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.hydrated=!1,this.hostElement=null,this.childElements=[],this.alignTooltip=()=>{const t=this.childElements[0];{const e=t.getBoundingClientRect();if(this.tooltipElement instanceof HTMLElement){switch(this.state._align){case"top":case"bottom":this.tooltipElement.style.left=e.left+t.offsetWidth/2-this.tooltipElement.offsetWidth/2+"px";break;default:this.tooltipElement.style.top=e.top+e.height/2-this.tooltipElement.offsetHeight/2+"px"}switch(this.state._align){case"left":this.tooltipElement.style.left=`calc(${e.left-this.tooltipElement.offsetWidth}px - 0.5em)`;break;case"right":this.tooltipElement.style.left=`calc(${e.right}px + 0.5em)`;break;case"bottom":this.tooltipElement.style.top=`calc(${e.bottom}px + 0.5em)`;break;default:this.tooltipElement.style.top=`calc(${e.top-this.tooltipElement.offsetHeight}px - 0.5em)`}}}},this.showTooltip=()=>{this.tooltipElement instanceof HTMLElement&&(this.tooltipElement.style.setProperty("display","block"),getDocument().body.addEventListener("keyup",this.hideTooltipByEscape),this.alignTooltip(),this.tooltipElement.style.setProperty("visibility","visible"))},this.hideTooltip=()=>{this.tooltipElement instanceof HTMLElement&&(this.tooltipElement.style.setProperty("display","none"),this.tooltipElement.style.setProperty("visibility","hidden"))},this.hideTooltipByEscape=t=>{"Escape"===t.key&&(getDocument().body.removeEventListener("keyup",this.hideTooltipByEscape),this.hideTooltip())},this.catchHostElement=t=>{if(this.hostElement=t,this.hostElement instanceof HTMLElement){const t=this.hostElement.previousElementSibling;t instanceof HTMLElement&&(t.removeEventListener("mouseover",this.showTooltip),t.addEventListener("mouseover",this.showTooltip),t.removeEventListener("focus",this.showTooltip),t.addEventListener("focus",this.showTooltip),t.removeEventListener("mouseout",this.hideTooltip),t.addEventListener("mouseout",this.hideTooltip),t.removeEventListener("blur",this.hideTooltip),t.addEventListener("blur",this.hideTooltip),this.childElements.push(t))}},this.catchTooltipElement=t=>{this.tooltipElement=t},this._align="top",this._id=void 0,this._label=void 0,this.state={_align:"top",_id:nonce(),_label:""}}render(){const t=setTimeout((()=>{clearTimeout(t),this.alignTooltip()}),250);return h(Host,{ref:this.catchHostElement,style:{maxWidth:"300px"}},""!==this.state._label&&h("kol-badge",{class:{"arrow-bottom":"top"===this.state._align,"arrow-left":"right"===this.state._align,"arrow-top":"bottom"===this.state._align,"arrow-right":"left"===this.state._align},id:this.state._id,ref:this.catchTooltipElement,_color:{backgroundColor:"#333",color:"#ddd"},_label:this.state._label}))}validateAlign(t){watchTooltipAlignment(this,"_align",t)}validateId(t){watchString(this,"_id",t)}validateLabel(t){watchString(this,"_label",t)}componentWillLoad(){this.validateAlign(this._align),this.validateId(this._id),this.validateLabel(this._label),this.hydrated=!0}static get watchers(){return{_align:["validateAlign"],_id:["validateId"],_label:["validateLabel"]}}static get style(){return{default:defaultStyleCss}}},[32,"kol-tooltip",{_align:[1],_id:[1],_label:[1],state:[32]}]);function defineCustomElement(){if("undefined"==typeof customElements)return;["kol-tooltip","kol-badge","kol-icon","kol-span-wc"].forEach((t=>{switch(t){case"kol-tooltip":customElements.get(t)||customElements.define(t,KolTooltip);break;case"kol-badge":customElements.get(t)||defineCustomElement$3();break;case"kol-icon":customElements.get(t)||defineCustomElement$2();break;case"kol-span-wc":customElements.get(t)||defineCustomElement$1()}}))}export{KolTooltip as K,defineCustomElement as d,watchTooltipAlignment as w};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - the accessible web component library
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$b}from"./component2.js";import{d as defineCustomElement$a}from"./shadow.js";import{d as defineCustomElement$9}from"./component4.js";import{d as defineCustomElement$8}from"./component5.js";import{d as defineCustomElement$7}from"./component6.js";import{d as defineCustomElement$6}from"./component9.js";import{d as defineCustomElement$5}from"./component13.js";import{d as defineCustomElement$4}from"./component14.js";import{d as defineCustomElement$3}from"./component15.js";import{d as defineCustomElement$2}from"./component16.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=[]),"string"==typeof t&&(t=parseJson(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,(()=>{"string"==typeof t&&(t=parseJson(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){"string"==typeof t&&(t=parseJson(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)}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",null,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 sort-up":"fas 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.showPagination&&h("div",{class:"pagination"},Array.isArray(this.state._data)&&this.state._data.length>0?h("span",null,"Einträge ",this.pageStartSlice+1," bis ",this.pageEndSlice," von"," ",this.state._pagination._total||(Array.isArray(this.state._data)?this.state._data.length:0)," angezeigt"):h("span",null,"Es sind keine Einträge vorhanden."),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$b}from"./component2.js";import{d as defineCustomElement$a}from"./shadow.js";import{d as defineCustomElement$9}from"./component4.js";import{d as defineCustomElement$8}from"./component5.js";import{d as defineCustomElement$7}from"./component6.js";import{d as defineCustomElement$6}from"./component9.js";import{d as defineCustomElement$5}from"./component13.js";import{d as defineCustomElement$4}from"./component14.js";import{d as defineCustomElement$3}from"./component15.js";import{d as defineCustomElement$2}from"./component16.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=[]),"string"==typeof t&&(t=parseJson(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,(()=>{"string"==typeof t&&(t=parseJson(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){"string"==typeof t&&(t=parseJson(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)}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 sort-up":"fas 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.showPagination&&h("div",{class:"pagination"},Array.isArray(this.state._data)&&this.state._data.length>0?h("span",null,"Einträge ",this.pageStartSlice+1," bis ",this.pageEndSlice," von"," ",this.state._pagination._total||(Array.isArray(this.state._data)?this.state._data.length:0)," angezeigt"):h("span",null,"Es sind keine Einträge vorhanden."),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 web component library
3
3
  */
4
- import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{j as watchValidator,d as devHint,w as watchString,e as a11yHintLabelingLandmarks,f as featureHint,L as Log,a as setState,p as watchNumber,o as watchJsonArrayString,x as uiUxHintMillerscheZahl,y as koliBriQuerySelector}from"./prop.validators.js";import{d as defineCustomElement$7}from"./component2.js";import{d as defineCustomElement$6}from"./component3.js";import{d as defineCustomElement$5}from"./component4.js";import{d as defineCustomElement$4}from"./component6.js";import{d as defineCustomElement$3}from"./component15.js";import{d as defineCustomElement$2}from"./component16.js";const AVAILABLE_ALIGNMENT_VALUES=new Set(['"left", "right"']),validateAlignment=(t,e,a)=>{watchValidator(t,e,(t=>"bottom"===t||"left"===t||"right"===t||"top"===t),AVAILABLE_ALIGNMENT_VALUES,a)},defaultStyleCss='*,::before,::after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--kolibri-border-color)}*{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:var(--kolibri-color);--tw-ring-color:rgba(undefined, 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}::moz-focus-inner{border-style:none;padding:0}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type=\'search\']{-webkit-appearance:textfield;outline-offset:-2px}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}a{color:inherit;text-decoration:inherit}body{margin:0;font-family:inherit;line-height:inherit}b{font-weight:bolder}button,select{text-transform:none}button,[type=\'button\'],[type=\'reset\'],[type=\'submit\']{-webkit-appearance:button}button{background-color:transparent;background-image:none}button,[role="button"]{cursor:pointer}code{font-size:1em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}fieldset{margin:0;padding:0}html{-webkit-text-size-adjust:100%;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";line-height:1.5}h1,p,h2,h3,h4,h5,h6{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}input,button,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;padding:0;line-height:inherit;color:inherit}input::placeholder{opacity:1;color:#9ca3af}input::webkit-input-placeholder{opacity:1;color:#9ca3af}input::-moz-placeholder{opacity:1;color:#9ca3af}input:-ms-input-placeholder{opacity:1;color:#9ca3af}input::-ms-input-placeholder{opacity:1;color:#9ca3af}legend{padding:0}progress{vertical-align:baseline}small{font-size:80%}svg{display:block;vertical-align:middle}table{text-indent:0;border-color:inherit;border-collapse:collapse}textarea{resize:vertical}textarea::placeholder{opacity:1;color:#9ca3af}textarea::webkit-input-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}textarea:-ms-input-placeholder{opacity:1;color:#9ca3af}textarea::-ms-input-placeholder{opacity:1;color:#9ca3af}ul,ol{list-style:none;margin:0;padding:0}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.bg-normal{background-color:var(--kolibri-color-normal)}.bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-spin-1{background-color:var(--kolibri-color-spin-1)}.bg-spin-2{background-color:var(--kolibri-color-spin-2)}.bg-spin-3{background-color:var(--kolibri-color-spin-3)}.rounded{border-radius:var(--kolibri-border-radius)}.border-1{border-width:1px}.cursor-pointer{cursor:pointer}.block{display:block}.inline-block{display:inline-block}.flex{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.inline-flex{display:-webkit-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex}.table{display:table}.grid{display:-ms-grid;display:grid}.hidden{display:none}.flex-wrap{-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.items-center{-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}.content-center{-ms-flex-line-pack:center;-webkit-align-content:center;align-content:center}.float-left{float:left}.font-80{font-weight:80}.font-60{font-weight:60}.h-full{height:100%}.h-0{height:0px}.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{height:0.29rem}.text-sm{font-size:0.875rem;line-height:1.25rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.leading-normal{line-height:1.5}.list-none{list-style-type:none}.list-disc{list-style-type:disc}.list-decimal{list-style-type:decimal}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:calc(1 * var(--kolibri-spacing))}.mr-2{margin-right:calc(2 * var(--kolibri-spacing))}.ml-2{margin-left:calc(2 * var(--kolibri-spacing))}.mt-2{margin-top:calc(2 * var(--kolibri-spacing))}.mt-4{margin-top:calc(4 * var(--kolibri-spacing))}.outline{outline-style:solid}.overflow-hidden{overflow:hidden}.overflow-y-visible{overflow-y:visible}.p-2{padding:calc(2 * var(--kolibri-spacing))}.p-4{padding:calc(4 * var(--kolibri-spacing))}.px{padding-left:1px;padding-right:1px}.py-2{padding-top:calc(2 * var(--kolibri-spacing));padding-bottom:calc(2 * var(--kolibri-spacing))}.pl-8{padding-left:2rem}.pb-2{padding-bottom:calc(2 * var(--kolibri-spacing))}.tab{-moz-tab-size:4;-o-tab-size:4;tab-size:4}.absolute{position:absolute}.text-center{text-align:center}.text-normal{color:var(--kolibri-color-normal)}.hover\\:text-primary:hover{color:var(--kolibri-color-primary)}.italic{font-style:italic}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.indent{text-indent:1.5rem}.visible{visibility:visible}.w-full{width:100%}.w-4\\/5{width:80%}.z-50{z-index:50}.gap-1{grid-gap:calc(1 * var(--kolibri-spacing));gap:calc(1 * var(--kolibri-spacing))}.gap-2{grid-gap:calc(2 * var(--kolibri-spacing));gap:calc(2 * var(--kolibri-spacing))}.grid-flow-col{grid-auto-flow:column}.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate:0;--tw-rotate-x:0;--tw-rotate-y:0;--tw-rotate-z:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;-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));-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));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))}.animate{-webkit-animation-iteration-count:1;animation-iteration-count:1}.filter{--tw-blur:var(--tw-empty, );--tw-brightness:var(--tw-empty, );--tw-contrast:var(--tw-empty, );--tw-grayscale:var(--tw-empty, );--tw-hue-rotate:var(--tw-empty, );--tw-invert:var(--tw-empty, );--tw-saturate:var(--tw-empty, );--tw-sepia:var(--tw-empty, );--tw-drop-shadow:var(--tw-empty, );-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);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)}.blur{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}:host *{-ms-hyphens:var(--kolibri-hyphens);-webkit-hyphens:var(--kolibri-hyphens);hyphens:var(--kolibri-hyphens);font-family:var(--kolibri-font-family);line-height:var(--kolibri-line-height);word-break:break-word}:host{display:inline-flex}:host>*{color:inherit;width:inherit;word-spacing:inherit}:host button{display:grid;font-family:var(--kolibri-font-family);letter-spacing:inherit;width:inherit;word-spacing:inherit;border-radius:var(--kolibri-border-radius);align-items:center !important;justify-content:center !important;border-width:1px;padding:calc(2 * var(--kolibri-spacing))}:host button kol-icon,:host button .kol-icon{width:1.5em;height:1.5em;display:inline-block}:host button.primary{background-color:var(--kolibri-color-primary);border-color:transparent;--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}:host button.primary:hover,:host button.primary:focus{border-color:var(--kolibri-color-primary);color:var(--kolibri-color-primary)}:host button.secondary{background-color:var(--kolibri-color-secondary);border-color:transparent;--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}:host button.secondary:hover,:host button.secondary:focus{border-color:var(--kolibri-color-secondary);color:var(--kolibri-color-secondary)}:host button.normal{background-color:var(--kolibri-color-normal);border-color:transparent;--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}:host button.normal:hover,:host button.normal:focus{border-color:var(--kolibri-color-normal);color:var(--kolibri-color-normal)}:host button.danger{background-color:var(--kolibri-color-danger);border-color:transparent;--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}:host button.danger:hover,:host button.danger:focus{border-color:var(--kolibri-color-danger);color:var(--kolibri-color-danger)}:host button.ghost{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity));border-color:var(--kolibri-color-ghost);color:var(--kolibri-color-ghost)}:host button.ghost:hover,:host button.ghost:focus{background-color:var(--kolibri-color-ghost);border-color:transparent;--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}:host button:disabled{--tw-bg-opacity:1;background-color:rgba(209, 213, 219, var(--tw-bg-opacity));border-color:transparent;cursor:not-allowed;--tw-text-opacity:1;color:rgba(55, 65, 81, var(--tw-text-opacity))}:host button:disabled:hover,:host button:disabled:focus{--tw-bg-opacity:1;background-color:rgba(55, 65, 81, var(--tw-bg-opacity));--tw-text-opacity:1;color:rgba(209, 213, 219, var(--tw-text-opacity))}:host button[aria-selected=true],:host button:focus{border-bottom-color:var(--kolibri-color-accent) !important;border-bottom-width:6px !important}:host .close-button{font-size:50%;height:fit-content;left:-3em;position:relative;top:0.25em}',PrerenderEvent=new CustomEvent("prerender"),KolTabs$1=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.onCreateLabel="Neu …",this.showCreateTab=!1,this.selectedTimeout=setTimeout((()=>{})),this.nextPossibleTabIndex=(t,e,a)=>{if(a>0){if(e+a<t.length)return t[e+a]._disabled?this.nextPossibleTabIndex(t,e,a+1):e+a}else if(a<0&&e+a>=0)return t[e+a]._disabled?this.nextPossibleTabIndex(t,e,a-1):e+a;return e},this.onKeyDown=t=>{setTimeout((()=>{let e=null;switch(t.key){case"ArrowRight":e=this.nextPossibleTabIndex(this.state._tabs,this.state._selected,1);break;case"ArrowLeft":e=this.nextPossibleTabIndex(this.state._tabs,this.state._selected,-1)}null!==e&&this.onSelect(t,e,!0)}),250)},this.onClickSelect=(t,e)=>{this.onSelect(t,e,!0)},this.onMouseDown=t=>{t.stopPropagation()},this.preRender=()=>{var t;if(this.state._selected>0&&this.state._selected>this.state._tabs.length-1)return this.state._tabs.length>0&&this.onSelect(PrerenderEvent,this.state._tabs.length-1),h(Host,null);if(this.state._tabs.length>0&&this.state._selected<this.state._tabs.length&&(null===(t=this.state._tabs[this.state._selected])||void 0===t?void 0:t._disabled)){let t=this.nextPossibleTabIndex(this.state._tabs,this.state._selected,1);this.state._selected===t&&(t=this.nextPossibleTabIndex(this.state._tabs,this.state._selected,-1)),this._selected===t&&devHint("[KolTabs] Alle Tabs sind deaktiviert und somit kann kein Tab angezeigt werden."),this.onSelect(PrerenderEvent,t)}},this.onCreate=t=>{var e,a;t.stopPropagation(),"function"==typeof(null===(e=this.state._on)||void 0===e?void 0:e.onCreate)&&(null===(a=this.state._on)||void 0===a||a.onCreate(t))},this._ariaLabel=void 0,this._on=void 0,this._selected=0,this._tabs=void 0,this._tabsAlign="top",this.state={_ariaLabel:"…",_tabsAlign:"top",_selected:0,_tabs:[]}}renderButtonGroup(){return h("kol-button-group",{role:"tablist","aria-label":this.state._ariaLabel,onKeyDown:this.onKeyDown},this.state._tabs.map(((t,e)=>h("div",{class:"inline-flex"},h("kol-button-wc",{class:"h-full",_ariaControls:`tabpanel-${e}`,_id:`tab-${e}`,_disabled:t._disabled,_icon:t._icon,_iconOnly:t._iconOnly,_label:t._label&&t._label,_on:{onClick:t=>this.onClickSelect(t,e),onMouseDown:this.onMouseDown},_tabIndex:this.state._selected===e?0:-1,_tooltipAlign:t._tooltipAlign,_variant:this.state._selected===e?"custom":void 0,_customClass:this.state._selected===e?"selected":void 0,"aria-selected":this.state._selected===e?"true":"false",role:"tab"})))),this.showCreateTab&&h("kol-button-wc",{class:"create-button",_label:this.onCreateLabel,_on:{onClick:this.onCreate}}))}render(){return this.preRender(),h(Host,{ref:t=>{this.hostElement=t}},h("div",{ref:t=>{this.tabsElement=t},class:{[`tab-align-${this.state._tabsAlign}`]:!0}},this.renderButtonGroup(),h("div",null,this.state._tabs.map(((t,e)=>h("div",{role:"tabpanel",id:`tabpanel-${e}`,"aria-labelledby":`tab-${e}`,style:this.state._selected!==e||!0===t._disabled?{display:"none",visibility:"hidden"}:void 0},h("slot",{name:`tab-${e}`})))))))}validateAriaLabel(t){watchString(this,"_ariaLabel",t,{required:!0}),a11yHintLabelingLandmarks(t)}validateOn(t){if("object"==typeof t&&null!==t){featureHint("[KolTabs] Prüfen, wie man auch einen EventCallback einzeln ändern kann.");const e={};"function"!=typeof t.onCreate&&"object"!=typeof t.onCreate||("object"==typeof t.onCreate?("string"==typeof t.onCreate.label&&t.onCreate.label.length>0?this.onCreateLabel=t.onCreate.label:Log.debug("[KolTabs] Der Label-Text für Neu in {\n onCreate: {\n label: string (!),\n callback: Function\n }\n} ist nicht korrekt gesetzt."),"function"==typeof t.onCreate.callback?e.onCreate=t.onCreate.callback:Log.debug("[KolTabs] Die onCreate-Callback-Funktion für Neu in {\n onCreate: {\n label: string,\n callback: Function (!)\n }\n} ist nicht korrekt gesetzt.")):e.onCreate=t.onCreate,this.showCreateTab="function"==typeof e.onCreate),"function"==typeof t.onSelect&&(e.onSelect=t.onSelect),setState(this,"_on",e)}}validateSelected(t){watchNumber(this,"_selected",t)}validateTabs(t){watchJsonArrayString(this,"_tabs",(t=>"object"==typeof t&&null!==t&&"string"==typeof t._label&&t._label.length>0),t),uiUxHintMillerscheZahl("KolTabs",this.state._tabs.length)}validateTabsAlign(t){validateAlignment(this,"_tabsAlign",t)}componentWillLoad(){this.validateAriaLabel(this._ariaLabel),this.validateOn(this._on),this.validateSelected(this._selected),this.validateTabs(this._tabs),this.validateTabsAlign(this._tabsAlign)}componentDidRender(){var t;if(this.hostElement instanceof HTMLElement){this.htmlDivElements=null===(t=this.hostElement)||void 0===t?void 0:t.children;for(let t=0;t<this.htmlDivElements.length;t++)this.htmlDivElements[t]instanceof HTMLElement&&this.htmlDivElements[t].setAttribute("slot",`tab-${t}`)}}onSelect(t,e,a=!1){var o,i;this._selected=e,"function"==typeof(null===(o=this._on)||void 0===o?void 0:o.onSelect)&&(null===(i=this._on)||void 0===i||i.onSelect(t,e)),!0===a&&(this.selectedTimeout=setTimeout((()=>{if(clearTimeout(this.selectedTimeout),this.tabsElement instanceof HTMLElement){const t=koliBriQuerySelector(`button#tab-${e}`,this.tabsElement);null==t||t.focus()}}),100))}static get watchers(){return{_ariaLabel:["validateAriaLabel"],_on:["validateOn"],_selected:["validateSelected"],_tabs:["validateTabs"],_tabsAlign:["validateTabsAlign"]}}static get style(){return{default:defaultStyleCss}}},[33,"kol-tabs",{_ariaLabel:[1,"_aria-label"],_on:[16],_selected:[1026],_tabs:[1],_tabsAlign:[1,"_tabs-align"],state:[32]}]);function defineCustomElement$1(){if("undefined"==typeof customElements)return;["kol-tabs","kol-badge","kol-button-group","kol-button-wc","kol-icon","kol-span-wc","kol-tooltip"].forEach((t=>{switch(t){case"kol-tabs":customElements.get(t)||customElements.define(t,KolTabs$1);break;case"kol-badge":customElements.get(t)||defineCustomElement$7();break;case"kol-button-group":customElements.get(t)||defineCustomElement$6();break;case"kol-button-wc":customElements.get(t)||defineCustomElement$5();break;case"kol-icon":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 KolTabs=KolTabs$1,defineCustomElement=defineCustomElement$1;export{KolTabs,defineCustomElement};
4
+ import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{j as watchValidator,d as devHint,w as watchString,e as a11yHintLabelingLandmarks,f as featureHint,L as Log,a as setState,p as watchNumber,o as watchJsonArrayString,x as uiUxHintMillerscheZahl,y as koliBriQuerySelector}from"./prop.validators.js";import{d as defineCustomElement$7}from"./component2.js";import{d as defineCustomElement$6}from"./component3.js";import{d as defineCustomElement$5}from"./component4.js";import{d as defineCustomElement$4}from"./component6.js";import{d as defineCustomElement$3}from"./component15.js";import{d as defineCustomElement$2}from"./component16.js";const AVAILABLE_HORIZONTAL_ALIGNMENT_VALUES=new Set(['"left", "right"']),AVAILABLE_VERTICAL_ALIGNMENT_VALUES=new Set(['"left", "right"']),AVAILABLE_ALIGNMENT_VALUES=new Set([...AVAILABLE_HORIZONTAL_ALIGNMENT_VALUES,...AVAILABLE_VERTICAL_ALIGNMENT_VALUES]),validateAlignment=(t,e,a)=>{watchValidator(t,e,(t=>"bottom"===t||"left"===t||"right"===t||"top"===t),AVAILABLE_ALIGNMENT_VALUES,a)},defaultStyleCss='*,::before,::after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--kolibri-border-color)}*{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:var(--kolibri-color);--tw-ring-color:rgba(undefined, 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}::moz-focus-inner{border-style:none;padding:0}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type=\'search\']{-webkit-appearance:textfield;outline-offset:-2px}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}a{color:inherit;text-decoration:inherit}body{margin:0;font-family:inherit;line-height:inherit}b{font-weight:bolder}button,select{text-transform:none}button,[type=\'button\'],[type=\'reset\'],[type=\'submit\']{-webkit-appearance:button}button{background-color:transparent;background-image:none}button,[role="button"]{cursor:pointer}code{font-size:1em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}fieldset{margin:0;padding:0}html{-webkit-text-size-adjust:100%;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";line-height:1.5}h1,p,h2,h3,h4,h5,h6{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}input,button,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;padding:0;line-height:inherit;color:inherit}input::placeholder{opacity:1;color:#9ca3af}input::webkit-input-placeholder{opacity:1;color:#9ca3af}input::-moz-placeholder{opacity:1;color:#9ca3af}input:-ms-input-placeholder{opacity:1;color:#9ca3af}input::-ms-input-placeholder{opacity:1;color:#9ca3af}legend{padding:0}progress{vertical-align:baseline}small{font-size:80%}svg{display:block;vertical-align:middle}table{text-indent:0;border-color:inherit;border-collapse:collapse}textarea{resize:vertical}textarea::placeholder{opacity:1;color:#9ca3af}textarea::webkit-input-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}textarea:-ms-input-placeholder{opacity:1;color:#9ca3af}textarea::-ms-input-placeholder{opacity:1;color:#9ca3af}ul,ol{list-style:none;margin:0;padding:0}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.bg-normal{background-color:var(--kolibri-color-normal)}.bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-spin-1{background-color:var(--kolibri-color-spin-1)}.bg-spin-2{background-color:var(--kolibri-color-spin-2)}.bg-spin-3{background-color:var(--kolibri-color-spin-3)}.rounded{border-radius:var(--kolibri-border-radius)}.border-1{border-width:1px}.cursor-pointer{cursor:pointer}.block{display:block}.inline-block{display:inline-block}.flex{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.inline-flex{display:-webkit-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex}.table{display:table}.grid{display:-ms-grid;display:grid}.hidden{display:none}.flex-wrap{-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.items-center{-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}.content-center{-ms-flex-line-pack:center;-webkit-align-content:center;align-content:center}.float-left{float:left}.font-80{font-weight:80}.font-60{font-weight:60}.h-full{height:100%}.h-0{height:0px}.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{height:0.29rem}.text-sm{font-size:0.875rem;line-height:1.25rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.leading-normal{line-height:1.5}.list-none{list-style-type:none}.list-disc{list-style-type:disc}.list-decimal{list-style-type:decimal}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:calc(1 * var(--kolibri-spacing))}.mr-2{margin-right:calc(2 * var(--kolibri-spacing))}.ml-2{margin-left:calc(2 * var(--kolibri-spacing))}.mt-2{margin-top:calc(2 * var(--kolibri-spacing))}.mt-4{margin-top:calc(4 * var(--kolibri-spacing))}.outline{outline-style:solid}.overflow-hidden{overflow:hidden}.overflow-y-visible{overflow-y:visible}.p-2{padding:calc(2 * var(--kolibri-spacing))}.p-4{padding:calc(4 * var(--kolibri-spacing))}.px{padding-left:1px;padding-right:1px}.py-2{padding-top:calc(2 * var(--kolibri-spacing));padding-bottom:calc(2 * var(--kolibri-spacing))}.pl-8{padding-left:2rem}.pb-2{padding-bottom:calc(2 * var(--kolibri-spacing))}.tab{-moz-tab-size:4;-o-tab-size:4;tab-size:4}.absolute{position:absolute}.text-center{text-align:center}.text-normal{color:var(--kolibri-color-normal)}.hover\\:text-primary:hover{color:var(--kolibri-color-primary)}.italic{font-style:italic}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.indent{text-indent:1.5rem}.visible{visibility:visible}.w-full{width:100%}.w-4\\/5{width:80%}.z-50{z-index:50}.gap-1{grid-gap:calc(1 * var(--kolibri-spacing));gap:calc(1 * var(--kolibri-spacing))}.gap-2{grid-gap:calc(2 * var(--kolibri-spacing));gap:calc(2 * var(--kolibri-spacing))}.grid-flow-col{grid-auto-flow:column}.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate:0;--tw-rotate-x:0;--tw-rotate-y:0;--tw-rotate-z:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;-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));-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));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))}.animate{-webkit-animation-iteration-count:1;animation-iteration-count:1}.filter{--tw-blur:var(--tw-empty, );--tw-brightness:var(--tw-empty, );--tw-contrast:var(--tw-empty, );--tw-grayscale:var(--tw-empty, );--tw-hue-rotate:var(--tw-empty, );--tw-invert:var(--tw-empty, );--tw-saturate:var(--tw-empty, );--tw-sepia:var(--tw-empty, );--tw-drop-shadow:var(--tw-empty, );-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);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)}.blur{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}:host *{-ms-hyphens:var(--kolibri-hyphens);-webkit-hyphens:var(--kolibri-hyphens);hyphens:var(--kolibri-hyphens);font-family:var(--kolibri-font-family);line-height:var(--kolibri-line-height);word-break:break-word}:host{display:inline-flex}:host>*{color:inherit;width:inherit;word-spacing:inherit}:host button{display:grid;font-family:var(--kolibri-font-family);letter-spacing:inherit;width:inherit;word-spacing:inherit;border-radius:var(--kolibri-border-radius);align-items:center !important;justify-content:center !important;border-width:1px;padding:calc(2 * var(--kolibri-spacing))}:host button kol-icon,:host button .kol-icon{width:1.5em;height:1.5em;display:inline-block}:host button.primary{background-color:var(--kolibri-color-primary);border-color:transparent;--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}:host button.primary:hover,:host button.primary:focus{border-color:var(--kolibri-color-primary);color:var(--kolibri-color-primary)}:host button.secondary{background-color:var(--kolibri-color-secondary);border-color:transparent;--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}:host button.secondary:hover,:host button.secondary:focus{border-color:var(--kolibri-color-secondary);color:var(--kolibri-color-secondary)}:host button.normal{background-color:var(--kolibri-color-normal);border-color:transparent;--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}:host button.normal:hover,:host button.normal:focus{border-color:var(--kolibri-color-normal);color:var(--kolibri-color-normal)}:host button.danger{background-color:var(--kolibri-color-danger);border-color:transparent;--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}:host button.danger:hover,:host button.danger:focus{border-color:var(--kolibri-color-danger);color:var(--kolibri-color-danger)}:host button.ghost{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity));border-color:var(--kolibri-color-ghost);color:var(--kolibri-color-ghost)}:host button.ghost:hover,:host button.ghost:focus{background-color:var(--kolibri-color-ghost);border-color:transparent;--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}:host button:disabled{--tw-bg-opacity:1;background-color:rgba(209, 213, 219, var(--tw-bg-opacity));border-color:transparent;cursor:not-allowed;--tw-text-opacity:1;color:rgba(55, 65, 81, var(--tw-text-opacity))}:host button:disabled:hover,:host button:disabled:focus{--tw-bg-opacity:1;background-color:rgba(55, 65, 81, var(--tw-bg-opacity));--tw-text-opacity:1;color:rgba(209, 213, 219, var(--tw-text-opacity))}:host button[aria-selected=true],:host button:focus{border-bottom-color:var(--kolibri-color-accent) !important;border-bottom-width:6px !important}:host .close-button{font-size:50%;height:fit-content;left:-3em;position:relative;top:0.25em}',PrerenderEvent=new CustomEvent("prerender"),KolTabs$1=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.onCreateLabel="Neu …",this.showCreateTab=!1,this.selectedTimeout=setTimeout((()=>{})),this.nextPossibleTabIndex=(t,e,a)=>{if(a>0){if(e+a<t.length)return t[e+a]._disabled?this.nextPossibleTabIndex(t,e,a+1):e+a}else if(a<0&&e+a>=0)return t[e+a]._disabled?this.nextPossibleTabIndex(t,e,a-1):e+a;return e},this.onKeyDown=t=>{setTimeout((()=>{let e=null;switch(t.key){case"ArrowRight":e=this.nextPossibleTabIndex(this.state._tabs,this.state._selected,1);break;case"ArrowLeft":e=this.nextPossibleTabIndex(this.state._tabs,this.state._selected,-1)}null!==e&&this.onSelect(t,e,!0)}),250)},this.onClickSelect=(t,e)=>{this.onSelect(t,e,!0)},this.onMouseDown=t=>{t.stopPropagation()},this.preRender=()=>{var t;if(this.state._selected>0&&this.state._selected>this.state._tabs.length-1)return this.state._tabs.length>0&&this.onSelect(PrerenderEvent,this.state._tabs.length-1),h(Host,null);if(this.state._tabs.length>0&&this.state._selected<this.state._tabs.length&&(null===(t=this.state._tabs[this.state._selected])||void 0===t?void 0:t._disabled)){let t=this.nextPossibleTabIndex(this.state._tabs,this.state._selected,1);this.state._selected===t&&(t=this.nextPossibleTabIndex(this.state._tabs,this.state._selected,-1)),this._selected===t&&devHint("[KolTabs] Alle Tabs sind deaktiviert und somit kann kein Tab angezeigt werden."),this.onSelect(PrerenderEvent,t)}},this.onCreate=t=>{var e,a;t.stopPropagation(),"function"==typeof(null===(e=this.state._on)||void 0===e?void 0:e.onCreate)&&(null===(a=this.state._on)||void 0===a||a.onCreate(t))},this._ariaLabel=void 0,this._on=void 0,this._selected=0,this._tabs=void 0,this._tabsAlign="top",this.state={_ariaLabel:"…",_tabsAlign:"top",_selected:0,_tabs:[]}}renderButtonGroup(){return h("kol-button-group",{role:"tablist","aria-label":this.state._ariaLabel,onKeyDown:this.onKeyDown},this.state._tabs.map(((t,e)=>h("div",{class:"inline-flex"},h("kol-button-wc",{class:"h-full",_ariaControls:`tabpanel-${e}`,_id:`tab-${e}`,_disabled:t._disabled,_icon:t._icon,_iconOnly:t._iconOnly,_label:t._label&&t._label,_on:{onClick:t=>this.onClickSelect(t,e),onMouseDown:this.onMouseDown},_tabIndex:this.state._selected===e?0:-1,_tooltipAlign:t._tooltipAlign,_variant:this.state._selected===e?"custom":void 0,_customClass:this.state._selected===e?"selected":void 0,"aria-selected":this.state._selected===e?"true":"false",role:"tab"})))),this.showCreateTab&&h("kol-button-wc",{class:"create-button",_label:this.onCreateLabel,_on:{onClick:this.onCreate}}))}render(){return this.preRender(),h(Host,{ref:t=>{this.hostElement=t}},h("div",{ref:t=>{this.tabsElement=t},class:{[`tabs-align-${this.state._tabsAlign}`]:!0}},this.renderButtonGroup(),h("div",null,this.state._tabs.map(((t,e)=>h("div",{role:"tabpanel",id:`tabpanel-${e}`,"aria-labelledby":`tab-${e}`,style:this.state._selected!==e||!0===t._disabled?{display:"none",visibility:"hidden"}:void 0},h("slot",{name:`tab-${e}`})))))))}validateAriaLabel(t){watchString(this,"_ariaLabel",t,{required:!0}),a11yHintLabelingLandmarks(t)}validateOn(t){if("object"==typeof t&&null!==t){featureHint("[KolTabs] Prüfen, wie man auch einen EventCallback einzeln ändern kann.");const e={};"function"!=typeof t.onCreate&&"object"!=typeof t.onCreate||("object"==typeof t.onCreate?("string"==typeof t.onCreate.label&&t.onCreate.label.length>0?this.onCreateLabel=t.onCreate.label:Log.debug("[KolTabs] Der Label-Text für Neu in {\n onCreate: {\n label: string (!),\n callback: Function\n }\n} ist nicht korrekt gesetzt."),"function"==typeof t.onCreate.callback?e.onCreate=t.onCreate.callback:Log.debug("[KolTabs] Die onCreate-Callback-Funktion für Neu in {\n onCreate: {\n label: string,\n callback: Function (!)\n }\n} ist nicht korrekt gesetzt.")):e.onCreate=t.onCreate,this.showCreateTab="function"==typeof e.onCreate),"function"==typeof t.onSelect&&(e.onSelect=t.onSelect),setState(this,"_on",e)}}validateSelected(t){watchNumber(this,"_selected",t)}validateTabs(t){watchJsonArrayString(this,"_tabs",(t=>"object"==typeof t&&null!==t&&"string"==typeof t._label&&t._label.length>0),t),uiUxHintMillerscheZahl("KolTabs",this.state._tabs.length)}validateTabsAlign(t){validateAlignment(this,"_tabsAlign",t)}componentWillLoad(){this.validateAriaLabel(this._ariaLabel),this.validateOn(this._on),this.validateSelected(this._selected),this.validateTabs(this._tabs),this.validateTabsAlign(this._tabsAlign)}componentDidRender(){var t;if(this.hostElement instanceof HTMLElement){this.htmlDivElements=null===(t=this.hostElement)||void 0===t?void 0:t.children;for(let t=0;t<this.htmlDivElements.length;t++)this.htmlDivElements[t]instanceof HTMLElement&&this.htmlDivElements[t].setAttribute("slot",`tab-${t}`)}}onSelect(t,e,a=!1){var o,i;this._selected=e,"function"==typeof(null===(o=this._on)||void 0===o?void 0:o.onSelect)&&(null===(i=this._on)||void 0===i||i.onSelect(t,e)),!0===a&&(this.selectedTimeout=setTimeout((()=>{if(clearTimeout(this.selectedTimeout),this.tabsElement instanceof HTMLElement){const t=koliBriQuerySelector(`button#tab-${e}`,this.tabsElement);null==t||t.focus()}}),100))}static get watchers(){return{_ariaLabel:["validateAriaLabel"],_on:["validateOn"],_selected:["validateSelected"],_tabs:["validateTabs"],_tabsAlign:["validateTabsAlign"]}}static get style(){return{default:defaultStyleCss}}},[33,"kol-tabs",{_ariaLabel:[1,"_aria-label"],_on:[16],_selected:[1026],_tabs:[1],_tabsAlign:[1,"_tabs-align"],state:[32]}]);function defineCustomElement$1(){if("undefined"==typeof customElements)return;["kol-tabs","kol-badge","kol-button-group","kol-button-wc","kol-icon","kol-span-wc","kol-tooltip"].forEach((t=>{switch(t){case"kol-tabs":customElements.get(t)||customElements.define(t,KolTabs$1);break;case"kol-badge":customElements.get(t)||defineCustomElement$7();break;case"kol-button-group":customElements.get(t)||defineCustomElement$6();break;case"kol-button-wc":customElements.get(t)||defineCustomElement$5();break;case"kol-icon":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 KolTabs=KolTabs$1,defineCustomElement=defineCustomElement$1;export{KolTabs,defineCustomElement};