@public-ui/components 4.5.0-rc.7 → 4.5.0-rc.8
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/assets/kolicons/kolicons.eot +0 -0
- package/assets/kolicons/kolicons.ttf +0 -0
- package/assets/kolicons/kolicons.woff +0 -0
- package/assets/kolicons/kolicons.woff2 +0 -0
- package/assets/kolicons/style.css +6 -6
- package/custom-elements.json +1 -1
- package/dist/cjs/{Heading-d30Feghg.js → Heading-yiwXjRrz.js} +3 -3
- package/dist/cjs/{Heading-d30Feghg.js.map → Heading-yiwXjRrz.js.map} +1 -1
- package/dist/cjs/{api-C8ZkIyx7.js → api-BDT5xkx5.js} +8 -8
- package/dist/cjs/{api-C8ZkIyx7.js.map → api-BDT5xkx5.js.map} +1 -1
- package/dist/cjs/{api-CRSjJs8P.js → api-BI1qXrGa.js} +12 -12
- package/dist/cjs/{api-CRSjJs8P.js.map → api-BI1qXrGa.js.map} +1 -1
- package/dist/cjs/{app-globals-B6wB2cXk.js → app-globals-DPVGNVgE.js} +4 -4
- package/dist/cjs/{app-globals-B6wB2cXk.js.map → app-globals-DPVGNVgE.js.map} +1 -1
- package/dist/cjs/{base-CyQnTxi6.js → base-B_M9Y7nD.js} +4 -4
- package/dist/cjs/{base-CyQnTxi6.js.map → base-B_M9Y7nD.js.map} +1 -1
- package/dist/cjs/{base-LmwA5h1k.js → base-CaQNXZrN.js} +5 -5
- package/dist/cjs/{base-LmwA5h1k.js.map → base-CaQNXZrN.js.map} +1 -1
- package/dist/cjs/{base-C3MDHUog.js → base-DlsemYqM.js} +4 -4
- package/dist/cjs/{base-C3MDHUog.js.map → base-DlsemYqM.js.map} +1 -1
- package/dist/cjs/{base-DgUZAiNc.js → base-FZ2Hemhr.js} +16 -16
- package/dist/cjs/{base-DgUZAiNc.js.map → base-FZ2Hemhr.js.map} +1 -1
- package/dist/cjs/{base-web-component-C-CwpVZw.js → base-web-component-BK8X1O8C.js} +5 -5
- package/dist/cjs/{base-web-component-C-CwpVZw.js.map → base-web-component-BK8X1O8C.js.map} +1 -1
- package/dist/cjs/{base-web-component-d2k3Mc9P.js → base-web-component-GLk66TOu.js} +7 -7
- package/dist/cjs/{base-web-component-d2k3Mc9P.js.map → base-web-component-GLk66TOu.js.map} +1 -1
- package/dist/cjs/{behavior-C-BdOoSN.js → behavior-BEaXHesG.js} +3 -3
- package/dist/cjs/{behavior-C-BdOoSN.js.map → behavior-BEaXHesG.js.map} +1 -1
- package/dist/cjs/{component-BairlFHi.js → component-3EZdZbDH.js} +3 -3
- package/dist/cjs/{component-BairlFHi.js.map → component-3EZdZbDH.js.map} +1 -1
- package/dist/cjs/{component-DaAVlb5U.js → component-B96XYPtn.js} +4 -4
- package/dist/cjs/{component-DaAVlb5U.js.map → component-B96XYPtn.js.map} +1 -1
- package/dist/cjs/{component-DITtC2F9.js → component-BUCx7i5o.js} +7 -7
- package/dist/cjs/{component-DITtC2F9.js.map → component-BUCx7i5o.js.map} +1 -1
- package/dist/cjs/{component-D2kI8uwF.js → component-Bc8fDajy.js} +5 -5
- package/dist/cjs/{component-D2kI8uwF.js.map → component-Bc8fDajy.js.map} +1 -1
- package/dist/cjs/{component-D33lYKYT.js → component-Be3QHUyC.js} +3 -3
- package/dist/cjs/{component-D33lYKYT.js.map → component-Be3QHUyC.js.map} +1 -1
- package/dist/cjs/{component-B1zMXSkZ.js → component-Bj4QdlXm.js} +5 -5
- package/dist/cjs/{component-B1zMXSkZ.js.map → component-Bj4QdlXm.js.map} +1 -1
- package/dist/cjs/{component-CmyhDJ0r.js → component-CAkixzEQ.js} +3 -3
- package/dist/cjs/{component-CmyhDJ0r.js.map → component-CAkixzEQ.js.map} +1 -1
- package/dist/cjs/{component-BIz_gAas.js → component-CPVFCnaN.js} +7 -7
- package/dist/cjs/{component-BIz_gAas.js.map → component-CPVFCnaN.js.map} +1 -1
- package/dist/cjs/{component-_jdRFw0Y.js → component-Dd-PS3jp.js} +4 -4
- package/dist/cjs/{component-_jdRFw0Y.js.map → component-Dd-PS3jp.js.map} +1 -1
- package/dist/cjs/{component-KT0MKnL5.js → component-DjDOgcWW.js} +5 -5
- package/dist/cjs/{component-KT0MKnL5.js.map → component-DjDOgcWW.js.map} +1 -1
- package/dist/cjs/{component-BHDnSaCH.js → component-Du98sklA.js} +3 -3
- package/dist/cjs/{component-BHDnSaCH.js.map → component-Du98sklA.js.map} +1 -1
- package/dist/cjs/{component-B1kzY-J5.js → component-Dw6Tq7Wb.js} +4 -4
- package/dist/cjs/{component-B1kzY-J5.js.map → component-Dw6Tq7Wb.js.map} +1 -1
- package/dist/cjs/{dev.utils-B1bWgxrQ.js → dev.utils-DybQ4euF.js} +3 -3
- package/dist/cjs/{dev.utils-B1bWgxrQ.js.map → dev.utils-DybQ4euF.js.map} +1 -1
- package/dist/cjs/{devtools-DlcIXbRm.js → devtools-Bw5sQJOl.js} +4 -4
- package/dist/cjs/{devtools-DlcIXbRm.js.map → devtools-Bw5sQJOl.js.map} +1 -1
- package/dist/cjs/{field-control-D0lryu2-.js → field-control-4CnbMR0i.js} +8 -8
- package/dist/cjs/{field-control-D0lryu2-.js.map → field-control-4CnbMR0i.js.map} +1 -1
- package/dist/cjs/{group-DIGY9sM6.js → group-BCkxYeMA.js} +5 -5
- package/dist/cjs/{group-DIGY9sM6.js.map → group-BCkxYeMA.js.map} +1 -1
- package/dist/cjs/{index-qcrGfEY6.js → index-RAfZF5x0.js} +3 -3
- package/dist/cjs/{index-qcrGfEY6.js.map → index-RAfZF5x0.js.map} +1 -1
- package/dist/cjs/{input-BjNjOSo5.js → input-7t7ZvgAy.js} +5 -5
- package/dist/cjs/{input-BjNjOSo5.js.map → input-7t7ZvgAy.js.map} +1 -1
- package/dist/cjs/{input-container-DghKiuUH.js → input-container-BUK2Fp_t.js} +7 -7
- package/dist/cjs/{input-container-DghKiuUH.js.map → input-container-BUK2Fp_t.js.map} +1 -1
- package/dist/cjs/{item-CFojolE7.js → item-BInO5rWQ.js} +8 -8
- package/dist/cjs/{item-CFojolE7.js.map → item-BInO5rWQ.js.map} +1 -1
- package/dist/cjs/{item-DdnTb-BP.js → item-D8Zz2ROC.js} +3 -3
- package/dist/cjs/{item-DdnTb-BP.js.map → item-D8Zz2ROC.js.map} +1 -1
- package/dist/cjs/{item-BKz8BDg2.js → item-DO176juh.js} +4 -4
- package/dist/cjs/{item-BKz8BDg2.js.map → item-DO176juh.js.map} +1 -1
- package/dist/cjs/{item-BMB6SaVm.js → item-K1SS6pAu.js} +4 -4
- package/dist/cjs/{item-BMB6SaVm.js.map → item-K1SS6pAu.js.map} +1 -1
- package/dist/cjs/kol-abbr.cjs.entry.js +2 -2
- package/dist/cjs/kol-accordion.cjs.entry.js +7 -7
- package/dist/cjs/kol-alert.cjs.entry.js +11 -11
- package/dist/cjs/kol-avatar.cjs.entry.js +1 -1
- package/dist/cjs/kol-badge.cjs.entry.js +10 -10
- package/dist/cjs/kol-breadcrumb.cjs.entry.js +9 -9
- package/dist/cjs/kol-button-link.cjs.entry.js +10 -10
- package/dist/cjs/kol-button.cjs.entry.js +10 -10
- package/dist/cjs/kol-card.cjs.entry.js +11 -11
- package/dist/cjs/kol-click-button.cjs.entry.js +2 -2
- package/dist/cjs/kol-combobox.cjs.entry.js +18 -18
- package/dist/cjs/kol-details.cjs.entry.js +7 -7
- package/dist/cjs/kol-dialog.cjs.entry.js +13 -13
- package/dist/cjs/kol-drawer.cjs.entry.js +12 -12
- package/dist/cjs/kol-form.cjs.entry.js +12 -12
- package/dist/cjs/kol-heading.cjs.entry.js +1 -1
- package/dist/cjs/kol-icon.cjs.entry.js +3 -3
- package/dist/cjs/kol-image.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-checkbox.cjs.entry.js +17 -17
- package/dist/cjs/kol-input-color.cjs.entry.js +18 -18
- package/dist/cjs/kol-input-date.cjs.entry.js +18 -18
- package/dist/cjs/kol-input-email.cjs.entry.js +20 -20
- package/dist/cjs/kol-input-file.cjs.entry.js +17 -17
- package/dist/cjs/kol-input-number.cjs.entry.js +18 -18
- package/dist/cjs/kol-input-password.cjs.entry.js +20 -20
- package/dist/cjs/kol-input-radio.cjs.entry.js +17 -17
- package/dist/cjs/kol-input-range.cjs.entry.js +18 -18
- package/dist/cjs/kol-input-text.cjs.entry.js +20 -20
- package/dist/cjs/kol-kolibri.cjs.entry.js +2 -2
- package/dist/cjs/kol-link-button.cjs.entry.js +10 -10
- package/dist/cjs/kol-link.cjs.entry.js +10 -10
- package/dist/cjs/kol-meter.cjs.entry.js +1 -1
- package/dist/cjs/kol-modal.cjs.entry.js +13 -13
- package/dist/cjs/kol-nav.cjs.entry.js +13 -13
- package/dist/cjs/kol-pagination.cjs.entry.js +18 -18
- package/dist/cjs/kol-popover-button.cjs.entry.js +11 -11
- package/dist/cjs/kol-progress.cjs.entry.js +1 -1
- package/dist/cjs/kol-quote.cjs.entry.js +1 -1
- package/dist/cjs/kol-select.cjs.entry.js +17 -17
- package/dist/cjs/kol-single-select.cjs.entry.js +18 -18
- package/dist/cjs/kol-skeleton.cjs.entry.js +2 -2
- package/dist/cjs/kol-skip-nav.cjs.entry.js +9 -9
- package/dist/cjs/kol-spin.cjs.entry.js +3 -3
- package/dist/cjs/kol-split-button.cjs.entry.js +12 -12
- package/dist/cjs/kol-table-stateful.cjs.entry.js +25 -25
- package/dist/cjs/kol-table-stateless.cjs.entry.js +19 -19
- package/dist/cjs/kol-tabs.cjs.entry.js +9 -9
- package/dist/cjs/kol-textarea.cjs.entry.js +17 -17
- package/dist/cjs/kol-toast-container.cjs.entry.js +11 -11
- package/dist/cjs/kol-toolbar.cjs.entry.js +11 -11
- package/dist/cjs/kol-tooltip-wc.cjs.entry.js +4 -4
- package/dist/cjs/kol-tree-item.cjs.entry.js +9 -9
- package/dist/cjs/kol-tree.cjs.entry.js +1 -1
- package/dist/cjs/kol-version.cjs.entry.js +9 -9
- package/dist/cjs/kolibri.cjs.js +2 -2
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{resolve-props-pAyNSZMT.js → resolve-props-BBVQo_N5.js} +3 -3
- package/dist/cjs/{resolve-props-pAyNSZMT.js.map → resolve-props-BBVQo_N5.js.map} +1 -1
- package/dist/cjs/{scroll-lock-CNwobwd2.js → scroll-lock-zJbOf1Xr.js} +3 -3
- package/dist/cjs/{scroll-lock-CNwobwd2.js.map → scroll-lock-zJbOf1Xr.js.map} +1 -1
- package/dist/cjs/{suggestions-D4TMMZSv.js → suggestions-quLXODgi.js} +4 -4
- package/dist/cjs/{suggestions-D4TMMZSv.js.map → suggestions-quLXODgi.js.map} +1 -1
- package/dist/cjs/test-component.cjs.entry.js +1 -1
- package/dist/cjs/{toggle-handler-mIB8gvse.js → toggle-handler-CENFGRWT.js} +5 -5
- package/dist/cjs/{toggle-handler-mIB8gvse.js.map → toggle-handler-CENFGRWT.js.map} +1 -1
- package/dist/collection/components/accordion/style.css +2 -2
- package/dist/collection/components/alert/style.css +2 -2
- package/dist/collection/components/badge/style.css +2 -2
- package/dist/collection/components/breadcrumb/style.css +2 -2
- package/dist/collection/components/button/style.css +2 -2
- package/dist/collection/components/button-link/style.css +2 -2
- package/dist/collection/components/card/style.css +2 -2
- package/dist/collection/components/combobox/style.css +2 -2
- package/dist/collection/components/details/style.css +2 -2
- package/dist/collection/components/dialog/style.css +2 -2
- package/dist/collection/components/drawer/style.css +2 -2
- package/dist/collection/components/form/style.css +2 -2
- package/dist/collection/components/icon/style.css +2 -2
- package/dist/collection/components/input-checkbox/style.css +2 -2
- package/dist/collection/components/input-color/style.css +2 -2
- package/dist/collection/components/input-date/style.css +2 -2
- package/dist/collection/components/input-email/style.css +2 -2
- package/dist/collection/components/input-file/style.css +2 -2
- package/dist/collection/components/input-number/style.css +2 -2
- package/dist/collection/components/input-password/style.css +2 -2
- package/dist/collection/components/input-radio/style.css +2 -2
- package/dist/collection/components/input-range/style.css +2 -2
- package/dist/collection/components/input-text/style.css +2 -2
- package/dist/collection/components/link/style.css +2 -2
- package/dist/collection/components/link-button/style.css +2 -2
- package/dist/collection/components/modal/style.css +2 -2
- package/dist/collection/components/nav/style.css +2 -2
- package/dist/collection/components/pagination/style.css +2 -2
- package/dist/collection/components/popover-button/style.css +2 -2
- package/dist/collection/components/select/style.css +2 -2
- package/dist/collection/components/single-select/style.css +2 -2
- package/dist/collection/components/skip-nav/style.css +2 -2
- package/dist/collection/components/split-button/style.css +2 -2
- package/dist/collection/components/table-stateful/style.css +2 -2
- package/dist/collection/components/table-stateless/style.css +2 -2
- package/dist/collection/components/tabs/style.css +2 -2
- package/dist/collection/components/textarea/style.css +2 -2
- package/dist/collection/components/toaster/style.css +2 -2
- package/dist/collection/components/toolbar/style.css +2 -2
- package/dist/collection/components/tree-item/style.css +2 -2
- package/dist/collection/components/version/style.css +2 -2
- package/dist/components/kol-accordion.js +1 -1
- package/dist/components/kol-alert.js +1 -1
- package/dist/components/kol-badge.js +1 -1
- package/dist/components/kol-breadcrumb.js +1 -1
- package/dist/components/kol-button-link.js +1 -1
- package/dist/components/kol-button.js +1 -1
- package/dist/components/kol-card.js +1 -1
- package/dist/components/kol-combobox.js +1 -1
- package/dist/components/kol-details.js +1 -1
- package/dist/components/kol-dialog.js +1 -1
- package/dist/components/kol-drawer.js +1 -1
- package/dist/components/kol-form.js +1 -1
- package/dist/components/kol-icon.js +1 -1
- package/dist/components/kol-input-checkbox.js +1 -1
- package/dist/components/kol-input-color.js +1 -1
- package/dist/components/kol-input-date.js +1 -1
- package/dist/components/kol-input-email.js +1 -1
- package/dist/components/kol-input-file.js +1 -1
- package/dist/components/kol-input-number.js +1 -1
- package/dist/components/kol-input-password.js +1 -1
- package/dist/components/kol-input-radio.js +1 -1
- package/dist/components/kol-input-range.js +1 -1
- package/dist/components/kol-input-text.js +1 -1
- package/dist/components/kol-link-button.js +1 -1
- package/dist/components/kol-link.js +1 -1
- package/dist/components/kol-modal.js +1 -1
- package/dist/components/kol-nav.js +1 -1
- package/dist/components/kol-pagination.js +1 -1
- package/dist/components/kol-popover-button.js +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-split-button.js +1 -1
- package/dist/components/kol-table-stateful.js +1 -1
- package/dist/components/kol-table-stateless.js +1 -1
- package/dist/components/kol-tabs.js +1 -1
- package/dist/components/kol-textarea.js +1 -1
- package/dist/components/kol-toast-container.js +1 -1
- package/dist/components/kol-toolbar.js +1 -1
- package/dist/components/kol-tree-item.js +1 -1
- package/dist/components/kol-version.js +1 -1
- package/dist/esm/{Heading-NHB1reiQ.js → Heading-BctDgC7M.js} +3 -3
- package/dist/{kolibri/Heading-NHB1reiQ.js.map → esm/Heading-BctDgC7M.js.map} +1 -1
- package/dist/esm/{api-BAEPnyL7.js → api-B6fEjFVl.js} +12 -12
- package/dist/{kolibri/api-BAEPnyL7.js.map → esm/api-B6fEjFVl.js.map} +1 -1
- package/dist/esm/{api-CagcODCX.js → api-T-JuZMlj.js} +8 -8
- package/dist/esm/{api-CagcODCX.js.map → api-T-JuZMlj.js.map} +1 -1
- package/dist/esm/{app-globals-CwlOH1sO.js → app-globals-CvvWI2x9.js} +4 -4
- package/dist/esm/{app-globals-CwlOH1sO.js.map → app-globals-CvvWI2x9.js.map} +1 -1
- package/dist/esm/{base-Cm_c8klt.js → base-BARjFMg1.js} +5 -5
- package/dist/esm/{base-Cm_c8klt.js.map → base-BARjFMg1.js.map} +1 -1
- package/dist/esm/{base-BpKxLJ6r.js → base-BbVXW6YI.js} +4 -4
- package/dist/{kolibri/base-BpKxLJ6r.js.map → esm/base-BbVXW6YI.js.map} +1 -1
- package/dist/esm/{base-DitGpYOV.js → base-D8yYjJsn.js} +4 -4
- package/dist/esm/{base-DitGpYOV.js.map → base-D8yYjJsn.js.map} +1 -1
- package/dist/esm/{base-BFU17cMm.js → base-Dvr4F_Pr.js} +16 -16
- package/dist/{kolibri/base-BFU17cMm.js.map → esm/base-Dvr4F_Pr.js.map} +1 -1
- package/dist/esm/{base-web-component-6J5sCsnZ.js → base-web-component-BzB5tP9s.js} +5 -5
- package/dist/{kolibri/base-web-component-6J5sCsnZ.js.map → esm/base-web-component-BzB5tP9s.js.map} +1 -1
- package/dist/esm/{base-web-component-BFCVvyYG.js → base-web-component-DU3hnIWD.js} +7 -7
- package/dist/{kolibri/base-web-component-BFCVvyYG.js.map → esm/base-web-component-DU3hnIWD.js.map} +1 -1
- package/dist/esm/{behavior-CH_2MMuX.js → behavior-CbqCHL6O.js} +3 -3
- package/dist/{kolibri/behavior-CH_2MMuX.js.map → esm/behavior-CbqCHL6O.js.map} +1 -1
- package/dist/esm/{component-Ba4gjLBG.js → component-BaD1OTyv.js} +5 -5
- package/dist/esm/{component-Ba4gjLBG.js.map → component-BaD1OTyv.js.map} +1 -1
- package/dist/esm/{component-Do9rjnte.js → component-BjWF1SyZ.js} +7 -7
- package/dist/esm/{component-Do9rjnte.js.map → component-BjWF1SyZ.js.map} +1 -1
- package/dist/esm/{component-C5BFsKau.js → component-Ch6fss2f.js} +5 -5
- package/dist/esm/{component-C5BFsKau.js.map → component-Ch6fss2f.js.map} +1 -1
- package/dist/esm/{component-CBpYh2q-.js → component-CmBM-Y1C.js} +7 -7
- package/dist/esm/{component-CBpYh2q-.js.map → component-CmBM-Y1C.js.map} +1 -1
- package/dist/esm/{component-CvCfEqSE.js → component-CvhmYY4a.js} +4 -4
- package/dist/esm/{component-CvCfEqSE.js.map → component-CvhmYY4a.js.map} +1 -1
- package/dist/esm/{component-DzoBgfR4.js → component-D0iTurA_.js} +3 -3
- package/dist/esm/{component-DzoBgfR4.js.map → component-D0iTurA_.js.map} +1 -1
- package/dist/esm/{component-BpOMe842.js → component-DKS73hKY.js} +3 -3
- package/dist/{kolibri/component-BpOMe842.js.map → esm/component-DKS73hKY.js.map} +1 -1
- package/dist/esm/{component-C3sXiwbS.js → component-DhBTawyT.js} +3 -3
- package/dist/esm/{component-C3sXiwbS.js.map → component-DhBTawyT.js.map} +1 -1
- package/dist/esm/{component-DZbJLUju.js → component-G9vQ1mQA.js} +4 -4
- package/dist/{kolibri/component-DZbJLUju.js.map → esm/component-G9vQ1mQA.js.map} +1 -1
- package/dist/esm/{component-C_d54ujF.js → component-QCFfSS76.js} +4 -4
- package/dist/{kolibri/component-C_d54ujF.js.map → esm/component-QCFfSS76.js.map} +1 -1
- package/dist/esm/{component-Dg6TIbeY.js → component-d1d-AIsY.js} +5 -5
- package/dist/{kolibri/component-Dg6TIbeY.js.map → esm/component-d1d-AIsY.js.map} +1 -1
- package/dist/esm/{component-BF8FPuIW.js → component-sf_0WjJF.js} +3 -3
- package/dist/esm/{component-BF8FPuIW.js.map → component-sf_0WjJF.js.map} +1 -1
- package/dist/esm/{dev.utils-CJMVCYWh.js → dev.utils-BGy8dbtQ.js} +3 -3
- package/dist/{kolibri/dev.utils-CJMVCYWh.js.map → esm/dev.utils-BGy8dbtQ.js.map} +1 -1
- package/dist/esm/{devtools-rRHULXVr.js → devtools-CZ8Mnmwl.js} +4 -4
- package/dist/{kolibri/devtools-rRHULXVr.js.map → esm/devtools-CZ8Mnmwl.js.map} +1 -1
- package/dist/esm/{field-control-DXxCMXvx.js → field-control-CLnFuMmy.js} +8 -8
- package/dist/{kolibri/field-control-DXxCMXvx.js.map → esm/field-control-CLnFuMmy.js.map} +1 -1
- package/dist/esm/{group-CI4sSgiu.js → group-BAOmF5Ok.js} +5 -5
- package/dist/esm/{group-CI4sSgiu.js.map → group-BAOmF5Ok.js.map} +1 -1
- package/dist/esm/{index-DQdQBwMc.js → index-DAKQV03B.js} +3 -3
- package/dist/{kolibri/index-DQdQBwMc.js.map → esm/index-DAKQV03B.js.map} +1 -1
- package/dist/esm/{input-CDtJZ2sy.js → input-D2i1QEbL.js} +5 -5
- package/dist/esm/{input-CDtJZ2sy.js.map → input-D2i1QEbL.js.map} +1 -1
- package/dist/esm/{input-container-DROwwh7_.js → input-container-wQm8-W3s.js} +7 -7
- package/dist/esm/{input-container-DROwwh7_.js.map → input-container-wQm8-W3s.js.map} +1 -1
- package/dist/esm/{item-ZjrNIhfW.js → item-DJ8LXOMv.js} +8 -8
- package/dist/{kolibri/item-ZjrNIhfW.js.map → esm/item-DJ8LXOMv.js.map} +1 -1
- package/dist/esm/{item-CHP-bw8Q.js → item-DbLIGnc9.js} +4 -4
- package/dist/{kolibri/item-CHP-bw8Q.js.map → esm/item-DbLIGnc9.js.map} +1 -1
- package/dist/esm/{item-C6p5wW-z.js → item-Dkm57tce.js} +4 -4
- package/dist/{kolibri/item-C6p5wW-z.js.map → esm/item-Dkm57tce.js.map} +1 -1
- package/dist/esm/{item-Cbi_ZY6o.js → item-DuBSR8BS.js} +3 -3
- package/dist/esm/{item-Cbi_ZY6o.js.map → item-DuBSR8BS.js.map} +1 -1
- package/dist/esm/kol-abbr.entry.js +2 -2
- package/dist/esm/kol-accordion.entry.js +7 -7
- package/dist/esm/kol-alert.entry.js +11 -11
- package/dist/esm/kol-avatar.entry.js +1 -1
- package/dist/esm/kol-badge.entry.js +10 -10
- package/dist/esm/kol-breadcrumb.entry.js +9 -9
- package/dist/esm/kol-button-link.entry.js +10 -10
- package/dist/esm/kol-button.entry.js +10 -10
- package/dist/esm/kol-card.entry.js +11 -11
- package/dist/esm/kol-click-button.entry.js +2 -2
- package/dist/esm/kol-combobox.entry.js +18 -18
- package/dist/esm/kol-details.entry.js +7 -7
- package/dist/esm/kol-dialog.entry.js +13 -13
- package/dist/esm/kol-drawer.entry.js +12 -12
- package/dist/esm/kol-form.entry.js +12 -12
- package/dist/esm/kol-heading.entry.js +1 -1
- package/dist/esm/kol-icon.entry.js +3 -3
- package/dist/esm/kol-image.entry.js +1 -1
- package/dist/esm/kol-input-checkbox.entry.js +17 -17
- package/dist/esm/kol-input-color.entry.js +18 -18
- package/dist/esm/kol-input-date.entry.js +18 -18
- package/dist/esm/kol-input-email.entry.js +20 -20
- package/dist/esm/kol-input-file.entry.js +17 -17
- package/dist/esm/kol-input-number.entry.js +18 -18
- package/dist/esm/kol-input-password.entry.js +20 -20
- package/dist/esm/kol-input-radio.entry.js +17 -17
- package/dist/esm/kol-input-range.entry.js +18 -18
- package/dist/esm/kol-input-text.entry.js +20 -20
- package/dist/esm/kol-kolibri.entry.js +2 -2
- package/dist/esm/kol-link-button.entry.js +10 -10
- package/dist/esm/kol-link.entry.js +10 -10
- package/dist/esm/kol-meter.entry.js +1 -1
- package/dist/esm/kol-modal.entry.js +13 -13
- package/dist/esm/kol-nav.entry.js +13 -13
- package/dist/esm/kol-pagination.entry.js +18 -18
- package/dist/esm/kol-popover-button.entry.js +11 -11
- package/dist/esm/kol-progress.entry.js +1 -1
- package/dist/esm/kol-quote.entry.js +1 -1
- package/dist/esm/kol-select.entry.js +17 -17
- package/dist/esm/kol-single-select.entry.js +18 -18
- package/dist/esm/kol-skeleton.entry.js +2 -2
- package/dist/esm/kol-skip-nav.entry.js +9 -9
- package/dist/esm/kol-spin.entry.js +3 -3
- package/dist/esm/kol-split-button.entry.js +12 -12
- package/dist/esm/kol-table-stateful.entry.js +25 -25
- package/dist/esm/kol-table-stateless.entry.js +19 -19
- package/dist/esm/kol-tabs.entry.js +9 -9
- package/dist/esm/kol-textarea.entry.js +17 -17
- package/dist/esm/kol-toast-container.entry.js +11 -11
- package/dist/esm/kol-toolbar.entry.js +11 -11
- package/dist/esm/kol-tooltip-wc.entry.js +4 -4
- package/dist/esm/kol-tree-item.entry.js +9 -9
- package/dist/esm/kol-tree.entry.js +1 -1
- package/dist/esm/kol-version.entry.js +9 -9
- package/dist/esm/kolibri.js +3 -3
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{resolve-props-CjBvvXId.js → resolve-props-BTiKxg-8.js} +3 -3
- package/dist/esm/{resolve-props-CjBvvXId.js.map → resolve-props-BTiKxg-8.js.map} +1 -1
- package/dist/esm/{scroll-lock-6SV-XFXR.js → scroll-lock-DRNyw9qH.js} +3 -3
- package/dist/{kolibri/scroll-lock-6SV-XFXR.js.map → esm/scroll-lock-DRNyw9qH.js.map} +1 -1
- package/dist/esm/{suggestions-BYMmW1aV.js → suggestions-CG-TuGC4.js} +4 -4
- package/dist/esm/{suggestions-BYMmW1aV.js.map → suggestions-CG-TuGC4.js.map} +1 -1
- package/dist/esm/test-component.entry.js +1 -1
- package/dist/esm/{toggle-handler-D-yalcds.js → toggle-handler-aTxO0Wem.js} +5 -5
- package/dist/esm/{toggle-handler-D-yalcds.js.map → toggle-handler-aTxO0Wem.js.map} +1 -1
- package/dist/kolibri/{Heading-NHB1reiQ.js → Heading-BctDgC7M.js} +2 -2
- package/dist/{esm/Heading-NHB1reiQ.js.map → kolibri/Heading-BctDgC7M.js.map} +1 -1
- package/dist/kolibri/api-B6fEjFVl.js +5 -0
- package/dist/{esm/api-BAEPnyL7.js.map → kolibri/api-B6fEjFVl.js.map} +1 -1
- package/dist/kolibri/api-T-JuZMlj.js +5 -0
- package/dist/kolibri/{api-CagcODCX.js.map → api-T-JuZMlj.js.map} +1 -1
- package/dist/kolibri/app-globals-CvvWI2x9.js +5 -0
- package/dist/kolibri/{app-globals-CwlOH1sO.js.map → app-globals-CvvWI2x9.js.map} +1 -1
- package/dist/kolibri/{base-Cm_c8klt.js → base-BARjFMg1.js} +2 -2
- package/dist/kolibri/{base-Cm_c8klt.js.map → base-BARjFMg1.js.map} +1 -1
- package/dist/kolibri/{base-BpKxLJ6r.js → base-BbVXW6YI.js} +2 -2
- package/dist/{esm/base-BpKxLJ6r.js.map → kolibri/base-BbVXW6YI.js.map} +1 -1
- package/dist/kolibri/{base-DitGpYOV.js → base-D8yYjJsn.js} +2 -2
- package/dist/kolibri/{base-DitGpYOV.js.map → base-D8yYjJsn.js.map} +1 -1
- package/dist/kolibri/{base-BFU17cMm.js → base-Dvr4F_Pr.js} +2 -2
- package/dist/{esm/base-BFU17cMm.js.map → kolibri/base-Dvr4F_Pr.js.map} +1 -1
- package/dist/kolibri/{base-web-component-6J5sCsnZ.js → base-web-component-BzB5tP9s.js} +2 -2
- package/dist/{esm/base-web-component-6J5sCsnZ.js.map → kolibri/base-web-component-BzB5tP9s.js.map} +1 -1
- package/dist/kolibri/{base-web-component-BFCVvyYG.js → base-web-component-DU3hnIWD.js} +2 -2
- package/dist/{esm/base-web-component-BFCVvyYG.js.map → kolibri/base-web-component-DU3hnIWD.js.map} +1 -1
- package/dist/kolibri/{behavior-CH_2MMuX.js → behavior-CbqCHL6O.js} +2 -2
- package/dist/{esm/behavior-CH_2MMuX.js.map → kolibri/behavior-CbqCHL6O.js.map} +1 -1
- package/dist/kolibri/component-BaD1OTyv.js +5 -0
- package/dist/kolibri/{component-Ba4gjLBG.js.map → component-BaD1OTyv.js.map} +1 -1
- package/dist/kolibri/{component-Do9rjnte.js → component-BjWF1SyZ.js} +2 -2
- package/dist/kolibri/{component-Do9rjnte.js.map → component-BjWF1SyZ.js.map} +1 -1
- package/dist/kolibri/component-Ch6fss2f.js +5 -0
- package/dist/kolibri/{component-C5BFsKau.js.map → component-Ch6fss2f.js.map} +1 -1
- package/dist/kolibri/component-CmBM-Y1C.js +5 -0
- package/dist/kolibri/{component-CBpYh2q-.js.map → component-CmBM-Y1C.js.map} +1 -1
- package/dist/kolibri/{component-CvCfEqSE.js → component-CvhmYY4a.js} +2 -2
- package/dist/kolibri/{component-CvCfEqSE.js.map → component-CvhmYY4a.js.map} +1 -1
- package/dist/kolibri/component-D0iTurA_.js +5 -0
- package/dist/kolibri/{component-DzoBgfR4.js.map → component-D0iTurA_.js.map} +1 -1
- package/dist/kolibri/{component-BpOMe842.js → component-DKS73hKY.js} +2 -2
- package/dist/{esm/component-BpOMe842.js.map → kolibri/component-DKS73hKY.js.map} +1 -1
- package/dist/kolibri/{component-C3sXiwbS.js → component-DhBTawyT.js} +2 -2
- package/dist/kolibri/{component-C3sXiwbS.js.map → component-DhBTawyT.js.map} +1 -1
- package/dist/kolibri/{component-DZbJLUju.js → component-G9vQ1mQA.js} +2 -2
- package/dist/{esm/component-DZbJLUju.js.map → kolibri/component-G9vQ1mQA.js.map} +1 -1
- package/dist/kolibri/{component-C_d54ujF.js → component-QCFfSS76.js} +2 -2
- package/dist/{esm/component-C_d54ujF.js.map → kolibri/component-QCFfSS76.js.map} +1 -1
- package/dist/kolibri/{component-Dg6TIbeY.js → component-d1d-AIsY.js} +2 -2
- package/dist/{esm/component-Dg6TIbeY.js.map → kolibri/component-d1d-AIsY.js.map} +1 -1
- package/dist/kolibri/{component-BF8FPuIW.js → component-sf_0WjJF.js} +2 -2
- package/dist/kolibri/{component-BF8FPuIW.js.map → component-sf_0WjJF.js.map} +1 -1
- package/dist/kolibri/{dev.utils-CJMVCYWh.js → dev.utils-BGy8dbtQ.js} +2 -2
- package/dist/{esm/dev.utils-CJMVCYWh.js.map → kolibri/dev.utils-BGy8dbtQ.js.map} +1 -1
- package/dist/kolibri/{devtools-rRHULXVr.js → devtools-CZ8Mnmwl.js} +2 -2
- package/dist/{esm/devtools-rRHULXVr.js.map → kolibri/devtools-CZ8Mnmwl.js.map} +1 -1
- package/dist/kolibri/field-control-CLnFuMmy.js +5 -0
- package/dist/{esm/field-control-DXxCMXvx.js.map → kolibri/field-control-CLnFuMmy.js.map} +1 -1
- package/dist/kolibri/{group-CI4sSgiu.js → group-BAOmF5Ok.js} +2 -2
- package/dist/kolibri/{group-CI4sSgiu.js.map → group-BAOmF5Ok.js.map} +1 -1
- package/dist/kolibri/{index-DQdQBwMc.js → index-DAKQV03B.js} +2 -2
- package/dist/{esm/index-DQdQBwMc.js.map → kolibri/index-DAKQV03B.js.map} +1 -1
- package/dist/kolibri/input-D2i1QEbL.js +5 -0
- package/dist/kolibri/{input-CDtJZ2sy.js.map → input-D2i1QEbL.js.map} +1 -1
- package/dist/kolibri/{input-container-DROwwh7_.js → input-container-wQm8-W3s.js} +2 -2
- package/dist/kolibri/{input-container-DROwwh7_.js.map → input-container-wQm8-W3s.js.map} +1 -1
- package/dist/kolibri/{item-ZjrNIhfW.js → item-DJ8LXOMv.js} +2 -2
- package/dist/{esm/item-ZjrNIhfW.js.map → kolibri/item-DJ8LXOMv.js.map} +1 -1
- package/dist/kolibri/item-DbLIGnc9.js +5 -0
- package/dist/{esm/item-CHP-bw8Q.js.map → kolibri/item-DbLIGnc9.js.map} +1 -1
- package/dist/kolibri/item-Dkm57tce.js +5 -0
- package/dist/{esm/item-C6p5wW-z.js.map → kolibri/item-Dkm57tce.js.map} +1 -1
- package/dist/kolibri/item-DuBSR8BS.js +5 -0
- package/dist/kolibri/{item-Cbi_ZY6o.js.map → item-DuBSR8BS.js.map} +1 -1
- package/dist/kolibri/kol-abbr.entry.js +1 -1
- package/dist/kolibri/kol-accordion.entry.js +1 -1
- package/dist/kolibri/kol-alert.entry.js +1 -1
- package/dist/kolibri/kol-avatar.entry.js +1 -1
- package/dist/kolibri/kol-badge.entry.js +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.entry.js +1 -1
- package/dist/kolibri/kol-card.entry.js +1 -1
- package/dist/kolibri/kol-click-button.entry.js +1 -1
- package/dist/kolibri/kol-combobox.entry.js +1 -1
- package/dist/kolibri/kol-details.entry.js +1 -1
- package/dist/kolibri/kol-dialog.entry.js +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.js +1 -1
- package/dist/kolibri/kol-input-color.entry.js +1 -1
- package/dist/kolibri/kol-input-date.entry.js +1 -1
- package/dist/kolibri/kol-input-email.entry.js +1 -1
- package/dist/kolibri/kol-input-file.entry.js +1 -1
- package/dist/kolibri/kol-input-number.entry.js +1 -1
- package/dist/kolibri/kol-input-password.entry.js +1 -1
- package/dist/kolibri/kol-input-radio.entry.js +1 -1
- package/dist/kolibri/kol-input-range.entry.js +1 -1
- package/dist/kolibri/kol-input-text.entry.js +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.entry.js +1 -1
- package/dist/kolibri/kol-meter.entry.js +1 -1
- package/dist/kolibri/kol-modal.entry.js +1 -1
- package/dist/kolibri/kol-nav.entry.js +1 -1
- package/dist/kolibri/kol-pagination.entry.js +1 -1
- package/dist/kolibri/kol-popover-button.entry.js +1 -1
- package/dist/kolibri/kol-progress.entry.js +1 -1
- package/dist/kolibri/kol-quote.entry.js +1 -1
- package/dist/kolibri/kol-select.entry.js +1 -1
- package/dist/kolibri/kol-single-select.entry.js +1 -1
- package/dist/kolibri/kol-skeleton.entry.js +1 -1
- package/dist/kolibri/kol-skip-nav.entry.js +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-stateful.entry.js +1 -1
- package/dist/kolibri/kol-table-stateless.entry.js +1 -1
- package/dist/kolibri/kol-tabs.entry.js +1 -1
- package/dist/kolibri/kol-textarea.entry.js +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.js +1 -1
- package/dist/kolibri/kol-tree-item.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/resolve-props-BTiKxg-8.js +5 -0
- package/dist/kolibri/{resolve-props-CjBvvXId.js.map → resolve-props-BTiKxg-8.js.map} +1 -1
- package/dist/kolibri/{scroll-lock-6SV-XFXR.js → scroll-lock-DRNyw9qH.js} +2 -2
- package/dist/{esm/scroll-lock-6SV-XFXR.js.map → kolibri/scroll-lock-DRNyw9qH.js.map} +1 -1
- package/dist/kolibri/{suggestions-BYMmW1aV.js → suggestions-CG-TuGC4.js} +2 -2
- package/dist/kolibri/{suggestions-BYMmW1aV.js.map → suggestions-CG-TuGC4.js.map} +1 -1
- package/dist/kolibri/test-component.entry.js +1 -1
- package/dist/kolibri/toggle-handler-aTxO0Wem.js +5 -0
- package/dist/kolibri/{toggle-handler-D-yalcds.js.map → toggle-handler-aTxO0Wem.js.map} +1 -1
- package/package.json +3 -3
- package/dist/kolibri/api-BAEPnyL7.js +0 -5
- package/dist/kolibri/api-CagcODCX.js +0 -5
- package/dist/kolibri/app-globals-CwlOH1sO.js +0 -5
- package/dist/kolibri/component-Ba4gjLBG.js +0 -5
- package/dist/kolibri/component-C5BFsKau.js +0 -5
- package/dist/kolibri/component-CBpYh2q-.js +0 -5
- package/dist/kolibri/component-DzoBgfR4.js +0 -5
- package/dist/kolibri/field-control-DXxCMXvx.js +0 -5
- package/dist/kolibri/input-CDtJZ2sy.js +0 -5
- package/dist/kolibri/item-C6p5wW-z.js +0 -5
- package/dist/kolibri/item-CHP-bw8Q.js +0 -5
- package/dist/kolibri/item-Cbi_ZY6o.js +0 -5
- package/dist/kolibri/resolve-props-CjBvvXId.js +0 -5
- package/dist/kolibri/toggle-handler-D-yalcds.js +0 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item-
|
|
1
|
+
{"version":3,"file":"item-DO176juh.js","sources":["src/internal/functional-components/link/item.ts"],"sourcesContent":["import type { JSXBase } from '@stencil/core/internal';\n\nimport { onLocationChange, type UnsubscribeFunction } from '../../../components/link/ariaCurrentService';\nimport type { AlignPropType } from '../../../schema';\nimport { setEventTarget } from '../../../schema';\nimport { nonce } from '../../../utils/dev.utils';\nimport { createCtaRef } from '../../../utils/element-interaction';\nimport { dispatchDomEvent, KolEvent } from '../../../utils/events';\nimport { BaseWebComponent } from '../base-web-component';\nimport { TooltipBehavior } from '../tooltip/behavior';\nimport type { LinkFCProps } from './component';\nimport type { EmbeddedLinkProps, ResolvedLinkProps } from './resolve-props';\nimport { resolveLinkProps } from './resolve-props';\n\n/** Attributes the embedding component puts on the `.kol-link` root, e.g. its BEM element class. */\nexport type LinkItemRootAttributes = Pick<JSXBase.HTMLAttributes<HTMLElement>, 'class'>;\n\n/**\n * One orchestrated link embedded in another component's shadow DOM: everything `LinkFC` needs to\n * render, plus the lifecycle hooks the surrounding web component has to drive. The counterpart of\n * `button/item.ts`.\n *\n * Besides the tooltip behavior, the anchor ref and the description id, the item keeps the\n * `aria-current` state of the link: it follows the location like the link elements do and asks the\n * embedding component to render again when it changes.\n */\nexport type LinkItem = {\n\t/**\n\t * Resolves the link for the current render pass. Call once per render, so changed props take\n\t * effect.\n\t */\n\tgetFcProps(props: EmbeddedLinkProps, rootAttributes?: LinkItemRootAttributes): LinkFCProps;\n\t/** Re-registers the tooltip listeners. Call from `componentDidRender`. */\n\tsyncListeners(): void;\n\t/** Tears down the tooltip behavior and the location subscription. Call from `disconnectedCallback`. */\n\tdestroy(): void;\n};\n\n/**\n * @param requestRender - Renders the embedding component again, after the location changed the\n * `aria-current` state of the link.\n */\nexport const createLinkItem = (requestRender: () => void): LinkItem => {\n\tconst tooltipBehavior = new TooltipBehavior(BaseWebComponent.stateLess);\n\tconst ctaRef = createCtaRef<HTMLAnchorElement>();\n\tconst ariaDescriptionId = nonce();\n\tlet resolved: ResolvedLinkProps | undefined;\n\tlet ariaCurrent = '';\n\tlet rootElement: HTMLElement | undefined;\n\tlet unsubscribe: UnsubscribeFunction | undefined;\n\tlet subscribing = false;\n\n\tconst getHref = (): string => (typeof resolved?.href === 'string' ? resolved.href : '');\n\n\tconst getTooltipLabel = (): string => {\n\t\tconst label = resolved?.label;\n\t\treturn typeof label === 'string' && label.length > 0 ? label : getHref();\n\t};\n\n\tconst handleLocationChange = (location: string): void => {\n\t\tconst next = location === resolved?.href ? (resolved.ariaCurrentValue as string) : '';\n\t\tif (ariaCurrent !== next) {\n\t\t\tariaCurrent = next;\n\t\t\t// The subscription calls back synchronously once while the render pass subscribes.\n\t\t\tif (!subscribing) {\n\t\t\t\trequestRender();\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleAnchorClick = (event: Event): void => {\n\t\ttooltipBehavior.hideTooltip();\n\t\tif (resolved?.disabled === true) {\n\t\t\tevent.preventDefault();\n\t\t\treturn;\n\t\t}\n\t\tconst href = getHref();\n\t\tconst on = resolved?.on;\n\t\tif (typeof on?.onClick === 'function') {\n\t\t\tsetEventTarget(event, ctaRef.el);\n\t\t\ton.onClick(event, href);\n\t\t}\n\t\tif (rootElement) {\n\t\t\tdispatchDomEvent(rootElement, KolEvent.click, href);\n\t\t}\n\t};\n\n\tconst refRoot = (element?: HTMLElement): void => {\n\t\tif (element) {\n\t\t\trootElement = element;\n\t\t}\n\t};\n\n\treturn {\n\t\tgetFcProps: (props: EmbeddedLinkProps, rootAttributes?: LinkItemRootAttributes): LinkFCProps => {\n\t\t\tresolved = resolveLinkProps(props);\n\t\t\tif (!unsubscribe) {\n\t\t\t\tsubscribing = true;\n\t\t\t\tunsubscribe = onLocationChange(handleLocationChange);\n\t\t\t\tsubscribing = false;\n\t\t\t}\n\t\t\ttooltipBehavior.componentWillLoad({\n\t\t\t\tlabel: getTooltipLabel(),\n\t\t\t\talign: resolved.tooltipAlign as AlignPropType,\n\t\t\t});\n\n\t\t\treturn {\n\t\t\t\t...resolved,\n\t\t\t\t...rootAttributes,\n\t\t\t\tariaCurrent,\n\t\t\t\tariaDescriptionId,\n\t\t\t\texpertSlot: props._label === '',\n\t\t\t\thandleAnchorClick,\n\t\t\t\tref: refRoot,\n\t\t\t\trefAnchor: ctaRef,\n\t\t\t\trefTooltip: tooltipBehavior.setTooltipElementRef,\n\t\t\t} as LinkFCProps;\n\t\t},\n\t\tsyncListeners: (): void => {\n\t\t\tif (ctaRef.el) {\n\t\t\t\ttooltipBehavior.syncListeners(undefined, ctaRef.el, true);\n\t\t\t}\n\t\t},\n\t\tdestroy: (): void => {\n\t\t\tunsubscribe?.();\n\t\t\tunsubscribe = undefined;\n\t\t\ttooltipBehavior.destroy();\n\t\t},\n\t};\n};\n"],"names":["TooltipBehavior","BaseWebComponent","createCtaRef","nonce","setEventTarget","dispatchDomEvent","KolEvent","resolveLinkProps","onLocationChange"],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
6
|
var common = require('./common-B9-LvLNa.js');
|
|
7
|
-
var dev_utils = require('./dev.utils-
|
|
7
|
+
var dev_utils = require('./dev.utils-DybQ4euF.js');
|
|
8
8
|
var elementInteraction = require('./element-interaction-7FI_z19L.js');
|
|
9
9
|
var events = require('./events-PISRnO5c.js');
|
|
10
10
|
var api = require('./api-BJgJ64A_.js');
|
|
@@ -12,7 +12,7 @@ var disabled = require('./disabled-B8tOrtj_.js');
|
|
|
12
12
|
var variant = require('./variant-wdbSxe--.js');
|
|
13
13
|
var baseWebComponent = require('./base-web-component-DK5Y-vq5.js');
|
|
14
14
|
var labelWithExpertSlot = require('./label-with-expert-slot-BE6OwnkL.js');
|
|
15
|
-
var component = require('./component-
|
|
15
|
+
var component = require('./component-DjDOgcWW.js');
|
|
16
16
|
var resolveProps = require('./resolve-props-DciidH7w.js');
|
|
17
17
|
var behavior = require('./behavior-DMhnAIvG.js');
|
|
18
18
|
var name = require('./name-Cyu3yG1t.js');
|
|
@@ -174,6 +174,6 @@ const createPopoverButtonItem = (options) => {
|
|
|
174
174
|
};
|
|
175
175
|
|
|
176
176
|
exports.createPopoverButtonItem = createPopoverButtonItem;
|
|
177
|
-
//# sourceMappingURL=item-
|
|
177
|
+
//# sourceMappingURL=item-K1SS6pAu.js.map
|
|
178
178
|
|
|
179
|
-
//# sourceMappingURL=item-
|
|
179
|
+
//# sourceMappingURL=item-K1SS6pAu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item-BMB6SaVm.js","sources":["src/internal/functional-components/popover-button/api.tsx","src/internal/functional-components/popover-button/item.ts"],"sourcesContent":["import {\n\taccessKeyProp,\n\tariaDescriptionProp,\n\tariaHasPopupProp,\n\tariaSelectedProp,\n\tbuttonCallbacksProp,\n\tbuttonTypeProp,\n\tcustomClassProp,\n\tdisabledProp,\n\thideLabelProp,\n\tidProp,\n\tinlineProp,\n\tlabelWithExpertSlotProp,\n\tlinkRoleProp,\n\tnameProp,\n\tpopoverAlignProp,\n\tshortKeyProp,\n\tspanIconsProp,\n\ttabIndexProp,\n\ttooltipAlignProp,\n\tvariantProp,\n} from '../../props';\nimport type { ApiFromConfig, PropsConfigShape, WebComponentInterface } from '../generic-types';\n\n/**\n * Props configuration for the popover button component.\n *\n * `label` is the only required prop. All others are optional.\n *\n * Notes on prop choices:\n * - `buttonCallbacksProp`, `ariaHasPopupProp`, `ariaSelectedProp` and `linkRoleProp` are carried\n * because `ButtonFC` requires the full button prop surface. The popover button never exposes\n * them: the click callback is reserved for toggling the popover and the ARIA attributes are not\n * rendered, so their store entries keep the `''` sentinel and the element watchers are omitted\n * (same rationale as `ariaHasPopup` on `ButtonApi`).\n * - `ariaControls` and `ariaExpanded` are deliberately absent: the component renders them itself,\n * pointing at the popover element and reflecting its open state.\n * - `_syncValueBySelector` and `_value` are deliberately absent: neither is rendered, and both are\n * opaque pass-throughs to `FormAssociationBehavior` (inherited from `BaseButtonWebComponent`).\n * They stay raw `@Prop`s on the web component, which forwards them from their watchers.\n */\nexport const popoverButtonPropsConfig = {\n\trequired: [labelWithExpertSlotProp],\n\toptional: [\n\t\taccessKeyProp,\n\t\tariaDescriptionProp,\n\t\tariaHasPopupProp,\n\t\tariaSelectedProp,\n\t\tbuttonCallbacksProp,\n\t\tbuttonTypeProp,\n\t\tcustomClassProp,\n\t\tdisabledProp,\n\t\thideLabelProp,\n\t\tidProp,\n\t\tinlineProp,\n\t\tlinkRoleProp,\n\t\tnameProp,\n\t\tpopoverAlignProp,\n\t\tshortKeyProp,\n\t\tspanIconsProp,\n\t\ttabIndexProp,\n\t\ttooltipAlignProp,\n\t\tvariantProp,\n\t],\n} as const satisfies PropsConfigShape;\n\nexport type PopoverButtonApi = ApiFromConfig<\n\ttypeof popoverButtonPropsConfig,\n\t{\n\t\tCallbacks: {\n\t\t\t/**\n\t\t\t * Blur handler bound to the button element. Implemented by the web component, which also\n\t\t\t * dispatches the custom `KolEvent.blur` event on the host element.\n\t\t\t */\n\t\t\tblur: (event: FocusEvent) => void;\n\t\t\t/**\n\t\t\t * Click handler bound to the button element. Implemented by the web component; toggles the\n\t\t\t * popover and dispatches `KolEvent.click`. Not exposed as a consumer callback.\n\t\t\t */\n\t\t\tclick: (event: MouseEvent) => void;\n\t\t\t/**\n\t\t\t * Focus handler bound to the button element. Implemented by the web component, which also\n\t\t\t * dispatches the custom `KolEvent.focus` event on the host element.\n\t\t\t */\n\t\t\tfocus: (event: FocusEvent) => void;\n\t\t\t/**\n\t\t\t * Mousedown handler bound to the button element. Implemented by the web component, which\n\t\t\t * also dispatches the custom `KolEvent.mousedown` event on the host element.\n\t\t\t */\n\t\t\tmouseDown: (event: MouseEvent) => void;\n\t\t};\n\t\tRefs: {\n\t\t\tbutton: HTMLButtonElement;\n\t\t\tpopover: HTMLDivElement;\n\t\t\ttooltip: HTMLDivElement;\n\t\t};\n\t\tStates: {\n\t\t\t/**\n\t\t\t * DOM id of the visually-hidden span that carries the aria description, referenced by the\n\t\t\t * button's aria-describedby attribute (aria-description lacks screen reader support).\n\t\t\t */\n\t\t\tariaDescriptionId: string;\n\t\t\t/**\n\t\t\t * Whether the popover is currently open. Derived from the native popover `toggle` event,\n\t\t\t * so class modifier and `aria-expanded` always match the real popover state.\n\t\t\t */\n\t\t\tpopoverOpen: boolean;\n\t\t\t/**\n\t\t\t * DOM id of the popover element, referenced by the button's aria-controls attribute.\n\t\t\t * Generated once per web component instance and never changed afterwards.\n\t\t\t */\n\t\t\tpopoverId: string;\n\t\t};\n\t}\n>;\n\n/**\n * Web component interface for the public `kol-popover-button`.\n *\n * `_id` is an internal prop of the functional component, not part of the public element.\n * `on` is never a consumer prop: its click callback is reserved for toggling the popover. Both\n * are part of `PopoverButtonApi`, but their watchers are omitted here instead of being declared\n * as no-ops.\n */\nexport type PopoverButtonWebComponentInterface = Omit<\n\tWebComponentInterface<PopoverButtonApi>,\n\t'watchAriaHasPopup' | 'watchId' | 'watchOn' | 'watchRole' | 'watchAriaSelected'\n>;\n","import { getFeatureFlag } from 'adopted-style-sheets';\n\nimport type { AlignPropType, IconsPropType, InternalButtonProps, LabelWithExpertSlotPropType, PopoverButtonProps } from '../../../schema';\nimport { createUniqueId, nonce } from '../../../utils/dev.utils';\nimport { createCtaRef } from '../../../utils/element-interaction';\nimport { dispatchDomEvent, KolEvent } from '../../../utils/events';\nimport {\n\tbuttonTypeProp,\n\tdisabledProp,\n\thideLabelProp,\n\tinlineProp,\n\tlabelWithExpertSlotProp,\n\tpopoverAlignProp,\n\tspanIconsProp,\n\ttooltipAlignProp,\n\tvariantProp,\n} from '../../props';\nimport { BaseWebComponent } from '../base-web-component';\nimport { resolveButtonProps } from '../button/resolve-props';\nimport { PopoverBehavior } from '../popover/behavior';\nimport { buildDefaultPropsFromConfig } from '../props-from-config';\nimport { TooltipBehavior } from '../tooltip/behavior';\nimport { popoverButtonPropsConfig } from './api';\nimport type { PopoverButtonFCProps } from './component';\n\n/**\n * One orchestrated popover button embedded in another component's shadow DOM: everything\n * `PopoverButtonFC` needs to render, plus the lifecycle hooks the surrounding web component has to\n * drive.\n *\n * It exists because `PopoverButtonFC` is stateless while the popover is not — the toggle\n * behavior, the open state, the tooltip behavior and three element refs have to live somewhere.\n * `BasePopoverButtonWebComponent` owns exactly that for the `kol-popover-button` elements, but a\n * component that embeds the popover button *next to* its own button (`kol-split-button`) needs a\n * second, independent set of them and cannot inherit it. The item is a plain object with closures,\n * like `breadcrumb/link-item.ts`, so the embedding component composes it instead of inheriting it.\n *\n * The open state is not kept here: it belongs to the embedding component as a reactive `@State()`\n * field, reached through the `getOpen`/`setOpen` accessors, so toggling re-renders the host.\n */\nexport type PopoverButtonItem = {\n\t/**\n\t * Fully resolved props for `PopoverButtonFC`, with the current open state applied. With\n\t * `popoverButtonProps`, the toggle button is resolved from them for this render pass, the way the\n\t * popover button elements resolve their `@Prop`s; call once per render then.\n\t */\n\tgetFcProps(popoverButtonProps?: PopoverButtonProps): PopoverButtonFCProps;\n\t/** Closes the popover programmatically. */\n\thide(): void;\n\t/** Applies a changed `disabled` value; call from the embedding component's watcher. */\n\tsetDisabled(value?: boolean): void;\n\t/** Re-registers tooltip and toggle listeners. Call from `componentDidRender`. */\n\tsyncListeners(): void;\n\t/** Tears down listeners, the popover behavior and the tooltip behavior. */\n\tdestroy(): void;\n};\n\nexport type PopoverButtonItemOptions = {\n\t/** Whether the toggle button starts disabled. */\n\tdisabled?: boolean;\n\t/**\n\t * Element the synthetic `KolEvent` DOM events are dispatched on, an ancestor of the button inside\n\t * the embedding component's shadow DOM; they bubble out to the consumer from there. Defaults to\n\t * the `.kol-popover-button` root.\n\t */\n\tgetEventTarget?: () => HTMLElement | undefined;\n\t/** Element the theme-scoped `buttonVariantDefault` feature flag is resolved against. */\n\tgetFlagHost: () => HTMLElement | undefined;\n\t/** Reads the embedding component's reactive open state. */\n\tgetOpen: () => boolean;\n\t/** Hides the label and renders it as a tooltip instead. */\n\thideLabel?: boolean;\n\t/** Icon classnames of the toggle button. */\n\ticons?: IconsPropType;\n\t/** Visible or semantic label of the toggle button. */\n\tlabel?: LabelWithExpertSlotPropType;\n\t/** Where to show the popover preferably. */\n\tpopoverAlign?: AlignPropType;\n\t/** Writes the embedding component's reactive open state. */\n\tsetOpen: (open: boolean) => void;\n};\n\nexport const createPopoverButtonItem = (options: PopoverButtonItemOptions): PopoverButtonItem => {\n\tconst popoverBehavior = new PopoverBehavior(BaseWebComponent.stateLess);\n\tconst tooltipBehavior = new TooltipBehavior(BaseWebComponent.stateLess);\n\tconst ctaRef = createCtaRef<HTMLButtonElement>();\n\tlet popoverElement: HTMLDivElement | undefined;\n\tlet rootElement: HTMLElement | undefined;\n\n\tconst props = buildDefaultPropsFromConfig(popoverButtonPropsConfig);\n\n\t// An unset tabindex must not render as `tabindex=\"0\"` — buttons are natively tabbable and the\n\t// attribute would pin them into the document tab order.\n\tdelete props.tabIndex;\n\n\tconst applyDisabled = (value?: boolean): void => {\n\t\tdisabledProp.apply(value, (v) => {\n\t\t\tprops.disabled = v;\n\t\t});\n\t};\n\n\tapplyDisabled(options.disabled);\n\thideLabelProp.apply(options.hideLabel, (v) => {\n\t\tprops.hideLabel = v;\n\t});\n\tspanIconsProp.apply(options.icons, (v) => {\n\t\tprops.icons = v;\n\t});\n\t// `inlineProp` defaults to `true`, `tooltipAlignProp` to `'right'` — both are shared with the\n\t// link. The popover button elements declare `false` and `'top'` as their `@Prop` defaults, so\n\t// the embedded button has to restate them; leaving them out renders a different button.\n\tinlineProp.apply(false, (v) => {\n\t\tprops.inline = v;\n\t});\n\ttooltipAlignProp.apply('top', (v) => {\n\t\tprops.tooltipAlign = v;\n\t});\n\tbuttonTypeProp.apply('button', (v) => {\n\t\tprops.type = v;\n\t});\n\tlabelWithExpertSlotProp.apply(options.label, (v) => {\n\t\tprops.label = v;\n\t});\n\t// An invalid `popoverAlign` is ignored, so the behavior loads with the default then.\n\tlet popoverAlign = popoverAlignProp.getDefaultValue();\n\tpopoverAlignProp.apply(options.popoverAlign, (v) => {\n\t\tpopoverAlign = v;\n\t});\n\tprops.popoverAlign = popoverAlign;\n\tpopoverBehavior.componentWillLoad({ align: popoverAlign });\n\tvariantProp.apply(getFeatureFlag('buttonVariantDefault', options.getFlagHost()) ?? 'normal', (v) => {\n\t\tprops.variant = v;\n\t});\n\n\tprops.ariaDescriptionId = nonce();\n\tprops.popoverId = createUniqueId('popover');\n\n\tconst dispatch = (event: KolEvent): void => {\n\t\tconst target = options.getEventTarget ? options.getEventTarget() : rootElement;\n\t\tif (target) {\n\t\t\tdispatchDomEvent(target, event);\n\t\t}\n\t};\n\n\tconst handleToggle = (event: Event): void => {\n\t\toptions.setOpen((event as ToggleEvent).newState === 'open');\n\t};\n\n\tprops.handleClick = (event: MouseEvent): void => {\n\t\tevent.stopPropagation();\n\t\ttooltipBehavior.hideTooltip();\n\t\tpopoverBehavior.setShow(!options.getOpen());\n\t\tdispatch(KolEvent.click);\n\t};\n\tprops.handleMouseDown = (): void => dispatch(KolEvent.mousedown);\n\tprops.handleFocus = (): void => dispatch(KolEvent.focus);\n\tprops.handleBlur = (): void => dispatch(KolEvent.blur);\n\n\tprops.refButton = (element?: HTMLButtonElement): void => {\n\t\tctaRef(element);\n\t\tpopoverBehavior.setTriggerElement(element);\n\t};\n\tprops.refPopover = (element?: HTMLDivElement): void => {\n\t\tpopoverElement = element;\n\t\tpopoverBehavior.setPopoverElementRef(element);\n\t};\n\tprops.refTooltip = tooltipBehavior.setTooltipElementRef;\n\n\tconst refRoot = (element?: HTMLElement): void => {\n\t\trootElement = element;\n\t};\n\n\tconst loadTooltip = (): void => {\n\t\ttooltipBehavior.componentWillLoad({\n\t\t\tlabel: props.label as string,\n\t\t\talign: props.tooltipAlign as AlignPropType,\n\t\t});\n\t};\n\n\t/*\n\t * The `@Prop` defaults of the popover button elements: they equal those of the button elements,\n\t * except for the variant, which is `normal` instead of the `buttonVariantDefault` feature flag.\n\t */\n\tconst applyPopoverButtonProps = (popoverButtonProps: PopoverButtonProps): void => {\n\t\tconst resolved = resolveButtonProps(\n\t\t\t{ ...popoverButtonProps, _on: undefined, _variant: popoverButtonProps._variant ?? 'normal' } as InternalButtonProps,\n\t\t\toptions.getFlagHost(),\n\t\t);\n\t\tprops.accessKey = resolved.accessKey;\n\t\tprops.ariaDescription = resolved.ariaDescription;\n\t\tprops.customClass = resolved.customClass;\n\t\tprops.disabled = resolved.disabled;\n\t\tprops.hideLabel = resolved.hideLabel;\n\t\tprops.icons = resolved.icons;\n\t\tprops.id = resolved.id;\n\t\tprops.inline = resolved.inline;\n\t\tprops.label = resolved.label;\n\t\tprops.name = resolved.name;\n\t\tprops.shortKey = resolved.shortKey;\n\t\tprops.tabIndex = resolved.tabIndex;\n\t\tprops.tooltipAlign = resolved.tooltipAlign;\n\t\tprops.type = resolved.type;\n\t\tprops.variant = resolved.variant;\n\t\tpopoverAlignProp.apply(popoverButtonProps._popoverAlign ?? 'bottom', (v) => {\n\t\t\tprops.popoverAlign = v;\n\t\t\tpopoverBehavior.watchAlign(v);\n\t\t});\n\t\tloadTooltip();\n\t};\n\n\tloadTooltip();\n\n\treturn {\n\t\tgetFcProps: (popoverButtonProps?: PopoverButtonProps): PopoverButtonFCProps => {\n\t\t\tif (popoverButtonProps) {\n\t\t\t\tapplyPopoverButtonProps(popoverButtonProps);\n\t\t\t}\n\t\t\treturn { ...props, popoverOpen: options.getOpen(), ref: refRoot } as PopoverButtonFCProps;\n\t\t},\n\t\thide: (): void => popoverBehavior.setShow(false),\n\t\tsetDisabled: applyDisabled,\n\t\tsyncListeners: (): void => {\n\t\t\tif (ctaRef.el) {\n\t\t\t\ttooltipBehavior.syncListeners(undefined, ctaRef.el, true);\n\t\t\t}\n\t\t\t// addEventListener is idempotent for an identical listener, so per-render calls are safe.\n\t\t\tpopoverElement?.addEventListener('toggle', handleToggle);\n\t\t},\n\t\tdestroy: (): void => {\n\t\t\ttooltipBehavior.destroy();\n\t\t\tif (popoverElement) {\n\t\t\t\tpopoverElement.removeEventListener('toggle', handleToggle);\n\t\t\t\tpopoverElement = undefined;\n\t\t\t}\n\t\t\tpopoverBehavior.destroy();\n\t\t},\n\t};\n};\n"],"names":["labelWithExpertSlotProp","accessKeyProp","ariaDescriptionProp","ariaHasPopupProp","ariaSelectedProp","buttonCallbacksProp","buttonTypeProp","customClassProp","disabledProp","hideLabelProp","idProp","inlineProp","linkRoleProp","nameProp","popoverAlignProp","shortKeyProp","spanIconsProp","tabIndexProp","tooltipAlignProp","variantProp","PopoverBehavior","BaseWebComponent","TooltipBehavior","createCtaRef","buildDefaultPropsFromConfig","getFeatureFlag","nonce","createUniqueId","dispatchDomEvent","KolEvent","resolveButtonProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"item-K1SS6pAu.js","sources":["src/internal/functional-components/popover-button/api.tsx","src/internal/functional-components/popover-button/item.ts"],"sourcesContent":["import {\n\taccessKeyProp,\n\tariaDescriptionProp,\n\tariaHasPopupProp,\n\tariaSelectedProp,\n\tbuttonCallbacksProp,\n\tbuttonTypeProp,\n\tcustomClassProp,\n\tdisabledProp,\n\thideLabelProp,\n\tidProp,\n\tinlineProp,\n\tlabelWithExpertSlotProp,\n\tlinkRoleProp,\n\tnameProp,\n\tpopoverAlignProp,\n\tshortKeyProp,\n\tspanIconsProp,\n\ttabIndexProp,\n\ttooltipAlignProp,\n\tvariantProp,\n} from '../../props';\nimport type { ApiFromConfig, PropsConfigShape, WebComponentInterface } from '../generic-types';\n\n/**\n * Props configuration for the popover button component.\n *\n * `label` is the only required prop. All others are optional.\n *\n * Notes on prop choices:\n * - `buttonCallbacksProp`, `ariaHasPopupProp`, `ariaSelectedProp` and `linkRoleProp` are carried\n * because `ButtonFC` requires the full button prop surface. The popover button never exposes\n * them: the click callback is reserved for toggling the popover and the ARIA attributes are not\n * rendered, so their store entries keep the `''` sentinel and the element watchers are omitted\n * (same rationale as `ariaHasPopup` on `ButtonApi`).\n * - `ariaControls` and `ariaExpanded` are deliberately absent: the component renders them itself,\n * pointing at the popover element and reflecting its open state.\n * - `_syncValueBySelector` and `_value` are deliberately absent: neither is rendered, and both are\n * opaque pass-throughs to `FormAssociationBehavior` (inherited from `BaseButtonWebComponent`).\n * They stay raw `@Prop`s on the web component, which forwards them from their watchers.\n */\nexport const popoverButtonPropsConfig = {\n\trequired: [labelWithExpertSlotProp],\n\toptional: [\n\t\taccessKeyProp,\n\t\tariaDescriptionProp,\n\t\tariaHasPopupProp,\n\t\tariaSelectedProp,\n\t\tbuttonCallbacksProp,\n\t\tbuttonTypeProp,\n\t\tcustomClassProp,\n\t\tdisabledProp,\n\t\thideLabelProp,\n\t\tidProp,\n\t\tinlineProp,\n\t\tlinkRoleProp,\n\t\tnameProp,\n\t\tpopoverAlignProp,\n\t\tshortKeyProp,\n\t\tspanIconsProp,\n\t\ttabIndexProp,\n\t\ttooltipAlignProp,\n\t\tvariantProp,\n\t],\n} as const satisfies PropsConfigShape;\n\nexport type PopoverButtonApi = ApiFromConfig<\n\ttypeof popoverButtonPropsConfig,\n\t{\n\t\tCallbacks: {\n\t\t\t/**\n\t\t\t * Blur handler bound to the button element. Implemented by the web component, which also\n\t\t\t * dispatches the custom `KolEvent.blur` event on the host element.\n\t\t\t */\n\t\t\tblur: (event: FocusEvent) => void;\n\t\t\t/**\n\t\t\t * Click handler bound to the button element. Implemented by the web component; toggles the\n\t\t\t * popover and dispatches `KolEvent.click`. Not exposed as a consumer callback.\n\t\t\t */\n\t\t\tclick: (event: MouseEvent) => void;\n\t\t\t/**\n\t\t\t * Focus handler bound to the button element. Implemented by the web component, which also\n\t\t\t * dispatches the custom `KolEvent.focus` event on the host element.\n\t\t\t */\n\t\t\tfocus: (event: FocusEvent) => void;\n\t\t\t/**\n\t\t\t * Mousedown handler bound to the button element. Implemented by the web component, which\n\t\t\t * also dispatches the custom `KolEvent.mousedown` event on the host element.\n\t\t\t */\n\t\t\tmouseDown: (event: MouseEvent) => void;\n\t\t};\n\t\tRefs: {\n\t\t\tbutton: HTMLButtonElement;\n\t\t\tpopover: HTMLDivElement;\n\t\t\ttooltip: HTMLDivElement;\n\t\t};\n\t\tStates: {\n\t\t\t/**\n\t\t\t * DOM id of the visually-hidden span that carries the aria description, referenced by the\n\t\t\t * button's aria-describedby attribute (aria-description lacks screen reader support).\n\t\t\t */\n\t\t\tariaDescriptionId: string;\n\t\t\t/**\n\t\t\t * Whether the popover is currently open. Derived from the native popover `toggle` event,\n\t\t\t * so class modifier and `aria-expanded` always match the real popover state.\n\t\t\t */\n\t\t\tpopoverOpen: boolean;\n\t\t\t/**\n\t\t\t * DOM id of the popover element, referenced by the button's aria-controls attribute.\n\t\t\t * Generated once per web component instance and never changed afterwards.\n\t\t\t */\n\t\t\tpopoverId: string;\n\t\t};\n\t}\n>;\n\n/**\n * Web component interface for the public `kol-popover-button`.\n *\n * `_id` is an internal prop of the functional component, not part of the public element.\n * `on` is never a consumer prop: its click callback is reserved for toggling the popover. Both\n * are part of `PopoverButtonApi`, but their watchers are omitted here instead of being declared\n * as no-ops.\n */\nexport type PopoverButtonWebComponentInterface = Omit<\n\tWebComponentInterface<PopoverButtonApi>,\n\t'watchAriaHasPopup' | 'watchId' | 'watchOn' | 'watchRole' | 'watchAriaSelected'\n>;\n","import { getFeatureFlag } from 'adopted-style-sheets';\n\nimport type { AlignPropType, IconsPropType, InternalButtonProps, LabelWithExpertSlotPropType, PopoverButtonProps } from '../../../schema';\nimport { createUniqueId, nonce } from '../../../utils/dev.utils';\nimport { createCtaRef } from '../../../utils/element-interaction';\nimport { dispatchDomEvent, KolEvent } from '../../../utils/events';\nimport {\n\tbuttonTypeProp,\n\tdisabledProp,\n\thideLabelProp,\n\tinlineProp,\n\tlabelWithExpertSlotProp,\n\tpopoverAlignProp,\n\tspanIconsProp,\n\ttooltipAlignProp,\n\tvariantProp,\n} from '../../props';\nimport { BaseWebComponent } from '../base-web-component';\nimport { resolveButtonProps } from '../button/resolve-props';\nimport { PopoverBehavior } from '../popover/behavior';\nimport { buildDefaultPropsFromConfig } from '../props-from-config';\nimport { TooltipBehavior } from '../tooltip/behavior';\nimport { popoverButtonPropsConfig } from './api';\nimport type { PopoverButtonFCProps } from './component';\n\n/**\n * One orchestrated popover button embedded in another component's shadow DOM: everything\n * `PopoverButtonFC` needs to render, plus the lifecycle hooks the surrounding web component has to\n * drive.\n *\n * It exists because `PopoverButtonFC` is stateless while the popover is not — the toggle\n * behavior, the open state, the tooltip behavior and three element refs have to live somewhere.\n * `BasePopoverButtonWebComponent` owns exactly that for the `kol-popover-button` elements, but a\n * component that embeds the popover button *next to* its own button (`kol-split-button`) needs a\n * second, independent set of them and cannot inherit it. The item is a plain object with closures,\n * like `breadcrumb/link-item.ts`, so the embedding component composes it instead of inheriting it.\n *\n * The open state is not kept here: it belongs to the embedding component as a reactive `@State()`\n * field, reached through the `getOpen`/`setOpen` accessors, so toggling re-renders the host.\n */\nexport type PopoverButtonItem = {\n\t/**\n\t * Fully resolved props for `PopoverButtonFC`, with the current open state applied. With\n\t * `popoverButtonProps`, the toggle button is resolved from them for this render pass, the way the\n\t * popover button elements resolve their `@Prop`s; call once per render then.\n\t */\n\tgetFcProps(popoverButtonProps?: PopoverButtonProps): PopoverButtonFCProps;\n\t/** Closes the popover programmatically. */\n\thide(): void;\n\t/** Applies a changed `disabled` value; call from the embedding component's watcher. */\n\tsetDisabled(value?: boolean): void;\n\t/** Re-registers tooltip and toggle listeners. Call from `componentDidRender`. */\n\tsyncListeners(): void;\n\t/** Tears down listeners, the popover behavior and the tooltip behavior. */\n\tdestroy(): void;\n};\n\nexport type PopoverButtonItemOptions = {\n\t/** Whether the toggle button starts disabled. */\n\tdisabled?: boolean;\n\t/**\n\t * Element the synthetic `KolEvent` DOM events are dispatched on, an ancestor of the button inside\n\t * the embedding component's shadow DOM; they bubble out to the consumer from there. Defaults to\n\t * the `.kol-popover-button` root.\n\t */\n\tgetEventTarget?: () => HTMLElement | undefined;\n\t/** Element the theme-scoped `buttonVariantDefault` feature flag is resolved against. */\n\tgetFlagHost: () => HTMLElement | undefined;\n\t/** Reads the embedding component's reactive open state. */\n\tgetOpen: () => boolean;\n\t/** Hides the label and renders it as a tooltip instead. */\n\thideLabel?: boolean;\n\t/** Icon classnames of the toggle button. */\n\ticons?: IconsPropType;\n\t/** Visible or semantic label of the toggle button. */\n\tlabel?: LabelWithExpertSlotPropType;\n\t/** Where to show the popover preferably. */\n\tpopoverAlign?: AlignPropType;\n\t/** Writes the embedding component's reactive open state. */\n\tsetOpen: (open: boolean) => void;\n};\n\nexport const createPopoverButtonItem = (options: PopoverButtonItemOptions): PopoverButtonItem => {\n\tconst popoverBehavior = new PopoverBehavior(BaseWebComponent.stateLess);\n\tconst tooltipBehavior = new TooltipBehavior(BaseWebComponent.stateLess);\n\tconst ctaRef = createCtaRef<HTMLButtonElement>();\n\tlet popoverElement: HTMLDivElement | undefined;\n\tlet rootElement: HTMLElement | undefined;\n\n\tconst props = buildDefaultPropsFromConfig(popoverButtonPropsConfig);\n\n\t// An unset tabindex must not render as `tabindex=\"0\"` — buttons are natively tabbable and the\n\t// attribute would pin them into the document tab order.\n\tdelete props.tabIndex;\n\n\tconst applyDisabled = (value?: boolean): void => {\n\t\tdisabledProp.apply(value, (v) => {\n\t\t\tprops.disabled = v;\n\t\t});\n\t};\n\n\tapplyDisabled(options.disabled);\n\thideLabelProp.apply(options.hideLabel, (v) => {\n\t\tprops.hideLabel = v;\n\t});\n\tspanIconsProp.apply(options.icons, (v) => {\n\t\tprops.icons = v;\n\t});\n\t// `inlineProp` defaults to `true`, `tooltipAlignProp` to `'right'` — both are shared with the\n\t// link. The popover button elements declare `false` and `'top'` as their `@Prop` defaults, so\n\t// the embedded button has to restate them; leaving them out renders a different button.\n\tinlineProp.apply(false, (v) => {\n\t\tprops.inline = v;\n\t});\n\ttooltipAlignProp.apply('top', (v) => {\n\t\tprops.tooltipAlign = v;\n\t});\n\tbuttonTypeProp.apply('button', (v) => {\n\t\tprops.type = v;\n\t});\n\tlabelWithExpertSlotProp.apply(options.label, (v) => {\n\t\tprops.label = v;\n\t});\n\t// An invalid `popoverAlign` is ignored, so the behavior loads with the default then.\n\tlet popoverAlign = popoverAlignProp.getDefaultValue();\n\tpopoverAlignProp.apply(options.popoverAlign, (v) => {\n\t\tpopoverAlign = v;\n\t});\n\tprops.popoverAlign = popoverAlign;\n\tpopoverBehavior.componentWillLoad({ align: popoverAlign });\n\tvariantProp.apply(getFeatureFlag('buttonVariantDefault', options.getFlagHost()) ?? 'normal', (v) => {\n\t\tprops.variant = v;\n\t});\n\n\tprops.ariaDescriptionId = nonce();\n\tprops.popoverId = createUniqueId('popover');\n\n\tconst dispatch = (event: KolEvent): void => {\n\t\tconst target = options.getEventTarget ? options.getEventTarget() : rootElement;\n\t\tif (target) {\n\t\t\tdispatchDomEvent(target, event);\n\t\t}\n\t};\n\n\tconst handleToggle = (event: Event): void => {\n\t\toptions.setOpen((event as ToggleEvent).newState === 'open');\n\t};\n\n\tprops.handleClick = (event: MouseEvent): void => {\n\t\tevent.stopPropagation();\n\t\ttooltipBehavior.hideTooltip();\n\t\tpopoverBehavior.setShow(!options.getOpen());\n\t\tdispatch(KolEvent.click);\n\t};\n\tprops.handleMouseDown = (): void => dispatch(KolEvent.mousedown);\n\tprops.handleFocus = (): void => dispatch(KolEvent.focus);\n\tprops.handleBlur = (): void => dispatch(KolEvent.blur);\n\n\tprops.refButton = (element?: HTMLButtonElement): void => {\n\t\tctaRef(element);\n\t\tpopoverBehavior.setTriggerElement(element);\n\t};\n\tprops.refPopover = (element?: HTMLDivElement): void => {\n\t\tpopoverElement = element;\n\t\tpopoverBehavior.setPopoverElementRef(element);\n\t};\n\tprops.refTooltip = tooltipBehavior.setTooltipElementRef;\n\n\tconst refRoot = (element?: HTMLElement): void => {\n\t\trootElement = element;\n\t};\n\n\tconst loadTooltip = (): void => {\n\t\ttooltipBehavior.componentWillLoad({\n\t\t\tlabel: props.label as string,\n\t\t\talign: props.tooltipAlign as AlignPropType,\n\t\t});\n\t};\n\n\t/*\n\t * The `@Prop` defaults of the popover button elements: they equal those of the button elements,\n\t * except for the variant, which is `normal` instead of the `buttonVariantDefault` feature flag.\n\t */\n\tconst applyPopoverButtonProps = (popoverButtonProps: PopoverButtonProps): void => {\n\t\tconst resolved = resolveButtonProps(\n\t\t\t{ ...popoverButtonProps, _on: undefined, _variant: popoverButtonProps._variant ?? 'normal' } as InternalButtonProps,\n\t\t\toptions.getFlagHost(),\n\t\t);\n\t\tprops.accessKey = resolved.accessKey;\n\t\tprops.ariaDescription = resolved.ariaDescription;\n\t\tprops.customClass = resolved.customClass;\n\t\tprops.disabled = resolved.disabled;\n\t\tprops.hideLabel = resolved.hideLabel;\n\t\tprops.icons = resolved.icons;\n\t\tprops.id = resolved.id;\n\t\tprops.inline = resolved.inline;\n\t\tprops.label = resolved.label;\n\t\tprops.name = resolved.name;\n\t\tprops.shortKey = resolved.shortKey;\n\t\tprops.tabIndex = resolved.tabIndex;\n\t\tprops.tooltipAlign = resolved.tooltipAlign;\n\t\tprops.type = resolved.type;\n\t\tprops.variant = resolved.variant;\n\t\tpopoverAlignProp.apply(popoverButtonProps._popoverAlign ?? 'bottom', (v) => {\n\t\t\tprops.popoverAlign = v;\n\t\t\tpopoverBehavior.watchAlign(v);\n\t\t});\n\t\tloadTooltip();\n\t};\n\n\tloadTooltip();\n\n\treturn {\n\t\tgetFcProps: (popoverButtonProps?: PopoverButtonProps): PopoverButtonFCProps => {\n\t\t\tif (popoverButtonProps) {\n\t\t\t\tapplyPopoverButtonProps(popoverButtonProps);\n\t\t\t}\n\t\t\treturn { ...props, popoverOpen: options.getOpen(), ref: refRoot } as PopoverButtonFCProps;\n\t\t},\n\t\thide: (): void => popoverBehavior.setShow(false),\n\t\tsetDisabled: applyDisabled,\n\t\tsyncListeners: (): void => {\n\t\t\tif (ctaRef.el) {\n\t\t\t\ttooltipBehavior.syncListeners(undefined, ctaRef.el, true);\n\t\t\t}\n\t\t\t// addEventListener is idempotent for an identical listener, so per-render calls are safe.\n\t\t\tpopoverElement?.addEventListener('toggle', handleToggle);\n\t\t},\n\t\tdestroy: (): void => {\n\t\t\ttooltipBehavior.destroy();\n\t\t\tif (popoverElement) {\n\t\t\t\tpopoverElement.removeEventListener('toggle', handleToggle);\n\t\t\t\tpopoverElement = undefined;\n\t\t\t}\n\t\t\tpopoverBehavior.destroy();\n\t\t},\n\t};\n};\n"],"names":["labelWithExpertSlotProp","accessKeyProp","ariaDescriptionProp","ariaHasPopupProp","ariaSelectedProp","buttonCallbacksProp","buttonTypeProp","customClassProp","disabledProp","hideLabelProp","idProp","inlineProp","linkRoleProp","nameProp","popoverAlignProp","shortKeyProp","spanIconsProp","tabIndexProp","tooltipAlignProp","variantProp","PopoverBehavior","BaseWebComponent","TooltipBehavior","createCtaRef","buildDefaultPropsFromConfig","getFeatureFlag","nonce","createUniqueId","dispatchDomEvent","KolEvent","resolveButtonProps"],"mappings":";;;;;;;;;;;;;;;;;;;AAyCO,MAAM,wBAAwB,GAAG;IACvC,QAAQ,EAAE,CAACA,2CAAuB,CAAC;AACnC,IAAA,QAAQ,EAAE;QACTC,qBAAa;QACbC,2BAAmB;QACnBC,oBAAgB;QAChBC,oBAAgB;QAChBC,uBAAmB;QACnBC,kBAAc;QACdC,uBAAe;QACfC,qBAAY;QACZC,qBAAa;QACbC,eAAM;QACNC,kBAAU;QACVC,oBAAY;QACZC,aAAQ;QACRC,0BAAgB;QAChBC,oBAAY;QACZC,qBAAa;QACbC,oBAAY;QACZC,wBAAgB;QAChBC,mBAAW;AACX,KAAA;CACmC;;ACkBxB,MAAA,uBAAuB,GAAG,CAAC,OAAiC,KAAuB;;IAC/F,MAAM,eAAe,GAAG,IAAIC,yBAAe,CAACC,iCAAgB,CAAC,SAAS,CAAC;IACvE,MAAM,eAAe,GAAG,IAAIC,wBAAe,CAACD,iCAAgB,CAAC,SAAS,CAAC;AACvE,IAAA,MAAM,MAAM,GAAGE,+BAAY,EAAqB;AAChD,IAAA,IAAI,cAA0C;AAC9C,IAAA,IAAI,WAAoC;AAExC,IAAA,MAAM,KAAK,GAAGC,4CAA2B,CAAC,wBAAwB,CAAC;IAInE,OAAO,KAAK,CAAC,QAAQ;AAErB,IAAA,MAAM,aAAa,GAAG,CAAC,KAAe,KAAU;QAC/ChB,qBAAY,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,KAAI;AAC/B,YAAA,KAAK,CAAC,QAAQ,GAAG,CAAC;AACnB,SAAC,CAAC;AACH,KAAC;AAED,IAAA,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC/BC,qBAAa,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,KAAI;AAC5C,QAAA,KAAK,CAAC,SAAS,GAAG,CAAC;AACpB,KAAC,CAAC;IACFO,qBAAa,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,KAAI;AACxC,QAAA,KAAK,CAAC,KAAK,GAAG,CAAC;AAChB,KAAC,CAAC;IAIFL,kBAAU,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,KAAI;AAC7B,QAAA,KAAK,CAAC,MAAM,GAAG,CAAC;AACjB,KAAC,CAAC;IACFO,wBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,KAAI;AACnC,QAAA,KAAK,CAAC,YAAY,GAAG,CAAC;AACvB,KAAC,CAAC;IACFZ,kBAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAI;AACpC,QAAA,KAAK,CAAC,IAAI,GAAG,CAAC;AACf,KAAC,CAAC;IACFN,2CAAuB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,KAAI;AAClD,QAAA,KAAK,CAAC,KAAK,GAAG,CAAC;AAChB,KAAC,CAAC;AAEF,IAAA,IAAI,YAAY,GAAGc,0BAAgB,CAAC,eAAe,EAAE;IACrDA,0BAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,KAAI;QAClD,YAAY,GAAG,CAAC;AACjB,KAAC,CAAC;AACF,IAAA,KAAK,CAAC,YAAY,GAAG,YAAY;IACjC,eAAe,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;AAC1D,IAAAK,mBAAW,CAAC,KAAK,CAAC,MAAAM,QAAc,CAAC,sBAAsB,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,MAAI,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAA,QAAQ,EAAE,CAAC,CAAC,KAAI;AAClG,QAAA,KAAK,CAAC,OAAO,GAAG,CAAC;AAClB,KAAC,CAAC;AAEF,IAAA,KAAK,CAAC,iBAAiB,GAAGC,eAAK,EAAE;AACjC,IAAA,KAAK,CAAC,SAAS,GAAGC,wBAAc,CAAC,SAAS,CAAC;AAE3C,IAAA,MAAM,QAAQ,GAAG,CAAC,KAAe,KAAU;AAC1C,QAAA,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,EAAE,GAAG,WAAW;QAC9E,IAAI,MAAM,EAAE;AACX,YAAAC,uBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC;;AAEjC,KAAC;AAED,IAAA,MAAM,YAAY,GAAG,CAAC,KAAY,KAAU;QAC3C,OAAO,CAAC,OAAO,CAAE,KAAqB,CAAC,QAAQ,KAAK,MAAM,CAAC;AAC5D,KAAC;AAED,IAAA,KAAK,CAAC,WAAW,GAAG,CAAC,KAAiB,KAAU;QAC/C,KAAK,CAAC,eAAe,EAAE;QACvB,eAAe,CAAC,WAAW,EAAE;QAC7B,eAAe,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;AAC3C,QAAA,QAAQ,CAACC,eAAQ,CAAC,KAAK,CAAC;AACzB,KAAC;AACD,IAAA,KAAK,CAAC,eAAe,GAAG,MAAY,QAAQ,CAACA,eAAQ,CAAC,SAAS,CAAC;AAChE,IAAA,KAAK,CAAC,WAAW,GAAG,MAAY,QAAQ,CAACA,eAAQ,CAAC,KAAK,CAAC;AACxD,IAAA,KAAK,CAAC,UAAU,GAAG,MAAY,QAAQ,CAACA,eAAQ,CAAC,IAAI,CAAC;AAEtD,IAAA,KAAK,CAAC,SAAS,GAAG,CAAC,OAA2B,KAAU;QACvD,MAAM,CAAC,OAAO,CAAC;AACf,QAAA,eAAe,CAAC,iBAAiB,CAAC,OAAO,CAAC;AAC3C,KAAC;AACD,IAAA,KAAK,CAAC,UAAU,GAAG,CAAC,OAAwB,KAAU;QACrD,cAAc,GAAG,OAAO;AACxB,QAAA,eAAe,CAAC,oBAAoB,CAAC,OAAO,CAAC;AAC9C,KAAC;AACD,IAAA,KAAK,CAAC,UAAU,GAAG,eAAe,CAAC,oBAAoB;AAEvD,IAAA,MAAM,OAAO,GAAG,CAAC,OAAqB,KAAU;QAC/C,WAAW,GAAG,OAAO;AACtB,KAAC;IAED,MAAM,WAAW,GAAG,MAAW;QAC9B,eAAe,CAAC,iBAAiB,CAAC;YACjC,KAAK,EAAE,KAAK,CAAC,KAAe;YAC5B,KAAK,EAAE,KAAK,CAAC,YAA6B;AAC1C,SAAA,CAAC;AACH,KAAC;AAMD,IAAA,MAAM,uBAAuB,GAAG,CAAC,kBAAsC,KAAU;;QAChF,MAAM,QAAQ,GAAGC,+BAAkB,CAClC,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAK,kBAAkB,CAAA,EAAA,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAA,kBAAkB,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,QAAQ,EAAA,CAAyB,EACnH,OAAO,CAAC,WAAW,EAAE,CACrB;AACD,QAAA,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS;AACpC,QAAA,KAAK,CAAC,eAAe,GAAG,QAAQ,CAAC,eAAe;AAChD,QAAA,KAAK,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW;AACxC,QAAA,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ;AAClC,QAAA,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS;AACpC,QAAA,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK;AAC5B,QAAA,KAAK,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE;AACtB,QAAA,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM;AAC9B,QAAA,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK;AAC5B,QAAA,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI;AAC1B,QAAA,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ;AAClC,QAAA,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ;AAClC,QAAA,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY;AAC1C,QAAA,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI;AAC1B,QAAA,KAAK,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO;AAChC,QAAAhB,0BAAgB,CAAC,KAAK,CAAC,CAAA,EAAA,GAAA,kBAAkB,CAAC,aAAa,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,QAAQ,EAAE,CAAC,CAAC,KAAI;AAC1E,YAAA,KAAK,CAAC,YAAY,GAAG,CAAC;AACtB,YAAA,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;AAC9B,SAAC,CAAC;AACF,QAAA,WAAW,EAAE;AACd,KAAC;AAED,IAAA,WAAW,EAAE;IAEb,OAAO;AACN,QAAA,UAAU,EAAE,CAAC,kBAAuC,KAA0B;YAC7E,IAAI,kBAAkB,EAAE;gBACvB,uBAAuB,CAAC,kBAAkB,CAAC;;YAE5C,OAAO,MAAK,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,CAAE,EAAA,EAAA,WAAW,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,OAAO,GAA0B;SACzF;QACD,IAAI,EAAE,MAAY,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC;AAChD,QAAA,WAAW,EAAE,aAAa;QAC1B,aAAa,EAAE,MAAW;AACzB,YAAA,IAAI,MAAM,CAAC,EAAE,EAAE;gBACd,eAAe,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC;;YAG1D,cAAc,KAAA,IAAA,IAAd,cAAc,KAAA,MAAA,GAAA,MAAA,GAAd,cAAc,CAAE,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC;SACxD;QACD,OAAO,EAAE,MAAW;YACnB,eAAe,CAAC,OAAO,EAAE;YACzB,IAAI,cAAc,EAAE;AACnB,gBAAA,cAAc,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC;gBAC1D,cAAc,GAAG,SAAS;;YAE3B,eAAe,CAAC,OAAO,EAAE;SACzB;KACD;AACF;;;;"}
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var index = require('./index-
|
|
6
|
+
var index = require('./index-RAfZF5x0.js');
|
|
7
7
|
require('./common-B9-LvLNa.js');
|
|
8
8
|
var baseWebComponent = require('./base-web-component-DK5Y-vq5.js');
|
|
9
9
|
var label = require('./label-DVnpZWVb.js');
|
|
10
|
-
var component = require('./component-
|
|
10
|
+
var component = require('./component-Du98sklA.js');
|
|
11
11
|
require('./isArray-BOIOdEQh.js');
|
|
12
12
|
require('./tslib.es6-Cm0ytgPY.js');
|
|
13
13
|
require('./clsx-Bm_HQUnh.js');
|
|
@@ -3,28 +3,28 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var index = require('./index-
|
|
6
|
+
var index = require('./index-RAfZF5x0.js');
|
|
7
7
|
var tslib_es6 = require('./tslib.es6-Cm0ytgPY.js');
|
|
8
8
|
var common = require('./common-B9-LvLNa.js');
|
|
9
9
|
var baseWebComponent = require('./base-web-component-DK5Y-vq5.js');
|
|
10
|
-
var toggleHandler = require('./toggle-handler-
|
|
10
|
+
var toggleHandler = require('./toggle-handler-CENFGRWT.js');
|
|
11
11
|
var level = require('./level-CiJPVEp4.js');
|
|
12
12
|
var disabled = require('./disabled-B8tOrtj_.js');
|
|
13
13
|
var label = require('./label-DVnpZWVb.js');
|
|
14
14
|
var open = require('./open-XeILuCji.js');
|
|
15
|
-
var dev_utils = require('./dev.utils-
|
|
15
|
+
var dev_utils = require('./dev.utils-DybQ4euF.js');
|
|
16
16
|
var elementInteraction = require('./element-interaction-7FI_z19L.js');
|
|
17
17
|
require('./isArray-BOIOdEQh.js');
|
|
18
|
-
require('./Heading-
|
|
18
|
+
require('./Heading-yiwXjRrz.js');
|
|
19
19
|
require('./clsx-Bm_HQUnh.js');
|
|
20
20
|
require('./block-bem-D7PDS6kC.js');
|
|
21
21
|
require('./bem-registry-BDVdt6ar.js');
|
|
22
|
-
require('./component-
|
|
23
|
-
require('./component-
|
|
22
|
+
require('./component-Dd-PS3jp.js');
|
|
23
|
+
require('./component-3EZdZbDH.js');
|
|
24
24
|
require('./events-PISRnO5c.js');
|
|
25
25
|
require('./element-focus-D5g3xQN4.js');
|
|
26
26
|
|
|
27
|
-
const defaultStyleCss = "@charset \"UTF-8\";\n/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n* 6. kol-forced-colors - Defaults for forced colors and high contrast modes\n* 7. kol-theme-forced-colors - Theme-specific styles for forced colors and high contrast modes\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component, kol-forced-colors, kol-theme-forced-colors;\n/* forward the rem function */\n/*\n * Guards an interaction rule (`:hover`, `:active`, `:focus…`) against the disabled state.\n *\n * Two shapes are needed because the disabled marker sits on different elements: a native control\n * carries `disabled`, an anchor or summary carries `aria-disabled`, and a BEM wrapper carries a\n * `--disabled` modifier while its inner control carries the attribute.\n */\n/* Wrapper variant: asks the interactive element inside, which is where the attribute lives. */\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 * The `max(…, 44px)` floor guarantees the WCAG 2.5.5 (AAA) target size of 44px:\n * `to-rem(44)` runs the value through a `calc()` rem round-trip which can lose\n * sub-pixel precision and resolve to e.g. 43.99px depending on the browser's\n * rounding, dropping just below the required minimum.\n */\n --a11y-min-size: max(calc(44 * 1rem / var(--kolibri-root-font-size, 16)), 44px);\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n --kol-a11y-font-color: black;\n --kol-a11y-background-color: white;\n color: var(--kol-a11y-font-color);\n background-color: var(--kol-a11y-background-color);\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n --kol-a11y-font-family: Verdana;\n font-family: var(--kol-a11y-font-family);\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 * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\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 button,\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 text color from his parent element.\n */\n color: inherit;\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: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\n }\n}\n/*\n * This file contains all rules for forced-colors and highcontrast modes\n * https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/system-color to see all color keywords the browsers are providing\n */\n@layer kol-forced-colors {\n @media (forced-colors: active) {\n .kol-button__text {\n color: ButtonText;\n background-color: ButtonFace;\n border: 2px solid ButtonBorder;\n }\n .kol-button--disabled .kol-button__text {\n color: GrayText;\n border-color: GrayText;\n }\n /*\n * Forced colors drop author colors, so the only way a disabled control still reads as\n * disabled is the `GrayText` system color. `kol-button` had it; the controls whose disabled\n * state is `aria-disabled` (anchor, summary) and the native form controls did not.\n */\n .kol-link__interactive-element[aria-disabled=true],\n .kol-accordion__heading[aria-disabled=true],\n .kol-details__heading[aria-disabled=true] {\n color: GrayText;\n }\n .kol-link__interactive-element[aria-disabled=true] .kol-icon,\n .kol-link__interactive-element[aria-disabled=true] .kol-span__label,\n .kol-accordion__heading[aria-disabled=true] .kol-icon,\n .kol-accordion__heading[aria-disabled=true] .kol-span__label,\n .kol-details__heading[aria-disabled=true] .kol-icon,\n .kol-details__heading[aria-disabled=true] .kol-span__label {\n color: GrayText;\n }\n input:disabled,\n select:disabled,\n textarea:disabled {\n color: GrayText;\n border-color: GrayText;\n }\n .kol-card,\n .kol-dialog,\n .kol-modal {\n color: CanvasText;\n background-color: Canvas;\n border: 1px solid ButtonBorder;\n }\n .kol-pagination__button--selected .kol-button {\n opacity: 1;\n }\n .kol-pagination__button--selected .kol-button__text {\n color: SelectedItemText;\n background-color: SelectedItem;\n }\n /* focus styles */\n .kol-button__interactive-element:focus-visible,\n .kol-link__interactive-element:focus-visible {\n outline: 2px solid Highlight;\n outline-offset: 2px;\n }\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: white;\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(16 * 1rem / 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: flex;\n flex-flow: column;\n align-items: center;\n justify-content: 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 align-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 /* A disabled `fieldset` only groups its controls; `cursor` is inherited and would reach the\n operable info popover in its legend. */\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled]:where(:not(fieldset)),\n [disabled]:where(:not(fieldset)):focus {\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 .hastooltip {\n z-index: 900 !important;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n/* For animation technique see https://css-tricks.com/css-grid-can-do-auto-height-transitions/ */\n/*\n * Base styles for a collapsible built on `<details>`/`<summary>`: `kol-accordion` and `kol-details`\n * render the same DOM under their own block, so each includes this mixin with its block name.\n *\n * The transition duration comes from the theme's `collapsibleTransitionMs` feature flag, which the\n * component writes to `--collapsible-transition-duration` on `<details>`.\n */\n@font-face {\n font-family: \"kolicons\";\n src: url(\"kolicons.eot?t=1791530377872\"); /* IE9*/\n src: url(\"kolicons.eot?t=1791530377872#iefix\") format(\"embedded-opentype\"), url(\"kolicons.woff2?t=1791530377872\") format(\"woff2\"), url(\"kolicons.woff?t=1791530377872\") format(\"woff\"), url(\"kolicons.ttf?t=1791530377872\") format(\"truetype\"), url(\"kolicons.svg?t=1791530377872#kolicons\") format(\"svg\"); /* iOS 4.1- */\n}\n@layer kol-component {\n [class^=kolicon-], [class*=\" kolicon-\"] {\n font-family: \"kolicons\";\n font-style: normal;\n font-weight: 400;\n line-height: 1em;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n .kolicon-alert-error::before {\n content: \"\\ea01\";\n }\n .kolicon-alert-info::before {\n content: \"\\ea02\";\n }\n .kolicon-alert-success::before {\n content: \"\\ea03\";\n }\n .kolicon-alert-warning::before {\n content: \"\\ea04\";\n }\n .kolicon-check::before {\n content: \"\\ea05\";\n }\n .kolicon-chevron-double-left::before {\n content: \"\\ea06\";\n }\n .kolicon-chevron-double-right::before {\n content: \"\\ea07\";\n }\n .kolicon-chevron-down::before {\n content: \"\\ea08\";\n }\n .kolicon-chevron-left::before {\n content: \"\\ea09\";\n }\n .kolicon-chevron-right::before {\n content: \"\\ea0a\";\n }\n .kolicon-chevron-up::before {\n content: \"\\ea0b\";\n }\n .kolicon-cogwheel::before {\n content: \"\\ea0c\";\n }\n .kolicon-cross::before {\n content: \"\\ea0d\";\n }\n .kolicon-eye-closed::before {\n content: \"\\ea0e\";\n }\n .kolicon-eye::before {\n content: \"\\ea0f\";\n }\n .kolicon-house::before {\n content: \"\\ea10\";\n }\n .kolicon-kolibri::before {\n content: \"\\ea11\";\n }\n .kolicon-link-external::before {\n content: \"\\ea12\";\n }\n .kolicon-link::before {\n content: \"\\ea13\";\n }\n .kolicon-minus::before {\n content: \"\\ea14\";\n }\n .kolicon-pin-pinned::before {\n content: \"\\ea15\";\n }\n .kolicon-pin-unpinned::before {\n content: \"\\ea16\";\n }\n .kolicon-plus::before {\n content: \"\\ea17\";\n }\n .kolicon-settings::before {\n content: \"\\ea18\";\n }\n .kolicon-sort-asc::before {\n content: \"\\ea19\";\n }\n .kolicon-sort-desc::before {\n content: \"\\ea1a\";\n }\n .kolicon-sort-neutral::before {\n content: \"\\ea1b\";\n }\n .kolicon-up::before {\n content: \"\\ea1c\";\n }\n .kolicon-version::before {\n content: \"\\ea1d\";\n }\n}\n@layer kol-component {\n .kol-accordion {\n /* `<summary>` is the toggle control and carries the box of the button it stands in for. */\n }\n .kol-accordion__heading {\n display: flex;\n min-height: var(--a11y-min-size);\n /* The `not-allowed` reset for disabled controls lives in `kol-global`, which loses to\n `kol-component` whatever the specificity (see `_layer-order.scss`). The pointer has to\n exclude the disabled summary itself, or it wins and a dead control looks clickable. */\n }\n .kol-accordion__heading:not([aria-disabled=true]) {\n cursor: pointer;\n }\n .kol-accordion__heading {\n /* Baseline box for the flex container; without it the surrounding inline flow shifts by 1px. */\n }\n .kol-accordion__heading::before {\n content: \"\";\n }\n .kol-accordion__heading {\n /* The heading fills the row; the label span is the flex container inside it. */\n }\n .kol-accordion__heading > .kol-headline {\n display: flex;\n flex: 1;\n margin: 0;\n text-align: left;\n /* Form controls do not inherit font-weight (see `a11y.scss`); themes weight the label further in. */\n font-weight: 400;\n }\n .kol-accordion__heading > .kol-headline > .kol-span {\n flex: 1 0 100%;\n /* `.kol-span` centres its column (`_global.scss`); the summary label is start-aligned. */\n align-items: flex-start;\n }\n @media (prefers-reduced-motion) {\n .kol-accordion__wrapper-animation, .kol-accordion__wrapper {\n transition: none !important;\n }\n }\n .kol-accordion {\n /* @see https://github.com/public-ui/kolibri/issues/5952 */\n }\n @media print {\n .kol-accordion:not(.kol-accordion--open) .kol-accordion__wrapper-animation {\n display: none;\n }\n }\n .kol-accordion__wrapper {\n /* Forces the element into its own GPU compositing layer (via 3D transform). Helps prevent rendering/layout bugs (e.g. #7511) and may improve animation performance. */\n transform: translateZ(0);\n display: grid;\n grid-template-columns: minmax(0, 1fr);\n grid-template-rows: 0fr;\n transition: grid-template-rows var(--collapsible-transition-duration, 0.3s);\n }\n .kol-accordion__wrapper-animation {\n opacity: 0;\n transform: scaleY(0);\n transform-origin: top;\n min-height: 0;\n /* This property is important to keep in sync with the visual transition (template-rows). Without it interactive elements within the accordion would stay focusable. */\n visibility: hidden;\n transition: transform var(--collapsible-transition-duration, 0.3s), opacity var(--collapsible-transition-duration, 0.3s), visibility var(--collapsible-transition-duration, 0.3s);\n }\n .kol-accordion--open .kol-accordion__wrapper {\n grid-template-rows: 1fr;\n }\n .kol-accordion--open .kol-accordion__wrapper-animation {\n opacity: 1;\n transform: scaleY(1);\n visibility: visible;\n }\n .kol-accordion--open:focus-within {\n position: relative;\n z-index: 100;\n }\n .kol-icon {\n color: inherit;\n display: inline-block;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n }\n}";
|
|
27
|
+
const defaultStyleCss = "@charset \"UTF-8\";\n/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n* 6. kol-forced-colors - Defaults for forced colors and high contrast modes\n* 7. kol-theme-forced-colors - Theme-specific styles for forced colors and high contrast modes\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component, kol-forced-colors, kol-theme-forced-colors;\n/* forward the rem function */\n/*\n * Guards an interaction rule (`:hover`, `:active`, `:focus…`) against the disabled state.\n *\n * Two shapes are needed because the disabled marker sits on different elements: a native control\n * carries `disabled`, an anchor or summary carries `aria-disabled`, and a BEM wrapper carries a\n * `--disabled` modifier while its inner control carries the attribute.\n */\n/* Wrapper variant: asks the interactive element inside, which is where the attribute lives. */\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 * The `max(…, 44px)` floor guarantees the WCAG 2.5.5 (AAA) target size of 44px:\n * `to-rem(44)` runs the value through a `calc()` rem round-trip which can lose\n * sub-pixel precision and resolve to e.g. 43.99px depending on the browser's\n * rounding, dropping just below the required minimum.\n */\n --a11y-min-size: max(calc(44 * 1rem / var(--kolibri-root-font-size, 16)), 44px);\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n --kol-a11y-font-color: black;\n --kol-a11y-background-color: white;\n color: var(--kol-a11y-font-color);\n background-color: var(--kol-a11y-background-color);\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n --kol-a11y-font-family: Verdana;\n font-family: var(--kol-a11y-font-family);\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 * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\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 button,\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 text color from his parent element.\n */\n color: inherit;\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: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\n }\n}\n/*\n * This file contains all rules for forced-colors and highcontrast modes\n * https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/system-color to see all color keywords the browsers are providing\n */\n@layer kol-forced-colors {\n @media (forced-colors: active) {\n .kol-button__text {\n color: ButtonText;\n background-color: ButtonFace;\n border: 2px solid ButtonBorder;\n }\n .kol-button--disabled .kol-button__text {\n color: GrayText;\n border-color: GrayText;\n }\n /*\n * Forced colors drop author colors, so the only way a disabled control still reads as\n * disabled is the `GrayText` system color. `kol-button` had it; the controls whose disabled\n * state is `aria-disabled` (anchor, summary) and the native form controls did not.\n */\n .kol-link__interactive-element[aria-disabled=true],\n .kol-accordion__heading[aria-disabled=true],\n .kol-details__heading[aria-disabled=true] {\n color: GrayText;\n }\n .kol-link__interactive-element[aria-disabled=true] .kol-icon,\n .kol-link__interactive-element[aria-disabled=true] .kol-span__label,\n .kol-accordion__heading[aria-disabled=true] .kol-icon,\n .kol-accordion__heading[aria-disabled=true] .kol-span__label,\n .kol-details__heading[aria-disabled=true] .kol-icon,\n .kol-details__heading[aria-disabled=true] .kol-span__label {\n color: GrayText;\n }\n input:disabled,\n select:disabled,\n textarea:disabled {\n color: GrayText;\n border-color: GrayText;\n }\n .kol-card,\n .kol-dialog,\n .kol-modal {\n color: CanvasText;\n background-color: Canvas;\n border: 1px solid ButtonBorder;\n }\n .kol-pagination__button--selected .kol-button {\n opacity: 1;\n }\n .kol-pagination__button--selected .kol-button__text {\n color: SelectedItemText;\n background-color: SelectedItem;\n }\n /* focus styles */\n .kol-button__interactive-element:focus-visible,\n .kol-link__interactive-element:focus-visible {\n outline: 2px solid Highlight;\n outline-offset: 2px;\n }\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: white;\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(16 * 1rem / 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: flex;\n flex-flow: column;\n align-items: center;\n justify-content: 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 align-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 /* A disabled `fieldset` only groups its controls; `cursor` is inherited and would reach the\n operable info popover in its legend. */\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled]:where(:not(fieldset)),\n [disabled]:where(:not(fieldset)):focus {\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 .hastooltip {\n z-index: 900 !important;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n/* For animation technique see https://css-tricks.com/css-grid-can-do-auto-height-transitions/ */\n/*\n * Base styles for a collapsible built on `<details>`/`<summary>`: `kol-accordion` and `kol-details`\n * render the same DOM under their own block, so each includes this mixin with its block name.\n *\n * The transition duration comes from the theme's `collapsibleTransitionMs` feature flag, which the\n * component writes to `--collapsible-transition-duration` on `<details>`.\n */\n@font-face {\n font-family: \"kolicons\";\n src: url(\"kolicons.eot?t=1791539188494\"); /* IE9*/\n src: url(\"kolicons.eot?t=1791539188494#iefix\") format(\"embedded-opentype\"), url(\"kolicons.woff2?t=1791539188494\") format(\"woff2\"), url(\"kolicons.woff?t=1791539188494\") format(\"woff\"), url(\"kolicons.ttf?t=1791539188494\") format(\"truetype\"), url(\"kolicons.svg?t=1791539188494#kolicons\") format(\"svg\"); /* iOS 4.1- */\n}\n@layer kol-component {\n [class^=kolicon-], [class*=\" kolicon-\"] {\n font-family: \"kolicons\";\n font-style: normal;\n font-weight: 400;\n line-height: 1em;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n .kolicon-alert-error::before {\n content: \"\\ea01\";\n }\n .kolicon-alert-info::before {\n content: \"\\ea02\";\n }\n .kolicon-alert-success::before {\n content: \"\\ea03\";\n }\n .kolicon-alert-warning::before {\n content: \"\\ea04\";\n }\n .kolicon-check::before {\n content: \"\\ea05\";\n }\n .kolicon-chevron-double-left::before {\n content: \"\\ea06\";\n }\n .kolicon-chevron-double-right::before {\n content: \"\\ea07\";\n }\n .kolicon-chevron-down::before {\n content: \"\\ea08\";\n }\n .kolicon-chevron-left::before {\n content: \"\\ea09\";\n }\n .kolicon-chevron-right::before {\n content: \"\\ea0a\";\n }\n .kolicon-chevron-up::before {\n content: \"\\ea0b\";\n }\n .kolicon-cogwheel::before {\n content: \"\\ea0c\";\n }\n .kolicon-cross::before {\n content: \"\\ea0d\";\n }\n .kolicon-eye-closed::before {\n content: \"\\ea0e\";\n }\n .kolicon-eye::before {\n content: \"\\ea0f\";\n }\n .kolicon-house::before {\n content: \"\\ea10\";\n }\n .kolicon-kolibri::before {\n content: \"\\ea11\";\n }\n .kolicon-link-external::before {\n content: \"\\ea12\";\n }\n .kolicon-link::before {\n content: \"\\ea13\";\n }\n .kolicon-minus::before {\n content: \"\\ea14\";\n }\n .kolicon-pin-pinned::before {\n content: \"\\ea15\";\n }\n .kolicon-pin-unpinned::before {\n content: \"\\ea16\";\n }\n .kolicon-plus::before {\n content: \"\\ea17\";\n }\n .kolicon-settings::before {\n content: \"\\ea18\";\n }\n .kolicon-sort-asc::before {\n content: \"\\ea19\";\n }\n .kolicon-sort-desc::before {\n content: \"\\ea1a\";\n }\n .kolicon-sort-neutral::before {\n content: \"\\ea1b\";\n }\n .kolicon-up::before {\n content: \"\\ea1c\";\n }\n .kolicon-version::before {\n content: \"\\ea1d\";\n }\n}\n@layer kol-component {\n .kol-accordion {\n /* `<summary>` is the toggle control and carries the box of the button it stands in for. */\n }\n .kol-accordion__heading {\n display: flex;\n min-height: var(--a11y-min-size);\n /* The `not-allowed` reset for disabled controls lives in `kol-global`, which loses to\n `kol-component` whatever the specificity (see `_layer-order.scss`). The pointer has to\n exclude the disabled summary itself, or it wins and a dead control looks clickable. */\n }\n .kol-accordion__heading:not([aria-disabled=true]) {\n cursor: pointer;\n }\n .kol-accordion__heading {\n /* Baseline box for the flex container; without it the surrounding inline flow shifts by 1px. */\n }\n .kol-accordion__heading::before {\n content: \"\";\n }\n .kol-accordion__heading {\n /* The heading fills the row; the label span is the flex container inside it. */\n }\n .kol-accordion__heading > .kol-headline {\n display: flex;\n flex: 1;\n margin: 0;\n text-align: left;\n /* Form controls do not inherit font-weight (see `a11y.scss`); themes weight the label further in. */\n font-weight: 400;\n }\n .kol-accordion__heading > .kol-headline > .kol-span {\n flex: 1 0 100%;\n /* `.kol-span` centres its column (`_global.scss`); the summary label is start-aligned. */\n align-items: flex-start;\n }\n @media (prefers-reduced-motion) {\n .kol-accordion__wrapper-animation, .kol-accordion__wrapper {\n transition: none !important;\n }\n }\n .kol-accordion {\n /* @see https://github.com/public-ui/kolibri/issues/5952 */\n }\n @media print {\n .kol-accordion:not(.kol-accordion--open) .kol-accordion__wrapper-animation {\n display: none;\n }\n }\n .kol-accordion__wrapper {\n /* Forces the element into its own GPU compositing layer (via 3D transform). Helps prevent rendering/layout bugs (e.g. #7511) and may improve animation performance. */\n transform: translateZ(0);\n display: grid;\n grid-template-columns: minmax(0, 1fr);\n grid-template-rows: 0fr;\n transition: grid-template-rows var(--collapsible-transition-duration, 0.3s);\n }\n .kol-accordion__wrapper-animation {\n opacity: 0;\n transform: scaleY(0);\n transform-origin: top;\n min-height: 0;\n /* This property is important to keep in sync with the visual transition (template-rows). Without it interactive elements within the accordion would stay focusable. */\n visibility: hidden;\n transition: transform var(--collapsible-transition-duration, 0.3s), opacity var(--collapsible-transition-duration, 0.3s), visibility var(--collapsible-transition-duration, 0.3s);\n }\n .kol-accordion--open .kol-accordion__wrapper {\n grid-template-rows: 1fr;\n }\n .kol-accordion--open .kol-accordion__wrapper-animation {\n opacity: 1;\n transform: scaleY(1);\n visibility: visible;\n }\n .kol-accordion--open:focus-within {\n position: relative;\n z-index: 100;\n }\n .kol-icon {\n color: inherit;\n display: inline-block;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n }\n}";
|
|
28
28
|
|
|
29
29
|
const KolAccordion = class extends baseWebComponent.BaseWebComponent {
|
|
30
30
|
constructor(hostRef) {
|
|
@@ -3,31 +3,31 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var index = require('./index-
|
|
6
|
+
var index = require('./index-RAfZF5x0.js');
|
|
7
7
|
var i18n = require('./i18n-UGaB-Dwg.js');
|
|
8
8
|
require('./common-B9-LvLNa.js');
|
|
9
9
|
var level = require('./level-CiJPVEp4.js');
|
|
10
10
|
var baseWebComponent = require('./base-web-component-DK5Y-vq5.js');
|
|
11
11
|
var hasCloser = require('./has-closer-DssH0mal.js');
|
|
12
12
|
var label = require('./label-DVnpZWVb.js');
|
|
13
|
-
var component = require('./component-
|
|
13
|
+
var component = require('./component-BUCx7i5o.js');
|
|
14
14
|
var behavior = require('./behavior-DMhnAIvG.js');
|
|
15
|
-
var dev_utils = require('./dev.utils-
|
|
15
|
+
var dev_utils = require('./dev.utils-DybQ4euF.js');
|
|
16
16
|
var elementInteraction = require('./element-interaction-7FI_z19L.js');
|
|
17
17
|
var events = require('./events-PISRnO5c.js');
|
|
18
18
|
require('./i18n-B6c-GdHR.js');
|
|
19
19
|
require('./isArray-BOIOdEQh.js');
|
|
20
20
|
require('./tslib.es6-Cm0ytgPY.js');
|
|
21
|
-
require('./Heading-
|
|
21
|
+
require('./Heading-yiwXjRrz.js');
|
|
22
22
|
require('./clsx-Bm_HQUnh.js');
|
|
23
23
|
require('./bem-registry-BDVdt6ar.js');
|
|
24
|
-
require('./component-
|
|
24
|
+
require('./component-Du98sklA.js');
|
|
25
25
|
require('./block-bem-D7PDS6kC.js');
|
|
26
|
-
require('./component-
|
|
27
|
-
require('./component-
|
|
28
|
-
require('./component-
|
|
29
|
-
require('./component-
|
|
30
|
-
require('./component-
|
|
26
|
+
require('./component-CPVFCnaN.js');
|
|
27
|
+
require('./component-CAkixzEQ.js');
|
|
28
|
+
require('./component-Dd-PS3jp.js');
|
|
29
|
+
require('./component-3EZdZbDH.js');
|
|
30
|
+
require('./component-Dw6Tq7Wb.js');
|
|
31
31
|
require('./tooltip-open-tracking-Ba0udJRU.js');
|
|
32
32
|
require('./align-B87Zdyn2.js');
|
|
33
33
|
require('./element-focus-D5g3xQN4.js');
|
|
@@ -60,7 +60,7 @@ const alertPropsConfig = {
|
|
|
60
60
|
optional: [alertCallbacksProp, alertProp, alertTypeProp, alertVariantProp, hasCloser.hasCloserProp, label.labelProp, level.levelProp],
|
|
61
61
|
};
|
|
62
62
|
|
|
63
|
-
const defaultStyleCss = "@charset \"UTF-8\";\n/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n* 6. kol-forced-colors - Defaults for forced colors and high contrast modes\n* 7. kol-theme-forced-colors - Theme-specific styles for forced colors and high contrast modes\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component, kol-forced-colors, kol-theme-forced-colors;\n/* forward the rem function */\n/*\n * Guards an interaction rule (`:hover`, `:active`, `:focus…`) against the disabled state.\n *\n * Two shapes are needed because the disabled marker sits on different elements: a native control\n * carries `disabled`, an anchor or summary carries `aria-disabled`, and a BEM wrapper carries a\n * `--disabled` modifier while its inner control carries the attribute.\n */\n/* Wrapper variant: asks the interactive element inside, which is where the attribute lives. */\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 * The `max(…, 44px)` floor guarantees the WCAG 2.5.5 (AAA) target size of 44px:\n * `to-rem(44)` runs the value through a `calc()` rem round-trip which can lose\n * sub-pixel precision and resolve to e.g. 43.99px depending on the browser's\n * rounding, dropping just below the required minimum.\n */\n --a11y-min-size: max(calc(44 * 1rem / var(--kolibri-root-font-size, 16)), 44px);\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n --kol-a11y-font-color: black;\n --kol-a11y-background-color: white;\n color: var(--kol-a11y-font-color);\n background-color: var(--kol-a11y-background-color);\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n --kol-a11y-font-family: Verdana;\n font-family: var(--kol-a11y-font-family);\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 * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\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 button,\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 text color from his parent element.\n */\n color: inherit;\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: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\n }\n}\n/*\n * This file contains all rules for forced-colors and highcontrast modes\n * https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/system-color to see all color keywords the browsers are providing\n */\n@layer kol-forced-colors {\n @media (forced-colors: active) {\n .kol-button__text {\n color: ButtonText;\n background-color: ButtonFace;\n border: 2px solid ButtonBorder;\n }\n .kol-button--disabled .kol-button__text {\n color: GrayText;\n border-color: GrayText;\n }\n /*\n * Forced colors drop author colors, so the only way a disabled control still reads as\n * disabled is the `GrayText` system color. `kol-button` had it; the controls whose disabled\n * state is `aria-disabled` (anchor, summary) and the native form controls did not.\n */\n .kol-link__interactive-element[aria-disabled=true],\n .kol-accordion__heading[aria-disabled=true],\n .kol-details__heading[aria-disabled=true] {\n color: GrayText;\n }\n .kol-link__interactive-element[aria-disabled=true] .kol-icon,\n .kol-link__interactive-element[aria-disabled=true] .kol-span__label,\n .kol-accordion__heading[aria-disabled=true] .kol-icon,\n .kol-accordion__heading[aria-disabled=true] .kol-span__label,\n .kol-details__heading[aria-disabled=true] .kol-icon,\n .kol-details__heading[aria-disabled=true] .kol-span__label {\n color: GrayText;\n }\n input:disabled,\n select:disabled,\n textarea:disabled {\n color: GrayText;\n border-color: GrayText;\n }\n .kol-card,\n .kol-dialog,\n .kol-modal {\n color: CanvasText;\n background-color: Canvas;\n border: 1px solid ButtonBorder;\n }\n .kol-pagination__button--selected .kol-button {\n opacity: 1;\n }\n .kol-pagination__button--selected .kol-button__text {\n color: SelectedItemText;\n background-color: SelectedItem;\n }\n /* focus styles */\n .kol-button__interactive-element:focus-visible,\n .kol-link__interactive-element:focus-visible {\n outline: 2px solid Highlight;\n outline-offset: 2px;\n }\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: white;\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(16 * 1rem / 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: flex;\n flex-flow: column;\n align-items: center;\n justify-content: 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 align-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 /* A disabled `fieldset` only groups its controls; `cursor` is inherited and would reach the\n operable info popover in its legend. */\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled]:where(:not(fieldset)),\n [disabled]:where(:not(fieldset)):focus {\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 .hastooltip {\n z-index: 900 !important;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@font-face {\n font-family: \"kolicons\";\n src: url(\"kolicons.eot?t=1791530377872\"); /* IE9*/\n src: url(\"kolicons.eot?t=1791530377872#iefix\") format(\"embedded-opentype\"), url(\"kolicons.woff2?t=1791530377872\") format(\"woff2\"), url(\"kolicons.woff?t=1791530377872\") format(\"woff\"), url(\"kolicons.ttf?t=1791530377872\") format(\"truetype\"), url(\"kolicons.svg?t=1791530377872#kolicons\") format(\"svg\"); /* iOS 4.1- */\n}\n@layer kol-component {\n [class^=kolicon-], [class*=\" kolicon-\"] {\n font-family: \"kolicons\";\n font-style: normal;\n font-weight: 400;\n line-height: 1em;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n .kolicon-alert-error::before {\n content: \"\\ea01\";\n }\n .kolicon-alert-info::before {\n content: \"\\ea02\";\n }\n .kolicon-alert-success::before {\n content: \"\\ea03\";\n }\n .kolicon-alert-warning::before {\n content: \"\\ea04\";\n }\n .kolicon-check::before {\n content: \"\\ea05\";\n }\n .kolicon-chevron-double-left::before {\n content: \"\\ea06\";\n }\n .kolicon-chevron-double-right::before {\n content: \"\\ea07\";\n }\n .kolicon-chevron-down::before {\n content: \"\\ea08\";\n }\n .kolicon-chevron-left::before {\n content: \"\\ea09\";\n }\n .kolicon-chevron-right::before {\n content: \"\\ea0a\";\n }\n .kolicon-chevron-up::before {\n content: \"\\ea0b\";\n }\n .kolicon-cogwheel::before {\n content: \"\\ea0c\";\n }\n .kolicon-cross::before {\n content: \"\\ea0d\";\n }\n .kolicon-eye-closed::before {\n content: \"\\ea0e\";\n }\n .kolicon-eye::before {\n content: \"\\ea0f\";\n }\n .kolicon-house::before {\n content: \"\\ea10\";\n }\n .kolicon-kolibri::before {\n content: \"\\ea11\";\n }\n .kolicon-link-external::before {\n content: \"\\ea12\";\n }\n .kolicon-link::before {\n content: \"\\ea13\";\n }\n .kolicon-minus::before {\n content: \"\\ea14\";\n }\n .kolicon-pin-pinned::before {\n content: \"\\ea15\";\n }\n .kolicon-pin-unpinned::before {\n content: \"\\ea16\";\n }\n .kolicon-plus::before {\n content: \"\\ea17\";\n }\n .kolicon-settings::before {\n content: \"\\ea18\";\n }\n .kolicon-sort-asc::before {\n content: \"\\ea19\";\n }\n .kolicon-sort-desc::before {\n content: \"\\ea1a\";\n }\n .kolicon-sort-neutral::before {\n content: \"\\ea1b\";\n }\n .kolicon-up::before {\n content: \"\\ea1c\";\n }\n .kolicon-version::before {\n content: \"\\ea1d\";\n }\n}\n@layer kol-component {\n .kol-icon {\n color: inherit;\n display: inline-block;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n }\n .kol-tooltip {\n display: contents;\n }\n .kol-tooltip__floating {\n opacity: 0;\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, max-content);\n min-width: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n max-width: 90vw;\n max-height: 90vh;\n animation-direction: normal;\n /* Can be used to specify the animation duration from the outside. 250ms by default. */\n animation-duration: var(--kolibri-tooltip-animation-duration, 250ms);\n animation-fill-mode: forwards;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n }\n .kol-tooltip__floating.hide {\n animation-name: hideTooltip;\n }\n .kol-tooltip__floating.show {\n animation-name: showTooltip;\n }\n .kol-tooltip__arrow {\n transform: rotate(45deg);\n color: black;\n background-color: white;\n position: absolute;\n z-index: 999;\n width: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip__content {\n color: black;\n background-color: white;\n position: relative;\n z-index: 1000;\n }\n @keyframes hideTooltip {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n display: none;\n }\n }\n @keyframes showTooltip {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n}\n/*\n * Button styles for a skeleton block whose interactive element sits inside the BEM root:\n * `kol-button` renders `<div class=\"kol-button\"><button class=\"kol-button__interactive-element\">`,\n * `kol-link` renders `<div class=\"kol-link\"><a class=\"kol-link__interactive-element\">`.\n *\n * Overlaps with `kol-embedded-button-box-styles` below: both target the block class itself and disagree\n * on `display` and `text-align`. A stylesheet that includes both therefore depends on order or\n * specificity — today that only happens where the caller nests one of them (e.g. `_alert.mixin`\n * nests this one under `.kol-alert`, which wins). Include only one per block unless the nesting\n * makes the winner explicit.\n */\n/*\n * Minimal box replication for shadow trees that render `ButtonFC` without including\n * `kol-button-styles`. The `kol-global` reset (`background`, `width`, `margin`, `padding`,\n * `border`) and the a11y layer `min-height`/`min-width` apply to the native button, on top of the\n * UA `inline-block`, but not to the `div` root that carries the `kol-button` class. This mixin\n * replicates that outer box on the root, while the inner `kol-button__interactive-element` degrades\n * to a plain block container to avoid the inline-level baseline gap the UA `inline-block` would add\n * below it.\n *\n * Mutually exclusive with `kol-button-styles` above — see the collision note there.\n */\n@layer kol-component {\n .kol-alert .kol-icon {\n color: inherit;\n display: inline-block;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n }\n .kol-alert :host {\n display: inline-block;\n }\n .kol-alert .kol-button {\n display: flex;\n height: 100%;\n min-height: var(--a11y-min-size);\n text-decoration-line: none;\n /* The interactive element is the flex container positioning the text, so it carries the\n box the root element used to be. The UA default underline sits on that element too,\n so suppressing `text-decoration` on the wrapper alone is not enough. */\n }\n .kol-alert .kol-button__interactive-element {\n display: flex;\n flex: 1;\n text-align: left;\n text-decoration-line: none;\n /* A flex container only exposes a baseline if it has an in-flow text box to derive one\n from; without it the surrounding inline formatting context falls back to the bottom\n margin edge and everything after the element shifts by 1px. The zero-width space\n supplies that box. Measured, not assumed: removing it turns `popover-button/inline`\n and `input-file/basic` red against the develop baseline (the box grows 179→180px). */\n }\n .kol-alert .kol-button__interactive-element::before {\n content: \"\";\n }\n .kol-alert .kol-button__text {\n flex: 1 0 100%;\n }\n .kol-alert .kol-button {\n /* The tooltip wrapper holds only the absolutely positioned floating tooltip. In the legacy\n DOM it sat in a block flow and collapsed to zero height; as a flex/grid item it would\n stretch to the container height instead, adding phantom rows to the layout. */\n }\n .kol-alert .kol-button__tooltip {\n height: 0;\n }\n .kol-alert .kol-button--external-link > .kolicon-link-external::before {\n content: none;\n }\n .kol-alert .kol-button--external-link .kol-button__interactive-element > .kolicon-link-external::before {\n content: none;\n }\n .kol-alert {\n display: grid;\n grid-template-areas: \"icon heading close\" \"icon content close\";\n grid-template-columns: min-content 1fr min-content;\n grid-template-rows: min-content min-content;\n }\n .kol-alert__icon {\n grid-area: icon;\n }\n .kol-alert__heading {\n grid-area: heading;\n }\n .kol-alert__closer {\n /* Visible with forced colors */\n outline: transparent solid calc(1 * 1rem / var(--kolibri-root-font-size, 16));\n grid-area: close;\n }\n .kol-alert__content {\n grid-area: content;\n }\n}";
|
|
63
|
+
const defaultStyleCss = "@charset \"UTF-8\";\n/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n* 6. kol-forced-colors - Defaults for forced colors and high contrast modes\n* 7. kol-theme-forced-colors - Theme-specific styles for forced colors and high contrast modes\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component, kol-forced-colors, kol-theme-forced-colors;\n/* forward the rem function */\n/*\n * Guards an interaction rule (`:hover`, `:active`, `:focus…`) against the disabled state.\n *\n * Two shapes are needed because the disabled marker sits on different elements: a native control\n * carries `disabled`, an anchor or summary carries `aria-disabled`, and a BEM wrapper carries a\n * `--disabled` modifier while its inner control carries the attribute.\n */\n/* Wrapper variant: asks the interactive element inside, which is where the attribute lives. */\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 * The `max(…, 44px)` floor guarantees the WCAG 2.5.5 (AAA) target size of 44px:\n * `to-rem(44)` runs the value through a `calc()` rem round-trip which can lose\n * sub-pixel precision and resolve to e.g. 43.99px depending on the browser's\n * rounding, dropping just below the required minimum.\n */\n --a11y-min-size: max(calc(44 * 1rem / var(--kolibri-root-font-size, 16)), 44px);\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n --kol-a11y-font-color: black;\n --kol-a11y-background-color: white;\n color: var(--kol-a11y-font-color);\n background-color: var(--kol-a11y-background-color);\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n --kol-a11y-font-family: Verdana;\n font-family: var(--kol-a11y-font-family);\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 * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\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 button,\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 text color from his parent element.\n */\n color: inherit;\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: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\n }\n}\n/*\n * This file contains all rules for forced-colors and highcontrast modes\n * https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/system-color to see all color keywords the browsers are providing\n */\n@layer kol-forced-colors {\n @media (forced-colors: active) {\n .kol-button__text {\n color: ButtonText;\n background-color: ButtonFace;\n border: 2px solid ButtonBorder;\n }\n .kol-button--disabled .kol-button__text {\n color: GrayText;\n border-color: GrayText;\n }\n /*\n * Forced colors drop author colors, so the only way a disabled control still reads as\n * disabled is the `GrayText` system color. `kol-button` had it; the controls whose disabled\n * state is `aria-disabled` (anchor, summary) and the native form controls did not.\n */\n .kol-link__interactive-element[aria-disabled=true],\n .kol-accordion__heading[aria-disabled=true],\n .kol-details__heading[aria-disabled=true] {\n color: GrayText;\n }\n .kol-link__interactive-element[aria-disabled=true] .kol-icon,\n .kol-link__interactive-element[aria-disabled=true] .kol-span__label,\n .kol-accordion__heading[aria-disabled=true] .kol-icon,\n .kol-accordion__heading[aria-disabled=true] .kol-span__label,\n .kol-details__heading[aria-disabled=true] .kol-icon,\n .kol-details__heading[aria-disabled=true] .kol-span__label {\n color: GrayText;\n }\n input:disabled,\n select:disabled,\n textarea:disabled {\n color: GrayText;\n border-color: GrayText;\n }\n .kol-card,\n .kol-dialog,\n .kol-modal {\n color: CanvasText;\n background-color: Canvas;\n border: 1px solid ButtonBorder;\n }\n .kol-pagination__button--selected .kol-button {\n opacity: 1;\n }\n .kol-pagination__button--selected .kol-button__text {\n color: SelectedItemText;\n background-color: SelectedItem;\n }\n /* focus styles */\n .kol-button__interactive-element:focus-visible,\n .kol-link__interactive-element:focus-visible {\n outline: 2px solid Highlight;\n outline-offset: 2px;\n }\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: white;\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(16 * 1rem / 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: flex;\n flex-flow: column;\n align-items: center;\n justify-content: 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 align-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 /* A disabled `fieldset` only groups its controls; `cursor` is inherited and would reach the\n operable info popover in its legend. */\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled]:where(:not(fieldset)),\n [disabled]:where(:not(fieldset)):focus {\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 .hastooltip {\n z-index: 900 !important;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@font-face {\n font-family: \"kolicons\";\n src: url(\"kolicons.eot?t=1791539188494\"); /* IE9*/\n src: url(\"kolicons.eot?t=1791539188494#iefix\") format(\"embedded-opentype\"), url(\"kolicons.woff2?t=1791539188494\") format(\"woff2\"), url(\"kolicons.woff?t=1791539188494\") format(\"woff\"), url(\"kolicons.ttf?t=1791539188494\") format(\"truetype\"), url(\"kolicons.svg?t=1791539188494#kolicons\") format(\"svg\"); /* iOS 4.1- */\n}\n@layer kol-component {\n [class^=kolicon-], [class*=\" kolicon-\"] {\n font-family: \"kolicons\";\n font-style: normal;\n font-weight: 400;\n line-height: 1em;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n .kolicon-alert-error::before {\n content: \"\\ea01\";\n }\n .kolicon-alert-info::before {\n content: \"\\ea02\";\n }\n .kolicon-alert-success::before {\n content: \"\\ea03\";\n }\n .kolicon-alert-warning::before {\n content: \"\\ea04\";\n }\n .kolicon-check::before {\n content: \"\\ea05\";\n }\n .kolicon-chevron-double-left::before {\n content: \"\\ea06\";\n }\n .kolicon-chevron-double-right::before {\n content: \"\\ea07\";\n }\n .kolicon-chevron-down::before {\n content: \"\\ea08\";\n }\n .kolicon-chevron-left::before {\n content: \"\\ea09\";\n }\n .kolicon-chevron-right::before {\n content: \"\\ea0a\";\n }\n .kolicon-chevron-up::before {\n content: \"\\ea0b\";\n }\n .kolicon-cogwheel::before {\n content: \"\\ea0c\";\n }\n .kolicon-cross::before {\n content: \"\\ea0d\";\n }\n .kolicon-eye-closed::before {\n content: \"\\ea0e\";\n }\n .kolicon-eye::before {\n content: \"\\ea0f\";\n }\n .kolicon-house::before {\n content: \"\\ea10\";\n }\n .kolicon-kolibri::before {\n content: \"\\ea11\";\n }\n .kolicon-link-external::before {\n content: \"\\ea12\";\n }\n .kolicon-link::before {\n content: \"\\ea13\";\n }\n .kolicon-minus::before {\n content: \"\\ea14\";\n }\n .kolicon-pin-pinned::before {\n content: \"\\ea15\";\n }\n .kolicon-pin-unpinned::before {\n content: \"\\ea16\";\n }\n .kolicon-plus::before {\n content: \"\\ea17\";\n }\n .kolicon-settings::before {\n content: \"\\ea18\";\n }\n .kolicon-sort-asc::before {\n content: \"\\ea19\";\n }\n .kolicon-sort-desc::before {\n content: \"\\ea1a\";\n }\n .kolicon-sort-neutral::before {\n content: \"\\ea1b\";\n }\n .kolicon-up::before {\n content: \"\\ea1c\";\n }\n .kolicon-version::before {\n content: \"\\ea1d\";\n }\n}\n@layer kol-component {\n .kol-icon {\n color: inherit;\n display: inline-block;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n }\n .kol-tooltip {\n display: contents;\n }\n .kol-tooltip__floating {\n opacity: 0;\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, max-content);\n min-width: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n max-width: 90vw;\n max-height: 90vh;\n animation-direction: normal;\n /* Can be used to specify the animation duration from the outside. 250ms by default. */\n animation-duration: var(--kolibri-tooltip-animation-duration, 250ms);\n animation-fill-mode: forwards;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n }\n .kol-tooltip__floating.hide {\n animation-name: hideTooltip;\n }\n .kol-tooltip__floating.show {\n animation-name: showTooltip;\n }\n .kol-tooltip__arrow {\n transform: rotate(45deg);\n color: black;\n background-color: white;\n position: absolute;\n z-index: 999;\n width: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip__content {\n color: black;\n background-color: white;\n position: relative;\n z-index: 1000;\n }\n @keyframes hideTooltip {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n display: none;\n }\n }\n @keyframes showTooltip {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n}\n/*\n * Button styles for a skeleton block whose interactive element sits inside the BEM root:\n * `kol-button` renders `<div class=\"kol-button\"><button class=\"kol-button__interactive-element\">`,\n * `kol-link` renders `<div class=\"kol-link\"><a class=\"kol-link__interactive-element\">`.\n *\n * Overlaps with `kol-embedded-button-box-styles` below: both target the block class itself and disagree\n * on `display` and `text-align`. A stylesheet that includes both therefore depends on order or\n * specificity — today that only happens where the caller nests one of them (e.g. `_alert.mixin`\n * nests this one under `.kol-alert`, which wins). Include only one per block unless the nesting\n * makes the winner explicit.\n */\n/*\n * Minimal box replication for shadow trees that render `ButtonFC` without including\n * `kol-button-styles`. The `kol-global` reset (`background`, `width`, `margin`, `padding`,\n * `border`) and the a11y layer `min-height`/`min-width` apply to the native button, on top of the\n * UA `inline-block`, but not to the `div` root that carries the `kol-button` class. This mixin\n * replicates that outer box on the root, while the inner `kol-button__interactive-element` degrades\n * to a plain block container to avoid the inline-level baseline gap the UA `inline-block` would add\n * below it.\n *\n * Mutually exclusive with `kol-button-styles` above — see the collision note there.\n */\n@layer kol-component {\n .kol-alert .kol-icon {\n color: inherit;\n display: inline-block;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n }\n .kol-alert :host {\n display: inline-block;\n }\n .kol-alert .kol-button {\n display: flex;\n height: 100%;\n min-height: var(--a11y-min-size);\n text-decoration-line: none;\n /* The interactive element is the flex container positioning the text, so it carries the\n box the root element used to be. The UA default underline sits on that element too,\n so suppressing `text-decoration` on the wrapper alone is not enough. */\n }\n .kol-alert .kol-button__interactive-element {\n display: flex;\n flex: 1;\n text-align: left;\n text-decoration-line: none;\n /* A flex container only exposes a baseline if it has an in-flow text box to derive one\n from; without it the surrounding inline formatting context falls back to the bottom\n margin edge and everything after the element shifts by 1px. The zero-width space\n supplies that box. Measured, not assumed: removing it turns `popover-button/inline`\n and `input-file/basic` red against the develop baseline (the box grows 179→180px). */\n }\n .kol-alert .kol-button__interactive-element::before {\n content: \"\";\n }\n .kol-alert .kol-button__text {\n flex: 1 0 100%;\n }\n .kol-alert .kol-button {\n /* The tooltip wrapper holds only the absolutely positioned floating tooltip. In the legacy\n DOM it sat in a block flow and collapsed to zero height; as a flex/grid item it would\n stretch to the container height instead, adding phantom rows to the layout. */\n }\n .kol-alert .kol-button__tooltip {\n height: 0;\n }\n .kol-alert .kol-button--external-link > .kolicon-link-external::before {\n content: none;\n }\n .kol-alert .kol-button--external-link .kol-button__interactive-element > .kolicon-link-external::before {\n content: none;\n }\n .kol-alert {\n display: grid;\n grid-template-areas: \"icon heading close\" \"icon content close\";\n grid-template-columns: min-content 1fr min-content;\n grid-template-rows: min-content min-content;\n }\n .kol-alert__icon {\n grid-area: icon;\n }\n .kol-alert__heading {\n grid-area: heading;\n }\n .kol-alert__closer {\n /* Visible with forced colors */\n outline: transparent solid calc(1 * 1rem / var(--kolibri-root-font-size, 16));\n grid-area: close;\n }\n .kol-alert__content {\n grid-area: content;\n }\n}";
|
|
64
64
|
|
|
65
65
|
const KolAlert = class extends baseWebComponent.BaseWebComponent {
|
|
66
66
|
constructor(hostRef) {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var index = require('./index-
|
|
6
|
+
var index = require('./index-RAfZF5x0.js');
|
|
7
7
|
var tslib_es6 = require('./tslib.es6-Cm0ytgPY.js');
|
|
8
8
|
var common = require('./common-B9-LvLNa.js');
|
|
9
9
|
var color = require('./color-CZiNkZFM.js');
|
|
@@ -11,24 +11,24 @@ var baseWebComponent = require('./base-web-component-DK5Y-vq5.js');
|
|
|
11
11
|
var labelWithExpertSlot = require('./label-with-expert-slot-BE6OwnkL.js');
|
|
12
12
|
var smartButton = require('./smart-button-BVsd-3XP.js');
|
|
13
13
|
var variant = require('./variant-wdbSxe--.js');
|
|
14
|
-
var component = require('./component-
|
|
14
|
+
var component = require('./component-Bj4QdlXm.js');
|
|
15
15
|
var resolveProps = require('./resolve-props-DciidH7w.js');
|
|
16
16
|
var behavior = require('./behavior-DMhnAIvG.js');
|
|
17
|
-
var dev_utils = require('./dev.utils-
|
|
17
|
+
var dev_utils = require('./dev.utils-DybQ4euF.js');
|
|
18
18
|
var elementInteraction = require('./element-interaction-7FI_z19L.js');
|
|
19
19
|
var events = require('./events-PISRnO5c.js');
|
|
20
20
|
require('./contrast-CrL_sMV6.js');
|
|
21
21
|
require('./isArray-BOIOdEQh.js');
|
|
22
22
|
require('./align-B87Zdyn2.js');
|
|
23
23
|
require('./bem-registry-BDVdt6ar.js');
|
|
24
|
-
require('./component-
|
|
25
|
-
require('./component-
|
|
24
|
+
require('./component-CPVFCnaN.js');
|
|
25
|
+
require('./component-CAkixzEQ.js');
|
|
26
26
|
require('./clsx-Bm_HQUnh.js');
|
|
27
|
-
require('./component-
|
|
27
|
+
require('./component-Du98sklA.js');
|
|
28
28
|
require('./block-bem-D7PDS6kC.js');
|
|
29
|
-
require('./component-
|
|
30
|
-
require('./component-
|
|
31
|
-
require('./component-
|
|
29
|
+
require('./component-Dd-PS3jp.js');
|
|
30
|
+
require('./component-3EZdZbDH.js');
|
|
31
|
+
require('./component-Dw6Tq7Wb.js');
|
|
32
32
|
require('./api-BJgJ64A_.js');
|
|
33
33
|
require('./disabled-B8tOrtj_.js');
|
|
34
34
|
require('./name-Cyu3yG1t.js');
|
|
@@ -41,7 +41,7 @@ const badgePropsConfig = {
|
|
|
41
41
|
optional: [color.colorProp, smartButton.smartButtonProp, variant.spanIconsProp],
|
|
42
42
|
};
|
|
43
43
|
|
|
44
|
-
const defaultStyleCss = "@charset \"UTF-8\";\n/* forward the rem function */\n/*\n * Guards an interaction rule (`:hover`, `:active`, `:focus…`) against the disabled state.\n *\n * Two shapes are needed because the disabled marker sits on different elements: a native control\n * carries `disabled`, an anchor or summary carries `aria-disabled`, and a BEM wrapper carries a\n * `--disabled` modifier while its inner control carries the attribute.\n */\n/* Wrapper variant: asks the interactive element inside, which is where the attribute lives. */\n/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n* 6. kol-forced-colors - Defaults for forced colors and high contrast modes\n* 7. kol-theme-forced-colors - Theme-specific styles for forced colors and high contrast modes\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component, kol-forced-colors, kol-theme-forced-colors;\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 * The `max(…, 44px)` floor guarantees the WCAG 2.5.5 (AAA) target size of 44px:\n * `to-rem(44)` runs the value through a `calc()` rem round-trip which can lose\n * sub-pixel precision and resolve to e.g. 43.99px depending on the browser's\n * rounding, dropping just below the required minimum.\n */\n --a11y-min-size: max(calc(44 * 1rem / var(--kolibri-root-font-size, 16)), 44px);\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n --kol-a11y-font-color: black;\n --kol-a11y-background-color: white;\n color: var(--kol-a11y-font-color);\n background-color: var(--kol-a11y-background-color);\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n --kol-a11y-font-family: Verdana;\n font-family: var(--kol-a11y-font-family);\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 * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\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 button,\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 text color from his parent element.\n */\n color: inherit;\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: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\n }\n}\n/*\n * This file contains all rules for forced-colors and highcontrast modes\n * https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/system-color to see all color keywords the browsers are providing\n */\n@layer kol-forced-colors {\n @media (forced-colors: active) {\n .kol-button__text {\n color: ButtonText;\n background-color: ButtonFace;\n border: 2px solid ButtonBorder;\n }\n .kol-button--disabled .kol-button__text {\n color: GrayText;\n border-color: GrayText;\n }\n /*\n * Forced colors drop author colors, so the only way a disabled control still reads as\n * disabled is the `GrayText` system color. `kol-button` had it; the controls whose disabled\n * state is `aria-disabled` (anchor, summary) and the native form controls did not.\n */\n .kol-link__interactive-element[aria-disabled=true],\n .kol-accordion__heading[aria-disabled=true],\n .kol-details__heading[aria-disabled=true] {\n color: GrayText;\n }\n .kol-link__interactive-element[aria-disabled=true] .kol-icon,\n .kol-link__interactive-element[aria-disabled=true] .kol-span__label,\n .kol-accordion__heading[aria-disabled=true] .kol-icon,\n .kol-accordion__heading[aria-disabled=true] .kol-span__label,\n .kol-details__heading[aria-disabled=true] .kol-icon,\n .kol-details__heading[aria-disabled=true] .kol-span__label {\n color: GrayText;\n }\n input:disabled,\n select:disabled,\n textarea:disabled {\n color: GrayText;\n border-color: GrayText;\n }\n .kol-card,\n .kol-dialog,\n .kol-modal {\n color: CanvasText;\n background-color: Canvas;\n border: 1px solid ButtonBorder;\n }\n .kol-pagination__button--selected .kol-button {\n opacity: 1;\n }\n .kol-pagination__button--selected .kol-button__text {\n color: SelectedItemText;\n background-color: SelectedItem;\n }\n /* focus styles */\n .kol-button__interactive-element:focus-visible,\n .kol-link__interactive-element:focus-visible {\n outline: 2px solid Highlight;\n outline-offset: 2px;\n }\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: white;\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(16 * 1rem / 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: flex;\n flex-flow: column;\n align-items: center;\n justify-content: 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 align-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 /* A disabled `fieldset` only groups its controls; `cursor` is inherited and would reach the\n operable info popover in its legend. */\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled]:where(:not(fieldset)),\n [disabled]:where(:not(fieldset)):focus {\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 .hastooltip {\n z-index: 900 !important;\n }\n}\n@font-face {\n font-family: \"kolicons\";\n src: url(\"kolicons.eot?t=1791530377872\"); /* IE9*/\n src: url(\"kolicons.eot?t=1791530377872#iefix\") format(\"embedded-opentype\"), url(\"kolicons.woff2?t=1791530377872\") format(\"woff2\"), url(\"kolicons.woff?t=1791530377872\") format(\"woff\"), url(\"kolicons.ttf?t=1791530377872\") format(\"truetype\"), url(\"kolicons.svg?t=1791530377872#kolicons\") format(\"svg\"); /* iOS 4.1- */\n}\n@layer kol-component {\n [class^=kolicon-], [class*=\" kolicon-\"] {\n font-family: \"kolicons\";\n font-style: normal;\n font-weight: 400;\n line-height: 1em;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n .kolicon-alert-error::before {\n content: \"\\ea01\";\n }\n .kolicon-alert-info::before {\n content: \"\\ea02\";\n }\n .kolicon-alert-success::before {\n content: \"\\ea03\";\n }\n .kolicon-alert-warning::before {\n content: \"\\ea04\";\n }\n .kolicon-check::before {\n content: \"\\ea05\";\n }\n .kolicon-chevron-double-left::before {\n content: \"\\ea06\";\n }\n .kolicon-chevron-double-right::before {\n content: \"\\ea07\";\n }\n .kolicon-chevron-down::before {\n content: \"\\ea08\";\n }\n .kolicon-chevron-left::before {\n content: \"\\ea09\";\n }\n .kolicon-chevron-right::before {\n content: \"\\ea0a\";\n }\n .kolicon-chevron-up::before {\n content: \"\\ea0b\";\n }\n .kolicon-cogwheel::before {\n content: \"\\ea0c\";\n }\n .kolicon-cross::before {\n content: \"\\ea0d\";\n }\n .kolicon-eye-closed::before {\n content: \"\\ea0e\";\n }\n .kolicon-eye::before {\n content: \"\\ea0f\";\n }\n .kolicon-house::before {\n content: \"\\ea10\";\n }\n .kolicon-kolibri::before {\n content: \"\\ea11\";\n }\n .kolicon-link-external::before {\n content: \"\\ea12\";\n }\n .kolicon-link::before {\n content: \"\\ea13\";\n }\n .kolicon-minus::before {\n content: \"\\ea14\";\n }\n .kolicon-pin-pinned::before {\n content: \"\\ea15\";\n }\n .kolicon-pin-unpinned::before {\n content: \"\\ea16\";\n }\n .kolicon-plus::before {\n content: \"\\ea17\";\n }\n .kolicon-settings::before {\n content: \"\\ea18\";\n }\n .kolicon-sort-asc::before {\n content: \"\\ea19\";\n }\n .kolicon-sort-desc::before {\n content: \"\\ea1a\";\n }\n .kolicon-sort-neutral::before {\n content: \"\\ea1b\";\n }\n .kolicon-up::before {\n content: \"\\ea1c\";\n }\n .kolicon-version::before {\n content: \"\\ea1d\";\n }\n}\n@layer kol-component {\n .kol-icon {\n color: inherit;\n display: inline-block;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n }\n .kol-tooltip {\n display: contents;\n }\n .kol-tooltip__floating {\n opacity: 0;\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, max-content);\n min-width: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n max-width: 90vw;\n max-height: 90vh;\n animation-direction: normal;\n /* Can be used to specify the animation duration from the outside. 250ms by default. */\n animation-duration: var(--kolibri-tooltip-animation-duration, 250ms);\n animation-fill-mode: forwards;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n }\n .kol-tooltip__floating.hide {\n animation-name: hideTooltip;\n }\n .kol-tooltip__floating.show {\n animation-name: showTooltip;\n }\n .kol-tooltip__arrow {\n transform: rotate(45deg);\n color: black;\n background-color: white;\n position: absolute;\n z-index: 999;\n width: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip__content {\n color: black;\n background-color: white;\n position: relative;\n z-index: 1000;\n }\n @keyframes hideTooltip {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n display: none;\n }\n }\n @keyframes showTooltip {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n}\n/*\n * Badge box for every shadow root that renders `BadgeFC` - the badge itself and `kol-version`.\n * Stencil scopes `badge/style.scss` to the `kol-badge` shadow root, so a second consumer has to\n * bring these rules along (same pattern as `kol-link-styles` for `LinkFC`).\n *\n * The smart-button rules stay in `badge/style.scss`: only the badge web component orchestrates one.\n */\n/*\n * Button styles for a skeleton block whose interactive element sits inside the BEM root:\n * `kol-button` renders `<div class=\"kol-button\"><button class=\"kol-button__interactive-element\">`,\n * `kol-link` renders `<div class=\"kol-link\"><a class=\"kol-link__interactive-element\">`.\n *\n * Overlaps with `kol-embedded-button-box-styles` below: both target the block class itself and disagree\n * on `display` and `text-align`. A stylesheet that includes both therefore depends on order or\n * specificity — today that only happens where the caller nests one of them (e.g. `_alert.mixin`\n * nests this one under `.kol-alert`, which wins). Include only one per block unless the nesting\n * makes the winner explicit.\n */\n/*\n * Minimal box replication for shadow trees that render `ButtonFC` without including\n * `kol-button-styles`. The `kol-global` reset (`background`, `width`, `margin`, `padding`,\n * `border`) and the a11y layer `min-height`/`min-width` apply to the native button, on top of the\n * UA `inline-block`, but not to the `div` root that carries the `kol-button` class. This mixin\n * replicates that outer box on the root, while the inner `kol-button__interactive-element` degrades\n * to a plain block container to avoid the inline-level baseline gap the UA `inline-block` would add\n * below it.\n *\n * Mutually exclusive with `kol-button-styles` above — see the collision note there.\n */\n@layer kol-component {\n .kol-icon {\n color: inherit;\n display: inline-block;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n }\n .kol-badge {\n /* Visible with forced colors */\n outline: transparent solid calc(1 * 1rem / var(--kolibri-root-font-size, 16));\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n .kol-badge > br {\n user-select: none;\n }\n .kol-button {\n background-color: transparent;\n display: inline-block;\n width: 100%;\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n margin: 0;\n padding: 0;\n /* The user-agent stylesheet centers text on `button`, but not on `div`. The wrapper now\n carries the class, so that UA default has to be restated here for the inner content to\n sit where it did when the button element itself was the class carrier. */\n text-align: center;\n /* Replicate the reset the real button received: width stays at the initial `medium`, only\n the style becomes `none`. Consumer rules that flip e.g. `border-bottom-style` back to\n `solid` (tabs) must therefore target the inner button (see the `__interactive-element`\n override below), because Firefox vertically centers button content inside the content box,\n which shrinks by the border — exactly as it did when the real button carried these rules. */\n }\n .kol-button__interactive-element {\n border-style: none;\n display: block;\n border-width: medium;\n /* The UA pins `text-align: center` and (in Firefox) `font-weight: 400` directly on every\n `button`, which would beat any alignment or font styling inherited through the wrapper\n (e.g. nav's `text-align: left`, or a bold active entry that used to apply to the button\n element itself). Inheriting all three restores the old flow. */\n font-weight: inherit;\n font-style: inherit;\n text-align: inherit;\n }\n .kol-button {\n /* See kol-button-styles: the tooltip wrapper must stay zero-height, also when the wrapper\n div is a flex or grid item (e.g. nav entry rows). */\n }\n .kol-button__tooltip {\n height: 0;\n }\n .kol-badge .kol-badge__smart-button {\n width: auto;\n order: 3;\n }\n}";
|
|
44
|
+
const defaultStyleCss = "@charset \"UTF-8\";\n/* forward the rem function */\n/*\n * Guards an interaction rule (`:hover`, `:active`, `:focus…`) against the disabled state.\n *\n * Two shapes are needed because the disabled marker sits on different elements: a native control\n * carries `disabled`, an anchor or summary carries `aria-disabled`, and a BEM wrapper carries a\n * `--disabled` modifier while its inner control carries the attribute.\n */\n/* Wrapper variant: asks the interactive element inside, which is where the attribute lives. */\n/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n* 6. kol-forced-colors - Defaults for forced colors and high contrast modes\n* 7. kol-theme-forced-colors - Theme-specific styles for forced colors and high contrast modes\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component, kol-forced-colors, kol-theme-forced-colors;\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 * The `max(…, 44px)` floor guarantees the WCAG 2.5.5 (AAA) target size of 44px:\n * `to-rem(44)` runs the value through a `calc()` rem round-trip which can lose\n * sub-pixel precision and resolve to e.g. 43.99px depending on the browser's\n * rounding, dropping just below the required minimum.\n */\n --a11y-min-size: max(calc(44 * 1rem / var(--kolibri-root-font-size, 16)), 44px);\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n --kol-a11y-font-color: black;\n --kol-a11y-background-color: white;\n color: var(--kol-a11y-font-color);\n background-color: var(--kol-a11y-background-color);\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n --kol-a11y-font-family: Verdana;\n font-family: var(--kol-a11y-font-family);\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 * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\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 button,\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 text color from his parent element.\n */\n color: inherit;\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: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\n }\n}\n/*\n * This file contains all rules for forced-colors and highcontrast modes\n * https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/system-color to see all color keywords the browsers are providing\n */\n@layer kol-forced-colors {\n @media (forced-colors: active) {\n .kol-button__text {\n color: ButtonText;\n background-color: ButtonFace;\n border: 2px solid ButtonBorder;\n }\n .kol-button--disabled .kol-button__text {\n color: GrayText;\n border-color: GrayText;\n }\n /*\n * Forced colors drop author colors, so the only way a disabled control still reads as\n * disabled is the `GrayText` system color. `kol-button` had it; the controls whose disabled\n * state is `aria-disabled` (anchor, summary) and the native form controls did not.\n */\n .kol-link__interactive-element[aria-disabled=true],\n .kol-accordion__heading[aria-disabled=true],\n .kol-details__heading[aria-disabled=true] {\n color: GrayText;\n }\n .kol-link__interactive-element[aria-disabled=true] .kol-icon,\n .kol-link__interactive-element[aria-disabled=true] .kol-span__label,\n .kol-accordion__heading[aria-disabled=true] .kol-icon,\n .kol-accordion__heading[aria-disabled=true] .kol-span__label,\n .kol-details__heading[aria-disabled=true] .kol-icon,\n .kol-details__heading[aria-disabled=true] .kol-span__label {\n color: GrayText;\n }\n input:disabled,\n select:disabled,\n textarea:disabled {\n color: GrayText;\n border-color: GrayText;\n }\n .kol-card,\n .kol-dialog,\n .kol-modal {\n color: CanvasText;\n background-color: Canvas;\n border: 1px solid ButtonBorder;\n }\n .kol-pagination__button--selected .kol-button {\n opacity: 1;\n }\n .kol-pagination__button--selected .kol-button__text {\n color: SelectedItemText;\n background-color: SelectedItem;\n }\n /* focus styles */\n .kol-button__interactive-element:focus-visible,\n .kol-link__interactive-element:focus-visible {\n outline: 2px solid Highlight;\n outline-offset: 2px;\n }\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: white;\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(16 * 1rem / 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: flex;\n flex-flow: column;\n align-items: center;\n justify-content: 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 align-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 /* A disabled `fieldset` only groups its controls; `cursor` is inherited and would reach the\n operable info popover in its legend. */\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled]:where(:not(fieldset)),\n [disabled]:where(:not(fieldset)):focus {\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 .hastooltip {\n z-index: 900 !important;\n }\n}\n@font-face {\n font-family: \"kolicons\";\n src: url(\"kolicons.eot?t=1791539188494\"); /* IE9*/\n src: url(\"kolicons.eot?t=1791539188494#iefix\") format(\"embedded-opentype\"), url(\"kolicons.woff2?t=1791539188494\") format(\"woff2\"), url(\"kolicons.woff?t=1791539188494\") format(\"woff\"), url(\"kolicons.ttf?t=1791539188494\") format(\"truetype\"), url(\"kolicons.svg?t=1791539188494#kolicons\") format(\"svg\"); /* iOS 4.1- */\n}\n@layer kol-component {\n [class^=kolicon-], [class*=\" kolicon-\"] {\n font-family: \"kolicons\";\n font-style: normal;\n font-weight: 400;\n line-height: 1em;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n .kolicon-alert-error::before {\n content: \"\\ea01\";\n }\n .kolicon-alert-info::before {\n content: \"\\ea02\";\n }\n .kolicon-alert-success::before {\n content: \"\\ea03\";\n }\n .kolicon-alert-warning::before {\n content: \"\\ea04\";\n }\n .kolicon-check::before {\n content: \"\\ea05\";\n }\n .kolicon-chevron-double-left::before {\n content: \"\\ea06\";\n }\n .kolicon-chevron-double-right::before {\n content: \"\\ea07\";\n }\n .kolicon-chevron-down::before {\n content: \"\\ea08\";\n }\n .kolicon-chevron-left::before {\n content: \"\\ea09\";\n }\n .kolicon-chevron-right::before {\n content: \"\\ea0a\";\n }\n .kolicon-chevron-up::before {\n content: \"\\ea0b\";\n }\n .kolicon-cogwheel::before {\n content: \"\\ea0c\";\n }\n .kolicon-cross::before {\n content: \"\\ea0d\";\n }\n .kolicon-eye-closed::before {\n content: \"\\ea0e\";\n }\n .kolicon-eye::before {\n content: \"\\ea0f\";\n }\n .kolicon-house::before {\n content: \"\\ea10\";\n }\n .kolicon-kolibri::before {\n content: \"\\ea11\";\n }\n .kolicon-link-external::before {\n content: \"\\ea12\";\n }\n .kolicon-link::before {\n content: \"\\ea13\";\n }\n .kolicon-minus::before {\n content: \"\\ea14\";\n }\n .kolicon-pin-pinned::before {\n content: \"\\ea15\";\n }\n .kolicon-pin-unpinned::before {\n content: \"\\ea16\";\n }\n .kolicon-plus::before {\n content: \"\\ea17\";\n }\n .kolicon-settings::before {\n content: \"\\ea18\";\n }\n .kolicon-sort-asc::before {\n content: \"\\ea19\";\n }\n .kolicon-sort-desc::before {\n content: \"\\ea1a\";\n }\n .kolicon-sort-neutral::before {\n content: \"\\ea1b\";\n }\n .kolicon-up::before {\n content: \"\\ea1c\";\n }\n .kolicon-version::before {\n content: \"\\ea1d\";\n }\n}\n@layer kol-component {\n .kol-icon {\n color: inherit;\n display: inline-block;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n }\n .kol-tooltip {\n display: contents;\n }\n .kol-tooltip__floating {\n opacity: 0;\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, max-content);\n min-width: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n max-width: 90vw;\n max-height: 90vh;\n animation-direction: normal;\n /* Can be used to specify the animation duration from the outside. 250ms by default. */\n animation-duration: var(--kolibri-tooltip-animation-duration, 250ms);\n animation-fill-mode: forwards;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n }\n .kol-tooltip__floating.hide {\n animation-name: hideTooltip;\n }\n .kol-tooltip__floating.show {\n animation-name: showTooltip;\n }\n .kol-tooltip__arrow {\n transform: rotate(45deg);\n color: black;\n background-color: white;\n position: absolute;\n z-index: 999;\n width: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip__content {\n color: black;\n background-color: white;\n position: relative;\n z-index: 1000;\n }\n @keyframes hideTooltip {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n display: none;\n }\n }\n @keyframes showTooltip {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n}\n/*\n * Badge box for every shadow root that renders `BadgeFC` - the badge itself and `kol-version`.\n * Stencil scopes `badge/style.scss` to the `kol-badge` shadow root, so a second consumer has to\n * bring these rules along (same pattern as `kol-link-styles` for `LinkFC`).\n *\n * The smart-button rules stay in `badge/style.scss`: only the badge web component orchestrates one.\n */\n/*\n * Button styles for a skeleton block whose interactive element sits inside the BEM root:\n * `kol-button` renders `<div class=\"kol-button\"><button class=\"kol-button__interactive-element\">`,\n * `kol-link` renders `<div class=\"kol-link\"><a class=\"kol-link__interactive-element\">`.\n *\n * Overlaps with `kol-embedded-button-box-styles` below: both target the block class itself and disagree\n * on `display` and `text-align`. A stylesheet that includes both therefore depends on order or\n * specificity — today that only happens where the caller nests one of them (e.g. `_alert.mixin`\n * nests this one under `.kol-alert`, which wins). Include only one per block unless the nesting\n * makes the winner explicit.\n */\n/*\n * Minimal box replication for shadow trees that render `ButtonFC` without including\n * `kol-button-styles`. The `kol-global` reset (`background`, `width`, `margin`, `padding`,\n * `border`) and the a11y layer `min-height`/`min-width` apply to the native button, on top of the\n * UA `inline-block`, but not to the `div` root that carries the `kol-button` class. This mixin\n * replicates that outer box on the root, while the inner `kol-button__interactive-element` degrades\n * to a plain block container to avoid the inline-level baseline gap the UA `inline-block` would add\n * below it.\n *\n * Mutually exclusive with `kol-button-styles` above — see the collision note there.\n */\n@layer kol-component {\n .kol-icon {\n color: inherit;\n display: inline-block;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n }\n .kol-badge {\n /* Visible with forced colors */\n outline: transparent solid calc(1 * 1rem / var(--kolibri-root-font-size, 16));\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n .kol-badge > br {\n user-select: none;\n }\n .kol-button {\n background-color: transparent;\n display: inline-block;\n width: 100%;\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n margin: 0;\n padding: 0;\n /* The user-agent stylesheet centers text on `button`, but not on `div`. The wrapper now\n carries the class, so that UA default has to be restated here for the inner content to\n sit where it did when the button element itself was the class carrier. */\n text-align: center;\n /* Replicate the reset the real button received: width stays at the initial `medium`, only\n the style becomes `none`. Consumer rules that flip e.g. `border-bottom-style` back to\n `solid` (tabs) must therefore target the inner button (see the `__interactive-element`\n override below), because Firefox vertically centers button content inside the content box,\n which shrinks by the border — exactly as it did when the real button carried these rules. */\n }\n .kol-button__interactive-element {\n border-style: none;\n display: block;\n border-width: medium;\n /* The UA pins `text-align: center` and (in Firefox) `font-weight: 400` directly on every\n `button`, which would beat any alignment or font styling inherited through the wrapper\n (e.g. nav's `text-align: left`, or a bold active entry that used to apply to the button\n element itself). Inheriting all three restores the old flow. */\n font-weight: inherit;\n font-style: inherit;\n text-align: inherit;\n }\n .kol-button {\n /* See kol-button-styles: the tooltip wrapper must stay zero-height, also when the wrapper\n div is a flex or grid item (e.g. nav entry rows). */\n }\n .kol-button__tooltip {\n height: 0;\n }\n .kol-badge .kol-badge__smart-button {\n width: auto;\n order: 3;\n }\n}";
|
|
45
45
|
|
|
46
46
|
common.featureHint(`[KolBadge] Optimierung des _color-Properties (rgba, rgb, hex usw.).`);
|
|
47
47
|
const KolBadge = class extends baseWebComponent.BaseWebComponent {
|