@public-ui/components 4.5.0-rc.7 → 4.5.0
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-CFe7VL6f.js} +3 -3
- package/dist/cjs/{Heading-d30Feghg.js.map → Heading-CFe7VL6f.js.map} +1 -1
- package/dist/cjs/{api-C8ZkIyx7.js → api-kNqVTMqf.js} +8 -8
- package/dist/cjs/{api-C8ZkIyx7.js.map → api-kNqVTMqf.js.map} +1 -1
- package/dist/cjs/{api-CRSjJs8P.js → api-n8IopicV.js} +12 -12
- package/dist/cjs/{api-CRSjJs8P.js.map → api-n8IopicV.js.map} +1 -1
- package/dist/cjs/{app-globals-B6wB2cXk.js → app-globals-KA8S4Kl9.js} +4 -4
- package/dist/cjs/{app-globals-B6wB2cXk.js.map → app-globals-KA8S4Kl9.js.map} +1 -1
- package/dist/cjs/{base-LmwA5h1k.js → base-B07RMt0-.js} +5 -5
- package/dist/cjs/{base-LmwA5h1k.js.map → base-B07RMt0-.js.map} +1 -1
- package/dist/cjs/{base-C3MDHUog.js → base-Bw44v5Il.js} +4 -4
- package/dist/cjs/{base-C3MDHUog.js.map → base-Bw44v5Il.js.map} +1 -1
- package/dist/cjs/{base-DgUZAiNc.js → base-DGx5qxja.js} +16 -16
- package/dist/cjs/{base-DgUZAiNc.js.map → base-DGx5qxja.js.map} +1 -1
- package/dist/cjs/{base-CyQnTxi6.js → base-Og0FJHrO.js} +4 -4
- package/dist/cjs/{base-CyQnTxi6.js.map → base-Og0FJHrO.js.map} +1 -1
- package/dist/cjs/{base-web-component-C-CwpVZw.js → base-web-component-9l9kVbBw.js} +5 -5
- package/dist/cjs/{base-web-component-C-CwpVZw.js.map → base-web-component-9l9kVbBw.js.map} +1 -1
- package/dist/cjs/{base-web-component-d2k3Mc9P.js → base-web-component-MA3Hmf00.js} +7 -7
- package/dist/cjs/{base-web-component-d2k3Mc9P.js.map → base-web-component-MA3Hmf00.js.map} +1 -1
- package/dist/cjs/{behavior-C-BdOoSN.js → behavior-CddJDVDz.js} +3 -3
- package/dist/cjs/{behavior-C-BdOoSN.js.map → behavior-CddJDVDz.js.map} +1 -1
- package/dist/cjs/{component-D2kI8uwF.js → component-8M23HGR8.js} +5 -5
- package/dist/cjs/{component-D2kI8uwF.js.map → component-8M23HGR8.js.map} +1 -1
- package/dist/cjs/{component-BIz_gAas.js → component-B1t_MP4V.js} +7 -7
- package/dist/cjs/{component-BIz_gAas.js.map → component-B1t_MP4V.js.map} +1 -1
- package/dist/cjs/{component-B1kzY-J5.js → component-B92xMW4N.js} +4 -4
- package/dist/cjs/{component-B1kzY-J5.js.map → component-B92xMW4N.js.map} +1 -1
- package/dist/cjs/{component-BairlFHi.js → component-BGdViN9u.js} +3 -3
- package/dist/cjs/{component-BairlFHi.js.map → component-BGdViN9u.js.map} +1 -1
- package/dist/cjs/{component-B1zMXSkZ.js → component-BZKcc9iM.js} +5 -5
- package/dist/cjs/{component-B1zMXSkZ.js.map → component-BZKcc9iM.js.map} +1 -1
- package/dist/cjs/{component-CmyhDJ0r.js → component-C8WDkeRK.js} +3 -3
- package/dist/cjs/{component-CmyhDJ0r.js.map → component-C8WDkeRK.js.map} +1 -1
- package/dist/cjs/{component-BHDnSaCH.js → component-CESKZB76.js} +3 -3
- package/dist/cjs/{component-BHDnSaCH.js.map → component-CESKZB76.js.map} +1 -1
- package/dist/cjs/{component-D33lYKYT.js → component-CQRRF1jV.js} +3 -3
- package/dist/cjs/{component-D33lYKYT.js.map → component-CQRRF1jV.js.map} +1 -1
- package/dist/cjs/{component-DaAVlb5U.js → component-D7IXFVHR.js} +4 -4
- package/dist/cjs/{component-DaAVlb5U.js.map → component-D7IXFVHR.js.map} +1 -1
- package/dist/cjs/{component-DITtC2F9.js → component-Dzx6SM5K.js} +7 -7
- package/dist/cjs/{component-DITtC2F9.js.map → component-Dzx6SM5K.js.map} +1 -1
- package/dist/cjs/{component-_jdRFw0Y.js → component-K9JCKLMC.js} +4 -4
- package/dist/cjs/{component-_jdRFw0Y.js.map → component-K9JCKLMC.js.map} +1 -1
- package/dist/cjs/{component-KT0MKnL5.js → component-inHq7qad.js} +5 -5
- package/dist/cjs/{component-KT0MKnL5.js.map → component-inHq7qad.js.map} +1 -1
- package/dist/cjs/{dev.utils-B1bWgxrQ.js → dev.utils-CIsKrkDZ.js} +3 -3
- package/dist/cjs/{dev.utils-B1bWgxrQ.js.map → dev.utils-CIsKrkDZ.js.map} +1 -1
- package/dist/cjs/{devtools-DlcIXbRm.js → devtools-DEHRYx1J.js} +4 -4
- package/dist/cjs/{devtools-DlcIXbRm.js.map → devtools-DEHRYx1J.js.map} +1 -1
- package/dist/cjs/{field-control-D0lryu2-.js → field-control-gMhh35Xz.js} +8 -8
- package/dist/cjs/{field-control-D0lryu2-.js.map → field-control-gMhh35Xz.js.map} +1 -1
- package/dist/cjs/{group-DIGY9sM6.js → group-eUk7QHkH.js} +5 -5
- package/dist/cjs/{group-DIGY9sM6.js.map → group-eUk7QHkH.js.map} +1 -1
- package/dist/cjs/{index-qcrGfEY6.js → index-CjTDipy9.js} +3 -3
- package/dist/cjs/index-CjTDipy9.js.map +1 -0
- package/dist/cjs/{input-BjNjOSo5.js → input-D1hDtOel.js} +5 -5
- package/dist/cjs/{input-BjNjOSo5.js.map → input-D1hDtOel.js.map} +1 -1
- package/dist/cjs/{input-container-DghKiuUH.js → input-container-C9wW0ZFj.js} +7 -7
- package/dist/cjs/{input-container-DghKiuUH.js.map → input-container-C9wW0ZFj.js.map} +1 -1
- package/dist/cjs/{item-BMB6SaVm.js → item-C6TgTi4l.js} +4 -4
- package/dist/cjs/{item-BMB6SaVm.js.map → item-C6TgTi4l.js.map} +1 -1
- package/dist/cjs/{item-BKz8BDg2.js → item-D2TI8Iec.js} +4 -4
- package/dist/cjs/{item-BKz8BDg2.js.map → item-D2TI8Iec.js.map} +1 -1
- package/dist/cjs/{item-DdnTb-BP.js → item-DoAJ6Wmk.js} +3 -3
- package/dist/cjs/{item-DdnTb-BP.js.map → item-DoAJ6Wmk.js.map} +1 -1
- package/dist/cjs/{item-CFojolE7.js → item-se0KVw5y.js} +8 -8
- package/dist/cjs/{item-CFojolE7.js.map → item-se0KVw5y.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-JqnN_2MF.js} +3 -3
- package/dist/cjs/{resolve-props-pAyNSZMT.js.map → resolve-props-JqnN_2MF.js.map} +1 -1
- package/dist/cjs/{scroll-lock-CNwobwd2.js → scroll-lock-CxkP-oj1.js} +3 -3
- package/dist/cjs/{scroll-lock-CNwobwd2.js.map → scroll-lock-CxkP-oj1.js.map} +1 -1
- package/dist/cjs/{suggestions-D4TMMZSv.js → suggestions-BDfdREI5.js} +4 -4
- package/dist/cjs/{suggestions-D4TMMZSv.js.map → suggestions-BDfdREI5.js.map} +1 -1
- package/dist/cjs/test-component.cjs.entry.js +1 -1
- package/dist/cjs/{toggle-handler-mIB8gvse.js → toggle-handler-Bm0e15f-.js} +5 -5
- package/dist/cjs/{toggle-handler-mIB8gvse.js.map → toggle-handler-Bm0e15f-.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-DYEtnAIe.js} +3 -3
- package/dist/{kolibri/Heading-NHB1reiQ.js.map → esm/Heading-DYEtnAIe.js.map} +1 -1
- package/dist/esm/{api-BAEPnyL7.js → api-Bhr2ic7C.js} +12 -12
- package/dist/{kolibri/api-BAEPnyL7.js.map → esm/api-Bhr2ic7C.js.map} +1 -1
- package/dist/esm/{api-CagcODCX.js → api-DwdE0qU0.js} +8 -8
- package/dist/esm/{api-CagcODCX.js.map → api-DwdE0qU0.js.map} +1 -1
- package/dist/esm/{app-globals-CwlOH1sO.js → app-globals-DlrwRj26.js} +4 -4
- package/dist/esm/{app-globals-CwlOH1sO.js.map → app-globals-DlrwRj26.js.map} +1 -1
- package/dist/esm/{base-BFU17cMm.js → base-BwsdAVVP.js} +16 -16
- package/dist/{kolibri/base-BFU17cMm.js.map → esm/base-BwsdAVVP.js.map} +1 -1
- package/dist/esm/{base-BpKxLJ6r.js → base-CQQKxfxv.js} +4 -4
- package/dist/{kolibri/base-BpKxLJ6r.js.map → esm/base-CQQKxfxv.js.map} +1 -1
- package/dist/esm/{base-Cm_c8klt.js → base-CdUYL1Y_.js} +5 -5
- package/dist/esm/{base-Cm_c8klt.js.map → base-CdUYL1Y_.js.map} +1 -1
- package/dist/esm/{base-DitGpYOV.js → base-D5a-Ls-4.js} +4 -4
- package/dist/{kolibri/base-DitGpYOV.js.map → esm/base-D5a-Ls-4.js.map} +1 -1
- package/dist/esm/{base-web-component-BFCVvyYG.js → base-web-component-6IoFcVM9.js} +7 -7
- package/dist/{kolibri/base-web-component-BFCVvyYG.js.map → esm/base-web-component-6IoFcVM9.js.map} +1 -1
- package/dist/esm/{base-web-component-6J5sCsnZ.js → base-web-component-CyCs0EpM.js} +5 -5
- package/dist/esm/{base-web-component-6J5sCsnZ.js.map → base-web-component-CyCs0EpM.js.map} +1 -1
- package/dist/esm/{behavior-CH_2MMuX.js → behavior-COQhqcG7.js} +3 -3
- package/dist/{kolibri/behavior-CH_2MMuX.js.map → esm/behavior-COQhqcG7.js.map} +1 -1
- package/dist/esm/{component-Dg6TIbeY.js → component-BOFlST8N.js} +5 -5
- package/dist/{kolibri/component-Dg6TIbeY.js.map → esm/component-BOFlST8N.js.map} +1 -1
- package/dist/esm/{component-BpOMe842.js → component-C4dhT4Ba.js} +3 -3
- package/dist/{kolibri/component-BpOMe842.js.map → esm/component-C4dhT4Ba.js.map} +1 -1
- package/dist/esm/{component-Ba4gjLBG.js → component-C9cJK7Cf.js} +5 -5
- package/dist/esm/{component-Ba4gjLBG.js.map → component-C9cJK7Cf.js.map} +1 -1
- package/dist/esm/{component-Do9rjnte.js → component-CBkrKKXd.js} +7 -7
- package/dist/esm/{component-Do9rjnte.js.map → component-CBkrKKXd.js.map} +1 -1
- package/dist/esm/{component-C5BFsKau.js → component-CHz6TLzY.js} +5 -5
- package/dist/esm/{component-C5BFsKau.js.map → component-CHz6TLzY.js.map} +1 -1
- package/dist/esm/{component-CBpYh2q-.js → component-CODtL04S.js} +7 -7
- package/dist/esm/{component-CBpYh2q-.js.map → component-CODtL04S.js.map} +1 -1
- package/dist/esm/{component-C3sXiwbS.js → component-D30YHxgS.js} +3 -3
- package/dist/esm/{component-C3sXiwbS.js.map → component-D30YHxgS.js.map} +1 -1
- package/dist/esm/{component-DZbJLUju.js → component-DXmRJdLc.js} +4 -4
- package/dist/{kolibri/component-DZbJLUju.js.map → esm/component-DXmRJdLc.js.map} +1 -1
- package/dist/esm/{component-C_d54ujF.js → component-DoCNds1d.js} +4 -4
- package/dist/{kolibri/component-C_d54ujF.js.map → esm/component-DoCNds1d.js.map} +1 -1
- package/dist/esm/{component-CvCfEqSE.js → component-fK2EUkFf.js} +4 -4
- package/dist/esm/{component-CvCfEqSE.js.map → component-fK2EUkFf.js.map} +1 -1
- package/dist/esm/{component-BF8FPuIW.js → component-kDR4_xf0.js} +3 -3
- package/dist/esm/{component-BF8FPuIW.js.map → component-kDR4_xf0.js.map} +1 -1
- package/dist/esm/{component-DzoBgfR4.js → component-kxFmDVse.js} +3 -3
- package/dist/esm/{component-DzoBgfR4.js.map → component-kxFmDVse.js.map} +1 -1
- package/dist/esm/{dev.utils-CJMVCYWh.js → dev.utils-DDqySnXB.js} +3 -3
- package/dist/{kolibri/dev.utils-CJMVCYWh.js.map → esm/dev.utils-DDqySnXB.js.map} +1 -1
- package/dist/esm/{devtools-rRHULXVr.js → devtools-CjmOcVsT.js} +4 -4
- package/dist/{kolibri/devtools-rRHULXVr.js.map → esm/devtools-CjmOcVsT.js.map} +1 -1
- package/dist/esm/{field-control-DXxCMXvx.js → field-control-Dkru7B-M.js} +8 -8
- package/dist/{kolibri/field-control-DXxCMXvx.js.map → esm/field-control-Dkru7B-M.js.map} +1 -1
- package/dist/esm/{group-CI4sSgiu.js → group-CXJiUqKv.js} +5 -5
- package/dist/esm/{group-CI4sSgiu.js.map → group-CXJiUqKv.js.map} +1 -1
- package/dist/esm/{index-DQdQBwMc.js → index-wY4pHWJG.js} +3 -3
- package/dist/esm/index-wY4pHWJG.js.map +1 -0
- package/dist/esm/{input-CDtJZ2sy.js → input-C_ZwHs-7.js} +5 -5
- package/dist/esm/{input-CDtJZ2sy.js.map → input-C_ZwHs-7.js.map} +1 -1
- package/dist/esm/{input-container-DROwwh7_.js → input-container-CBl9xcK-.js} +7 -7
- package/dist/{kolibri/input-container-DROwwh7_.js.map → esm/input-container-CBl9xcK-.js.map} +1 -1
- package/dist/esm/{item-C6p5wW-z.js → item-BacIXvMT.js} +4 -4
- package/dist/esm/{item-C6p5wW-z.js.map → item-BacIXvMT.js.map} +1 -1
- package/dist/esm/{item-CHP-bw8Q.js → item-DewHrd_f.js} +4 -4
- package/dist/{kolibri/item-CHP-bw8Q.js.map → esm/item-DewHrd_f.js.map} +1 -1
- package/dist/esm/{item-Cbi_ZY6o.js → item-lEB6GAqe.js} +3 -3
- package/dist/esm/{item-Cbi_ZY6o.js.map → item-lEB6GAqe.js.map} +1 -1
- package/dist/esm/{item-ZjrNIhfW.js → item-nGiqyOvt.js} +8 -8
- package/dist/{kolibri/item-ZjrNIhfW.js.map → esm/item-nGiqyOvt.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-DrFDeILa.js} +3 -3
- package/dist/esm/{resolve-props-CjBvvXId.js.map → resolve-props-DrFDeILa.js.map} +1 -1
- package/dist/esm/{scroll-lock-6SV-XFXR.js → scroll-lock-BotxOlMX.js} +3 -3
- package/dist/{kolibri/scroll-lock-6SV-XFXR.js.map → esm/scroll-lock-BotxOlMX.js.map} +1 -1
- package/dist/esm/{suggestions-BYMmW1aV.js → suggestions-CX5S2xAI.js} +4 -4
- package/dist/esm/{suggestions-BYMmW1aV.js.map → suggestions-CX5S2xAI.js.map} +1 -1
- package/dist/esm/test-component.entry.js +1 -1
- package/dist/esm/{toggle-handler-D-yalcds.js → toggle-handler-VctiltrE.js} +5 -5
- package/dist/esm/{toggle-handler-D-yalcds.js.map → toggle-handler-VctiltrE.js.map} +1 -1
- package/dist/kolibri/{Heading-NHB1reiQ.js → Heading-DYEtnAIe.js} +2 -2
- package/dist/{esm/Heading-NHB1reiQ.js.map → kolibri/Heading-DYEtnAIe.js.map} +1 -1
- package/dist/kolibri/{api-BAEPnyL7.js → api-Bhr2ic7C.js} +2 -2
- package/dist/{esm/api-BAEPnyL7.js.map → kolibri/api-Bhr2ic7C.js.map} +1 -1
- package/dist/kolibri/api-DwdE0qU0.js +5 -0
- package/dist/kolibri/{api-CagcODCX.js.map → api-DwdE0qU0.js.map} +1 -1
- package/dist/kolibri/app-globals-DlrwRj26.js +5 -0
- package/dist/kolibri/{app-globals-CwlOH1sO.js.map → app-globals-DlrwRj26.js.map} +1 -1
- package/dist/kolibri/{base-BFU17cMm.js → base-BwsdAVVP.js} +2 -2
- package/dist/{esm/base-BFU17cMm.js.map → kolibri/base-BwsdAVVP.js.map} +1 -1
- package/dist/kolibri/{base-BpKxLJ6r.js → base-CQQKxfxv.js} +2 -2
- package/dist/{esm/base-BpKxLJ6r.js.map → kolibri/base-CQQKxfxv.js.map} +1 -1
- package/dist/kolibri/{base-Cm_c8klt.js → base-CdUYL1Y_.js} +2 -2
- package/dist/kolibri/{base-Cm_c8klt.js.map → base-CdUYL1Y_.js.map} +1 -1
- package/dist/kolibri/{base-DitGpYOV.js → base-D5a-Ls-4.js} +2 -2
- package/dist/{esm/base-DitGpYOV.js.map → kolibri/base-D5a-Ls-4.js.map} +1 -1
- package/dist/kolibri/{base-web-component-BFCVvyYG.js → base-web-component-6IoFcVM9.js} +2 -2
- package/dist/{esm/base-web-component-BFCVvyYG.js.map → kolibri/base-web-component-6IoFcVM9.js.map} +1 -1
- package/dist/kolibri/{base-web-component-6J5sCsnZ.js → base-web-component-CyCs0EpM.js} +2 -2
- package/dist/kolibri/{base-web-component-6J5sCsnZ.js.map → base-web-component-CyCs0EpM.js.map} +1 -1
- package/dist/kolibri/{behavior-CH_2MMuX.js → behavior-COQhqcG7.js} +2 -2
- package/dist/{esm/behavior-CH_2MMuX.js.map → kolibri/behavior-COQhqcG7.js.map} +1 -1
- package/dist/kolibri/{component-Dg6TIbeY.js → component-BOFlST8N.js} +2 -2
- package/dist/{esm/component-Dg6TIbeY.js.map → kolibri/component-BOFlST8N.js.map} +1 -1
- package/dist/kolibri/{component-BpOMe842.js → component-C4dhT4Ba.js} +2 -2
- package/dist/{esm/component-BpOMe842.js.map → kolibri/component-C4dhT4Ba.js.map} +1 -1
- package/dist/kolibri/component-C9cJK7Cf.js +5 -0
- package/dist/kolibri/{component-Ba4gjLBG.js.map → component-C9cJK7Cf.js.map} +1 -1
- package/dist/kolibri/{component-Do9rjnte.js → component-CBkrKKXd.js} +2 -2
- package/dist/kolibri/{component-Do9rjnte.js.map → component-CBkrKKXd.js.map} +1 -1
- package/dist/kolibri/component-CHz6TLzY.js +5 -0
- package/dist/kolibri/{component-C5BFsKau.js.map → component-CHz6TLzY.js.map} +1 -1
- package/dist/kolibri/component-CODtL04S.js +5 -0
- package/dist/kolibri/{component-CBpYh2q-.js.map → component-CODtL04S.js.map} +1 -1
- package/dist/kolibri/{component-C3sXiwbS.js → component-D30YHxgS.js} +2 -2
- package/dist/kolibri/{component-C3sXiwbS.js.map → component-D30YHxgS.js.map} +1 -1
- package/dist/kolibri/{component-DZbJLUju.js → component-DXmRJdLc.js} +2 -2
- package/dist/{esm/component-DZbJLUju.js.map → kolibri/component-DXmRJdLc.js.map} +1 -1
- package/dist/kolibri/{component-C_d54ujF.js → component-DoCNds1d.js} +2 -2
- package/dist/{esm/component-C_d54ujF.js.map → kolibri/component-DoCNds1d.js.map} +1 -1
- package/dist/kolibri/{component-CvCfEqSE.js → component-fK2EUkFf.js} +2 -2
- package/dist/kolibri/{component-CvCfEqSE.js.map → component-fK2EUkFf.js.map} +1 -1
- package/dist/kolibri/{component-BF8FPuIW.js → component-kDR4_xf0.js} +2 -2
- package/dist/kolibri/{component-BF8FPuIW.js.map → component-kDR4_xf0.js.map} +1 -1
- package/dist/kolibri/component-kxFmDVse.js +5 -0
- package/dist/kolibri/{component-DzoBgfR4.js.map → component-kxFmDVse.js.map} +1 -1
- package/dist/kolibri/{dev.utils-CJMVCYWh.js → dev.utils-DDqySnXB.js} +2 -2
- package/dist/{esm/dev.utils-CJMVCYWh.js.map → kolibri/dev.utils-DDqySnXB.js.map} +1 -1
- package/dist/kolibri/{devtools-rRHULXVr.js → devtools-CjmOcVsT.js} +2 -2
- package/dist/{esm/devtools-rRHULXVr.js.map → kolibri/devtools-CjmOcVsT.js.map} +1 -1
- package/dist/kolibri/field-control-Dkru7B-M.js +5 -0
- package/dist/{esm/field-control-DXxCMXvx.js.map → kolibri/field-control-Dkru7B-M.js.map} +1 -1
- package/dist/kolibri/{group-CI4sSgiu.js → group-CXJiUqKv.js} +2 -2
- package/dist/kolibri/{group-CI4sSgiu.js.map → group-CXJiUqKv.js.map} +1 -1
- package/dist/kolibri/{index-DQdQBwMc.js → index-wY4pHWJG.js} +2 -2
- package/dist/kolibri/index-wY4pHWJG.js.map +1 -0
- package/dist/kolibri/{input-CDtJZ2sy.js → input-C_ZwHs-7.js} +2 -2
- package/dist/kolibri/{input-CDtJZ2sy.js.map → input-C_ZwHs-7.js.map} +1 -1
- package/dist/kolibri/{input-container-DROwwh7_.js → input-container-CBl9xcK-.js} +2 -2
- package/dist/{esm/input-container-DROwwh7_.js.map → kolibri/input-container-CBl9xcK-.js.map} +1 -1
- package/dist/kolibri/item-BacIXvMT.js +5 -0
- package/dist/kolibri/{item-C6p5wW-z.js.map → item-BacIXvMT.js.map} +1 -1
- package/dist/kolibri/item-DewHrd_f.js +5 -0
- package/dist/{esm/item-CHP-bw8Q.js.map → kolibri/item-DewHrd_f.js.map} +1 -1
- package/dist/kolibri/{item-Cbi_ZY6o.js → item-lEB6GAqe.js} +2 -2
- package/dist/kolibri/{item-Cbi_ZY6o.js.map → item-lEB6GAqe.js.map} +1 -1
- package/dist/kolibri/{item-ZjrNIhfW.js → item-nGiqyOvt.js} +2 -2
- package/dist/{esm/item-ZjrNIhfW.js.map → kolibri/item-nGiqyOvt.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-CjBvvXId.js → resolve-props-DrFDeILa.js} +2 -2
- package/dist/kolibri/{resolve-props-CjBvvXId.js.map → resolve-props-DrFDeILa.js.map} +1 -1
- package/dist/kolibri/{scroll-lock-6SV-XFXR.js → scroll-lock-BotxOlMX.js} +2 -2
- package/dist/{esm/scroll-lock-6SV-XFXR.js.map → kolibri/scroll-lock-BotxOlMX.js.map} +1 -1
- package/dist/kolibri/{suggestions-BYMmW1aV.js → suggestions-CX5S2xAI.js} +2 -2
- package/dist/kolibri/{suggestions-BYMmW1aV.js.map → suggestions-CX5S2xAI.js.map} +1 -1
- package/dist/kolibri/test-component.entry.js +1 -1
- package/dist/kolibri/{toggle-handler-D-yalcds.js → toggle-handler-VctiltrE.js} +2 -2
- package/dist/kolibri/{toggle-handler-D-yalcds.js.map → toggle-handler-VctiltrE.js.map} +1 -1
- package/package.json +2 -2
- package/dist/cjs/index-qcrGfEY6.js.map +0 -1
- package/dist/esm/index-DQdQBwMc.js.map +0 -1
- 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/index-DQdQBwMc.js.map +0 -1
- package/dist/kolibri/item-C6p5wW-z.js +0 -5
- package/dist/kolibri/item-CHP-bw8Q.js +0 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-web-component-6J5sCsnZ.js","sources":["src/schema/validators/options.ts","src/internal/props/options-with-optgroup.ts","src/internal/props/select-value.ts","src/internal/functional-components/select/api.tsx","src/internal/functional-components/form-field/select.tsx","src/internal/functional-components/form-field/select-value.ts","src/internal/functional-components/select/base-web-component.tsx"],"sourcesContent":["import { containsOnlyNumbers, hasEnoughReadableChars } from '../props';\nimport { a11yHint } from '../utils';\n\nimport type { Optgroup, SelectOption } from '../types';\nexport const validateInputSelectOptions = <T>(option: SelectOption<T>): boolean => {\n\tif (typeof option === 'object' && option !== null) {\n\t\tif (typeof option.label === 'string' && option.label.length > 0) {\n\t\t\toption.disabled = option.disabled === true;\n\t\t\toption.label = `${option.label}`.trim();\n\t\t\tif (hasEnoughReadableChars(option.label, 3) === false && containsOnlyNumbers(option.label) === false) {\n\t\t\t\ta11yHint(`A differing Aria-Label (${option.label}) is inaccessible. A differing Aria-Label should consist of at least three readable characters.`);\n\t\t\t}\n\t\t\tif (Array.isArray((option as Optgroup<T>).options)) {\n\t\t\t\treturn (\n\t\t\t\t\t(option as Optgroup<T>).options.find((item) => {\n\t\t\t\t\t\treturn validateInputSelectOptions(item) === false;\n\t\t\t\t\t}) === undefined\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn true;\n\t\t} else if (typeof option.label === 'number') {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n","import type { Optgroup, Option, OptionsWithOptgroupPropType, StencilUnknown } from '../../schema';\nimport { parseJson, validateInputSelectOptions } from '../../schema';\nimport type { Prop } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\n\nexport type SelectOptionsList = (Option<StencilUnknown> | Optgroup<StencilUnknown>)[];\n\n/**\n * Options prop for `kol-select`\n *\n * Description:\n * Options and optgroups, as an array or as a JSON string when it is passed through an HTML attribute.\n * Every option needs a non-empty string or a number as `label`; one invalid option rejects the whole\n * list. An empty string is rejected as well, because Stencil can pass it for an empty array.\n *\n * The validation is `validateInputSelectOptions` of the schema, which also normalizes each option in\n * place: `disabled` becomes a boolean and a string `label` is trimmed.\n */\nexport type OptionsWithOptgroupProp = Prop<'options', OptionsWithOptgroupPropType, SelectOptionsList>;\n\nfunction normalizeOptionsWithOptgroup(value: unknown): SelectOptionsList | never {\n\tconst parsed = typeof value === 'string' ? parseJson<unknown>(value) : value;\n\tif (Array.isArray(parsed) && parsed.every((option) => validateInputSelectOptions(option as Option<StencilUnknown>))) {\n\t\treturn parsed as SelectOptionsList;\n\t}\n\tthrow new Error('Invalid select options');\n}\n\nexport const optionsWithOptgroupProp = createPropDefinition<OptionsWithOptgroupProp>('options', [], normalizeOptionsWithOptgroup);\n","import type { StencilUnknown, Stringified } from '../../schema';\nimport type { Prop } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\n\n/**\n * Value prop of `kol-select`\n *\n * Description:\n * The selected values; a single value is wrapped into a list. A JSON string is not parsed, it is a\n * value of its own. The default is the empty list. `kol-select` keeps `null` as `[null]` instead of\n * applying this definition to it.\n */\nexport type SelectValueProp = Prop<'value', Stringified<StencilUnknown[]> | Stringified<StencilUnknown>, StencilUnknown[]>;\nexport const selectValueProp = createPropDefinition<SelectValueProp>('value', [], (value: unknown) =>\n\tArray.isArray(value) ? (value as StencilUnknown[]) : [value as StencilUnknown],\n);\n","import {\n\taccessKeyProp,\n\thorizontalIconsProp,\n\tmultipleProp,\n\toptionsWithOptgroupProp,\n\trequiredProp,\n\trowsProp,\n\tselectValueProp,\n\tshortKeyProp,\n\ttabIndexProp,\n\tvariantProp,\n} from '../../props';\nimport type { FormFieldBaseStates } from '../form-field/api';\nimport { formFieldBasePropsConfig } from '../form-field/api';\nimport type { ApiFromConfig, PropsConfigShape } from '../generic-types';\n\nexport const selectPropsConfig = {\n\trequired: [...formFieldBasePropsConfig.required],\n\toptional: [\n\t\t...formFieldBasePropsConfig.optional,\n\t\taccessKeyProp,\n\t\thorizontalIconsProp,\n\t\tmultipleProp,\n\t\toptionsWithOptgroupProp,\n\t\trequiredProp,\n\t\trowsProp,\n\t\tselectValueProp,\n\t\tshortKeyProp,\n\t\ttabIndexProp,\n\t\tvariantProp,\n\t],\n} as const satisfies PropsConfigShape;\n\nexport type SelectApi = ApiFromConfig<typeof selectPropsConfig, { States: FormFieldBaseStates }>;\n","import { Fragment, h, type FunctionalComponent as FC } from '@stencil/core';\nimport type { JSXBase } from '@stencil/core/internal';\nimport type { MsgPropType, SelectOption, StencilUnknown, Stringified, W3CInputValue } from '../../../schema';\nimport { getMsgType, isMsgDefinedAndInputTouched } from '../../../schema';\nimport clsx from '../../../utils/clsx';\nimport { getBlockBem } from '../bem-root-node/block-bem';\nimport type { DefaultInputProps } from './default-input-props';\nimport { getDefaultInputProps } from './default-input-props';\n\nconst selectBem = getBlockBem('kol-select');\n\ntype SelectAttributes = JSXBase.SelectHTMLAttributes<HTMLSelectElement>;\n\nexport type SelectOptionFCProps = Omit<JSXBase.OptionHTMLAttributes<HTMLOptionElement>, 'value' | 'label'> & {\n\t/** The value, or the list of values, of the selected options. */\n\tselectedValue?: StencilUnknown | StencilUnknown[];\n\tvalue: StencilUnknown;\n\tlabel: W3CInputValue;\n\t/** The key of the option, rendered as its native value; the field maps it back to `value`. */\n\tindex?: string | number;\n};\n\nexport type SelectOptionListFCProps = {\n\t/** Key prefix of the options in an optgroup. */\n\tpreKey?: string;\n\tdisabled?: boolean;\n\tvalue?: StencilUnknown | StencilUnknown[];\n\toptions?: SelectOption<StencilUnknown>[];\n\tOptionProps?: Omit<JSXBase.OptionHTMLAttributes<HTMLOptionElement>, 'value' | 'label'>;\n\tOptionGroupProps?: Omit<JSXBase.OptgroupHTMLAttributes<HTMLOptGroupElement>, 'label'>;\n};\n\nexport type SelectFCProps = DefaultInputProps<SelectAttributes> &\n\tSelectOptionListFCProps & {\n\t\ttouched?: boolean;\n\t\tmsg?: Stringified<MsgPropType>;\n\t} & {\n\t\t[key: `aria-${string}`]: unknown;\n\t\t[key: `data-${string}`]: unknown;\n\t};\n\n/**\n * Native `<option>`. Its native value is the key (`-<index>`, in an optgroup `-<group>-<index>`), not\n * the option value, because a native value can only be a string.\n */\nexport const SelectOptionFC: FC<SelectOptionFCProps> = ({ class: classNames, index, selectedValue, selected, value, label, disabled, ...other }) => {\n\tconst selectedValues = selectedValue === undefined ? [] : Array.isArray(selectedValue) ? selectedValue : [selectedValue];\n\tconst isSelected = selected || selectedValues.includes(value);\n\n\treturn (\n\t\t<option\n\t\t\tclass={clsx(selectBem('option', { selected: Boolean(isSelected), disabled: Boolean(disabled) }), classNames)}\n\t\t\tselected={isSelected}\n\t\t\tdisabled={disabled}\n\t\t\tvalue={index}\n\t\t\t{...other}\n\t\t>\n\t\t\t{label}\n\t\t</option>\n\t);\n};\n\n/** Options and optgroups of a native select, recursively; an optgroup prefixes the keys of its options. */\nexport const SelectOptionListFC: FC<SelectOptionListFCProps> = ({\n\tpreKey,\n\toptions,\n\tdisabled,\n\tvalue: selectedValue,\n\tOptionProps = {},\n\tOptionGroupProps = {},\n}) => {\n\tif (!options?.length) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{options.map((option, index) => {\n\t\t\t\tconst key = [preKey, `-${index}`].join('');\n\n\t\t\t\tif ('options' in option) {\n\t\t\t\t\tif (!option.options?.length) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst isOptgroupDisabled = Boolean(disabled || option.disabled);\n\t\t\t\t\tconst { label, ...other } = option;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<optgroup\n\t\t\t\t\t\t\tclass={selectBem('optgroup', { disabled: isOptgroupDisabled })}\n\t\t\t\t\t\t\tkey={key}\n\t\t\t\t\t\t\t{...OptionGroupProps}\n\t\t\t\t\t\t\tlabel={label?.toString()}\n\t\t\t\t\t\t\tdisabled={isOptgroupDisabled}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<SelectOptionListFC\n\t\t\t\t\t\t\t\tOptionGroupProps={OptionGroupProps}\n\t\t\t\t\t\t\t\tOptionProps={OptionProps}\n\t\t\t\t\t\t\t\tvalue={selectedValue}\n\t\t\t\t\t\t\t\tpreKey={key}\n\t\t\t\t\t\t\t\t{...other}\n\t\t\t\t\t\t\t\tdisabled={isOptgroupDisabled}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</optgroup>\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif ('value' in option) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<SelectOptionFC key={key} {...OptionProps} index={key} selectedValue={selectedValue} {...option} disabled={Boolean(disabled || option.disabled)} />\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn null;\n\t\t\t})}\n\t\t</>\n\t);\n};\n\n/**\n * Native `<select>` of a form field with its options. The select itself is the root of the\n * `kol-select` block, so the block classes are set on it directly instead of through `BemRootNodeFC`.\n */\nexport const SelectFC: FC<SelectFCProps> = (props) => {\n\tconst {\n\t\tclass: classNames,\n\t\tmsg,\n\t\ttouched,\n\t\tdisabled,\n\t\trequired,\n\t\toptions,\n\t\tvalue,\n\t\tOptionProps,\n\t\tOptionGroupProps,\n\t\tariaDescribedBy,\n\t\thideLabel,\n\t\tlabel,\n\t\t...other\n\t} = props;\n\n\tconst selectProps: SelectAttributes = {\n\t\tclass: clsx(\n\t\t\tselectBem({\n\t\t\t\tdisabled: Boolean(disabled),\n\t\t\t\trequired: Boolean(required),\n\t\t\t\ttouched: Boolean(touched),\n\t\t\t\t...(isMsgDefinedAndInputTouched(msg, touched) ? { [getMsgType(msg) as string]: true } : {}),\n\t\t\t}),\n\t\t\tclassNames,\n\t\t),\n\t\trequired: required,\n\t\tdisabled: disabled,\n\t\t...getDefaultInputProps({ ariaDescribedBy, hideLabel, label }),\n\t\t...other,\n\t};\n\n\treturn (\n\t\t<select {...selectProps}>\n\t\t\t<SelectOptionListFC OptionGroupProps={OptionGroupProps} OptionProps={OptionProps} disabled={disabled} options={options} value={value} />\n\t\t</select>\n\t);\n};\n","import type { Option, StencilUnknown } from '../../../schema';\nimport type { SelectOptionsList } from '../../props/options-with-optgroup';\n\n/**\n * Throws when the shape of a `_value` does not match `_multiple`: a list in single mode, or a single\n * value in multiple mode. The field throws from its watcher, so the value is not applied. `source`\n * names the value in the message: the received value of a `_value` change, or the current value on\n * a `_multiple` change.\n */\nexport const assertSelectValueMatchesMultiplicity = (value: unknown, multiple: boolean, source: 'current' | 'received'): void => {\n\tconst isArray = Array.isArray(value);\n\n\tif (multiple) {\n\t\tif (value !== undefined && !isArray) {\n\t\t\tthrow new Error(\n\t\t\t\t`↑ The schema for the property (_value) is not valid for multiple mode. Expected an array. The value will not be changed. (${source} = ${JSON.stringify(value)})`,\n\t\t\t);\n\t\t}\n\t} else if (isArray) {\n\t\tthrow new Error(\n\t\t\t`↑ The schema for the property (_value) is not valid for single mode. Expected a single value. The value will not be changed. (${source} = ${JSON.stringify(value)})`,\n\t\t);\n\t}\n};\n\n/** The options of the list, with the options of each optgroup in place of the optgroup. */\nconst flattenSelectOptions = (options: SelectOptionsList, groupDisabled = false): Option<StencilUnknown>[] =>\n\toptions.flatMap((entry) =>\n\t\t'options' in entry && Array.isArray(entry.options)\n\t\t\t? flattenSelectOptions(entry.options, Boolean(groupDisabled || entry.disabled))\n\t\t\t: [{ ...(entry as Option<StencilUnknown>), disabled: Boolean(groupDisabled || (entry as Option<StencilUnknown>).disabled) }],\n\t);\n\n/**\n * Keeps only the values that belong to an option. Then, in single mode (`multiple === false`, not\n * merely falsy) without a value, the value becomes the value of the first enabled option, which is\n * the option the native select shows. Without options, the value is kept as it is, because the\n * options can follow the value.\n */\nexport const normalizeSelectValue = (value: StencilUnknown[], options: SelectOptionsList, multiple: boolean | undefined): StencilUnknown[] => {\n\tif (options.length === 0) {\n\t\treturn value;\n\t}\n\tconst flatOptions = flattenSelectOptions(options);\n\tconst optionValues = flatOptions.map((option) => option.value);\n\tconst filtered = value.every((item) => optionValues.includes(item)) ? value : value.filter((item) => optionValues.includes(item));\n\tif (multiple === false && filtered.length === 0) {\n\t\tconst firstEnabled = flatOptions.find((option) => option.disabled !== true);\n\t\treturn firstEnabled ? [firstEnabled.value] : filtered;\n\t}\n\treturn filtered;\n};\n","import { h, type JSX } from '@stencil/core';\nimport type {\n\tIconsHorizontalPropType,\n\tMultiplePropType,\n\tOption,\n\tOptionsWithOptgroupPropType,\n\tSelectOption,\n\tShortKeyPropType,\n\tStencilUnknown,\n\tStringified,\n\tVariantClassNamePropType,\n} from '../../../schema';\nimport { validateAccessAndShortKey } from '../../../schema/validators/access-and-short-key';\nimport clsx from '../../../utils/clsx';\nimport type { CtaRef } from '../../../utils/element-interaction';\nimport {\n\taccessKeyProp,\n\thorizontalIconsProp,\n\tmultipleProp,\n\toptionsWithOptgroupProp,\n\trequiredProp,\n\trowsProp,\n\tselectValueProp,\n\tshortKeyProp,\n\ttabIndexProp,\n\tvariantProp,\n} from '../../props';\nimport { getInputAdornments } from '../form-field/adornments';\nimport { BaseFormFieldWebComponent } from '../form-field/base-web-component';\nimport { FormFieldFC } from '../form-field/component';\nimport { InputContainerFC } from '../form-field/input-container';\nimport { fillKeyOptionMap } from '../form-field/options';\nimport type { SelectFCProps } from '../form-field/select';\nimport { SelectFC } from '../form-field/select';\nimport { assertSelectValueMatchesMultiplicity, normalizeSelectValue } from '../form-field/select-value';\nimport type { SelectApi } from './api';\n\n/**\n * Shared orchestrator implementation of `kol-select` and the page size select of the pagination\n * (`PageSizeSelect`): the option map, the value list and its normalization, the native select\n * events and the render.\n *\n * `kol-select` keeps what Stencil has to see in the component class itself (DD16).\n */\nexport abstract class BaseSelectWebComponent extends BaseFormFieldWebComponent<SelectApi> {\n\t/** Read for the multiplicity check and the first option preselection, like the raw prop. */\n\tpublic abstract _multiple?: boolean;\n\t/** Written on user input. */\n\tpublic abstract _value?: Stringified<StencilUnknown[]> | Stringified<StencilUnknown>;\n\n\tprotected abstract readonly ctaRef: CtaRef<HTMLSelectElement>;\n\n\t/** Option of each native option value (`-<index>`). */\n\tprivate readonly keyOptionMap = new Map<string, Option<StencilUnknown>>();\n\n\t/**\n\t * Whether the field has a value, for the class `kol-form-field--has-value`. It starts as `true`\n\t * and follows each `change`; it does not trigger a render of its own.\n\t */\n\tprivate hasValue = true;\n\n\t// --- Prop application (the concrete element's watchers delegate here) ---\n\n\tprotected applyAccessKey(value?: string): void {\n\t\taccessKeyProp.apply(value, (v) => this.setRenderProp('accessKey', v));\n\t\tvalidateAccessAndShortKey(value, this.getShortKeyProp());\n\t}\n\n\tprotected applyShortKey(value?: ShortKeyPropType): void {\n\t\tshortKeyProp.apply(value, (v) => this.setRenderProp('shortKey', v));\n\t\tvalidateAccessAndShortKey(this.getAccessKeyProp(), value);\n\t}\n\n\tprotected abstract getAccessKeyProp(): string | undefined;\n\tprotected abstract getShortKeyProp(): ShortKeyPropType | undefined;\n\n\tprotected applyIcons(value?: IconsHorizontalPropType): void {\n\t\thorizontalIconsProp.apply(value, (v) => this.setRenderProp('icons', v));\n\t}\n\n\tprotected applyMultiple(value?: MultiplePropType): void {\n\t\tassertSelectValueMatchesMultiplicity(this._value, value === true, 'current');\n\t\tmultipleProp.apply(value, (v) => {\n\t\t\tthis.setRenderProp('multiple', v);\n\t\t\tthis.setRenderProp('value', normalizeSelectValue(this.getRenderProp('value'), this.getRenderProp('options'), this._multiple));\n\t\t});\n\t}\n\n\t/** The option map keeps its entries while the list is empty. */\n\tprotected applyOptions(value?: OptionsWithOptgroupPropType): void {\n\t\toptionsWithOptgroupProp.apply(value, (v) => {\n\t\t\tthis.setRenderProp('options', v);\n\t\t\tif (v.length > 0) {\n\t\t\t\tthis.keyOptionMap.clear();\n\t\t\t\tfillKeyOptionMap(this.keyOptionMap, v as SelectOption<StencilUnknown>[]);\n\t\t\t\tthis.setRenderProp('value', normalizeSelectValue(this.getRenderProp('value'), v, this._multiple));\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected applyRequired(value?: boolean): void {\n\t\trequiredProp.apply(value, (v) => this.setRenderProp('required', v));\n\t}\n\n\tprotected applyRows(value?: number): void {\n\t\trowsProp.apply(value, (v) => this.setRenderProp('rows', v));\n\t}\n\n\tprotected applyTabIndex(value?: number): void {\n\t\ttabIndexProp.apply(value, (v) => this.setRenderProp('tabIndex', v));\n\t}\n\n\t/**\n\t * A single value is wrapped into a list and `null` is kept as `[null]`. Only a `_value` change sets\n\t * the form value; the preselection on an `_options` or `_multiple` change does not.\n\t */\n\tprotected applyValue(value?: Stringified<StencilUnknown[]> | Stringified<StencilUnknown>): void {\n\t\tassertSelectValueMatchesMultiplicity(value, this._multiple === true, 'received');\n\t\tconst setValue = (list: StencilUnknown[]): void => {\n\t\t\tconst normalized = normalizeSelectValue(list, this.getRenderProp('options'), this._multiple);\n\t\t\tthis.setRenderProp('value', normalized);\n\t\t\tthis.formAssociation.setFormAssociatedValue(this.getModelValue());\n\t\t};\n\t\tif (value === null) {\n\t\t\tsetValue([null]);\n\t\t} else {\n\t\t\tselectValueProp.apply(value, setValue);\n\t\t}\n\t}\n\n\tprotected applyVariant(value?: VariantClassNamePropType): void {\n\t\tvariantProp.apply(value, (v) => this.setRenderProp('variant', v));\n\t}\n\n\t// --- Value ---\n\n\t/** The value list with `_multiple`, otherwise its first entry (the list itself when empty). */\n\tprotected getModelValue(): StencilUnknown[] | StencilUnknown {\n\t\tconst value = this.getRenderProp('value');\n\t\tif (this._multiple) {\n\t\t\treturn value;\n\t\t}\n\t\treturn Array.isArray(value) && value.length > 0 ? value[0] : value;\n\t}\n\n\t// --- Event handling of the native select ---\n\n\tprivate readonly handleSelectInput = (event: Event): void => {\n\t\tconst selectedValues = Array.from(this.ctaRef.el?.options || [])\n\t\t\t.filter((option) => option.selected)\n\t\t\t.map((option) => this.keyOptionMap.get(option.value)?.value);\n\n\t\tif (this._multiple) {\n\t\t\tthis._value = selectedValues;\n\t\t\tthis.handleInput(event, selectedValues);\n\t\t} else {\n\t\t\tconst singleValue: StencilUnknown = selectedValues.length > 0 ? selectedValues[0] : undefined;\n\t\t\tthis._value = singleValue as Stringified<StencilUnknown>;\n\t\t\tthis.handleInput(event, singleValue);\n\t\t}\n\t};\n\n\tprivate readonly handleSelectChange = (event: Event): void => {\n\t\tconst value = this._value as StencilUnknown;\n\t\tthis.handleChange(event, value);\n\t\tthis.hasValue = !!value;\n\t};\n\n\t// --- Render ---\n\n\tprivate getSelectProps(): SelectFCProps {\n\t\tconst { ariaDescribedBy, hasError } = this.getAria();\n\t\tconst multiple = this.getRenderProp('multiple');\n\t\tconst shortKey = this.getRenderProp('shortKey');\n\n\t\treturn {\n\t\t\tid: this.getState('id'),\n\t\t\thideLabel: this.getRenderProp('hideLabel'),\n\t\t\tlabel: this.getRenderProp('label'),\n\t\t\tvalue: this.getRenderProp('value'),\n\t\t\toptions: this.getRenderProp('options'),\n\t\t\taccessKey: this.getRenderProp('accessKey') || undefined,\n\t\t\tdisabled: this.getRenderProp('disabled'),\n\t\t\tname: this.getRenderProp('name') || undefined,\n\t\t\t'aria-invalid': hasError ? 'true' : undefined,\n\t\t\tariaDescribedBy,\n\t\t\tsize: multiple ? this.getRenderProp('rows') : undefined,\n\t\t\tmultiple,\n\t\t\trequired: this.getRenderProp('required'),\n\t\t\ttouched: this.getRenderProp('touched'),\n\t\t\tmsg: this.getRenderProp('msg'),\n\t\t\t...(shortKey ? { 'aria-keyshortcuts': shortKey } : {}),\n\t\t\tref: this.ctaRef,\n\t\t\tonBlur: this.handleBlur,\n\t\t\tonChange: this.handleSelectChange,\n\t\t\tonClick: this.handleClick,\n\t\t\tonFocus: this.handleFocus,\n\t\t\tonInput: this.handleSelectInput,\n\t\t\tonKeyDown: this.handleKeyDown,\n\t\t};\n\t}\n\n\tprotected renderSelectField(): JSX.Element {\n\t\tconst disabled = this.getRenderProp('disabled');\n\t\tconst { startAdornment, endAdornment } = getInputAdornments({ icons: this.getRenderProp('icons') });\n\n\t\treturn (\n\t\t\t<FormFieldFC\n\t\t\t\t{...this.getFormFieldProps({\n\t\t\t\t\tclass: clsx('kol-form-field-select', { 'kol-form-field--has-value': this.hasValue }),\n\t\t\t\t\taccessKey: this.getRenderProp('accessKey') || undefined,\n\t\t\t\t\tshortKey: this.getRenderProp('shortKey') || undefined,\n\t\t\t\t\trequired: this.getRenderProp('required'),\n\t\t\t\t\tvariant: this.getRenderProp('variant'),\n\t\t\t\t})}\n\t\t\t\tonClick={() => this.ctaRef.el?.focus()}\n\t\t\t>\n\t\t\t\t<InputContainerFC\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tmsg={this.getRenderProp('msg')}\n\t\t\t\t\ttouched={this.getRenderProp('touched')}\n\t\t\t\t\tstartAdornment={startAdornment}\n\t\t\t\t\tendAdornment={endAdornment}\n\t\t\t\t>\n\t\t\t\t\t<SelectFC {...this.getSelectProps()} />\n\t\t\t\t</InputContainerFC>\n\t\t\t</FormFieldFC>\n\t\t);\n\t}\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"base-web-component-CyCs0EpM.js","sources":["src/schema/validators/options.ts","src/internal/props/options-with-optgroup.ts","src/internal/props/select-value.ts","src/internal/functional-components/select/api.tsx","src/internal/functional-components/form-field/select.tsx","src/internal/functional-components/form-field/select-value.ts","src/internal/functional-components/select/base-web-component.tsx"],"sourcesContent":["import { containsOnlyNumbers, hasEnoughReadableChars } from '../props';\nimport { a11yHint } from '../utils';\n\nimport type { Optgroup, SelectOption } from '../types';\nexport const validateInputSelectOptions = <T>(option: SelectOption<T>): boolean => {\n\tif (typeof option === 'object' && option !== null) {\n\t\tif (typeof option.label === 'string' && option.label.length > 0) {\n\t\t\toption.disabled = option.disabled === true;\n\t\t\toption.label = `${option.label}`.trim();\n\t\t\tif (hasEnoughReadableChars(option.label, 3) === false && containsOnlyNumbers(option.label) === false) {\n\t\t\t\ta11yHint(`A differing Aria-Label (${option.label}) is inaccessible. A differing Aria-Label should consist of at least three readable characters.`);\n\t\t\t}\n\t\t\tif (Array.isArray((option as Optgroup<T>).options)) {\n\t\t\t\treturn (\n\t\t\t\t\t(option as Optgroup<T>).options.find((item) => {\n\t\t\t\t\t\treturn validateInputSelectOptions(item) === false;\n\t\t\t\t\t}) === undefined\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn true;\n\t\t} else if (typeof option.label === 'number') {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n","import type { Optgroup, Option, OptionsWithOptgroupPropType, StencilUnknown } from '../../schema';\nimport { parseJson, validateInputSelectOptions } from '../../schema';\nimport type { Prop } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\n\nexport type SelectOptionsList = (Option<StencilUnknown> | Optgroup<StencilUnknown>)[];\n\n/**\n * Options prop for `kol-select`\n *\n * Description:\n * Options and optgroups, as an array or as a JSON string when it is passed through an HTML attribute.\n * Every option needs a non-empty string or a number as `label`; one invalid option rejects the whole\n * list. An empty string is rejected as well, because Stencil can pass it for an empty array.\n *\n * The validation is `validateInputSelectOptions` of the schema, which also normalizes each option in\n * place: `disabled` becomes a boolean and a string `label` is trimmed.\n */\nexport type OptionsWithOptgroupProp = Prop<'options', OptionsWithOptgroupPropType, SelectOptionsList>;\n\nfunction normalizeOptionsWithOptgroup(value: unknown): SelectOptionsList | never {\n\tconst parsed = typeof value === 'string' ? parseJson<unknown>(value) : value;\n\tif (Array.isArray(parsed) && parsed.every((option) => validateInputSelectOptions(option as Option<StencilUnknown>))) {\n\t\treturn parsed as SelectOptionsList;\n\t}\n\tthrow new Error('Invalid select options');\n}\n\nexport const optionsWithOptgroupProp = createPropDefinition<OptionsWithOptgroupProp>('options', [], normalizeOptionsWithOptgroup);\n","import type { StencilUnknown, Stringified } from '../../schema';\nimport type { Prop } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\n\n/**\n * Value prop of `kol-select`\n *\n * Description:\n * The selected values; a single value is wrapped into a list. A JSON string is not parsed, it is a\n * value of its own. The default is the empty list. `kol-select` keeps `null` as `[null]` instead of\n * applying this definition to it.\n */\nexport type SelectValueProp = Prop<'value', Stringified<StencilUnknown[]> | Stringified<StencilUnknown>, StencilUnknown[]>;\nexport const selectValueProp = createPropDefinition<SelectValueProp>('value', [], (value: unknown) =>\n\tArray.isArray(value) ? (value as StencilUnknown[]) : [value as StencilUnknown],\n);\n","import {\n\taccessKeyProp,\n\thorizontalIconsProp,\n\tmultipleProp,\n\toptionsWithOptgroupProp,\n\trequiredProp,\n\trowsProp,\n\tselectValueProp,\n\tshortKeyProp,\n\ttabIndexProp,\n\tvariantProp,\n} from '../../props';\nimport type { FormFieldBaseStates } from '../form-field/api';\nimport { formFieldBasePropsConfig } from '../form-field/api';\nimport type { ApiFromConfig, PropsConfigShape } from '../generic-types';\n\nexport const selectPropsConfig = {\n\trequired: [...formFieldBasePropsConfig.required],\n\toptional: [\n\t\t...formFieldBasePropsConfig.optional,\n\t\taccessKeyProp,\n\t\thorizontalIconsProp,\n\t\tmultipleProp,\n\t\toptionsWithOptgroupProp,\n\t\trequiredProp,\n\t\trowsProp,\n\t\tselectValueProp,\n\t\tshortKeyProp,\n\t\ttabIndexProp,\n\t\tvariantProp,\n\t],\n} as const satisfies PropsConfigShape;\n\nexport type SelectApi = ApiFromConfig<typeof selectPropsConfig, { States: FormFieldBaseStates }>;\n","import { Fragment, h, type FunctionalComponent as FC } from '@stencil/core';\nimport type { JSXBase } from '@stencil/core/internal';\nimport type { MsgPropType, SelectOption, StencilUnknown, Stringified, W3CInputValue } from '../../../schema';\nimport { getMsgType, isMsgDefinedAndInputTouched } from '../../../schema';\nimport clsx from '../../../utils/clsx';\nimport { getBlockBem } from '../bem-root-node/block-bem';\nimport type { DefaultInputProps } from './default-input-props';\nimport { getDefaultInputProps } from './default-input-props';\n\nconst selectBem = getBlockBem('kol-select');\n\ntype SelectAttributes = JSXBase.SelectHTMLAttributes<HTMLSelectElement>;\n\nexport type SelectOptionFCProps = Omit<JSXBase.OptionHTMLAttributes<HTMLOptionElement>, 'value' | 'label'> & {\n\t/** The value, or the list of values, of the selected options. */\n\tselectedValue?: StencilUnknown | StencilUnknown[];\n\tvalue: StencilUnknown;\n\tlabel: W3CInputValue;\n\t/** The key of the option, rendered as its native value; the field maps it back to `value`. */\n\tindex?: string | number;\n};\n\nexport type SelectOptionListFCProps = {\n\t/** Key prefix of the options in an optgroup. */\n\tpreKey?: string;\n\tdisabled?: boolean;\n\tvalue?: StencilUnknown | StencilUnknown[];\n\toptions?: SelectOption<StencilUnknown>[];\n\tOptionProps?: Omit<JSXBase.OptionHTMLAttributes<HTMLOptionElement>, 'value' | 'label'>;\n\tOptionGroupProps?: Omit<JSXBase.OptgroupHTMLAttributes<HTMLOptGroupElement>, 'label'>;\n};\n\nexport type SelectFCProps = DefaultInputProps<SelectAttributes> &\n\tSelectOptionListFCProps & {\n\t\ttouched?: boolean;\n\t\tmsg?: Stringified<MsgPropType>;\n\t} & {\n\t\t[key: `aria-${string}`]: unknown;\n\t\t[key: `data-${string}`]: unknown;\n\t};\n\n/**\n * Native `<option>`. Its native value is the key (`-<index>`, in an optgroup `-<group>-<index>`), not\n * the option value, because a native value can only be a string.\n */\nexport const SelectOptionFC: FC<SelectOptionFCProps> = ({ class: classNames, index, selectedValue, selected, value, label, disabled, ...other }) => {\n\tconst selectedValues = selectedValue === undefined ? [] : Array.isArray(selectedValue) ? selectedValue : [selectedValue];\n\tconst isSelected = selected || selectedValues.includes(value);\n\n\treturn (\n\t\t<option\n\t\t\tclass={clsx(selectBem('option', { selected: Boolean(isSelected), disabled: Boolean(disabled) }), classNames)}\n\t\t\tselected={isSelected}\n\t\t\tdisabled={disabled}\n\t\t\tvalue={index}\n\t\t\t{...other}\n\t\t>\n\t\t\t{label}\n\t\t</option>\n\t);\n};\n\n/** Options and optgroups of a native select, recursively; an optgroup prefixes the keys of its options. */\nexport const SelectOptionListFC: FC<SelectOptionListFCProps> = ({\n\tpreKey,\n\toptions,\n\tdisabled,\n\tvalue: selectedValue,\n\tOptionProps = {},\n\tOptionGroupProps = {},\n}) => {\n\tif (!options?.length) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{options.map((option, index) => {\n\t\t\t\tconst key = [preKey, `-${index}`].join('');\n\n\t\t\t\tif ('options' in option) {\n\t\t\t\t\tif (!option.options?.length) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst isOptgroupDisabled = Boolean(disabled || option.disabled);\n\t\t\t\t\tconst { label, ...other } = option;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<optgroup\n\t\t\t\t\t\t\tclass={selectBem('optgroup', { disabled: isOptgroupDisabled })}\n\t\t\t\t\t\t\tkey={key}\n\t\t\t\t\t\t\t{...OptionGroupProps}\n\t\t\t\t\t\t\tlabel={label?.toString()}\n\t\t\t\t\t\t\tdisabled={isOptgroupDisabled}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<SelectOptionListFC\n\t\t\t\t\t\t\t\tOptionGroupProps={OptionGroupProps}\n\t\t\t\t\t\t\t\tOptionProps={OptionProps}\n\t\t\t\t\t\t\t\tvalue={selectedValue}\n\t\t\t\t\t\t\t\tpreKey={key}\n\t\t\t\t\t\t\t\t{...other}\n\t\t\t\t\t\t\t\tdisabled={isOptgroupDisabled}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</optgroup>\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif ('value' in option) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<SelectOptionFC key={key} {...OptionProps} index={key} selectedValue={selectedValue} {...option} disabled={Boolean(disabled || option.disabled)} />\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn null;\n\t\t\t})}\n\t\t</>\n\t);\n};\n\n/**\n * Native `<select>` of a form field with its options. The select itself is the root of the\n * `kol-select` block, so the block classes are set on it directly instead of through `BemRootNodeFC`.\n */\nexport const SelectFC: FC<SelectFCProps> = (props) => {\n\tconst {\n\t\tclass: classNames,\n\t\tmsg,\n\t\ttouched,\n\t\tdisabled,\n\t\trequired,\n\t\toptions,\n\t\tvalue,\n\t\tOptionProps,\n\t\tOptionGroupProps,\n\t\tariaDescribedBy,\n\t\thideLabel,\n\t\tlabel,\n\t\t...other\n\t} = props;\n\n\tconst selectProps: SelectAttributes = {\n\t\tclass: clsx(\n\t\t\tselectBem({\n\t\t\t\tdisabled: Boolean(disabled),\n\t\t\t\trequired: Boolean(required),\n\t\t\t\ttouched: Boolean(touched),\n\t\t\t\t...(isMsgDefinedAndInputTouched(msg, touched) ? { [getMsgType(msg) as string]: true } : {}),\n\t\t\t}),\n\t\t\tclassNames,\n\t\t),\n\t\trequired: required,\n\t\tdisabled: disabled,\n\t\t...getDefaultInputProps({ ariaDescribedBy, hideLabel, label }),\n\t\t...other,\n\t};\n\n\treturn (\n\t\t<select {...selectProps}>\n\t\t\t<SelectOptionListFC OptionGroupProps={OptionGroupProps} OptionProps={OptionProps} disabled={disabled} options={options} value={value} />\n\t\t</select>\n\t);\n};\n","import type { Option, StencilUnknown } from '../../../schema';\nimport type { SelectOptionsList } from '../../props/options-with-optgroup';\n\n/**\n * Throws when the shape of a `_value` does not match `_multiple`: a list in single mode, or a single\n * value in multiple mode. The field throws from its watcher, so the value is not applied. `source`\n * names the value in the message: the received value of a `_value` change, or the current value on\n * a `_multiple` change.\n */\nexport const assertSelectValueMatchesMultiplicity = (value: unknown, multiple: boolean, source: 'current' | 'received'): void => {\n\tconst isArray = Array.isArray(value);\n\n\tif (multiple) {\n\t\tif (value !== undefined && !isArray) {\n\t\t\tthrow new Error(\n\t\t\t\t`↑ The schema for the property (_value) is not valid for multiple mode. Expected an array. The value will not be changed. (${source} = ${JSON.stringify(value)})`,\n\t\t\t);\n\t\t}\n\t} else if (isArray) {\n\t\tthrow new Error(\n\t\t\t`↑ The schema for the property (_value) is not valid for single mode. Expected a single value. The value will not be changed. (${source} = ${JSON.stringify(value)})`,\n\t\t);\n\t}\n};\n\n/** The options of the list, with the options of each optgroup in place of the optgroup. */\nconst flattenSelectOptions = (options: SelectOptionsList, groupDisabled = false): Option<StencilUnknown>[] =>\n\toptions.flatMap((entry) =>\n\t\t'options' in entry && Array.isArray(entry.options)\n\t\t\t? flattenSelectOptions(entry.options, Boolean(groupDisabled || entry.disabled))\n\t\t\t: [{ ...(entry as Option<StencilUnknown>), disabled: Boolean(groupDisabled || (entry as Option<StencilUnknown>).disabled) }],\n\t);\n\n/**\n * Keeps only the values that belong to an option. Then, in single mode (`multiple === false`, not\n * merely falsy) without a value, the value becomes the value of the first enabled option, which is\n * the option the native select shows. Without options, the value is kept as it is, because the\n * options can follow the value.\n */\nexport const normalizeSelectValue = (value: StencilUnknown[], options: SelectOptionsList, multiple: boolean | undefined): StencilUnknown[] => {\n\tif (options.length === 0) {\n\t\treturn value;\n\t}\n\tconst flatOptions = flattenSelectOptions(options);\n\tconst optionValues = flatOptions.map((option) => option.value);\n\tconst filtered = value.every((item) => optionValues.includes(item)) ? value : value.filter((item) => optionValues.includes(item));\n\tif (multiple === false && filtered.length === 0) {\n\t\tconst firstEnabled = flatOptions.find((option) => option.disabled !== true);\n\t\treturn firstEnabled ? [firstEnabled.value] : filtered;\n\t}\n\treturn filtered;\n};\n","import { h, type JSX } from '@stencil/core';\nimport type {\n\tIconsHorizontalPropType,\n\tMultiplePropType,\n\tOption,\n\tOptionsWithOptgroupPropType,\n\tSelectOption,\n\tShortKeyPropType,\n\tStencilUnknown,\n\tStringified,\n\tVariantClassNamePropType,\n} from '../../../schema';\nimport { validateAccessAndShortKey } from '../../../schema/validators/access-and-short-key';\nimport clsx from '../../../utils/clsx';\nimport type { CtaRef } from '../../../utils/element-interaction';\nimport {\n\taccessKeyProp,\n\thorizontalIconsProp,\n\tmultipleProp,\n\toptionsWithOptgroupProp,\n\trequiredProp,\n\trowsProp,\n\tselectValueProp,\n\tshortKeyProp,\n\ttabIndexProp,\n\tvariantProp,\n} from '../../props';\nimport { getInputAdornments } from '../form-field/adornments';\nimport { BaseFormFieldWebComponent } from '../form-field/base-web-component';\nimport { FormFieldFC } from '../form-field/component';\nimport { InputContainerFC } from '../form-field/input-container';\nimport { fillKeyOptionMap } from '../form-field/options';\nimport type { SelectFCProps } from '../form-field/select';\nimport { SelectFC } from '../form-field/select';\nimport { assertSelectValueMatchesMultiplicity, normalizeSelectValue } from '../form-field/select-value';\nimport type { SelectApi } from './api';\n\n/**\n * Shared orchestrator implementation of `kol-select` and the page size select of the pagination\n * (`PageSizeSelect`): the option map, the value list and its normalization, the native select\n * events and the render.\n *\n * `kol-select` keeps what Stencil has to see in the component class itself (DD16).\n */\nexport abstract class BaseSelectWebComponent extends BaseFormFieldWebComponent<SelectApi> {\n\t/** Read for the multiplicity check and the first option preselection, like the raw prop. */\n\tpublic abstract _multiple?: boolean;\n\t/** Written on user input. */\n\tpublic abstract _value?: Stringified<StencilUnknown[]> | Stringified<StencilUnknown>;\n\n\tprotected abstract readonly ctaRef: CtaRef<HTMLSelectElement>;\n\n\t/** Option of each native option value (`-<index>`). */\n\tprivate readonly keyOptionMap = new Map<string, Option<StencilUnknown>>();\n\n\t/**\n\t * Whether the field has a value, for the class `kol-form-field--has-value`. It starts as `true`\n\t * and follows each `change`; it does not trigger a render of its own.\n\t */\n\tprivate hasValue = true;\n\n\t// --- Prop application (the concrete element's watchers delegate here) ---\n\n\tprotected applyAccessKey(value?: string): void {\n\t\taccessKeyProp.apply(value, (v) => this.setRenderProp('accessKey', v));\n\t\tvalidateAccessAndShortKey(value, this.getShortKeyProp());\n\t}\n\n\tprotected applyShortKey(value?: ShortKeyPropType): void {\n\t\tshortKeyProp.apply(value, (v) => this.setRenderProp('shortKey', v));\n\t\tvalidateAccessAndShortKey(this.getAccessKeyProp(), value);\n\t}\n\n\tprotected abstract getAccessKeyProp(): string | undefined;\n\tprotected abstract getShortKeyProp(): ShortKeyPropType | undefined;\n\n\tprotected applyIcons(value?: IconsHorizontalPropType): void {\n\t\thorizontalIconsProp.apply(value, (v) => this.setRenderProp('icons', v));\n\t}\n\n\tprotected applyMultiple(value?: MultiplePropType): void {\n\t\tassertSelectValueMatchesMultiplicity(this._value, value === true, 'current');\n\t\tmultipleProp.apply(value, (v) => {\n\t\t\tthis.setRenderProp('multiple', v);\n\t\t\tthis.setRenderProp('value', normalizeSelectValue(this.getRenderProp('value'), this.getRenderProp('options'), this._multiple));\n\t\t});\n\t}\n\n\t/** The option map keeps its entries while the list is empty. */\n\tprotected applyOptions(value?: OptionsWithOptgroupPropType): void {\n\t\toptionsWithOptgroupProp.apply(value, (v) => {\n\t\t\tthis.setRenderProp('options', v);\n\t\t\tif (v.length > 0) {\n\t\t\t\tthis.keyOptionMap.clear();\n\t\t\t\tfillKeyOptionMap(this.keyOptionMap, v as SelectOption<StencilUnknown>[]);\n\t\t\t\tthis.setRenderProp('value', normalizeSelectValue(this.getRenderProp('value'), v, this._multiple));\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected applyRequired(value?: boolean): void {\n\t\trequiredProp.apply(value, (v) => this.setRenderProp('required', v));\n\t}\n\n\tprotected applyRows(value?: number): void {\n\t\trowsProp.apply(value, (v) => this.setRenderProp('rows', v));\n\t}\n\n\tprotected applyTabIndex(value?: number): void {\n\t\ttabIndexProp.apply(value, (v) => this.setRenderProp('tabIndex', v));\n\t}\n\n\t/**\n\t * A single value is wrapped into a list and `null` is kept as `[null]`. Only a `_value` change sets\n\t * the form value; the preselection on an `_options` or `_multiple` change does not.\n\t */\n\tprotected applyValue(value?: Stringified<StencilUnknown[]> | Stringified<StencilUnknown>): void {\n\t\tassertSelectValueMatchesMultiplicity(value, this._multiple === true, 'received');\n\t\tconst setValue = (list: StencilUnknown[]): void => {\n\t\t\tconst normalized = normalizeSelectValue(list, this.getRenderProp('options'), this._multiple);\n\t\t\tthis.setRenderProp('value', normalized);\n\t\t\tthis.formAssociation.setFormAssociatedValue(this.getModelValue());\n\t\t};\n\t\tif (value === null) {\n\t\t\tsetValue([null]);\n\t\t} else {\n\t\t\tselectValueProp.apply(value, setValue);\n\t\t}\n\t}\n\n\tprotected applyVariant(value?: VariantClassNamePropType): void {\n\t\tvariantProp.apply(value, (v) => this.setRenderProp('variant', v));\n\t}\n\n\t// --- Value ---\n\n\t/** The value list with `_multiple`, otherwise its first entry (the list itself when empty). */\n\tprotected getModelValue(): StencilUnknown[] | StencilUnknown {\n\t\tconst value = this.getRenderProp('value');\n\t\tif (this._multiple) {\n\t\t\treturn value;\n\t\t}\n\t\treturn Array.isArray(value) && value.length > 0 ? value[0] : value;\n\t}\n\n\t// --- Event handling of the native select ---\n\n\tprivate readonly handleSelectInput = (event: Event): void => {\n\t\tconst selectedValues = Array.from(this.ctaRef.el?.options || [])\n\t\t\t.filter((option) => option.selected)\n\t\t\t.map((option) => this.keyOptionMap.get(option.value)?.value);\n\n\t\tif (this._multiple) {\n\t\t\tthis._value = selectedValues;\n\t\t\tthis.handleInput(event, selectedValues);\n\t\t} else {\n\t\t\tconst singleValue: StencilUnknown = selectedValues.length > 0 ? selectedValues[0] : undefined;\n\t\t\tthis._value = singleValue as Stringified<StencilUnknown>;\n\t\t\tthis.handleInput(event, singleValue);\n\t\t}\n\t};\n\n\tprivate readonly handleSelectChange = (event: Event): void => {\n\t\tconst value = this._value as StencilUnknown;\n\t\tthis.handleChange(event, value);\n\t\tthis.hasValue = !!value;\n\t};\n\n\t// --- Render ---\n\n\tprivate getSelectProps(): SelectFCProps {\n\t\tconst { ariaDescribedBy, hasError } = this.getAria();\n\t\tconst multiple = this.getRenderProp('multiple');\n\t\tconst shortKey = this.getRenderProp('shortKey');\n\n\t\treturn {\n\t\t\tid: this.getState('id'),\n\t\t\thideLabel: this.getRenderProp('hideLabel'),\n\t\t\tlabel: this.getRenderProp('label'),\n\t\t\tvalue: this.getRenderProp('value'),\n\t\t\toptions: this.getRenderProp('options'),\n\t\t\taccessKey: this.getRenderProp('accessKey') || undefined,\n\t\t\tdisabled: this.getRenderProp('disabled'),\n\t\t\tname: this.getRenderProp('name') || undefined,\n\t\t\t'aria-invalid': hasError ? 'true' : undefined,\n\t\t\tariaDescribedBy,\n\t\t\tsize: multiple ? this.getRenderProp('rows') : undefined,\n\t\t\tmultiple,\n\t\t\trequired: this.getRenderProp('required'),\n\t\t\ttouched: this.getRenderProp('touched'),\n\t\t\tmsg: this.getRenderProp('msg'),\n\t\t\t...(shortKey ? { 'aria-keyshortcuts': shortKey } : {}),\n\t\t\tref: this.ctaRef,\n\t\t\tonBlur: this.handleBlur,\n\t\t\tonChange: this.handleSelectChange,\n\t\t\tonClick: this.handleClick,\n\t\t\tonFocus: this.handleFocus,\n\t\t\tonInput: this.handleSelectInput,\n\t\t\tonKeyDown: this.handleKeyDown,\n\t\t};\n\t}\n\n\tprotected renderSelectField(): JSX.Element {\n\t\tconst disabled = this.getRenderProp('disabled');\n\t\tconst { startAdornment, endAdornment } = getInputAdornments({ icons: this.getRenderProp('icons') });\n\n\t\treturn (\n\t\t\t<FormFieldFC\n\t\t\t\t{...this.getFormFieldProps({\n\t\t\t\t\tclass: clsx('kol-form-field-select', { 'kol-form-field--has-value': this.hasValue }),\n\t\t\t\t\taccessKey: this.getRenderProp('accessKey') || undefined,\n\t\t\t\t\tshortKey: this.getRenderProp('shortKey') || undefined,\n\t\t\t\t\trequired: this.getRenderProp('required'),\n\t\t\t\t\tvariant: this.getRenderProp('variant'),\n\t\t\t\t})}\n\t\t\t\tonClick={() => this.ctaRef.el?.focus()}\n\t\t\t>\n\t\t\t\t<InputContainerFC\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tmsg={this.getRenderProp('msg')}\n\t\t\t\t\ttouched={this.getRenderProp('touched')}\n\t\t\t\t\tstartAdornment={startAdornment}\n\t\t\t\t\tendAdornment={endAdornment}\n\t\t\t\t>\n\t\t\t\t\t<SelectFC {...this.getSelectProps()} />\n\t\t\t\t</InputContainerFC>\n\t\t\t</FormFieldFC>\n\t\t);\n\t}\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import { a as createRelatedUniqueId } from './dev.utils-
|
|
4
|
+
import { a as createRelatedUniqueId } from './dev.utils-DDqySnXB.js';
|
|
5
5
|
import './common-BqpMtheU.js';
|
|
6
6
|
import { c as createPropDefinition, n as normalizeBoolean, o as normalizeNumber, b as normalizeString, i as isEnumOption } from './base-web-component-3R1Dy3QK.js';
|
|
7
7
|
import { B as BaseBehavior } from './behavior-D1kOlK6p.js';
|
|
@@ -161,6 +161,6 @@ class CounterBehavior extends BaseBehavior {
|
|
|
161
161
|
}
|
|
162
162
|
|
|
163
163
|
export { CounterBehavior as C };
|
|
164
|
-
//# sourceMappingURL=behavior-
|
|
164
|
+
//# sourceMappingURL=behavior-COQhqcG7.js.map
|
|
165
165
|
|
|
166
|
-
//# sourceMappingURL=behavior-
|
|
166
|
+
//# sourceMappingURL=behavior-COQhqcG7.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"behavior-CH_2MMuX.js","sources":["src/internal/props/has-counter.ts","src/internal/props/max-length.ts","src/internal/props/max-length-behavior.ts","src/internal/functional-components/counter/api.tsx","src/internal/functional-components/counter/texts.ts","src/internal/functional-components/counter/behavior.ts"],"sourcesContent":["import type { SimpleProp } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\nimport { normalizeBoolean } from './helpers/normalizers';\n\n/**\n * Has counter prop for text-based form fields\n *\n * Description:\n * Shows the character counter below the control.\n */\nexport type HasCounterProp = SimpleProp<'hasCounter', boolean>;\nexport const hasCounterProp = createPropDefinition<HasCounterProp>('hasCounter', false, normalizeBoolean);\n","import type { SimpleProp } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\nimport { normalizeNumber } from './helpers/normalizers';\n\n/**\n * Max length prop for text-based form fields\n *\n * Description:\n * The maximum number of characters. With the max length behavior `'hard'` it becomes the native\n * `maxlength` attribute, with `'soft'` it is only announced by the character counter.\n *\n * @see https://html.spec.whatwg.org/multipage/input.html#attr-input-maxlength\n */\nexport type MaxLengthProp = SimpleProp<'maxLength', number>;\n// The default is `undefined`: without a maximum there is no limit and no character limit hint. The\n// validation also runs on the default, so it accepts `undefined`.\nexport const maxLengthProp = createPropDefinition<MaxLengthProp>(\n\t'maxLength',\n\tundefined as unknown as number,\n\tnormalizeNumber,\n\t(value) => value === undefined || value >= 0,\n);\n","import type { MaxLengthBehaviorPropType } from '../../schema';\nimport type { SimpleProp } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\nimport { isEnumOption, normalizeString } from './helpers/normalizers';\n\nconst MAX_LENGTH_BEHAVIOR_OPTIONS: readonly MaxLengthBehaviorPropType[] = ['hard', 'soft'];\n\n/**\n * Max length behavior prop for text-based form fields\n *\n * Description:\n * `'hard'` prevents longer input through the native `maxlength` attribute, `'soft'` allows it and\n * lets the character counter announce the exceeded limit.\n */\nexport type MaxLengthBehaviorProp = SimpleProp<'maxLengthBehavior', MaxLengthBehaviorPropType>;\n\nfunction normalizeMaxLengthBehavior(value: unknown): MaxLengthBehaviorPropType {\n\tconst str = normalizeString(value);\n\tif (isEnumOption(str, MAX_LENGTH_BEHAVIOR_OPTIONS)) {\n\t\treturn str;\n\t}\n\tthrow new Error(`Invalid max length behavior: ${str}`);\n}\n\nexport const maxLengthBehaviorProp = createPropDefinition<MaxLengthBehaviorProp>('maxLengthBehavior', 'hard', normalizeMaxLengthBehavior);\n","import { hasCounterProp, maxLengthBehaviorProp, maxLengthProp } from '../../props';\nimport type { ApiFromConfig, PropsConfigShape } from '../generic-types';\n\nexport const counterPropsConfig = {\n\toptional: [hasCounterProp, maxLengthProp, maxLengthBehaviorProp],\n} as const satisfies PropsConfigShape;\n\nexport type CounterApi = ApiFromConfig<typeof counterPropsConfig>;\n","import { translate } from '../../../i18n';\nimport type { MaxLengthBehaviorPropType } from '../../../schema';\n\nexport const getCounterVisualText = (maxLengthBehavior: MaxLengthBehaviorPropType, maxLength: number | undefined, currentLength: number): string => {\n\tif (typeof maxLength !== 'number') {\n\t\treturn translate('kol-character-counter-current', { placeholders: { current: String(currentLength) } });\n\t}\n\tif (maxLengthBehavior === 'soft') {\n\t\tconst remaining = maxLength - currentLength;\n\t\treturn remaining < 0\n\t\t\t? translate('kol-character-limit-exceeded', { placeholders: { over: String(Math.abs(remaining)) } })\n\t\t\t: translate('kol-character-limit-remaining', { placeholders: { remaining: String(remaining) } });\n\t}\n\treturn translate('kol-character-counter-current-of-max', { placeholders: { current: String(currentLength), max: String(maxLength) } });\n};\n\nexport const getCounterAriaText = (maxLengthBehavior: MaxLengthBehaviorPropType, maxLength: number | undefined, currentLength: number): string => {\n\tif (typeof maxLength !== 'number') {\n\t\treturn translate('kol-character-counter-current', { placeholders: { current: String(currentLength) } });\n\t}\n\tif (maxLengthBehavior === 'soft') {\n\t\tconst remaining = maxLength - currentLength;\n\t\treturn remaining < 0\n\t\t\t? translate('kol-character-limit-exceeded', { placeholders: { over: String(Math.abs(remaining)) } })\n\t\t\t: translate('kol-character-limit-remaining', { placeholders: { remaining: String(remaining) } });\n\t}\n\treturn translate('kol-character-counter-current-of-max-aria', { placeholders: { current: String(currentLength), max: String(maxLength) } });\n};\n\nexport const getCounterMaxText = (maxLengthBehavior: MaxLengthBehaviorPropType, maxLength: number | undefined, currentLength: number): string => {\n\tif (maxLengthBehavior === 'hard' && typeof maxLength === 'number' && currentLength >= maxLength) {\n\t\treturn translate('kol-character-counter-max-aria');\n\t}\n\treturn '';\n};\n","import type { MaxLengthBehaviorPropType } from '../../../schema';\nimport { createRelatedUniqueId } from '../../../utils/dev.utils';\nimport { hasCounterProp, maxLengthBehaviorProp, maxLengthProp } from '../../props';\nimport { BaseBehavior } from '../base-behavior';\nimport type { FormFieldFCProps } from '../form-field/component';\nimport type { BehaviorInterface, ResolvedInputProps, StateAccess } from '../generic-types';\nimport type { CounterApi } from './api';\nimport { counterPropsConfig } from './api';\nimport { getCounterAriaText, getCounterMaxText, getCounterVisualText } from './texts';\n\n/** A printable single character without Ctrl, Meta or Alt, i.e. a key press that inserts a character. */\nconst isCharacterInputKey = (event: KeyboardEvent): boolean => event.key.length === 1 && !event.ctrlKey && !event.metaKey && !event.altKey;\n\n/** Invisible no-break space that makes an identical live region text differ, so it is announced again. */\nconst REANNOUNCE_MARKER = ' ';\n\nconst ARIA_DEBOUNCE_MS = 1000;\n\ntype CounterLimit = {\n\tmaxLength?: number;\n\tmaxLengthBehavior: MaxLengthBehaviorPropType;\n};\n\n/**\n * Character counter and character limit of a text field.\n *\n * It owns `hasCounter`, `maxLength` and `maxLengthBehavior` and writes the texts of the two counter\n * spans of `FormFieldFC` directly into the DOM, without a re-render: the visible span immediately,\n * the `aria-live` span debounced, so a screen reader does not announce every key stroke.\n */\nexport class CounterBehavior extends BaseBehavior<CounterApi> implements BehaviorInterface<CounterApi> {\n\tprivate visualSpan?: HTMLSpanElement;\n\tprivate ariaSpan?: HTMLSpanElement;\n\tprivate debounceTimer?: ReturnType<typeof setTimeout>;\n\tprivate reannounceToggle = false;\n\n\tpublic constructor(stateAccess: StateAccess<CounterApi>) {\n\t\tsuper(stateAccess, counterPropsConfig);\n\t}\n\n\tpublic componentWillLoad(props: ResolvedInputProps<CounterApi>): void {\n\t\tthis.watchHasCounter(props.hasCounter);\n\t\tthis.watchMaxLength(props.maxLength);\n\t\tthis.watchMaxLengthBehavior(props.maxLengthBehavior);\n\t}\n\n\tpublic watchHasCounter(value?: boolean): void {\n\t\thasCounterProp.apply(value, (v) => this.setRenderProp('hasCounter', v));\n\t}\n\n\tpublic watchMaxLength(value?: number): void {\n\t\tmaxLengthProp.apply(value, (v) => this.setRenderProp('maxLength', v));\n\t}\n\n\tpublic watchMaxLengthBehavior(value?: MaxLengthBehaviorPropType): void {\n\t\tmaxLengthBehaviorProp.apply(value, (v) => this.setRenderProp('maxLengthBehavior', v));\n\t}\n\n\tpublic readonly setVisualRef = (el?: HTMLSpanElement): void => {\n\t\tthis.visualSpan = el;\n\t};\n\n\tpublic readonly setAriaRef = (el?: HTMLSpanElement): void => {\n\t\tthis.ariaSpan = el;\n\t};\n\n\tpublic hasCounter(): boolean {\n\t\treturn this.getRenderProp('hasCounter') === true;\n\t}\n\n\t/** A maximum with the behavior `'soft'`: the counter announces the exceeded limit instead of `maxlength` preventing it. */\n\tpublic hasSoftLimit(): boolean {\n\t\tconst { maxLength, maxLengthBehavior } = this.getLimit();\n\t\treturn typeof maxLength === 'number' && maxLengthBehavior === 'soft';\n\t}\n\n\t/** The native `maxlength` attribute: only a hard limit prevents longer input. */\n\tpublic getMaxLengthAttribute(): number | undefined {\n\t\tconst { maxLength, maxLengthBehavior } = this.getLimit();\n\t\treturn maxLengthBehavior === 'hard' ? maxLength : undefined;\n\t}\n\n\t/** The `counter` prop of `FormFieldFC`; the counter is only rendered with `hasCounter`. */\n\tpublic getCounterProps(): FormFieldFCProps['counter'] {\n\t\tif (!this.hasCounter()) {\n\t\t\treturn undefined;\n\t\t}\n\t\tconst { maxLength, maxLengthBehavior } = this.getLimit();\n\t\treturn { maxLength, maxLengthBehavior, visualRef: this.setVisualRef, ariaRef: this.setAriaRef };\n\t}\n\n\t/**\n\t * The ID of the hidden character limit hint, which the control references in `aria-describedby`.\n\t * The hint only exists for a maximum without counter, because the counter announces the maximum itself.\n\t */\n\tpublic getCharacterLimitHintId(id: string): string | undefined {\n\t\treturn typeof this.getRenderProp('maxLength') === 'number' && !this.hasCounter() ? createRelatedUniqueId(id, 'character-limit-hint') : undefined;\n\t}\n\n\t/** Updates the visible span immediately and the `aria-live` span debounced. */\n\tpublic update(currentLength: number): void {\n\t\tconst limit = this.getLimit();\n\t\tthis.updateVisual(currentLength, limit);\n\t\tclearTimeout(this.debounceTimer);\n\t\tthis.debounceTimer = setTimeout(() => this.updateAria(currentLength, limit), ARIA_DEBOUNCE_MS);\n\t}\n\n\t/** Updates both spans without debounce, e.g. after the first render or a programmatic change of the limit. */\n\tpublic updateImmediate(currentLength: number): void {\n\t\tconst limit = this.getLimit();\n\t\tthis.updateVisual(currentLength, limit);\n\t\tclearTimeout(this.debounceTimer);\n\t\tthis.updateAria(currentLength, limit);\n\t}\n\n\t/**\n\t * Announces the reached hard limit again on every further typing attempt. `maxlength` blocks the\n\t * input without an `input` event, so the live region would otherwise stay silent.\n\t */\n\tpublic readonly handleKeyDown = (event: KeyboardEvent, currentLength: number): void => {\n\t\tconst { maxLength, maxLengthBehavior } = this.getLimit();\n\t\tif (maxLengthBehavior !== 'hard' || typeof maxLength !== 'number' || currentLength < maxLength) return;\n\t\tif (!isCharacterInputKey(event)) return;\n\t\tthis.retriggerAria(currentLength);\n\t};\n\n\t/** Announces the `aria-live` span again, debounced, even if its text did not change. */\n\tpublic retriggerAria(currentLength: number): void {\n\t\tif (!this.ariaSpan) return;\n\t\tconst limit = this.getLimit();\n\t\tclearTimeout(this.debounceTimer);\n\t\tthis.debounceTimer = setTimeout(() => this.updateAria(currentLength, limit, true), ARIA_DEBOUNCE_MS);\n\t}\n\n\tpublic destroy(): void {\n\t\tclearTimeout(this.debounceTimer);\n\t}\n\n\tprivate getLimit(): CounterLimit {\n\t\treturn { maxLength: this.getRenderProp('maxLength'), maxLengthBehavior: this.getRenderProp('maxLengthBehavior') };\n\t}\n\n\tprivate updateVisual(currentLength: number, { maxLength, maxLengthBehavior }: CounterLimit): void {\n\t\tif (!this.visualSpan) return;\n\t\tthis.visualSpan.innerText = getCounterVisualText(maxLengthBehavior, maxLength, currentLength);\n\t\tthis.visualSpan.classList.toggle(\n\t\t\t'kol-form-field__counter--exceeded',\n\t\t\tmaxLengthBehavior === 'soft' && typeof maxLength === 'number' && currentLength > maxLength,\n\t\t);\n\t}\n\n\tprivate updateAria(currentLength: number, { maxLength, maxLengthBehavior }: CounterLimit, forceReannounce = false): void {\n\t\tif (!this.ariaSpan) return;\n\t\tlet text = [getCounterAriaText(maxLengthBehavior, maxLength, currentLength), getCounterMaxText(maxLengthBehavior, maxLength, currentLength)]\n\t\t\t.filter(Boolean)\n\t\t\t.join(' ');\n\n\t\tif (forceReannounce) {\n\t\t\t// `aria-live` only announces a changed text. A repeated attempt produces the same text, so a\n\t\t\t// no-break space is appended on every other call to make it differ.\n\t\t\tthis.reannounceToggle = !this.reannounceToggle;\n\t\t\tif (this.reannounceToggle) {\n\t\t\t\ttext += REANNOUNCE_MARKER;\n\t\t\t}\n\t\t}\n\n\t\tthis.ariaSpan.innerText = text;\n\t}\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"behavior-COQhqcG7.js","sources":["src/internal/props/has-counter.ts","src/internal/props/max-length.ts","src/internal/props/max-length-behavior.ts","src/internal/functional-components/counter/api.tsx","src/internal/functional-components/counter/texts.ts","src/internal/functional-components/counter/behavior.ts"],"sourcesContent":["import type { SimpleProp } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\nimport { normalizeBoolean } from './helpers/normalizers';\n\n/**\n * Has counter prop for text-based form fields\n *\n * Description:\n * Shows the character counter below the control.\n */\nexport type HasCounterProp = SimpleProp<'hasCounter', boolean>;\nexport const hasCounterProp = createPropDefinition<HasCounterProp>('hasCounter', false, normalizeBoolean);\n","import type { SimpleProp } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\nimport { normalizeNumber } from './helpers/normalizers';\n\n/**\n * Max length prop for text-based form fields\n *\n * Description:\n * The maximum number of characters. With the max length behavior `'hard'` it becomes the native\n * `maxlength` attribute, with `'soft'` it is only announced by the character counter.\n *\n * @see https://html.spec.whatwg.org/multipage/input.html#attr-input-maxlength\n */\nexport type MaxLengthProp = SimpleProp<'maxLength', number>;\n// The default is `undefined`: without a maximum there is no limit and no character limit hint. The\n// validation also runs on the default, so it accepts `undefined`.\nexport const maxLengthProp = createPropDefinition<MaxLengthProp>(\n\t'maxLength',\n\tundefined as unknown as number,\n\tnormalizeNumber,\n\t(value) => value === undefined || value >= 0,\n);\n","import type { MaxLengthBehaviorPropType } from '../../schema';\nimport type { SimpleProp } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\nimport { isEnumOption, normalizeString } from './helpers/normalizers';\n\nconst MAX_LENGTH_BEHAVIOR_OPTIONS: readonly MaxLengthBehaviorPropType[] = ['hard', 'soft'];\n\n/**\n * Max length behavior prop for text-based form fields\n *\n * Description:\n * `'hard'` prevents longer input through the native `maxlength` attribute, `'soft'` allows it and\n * lets the character counter announce the exceeded limit.\n */\nexport type MaxLengthBehaviorProp = SimpleProp<'maxLengthBehavior', MaxLengthBehaviorPropType>;\n\nfunction normalizeMaxLengthBehavior(value: unknown): MaxLengthBehaviorPropType {\n\tconst str = normalizeString(value);\n\tif (isEnumOption(str, MAX_LENGTH_BEHAVIOR_OPTIONS)) {\n\t\treturn str;\n\t}\n\tthrow new Error(`Invalid max length behavior: ${str}`);\n}\n\nexport const maxLengthBehaviorProp = createPropDefinition<MaxLengthBehaviorProp>('maxLengthBehavior', 'hard', normalizeMaxLengthBehavior);\n","import { hasCounterProp, maxLengthBehaviorProp, maxLengthProp } from '../../props';\nimport type { ApiFromConfig, PropsConfigShape } from '../generic-types';\n\nexport const counterPropsConfig = {\n\toptional: [hasCounterProp, maxLengthProp, maxLengthBehaviorProp],\n} as const satisfies PropsConfigShape;\n\nexport type CounterApi = ApiFromConfig<typeof counterPropsConfig>;\n","import { translate } from '../../../i18n';\nimport type { MaxLengthBehaviorPropType } from '../../../schema';\n\nexport const getCounterVisualText = (maxLengthBehavior: MaxLengthBehaviorPropType, maxLength: number | undefined, currentLength: number): string => {\n\tif (typeof maxLength !== 'number') {\n\t\treturn translate('kol-character-counter-current', { placeholders: { current: String(currentLength) } });\n\t}\n\tif (maxLengthBehavior === 'soft') {\n\t\tconst remaining = maxLength - currentLength;\n\t\treturn remaining < 0\n\t\t\t? translate('kol-character-limit-exceeded', { placeholders: { over: String(Math.abs(remaining)) } })\n\t\t\t: translate('kol-character-limit-remaining', { placeholders: { remaining: String(remaining) } });\n\t}\n\treturn translate('kol-character-counter-current-of-max', { placeholders: { current: String(currentLength), max: String(maxLength) } });\n};\n\nexport const getCounterAriaText = (maxLengthBehavior: MaxLengthBehaviorPropType, maxLength: number | undefined, currentLength: number): string => {\n\tif (typeof maxLength !== 'number') {\n\t\treturn translate('kol-character-counter-current', { placeholders: { current: String(currentLength) } });\n\t}\n\tif (maxLengthBehavior === 'soft') {\n\t\tconst remaining = maxLength - currentLength;\n\t\treturn remaining < 0\n\t\t\t? translate('kol-character-limit-exceeded', { placeholders: { over: String(Math.abs(remaining)) } })\n\t\t\t: translate('kol-character-limit-remaining', { placeholders: { remaining: String(remaining) } });\n\t}\n\treturn translate('kol-character-counter-current-of-max-aria', { placeholders: { current: String(currentLength), max: String(maxLength) } });\n};\n\nexport const getCounterMaxText = (maxLengthBehavior: MaxLengthBehaviorPropType, maxLength: number | undefined, currentLength: number): string => {\n\tif (maxLengthBehavior === 'hard' && typeof maxLength === 'number' && currentLength >= maxLength) {\n\t\treturn translate('kol-character-counter-max-aria');\n\t}\n\treturn '';\n};\n","import type { MaxLengthBehaviorPropType } from '../../../schema';\nimport { createRelatedUniqueId } from '../../../utils/dev.utils';\nimport { hasCounterProp, maxLengthBehaviorProp, maxLengthProp } from '../../props';\nimport { BaseBehavior } from '../base-behavior';\nimport type { FormFieldFCProps } from '../form-field/component';\nimport type { BehaviorInterface, ResolvedInputProps, StateAccess } from '../generic-types';\nimport type { CounterApi } from './api';\nimport { counterPropsConfig } from './api';\nimport { getCounterAriaText, getCounterMaxText, getCounterVisualText } from './texts';\n\n/** A printable single character without Ctrl, Meta or Alt, i.e. a key press that inserts a character. */\nconst isCharacterInputKey = (event: KeyboardEvent): boolean => event.key.length === 1 && !event.ctrlKey && !event.metaKey && !event.altKey;\n\n/** Invisible no-break space that makes an identical live region text differ, so it is announced again. */\nconst REANNOUNCE_MARKER = ' ';\n\nconst ARIA_DEBOUNCE_MS = 1000;\n\ntype CounterLimit = {\n\tmaxLength?: number;\n\tmaxLengthBehavior: MaxLengthBehaviorPropType;\n};\n\n/**\n * Character counter and character limit of a text field.\n *\n * It owns `hasCounter`, `maxLength` and `maxLengthBehavior` and writes the texts of the two counter\n * spans of `FormFieldFC` directly into the DOM, without a re-render: the visible span immediately,\n * the `aria-live` span debounced, so a screen reader does not announce every key stroke.\n */\nexport class CounterBehavior extends BaseBehavior<CounterApi> implements BehaviorInterface<CounterApi> {\n\tprivate visualSpan?: HTMLSpanElement;\n\tprivate ariaSpan?: HTMLSpanElement;\n\tprivate debounceTimer?: ReturnType<typeof setTimeout>;\n\tprivate reannounceToggle = false;\n\n\tpublic constructor(stateAccess: StateAccess<CounterApi>) {\n\t\tsuper(stateAccess, counterPropsConfig);\n\t}\n\n\tpublic componentWillLoad(props: ResolvedInputProps<CounterApi>): void {\n\t\tthis.watchHasCounter(props.hasCounter);\n\t\tthis.watchMaxLength(props.maxLength);\n\t\tthis.watchMaxLengthBehavior(props.maxLengthBehavior);\n\t}\n\n\tpublic watchHasCounter(value?: boolean): void {\n\t\thasCounterProp.apply(value, (v) => this.setRenderProp('hasCounter', v));\n\t}\n\n\tpublic watchMaxLength(value?: number): void {\n\t\tmaxLengthProp.apply(value, (v) => this.setRenderProp('maxLength', v));\n\t}\n\n\tpublic watchMaxLengthBehavior(value?: MaxLengthBehaviorPropType): void {\n\t\tmaxLengthBehaviorProp.apply(value, (v) => this.setRenderProp('maxLengthBehavior', v));\n\t}\n\n\tpublic readonly setVisualRef = (el?: HTMLSpanElement): void => {\n\t\tthis.visualSpan = el;\n\t};\n\n\tpublic readonly setAriaRef = (el?: HTMLSpanElement): void => {\n\t\tthis.ariaSpan = el;\n\t};\n\n\tpublic hasCounter(): boolean {\n\t\treturn this.getRenderProp('hasCounter') === true;\n\t}\n\n\t/** A maximum with the behavior `'soft'`: the counter announces the exceeded limit instead of `maxlength` preventing it. */\n\tpublic hasSoftLimit(): boolean {\n\t\tconst { maxLength, maxLengthBehavior } = this.getLimit();\n\t\treturn typeof maxLength === 'number' && maxLengthBehavior === 'soft';\n\t}\n\n\t/** The native `maxlength` attribute: only a hard limit prevents longer input. */\n\tpublic getMaxLengthAttribute(): number | undefined {\n\t\tconst { maxLength, maxLengthBehavior } = this.getLimit();\n\t\treturn maxLengthBehavior === 'hard' ? maxLength : undefined;\n\t}\n\n\t/** The `counter` prop of `FormFieldFC`; the counter is only rendered with `hasCounter`. */\n\tpublic getCounterProps(): FormFieldFCProps['counter'] {\n\t\tif (!this.hasCounter()) {\n\t\t\treturn undefined;\n\t\t}\n\t\tconst { maxLength, maxLengthBehavior } = this.getLimit();\n\t\treturn { maxLength, maxLengthBehavior, visualRef: this.setVisualRef, ariaRef: this.setAriaRef };\n\t}\n\n\t/**\n\t * The ID of the hidden character limit hint, which the control references in `aria-describedby`.\n\t * The hint only exists for a maximum without counter, because the counter announces the maximum itself.\n\t */\n\tpublic getCharacterLimitHintId(id: string): string | undefined {\n\t\treturn typeof this.getRenderProp('maxLength') === 'number' && !this.hasCounter() ? createRelatedUniqueId(id, 'character-limit-hint') : undefined;\n\t}\n\n\t/** Updates the visible span immediately and the `aria-live` span debounced. */\n\tpublic update(currentLength: number): void {\n\t\tconst limit = this.getLimit();\n\t\tthis.updateVisual(currentLength, limit);\n\t\tclearTimeout(this.debounceTimer);\n\t\tthis.debounceTimer = setTimeout(() => this.updateAria(currentLength, limit), ARIA_DEBOUNCE_MS);\n\t}\n\n\t/** Updates both spans without debounce, e.g. after the first render or a programmatic change of the limit. */\n\tpublic updateImmediate(currentLength: number): void {\n\t\tconst limit = this.getLimit();\n\t\tthis.updateVisual(currentLength, limit);\n\t\tclearTimeout(this.debounceTimer);\n\t\tthis.updateAria(currentLength, limit);\n\t}\n\n\t/**\n\t * Announces the reached hard limit again on every further typing attempt. `maxlength` blocks the\n\t * input without an `input` event, so the live region would otherwise stay silent.\n\t */\n\tpublic readonly handleKeyDown = (event: KeyboardEvent, currentLength: number): void => {\n\t\tconst { maxLength, maxLengthBehavior } = this.getLimit();\n\t\tif (maxLengthBehavior !== 'hard' || typeof maxLength !== 'number' || currentLength < maxLength) return;\n\t\tif (!isCharacterInputKey(event)) return;\n\t\tthis.retriggerAria(currentLength);\n\t};\n\n\t/** Announces the `aria-live` span again, debounced, even if its text did not change. */\n\tpublic retriggerAria(currentLength: number): void {\n\t\tif (!this.ariaSpan) return;\n\t\tconst limit = this.getLimit();\n\t\tclearTimeout(this.debounceTimer);\n\t\tthis.debounceTimer = setTimeout(() => this.updateAria(currentLength, limit, true), ARIA_DEBOUNCE_MS);\n\t}\n\n\tpublic destroy(): void {\n\t\tclearTimeout(this.debounceTimer);\n\t}\n\n\tprivate getLimit(): CounterLimit {\n\t\treturn { maxLength: this.getRenderProp('maxLength'), maxLengthBehavior: this.getRenderProp('maxLengthBehavior') };\n\t}\n\n\tprivate updateVisual(currentLength: number, { maxLength, maxLengthBehavior }: CounterLimit): void {\n\t\tif (!this.visualSpan) return;\n\t\tthis.visualSpan.innerText = getCounterVisualText(maxLengthBehavior, maxLength, currentLength);\n\t\tthis.visualSpan.classList.toggle(\n\t\t\t'kol-form-field__counter--exceeded',\n\t\t\tmaxLengthBehavior === 'soft' && typeof maxLength === 'number' && currentLength > maxLength,\n\t\t);\n\t}\n\n\tprivate updateAria(currentLength: number, { maxLength, maxLengthBehavior }: CounterLimit, forceReannounce = false): void {\n\t\tif (!this.ariaSpan) return;\n\t\tlet text = [getCounterAriaText(maxLengthBehavior, maxLength, currentLength), getCounterMaxText(maxLengthBehavior, maxLength, currentLength)]\n\t\t\t.filter(Boolean)\n\t\t\t.join(' ');\n\n\t\tif (forceReannounce) {\n\t\t\t// `aria-live` only announces a changed text. A repeated attempt produces the same text, so a\n\t\t\t// no-break space is appended on every other call to make it differ.\n\t\t\tthis.reannounceToggle = !this.reannounceToggle;\n\t\t\tif (this.reannounceToggle) {\n\t\t\t\ttext += REANNOUNCE_MARKER;\n\t\t\t}\n\t\t}\n\n\t\tthis.ariaSpan.innerText = text;\n\t}\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import { h } from './index-
|
|
4
|
+
import { h } from './index-wY4pHWJG.js';
|
|
5
5
|
import { b as bem } from './bem-registry-CX5kvaqt.js';
|
|
6
|
-
import { B as ButtonFC } from './component-
|
|
7
|
-
import { S as SpanFC } from './component-
|
|
6
|
+
import { B as ButtonFC } from './component-CODtL04S.js';
|
|
7
|
+
import { S as SpanFC } from './component-DoCNds1d.js';
|
|
8
8
|
|
|
9
9
|
const badgeBem = bem.forBlock('kol-badge');
|
|
10
10
|
const BEM_CLASS_BADGE__LABEL = badgeBem('label');
|
|
@@ -17,6 +17,6 @@ const BadgeFC = ({ color, icons, label, smartButton }) => {
|
|
|
17
17
|
};
|
|
18
18
|
|
|
19
19
|
export { BadgeFC as B };
|
|
20
|
-
//# sourceMappingURL=component-
|
|
20
|
+
//# sourceMappingURL=component-BOFlST8N.js.map
|
|
21
21
|
|
|
22
|
-
//# sourceMappingURL=component-
|
|
22
|
+
//# sourceMappingURL=component-BOFlST8N.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-
|
|
1
|
+
{"version":3,"file":"component-BOFlST8N.js","sources":["src/internal/functional-components/badge/component.tsx"],"sourcesContent":["import type { FunctionalComponent as FC } from '@stencil/core';\nimport { h } from '@stencil/core';\n\nimport { bem } from '../../../schema/bem-registry';\nimport { ButtonFC } from '../button/component';\nimport type { ResolvedButtonProps } from '../button/resolve-props';\nimport type { FunctionalComponentProps } from '../generic-types';\nimport { SpanFC } from '../span/component';\nimport type { BadgeApi } from './api';\n\nconst badgeBem = bem.forBlock('kol-badge');\nconst BEM_CLASS_BADGE__LABEL = badgeBem('label');\nconst BEM_CLASS_BADGE__SMART_BUTTON = badgeBem('smart-button');\n\n/**\n * Everything `BadgeFC` needs for the smart button, as one optional unit: its ids, refs and handlers\n * exist only when a button is configured. A consumer that renders a plain badge — `kol-version` —\n * passes nothing and has no orchestration to invent.\n */\nexport type BadgeSmartButtonFCProps = Pick<\n\tFunctionalComponentProps<BadgeApi>,\n\t'ariaDescriptionId' | 'handleBlur' | 'handleClick' | 'handleFocus' | 'handleMouseDown' | 'labelId' | 'refSmartButton' | 'refTooltip'\n> & {\n\t/** The button props resolved by the web component, spread onto `ButtonFC`. */\n\tresolvedButton: ResolvedButtonProps;\n};\n\n/**\n * `Pick`, not `Omit`: `Omit` over `FunctionalComponentProps` widens every remaining prop, because\n * subtracting from the intersection collapses the precise types into the optional HTML attributes\n * it is intersected with.\n */\ntype BadgeFCProps = Pick<FunctionalComponentProps<BadgeApi>, 'color' | 'icons' | 'label'> & {\n\tsmartButton?: BadgeSmartButtonFCProps;\n};\n\n/**\n * Root from `bem.forBlock('kol-badge')`, not `BemRootNodeFC`: the badge needs an inline `style`\n * for its colours, and `BemRootNodeFC` forwards only `class` (ARC42 § \"BemRootNodeFC Pattern\").\n *\n * The trailing `<br />` makes NVDA's read mode treat each badge as one element. The smart button\n * stays before it in the DOM for tab order and is moved to the end visually by `order: 3`.\n * `kol-badge-styles()` excludes it from text selection so it does not add a blank line to copied\n * text - in every shadow root that renders this component, not just the badge's own.\n */\nexport const BadgeFC: FC<BadgeFCProps> = ({ color, icons, label, smartButton }) => {\n\treturn (\n\t\t<div\n\t\t\tclass={badgeBem({ 'has-smart-button': smartButton !== undefined })}\n\t\t\tstyle={{\n\t\t\t\tbackgroundColor: color.backgroundColor,\n\t\t\t\tcolor: color.foregroundColor,\n\t\t\t}}\n\t\t>\n\t\t\t<SpanFC class={BEM_CLASS_BADGE__LABEL} id={smartButton?.labelId} allowMarkdown icons={icons} label={label} />\n\t\t\t{smartButton && (\n\t\t\t\t<ButtonFC\n\t\t\t\t\t{...smartButton.resolvedButton}\n\t\t\t\t\tclass={BEM_CLASS_BADGE__SMART_BUTTON}\n\t\t\t\t\tariaDescriptionId={smartButton.ariaDescriptionId}\n\t\t\t\t\thandleBlur={smartButton.handleBlur}\n\t\t\t\t\thandleClick={smartButton.handleClick}\n\t\t\t\t\thandleFocus={smartButton.handleFocus}\n\t\t\t\t\thandleMouseDown={smartButton.handleMouseDown}\n\t\t\t\t\trefButton={smartButton.refSmartButton}\n\t\t\t\t\trefTooltip={smartButton.refTooltip}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t<br />\n\t\t</div>\n\t);\n};\n"],"names":[],"mappings":";;;;;;;;AAUA,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;AAC1C,MAAM,sBAAsB,GAAG,QAAQ,CAAC,OAAO,CAAC;AAChD,MAAM,6BAA6B,GAAG,QAAQ,CAAC,cAAc,CAAC;AAiCvD,MAAM,OAAO,GAAqB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,KAAI;IACjF,QACC,CACC,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,QAAQ,CAAC,EAAE,kBAAkB,EAAE,WAAW,KAAK,SAAS,EAAE,CAAC,EAClE,KAAK,EAAE;YACN,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,KAAK,EAAE,KAAK,CAAC,eAAe;SAC5B,EAAA,EAED,CAAC,CAAA,MAAM,EAAC,EAAA,KAAK,EAAE,sBAAsB,EAAE,EAAE,EAAE,WAAW,KAAA,IAAA,IAAX,WAAW,KAAA,MAAA,GAAA,MAAA,GAAX,WAAW,CAAE,OAAO,EAAE,aAAa,EAAC,IAAA,EAAA,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAI,CAAA,EAC5G,WAAW,KACX,CAAA,CAAC,QAAQ,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACJ,WAAW,CAAC,cAAc,EAC9B,EAAA,KAAK,EAAE,6BAA6B,EACpC,iBAAiB,EAAE,WAAW,CAAC,iBAAiB,EAChD,UAAU,EAAE,WAAW,CAAC,UAAU,EAClC,WAAW,EAAE,WAAW,CAAC,WAAW,EACpC,WAAW,EAAE,WAAW,CAAC,WAAW,EACpC,eAAe,EAAE,WAAW,CAAC,eAAe,EAC5C,SAAS,EAAE,WAAW,CAAC,cAAc,EACrC,UAAU,EAAE,WAAW,CAAC,UAAU,EAAA,CAAA,CACjC,CACF,EAED,CAAM,CAAA,IAAA,EAAA,IAAA,CAAA,CACD;AAER;;;;"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
4
|
import { a as __rest } from './tslib.es6-QNbPBOk5.js';
|
|
5
|
-
import { h } from './index-
|
|
5
|
+
import { h } from './index-wY4pHWJG.js';
|
|
6
6
|
import { b as bem } from './bem-registry-CX5kvaqt.js';
|
|
7
7
|
import { c as clsx } from './clsx-COFh-Vc8.js';
|
|
8
8
|
|
|
@@ -16,6 +16,6 @@ const IconFC = (_a) => {
|
|
|
16
16
|
};
|
|
17
17
|
|
|
18
18
|
export { IconFC as I };
|
|
19
|
-
//# sourceMappingURL=component-
|
|
19
|
+
//# sourceMappingURL=component-C4dhT4Ba.js.map
|
|
20
20
|
|
|
21
|
-
//# sourceMappingURL=component-
|
|
21
|
+
//# sourceMappingURL=component-C4dhT4Ba.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-
|
|
1
|
+
{"version":3,"file":"component-C4dhT4Ba.js","sources":["src/internal/functional-components/icon/component.tsx"],"sourcesContent":["import type { FunctionalComponent as FC } from '@stencil/core';\nimport { h } from '@stencil/core';\n\nimport { bem } from '../../../schema/bem-registry';\nimport clsx from '../../../utils/clsx';\nimport type { FunctionalComponentProps } from '../generic-types';\nimport type { IconApi } from './api';\n\nconst iconBem = bem.forBlock('kol-icon');\nconst BEM_CLASS_ICON = iconBem();\nconst BEM_CLASS_ICON__ICON = iconBem('icon');\n\nexport const IconFC: FC<FunctionalComponentProps<IconApi>> = ({ class: classNames, icons, label, ...htmlAttributes }) => {\n\t// label is always a normalized string ('' when unset — see labelProp definition)\n\tconst hasAriaLabel = label?.length > 0;\n\treturn (\n\t\t<i\n\t\t\t{...htmlAttributes}\n\t\t\t/**\n\t\t\t * Die Auszeichnung `aria-hidden` ist eigentlich nicht erforderlich, da die aktuellen\n\t\t\t * Screenreader, wie NVDA und JAWS, es auch ohne `aria-hidden` nicht vorlesen.\n\t\t\t *\n\t\t\t * Referenz: https://www.w3.org/TR/wai-aria/states_and_properties#aria-hidden\n\t\t\t */\n\t\t\taria-hidden={hasAriaLabel ? undefined : 'true'}\n\t\t\taria-label={hasAriaLabel ? label : undefined}\n\t\t\tclass={clsx(BEM_CLASS_ICON, BEM_CLASS_ICON__ICON, icons, classNames)}\n\t\t\trole={hasAriaLabel ? 'img' : 'presentation'}\n\t\t/>\n\t);\n};\n"],"names":[],"mappings":";;;;;;;;AAQA,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC;AACxC,MAAM,cAAc,GAAG,OAAO,EAAE;AAChC,MAAM,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;AAE/B,MAAA,MAAM,GAA0C,CAAC,EAAsD,KAAI;IAA1D,IAAA,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAA,GAAA,EAAqB,EAAhB,cAAc,GAApD,MAAA,CAAA,EAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,OAAA,CAAsD,CAAF;IAEjH,MAAM,YAAY,GAAG,CAAA,KAAK,KAAL,IAAA,IAAA,KAAK,KAAL,MAAA,GAAA,MAAA,GAAA,KAAK,CAAE,MAAM,IAAG,CAAC;AACtC,IAAA,QACC,yBACK,cAAc,EAAA,EAAA,aAAA,EAOL,YAAY,GAAG,SAAS,GAAG,MAAM,EAAA,YAAA,EAClC,YAAY,GAAG,KAAK,GAAG,SAAS,EAC5C,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,oBAAoB,EAAE,KAAK,EAAE,UAAU,CAAC,EACpE,IAAI,EAAE,YAAY,GAAG,KAAK,GAAG,cAAc,EAC1C,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { t as translate } from './i18n-BaCf-SDK.js';
|
|
5
5
|
import { r as resolveButtonProps } from './resolve-props-YWmoYL6c.js';
|
|
6
|
-
import { h } from './index-
|
|
7
|
-
import { K as KolHeadingFc } from './Heading-
|
|
6
|
+
import { h } from './index-wY4pHWJG.js';
|
|
7
|
+
import { K as KolHeadingFc } from './Heading-DYEtnAIe.js';
|
|
8
8
|
import { b as bem } from './bem-registry-CX5kvaqt.js';
|
|
9
9
|
import { c as clsx } from './clsx-COFh-Vc8.js';
|
|
10
|
-
import { B as ButtonFC } from './component-
|
|
10
|
+
import { B as ButtonFC } from './component-CODtL04S.js';
|
|
11
11
|
|
|
12
12
|
function resolveCardCloseButtonProps(host) {
|
|
13
13
|
return resolveButtonProps({
|
|
@@ -31,6 +31,6 @@ const CardFC = (props, children) => {
|
|
|
31
31
|
};
|
|
32
32
|
|
|
33
33
|
export { CardFC as C, resolveCardCloseButtonProps as r };
|
|
34
|
-
//# sourceMappingURL=component-
|
|
34
|
+
//# sourceMappingURL=component-C9cJK7Cf.js.map
|
|
35
35
|
|
|
36
|
-
//# sourceMappingURL=component-
|
|
36
|
+
//# sourceMappingURL=component-C9cJK7Cf.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-
|
|
1
|
+
{"version":3,"file":"component-C9cJK7Cf.js","sources":["src/internal/functional-components/card/close-button.ts","src/internal/functional-components/card/component.tsx"],"sourcesContent":["import { translate } from '../../../i18n';\nimport type { ResolvedButtonProps } from '../button/resolve-props';\nimport { resolveButtonProps } from '../button/resolve-props';\n\n/**\n * Normalizes the card's close button into the render props `ButtonFC` expects.\n *\n * The configuration is fixed — an icon-only button whose label lives in its tooltip — so every\n * component rendering `CardFC` resolves it the same way. It is a function rather than a constant\n * because `translate` must run after the i18n bundle is in place.\n *\n * Props only: the tooltip behavior, the click handler and the button ref belong to the composing\n * web component.\n *\n * @param host - The host element, used for the per-theme `buttonVariantDefault` feature flag.\n */\nexport function resolveCardCloseButtonProps(host?: HTMLElement): ResolvedButtonProps {\n\treturn resolveButtonProps(\n\t\t{\n\t\t\t_hideLabel: true,\n\t\t\t_icons: { left: { icon: 'kolicon-cross' } },\n\t\t\t_label: translate('kol-close'),\n\t\t\t_tooltipAlign: 'left',\n\t\t},\n\t\thost,\n\t);\n}\n","import type { FunctionalComponent as FC } from '@stencil/core';\nimport { h } from '@stencil/core';\n\nimport KolHeadingFc from '../../../functional-components/Heading/Heading';\nimport { bem } from '../../../schema/bem-registry';\nimport clsx from '../../../utils/clsx';\nimport { ButtonFC } from '../button/component';\nimport type { ResolvedButtonProps } from '../button/resolve-props';\nimport type { FunctionalComponentProps } from '../generic-types';\nimport type { CardApi } from './api';\n\nconst cardBem = bem.forBlock('kol-card');\nconst BEM_CLASS_CARD__CLOSE_BUTTON = cardBem('close-button');\nconst BEM_CLASS_CARD__CONTENT = cardBem('content');\nconst BEM_CLASS_CARD__HEADER = cardBem('header');\nconst BEM_CLASS_CARD__LINK = cardBem('link');\n\n/**\n * The close button reports only its click. `ButtonFC` requires a handler per callback, and the\n * card's `_on` callbacks describe its heading link, not this button.\n */\nconst NOOP = (): void => {};\n\n/** The heading renders either on its own or wrapped in the link, so it lives in its own FC. */\nconst CardHeadingFC: FC<Pick<FunctionalComponentProps<CardApi>, 'headingId' | 'label' | 'level'>> = ({ headingId, label, level }) => (\n\t<KolHeadingFc class={BEM_CLASS_CARD__HEADER} id={headingId} level={level}>\n\t\t{label}\n\t</KolHeadingFc>\n);\n\nexport type CardFCProps = FunctionalComponentProps<CardApi> & {\n\t/** The close button's normalized `ButtonFC` render props, resolved once by the web component. */\n\tcloseButtonProps: ResolvedButtonProps;\n};\n\n/**\n * Root from `bem.forBlock('kol-card')`, not `BemRootNodeFC`: the card's root is the semantic\n * `<article>` that carries `aria-labelledby`, and `BemRootNodeFC` always renders a `<div>`.\n *\n * The content area renders `children`, not a `<slot />` of its own: Stencil derives its light-DOM\n * slot relocation from the JSX in the element file, so the `<slot />` has to be written there.\n *\n * `.kol-close-button` is a theme hook shared with the alert, and every theme addresses it as an\n * ancestor of `.kol-button`. It therefore stays on a wrapper around `ButtonFC` rather than merging\n * into the button's own root — drop the wrapper once the hook itself moves onto the button root.\n *\n * A forwarded `class` lands on the root, so a consumer that wants its own hook on the card itself\n * can add one. A hook that themes address as an *ancestor* of `.kol-card` must not go here — it\n * belongs on a wrapper around `CardFC`, the way the drawer keeps `.kol-drawer__wrapper`.\n */\nexport const CardFC: FC<CardFCProps> = (props, children) => {\n\tconst {\n\t\tariaDescriptionId,\n\t\tclass: hostClass,\n\t\tcloseButtonProps,\n\t\thandleBlur,\n\t\thandleClose,\n\t\thandleFocus,\n\t\thasCloser,\n\t\theadingId,\n\t\thref,\n\t\tlabel,\n\t\tlevel,\n\t\trefCloseButton,\n\t\trefCta,\n\t\trefTooltip,\n\t\ttarget,\n\t} = props;\n\n\treturn (\n\t\t<article aria-labelledby={headingId} class={clsx(cardBem(), hostClass)}>\n\t\t\t{href.length > 0 ? (\n\t\t\t\t<a class={BEM_CLASS_CARD__LINK} href={href} target={target || undefined} onBlur={handleBlur} onFocus={handleFocus} ref={refCta}>\n\t\t\t\t\t<CardHeadingFC headingId={headingId} label={label} level={level} />\n\t\t\t\t</a>\n\t\t\t) : (\n\t\t\t\t<CardHeadingFC headingId={headingId} label={label} level={level} />\n\t\t\t)}\n\t\t\t<div class={BEM_CLASS_CARD__CONTENT}>{children}</div>\n\t\t\t{hasCloser && (\n\t\t\t\t<div class={clsx(BEM_CLASS_CARD__CLOSE_BUTTON, 'kol-close-button')}>\n\t\t\t\t\t<ButtonFC\n\t\t\t\t\t\t{...closeButtonProps}\n\t\t\t\t\t\tariaDescriptionId={ariaDescriptionId}\n\t\t\t\t\t\thandleBlur={NOOP}\n\t\t\t\t\t\thandleClick={handleClose}\n\t\t\t\t\t\thandleFocus={NOOP}\n\t\t\t\t\t\thandleMouseDown={NOOP}\n\t\t\t\t\t\trefButton={refCloseButton}\n\t\t\t\t\t\trefTooltip={refTooltip}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</article>\n\t);\n};\n"],"names":[],"mappings":";;;;;;;;;;;AAgBM,SAAU,2BAA2B,CAAC,IAAkB,EAAA;AAC7D,IAAA,OAAO,kBAAkB,CACxB;AACC,QAAA,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE;AAC3C,QAAA,MAAM,EAAE,SAAS,CAAC,WAAW,CAAC;AAC9B,QAAA,aAAa,EAAE,MAAM;KACrB,EACD,IAAI,CACJ;AACF;;ACfA,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC;AACxC,MAAM,4BAA4B,GAAG,OAAO,CAAC,cAAc,CAAC;AAC5D,MAAM,uBAAuB,GAAG,OAAO,CAAC,SAAS,CAAC;AAClD,MAAM,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC;AAChD,MAAM,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;AAM5C,MAAM,IAAI,GAAG,MAAW,GAAG;AAG3B,MAAM,aAAa,GAAiF,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,MAC/H,CAAC,CAAA,YAAY,EAAC,EAAA,KAAK,EAAE,sBAAsB,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAA,EACtE,KAAK,CACQ,CACf;MAsBY,MAAM,GAAoB,CAAC,KAAK,EAAE,QAAQ,KAAI;AAC1D,IAAA,MAAM,EACL,iBAAiB,EACjB,KAAK,EAAE,SAAS,EAChB,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,WAAW,EACX,SAAS,EACT,SAAS,EACT,IAAI,EACJ,KAAK,EACL,KAAK,EACL,cAAc,EACd,MAAM,EACN,UAAU,EACV,MAAM,GACN,GAAG,KAAK;AAET,IAAA,QACC,CAAA,CAAA,SAAA,EAAA,EAAA,iBAAA,EAA0B,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,EAAA,EACpE,IAAI,CAAC,MAAM,GAAG,CAAC,IACf,CAAA,CAAA,GAAA,EAAA,EAAG,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAA,EAC7H,CAAA,CAAC,aAAa,EAAA,EAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAA,CAAI,CAChE,KAEJ,CAAC,CAAA,aAAa,EAAC,EAAA,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAI,CACnE,EACD,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,uBAAuB,EAAA,EAAG,QAAQ,CAAO,EACpD,SAAS,KACT,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,IAAI,CAAC,4BAA4B,EAAE,kBAAkB,CAAC,EAAA,EACjE,CAAA,CAAC,QAAQ,EACJ,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,gBAAgB,EACpB,EAAA,iBAAiB,EAAE,iBAAiB,EACpC,UAAU,EAAE,IAAI,EAChB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,IAAI,EACjB,eAAe,EAAE,IAAI,EACrB,SAAS,EAAE,cAAc,EACzB,UAAU,EAAE,UAAU,EACrB,CAAA,CAAA,CACG,CACN,CACQ;AAEZ;;;;"}
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
4
|
import { a as __rest } from './tslib.es6-QNbPBOk5.js';
|
|
5
|
-
import { h, F as Fragment } from './index-
|
|
6
|
-
import { g as getHeadlineTag } from './Heading-
|
|
5
|
+
import { h, F as Fragment } from './index-wY4pHWJG.js';
|
|
6
|
+
import { g as getHeadlineTag } from './Heading-DYEtnAIe.js';
|
|
7
7
|
import { t as translate } from './i18n-BaCf-SDK.js';
|
|
8
8
|
import { b as bem } from './bem-registry-CX5kvaqt.js';
|
|
9
9
|
import { c as clsx } from './clsx-COFh-Vc8.js';
|
|
10
|
-
import { B as BemRootNodeFC } from './component-
|
|
11
|
-
import { B as ButtonFC } from './component-
|
|
12
|
-
import { I as IconFC } from './component-
|
|
10
|
+
import { B as BemRootNodeFC } from './component-D30YHxgS.js';
|
|
11
|
+
import { B as ButtonFC } from './component-CODtL04S.js';
|
|
12
|
+
import { I as IconFC } from './component-C4dhT4Ba.js';
|
|
13
13
|
|
|
14
14
|
const alertBem$1 = bem.forBlock('kol-alert');
|
|
15
15
|
const BEM_CLASS_ALERT__ICON = alertBem$1('icon');
|
|
@@ -60,6 +60,6 @@ const AlertFC = (props, children) => {
|
|
|
60
60
|
};
|
|
61
61
|
|
|
62
62
|
export { AlertFC as A };
|
|
63
|
-
//# sourceMappingURL=component-
|
|
63
|
+
//# sourceMappingURL=component-CBkrKKXd.js.map
|
|
64
64
|
|
|
65
|
-
//# sourceMappingURL=component-
|
|
65
|
+
//# sourceMappingURL=component-CBkrKKXd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-
|
|
1
|
+
{"version":3,"file":"component-CBkrKKXd.js","sources":["src/internal/functional-components/alert/icon.tsx","src/internal/functional-components/alert/component.tsx"],"sourcesContent":["import { Fragment, h, type FunctionalComponent as FC } from '@stencil/core';\n\nimport { translate } from '../../../i18n';\nimport type { AlertType } from '../../../schema';\nimport { bem } from '../../../schema/bem-registry';\nimport { IconFC } from '../icon/component';\n\nconst alertBem = bem.forBlock('kol-alert');\nconst BEM_CLASS_ALERT__ICON = alertBem('icon');\n\n/**\n * The icon uses a visually-hidden span instead of an aria-label because the Alert might be referenced as content for aria-describedby.\n * In this scenario, Firefox with NVDA does not properly read the aria-label, so the visually-hidden span ensures correct screen reader behavior.\n * @see https://github.com/public-ui/kolibri/issues/7119\n */\nconst ALERT_ICON_CONFIG: Record<AlertType | 'default', { label: string; icon: string }> = {\n\terror: {\n\t\tlabel: translate('kol-error'),\n\t\ticon: 'kolicon-alert-error',\n\t},\n\tinfo: {\n\t\tlabel: translate('kol-info'),\n\t\ticon: 'kolicon-alert-info',\n\t},\n\twarning: {\n\t\tlabel: translate('kol-warning'),\n\t\ticon: 'kolicon-alert-warning',\n\t},\n\tsuccess: {\n\t\tlabel: translate('kol-success'),\n\t\ticon: 'kolicon-alert-success',\n\t},\n\tdefault: {\n\t\tlabel: translate('kol-message'),\n\t\ticon: 'kolicon-alert-info',\n\t},\n};\n\nexport const AlertIconFC: FC<{ type?: AlertType }> = ({ type = 'default' }) => {\n\tconst config = ALERT_ICON_CONFIG[type || 'default'];\n\treturn (\n\t\t<>\n\t\t\t<span class=\"visually-hidden\">{config.label}</span>\n\t\t\t<IconFC class={BEM_CLASS_ALERT__ICON} label=\"\" icons={config.icon} />\n\t\t</>\n\t);\n};\n","import type { FunctionalComponent as FC } from '@stencil/core';\nimport { h } from '@stencil/core';\n\nimport { getHeadlineTag } from '../../../functional-components/Heading/Heading';\nimport { translate } from '../../../i18n';\nimport { bem } from '../../../schema/bem-registry';\nimport clsx from '../../../utils/clsx';\nimport { BemRootNodeFC } from '../bem-root-node/component';\nimport { ButtonFC } from '../button/component';\nimport type { FunctionalComponentProps } from '../generic-types';\nimport type { AlertApi } from './api';\nimport { AlertIconFC } from './icon';\n\nconst alertBem = bem.forBlock('kol-alert');\nconst BEM_CLASS_ALERT__CLOSER = alertBem('closer');\nconst BEM_CLASS_ALERT__CONTENT = alertBem('content');\n\n/**\n * The closer is a plain button: no role override, and an unset tabindex must not render as\n * `tabindex=\"0\"` — buttons are natively tabbable and the attribute would pin them into the tab\n * order. `kol-button` reaches the same undefined render props via `unsetRenderProp`.\n */\nconst UNSET_BUTTON_PROP = undefined as never;\n\n/**\n * Renders the alert as a single BEM root: icon, optional heading, optional closer button and the\n * content region.\n *\n * The closer is rendered as `ButtonFC` directly — its BEM root carries both `kol-button` and\n * `kol-alert__closer` on the same element, so theme styles that targeted the closer through a\n * descendant `.kol-button` (or `.kol-button--normal`) now target the compound selector instead.\n * The tooltip behavior for the closer (show on hover/focus) is composed by the web component,\n * which owns `refCloserButton`/`refCloserTooltip` — a plain functional component has no lifecycle\n * to sync the listeners in.\n *\n * All remaining HTML attributes (`id`, `role`, `aria-*`, `ref`, …) are forwarded onto the root\n * node — internal consumers (form, form-field-msg, toast-item) rely on that passthrough.\n */\n/** The consumer's callbacks stay with the web component, which invokes them in its closer handler. */\nexport type AlertFCProps = Omit<FunctionalComponentProps<AlertApi>, 'on'>;\n\nexport const AlertFC: FC<AlertFCProps> = (props, children) => {\n\tconst {\n\t\talert,\n\t\tclass: classNames,\n\t\tcloserAriaDescriptionId,\n\t\thandleCloserClick,\n\t\thasCloser,\n\t\theadingId,\n\t\tlabel,\n\t\tlevel,\n\t\trefCloserButton,\n\t\trefCloserTooltip,\n\t\ttype,\n\t\tvariant,\n\t\t...other\n\t} = props;\n\n\tconst translateCloseAlert = translate('kol-close-alert');\n\tconst HeadlineTag = getHeadlineTag(level);\n\n\treturn (\n\t\t<BemRootNodeFC\n\t\t\tblock=\"kol-alert\"\n\t\t\tclass={classNames}\n\t\t\tmodifiers={{\n\t\t\t\thasCloser: hasCloser === true,\n\t\t\t\t[`type-${type}`]: true,\n\t\t\t\t[`variant-${variant}`]: true,\n\t\t\t}}\n\t\t\trole={alert ? 'alert' : undefined}\n\t\t\t{...other}\n\t\t>\n\t\t\t<AlertIconFC type={type} />\n\n\t\t\t{label.length > 0 && (\n\t\t\t\t<HeadlineTag\n\t\t\t\t\tclass={clsx('kol-headline', `kol-headline--${HeadlineTag}`, alertBem('heading', { [`h${level}`]: true }), 'kol-headline--single')}\n\t\t\t\t\tid={headingId}\n\t\t\t\t>\n\t\t\t\t\t{label}\n\t\t\t\t</HeadlineTag>\n\t\t\t)}\n\n\t\t\t{hasCloser && (\n\t\t\t\t<ButtonFC\n\t\t\t\t\taccessKey=\"\"\n\t\t\t\t\tariaControls=\"\"\n\t\t\t\t\tariaDescription={label.trim()}\n\t\t\t\t\tariaDescriptionId={closerAriaDescriptionId}\n\t\t\t\t\tariaExpanded={UNSET_BUTTON_PROP}\n\t\t\t\t\tariaHasPopup=\"\"\n\t\t\t\t\tariaSelected={UNSET_BUTTON_PROP}\n\t\t\t\t\tclass={clsx(BEM_CLASS_ALERT__CLOSER, 'kol-close-button')}\n\t\t\t\t\tcustomClass=\"\"\n\t\t\t\t\tdisabled={false}\n\t\t\t\t\thandleBlur={() => undefined}\n\t\t\t\t\thandleClick={handleCloserClick}\n\t\t\t\t\thandleFocus={() => undefined}\n\t\t\t\t\thandleMouseDown={() => undefined}\n\t\t\t\t\thideLabel\n\t\t\t\t\ticons={{\n\t\t\t\t\t\tleft: {\n\t\t\t\t\t\t\ticon: 'kolicon-cross',\n\t\t\t\t\t\t},\n\t\t\t\t\t}}\n\t\t\t\t\tid=\"\"\n\t\t\t\t\tinline={false}\n\t\t\t\t\tlabel={translateCloseAlert}\n\t\t\t\t\tname=\"\"\n\t\t\t\t\ton={{}}\n\t\t\t\t\trefButton={refCloserButton}\n\t\t\t\t\trefTooltip={refCloserTooltip}\n\t\t\t\t\trole={UNSET_BUTTON_PROP}\n\t\t\t\t\tshortKey=\"\"\n\t\t\t\t\ttabIndex={UNSET_BUTTON_PROP}\n\t\t\t\t\ttooltipAlign=\"left\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tvariant={['normal']}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t<div aria-describedby={label.length > 0 ? headingId : undefined} class={BEM_CLASS_ALERT__CONTENT}>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t</BemRootNodeFC>\n\t);\n};\n"],"names":["alertBem"],"mappings":"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"}
|
|
@@ -5,9 +5,9 @@ import { c as createAlignPropDefinition } from './align-DeB15XnU.js';
|
|
|
5
5
|
import { a as alignProp, B as BaseBehavior, b as alignFloatingElements, c as autoUpdate } from './behavior-D1kOlK6p.js';
|
|
6
6
|
import './common-BqpMtheU.js';
|
|
7
7
|
import './base-web-component-3R1Dy3QK.js';
|
|
8
|
-
import { h } from './index-
|
|
9
|
-
import { B as BemRootNodeFC } from './component-
|
|
10
|
-
import { B as ButtonFC } from './component-
|
|
8
|
+
import { h } from './index-wY4pHWJG.js';
|
|
9
|
+
import { B as BemRootNodeFC } from './component-D30YHxgS.js';
|
|
10
|
+
import { B as ButtonFC } from './component-CODtL04S.js';
|
|
11
11
|
import { a as __rest } from './tslib.es6-QNbPBOk5.js';
|
|
12
12
|
import { c as clsx } from './clsx-COFh-Vc8.js';
|
|
13
13
|
|
|
@@ -121,6 +121,6 @@ const PopoverButtonFC = (props, children) => {
|
|
|
121
121
|
};
|
|
122
122
|
|
|
123
123
|
export { PopoverButtonFC as P, PopoverBehavior as a, popoverAlignProp as p };
|
|
124
|
-
//# sourceMappingURL=component-
|
|
124
|
+
//# sourceMappingURL=component-CHz6TLzY.js.map
|
|
125
125
|
|
|
126
|
-
//# sourceMappingURL=component-
|
|
126
|
+
//# sourceMappingURL=component-CHz6TLzY.js.map
|