@public-ui/sample-react 4.0.3-rc.1 → 4.0.3
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/dist/assets/{Alert-DMBbjlvg-5edrVeMy.js → Alert-BgN7dY9a-BK1E0Yxi.js} +2 -2
- package/dist/assets/{Alert-DMBbjlvg-5edrVeMy.js.map → Alert-BgN7dY9a-BK1E0Yxi.js.map} +1 -1
- package/dist/assets/{Collapsible-Ba0nb_Sb-CdsgCREr.js → Collapsible-gqDSgPZS-YAJa-CVu.js} +2 -2
- package/dist/assets/{Collapsible-Ba0nb_Sb-CdsgCREr.js.map → Collapsible-gqDSgPZS-YAJa-CVu.js.map} +1 -1
- package/dist/assets/CustomSuggestionsOptionsGroup-BqJWXpoB-DC2bZ-bA.js +2 -0
- package/dist/assets/CustomSuggestionsOptionsGroup-BqJWXpoB-DC2bZ-bA.js.map +1 -0
- package/dist/assets/{FieldControlStateWrapper-CXGjzY3d-DpJavILF.js → FieldControlStateWrapper-BU98kTCJ-CoAhw__l.js} +2 -2
- package/dist/assets/{FieldControlStateWrapper-CXGjzY3d-DpJavILF.js.map → FieldControlStateWrapper-BU98kTCJ-CoAhw__l.js.map} +1 -1
- package/dist/assets/FormFieldStateWrapper-DM8vsz3R-Do_RgmRh.js +2 -0
- package/dist/assets/FormFieldStateWrapper-DM8vsz3R-Do_RgmRh.js.map +1 -0
- package/dist/assets/{Heading-ExipjZn2-Dte9jTvK.js → Heading-3bp_rXJz-Dw4iaqcH.js} +2 -2
- package/dist/assets/{Heading-ExipjZn2-Dte9jTvK.js.map → Heading-3bp_rXJz-Dw4iaqcH.js.map} +1 -1
- package/dist/assets/{Icon-ChuTqoyN-B-1AhLoI.js → Icon-BEIqs1jk-lHBI3UrV.js} +2 -2
- package/dist/assets/{Icon-ChuTqoyN-B-1AhLoI.js.map → Icon-BEIqs1jk-lHBI3UrV.js.map} +1 -1
- package/dist/assets/{Input-B7luIqWG-B_DwQ4PL.js → Input-CQan4WsF-DqktvY1s.js} +2 -2
- package/dist/assets/{Input-B7luIqWG-B_DwQ4PL.js.map → Input-CQan4WsF-DqktvY1s.js.map} +1 -1
- package/dist/assets/{InputStateWrapper-C3RikkWu-C1qfLsHt.js → InputStateWrapper-D9om0ETB-Dn0ZrKau.js} +2 -2
- package/dist/assets/{InputStateWrapper-C3RikkWu-C1qfLsHt.js.map → InputStateWrapper-D9om0ETB-Dn0ZrKau.js.map} +1 -1
- package/dist/assets/{InternalUnderlinedBadgeText-nQF-eXQn-BnjcSViN.js → InternalUnderlinedBadgeText-c3GixNBU-BeoNuzUw.js} +2 -2
- package/dist/assets/{InternalUnderlinedBadgeText-nQF-eXQn-BnjcSViN.js.map → InternalUnderlinedBadgeText-c3GixNBU-BeoNuzUw.js.map} +1 -1
- package/dist/assets/{Span-Qm_1k5Dm-Dw-PyoiX.js → Span-8IeR7CmV--67kx0v9.js} +2 -2
- package/dist/assets/{Span-Qm_1k5Dm-Dw-PyoiX.js.map → Span-8IeR7CmV--67kx0v9.js.map} +1 -1
- package/dist/assets/{access-and-short-key-OLoWTcqR-BoOdI1HK.js → access-and-short-key-OLoWTcqR-DT0z6D9C.js} +2 -2
- package/dist/assets/{access-and-short-key-OLoWTcqR-BoOdI1HK.js.map → access-and-short-key-OLoWTcqR-DT0z6D9C.js.map} +1 -1
- package/dist/assets/{align-DUInjtnX-Dw9xZ3OA.js → align-DUInjtnX-DOHEabkn.js} +2 -2
- package/dist/assets/{align-DUInjtnX-Dw9xZ3OA.js.map → align-DUInjtnX-DOHEabkn.js.map} +1 -1
- package/dist/assets/{align-floating-elements-AQNQlNaN-C6XTR0iN.js → align-floating-elements-AQNQlNaN-CPxVbPCs.js} +2 -2
- package/dist/assets/{align-floating-elements-AQNQlNaN-C6XTR0iN.js.map → align-floating-elements-AQNQlNaN-CPxVbPCs.js.map} +1 -1
- package/dist/assets/{associated.controller-BZSp_RI6-kJbGE2Rg.js → associated.controller-BZSp_RI6-BL-9sWhP.js} +2 -2
- package/dist/assets/{associated.controller-BZSp_RI6-kJbGE2Rg.js.map → associated.controller-BZSp_RI6-BL-9sWhP.js.map} +1 -1
- package/dist/assets/{auto-complete-wULl95GT-BJzDnFBE.js → auto-complete-wULl95GT-CfJFiT2Q.js} +2 -2
- package/dist/assets/{auto-complete-wULl95GT-BJzDnFBE.js.map → auto-complete-wULl95GT-CfJFiT2Q.js.map} +1 -1
- package/dist/assets/clsx-COFh-Vc8-D7cYsJM5.js +2 -0
- package/dist/assets/clsx-COFh-Vc8-D7cYsJM5.js.map +1 -0
- package/dist/assets/{color-DZ0Ata5E-B6HcLB9q.js → color-DZ0Ata5E-Ce_NTyBJ.js} +2 -2
- package/dist/assets/{color-DZ0Ata5E-B6HcLB9q.js.map → color-DZ0Ata5E-Ce_NTyBJ.js.map} +1 -1
- package/dist/assets/{controller-CRuc6jPl-BCgkONMn.js → controller-C-tVRLwP-MsOZ9UK1.js} +2 -2
- package/dist/assets/{controller-CRuc6jPl-BCgkONMn.js.map → controller-C-tVRLwP-MsOZ9UK1.js.map} +1 -1
- package/dist/assets/{controller-BR_3q1st-C1Eb5l4W.js → controller-CG-a1F9j-BABPrsIQ.js} +2 -2
- package/dist/assets/{controller-BR_3q1st-C1Eb5l4W.js.map → controller-CG-a1F9j-BABPrsIQ.js.map} +1 -1
- package/dist/assets/{controller-Cmac9vz_-Bq3Zv4L_.js → controller-Cfy-9CwA-TlTKfc-y.js} +2 -2
- package/dist/assets/{controller-Cmac9vz_-Bq3Zv4L_.js.map → controller-Cfy-9CwA-TlTKfc-y.js.map} +1 -1
- package/dist/assets/{controller-BCXVCtVk-CtNYPV_6.js → controller-CtT1RDh9-C2Tp69K_.js} +2 -2
- package/dist/assets/controller-CtT1RDh9-C2Tp69K_.js.map +1 -0
- package/dist/assets/{controller-icon-VcdHRSQP-DtuqRSCn.js → controller-icon-CyFFGMOa-C2lnFluJ.js} +2 -2
- package/dist/assets/{controller-icon-VcdHRSQP-DtuqRSCn.js.map → controller-icon-CyFFGMOa-C2lnFluJ.js.map} +1 -1
- package/dist/assets/custom-class-D9xy9Wzd-mDY7DdMw.js +2 -0
- package/dist/assets/{custom-class-D9xy9Wzd-BQxgTvLO.js.map → custom-class-D9xy9Wzd-mDY7DdMw.js.map} +1 -1
- package/dist/assets/{dev.utils-BWAGUhdu-r--6Klkz.js → dev.utils-DC4cDFnB-0EoD0rmD.js} +2 -2
- package/dist/assets/{dev.utils-BWAGUhdu-r--6Klkz.js.map → dev.utils-DC4cDFnB-0EoD0rmD.js.map} +1 -1
- package/dist/assets/{devtools-Cx9nNtPJ-0ks6_V1l.js → devtools-DynTXFEP-Csq-E4Y4.js} +2 -2
- package/dist/assets/{devtools-Cx9nNtPJ-0ks6_V1l.js.map → devtools-DynTXFEP-Csq-E4Y4.js.map} +1 -1
- package/dist/assets/disabled-BiVzb-WY-DSLt8mjl.js +2 -0
- package/dist/assets/{disabled-BiVzb-WY-hfrYxosU.js.map → disabled-BiVzb-WY-DSLt8mjl.js.map} +1 -1
- package/dist/assets/fira-sans-v17-latin/fira-sans-v17-latin-500.woff2 +0 -0
- package/dist/assets/fira-sans-v17-latin/fira-sans-v17-latin-600.woff2 +0 -0
- package/dist/assets/fira-sans-v17-latin/fira-sans-v17-latin-700.woff2 +0 -0
- package/dist/assets/fira-sans-v17-latin/fira-sans-v17-latin-regular.woff2 +0 -0
- package/dist/assets/fira-sans-v17-latin/style.css +32 -0
- package/dist/assets/has-closer-DTWxZxLk-CfXWBLoY.js +2 -0
- package/dist/assets/{has-closer-DTWxZxLk-18N9zW9B.js.map → has-closer-DTWxZxLk-CfXWBLoY.js.map} +1 -1
- package/dist/assets/hide-label-WZ5WNz3h-CIP_xiSr.js +2 -0
- package/dist/assets/{hide-label-WZ5WNz3h-DtRq1P_O.js.map → hide-label-WZ5WNz3h-CIP_xiSr.js.map} +1 -1
- package/dist/assets/href-BM8XBoul-C6FKxd9a.js +2 -0
- package/dist/assets/{href-BM8XBoul-BAnWYz5W.js.map → href-BM8XBoul-C6FKxd9a.js.map} +1 -1
- package/dist/assets/i18n-0_cE4ov3-DH6ez0mK.js +2 -0
- package/dist/assets/{i18n-0_cE4ov3-B1FIT8dl.js.map → i18n-0_cE4ov3-DH6ez0mK.js.map} +1 -1
- package/dist/assets/{icons-C3vHAMd1-szbVLt4k.js → icons-C3vHAMd1-D5c1HAec.js} +2 -2
- package/dist/assets/{icons-C3vHAMd1-szbVLt4k.js.map → icons-C3vHAMd1-D5c1HAec.js.map} +1 -1
- package/dist/assets/image-source-t6wt0WTO-pfInyRMi.js +2 -0
- package/dist/assets/{image-source-t6wt0WTO-iWsqB_py.js.map → image-source-t6wt0WTO-pfInyRMi.js.map} +1 -1
- package/dist/assets/index-D3P_Gb4a.js +38101 -0
- package/dist/assets/{index-DCgNdH7R.js.map → index-D3P_Gb4a.js.map} +1 -1
- package/dist/assets/inline-6XaAuvMb-R01xsCHf.js +2 -0
- package/dist/assets/{inline-6XaAuvMb-RtZLlCAM.js.map → inline-6XaAuvMb-R01xsCHf.js.map} +1 -1
- package/dist/assets/{kol-abbr.entry-Buvxx9hF.js → kol-abbr.entry-BI_k5Hrn.js} +2 -2
- package/dist/assets/{kol-abbr.entry-Buvxx9hF.js.map → kol-abbr.entry-BI_k5Hrn.js.map} +1 -1
- package/dist/assets/{kol-accordion.entry-BLGPe3UQ.js → kol-accordion.entry-D2Gh8PHf.js} +2 -2
- package/dist/assets/{kol-accordion.entry-BLGPe3UQ.js.map → kol-accordion.entry-D2Gh8PHf.js.map} +1 -1
- package/dist/assets/{kol-alert-wc.entry-Dn5QgMPp.js → kol-alert-wc.entry-BinVox0I.js} +2 -2
- package/dist/assets/{kol-alert-wc.entry-Dn5QgMPp.js.map → kol-alert-wc.entry-BinVox0I.js.map} +1 -1
- package/dist/assets/{kol-alert.entry-6yztvO1W.js → kol-alert.entry-C41QpTfU.js} +2 -2
- package/dist/assets/{kol-alert.entry-6yztvO1W.js.map → kol-alert.entry-C41QpTfU.js.map} +1 -1
- package/dist/assets/{kol-avatar-wc.entry-DAJVtfci.js → kol-avatar-wc.entry-Bu6UAiB2.js} +2 -2
- package/dist/assets/{kol-avatar-wc.entry-DAJVtfci.js.map → kol-avatar-wc.entry-Bu6UAiB2.js.map} +1 -1
- package/dist/assets/{kol-avatar.entry-gyDgSEX9.js → kol-avatar.entry-Z21DNAq9.js} +2 -2
- package/dist/assets/{kol-avatar.entry-gyDgSEX9.js.map → kol-avatar.entry-Z21DNAq9.js.map} +1 -1
- package/dist/assets/{kol-badge.entry-Ct3yLI0r.js → kol-badge.entry-BKN7HKb0.js} +3 -3
- package/dist/assets/{kol-badge.entry-Ct3yLI0r.js.map → kol-badge.entry-BKN7HKb0.js.map} +1 -1
- package/dist/assets/{kol-breadcrumb.entry-kYbrDf-n.js → kol-breadcrumb.entry-C59BNg4e.js} +2 -2
- package/dist/assets/{kol-breadcrumb.entry-kYbrDf-n.js.map → kol-breadcrumb.entry-C59BNg4e.js.map} +1 -1
- package/dist/assets/{kol-button-link.entry-DpFUgpp3.js → kol-button-link.entry-BakE7Ayp.js} +3 -3
- package/dist/assets/{kol-button-link.entry-DpFUgpp3.js.map → kol-button-link.entry-BakE7Ayp.js.map} +1 -1
- package/dist/assets/kol-button-wc.entry-Cp6gRFIU.js +2 -0
- package/dist/assets/kol-button-wc.entry-Cp6gRFIU.js.map +1 -0
- package/dist/assets/{kol-button.entry-7DnjDNm7.js → kol-button.entry-Drr6B70S.js} +3 -3
- package/dist/assets/{kol-button.entry-7DnjDNm7.js.map → kol-button.entry-Drr6B70S.js.map} +1 -1
- package/dist/assets/{kol-card-wc.entry-dx2pN6OQ.js → kol-card-wc.entry-CKaY4AhH.js} +2 -2
- package/dist/assets/{kol-card-wc.entry-dx2pN6OQ.js.map → kol-card-wc.entry-CKaY4AhH.js.map} +1 -1
- package/dist/assets/{kol-card.entry-DpAyGyxG.js → kol-card.entry-CUPxu-K8.js} +2 -2
- package/dist/assets/{kol-card.entry-DpAyGyxG.js.map → kol-card.entry-CUPxu-K8.js.map} +1 -1
- package/dist/assets/{kol-combobox.entry-DRq3zcOd.js → kol-combobox.entry-BsiZJPTH.js} +3 -3
- package/dist/assets/{kol-combobox.entry-DRq3zcOd.js.map → kol-combobox.entry-BsiZJPTH.js.map} +1 -1
- package/dist/assets/{kol-details.entry-D04grVNC.js → kol-details.entry-ClhHrl_u.js} +2 -2
- package/dist/assets/{kol-details.entry-D04grVNC.js.map → kol-details.entry-ClhHrl_u.js.map} +1 -1
- package/dist/assets/{kol-dialog-wc.entry-WLSJ5Uxz.js → kol-dialog-wc.entry-CUdS9TmG.js} +2 -2
- package/dist/assets/{kol-dialog-wc.entry-WLSJ5Uxz.js.map → kol-dialog-wc.entry-CUdS9TmG.js.map} +1 -1
- package/dist/assets/{kol-dialog.entry-B9WvGqws.js → kol-dialog.entry-Dav2Rn1f.js} +2 -2
- package/dist/assets/{kol-dialog.entry-B9WvGqws.js.map → kol-dialog.entry-Dav2Rn1f.js.map} +1 -1
- package/dist/assets/{kol-drawer.entry-BQ4s2Fln.js → kol-drawer.entry-yaFcOaBc.js} +3 -3
- package/dist/assets/{kol-drawer.entry-BQ4s2Fln.js.map → kol-drawer.entry-yaFcOaBc.js.map} +1 -1
- package/dist/assets/{kol-form.entry-ZIF-EOYs.js → kol-form.entry-12VQvrYB.js} +2 -2
- package/dist/assets/{kol-form.entry-ZIF-EOYs.js.map → kol-form.entry-12VQvrYB.js.map} +1 -1
- package/dist/assets/{kol-heading.entry-B2EZZgN1.js → kol-heading.entry-CTikPcGd.js} +2 -2
- package/dist/assets/{kol-heading.entry-B2EZZgN1.js.map → kol-heading.entry-CTikPcGd.js.map} +1 -1
- package/dist/assets/{kol-icon.entry-cV4Z7n2u.js → kol-icon.entry-CNzt5hRQ.js} +4 -4
- package/dist/assets/{kol-icon.entry-cV4Z7n2u.js.map → kol-icon.entry-CNzt5hRQ.js.map} +1 -1
- package/dist/assets/{kol-image.entry-DmSEZN57.js → kol-image.entry-Dd3VS99J.js} +2 -2
- package/dist/assets/{kol-image.entry-DmSEZN57.js.map → kol-image.entry-Dd3VS99J.js.map} +1 -1
- package/dist/assets/{kol-input-checkbox.entry-DR6qLg92.js → kol-input-checkbox.entry-CN0DVAoD.js} +6 -12
- package/dist/assets/kol-input-checkbox.entry-CN0DVAoD.js.map +1 -0
- package/dist/assets/{kol-input-color.entry-DKHuyQSc.js → kol-input-color.entry-BvhP-EdK.js} +3 -3
- package/dist/assets/kol-input-color.entry-BvhP-EdK.js.map +1 -0
- package/dist/assets/{kol-input-date.entry-28_qZIrw.js → kol-input-date.entry-CdWeccJJ.js} +3 -3
- package/dist/assets/{kol-input-date.entry-28_qZIrw.js.map → kol-input-date.entry-CdWeccJJ.js.map} +1 -1
- package/dist/assets/{kol-input-email.entry-BA_zejrM.js → kol-input-email.entry-BC2qB_-K.js} +3 -3
- package/dist/assets/{kol-input-email.entry-BA_zejrM.js.map → kol-input-email.entry-BC2qB_-K.js.map} +1 -1
- package/dist/assets/{kol-input-file.entry-BO7FsbE7.js → kol-input-file.entry-CDdLQIZG.js} +3 -3
- package/dist/assets/{kol-input-file.entry-BO7FsbE7.js.map → kol-input-file.entry-CDdLQIZG.js.map} +1 -1
- package/dist/assets/{kol-input-number.entry-tmP-I0Cb.js → kol-input-number.entry-x7si2zQb.js} +3 -3
- package/dist/assets/{kol-input-number.entry-tmP-I0Cb.js.map → kol-input-number.entry-x7si2zQb.js.map} +1 -1
- package/dist/assets/{kol-input-password.entry-LjF5jMJi.js → kol-input-password.entry-CrUwv32j.js} +3 -3
- package/dist/assets/{kol-input-password.entry-LjF5jMJi.js.map → kol-input-password.entry-CrUwv32j.js.map} +1 -1
- package/dist/assets/{kol-input-radio.entry-BJUapmLX.js → kol-input-radio.entry-DQKdMkNl.js} +6 -12
- package/dist/assets/kol-input-radio.entry-DQKdMkNl.js.map +1 -0
- package/dist/assets/{kol-input-range.entry-Dao8RATA.js → kol-input-range.entry-DzK7Eb5f.js} +3 -3
- package/dist/assets/kol-input-range.entry-DzK7Eb5f.js.map +1 -0
- package/dist/assets/{kol-input-text.entry-eMU4Cnh0.js → kol-input-text.entry-BXokOXbl.js} +3 -3
- package/dist/assets/{kol-input-text.entry-eMU4Cnh0.js.map → kol-input-text.entry-BXokOXbl.js.map} +1 -1
- package/dist/assets/{kol-kolibri.entry-Gx2edjx_.js → kol-kolibri.entry-yc_Abz2v.js} +2 -2
- package/dist/assets/{kol-kolibri.entry-Gx2edjx_.js.map → kol-kolibri.entry-yc_Abz2v.js.map} +1 -1
- package/dist/assets/{kol-link-button.entry-DeENmEyr.js → kol-link-button.entry-BYku0diL.js} +2 -2
- package/dist/assets/{kol-link-button.entry-DeENmEyr.js.map → kol-link-button.entry-BYku0diL.js.map} +1 -1
- package/dist/assets/kol-link-wc.entry-btDn0pPM.js +2 -0
- package/dist/assets/kol-link-wc.entry-btDn0pPM.js.map +1 -0
- package/dist/assets/{kol-link.entry-CrR_rKjh.js → kol-link.entry-BpNb29Rd.js} +3 -3
- package/dist/assets/{kol-link.entry-CrR_rKjh.js.map → kol-link.entry-BpNb29Rd.js.map} +1 -1
- package/dist/assets/{kol-modal.entry-D-QSQykL.js → kol-modal.entry-C0r7qLSW.js} +2 -2
- package/dist/assets/{kol-modal.entry-D-QSQykL.js.map → kol-modal.entry-C0r7qLSW.js.map} +1 -1
- package/dist/assets/{kol-nav.entry-CSkW5-qr.js → kol-nav.entry-DRUU6hAO.js} +3 -3
- package/dist/assets/{kol-nav.entry-CSkW5-qr.js.map → kol-nav.entry-DRUU6hAO.js.map} +1 -1
- package/dist/assets/kol-pagination-wc.entry-kogXvNjA.js +2 -0
- package/dist/assets/kol-pagination-wc.entry-kogXvNjA.js.map +1 -0
- package/dist/assets/{kol-pagination.entry-mExC2VmI.js → kol-pagination.entry-CtuICCUs.js} +2 -2
- package/dist/assets/{kol-pagination.entry-mExC2VmI.js.map → kol-pagination.entry-CtuICCUs.js.map} +1 -1
- package/dist/assets/kol-popover-button-wc.entry-DR-JXG6N.js +2 -0
- package/dist/assets/{kol-popover-button-wc.entry-BPEDtJok.js.map → kol-popover-button-wc.entry-DR-JXG6N.js.map} +1 -1
- package/dist/assets/{kol-popover-button.entry-CWuQpzfh.js → kol-popover-button.entry-BFuWJ27m.js} +3 -3
- package/dist/assets/{kol-popover-button.entry-CWuQpzfh.js.map → kol-popover-button.entry-BFuWJ27m.js.map} +1 -1
- package/dist/assets/{kol-popover-wc.entry-bXILhVsO.js → kol-popover-wc.entry-CRC01D2I.js} +2 -2
- package/dist/assets/{kol-popover-wc.entry-bXILhVsO.js.map → kol-popover-wc.entry-CRC01D2I.js.map} +1 -1
- package/dist/assets/{kol-progress.entry-DV29FxQw.js → kol-progress.entry-CbfEcm_D.js} +2 -2
- package/dist/assets/{kol-progress.entry-DV29FxQw.js.map → kol-progress.entry-CbfEcm_D.js.map} +1 -1
- package/dist/assets/{kol-quote.entry-RJQv2JGa.js → kol-quote.entry-B39Je_A_.js} +2 -2
- package/dist/assets/{kol-quote.entry-RJQv2JGa.js.map → kol-quote.entry-B39Je_A_.js.map} +1 -1
- package/dist/assets/{kol-select-wc.entry-by8Mbpib.js → kol-select-wc.entry-DLlYy1KX.js} +2 -2
- package/dist/assets/kol-select-wc.entry-DLlYy1KX.js.map +1 -0
- package/dist/assets/{kol-select.entry-Di5lCsMZ.js → kol-select.entry-5gvjz80h.js} +3 -3
- package/dist/assets/{kol-select.entry-Di5lCsMZ.js.map → kol-select.entry-5gvjz80h.js.map} +1 -1
- package/dist/assets/{kol-single-select.entry-DSKfxULZ.js → kol-single-select.entry-DTX6oh1v.js} +3 -3
- package/dist/assets/kol-single-select.entry-DTX6oh1v.js.map +1 -0
- package/dist/assets/{kol-skip-nav.entry-c5Rrwpgf.js → kol-skip-nav.entry-DoecB063.js} +2 -2
- package/dist/assets/{kol-skip-nav.entry-c5Rrwpgf.js.map → kol-skip-nav.entry-DoecB063.js.map} +1 -1
- package/dist/assets/{kol-spin.entry-C3eejVGu.js → kol-spin.entry-D1tWIMKZ.js} +2 -2
- package/dist/assets/{kol-spin.entry-C3eejVGu.js.map → kol-spin.entry-D1tWIMKZ.js.map} +1 -1
- package/dist/assets/{kol-split-button.entry-0xllsbDl.js → kol-split-button.entry-CuvTIlm2.js} +3 -3
- package/dist/assets/{kol-split-button.entry-0xllsbDl.js.map → kol-split-button.entry-CuvTIlm2.js.map} +1 -1
- package/dist/assets/{kol-table-settings-wc.entry-MmKzDOn9.js → kol-table-settings-wc.entry-DmEbNAwP.js} +2 -2
- package/dist/assets/{kol-table-settings-wc.entry-MmKzDOn9.js.map → kol-table-settings-wc.entry-DmEbNAwP.js.map} +1 -1
- package/dist/assets/{kol-table-stateful.entry-B1w7oCHH.js → kol-table-stateful.entry-BbbDGBFd.js} +3 -3
- package/dist/assets/{kol-table-stateful.entry-B1w7oCHH.js.map → kol-table-stateful.entry-BbbDGBFd.js.map} +1 -1
- package/dist/assets/{kol-table-stateless-wc.entry-BYOA_T3-.js → kol-table-stateless-wc.entry-CHpOlPI2.js} +2 -2
- package/dist/assets/kol-table-stateless-wc.entry-CHpOlPI2.js.map +1 -0
- package/dist/assets/{kol-table-stateless.entry-CAgXJa5V.js → kol-table-stateless.entry-CGPq8_at.js} +2 -2
- package/dist/assets/{kol-table-stateless.entry-CAgXJa5V.js.map → kol-table-stateless.entry-CGPq8_at.js.map} +1 -1
- package/dist/assets/{kol-tabs.entry-0_8i0jxI.js → kol-tabs.entry-Bd6Yy35P.js} +2 -2
- package/dist/assets/{kol-tabs.entry-0_8i0jxI.js.map → kol-tabs.entry-Bd6Yy35P.js.map} +1 -1
- package/dist/assets/{kol-textarea.entry-BKPYu9O7.js → kol-textarea.entry-Bbk7LvIf.js} +3 -3
- package/dist/assets/{kol-textarea.entry-BKPYu9O7.js.map → kol-textarea.entry-Bbk7LvIf.js.map} +1 -1
- package/dist/assets/{kol-toast-container.entry-DCtP-KwF.js → kol-toast-container.entry-5Nyymj8R.js} +2 -2
- package/dist/assets/{kol-toast-container.entry-DCtP-KwF.js.map → kol-toast-container.entry-5Nyymj8R.js.map} +1 -1
- package/dist/assets/{kol-toolbar.entry-Bq4MQXOk.js → kol-toolbar.entry-DESGCa_T.js} +2 -2
- package/dist/assets/{kol-toolbar.entry-Bq4MQXOk.js.map → kol-toolbar.entry-DESGCa_T.js.map} +1 -1
- package/dist/assets/kol-tooltip-wc.entry-BVYOdCxj.js +2 -0
- package/dist/assets/kol-tooltip-wc.entry-BVYOdCxj.js.map +1 -0
- package/dist/assets/{kol-tree-item-wc.entry-7l1x7r4s.js → kol-tree-item-wc.entry-CJRyXAjn.js} +2 -2
- package/dist/assets/{kol-tree-item-wc.entry-7l1x7r4s.js.map → kol-tree-item-wc.entry-CJRyXAjn.js.map} +1 -1
- package/dist/assets/{kol-tree-item.entry-aMg_sFc4.js → kol-tree-item.entry-CPnbUUsc.js} +2 -2
- package/dist/assets/{kol-tree-item.entry-aMg_sFc4.js.map → kol-tree-item.entry-CPnbUUsc.js.map} +1 -1
- package/dist/assets/{kol-tree-wc.entry-D-ltufRn.js → kol-tree-wc.entry-DEL76eWy.js} +2 -2
- package/dist/assets/kol-tree-wc.entry-DEL76eWy.js.map +1 -0
- package/dist/assets/{kol-tree.entry-CkNiWSKE.js → kol-tree.entry-BJTeWUee.js} +2 -2
- package/dist/assets/{kol-tree.entry-CkNiWSKE.js.map → kol-tree.entry-BJTeWUee.js.map} +1 -1
- package/dist/assets/{kol-version.entry-CrbZfL0f.js → kol-version.entry-CzKu3XGd.js} +2 -2
- package/dist/assets/{kol-version.entry-CrbZfL0f.js.map → kol-version.entry-CzKu3XGd.js.map} +1 -1
- package/dist/assets/kolicons/kolicons.eot +0 -0
- package/dist/assets/kolicons/kolicons.ttf +0 -0
- package/dist/assets/kolicons/kolicons.woff +0 -0
- package/dist/assets/kolicons/kolicons.woff2 +0 -0
- package/dist/assets/kolicons/style.css +6 -6
- package/dist/assets/{label-BqL4x8lJ-CiffcIxq.js → label-BqL4x8lJ-BipNcWT0.js} +2 -2
- package/dist/assets/{label-BqL4x8lJ-CiffcIxq.js.map → label-BqL4x8lJ-BipNcWT0.js.map} +1 -1
- package/dist/assets/{markdown-OkxVnUil-BdWlaODw.js → markdown-OkxVnUil-FGwK9bFC.js} +2 -2
- package/dist/assets/{markdown-OkxVnUil-BdWlaODw.js.map → markdown-OkxVnUil-FGwK9bFC.js.map} +1 -1
- package/dist/assets/material-symbols-subset/fonts/material-symbols-subset.svg +55 -0
- package/dist/assets/material-symbols-subset/fonts/material-symbols-subset.ttf +0 -0
- package/dist/assets/material-symbols-subset/fonts/material-symbols-subset.woff +0 -0
- package/dist/assets/material-symbols-subset/selection.json +1 -0
- package/dist/assets/material-symbols-subset/style.css +161 -0
- package/dist/assets/material-symbols-subset/style.scss +254 -0
- package/dist/assets/material-symbols-subset/variables.scss +49 -0
- package/dist/assets/{max-length-behavior-BhW8_k_T-B_sG6j6U.js → max-length-behavior-BhW8_k_T-CxeYn7nV.js} +2 -2
- package/dist/assets/{max-length-behavior-BhW8_k_T-B_sG6j6U.js.map → max-length-behavior-BhW8_k_T-CxeYn7nV.js.map} +1 -1
- package/dist/assets/multiple-CN7ZfDba-C288fTFz.js +2 -0
- package/dist/assets/{multiple-CN7ZfDba-CEIhGVgO.js.map → multiple-CN7ZfDba-C288fTFz.js.map} +1 -1
- package/dist/assets/open-BS0uItWa-Dxb14w1d.js +2 -0
- package/dist/assets/{open-BS0uItWa-CZAswnjA.js.map → open-BS0uItWa-Dxb14w1d.js.map} +1 -1
- package/dist/assets/{orientation-DR4gvMev-Bi3K-9Nh.js → orientation-DR4gvMev-CfimEh6N.js} +2 -2
- package/dist/assets/{orientation-DR4gvMev-Bi3K-9Nh.js.map → orientation-DR4gvMev-CfimEh6N.js.map} +1 -1
- package/dist/assets/placeholder-DhhN6Rra-C18H0aSE.js +2 -0
- package/dist/assets/{placeholder-DhhN6Rra-H4GL-w86.js.map → placeholder-DhhN6Rra-C18H0aSE.js.map} +1 -1
- package/dist/assets/read-only-joz0PLP_-CdTc19uy.js +2 -0
- package/dist/assets/{read-only-joz0PLP_-CcuMOvhH.js.map → read-only-joz0PLP_-CdTc19uy.js.map} +1 -1
- package/dist/assets/required-DJbvNLly-BkmlPj-t.js +2 -0
- package/dist/assets/{required-DJbvNLly-DhJ1XMFC.js.map → required-DJbvNLly-BkmlPj-t.js.map} +1 -1
- package/dist/assets/rows-BAjzKE6S-BPUxtI9h.js +2 -0
- package/dist/assets/{rows-BAjzKE6S-C6UdqU-0.js.map → rows-BAjzKE6S-BPUxtI9h.js.map} +1 -1
- package/dist/assets/show-Db770b87-CIfO78H5.js +2 -0
- package/dist/assets/{show-Db770b87-BkUx8f8C.js.map → show-Db770b87-CIfO78H5.js.map} +1 -1
- package/dist/assets/spell-check-S60TjBC_-zKIV3hGJ.js +2 -0
- package/dist/assets/{spell-check-S60TjBC_-CNFTcspP.js.map → spell-check-S60TjBC_-zKIV3hGJ.js.map} +1 -1
- package/dist/assets/{suggestions-CcNcD0dX-BleLEbjK.js → suggestions-CcNcD0dX-BIxTDyDA.js} +2 -2
- package/dist/assets/{suggestions-CcNcD0dX-BleLEbjK.js.map → suggestions-CcNcD0dX-BIxTDyDA.js.map} +1 -1
- package/dist/assets/{table-selection-DjfWF12k-QoQpnBJS.js → table-selection-DjfWF12k-BfTG6SjZ.js} +2 -2
- package/dist/assets/{table-selection-DjfWF12k-QoQpnBJS.js.map → table-selection-DjfWF12k-BfTG6SjZ.js.map} +1 -1
- package/dist/assets/test-component.entry-B1fV1QSq.js +2 -0
- package/dist/assets/{test-component.entry-GT_ejJS3.js.map → test-component.entry-B1fV1QSq.js.map} +1 -1
- package/dist/assets/tooltip-align-1XGYSZmF-CFPPW4b1.js +2 -0
- package/dist/assets/{tooltip-align-1XGYSZmF-ChgzhAE9.js.map → tooltip-align-1XGYSZmF-CFPPW4b1.js.map} +1 -1
- package/dist/assets/{unique-nav-labels-BzOU2gyW-BVqJy2Rs.js → unique-nav-labels-BzOU2gyW-Dr0_JkmR.js} +2 -2
- package/dist/assets/{unique-nav-labels-BzOU2gyW-BVqJy2Rs.js.map → unique-nav-labels-BzOU2gyW-Dr0_JkmR.js.map} +1 -1
- package/dist/assets/{validation-BIgftzAT-BnVqZMuX.js → validation-BIgftzAT-BpUQj-uX.js} +2 -2
- package/dist/assets/{validation-BIgftzAT-BnVqZMuX.js.map → validation-BIgftzAT-BpUQj-uX.js.map} +1 -1
- package/dist/assets/validation-Cmv8Nj43-CfZl5H73.js +2 -0
- package/dist/assets/{validation-Cmv8Nj43-BkhWqmbj.js.map → validation-Cmv8Nj43-CfZl5H73.js.map} +1 -1
- package/dist/assets/variant-class-name-JuamA3G3-FJkvRX0r.js +2 -0
- package/dist/assets/variant-class-name-JuamA3G3-FJkvRX0r.js.map +1 -0
- package/dist/index.html +3 -1
- package/index.html +2 -0
- package/package.json +22 -21
- package/public/assets/fira-sans-v17-latin/fira-sans-v17-latin-500.woff2 +0 -0
- package/public/assets/fira-sans-v17-latin/fira-sans-v17-latin-600.woff2 +0 -0
- package/public/assets/fira-sans-v17-latin/fira-sans-v17-latin-700.woff2 +0 -0
- package/public/assets/fira-sans-v17-latin/fira-sans-v17-latin-regular.woff2 +0 -0
- package/public/assets/fira-sans-v17-latin/style.css +32 -0
- package/public/assets/kolicons/kolicons.eot +0 -0
- package/public/assets/kolicons/kolicons.ttf +0 -0
- package/public/assets/kolicons/kolicons.woff +0 -0
- package/public/assets/kolicons/kolicons.woff2 +0 -0
- package/public/assets/kolicons/style.css +6 -6
- package/public/assets/material-symbols-subset/fonts/material-symbols-subset.svg +55 -0
- package/public/assets/material-symbols-subset/fonts/material-symbols-subset.ttf +0 -0
- package/public/assets/material-symbols-subset/fonts/material-symbols-subset.woff +0 -0
- package/public/assets/material-symbols-subset/selection.json +1 -0
- package/public/assets/material-symbols-subset/style.css +161 -0
- package/public/assets/material-symbols-subset/style.scss +254 -0
- package/public/assets/material-symbols-subset/variables.scss +49 -0
- package/src/App.tsx +1 -1
- package/src/components/button-link/basic.tsx +3 -0
- package/src/components/handout/basic.tsx +6 -6
- package/src/components/input-text/pattern.tsx +30 -0
- package/src/components/input-text/routes.ts +2 -0
- package/src/components/input-text/text-formatter.tsx +240 -139
- package/src/components/link/basic.tsx +1 -0
- package/src/components/table/interactive-child-elements.tsx +6 -6
- package/src/react.main.tsx +2 -2
- package/src/scenarios/react-hook-form/disabled.tsx +52 -0
- package/src/scenarios/routes.ts +2 -0
- package/src/shares/theme.ts +4 -0
- package/dist/abgrenzung.jpg +0 -0
- package/dist/assets/CustomSuggestionsOptionsGroup-B8V2Ol1V-BqiH4cDM.js +0 -2
- package/dist/assets/CustomSuggestionsOptionsGroup-B8V2Ol1V-BqiH4cDM.js.map +0 -1
- package/dist/assets/FormFieldStateWrapper-gFvWM0k_-DTufyA3E.js +0 -2
- package/dist/assets/FormFieldStateWrapper-gFvWM0k_-DTufyA3E.js.map +0 -1
- package/dist/assets/button-variant-0lk5Vbgn-DkGkvl2v.js +0 -2
- package/dist/assets/button-variant-0lk5Vbgn-DkGkvl2v.js.map +0 -1
- package/dist/assets/clsx-D6cJXTZC-DmzAKo5K.js +0 -2
- package/dist/assets/clsx-D6cJXTZC-DmzAKo5K.js.map +0 -1
- package/dist/assets/controller-BCXVCtVk-CtNYPV_6.js.map +0 -1
- package/dist/assets/custom-class-D9xy9Wzd-BQxgTvLO.js +0 -2
- package/dist/assets/disabled-BiVzb-WY-hfrYxosU.js +0 -2
- package/dist/assets/has-closer-DTWxZxLk-18N9zW9B.js +0 -2
- package/dist/assets/hide-label-WZ5WNz3h-DtRq1P_O.js +0 -2
- package/dist/assets/href-BM8XBoul-BAnWYz5W.js +0 -2
- package/dist/assets/i18n-0_cE4ov3-B1FIT8dl.js +0 -2
- package/dist/assets/icofont/demo.html +0 -18939
- package/dist/assets/icofont/fonts/icofont.eot +0 -0
- package/dist/assets/icofont/fonts/icofont.svg +0 -2105
- package/dist/assets/icofont/fonts/icofont.ttf +0 -0
- package/dist/assets/icofont/fonts/icofont.woff +0 -0
- package/dist/assets/icofont/fonts/icofont.woff2 +0 -0
- package/dist/assets/icofont/icofont.css +0 -10757
- package/dist/assets/icofont/icofont.min.css +0 -7
- package/dist/assets/image-source-t6wt0WTO-iWsqB_py.js +0 -2
- package/dist/assets/index-DCgNdH7R.js +0 -26430
- package/dist/assets/inline-6XaAuvMb-RtZLlCAM.js +0 -2
- package/dist/assets/kol-button-wc.entry-BV0VGvnv.js +0 -2
- package/dist/assets/kol-button-wc.entry-BV0VGvnv.js.map +0 -1
- package/dist/assets/kol-input-checkbox.entry-DR6qLg92.js.map +0 -1
- package/dist/assets/kol-input-color.entry-DKHuyQSc.js.map +0 -1
- package/dist/assets/kol-input-radio.entry-BJUapmLX.js.map +0 -1
- package/dist/assets/kol-input-range.entry-Dao8RATA.js.map +0 -1
- package/dist/assets/kol-link-wc.entry-CA9W8-ma.js +0 -2
- package/dist/assets/kol-link-wc.entry-CA9W8-ma.js.map +0 -1
- package/dist/assets/kol-pagination-wc.entry-dWAlKIwQ.js +0 -2
- package/dist/assets/kol-pagination-wc.entry-dWAlKIwQ.js.map +0 -1
- package/dist/assets/kol-popover-button-wc.entry-BPEDtJok.js +0 -2
- package/dist/assets/kol-select-wc.entry-by8Mbpib.js.map +0 -1
- package/dist/assets/kol-single-select.entry-DSKfxULZ.js.map +0 -1
- package/dist/assets/kol-table-stateless-wc.entry-BYOA_T3-.js.map +0 -1
- package/dist/assets/kol-tooltip-wc.entry-C5wZME1j.js +0 -2
- package/dist/assets/kol-tooltip-wc.entry-C5wZME1j.js.map +0 -1
- package/dist/assets/kol-tree-wc.entry-D-ltufRn.js.map +0 -1
- package/dist/assets/kreon/Kreon-VariableFont_wght.ttf +0 -0
- package/dist/assets/kreon/OFL.txt +0 -93
- package/dist/assets/kreon/README.txt +0 -67
- package/dist/assets/kreon/static/Kreon-Bold.ttf +0 -0
- package/dist/assets/kreon/static/Kreon-Light.ttf +0 -0
- package/dist/assets/kreon/static/Kreon-Medium.ttf +0 -0
- package/dist/assets/kreon/static/Kreon-Regular.ttf +0 -0
- package/dist/assets/kreon/static/Kreon-SemiBold.ttf +0 -0
- package/dist/assets/kreon/style.css +0 -41
- package/dist/assets/material-icons/LICENSE +0 -202
- package/dist/assets/material-icons/README.md +0 -134
- package/dist/assets/material-icons/_data/versions.json +0 -2124
- package/dist/assets/material-icons/css/_codepoints.scss +0 -2279
- package/dist/assets/material-icons/css/_mixins.scss +0 -13
- package/dist/assets/material-icons/css/_variables.scss +0 -6
- package/dist/assets/material-icons/css/material-icons.css +0 -9208
- package/dist/assets/material-icons/css/material-icons.min.css +0 -1
- package/dist/assets/material-icons/css/material-icons.scss +0 -33
- package/dist/assets/material-icons/iconfont/_mixins.scss +0 -55
- package/dist/assets/material-icons/iconfont/_variables.scss +0 -3
- package/dist/assets/material-icons/iconfont/filled.css +0 -24
- package/dist/assets/material-icons/iconfont/filled.scss +0 -4
- package/dist/assets/material-icons/iconfont/material-icons-outlined.woff +0 -0
- package/dist/assets/material-icons/iconfont/material-icons-outlined.woff2 +0 -0
- package/dist/assets/material-icons/iconfont/material-icons-round.woff +0 -0
- package/dist/assets/material-icons/iconfont/material-icons-round.woff2 +0 -0
- package/dist/assets/material-icons/iconfont/material-icons-sharp.woff +0 -0
- package/dist/assets/material-icons/iconfont/material-icons-sharp.woff2 +0 -0
- package/dist/assets/material-icons/iconfont/material-icons-two-tone.woff +0 -0
- package/dist/assets/material-icons/iconfont/material-icons-two-tone.woff2 +0 -0
- package/dist/assets/material-icons/iconfont/material-icons.css +0 -124
- package/dist/assets/material-icons/iconfont/material-icons.scss +0 -5
- package/dist/assets/material-icons/iconfont/material-icons.woff +0 -0
- package/dist/assets/material-icons/iconfont/material-icons.woff2 +0 -0
- package/dist/assets/material-icons/iconfont/outlined.css +0 -24
- package/dist/assets/material-icons/iconfont/outlined.scss +0 -4
- package/dist/assets/material-icons/iconfont/round.css +0 -24
- package/dist/assets/material-icons/iconfont/round.scss +0 -4
- package/dist/assets/material-icons/iconfont/sharp.css +0 -24
- package/dist/assets/material-icons/iconfont/sharp.scss +0 -4
- package/dist/assets/material-icons/iconfont/two-tone.css +0 -24
- package/dist/assets/material-icons/iconfont/two-tone.scss +0 -4
- package/dist/assets/material-icons/index.d.ts +0 -2128
- package/dist/assets/material-icons/package.json +0 -52
- package/dist/assets/material-symbols/LICENSE +0 -202
- package/dist/assets/material-symbols/README.md +0 -121
- package/dist/assets/material-symbols/_core.scss +0 -46
- package/dist/assets/material-symbols/index.css +0 -74
- package/dist/assets/material-symbols/index.d.ts +0 -2809
- package/dist/assets/material-symbols/index.scss +0 -3
- package/dist/assets/material-symbols/material-symbols-outlined.woff2 +0 -0
- package/dist/assets/material-symbols/material-symbols-rounded.woff2 +0 -0
- package/dist/assets/material-symbols/material-symbols-sharp.woff2 +0 -0
- package/dist/assets/material-symbols/outlined.css +0 -24
- package/dist/assets/material-symbols/outlined.scss +0 -3
- package/dist/assets/material-symbols/package.json +0 -41
- package/dist/assets/material-symbols/rounded.css +0 -24
- package/dist/assets/material-symbols/rounded.scss +0 -3
- package/dist/assets/material-symbols/sharp.css +0 -24
- package/dist/assets/material-symbols/sharp.scss +0 -3
- package/dist/assets/multiple-CN7ZfDba-CEIhGVgO.js +0 -2
- package/dist/assets/noto-sans/fonts/NotoSans-Black.ttf +0 -0
- package/dist/assets/noto-sans/fonts/NotoSans-BlackItalic.ttf +0 -0
- package/dist/assets/noto-sans/fonts/NotoSans-Bold.ttf +0 -0
- package/dist/assets/noto-sans/fonts/NotoSans-BoldItalic.ttf +0 -0
- package/dist/assets/noto-sans/fonts/NotoSans-ExtraBold.ttf +0 -0
- package/dist/assets/noto-sans/fonts/NotoSans-ExtraBoldItalic.ttf +0 -0
- package/dist/assets/noto-sans/fonts/NotoSans-ExtraLight.ttf +0 -0
- package/dist/assets/noto-sans/fonts/NotoSans-ExtraLightItalic.ttf +0 -0
- package/dist/assets/noto-sans/fonts/NotoSans-Italic.ttf +0 -0
- package/dist/assets/noto-sans/fonts/NotoSans-Light.ttf +0 -0
- package/dist/assets/noto-sans/fonts/NotoSans-LightItalic.ttf +0 -0
- package/dist/assets/noto-sans/fonts/NotoSans-Medium.ttf +0 -0
- package/dist/assets/noto-sans/fonts/NotoSans-MediumItalic.ttf +0 -0
- package/dist/assets/noto-sans/fonts/NotoSans-Regular.ttf +0 -0
- package/dist/assets/noto-sans/fonts/NotoSans-SemiBold.ttf +0 -0
- package/dist/assets/noto-sans/fonts/NotoSans-SemiBoldItalic.ttf +0 -0
- package/dist/assets/noto-sans/fonts/NotoSans-Thin.ttf +0 -0
- package/dist/assets/noto-sans/fonts/NotoSans-ThinItalic.ttf +0 -0
- package/dist/assets/noto-sans/fonts/OFL.txt +0 -93
- package/dist/assets/noto-sans/noto-sans.css +0 -11
- package/dist/assets/open-BS0uItWa-CZAswnjA.js +0 -2
- package/dist/assets/placeholder-DhhN6Rra-H4GL-w86.js +0 -2
- package/dist/assets/read-only-joz0PLP_-CcuMOvhH.js +0 -2
- package/dist/assets/required-DJbvNLly-DhJ1XMFC.js +0 -2
- package/dist/assets/roboto/LICENSE.txt +0 -202
- package/dist/assets/roboto/Roboto-Black.ttf +0 -0
- package/dist/assets/roboto/Roboto-BlackItalic.ttf +0 -0
- package/dist/assets/roboto/Roboto-Bold.ttf +0 -0
- package/dist/assets/roboto/Roboto-BoldItalic.ttf +0 -0
- package/dist/assets/roboto/Roboto-Italic.ttf +0 -0
- package/dist/assets/roboto/Roboto-Light.ttf +0 -0
- package/dist/assets/roboto/Roboto-LightItalic.ttf +0 -0
- package/dist/assets/roboto/Roboto-Medium.ttf +0 -0
- package/dist/assets/roboto/Roboto-MediumItalic.ttf +0 -0
- package/dist/assets/roboto/Roboto-Regular.ttf +0 -0
- package/dist/assets/roboto/Roboto-Thin.ttf +0 -0
- package/dist/assets/roboto/Roboto-ThinItalic.ttf +0 -0
- package/dist/assets/roboto/roboto.css +0 -27
- package/dist/assets/rows-BAjzKE6S-C6UdqU-0.js +0 -2
- package/dist/assets/show-Db770b87-BkUx8f8C.js +0 -2
- package/dist/assets/spell-check-S60TjBC_-CNFTcspP.js +0 -2
- package/dist/assets/tabler-icons/fonts/tabler-icons.eot +0 -0
- package/dist/assets/tabler-icons/fonts/tabler-icons.ttf +0 -0
- package/dist/assets/tabler-icons/fonts/tabler-icons.woff +0 -0
- package/dist/assets/tabler-icons/fonts/tabler-icons.woff2 +0 -0
- package/dist/assets/tabler-icons/tabler-icons.css +0 -16056
- package/dist/assets/tabler-icons/tabler-icons.html +0 -36226
- package/dist/assets/tabler-icons/tabler-icons.min.css +0 -4
- package/dist/assets/tabler-icons/tabler-icons.png +0 -0
- package/dist/assets/tabler-icons/tabler-icons.scss +0 -8058
- package/dist/assets/test-component.entry-GT_ejJS3.js +0 -2
- package/dist/assets/tooltip-align-1XGYSZmF-ChgzhAE9.js +0 -2
- package/dist/assets/validation-Cmv8Nj43-BkhWqmbj.js +0 -2
- package/public/abgrenzung.jpg +0 -0
- package/public/assets/icofont/demo.html +0 -18939
- package/public/assets/icofont/fonts/icofont.eot +0 -0
- package/public/assets/icofont/fonts/icofont.svg +0 -2105
- package/public/assets/icofont/fonts/icofont.ttf +0 -0
- package/public/assets/icofont/fonts/icofont.woff +0 -0
- package/public/assets/icofont/fonts/icofont.woff2 +0 -0
- package/public/assets/icofont/icofont.css +0 -10757
- package/public/assets/icofont/icofont.min.css +0 -7
- package/public/assets/kreon/Kreon-VariableFont_wght.ttf +0 -0
- package/public/assets/kreon/OFL.txt +0 -93
- package/public/assets/kreon/README.txt +0 -67
- package/public/assets/kreon/static/Kreon-Bold.ttf +0 -0
- package/public/assets/kreon/static/Kreon-Light.ttf +0 -0
- package/public/assets/kreon/static/Kreon-Medium.ttf +0 -0
- package/public/assets/kreon/static/Kreon-Regular.ttf +0 -0
- package/public/assets/kreon/static/Kreon-SemiBold.ttf +0 -0
- package/public/assets/kreon/style.css +0 -41
- package/public/assets/material-icons/LICENSE +0 -202
- package/public/assets/material-icons/README.md +0 -134
- package/public/assets/material-icons/_data/versions.json +0 -2124
- package/public/assets/material-icons/css/_codepoints.scss +0 -2279
- package/public/assets/material-icons/css/_mixins.scss +0 -13
- package/public/assets/material-icons/css/_variables.scss +0 -6
- package/public/assets/material-icons/css/material-icons.css +0 -9208
- package/public/assets/material-icons/css/material-icons.min.css +0 -1
- package/public/assets/material-icons/css/material-icons.scss +0 -33
- package/public/assets/material-icons/iconfont/_mixins.scss +0 -55
- package/public/assets/material-icons/iconfont/_variables.scss +0 -3
- package/public/assets/material-icons/iconfont/filled.css +0 -24
- package/public/assets/material-icons/iconfont/filled.scss +0 -4
- package/public/assets/material-icons/iconfont/material-icons-outlined.woff +0 -0
- package/public/assets/material-icons/iconfont/material-icons-outlined.woff2 +0 -0
- package/public/assets/material-icons/iconfont/material-icons-round.woff +0 -0
- package/public/assets/material-icons/iconfont/material-icons-round.woff2 +0 -0
- package/public/assets/material-icons/iconfont/material-icons-sharp.woff +0 -0
- package/public/assets/material-icons/iconfont/material-icons-sharp.woff2 +0 -0
- package/public/assets/material-icons/iconfont/material-icons-two-tone.woff +0 -0
- package/public/assets/material-icons/iconfont/material-icons-two-tone.woff2 +0 -0
- package/public/assets/material-icons/iconfont/material-icons.css +0 -124
- package/public/assets/material-icons/iconfont/material-icons.scss +0 -5
- package/public/assets/material-icons/iconfont/material-icons.woff +0 -0
- package/public/assets/material-icons/iconfont/material-icons.woff2 +0 -0
- package/public/assets/material-icons/iconfont/outlined.css +0 -24
- package/public/assets/material-icons/iconfont/outlined.scss +0 -4
- package/public/assets/material-icons/iconfont/round.css +0 -24
- package/public/assets/material-icons/iconfont/round.scss +0 -4
- package/public/assets/material-icons/iconfont/sharp.css +0 -24
- package/public/assets/material-icons/iconfont/sharp.scss +0 -4
- package/public/assets/material-icons/iconfont/two-tone.css +0 -24
- package/public/assets/material-icons/iconfont/two-tone.scss +0 -4
- package/public/assets/material-icons/index.d.ts +0 -2128
- package/public/assets/material-icons/package.json +0 -52
- package/public/assets/material-symbols/LICENSE +0 -202
- package/public/assets/material-symbols/README.md +0 -121
- package/public/assets/material-symbols/_core.scss +0 -46
- package/public/assets/material-symbols/index.css +0 -74
- package/public/assets/material-symbols/index.d.ts +0 -2809
- package/public/assets/material-symbols/index.scss +0 -3
- package/public/assets/material-symbols/material-symbols-outlined.woff2 +0 -0
- package/public/assets/material-symbols/material-symbols-rounded.woff2 +0 -0
- package/public/assets/material-symbols/material-symbols-sharp.woff2 +0 -0
- package/public/assets/material-symbols/outlined.css +0 -24
- package/public/assets/material-symbols/outlined.scss +0 -3
- package/public/assets/material-symbols/package.json +0 -41
- package/public/assets/material-symbols/rounded.css +0 -24
- package/public/assets/material-symbols/rounded.scss +0 -3
- package/public/assets/material-symbols/sharp.css +0 -24
- package/public/assets/material-symbols/sharp.scss +0 -3
- package/public/assets/noto-sans/fonts/NotoSans-Black.ttf +0 -0
- package/public/assets/noto-sans/fonts/NotoSans-BlackItalic.ttf +0 -0
- package/public/assets/noto-sans/fonts/NotoSans-Bold.ttf +0 -0
- package/public/assets/noto-sans/fonts/NotoSans-BoldItalic.ttf +0 -0
- package/public/assets/noto-sans/fonts/NotoSans-ExtraBold.ttf +0 -0
- package/public/assets/noto-sans/fonts/NotoSans-ExtraBoldItalic.ttf +0 -0
- package/public/assets/noto-sans/fonts/NotoSans-ExtraLight.ttf +0 -0
- package/public/assets/noto-sans/fonts/NotoSans-ExtraLightItalic.ttf +0 -0
- package/public/assets/noto-sans/fonts/NotoSans-Italic.ttf +0 -0
- package/public/assets/noto-sans/fonts/NotoSans-Light.ttf +0 -0
- package/public/assets/noto-sans/fonts/NotoSans-LightItalic.ttf +0 -0
- package/public/assets/noto-sans/fonts/NotoSans-Medium.ttf +0 -0
- package/public/assets/noto-sans/fonts/NotoSans-MediumItalic.ttf +0 -0
- package/public/assets/noto-sans/fonts/NotoSans-Regular.ttf +0 -0
- package/public/assets/noto-sans/fonts/NotoSans-SemiBold.ttf +0 -0
- package/public/assets/noto-sans/fonts/NotoSans-SemiBoldItalic.ttf +0 -0
- package/public/assets/noto-sans/fonts/NotoSans-Thin.ttf +0 -0
- package/public/assets/noto-sans/fonts/NotoSans-ThinItalic.ttf +0 -0
- package/public/assets/noto-sans/fonts/OFL.txt +0 -93
- package/public/assets/noto-sans/noto-sans.css +0 -11
- package/public/assets/roboto/LICENSE.txt +0 -202
- package/public/assets/roboto/Roboto-Black.ttf +0 -0
- package/public/assets/roboto/Roboto-BlackItalic.ttf +0 -0
- package/public/assets/roboto/Roboto-Bold.ttf +0 -0
- package/public/assets/roboto/Roboto-BoldItalic.ttf +0 -0
- package/public/assets/roboto/Roboto-Italic.ttf +0 -0
- package/public/assets/roboto/Roboto-Light.ttf +0 -0
- package/public/assets/roboto/Roboto-LightItalic.ttf +0 -0
- package/public/assets/roboto/Roboto-Medium.ttf +0 -0
- package/public/assets/roboto/Roboto-MediumItalic.ttf +0 -0
- package/public/assets/roboto/Roboto-Regular.ttf +0 -0
- package/public/assets/roboto/Roboto-Thin.ttf +0 -0
- package/public/assets/roboto/Roboto-ThinItalic.ttf +0 -0
- package/public/assets/roboto/roboto.css +0 -27
- package/public/assets/tabler-icons/fonts/tabler-icons.eot +0 -0
- package/public/assets/tabler-icons/fonts/tabler-icons.ttf +0 -0
- package/public/assets/tabler-icons/fonts/tabler-icons.woff +0 -0
- package/public/assets/tabler-icons/fonts/tabler-icons.woff2 +0 -0
- package/public/assets/tabler-icons/tabler-icons.css +0 -16056
- package/public/assets/tabler-icons/tabler-icons.html +0 -36226
- package/public/assets/tabler-icons/tabler-icons.min.css +0 -4
- package/public/assets/tabler-icons/tabler-icons.png +0 -0
- package/public/assets/tabler-icons/tabler-icons.scss +0 -8058
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
$icomoon-font-family: "material-symbols-subset" !default;
|
|
2
|
+
$icomoon-font-path: "fonts" !default;
|
|
3
|
+
|
|
4
|
+
$icon-add: "\e926";
|
|
5
|
+
$icon-arrow-back: "\e922";
|
|
6
|
+
$icon-arrow-down: "\e925";
|
|
7
|
+
$icon-arrow-forward: "\e923";
|
|
8
|
+
$icon-arrow-up: "\e924";
|
|
9
|
+
$icon-autorenew: "\e921";
|
|
10
|
+
$icon-brightness-medium: "\e902";
|
|
11
|
+
$icon-calendar-today: "\e920";
|
|
12
|
+
$icon-check: "\e91f";
|
|
13
|
+
$icon-checklist: "\e91e";
|
|
14
|
+
$icon-chevron-left: "\e91d";
|
|
15
|
+
$icon-chevron-right: "\e91c";
|
|
16
|
+
$icon-close: "\e91b";
|
|
17
|
+
$icon-content-copy: "\e91a";
|
|
18
|
+
$icon-danger: "\e919";
|
|
19
|
+
$icon-dark-mode: "\e900";
|
|
20
|
+
$icon-delete: "\e918";
|
|
21
|
+
$icon-download: "\e917";
|
|
22
|
+
$icon-draft: "\e916";
|
|
23
|
+
$icon-drive-folder-upload: "\e915";
|
|
24
|
+
$icon-easy-language: "\e914";
|
|
25
|
+
$icon-edit: "\e913";
|
|
26
|
+
$icon-help: "\e911";
|
|
27
|
+
$icon-home: "\e912";
|
|
28
|
+
$icon-info: "\e910";
|
|
29
|
+
$icon-keyboard-double-arrow-left: "\e90f";
|
|
30
|
+
$icon-keyboard-double-arrow-right: "\e90e";
|
|
31
|
+
$icon-light-mode: "\e901";
|
|
32
|
+
$icon-logout: "\e90d";
|
|
33
|
+
$icon-mail: "\e90c";
|
|
34
|
+
$icon-more-vert: "\e90b";
|
|
35
|
+
$icon-open-in-new: "\e90a";
|
|
36
|
+
$icon-palette: "\e92b";
|
|
37
|
+
$icon-question-mark: "\e909";
|
|
38
|
+
$icon-remove: "\e92c";
|
|
39
|
+
$icon-save: "\e92d";
|
|
40
|
+
$icon-search: "\e908";
|
|
41
|
+
$icon-settings: "\e92e";
|
|
42
|
+
$icon-sign-language: "\e907";
|
|
43
|
+
$icon-success: "\e906";
|
|
44
|
+
$icon-unfold-less: "\e92f";
|
|
45
|
+
$icon-view-timeline: "\e930";
|
|
46
|
+
$icon-visibility-off: "\e904";
|
|
47
|
+
$icon-visibility: "\e905";
|
|
48
|
+
$icon-warning: "\e903";
|
|
49
|
+
|
package/src/App.tsx
CHANGED
|
@@ -34,7 +34,7 @@ export const App: FC<Props> = ({ customThemes }) => {
|
|
|
34
34
|
setRegisteredThemes(allThemes);
|
|
35
35
|
return allThemes;
|
|
36
36
|
}, [customThemes]);
|
|
37
|
-
const theme: string = searchParams.get('theme') ??
|
|
37
|
+
const theme: string = searchParams.get('theme') ?? getTheme();
|
|
38
38
|
|
|
39
39
|
const getRouteList = (routes: MyRoutes, offset = '/'): string[] => {
|
|
40
40
|
let list: string[] = [];
|
|
@@ -51,6 +51,9 @@ export const ButtonLinkBasic: FC = () => {
|
|
|
51
51
|
<p>
|
|
52
52
|
<KolButtonLink _label="Disabled ButtonLink" _inline={false} _shortKey="s" />
|
|
53
53
|
</p>
|
|
54
|
+
<p>
|
|
55
|
+
<KolButtonLink _label="Special Variant ButtonLink" _variant="theme-link" />
|
|
56
|
+
</p>
|
|
54
57
|
</section>
|
|
55
58
|
</>
|
|
56
59
|
);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { KoliBriTableCell, KoliBriTableHeaders } from '@public-ui/components';
|
|
2
2
|
import {
|
|
3
3
|
KolAbbr,
|
|
4
4
|
KolAccordion,
|
|
@@ -32,7 +32,7 @@ import {
|
|
|
32
32
|
KolTextarea,
|
|
33
33
|
KolVersion,
|
|
34
34
|
} from '@public-ui/react-v19';
|
|
35
|
-
import type { FC } from 'react';
|
|
35
|
+
import type { ComponentProps, FC } from 'react';
|
|
36
36
|
import React from 'react';
|
|
37
37
|
|
|
38
38
|
import { useToasterService } from '../../hooks/useToasterService';
|
|
@@ -40,14 +40,14 @@ import { getRoot } from '../../shares/react-roots';
|
|
|
40
40
|
import { getTheme, getThemeName } from '../../shares/store';
|
|
41
41
|
import { TABLE_DATA, type TableDataType } from './table-data';
|
|
42
42
|
|
|
43
|
-
|
|
44
|
-
const { dummyClickEventHandler } = useToasterService();
|
|
43
|
+
type KolButtonProps = ComponentProps<typeof KolButton>;
|
|
45
44
|
|
|
45
|
+
function KolButtonWrapper(props: KolButtonProps & { style: Record<string, unknown> }) {
|
|
46
|
+
const { dummyClickEventHandler } = useToasterService();
|
|
46
47
|
const dummyEventHandler = {
|
|
47
48
|
onClick: dummyClickEventHandler,
|
|
48
49
|
};
|
|
49
|
-
|
|
50
|
-
return <KolButton {...other} _on={dummyEventHandler} />;
|
|
50
|
+
return <KolButton {...props} _on={dummyEventHandler} />;
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
const TABLE_HEADERS: KoliBriTableHeaders = {
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { FC } from 'react';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
|
|
4
|
+
import { KolInputText } from '@public-ui/react-v19';
|
|
5
|
+
import { SampleDescription } from '../SampleDescription';
|
|
6
|
+
|
|
7
|
+
const PATTERN = '^[A-Za-z]{3}-\\d{3}$';
|
|
8
|
+
|
|
9
|
+
export const InputTextPattern: FC = () => (
|
|
10
|
+
<>
|
|
11
|
+
<SampleDescription>
|
|
12
|
+
<p>This sample demonstrates HTML5 pattern validation for both native input and KolInputText components.</p>
|
|
13
|
+
</SampleDescription>
|
|
14
|
+
<form className="grid gap-4">
|
|
15
|
+
<div className="grid gap-2">
|
|
16
|
+
<label htmlFor="native-input">Native Input (Pattern: AAA-123, case-insensitive)</label>
|
|
17
|
+
<input id="native-input" name="native-input" pattern={PATTERN} type="text" />
|
|
18
|
+
</div>
|
|
19
|
+
<KolInputText
|
|
20
|
+
_label="KoliBri Input (Pattern: AAA-123, case-insensitive)"
|
|
21
|
+
_name="kolibri-input"
|
|
22
|
+
_pattern={PATTERN}
|
|
23
|
+
_hint="Note: This input is not linked to the form element. The validation inside the Shadow DOM is currently not triggered on form submit."
|
|
24
|
+
/>
|
|
25
|
+
<div>
|
|
26
|
+
<button type="submit">Submit</button>
|
|
27
|
+
</div>
|
|
28
|
+
</form>
|
|
29
|
+
</>
|
|
30
|
+
);
|
|
@@ -8,6 +8,7 @@ import { InputTextExpertSlot } from './expert-slot';
|
|
|
8
8
|
import { InputTextHideLabel } from './hide-label';
|
|
9
9
|
import { InputTextHideMsg } from './hide-msg';
|
|
10
10
|
import { InputTextMessageTypes } from './message-types';
|
|
11
|
+
import { InputTextPattern } from './pattern';
|
|
11
12
|
import { InputTextPlaceholder } from './placeholder';
|
|
12
13
|
import { InputTextReadonly } from './readonly';
|
|
13
14
|
import { InputTextSelectRange } from './select-range';
|
|
@@ -28,6 +29,7 @@ export const INPUT_TEXT_ROUTES: Routes = {
|
|
|
28
29
|
'text-formatter': InputTextFormatterDemo,
|
|
29
30
|
'smart-button': InputTextSmartButton,
|
|
30
31
|
'expert-slot': InputTextExpertSlot,
|
|
32
|
+
pattern: InputTextPattern,
|
|
31
33
|
'select-range': InputTextSelectRange,
|
|
32
34
|
background: InputTextBackground,
|
|
33
35
|
},
|
|
@@ -1,48 +1,139 @@
|
|
|
1
|
-
import { KolForm, KolInputText } from '@public-ui/react-v19';
|
|
2
|
-
import
|
|
1
|
+
import { KolForm, KolHeading, KolInputText } from '@public-ui/react-v19';
|
|
2
|
+
import * as React from 'react';
|
|
3
3
|
import { Controller, useForm } from 'react-hook-form';
|
|
4
|
-
|
|
5
4
|
import { SampleDescription } from '../SampleDescription';
|
|
6
5
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
/**
|
|
7
|
+
* IbanFormatter handles formatting and parsing of IBAN values.
|
|
8
|
+
* It groups characters in blocks of 4, separated by spaces.
|
|
9
|
+
* Example: "DE89370400440532013000" → "DE89 3704 0044 0532 0130 00"
|
|
10
|
+
*/
|
|
11
|
+
class IbanFormatter {
|
|
12
|
+
private readonly SEPARATOR = ' ';
|
|
13
|
+
private readonly CHARS_PER_GROUP = 4;
|
|
14
|
+
private readonly KEEP_ALPHANUM = /[^a-zA-Z0-9]/g;
|
|
11
15
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
_on?: KolInputTextEvents;
|
|
20
|
-
_value?: string;
|
|
21
|
-
};
|
|
16
|
+
/**
|
|
17
|
+
* Removes all non-alphanumeric characters and converts to uppercase.
|
|
18
|
+
* This is the raw value stored in the form model.
|
|
19
|
+
*/
|
|
20
|
+
parse(value: string): string {
|
|
21
|
+
return value.replace(this.KEEP_ALPHANUM, '').toUpperCase();
|
|
22
|
+
}
|
|
22
23
|
|
|
23
|
-
|
|
24
|
-
|
|
24
|
+
/**
|
|
25
|
+
* Formats the value into groups of 4 characters separated by spaces.
|
|
26
|
+
* This is the display value shown in the input field.
|
|
27
|
+
*/
|
|
28
|
+
format(value: string): string {
|
|
29
|
+
const clean = this.parse(value);
|
|
30
|
+
const regex = new RegExp(`(.{${this.CHARS_PER_GROUP}})(?!$)`, 'g');
|
|
31
|
+
return clean.replace(regex, `$1${this.SEPARATOR}`);
|
|
32
|
+
}
|
|
25
33
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
34
|
+
/**
|
|
35
|
+
* Calculates the correct cursor position after formatting changes.
|
|
36
|
+
* This ensures the cursor stays at the expected position when separators are added/removed.
|
|
37
|
+
*/
|
|
38
|
+
adjustCursorPosition(oldValue: string, newValue: string, oldCursorPos: number): number {
|
|
39
|
+
const oldText = this.format(oldValue);
|
|
40
|
+
const newText = this.format(newValue);
|
|
41
|
+
|
|
42
|
+
if (oldCursorPos >= oldText.length) return newText.length;
|
|
43
|
+
|
|
44
|
+
// Count significant characters (excluding separators) up to cursor position
|
|
45
|
+
let significantChars = 0;
|
|
46
|
+
for (let i = 0; i < oldCursorPos && i < oldText.length; i++) {
|
|
47
|
+
if (oldText[i] !== this.SEPARATOR) significantChars++;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// Find the corresponding position in the new formatted text
|
|
51
|
+
let count = 0;
|
|
52
|
+
for (let i = 0; i < newText.length; i++) {
|
|
53
|
+
if (newText[i] !== this.SEPARATOR && count++ === significantChars) return i;
|
|
54
|
+
}
|
|
55
|
+
return newText.length;
|
|
29
56
|
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* CurrencyFormatter handles formatting and parsing of currency values.
|
|
61
|
+
* It uses the browser's locale for formatting and intelligently detects
|
|
62
|
+
* decimal vs. thousand separators when parsing.
|
|
63
|
+
* Example: 1000000 → "1.000.000,00 €" (German locale)
|
|
64
|
+
*/
|
|
65
|
+
class CurrencyFormatter {
|
|
66
|
+
private readonly LOCALE = navigator.language;
|
|
67
|
+
private readonly CURRENCY_SYMBOL = ' €';
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Parses a formatted currency string back to a raw number.
|
|
71
|
+
* Intelligently detects which character is the decimal separator:
|
|
72
|
+
* - German format: "1.000.000,00" → 1000000 (dot is thousand, comma is decimal)
|
|
73
|
+
* - English format: "1,000,000.00" → 1000000 (comma is thousand, dot is decimal)
|
|
74
|
+
*/
|
|
75
|
+
parse(value: string): number {
|
|
76
|
+
// Remove currency symbols and keep only digits, dots, and commas
|
|
77
|
+
const sanitized = value.replace(/[^\d.,]/g, '');
|
|
78
|
+
|
|
79
|
+
// Determine which character is the decimal separator
|
|
80
|
+
// The rightmost occurrence is typically the decimal separator
|
|
81
|
+
const lastCommaIndex = sanitized.lastIndexOf(',');
|
|
82
|
+
const lastDotIndex = sanitized.lastIndexOf('.');
|
|
30
83
|
|
|
31
|
-
|
|
32
|
-
|
|
84
|
+
let normalizedValue: string;
|
|
85
|
+
|
|
86
|
+
if (lastCommaIndex > lastDotIndex) {
|
|
87
|
+
// Comma is decimal separator (e.g., German: 1.000.000,00)
|
|
88
|
+
// Remove all dots (thousand separators) and replace comma with dot for parseFloat
|
|
89
|
+
normalizedValue = sanitized.replace(/\./g, '').replace(',', '.');
|
|
90
|
+
} else if (lastDotIndex > lastCommaIndex) {
|
|
91
|
+
// Dot is decimal separator (e.g., English: 1,000,000.00)
|
|
92
|
+
// Remove all commas (thousand separators)
|
|
93
|
+
normalizedValue = sanitized.replace(/,/g, '');
|
|
94
|
+
} else {
|
|
95
|
+
// No decimal separator present, remove all dots and commas
|
|
96
|
+
normalizedValue = sanitized.replace(/[.,]/g, '');
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
return parseFloat(normalizedValue) || 0;
|
|
33
100
|
}
|
|
34
101
|
|
|
35
|
-
|
|
36
|
-
|
|
102
|
+
/**
|
|
103
|
+
* Formats a number as currency according to the browser's locale.
|
|
104
|
+
* Always shows 2 decimal places and appends the currency symbol.
|
|
105
|
+
*/
|
|
106
|
+
format(value: number | string): string {
|
|
107
|
+
const number = typeof value === 'string' ? this.parse(value) : value;
|
|
108
|
+
const formatted = new Intl.NumberFormat(this.LOCALE, {
|
|
109
|
+
minimumFractionDigits: 2,
|
|
110
|
+
maximumFractionDigits: 2,
|
|
111
|
+
}).format(number);
|
|
112
|
+
return formatted + this.CURRENCY_SYMBOL;
|
|
37
113
|
}
|
|
38
114
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
115
|
+
/**
|
|
116
|
+
* Calculates the correct cursor position after formatting changes.
|
|
117
|
+
* This ensures the cursor stays aligned with digits when thousand separators are added/removed.
|
|
118
|
+
*/
|
|
119
|
+
adjustCursorPosition(oldValue: string, newValue: string, oldCursorPos: number): number {
|
|
120
|
+
const oldText = this.format(oldValue);
|
|
121
|
+
const newText = this.format(newValue);
|
|
122
|
+
|
|
123
|
+
if (oldCursorPos >= oldText.length) return newText.length;
|
|
124
|
+
|
|
125
|
+
// Count digits up to cursor position (ignoring separators and currency symbols)
|
|
126
|
+
let digitCount = 0;
|
|
127
|
+
for (let i = 0; i < oldCursorPos && i < oldText.length; i++) {
|
|
128
|
+
if (/\d/.test(oldText[i])) digitCount++;
|
|
44
129
|
}
|
|
45
|
-
|
|
130
|
+
|
|
131
|
+
// Find the corresponding position in the new formatted text
|
|
132
|
+
let count = 0;
|
|
133
|
+
for (let i = 0; i < newText.length; i++) {
|
|
134
|
+
if (/\d/.test(newText[i]) && count++ === digitCount) return i;
|
|
135
|
+
}
|
|
136
|
+
return newText.length;
|
|
46
137
|
}
|
|
47
138
|
}
|
|
48
139
|
|
|
@@ -50,129 +141,139 @@ type IbanExampleFormValues = {
|
|
|
50
141
|
iban: string;
|
|
51
142
|
};
|
|
52
143
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
_on,
|
|
57
|
-
_value,
|
|
58
|
-
...props
|
|
59
|
-
}: KolInputTextProps & {
|
|
60
|
-
formatter: IbanFormatter;
|
|
61
|
-
selectionStartRef: React.MutableRefObject<number | null>;
|
|
62
|
-
}) {
|
|
63
|
-
const inputRef = useRef<HTMLKolInputTextElement | null>(null);
|
|
64
|
-
const normalizedOn = _on && typeof _on === 'object' ? (_on as KolInputTextEvents) : undefined;
|
|
65
|
-
const sanitizedSelectionRef = selectionStartRef as React.MutableRefObject<number | null>;
|
|
66
|
-
|
|
67
|
-
const element = inputRef.current;
|
|
68
|
-
const selectionStart = sanitizedSelectionRef.current;
|
|
69
|
-
const sanitizedFormatter: IbanFormatter = formatter;
|
|
70
|
-
|
|
71
|
-
return (
|
|
72
|
-
<KolInputText
|
|
73
|
-
{...props}
|
|
74
|
-
ref={inputRef}
|
|
75
|
-
_value={sanitizedFormatter.format(_value ?? '', element, selectionStart)}
|
|
76
|
-
_on={{
|
|
77
|
-
...normalizedOn,
|
|
78
|
-
onInput: (event: Event, value: unknown) => {
|
|
79
|
-
const selectionStartGetter = (inputRef.current as InputTextElementSelection | null)?.selectionStart;
|
|
80
|
-
selectionStartGetter?.().then((start) => {
|
|
81
|
-
sanitizedSelectionRef.current = start ?? null;
|
|
82
|
-
});
|
|
83
|
-
const parsedValue = sanitizedFormatter.parse(typeof value === 'string' ? value : '');
|
|
84
|
-
normalizedOn?.onInput?.(event, parsedValue);
|
|
85
|
-
},
|
|
86
|
-
}}
|
|
87
|
-
/>
|
|
88
|
-
);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
function KolFormattedIbanController(props: any) {
|
|
92
|
-
const { name, control, rules, defaultValue, shouldUnregister, disabled, formatter, selectionStartRef, ...componentProps } = props;
|
|
93
|
-
return (
|
|
94
|
-
<Controller
|
|
95
|
-
name={name}
|
|
96
|
-
control={control}
|
|
97
|
-
rules={rules}
|
|
98
|
-
defaultValue={defaultValue}
|
|
99
|
-
shouldUnregister={shouldUnregister}
|
|
100
|
-
disabled={disabled}
|
|
101
|
-
render={({ field, fieldState }) => {
|
|
102
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
103
|
-
const userHandlers = componentProps._on as KolInputTextEvents | undefined;
|
|
104
|
-
return (
|
|
105
|
-
<FormattedKolInputText
|
|
106
|
-
{...(componentProps as any)}
|
|
107
|
-
formatter={formatter}
|
|
108
|
-
selectionStartRef={selectionStartRef}
|
|
109
|
-
_value={field.value}
|
|
110
|
-
_touched={fieldState.isTouched}
|
|
111
|
-
_msg={
|
|
112
|
-
fieldState.error
|
|
113
|
-
? {
|
|
114
|
-
_type: 'error' as const,
|
|
115
|
-
_description: fieldState.error.message || String(fieldState.error),
|
|
116
|
-
}
|
|
117
|
-
: undefined
|
|
118
|
-
}
|
|
119
|
-
_on={{
|
|
120
|
-
onInput: (event: Event, value: unknown) => {
|
|
121
|
-
field.onChange(value);
|
|
122
|
-
userHandlers?.onInput?.(event, value);
|
|
123
|
-
},
|
|
124
|
-
onBlur: () => field.onBlur(),
|
|
125
|
-
}}
|
|
126
|
-
/>
|
|
127
|
-
);
|
|
128
|
-
}}
|
|
129
|
-
/>
|
|
130
|
-
);
|
|
131
|
-
}
|
|
144
|
+
type CurrencyExampleFormValues = {
|
|
145
|
+
currency: number;
|
|
146
|
+
};
|
|
132
147
|
|
|
148
|
+
/**
|
|
149
|
+
* Demo component showcasing two different text formatting strategies for input fields.
|
|
150
|
+
*
|
|
151
|
+
* Strategy 1 - Live Formatting (IBAN):
|
|
152
|
+
* - Formats text while typing
|
|
153
|
+
* - Maintains intelligent cursor positioning
|
|
154
|
+
* - Best for: Fixed-format values where users expect immediate visual feedback
|
|
155
|
+
*
|
|
156
|
+
* Strategy 2 - On-Blur Formatting (Currency):
|
|
157
|
+
* - Formats only when field loses focus (onBlur event)
|
|
158
|
+
* - Allows free typing without formatting interruptions
|
|
159
|
+
* - Best for: Numeric values where users might type in various formats
|
|
160
|
+
*/
|
|
133
161
|
export function InputTextFormatterDemo() {
|
|
134
|
-
const
|
|
135
|
-
|
|
136
|
-
const textInput1SelectionStart = useRef<number | null>(null);
|
|
137
|
-
|
|
138
|
-
const initialIbanExampleValues: IbanExampleFormValues = {
|
|
139
|
-
iban: 'DE89370400440532013000',
|
|
140
|
-
};
|
|
162
|
+
const ibanFormatter = new IbanFormatter();
|
|
163
|
+
const currencyFormatter = new CurrencyFormatter();
|
|
141
164
|
|
|
142
165
|
const ibanForm = useForm<IbanExampleFormValues>({
|
|
143
|
-
defaultValues:
|
|
144
|
-
mode: 'onTouched',
|
|
166
|
+
defaultValues: { iban: 'DE89370400440532013000' },
|
|
145
167
|
});
|
|
168
|
+
const currencyForm = useForm<CurrencyExampleFormValues>({
|
|
169
|
+
defaultValues: { currency: 1000000 },
|
|
170
|
+
});
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Handles input events for the IBAN field with live formatting.
|
|
174
|
+
* Updates the model value and adjusts cursor position to maintain UX during formatting.
|
|
175
|
+
*/
|
|
176
|
+
const handleIbanInput = (event: Event) => {
|
|
177
|
+
const input = event.target as HTMLInputElement;
|
|
178
|
+
const newValue = ibanFormatter.parse(input.value);
|
|
179
|
+
const newCursorPos = ibanFormatter.adjustCursorPosition(ibanForm.getValues('iban'), newValue, input.selectionStart || 0);
|
|
146
180
|
|
|
147
|
-
|
|
181
|
+
// Update the form model with the parsed (unformatted) value
|
|
182
|
+
ibanForm.setValue('iban', newValue);
|
|
148
183
|
|
|
149
|
-
|
|
150
|
-
|
|
184
|
+
// Use double requestAnimationFrame to ensure cursor position is set after React re-render
|
|
185
|
+
requestAnimationFrame(() => {
|
|
186
|
+
requestAnimationFrame(() => {
|
|
187
|
+
input.setSelectionRange(newCursorPos, newCursorPos);
|
|
188
|
+
});
|
|
189
|
+
});
|
|
151
190
|
};
|
|
152
191
|
|
|
153
192
|
return (
|
|
154
193
|
<>
|
|
155
194
|
<SampleDescription>
|
|
195
|
+
<p>This example demonstrates two different formatting strategies for input fields:</p>
|
|
196
|
+
<ul>
|
|
197
|
+
<li>
|
|
198
|
+
<strong>Live Formatting (IBAN):</strong> Formatting happens while typing. The value is immediately formatted and displayed with intelligent cursor
|
|
199
|
+
positioning. Best for fixed-format values where users expect visual feedback during input.
|
|
200
|
+
</li>
|
|
201
|
+
<li>
|
|
202
|
+
<strong>On-Blur Formatting (Currency):</strong> Formatting happens when leaving the field (onBlur event). Allows free typing without interruption.
|
|
203
|
+
Best for numeric values where users might input in various formats.
|
|
204
|
+
</li>
|
|
205
|
+
</ul>
|
|
156
206
|
<p>
|
|
157
|
-
|
|
158
|
-
|
|
207
|
+
<strong>Key Concept:</strong> The form model always stores the <em>unformatted</em> value (raw IBAN string, numeric currency value), while the input
|
|
208
|
+
field displays the <em>formatted</em> value for better readability.
|
|
159
209
|
</p>
|
|
160
210
|
</SampleDescription>
|
|
161
|
-
<section className="w-full">
|
|
162
|
-
<div>
|
|
163
|
-
<
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
211
|
+
<section className="w-full flex flex-col">
|
|
212
|
+
<div className="p-2">
|
|
213
|
+
<KolHeading _label="Live Formatting - IBAN" _level={2} />
|
|
214
|
+
<p className="text-sm mb-2">Formatting occurs during input with intelligent cursor control</p>
|
|
215
|
+
<KolForm>
|
|
216
|
+
<form onSubmit={ibanForm.handleSubmit(async () => {})}>
|
|
217
|
+
<Controller
|
|
218
|
+
name="iban"
|
|
219
|
+
control={ibanForm.control}
|
|
220
|
+
render={({ field }) => (
|
|
221
|
+
<div className="block mt-2">
|
|
222
|
+
<KolInputText
|
|
223
|
+
id="field-iban"
|
|
224
|
+
_label="IBAN"
|
|
225
|
+
_value={ibanFormatter.format(field.value ?? '')}
|
|
226
|
+
_required
|
|
227
|
+
_on={{
|
|
228
|
+
onInput: handleIbanInput,
|
|
229
|
+
onBlur: field.onBlur,
|
|
230
|
+
}}
|
|
231
|
+
/>
|
|
232
|
+
</div>
|
|
233
|
+
)}
|
|
234
|
+
/>
|
|
235
|
+
</form>
|
|
174
236
|
</KolForm>
|
|
175
|
-
|
|
237
|
+
</div>
|
|
238
|
+
<div className="p-2">
|
|
239
|
+
<KolHeading _label="Model (Unformatted Value)" _level={2} />
|
|
240
|
+
<pre className="text-base">{JSON.stringify(ibanForm.watch(), null, 2)}</pre>
|
|
241
|
+
</div>
|
|
242
|
+
</section>
|
|
243
|
+
|
|
244
|
+
<section className="w-full flex flex-col">
|
|
245
|
+
<div className="p-2">
|
|
246
|
+
<KolHeading _label="On-Blur Formatting - Currency" _level={2} />
|
|
247
|
+
<p className="text-sm mb-2">Formatting occurs when leaving the field (onBlur) for uninterrupted input</p>
|
|
248
|
+
<KolForm>
|
|
249
|
+
<form onSubmit={currencyForm.handleSubmit(async () => {})}>
|
|
250
|
+
<Controller
|
|
251
|
+
name="currency"
|
|
252
|
+
control={currencyForm.control}
|
|
253
|
+
render={({ field }) => (
|
|
254
|
+
<div className="block mt-2">
|
|
255
|
+
<KolInputText
|
|
256
|
+
id="field-currency"
|
|
257
|
+
_label="Currency"
|
|
258
|
+
_value={currencyFormatter.format(field.value ?? 0)}
|
|
259
|
+
_on={{
|
|
260
|
+
onBlur: (event: Event) => {
|
|
261
|
+
const input = event.target as HTMLInputElement;
|
|
262
|
+
const parsedValue = currencyFormatter.parse(input.value);
|
|
263
|
+
field.onChange(parsedValue);
|
|
264
|
+
field.onBlur();
|
|
265
|
+
},
|
|
266
|
+
}}
|
|
267
|
+
/>
|
|
268
|
+
</div>
|
|
269
|
+
)}
|
|
270
|
+
/>
|
|
271
|
+
</form>
|
|
272
|
+
</KolForm>
|
|
273
|
+
</div>
|
|
274
|
+
<div className="p-2">
|
|
275
|
+
<KolHeading _label="Model (Numeric Value)" _level={2} />
|
|
276
|
+
<pre className="text-base">{JSON.stringify(currencyForm.watch(), null, 2)}</pre>
|
|
176
277
|
</div>
|
|
177
278
|
</section>
|
|
178
279
|
</>
|
|
@@ -31,6 +31,7 @@ export const LinkBasic: FC = () => (
|
|
|
31
31
|
After that, there is a link that is rendered as a block element. <KolLink class="d-block" _href="#/back-page" _label="Simple Link" />, therefore, I span
|
|
32
32
|
the entire width of the parent element, causing a line break.
|
|
33
33
|
</p>
|
|
34
|
+
<KolLink _href="#/back-page" _inline={false} _label="Special Variant Link" _variant="theme-link" />
|
|
34
35
|
</div>
|
|
35
36
|
</>
|
|
36
37
|
);
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ButtonVariantPropType, KoliBriTableCell, KoliBriTableHeaderCell } from '@public-ui/components';
|
|
2
2
|
import { createReactRenderElement, KolButton, KolButtonLink, KolLink, KolLinkButton, KolTableStateless } from '@public-ui/react-v19';
|
|
3
|
-
import type { FC } from 'react';
|
|
3
|
+
import type { ComponentProps, FC } from 'react';
|
|
4
4
|
import React from 'react';
|
|
5
5
|
import { useToasterService } from '../../hooks/useToasterService';
|
|
6
6
|
import { getRoot } from '../../shares/react-roots';
|
|
7
7
|
import { SampleDescription } from '../SampleDescription';
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
const { dummyClickEventHandler } = useToasterService();
|
|
9
|
+
type KolButtonProps = ComponentProps<typeof KolButton>;
|
|
11
10
|
|
|
11
|
+
function KolButtonWrapper(props: KolButtonProps) {
|
|
12
|
+
const { dummyClickEventHandler } = useToasterService();
|
|
12
13
|
const dummyEventHandler = {
|
|
13
14
|
onClick: dummyClickEventHandler,
|
|
14
15
|
};
|
|
15
|
-
|
|
16
|
-
return <KolButton {...other} _on={dummyEventHandler} />;
|
|
16
|
+
return <KolButton {...props} _on={dummyEventHandler} />;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
const getButtonHeaderCell = (variant: ButtonVariantPropType): KoliBriTableHeaderCell => {
|
package/src/react.main.tsx
CHANGED
|
@@ -5,7 +5,7 @@ import { HashRouter as Router } from 'react-router-dom';
|
|
|
5
5
|
|
|
6
6
|
import { bootstrap, KoliBriDevHelper } from '@public-ui/components';
|
|
7
7
|
import { defineCustomElements } from '@public-ui/components/loader';
|
|
8
|
-
import { DEFAULT, ECL_EC, ECL_EU } from '@public-ui/themes';
|
|
8
|
+
import { DEFAULT, ECL_EC, ECL_EU, KERN_V2 } from '@public-ui/themes';
|
|
9
9
|
|
|
10
10
|
import { App } from './App';
|
|
11
11
|
|
|
@@ -40,7 +40,7 @@ const getThemes = async () => {
|
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
/* List of regular sample app themes */
|
|
43
|
-
return [DEFAULT, ECL_EC, ECL_EU] as Theme[];
|
|
43
|
+
return [DEFAULT, ECL_EC, ECL_EU, KERN_V2] as Theme[];
|
|
44
44
|
};
|
|
45
45
|
|
|
46
46
|
void (async () => {
|