@public-ui/components 3.0.4-rc.0 → 3.0.4-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +15 -15
- package/dist/cjs/{Alert-Dbez0OWE.js → Alert-GO0ulq-y.js} +1 -1
- package/dist/cjs/{Alert-Dbez0OWE.js.map → Alert-GO0ulq-y.js.map} +1 -1
- package/dist/cjs/{Collapsible-hyUDyq1p.js → Collapsible-QdsG3mn0.js} +1 -1
- package/dist/cjs/{Collapsible-hyUDyq1p.js.map → Collapsible-QdsG3mn0.js.map} +1 -1
- package/dist/cjs/{CustomSuggestionsToggle-Behvymij.js → CustomSuggestionsToggle-DRrm6-k4.js} +1 -1
- package/dist/cjs/{CustomSuggestionsToggle-Behvymij.js.map → CustomSuggestionsToggle-DRrm6-k4.js.map} +1 -1
- package/dist/cjs/FieldControlStateWrapper-1DfteJ7k.js +4 -0
- package/dist/{esm/FieldControlStateWrapper-BpSEIOuI.js.map → cjs/FieldControlStateWrapper-1DfteJ7k.js.map} +1 -1
- package/dist/cjs/FormFieldStateWrapper-D085XZsk.js +4 -0
- package/dist/cjs/{FormFieldStateWrapper-Cwv6XCb_.js.map → FormFieldStateWrapper-D085XZsk.js.map} +1 -1
- package/dist/cjs/{Heading-B_FNjVhY.js → Heading-COpqElx6.js} +1 -1
- package/dist/cjs/{Heading-B_FNjVhY.js.map → Heading-COpqElx6.js.map} +1 -1
- package/dist/cjs/{Icon-Cm3lAgHU.js → Icon-BGCYlyIe.js} +1 -1
- package/dist/cjs/{Icon-Cm3lAgHU.js.map → Icon-BGCYlyIe.js.map} +1 -1
- package/dist/cjs/{Input-VN0FQkZJ.js → Input-DujdFdpC.js} +1 -1
- package/dist/cjs/{Input-VN0FQkZJ.js.map → Input-DujdFdpC.js.map} +1 -1
- package/dist/cjs/{InputStateWrapper-CnRGVxks.js → InputStateWrapper-BbB6PCRv.js} +1 -1
- package/dist/cjs/{InputStateWrapper-CnRGVxks.js.map → InputStateWrapper-BbB6PCRv.js.map} +1 -1
- package/dist/cjs/{InternalUnderlinedBadgeText-opHTXEbX.js → InternalUnderlinedBadgeText-CItQZaXr.js} +1 -1
- package/dist/cjs/{InternalUnderlinedBadgeText-opHTXEbX.js.map → InternalUnderlinedBadgeText-CItQZaXr.js.map} +1 -1
- package/dist/cjs/Span-DHAFYvvz.js +4 -0
- package/dist/cjs/{Span-ElP1RFQ9.js.map → Span-DHAFYvvz.js.map} +1 -1
- package/dist/cjs/{access-and-short-key-CggfLrQB.js → access-and-short-key-DVroFmAK.js} +1 -1
- package/dist/cjs/{access-and-short-key-CggfLrQB.js.map → access-and-short-key-DVroFmAK.js.map} +1 -1
- package/dist/cjs/{align-BqL0hNQJ.js → align-CrvvbVMS.js} +1 -1
- package/dist/cjs/{align-BqL0hNQJ.js.map → align-CrvvbVMS.js.map} +1 -1
- package/dist/cjs/{align-floating-elements-DGKVt_WY.js → align-floating-elements-BMzD_WYa.js} +1 -1
- package/dist/{esm/align-floating-elements-DcJPtpqg.js.map → cjs/align-floating-elements-BMzD_WYa.js.map} +1 -1
- package/dist/cjs/{app-globals-D5OHlvGx.js → app-globals-BZnolLr9.js} +1 -1
- package/dist/cjs/{app-globals-D5OHlvGx.js.map → app-globals-BZnolLr9.js.map} +1 -1
- package/dist/cjs/{associated.controller-Bjo-6GWY.js → associated.controller-Bzf7vJvu.js} +1 -1
- package/dist/cjs/{associated.controller-Bjo-6GWY.js.map → associated.controller-Bzf7vJvu.js.map} +1 -1
- package/dist/cjs/{auto-complete-DoGExRu3.js → auto-complete-COEvX3tC.js} +1 -1
- package/dist/cjs/{auto-complete-DoGExRu3.js.map → auto-complete-COEvX3tC.js.map} +1 -1
- package/dist/cjs/{bem-Ca_tURco.js → bem-M3kDC-vo.js} +1 -1
- package/dist/cjs/{bem-Ca_tURco.js.map → bem-M3kDC-vo.js.map} +1 -1
- package/dist/cjs/{bem-BNyH56ks.js → bem-NKeLjr9z.js} +1 -1
- package/dist/cjs/{bem-BNyH56ks.js.map → bem-NKeLjr9z.js.map} +1 -1
- package/dist/cjs/bootstrap-ChR4HoCO.js +4 -0
- package/dist/cjs/bootstrap-ChR4HoCO.js.map +1 -0
- package/dist/cjs/{browser-DgQGXJkX.js → browser-CxYCINh-.js} +1 -1
- package/dist/cjs/{browser-DgQGXJkX.js.map → browser-CxYCINh-.js.map} +1 -1
- package/dist/cjs/{color-XMyVfVo9.js → color-CpoYLcf_.js} +1 -1
- package/dist/cjs/{color-XMyVfVo9.js.map → color-CpoYLcf_.js.map} +1 -1
- package/dist/cjs/common-7TmauOM3.js +4 -0
- package/dist/cjs/common-7TmauOM3.js.map +1 -0
- package/dist/cjs/{controller-D0qd9yWT.js → controller-CANbpn5a.js} +1 -1
- package/dist/{esm/controller-BdbCRmeK.js.map → cjs/controller-CANbpn5a.js.map} +1 -1
- package/dist/cjs/{controller-CRkGKHDB.js → controller-CSV71lX7.js} +1 -1
- package/dist/cjs/{controller-CRkGKHDB.js.map → controller-CSV71lX7.js.map} +1 -1
- package/dist/cjs/{controller-CjgWW9-a.js → controller-Cb2fFw__.js} +1 -1
- package/dist/cjs/{controller-CjgWW9-a.js.map → controller-Cb2fFw__.js.map} +1 -1
- package/dist/cjs/{controller-BTkATp4C.js → controller-eB--GZT0.js} +1 -1
- package/dist/cjs/{controller-BTkATp4C.js.map → controller-eB--GZT0.js.map} +1 -1
- package/dist/cjs/{controller-icon-BFVf_6RR.js → controller-icon-DCcAZdPF.js} +1 -1
- package/dist/cjs/{controller-icon-BFVf_6RR.js.map → controller-icon-DCcAZdPF.js.map} +1 -1
- package/dist/cjs/{custom-class-CUCK62na.js → custom-class-DHvs6l1N.js} +1 -1
- package/dist/cjs/{custom-class-CUCK62na.js.map → custom-class-DHvs6l1N.js.map} +1 -1
- package/dist/cjs/dev.utils-fLQKa-va.js +4 -0
- package/dist/cjs/dev.utils-fLQKa-va.js.map +1 -0
- package/dist/cjs/devtools-D9RfoNTf.js +4 -0
- package/dist/cjs/devtools-D9RfoNTf.js.map +1 -0
- package/dist/cjs/{disabled-wCErt5QV.js → disabled-ByURNkQi.js} +1 -1
- package/dist/cjs/{disabled-wCErt5QV.js.map → disabled-ByURNkQi.js.map} +1 -1
- package/dist/cjs/has-closer-D6QR5Jl5.js +4 -0
- package/dist/cjs/{has-closer-D50nx2OP.js.map → has-closer-D6QR5Jl5.js.map} +1 -1
- package/dist/cjs/{hide-label-OPx-sdW8.js → hide-label-BVBvC42z.js} +1 -1
- package/dist/cjs/{hide-label-OPx-sdW8.js.map → hide-label-BVBvC42z.js.map} +1 -1
- package/dist/cjs/href-BTA-hq8O.js +4 -0
- package/dist/cjs/{href-CbQwpP3t.js.map → href-BTA-hq8O.js.map} +1 -1
- package/dist/cjs/{i18n-CR9McMIU.js → i18n-BZMNivX4.js} +1 -1
- package/dist/cjs/i18n-BZMNivX4.js.map +1 -0
- package/dist/cjs/{icons-_d_CGN11.js → icons-BdMM8cdN.js} +1 -1
- package/dist/cjs/{icons-_d_CGN11.js.map → icons-BdMM8cdN.js.map} +1 -1
- package/dist/cjs/{image-source-CcPWnaXY.js → image-source-CAD4jvSn.js} +1 -1
- package/dist/cjs/{image-source-CcPWnaXY.js.map → image-source-CAD4jvSn.js.map} +1 -1
- package/dist/cjs/{index-CIQC-OQ4.js → index-COuxz9w8.js} +1 -1
- package/dist/cjs/{index-CIQC-OQ4.js.map → index-COuxz9w8.js.map} +1 -1
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
- package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
- package/dist/cjs/kol-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-accordion.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-alert-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-alert.cjs.entry.js +1 -1
- package/dist/cjs/kol-avatar-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-avatar.cjs.entry.js +1 -1
- package/dist/cjs/kol-avatar.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-avatar.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-badge.cjs.entry.js +1 -1
- package/dist/cjs/kol-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-badge.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-link.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-wc.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-button-wc.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-card-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-card.cjs.entry.js +1 -1
- package/dist/cjs/kol-combobox.cjs.entry.js +1 -1
- package/dist/cjs/kol-combobox.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-combobox.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-details.cjs.entry.js +1 -1
- package/dist/cjs/kol-details.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-details.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-drawer.cjs.entry.js +1 -1
- package/dist/cjs/kol-form.cjs.entry.js +1 -1
- package/dist/cjs/kol-heading.cjs.entry.js +1 -1
- package/dist/cjs/kol-icon.cjs.entry.js +1 -1
- package/dist/cjs/kol-image.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-checkbox.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-color.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-color.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-date.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-date.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-email.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-email.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-file.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-file.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-number.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-number.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-password.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-password.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-radio.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-range.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-range.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-text.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-text.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
- package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-link-wc.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-link-wc.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-link.cjs.entry.js +1 -1
- package/dist/cjs/kol-modal.cjs.entry.js +1 -1
- package/dist/cjs/kol-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-modal.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-nav.cjs.entry.js +1 -1
- package/dist/cjs/kol-pagination-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
- package/dist/cjs/kol-popover-button-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-popover-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-popover-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-progress.cjs.entry.js +1 -1
- package/dist/cjs/kol-quote.cjs.entry.js +1 -1
- package/dist/cjs/kol-quote.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-quote.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-select.cjs.entry.js +1 -1
- package/dist/cjs/kol-select.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-select.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-single-select.cjs.entry.js +1 -1
- package/dist/cjs/kol-single-select.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-single-select.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
- package/dist/cjs/kol-skip-nav.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-skip-nav.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-spin.cjs.entry.js +1 -1
- package/dist/cjs/kol-split-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-table-settings-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-table-stateful.cjs.entry.js +1 -1
- package/dist/cjs/kol-table-stateless-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-table-stateless.cjs.entry.js +1 -1
- package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
- package/dist/cjs/kol-tabs.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-tabs.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
- package/dist/cjs/kol-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-textarea.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-toast-container.cjs.entry.js +1 -1
- package/dist/cjs/kol-toolbar.cjs.entry.js +1 -1
- package/dist/cjs/kol-tooltip-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-tooltip-wc.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-tooltip-wc.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-tree-item-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-tree-item.cjs.entry.js +1 -1
- package/dist/cjs/kol-tree-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-tree.cjs.entry.js +1 -1
- package/dist/cjs/kol-version.cjs.entry.js +1 -1
- package/dist/cjs/kolibri.cjs.js +1 -1
- package/dist/cjs/{label-DLgz6vof.js → label-LeEyJEwm.js} +1 -1
- package/dist/cjs/{label-DLgz6vof.js.map → label-LeEyJEwm.js.map} +1 -1
- package/dist/cjs/{link-variant-KUs_g8H4.js → link-variant-HPiJmwCQ.js} +1 -1
- package/dist/cjs/{link-variant-KUs_g8H4.js.map → link-variant-HPiJmwCQ.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{markdown-CQWmbUr2.js → markdown-BJdT5me1.js} +1 -1
- package/dist/cjs/{markdown-CQWmbUr2.js.map → markdown-BJdT5me1.js.map} +1 -1
- package/dist/cjs/{max-length-behavior-u3iOrNaO.js → max-length-behavior-UEbrdnHh.js} +1 -1
- package/dist/cjs/{max-length-behavior-u3iOrNaO.js.map → max-length-behavior-UEbrdnHh.js.map} +1 -1
- package/dist/cjs/{multiple-De6H6x3y.js → multiple-Cx38-JPb.js} +1 -1
- package/dist/cjs/{multiple-De6H6x3y.js.map → multiple-Cx38-JPb.js.map} +1 -1
- package/dist/cjs/{open-DbjpA16U.js → open-C1nCcPR5.js} +1 -1
- package/dist/cjs/{open-DbjpA16U.js.map → open-C1nCcPR5.js.map} +1 -1
- package/dist/cjs/{orientation-Bs8Ti6Qp.js → orientation-Duun7BHt.js} +1 -1
- package/dist/cjs/{orientation-Bs8Ti6Qp.js.map → orientation-Duun7BHt.js.map} +1 -1
- package/dist/cjs/placeholder-BCSfyeOC.js +4 -0
- package/dist/cjs/{placeholder-Dr79GC1y.js.map → placeholder-BCSfyeOC.js.map} +1 -1
- package/dist/cjs/{read-only-DgZf8Y3g.js → read-only-Dl8s9CYU.js} +1 -1
- package/dist/cjs/{read-only-DgZf8Y3g.js.map → read-only-Dl8s9CYU.js.map} +1 -1
- package/dist/cjs/required-C5SZg1Uu.js +4 -0
- package/dist/cjs/{required-CLk7h34x.js.map → required-C5SZg1Uu.js.map} +1 -1
- package/dist/cjs/reuse-Cs36Ddzu.js +4 -0
- package/dist/cjs/reuse-Cs36Ddzu.js.map +1 -0
- package/dist/cjs/rows-DZL7kLNN.js +4 -0
- package/dist/cjs/{rows-DIn4PliE.js.map → rows-DZL7kLNN.js.map} +1 -1
- package/dist/cjs/{show-CQIqnU_A.js → show-ncAxtXB9.js} +1 -1
- package/dist/cjs/{show-CQIqnU_A.js.map → show-ncAxtXB9.js.map} +1 -1
- package/dist/cjs/{spell-check-l1PX5cgd.js → spell-check-E-zcIhTv.js} +1 -1
- package/dist/cjs/{spell-check-l1PX5cgd.js.map → spell-check-E-zcIhTv.js.map} +1 -1
- package/dist/cjs/{suggestions-DIVQQ7ex.js → suggestions-bMQtJ0OQ.js} +1 -1
- package/dist/cjs/{suggestions-DIVQQ7ex.js.map → suggestions-bMQtJ0OQ.js.map} +1 -1
- package/dist/cjs/{table-settings-eDHUAgUn.js → table-settings-DUyNW5C7.js} +1 -1
- package/dist/cjs/{table-settings-eDHUAgUn.js.map → table-settings-DUyNW5C7.js.map} +1 -1
- package/dist/cjs/test-component.cjs.entry.js +1 -1
- package/dist/cjs/tooltip-align-8GY9k-Cb.js +4 -0
- package/dist/cjs/{tooltip-align-DAf31VLo.js.map → tooltip-align-8GY9k-Cb.js.map} +1 -1
- package/dist/cjs/{unique-nav-labels-CL071GRq.js → unique-nav-labels-ClNOhgb7.js} +1 -1
- package/dist/cjs/{unique-nav-labels-CL071GRq.js.map → unique-nav-labels-ClNOhgb7.js.map} +1 -1
- package/dist/cjs/{validation-COFOcyGF.js → validation-5s8A-glH.js} +1 -1
- package/dist/cjs/{validation-COFOcyGF.js.map → validation-5s8A-glH.js.map} +1 -1
- package/dist/cjs/{validation-aR1BCnFY.js → validation-BVWNyMCi.js} +1 -1
- package/dist/cjs/{validation-aR1BCnFY.js.map → validation-BVWNyMCi.js.map} +1 -1
- package/dist/components/FieldControlStateWrapper.js +1 -1
- package/dist/components/FieldControlStateWrapper.js.map +1 -1
- package/dist/components/Span.js +1 -1
- package/dist/components/Span.js.map +1 -1
- package/dist/components/access-and-short-key.js +1 -1
- package/dist/components/align-floating-elements.js +1 -1
- package/dist/components/align-floating-elements.js.map +1 -1
- package/dist/components/associated.controller.js +1 -1
- package/dist/components/bootstrap.js +1 -1
- package/dist/components/bootstrap.js.map +1 -1
- package/dist/components/browser.js +1 -1
- package/dist/components/color.js +1 -1
- package/dist/components/common.js +1 -1
- package/dist/components/common.js.map +1 -1
- package/dist/components/controller.js +1 -1
- package/dist/components/controller2.js +1 -1
- package/dist/components/controller2.js.map +1 -1
- package/dist/components/controller3.js +1 -1
- package/dist/components/controller3.js.map +1 -1
- package/dist/components/dev.utils.js +1 -1
- package/dist/components/dev.utils.js.map +1 -1
- package/dist/components/devtools.js +1 -1
- package/dist/components/devtools.js.map +1 -1
- package/dist/components/disabled.js +1 -1
- package/dist/components/i18n.js +1 -1
- package/dist/components/i18n.js.map +1 -1
- package/dist/components/icons.js +1 -1
- package/dist/components/kol-accordion.js +1 -1
- package/dist/components/kol-accordion.js.map +1 -1
- package/dist/components/kol-avatar.js +1 -1
- package/dist/components/kol-avatar.js.map +1 -1
- package/dist/components/kol-button-wc.js +1 -1
- package/dist/components/kol-button-wc.js.map +1 -1
- package/dist/components/kol-details.js +1 -1
- package/dist/components/kol-details.js.map +1 -1
- package/dist/components/kol-input-checkbox.js +1 -1
- package/dist/components/kol-input-date.js +1 -1
- package/dist/components/kol-input-password.js +1 -1
- package/dist/components/kol-kolibri.js +1 -1
- package/dist/components/kol-link-wc.js +1 -1
- package/dist/components/kol-link-wc.js.map +1 -1
- package/dist/components/kol-modal.js +1 -1
- package/dist/components/kol-modal.js.map +1 -1
- package/dist/components/kol-nav.js +1 -1
- package/dist/components/kol-pagination-wc.js +1 -1
- package/dist/components/kol-popover-wc.js +1 -1
- package/dist/components/kol-progress.js +1 -1
- package/dist/components/kol-quote.js +1 -1
- package/dist/components/kol-quote.js.map +1 -1
- package/dist/components/kol-select.js +1 -1
- package/dist/components/kol-single-select.js +1 -1
- package/dist/components/kol-skip-nav.js +1 -1
- package/dist/components/kol-skip-nav.js.map +1 -1
- package/dist/components/kol-table-stateful.js +1 -1
- package/dist/components/kol-table-stateless-wc.js +1 -1
- package/dist/components/kol-tabs.js +1 -1
- package/dist/components/kol-tabs.js.map +1 -1
- package/dist/components/kol-toolbar.js +1 -1
- package/dist/components/kol-tooltip-wc.js +1 -1
- package/dist/components/label.js +1 -1
- package/dist/components/markdown.js +1 -1
- package/dist/components/max-length-behavior.js +1 -1
- package/dist/components/reuse.js +4 -0
- package/dist/components/reuse.js.map +1 -0
- package/dist/components/rows.js +1 -1
- package/dist/components/suggestions.js +1 -1
- package/dist/components/table-settings.js +1 -1
- package/dist/components/validation2.js +1 -1
- package/dist/esm/{Alert-BDx1u40I.js → Alert-BGDOGZ66.js} +1 -1
- package/dist/esm/{Alert-BDx1u40I.js.map → Alert-BGDOGZ66.js.map} +1 -1
- package/dist/esm/{Collapsible-BVHowVxs.js → Collapsible-CV7OHhy1.js} +1 -1
- package/dist/esm/{Collapsible-BVHowVxs.js.map → Collapsible-CV7OHhy1.js.map} +1 -1
- package/dist/esm/{CustomSuggestionsToggle-B3tvLP2v.js → CustomSuggestionsToggle-C60H2vRs.js} +1 -1
- package/dist/{kolibri/CustomSuggestionsToggle-B3tvLP2v.js.map → esm/CustomSuggestionsToggle-C60H2vRs.js.map} +1 -1
- package/dist/esm/FieldControlStateWrapper-DVc-7hVp.js +4 -0
- package/dist/{cjs/FieldControlStateWrapper-Dyc0LGCc.js.map → esm/FieldControlStateWrapper-DVc-7hVp.js.map} +1 -1
- package/dist/esm/FormFieldStateWrapper-BB8YPxqw.js +4 -0
- package/dist/{kolibri/FormFieldStateWrapper-BaUJkKkj.js.map → esm/FormFieldStateWrapper-BB8YPxqw.js.map} +1 -1
- package/dist/esm/{Heading-DjO0rS4X.js → Heading-BJWc7lPF.js} +1 -1
- package/dist/{kolibri/Heading-DjO0rS4X.js.map → esm/Heading-BJWc7lPF.js.map} +1 -1
- package/dist/esm/{Icon-BI4MKvDM.js → Icon-D_us06Jc.js} +1 -1
- package/dist/esm/{Icon-BI4MKvDM.js.map → Icon-D_us06Jc.js.map} +1 -1
- package/dist/esm/{Input-DgMgOuZb.js → Input-cjOEMGqX.js} +1 -1
- package/dist/{kolibri/Input-DgMgOuZb.js.map → esm/Input-cjOEMGqX.js.map} +1 -1
- package/dist/esm/{InputStateWrapper-BSuXDLge.js → InputStateWrapper-BbhqZWq4.js} +1 -1
- package/dist/{kolibri/InputStateWrapper-BSuXDLge.js.map → esm/InputStateWrapper-BbhqZWq4.js.map} +1 -1
- package/dist/esm/{InternalUnderlinedBadgeText-DlNNod38.js → InternalUnderlinedBadgeText-BN6MGm6L.js} +1 -1
- package/dist/esm/{InternalUnderlinedBadgeText-DlNNod38.js.map → InternalUnderlinedBadgeText-BN6MGm6L.js.map} +1 -1
- package/dist/esm/Span-zj0oaJ4n.js +4 -0
- package/dist/{kolibri/Span-BX5FGBRq.js.map → esm/Span-zj0oaJ4n.js.map} +1 -1
- package/dist/esm/{access-and-short-key-CIkiLGbP.js → access-and-short-key-Dn89ieoC.js} +1 -1
- package/dist/esm/{access-and-short-key-CIkiLGbP.js.map → access-and-short-key-Dn89ieoC.js.map} +1 -1
- package/dist/esm/{align-DoCRbhrp.js → align-CLdxNiyN.js} +1 -1
- package/dist/esm/{align-DoCRbhrp.js.map → align-CLdxNiyN.js.map} +1 -1
- package/dist/esm/{align-floating-elements-DcJPtpqg.js → align-floating-elements-_qWSwItV.js} +1 -1
- package/dist/{cjs/align-floating-elements-DGKVt_WY.js.map → esm/align-floating-elements-_qWSwItV.js.map} +1 -1
- package/dist/esm/{app-globals-CUNGBuzr.js → app-globals-B6vgmGDG.js} +1 -1
- package/dist/esm/{app-globals-CUNGBuzr.js.map → app-globals-B6vgmGDG.js.map} +1 -1
- package/dist/esm/{associated.controller-DWb-3J2w.js → associated.controller-BkDoI80f.js} +1 -1
- package/dist/esm/{associated.controller-DWb-3J2w.js.map → associated.controller-BkDoI80f.js.map} +1 -1
- package/dist/esm/{auto-complete-CEf1aicD.js → auto-complete-CAPgpxXk.js} +1 -1
- package/dist/esm/{auto-complete-CEf1aicD.js.map → auto-complete-CAPgpxXk.js.map} +1 -1
- package/dist/esm/{bem-CwA0xXwr.js → bem-BQWXB6Eh.js} +1 -1
- package/dist/esm/{bem-CwA0xXwr.js.map → bem-BQWXB6Eh.js.map} +1 -1
- package/dist/esm/{bem-DwCdT1yJ.js → bem-CMeEEW0R.js} +1 -1
- package/dist/esm/{bem-DwCdT1yJ.js.map → bem-CMeEEW0R.js.map} +1 -1
- package/dist/esm/bootstrap-DP7Uj14s.js +4 -0
- package/dist/esm/bootstrap-DP7Uj14s.js.map +1 -0
- package/dist/esm/{browser-D7tkBuSS.js → browser-DEWn2ir2.js} +1 -1
- package/dist/{kolibri/browser-D7tkBuSS.js.map → esm/browser-DEWn2ir2.js.map} +1 -1
- package/dist/esm/{color-BZoXukPw.js → color-DNKA1_LP.js} +1 -1
- package/dist/esm/{color-BZoXukPw.js.map → color-DNKA1_LP.js.map} +1 -1
- package/dist/esm/common-Kl71BXoz.js +4 -0
- package/dist/esm/common-Kl71BXoz.js.map +1 -0
- package/dist/esm/{controller-DPjDdojl.js → controller-Bgo2GfFj.js} +1 -1
- package/dist/{kolibri/controller-DPjDdojl.js.map → esm/controller-Bgo2GfFj.js.map} +1 -1
- package/dist/esm/{controller-CSzEePpT.js → controller-BmYl-uWU.js} +1 -1
- package/dist/{kolibri/controller-CSzEePpT.js.map → esm/controller-BmYl-uWU.js.map} +1 -1
- package/dist/esm/{controller-CpEalgoI.js → controller-CPvHM2KT.js} +1 -1
- package/dist/{kolibri/controller-CpEalgoI.js.map → esm/controller-CPvHM2KT.js.map} +1 -1
- package/dist/esm/{controller-BdbCRmeK.js → controller-Dj70jI8q.js} +1 -1
- package/dist/{cjs/controller-D0qd9yWT.js.map → esm/controller-Dj70jI8q.js.map} +1 -1
- package/dist/esm/{controller-icon-BunGMkek.js → controller-icon-DTAJOixm.js} +1 -1
- package/dist/esm/{controller-icon-BunGMkek.js.map → controller-icon-DTAJOixm.js.map} +1 -1
- package/dist/esm/{custom-class-BrihA94O.js → custom-class-Bv2Fb70J.js} +1 -1
- package/dist/esm/{custom-class-BrihA94O.js.map → custom-class-Bv2Fb70J.js.map} +1 -1
- package/dist/esm/dev.utils-BYxOaH5w.js +4 -0
- package/dist/esm/dev.utils-BYxOaH5w.js.map +1 -0
- package/dist/esm/devtools-v_LZVcMJ.js +4 -0
- package/dist/esm/devtools-v_LZVcMJ.js.map +1 -0
- package/dist/esm/disabled-DmIh2qKl.js +4 -0
- package/dist/esm/{disabled-DOGGfuG4.js.map → disabled-DmIh2qKl.js.map} +1 -1
- package/dist/esm/has-closer-DtRjBCiQ.js +4 -0
- package/dist/esm/{has-closer-DbTKc11W.js.map → has-closer-DtRjBCiQ.js.map} +1 -1
- package/dist/esm/{hide-label-B1sxX0if.js → hide-label-CCWliH5X.js} +1 -1
- package/dist/esm/{hide-label-B1sxX0if.js.map → hide-label-CCWliH5X.js.map} +1 -1
- package/dist/esm/{href-4XW2Ab0f.js → href-CP42tWLC.js} +1 -1
- package/dist/esm/{href-4XW2Ab0f.js.map → href-CP42tWLC.js.map} +1 -1
- package/dist/esm/i18n-CKkAYzG_.js +4 -0
- package/dist/esm/i18n-CKkAYzG_.js.map +1 -0
- package/dist/esm/{icons-mdo32hNB.js → icons-D9ITQLUQ.js} +1 -1
- package/dist/esm/{icons-mdo32hNB.js.map → icons-D9ITQLUQ.js.map} +1 -1
- package/dist/esm/image-source-BgfwzAfV.js +4 -0
- package/dist/esm/{image-source-D-Q1faxH.js.map → image-source-BgfwzAfV.js.map} +1 -1
- package/dist/esm/{index-CuRbHMox.js → index-8LH1C-22.js} +1 -1
- package/dist/esm/{index-CuRbHMox.js.map → index-8LH1C-22.js.map} +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/kol-abbr.entry.js +1 -1
- package/dist/esm/kol-accordion.entry.js +1 -1
- package/dist/esm/kol-accordion.entry.js.map +1 -1
- package/dist/esm/kol-alert-wc.entry.js +1 -1
- package/dist/esm/kol-alert.entry.js +1 -1
- package/dist/esm/kol-avatar-wc.entry.js +1 -1
- package/dist/esm/kol-avatar.entry.js +1 -1
- package/dist/esm/kol-avatar.entry.js.map +1 -1
- package/dist/esm/kol-badge.entry.js +1 -1
- package/dist/esm/kol-badge.entry.js.map +1 -1
- package/dist/esm/kol-breadcrumb.entry.js +1 -1
- package/dist/esm/kol-button-link.entry.js +1 -1
- package/dist/esm/kol-button-wc.entry.js +1 -1
- package/dist/esm/kol-button-wc.entry.js.map +1 -1
- package/dist/esm/kol-button.entry.js +1 -1
- package/dist/esm/kol-card-wc.entry.js +1 -1
- package/dist/esm/kol-card.entry.js +1 -1
- package/dist/esm/kol-combobox.entry.js +1 -1
- package/dist/esm/kol-combobox.entry.js.map +1 -1
- package/dist/esm/kol-details.entry.js +1 -1
- package/dist/esm/kol-details.entry.js.map +1 -1
- package/dist/esm/kol-drawer.entry.js +1 -1
- package/dist/esm/kol-form.entry.js +1 -1
- package/dist/esm/kol-heading.entry.js +1 -1
- package/dist/esm/kol-icon.entry.js +1 -1
- package/dist/esm/kol-image.entry.js +1 -1
- package/dist/esm/kol-input-checkbox.entry.js +1 -1
- package/dist/esm/kol-input-checkbox.entry.js.map +1 -1
- package/dist/esm/kol-input-color.entry.js +1 -1
- package/dist/esm/kol-input-color.entry.js.map +1 -1
- package/dist/esm/kol-input-date.entry.js +1 -1
- package/dist/esm/kol-input-date.entry.js.map +1 -1
- package/dist/esm/kol-input-email.entry.js +1 -1
- package/dist/esm/kol-input-email.entry.js.map +1 -1
- package/dist/esm/kol-input-file.entry.js +1 -1
- package/dist/esm/kol-input-file.entry.js.map +1 -1
- package/dist/esm/kol-input-number.entry.js +1 -1
- package/dist/esm/kol-input-number.entry.js.map +1 -1
- package/dist/esm/kol-input-password.entry.js +1 -1
- package/dist/esm/kol-input-password.entry.js.map +1 -1
- package/dist/esm/kol-input-radio.entry.js +1 -1
- package/dist/esm/kol-input-radio.entry.js.map +1 -1
- package/dist/esm/kol-input-range.entry.js +1 -1
- package/dist/esm/kol-input-range.entry.js.map +1 -1
- package/dist/esm/kol-input-text.entry.js +1 -1
- package/dist/esm/kol-input-text.entry.js.map +1 -1
- package/dist/esm/kol-kolibri.entry.js +1 -1
- package/dist/esm/kol-link-button.entry.js +1 -1
- package/dist/esm/kol-link-wc.entry.js +1 -1
- package/dist/esm/kol-link-wc.entry.js.map +1 -1
- package/dist/esm/kol-link.entry.js +1 -1
- package/dist/esm/kol-modal.entry.js +1 -1
- package/dist/esm/kol-modal.entry.js.map +1 -1
- package/dist/esm/kol-nav.entry.js +1 -1
- package/dist/esm/kol-pagination-wc.entry.js +1 -1
- package/dist/esm/kol-pagination.entry.js +1 -1
- package/dist/esm/kol-popover-button-wc.entry.js +1 -1
- package/dist/esm/kol-popover-button.entry.js +1 -1
- package/dist/esm/kol-popover-wc.entry.js +1 -1
- package/dist/esm/kol-progress.entry.js +1 -1
- package/dist/esm/kol-quote.entry.js +1 -1
- package/dist/esm/kol-quote.entry.js.map +1 -1
- package/dist/esm/kol-select.entry.js +1 -1
- package/dist/esm/kol-select.entry.js.map +1 -1
- package/dist/esm/kol-single-select.entry.js +1 -1
- package/dist/esm/kol-single-select.entry.js.map +1 -1
- package/dist/esm/kol-skip-nav.entry.js +1 -1
- package/dist/esm/kol-skip-nav.entry.js.map +1 -1
- package/dist/esm/kol-spin.entry.js +1 -1
- package/dist/esm/kol-split-button.entry.js +1 -1
- package/dist/esm/kol-table-settings-wc.entry.js +1 -1
- package/dist/esm/kol-table-stateful.entry.js +1 -1
- package/dist/esm/kol-table-stateless-wc.entry.js +1 -1
- package/dist/esm/kol-table-stateless.entry.js +1 -1
- package/dist/esm/kol-tabs.entry.js +1 -1
- package/dist/esm/kol-tabs.entry.js.map +1 -1
- package/dist/esm/kol-textarea.entry.js +1 -1
- package/dist/esm/kol-textarea.entry.js.map +1 -1
- package/dist/esm/kol-toast-container.entry.js +1 -1
- package/dist/esm/kol-toolbar.entry.js +1 -1
- package/dist/esm/kol-tooltip-wc.entry.js +1 -1
- package/dist/esm/kol-tooltip-wc.entry.js.map +1 -1
- package/dist/esm/kol-tree-item-wc.entry.js +1 -1
- package/dist/esm/kol-tree-item.entry.js +1 -1
- package/dist/esm/kol-tree-wc.entry.js +1 -1
- package/dist/esm/kol-tree.entry.js +1 -1
- package/dist/esm/kol-version.entry.js +1 -1
- package/dist/esm/kolibri.js +1 -1
- package/dist/esm/{label-DAfXJvJZ.js → label-DWoPQebK.js} +1 -1
- package/dist/{kolibri/label-DAfXJvJZ.js.map → esm/label-DWoPQebK.js.map} +1 -1
- package/dist/esm/{link-variant-CvVVNwJS.js → link-variant-CArXfKVV.js} +1 -1
- package/dist/esm/{link-variant-CvVVNwJS.js.map → link-variant-CArXfKVV.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{markdown-RQjNjZ_M.js → markdown-BiFI499a.js} +1 -1
- package/dist/esm/{markdown-RQjNjZ_M.js.map → markdown-BiFI499a.js.map} +1 -1
- package/dist/esm/{max-length-behavior-BJuqKbOX.js → max-length-behavior-Bqd46qaV.js} +1 -1
- package/dist/{kolibri/max-length-behavior-BJuqKbOX.js.map → esm/max-length-behavior-Bqd46qaV.js.map} +1 -1
- package/dist/esm/multiple-XX78_bZo.js +4 -0
- package/dist/{kolibri/multiple-DAViTLG-.js.map → esm/multiple-XX78_bZo.js.map} +1 -1
- package/dist/esm/{open-k4WSPWPA.js → open-C3e8CHTb.js} +1 -1
- package/dist/{kolibri/open-k4WSPWPA.js.map → esm/open-C3e8CHTb.js.map} +1 -1
- package/dist/esm/orientation-N6Xti7J6.js +4 -0
- package/dist/esm/{orientation-BV4mvHIC.js.map → orientation-N6Xti7J6.js.map} +1 -1
- package/dist/esm/{placeholder-ikSHqukt.js → placeholder-DGXnxp3-.js} +1 -1
- package/dist/esm/{placeholder-ikSHqukt.js.map → placeholder-DGXnxp3-.js.map} +1 -1
- package/dist/esm/{read-only-BAPnQth3.js → read-only-C9K1LzTw.js} +1 -1
- package/dist/esm/{read-only-BAPnQth3.js.map → read-only-C9K1LzTw.js.map} +1 -1
- package/dist/esm/required-B9b6BnIz.js +4 -0
- package/dist/{kolibri/required-DZ5CUsrb.js.map → esm/required-B9b6BnIz.js.map} +1 -1
- package/dist/esm/reuse-CX4AQDkS.js +4 -0
- package/dist/esm/reuse-CX4AQDkS.js.map +1 -0
- package/dist/esm/{rows-CRXE6nJb.js → rows-DTr13_vx.js} +1 -1
- package/dist/esm/{rows-CRXE6nJb.js.map → rows-DTr13_vx.js.map} +1 -1
- package/dist/esm/{show-C_i9p0dk.js → show-DnRPM4Iz.js} +1 -1
- package/dist/{kolibri/show-C_i9p0dk.js.map → esm/show-DnRPM4Iz.js.map} +1 -1
- package/dist/esm/spell-check-7eVNgVLz.js +4 -0
- package/dist/esm/{spell-check-BwdT9MHK.js.map → spell-check-7eVNgVLz.js.map} +1 -1
- package/dist/esm/{suggestions-BAQRZsDz.js → suggestions-DclRTsZK.js} +1 -1
- package/dist/esm/{suggestions-BAQRZsDz.js.map → suggestions-DclRTsZK.js.map} +1 -1
- package/dist/esm/{table-settings-CC1LSsqS.js → table-settings-C_w0eJ7x.js} +1 -1
- package/dist/esm/{table-settings-CC1LSsqS.js.map → table-settings-C_w0eJ7x.js.map} +1 -1
- package/dist/esm/test-component.entry.js +1 -1
- package/dist/esm/tooltip-align-CF4S871j.js +4 -0
- package/dist/esm/{tooltip-align-B_X7PRrT.js.map → tooltip-align-CF4S871j.js.map} +1 -1
- package/dist/esm/{unique-nav-labels-PqHnrOFf.js → unique-nav-labels-DiFK5iwG.js} +1 -1
- package/dist/esm/{unique-nav-labels-PqHnrOFf.js.map → unique-nav-labels-DiFK5iwG.js.map} +1 -1
- package/dist/esm/{validation-CcPLmr0Q.js → validation-Cn-KroIc.js} +1 -1
- package/dist/esm/{validation-CcPLmr0Q.js.map → validation-Cn-KroIc.js.map} +1 -1
- package/dist/esm/validation-CwA9mWha.js +4 -0
- package/dist/esm/{validation-DhcHxkL2.js.map → validation-CwA9mWha.js.map} +1 -1
- package/dist/kolibri/Alert-BGDOGZ66.js +4 -0
- package/dist/kolibri/{Alert-BDx1u40I.js.map → Alert-BGDOGZ66.js.map} +1 -1
- package/dist/kolibri/Collapsible-CV7OHhy1.js +4 -0
- package/dist/kolibri/{Collapsible-BVHowVxs.js.map → Collapsible-CV7OHhy1.js.map} +1 -1
- package/dist/kolibri/{CustomSuggestionsToggle-B3tvLP2v.js → CustomSuggestionsToggle-C60H2vRs.js} +1 -1
- package/dist/{esm/CustomSuggestionsToggle-B3tvLP2v.js.map → kolibri/CustomSuggestionsToggle-C60H2vRs.js.map} +1 -1
- package/dist/kolibri/FieldControlStateWrapper-DVc-7hVp.js +4 -0
- package/dist/kolibri/{FieldControlStateWrapper-BpSEIOuI.js.map → FieldControlStateWrapper-DVc-7hVp.js.map} +1 -1
- package/dist/kolibri/FormFieldStateWrapper-BB8YPxqw.js +4 -0
- package/dist/{esm/FormFieldStateWrapper-BaUJkKkj.js.map → kolibri/FormFieldStateWrapper-BB8YPxqw.js.map} +1 -1
- package/dist/kolibri/{Heading-DjO0rS4X.js → Heading-BJWc7lPF.js} +1 -1
- package/dist/{esm/Heading-DjO0rS4X.js.map → kolibri/Heading-BJWc7lPF.js.map} +1 -1
- package/dist/kolibri/{Icon-BI4MKvDM.js → Icon-D_us06Jc.js} +1 -1
- package/dist/kolibri/{Icon-BI4MKvDM.js.map → Icon-D_us06Jc.js.map} +1 -1
- package/dist/kolibri/Input-cjOEMGqX.js +4 -0
- package/dist/{esm/Input-DgMgOuZb.js.map → kolibri/Input-cjOEMGqX.js.map} +1 -1
- package/dist/kolibri/{InputStateWrapper-BSuXDLge.js → InputStateWrapper-BbhqZWq4.js} +1 -1
- package/dist/{esm/InputStateWrapper-BSuXDLge.js.map → kolibri/InputStateWrapper-BbhqZWq4.js.map} +1 -1
- package/dist/kolibri/InternalUnderlinedBadgeText-BN6MGm6L.js +4 -0
- package/dist/kolibri/{InternalUnderlinedBadgeText-DlNNod38.js.map → InternalUnderlinedBadgeText-BN6MGm6L.js.map} +1 -1
- package/dist/kolibri/Span-zj0oaJ4n.js +4 -0
- package/dist/{esm/Span-BX5FGBRq.js.map → kolibri/Span-zj0oaJ4n.js.map} +1 -1
- package/dist/kolibri/access-and-short-key-Dn89ieoC.js +4 -0
- package/dist/kolibri/{access-and-short-key-CIkiLGbP.js.map → access-and-short-key-Dn89ieoC.js.map} +1 -1
- package/dist/kolibri/align-CLdxNiyN.js +4 -0
- package/dist/kolibri/{align-DoCRbhrp.js.map → align-CLdxNiyN.js.map} +1 -1
- package/dist/kolibri/{align-floating-elements-DcJPtpqg.js → align-floating-elements-_qWSwItV.js} +1 -1
- package/dist/kolibri/{align-floating-elements-DcJPtpqg.js.map → align-floating-elements-_qWSwItV.js.map} +1 -1
- package/dist/kolibri/app-globals-B6vgmGDG.js +4 -0
- package/dist/kolibri/{app-globals-CUNGBuzr.js.map → app-globals-B6vgmGDG.js.map} +1 -1
- package/dist/kolibri/assets/codicons/LICENSE +394 -394
- package/dist/kolibri/assets/codicons/LICENSE-CODE +21 -21
- package/dist/kolibri/{associated.controller-DWb-3J2w.js → associated.controller-BkDoI80f.js} +1 -1
- package/dist/kolibri/{associated.controller-DWb-3J2w.js.map → associated.controller-BkDoI80f.js.map} +1 -1
- package/dist/kolibri/{auto-complete-CEf1aicD.js → auto-complete-CAPgpxXk.js} +1 -1
- package/dist/kolibri/{auto-complete-CEf1aicD.js.map → auto-complete-CAPgpxXk.js.map} +1 -1
- package/dist/kolibri/{bem-CwA0xXwr.js → bem-BQWXB6Eh.js} +1 -1
- package/dist/kolibri/{bem-CwA0xXwr.js.map → bem-BQWXB6Eh.js.map} +1 -1
- package/dist/kolibri/bem-CMeEEW0R.js +4 -0
- package/dist/kolibri/{bem-DwCdT1yJ.js.map → bem-CMeEEW0R.js.map} +1 -1
- package/dist/kolibri/bootstrap-DP7Uj14s.js +4 -0
- package/dist/kolibri/bootstrap-DP7Uj14s.js.map +1 -0
- package/dist/kolibri/{browser-D7tkBuSS.js → browser-DEWn2ir2.js} +1 -1
- package/dist/{esm/browser-D7tkBuSS.js.map → kolibri/browser-DEWn2ir2.js.map} +1 -1
- package/dist/kolibri/{color-BZoXukPw.js → color-DNKA1_LP.js} +1 -1
- package/dist/kolibri/{color-BZoXukPw.js.map → color-DNKA1_LP.js.map} +1 -1
- package/dist/kolibri/common-Kl71BXoz.js +4 -0
- package/dist/kolibri/common-Kl71BXoz.js.map +1 -0
- package/dist/kolibri/controller-Bgo2GfFj.js +4 -0
- package/dist/{esm/controller-DPjDdojl.js.map → kolibri/controller-Bgo2GfFj.js.map} +1 -1
- package/dist/kolibri/{controller-CSzEePpT.js → controller-BmYl-uWU.js} +1 -1
- package/dist/{esm/controller-CSzEePpT.js.map → kolibri/controller-BmYl-uWU.js.map} +1 -1
- package/dist/kolibri/{controller-CpEalgoI.js → controller-CPvHM2KT.js} +1 -1
- package/dist/{esm/controller-CpEalgoI.js.map → kolibri/controller-CPvHM2KT.js.map} +1 -1
- package/dist/kolibri/controller-Dj70jI8q.js +4 -0
- package/dist/kolibri/{controller-BdbCRmeK.js.map → controller-Dj70jI8q.js.map} +1 -1
- package/dist/kolibri/{controller-icon-BunGMkek.js → controller-icon-DTAJOixm.js} +1 -1
- package/dist/kolibri/{controller-icon-BunGMkek.js.map → controller-icon-DTAJOixm.js.map} +1 -1
- package/dist/kolibri/custom-class-Bv2Fb70J.js +4 -0
- package/dist/kolibri/{custom-class-BrihA94O.js.map → custom-class-Bv2Fb70J.js.map} +1 -1
- package/dist/kolibri/dev.utils-BYxOaH5w.js +4 -0
- package/dist/kolibri/dev.utils-BYxOaH5w.js.map +1 -0
- package/dist/kolibri/devtools-v_LZVcMJ.js +4 -0
- package/dist/kolibri/devtools-v_LZVcMJ.js.map +1 -0
- package/dist/kolibri/{disabled-DOGGfuG4.js → disabled-DmIh2qKl.js} +1 -1
- package/dist/kolibri/{disabled-DOGGfuG4.js.map → disabled-DmIh2qKl.js.map} +1 -1
- package/dist/kolibri/has-closer-DtRjBCiQ.js +4 -0
- package/dist/kolibri/{has-closer-DbTKc11W.js.map → has-closer-DtRjBCiQ.js.map} +1 -1
- package/dist/kolibri/hide-label-CCWliH5X.js +4 -0
- package/dist/kolibri/{hide-label-B1sxX0if.js.map → hide-label-CCWliH5X.js.map} +1 -1
- package/dist/kolibri/href-CP42tWLC.js +4 -0
- package/dist/kolibri/{href-4XW2Ab0f.js.map → href-CP42tWLC.js.map} +1 -1
- package/dist/kolibri/i18n-CKkAYzG_.js +4 -0
- package/dist/kolibri/i18n-CKkAYzG_.js.map +1 -0
- package/dist/kolibri/{icons-mdo32hNB.js → icons-D9ITQLUQ.js} +1 -1
- package/dist/kolibri/{icons-mdo32hNB.js.map → icons-D9ITQLUQ.js.map} +1 -1
- package/dist/kolibri/image-source-BgfwzAfV.js +4 -0
- package/dist/kolibri/{image-source-D-Q1faxH.js.map → image-source-BgfwzAfV.js.map} +1 -1
- package/dist/kolibri/{index-CuRbHMox.js → index-8LH1C-22.js} +2 -2
- package/dist/kolibri/{index-CuRbHMox.js.map → index-8LH1C-22.js.map} +1 -1
- package/dist/kolibri/index.esm.js +1 -1
- package/dist/kolibri/kol-abbr.entry.js +1 -1
- package/dist/kolibri/kol-accordion.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-accordion.entry.js +1 -1
- package/dist/kolibri/kol-accordion.entry.js.map +1 -1
- package/dist/kolibri/kol-alert-wc.entry.js +1 -1
- package/dist/kolibri/kol-alert.entry.js +1 -1
- package/dist/kolibri/kol-avatar-wc.entry.js +1 -1
- package/dist/kolibri/kol-avatar.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-avatar.entry.js +1 -1
- package/dist/kolibri/kol-avatar.entry.js.map +1 -1
- package/dist/kolibri/kol-badge.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-badge.entry.js +1 -1
- package/dist/kolibri/kol-badge.entry.js.map +1 -1
- package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
- package/dist/kolibri/kol-button-link.entry.js +1 -1
- package/dist/kolibri/kol-button-wc.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-button-wc.entry.js +1 -1
- package/dist/kolibri/kol-button-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-button.entry.js +1 -1
- package/dist/kolibri/kol-card-wc.entry.js +1 -1
- package/dist/kolibri/kol-card.entry.js +1 -1
- package/dist/kolibri/kol-combobox.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-combobox.entry.js +1 -1
- package/dist/kolibri/kol-combobox.entry.js.map +1 -1
- package/dist/kolibri/kol-details.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-details.entry.js +1 -1
- package/dist/kolibri/kol-details.entry.js.map +1 -1
- package/dist/kolibri/kol-drawer.entry.js +1 -1
- package/dist/kolibri/kol-form.entry.js +1 -1
- package/dist/kolibri/kol-heading.entry.js +1 -1
- package/dist/kolibri/kol-icon.entry.js +1 -1
- package/dist/kolibri/kol-image.entry.js +1 -1
- package/dist/kolibri/kol-input-checkbox.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
- package/dist/kolibri/kol-input-checkbox.entry.js.map +1 -1
- package/dist/kolibri/kol-input-color.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-color.entry.js +1 -1
- package/dist/kolibri/kol-input-color.entry.js.map +1 -1
- package/dist/kolibri/kol-input-date.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-date.entry.js +1 -1
- package/dist/kolibri/kol-input-date.entry.js.map +1 -1
- package/dist/kolibri/kol-input-email.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-email.entry.js +1 -1
- package/dist/kolibri/kol-input-email.entry.js.map +1 -1
- package/dist/kolibri/kol-input-file.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-file.entry.js +1 -1
- package/dist/kolibri/kol-input-file.entry.js.map +1 -1
- package/dist/kolibri/kol-input-number.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-number.entry.js +1 -1
- package/dist/kolibri/kol-input-number.entry.js.map +1 -1
- package/dist/kolibri/kol-input-password.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-password.entry.js +1 -1
- package/dist/kolibri/kol-input-password.entry.js.map +1 -1
- package/dist/kolibri/kol-input-radio.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-radio.entry.js +1 -1
- package/dist/kolibri/kol-input-radio.entry.js.map +1 -1
- package/dist/kolibri/kol-input-range.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-range.entry.js +1 -1
- package/dist/kolibri/kol-input-range.entry.js.map +1 -1
- package/dist/kolibri/kol-input-text.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-text.entry.js +1 -1
- package/dist/kolibri/kol-input-text.entry.js.map +1 -1
- package/dist/kolibri/kol-kolibri.entry.js +1 -1
- package/dist/kolibri/kol-link-button.entry.js +1 -1
- package/dist/kolibri/kol-link-wc.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-link-wc.entry.js +1 -1
- package/dist/kolibri/kol-link-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-link.entry.js +1 -1
- package/dist/kolibri/kol-modal.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-modal.entry.js +1 -1
- package/dist/kolibri/kol-modal.entry.js.map +1 -1
- package/dist/kolibri/kol-nav.entry.js +1 -1
- package/dist/kolibri/kol-pagination-wc.entry.js +1 -1
- package/dist/kolibri/kol-pagination.entry.js +1 -1
- package/dist/kolibri/kol-popover-button-wc.entry.js +1 -1
- package/dist/kolibri/kol-popover-button.entry.js +1 -1
- package/dist/kolibri/kol-popover-wc.entry.js +1 -1
- package/dist/kolibri/kol-progress.entry.js +1 -1
- package/dist/kolibri/kol-quote.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-quote.entry.js +1 -1
- package/dist/kolibri/kol-quote.entry.js.map +1 -1
- package/dist/kolibri/kol-select.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-select.entry.js +1 -1
- package/dist/kolibri/kol-select.entry.js.map +1 -1
- package/dist/kolibri/kol-single-select.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-single-select.entry.js +1 -1
- package/dist/kolibri/kol-single-select.entry.js.map +1 -1
- package/dist/kolibri/kol-skip-nav.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-skip-nav.entry.js +1 -1
- package/dist/kolibri/kol-skip-nav.entry.js.map +1 -1
- package/dist/kolibri/kol-spin.entry.js +1 -1
- package/dist/kolibri/kol-split-button.entry.js +1 -1
- package/dist/kolibri/kol-table-settings-wc.entry.js +1 -1
- package/dist/kolibri/kol-table-stateful.entry.js +1 -1
- package/dist/kolibri/kol-table-stateless-wc.entry.js +1 -1
- package/dist/kolibri/kol-table-stateless.entry.js +1 -1
- package/dist/kolibri/kol-tabs.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-tabs.entry.js +1 -1
- package/dist/kolibri/kol-tabs.entry.js.map +1 -1
- package/dist/kolibri/kol-textarea.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-textarea.entry.js +1 -1
- package/dist/kolibri/kol-textarea.entry.js.map +1 -1
- package/dist/kolibri/kol-toast-container.entry.js +1 -1
- package/dist/kolibri/kol-toolbar.entry.js +1 -1
- package/dist/kolibri/kol-tooltip-wc.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-tooltip-wc.entry.js +1 -1
- package/dist/kolibri/kol-tooltip-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-tree-item-wc.entry.js +1 -1
- package/dist/kolibri/kol-tree-item.entry.js +1 -1
- package/dist/kolibri/kol-tree-wc.entry.js +1 -1
- package/dist/kolibri/kol-tree.entry.js +1 -1
- package/dist/kolibri/kol-version.entry.js +1 -1
- package/dist/kolibri/kolibri.esm.js +1 -1
- package/dist/kolibri/label-DWoPQebK.js +4 -0
- package/dist/{esm/label-DAfXJvJZ.js.map → kolibri/label-DWoPQebK.js.map} +1 -1
- package/dist/kolibri/{link-variant-CvVVNwJS.js → link-variant-CArXfKVV.js} +1 -1
- package/dist/kolibri/{link-variant-CvVVNwJS.js.map → link-variant-CArXfKVV.js.map} +1 -1
- package/dist/kolibri/{markdown-RQjNjZ_M.js → markdown-BiFI499a.js} +1 -1
- package/dist/kolibri/{markdown-RQjNjZ_M.js.map → markdown-BiFI499a.js.map} +1 -1
- package/dist/kolibri/max-length-behavior-Bqd46qaV.js +4 -0
- package/dist/{esm/max-length-behavior-BJuqKbOX.js.map → kolibri/max-length-behavior-Bqd46qaV.js.map} +1 -1
- package/dist/kolibri/multiple-XX78_bZo.js +4 -0
- package/dist/{esm/multiple-DAViTLG-.js.map → kolibri/multiple-XX78_bZo.js.map} +1 -1
- package/dist/kolibri/open-C3e8CHTb.js +4 -0
- package/dist/{esm/open-k4WSPWPA.js.map → kolibri/open-C3e8CHTb.js.map} +1 -1
- package/dist/kolibri/{orientation-BV4mvHIC.js → orientation-N6Xti7J6.js} +1 -1
- package/dist/kolibri/{orientation-BV4mvHIC.js.map → orientation-N6Xti7J6.js.map} +1 -1
- package/dist/kolibri/placeholder-DGXnxp3-.js +4 -0
- package/dist/kolibri/{placeholder-ikSHqukt.js.map → placeholder-DGXnxp3-.js.map} +1 -1
- package/dist/kolibri/read-only-C9K1LzTw.js +4 -0
- package/dist/kolibri/{read-only-BAPnQth3.js.map → read-only-C9K1LzTw.js.map} +1 -1
- package/dist/kolibri/required-B9b6BnIz.js +4 -0
- package/dist/{esm/required-DZ5CUsrb.js.map → kolibri/required-B9b6BnIz.js.map} +1 -1
- package/dist/kolibri/reuse-CX4AQDkS.js +4 -0
- package/dist/kolibri/reuse-CX4AQDkS.js.map +1 -0
- package/dist/kolibri/rows-DTr13_vx.js +4 -0
- package/dist/kolibri/{rows-CRXE6nJb.js.map → rows-DTr13_vx.js.map} +1 -1
- package/dist/kolibri/show-DnRPM4Iz.js +4 -0
- package/dist/{esm/show-C_i9p0dk.js.map → kolibri/show-DnRPM4Iz.js.map} +1 -1
- package/dist/kolibri/spell-check-7eVNgVLz.js +4 -0
- package/dist/kolibri/{spell-check-BwdT9MHK.js.map → spell-check-7eVNgVLz.js.map} +1 -1
- package/dist/kolibri/suggestions-DclRTsZK.js +4 -0
- package/dist/kolibri/{suggestions-BAQRZsDz.js.map → suggestions-DclRTsZK.js.map} +1 -1
- package/dist/kolibri/{table-settings-CC1LSsqS.js → table-settings-C_w0eJ7x.js} +1 -1
- package/dist/kolibri/{table-settings-CC1LSsqS.js.map → table-settings-C_w0eJ7x.js.map} +1 -1
- package/dist/kolibri/test-component.entry.js +1 -1
- package/dist/kolibri/tooltip-align-CF4S871j.js +4 -0
- package/dist/kolibri/{tooltip-align-B_X7PRrT.js.map → tooltip-align-CF4S871j.js.map} +1 -1
- package/dist/kolibri/unique-nav-labels-DiFK5iwG.js +4 -0
- package/dist/kolibri/{unique-nav-labels-PqHnrOFf.js.map → unique-nav-labels-DiFK5iwG.js.map} +1 -1
- package/dist/kolibri/validation-Cn-KroIc.js +4 -0
- package/dist/kolibri/{validation-CcPLmr0Q.js.map → validation-Cn-KroIc.js.map} +1 -1
- package/dist/kolibri/{validation-DhcHxkL2.js → validation-CwA9mWha.js} +1 -1
- package/dist/kolibri/{validation-DhcHxkL2.js.map → validation-CwA9mWha.js.map} +1 -1
- package/dist/types/components/modal/shadow.d.ts +1 -2
- package/dist/types/core/bootstrap.d.ts +2 -2
- package/dist/types/schema/utils/dev.utils.d.ts +7 -5
- package/dist/types/schema/utils/reuse.d.ts +0 -4
- package/doc/combobox.md +1 -1
- package/doc/input-checkbox.md +1 -1
- package/doc/input-color.md +1 -1
- package/doc/input-date.md +1 -1
- package/doc/input-email.md +1 -1
- package/doc/input-file.md +1 -1
- package/doc/input-number.md +1 -1
- package/doc/input-password.md +1 -1
- package/doc/input-radio.md +1 -1
- package/doc/input-range.md +1 -1
- package/doc/input-text.md +1 -1
- package/doc/select.md +1 -1
- package/doc/single-select.md +1 -1
- package/doc/textarea.md +1 -1
- package/package.json +1 -1
- package/dist/cjs/FieldControlStateWrapper-Dyc0LGCc.js +0 -4
- package/dist/cjs/FormFieldStateWrapper-Cwv6XCb_.js +0 -4
- package/dist/cjs/Span-ElP1RFQ9.js +0 -4
- package/dist/cjs/bootstrap-ClKWd8IV.js +0 -4
- package/dist/cjs/bootstrap-ClKWd8IV.js.map +0 -1
- package/dist/cjs/common-BHv-S8J5.js +0 -4
- package/dist/cjs/common-BHv-S8J5.js.map +0 -1
- package/dist/cjs/dev.utils-6X4JLbGB.js +0 -4
- package/dist/cjs/dev.utils-6X4JLbGB.js.map +0 -1
- package/dist/cjs/devtools-C5EusrLu.js +0 -4
- package/dist/cjs/devtools-C5EusrLu.js.map +0 -1
- package/dist/cjs/has-closer-D50nx2OP.js +0 -4
- package/dist/cjs/href-CbQwpP3t.js +0 -4
- package/dist/cjs/i18n-CR9McMIU.js.map +0 -1
- package/dist/cjs/placeholder-Dr79GC1y.js +0 -4
- package/dist/cjs/required-CLk7h34x.js +0 -4
- package/dist/cjs/rows-DIn4PliE.js +0 -4
- package/dist/cjs/tooltip-align-DAf31VLo.js +0 -4
- package/dist/esm/FieldControlStateWrapper-BpSEIOuI.js +0 -4
- package/dist/esm/FormFieldStateWrapper-BaUJkKkj.js +0 -4
- package/dist/esm/Span-BX5FGBRq.js +0 -4
- package/dist/esm/bootstrap-ChRg7xqg.js +0 -4
- package/dist/esm/bootstrap-ChRg7xqg.js.map +0 -1
- package/dist/esm/common-7RW_NFNf.js +0 -4
- package/dist/esm/common-7RW_NFNf.js.map +0 -1
- package/dist/esm/dev.utils-DkpEPqJb.js +0 -4
- package/dist/esm/dev.utils-DkpEPqJb.js.map +0 -1
- package/dist/esm/devtools-CXclGffW.js +0 -4
- package/dist/esm/devtools-CXclGffW.js.map +0 -1
- package/dist/esm/disabled-DOGGfuG4.js +0 -4
- package/dist/esm/has-closer-DbTKc11W.js +0 -4
- package/dist/esm/i18n-yBVLeHdv.js +0 -4
- package/dist/esm/i18n-yBVLeHdv.js.map +0 -1
- package/dist/esm/image-source-D-Q1faxH.js +0 -4
- package/dist/esm/multiple-DAViTLG-.js +0 -4
- package/dist/esm/orientation-BV4mvHIC.js +0 -4
- package/dist/esm/required-DZ5CUsrb.js +0 -4
- package/dist/esm/spell-check-BwdT9MHK.js +0 -4
- package/dist/esm/tooltip-align-B_X7PRrT.js +0 -4
- package/dist/esm/validation-DhcHxkL2.js +0 -4
- package/dist/kolibri/Alert-BDx1u40I.js +0 -4
- package/dist/kolibri/Collapsible-BVHowVxs.js +0 -4
- package/dist/kolibri/FieldControlStateWrapper-BpSEIOuI.js +0 -4
- package/dist/kolibri/FormFieldStateWrapper-BaUJkKkj.js +0 -4
- package/dist/kolibri/Input-DgMgOuZb.js +0 -4
- package/dist/kolibri/InternalUnderlinedBadgeText-DlNNod38.js +0 -4
- package/dist/kolibri/Span-BX5FGBRq.js +0 -4
- package/dist/kolibri/access-and-short-key-CIkiLGbP.js +0 -4
- package/dist/kolibri/align-DoCRbhrp.js +0 -4
- package/dist/kolibri/app-globals-CUNGBuzr.js +0 -4
- package/dist/kolibri/bem-DwCdT1yJ.js +0 -4
- package/dist/kolibri/bootstrap-ChRg7xqg.js +0 -4
- package/dist/kolibri/bootstrap-ChRg7xqg.js.map +0 -1
- package/dist/kolibri/common-7RW_NFNf.js +0 -4
- package/dist/kolibri/common-7RW_NFNf.js.map +0 -1
- package/dist/kolibri/controller-BdbCRmeK.js +0 -4
- package/dist/kolibri/controller-DPjDdojl.js +0 -4
- package/dist/kolibri/custom-class-BrihA94O.js +0 -4
- package/dist/kolibri/dev.utils-DkpEPqJb.js +0 -4
- package/dist/kolibri/dev.utils-DkpEPqJb.js.map +0 -1
- package/dist/kolibri/devtools-CXclGffW.js +0 -4
- package/dist/kolibri/devtools-CXclGffW.js.map +0 -1
- package/dist/kolibri/has-closer-DbTKc11W.js +0 -4
- package/dist/kolibri/hide-label-B1sxX0if.js +0 -4
- package/dist/kolibri/href-4XW2Ab0f.js +0 -4
- package/dist/kolibri/i18n-yBVLeHdv.js +0 -4
- package/dist/kolibri/i18n-yBVLeHdv.js.map +0 -1
- package/dist/kolibri/image-source-D-Q1faxH.js +0 -4
- package/dist/kolibri/label-DAfXJvJZ.js +0 -4
- package/dist/kolibri/max-length-behavior-BJuqKbOX.js +0 -4
- package/dist/kolibri/multiple-DAViTLG-.js +0 -4
- package/dist/kolibri/open-k4WSPWPA.js +0 -4
- package/dist/kolibri/placeholder-ikSHqukt.js +0 -4
- package/dist/kolibri/read-only-BAPnQth3.js +0 -4
- package/dist/kolibri/required-DZ5CUsrb.js +0 -4
- package/dist/kolibri/rows-CRXE6nJb.js +0 -4
- package/dist/kolibri/show-C_i9p0dk.js +0 -4
- package/dist/kolibri/spell-check-BwdT9MHK.js +0 -4
- package/dist/kolibri/suggestions-BAQRZsDz.js +0 -4
- package/dist/kolibri/tooltip-align-B_X7PRrT.js +0 -4
- package/dist/kolibri/unique-nav-labels-PqHnrOFf.js +0 -4
- package/dist/kolibri/validation-CcPLmr0Q.js +0 -4
@@ -1,4 +1,4 @@
|
|
1
1
|
/*!
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
3
3
|
*/
|
4
|
-
import{r as t,h as e,F as i,g as n}from"./index-CuRbHMox.js";import{c as r}from"./clsx-eK3rPvPS.js";import{e as o,a,d as l,w as s}from"./component-names-CkE54Ym7.js";import{t as c}from"./i18n-yBVLeHdv.js";import{O as u,o as d,p as f,w as h,s as v}from"./common-7RW_NFNf.js";import{v as b}from"./label-DAfXJvJZ.js";import{v as _,a as p,e as y,b as j,d as k}from"./table-settings-CC1LSsqS.js";import{C as m}from"./keyboard-D6PoWr38.js";import{n as w}from"./dev.utils-DkpEPqJb.js";import{d as g,K as S}from"./events-CoPFQEiC.js";import{i as A,c as O,r as $,a as C,f as D,b as x,S as F}from"./isObject-DvSELytj.js";import"./i18n-CjhRejiw.js";const M=(e,t)=>{u(t,(()=>{d(t,(()=>{try{t=f(t)}catch(e){}h(e,"_headerCells",(e=>"object"==typeof e&&null!==e&&(void 0===e.horizontal||Array.isArray(e.horizontal)&&void 0===e.horizontal.find((e=>!Array.isArray(e))))&&(void 0===e.vertical||Array.isArray(e.vertical)&&void 0===e.vertical.find((e=>!Array.isArray(e))))&&!0),new Set(["TableHeaderCellsPropType"]),t)}))}))};var W="[object AsyncFunction]",P="[object Function]",E="[object GeneratorFunction]",R="[object Proxy]";function K(e){if(!A(e))return!1;var t=O(e);return t==P||t==E||t==W||t==R}var T=$["__core-js_shared__"],H=function(){var e=/[^.]+$/.exec(T&&T.keys&&T.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function N(e){return!!H&&H in e}var L=Function.prototype,B=L.toString;function z(e){if(null!=e){try{return B.call(e)}catch(e){}try{return e+""}catch(e){}}return""}var I=/[\\^$.*+?()[\]{}|]/g,U=/^\[object .+?Constructor\]$/,V=Function.prototype,q=Object.prototype,J=V.toString,G=q.hasOwnProperty,Q=RegExp("^"+J.call(G).replace(I,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function X(e){return!(!A(e)||N(e))&&(K(e)?Q:U).test(z(e))}function Y(e,t){return null==e?void 0:e[t]}function Z(e,t){var i=Y(e,t);return X(i)?i:void 0}var tt=Z($,"WeakMap"),et=9007199254740991,it=/^(?:0|[1-9]\d*)$/;function nt(e,t){var i=typeof e;return!!(t=null==t?et:t)&&("number"==i||"symbol"!=i&&it.test(e))&&e>-1&&e%1==0&&e<t}function rt(e,t){return e===t||e!=e&&t!=t}var ot=9007199254740991;function at(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=ot}function lt(e){return null!=e&&at(e.length)&&!K(e)}var st=Object.prototype;function ct(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||st)}function ut(e,t){for(var i=-1,r=Array(e);++i<e;)r[i]=t(i);return r}var dt="[object Arguments]";function ft(e){return C(e)&&O(e)==dt}var ht=Object.prototype,vt=ht.hasOwnProperty,bt=ht.propertyIsEnumerable,_t=ft(function(){return arguments}())?ft:function(e){return C(e)&&vt.call(e,"callee")&&!bt.call(e,"callee")};function pt(){return!1}var yt="object"==typeof exports&&exports&&!exports.nodeType&&exports,jt=yt&&"object"==typeof module&&module&&!module.nodeType&&module,kt=jt&&jt.exports===yt,mt=kt?$.Buffer:void 0,wt=mt?mt.isBuffer:void 0,gt=wt||pt,St="[object Arguments]",At="[object Array]",Ot="[object Boolean]",$t="[object Date]",Ct="[object Error]",Dt="[object Function]",xt="[object Map]",Ft="[object Number]",Mt="[object Object]",Wt="[object RegExp]",Pt="[object Set]",Et="[object String]",Rt="[object WeakMap]",Kt="[object ArrayBuffer]",Tt="[object DataView]",Ht="[object Float32Array]",Nt="[object Float64Array]",Lt="[object Int8Array]",Bt="[object Int16Array]",zt="[object Int32Array]",It="[object Uint8Array]",Ut="[object Uint8ClampedArray]",Vt="[object Uint16Array]",qt="[object Uint32Array]",Jt={};function Gt(e){return C(e)&&at(e.length)&&!!Jt[O(e)]}function Qt(e){return function(t){return e(t)}}Jt[Ht]=Jt[Nt]=Jt[Lt]=Jt[Bt]=Jt[zt]=Jt[It]=Jt[Ut]=Jt[Vt]=Jt[qt]=!0,Jt[St]=Jt[At]=Jt[Kt]=Jt[Ot]=Jt[Tt]=Jt[$t]=Jt[Ct]=Jt[Dt]=Jt[xt]=Jt[Ft]=Jt[Mt]=Jt[Wt]=Jt[Pt]=Jt[Et]=Jt[Rt]=!1;var Xt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Yt=Xt&&"object"==typeof module&&module&&!module.nodeType&&module,Zt=Yt&&Yt.exports===Xt,te=Zt&&D.process,ee=function(){try{var e=Yt&&Yt.require&&Yt.require("util").types;return e||te&&te.binding&&te.binding("util")}catch(e){}}(),ie=ee&&ee.isTypedArray,ne=ie?Qt(ie):Gt,re=Object.prototype,oe=re.hasOwnProperty;function ae(e,t){var i=x(e),r=!i&&_t(e),a=!i&&!r&>(e),n=!i&&!r&&!a&&ne(e),o=i||r||a||n,l=o?ut(e.length,String):[],s=l.length;for(var c in e)!oe.call(e,c)||o&&("length"==c||a&&("offset"==c||"parent"==c)||n&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||nt(c,s))||l.push(c);return l}function le(e,t){return function(i){return e(t(i))}}var se=le(Object.keys,Object),ce=Object.prototype,ue=ce.hasOwnProperty;function de(e){if(!ct(e))return se(e);var t=[];for(var i in Object(e))ue.call(e,i)&&"constructor"!=i&&t.push(i);return t}function fe(e){return lt(e)?ae(e):de(e)}var he=Z(Object,"create");function ve(){this.__data__=he?he(null):{},this.size=0}function be(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var _e="__lodash_hash_undefined__",pe=Object.prototype,ye=pe.hasOwnProperty;function je(e){var t=this.__data__;if(he){var i=t[e];return i===_e?void 0:i}return ye.call(t,e)?t[e]:void 0}var ke=Object.prototype,me=ke.hasOwnProperty;function we(e){var t=this.__data__;return he?void 0!==t[e]:me.call(t,e)}var ge="__lodash_hash_undefined__";function Se(e,t){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=he&&void 0===t?ge:t,this}function Ae(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var r=e[t];this.set(r[0],r[1])}}function Oe(){this.__data__=[],this.size=0}function $e(e,t){for(var i=e.length;i--;)if(rt(e[i][0],t))return i;return-1}Ae.prototype.clear=ve,Ae.prototype.delete=be,Ae.prototype.get=je,Ae.prototype.has=we,Ae.prototype.set=Se;var Ce=Array.prototype,De=Ce.splice;function xe(e){var t=this.__data__,i=$e(t,e);return!(i<0)&&(i==t.length-1?t.pop():De.call(t,i,1),--this.size,!0)}function Fe(e){var t=this.__data__,i=$e(t,e);return i<0?void 0:t[i][1]}function Me(e){return $e(this.__data__,e)>-1}function We(e,t){var i=this.__data__,r=$e(i,e);return r<0?(++this.size,i.push([e,t])):i[r][1]=t,this}function Pe(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var r=e[t];this.set(r[0],r[1])}}Pe.prototype.clear=Oe,Pe.prototype.delete=xe,Pe.prototype.get=Fe,Pe.prototype.has=Me,Pe.prototype.set=We;var Ee=Z($,"Map");function Re(){this.size=0,this.__data__={hash:new Ae,map:new(Ee||Pe),string:new Ae}}function Ke(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}function Te(e,t){var i=e.__data__;return Ke(t)?i["string"==typeof t?"string":"hash"]:i.map}function He(e){var t=Te(this,e).delete(e);return this.size-=t?1:0,t}function Ne(e){return Te(this,e).get(e)}function Le(e){return Te(this,e).has(e)}function Be(e,t){var i=Te(this,e),r=i.size;return i.set(e,t),this.size+=i.size==r?0:1,this}function ze(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var r=e[t];this.set(r[0],r[1])}}function Ie(e,t){for(var i=-1,r=t.length,a=e.length;++i<r;)e[a+i]=t[i];return e}function Ue(){this.__data__=new Pe,this.size=0}function Ve(e){var t=this.__data__,i=t.delete(e);return this.size=t.size,i}function qe(e){return this.__data__.get(e)}function Je(e){return this.__data__.has(e)}ze.prototype.clear=Re,ze.prototype.delete=He,ze.prototype.get=Ne,ze.prototype.has=Le,ze.prototype.set=Be;var Ge=200;function Qe(e,t){var i=this.__data__;if(i instanceof Pe){var r=i.__data__;if(!Ee||r.length<Ge-1)return r.push([e,t]),this.size=++i.size,this;i=this.__data__=new ze(r)}return i.set(e,t),this.size=i.size,this}function Xe(e){var t=this.__data__=new Pe(e);this.size=t.size}function Ye(e,t){for(var i=-1,r=null==e?0:e.length,a=0,n=[];++i<r;){var o=e[i];t(o,i,e)&&(n[a++]=o)}return n}function Ze(){return[]}Xe.prototype.clear=Ue,Xe.prototype.delete=Ve,Xe.prototype.get=qe,Xe.prototype.has=Je,Xe.prototype.set=Qe;var ti=Object.prototype,ei=ti.propertyIsEnumerable,ii=Object.getOwnPropertySymbols,ni=ii?function(e){return null==e?[]:(e=Object(e),Ye(ii(e),(function(t){return ei.call(e,t)})))}:Ze;function ri(e,t,i){var r=t(e);return x(e)?r:Ie(r,i(e))}function oi(e){return ri(e,fe,ni)}var ai=Z($,"DataView"),li=Z($,"Promise"),si=Z($,"Set"),ci="[object Map]",ui="[object Object]",di="[object Promise]",fi="[object Set]",hi="[object WeakMap]",vi="[object DataView]",bi=z(ai),_i=z(Ee),pi=z(li),yi=z(si),ji=z(tt),ki=O;(ai&&ki(new ai(new ArrayBuffer(1)))!=vi||Ee&&ki(new Ee)!=ci||li&&ki(li.resolve())!=di||si&&ki(new si)!=fi||tt&&ki(new tt)!=hi)&&(ki=function(e){var t=O(e),i=t==ui?e.constructor:void 0,r=i?z(i):"";if(r)switch(r){case bi:return vi;case _i:return ci;case pi:return di;case yi:return fi;case ji:return hi}return t});var mi=$.Uint8Array,wi="__lodash_hash_undefined__";function gi(e){return this.__data__.set(e,wi),this}function Si(e){return this.__data__.has(e)}function Ai(e){var t=-1,i=null==e?0:e.length;for(this.__data__=new ze;++t<i;)this.add(e[t])}function Oi(e,t){for(var i=-1,r=null==e?0:e.length;++i<r;)if(t(e[i],i,e))return!0;return!1}function $i(e,t){return e.has(t)}Ai.prototype.add=Ai.prototype.push=gi,Ai.prototype.has=Si;var Ci=1,Di=2;function xi(e,t,i,r,a,n){var o=i&Ci,l=e.length,s=t.length;if(l!=s&&!(o&&s>l))return!1;var c=n.get(e),h=n.get(t);if(c&&h)return c==t&&h==e;var d=-1,u=!0,b=i&Di?new Ai:void 0;for(n.set(e,t),n.set(t,e);++d<l;){var v=e[d],_=t[d];if(r)var f=o?r(_,v,d,t,e,n):r(v,_,d,e,t,n);if(void 0!==f){if(f)continue;u=!1;break}if(b){if(!Oi(t,(function(e,t){if(!$i(b,t)&&(v===e||a(v,e,i,r,n)))return b.push(t)}))){u=!1;break}}else if(v!==_&&!a(v,_,i,r,n)){u=!1;break}}return n.delete(e),n.delete(t),u}function Fi(e){var t=-1,i=Array(e.size);return e.forEach((function(e,r){i[++t]=[r,e]})),i}function Mi(e){var t=-1,i=Array(e.size);return e.forEach((function(e){i[++t]=e})),i}var Wi=1,Pi=2,Ei="[object Boolean]",Ri="[object Date]",Ki="[object Error]",Ti="[object Map]",Hi="[object Number]",Ni="[object RegExp]",Li="[object Set]",Bi="[object String]",zi="[object Symbol]",Ii="[object ArrayBuffer]",Ui="[object DataView]",Vi=F?F.prototype:void 0,qi=Vi?Vi.valueOf:void 0;function Ji(e,t,i,r,a,n,o){switch(i){case Ui:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case Ii:return!(e.byteLength!=t.byteLength||!n(new mi(e),new mi(t)));case Ei:case Ri:case Hi:return rt(+e,+t);case Ki:return e.name==t.name&&e.message==t.message;case Ni:case Bi:return e==t+"";case Ti:var l=Fi;case Li:var s=r&Wi;if(l||(l=Mi),e.size!=t.size&&!s)return!1;var c=o.get(e);if(c)return c==t;r|=Pi,o.set(e,t);var h=xi(l(e),l(t),r,a,n,o);return o.delete(e),h;case zi:if(qi)return qi.call(e)==qi.call(t)}return!1}var Gi=1,Qi=Object.prototype,Xi=Qi.hasOwnProperty;function Yi(e,t,i,r,a,n){var o=i&Gi,l=oi(e),s=l.length;if(s!=oi(t).length&&!o)return!1;for(var c=s;c--;){var h=l[c];if(!(o?h in t:Xi.call(t,h)))return!1}var d=n.get(e),u=n.get(t);if(d&&u)return d==t&&u==e;var b=!0;n.set(e,t),n.set(t,e);for(var v=o;++c<s;){var _=e[h=l[c]],f=t[h];if(r)var p=o?r(f,_,h,t,e,n):r(_,f,h,e,t,n);if(!(void 0===p?_===f||a(_,f,i,r,n):p)){b=!1;break}v||(v="constructor"==h)}if(b&&!v){var y=e.constructor,g=t.constructor;y==g||!("constructor"in e)||!("constructor"in t)||"function"==typeof y&&y instanceof y&&"function"==typeof g&&g instanceof g||(b=!1)}return n.delete(e),n.delete(t),b}var Zi=1,tn="[object Arguments]",en="[object Array]",nn="[object Object]",rn=Object.prototype,on=rn.hasOwnProperty;function an(e,t,i,r,a,n){var o=x(e),l=x(t),s=o?en:ki(e),c=l?en:ki(t),h=(s=s==tn?nn:s)==nn,d=(c=c==tn?nn:c)==nn,u=s==c;if(u&>(e)){if(!gt(t))return!1;o=!0,h=!1}if(u&&!h)return n||(n=new Xe),o||ne(e)?xi(e,t,i,r,a,n):Ji(e,t,s,i,r,a,n);if(!(i&Zi)){var b=h&&on.call(e,"__wrapped__"),v=d&&on.call(t,"__wrapped__");if(b||v){var _=b?e.value():e,f=v?t.value():t;return n||(n=new Xe),a(_,f,i,r,n)}}return!!u&&(n||(n=new Xe),Yi(e,t,i,r,a,n))}function ln(e,t,i,r,a){return e===t||(null==e||null==t||!C(e)&&!C(t)?e!=e&&t!=t:an(e,t,i,r,ln,a))}function sn(e,t){return ln(e,t)}const cn=/^\d+(\.\d+)?([a-z]+|%)?$/,un=(e,t,i)=>{h(e,"_minWidth",(e=>"string"==typeof e&&cn.test(e)),new Set(["String","/^\\d+(\\.\\d+)?([a-z]+|%)?$/"]),t,i)},dn=class{constructor(i){t(this,i),this.translateNoEntries=c("kol-no-entries"),this.state={_data:[],_headerCells:{horizontal:[],vertical:[]},_label:"",_minWidth:"auto"},this.horizontal=!0,this.cellsToRenderTimeouts=new Map,this.dataToKeyMap=new Map,this.checkboxRefs=[],this.translateSort=c("kol-sort"),this.tableDivElementHasScrollbar=!1,this.renderTableRow=(t,i,a,n=!1)=>{var o,l;let s=String(i);return this.horizontal&&(null===(o=t[0])||void 0===o?void 0:o.data)&&(s=null!==(l=this.getDataKey(t[0].data))&&void 0!==l?l:s),e("tr",{class:r("kol-table__row",{"kol-table__row--body":!n,"kol-table__row--footer":n}),key:`row-${s}`},this.renderSelectionCell(t,i),t.map(((e,t)=>this.renderTableCell(e,i,t,a))))},this.renderTableCell=(t,i,a,n)=>{const o=this.getColumnSettings(t);if(o&&!o.visible)return"";let l=`${i}-${a}-${t.label}`;if(t.data){const e=this.getDataKey(t.data);l=e?`${e}-${this.horizontal?a:i}`:l}return t.headerCell?this.renderHeadingCell(t,i,a,n):e("td",{key:`cell-${l}`,class:r("kol-table__cell kol-table__cell--body",{[`kol-table__cell--align-${t.textAlign}`]:t.textAlign}),colSpan:t.colSpan,rowSpan:t.rowSpan,style:{textAlign:t.textAlign,width:(null==o?void 0:o.width)?`${o.width}ch`:t.width},ref:"function"==typeof t.render?e=>{this.cellRender(t,e)}:void 0},"function"!=typeof t.render?t.label:"")}}validateData(e){_(this,e,{beforePatch:e=>{this.updateDataToKeyMap(e)}})}validateDataFoot(e){p(this,e)}validateHeaderCells(e){M(this,e),sn(this.previousHeaderCells,this.state._headerCells)||this.initializeTableSettings(),this.previousHeaderCells=this.state._headerCells}validateLabel(e){b(this,e,{required:!0})}validateMinWidth(e){un(this,e)}validateOn(e){y(this,e)}validateSelection(e){j(this,e)}validateTableSettings(e){k(this,e)}handleKeyDown(e){var t;if("ArrowUp"===e.key||"ArrowDown"===e.key){const i=null===(t=this.tableDivElement)||void 0===t?void 0:t.querySelector(":focus");let r=this.checkboxRefs.indexOf(i);r>-1&&(e.preventDefault(),"ArrowDown"===e.key?(r=(r+1)%this.checkboxRefs.length,this.checkboxRefs[r].focus()):"ArrowUp"===e.key&&(e.preventDefault(),r=(r+this.checkboxRefs.length-1)%this.checkboxRefs.length,this.checkboxRefs[r].focus()))}}componentDidRender(){this.checkDivElementScrollbar()}componentDidLoad(){this.tableDivElement&&ResizeObserver&&(this.tableDivElementResizeObserver=new ResizeObserver(this.checkDivElementScrollbar.bind(this)),this.tableDivElementResizeObserver.observe(this.tableDivElement))}handleSettingsChange(e){v(this,"_tableSettings",e.detail)}disconnectedCallback(){var e;null===(e=this.tableDivElementResizeObserver)||void 0===e||e.disconnect()}checkDivElementScrollbar(){this.tableDivElement&&(this.tableDivElementHasScrollbar=this.tableDivElement.scrollWidth>this.tableDivElement.clientWidth)}updateDataToKeyMap(e){e.forEach((e=>{this.dataToKeyMap.has(e)||this.dataToKeyMap.set(e,w())})),this.dataToKeyMap.forEach(((t,i)=>{e.includes(i)||this.dataToKeyMap.delete(i)}))}getDataKey(e){return this.dataToKeyMap.get(e)}cellRender(e,t){t&&(clearTimeout(this.cellsToRenderTimeouts.get(t)),this.cellsToRenderTimeouts.set(t,setTimeout((()=>{if("function"==typeof e.render){const i=e.render(t,e,e.data,this.state._data);"string"==typeof i&&(t.textContent=i)}}))))}getNumberOfCols(e,t){let i=0;return e.forEach((e=>{let t=0;Array.isArray(e)&&e.forEach((e=>{var i;return t+=null!==(i=e.colSpan)&&void 0!==i?i:1})),i<t&&(i=t)})),0===i&&(i=t.length),i}getNumberOfRows(e,t){var i;let r=0;return e.forEach((e=>{let t=0;Array.isArray(e)&&e.forEach((e=>{var i;return t+=null!==(i=e.rowSpan)&&void 0!==i?i:1})),r<t&&(r=t)})),0===r?r=t.length:r-=(null===(i=this.state._dataFoot)||void 0===i?void 0:i.length)||0,r}getThePrimaryHeadersWithKeyOrRenderFunction(e){const t=[];return e.forEach((e=>{e.forEach((e=>{"string"!=typeof e.key&&"function"!=typeof e.render||t.push(e)}))})),t}getPrimaryHeaders(e){var t,i;let r=this.getThePrimaryHeadersWithKeyOrRenderFunction(null!==(t=e.horizontal)&&void 0!==t?t:[]);return this.horizontal=!0,0===r.length&&(r=this.getThePrimaryHeadersWithKeyOrRenderFunction(null!==(i=e.vertical)&&void 0!==i?i:[]),r.length>0&&(this.horizontal=!1)),r}getColumnPositionMap(){var e;const t=new Map;return null===(e=this.state._tableSettings)||void 0===e||e.columns.forEach((e=>{t.set(e.key,e.position)})),t}sortByColumnPosition(e){const t=this.getColumnPositionMap();return[...e].sort(((e,i)=>{var r,a,n,o;return(null!==(a=t.get(null!==(r=e.key)&&void 0!==r?r:""))&&void 0!==a?a:Number.MAX_SAFE_INTEGER)-(null!==(o=t.get(null!==(n=i.key)&&void 0!==n?n:""))&&void 0!==o?o:Number.MAX_SAFE_INTEGER)}))}createDataField(e,t,i){var r;t.horizontal=Array.isArray(null==t?void 0:t.horizontal)?t.horizontal:[],t.vertical=Array.isArray(null==t?void 0:t.vertical)?t.vertical:[];const a=this.getPrimaryHeaders(t),n=this.getNumberOfCols(t.horizontal,e);let o=this.getNumberOfRows(t.vertical,e),l=0;i&&(l=o,o+=(null===(r=this.state._dataFoot)||void 0===r?void 0:r.length)||0);const s=[],c=[],h=[];t.vertical.forEach(((e,t)=>{c[t]=0,h[t]=[]}));const d=this.sortByColumnPosition(a);for(let r=l;r<o;r++){const a=[];t.vertical.forEach(((e,t)=>{let i=0;if(h[t].forEach((e=>i+=e)),i<=r){const n=e[r-i+c[t]];if("object"==typeof n){a.push(Object.assign(Object.assign({},n),{headerCell:!0,data:{}}));let e=1;if("number"==typeof n.rowSpan&&n.rowSpan>1&&(e=n.rowSpan),h[t].push(e),"number"==typeof n.colSpan&&n.colSpan>1)for(let i=1;i<n.colSpan;i++)h[t+i].push(e);c[t]++}}}));for(let t=0;t<n;t++)if(!0===this.horizontal){const n=i&&this.state._dataFoot?this.state._dataFoot[r-l]:e[r];"object"!=typeof d[t]||null===d[t]||"object"!=typeof n||null===n||"string"!=typeof d[t].key&&"function"!=typeof d[t].render||a.push(Object.assign(Object.assign({},d[t]),{colSpan:void 0,data:n,label:n[d[t].key],rowSpan:void 0}))}else"object"!=typeof d[r]||null===d[r]||"object"!=typeof e[t]||null===e[t]||"string"!=typeof d[r].key&&"function"!=typeof d[r].render||a.push(Object.assign(Object.assign({},d[r]),{colSpan:void 0,data:e[t],label:e[t][d[r].key],rowSpan:void 0}));s.push(a)}if(0===e.length){let e=0,i=0;Array.isArray(t.horizontal)&&t.horizontal.length>0&&t.horizontal[0].forEach((t=>{e+=t.colSpan||1})),Array.isArray(t.vertical)&&t.vertical.length>0&&(e-=t.vertical.length,t.vertical[0].forEach((e=>{i+=e.rowSpan||1})));const r={colSpan:e,label:this.translateNoEntries,render:void 0,rowSpan:Math.max(i,1)};0===s.length?s.push([r]):s[0].push(r)}return s}handleSelectionChangeCallbackAndEvent(e,t){var i;"function"==typeof(null===(i=this.state._on)||void 0===i?void 0:i[m.onSelectionChange])&&this.state._on[m.onSelectionChange](e,t),this.host&&g(this.host,S.selectionChange,t)}initializeTableSettings(){if(this._tableSettings)return;const e=this.getPrimaryHeaders(this.state._headerCells);this.state._tableSettings||(this.state._tableSettings={columns:[]}),this.state._tableSettings.columns=e.filter((e=>e.key)).map(((e,t)=>{var i;return{key:null!==(i=e.key)&&void 0!==i?i:w(),label:e.label,position:t,visible:!0}}))}componentWillLoad(){this.validateData(this._data),this.validateDataFoot(this._dataFoot),this.validateHeaderCells(this._headerCells),this.validateLabel(this._label),this.validateMinWidth(this._minWidth),this.validateOn(this._on),this.validateSelection(this._selection),this.validateTableSettings(this._tableSettings)}renderSelectionCell(t,i){var n,l,s;const c=this.state._selection;if(!c)return"";const h=this.getSelectionKeyPropertyName(),d=null===(n=t[0])||void 0===n?void 0:n.data;if(!d)return"";const u=d[h],b=c.multiple||void 0===c.multiple,v=null===(l=null==c?void 0:c.selectedKeys)||void 0===l?void 0:l.includes(u),_=null===(s=null==c?void 0:c.disabledKeys)||void 0===s?void 0:s.includes(u),f=c.label(d),p={name:"selection",checked:v,disabled:_,id:u,"aria-label":f};return e("td",{key:`tbody-${i}-selection`,class:"kol-table__cell kol-table__cell--selection"},e("div",{class:r("kol-table__selection",{"kol-table__selection--checked":v})},b?e("label",{class:r("kol-table__selection-label",{"kol-table__selection-label--disabled":_})},e(o,{class:"kol-table__selection-icon",_icons:"codicon "+(v?"codicon-check":""),_label:""}),e("input",Object.assign({class:r("kol-table__selection-input kol-table__selection-input--checkbox"),ref:e=>e&&this.checkboxRefs.push(e)},p,{type:"checkbox",onInput:e=>{var t,i;const r=v?null===(i=null==c?void 0:c.selectedKeys)||void 0===i?void 0:i.filter((e=>e!==u)):[...null!==(t=null==c?void 0:c.selectedKeys)&&void 0!==t?t:[],u];this.handleSelectionChangeCallbackAndEvent(e,null!=r?r:[])}}))):e("label",{class:"kol-table__selection-label"},e("input",Object.assign({class:r("kol-table__selection-input kol-table__selection-input--radio")},p,{type:"radio",onInput:e=>{this.handleSelectionChangeCallbackAndEvent(e,u)}}))),e(a,{"aria-hidden":"true",class:"kol-table__selection-input-tooltip",_align:"right",_id:`${u}-label`,_label:f})))}getColumnSettings(e){var t;return null===(t=this.state._tableSettings)||void 0===t?void 0:t.columns.find((t=>t.key===e.key))}getSelectionKeyPropertyName(){var e,t;return null!==(t=null===(e=this.state._selection)||void 0===e?void 0:e.keyPropertyName)&&void 0!==t?t:"id"}getDataWithSelectionEnabled(){const e=this.getSelectionKeyPropertyName();return this.state._data.filter((t=>{var i,r;return!(null===(r=null===(i=this.state._selection)||void 0===i?void 0:i.disabledKeys)||void 0===r?void 0:r.includes(t[e]))}))}getSelectedKeysWithoutDisabledKeys(){var e,t;return null===(t=null===(e=this.state._selection)||void 0===e?void 0:e.selectedKeys)||void 0===t?void 0:t.filter((e=>{var t,i;return!(null===(i=null===(t=this.state._selection)||void 0===t?void 0:t.disabledKeys)||void 0===i?void 0:i.includes(e))}))}getSelectedKeysWithDisabledKeysOnly(){var e,t;return null===(t=null===(e=this.state._selection)||void 0===e?void 0:e.selectedKeys)||void 0===t?void 0:t.filter((e=>{var t,i;return null===(i=null===(t=this.state._selection)||void 0===t?void 0:t.disabledKeys)||void 0===i?void 0:i.includes(e)}))}getRevertedSelection(e){var t;const i=this.getSelectionKeyPropertyName(),r=null!==(t=this.getSelectedKeysWithDisabledKeysOnly())&&void 0!==t?t:[];return e&&r.push(...this.getDataWithSelectionEnabled().map((e=>null==e?void 0:e[i]))),r}getTableMinWidth(){var e,t;const i=null!==(t=null===(e=this.state._tableSettings)||void 0===e?void 0:e.columns.filter((e=>e.visible)).reduce(((e,t)=>{var i;return e+(null!==(i=t.width)&&void 0!==i?i:0)}),0))&&void 0!==t?t:0;return"auto"===this.state._minWidth?`${i}ch`:`max(${this.state._minWidth}, ${i}ch)`}renderHeadingSelectionCell(){var t,i;const n=this.state._selection;if(!n||!n.multiple&&void 0!==n.multiple)return e("th",{class:"kol-table__cell kol-table__cell--header",key:"thead-0"});const l=null!==(i=null===(t=this.getSelectedKeysWithoutDisabledKeys())||void 0===t?void 0:t.length)&&void 0!==i?i:0,s=l===this.getDataWithSelectionEnabled().length,h=0!==l&&!s;let d="kol-table-selection-indeterminate";s&&!h&&(d="kol-table-selection-none"),0===l&&(d="kol-table-selection-all");const u=c(d);return e("th",{key:"thead-0-selection",class:"kol-table__cell kol-table__cell--header"},e("div",{class:r("kol-table__selection",{"kol-table__selection--indeterminate":h,"kol-table__selection--checked":s})},e("label",{class:"kol-table__selection-label"},e(o,{class:"kol-table__selection-icon",_icons:"codicon "+(h?"codicon-remove":s?"codicon-check":""),_label:""}),e("input",{class:r("kol-table__selection-input kol-table__selection-input--checkbox"),"data-testid":"selection-checkbox-all",ref:e=>e&&this.checkboxRefs.push(e),name:"selection",checked:s&&!h,indeterminate:h,"aria-label":u,type:"checkbox",onInput:e=>{this.handleSelectionChangeCallbackAndEvent(e,this.getRevertedSelection(!s))}})),e(a,{"aria-hidden":"true",class:"kol-table__selection-input-tooltip",_align:"right",_id:`${d}-label`,_label:u})))}renderHeaderTdCell(){return e(i,null,Array.isArray(this.state._headerCells.horizontal)&&this.state._headerCells.horizontal.length>0&&Array.isArray(this.state._headerCells.vertical)&&this.state._headerCells.vertical.length>0&&Array.isArray(this.state._headerCells.horizontal)&&e("td",{"aria-hidden":"true",colSpan:this.state._headerCells.vertical.length,rowSpan:this.state._headerCells.horizontal.length}))}renderHeadingCell(t,i,a,n){const o=this.getColumnSettings(t);if(o&&!o.visible)return"";let s="none",c="codicon codicon-fold";if(t.sortDirection)switch(t.sortDirection){case"ASC":c="codicon codicon-chevron-up",s="ascending";break;case"DESC":c="codicon codicon-chevron-down",s="descending";break;default:s="none"}const h=n?"row":"number"==typeof t.colSpan&&t.colSpan>1?"colgroup":"col";return e("th",{key:`${i}-${a}-${t.label}`,class:r("kol-table__cell kol-table__cell--header",{[`kol-table__cell--align-${t.textAlign}`]:t.textAlign,[`kol-table__cell--${s}`]:s}),scope:h,colSpan:t.colSpan,rowSpan:t.rowSpan,style:{width:(null==o?void 0:o.width)?`${o.width}ch`:t.width},"aria-sort":s,"data-sort":`sort-${t.sortDirection}`},t.sortDirection?e(l,{class:"kol-table__sort-button",exportparts:"icon",_icons:{right:c},_label:t.label,_ariaDescription:this.translateSort,_on:{onClick:e=>{var i;"function"==typeof(null===(i=this.state._on)||void 0===i?void 0:i.onSort)&&t.key&&t.sortDirection&&this.state._on.onSort(e,{key:t.key,currentSortDirection:t.sortDirection}),this.host&&g(this.host,S.sort,{key:t.key,currentSortDirection:t.sortDirection})}}}):t.label)}renderSpacer(t,i){var a,n;const o=(null===(a=this.state._headerCells.vertical)||void 0===a?void 0:a.length)||0,l=null===(n=null==i?void 0:i[0])||void 0===n?void 0:n.reduce(((e,t)=>e+(t.colSpan||1)),0),s=this.state._selection?1:0;return e("tr",{"aria-hidden":"true",class:r("kol-table__spacer",`kol-table__spacer--${t}`)},e("td",{class:r(`kol-table__spacer-line kol-table__spacer-line--${t}`),colSpan:o+l+s}))}renderFoot(){if(!this.state._dataFoot||0===this.state._dataFoot.length)return null;const t=this.createDataField(this.state._dataFoot,this.state._headerCells,!0);return e("tfoot",{class:"kol-table__footer"},[this.renderSpacer("foot",t),t.map(((e,t)=>this.renderTableRow(e,t,!0,!0)))])}render(){var t;const i=this.createDataField(this.state._data,this.state._headerCells);this.checkboxRefs=[];const r=null===(t=this.state._headerCells.horizontal)||void 0===t?void 0:t.map((e=>this.sortByColumnPosition(e)));return e("div",{key:"f81983e551d1e41281aa41ec2394ec08267fe6a0",class:"kol-table"},e(s,{key:"ba42966556deec90ef308fe6f78a863dc02a1e5a",_tableSettings:this.state._tableSettings}),e("div",{key:"a91ceb385d449db182d233c35761c1554c89f72f",ref:e=>this.tableDivElement=e,class:"kol-table__scroll-container",tabindex:this.tableDivElementHasScrollbar?"-1":void 0},e("table",{key:"9f917d159b62dbde6b9fb46766530fd4ee26a29f",class:"kol-table__table",style:{minWidth:this.getTableMinWidth()}},e("caption",{key:"39a58fb62b7a60515d1cf876e937b7745a522326",class:"kol-table__focus-element kol-table__caption",id:"caption",tabindex:this.tableDivElementHasScrollbar?"0":void 0},this.state._label),Array.isArray(r)&&e("thead",{key:"efe80eaadfced13f41dce073355df7904b971c8c",class:"kol-table__head"},[r.map(((t,i)=>e("tr",{class:"kol-table__head-row",key:`thead-${i}`},this.state._selection&&this.renderHeadingSelectionCell(),0===i&&this.renderHeaderTdCell(),Array.isArray(t)&&t.map(((e,t)=>this.renderHeadingCell(e,i,t,!1)))))),this.renderSpacer("head",r)]),e("tbody",{key:"044634e1d3162c2cc3a2b1798369f23f1d673b5a",class:"kol-table__body"},i.map(((e,t)=>this.renderTableRow(e,t,!0)))),this.renderFoot())))}get host(){return n(this)}static get watchers(){return{_data:["validateData"],_dataFoot:["validateDataFoot"],_headerCells:["validateHeaderCells"],_label:["validateLabel"],_minWidth:["validateMinWidth"],_on:["validateOn"],_selection:["validateSelection"],_tableSettings:["validateTableSettings"]}}};export{dn as kol_table_stateless_wc};
|
4
|
+
import{r as t,h as e,F as i,g as n}from"./index-8LH1C-22.js";import{c as r}from"./clsx-eK3rPvPS.js";import{e as o,a,d as l,w as s}from"./component-names-CkE54Ym7.js";import{t as c}from"./i18n-CKkAYzG_.js";import{M as u,o as d,p as f,w as h,s as v}from"./common-Kl71BXoz.js";import{v as b}from"./label-DWoPQebK.js";import{v as _,a as p,e as y,b as j,d as k}from"./table-settings-C_w0eJ7x.js";import{C as m}from"./keyboard-D6PoWr38.js";import{n as w}from"./dev.utils-BYxOaH5w.js";import{d as g,K as S}from"./events-CoPFQEiC.js";import{i as A,c as O,r as $,a as C,f as D,b as x,S as M}from"./isObject-DvSELytj.js";import"./i18n-CjhRejiw.js";const W=(e,t)=>{u(t,(()=>{d(t,(()=>{try{t=f(t)}catch(e){}h(e,"_headerCells",(e=>"object"==typeof e&&null!==e&&(void 0===e.horizontal||Array.isArray(e.horizontal)&&void 0===e.horizontal.find((e=>!Array.isArray(e))))&&(void 0===e.vertical||Array.isArray(e.vertical)&&void 0===e.vertical.find((e=>!Array.isArray(e))))&&!0),new Set(["TableHeaderCellsPropType"]),t)}))}))};var F="[object AsyncFunction]",P="[object Function]",K="[object GeneratorFunction]",E="[object Proxy]";function R(e){if(!A(e))return!1;var t=O(e);return t==P||t==K||t==F||t==E}var T=$["__core-js_shared__"],H=function(){var e=/[^.]+$/.exec(T&&T.keys&&T.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function z(e){return!!H&&H in e}var B=Function.prototype,L=B.toString;function N(e){if(null!=e){try{return L.call(e)}catch(e){}try{return e+""}catch(e){}}return""}var I=/[\\^$.*+?()[\]{}|]/g,U=/^\[object .+?Constructor\]$/,V=Function.prototype,Y=Object.prototype,G=V.toString,Q=Y.hasOwnProperty,q=RegExp("^"+G.call(Q).replace(I,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function J(e){return!(!A(e)||z(e))&&(R(e)?q:U).test(N(e))}function X(e,t){return null==e?void 0:e[t]}function Z(e,t){var i=X(e,t);return J(i)?i:void 0}var tt=Z($,"WeakMap"),et=9007199254740991,it=/^(?:0|[1-9]\d*)$/;function nt(e,t){var i=typeof e;return!!(t=null==t?et:t)&&("number"==i||"symbol"!=i&&it.test(e))&&e>-1&&e%1==0&&e<t}function rt(e,t){return e===t||e!=e&&t!=t}var ot=9007199254740991;function at(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=ot}function lt(e){return null!=e&&at(e.length)&&!R(e)}var st=Object.prototype;function ct(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||st)}function ut(e,t){for(var i=-1,r=Array(e);++i<e;)r[i]=t(i);return r}var dt="[object Arguments]";function ft(e){return C(e)&&O(e)==dt}var ht=Object.prototype,vt=ht.hasOwnProperty,bt=ht.propertyIsEnumerable,_t=ft(function(){return arguments}())?ft:function(e){return C(e)&&vt.call(e,"callee")&&!bt.call(e,"callee")};function pt(){return!1}var yt="object"==typeof exports&&exports&&!exports.nodeType&&exports,jt=yt&&"object"==typeof module&&module&&!module.nodeType&&module,kt=jt&&jt.exports===yt,mt=kt?$.Buffer:void 0,wt=mt?mt.isBuffer:void 0,gt=wt||pt,St="[object Arguments]",At="[object Array]",Ot="[object Boolean]",$t="[object Date]",Ct="[object Error]",Dt="[object Function]",xt="[object Map]",Mt="[object Number]",Wt="[object Object]",Ft="[object RegExp]",Pt="[object Set]",Kt="[object String]",Et="[object WeakMap]",Rt="[object ArrayBuffer]",Tt="[object DataView]",Ht="[object Float32Array]",zt="[object Float64Array]",Bt="[object Int8Array]",Lt="[object Int16Array]",Nt="[object Int32Array]",It="[object Uint8Array]",Ut="[object Uint8ClampedArray]",Vt="[object Uint16Array]",Yt="[object Uint32Array]",Gt={};function Qt(e){return C(e)&&at(e.length)&&!!Gt[O(e)]}function qt(e){return function(t){return e(t)}}Gt[Ht]=Gt[zt]=Gt[Bt]=Gt[Lt]=Gt[Nt]=Gt[It]=Gt[Ut]=Gt[Vt]=Gt[Yt]=!0,Gt[St]=Gt[At]=Gt[Rt]=Gt[Ot]=Gt[Tt]=Gt[$t]=Gt[Ct]=Gt[Dt]=Gt[xt]=Gt[Mt]=Gt[Wt]=Gt[Ft]=Gt[Pt]=Gt[Kt]=Gt[Et]=!1;var Jt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Xt=Jt&&"object"==typeof module&&module&&!module.nodeType&&module,Zt=Xt&&Xt.exports===Jt,te=Zt&&D.process,ee=function(){try{var e=Xt&&Xt.require&&Xt.require("util").types;return e||te&&te.binding&&te.binding("util")}catch(e){}}(),ie=ee&&ee.isTypedArray,ne=ie?qt(ie):Qt,re=Object.prototype,oe=re.hasOwnProperty;function ae(e,t){var i=x(e),r=!i&&_t(e),a=!i&&!r&>(e),n=!i&&!r&&!a&&ne(e),o=i||r||a||n,l=o?ut(e.length,String):[],s=l.length;for(var c in e)!oe.call(e,c)||o&&("length"==c||a&&("offset"==c||"parent"==c)||n&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||nt(c,s))||l.push(c);return l}function le(e,t){return function(i){return e(t(i))}}var se=le(Object.keys,Object),ce=Object.prototype,ue=ce.hasOwnProperty;function de(e){if(!ct(e))return se(e);var t=[];for(var i in Object(e))ue.call(e,i)&&"constructor"!=i&&t.push(i);return t}function fe(e){return lt(e)?ae(e):de(e)}var he=Z(Object,"create");function ve(){this.__data__=he?he(null):{},this.size=0}function be(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var _e="__lodash_hash_undefined__",pe=Object.prototype,ye=pe.hasOwnProperty;function je(e){var t=this.__data__;if(he){var i=t[e];return i===_e?void 0:i}return ye.call(t,e)?t[e]:void 0}var ke=Object.prototype,me=ke.hasOwnProperty;function we(e){var t=this.__data__;return he?void 0!==t[e]:me.call(t,e)}var ge="__lodash_hash_undefined__";function Se(e,t){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=he&&void 0===t?ge:t,this}function Ae(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var r=e[t];this.set(r[0],r[1])}}function Oe(){this.__data__=[],this.size=0}function $e(e,t){for(var i=e.length;i--;)if(rt(e[i][0],t))return i;return-1}Ae.prototype.clear=ve,Ae.prototype.delete=be,Ae.prototype.get=je,Ae.prototype.has=we,Ae.prototype.set=Se;var Ce=Array.prototype,De=Ce.splice;function xe(e){var t=this.__data__,i=$e(t,e);return!(i<0)&&(i==t.length-1?t.pop():De.call(t,i,1),--this.size,!0)}function Me(e){var t=this.__data__,i=$e(t,e);return i<0?void 0:t[i][1]}function We(e){return $e(this.__data__,e)>-1}function Fe(e,t){var i=this.__data__,r=$e(i,e);return r<0?(++this.size,i.push([e,t])):i[r][1]=t,this}function Pe(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var r=e[t];this.set(r[0],r[1])}}Pe.prototype.clear=Oe,Pe.prototype.delete=xe,Pe.prototype.get=Me,Pe.prototype.has=We,Pe.prototype.set=Fe;var Ke=Z($,"Map");function Ee(){this.size=0,this.__data__={hash:new Ae,map:new(Ke||Pe),string:new Ae}}function Re(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}function Te(e,t){var i=e.__data__;return Re(t)?i["string"==typeof t?"string":"hash"]:i.map}function He(e){var t=Te(this,e).delete(e);return this.size-=t?1:0,t}function ze(e){return Te(this,e).get(e)}function Be(e){return Te(this,e).has(e)}function Le(e,t){var i=Te(this,e),r=i.size;return i.set(e,t),this.size+=i.size==r?0:1,this}function Ne(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var r=e[t];this.set(r[0],r[1])}}function Ie(e,t){for(var i=-1,r=t.length,a=e.length;++i<r;)e[a+i]=t[i];return e}function Ue(){this.__data__=new Pe,this.size=0}function Ve(e){var t=this.__data__,i=t.delete(e);return this.size=t.size,i}function Ye(e){return this.__data__.get(e)}function Ge(e){return this.__data__.has(e)}Ne.prototype.clear=Ee,Ne.prototype.delete=He,Ne.prototype.get=ze,Ne.prototype.has=Be,Ne.prototype.set=Le;var Qe=200;function qe(e,t){var i=this.__data__;if(i instanceof Pe){var r=i.__data__;if(!Ke||r.length<Qe-1)return r.push([e,t]),this.size=++i.size,this;i=this.__data__=new Ne(r)}return i.set(e,t),this.size=i.size,this}function Je(e){var t=this.__data__=new Pe(e);this.size=t.size}function Xe(e,t){for(var i=-1,r=null==e?0:e.length,a=0,n=[];++i<r;){var o=e[i];t(o,i,e)&&(n[a++]=o)}return n}function Ze(){return[]}Je.prototype.clear=Ue,Je.prototype.delete=Ve,Je.prototype.get=Ye,Je.prototype.has=Ge,Je.prototype.set=qe;var ti=Object.prototype,ei=ti.propertyIsEnumerable,ii=Object.getOwnPropertySymbols,ni=ii?function(e){return null==e?[]:(e=Object(e),Xe(ii(e),(function(t){return ei.call(e,t)})))}:Ze;function ri(e,t,i){var r=t(e);return x(e)?r:Ie(r,i(e))}function oi(e){return ri(e,fe,ni)}var ai=Z($,"DataView"),li=Z($,"Promise"),si=Z($,"Set"),ci="[object Map]",ui="[object Object]",di="[object Promise]",fi="[object Set]",hi="[object WeakMap]",vi="[object DataView]",bi=N(ai),_i=N(Ke),pi=N(li),yi=N(si),ji=N(tt),ki=O;(ai&&ki(new ai(new ArrayBuffer(1)))!=vi||Ke&&ki(new Ke)!=ci||li&&ki(li.resolve())!=di||si&&ki(new si)!=fi||tt&&ki(new tt)!=hi)&&(ki=function(e){var t=O(e),i=t==ui?e.constructor:void 0,r=i?N(i):"";if(r)switch(r){case bi:return vi;case _i:return ci;case pi:return di;case yi:return fi;case ji:return hi}return t});var mi=$.Uint8Array,wi="__lodash_hash_undefined__";function gi(e){return this.__data__.set(e,wi),this}function Si(e){return this.__data__.has(e)}function Ai(e){var t=-1,i=null==e?0:e.length;for(this.__data__=new Ne;++t<i;)this.add(e[t])}function Oi(e,t){for(var i=-1,r=null==e?0:e.length;++i<r;)if(t(e[i],i,e))return!0;return!1}function $i(e,t){return e.has(t)}Ai.prototype.add=Ai.prototype.push=gi,Ai.prototype.has=Si;var Ci=1,Di=2;function xi(e,t,i,r,a,n){var o=i&Ci,l=e.length,s=t.length;if(l!=s&&!(o&&s>l))return!1;var c=n.get(e),h=n.get(t);if(c&&h)return c==t&&h==e;var d=-1,u=!0,b=i&Di?new Ai:void 0;for(n.set(e,t),n.set(t,e);++d<l;){var v=e[d],_=t[d];if(r)var f=o?r(_,v,d,t,e,n):r(v,_,d,e,t,n);if(void 0!==f){if(f)continue;u=!1;break}if(b){if(!Oi(t,(function(e,t){if(!$i(b,t)&&(v===e||a(v,e,i,r,n)))return b.push(t)}))){u=!1;break}}else if(v!==_&&!a(v,_,i,r,n)){u=!1;break}}return n.delete(e),n.delete(t),u}function Mi(e){var t=-1,i=Array(e.size);return e.forEach((function(e,r){i[++t]=[r,e]})),i}function Wi(e){var t=-1,i=Array(e.size);return e.forEach((function(e){i[++t]=e})),i}var Fi=1,Pi=2,Ki="[object Boolean]",Ei="[object Date]",Ri="[object Error]",Ti="[object Map]",Hi="[object Number]",zi="[object RegExp]",Bi="[object Set]",Li="[object String]",Ni="[object Symbol]",Ii="[object ArrayBuffer]",Ui="[object DataView]",Vi=M?M.prototype:void 0,Yi=Vi?Vi.valueOf:void 0;function Gi(e,t,i,r,a,n,o){switch(i){case Ui:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case Ii:return!(e.byteLength!=t.byteLength||!n(new mi(e),new mi(t)));case Ki:case Ei:case Hi:return rt(+e,+t);case Ri:return e.name==t.name&&e.message==t.message;case zi:case Li:return e==t+"";case Ti:var l=Mi;case Bi:var s=r&Fi;if(l||(l=Wi),e.size!=t.size&&!s)return!1;var c=o.get(e);if(c)return c==t;r|=Pi,o.set(e,t);var h=xi(l(e),l(t),r,a,n,o);return o.delete(e),h;case Ni:if(Yi)return Yi.call(e)==Yi.call(t)}return!1}var Qi=1,qi=Object.prototype,Ji=qi.hasOwnProperty;function Xi(e,t,i,r,a,n){var o=i&Qi,l=oi(e),s=l.length;if(s!=oi(t).length&&!o)return!1;for(var c=s;c--;){var h=l[c];if(!(o?h in t:Ji.call(t,h)))return!1}var d=n.get(e),u=n.get(t);if(d&&u)return d==t&&u==e;var b=!0;n.set(e,t),n.set(t,e);for(var v=o;++c<s;){var _=e[h=l[c]],f=t[h];if(r)var p=o?r(f,_,h,t,e,n):r(_,f,h,e,t,n);if(!(void 0===p?_===f||a(_,f,i,r,n):p)){b=!1;break}v||(v="constructor"==h)}if(b&&!v){var y=e.constructor,g=t.constructor;y==g||!("constructor"in e)||!("constructor"in t)||"function"==typeof y&&y instanceof y&&"function"==typeof g&&g instanceof g||(b=!1)}return n.delete(e),n.delete(t),b}var Zi=1,tn="[object Arguments]",en="[object Array]",nn="[object Object]",rn=Object.prototype,on=rn.hasOwnProperty;function an(e,t,i,r,a,n){var o=x(e),l=x(t),s=o?en:ki(e),c=l?en:ki(t),h=(s=s==tn?nn:s)==nn,d=(c=c==tn?nn:c)==nn,u=s==c;if(u&>(e)){if(!gt(t))return!1;o=!0,h=!1}if(u&&!h)return n||(n=new Je),o||ne(e)?xi(e,t,i,r,a,n):Gi(e,t,s,i,r,a,n);if(!(i&Zi)){var b=h&&on.call(e,"__wrapped__"),v=d&&on.call(t,"__wrapped__");if(b||v){var _=b?e.value():e,f=v?t.value():t;return n||(n=new Je),a(_,f,i,r,n)}}return!!u&&(n||(n=new Je),Xi(e,t,i,r,a,n))}function ln(e,t,i,r,a){return e===t||(null==e||null==t||!C(e)&&!C(t)?e!=e&&t!=t:an(e,t,i,r,ln,a))}function sn(e,t){return ln(e,t)}const cn=/^\d+(\.\d+)?([a-z]+|%)?$/,un=(e,t,i)=>{h(e,"_minWidth",(e=>"string"==typeof e&&cn.test(e)),new Set(["String","/^\\d+(\\.\\d+)?([a-z]+|%)?$/"]),t,i)},dn=class{constructor(i){t(this,i),this.translateNoEntries=c("kol-no-entries"),this.state={_data:[],_headerCells:{horizontal:[],vertical:[]},_label:"",_minWidth:"auto"},this.horizontal=!0,this.cellsToRenderTimeouts=new Map,this.dataToKeyMap=new Map,this.checkboxRefs=[],this.translateSort=c("kol-sort"),this.tableDivElementHasScrollbar=!1,this.renderTableRow=(t,i,a,n=!1)=>{var o,l;let s=String(i);return this.horizontal&&(null===(o=t[0])||void 0===o?void 0:o.data)&&(s=null!==(l=this.getDataKey(t[0].data))&&void 0!==l?l:s),e("tr",{class:r("kol-table__row",{"kol-table__row--body":!n,"kol-table__row--footer":n}),key:`row-${s}`},this.renderSelectionCell(t,i),t.map(((e,t)=>this.renderTableCell(e,i,t,a))))},this.renderTableCell=(t,i,a,n)=>{const o=this.getColumnSettings(t);if(o&&!o.visible)return"";let l=`${i}-${a}-${t.label}`;if(t.data){const e=this.getDataKey(t.data);l=e?`${e}-${this.horizontal?a:i}`:l}return t.headerCell?this.renderHeadingCell(t,i,a,n):e("td",{key:`cell-${l}`,class:r("kol-table__cell kol-table__cell--body",{[`kol-table__cell--align-${t.textAlign}`]:t.textAlign}),colSpan:t.colSpan,rowSpan:t.rowSpan,style:{textAlign:t.textAlign,width:(null==o?void 0:o.width)?`${o.width}ch`:t.width},ref:"function"==typeof t.render?e=>{this.cellRender(t,e)}:void 0},"function"!=typeof t.render?t.label:"")}}validateData(e){_(this,e,{beforePatch:e=>{this.updateDataToKeyMap(e)}})}validateDataFoot(e){p(this,e)}validateHeaderCells(e){W(this,e),sn(this.previousHeaderCells,this.state._headerCells)||this.initializeTableSettings(),this.previousHeaderCells=this.state._headerCells}validateLabel(e){b(this,e,{required:!0})}validateMinWidth(e){un(this,e)}validateOn(e){y(this,e)}validateSelection(e){j(this,e)}validateTableSettings(e){k(this,e)}handleKeyDown(e){var t;if("ArrowUp"===e.key||"ArrowDown"===e.key){const i=null===(t=this.tableDivElement)||void 0===t?void 0:t.querySelector(":focus");let r=this.checkboxRefs.indexOf(i);r>-1&&(e.preventDefault(),"ArrowDown"===e.key?(r=(r+1)%this.checkboxRefs.length,this.checkboxRefs[r].focus()):"ArrowUp"===e.key&&(e.preventDefault(),r=(r+this.checkboxRefs.length-1)%this.checkboxRefs.length,this.checkboxRefs[r].focus()))}}componentDidRender(){this.checkDivElementScrollbar()}componentDidLoad(){this.tableDivElement&&ResizeObserver&&(this.tableDivElementResizeObserver=new ResizeObserver(this.checkDivElementScrollbar.bind(this)),this.tableDivElementResizeObserver.observe(this.tableDivElement))}handleSettingsChange(e){v(this,"_tableSettings",e.detail)}disconnectedCallback(){var e;null===(e=this.tableDivElementResizeObserver)||void 0===e||e.disconnect()}checkDivElementScrollbar(){this.tableDivElement&&(this.tableDivElementHasScrollbar=this.tableDivElement.scrollWidth>this.tableDivElement.clientWidth)}updateDataToKeyMap(e){e.forEach((e=>{this.dataToKeyMap.has(e)||this.dataToKeyMap.set(e,w())})),this.dataToKeyMap.forEach(((t,i)=>{e.includes(i)||this.dataToKeyMap.delete(i)}))}getDataKey(e){return this.dataToKeyMap.get(e)}cellRender(e,t){t&&(clearTimeout(this.cellsToRenderTimeouts.get(t)),this.cellsToRenderTimeouts.set(t,setTimeout((()=>{if("function"==typeof e.render){const i=e.render(t,e,e.data,this.state._data);"string"==typeof i&&(t.textContent=i)}}))))}getNumberOfCols(e,t){let i=0;return e.forEach((e=>{let t=0;Array.isArray(e)&&e.forEach((e=>{var i;return t+=null!==(i=e.colSpan)&&void 0!==i?i:1})),i<t&&(i=t)})),0===i&&(i=t.length),i}getNumberOfRows(e,t){var i;let r=0;return e.forEach((e=>{let t=0;Array.isArray(e)&&e.forEach((e=>{var i;return t+=null!==(i=e.rowSpan)&&void 0!==i?i:1})),r<t&&(r=t)})),0===r?r=t.length:r-=(null===(i=this.state._dataFoot)||void 0===i?void 0:i.length)||0,r}getThePrimaryHeadersWithKeyOrRenderFunction(e){const t=[];return e.forEach((e=>{e.forEach((e=>{"string"!=typeof e.key&&"function"!=typeof e.render||t.push(e)}))})),t}getPrimaryHeaders(e){var t,i;let r=this.getThePrimaryHeadersWithKeyOrRenderFunction(null!==(t=e.horizontal)&&void 0!==t?t:[]);return this.horizontal=!0,0===r.length&&(r=this.getThePrimaryHeadersWithKeyOrRenderFunction(null!==(i=e.vertical)&&void 0!==i?i:[]),r.length>0&&(this.horizontal=!1)),r}getColumnPositionMap(){var e;const t=new Map;return null===(e=this.state._tableSettings)||void 0===e||e.columns.forEach((e=>{t.set(e.key,e.position)})),t}sortByColumnPosition(e){const t=this.getColumnPositionMap();return[...e].sort(((e,i)=>{var r,a,n,o;return(null!==(a=t.get(null!==(r=e.key)&&void 0!==r?r:""))&&void 0!==a?a:Number.MAX_SAFE_INTEGER)-(null!==(o=t.get(null!==(n=i.key)&&void 0!==n?n:""))&&void 0!==o?o:Number.MAX_SAFE_INTEGER)}))}createDataField(e,t,i){var r;t.horizontal=Array.isArray(null==t?void 0:t.horizontal)?t.horizontal:[],t.vertical=Array.isArray(null==t?void 0:t.vertical)?t.vertical:[];const a=this.getPrimaryHeaders(t),n=this.getNumberOfCols(t.horizontal,e);let o=this.getNumberOfRows(t.vertical,e),l=0;i&&(l=o,o+=(null===(r=this.state._dataFoot)||void 0===r?void 0:r.length)||0);const s=[],c=[],h=[];t.vertical.forEach(((e,t)=>{c[t]=0,h[t]=[]}));const d=this.sortByColumnPosition(a);for(let r=l;r<o;r++){const a=[];t.vertical.forEach(((e,t)=>{let i=0;if(h[t].forEach((e=>i+=e)),i<=r){const n=e[r-i+c[t]];if("object"==typeof n){a.push(Object.assign(Object.assign({},n),{headerCell:!0,data:{}}));let e=1;if("number"==typeof n.rowSpan&&n.rowSpan>1&&(e=n.rowSpan),h[t].push(e),"number"==typeof n.colSpan&&n.colSpan>1)for(let i=1;i<n.colSpan;i++)h[t+i].push(e);c[t]++}}}));for(let t=0;t<n;t++)if(!0===this.horizontal){const n=i&&this.state._dataFoot?this.state._dataFoot[r-l]:e[r];"object"!=typeof d[t]||null===d[t]||"object"!=typeof n||null===n||"string"!=typeof d[t].key&&"function"!=typeof d[t].render||a.push(Object.assign(Object.assign({},d[t]),{colSpan:void 0,data:n,label:n[d[t].key],rowSpan:void 0}))}else"object"!=typeof d[r]||null===d[r]||"object"!=typeof e[t]||null===e[t]||"string"!=typeof d[r].key&&"function"!=typeof d[r].render||a.push(Object.assign(Object.assign({},d[r]),{colSpan:void 0,data:e[t],label:e[t][d[r].key],rowSpan:void 0}));s.push(a)}if(0===e.length){let e=0,i=0;Array.isArray(t.horizontal)&&t.horizontal.length>0&&t.horizontal[0].forEach((t=>{e+=t.colSpan||1})),Array.isArray(t.vertical)&&t.vertical.length>0&&(e-=t.vertical.length,t.vertical[0].forEach((e=>{i+=e.rowSpan||1})));const r={colSpan:e,label:this.translateNoEntries,render:void 0,rowSpan:Math.max(i,1)};0===s.length?s.push([r]):s[0].push(r)}return s}handleSelectionChangeCallbackAndEvent(e,t){var i;"function"==typeof(null===(i=this.state._on)||void 0===i?void 0:i[m.onSelectionChange])&&this.state._on[m.onSelectionChange](e,t),this.host&&g(this.host,S.selectionChange,t)}initializeTableSettings(){if(this._tableSettings)return;const e=this.getPrimaryHeaders(this.state._headerCells);this.state._tableSettings||(this.state._tableSettings={columns:[]}),this.state._tableSettings.columns=e.filter((e=>e.key)).map(((e,t)=>{var i;return{key:null!==(i=e.key)&&void 0!==i?i:w(),label:e.label,position:t,visible:!0}}))}componentWillLoad(){this.validateData(this._data),this.validateDataFoot(this._dataFoot),this.validateHeaderCells(this._headerCells),this.validateLabel(this._label),this.validateMinWidth(this._minWidth),this.validateOn(this._on),this.validateSelection(this._selection),this.validateTableSettings(this._tableSettings)}renderSelectionCell(t,i){var n,l,s;const c=this.state._selection;if(!c)return"";const h=this.getSelectionKeyPropertyName(),d=null===(n=t[0])||void 0===n?void 0:n.data;if(!d)return"";const u=d[h],b=c.multiple||void 0===c.multiple,v=null===(l=null==c?void 0:c.selectedKeys)||void 0===l?void 0:l.includes(u),_=null===(s=null==c?void 0:c.disabledKeys)||void 0===s?void 0:s.includes(u),f=c.label(d),p={name:"selection",checked:v,disabled:_,id:u,"aria-label":f};return e("td",{key:`tbody-${i}-selection`,class:"kol-table__cell kol-table__cell--selection"},e("div",{class:r("kol-table__selection",{"kol-table__selection--checked":v})},b?e("label",{class:r("kol-table__selection-label",{"kol-table__selection-label--disabled":_})},e(o,{class:"kol-table__selection-icon",_icons:"codicon "+(v?"codicon-check":""),_label:""}),e("input",Object.assign({class:r("kol-table__selection-input kol-table__selection-input--checkbox"),ref:e=>e&&this.checkboxRefs.push(e)},p,{type:"checkbox",onInput:e=>{var t,i;const r=v?null===(i=null==c?void 0:c.selectedKeys)||void 0===i?void 0:i.filter((e=>e!==u)):[...null!==(t=null==c?void 0:c.selectedKeys)&&void 0!==t?t:[],u];this.handleSelectionChangeCallbackAndEvent(e,null!=r?r:[])}}))):e("label",{class:"kol-table__selection-label"},e("input",Object.assign({class:r("kol-table__selection-input kol-table__selection-input--radio")},p,{type:"radio",onInput:e=>{this.handleSelectionChangeCallbackAndEvent(e,u)}}))),e(a,{"aria-hidden":"true",class:"kol-table__selection-input-tooltip",_align:"right",_id:`${u}-label`,_label:f})))}getColumnSettings(e){var t;return null===(t=this.state._tableSettings)||void 0===t?void 0:t.columns.find((t=>t.key===e.key))}getSelectionKeyPropertyName(){var e,t;return null!==(t=null===(e=this.state._selection)||void 0===e?void 0:e.keyPropertyName)&&void 0!==t?t:"id"}getDataWithSelectionEnabled(){const e=this.getSelectionKeyPropertyName();return this.state._data.filter((t=>{var i,r;return!(null===(r=null===(i=this.state._selection)||void 0===i?void 0:i.disabledKeys)||void 0===r?void 0:r.includes(t[e]))}))}getSelectedKeysWithoutDisabledKeys(){var e,t;return null===(t=null===(e=this.state._selection)||void 0===e?void 0:e.selectedKeys)||void 0===t?void 0:t.filter((e=>{var t,i;return!(null===(i=null===(t=this.state._selection)||void 0===t?void 0:t.disabledKeys)||void 0===i?void 0:i.includes(e))}))}getSelectedKeysWithDisabledKeysOnly(){var e,t;return null===(t=null===(e=this.state._selection)||void 0===e?void 0:e.selectedKeys)||void 0===t?void 0:t.filter((e=>{var t,i;return null===(i=null===(t=this.state._selection)||void 0===t?void 0:t.disabledKeys)||void 0===i?void 0:i.includes(e)}))}getRevertedSelection(e){var t;const i=this.getSelectionKeyPropertyName(),r=null!==(t=this.getSelectedKeysWithDisabledKeysOnly())&&void 0!==t?t:[];return e&&r.push(...this.getDataWithSelectionEnabled().map((e=>null==e?void 0:e[i]))),r}getTableMinWidth(){var e,t;const i=null!==(t=null===(e=this.state._tableSettings)||void 0===e?void 0:e.columns.filter((e=>e.visible)).reduce(((e,t)=>{var i;return e+(null!==(i=t.width)&&void 0!==i?i:0)}),0))&&void 0!==t?t:0;return"auto"===this.state._minWidth?`${i}ch`:`max(${this.state._minWidth}, ${i}ch)`}renderHeadingSelectionCell(){var t,i;const n=this.state._selection;if(!n||!n.multiple&&void 0!==n.multiple)return e("th",{class:"kol-table__cell kol-table__cell--header",key:"thead-0"});const l=null!==(i=null===(t=this.getSelectedKeysWithoutDisabledKeys())||void 0===t?void 0:t.length)&&void 0!==i?i:0,s=l===this.getDataWithSelectionEnabled().length,h=0!==l&&!s;let d="kol-table-selection-indeterminate";s&&!h&&(d="kol-table-selection-none"),0===l&&(d="kol-table-selection-all");const u=c(d);return e("th",{key:"thead-0-selection",class:"kol-table__cell kol-table__cell--header"},e("div",{class:r("kol-table__selection",{"kol-table__selection--indeterminate":h,"kol-table__selection--checked":s})},e("label",{class:"kol-table__selection-label"},e(o,{class:"kol-table__selection-icon",_icons:"codicon "+(h?"codicon-remove":s?"codicon-check":""),_label:""}),e("input",{class:r("kol-table__selection-input kol-table__selection-input--checkbox"),"data-testid":"selection-checkbox-all",ref:e=>e&&this.checkboxRefs.push(e),name:"selection",checked:s&&!h,indeterminate:h,"aria-label":u,type:"checkbox",onInput:e=>{this.handleSelectionChangeCallbackAndEvent(e,this.getRevertedSelection(!s))}})),e(a,{"aria-hidden":"true",class:"kol-table__selection-input-tooltip",_align:"right",_id:`${d}-label`,_label:u})))}renderHeaderTdCell(){return e(i,null,Array.isArray(this.state._headerCells.horizontal)&&this.state._headerCells.horizontal.length>0&&Array.isArray(this.state._headerCells.vertical)&&this.state._headerCells.vertical.length>0&&Array.isArray(this.state._headerCells.horizontal)&&e("td",{"aria-hidden":"true",colSpan:this.state._headerCells.vertical.length,rowSpan:this.state._headerCells.horizontal.length}))}renderHeadingCell(t,i,a,n){const o=this.getColumnSettings(t);if(o&&!o.visible)return"";let s="none",c="codicon codicon-fold";if(t.sortDirection)switch(t.sortDirection){case"ASC":c="codicon codicon-chevron-up",s="ascending";break;case"DESC":c="codicon codicon-chevron-down",s="descending";break;default:s="none"}const h=n?"row":"number"==typeof t.colSpan&&t.colSpan>1?"colgroup":"col";return e("th",{key:`${i}-${a}-${t.label}`,class:r("kol-table__cell kol-table__cell--header",{[`kol-table__cell--align-${t.textAlign}`]:t.textAlign,[`kol-table__cell--${s}`]:s}),scope:h,colSpan:t.colSpan,rowSpan:t.rowSpan,style:{width:(null==o?void 0:o.width)?`${o.width}ch`:t.width},"aria-sort":s,"data-sort":`sort-${t.sortDirection}`},t.sortDirection?e(l,{class:"kol-table__sort-button",exportparts:"icon",_icons:{right:c},_label:t.label,_ariaDescription:this.translateSort,_on:{onClick:e=>{var i;"function"==typeof(null===(i=this.state._on)||void 0===i?void 0:i.onSort)&&t.key&&t.sortDirection&&this.state._on.onSort(e,{key:t.key,currentSortDirection:t.sortDirection}),this.host&&g(this.host,S.sort,{key:t.key,currentSortDirection:t.sortDirection})}}}):t.label)}renderSpacer(t,i){var a,n;const o=(null===(a=this.state._headerCells.vertical)||void 0===a?void 0:a.length)||0,l=null===(n=null==i?void 0:i[0])||void 0===n?void 0:n.reduce(((e,t)=>e+(t.colSpan||1)),0),s=this.state._selection?1:0;return e("tr",{"aria-hidden":"true",class:r("kol-table__spacer",`kol-table__spacer--${t}`)},e("td",{class:r(`kol-table__spacer-line kol-table__spacer-line--${t}`),colSpan:o+l+s}))}renderFoot(){if(!this.state._dataFoot||0===this.state._dataFoot.length)return null;const t=this.createDataField(this.state._dataFoot,this.state._headerCells,!0);return e("tfoot",{class:"kol-table__footer"},[this.renderSpacer("foot",t),t.map(((e,t)=>this.renderTableRow(e,t,!0,!0)))])}render(){var t;const i=this.createDataField(this.state._data,this.state._headerCells);this.checkboxRefs=[];const r=null===(t=this.state._headerCells.horizontal)||void 0===t?void 0:t.map((e=>this.sortByColumnPosition(e)));return e("div",{key:"f81983e551d1e41281aa41ec2394ec08267fe6a0",class:"kol-table"},e(s,{key:"ba42966556deec90ef308fe6f78a863dc02a1e5a",_tableSettings:this.state._tableSettings}),e("div",{key:"a91ceb385d449db182d233c35761c1554c89f72f",ref:e=>this.tableDivElement=e,class:"kol-table__scroll-container",tabindex:this.tableDivElementHasScrollbar?"-1":void 0},e("table",{key:"9f917d159b62dbde6b9fb46766530fd4ee26a29f",class:"kol-table__table",style:{minWidth:this.getTableMinWidth()}},e("caption",{key:"39a58fb62b7a60515d1cf876e937b7745a522326",class:"kol-table__focus-element kol-table__caption",id:"caption",tabindex:this.tableDivElementHasScrollbar?"0":void 0},this.state._label),Array.isArray(r)&&e("thead",{key:"efe80eaadfced13f41dce073355df7904b971c8c",class:"kol-table__head"},[r.map(((t,i)=>e("tr",{class:"kol-table__head-row",key:`thead-${i}`},this.state._selection&&this.renderHeadingSelectionCell(),0===i&&this.renderHeaderTdCell(),Array.isArray(t)&&t.map(((e,t)=>this.renderHeadingCell(e,i,t,!1)))))),this.renderSpacer("head",r)]),e("tbody",{key:"044634e1d3162c2cc3a2b1798369f23f1d673b5a",class:"kol-table__body"},i.map(((e,t)=>this.renderTableRow(e,t,!0)))),this.renderFoot())))}get host(){return n(this)}static get watchers(){return{_data:["validateData"],_dataFoot:["validateDataFoot"],_headerCells:["validateHeaderCells"],_label:["validateLabel"],_minWidth:["validateMinWidth"],_on:["validateOn"],_selection:["validateSelection"],_tableSettings:["validateTableSettings"]}}};export{dn as kol_table_stateless_wc};
|
@@ -1,4 +1,4 @@
|
|
1
1
|
/*!
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
3
3
|
*/
|
4
|
-
import{r as n,h as e}from"./index-CuRbHMox.js";import{m as t}from"./component-names-CkE54Ym7.js";import"./common-7RW_NFNf.js";const o="@charset \"UTF-8\";\n/* forward the rem function */\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-a11y {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: calc(44rem / var(--kolibri-root-font-size, 16));\n color: black;\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n }\n /*\n * All interactive elements should have a minimum size of to-rem(44).\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n [role=button],\n button:not([role=link]),\n .kol-input .input {\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n .visually-hidden {\n position: absolute;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n }\n}\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n width: 100%;\n margin: 0;\n padding: 0;\n border: none;\n /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n .badge-text-hint {\n color: black;\n background-color: lightgray;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: grid;\n place-items: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n opacity: 0.5;\n outline: none;\n cursor: not-allowed;\n }\n [aria-disabled=true]:focus .kol-span,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@layer kol-component {\n @keyframes fadeInOpacity {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n .kol-tooltip {\n display: contents;\n contain: layout;\n }\n .kol-tooltip__floating {\n display: none;\n position: fixed;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width);\n max-width: 90vw;\n max-height: 90vh;\n visibility: hidden;\n animation-duration: 0.25s;\n animation-iteration-count: 1;\n animation-name: fadeInOpacity;\n animation-timing-function: ease-in;\n }\n .kol-tooltip__arrow {\n transform: rotate(45deg);\n color: #000;\n background-color: #fff;\n position: absolute;\n z-index: 999;\n width: calc(10rem / var(--kolibri-root-font-size, 16));\n height: calc(10rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip__content {\n color: #000;\n background-color: #fff;\n position: relative;\n z-index: 1000;\n }\n}\n@layer kol-component {\n .kol-alert {\n display: grid;\n }\n .kol-alert__container {\n display: flex;\n place-items: center;\n }\n .kol-alert__container-content {\n flex-grow: 1;\n }\n .kol-alert__closer {\n /* Visible with forced colors */\n outline: transparent solid calc(1rem / var(--kolibri-root-font-size, 16));\n }\n}\n@layer kol-component {\n :host {\n display: inline-block;\n }\n .kol-button {\n display: inline-flex;\n place-items: center;\n font-style: calc(16rem / var(--kolibri-root-font-size, 16));\n text-align: center;\n text-decoration-line: none;\n }\n .kol-button::before {\n /* Render zero-width character as first element to set the baseline correctly. */\n content: \"\";\n }\n .kol-button__text {\n width: 100%;\n margin: auto;\n }\n}\n@layer kol-component {\n .kol-popover-button__button {\n display: inline-block;\n }\n .kol-popover-button__popover {\n margin: 0;\n padding: 0;\n border: 0;\n }\n}\n@layer kol-component {\n .kol-table-settings {\n background: #fff;\n position: absolute;\n top: 0;\n right: 0;\n z-index: 1;\n }\n .kol-table-settings__columns-container {\n max-height: calc(200rem / var(--kolibri-root-font-size, 16));\n margin-top: calc(16rem / var(--kolibri-root-font-size, 16));\n overflow: auto;\n }\n .kol-table-settings__columns {\n display: grid;\n overflow: hidden;\n gap: calc(8rem / var(--kolibri-root-font-size, 16));\n align-items: center;\n grid-auto-rows: min-content;\n grid-template-columns: min-content 1fr calc(100rem / var(--kolibri-root-font-size, 16)) auto auto;\n }\n .kol-table-settings__column {\n display: contents;\n }\n}\n@layer kol-component {\n .kol-table {\n display: block;\n position: relative;\n max-width: 100%;\n }\n .kol-table__scroll-container {\n overflow-x: auto;\n overflow-y: hidden;\n }\n .kol-table:has(.kol-table__focus-element:focus) .kol-table__scroll-container {\n /* @see https://remysharp.com/til/css/focus-ring-default-styles */\n outline: 5px auto Highlight;\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: 2px;\n }\n .kol-table__table {\n width: 100%;\n }\n .kol-table__caption {\n min-height: var(--a11y-min-size);\n padding-right: var(--a11y-min-size);\n text-align: start;\n }\n .kol-table__sort-button .kol-button {\n color: inherit;\n }\n .kol-table__body {\n text-align: left;\n }\n .kol-table__body .kol-button__text {\n justify-items: start;\n }\n .kol-table__cell--align-left {\n text-align: left;\n }\n .kol-table__cell--align-left .kol-button__text {\n justify-items: start;\n }\n .kol-table__cell--align-center {\n text-align: center;\n }\n .kol-table__cell--align-center .kol-button__text {\n justify-items: center;\n }\n .kol-table__cell--align-right {\n text-align: right;\n }\n .kol-table__cell--align-right .kol-button__text {\n justify-items: end;\n }\n .kol-table__cell--selection {\n width: var(--a11y-min-size);\n height: var(--a11y-min-size);\n white-space: nowrap;\n }\n .kol-table__spacer {\n display: none;\n }\n .kol-table__selection-label {\n display: flex;\n position: relative;\n width: var(--a11y-min-size);\n height: var(--a11y-min-size);\n align-items: center;\n justify-content: center;\n cursor: pointer;\n }\n .kol-table__selection-label--disabled {\n cursor: not-allowed;\n }\n .kol-table__selection-icon {\n display: block;\n position: absolute;\n inset: auto;\n z-index: 1;\n }\n .kol-table__selection-input {\n border-style: solid;\n margin: 0;\n appearance: none;\n cursor: pointer;\n }\n .kol-table__selection-input:disabled {\n cursor: not-allowed;\n }\n .kol-table__selection-input:before {\n content: \"\";\n }\n .kol-table__selection-input--checkbox {\n background-color: rgb(255, 255, 255);\n display: flex;\n position: relative;\n width: calc(var(--a11y-min-size) / 2);\n height: calc(var(--a11y-min-size) / 2);\n border-width: 2px;\n align-items: center;\n justify-content: center;\n line-height: 1.5;\n }\n .kol-table__selection-input--radio {\n border-radius: 100%;\n display: flex;\n width: 1.5em;\n min-width: 1.5em;\n height: 1.5em;\n min-height: 1.5em;\n padding: 0;\n border-width: 2px;\n }\n .kol-table__selection-input--radio:before {\n border-radius: 100%;\n width: 0.75em;\n height: 0.75em;\n margin: auto;\n }\n .kol-table__selection-input--radio:checked:before {\n background-color: #000;\n }\n @media (forced-colors: active) {\n .kol-table__selection-input--radio:checked:before {\n /* Give it a visible background in forced colors mode */\n background-color: selectedItem !important;\n }\n }\n}",i=class{constructor(e){n(this,e)}render(){return e(t,{key:"8c15043ee319bd85b3aeb21cfc3760d6ae8ca434",_data:this._data,_dataFoot:this._dataFoot,_headerCells:this._headerCells,_label:this._label,_minWidth:this._minWidth,_on:this._on,_selection:this._selection,_tableSettings:this._tableSettings})}};i.style={default:o};export{i as kol_table_stateless};
|
4
|
+
import{r as n,h as e}from"./index-8LH1C-22.js";import{m as t}from"./component-names-CkE54Ym7.js";import"./common-Kl71BXoz.js";const o="@charset \"UTF-8\";\n/* forward the rem function */\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-a11y {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: calc(44rem / var(--kolibri-root-font-size, 16));\n color: black;\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n }\n /*\n * All interactive elements should have a minimum size of to-rem(44).\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n [role=button],\n button:not([role=link]),\n .kol-input .input {\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n .visually-hidden {\n position: absolute;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n }\n}\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n width: 100%;\n margin: 0;\n padding: 0;\n border: none;\n /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n .badge-text-hint {\n color: black;\n background-color: lightgray;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: grid;\n place-items: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n opacity: 0.5;\n outline: none;\n cursor: not-allowed;\n }\n [aria-disabled=true]:focus .kol-span,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@layer kol-component {\n @keyframes fadeInOpacity {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n .kol-tooltip {\n display: contents;\n contain: layout;\n }\n .kol-tooltip__floating {\n display: none;\n position: fixed;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width);\n max-width: 90vw;\n max-height: 90vh;\n visibility: hidden;\n animation-duration: 0.25s;\n animation-iteration-count: 1;\n animation-name: fadeInOpacity;\n animation-timing-function: ease-in;\n }\n .kol-tooltip__arrow {\n transform: rotate(45deg);\n color: #000;\n background-color: #fff;\n position: absolute;\n z-index: 999;\n width: calc(10rem / var(--kolibri-root-font-size, 16));\n height: calc(10rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip__content {\n color: #000;\n background-color: #fff;\n position: relative;\n z-index: 1000;\n }\n}\n@layer kol-component {\n .kol-alert {\n display: grid;\n }\n .kol-alert__container {\n display: flex;\n place-items: center;\n }\n .kol-alert__container-content {\n flex-grow: 1;\n }\n .kol-alert__closer {\n /* Visible with forced colors */\n outline: transparent solid calc(1rem / var(--kolibri-root-font-size, 16));\n }\n}\n@layer kol-component {\n :host {\n display: inline-block;\n }\n .kol-button {\n display: inline-flex;\n place-items: center;\n font-style: calc(16rem / var(--kolibri-root-font-size, 16));\n text-align: center;\n text-decoration-line: none;\n }\n .kol-button::before {\n /* Render zero-width character as first element to set the baseline correctly. */\n content: \"\";\n }\n .kol-button__text {\n width: 100%;\n margin: auto;\n }\n}\n@layer kol-component {\n .kol-popover-button__button {\n display: inline-block;\n }\n .kol-popover-button__popover {\n margin: 0;\n padding: 0;\n border: 0;\n }\n}\n@layer kol-component {\n .kol-table-settings {\n background: #fff;\n position: absolute;\n top: 0;\n right: 0;\n z-index: 1;\n }\n .kol-table-settings__columns-container {\n max-height: calc(200rem / var(--kolibri-root-font-size, 16));\n margin-top: calc(16rem / var(--kolibri-root-font-size, 16));\n overflow: auto;\n }\n .kol-table-settings__columns {\n display: grid;\n overflow: hidden;\n gap: calc(8rem / var(--kolibri-root-font-size, 16));\n align-items: center;\n grid-auto-rows: min-content;\n grid-template-columns: min-content 1fr calc(100rem / var(--kolibri-root-font-size, 16)) auto auto;\n }\n .kol-table-settings__column {\n display: contents;\n }\n}\n@layer kol-component {\n .kol-table {\n display: block;\n position: relative;\n max-width: 100%;\n }\n .kol-table__scroll-container {\n overflow-x: auto;\n overflow-y: hidden;\n }\n .kol-table:has(.kol-table__focus-element:focus) .kol-table__scroll-container {\n /* @see https://remysharp.com/til/css/focus-ring-default-styles */\n outline: 5px auto Highlight;\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: 2px;\n }\n .kol-table__table {\n width: 100%;\n }\n .kol-table__caption {\n min-height: var(--a11y-min-size);\n padding-right: var(--a11y-min-size);\n text-align: start;\n }\n .kol-table__sort-button .kol-button {\n color: inherit;\n }\n .kol-table__body {\n text-align: left;\n }\n .kol-table__body .kol-button__text {\n justify-items: start;\n }\n .kol-table__cell--align-left {\n text-align: left;\n }\n .kol-table__cell--align-left .kol-button__text {\n justify-items: start;\n }\n .kol-table__cell--align-center {\n text-align: center;\n }\n .kol-table__cell--align-center .kol-button__text {\n justify-items: center;\n }\n .kol-table__cell--align-right {\n text-align: right;\n }\n .kol-table__cell--align-right .kol-button__text {\n justify-items: end;\n }\n .kol-table__cell--selection {\n width: var(--a11y-min-size);\n height: var(--a11y-min-size);\n white-space: nowrap;\n }\n .kol-table__spacer {\n display: none;\n }\n .kol-table__selection-label {\n display: flex;\n position: relative;\n width: var(--a11y-min-size);\n height: var(--a11y-min-size);\n align-items: center;\n justify-content: center;\n cursor: pointer;\n }\n .kol-table__selection-label--disabled {\n cursor: not-allowed;\n }\n .kol-table__selection-icon {\n display: block;\n position: absolute;\n inset: auto;\n z-index: 1;\n }\n .kol-table__selection-input {\n border-style: solid;\n margin: 0;\n appearance: none;\n cursor: pointer;\n }\n .kol-table__selection-input:disabled {\n cursor: not-allowed;\n }\n .kol-table__selection-input:before {\n content: \"\";\n }\n .kol-table__selection-input--checkbox {\n background-color: rgb(255, 255, 255);\n display: flex;\n position: relative;\n width: calc(var(--a11y-min-size) / 2);\n height: calc(var(--a11y-min-size) / 2);\n border-width: 2px;\n align-items: center;\n justify-content: center;\n line-height: 1.5;\n }\n .kol-table__selection-input--radio {\n border-radius: 100%;\n display: flex;\n width: 1.5em;\n min-width: 1.5em;\n height: 1.5em;\n min-height: 1.5em;\n padding: 0;\n border-width: 2px;\n }\n .kol-table__selection-input--radio:before {\n border-radius: 100%;\n width: 0.75em;\n height: 0.75em;\n margin: auto;\n }\n .kol-table__selection-input--radio:checked:before {\n background-color: #000;\n }\n @media (forced-colors: active) {\n .kol-table__selection-input--radio:checked:before {\n /* Give it a visible background in forced colors mode */\n background-color: selectedItem !important;\n }\n }\n}",i=class{constructor(e){n(this,e)}render(){return e(t,{key:"8c15043ee319bd85b3aeb21cfc3760d6ae8ca434",_data:this._data,_dataFoot:this._dataFoot,_headerCells:this._headerCells,_label:this._label,_minWidth:this._minWidth,_on:this._on,_selection:this._selection,_tableSettings:this._tableSettings})}};i.style={default:o};export{i as kol_table_stateless};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"kol-tabs.entry.esm.js","sources":["src/schema/props/tab-behavior.ts","src/schema/props/has-create-button.ts","src/components/tabs/style.scss?tag=kol-tabs&mode=default&encapsulation=shadow","src/components/tabs/shadow.tsx"],"sourcesContent":["/* types */\nimport type { Generic } from 'adopted-style-sheets';\nimport { watchValidator } from '../utils';\n\nconst tabBehaviorPropTypeOptions = ['select-automatic', 'select-manual'] as const;\nexport type TabBehaviorPropType = (typeof tabBehaviorPropTypeOptions)[number];\n\n/**\n * Defines which behavior is active.\n */\nexport type PropTabBehavior = {\n\tbehavior: TabBehaviorPropType;\n};\n\n/* validator */\nexport const validateTabBehavior = (component: Generic.Element.Component, value?: TabBehaviorPropType): void => {\n\twatchValidator(\n\t\tcomponent,\n\t\t`_behavior`,\n\t\t(value) => typeof value === 'string' && tabBehaviorPropTypeOptions.includes(value),\n\t\tnew Set([`KoliBriTabBehavior {${tabBehaviorPropTypeOptions.join(', ')}`]),\n\t\tvalue,\n\t);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean } from '../utils';\n\n/* types */\nexport type HasCreateButtonPropType = boolean;\n\n/**\n * Defines whether the element has a create button.\n */\nexport type PropHasCreateButton = {\n\thasCreateButton: HasCreateButtonPropType;\n};\n\n/* validator */\nexport const validateHasCreateButton = (component: Generic.Element.Component, value?: HasCreateButtonPropType): void => {\n\twatchBoolean(component, '_hasCreateButton', value);\n};\n","@use '../@shared/mixins' as *;\n@use '../../styles/global' as *;\n@use '../host-display-block' as *;\n@use '../tooltip/style.scss' as *;\n\n@layer kol-component {\n\t.kol-tabs {\n\t\tdisplay: var(--display);\n\t\tgrid-template-columns: var(--grid-template-columns);\n\t\tgrid-template-rows: var(--grid-template-rows);\n\n\t\t&--align-right {\n\t\t\t--display: grid;\n\t\t\t--grid-template-columns: 1fr auto;\n\n\t\t\t--button-group-flex-direction: column;\n\t\t\t--button-group-order: 2;\n\t\t}\n\n\t\t&--align-left {\n\t\t\t--display: grid;\n\t\t\t--grid-template-columns: auto 1fr;\n\n\t\t\t--button-group-flex-direction: column;\n\t\t\t--button-group-order: 0;\n\t\t}\n\n\t\t&--align-bottom {\n\t\t\t--display: grid;\n\t\t\t--grid-template-rows: 1fr auto;\n\n\t\t\t--button-group-order: 2;\n\t\t}\n\n\t\t&__tabs-align-top {\n\t\t\t--display: grid;\n\t\t\t--grid-template-rows: auto 1fr;\n\n\t\t\t--button-group-order: 0;\n\t\t}\n\n\t\t&__content {\n\t\t\toverflow: auto;\n\t\t}\n\n\t\t&__button-group {\n\t\t\tdisplay: flex;\n\t\t\torder: var(--button-group-order);\n\n\t\t\tflex-direction: var(--button-group-flex-direction);\n\t\t\tflex-wrap: wrap;\n\n\t\t\t.kol-button {\n\t\t\t\tborder-bottom-color: transparent;\n\t\t\t\tdisplay: block;\n\t\t\t\tborder-bottom-style: solid;\n\t\t\t}\n\t\t}\n\n\t\t&__panel {\n\t\t\theight: 100%;\n\t\t}\n\t}\n}\n","import type {\n\tAlignPropType,\n\tButtonCallbacksPropType,\n\tKoliBriTabsCallbacks,\n\tLabelPropType,\n\tStencilUnknown,\n\tStringified,\n\tTabBehaviorPropType,\n\tTabButtonProps,\n\tTabsAPI,\n\tTabsStates,\n} from '../../schema';\nimport {\n\tdevHint,\n\tkoliBriQuerySelector,\n\tsetState,\n\tuiUxHintMillerscheZahl,\n\tvalidateAlign,\n\tvalidateLabel,\n\tvalidateTabBehavior,\n\twatchJsonArrayString,\n\twatchNumber,\n} from '../../schema';\nimport type { JSX } from '@stencil/core';\nimport { Component, Element, h, Prop, State, Watch } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport type { Generic } from 'adopted-style-sheets';\nimport { KolButtonWcTag } from '../../core/component-names';\nimport { KeyboardKey } from '../../schema/enums';\nimport { dispatchDomEvent, KolEvent } from '../../utils/events';\nimport clsx from 'clsx';\nimport type { HasCreateButtonPropType } from '../../schema/props/has-create-button';\nimport { validateHasCreateButton } from '../../schema/props/has-create-button';\n// https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-2/tabs.html\n\n@Component({\n\ttag: 'kol-tabs',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolTabs implements TabsAPI {\n\t@Element() private readonly host?: HTMLKolTabsElement;\n\tprivate tabPanelsElement?: HTMLElement;\n\tprivate onCreateLabel = `${translate('kol-new')} …`;\n\tprivate currentFocusIndex: number | undefined;\n\n\tprivate nextPossibleTabIndex = (tabs: TabButtonProps[], offset: number, step = 1): number => {\n\t\tconst nextOffset = offset + step;\n\n\t\tif (nextOffset < tabs.length) {\n\t\t\tif (tabs[nextOffset]._disabled) {\n\t\t\t\treturn this.nextPossibleTabIndex(tabs, offset, step + 1);\n\t\t\t}\n\t\t\treturn nextOffset;\n\t\t}\n\n\t\treturn offset;\n\t};\n\n\tprivate prevPossibleTabIndex = (tabs: TabButtonProps[], offset: number, step = 1): number => {\n\t\tconst nextOffset = offset - step;\n\n\t\tif (nextOffset >= 0) {\n\t\t\tif (tabs[nextOffset]._disabled) {\n\t\t\t\treturn this.prevPossibleTabIndex(tabs, offset, step + 1);\n\t\t\t}\n\t\t\treturn nextOffset;\n\t\t}\n\n\t\treturn offset;\n\t};\n\n\tprivate onKeyDown = (event: KeyboardEvent) => {\n\t\tswitch (event.key as KeyboardKey) {\n\t\t\tcase KeyboardKey.ArrowRight:\n\t\t\t\tthis.goToNextTab(event);\n\t\t\t\tbreak;\n\t\t\tcase KeyboardKey.ArrowLeft:\n\t\t\t\tthis.goToPreviousTab(event);\n\t\t\t\tbreak;\n\t\t\tcase KeyboardKey.Space:\n\t\t\tcase KeyboardKey.Enter:\n\t\t\t\tthis.activateFocusedTab(event);\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\tprivate getCurrentFocusIndex(): number {\n\t\tif (typeof this.currentFocusIndex === 'number') {\n\t\t\treturn this.currentFocusIndex;\n\t\t}\n\n\t\treturn this.state._selected;\n\t}\n\n\tprivate getKeyboardTabChangeMode(): 'selectFocusOnly' | 'activateCompletely' {\n\t\tif (this._behavior === 'select-manual') {\n\t\t\treturn 'selectFocusOnly';\n\t\t}\n\n\t\treturn 'activateCompletely';\n\t}\n\n\tprivate goToNextTab(event: KeyboardEvent) {\n\t\tconst nextFocusIndex = this.nextPossibleTabIndex(this.state._tabs, this.getCurrentFocusIndex());\n\t\tthis.selectNextTabEvent(event, nextFocusIndex, this.getKeyboardTabChangeMode());\n\t}\n\n\tprivate goToPreviousTab(event: KeyboardEvent) {\n\t\tconst nextFocusIndex = this.prevPossibleTabIndex(this.state._tabs, this.getCurrentFocusIndex());\n\t\tthis.selectNextTabEvent(event, nextFocusIndex, this.getKeyboardTabChangeMode());\n\t}\n\n\tprivate activateFocusedTab(event: KeyboardEvent) {\n\t\tif (typeof this.currentFocusIndex === 'number') {\n\t\t\tthis.onSelect(event, this.currentFocusIndex);\n\t\t}\n\t}\n\n\tprivate readonly onClickSelect = (event: MouseEvent, index: number): void => {\n\t\tthis.selectNextTabEvent(event, index);\n\t};\n\n\tprivate selectNextTabEvent(\n\t\tevent: KeyboardEvent | MouseEvent,\n\t\tnextTabIndex: number,\n\t\tchangeMode: 'selectFocusOnly' | 'activateCompletely' = 'activateCompletely',\n\t): void {\n\t\tthis.currentFocusIndex = nextTabIndex;\n\n\t\tthis.focusTabById(nextTabIndex);\n\n\t\tif (changeMode === 'activateCompletely') {\n\t\t\tthis._selected = nextTabIndex;\n\n\t\t\tconst tab = this.state._tabs[nextTabIndex];\n\t\t\ttab._on?.onSelect?.(event, nextTabIndex);\n\n\t\t\tthis.onSelect(event, nextTabIndex);\n\t\t}\n\t}\n\n\tprivate readonly onMouseDown = (event: Event): void => {\n\t\tevent.preventDefault();\n\t};\n\n\tprivate readonly callbacks: ButtonCallbacksPropType<number> = {\n\t\tonClick: this.onClickSelect,\n\t\tonMouseDown: this.onMouseDown,\n\t};\n\n\tprivate renderButtonGroup() {\n\t\treturn (\n\t\t\t// Rule is disabled, because KolButtonWc is focusable.\n\t\t\t// eslint-disable-next-line jsx-a11y/interactive-supports-focus\n\t\t\t<div aria-label={this.state._label} class=\"kol-tabs__button-group\" role=\"tablist\" onKeyDown={this.onKeyDown} onBlur={this.onBlur}>\n\t\t\t\t{this.state._tabs.map((button: TabButtonProps, index: number) => (\n\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\t_disabled={button._disabled}\n\t\t\t\t\t\t_icons={button._icons}\n\t\t\t\t\t\t_hideLabel={button._hideLabel}\n\t\t\t\t\t\t_label={button._label} // TODO: ariaLabel-Konzept prüfen\n\t\t\t\t\t\t_on={this.callbacks as ButtonCallbacksPropType<StencilUnknown>}\n\t\t\t\t\t\t_tabIndex={this.state._selected === index ? 0 : -1}\n\t\t\t\t\t\t_tooltipAlign={button._tooltipAlign}\n\t\t\t\t\t\t_buttonVariant={this.state._selected === index ? 'custom' : undefined}\n\t\t\t\t\t\t_customClass={this.state._selected === index ? 'selected' : undefined}\n\t\t\t\t\t\t_ariaControls={`tabpanel-${index}`}\n\t\t\t\t\t\t_ariaSelected={this.state._selected === index}\n\t\t\t\t\t\t_id={`${this.state._label.replace(/\\s/g, '-')}-tab-${index}`}\n\t\t\t\t\t\t_role=\"tab\"\n\t\t\t\t\t\t_value={index}\n\t\t\t\t\t></KolButtonWcTag>\n\t\t\t\t))}\n\t\t\t\t{this.state._hasCreateButton && (\n\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\tclass=\"kol-tabs__button-create\"\n\t\t\t\t\t\t_label={this.onCreateLabel}\n\t\t\t\t\t\t_on={{\n\t\t\t\t\t\t\tonClick: this.onCreate,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\t_icons=\"codicon codicon-plus\"\n\t\t\t\t\t\tdata-testid=\"tabs-create-button\"\n\t\t\t\t\t></KolButtonWcTag>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate tabPanelHost?: HTMLDivElement;\n\n\tprivate readonly catchTabPanelHost = (el?: HTMLDivElement) => {\n\t\tthis.tabPanelHost = el;\n\t};\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={(el) => {\n\t\t\t\t\tthis.tabPanelsElement = el as HTMLElement;\n\t\t\t\t}}\n\t\t\t\tclass={clsx('kol-tabs', `kol-tabs--align-${this.state._align}`)}\n\t\t\t>\n\t\t\t\t{this.renderButtonGroup()}\n\t\t\t\t<div class=\"kol-tabs__content\" ref={this.catchTabPanelHost}>\n\t\t\t\t\t{/* <slot /> */}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\t/**\n\t * Defines the visual orientation of the component.\n\t */\n\t@Prop() public _align?: AlignPropType = 'top';\n\n\t/**\n\t * Defines which behavior is active.\n\t */\n\t@Prop() public _behavior?: TabBehaviorPropType;\n\n\t/**\n\t * Defines whether the element has a create button.\n\t */\n\t@Prop() public _hasCreateButton?: HasCreateButtonPropType = false;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label!: LabelPropType;\n\n\t/**\n\t * Gibt die Liste der Callback-Funktionen an, die auf Events aufgerufen werden sollen.\n\t */\n\t@Prop() public _on?: KoliBriTabsCallbacks;\n\n\t/**\n\t * Defines which tab is active.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _selected?: number = 0;\n\n\t/**\n\t * Defines the tab captions.\n\t */\n\t@Prop() public _tabs!: Stringified<TabButtonProps[]>;\n\n\t@State() public state: TabsStates = {\n\t\t_align: 'top',\n\t\t_label: '', // ⚠ required\n\t\t_selected: 0,\n\t\t_tabs: [],\n\t};\n\n\tprivate selectNextNotDisabledTab = (selected: number, tabs: TabButtonProps[], upOrDown = true, initialSelected?: number): number => {\n\t\tif (selected > tabs.length - 1) {\n\t\t\tselected = tabs.length - 1;\n\t\t}\n\t\tif (selected < 0) {\n\t\t\tselected = 0;\n\t\t}\n\t\tif (Array.isArray(tabs) && tabs[selected]) {\n\t\t\tif (tabs[selected]._disabled) {\n\t\t\t\tif (upOrDown === true) {\n\t\t\t\t\tif (selected < tabs.length - 1) {\n\t\t\t\t\t\treturn this.selectNextNotDisabledTab(selected + 1, tabs, true, initialSelected || selected);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tselected = initialSelected || selected;\n\t\t\t\t\t\tupOrDown = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (upOrDown === false) {\n\t\t\t\t\tif (selected > 0) {\n\t\t\t\t\t\treturn this.selectNextNotDisabledTab(selected - 1, tabs, false, initialSelected || selected);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdevHint(`[KolTabs] All tabs are disabled, and therefore no tab can be displayed.`);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn selected;\n\t};\n\n\tprivate syncSelectedAndTabs = (nextValue: unknown, nextState: Map<string, unknown>, _component: Generic.Element.Component, key: string) => {\n\t\tlet selected: number;\n\t\tif (key === '_selected') {\n\t\t\tselected = nextValue as number;\n\t\t} else {\n\t\t\tselected = this.state._selected;\n\t\t}\n\t\tlet tabs: TabButtonProps[];\n\t\tif (key === '_tabs') {\n\t\t\ttabs = nextValue as TabButtonProps[];\n\t\t} else {\n\t\t\ttabs = this.state._tabs;\n\t\t}\n\t\tif (tabs.length > 0) {\n\t\t\tnextState.set('_selected', this.selectNextNotDisabledTab(selected, tabs));\n\t\t}\n\t};\n\n\t@Watch('_align')\n\tpublic validateAlign(value?: AlignPropType) {\n\t\tvalidateAlign(this, value);\n\t}\n\n\t@Watch('_behavior')\n\tpublic validateBehavior(value?: TabBehaviorPropType) {\n\t\tvalidateTabBehavior(this, value);\n\t}\n\n\t@Watch('_hasCreateButton')\n\tpublic validateHasCreateButton(value?: HasCreateButtonPropType) {\n\t\tvalidateHasCreateButton(this, value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelPropType): void {\n\t\tvalidateLabel(this, value, {\n\t\t\trequired: true,\n\t\t});\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: KoliBriTabsCallbacks): void {\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tconst callbacks: KoliBriTabsCallbacks = {};\n\t\t\tif (typeof value.onCreate === 'function') {\n\t\t\t\tcallbacks.onCreate = value.onCreate;\n\t\t\t}\n\t\t\tif (typeof value.onSelect === 'function') {\n\t\t\t\tcallbacks.onSelect = value.onSelect;\n\t\t\t}\n\t\t\tsetState<KoliBriTabsCallbacks>(this, '_on', callbacks);\n\t\t}\n\t}\n\n\t@Watch('_selected')\n\tpublic validateSelected(value?: number): void {\n\t\twatchNumber(this, '_selected', value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.syncSelectedAndTabs,\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_tabs')\n\tpublic validateTabs(value?: Stringified<TabButtonProps[]>): void {\n\t\twatchJsonArrayString(\n\t\t\tthis,\n\t\t\t'_tabs',\n\t\t\t(item: TabButtonProps) => typeof item === 'object' && item !== null && typeof item._label === 'string' && item._label.length > 0,\n\t\t\tvalue,\n\t\t\tundefined,\n\t\t\t{\n\t\t\t\thooks: {\n\t\t\t\t\tbeforePatch: this.syncSelectedAndTabs,\n\t\t\t\t\tafterPatch: this.refreshTabPanels,\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\t\tuiUxHintMillerscheZahl('KolTabs', this.state._tabs.length);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAlign(this._align);\n\t\tthis.validateLabel(this._label);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateSelected(this._selected);\n\t\tthis.validateTabs(this._tabs);\n\t\tthis.validateBehavior(this._behavior);\n\t\tthis.validateHasCreateButton(this._hasCreateButton);\n\t}\n\n\tprivate refreshTabPanels = () => {\n\t\tif (!this.tabPanelHost) return;\n\t\t// Clear existing panels\n\t\twhile (this.tabPanelHost.firstChild) {\n\t\t\tthis.tabPanelHost.removeChild(this.tabPanelHost.firstChild);\n\t\t}\n\t\tfor (let i = 0; i < this.state._tabs?.length; i++) {\n\t\t\tconst div = document.createElement('div');\n\t\t\tdiv.setAttribute('aria-labelledby', `${this.state._label.replace(/\\s/g, '-')}-tab-${i}`);\n\t\t\tdiv.setAttribute('id', `tabpanel-${i}`);\n\t\t\tdiv.setAttribute('role', 'tabpanel');\n\t\t\tdiv.setAttribute('hidden', '');\n\t\t\tconst slot = document.createElement('slot');\n\t\t\tslot.setAttribute('name', `tabpanel-slot-${i}`);\n\t\t\tdiv.appendChild(slot);\n\t\t\tthis.tabPanelHost?.appendChild(div);\n\n\t\t\tif (typeof HTMLCollection !== 'undefined' && this.host?.children instanceof HTMLCollection && this.host?.children[i] /* SSR instanceof HTMLElement */) {\n\t\t\t\tthis.host.children[i].setAttribute('slot', `tabpanel-slot-${i}`);\n\t\t\t}\n\t\t}\n\t\tthis.updateVisiblePanel();\n\t};\n\n\tprivate updateVisiblePanel = () => {\n\t\tif (!this.tabPanelHost) return;\n\t\tArray.from(this.tabPanelHost.children).forEach((child, i) => {\n\t\t\tif (i === this.state._selected) {\n\t\t\t\tchild.removeAttribute('hidden');\n\t\t\t} else {\n\t\t\t\tchild.setAttribute('hidden', '');\n\t\t\t}\n\t\t});\n\t};\n\n\tpublic componentDidRender(): void {\n\t\tthis.refreshTabPanels();\n\t}\n\n\tprivate focusTabById(index: number): void {\n\t\tif (this.tabPanelsElement /* SSR instanceof HTMLElement */) {\n\t\t\tconst button: HTMLElement | null = koliBriQuerySelector(`button#${this.state._label.replace(/\\s/g, '-')}-tab-${index}`, this.tabPanelsElement);\n\t\t\tbutton?.focus();\n\t\t}\n\t}\n\n\tprivate onSelect(event: CustomEvent | KeyboardEvent | MouseEvent | PointerEvent, index: number): void {\n\t\tthis._on?.onSelect?.(event, index);\n\t\tif (this.host) {\n\t\t\tdispatchDomEvent(this.host, KolEvent.select, index);\n\t\t}\n\n\t\tthis.focusTabById(index);\n\t}\n\n\tprivate onCreate = (event: Event) => {\n\t\tevent.preventDefault();\n\t\tthis.state._on?.onCreate?.(event);\n\t\tif (this.host) {\n\t\t\tdispatchDomEvent(this.host, KolEvent.create);\n\t\t}\n\t};\n\n\tprivate onBlur = () => {\n\t\tthis.currentFocusIndex = undefined;\n\t};\n}\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"kol-tabs.entry.esm.js","sources":["src/schema/props/tab-behavior.ts","src/schema/props/has-create-button.ts","src/components/tabs/style.scss?tag=kol-tabs&mode=default&encapsulation=shadow","src/components/tabs/shadow.tsx"],"sourcesContent":["/* types */\nimport type { Generic } from 'adopted-style-sheets';\nimport { watchValidator } from '../utils';\n\nconst tabBehaviorPropTypeOptions = ['select-automatic', 'select-manual'] as const;\nexport type TabBehaviorPropType = (typeof tabBehaviorPropTypeOptions)[number];\n\n/**\n * Defines which behavior is active.\n */\nexport type PropTabBehavior = {\n\tbehavior: TabBehaviorPropType;\n};\n\n/* validator */\nexport const validateTabBehavior = (component: Generic.Element.Component, value?: TabBehaviorPropType): void => {\n\twatchValidator(\n\t\tcomponent,\n\t\t`_behavior`,\n\t\t(value) => typeof value === 'string' && tabBehaviorPropTypeOptions.includes(value),\n\t\tnew Set([`KoliBriTabBehavior {${tabBehaviorPropTypeOptions.join(', ')}`]),\n\t\tvalue,\n\t);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean } from '../utils';\n\n/* types */\nexport type HasCreateButtonPropType = boolean;\n\n/**\n * Defines whether the element has a create button.\n */\nexport type PropHasCreateButton = {\n\thasCreateButton: HasCreateButtonPropType;\n};\n\n/* validator */\nexport const validateHasCreateButton = (component: Generic.Element.Component, value?: HasCreateButtonPropType): void => {\n\twatchBoolean(component, '_hasCreateButton', value);\n};\n","@use '../@shared/mixins' as *;\n@use '../../styles/global' as *;\n@use '../host-display-block' as *;\n@use '../tooltip/style.scss' as *;\n\n@layer kol-component {\n\t.kol-tabs {\n\t\tdisplay: var(--display);\n\t\tgrid-template-columns: var(--grid-template-columns);\n\t\tgrid-template-rows: var(--grid-template-rows);\n\n\t\t&--align-right {\n\t\t\t--display: grid;\n\t\t\t--grid-template-columns: 1fr auto;\n\n\t\t\t--button-group-flex-direction: column;\n\t\t\t--button-group-order: 2;\n\t\t}\n\n\t\t&--align-left {\n\t\t\t--display: grid;\n\t\t\t--grid-template-columns: auto 1fr;\n\n\t\t\t--button-group-flex-direction: column;\n\t\t\t--button-group-order: 0;\n\t\t}\n\n\t\t&--align-bottom {\n\t\t\t--display: grid;\n\t\t\t--grid-template-rows: 1fr auto;\n\n\t\t\t--button-group-order: 2;\n\t\t}\n\n\t\t&__tabs-align-top {\n\t\t\t--display: grid;\n\t\t\t--grid-template-rows: auto 1fr;\n\n\t\t\t--button-group-order: 0;\n\t\t}\n\n\t\t&__button-group {\n\t\t\tdisplay: flex;\n\t\t\torder: var(--button-group-order);\n\n\t\t\tflex-direction: var(--button-group-flex-direction);\n\t\t\tflex-wrap: wrap;\n\n\t\t\t.kol-button {\n\t\t\t\tborder-bottom-color: transparent;\n\t\t\t\tdisplay: block;\n\t\t\t\tborder-bottom-style: solid;\n\t\t\t}\n\t\t}\n\n\t\t&__panel {\n\t\t\theight: 100%;\n\t\t}\n\t}\n}\n","import type {\n\tAlignPropType,\n\tButtonCallbacksPropType,\n\tKoliBriTabsCallbacks,\n\tLabelPropType,\n\tStencilUnknown,\n\tStringified,\n\tTabBehaviorPropType,\n\tTabButtonProps,\n\tTabsAPI,\n\tTabsStates,\n} from '../../schema';\nimport {\n\tdevHint,\n\tkoliBriQuerySelector,\n\tsetState,\n\tuiUxHintMillerscheZahl,\n\tvalidateAlign,\n\tvalidateLabel,\n\tvalidateTabBehavior,\n\twatchJsonArrayString,\n\twatchNumber,\n} from '../../schema';\nimport type { JSX } from '@stencil/core';\nimport { Component, Element, h, Prop, State, Watch } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport type { Generic } from 'adopted-style-sheets';\nimport { KolButtonWcTag } from '../../core/component-names';\nimport { KeyboardKey } from '../../schema/enums';\nimport { dispatchDomEvent, KolEvent } from '../../utils/events';\nimport clsx from 'clsx';\nimport type { HasCreateButtonPropType } from '../../schema/props/has-create-button';\nimport { validateHasCreateButton } from '../../schema/props/has-create-button';\n// https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-2/tabs.html\n\n@Component({\n\ttag: 'kol-tabs',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolTabs implements TabsAPI {\n\t@Element() private readonly host?: HTMLKolTabsElement;\n\tprivate tabPanelsElement?: HTMLElement;\n\tprivate onCreateLabel = `${translate('kol-new')} …`;\n\tprivate currentFocusIndex: number | undefined;\n\n\tprivate nextPossibleTabIndex = (tabs: TabButtonProps[], offset: number, step = 1): number => {\n\t\tconst nextOffset = offset + step;\n\n\t\tif (nextOffset < tabs.length) {\n\t\t\tif (tabs[nextOffset]._disabled) {\n\t\t\t\treturn this.nextPossibleTabIndex(tabs, offset, step + 1);\n\t\t\t}\n\t\t\treturn nextOffset;\n\t\t}\n\n\t\treturn offset;\n\t};\n\n\tprivate prevPossibleTabIndex = (tabs: TabButtonProps[], offset: number, step = 1): number => {\n\t\tconst nextOffset = offset - step;\n\n\t\tif (nextOffset >= 0) {\n\t\t\tif (tabs[nextOffset]._disabled) {\n\t\t\t\treturn this.prevPossibleTabIndex(tabs, offset, step + 1);\n\t\t\t}\n\t\t\treturn nextOffset;\n\t\t}\n\n\t\treturn offset;\n\t};\n\n\tprivate onKeyDown = (event: KeyboardEvent) => {\n\t\tswitch (event.key as KeyboardKey) {\n\t\t\tcase KeyboardKey.ArrowRight:\n\t\t\t\tthis.goToNextTab(event);\n\t\t\t\tbreak;\n\t\t\tcase KeyboardKey.ArrowLeft:\n\t\t\t\tthis.goToPreviousTab(event);\n\t\t\t\tbreak;\n\t\t\tcase KeyboardKey.Space:\n\t\t\tcase KeyboardKey.Enter:\n\t\t\t\tthis.activateFocusedTab(event);\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\tprivate getCurrentFocusIndex(): number {\n\t\tif (typeof this.currentFocusIndex === 'number') {\n\t\t\treturn this.currentFocusIndex;\n\t\t}\n\n\t\treturn this.state._selected;\n\t}\n\n\tprivate getKeyboardTabChangeMode(): 'selectFocusOnly' | 'activateCompletely' {\n\t\tif (this._behavior === 'select-manual') {\n\t\t\treturn 'selectFocusOnly';\n\t\t}\n\n\t\treturn 'activateCompletely';\n\t}\n\n\tprivate goToNextTab(event: KeyboardEvent) {\n\t\tconst nextFocusIndex = this.nextPossibleTabIndex(this.state._tabs, this.getCurrentFocusIndex());\n\t\tthis.selectNextTabEvent(event, nextFocusIndex, this.getKeyboardTabChangeMode());\n\t}\n\n\tprivate goToPreviousTab(event: KeyboardEvent) {\n\t\tconst nextFocusIndex = this.prevPossibleTabIndex(this.state._tabs, this.getCurrentFocusIndex());\n\t\tthis.selectNextTabEvent(event, nextFocusIndex, this.getKeyboardTabChangeMode());\n\t}\n\n\tprivate activateFocusedTab(event: KeyboardEvent) {\n\t\tif (typeof this.currentFocusIndex === 'number') {\n\t\t\tthis.onSelect(event, this.currentFocusIndex);\n\t\t}\n\t}\n\n\tprivate readonly onClickSelect = (event: MouseEvent, index: number): void => {\n\t\tthis.selectNextTabEvent(event, index);\n\t};\n\n\tprivate selectNextTabEvent(\n\t\tevent: KeyboardEvent | MouseEvent,\n\t\tnextTabIndex: number,\n\t\tchangeMode: 'selectFocusOnly' | 'activateCompletely' = 'activateCompletely',\n\t): void {\n\t\tthis.currentFocusIndex = nextTabIndex;\n\n\t\tthis.focusTabById(nextTabIndex);\n\n\t\tif (changeMode === 'activateCompletely') {\n\t\t\tthis._selected = nextTabIndex;\n\n\t\t\tconst tab = this.state._tabs[nextTabIndex];\n\t\t\ttab._on?.onSelect?.(event, nextTabIndex);\n\n\t\t\tthis.onSelect(event, nextTabIndex);\n\t\t}\n\t}\n\n\tprivate readonly onMouseDown = (event: Event): void => {\n\t\tevent.preventDefault();\n\t};\n\n\tprivate readonly callbacks: ButtonCallbacksPropType<number> = {\n\t\tonClick: this.onClickSelect,\n\t\tonMouseDown: this.onMouseDown,\n\t};\n\n\tprivate renderButtonGroup() {\n\t\treturn (\n\t\t\t// Rule is disabled, because KolButtonWc is focusable.\n\t\t\t// eslint-disable-next-line jsx-a11y/interactive-supports-focus\n\t\t\t<div aria-label={this.state._label} class=\"kol-tabs__button-group\" role=\"tablist\" onKeyDown={this.onKeyDown} onBlur={this.onBlur}>\n\t\t\t\t{this.state._tabs.map((button: TabButtonProps, index: number) => (\n\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\t_disabled={button._disabled}\n\t\t\t\t\t\t_icons={button._icons}\n\t\t\t\t\t\t_hideLabel={button._hideLabel}\n\t\t\t\t\t\t_label={button._label} // TODO: ariaLabel-Konzept prüfen\n\t\t\t\t\t\t_on={this.callbacks as ButtonCallbacksPropType<StencilUnknown>}\n\t\t\t\t\t\t_tabIndex={this.state._selected === index ? 0 : -1}\n\t\t\t\t\t\t_tooltipAlign={button._tooltipAlign}\n\t\t\t\t\t\t_buttonVariant={this.state._selected === index ? 'custom' : undefined}\n\t\t\t\t\t\t_customClass={this.state._selected === index ? 'selected' : undefined}\n\t\t\t\t\t\t_ariaControls={`tabpanel-${index}`}\n\t\t\t\t\t\t_ariaSelected={this.state._selected === index}\n\t\t\t\t\t\t_id={`${this.state._label.replace(/\\s/g, '-')}-tab-${index}`}\n\t\t\t\t\t\t_role=\"tab\"\n\t\t\t\t\t\t_value={index}\n\t\t\t\t\t></KolButtonWcTag>\n\t\t\t\t))}\n\t\t\t\t{this.state._hasCreateButton && (\n\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\tclass=\"kol-tabs__button-create\"\n\t\t\t\t\t\t_label={this.onCreateLabel}\n\t\t\t\t\t\t_on={{\n\t\t\t\t\t\t\tonClick: this.onCreate,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\t_icons=\"codicon codicon-plus\"\n\t\t\t\t\t\tdata-testid=\"tabs-create-button\"\n\t\t\t\t\t></KolButtonWcTag>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate tabPanelHost?: HTMLDivElement;\n\n\tprivate readonly catchTabPanelHost = (el?: HTMLDivElement) => {\n\t\tthis.tabPanelHost = el;\n\t};\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={(el) => {\n\t\t\t\t\tthis.tabPanelsElement = el as HTMLElement;\n\t\t\t\t}}\n\t\t\t\tclass={clsx('kol-tabs', `kol-tabs--align-${this.state._align}`)}\n\t\t\t>\n\t\t\t\t{this.renderButtonGroup()}\n\t\t\t\t<div class=\"kol-tabs__content\" ref={this.catchTabPanelHost}>\n\t\t\t\t\t{/* <slot /> */}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\t/**\n\t * Defines the visual orientation of the component.\n\t */\n\t@Prop() public _align?: AlignPropType = 'top';\n\n\t/**\n\t * Defines which behavior is active.\n\t */\n\t@Prop() public _behavior?: TabBehaviorPropType;\n\n\t/**\n\t * Defines whether the element has a create button.\n\t */\n\t@Prop() public _hasCreateButton?: HasCreateButtonPropType = false;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label!: LabelPropType;\n\n\t/**\n\t * Gibt die Liste der Callback-Funktionen an, die auf Events aufgerufen werden sollen.\n\t */\n\t@Prop() public _on?: KoliBriTabsCallbacks;\n\n\t/**\n\t * Defines which tab is active.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _selected?: number = 0;\n\n\t/**\n\t * Defines the tab captions.\n\t */\n\t@Prop() public _tabs!: Stringified<TabButtonProps[]>;\n\n\t@State() public state: TabsStates = {\n\t\t_align: 'top',\n\t\t_label: '', // ⚠ required\n\t\t_selected: 0,\n\t\t_tabs: [],\n\t};\n\n\tprivate selectNextNotDisabledTab = (selected: number, tabs: TabButtonProps[], upOrDown = true, initialSelected?: number): number => {\n\t\tif (selected > tabs.length - 1) {\n\t\t\tselected = tabs.length - 1;\n\t\t}\n\t\tif (selected < 0) {\n\t\t\tselected = 0;\n\t\t}\n\t\tif (Array.isArray(tabs) && tabs[selected]) {\n\t\t\tif (tabs[selected]._disabled) {\n\t\t\t\tif (upOrDown === true) {\n\t\t\t\t\tif (selected < tabs.length - 1) {\n\t\t\t\t\t\treturn this.selectNextNotDisabledTab(selected + 1, tabs, true, initialSelected || selected);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tselected = initialSelected || selected;\n\t\t\t\t\t\tupOrDown = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (upOrDown === false) {\n\t\t\t\t\tif (selected > 0) {\n\t\t\t\t\t\treturn this.selectNextNotDisabledTab(selected - 1, tabs, false, initialSelected || selected);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdevHint(`[KolTabs] All tabs are disabled, and therefore no tab can be displayed.`);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn selected;\n\t};\n\n\tprivate syncSelectedAndTabs = (nextValue: unknown, nextState: Map<string, unknown>, _component: Generic.Element.Component, key: string) => {\n\t\tlet selected: number;\n\t\tif (key === '_selected') {\n\t\t\tselected = nextValue as number;\n\t\t} else {\n\t\t\tselected = this.state._selected;\n\t\t}\n\t\tlet tabs: TabButtonProps[];\n\t\tif (key === '_tabs') {\n\t\t\ttabs = nextValue as TabButtonProps[];\n\t\t} else {\n\t\t\ttabs = this.state._tabs;\n\t\t}\n\t\tif (tabs.length > 0) {\n\t\t\tnextState.set('_selected', this.selectNextNotDisabledTab(selected, tabs));\n\t\t}\n\t};\n\n\t@Watch('_align')\n\tpublic validateAlign(value?: AlignPropType) {\n\t\tvalidateAlign(this, value);\n\t}\n\n\t@Watch('_behavior')\n\tpublic validateBehavior(value?: TabBehaviorPropType) {\n\t\tvalidateTabBehavior(this, value);\n\t}\n\n\t@Watch('_hasCreateButton')\n\tpublic validateHasCreateButton(value?: HasCreateButtonPropType) {\n\t\tvalidateHasCreateButton(this, value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelPropType): void {\n\t\tvalidateLabel(this, value, {\n\t\t\trequired: true,\n\t\t});\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: KoliBriTabsCallbacks): void {\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tconst callbacks: KoliBriTabsCallbacks = {};\n\t\t\tif (typeof value.onCreate === 'function') {\n\t\t\t\tcallbacks.onCreate = value.onCreate;\n\t\t\t}\n\t\t\tif (typeof value.onSelect === 'function') {\n\t\t\t\tcallbacks.onSelect = value.onSelect;\n\t\t\t}\n\t\t\tsetState<KoliBriTabsCallbacks>(this, '_on', callbacks);\n\t\t}\n\t}\n\n\t@Watch('_selected')\n\tpublic validateSelected(value?: number): void {\n\t\twatchNumber(this, '_selected', value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.syncSelectedAndTabs,\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_tabs')\n\tpublic validateTabs(value?: Stringified<TabButtonProps[]>): void {\n\t\twatchJsonArrayString(\n\t\t\tthis,\n\t\t\t'_tabs',\n\t\t\t(item: TabButtonProps) => typeof item === 'object' && item !== null && typeof item._label === 'string' && item._label.length > 0,\n\t\t\tvalue,\n\t\t\tundefined,\n\t\t\t{\n\t\t\t\thooks: {\n\t\t\t\t\tbeforePatch: this.syncSelectedAndTabs,\n\t\t\t\t\tafterPatch: this.refreshTabPanels,\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\t\tuiUxHintMillerscheZahl('KolTabs', this.state._tabs.length);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAlign(this._align);\n\t\tthis.validateLabel(this._label);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateSelected(this._selected);\n\t\tthis.validateTabs(this._tabs);\n\t\tthis.validateBehavior(this._behavior);\n\t\tthis.validateHasCreateButton(this._hasCreateButton);\n\t}\n\n\tprivate refreshTabPanels = () => {\n\t\tif (!this.tabPanelHost) return;\n\t\t// Clear existing panels\n\t\twhile (this.tabPanelHost.firstChild) {\n\t\t\tthis.tabPanelHost.removeChild(this.tabPanelHost.firstChild);\n\t\t}\n\t\tfor (let i = 0; i < this.state._tabs?.length; i++) {\n\t\t\tconst div = document.createElement('div');\n\t\t\tdiv.setAttribute('aria-labelledby', `${this.state._label.replace(/\\s/g, '-')}-tab-${i}`);\n\t\t\tdiv.setAttribute('id', `tabpanel-${i}`);\n\t\t\tdiv.setAttribute('role', 'tabpanel');\n\t\t\tdiv.setAttribute('hidden', '');\n\t\t\tconst slot = document.createElement('slot');\n\t\t\tslot.setAttribute('name', `tabpanel-slot-${i}`);\n\t\t\tdiv.appendChild(slot);\n\t\t\tthis.tabPanelHost?.appendChild(div);\n\n\t\t\tif (typeof HTMLCollection !== 'undefined' && this.host?.children instanceof HTMLCollection && this.host?.children[i] /* SSR instanceof HTMLElement */) {\n\t\t\t\tthis.host.children[i].setAttribute('slot', `tabpanel-slot-${i}`);\n\t\t\t}\n\t\t}\n\t\tthis.updateVisiblePanel();\n\t};\n\n\tprivate updateVisiblePanel = () => {\n\t\tif (!this.tabPanelHost) return;\n\t\tArray.from(this.tabPanelHost.children).forEach((child, i) => {\n\t\t\tif (i === this.state._selected) {\n\t\t\t\tchild.removeAttribute('hidden');\n\t\t\t} else {\n\t\t\t\tchild.setAttribute('hidden', '');\n\t\t\t}\n\t\t});\n\t};\n\n\tpublic componentDidRender(): void {\n\t\tthis.refreshTabPanels();\n\t}\n\n\tprivate focusTabById(index: number): void {\n\t\tif (this.tabPanelsElement /* SSR instanceof HTMLElement */) {\n\t\t\tconst button: HTMLElement | null = koliBriQuerySelector(`button#${this.state._label.replace(/\\s/g, '-')}-tab-${index}`, this.tabPanelsElement);\n\t\t\tbutton?.focus();\n\t\t}\n\t}\n\n\tprivate onSelect(event: CustomEvent | KeyboardEvent | MouseEvent | PointerEvent, index: number): void {\n\t\tthis._on?.onSelect?.(event, index);\n\t\tif (this.host) {\n\t\t\tdispatchDomEvent(this.host, KolEvent.select, index);\n\t\t}\n\n\t\tthis.focusTabById(index);\n\t}\n\n\tprivate onCreate = (event: Event) => {\n\t\tevent.preventDefault();\n\t\tthis.state._on?.onCreate?.(event);\n\t\tif (this.host) {\n\t\t\tdispatchDomEvent(this.host, KolEvent.create);\n\t\t}\n\t};\n\n\tprivate onBlur = () => {\n\t\tthis.currentFocusIndex = undefined;\n\t};\n}\n"],"names":[],"mappings":"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"}
|
@@ -1,4 +1,4 @@
|
|
1
1
|
/*!
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
3
3
|
*/
|
4
|
-
import{r as t,h as n,g as e}from"./index-CuRbHMox.js";import{w as i,d as o,j as s,s as a,N as l,H as r,I as d,P as h}from"./common-7RW_NFNf.js";import{v as c}from"./align-DoCRbhrp.js";import{v as u}from"./label-DAfXJvJZ.js";import{t as b}from"./i18n-yBVLeHdv.js";import{d as p}from"./component-names-CkE54Ym7.js";import{K as f}from"./keyboard-D6PoWr38.js";import{d as m,K as v}from"./events-CoPFQEiC.js";import{c as g}from"./clsx-eK3rPvPS.js";import"./i18n-CjhRejiw.js";const y=["select-automatic","select-manual"],k=(t,e)=>{i(t,"_behavior",(t=>"string"==typeof t&&y.includes(t)),new Set([`KoliBriTabBehavior {${y.join(", ")}`]),e)},_=(t,e)=>{o(t,"_hasCreateButton",e)},w="/* forward the rem function */\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-a11y {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: calc(44rem / var(--kolibri-root-font-size, 16));\n color: black;\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n }\n /*\n * All interactive elements should have a minimum size of to-rem(44).\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n [role=button],\n button:not([role=link]),\n .kol-input .input {\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n .visually-hidden {\n position: absolute;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n }\n}\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n width: 100%;\n margin: 0;\n padding: 0;\n border: none;\n /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n .badge-text-hint {\n color: black;\n background-color: lightgray;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: grid;\n place-items: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n opacity: 0.5;\n outline: none;\n cursor: not-allowed;\n }\n [aria-disabled=true]:focus .kol-span,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@layer kol-component {\n @keyframes fadeInOpacity {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n .kol-tooltip {\n display: contents;\n contain: layout;\n }\n .kol-tooltip__floating {\n display: none;\n position: fixed;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width);\n max-width: 90vw;\n max-height: 90vh;\n visibility: hidden;\n animation-duration: 0.25s;\n animation-iteration-count: 1;\n animation-name: fadeInOpacity;\n animation-timing-function: ease-in;\n }\n .kol-tooltip__arrow {\n transform: rotate(45deg);\n color: #000;\n background-color: #fff;\n position: absolute;\n z-index: 999;\n width: calc(10rem / var(--kolibri-root-font-size, 16));\n height: calc(10rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip__content {\n color: #000;\n background-color: #fff;\n position: relative;\n z-index: 1000;\n }\n}\n@layer kol-component {\n .kol-tabs {\n display: var(--display);\n grid-template-columns: var(--grid-template-columns);\n grid-template-rows: var(--grid-template-rows);\n }\n .kol-tabs--align-right {\n --display: grid;\n --grid-template-columns: 1fr auto;\n --button-group-flex-direction: column;\n --button-group-order: 2;\n }\n .kol-tabs--align-left {\n --display: grid;\n --grid-template-columns: auto 1fr;\n --button-group-flex-direction: column;\n --button-group-order: 0;\n }\n .kol-tabs--align-bottom {\n --display: grid;\n --grid-template-rows: 1fr auto;\n --button-group-order: 2;\n }\n .kol-tabs__tabs-align-top {\n --display: grid;\n --grid-template-rows: auto 1fr;\n --button-group-order: 0;\n }\n .kol-tabs__content {\n overflow: auto;\n }\n .kol-tabs__button-group {\n display: flex;\n order: var(--button-group-order);\n flex-direction: var(--button-group-flex-direction);\n flex-wrap: wrap;\n }\n .kol-tabs__button-group .kol-button {\n border-bottom-color: transparent;\n display: block;\n border-bottom-style: solid;\n }\n .kol-tabs__panel {\n height: 100%;\n }\n}",x=class{constructor(e){t(this,e),this.onCreateLabel=`${b("kol-new")} …`,this.nextPossibleTabIndex=(t,e,n=1)=>{const a=e+n;return a<t.length?t[a]._disabled?this.nextPossibleTabIndex(t,e,n+1):a:e},this.prevPossibleTabIndex=(t,e,n=1)=>{const a=e-n;return a>=0?t[a]._disabled?this.prevPossibleTabIndex(t,e,n+1):a:e},this.onKeyDown=t=>{switch(t.key){case f.ArrowRight:this.goToNextTab(t);break;case f.ArrowLeft:this.goToPreviousTab(t);break;case f.Space:case f.Enter:this.activateFocusedTab(t)}},this.onClickSelect=(t,e)=>{this.selectNextTabEvent(t,e)},this.onMouseDown=t=>{t.preventDefault()},this.callbacks={onClick:this.onClickSelect,onMouseDown:this.onMouseDown},this.catchTabPanelHost=t=>{this.tabPanelHost=t},this._align="top",this._hasCreateButton=!1,this._selected=0,this.state={_align:"top",_label:"",_selected:0,_tabs:[]},this.selectNextNotDisabledTab=(t,e,n=!0,a)=>{if(t>e.length-1&&(t=e.length-1),t<0&&(t=0),Array.isArray(e)&&e[t]&&e[t]._disabled){if(!0===n){if(t<e.length-1)return this.selectNextNotDisabledTab(t+1,e,!0,a||t);t=a||t,n=!1}if(!1===n){if(t>0)return this.selectNextNotDisabledTab(t-1,e,!1,a||t);s("[KolTabs] All tabs are disabled, and therefore no tab can be displayed.")}}return t},this.syncSelectedAndTabs=(t,e,n,a)=>{let o,i;o="_selected"===a?t:this.state._selected,i="_tabs"===a?t:this.state._tabs,i.length>0&&e.set("_selected",this.selectNextNotDisabledTab(o,i))},this.refreshTabPanels=()=>{var t,e,n,a;if(this.tabPanelHost){for(;this.tabPanelHost.firstChild;)this.tabPanelHost.removeChild(this.tabPanelHost.firstChild);for(let o=0;o<(null===(t=this.state._tabs)||void 0===t?void 0:t.length);o++){const t=document.createElement("div");t.setAttribute("aria-labelledby",`${this.state._label.replace(/\s/g,"-")}-tab-${o}`),t.setAttribute("id",`tabpanel-${o}`),t.setAttribute("role","tabpanel"),t.setAttribute("hidden","");const i=document.createElement("slot");i.setAttribute("name",`tabpanel-slot-${o}`),t.appendChild(i),null===(e=this.tabPanelHost)||void 0===e||e.appendChild(t),"undefined"!=typeof HTMLCollection&&(null===(n=this.host)||void 0===n?void 0:n.children)instanceof HTMLCollection&&(null===(a=this.host)||void 0===a?void 0:a.children[o])&&this.host.children[o].setAttribute("slot",`tabpanel-slot-${o}`)}this.updateVisiblePanel()}},this.updateVisiblePanel=()=>{this.tabPanelHost&&Array.from(this.tabPanelHost.children).forEach(((t,e)=>{e===this.state._selected?t.removeAttribute("hidden"):t.setAttribute("hidden","")}))},this.onCreate=t=>{var e,n;t.preventDefault(),null===(n=null===(e=this.state._on)||void 0===e?void 0:e.onCreate)||void 0===n||n.call(e,t),this.host&&m(this.host,v.create)},this.onBlur=()=>{this.currentFocusIndex=void 0}}getCurrentFocusIndex(){return"number"==typeof this.currentFocusIndex?this.currentFocusIndex:this.state._selected}getKeyboardTabChangeMode(){return"select-manual"===this._behavior?"selectFocusOnly":"activateCompletely"}goToNextTab(t){const e=this.nextPossibleTabIndex(this.state._tabs,this.getCurrentFocusIndex());this.selectNextTabEvent(t,e,this.getKeyboardTabChangeMode())}goToPreviousTab(t){const e=this.prevPossibleTabIndex(this.state._tabs,this.getCurrentFocusIndex());this.selectNextTabEvent(t,e,this.getKeyboardTabChangeMode())}activateFocusedTab(t){"number"==typeof this.currentFocusIndex&&this.onSelect(t,this.currentFocusIndex)}selectNextTabEvent(t,e,n="activateCompletely"){var a,o;if(this.currentFocusIndex=e,this.focusTabById(e),"activateCompletely"===n){this._selected=e;null===(o=null===(a=this.state._tabs[e]._on)||void 0===a?void 0:a.onSelect)||void 0===o||o.call(a,t,e),this.onSelect(t,e)}}renderButtonGroup(){return n("div",{"aria-label":this.state._label,class:"kol-tabs__button-group",role:"tablist",onKeyDown:this.onKeyDown,onBlur:this.onBlur},this.state._tabs.map(((t,e)=>n(p,{_disabled:t._disabled,_icons:t._icons,_hideLabel:t._hideLabel,_label:t._label,_on:this.callbacks,_tabIndex:this.state._selected===e?0:-1,_tooltipAlign:t._tooltipAlign,_buttonVariant:this.state._selected===e?"custom":void 0,_customClass:this.state._selected===e?"selected":void 0,_ariaControls:`tabpanel-${e}`,_ariaSelected:this.state._selected===e,_id:`${this.state._label.replace(/\s/g,"-")}-tab-${e}`,_role:"tab",_value:e}))),this.state._hasCreateButton&&n(p,{class:"kol-tabs__button-create",_label:this.onCreateLabel,_on:{onClick:this.onCreate},_icons:"codicon codicon-plus","data-testid":"tabs-create-button"}))}render(){return n("div",{key:"c90d53464702512863a3483602ed15645a6c0484",ref:t=>{this.tabPanelsElement=t},class:g("kol-tabs",`kol-tabs--align-${this.state._align}`)},this.renderButtonGroup(),n("div",{key:"3e172f4835867233726b1ae2081e3a6729eb3b83",class:"kol-tabs__content",ref:this.catchTabPanelHost}))}validateAlign(t){c(this,t)}validateBehavior(t){k(this,t)}validateHasCreateButton(t){_(this,t)}validateLabel(t){u(this,t,{required:!0})}validateOn(t){if("object"==typeof t&&null!==t){const e={};"function"==typeof t.onCreate&&(e.onCreate=t.onCreate),"function"==typeof t.onSelect&&(e.onSelect=t.onSelect),a(this,"_on",e)}}validateSelected(t){l(this,"_selected",t,{hooks:{beforePatch:this.syncSelectedAndTabs}})}validateTabs(t){r(this,"_tabs",(t=>"object"==typeof t&&null!==t&&"string"==typeof t._label&&t._label.length>0),t,void 0,{hooks:{beforePatch:this.syncSelectedAndTabs,afterPatch:this.refreshTabPanels}}),d("KolTabs",this.state._tabs.length)}componentWillLoad(){this.validateAlign(this._align),this.validateLabel(this._label),this.validateOn(this._on),this.validateSelected(this._selected),this.validateTabs(this._tabs),this.validateBehavior(this._behavior),this.validateHasCreateButton(this._hasCreateButton)}componentDidRender(){this.refreshTabPanels()}focusTabById(t){if(this.tabPanelsElement){const e=h(`button#${this.state._label.replace(/\s/g,"-")}-tab-${t}`,this.tabPanelsElement);null==e||e.focus()}}onSelect(t,e){var n,a;null===(a=null===(n=this._on)||void 0===n?void 0:n.onSelect)||void 0===a||a.call(n,t,e),this.host&&m(this.host,v.select,e),this.focusTabById(e)}get host(){return e(this)}static get watchers(){return{_align:["validateAlign"],_behavior:["validateBehavior"],_hasCreateButton:["validateHasCreateButton"],_label:["validateLabel"],_on:["validateOn"],_selected:["validateSelected"],_tabs:["validateTabs"]}}};x.style={default:w};export{x as kol_tabs};
|
4
|
+
import{r as t,h as n,g as e}from"./index-8LH1C-22.js";import{w as i,d as o,j as s,s as a,J as l,F as r,G as d,N as h}from"./common-Kl71BXoz.js";import{v as c}from"./align-CLdxNiyN.js";import{v as u}from"./label-DWoPQebK.js";import{t as b}from"./i18n-CKkAYzG_.js";import{d as p}from"./component-names-CkE54Ym7.js";import{K as f}from"./keyboard-D6PoWr38.js";import{d as m,K as g}from"./events-CoPFQEiC.js";import{c as v}from"./clsx-eK3rPvPS.js";import"./i18n-CjhRejiw.js";const y=["select-automatic","select-manual"],k=(t,e)=>{i(t,"_behavior",(t=>"string"==typeof t&&y.includes(t)),new Set([`KoliBriTabBehavior {${y.join(", ")}`]),e)},_=(t,e)=>{o(t,"_hasCreateButton",e)},w="/* forward the rem function */\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-a11y {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: calc(44rem / var(--kolibri-root-font-size, 16));\n color: black;\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n }\n /*\n * All interactive elements should have a minimum size of to-rem(44).\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n [role=button],\n button:not([role=link]),\n .kol-input .input {\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n .visually-hidden {\n position: absolute;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n }\n}\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n width: 100%;\n margin: 0;\n padding: 0;\n border: none;\n /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n .badge-text-hint {\n color: black;\n background-color: lightgray;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: grid;\n place-items: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n opacity: 0.5;\n outline: none;\n cursor: not-allowed;\n }\n [aria-disabled=true]:focus .kol-span,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@layer kol-component {\n @keyframes fadeInOpacity {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n .kol-tooltip {\n display: contents;\n contain: layout;\n }\n .kol-tooltip__floating {\n display: none;\n position: fixed;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width);\n max-width: 90vw;\n max-height: 90vh;\n visibility: hidden;\n animation-duration: 0.25s;\n animation-iteration-count: 1;\n animation-name: fadeInOpacity;\n animation-timing-function: ease-in;\n }\n .kol-tooltip__arrow {\n transform: rotate(45deg);\n color: #000;\n background-color: #fff;\n position: absolute;\n z-index: 999;\n width: calc(10rem / var(--kolibri-root-font-size, 16));\n height: calc(10rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip__content {\n color: #000;\n background-color: #fff;\n position: relative;\n z-index: 1000;\n }\n}\n@layer kol-component {\n .kol-tabs {\n display: var(--display);\n grid-template-columns: var(--grid-template-columns);\n grid-template-rows: var(--grid-template-rows);\n }\n .kol-tabs--align-right {\n --display: grid;\n --grid-template-columns: 1fr auto;\n --button-group-flex-direction: column;\n --button-group-order: 2;\n }\n .kol-tabs--align-left {\n --display: grid;\n --grid-template-columns: auto 1fr;\n --button-group-flex-direction: column;\n --button-group-order: 0;\n }\n .kol-tabs--align-bottom {\n --display: grid;\n --grid-template-rows: 1fr auto;\n --button-group-order: 2;\n }\n .kol-tabs__tabs-align-top {\n --display: grid;\n --grid-template-rows: auto 1fr;\n --button-group-order: 0;\n }\n .kol-tabs__button-group {\n display: flex;\n order: var(--button-group-order);\n flex-direction: var(--button-group-flex-direction);\n flex-wrap: wrap;\n }\n .kol-tabs__button-group .kol-button {\n border-bottom-color: transparent;\n display: block;\n border-bottom-style: solid;\n }\n .kol-tabs__panel {\n height: 100%;\n }\n}",x=class{constructor(e){t(this,e),this.onCreateLabel=`${b("kol-new")} …`,this.nextPossibleTabIndex=(t,e,n=1)=>{const a=e+n;return a<t.length?t[a]._disabled?this.nextPossibleTabIndex(t,e,n+1):a:e},this.prevPossibleTabIndex=(t,e,n=1)=>{const a=e-n;return a>=0?t[a]._disabled?this.prevPossibleTabIndex(t,e,n+1):a:e},this.onKeyDown=t=>{switch(t.key){case f.ArrowRight:this.goToNextTab(t);break;case f.ArrowLeft:this.goToPreviousTab(t);break;case f.Space:case f.Enter:this.activateFocusedTab(t)}},this.onClickSelect=(t,e)=>{this.selectNextTabEvent(t,e)},this.onMouseDown=t=>{t.preventDefault()},this.callbacks={onClick:this.onClickSelect,onMouseDown:this.onMouseDown},this.catchTabPanelHost=t=>{this.tabPanelHost=t},this._align="top",this._hasCreateButton=!1,this._selected=0,this.state={_align:"top",_label:"",_selected:0,_tabs:[]},this.selectNextNotDisabledTab=(t,e,n=!0,a)=>{if(t>e.length-1&&(t=e.length-1),t<0&&(t=0),Array.isArray(e)&&e[t]&&e[t]._disabled){if(!0===n){if(t<e.length-1)return this.selectNextNotDisabledTab(t+1,e,!0,a||t);t=a||t,n=!1}if(!1===n){if(t>0)return this.selectNextNotDisabledTab(t-1,e,!1,a||t);s("[KolTabs] All tabs are disabled, and therefore no tab can be displayed.")}}return t},this.syncSelectedAndTabs=(t,e,n,a)=>{let i,o;i="_selected"===a?t:this.state._selected,o="_tabs"===a?t:this.state._tabs,o.length>0&&e.set("_selected",this.selectNextNotDisabledTab(i,o))},this.refreshTabPanels=()=>{var t,e,n,a;if(this.tabPanelHost){for(;this.tabPanelHost.firstChild;)this.tabPanelHost.removeChild(this.tabPanelHost.firstChild);for(let i=0;i<(null===(t=this.state._tabs)||void 0===t?void 0:t.length);i++){const t=document.createElement("div");t.setAttribute("aria-labelledby",`${this.state._label.replace(/\s/g,"-")}-tab-${i}`),t.setAttribute("id",`tabpanel-${i}`),t.setAttribute("role","tabpanel"),t.setAttribute("hidden","");const o=document.createElement("slot");o.setAttribute("name",`tabpanel-slot-${i}`),t.appendChild(o),null===(e=this.tabPanelHost)||void 0===e||e.appendChild(t),"undefined"!=typeof HTMLCollection&&(null===(n=this.host)||void 0===n?void 0:n.children)instanceof HTMLCollection&&(null===(a=this.host)||void 0===a?void 0:a.children[i])&&this.host.children[i].setAttribute("slot",`tabpanel-slot-${i}`)}this.updateVisiblePanel()}},this.updateVisiblePanel=()=>{this.tabPanelHost&&Array.from(this.tabPanelHost.children).forEach(((t,e)=>{e===this.state._selected?t.removeAttribute("hidden"):t.setAttribute("hidden","")}))},this.onCreate=t=>{var e,n;t.preventDefault(),null===(n=null===(e=this.state._on)||void 0===e?void 0:e.onCreate)||void 0===n||n.call(e,t),this.host&&m(this.host,g.create)},this.onBlur=()=>{this.currentFocusIndex=void 0}}getCurrentFocusIndex(){return"number"==typeof this.currentFocusIndex?this.currentFocusIndex:this.state._selected}getKeyboardTabChangeMode(){return"select-manual"===this._behavior?"selectFocusOnly":"activateCompletely"}goToNextTab(t){const e=this.nextPossibleTabIndex(this.state._tabs,this.getCurrentFocusIndex());this.selectNextTabEvent(t,e,this.getKeyboardTabChangeMode())}goToPreviousTab(t){const e=this.prevPossibleTabIndex(this.state._tabs,this.getCurrentFocusIndex());this.selectNextTabEvent(t,e,this.getKeyboardTabChangeMode())}activateFocusedTab(t){"number"==typeof this.currentFocusIndex&&this.onSelect(t,this.currentFocusIndex)}selectNextTabEvent(t,e,n="activateCompletely"){var a,i;if(this.currentFocusIndex=e,this.focusTabById(e),"activateCompletely"===n){this._selected=e;null===(i=null===(a=this.state._tabs[e]._on)||void 0===a?void 0:a.onSelect)||void 0===i||i.call(a,t,e),this.onSelect(t,e)}}renderButtonGroup(){return n("div",{"aria-label":this.state._label,class:"kol-tabs__button-group",role:"tablist",onKeyDown:this.onKeyDown,onBlur:this.onBlur},this.state._tabs.map(((t,e)=>n(p,{_disabled:t._disabled,_icons:t._icons,_hideLabel:t._hideLabel,_label:t._label,_on:this.callbacks,_tabIndex:this.state._selected===e?0:-1,_tooltipAlign:t._tooltipAlign,_buttonVariant:this.state._selected===e?"custom":void 0,_customClass:this.state._selected===e?"selected":void 0,_ariaControls:`tabpanel-${e}`,_ariaSelected:this.state._selected===e,_id:`${this.state._label.replace(/\s/g,"-")}-tab-${e}`,_role:"tab",_value:e}))),this.state._hasCreateButton&&n(p,{class:"kol-tabs__button-create",_label:this.onCreateLabel,_on:{onClick:this.onCreate},_icons:"codicon codicon-plus","data-testid":"tabs-create-button"}))}render(){return n("div",{key:"c90d53464702512863a3483602ed15645a6c0484",ref:t=>{this.tabPanelsElement=t},class:v("kol-tabs",`kol-tabs--align-${this.state._align}`)},this.renderButtonGroup(),n("div",{key:"3e172f4835867233726b1ae2081e3a6729eb3b83",class:"kol-tabs__content",ref:this.catchTabPanelHost}))}validateAlign(t){c(this,t)}validateBehavior(t){k(this,t)}validateHasCreateButton(t){_(this,t)}validateLabel(t){u(this,t,{required:!0})}validateOn(t){if("object"==typeof t&&null!==t){const e={};"function"==typeof t.onCreate&&(e.onCreate=t.onCreate),"function"==typeof t.onSelect&&(e.onSelect=t.onSelect),a(this,"_on",e)}}validateSelected(t){l(this,"_selected",t,{hooks:{beforePatch:this.syncSelectedAndTabs}})}validateTabs(t){r(this,"_tabs",(t=>"object"==typeof t&&null!==t&&"string"==typeof t._label&&t._label.length>0),t,void 0,{hooks:{beforePatch:this.syncSelectedAndTabs,afterPatch:this.refreshTabPanels}}),d("KolTabs",this.state._tabs.length)}componentWillLoad(){this.validateAlign(this._align),this.validateLabel(this._label),this.validateOn(this._on),this.validateSelected(this._selected),this.validateTabs(this._tabs),this.validateBehavior(this._behavior),this.validateHasCreateButton(this._hasCreateButton)}componentDidRender(){this.refreshTabPanels()}focusTabById(t){if(this.tabPanelsElement){const e=h(`button#${this.state._label.replace(/\s/g,"-")}-tab-${t}`,this.tabPanelsElement);null==e||e.focus()}}onSelect(t,e){var n,a;null===(a=null===(n=this._on)||void 0===n?void 0:n.onSelect)||void 0===a||a.call(n,t,e),this.host&&m(this.host,g.select,e),this.focusTabById(e)}get host(){return e(this)}static get watchers(){return{_align:["validateAlign"],_behavior:["validateBehavior"],_hasCreateButton:["validateHasCreateButton"],_label:["validateLabel"],_on:["validateOn"],_selected:["validateSelected"],_tabs:["validateTabs"]}}};x.style={default:w};export{x as kol_tabs};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["tabBehaviorPropTypeOptions","validateTabBehavior","component","value","watchValidator","includes","Set","join","validateHasCreateButton","watchBoolean","defaultStyleCss","KolTabs","constructor","hostRef","this","onCreateLabel","translate","nextPossibleTabIndex","tabs","offset","step","nextOffset","length","_disabled","prevPossibleTabIndex","onKeyDown","event","key","KeyboardKey","ArrowRight","goToNextTab","ArrowLeft","goToPreviousTab","Space","Enter","activateFocusedTab","onClickSelect","index","selectNextTabEvent","onMouseDown","preventDefault","callbacks","onClick","catchTabPanelHost","el","tabPanelHost","_align","_hasCreateButton","_selected","state","_label","_tabs","selectNextNotDisabledTab","selected","upOrDown","initialSelected","Array","isArray","devHint","syncSelectedAndTabs","nextValue","nextState","_component","set","refreshTabPanels","firstChild","removeChild","i","_a","div","document","createElement","setAttribute","replace","slot","appendChild","_b","HTMLCollection","_c","host","children","_d","updateVisiblePanel","from","forEach","child","removeAttribute","onCreate","_on","call","dispatchDomEvent","KolEvent","create","onBlur","currentFocusIndex","undefined","getCurrentFocusIndex","getKeyboardTabChangeMode","_behavior","nextFocusIndex","onSelect","nextTabIndex","changeMode","focusTabById","tab","renderButtonGroup","h","class","role","map","button","KolButtonWcTag","_icons","_hideLabel","_tabIndex","_tooltipAlign","_buttonVariant","_customClass","_ariaControls","_ariaSelected","_id","_role","_value","render","ref","tabPanelsElement","clsx","validateAlign","validateBehavior","validateLabel","required","validateOn","setState","validateSelected","watchNumber","hooks","beforePatch","validateTabs","watchJsonArrayString","item","afterPatch","uiUxHintMillerscheZahl","componentWillLoad","componentDidRender","koliBriQuerySelector","focus","select"],"sources":["src/schema/props/tab-behavior.ts","src/schema/props/has-create-button.ts","src/components/tabs/style.scss?tag=kol-tabs&mode=default&encapsulation=shadow","src/components/tabs/shadow.tsx"],"sourcesContent":["/* types */\nimport type { Generic } from 'adopted-style-sheets';\nimport { watchValidator } from '../utils';\n\nconst tabBehaviorPropTypeOptions = ['select-automatic', 'select-manual'] as const;\nexport type TabBehaviorPropType = (typeof tabBehaviorPropTypeOptions)[number];\n\n/**\n * Defines which behavior is active.\n */\nexport type PropTabBehavior = {\n\tbehavior: TabBehaviorPropType;\n};\n\n/* validator */\nexport const validateTabBehavior = (component: Generic.Element.Component, value?: TabBehaviorPropType): void => {\n\twatchValidator(\n\t\tcomponent,\n\t\t`_behavior`,\n\t\t(value) => typeof value === 'string' && tabBehaviorPropTypeOptions.includes(value),\n\t\tnew Set([`KoliBriTabBehavior {${tabBehaviorPropTypeOptions.join(', ')}`]),\n\t\tvalue,\n\t);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean } from '../utils';\n\n/* types */\nexport type HasCreateButtonPropType = boolean;\n\n/**\n * Defines whether the element has a create button.\n */\nexport type PropHasCreateButton = {\n\thasCreateButton: HasCreateButtonPropType;\n};\n\n/* validator */\nexport const validateHasCreateButton = (component: Generic.Element.Component, value?: HasCreateButtonPropType): void => {\n\twatchBoolean(component, '_hasCreateButton', value);\n};\n","@use '../@shared/mixins' as *;\n@use '../../styles/global' as *;\n@use '../host-display-block' as *;\n@use '../tooltip/style.scss' as *;\n\n@layer kol-component {\n\t.kol-tabs {\n\t\tdisplay: var(--display);\n\t\tgrid-template-columns: var(--grid-template-columns);\n\t\tgrid-template-rows: var(--grid-template-rows);\n\n\t\t&--align-right {\n\t\t\t--display: grid;\n\t\t\t--grid-template-columns: 1fr auto;\n\n\t\t\t--button-group-flex-direction: column;\n\t\t\t--button-group-order: 2;\n\t\t}\n\n\t\t&--align-left {\n\t\t\t--display: grid;\n\t\t\t--grid-template-columns: auto 1fr;\n\n\t\t\t--button-group-flex-direction: column;\n\t\t\t--button-group-order: 0;\n\t\t}\n\n\t\t&--align-bottom {\n\t\t\t--display: grid;\n\t\t\t--grid-template-rows: 1fr auto;\n\n\t\t\t--button-group-order: 2;\n\t\t}\n\n\t\t&__tabs-align-top {\n\t\t\t--display: grid;\n\t\t\t--grid-template-rows: auto 1fr;\n\n\t\t\t--button-group-order: 0;\n\t\t}\n\n\t\t&__content {\n\t\t\toverflow: auto;\n\t\t}\n\n\t\t&__button-group {\n\t\t\tdisplay: flex;\n\t\t\torder: var(--button-group-order);\n\n\t\t\tflex-direction: var(--button-group-flex-direction);\n\t\t\tflex-wrap: wrap;\n\n\t\t\t.kol-button {\n\t\t\t\tborder-bottom-color: transparent;\n\t\t\t\tdisplay: block;\n\t\t\t\tborder-bottom-style: solid;\n\t\t\t}\n\t\t}\n\n\t\t&__panel {\n\t\t\theight: 100%;\n\t\t}\n\t}\n}\n","import type {\n\tAlignPropType,\n\tButtonCallbacksPropType,\n\tKoliBriTabsCallbacks,\n\tLabelPropType,\n\tStencilUnknown,\n\tStringified,\n\tTabBehaviorPropType,\n\tTabButtonProps,\n\tTabsAPI,\n\tTabsStates,\n} from '../../schema';\nimport {\n\tdevHint,\n\tkoliBriQuerySelector,\n\tsetState,\n\tuiUxHintMillerscheZahl,\n\tvalidateAlign,\n\tvalidateLabel,\n\tvalidateTabBehavior,\n\twatchJsonArrayString,\n\twatchNumber,\n} from '../../schema';\nimport type { JSX } from '@stencil/core';\nimport { Component, Element, h, Prop, State, Watch } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport type { Generic } from 'adopted-style-sheets';\nimport { KolButtonWcTag } from '../../core/component-names';\nimport { KeyboardKey } from '../../schema/enums';\nimport { dispatchDomEvent, KolEvent } from '../../utils/events';\nimport clsx from 'clsx';\nimport type { HasCreateButtonPropType } from '../../schema/props/has-create-button';\nimport { validateHasCreateButton } from '../../schema/props/has-create-button';\n// https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-2/tabs.html\n\n@Component({\n\ttag: 'kol-tabs',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolTabs implements TabsAPI {\n\t@Element() private readonly host?: HTMLKolTabsElement;\n\tprivate tabPanelsElement?: HTMLElement;\n\tprivate onCreateLabel = `${translate('kol-new')} …`;\n\tprivate currentFocusIndex: number | undefined;\n\n\tprivate nextPossibleTabIndex = (tabs: TabButtonProps[], offset: number, step = 1): number => {\n\t\tconst nextOffset = offset + step;\n\n\t\tif (nextOffset < tabs.length) {\n\t\t\tif (tabs[nextOffset]._disabled) {\n\t\t\t\treturn this.nextPossibleTabIndex(tabs, offset, step + 1);\n\t\t\t}\n\t\t\treturn nextOffset;\n\t\t}\n\n\t\treturn offset;\n\t};\n\n\tprivate prevPossibleTabIndex = (tabs: TabButtonProps[], offset: number, step = 1): number => {\n\t\tconst nextOffset = offset - step;\n\n\t\tif (nextOffset >= 0) {\n\t\t\tif (tabs[nextOffset]._disabled) {\n\t\t\t\treturn this.prevPossibleTabIndex(tabs, offset, step + 1);\n\t\t\t}\n\t\t\treturn nextOffset;\n\t\t}\n\n\t\treturn offset;\n\t};\n\n\tprivate onKeyDown = (event: KeyboardEvent) => {\n\t\tswitch (event.key as KeyboardKey) {\n\t\t\tcase KeyboardKey.ArrowRight:\n\t\t\t\tthis.goToNextTab(event);\n\t\t\t\tbreak;\n\t\t\tcase KeyboardKey.ArrowLeft:\n\t\t\t\tthis.goToPreviousTab(event);\n\t\t\t\tbreak;\n\t\t\tcase KeyboardKey.Space:\n\t\t\tcase KeyboardKey.Enter:\n\t\t\t\tthis.activateFocusedTab(event);\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\tprivate getCurrentFocusIndex(): number {\n\t\tif (typeof this.currentFocusIndex === 'number') {\n\t\t\treturn this.currentFocusIndex;\n\t\t}\n\n\t\treturn this.state._selected;\n\t}\n\n\tprivate getKeyboardTabChangeMode(): 'selectFocusOnly' | 'activateCompletely' {\n\t\tif (this._behavior === 'select-manual') {\n\t\t\treturn 'selectFocusOnly';\n\t\t}\n\n\t\treturn 'activateCompletely';\n\t}\n\n\tprivate goToNextTab(event: KeyboardEvent) {\n\t\tconst nextFocusIndex = this.nextPossibleTabIndex(this.state._tabs, this.getCurrentFocusIndex());\n\t\tthis.selectNextTabEvent(event, nextFocusIndex, this.getKeyboardTabChangeMode());\n\t}\n\n\tprivate goToPreviousTab(event: KeyboardEvent) {\n\t\tconst nextFocusIndex = this.prevPossibleTabIndex(this.state._tabs, this.getCurrentFocusIndex());\n\t\tthis.selectNextTabEvent(event, nextFocusIndex, this.getKeyboardTabChangeMode());\n\t}\n\n\tprivate activateFocusedTab(event: KeyboardEvent) {\n\t\tif (typeof this.currentFocusIndex === 'number') {\n\t\t\tthis.onSelect(event, this.currentFocusIndex);\n\t\t}\n\t}\n\n\tprivate readonly onClickSelect = (event: MouseEvent, index: number): void => {\n\t\tthis.selectNextTabEvent(event, index);\n\t};\n\n\tprivate selectNextTabEvent(\n\t\tevent: KeyboardEvent | MouseEvent,\n\t\tnextTabIndex: number,\n\t\tchangeMode: 'selectFocusOnly' | 'activateCompletely' = 'activateCompletely',\n\t): void {\n\t\tthis.currentFocusIndex = nextTabIndex;\n\n\t\tthis.focusTabById(nextTabIndex);\n\n\t\tif (changeMode === 'activateCompletely') {\n\t\t\tthis._selected = nextTabIndex;\n\n\t\t\tconst tab = this.state._tabs[nextTabIndex];\n\t\t\ttab._on?.onSelect?.(event, nextTabIndex);\n\n\t\t\tthis.onSelect(event, nextTabIndex);\n\t\t}\n\t}\n\n\tprivate readonly onMouseDown = (event: Event): void => {\n\t\tevent.preventDefault();\n\t};\n\n\tprivate readonly callbacks: ButtonCallbacksPropType<number> = {\n\t\tonClick: this.onClickSelect,\n\t\tonMouseDown: this.onMouseDown,\n\t};\n\n\tprivate renderButtonGroup() {\n\t\treturn (\n\t\t\t// Rule is disabled, because KolButtonWc is focusable.\n\t\t\t// eslint-disable-next-line jsx-a11y/interactive-supports-focus\n\t\t\t<div aria-label={this.state._label} class=\"kol-tabs__button-group\" role=\"tablist\" onKeyDown={this.onKeyDown} onBlur={this.onBlur}>\n\t\t\t\t{this.state._tabs.map((button: TabButtonProps, index: number) => (\n\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\t_disabled={button._disabled}\n\t\t\t\t\t\t_icons={button._icons}\n\t\t\t\t\t\t_hideLabel={button._hideLabel}\n\t\t\t\t\t\t_label={button._label} // TODO: ariaLabel-Konzept prüfen\n\t\t\t\t\t\t_on={this.callbacks as ButtonCallbacksPropType<StencilUnknown>}\n\t\t\t\t\t\t_tabIndex={this.state._selected === index ? 0 : -1}\n\t\t\t\t\t\t_tooltipAlign={button._tooltipAlign}\n\t\t\t\t\t\t_buttonVariant={this.state._selected === index ? 'custom' : undefined}\n\t\t\t\t\t\t_customClass={this.state._selected === index ? 'selected' : undefined}\n\t\t\t\t\t\t_ariaControls={`tabpanel-${index}`}\n\t\t\t\t\t\t_ariaSelected={this.state._selected === index}\n\t\t\t\t\t\t_id={`${this.state._label.replace(/\\s/g, '-')}-tab-${index}`}\n\t\t\t\t\t\t_role=\"tab\"\n\t\t\t\t\t\t_value={index}\n\t\t\t\t\t></KolButtonWcTag>\n\t\t\t\t))}\n\t\t\t\t{this.state._hasCreateButton && (\n\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\tclass=\"kol-tabs__button-create\"\n\t\t\t\t\t\t_label={this.onCreateLabel}\n\t\t\t\t\t\t_on={{\n\t\t\t\t\t\t\tonClick: this.onCreate,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\t_icons=\"codicon codicon-plus\"\n\t\t\t\t\t\tdata-testid=\"tabs-create-button\"\n\t\t\t\t\t></KolButtonWcTag>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate tabPanelHost?: HTMLDivElement;\n\n\tprivate readonly catchTabPanelHost = (el?: HTMLDivElement) => {\n\t\tthis.tabPanelHost = el;\n\t};\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={(el) => {\n\t\t\t\t\tthis.tabPanelsElement = el as HTMLElement;\n\t\t\t\t}}\n\t\t\t\tclass={clsx('kol-tabs', `kol-tabs--align-${this.state._align}`)}\n\t\t\t>\n\t\t\t\t{this.renderButtonGroup()}\n\t\t\t\t<div class=\"kol-tabs__content\" ref={this.catchTabPanelHost}>\n\t\t\t\t\t{/* <slot /> */}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\t/**\n\t * Defines the visual orientation of the component.\n\t */\n\t@Prop() public _align?: AlignPropType = 'top';\n\n\t/**\n\t * Defines which behavior is active.\n\t */\n\t@Prop() public _behavior?: TabBehaviorPropType;\n\n\t/**\n\t * Defines whether the element has a create button.\n\t */\n\t@Prop() public _hasCreateButton?: HasCreateButtonPropType = false;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label!: LabelPropType;\n\n\t/**\n\t * Gibt die Liste der Callback-Funktionen an, die auf Events aufgerufen werden sollen.\n\t */\n\t@Prop() public _on?: KoliBriTabsCallbacks;\n\n\t/**\n\t * Defines which tab is active.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _selected?: number = 0;\n\n\t/**\n\t * Defines the tab captions.\n\t */\n\t@Prop() public _tabs!: Stringified<TabButtonProps[]>;\n\n\t@State() public state: TabsStates = {\n\t\t_align: 'top',\n\t\t_label: '', // ⚠ required\n\t\t_selected: 0,\n\t\t_tabs: [],\n\t};\n\n\tprivate selectNextNotDisabledTab = (selected: number, tabs: TabButtonProps[], upOrDown = true, initialSelected?: number): number => {\n\t\tif (selected > tabs.length - 1) {\n\t\t\tselected = tabs.length - 1;\n\t\t}\n\t\tif (selected < 0) {\n\t\t\tselected = 0;\n\t\t}\n\t\tif (Array.isArray(tabs) && tabs[selected]) {\n\t\t\tif (tabs[selected]._disabled) {\n\t\t\t\tif (upOrDown === true) {\n\t\t\t\t\tif (selected < tabs.length - 1) {\n\t\t\t\t\t\treturn this.selectNextNotDisabledTab(selected + 1, tabs, true, initialSelected || selected);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tselected = initialSelected || selected;\n\t\t\t\t\t\tupOrDown = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (upOrDown === false) {\n\t\t\t\t\tif (selected > 0) {\n\t\t\t\t\t\treturn this.selectNextNotDisabledTab(selected - 1, tabs, false, initialSelected || selected);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdevHint(`[KolTabs] All tabs are disabled, and therefore no tab can be displayed.`);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn selected;\n\t};\n\n\tprivate syncSelectedAndTabs = (nextValue: unknown, nextState: Map<string, unknown>, _component: Generic.Element.Component, key: string) => {\n\t\tlet selected: number;\n\t\tif (key === '_selected') {\n\t\t\tselected = nextValue as number;\n\t\t} else {\n\t\t\tselected = this.state._selected;\n\t\t}\n\t\tlet tabs: TabButtonProps[];\n\t\tif (key === '_tabs') {\n\t\t\ttabs = nextValue as TabButtonProps[];\n\t\t} else {\n\t\t\ttabs = this.state._tabs;\n\t\t}\n\t\tif (tabs.length > 0) {\n\t\t\tnextState.set('_selected', this.selectNextNotDisabledTab(selected, tabs));\n\t\t}\n\t};\n\n\t@Watch('_align')\n\tpublic validateAlign(value?: AlignPropType) {\n\t\tvalidateAlign(this, value);\n\t}\n\n\t@Watch('_behavior')\n\tpublic validateBehavior(value?: TabBehaviorPropType) {\n\t\tvalidateTabBehavior(this, value);\n\t}\n\n\t@Watch('_hasCreateButton')\n\tpublic validateHasCreateButton(value?: HasCreateButtonPropType) {\n\t\tvalidateHasCreateButton(this, value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelPropType): void {\n\t\tvalidateLabel(this, value, {\n\t\t\trequired: true,\n\t\t});\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: KoliBriTabsCallbacks): void {\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tconst callbacks: KoliBriTabsCallbacks = {};\n\t\t\tif (typeof value.onCreate === 'function') {\n\t\t\t\tcallbacks.onCreate = value.onCreate;\n\t\t\t}\n\t\t\tif (typeof value.onSelect === 'function') {\n\t\t\t\tcallbacks.onSelect = value.onSelect;\n\t\t\t}\n\t\t\tsetState<KoliBriTabsCallbacks>(this, '_on', callbacks);\n\t\t}\n\t}\n\n\t@Watch('_selected')\n\tpublic validateSelected(value?: number): void {\n\t\twatchNumber(this, '_selected', value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.syncSelectedAndTabs,\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_tabs')\n\tpublic validateTabs(value?: Stringified<TabButtonProps[]>): void {\n\t\twatchJsonArrayString(\n\t\t\tthis,\n\t\t\t'_tabs',\n\t\t\t(item: TabButtonProps) => typeof item === 'object' && item !== null && typeof item._label === 'string' && item._label.length > 0,\n\t\t\tvalue,\n\t\t\tundefined,\n\t\t\t{\n\t\t\t\thooks: {\n\t\t\t\t\tbeforePatch: this.syncSelectedAndTabs,\n\t\t\t\t\tafterPatch: this.refreshTabPanels,\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\t\tuiUxHintMillerscheZahl('KolTabs', this.state._tabs.length);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAlign(this._align);\n\t\tthis.validateLabel(this._label);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateSelected(this._selected);\n\t\tthis.validateTabs(this._tabs);\n\t\tthis.validateBehavior(this._behavior);\n\t\tthis.validateHasCreateButton(this._hasCreateButton);\n\t}\n\n\tprivate refreshTabPanels = () => {\n\t\tif (!this.tabPanelHost) return;\n\t\t// Clear existing panels\n\t\twhile (this.tabPanelHost.firstChild) {\n\t\t\tthis.tabPanelHost.removeChild(this.tabPanelHost.firstChild);\n\t\t}\n\t\tfor (let i = 0; i < this.state._tabs?.length; i++) {\n\t\t\tconst div = document.createElement('div');\n\t\t\tdiv.setAttribute('aria-labelledby', `${this.state._label.replace(/\\s/g, '-')}-tab-${i}`);\n\t\t\tdiv.setAttribute('id', `tabpanel-${i}`);\n\t\t\tdiv.setAttribute('role', 'tabpanel');\n\t\t\tdiv.setAttribute('hidden', '');\n\t\t\tconst slot = document.createElement('slot');\n\t\t\tslot.setAttribute('name', `tabpanel-slot-${i}`);\n\t\t\tdiv.appendChild(slot);\n\t\t\tthis.tabPanelHost?.appendChild(div);\n\n\t\t\tif (typeof HTMLCollection !== 'undefined' && this.host?.children instanceof HTMLCollection && this.host?.children[i] /* SSR instanceof HTMLElement */) {\n\t\t\t\tthis.host.children[i].setAttribute('slot', `tabpanel-slot-${i}`);\n\t\t\t}\n\t\t}\n\t\tthis.updateVisiblePanel();\n\t};\n\n\tprivate updateVisiblePanel = () => {\n\t\tif (!this.tabPanelHost) return;\n\t\tArray.from(this.tabPanelHost.children).forEach((child, i) => {\n\t\t\tif (i === this.state._selected) {\n\t\t\t\tchild.removeAttribute('hidden');\n\t\t\t} else {\n\t\t\t\tchild.setAttribute('hidden', '');\n\t\t\t}\n\t\t});\n\t};\n\n\tpublic componentDidRender(): void {\n\t\tthis.refreshTabPanels();\n\t}\n\n\tprivate focusTabById(index: number): void {\n\t\tif (this.tabPanelsElement /* SSR instanceof HTMLElement */) {\n\t\t\tconst button: HTMLElement | null = koliBriQuerySelector(`button#${this.state._label.replace(/\\s/g, '-')}-tab-${index}`, this.tabPanelsElement);\n\t\t\tbutton?.focus();\n\t\t}\n\t}\n\n\tprivate onSelect(event: CustomEvent | KeyboardEvent | MouseEvent | PointerEvent, index: number): void {\n\t\tthis._on?.onSelect?.(event, index);\n\t\tif (this.host) {\n\t\t\tdispatchDomEvent(this.host, KolEvent.select, index);\n\t\t}\n\n\t\tthis.focusTabById(index);\n\t}\n\n\tprivate onCreate = (event: Event) => {\n\t\tevent.preventDefault();\n\t\tthis.state._on?.onCreate?.(event);\n\t\tif (this.host) {\n\t\t\tdispatchDomEvent(this.host, KolEvent.create);\n\t\t}\n\t};\n\n\tprivate onBlur = () => {\n\t\tthis.currentFocusIndex = undefined;\n\t};\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["tabBehaviorPropTypeOptions","validateTabBehavior","component","value","watchValidator","includes","Set","join","validateHasCreateButton","watchBoolean","defaultStyleCss","KolTabs","constructor","hostRef","this","onCreateLabel","translate","nextPossibleTabIndex","tabs","offset","step","nextOffset","length","_disabled","prevPossibleTabIndex","onKeyDown","event","key","KeyboardKey","ArrowRight","goToNextTab","ArrowLeft","goToPreviousTab","Space","Enter","activateFocusedTab","onClickSelect","index","selectNextTabEvent","onMouseDown","preventDefault","callbacks","onClick","catchTabPanelHost","el","tabPanelHost","_align","_hasCreateButton","_selected","state","_label","_tabs","selectNextNotDisabledTab","selected","upOrDown","initialSelected","Array","isArray","devHint","syncSelectedAndTabs","nextValue","nextState","_component","set","refreshTabPanels","firstChild","removeChild","i","_a","div","document","createElement","setAttribute","replace","slot","appendChild","_b","HTMLCollection","_c","host","children","_d","updateVisiblePanel","from","forEach","child","removeAttribute","onCreate","_on","call","dispatchDomEvent","KolEvent","create","onBlur","currentFocusIndex","undefined","getCurrentFocusIndex","getKeyboardTabChangeMode","_behavior","nextFocusIndex","onSelect","nextTabIndex","changeMode","focusTabById","tab","renderButtonGroup","h","class","role","map","button","KolButtonWcTag","_icons","_hideLabel","_tabIndex","_tooltipAlign","_buttonVariant","_customClass","_ariaControls","_ariaSelected","_id","_role","_value","render","ref","tabPanelsElement","clsx","validateAlign","validateBehavior","validateLabel","required","validateOn","setState","validateSelected","watchNumber","hooks","beforePatch","validateTabs","watchJsonArrayString","item","afterPatch","uiUxHintMillerscheZahl","componentWillLoad","componentDidRender","koliBriQuerySelector","focus","select"],"sources":["src/schema/props/tab-behavior.ts","src/schema/props/has-create-button.ts","src/components/tabs/style.scss?tag=kol-tabs&mode=default&encapsulation=shadow","src/components/tabs/shadow.tsx"],"sourcesContent":["/* types */\nimport type { Generic } from 'adopted-style-sheets';\nimport { watchValidator } from '../utils';\n\nconst tabBehaviorPropTypeOptions = ['select-automatic', 'select-manual'] as const;\nexport type TabBehaviorPropType = (typeof tabBehaviorPropTypeOptions)[number];\n\n/**\n * Defines which behavior is active.\n */\nexport type PropTabBehavior = {\n\tbehavior: TabBehaviorPropType;\n};\n\n/* validator */\nexport const validateTabBehavior = (component: Generic.Element.Component, value?: TabBehaviorPropType): void => {\n\twatchValidator(\n\t\tcomponent,\n\t\t`_behavior`,\n\t\t(value) => typeof value === 'string' && tabBehaviorPropTypeOptions.includes(value),\n\t\tnew Set([`KoliBriTabBehavior {${tabBehaviorPropTypeOptions.join(', ')}`]),\n\t\tvalue,\n\t);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean } from '../utils';\n\n/* types */\nexport type HasCreateButtonPropType = boolean;\n\n/**\n * Defines whether the element has a create button.\n */\nexport type PropHasCreateButton = {\n\thasCreateButton: HasCreateButtonPropType;\n};\n\n/* validator */\nexport const validateHasCreateButton = (component: Generic.Element.Component, value?: HasCreateButtonPropType): void => {\n\twatchBoolean(component, '_hasCreateButton', value);\n};\n","@use '../@shared/mixins' as *;\n@use '../../styles/global' as *;\n@use '../host-display-block' as *;\n@use '../tooltip/style.scss' as *;\n\n@layer kol-component {\n\t.kol-tabs {\n\t\tdisplay: var(--display);\n\t\tgrid-template-columns: var(--grid-template-columns);\n\t\tgrid-template-rows: var(--grid-template-rows);\n\n\t\t&--align-right {\n\t\t\t--display: grid;\n\t\t\t--grid-template-columns: 1fr auto;\n\n\t\t\t--button-group-flex-direction: column;\n\t\t\t--button-group-order: 2;\n\t\t}\n\n\t\t&--align-left {\n\t\t\t--display: grid;\n\t\t\t--grid-template-columns: auto 1fr;\n\n\t\t\t--button-group-flex-direction: column;\n\t\t\t--button-group-order: 0;\n\t\t}\n\n\t\t&--align-bottom {\n\t\t\t--display: grid;\n\t\t\t--grid-template-rows: 1fr auto;\n\n\t\t\t--button-group-order: 2;\n\t\t}\n\n\t\t&__tabs-align-top {\n\t\t\t--display: grid;\n\t\t\t--grid-template-rows: auto 1fr;\n\n\t\t\t--button-group-order: 0;\n\t\t}\n\n\t\t&__button-group {\n\t\t\tdisplay: flex;\n\t\t\torder: var(--button-group-order);\n\n\t\t\tflex-direction: var(--button-group-flex-direction);\n\t\t\tflex-wrap: wrap;\n\n\t\t\t.kol-button {\n\t\t\t\tborder-bottom-color: transparent;\n\t\t\t\tdisplay: block;\n\t\t\t\tborder-bottom-style: solid;\n\t\t\t}\n\t\t}\n\n\t\t&__panel {\n\t\t\theight: 100%;\n\t\t}\n\t}\n}\n","import type {\n\tAlignPropType,\n\tButtonCallbacksPropType,\n\tKoliBriTabsCallbacks,\n\tLabelPropType,\n\tStencilUnknown,\n\tStringified,\n\tTabBehaviorPropType,\n\tTabButtonProps,\n\tTabsAPI,\n\tTabsStates,\n} from '../../schema';\nimport {\n\tdevHint,\n\tkoliBriQuerySelector,\n\tsetState,\n\tuiUxHintMillerscheZahl,\n\tvalidateAlign,\n\tvalidateLabel,\n\tvalidateTabBehavior,\n\twatchJsonArrayString,\n\twatchNumber,\n} from '../../schema';\nimport type { JSX } from '@stencil/core';\nimport { Component, Element, h, Prop, State, Watch } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport type { Generic } from 'adopted-style-sheets';\nimport { KolButtonWcTag } from '../../core/component-names';\nimport { KeyboardKey } from '../../schema/enums';\nimport { dispatchDomEvent, KolEvent } from '../../utils/events';\nimport clsx from 'clsx';\nimport type { HasCreateButtonPropType } from '../../schema/props/has-create-button';\nimport { validateHasCreateButton } from '../../schema/props/has-create-button';\n// https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-2/tabs.html\n\n@Component({\n\ttag: 'kol-tabs',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolTabs implements TabsAPI {\n\t@Element() private readonly host?: HTMLKolTabsElement;\n\tprivate tabPanelsElement?: HTMLElement;\n\tprivate onCreateLabel = `${translate('kol-new')} …`;\n\tprivate currentFocusIndex: number | undefined;\n\n\tprivate nextPossibleTabIndex = (tabs: TabButtonProps[], offset: number, step = 1): number => {\n\t\tconst nextOffset = offset + step;\n\n\t\tif (nextOffset < tabs.length) {\n\t\t\tif (tabs[nextOffset]._disabled) {\n\t\t\t\treturn this.nextPossibleTabIndex(tabs, offset, step + 1);\n\t\t\t}\n\t\t\treturn nextOffset;\n\t\t}\n\n\t\treturn offset;\n\t};\n\n\tprivate prevPossibleTabIndex = (tabs: TabButtonProps[], offset: number, step = 1): number => {\n\t\tconst nextOffset = offset - step;\n\n\t\tif (nextOffset >= 0) {\n\t\t\tif (tabs[nextOffset]._disabled) {\n\t\t\t\treturn this.prevPossibleTabIndex(tabs, offset, step + 1);\n\t\t\t}\n\t\t\treturn nextOffset;\n\t\t}\n\n\t\treturn offset;\n\t};\n\n\tprivate onKeyDown = (event: KeyboardEvent) => {\n\t\tswitch (event.key as KeyboardKey) {\n\t\t\tcase KeyboardKey.ArrowRight:\n\t\t\t\tthis.goToNextTab(event);\n\t\t\t\tbreak;\n\t\t\tcase KeyboardKey.ArrowLeft:\n\t\t\t\tthis.goToPreviousTab(event);\n\t\t\t\tbreak;\n\t\t\tcase KeyboardKey.Space:\n\t\t\tcase KeyboardKey.Enter:\n\t\t\t\tthis.activateFocusedTab(event);\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\tprivate getCurrentFocusIndex(): number {\n\t\tif (typeof this.currentFocusIndex === 'number') {\n\t\t\treturn this.currentFocusIndex;\n\t\t}\n\n\t\treturn this.state._selected;\n\t}\n\n\tprivate getKeyboardTabChangeMode(): 'selectFocusOnly' | 'activateCompletely' {\n\t\tif (this._behavior === 'select-manual') {\n\t\t\treturn 'selectFocusOnly';\n\t\t}\n\n\t\treturn 'activateCompletely';\n\t}\n\n\tprivate goToNextTab(event: KeyboardEvent) {\n\t\tconst nextFocusIndex = this.nextPossibleTabIndex(this.state._tabs, this.getCurrentFocusIndex());\n\t\tthis.selectNextTabEvent(event, nextFocusIndex, this.getKeyboardTabChangeMode());\n\t}\n\n\tprivate goToPreviousTab(event: KeyboardEvent) {\n\t\tconst nextFocusIndex = this.prevPossibleTabIndex(this.state._tabs, this.getCurrentFocusIndex());\n\t\tthis.selectNextTabEvent(event, nextFocusIndex, this.getKeyboardTabChangeMode());\n\t}\n\n\tprivate activateFocusedTab(event: KeyboardEvent) {\n\t\tif (typeof this.currentFocusIndex === 'number') {\n\t\t\tthis.onSelect(event, this.currentFocusIndex);\n\t\t}\n\t}\n\n\tprivate readonly onClickSelect = (event: MouseEvent, index: number): void => {\n\t\tthis.selectNextTabEvent(event, index);\n\t};\n\n\tprivate selectNextTabEvent(\n\t\tevent: KeyboardEvent | MouseEvent,\n\t\tnextTabIndex: number,\n\t\tchangeMode: 'selectFocusOnly' | 'activateCompletely' = 'activateCompletely',\n\t): void {\n\t\tthis.currentFocusIndex = nextTabIndex;\n\n\t\tthis.focusTabById(nextTabIndex);\n\n\t\tif (changeMode === 'activateCompletely') {\n\t\t\tthis._selected = nextTabIndex;\n\n\t\t\tconst tab = this.state._tabs[nextTabIndex];\n\t\t\ttab._on?.onSelect?.(event, nextTabIndex);\n\n\t\t\tthis.onSelect(event, nextTabIndex);\n\t\t}\n\t}\n\n\tprivate readonly onMouseDown = (event: Event): void => {\n\t\tevent.preventDefault();\n\t};\n\n\tprivate readonly callbacks: ButtonCallbacksPropType<number> = {\n\t\tonClick: this.onClickSelect,\n\t\tonMouseDown: this.onMouseDown,\n\t};\n\n\tprivate renderButtonGroup() {\n\t\treturn (\n\t\t\t// Rule is disabled, because KolButtonWc is focusable.\n\t\t\t// eslint-disable-next-line jsx-a11y/interactive-supports-focus\n\t\t\t<div aria-label={this.state._label} class=\"kol-tabs__button-group\" role=\"tablist\" onKeyDown={this.onKeyDown} onBlur={this.onBlur}>\n\t\t\t\t{this.state._tabs.map((button: TabButtonProps, index: number) => (\n\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\t_disabled={button._disabled}\n\t\t\t\t\t\t_icons={button._icons}\n\t\t\t\t\t\t_hideLabel={button._hideLabel}\n\t\t\t\t\t\t_label={button._label} // TODO: ariaLabel-Konzept prüfen\n\t\t\t\t\t\t_on={this.callbacks as ButtonCallbacksPropType<StencilUnknown>}\n\t\t\t\t\t\t_tabIndex={this.state._selected === index ? 0 : -1}\n\t\t\t\t\t\t_tooltipAlign={button._tooltipAlign}\n\t\t\t\t\t\t_buttonVariant={this.state._selected === index ? 'custom' : undefined}\n\t\t\t\t\t\t_customClass={this.state._selected === index ? 'selected' : undefined}\n\t\t\t\t\t\t_ariaControls={`tabpanel-${index}`}\n\t\t\t\t\t\t_ariaSelected={this.state._selected === index}\n\t\t\t\t\t\t_id={`${this.state._label.replace(/\\s/g, '-')}-tab-${index}`}\n\t\t\t\t\t\t_role=\"tab\"\n\t\t\t\t\t\t_value={index}\n\t\t\t\t\t></KolButtonWcTag>\n\t\t\t\t))}\n\t\t\t\t{this.state._hasCreateButton && (\n\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\tclass=\"kol-tabs__button-create\"\n\t\t\t\t\t\t_label={this.onCreateLabel}\n\t\t\t\t\t\t_on={{\n\t\t\t\t\t\t\tonClick: this.onCreate,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\t_icons=\"codicon codicon-plus\"\n\t\t\t\t\t\tdata-testid=\"tabs-create-button\"\n\t\t\t\t\t></KolButtonWcTag>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate tabPanelHost?: HTMLDivElement;\n\n\tprivate readonly catchTabPanelHost = (el?: HTMLDivElement) => {\n\t\tthis.tabPanelHost = el;\n\t};\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={(el) => {\n\t\t\t\t\tthis.tabPanelsElement = el as HTMLElement;\n\t\t\t\t}}\n\t\t\t\tclass={clsx('kol-tabs', `kol-tabs--align-${this.state._align}`)}\n\t\t\t>\n\t\t\t\t{this.renderButtonGroup()}\n\t\t\t\t<div class=\"kol-tabs__content\" ref={this.catchTabPanelHost}>\n\t\t\t\t\t{/* <slot /> */}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\t/**\n\t * Defines the visual orientation of the component.\n\t */\n\t@Prop() public _align?: AlignPropType = 'top';\n\n\t/**\n\t * Defines which behavior is active.\n\t */\n\t@Prop() public _behavior?: TabBehaviorPropType;\n\n\t/**\n\t * Defines whether the element has a create button.\n\t */\n\t@Prop() public _hasCreateButton?: HasCreateButtonPropType = false;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label!: LabelPropType;\n\n\t/**\n\t * Gibt die Liste der Callback-Funktionen an, die auf Events aufgerufen werden sollen.\n\t */\n\t@Prop() public _on?: KoliBriTabsCallbacks;\n\n\t/**\n\t * Defines which tab is active.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _selected?: number = 0;\n\n\t/**\n\t * Defines the tab captions.\n\t */\n\t@Prop() public _tabs!: Stringified<TabButtonProps[]>;\n\n\t@State() public state: TabsStates = {\n\t\t_align: 'top',\n\t\t_label: '', // ⚠ required\n\t\t_selected: 0,\n\t\t_tabs: [],\n\t};\n\n\tprivate selectNextNotDisabledTab = (selected: number, tabs: TabButtonProps[], upOrDown = true, initialSelected?: number): number => {\n\t\tif (selected > tabs.length - 1) {\n\t\t\tselected = tabs.length - 1;\n\t\t}\n\t\tif (selected < 0) {\n\t\t\tselected = 0;\n\t\t}\n\t\tif (Array.isArray(tabs) && tabs[selected]) {\n\t\t\tif (tabs[selected]._disabled) {\n\t\t\t\tif (upOrDown === true) {\n\t\t\t\t\tif (selected < tabs.length - 1) {\n\t\t\t\t\t\treturn this.selectNextNotDisabledTab(selected + 1, tabs, true, initialSelected || selected);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tselected = initialSelected || selected;\n\t\t\t\t\t\tupOrDown = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (upOrDown === false) {\n\t\t\t\t\tif (selected > 0) {\n\t\t\t\t\t\treturn this.selectNextNotDisabledTab(selected - 1, tabs, false, initialSelected || selected);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdevHint(`[KolTabs] All tabs are disabled, and therefore no tab can be displayed.`);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn selected;\n\t};\n\n\tprivate syncSelectedAndTabs = (nextValue: unknown, nextState: Map<string, unknown>, _component: Generic.Element.Component, key: string) => {\n\t\tlet selected: number;\n\t\tif (key === '_selected') {\n\t\t\tselected = nextValue as number;\n\t\t} else {\n\t\t\tselected = this.state._selected;\n\t\t}\n\t\tlet tabs: TabButtonProps[];\n\t\tif (key === '_tabs') {\n\t\t\ttabs = nextValue as TabButtonProps[];\n\t\t} else {\n\t\t\ttabs = this.state._tabs;\n\t\t}\n\t\tif (tabs.length > 0) {\n\t\t\tnextState.set('_selected', this.selectNextNotDisabledTab(selected, tabs));\n\t\t}\n\t};\n\n\t@Watch('_align')\n\tpublic validateAlign(value?: AlignPropType) {\n\t\tvalidateAlign(this, value);\n\t}\n\n\t@Watch('_behavior')\n\tpublic validateBehavior(value?: TabBehaviorPropType) {\n\t\tvalidateTabBehavior(this, value);\n\t}\n\n\t@Watch('_hasCreateButton')\n\tpublic validateHasCreateButton(value?: HasCreateButtonPropType) {\n\t\tvalidateHasCreateButton(this, value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelPropType): void {\n\t\tvalidateLabel(this, value, {\n\t\t\trequired: true,\n\t\t});\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: KoliBriTabsCallbacks): void {\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tconst callbacks: KoliBriTabsCallbacks = {};\n\t\t\tif (typeof value.onCreate === 'function') {\n\t\t\t\tcallbacks.onCreate = value.onCreate;\n\t\t\t}\n\t\t\tif (typeof value.onSelect === 'function') {\n\t\t\t\tcallbacks.onSelect = value.onSelect;\n\t\t\t}\n\t\t\tsetState<KoliBriTabsCallbacks>(this, '_on', callbacks);\n\t\t}\n\t}\n\n\t@Watch('_selected')\n\tpublic validateSelected(value?: number): void {\n\t\twatchNumber(this, '_selected', value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.syncSelectedAndTabs,\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_tabs')\n\tpublic validateTabs(value?: Stringified<TabButtonProps[]>): void {\n\t\twatchJsonArrayString(\n\t\t\tthis,\n\t\t\t'_tabs',\n\t\t\t(item: TabButtonProps) => typeof item === 'object' && item !== null && typeof item._label === 'string' && item._label.length > 0,\n\t\t\tvalue,\n\t\t\tundefined,\n\t\t\t{\n\t\t\t\thooks: {\n\t\t\t\t\tbeforePatch: this.syncSelectedAndTabs,\n\t\t\t\t\tafterPatch: this.refreshTabPanels,\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\t\tuiUxHintMillerscheZahl('KolTabs', this.state._tabs.length);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAlign(this._align);\n\t\tthis.validateLabel(this._label);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateSelected(this._selected);\n\t\tthis.validateTabs(this._tabs);\n\t\tthis.validateBehavior(this._behavior);\n\t\tthis.validateHasCreateButton(this._hasCreateButton);\n\t}\n\n\tprivate refreshTabPanels = () => {\n\t\tif (!this.tabPanelHost) return;\n\t\t// Clear existing panels\n\t\twhile (this.tabPanelHost.firstChild) {\n\t\t\tthis.tabPanelHost.removeChild(this.tabPanelHost.firstChild);\n\t\t}\n\t\tfor (let i = 0; i < this.state._tabs?.length; i++) {\n\t\t\tconst div = document.createElement('div');\n\t\t\tdiv.setAttribute('aria-labelledby', `${this.state._label.replace(/\\s/g, '-')}-tab-${i}`);\n\t\t\tdiv.setAttribute('id', `tabpanel-${i}`);\n\t\t\tdiv.setAttribute('role', 'tabpanel');\n\t\t\tdiv.setAttribute('hidden', '');\n\t\t\tconst slot = document.createElement('slot');\n\t\t\tslot.setAttribute('name', `tabpanel-slot-${i}`);\n\t\t\tdiv.appendChild(slot);\n\t\t\tthis.tabPanelHost?.appendChild(div);\n\n\t\t\tif (typeof HTMLCollection !== 'undefined' && this.host?.children instanceof HTMLCollection && this.host?.children[i] /* SSR instanceof HTMLElement */) {\n\t\t\t\tthis.host.children[i].setAttribute('slot', `tabpanel-slot-${i}`);\n\t\t\t}\n\t\t}\n\t\tthis.updateVisiblePanel();\n\t};\n\n\tprivate updateVisiblePanel = () => {\n\t\tif (!this.tabPanelHost) return;\n\t\tArray.from(this.tabPanelHost.children).forEach((child, i) => {\n\t\t\tif (i === this.state._selected) {\n\t\t\t\tchild.removeAttribute('hidden');\n\t\t\t} else {\n\t\t\t\tchild.setAttribute('hidden', '');\n\t\t\t}\n\t\t});\n\t};\n\n\tpublic componentDidRender(): void {\n\t\tthis.refreshTabPanels();\n\t}\n\n\tprivate focusTabById(index: number): void {\n\t\tif (this.tabPanelsElement /* SSR instanceof HTMLElement */) {\n\t\t\tconst button: HTMLElement | null = koliBriQuerySelector(`button#${this.state._label.replace(/\\s/g, '-')}-tab-${index}`, this.tabPanelsElement);\n\t\t\tbutton?.focus();\n\t\t}\n\t}\n\n\tprivate onSelect(event: CustomEvent | KeyboardEvent | MouseEvent | PointerEvent, index: number): void {\n\t\tthis._on?.onSelect?.(event, index);\n\t\tif (this.host) {\n\t\t\tdispatchDomEvent(this.host, KolEvent.select, index);\n\t\t}\n\n\t\tthis.focusTabById(index);\n\t}\n\n\tprivate onCreate = (event: Event) => {\n\t\tevent.preventDefault();\n\t\tthis.state._on?.onCreate?.(event);\n\t\tif (this.host) {\n\t\t\tdispatchDomEvent(this.host, KolEvent.create);\n\t\t}\n\t};\n\n\tprivate onBlur = () => {\n\t\tthis.currentFocusIndex = undefined;\n\t};\n}\n"],"mappings":"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","ignoreList":[]}
|