@public-ui/components 4.5.0-rc.8 → 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-yiwXjRrz.js → Heading-CFe7VL6f.js} +3 -3
- package/dist/cjs/{Heading-yiwXjRrz.js.map → Heading-CFe7VL6f.js.map} +1 -1
- package/dist/cjs/{api-BDT5xkx5.js → api-kNqVTMqf.js} +8 -8
- package/dist/cjs/{api-BDT5xkx5.js.map → api-kNqVTMqf.js.map} +1 -1
- package/dist/cjs/{api-BI1qXrGa.js → api-n8IopicV.js} +12 -12
- package/dist/cjs/{api-BI1qXrGa.js.map → api-n8IopicV.js.map} +1 -1
- package/dist/cjs/{app-globals-DPVGNVgE.js → app-globals-KA8S4Kl9.js} +4 -4
- package/dist/cjs/{app-globals-DPVGNVgE.js.map → app-globals-KA8S4Kl9.js.map} +1 -1
- package/dist/cjs/{base-CaQNXZrN.js → base-B07RMt0-.js} +5 -5
- package/dist/cjs/{base-CaQNXZrN.js.map → base-B07RMt0-.js.map} +1 -1
- package/dist/cjs/{base-DlsemYqM.js → base-Bw44v5Il.js} +4 -4
- package/dist/cjs/{base-DlsemYqM.js.map → base-Bw44v5Il.js.map} +1 -1
- package/dist/cjs/{base-FZ2Hemhr.js → base-DGx5qxja.js} +16 -16
- package/dist/cjs/{base-FZ2Hemhr.js.map → base-DGx5qxja.js.map} +1 -1
- package/dist/cjs/{base-B_M9Y7nD.js → base-Og0FJHrO.js} +4 -4
- package/dist/cjs/{base-B_M9Y7nD.js.map → base-Og0FJHrO.js.map} +1 -1
- package/dist/cjs/{base-web-component-BK8X1O8C.js → base-web-component-9l9kVbBw.js} +5 -5
- package/dist/cjs/{base-web-component-BK8X1O8C.js.map → base-web-component-9l9kVbBw.js.map} +1 -1
- package/dist/cjs/{base-web-component-GLk66TOu.js → base-web-component-MA3Hmf00.js} +7 -7
- package/dist/cjs/{base-web-component-GLk66TOu.js.map → base-web-component-MA3Hmf00.js.map} +1 -1
- package/dist/cjs/{behavior-BEaXHesG.js → behavior-CddJDVDz.js} +3 -3
- package/dist/cjs/{behavior-BEaXHesG.js.map → behavior-CddJDVDz.js.map} +1 -1
- package/dist/cjs/{component-Bc8fDajy.js → component-8M23HGR8.js} +5 -5
- package/dist/cjs/{component-Bc8fDajy.js.map → component-8M23HGR8.js.map} +1 -1
- package/dist/cjs/{component-CPVFCnaN.js → component-B1t_MP4V.js} +7 -7
- package/dist/cjs/{component-CPVFCnaN.js.map → component-B1t_MP4V.js.map} +1 -1
- package/dist/cjs/{component-Dw6Tq7Wb.js → component-B92xMW4N.js} +4 -4
- package/dist/cjs/{component-Dw6Tq7Wb.js.map → component-B92xMW4N.js.map} +1 -1
- package/dist/cjs/{component-3EZdZbDH.js → component-BGdViN9u.js} +3 -3
- package/dist/cjs/{component-3EZdZbDH.js.map → component-BGdViN9u.js.map} +1 -1
- package/dist/cjs/{component-Bj4QdlXm.js → component-BZKcc9iM.js} +5 -5
- package/dist/cjs/{component-Bj4QdlXm.js.map → component-BZKcc9iM.js.map} +1 -1
- package/dist/cjs/{component-CAkixzEQ.js → component-C8WDkeRK.js} +3 -3
- package/dist/cjs/{component-CAkixzEQ.js.map → component-C8WDkeRK.js.map} +1 -1
- package/dist/cjs/{component-Du98sklA.js → component-CESKZB76.js} +3 -3
- package/dist/cjs/{component-Du98sklA.js.map → component-CESKZB76.js.map} +1 -1
- package/dist/cjs/{component-Be3QHUyC.js → component-CQRRF1jV.js} +3 -3
- package/dist/cjs/{component-Be3QHUyC.js.map → component-CQRRF1jV.js.map} +1 -1
- package/dist/cjs/{component-B96XYPtn.js → component-D7IXFVHR.js} +4 -4
- package/dist/cjs/{component-B96XYPtn.js.map → component-D7IXFVHR.js.map} +1 -1
- package/dist/cjs/{component-BUCx7i5o.js → component-Dzx6SM5K.js} +7 -7
- package/dist/cjs/{component-BUCx7i5o.js.map → component-Dzx6SM5K.js.map} +1 -1
- package/dist/cjs/{component-Dd-PS3jp.js → component-K9JCKLMC.js} +4 -4
- package/dist/cjs/{component-Dd-PS3jp.js.map → component-K9JCKLMC.js.map} +1 -1
- package/dist/cjs/{component-DjDOgcWW.js → component-inHq7qad.js} +5 -5
- package/dist/cjs/{component-DjDOgcWW.js.map → component-inHq7qad.js.map} +1 -1
- package/dist/cjs/{dev.utils-DybQ4euF.js → dev.utils-CIsKrkDZ.js} +3 -3
- package/dist/cjs/{dev.utils-DybQ4euF.js.map → dev.utils-CIsKrkDZ.js.map} +1 -1
- package/dist/cjs/{devtools-Bw5sQJOl.js → devtools-DEHRYx1J.js} +4 -4
- package/dist/cjs/{devtools-Bw5sQJOl.js.map → devtools-DEHRYx1J.js.map} +1 -1
- package/dist/cjs/{field-control-4CnbMR0i.js → field-control-gMhh35Xz.js} +8 -8
- package/dist/cjs/{field-control-4CnbMR0i.js.map → field-control-gMhh35Xz.js.map} +1 -1
- package/dist/cjs/{group-BCkxYeMA.js → group-eUk7QHkH.js} +5 -5
- package/dist/cjs/{group-BCkxYeMA.js.map → group-eUk7QHkH.js.map} +1 -1
- package/dist/cjs/{index-RAfZF5x0.js → index-CjTDipy9.js} +3 -3
- package/dist/cjs/index-CjTDipy9.js.map +1 -0
- package/dist/cjs/{input-7t7ZvgAy.js → input-D1hDtOel.js} +5 -5
- package/dist/cjs/{input-7t7ZvgAy.js.map → input-D1hDtOel.js.map} +1 -1
- package/dist/cjs/{input-container-BUK2Fp_t.js → input-container-C9wW0ZFj.js} +7 -7
- package/dist/cjs/{input-container-BUK2Fp_t.js.map → input-container-C9wW0ZFj.js.map} +1 -1
- package/dist/cjs/{item-K1SS6pAu.js → item-C6TgTi4l.js} +4 -4
- package/dist/cjs/{item-K1SS6pAu.js.map → item-C6TgTi4l.js.map} +1 -1
- package/dist/cjs/{item-DO176juh.js → item-D2TI8Iec.js} +4 -4
- package/dist/cjs/{item-DO176juh.js.map → item-D2TI8Iec.js.map} +1 -1
- package/dist/cjs/{item-D8Zz2ROC.js → item-DoAJ6Wmk.js} +3 -3
- package/dist/cjs/{item-D8Zz2ROC.js.map → item-DoAJ6Wmk.js.map} +1 -1
- package/dist/cjs/{item-BInO5rWQ.js → item-se0KVw5y.js} +8 -8
- package/dist/cjs/{item-BInO5rWQ.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-BBVQo_N5.js → resolve-props-JqnN_2MF.js} +3 -3
- package/dist/cjs/{resolve-props-BBVQo_N5.js.map → resolve-props-JqnN_2MF.js.map} +1 -1
- package/dist/cjs/{scroll-lock-zJbOf1Xr.js → scroll-lock-CxkP-oj1.js} +3 -3
- package/dist/cjs/{scroll-lock-zJbOf1Xr.js.map → scroll-lock-CxkP-oj1.js.map} +1 -1
- package/dist/cjs/{suggestions-quLXODgi.js → suggestions-BDfdREI5.js} +4 -4
- package/dist/cjs/{suggestions-quLXODgi.js.map → suggestions-BDfdREI5.js.map} +1 -1
- package/dist/cjs/test-component.cjs.entry.js +1 -1
- package/dist/cjs/{toggle-handler-CENFGRWT.js → toggle-handler-Bm0e15f-.js} +5 -5
- package/dist/cjs/{toggle-handler-CENFGRWT.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-BctDgC7M.js → Heading-DYEtnAIe.js} +3 -3
- package/dist/{kolibri/Heading-BctDgC7M.js.map → esm/Heading-DYEtnAIe.js.map} +1 -1
- package/dist/esm/{api-B6fEjFVl.js → api-Bhr2ic7C.js} +12 -12
- package/dist/{kolibri/api-B6fEjFVl.js.map → esm/api-Bhr2ic7C.js.map} +1 -1
- package/dist/esm/{api-T-JuZMlj.js → api-DwdE0qU0.js} +8 -8
- package/dist/esm/{api-T-JuZMlj.js.map → api-DwdE0qU0.js.map} +1 -1
- package/dist/esm/{app-globals-CvvWI2x9.js → app-globals-DlrwRj26.js} +4 -4
- package/dist/esm/{app-globals-CvvWI2x9.js.map → app-globals-DlrwRj26.js.map} +1 -1
- package/dist/esm/{base-Dvr4F_Pr.js → base-BwsdAVVP.js} +16 -16
- package/dist/{kolibri/base-Dvr4F_Pr.js.map → esm/base-BwsdAVVP.js.map} +1 -1
- package/dist/esm/{base-BbVXW6YI.js → base-CQQKxfxv.js} +4 -4
- package/dist/{kolibri/base-BbVXW6YI.js.map → esm/base-CQQKxfxv.js.map} +1 -1
- package/dist/esm/{base-BARjFMg1.js → base-CdUYL1Y_.js} +5 -5
- package/dist/esm/{base-BARjFMg1.js.map → base-CdUYL1Y_.js.map} +1 -1
- package/dist/esm/{base-D8yYjJsn.js → base-D5a-Ls-4.js} +4 -4
- package/dist/{kolibri/base-D8yYjJsn.js.map → esm/base-D5a-Ls-4.js.map} +1 -1
- package/dist/esm/{base-web-component-DU3hnIWD.js → base-web-component-6IoFcVM9.js} +7 -7
- package/dist/{kolibri/base-web-component-DU3hnIWD.js.map → esm/base-web-component-6IoFcVM9.js.map} +1 -1
- package/dist/esm/{base-web-component-BzB5tP9s.js → base-web-component-CyCs0EpM.js} +5 -5
- package/dist/{kolibri/base-web-component-BzB5tP9s.js.map → esm/base-web-component-CyCs0EpM.js.map} +1 -1
- package/dist/esm/{behavior-CbqCHL6O.js → behavior-COQhqcG7.js} +3 -3
- package/dist/{kolibri/behavior-CbqCHL6O.js.map → esm/behavior-COQhqcG7.js.map} +1 -1
- package/dist/esm/{component-d1d-AIsY.js → component-BOFlST8N.js} +5 -5
- package/dist/{kolibri/component-d1d-AIsY.js.map → esm/component-BOFlST8N.js.map} +1 -1
- package/dist/esm/{component-DKS73hKY.js → component-C4dhT4Ba.js} +3 -3
- package/dist/{kolibri/component-DKS73hKY.js.map → esm/component-C4dhT4Ba.js.map} +1 -1
- package/dist/esm/{component-BaD1OTyv.js → component-C9cJK7Cf.js} +5 -5
- package/dist/esm/{component-BaD1OTyv.js.map → component-C9cJK7Cf.js.map} +1 -1
- package/dist/esm/{component-BjWF1SyZ.js → component-CBkrKKXd.js} +7 -7
- package/dist/esm/{component-BjWF1SyZ.js.map → component-CBkrKKXd.js.map} +1 -1
- package/dist/esm/{component-Ch6fss2f.js → component-CHz6TLzY.js} +5 -5
- package/dist/esm/{component-Ch6fss2f.js.map → component-CHz6TLzY.js.map} +1 -1
- package/dist/esm/{component-CmBM-Y1C.js → component-CODtL04S.js} +7 -7
- package/dist/esm/{component-CmBM-Y1C.js.map → component-CODtL04S.js.map} +1 -1
- package/dist/esm/{component-DhBTawyT.js → component-D30YHxgS.js} +3 -3
- package/dist/esm/{component-DhBTawyT.js.map → component-D30YHxgS.js.map} +1 -1
- package/dist/esm/{component-G9vQ1mQA.js → component-DXmRJdLc.js} +4 -4
- package/dist/{kolibri/component-G9vQ1mQA.js.map → esm/component-DXmRJdLc.js.map} +1 -1
- package/dist/esm/{component-QCFfSS76.js → component-DoCNds1d.js} +4 -4
- package/dist/{kolibri/component-QCFfSS76.js.map → esm/component-DoCNds1d.js.map} +1 -1
- package/dist/esm/{component-CvhmYY4a.js → component-fK2EUkFf.js} +4 -4
- package/dist/esm/{component-CvhmYY4a.js.map → component-fK2EUkFf.js.map} +1 -1
- package/dist/esm/{component-sf_0WjJF.js → component-kDR4_xf0.js} +3 -3
- package/dist/{kolibri/component-sf_0WjJF.js.map → esm/component-kDR4_xf0.js.map} +1 -1
- package/dist/esm/{component-D0iTurA_.js → component-kxFmDVse.js} +3 -3
- package/dist/esm/{component-D0iTurA_.js.map → component-kxFmDVse.js.map} +1 -1
- package/dist/esm/{dev.utils-BGy8dbtQ.js → dev.utils-DDqySnXB.js} +3 -3
- package/dist/{kolibri/dev.utils-BGy8dbtQ.js.map → esm/dev.utils-DDqySnXB.js.map} +1 -1
- package/dist/esm/{devtools-CZ8Mnmwl.js → devtools-CjmOcVsT.js} +4 -4
- package/dist/{kolibri/devtools-CZ8Mnmwl.js.map → esm/devtools-CjmOcVsT.js.map} +1 -1
- package/dist/esm/{field-control-CLnFuMmy.js → field-control-Dkru7B-M.js} +8 -8
- package/dist/esm/{field-control-CLnFuMmy.js.map → field-control-Dkru7B-M.js.map} +1 -1
- package/dist/esm/{group-BAOmF5Ok.js → group-CXJiUqKv.js} +5 -5
- package/dist/{kolibri/group-BAOmF5Ok.js.map → esm/group-CXJiUqKv.js.map} +1 -1
- package/dist/esm/{index-DAKQV03B.js → index-wY4pHWJG.js} +3 -3
- package/dist/esm/index-wY4pHWJG.js.map +1 -0
- package/dist/esm/{input-D2i1QEbL.js → input-C_ZwHs-7.js} +5 -5
- package/dist/esm/{input-D2i1QEbL.js.map → input-C_ZwHs-7.js.map} +1 -1
- package/dist/esm/{input-container-wQm8-W3s.js → input-container-CBl9xcK-.js} +7 -7
- package/dist/{kolibri/input-container-wQm8-W3s.js.map → esm/input-container-CBl9xcK-.js.map} +1 -1
- package/dist/esm/{item-Dkm57tce.js → item-BacIXvMT.js} +4 -4
- package/dist/esm/{item-Dkm57tce.js.map → item-BacIXvMT.js.map} +1 -1
- package/dist/esm/{item-DbLIGnc9.js → item-DewHrd_f.js} +4 -4
- package/dist/{kolibri/item-DbLIGnc9.js.map → esm/item-DewHrd_f.js.map} +1 -1
- package/dist/esm/{item-DuBSR8BS.js → item-lEB6GAqe.js} +3 -3
- package/dist/esm/{item-DuBSR8BS.js.map → item-lEB6GAqe.js.map} +1 -1
- package/dist/esm/{item-DJ8LXOMv.js → item-nGiqyOvt.js} +8 -8
- package/dist/{kolibri/item-DJ8LXOMv.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-BTiKxg-8.js → resolve-props-DrFDeILa.js} +3 -3
- package/dist/{kolibri/resolve-props-BTiKxg-8.js.map → esm/resolve-props-DrFDeILa.js.map} +1 -1
- package/dist/esm/{scroll-lock-DRNyw9qH.js → scroll-lock-BotxOlMX.js} +3 -3
- package/dist/{kolibri/scroll-lock-DRNyw9qH.js.map → esm/scroll-lock-BotxOlMX.js.map} +1 -1
- package/dist/esm/{suggestions-CG-TuGC4.js → suggestions-CX5S2xAI.js} +4 -4
- package/dist/esm/{suggestions-CG-TuGC4.js.map → suggestions-CX5S2xAI.js.map} +1 -1
- package/dist/esm/test-component.entry.js +1 -1
- package/dist/esm/{toggle-handler-aTxO0Wem.js → toggle-handler-VctiltrE.js} +5 -5
- package/dist/esm/{toggle-handler-aTxO0Wem.js.map → toggle-handler-VctiltrE.js.map} +1 -1
- package/dist/kolibri/{Heading-BctDgC7M.js → Heading-DYEtnAIe.js} +2 -2
- package/dist/{esm/Heading-BctDgC7M.js.map → kolibri/Heading-DYEtnAIe.js.map} +1 -1
- package/dist/kolibri/api-Bhr2ic7C.js +5 -0
- package/dist/{esm/api-B6fEjFVl.js.map → kolibri/api-Bhr2ic7C.js.map} +1 -1
- package/dist/kolibri/api-DwdE0qU0.js +5 -0
- package/dist/kolibri/{api-T-JuZMlj.js.map → api-DwdE0qU0.js.map} +1 -1
- package/dist/kolibri/app-globals-DlrwRj26.js +5 -0
- package/dist/kolibri/{app-globals-CvvWI2x9.js.map → app-globals-DlrwRj26.js.map} +1 -1
- package/dist/kolibri/{base-Dvr4F_Pr.js → base-BwsdAVVP.js} +2 -2
- package/dist/{esm/base-Dvr4F_Pr.js.map → kolibri/base-BwsdAVVP.js.map} +1 -1
- package/dist/kolibri/{base-BbVXW6YI.js → base-CQQKxfxv.js} +2 -2
- package/dist/{esm/base-BbVXW6YI.js.map → kolibri/base-CQQKxfxv.js.map} +1 -1
- package/dist/kolibri/{base-BARjFMg1.js → base-CdUYL1Y_.js} +2 -2
- package/dist/kolibri/{base-BARjFMg1.js.map → base-CdUYL1Y_.js.map} +1 -1
- package/dist/kolibri/{base-D8yYjJsn.js → base-D5a-Ls-4.js} +2 -2
- package/dist/{esm/base-D8yYjJsn.js.map → kolibri/base-D5a-Ls-4.js.map} +1 -1
- package/dist/kolibri/{base-web-component-DU3hnIWD.js → base-web-component-6IoFcVM9.js} +2 -2
- package/dist/{esm/base-web-component-DU3hnIWD.js.map → kolibri/base-web-component-6IoFcVM9.js.map} +1 -1
- package/dist/kolibri/{base-web-component-BzB5tP9s.js → base-web-component-CyCs0EpM.js} +2 -2
- package/dist/{esm/base-web-component-BzB5tP9s.js.map → kolibri/base-web-component-CyCs0EpM.js.map} +1 -1
- package/dist/kolibri/{behavior-CbqCHL6O.js → behavior-COQhqcG7.js} +2 -2
- package/dist/{esm/behavior-CbqCHL6O.js.map → kolibri/behavior-COQhqcG7.js.map} +1 -1
- package/dist/kolibri/{component-d1d-AIsY.js → component-BOFlST8N.js} +2 -2
- package/dist/{esm/component-d1d-AIsY.js.map → kolibri/component-BOFlST8N.js.map} +1 -1
- package/dist/kolibri/{component-DKS73hKY.js → component-C4dhT4Ba.js} +2 -2
- package/dist/{esm/component-DKS73hKY.js.map → kolibri/component-C4dhT4Ba.js.map} +1 -1
- package/dist/kolibri/component-C9cJK7Cf.js +5 -0
- package/dist/kolibri/{component-BaD1OTyv.js.map → component-C9cJK7Cf.js.map} +1 -1
- package/dist/kolibri/{component-BjWF1SyZ.js → component-CBkrKKXd.js} +2 -2
- package/dist/kolibri/{component-BjWF1SyZ.js.map → component-CBkrKKXd.js.map} +1 -1
- package/dist/kolibri/{component-Ch6fss2f.js → component-CHz6TLzY.js} +2 -2
- package/dist/kolibri/{component-Ch6fss2f.js.map → component-CHz6TLzY.js.map} +1 -1
- package/dist/kolibri/component-CODtL04S.js +5 -0
- package/dist/kolibri/{component-CmBM-Y1C.js.map → component-CODtL04S.js.map} +1 -1
- package/dist/kolibri/{component-DhBTawyT.js → component-D30YHxgS.js} +2 -2
- package/dist/kolibri/{component-DhBTawyT.js.map → component-D30YHxgS.js.map} +1 -1
- package/dist/kolibri/{component-G9vQ1mQA.js → component-DXmRJdLc.js} +2 -2
- package/dist/{esm/component-G9vQ1mQA.js.map → kolibri/component-DXmRJdLc.js.map} +1 -1
- package/dist/kolibri/{component-QCFfSS76.js → component-DoCNds1d.js} +2 -2
- package/dist/{esm/component-QCFfSS76.js.map → kolibri/component-DoCNds1d.js.map} +1 -1
- package/dist/kolibri/{component-CvhmYY4a.js → component-fK2EUkFf.js} +2 -2
- package/dist/kolibri/{component-CvhmYY4a.js.map → component-fK2EUkFf.js.map} +1 -1
- package/dist/kolibri/{component-sf_0WjJF.js → component-kDR4_xf0.js} +2 -2
- package/dist/{esm/component-sf_0WjJF.js.map → kolibri/component-kDR4_xf0.js.map} +1 -1
- package/dist/kolibri/{component-D0iTurA_.js → component-kxFmDVse.js} +2 -2
- package/dist/kolibri/{component-D0iTurA_.js.map → component-kxFmDVse.js.map} +1 -1
- package/dist/kolibri/{dev.utils-BGy8dbtQ.js → dev.utils-DDqySnXB.js} +2 -2
- package/dist/{esm/dev.utils-BGy8dbtQ.js.map → kolibri/dev.utils-DDqySnXB.js.map} +1 -1
- package/dist/kolibri/{devtools-CZ8Mnmwl.js → devtools-CjmOcVsT.js} +2 -2
- package/dist/{esm/devtools-CZ8Mnmwl.js.map → kolibri/devtools-CjmOcVsT.js.map} +1 -1
- package/dist/kolibri/field-control-Dkru7B-M.js +5 -0
- package/dist/kolibri/{field-control-CLnFuMmy.js.map → field-control-Dkru7B-M.js.map} +1 -1
- package/dist/kolibri/{group-BAOmF5Ok.js → group-CXJiUqKv.js} +2 -2
- package/dist/{esm/group-BAOmF5Ok.js.map → kolibri/group-CXJiUqKv.js.map} +1 -1
- package/dist/kolibri/{index-DAKQV03B.js → index-wY4pHWJG.js} +2 -2
- package/dist/kolibri/index-wY4pHWJG.js.map +1 -0
- package/dist/kolibri/input-C_ZwHs-7.js +5 -0
- package/dist/kolibri/{input-D2i1QEbL.js.map → input-C_ZwHs-7.js.map} +1 -1
- package/dist/kolibri/input-container-CBl9xcK-.js +5 -0
- package/dist/{esm/input-container-wQm8-W3s.js.map → kolibri/input-container-CBl9xcK-.js.map} +1 -1
- package/dist/kolibri/item-BacIXvMT.js +5 -0
- package/dist/kolibri/{item-Dkm57tce.js.map → item-BacIXvMT.js.map} +1 -1
- package/dist/kolibri/item-DewHrd_f.js +5 -0
- package/dist/{esm/item-DbLIGnc9.js.map → kolibri/item-DewHrd_f.js.map} +1 -1
- package/dist/kolibri/item-lEB6GAqe.js +5 -0
- package/dist/kolibri/{item-DuBSR8BS.js.map → item-lEB6GAqe.js.map} +1 -1
- package/dist/kolibri/{item-DJ8LXOMv.js → item-nGiqyOvt.js} +2 -2
- package/dist/{esm/item-DJ8LXOMv.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-DrFDeILa.js +5 -0
- package/dist/{esm/resolve-props-BTiKxg-8.js.map → kolibri/resolve-props-DrFDeILa.js.map} +1 -1
- package/dist/kolibri/{scroll-lock-DRNyw9qH.js → scroll-lock-BotxOlMX.js} +2 -2
- package/dist/{esm/scroll-lock-DRNyw9qH.js.map → kolibri/scroll-lock-BotxOlMX.js.map} +1 -1
- package/dist/kolibri/{suggestions-CG-TuGC4.js → suggestions-CX5S2xAI.js} +2 -2
- package/dist/kolibri/{suggestions-CG-TuGC4.js.map → suggestions-CX5S2xAI.js.map} +1 -1
- package/dist/kolibri/test-component.entry.js +1 -1
- package/dist/kolibri/toggle-handler-VctiltrE.js +5 -0
- package/dist/kolibri/{toggle-handler-aTxO0Wem.js.map → toggle-handler-VctiltrE.js.map} +1 -1
- package/package.json +3 -3
- package/dist/cjs/index-RAfZF5x0.js.map +0 -1
- package/dist/esm/index-DAKQV03B.js.map +0 -1
- package/dist/kolibri/api-B6fEjFVl.js +0 -5
- package/dist/kolibri/api-T-JuZMlj.js +0 -5
- package/dist/kolibri/app-globals-CvvWI2x9.js +0 -5
- package/dist/kolibri/component-BaD1OTyv.js +0 -5
- package/dist/kolibri/component-CmBM-Y1C.js +0 -5
- package/dist/kolibri/field-control-CLnFuMmy.js +0 -5
- package/dist/kolibri/index-DAKQV03B.js.map +0 -1
- package/dist/kolibri/input-D2i1QEbL.js +0 -5
- package/dist/kolibri/input-container-wQm8-W3s.js +0 -5
- package/dist/kolibri/item-DbLIGnc9.js +0 -5
- package/dist/kolibri/item-Dkm57tce.js +0 -5
- package/dist/kolibri/item-DuBSR8BS.js +0 -5
- package/dist/kolibri/resolve-props-BTiKxg-8.js +0 -5
- package/dist/kolibri/toggle-handler-aTxO0Wem.js +0 -5
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{h as e}from"./index-
|
|
5
|
-
//# sourceMappingURL=scroll-lock-
|
|
4
|
+
import{h as e}from"./index-wY4pHWJG.js";import{b as n}from"./bem-registry-CX5kvaqt.js";import{c as o}from"./clsx-COFh-Vc8.js";const l=n.forBlock("kol-dialog");const d=n.forBlock("kol-modal");const i=e=>o(l(),d(),l(e),d(e));const t=(n,l)=>{const{blockClass:d,class:i,handleCancel:t,handleClose:a,label:r,labelledBy:s,modal:f,refDialog:c,width:u}=n;return e("dialog",{"aria-label":s?undefined:r,"aria-labelledby":s,"aria-modal":f?"true":"false",class:o(d,i),onCancel:t,onClose:a,ref:c,style:u?{width:u}:undefined},l)};const a=new Set;let r=null;let s=null;function f(e){if(typeof document==="undefined"||typeof window==="undefined"){return}if(a.has(e)){return}if(a.size===0){const e=document.documentElement;r=e.style.getPropertyValue("overflow");s=e.style.getPropertyValue("padding-right");const n=window.innerWidth-e.clientWidth;if(n>0){const o=Number.parseFloat(window.getComputedStyle(e).paddingRight)||0;e.style.setProperty("padding-right",`${o+n}px`)}e.style.setProperty("overflow","hidden")}a.add(e)}function c(e){if(typeof document==="undefined"||typeof window==="undefined"){return}if(!a.delete(e)){return}if(a.size===0){const e=document.documentElement;if(r){e.style.setProperty("overflow",r)}else{e.style.removeProperty("overflow")}if(s){e.style.setProperty("padding-right",s)}else{e.style.removeProperty("padding-right")}r=null;s=null}}export{t as D,i as d,f as l,c as u};
|
|
5
|
+
//# sourceMappingURL=scroll-lock-BotxOlMX.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scroll-lock-
|
|
1
|
+
{"version":3,"file":"scroll-lock-BotxOlMX.js","sources":["src/internal/functional-components/dialog/component.tsx","src/utils/scroll-lock.ts"],"sourcesContent":["import type { FunctionalComponent as FC } from '@stencil/core';\nimport { h } from '@stencil/core';\n\nimport { bem } from '../../../schema/bem-registry';\nimport type { ModalVariantPropType } from '../../../schema/props/variant/modal';\nimport clsx from '../../../utils/clsx';\nimport type { FunctionalComponentProps } from '../generic-types';\nimport type { DialogApi } from './api';\n\nconst dialogBem = bem.forBlock('kol-dialog');\nconst modalBem = bem.forBlock('kol-modal');\n\n/**\n * The dialog's own block classes: `kol-dialog`, the deprecated `kol-modal` alias, and the variant\n * of both as an element-style suffix. Every theme addresses all four names, so they are rendered\n * verbatim.\n */\nexport const dialogBlockClass = (variant: ModalVariantPropType): string => clsx(dialogBem(), modalBem(), dialogBem(variant), modalBem(variant));\n\nexport type DialogFCProps = Pick<FunctionalComponentProps<DialogApi>, 'class' | 'handleCancel' | 'handleClose' | 'label' | 'modal' | 'refDialog'> & {\n\t/**\n\t * Class names of the block this dialog belongs to. `kol-dialog` renders its own block, the\n\t * deprecated `kol-modal` alias and the variant of both; `kol-drawer` renders its\n\t * `kol-drawer__dialog` element class. Every theme styles the two differently — a drawer that\n\t * carried the dialog classes would inherit the dialog's background, radius and backdrop — so\n\t * neither is hard-coded here.\n\t */\n\tblockClass: string;\n\t/**\n\t * DOM id of the heading that labels the dialog. Without one the dialog falls back to\n\t * `aria-label`, which is what the blank variant needs: it renders no heading.\n\t */\n\tlabelledBy?: string;\n\t/** Width of the dialog. Left unset, the dialog keeps its intrinsic size. */\n\twidth?: string;\n};\n\n/**\n * The native `<dialog>` shell, shared by `kol-dialog`, the deprecated `kol-modal`, `kol-drawer` and\n * the settings menu of the table.\n *\n * It owns the element that provides `showModal()`, the top layer and the backdrop — and nothing\n * else. What the dialog contains is the consumer's composition, handed in as children: the dialog\n * renders its card or blank contents, the drawer its sliding wrapper around a card.\n *\n * Root from the `<dialog>` itself, not `BemRootNodeFC`: that always renders a `<div>`, and only the\n * native element carries the dialog semantics.\n *\n * `children` rather than a `<slot />`: Stencil derives light-DOM slot relocation from the JSX in the\n * element file, so each element supplies its own slot.\n */\nexport const DialogFC: FC<DialogFCProps> = (props, children) => {\n\tconst { blockClass, class: hostClass, handleCancel, handleClose, label, labelledBy, modal, refDialog, width } = props;\n\n\treturn (\n\t\t<dialog\n\t\t\taria-label={labelledBy ? undefined : label}\n\t\t\taria-labelledby={labelledBy}\n\t\t\taria-modal={modal ? 'true' : 'false'}\n\t\t\tclass={clsx(blockClass, hostClass)}\n\t\t\tonCancel={handleCancel}\n\t\t\tonClose={handleClose}\n\t\t\tref={refDialog}\n\t\t\tstyle={width ? { width } : undefined}\n\t\t>\n\t\t\t{children}\n\t\t</dialog>\n\t);\n};\n","/**\n * This file contains the functions used to lock the background scroll while\n * a modal overlay (dialog, modal, drawer) is open. The native `showModal()`\n * makes the background inert, but does not prevent the document from scrolling.\n */\n\n/**\n * This set contains all owners (component instances) currently holding the lock.\n * The scroll lock is released once the last owner unlocks.\n */\nconst SCROLL_LOCK_OWNERS: Set<unknown> = new Set();\n\nlet previousOverflow: string | null = null;\nlet previousPaddingRight: string | null = null;\n\n/**\n * Locks the document scroll for the given owner. The first lock stores the\n * current inline styles and hides the viewport scrollbar; the removed\n * scrollbar width is compensated with padding to avoid a layout shift.\n *\n * @param owner The component instance requesting the lock\n */\nexport function lockScroll(owner: unknown): void {\n\tif (typeof document === 'undefined' || typeof window === 'undefined') {\n\t\treturn;\n\t}\n\tif (SCROLL_LOCK_OWNERS.has(owner)) {\n\t\treturn;\n\t}\n\n\tif (SCROLL_LOCK_OWNERS.size === 0) {\n\t\tconst docEl = document.documentElement;\n\t\tpreviousOverflow = docEl.style.getPropertyValue('overflow');\n\t\tpreviousPaddingRight = docEl.style.getPropertyValue('padding-right');\n\n\t\t// Measure before hiding the scrollbar; overlay scrollbars yield 0.\n\t\tconst scrollbarWidth = window.innerWidth - docEl.clientWidth;\n\t\tif (scrollbarWidth > 0) {\n\t\t\tconst currentPaddingRight = Number.parseFloat(window.getComputedStyle(docEl).paddingRight) || 0;\n\t\t\tdocEl.style.setProperty('padding-right', `${currentPaddingRight + scrollbarWidth}px`);\n\t\t}\n\t\tdocEl.style.setProperty('overflow', 'hidden');\n\t}\n\n\tSCROLL_LOCK_OWNERS.add(owner);\n}\n\n/**\n * Releases the scroll lock for the given owner. Calling it for an owner that\n * does not hold a lock is a no-op, so unlocking is idempotent per owner. The\n * previous inline styles are restored once the last owner unlocks.\n *\n * @param owner The component instance releasing the lock\n */\nexport function unlockScroll(owner: unknown): void {\n\tif (typeof document === 'undefined' || typeof window === 'undefined') {\n\t\treturn;\n\t}\n\tif (!SCROLL_LOCK_OWNERS.delete(owner)) {\n\t\treturn;\n\t}\n\n\tif (SCROLL_LOCK_OWNERS.size === 0) {\n\t\tconst docEl = document.documentElement;\n\t\tif (previousOverflow) {\n\t\t\tdocEl.style.setProperty('overflow', previousOverflow);\n\t\t} else {\n\t\t\tdocEl.style.removeProperty('overflow');\n\t\t}\n\t\tif (previousPaddingRight) {\n\t\t\tdocEl.style.setProperty('padding-right', previousPaddingRight);\n\t\t} else {\n\t\t\tdocEl.style.removeProperty('padding-right');\n\t\t}\n\t\tpreviousOverflow = null;\n\t\tpreviousPaddingRight = null;\n\t}\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{c as s,b as t}from"./base-web-component-3R1Dy3QK.js";import{a as o}from"./tslib.es6-QNbPBOk5.js";import{h as i}from"./index-
|
|
5
|
-
//# sourceMappingURL=suggestions-
|
|
4
|
+
import{c as s,b as t}from"./base-web-component-3R1Dy3QK.js";import{a as o}from"./tslib.es6-QNbPBOk5.js";import{h as i}from"./index-wY4pHWJG.js";import{a}from"./dev.utils-DDqySnXB.js";const e=s("autoComplete","off",t,(s=>s.length>0));const r=s=>{var{id:t,suggestions:e}=s,r=o(s,["id","suggestions"]);if(!e){return null}return i("datalist",Object.assign({id:a(t,"list")},r),e.map((s=>i("option",{value:s}))))};export{r as S,e as a};
|
|
5
|
+
//# sourceMappingURL=suggestions-CX5S2xAI.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suggestions-
|
|
1
|
+
{"version":3,"file":"suggestions-CX5S2xAI.js","sources":["src/internal/props/auto-complete.ts","src/internal/functional-components/form-field/suggestions.tsx"],"sourcesContent":["import type { AutoCompletePropType } from '../../schema';\nimport type { SimpleProp } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\nimport { normalizeString } from './helpers/normalizers';\n\n/**\n * Auto complete prop for form fields\n *\n * Description:\n * The value of the native `autocomplete` attribute: `'on'`, `'off'` or an autofill token such as\n * `'email'`. Any non-empty string is accepted, the default is `'off'`.\n *\n * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill\n * @see https://www.w3.org/WAI/WCAG21/Understanding/identify-input-purpose.html\n */\nexport type AutoCompleteProp = SimpleProp<'autoComplete', AutoCompletePropType>;\nexport const autoCompleteProp = createPropDefinition<AutoCompleteProp>('autoComplete', 'off', normalizeString, (value) => value.length > 0);\n","import { h, type FunctionalComponent as FC } from '@stencil/core';\nimport type { JSXBase } from '@stencil/core/internal';\nimport type { W3CInputValue } from '../../../schema';\nimport { createRelatedUniqueId } from '../../../utils/dev.utils';\n\nexport type SuggestionsFCProps = JSXBase.HTMLAttributes<HTMLDataListElement> & {\n\t/** ID of the input; the datalist gets the related `list` ID. */\n\tid: string;\n\tsuggestions: W3CInputValue[];\n};\n\n/** Datalist with the suggested values of an input. */\nexport const SuggestionsFC: FC<SuggestionsFCProps> = ({ id, suggestions, ...other }) => {\n\tif (!suggestions) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<datalist id={createRelatedUniqueId(id, 'list')} {...other}>\n\t\t\t{suggestions.map((option: W3CInputValue) => (\n\t\t\t\t<option value={option} />\n\t\t\t))}\n\t\t</datalist>\n\t);\n};\n"],"names":[],"mappings":";;;;;;;;MAgBa,gBAAgB,GAAG,oBAAoB,CAAmB,cAAc,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC;;ACJ7H,MAAA,aAAa,GAA2B,CAAC,EAA6B,KAAI;QAAjC,EAAE,EAAE,EAAE,WAAW,EAAA,GAAA,EAAY,EAAP,KAAK,GAAA,MAAA,CAAA,EAAA,EAA3B,qBAA6B,CAAF;IAChF,IAAI,CAAC,WAAW,EAAE;AACjB,QAAA,OAAO,IAAI;;IAGZ,QACC,CAAA,CAAA,UAAA,EAAA,MAAA,CAAA,MAAA,CAAA,EAAU,EAAE,EAAE,qBAAqB,CAAC,EAAE,EAAE,MAAM,CAAC,EAAA,EAAM,KAAK,CAAA,EACxD,WAAW,CAAC,GAAG,CAAC,CAAC,MAAqB,MACtC,CAAQ,CAAA,QAAA,EAAA,EAAA,KAAK,EAAE,MAAM,EAAI,CAAA,CACzB,CAAC,CACQ;AAEb;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{r as o}from"./index-
|
|
4
|
+
import{r as o}from"./index-wY4pHWJG.js";import"./common-BqpMtheU.js";const t=class{constructor(t){o(this,t)}};export{t as test_component};
|
|
5
5
|
//# sourceMappingURL=test-component.entry.js.map
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* KoliBri - The accessible HTML-Standard
|
|
3
|
+
*/
|
|
4
|
+
import"./common-BqpMtheU.js";import{l as e}from"./level-Q5lBISho.js";import{a as n}from"./base-web-component-3R1Dy3QK.js";import{d as t}from"./disabled-CdyeAMlW.js";import{l as s}from"./label-c9P7yC4V.js";import{o}from"./open-BK72Y-b2.js";import{h as i}from"./index-wY4pHWJG.js";import{K as a}from"./Heading-DYEtnAIe.js";import{c as r}from"./clsx-COFh-Vc8.js";import{p as l}from"./element-interaction-Cy9tx3Sx.js";import{g as d}from"./block-bem-DxQXsOt3.js";import{S as m}from"./component-DoCNds1d.js";import{d as c,K as u}from"./events-CRHxtwup.js";const p=n();const f={optional:[p,t,e,o],required:[s]};const b=({block:e,contentClass:n,controlId:t,detailsOpen:s,disabled:o,expanded:c,handleToggle:u,headingId:p,icons:f,label:b,level:v,refHeadingButton:j,transitionMs:g},x)=>{const y=d(e);return i("details",{class:y({disabled:o===true,open:c===true}),open:s===true,style:{"--collapsible-transition-duration":`${g}ms`}},i("summary",{"aria-controls":t,"aria-disabled":o===true?"true":undefined,class:y("heading"),id:p,onClick:u,onMouseDown:o===true?l:undefined,ref:j,tabIndex:o===true?-1:undefined},i(a,{level:v!==null&&v!==void 0?v:0},i(m,{icons:f,label:b}))),i("div",{class:y("wrapper")},i("div",{class:y("wrapper-animation")},i("div",{"aria-hidden":c===false?"true":undefined,"aria-labelledby":p,class:r(y("content"),n),id:t,role:"region"},x))))};const v=300;function j(e){if(typeof requestAnimationFrame==="function"){const n=requestAnimationFrame(e);return()=>cancelAnimationFrame(n)}const n=setTimeout(e,0);return()=>clearTimeout(n)}function g({getTransitionMs:e,setDetailsOpen:n,setExpanded:t}){let s;let o;const i=()=>{s===null||s===void 0?void 0:s();s=undefined;clearTimeout(o);o=undefined};return{syncOpen(a,r){i();if(a){n(true);if(r){s=j((()=>t(true)))}else{t(true)}return}t(false);if(r){o=setTimeout((()=>n(false)),e())}else{n(false)}},dispose:i}}const x=25;function y({getHost:e,getOn:n,isDisabled:t,isOpen:s,setOpen:o}){return i=>{i.preventDefault();if(t()){return}const a=!s();o(a);setTimeout((()=>{var t,s;const o=e();if(o){c(o,u.click,a);c(o,u.toggle,a)}const r=n();(t=r.onClick)===null||t===void 0?void 0:t.call(r,i,a);(s=r.onToggle)===null||s===void 0?void 0:s.call(r,i,a)}),x)}}export{b as C,v as D,y as a,p as b,g as c,f as d};
|
|
5
|
+
//# sourceMappingURL=toggle-handler-VctiltrE.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toggle-handler-aTxO0Wem.js","sources":["src/internal/props/collapsible-callbacks.ts","src/internal/functional-components/collapsible/api.tsx","src/internal/functional-components/collapsible/component.tsx","src/internal/functional-components/collapsible/open-animation.ts","src/internal/functional-components/collapsible/toggle-handler.ts"],"sourcesContent":["import type { CollapsibleCallbacksPropType } from '../../schema';\nimport type { SimpleProp } from './helpers/factory';\nimport { createCallbacksPropDefinition } from './helpers/factory';\n\nexport type CollapsibleCallbacksProp = SimpleProp<'on', CollapsibleCallbacksPropType<boolean>>;\n\n/**\n * Callbacks prop shared by `kol-accordion` and `kol-details` — both expose the same\n * `onClick`/`onToggle` pair on their heading toggle button.\n */\nexport const collapsibleCallbacksProp = createCallbacksPropDefinition<CollapsibleCallbacksPropType<boolean>>();\n","import type { IconsPropType, KolFocusOptions } from '../../../schema';\nimport { collapsibleCallbacksProp, disabledProp, labelProp, levelProp, openProp } from '../../props';\nimport type { ApiFromConfig, PropsConfigShape } from '../generic-types';\n\n/**\n * Props configuration shared by the collapsible components (`kol-accordion`, `kol-details`).\n *\n * `label` is the only required prop. All others are optional.\n *\n * Notes on prop choices:\n * - `labelProp` (not `labelWithExpertSlotProp`): the label labels the toggle button and has no\n * expert slot. It keeps the shared 2–80 character validation and accessibility hints.\n * - `openProp`: the toggle state. The public `_open` prop stays mutable and reflected on the web\n * component; the render prop mirrors it for the functional component.\n */\nexport const collapsiblePropsConfig = {\n\toptional: [collapsibleCallbacksProp, disabledProp, levelProp, openProp],\n\trequired: [labelProp],\n} as const satisfies PropsConfigShape;\n\nexport type CollapsibleApi = ApiFromConfig<\n\ttypeof collapsiblePropsConfig,\n\t{\n\t\tCallbacks: {\n\t\t\t/**\n\t\t\t * Click handler bound to the `<summary>` element. Implemented by the web component,\n\t\t\t * which suppresses the user agent's own toggle (so the collapse can be animated), flips\n\t\t\t * the mutable `_open` prop and — delayed so the reflected attribute is already updated —\n\t\t\t * dispatches the custom `KolEvent.click`/`KolEvent.toggle` events on the host element\n\t\t\t * and invokes the consumer's `onClick`/`onToggle` callbacks.\n\t\t\t */\n\t\t\ttoggle: (event: MouseEvent) => void;\n\t\t};\n\t\tMethods: {\n\t\t\tclick: () => void;\n\t\t\tfocus: (options?: KolFocusOptions) => void;\n\t\t};\n\t\tRefs: {\n\t\t\t/** The `<summary>` element — the disclosure control `focus()` and `click()` delegate to. */\n\t\t\theadingButton: HTMLElement;\n\t\t};\n\t\tStates: {\n\t\t\t/**\n\t\t\t * DOM id of the collapsible content region, referenced by the summary's aria-controls\n\t\t\t * attribute. Derived once per web component instance.\n\t\t\t */\n\t\t\tcontrolId: string;\n\t\t\t/**\n\t\t\t * Whether the `open` attribute is set on `<details>`. Tracks {@link expanded}, except\n\t\t\t * while collapsing: the attribute has to outlive the class so the user agent keeps the\n\t\t\t * content rendered until the grid transition has finished.\n\t\t\t */\n\t\t\tdetailsOpen: boolean;\n\t\t\t/**\n\t\t\t * Whether the collapsible is visually expanded — drives the `--open` block modifier\n\t\t\t * and therefore the transition. Set one frame after {@link detailsOpen} when opening,\n\t\t\t * so the transition has a from-state to start from.\n\t\t\t */\n\t\t\texpanded: boolean;\n\t\t\t/**\n\t\t\t * DOM id of the heading toggle button, referenced by the content region's\n\t\t\t * aria-labelledby attribute. Derived once per web component instance.\n\t\t\t */\n\t\t\theadingId: string;\n\t\t\t/**\n\t\t\t * Duration of the open/close transition in milliseconds, from the theme's\n\t\t\t * `collapsibleTransitionMs` feature flag. Rendered as the CSS custom property\n\t\t\t * `--collapsible-transition-duration` on `<details>` so the stylesheet and the timer\n\t\t\t * that keeps the `open` attribute alive share one value.\n\t\t\t */\n\t\t\ttransitionMs: number;\n\t\t};\n\t}\n>;\n\n/**\n * The BEM blocks that render through `CollapsibleFC`.\n *\n * Both are registered in `schema/bem-registry.ts` with the identical element set\n * (`content`, `heading`, `wrapper`, `wrapper-animation`) and modifier set (`disabled`, `open`),\n * which is what lets one functional component serve both: `keyof` over the union of their maps is\n * still exactly those names.\n */\nexport type CollapsibleBlock = 'kol-accordion' | 'kol-details';\n\n/**\n * The per-component differences of the otherwise identical collapsible markup.\n *\n * These are neither public props nor component state, so they stay out of {@link CollapsibleApi}\n * and are passed as plain arguments by the rendering web component — the same way\n * `BemRootNodeFC` and `AriaDescriptionSpanFC` take their own local prop types.\n */\nexport type CollapsibleVariant = {\n\t/** BEM block of the rendering component. */\n\tblock: CollapsibleBlock;\n\t/**\n\t * Icon of the toggle control (`<summary>`). `kol-accordion` swaps it with the open state,\n\t * `kol-details` keeps one icon and rotates it via CSS.\n\t */\n\ticons: IconsPropType;\n\t/** Additional class on the content region — `kol-details` adds `indented-text`. */\n\tcontentClass?: string;\n};\n","import type { FunctionalComponent as FC } from '@stencil/core';\nimport { h } from '@stencil/core';\n\nimport KolHeadingFc from '../../../functional-components/Heading/Heading';\nimport clsx from '../../../utils/clsx';\nimport { preventFocus } from '../../../utils/element-interaction';\nimport { getBlockBem } from '../bem-root-node/block-bem';\nimport type { FunctionalComponentProps } from '../generic-types';\nimport { SpanFC } from '../span/component';\nimport type { CollapsibleApi, CollapsibleVariant } from './api';\n\n/**\n * Renders a collapsible — `kol-accordion` and `kol-details` — on the native `<details>`/`<summary>`\n * elements.\n *\n * `<summary>` is the disclosure control: one tab stop, keyboard handling and the expanded state\n * come from the user agent. It has to be the first child of `<details>`, so the heading sits inside\n * the control; label and icon render through `SpanFC`.\n *\n * `level` is forwarded as `level ?? 0` because `KolHeadingFc` falls back to level 1 on `undefined`,\n * while the collapsible's own `_level` default is 0 — the bold `<strong>` rendering.\n *\n * `open` on `<details>` and the `--open` modifier are driven separately: the attribute has to be set\n * before the modifier flips so the grid transition has a from-state, and it has to outlive the\n * modifier on close so the collapse is visible. The web component owns that sequencing; the FC only\n * renders what it is told.\n */\nexport const CollapsibleFC: FC<FunctionalComponentProps<CollapsibleApi> & CollapsibleVariant> = (\n\t{ block, contentClass, controlId, detailsOpen, disabled, expanded, handleToggle, headingId, icons, label, level, refHeadingButton, transitionMs },\n\tchildren,\n) => {\n\tconst blockBem = getBlockBem(block);\n\n\treturn (\n\t\t<details\n\t\t\tclass={blockBem({\n\t\t\t\tdisabled: disabled === true,\n\t\t\t\topen: expanded === true,\n\t\t\t})}\n\t\t\topen={detailsOpen === true}\n\t\t\tstyle={{ '--collapsible-transition-duration': `${transitionMs}ms` }}\n\t\t>\n\t\t\t<summary\n\t\t\t\taria-controls={controlId}\n\t\t\t\taria-disabled={disabled === true ? 'true' : undefined}\n\t\t\t\tclass={blockBem('heading')}\n\t\t\t\tid={headingId}\n\t\t\t\tonClick={handleToggle}\n\t\t\t\tonMouseDown={disabled === true ? preventFocus : undefined}\n\t\t\t\tref={refHeadingButton}\n\t\t\t\ttabIndex={disabled === true ? -1 : undefined}\n\t\t\t>\n\t\t\t\t<KolHeadingFc level={level ?? 0}>\n\t\t\t\t\t<SpanFC icons={icons} label={label} />\n\t\t\t\t</KolHeadingFc>\n\t\t\t</summary>\n\t\t\t<div class={blockBem('wrapper')}>\n\t\t\t\t<div class={blockBem('wrapper-animation')}>\n\t\t\t\t\t<div\n\t\t\t\t\t\taria-hidden={expanded === false ? 'true' : undefined}\n\t\t\t\t\t\taria-labelledby={headingId}\n\t\t\t\t\t\tclass={clsx(blockBem('content'), contentClass)}\n\t\t\t\t\t\tid={controlId}\n\t\t\t\t\t\trole=\"region\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</details>\n\t);\n};\n","/**\n * Fallback duration of the open/close transition when the theme declares no\n * `collapsibleTransitionMs` feature flag. Mirrors the default of\n * `--collapsible-transition-duration` in `components/@shared/_collapsible.mixin.scss`.\n */\nexport const DEFAULT_COLLAPSIBLE_TRANSITION_MS = 300;\n\n/** Runs `callback` on the next frame; falls back to a macrotask where `requestAnimationFrame` is unavailable (SSR). */\nfunction onNextFrame(callback: () => void): () => void {\n\tif (typeof requestAnimationFrame === 'function') {\n\t\tconst handle = requestAnimationFrame(callback);\n\t\treturn () => cancelAnimationFrame(handle);\n\t}\n\tconst handle = setTimeout(callback, 0);\n\treturn () => clearTimeout(handle);\n}\n\nexport type CollapsibleOpenAnimationContext = {\n\t/** Duration of the CSS transition; the `open` attribute is kept on `<details>` until it has elapsed. */\n\tgetTransitionMs: () => number;\n\t/** Sets the `open` attribute on `<details>`. */\n\tsetDetailsOpen: (value: boolean) => void;\n\t/** Sets the `--open` block modifier, which drives the transition. */\n\tsetExpanded: (value: boolean) => void;\n};\n\nexport type CollapsibleOpenAnimation = {\n\t/**\n\t * Applies an open state to the two rendered flags.\n\t *\n\t * With `animate`, opening sets the `open` attribute first and the modifier one frame later — the\n\t * content is `display:none` while `<details>` is closed, so without that gap the transition has\n\t * no from-state and the panel snaps open. Collapsing does the reverse: the modifier goes first\n\t * and the attribute is removed once the transition has run.\n\t */\n\tsyncOpen: (open: boolean, animate: boolean) => void;\n\t/** Cancels pending frames and timers. Call from `disconnectedCallback`. */\n\tdispose: () => void;\n};\n\nexport function createCollapsibleOpenAnimation({ getTransitionMs, setDetailsOpen, setExpanded }: CollapsibleOpenAnimationContext): CollapsibleOpenAnimation {\n\tlet cancelPendingFrame: (() => void) | undefined;\n\tlet collapseTimeout: ReturnType<typeof setTimeout> | undefined;\n\n\tconst clearPending = (): void => {\n\t\tcancelPendingFrame?.();\n\t\tcancelPendingFrame = undefined;\n\t\tclearTimeout(collapseTimeout);\n\t\tcollapseTimeout = undefined;\n\t};\n\n\treturn {\n\t\tsyncOpen(open, animate) {\n\t\t\tclearPending();\n\n\t\t\tif (open) {\n\t\t\t\tsetDetailsOpen(true);\n\t\t\t\tif (animate) {\n\t\t\t\t\tcancelPendingFrame = onNextFrame(() => setExpanded(true));\n\t\t\t\t} else {\n\t\t\t\t\tsetExpanded(true);\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetExpanded(false);\n\t\t\tif (animate) {\n\t\t\t\tcollapseTimeout = setTimeout(() => setDetailsOpen(false), getTransitionMs());\n\t\t\t} else {\n\t\t\t\tsetDetailsOpen(false);\n\t\t\t}\n\t\t},\n\t\tdispose: clearPending,\n\t};\n}\n","import type { CollapsibleCallbacksPropType } from '../../../schema';\nimport { dispatchDomEvent, KolEvent } from '../../../utils/events';\n\n/**\n * Delay between flipping `_open` and announcing the new state.\n *\n * `_open` is declared `@Prop({ mutable: true, reflect: true })`, and Stencil writes the reflected\n * attribute asynchronously. Announcing synchronously would let a consumer callback read a stale\n * `_open` attribute off the host, so the announcement is deferred by one macrotask window.\n */\nconst ANNOUNCE_DELAY_MS = 25;\n\nexport type CollapsibleToggleContext = {\n\t/** The host element the DOM events are dispatched on. */\n\tgetHost: () => HTMLElement | undefined;\n\t/** The normalized `_on` render prop. Read at announce time so late assignments are picked up. */\n\tgetOn: () => CollapsibleCallbacksPropType<boolean>;\n\t/** Whether the collapsible currently refuses interaction. */\n\tisDisabled: () => boolean;\n\t/** The current normalized open state. */\n\tisOpen: () => boolean;\n\t/** Writes the component's mutable `_open` prop, which its watcher turns into rendered state. */\n\tsetOpen: (open: boolean) => void;\n};\n\n/**\n * Builds the `<summary>` click handler shared by `kol-accordion` and `kol-details`.\n *\n * The user agent's own toggle is suppressed: it flips `open` synchronously, which skips the\n * collapse transition and races the component's controlled state. Everything else follows the\n * native element — `<summary>` is still the focusable control, and Enter/Space arrive here as\n * clicks, so keyboard operation needs no extra handling.\n *\n * The new state is captured synchronously, before the deferred announcement, so two quick toggles\n * report their own value rather than the same final one twice.\n */\nexport function createCollapsibleToggleHandler({ getHost, getOn, isDisabled, isOpen, setOpen }: CollapsibleToggleContext): (event: MouseEvent) => void {\n\treturn (event: MouseEvent): void => {\n\t\tevent.preventDefault();\n\n\t\tif (isDisabled()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst open = !isOpen();\n\t\tsetOpen(open);\n\n\t\tsetTimeout(() => {\n\t\t\tconst host = getHost();\n\t\t\tif (host) {\n\t\t\t\tdispatchDomEvent(host, KolEvent.click, open);\n\t\t\t\tdispatchDomEvent(host, KolEvent.toggle, open);\n\t\t\t}\n\n\t\t\tconst on = getOn();\n\t\t\ton.onClick?.(event, open);\n\t\t\ton.onToggle?.(event, open);\n\t\t}, ANNOUNCE_DELAY_MS);\n\t};\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"toggle-handler-VctiltrE.js","sources":["src/internal/props/collapsible-callbacks.ts","src/internal/functional-components/collapsible/api.tsx","src/internal/functional-components/collapsible/component.tsx","src/internal/functional-components/collapsible/open-animation.ts","src/internal/functional-components/collapsible/toggle-handler.ts"],"sourcesContent":["import type { CollapsibleCallbacksPropType } from '../../schema';\nimport type { SimpleProp } from './helpers/factory';\nimport { createCallbacksPropDefinition } from './helpers/factory';\n\nexport type CollapsibleCallbacksProp = SimpleProp<'on', CollapsibleCallbacksPropType<boolean>>;\n\n/**\n * Callbacks prop shared by `kol-accordion` and `kol-details` — both expose the same\n * `onClick`/`onToggle` pair on their heading toggle button.\n */\nexport const collapsibleCallbacksProp = createCallbacksPropDefinition<CollapsibleCallbacksPropType<boolean>>();\n","import type { IconsPropType, KolFocusOptions } from '../../../schema';\nimport { collapsibleCallbacksProp, disabledProp, labelProp, levelProp, openProp } from '../../props';\nimport type { ApiFromConfig, PropsConfigShape } from '../generic-types';\n\n/**\n * Props configuration shared by the collapsible components (`kol-accordion`, `kol-details`).\n *\n * `label` is the only required prop. All others are optional.\n *\n * Notes on prop choices:\n * - `labelProp` (not `labelWithExpertSlotProp`): the label labels the toggle button and has no\n * expert slot. It keeps the shared 2–80 character validation and accessibility hints.\n * - `openProp`: the toggle state. The public `_open` prop stays mutable and reflected on the web\n * component; the render prop mirrors it for the functional component.\n */\nexport const collapsiblePropsConfig = {\n\toptional: [collapsibleCallbacksProp, disabledProp, levelProp, openProp],\n\trequired: [labelProp],\n} as const satisfies PropsConfigShape;\n\nexport type CollapsibleApi = ApiFromConfig<\n\ttypeof collapsiblePropsConfig,\n\t{\n\t\tCallbacks: {\n\t\t\t/**\n\t\t\t * Click handler bound to the `<summary>` element. Implemented by the web component,\n\t\t\t * which suppresses the user agent's own toggle (so the collapse can be animated), flips\n\t\t\t * the mutable `_open` prop and — delayed so the reflected attribute is already updated —\n\t\t\t * dispatches the custom `KolEvent.click`/`KolEvent.toggle` events on the host element\n\t\t\t * and invokes the consumer's `onClick`/`onToggle` callbacks.\n\t\t\t */\n\t\t\ttoggle: (event: MouseEvent) => void;\n\t\t};\n\t\tMethods: {\n\t\t\tclick: () => void;\n\t\t\tfocus: (options?: KolFocusOptions) => void;\n\t\t};\n\t\tRefs: {\n\t\t\t/** The `<summary>` element — the disclosure control `focus()` and `click()` delegate to. */\n\t\t\theadingButton: HTMLElement;\n\t\t};\n\t\tStates: {\n\t\t\t/**\n\t\t\t * DOM id of the collapsible content region, referenced by the summary's aria-controls\n\t\t\t * attribute. Derived once per web component instance.\n\t\t\t */\n\t\t\tcontrolId: string;\n\t\t\t/**\n\t\t\t * Whether the `open` attribute is set on `<details>`. Tracks {@link expanded}, except\n\t\t\t * while collapsing: the attribute has to outlive the class so the user agent keeps the\n\t\t\t * content rendered until the grid transition has finished.\n\t\t\t */\n\t\t\tdetailsOpen: boolean;\n\t\t\t/**\n\t\t\t * Whether the collapsible is visually expanded — drives the `--open` block modifier\n\t\t\t * and therefore the transition. Set one frame after {@link detailsOpen} when opening,\n\t\t\t * so the transition has a from-state to start from.\n\t\t\t */\n\t\t\texpanded: boolean;\n\t\t\t/**\n\t\t\t * DOM id of the heading toggle button, referenced by the content region's\n\t\t\t * aria-labelledby attribute. Derived once per web component instance.\n\t\t\t */\n\t\t\theadingId: string;\n\t\t\t/**\n\t\t\t * Duration of the open/close transition in milliseconds, from the theme's\n\t\t\t * `collapsibleTransitionMs` feature flag. Rendered as the CSS custom property\n\t\t\t * `--collapsible-transition-duration` on `<details>` so the stylesheet and the timer\n\t\t\t * that keeps the `open` attribute alive share one value.\n\t\t\t */\n\t\t\ttransitionMs: number;\n\t\t};\n\t}\n>;\n\n/**\n * The BEM blocks that render through `CollapsibleFC`.\n *\n * Both are registered in `schema/bem-registry.ts` with the identical element set\n * (`content`, `heading`, `wrapper`, `wrapper-animation`) and modifier set (`disabled`, `open`),\n * which is what lets one functional component serve both: `keyof` over the union of their maps is\n * still exactly those names.\n */\nexport type CollapsibleBlock = 'kol-accordion' | 'kol-details';\n\n/**\n * The per-component differences of the otherwise identical collapsible markup.\n *\n * These are neither public props nor component state, so they stay out of {@link CollapsibleApi}\n * and are passed as plain arguments by the rendering web component — the same way\n * `BemRootNodeFC` and `AriaDescriptionSpanFC` take their own local prop types.\n */\nexport type CollapsibleVariant = {\n\t/** BEM block of the rendering component. */\n\tblock: CollapsibleBlock;\n\t/**\n\t * Icon of the toggle control (`<summary>`). `kol-accordion` swaps it with the open state,\n\t * `kol-details` keeps one icon and rotates it via CSS.\n\t */\n\ticons: IconsPropType;\n\t/** Additional class on the content region — `kol-details` adds `indented-text`. */\n\tcontentClass?: string;\n};\n","import type { FunctionalComponent as FC } from '@stencil/core';\nimport { h } from '@stencil/core';\n\nimport KolHeadingFc from '../../../functional-components/Heading/Heading';\nimport clsx from '../../../utils/clsx';\nimport { preventFocus } from '../../../utils/element-interaction';\nimport { getBlockBem } from '../bem-root-node/block-bem';\nimport type { FunctionalComponentProps } from '../generic-types';\nimport { SpanFC } from '../span/component';\nimport type { CollapsibleApi, CollapsibleVariant } from './api';\n\n/**\n * Renders a collapsible — `kol-accordion` and `kol-details` — on the native `<details>`/`<summary>`\n * elements.\n *\n * `<summary>` is the disclosure control: one tab stop, keyboard handling and the expanded state\n * come from the user agent. It has to be the first child of `<details>`, so the heading sits inside\n * the control; label and icon render through `SpanFC`.\n *\n * `level` is forwarded as `level ?? 0` because `KolHeadingFc` falls back to level 1 on `undefined`,\n * while the collapsible's own `_level` default is 0 — the bold `<strong>` rendering.\n *\n * `open` on `<details>` and the `--open` modifier are driven separately: the attribute has to be set\n * before the modifier flips so the grid transition has a from-state, and it has to outlive the\n * modifier on close so the collapse is visible. The web component owns that sequencing; the FC only\n * renders what it is told.\n */\nexport const CollapsibleFC: FC<FunctionalComponentProps<CollapsibleApi> & CollapsibleVariant> = (\n\t{ block, contentClass, controlId, detailsOpen, disabled, expanded, handleToggle, headingId, icons, label, level, refHeadingButton, transitionMs },\n\tchildren,\n) => {\n\tconst blockBem = getBlockBem(block);\n\n\treturn (\n\t\t<details\n\t\t\tclass={blockBem({\n\t\t\t\tdisabled: disabled === true,\n\t\t\t\topen: expanded === true,\n\t\t\t})}\n\t\t\topen={detailsOpen === true}\n\t\t\tstyle={{ '--collapsible-transition-duration': `${transitionMs}ms` }}\n\t\t>\n\t\t\t<summary\n\t\t\t\taria-controls={controlId}\n\t\t\t\taria-disabled={disabled === true ? 'true' : undefined}\n\t\t\t\tclass={blockBem('heading')}\n\t\t\t\tid={headingId}\n\t\t\t\tonClick={handleToggle}\n\t\t\t\tonMouseDown={disabled === true ? preventFocus : undefined}\n\t\t\t\tref={refHeadingButton}\n\t\t\t\ttabIndex={disabled === true ? -1 : undefined}\n\t\t\t>\n\t\t\t\t<KolHeadingFc level={level ?? 0}>\n\t\t\t\t\t<SpanFC icons={icons} label={label} />\n\t\t\t\t</KolHeadingFc>\n\t\t\t</summary>\n\t\t\t<div class={blockBem('wrapper')}>\n\t\t\t\t<div class={blockBem('wrapper-animation')}>\n\t\t\t\t\t<div\n\t\t\t\t\t\taria-hidden={expanded === false ? 'true' : undefined}\n\t\t\t\t\t\taria-labelledby={headingId}\n\t\t\t\t\t\tclass={clsx(blockBem('content'), contentClass)}\n\t\t\t\t\t\tid={controlId}\n\t\t\t\t\t\trole=\"region\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</details>\n\t);\n};\n","/**\n * Fallback duration of the open/close transition when the theme declares no\n * `collapsibleTransitionMs` feature flag. Mirrors the default of\n * `--collapsible-transition-duration` in `components/@shared/_collapsible.mixin.scss`.\n */\nexport const DEFAULT_COLLAPSIBLE_TRANSITION_MS = 300;\n\n/** Runs `callback` on the next frame; falls back to a macrotask where `requestAnimationFrame` is unavailable (SSR). */\nfunction onNextFrame(callback: () => void): () => void {\n\tif (typeof requestAnimationFrame === 'function') {\n\t\tconst handle = requestAnimationFrame(callback);\n\t\treturn () => cancelAnimationFrame(handle);\n\t}\n\tconst handle = setTimeout(callback, 0);\n\treturn () => clearTimeout(handle);\n}\n\nexport type CollapsibleOpenAnimationContext = {\n\t/** Duration of the CSS transition; the `open` attribute is kept on `<details>` until it has elapsed. */\n\tgetTransitionMs: () => number;\n\t/** Sets the `open` attribute on `<details>`. */\n\tsetDetailsOpen: (value: boolean) => void;\n\t/** Sets the `--open` block modifier, which drives the transition. */\n\tsetExpanded: (value: boolean) => void;\n};\n\nexport type CollapsibleOpenAnimation = {\n\t/**\n\t * Applies an open state to the two rendered flags.\n\t *\n\t * With `animate`, opening sets the `open` attribute first and the modifier one frame later — the\n\t * content is `display:none` while `<details>` is closed, so without that gap the transition has\n\t * no from-state and the panel snaps open. Collapsing does the reverse: the modifier goes first\n\t * and the attribute is removed once the transition has run.\n\t */\n\tsyncOpen: (open: boolean, animate: boolean) => void;\n\t/** Cancels pending frames and timers. Call from `disconnectedCallback`. */\n\tdispose: () => void;\n};\n\nexport function createCollapsibleOpenAnimation({ getTransitionMs, setDetailsOpen, setExpanded }: CollapsibleOpenAnimationContext): CollapsibleOpenAnimation {\n\tlet cancelPendingFrame: (() => void) | undefined;\n\tlet collapseTimeout: ReturnType<typeof setTimeout> | undefined;\n\n\tconst clearPending = (): void => {\n\t\tcancelPendingFrame?.();\n\t\tcancelPendingFrame = undefined;\n\t\tclearTimeout(collapseTimeout);\n\t\tcollapseTimeout = undefined;\n\t};\n\n\treturn {\n\t\tsyncOpen(open, animate) {\n\t\t\tclearPending();\n\n\t\t\tif (open) {\n\t\t\t\tsetDetailsOpen(true);\n\t\t\t\tif (animate) {\n\t\t\t\t\tcancelPendingFrame = onNextFrame(() => setExpanded(true));\n\t\t\t\t} else {\n\t\t\t\t\tsetExpanded(true);\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetExpanded(false);\n\t\t\tif (animate) {\n\t\t\t\tcollapseTimeout = setTimeout(() => setDetailsOpen(false), getTransitionMs());\n\t\t\t} else {\n\t\t\t\tsetDetailsOpen(false);\n\t\t\t}\n\t\t},\n\t\tdispose: clearPending,\n\t};\n}\n","import type { CollapsibleCallbacksPropType } from '../../../schema';\nimport { dispatchDomEvent, KolEvent } from '../../../utils/events';\n\n/**\n * Delay between flipping `_open` and announcing the new state.\n *\n * `_open` is declared `@Prop({ mutable: true, reflect: true })`, and Stencil writes the reflected\n * attribute asynchronously. Announcing synchronously would let a consumer callback read a stale\n * `_open` attribute off the host, so the announcement is deferred by one macrotask window.\n */\nconst ANNOUNCE_DELAY_MS = 25;\n\nexport type CollapsibleToggleContext = {\n\t/** The host element the DOM events are dispatched on. */\n\tgetHost: () => HTMLElement | undefined;\n\t/** The normalized `_on` render prop. Read at announce time so late assignments are picked up. */\n\tgetOn: () => CollapsibleCallbacksPropType<boolean>;\n\t/** Whether the collapsible currently refuses interaction. */\n\tisDisabled: () => boolean;\n\t/** The current normalized open state. */\n\tisOpen: () => boolean;\n\t/** Writes the component's mutable `_open` prop, which its watcher turns into rendered state. */\n\tsetOpen: (open: boolean) => void;\n};\n\n/**\n * Builds the `<summary>` click handler shared by `kol-accordion` and `kol-details`.\n *\n * The user agent's own toggle is suppressed: it flips `open` synchronously, which skips the\n * collapse transition and races the component's controlled state. Everything else follows the\n * native element — `<summary>` is still the focusable control, and Enter/Space arrive here as\n * clicks, so keyboard operation needs no extra handling.\n *\n * The new state is captured synchronously, before the deferred announcement, so two quick toggles\n * report their own value rather than the same final one twice.\n */\nexport function createCollapsibleToggleHandler({ getHost, getOn, isDisabled, isOpen, setOpen }: CollapsibleToggleContext): (event: MouseEvent) => void {\n\treturn (event: MouseEvent): void => {\n\t\tevent.preventDefault();\n\n\t\tif (isDisabled()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst open = !isOpen();\n\t\tsetOpen(open);\n\n\t\tsetTimeout(() => {\n\t\t\tconst host = getHost();\n\t\t\tif (host) {\n\t\t\t\tdispatchDomEvent(host, KolEvent.click, open);\n\t\t\t\tdispatchDomEvent(host, KolEvent.toggle, open);\n\t\t\t}\n\n\t\t\tconst on = getOn();\n\t\t\ton.onClick?.(event, open);\n\t\t\ton.onToggle?.(event, open);\n\t\t}, ANNOUNCE_DELAY_MS);\n\t};\n}\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@public-ui/components",
|
|
3
|
-
"version": "4.5.0
|
|
3
|
+
"version": "4.5.0",
|
|
4
4
|
"license": "EUPL-1.2",
|
|
5
5
|
"homepage": "https://public-ui.github.io",
|
|
6
6
|
"repository": {
|
|
@@ -123,8 +123,8 @@
|
|
|
123
123
|
"twig": "3.0.0",
|
|
124
124
|
"typescript": "5.9.3",
|
|
125
125
|
"@public-ui/eslint-config": "4.3.0-rc.1",
|
|
126
|
-
"@public-ui/
|
|
127
|
-
"@public-ui/
|
|
126
|
+
"@public-ui/icons": "0.0.0",
|
|
127
|
+
"@public-ui/stylelint-rules": "4.1.2-rc.1"
|
|
128
128
|
},
|
|
129
129
|
"peerDependencies": {
|
|
130
130
|
"adopted-style-sheets": "1.1.9-rc.25"
|