@banzamel/mineralui 2.4.3 → 2.5.2
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/README.md +1 -1
- package/dist/MAvatar-CvQuiGvT.cjs +2 -0
- package/dist/MAvatar-CvQuiGvT.cjs.map +1 -0
- package/dist/MAvatar-EkOBrEtS.js +73 -0
- package/dist/MAvatar-EkOBrEtS.js.map +1 -0
- package/dist/MButton-BxEky3xQ.cjs +2 -0
- package/dist/MButton-BxEky3xQ.cjs.map +1 -0
- package/dist/MButton-KELyyBw1.js +123 -0
- package/dist/MButton-KELyyBw1.js.map +1 -0
- package/dist/{MButtonGroup-BEJxXZ8u.js → MButtonGroup-DDnn8Wfy.js} +3 -3
- package/dist/{MButtonGroup-BEJxXZ8u.js.map → MButtonGroup-DDnn8Wfy.js.map} +1 -1
- package/dist/{MButtonGroup-DO1Tq3Za.cjs → MButtonGroup-Dz8Fm-oA.cjs} +2 -2
- package/dist/{MButtonGroup-DO1Tq3Za.cjs.map → MButtonGroup-Dz8Fm-oA.cjs.map} +1 -1
- package/dist/{MCard-P8OoswWM.cjs → MCard-Bqm4BjK_.cjs} +2 -2
- package/dist/MCard-Bqm4BjK_.cjs.map +1 -0
- package/dist/{MCard-BqSkGAgf.js → MCard-CqZYGaS2.js} +4 -4
- package/dist/MCard-CqZYGaS2.js.map +1 -0
- package/dist/MCheckbox-CaWgyUn5.js +72 -0
- package/dist/MCheckbox-CaWgyUn5.js.map +1 -0
- package/dist/MCheckbox-DpKJpnFF.cjs +2 -0
- package/dist/MCheckbox-DpKJpnFF.cjs.map +1 -0
- package/dist/{MConflictIllustration-znC7ijmP.js → MConflictIllustration-dwZS44ye.js} +1517 -1515
- package/dist/MConflictIllustration-dwZS44ye.js.map +1 -0
- package/dist/MConflictIllustration-vfHs-jad.cjs +2 -0
- package/dist/MConflictIllustration-vfHs-jad.cjs.map +1 -0
- package/dist/MDetailList-C3othNs3.js +127 -0
- package/dist/MDetailList-C3othNs3.js.map +1 -0
- package/dist/MDetailList-DkDHLdJ8.cjs +2 -0
- package/dist/MDetailList-DkDHLdJ8.cjs.map +1 -0
- package/dist/MDropdownMenu-C4-r7UZM.cjs +2 -0
- package/dist/MDropdownMenu-C4-r7UZM.cjs.map +1 -0
- package/dist/MDropdownMenu-Dvg9UsHB.js +219 -0
- package/dist/MDropdownMenu-Dvg9UsHB.js.map +1 -0
- package/dist/MGrid-CQqT8nHi.js +271 -0
- package/dist/MGrid-CQqT8nHi.js.map +1 -0
- package/dist/MGrid-tBsqShLG.cjs +2 -0
- package/dist/MGrid-tBsqShLG.cjs.map +1 -0
- package/dist/MHeading-DQSQ8c7L.js +21 -0
- package/dist/MHeading-DQSQ8c7L.js.map +1 -0
- package/dist/MHeading-DiGYs1FJ.cjs +2 -0
- package/dist/MHeading-DiGYs1FJ.cjs.map +1 -0
- package/dist/MInput-BeEGufZG.cjs +2 -0
- package/dist/MInput-BeEGufZG.cjs.map +1 -0
- package/dist/MInput-QnQV9L8U.js +190 -0
- package/dist/MInput-QnQV9L8U.js.map +1 -0
- package/dist/MInputCVC-CCNRAqHw.cjs +2 -0
- package/dist/MInputCVC-CCNRAqHw.cjs.map +1 -0
- package/dist/MInputCVC-IXIYZwex.js +410 -0
- package/dist/MInputCVC-IXIYZwex.js.map +1 -0
- package/dist/MInputSearch-BSIc6m2P.cjs +2 -0
- package/dist/MInputSearch-BSIc6m2P.cjs.map +1 -0
- package/dist/MInputSearch-CNuTAbYs.js +44 -0
- package/dist/MInputSearch-CNuTAbYs.js.map +1 -0
- package/dist/{MKbd-BR1GX5oK.cjs → MKbd-CnW3NUIu.cjs} +2 -2
- package/dist/{MKbd-BR1GX5oK.cjs.map → MKbd-CnW3NUIu.cjs.map} +1 -1
- package/dist/{MKbd-COb7oh_k.js → MKbd-DjfGyajR.js} +2 -2
- package/dist/{MKbd-COb7oh_k.js.map → MKbd-DjfGyajR.js.map} +1 -1
- package/dist/MLink-C6uwA6db.cjs +2 -0
- package/dist/MLink-C6uwA6db.cjs.map +1 -0
- package/dist/MLink-ixg0xFFI.js +31 -0
- package/dist/MLink-ixg0xFFI.js.map +1 -0
- package/dist/MLoader-CViA3zBo.js +44 -0
- package/dist/MLoader-CViA3zBo.js.map +1 -0
- package/dist/MLoader-DUOoOoNE.cjs +2 -0
- package/dist/MLoader-DUOoOoNE.cjs.map +1 -0
- package/dist/MPagination-BTGenxWW.js +122 -0
- package/dist/MPagination-BTGenxWW.js.map +1 -0
- package/dist/MPagination-DitmdtCc.cjs +2 -0
- package/dist/MPagination-DitmdtCc.cjs.map +1 -0
- package/dist/MPopover-CBDbUOW6.js +183 -0
- package/dist/MPopover-CBDbUOW6.js.map +1 -0
- package/dist/MPopover-ZeoU9hb5.cjs +2 -0
- package/dist/MPopover-ZeoU9hb5.cjs.map +1 -0
- package/dist/{MSimpleGrid-Ui8cI0ho.js → MSimpleGrid-C_QvLmck.js} +3 -3
- package/dist/MSimpleGrid-C_QvLmck.js.map +1 -0
- package/dist/MSimpleGrid-wgvjnxwM.cjs +2 -0
- package/dist/MSimpleGrid-wgvjnxwM.cjs.map +1 -0
- package/dist/{MSkeleton-Dhu-loDO.js → MSkeleton-BpcpBBJq.js} +12 -10
- package/dist/MSkeleton-BpcpBBJq.js.map +1 -0
- package/dist/MSkeleton-DuAN8Vcv.cjs +2 -0
- package/dist/MSkeleton-DuAN8Vcv.cjs.map +1 -0
- package/dist/MSlider-CLASUc2H.js +134 -0
- package/dist/MSlider-CLASUc2H.js.map +1 -0
- package/dist/MSlider-hONQBulE.cjs +2 -0
- package/dist/MSlider-hONQBulE.cjs.map +1 -0
- package/dist/MStack-BwAFeGGg.js +39 -0
- package/dist/MStack-BwAFeGGg.js.map +1 -0
- package/dist/MStack-CGII4A-q.cjs +2 -0
- package/dist/MStack-CGII4A-q.cjs.map +1 -0
- package/dist/MSubText-BeZk-fhz.js +17 -0
- package/dist/MSubText-BeZk-fhz.js.map +1 -0
- package/dist/MSubText-Dl1PfToZ.cjs +2 -0
- package/dist/MSubText-Dl1PfToZ.cjs.map +1 -0
- package/dist/MSurface-B_QnRLr5.js +74 -0
- package/dist/MSurface-B_QnRLr5.js.map +1 -0
- package/dist/MSurface-BrFo-JMJ.cjs +2 -0
- package/dist/MSurface-BrFo-JMJ.cjs.map +1 -0
- package/dist/MTag-BZrKN_DS.js +41 -0
- package/dist/MTag-BZrKN_DS.js.map +1 -0
- package/dist/MTag-DCE1vRJM.cjs +2 -0
- package/dist/MTag-DCE1vRJM.cjs.map +1 -0
- package/dist/MText-BUWQPoBM.js +45 -0
- package/dist/MText-BUWQPoBM.js.map +1 -0
- package/dist/MText-nsvLFsSv.cjs +2 -0
- package/dist/MText-nsvLFsSv.cjs.map +1 -0
- package/dist/MTooltip-BRSPJ3RY.js +100 -0
- package/dist/MTooltip-BRSPJ3RY.js.map +1 -0
- package/dist/MTooltip-Cj2Fxmzc.cjs +2 -0
- package/dist/MTooltip-Cj2Fxmzc.cjs.map +1 -0
- package/dist/MTreeView-BWCTlsU-.cjs +2 -0
- package/dist/MTreeView-BWCTlsU-.cjs.map +1 -0
- package/dist/MTreeView-CWcMwE-Z.js +554 -0
- package/dist/MTreeView-CWcMwE-Z.js.map +1 -0
- package/dist/calendar-2yhnCkGW.cjs +2 -0
- package/dist/calendar-2yhnCkGW.cjs.map +1 -0
- package/dist/calendar-DcNYDTVb.js +195 -0
- package/dist/calendar-DcNYDTVb.js.map +1 -0
- package/dist/calendar.cjs +1 -1
- package/dist/calendar.js +1 -1
- package/dist/{calendarDates-M_Dawj0j.js → calendarDates-Bpw_G_QR.js} +30 -19
- package/dist/calendarDates-Bpw_G_QR.js.map +1 -0
- package/dist/calendarDates-Cg0nm69Y.cjs +2 -0
- package/dist/calendarDates-Cg0nm69Y.cjs.map +1 -0
- package/dist/cards-Bp886TRb.cjs +2 -0
- package/dist/cards-Bp886TRb.cjs.map +1 -0
- package/dist/cards-BvER6Gx0.js +1277 -0
- package/dist/cards-BvER6Gx0.js.map +1 -0
- package/dist/cards.cjs +1 -1
- package/dist/cards.js +2 -2
- package/dist/{cn-YER3QsV1.js → cn-CUSXNnjF.js} +1 -1
- package/dist/{cn-YER3QsV1.js.map → cn-CUSXNnjF.js.map} +1 -1
- package/dist/{cn-CU5TNITO.cjs → cn-DYFxgzi2.cjs} +1 -1
- package/dist/{cn-CU5TNITO.cjs.map → cn-DYFxgzi2.cjs.map} +1 -1
- package/dist/components/cards/MCardDaySchedule/MCardDaySchedule.d.ts +1 -1
- package/dist/components/cards/MCardDocumentTree/MCardDocumentTree.d.ts +1 -1
- package/dist/components/cards/MCardGrid/MCardGrid.d.ts +1 -1
- package/dist/components/cards/MCardPayment/MCardPayment.d.ts +1 -1
- package/dist/components/cards/MCardPayment/MCardPayment.types.d.ts +4 -0
- package/dist/components/cards/MCardPaymentMethod/MCardPaymentMethod.d.ts +1 -1
- package/dist/components/cards/MStatCard/MStatCard.d.ts +1 -1
- package/dist/components/controls/MCheckbox/MCheckbox.types.d.ts +6 -0
- package/dist/components/controls/MLoadMore/MLoadMore.d.ts +1 -1
- package/dist/components/controls/MSlider/MSlider.d.ts +1 -1
- package/dist/components/controls/MSlider/MSlider.types.d.ts +5 -0
- package/dist/components/data/MTreeView/MTreeView.d.ts +1 -1
- package/dist/components/data/MTreeView/MTreeView.types.d.ts +6 -0
- package/dist/components/data/MWeekGrid/MWeekGrid.d.ts +1 -1
- package/dist/components/data/MWeekGrid/MWeekGrid.types.d.ts +9 -3
- package/dist/components/display/MCodeBlock/MCodeBlock.d.ts +1 -1
- package/dist/components/dropdowns/MAutocomplete/MAutocomplete.d.ts +1 -1
- package/dist/components/dropdowns/MAutocomplete/MAutocomplete.types.d.ts +8 -2
- package/dist/components/dropdowns/MSelect/MSelect.d.ts +1 -1
- package/dist/components/dropdowns/shared/TimeColumnListbox.d.ts +20 -0
- package/dist/components/feedback/MAlert/MAlert.d.ts +1 -1
- package/dist/components/feedback/MBadge/MBadge.d.ts +1 -1
- package/dist/components/feedback/MBanner/MBanner.d.ts +1 -1
- package/dist/components/feedback/MLoader/MLoader.d.ts +1 -1
- package/dist/components/feedback/MSpinner/MSpinner.d.ts +1 -1
- package/dist/components/feedback/MTag/MTag.d.ts +1 -1
- package/dist/components/inputs/MInput/MInput.types.d.ts +6 -1
- package/dist/components/inputs/MInput/useFormatCaret.d.ts +8 -0
- package/dist/components/layout/MCanvasGrid/MCanvasGrid.types.d.ts +5 -0
- package/dist/components/layout/MContainer/MContainer.d.ts +1 -1
- package/dist/components/layout/MDivider/MDivider.d.ts +1 -1
- package/dist/components/layout/MFooter/MFooter.d.ts +1 -1
- package/dist/components/layout/MHeader/MHeader.d.ts +1 -1
- package/dist/components/layout/MInline/MInline.d.ts +1 -1
- package/dist/components/layout/MNavbar/MNavbar.d.ts +1 -1
- package/dist/components/layout/MNavbar/MNavbar.types.d.ts +2 -0
- package/dist/components/layout/MSection/MSection.d.ts +1 -1
- package/dist/components/layout/MStack/MStack.d.ts +1 -1
- package/dist/components/layout/MStickyPanel/MStickyPanel.types.d.ts +4 -0
- package/dist/components/layout/MSurface/MSurface.d.ts +1 -1
- package/dist/components/media/MAvatar/MAvatar.d.ts +1 -1
- package/dist/components/media/MAvatar/MAvatar.types.d.ts +10 -0
- package/dist/components/media/MCarousel/MCarousel.d.ts +1 -1
- package/dist/components/media/MImage/MImage.d.ts +1 -1
- package/dist/components/media/carouselA11y.d.ts +9 -0
- package/dist/components/overlays/MCommandPalette/MCommandPalette.d.ts +1 -1
- package/dist/components/overlays/MDropdownMenu/MDropdownMenu.d.ts +4 -2
- package/dist/components/overlays/MDropdownMenu/MDropdownMenu.types.d.ts +3 -1
- package/dist/components/overlays/MPopconfirm/MPopconfirm.d.ts +1 -1
- package/dist/components/overlays/scrollLock.d.ts +14 -0
- package/dist/components/primitives/MPopover/MPopover.d.ts +1 -1
- package/dist/components/primitives/MPopover/MPopover.types.d.ts +32 -1
- package/dist/components/primitives/MPopover/popoverStack.d.ts +6 -0
- package/dist/components/typography/MHeading/MHeading.d.ts +2 -3
- package/dist/components/typography/MSubText/MSubText.d.ts +1 -1
- package/dist/components/typography/MText/MText.d.ts +1 -1
- package/dist/controls-B4Dxaab4.js +491 -0
- package/dist/controls-B4Dxaab4.js.map +1 -0
- package/dist/controls-CyXEIOXD.cjs +2 -0
- package/dist/controls-CyXEIOXD.cjs.map +1 -0
- package/dist/controls.cjs +1 -1
- package/dist/controls.js +5 -5
- package/dist/creditCards-Bo2mrc53.cjs +2 -0
- package/dist/creditCards-Bo2mrc53.cjs.map +1 -0
- package/dist/{creditCards-D_iWmtG6.js → creditCards-DmDOyvcw.js} +20 -31
- package/dist/creditCards-DmDOyvcw.js.map +1 -0
- package/dist/data-BM3KG8oN.cjs +2 -0
- package/dist/data-BM3KG8oN.cjs.map +1 -0
- package/dist/data-qnR8OBmj.js +808 -0
- package/dist/data-qnR8OBmj.js.map +1 -0
- package/dist/data.cjs +1 -1
- package/dist/data.js +2 -2
- package/dist/{dateUtils-CUY6CRCf.js → dateUtils-B-ToNZq_.js} +5 -6
- package/dist/dateUtils-B-ToNZq_.js.map +1 -0
- package/dist/dateUtils-z2L7ZaxA.cjs +2 -0
- package/dist/dateUtils-z2L7ZaxA.cjs.map +1 -0
- package/dist/display-BLMOBofj.cjs +3 -0
- package/dist/display-BLMOBofj.cjs.map +1 -0
- package/dist/display-Dlb79lkA.js +968 -0
- package/dist/display-Dlb79lkA.js.map +1 -0
- package/dist/display.cjs +1 -1
- package/dist/display.js +2 -2
- package/dist/dropdowns-2_7VMEDo.js +2009 -0
- package/dist/dropdowns-2_7VMEDo.js.map +1 -0
- package/dist/dropdowns-DN7j8J-V.cjs +2 -0
- package/dist/dropdowns-DN7j8J-V.cjs.map +1 -0
- package/dist/dropdowns.cjs +1 -1
- package/dist/dropdowns.js +1 -1
- package/dist/feedback-CECayytY.js +335 -0
- package/dist/feedback-CECayytY.js.map +1 -0
- package/dist/feedback-paV8Ls-h.cjs +2 -0
- package/dist/feedback-paV8Ls-h.cjs.map +1 -0
- package/dist/feedback.cjs +1 -1
- package/dist/feedback.js +5 -5
- package/dist/form-Br56h5EF.cjs +2 -0
- package/dist/form-Br56h5EF.cjs.map +1 -0
- package/dist/form-CJmMZgsH.js +165 -0
- package/dist/form-CJmMZgsH.js.map +1 -0
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{formatters-CNjg_h7-.cjs → formatters-CauWlsnM.cjs} +1 -1
- package/dist/{formatters-CNjg_h7-.cjs.map → formatters-CauWlsnM.cjs.map} +1 -1
- package/dist/{formatters-T0vvjMtB.js → formatters-Doqdu_w1.js} +1 -1
- package/dist/{formatters-T0vvjMtB.js.map → formatters-Doqdu_w1.js.map} +1 -1
- package/dist/frameworkTexts-CaqdiKHW.cjs +2 -0
- package/dist/frameworkTexts-CaqdiKHW.cjs.map +1 -0
- package/dist/frameworkTexts-o43FqY1A.js +505 -0
- package/dist/frameworkTexts-o43FqY1A.js.map +1 -0
- package/dist/i18n/MI18nProvider.d.ts +6 -1
- package/dist/i18n/frameworkTexts.d.ts +511 -0
- package/dist/i18n/index.d.ts +1 -0
- package/dist/i18n.cjs +1 -1
- package/dist/i18n.js +2 -2
- package/dist/icons-Bp8bB9TP.cjs +2 -0
- package/dist/icons-Bp8bB9TP.cjs.map +1 -0
- package/dist/{icons-CBMl-kOM.js → icons-IqEBmGh3.js} +1223 -1220
- package/dist/icons-IqEBmGh3.js.map +1 -0
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/illustrations.cjs +1 -1
- package/dist/illustrations.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.js +56 -56
- package/dist/inputs-C0BJzlA-.js +1923 -0
- package/dist/inputs-C0BJzlA-.js.map +1 -0
- package/dist/inputs-CvNBBLFA.cjs +2 -0
- package/dist/inputs-CvNBBLFA.cjs.map +1 -0
- package/dist/inputs.cjs +1 -1
- package/dist/inputs.js +4 -4
- package/dist/layout-BSFqGXLZ.js +1101 -0
- package/dist/layout-BSFqGXLZ.js.map +1 -0
- package/dist/layout-MKqvUkPv.cjs +2 -0
- package/dist/layout-MKqvUkPv.cjs.map +1 -0
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +6 -6
- package/dist/{layoutProps-Ck4VtGm9.cjs → layoutProps-B8y2XwHy.cjs} +1 -1
- package/dist/{layoutProps-Ck4VtGm9.cjs.map → layoutProps-B8y2XwHy.cjs.map} +1 -1
- package/dist/{layoutProps-Cl6d1KmH.js → layoutProps-CE5-ghKw.js} +1 -1
- package/dist/{layoutProps-Cl6d1KmH.js.map → layoutProps-CE5-ghKw.js.map} +1 -1
- package/dist/{licensing-f5KYVz7D.js → licensing-BKmoAdfr.js} +5 -4
- package/dist/licensing-BKmoAdfr.js.map +1 -0
- package/dist/licensing-DVgjkw-s.cjs +2 -0
- package/dist/licensing-DVgjkw-s.cjs.map +1 -0
- package/dist/media-fiasAbBv.js +485 -0
- package/dist/media-fiasAbBv.js.map +1 -0
- package/dist/media-tr1s386v.cjs +2 -0
- package/dist/media-tr1s386v.cjs.map +1 -0
- package/dist/media.cjs +1 -1
- package/dist/media.js +2 -2
- package/dist/overlays-Df-NpmkW.cjs +2 -0
- package/dist/overlays-Df-NpmkW.cjs.map +1 -0
- package/dist/overlays-W0WW3fn7.js +607 -0
- package/dist/overlays-W0WW3fn7.js.map +1 -0
- package/dist/overlays.cjs +1 -1
- package/dist/overlays.js +3 -3
- package/dist/primitives.cjs +1 -1
- package/dist/primitives.js +2 -2
- package/dist/radioGroupKeys-Bm-Qeh8G.js +28 -0
- package/dist/radioGroupKeys-Bm-Qeh8G.js.map +1 -0
- package/dist/radioGroupKeys-COL8uXbH.cjs +2 -0
- package/dist/radioGroupKeys-COL8uXbH.cjs.map +1 -0
- package/dist/{relativeTime-Cr-NVzij.js → relativeTime-BqCuaBqb.js} +1 -1
- package/dist/{relativeTime-Cr-NVzij.js.map → relativeTime-BqCuaBqb.js.map} +1 -1
- package/dist/{relativeTime-DgYBUaVm.cjs → relativeTime-DUbW4O44.cjs} +1 -1
- package/dist/{relativeTime-DgYBUaVm.cjs.map → relativeTime-DUbW4O44.cjs.map} +1 -1
- package/dist/scrollLock-C9P9o6wH.cjs +2 -0
- package/dist/scrollLock-C9P9o6wH.cjs.map +1 -0
- package/dist/scrollLock-D27VmgPV.js +14 -0
- package/dist/scrollLock-D27VmgPV.js.map +1 -0
- package/dist/style-runtime.cjs +1 -1
- package/dist/style-runtime.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/theme/MThemeProvider.d.ts +18 -1
- package/dist/theme/index.d.ts +2 -2
- package/dist/{theme-DAOU1aPs.js → theme-B_juOenJ.js} +71 -61
- package/dist/theme-B_juOenJ.js.map +1 -0
- package/dist/theme-ByPZH0dh.cjs +2 -0
- package/dist/theme-ByPZH0dh.cjs.map +1 -0
- package/dist/theme.cjs +1 -1
- package/dist/theme.js +2 -2
- package/dist/{typography-C806GYT4.js → typography-DNcB8dOy.js} +3 -3
- package/dist/{typography-C806GYT4.js.map → typography-DNcB8dOy.js.map} +1 -1
- package/dist/{typography-4v01oNWx.cjs → typography-I7aeG8pH.cjs} +2 -2
- package/dist/{typography-4v01oNWx.cjs.map → typography-I7aeG8pH.cjs.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +6 -6
- package/dist/useGhostText-CKsb8Ufa.js +240 -0
- package/dist/useGhostText-CKsb8Ufa.js.map +1 -0
- package/dist/useGhostText-DO-tfxS0.cjs +2 -0
- package/dist/useGhostText-DO-tfxS0.cjs.map +1 -0
- package/dist/useModalLayer-CpOPSDbf.js +128 -0
- package/dist/useModalLayer-CpOPSDbf.js.map +1 -0
- package/dist/useModalLayer-Cyt93Prs.cjs +2 -0
- package/dist/useModalLayer-Cyt93Prs.cjs.map +1 -0
- package/dist/utils/calendarDates.d.ts +5 -0
- package/dist/utils/radioGroupKeys.d.ts +9 -0
- package/dist/utils/useDateGridNav.d.ts +39 -0
- package/dist/utils/useGhostText.d.ts +2 -1
- package/dist/utils/useKeyboardNav.d.ts +51 -5
- package/dist/utils/useModalLayer.d.ts +4 -0
- package/dist/utils/useRovingToolbar.d.ts +26 -0
- package/dist/utils/validationMessages.d.ts +15 -0
- package/dist/utils.cjs +1 -1
- package/dist/utils.entry.d.ts +3 -1
- package/dist/utils.js +11 -11
- package/dist/validationMessages-BFimXxlT.js +23 -0
- package/dist/validationMessages-BFimXxlT.js.map +1 -0
- package/dist/validationMessages-iHu7apWr.cjs +2 -0
- package/dist/validationMessages-iHu7apWr.cjs.map +1 -0
- package/dist/validators-SZmLxnir.cjs +2 -0
- package/dist/validators-SZmLxnir.cjs.map +1 -0
- package/dist/{validators-DVYOtFnw.js → validators-ULebNme2.js} +107 -106
- package/dist/validators-ULebNme2.js.map +1 -0
- package/package.json +1 -1
- package/dist/MAvatar-DHNB3829.cjs +0 -2
- package/dist/MAvatar-DHNB3829.cjs.map +0 -1
- package/dist/MAvatar-GeRL-CNO.js +0 -63
- package/dist/MAvatar-GeRL-CNO.js.map +0 -1
- package/dist/MButton-CEwo8lUB.js +0 -115
- package/dist/MButton-CEwo8lUB.js.map +0 -1
- package/dist/MButton-CnAr77Za.cjs +0 -2
- package/dist/MButton-CnAr77Za.cjs.map +0 -1
- package/dist/MCard-BqSkGAgf.js.map +0 -1
- package/dist/MCard-P8OoswWM.cjs.map +0 -1
- package/dist/MCheckbox-BxFBADcE.js +0 -59
- package/dist/MCheckbox-BxFBADcE.js.map +0 -1
- package/dist/MCheckbox-DozwF2ai.cjs +0 -2
- package/dist/MCheckbox-DozwF2ai.cjs.map +0 -1
- package/dist/MConflictIllustration-2QL-BHYv.cjs +0 -2
- package/dist/MConflictIllustration-2QL-BHYv.cjs.map +0 -1
- package/dist/MConflictIllustration-znC7ijmP.js.map +0 -1
- package/dist/MDetailList-CThQvoyf.cjs +0 -2
- package/dist/MDetailList-CThQvoyf.cjs.map +0 -1
- package/dist/MDetailList-Cx9H81xT.js +0 -98
- package/dist/MDetailList-Cx9H81xT.js.map +0 -1
- package/dist/MDropdownMenu-DnKcCyW6.cjs +0 -2
- package/dist/MDropdownMenu-DnKcCyW6.cjs.map +0 -1
- package/dist/MDropdownMenu-DxbKN7Ui.js +0 -172
- package/dist/MDropdownMenu-DxbKN7Ui.js.map +0 -1
- package/dist/MGrid-BkRSGN2t.cjs +0 -2
- package/dist/MGrid-BkRSGN2t.cjs.map +0 -1
- package/dist/MGrid-CIz-2i6X.js +0 -265
- package/dist/MGrid-CIz-2i6X.js.map +0 -1
- package/dist/MHeading-AYQ8_GFP.cjs +0 -2
- package/dist/MHeading-AYQ8_GFP.cjs.map +0 -1
- package/dist/MHeading-DcGxUMwC.js +0 -21
- package/dist/MHeading-DcGxUMwC.js.map +0 -1
- package/dist/MI18nProvider-CqAwaswx.cjs +0 -2
- package/dist/MI18nProvider-CqAwaswx.cjs.map +0 -1
- package/dist/MI18nProvider-VH14CI8u.js +0 -72
- package/dist/MI18nProvider-VH14CI8u.js.map +0 -1
- package/dist/MInput-BYj2BdUe.cjs +0 -2
- package/dist/MInput-BYj2BdUe.cjs.map +0 -1
- package/dist/MInput-nodE-CZF.js +0 -188
- package/dist/MInput-nodE-CZF.js.map +0 -1
- package/dist/MInputCVC-9XWryaTz.cjs +0 -2
- package/dist/MInputCVC-9XWryaTz.cjs.map +0 -1
- package/dist/MInputCVC-CrDTaUXm.js +0 -321
- package/dist/MInputCVC-CrDTaUXm.js.map +0 -1
- package/dist/MInputSearch-BMgCHjFk.js +0 -43
- package/dist/MInputSearch-BMgCHjFk.js.map +0 -1
- package/dist/MInputSearch-BiVI1jNc.cjs +0 -2
- package/dist/MInputSearch-BiVI1jNc.cjs.map +0 -1
- package/dist/MLink-CAl6N6_z.js +0 -31
- package/dist/MLink-CAl6N6_z.js.map +0 -1
- package/dist/MLink-Dk_ReE6i.cjs +0 -2
- package/dist/MLink-Dk_ReE6i.cjs.map +0 -1
- package/dist/MLoader-CYp0OJU_.js +0 -41
- package/dist/MLoader-CYp0OJU_.js.map +0 -1
- package/dist/MLoader-DvmFle31.cjs +0 -2
- package/dist/MLoader-DvmFle31.cjs.map +0 -1
- package/dist/MPagination-E7IixIeo.js +0 -113
- package/dist/MPagination-E7IixIeo.js.map +0 -1
- package/dist/MPagination-reDU9xTW.cjs +0 -2
- package/dist/MPagination-reDU9xTW.cjs.map +0 -1
- package/dist/MPopover-8gYD3Ogq.js +0 -118
- package/dist/MPopover-8gYD3Ogq.js.map +0 -1
- package/dist/MPopover-B3npyAkL.cjs +0 -2
- package/dist/MPopover-B3npyAkL.cjs.map +0 -1
- package/dist/MPortal-Ba2Sxset.js +0 -10
- package/dist/MPortal-Ba2Sxset.js.map +0 -1
- package/dist/MPortal-CuBXhhl_.cjs +0 -2
- package/dist/MPortal-CuBXhhl_.cjs.map +0 -1
- package/dist/MSimpleGrid-BchGYPMi.cjs +0 -2
- package/dist/MSimpleGrid-BchGYPMi.cjs.map +0 -1
- package/dist/MSimpleGrid-Ui8cI0ho.js.map +0 -1
- package/dist/MSkeleton-DPa_G_2X.cjs +0 -2
- package/dist/MSkeleton-DPa_G_2X.cjs.map +0 -1
- package/dist/MSkeleton-Dhu-loDO.js.map +0 -1
- package/dist/MSlider-BRjhyBSc.js +0 -75
- package/dist/MSlider-BRjhyBSc.js.map +0 -1
- package/dist/MSlider-w5214a-W.cjs +0 -2
- package/dist/MSlider-w5214a-W.cjs.map +0 -1
- package/dist/MStack-Dt-rWvg3.js +0 -39
- package/dist/MStack-Dt-rWvg3.js.map +0 -1
- package/dist/MStack-nc6Y_9K3.cjs +0 -2
- package/dist/MStack-nc6Y_9K3.cjs.map +0 -1
- package/dist/MSubText-B0tXiuAp.js +0 -17
- package/dist/MSubText-B0tXiuAp.js.map +0 -1
- package/dist/MSubText-C6v6Exa2.cjs +0 -2
- package/dist/MSubText-C6v6Exa2.cjs.map +0 -1
- package/dist/MSurface-BjE-mL1L.cjs +0 -2
- package/dist/MSurface-BjE-mL1L.cjs.map +0 -1
- package/dist/MSurface-CpDJCdb5.js +0 -74
- package/dist/MSurface-CpDJCdb5.js.map +0 -1
- package/dist/MTag-BgOxiahL.cjs +0 -2
- package/dist/MTag-BgOxiahL.cjs.map +0 -1
- package/dist/MTag-cw3cIGHX.js +0 -41
- package/dist/MTag-cw3cIGHX.js.map +0 -1
- package/dist/MText-BDI4mdw8.cjs +0 -2
- package/dist/MText-BDI4mdw8.cjs.map +0 -1
- package/dist/MText-DhbAjtUE.js +0 -45
- package/dist/MText-DhbAjtUE.js.map +0 -1
- package/dist/MTooltip-BAgHlv5I.cjs +0 -2
- package/dist/MTooltip-BAgHlv5I.cjs.map +0 -1
- package/dist/MTooltip-CJxvlkOX.js +0 -92
- package/dist/MTooltip-CJxvlkOX.js.map +0 -1
- package/dist/MTreeView-DsBnYQMT.js +0 -315
- package/dist/MTreeView-DsBnYQMT.js.map +0 -1
- package/dist/MTreeView-LiJ5o-zy.cjs +0 -2
- package/dist/MTreeView-LiJ5o-zy.cjs.map +0 -1
- package/dist/calendar-Bq6NMNnS.js +0 -193
- package/dist/calendar-Bq6NMNnS.js.map +0 -1
- package/dist/calendar-C57BH8Nd.cjs +0 -2
- package/dist/calendar-C57BH8Nd.cjs.map +0 -1
- package/dist/calendarDates-M_Dawj0j.js.map +0 -1
- package/dist/calendarDates-qm047RW2.cjs +0 -2
- package/dist/calendarDates-qm047RW2.cjs.map +0 -1
- package/dist/cards-D4xJVd4q.js +0 -1227
- package/dist/cards-D4xJVd4q.js.map +0 -1
- package/dist/cards-Du6dbZSQ.cjs +0 -2
- package/dist/cards-Du6dbZSQ.cjs.map +0 -1
- package/dist/controls-BKoc_yel.js +0 -475
- package/dist/controls-BKoc_yel.js.map +0 -1
- package/dist/controls-Ck-PMt__.cjs +0 -2
- package/dist/controls-Ck-PMt__.cjs.map +0 -1
- package/dist/creditCards-D_HwRUBz.cjs +0 -2
- package/dist/creditCards-D_HwRUBz.cjs.map +0 -1
- package/dist/creditCards-D_iWmtG6.js.map +0 -1
- package/dist/data-CdQximqm.js +0 -689
- package/dist/data-CdQximqm.js.map +0 -1
- package/dist/data-PS4ygCyj.cjs +0 -2
- package/dist/data-PS4ygCyj.cjs.map +0 -1
- package/dist/dateUtils-CUY6CRCf.js.map +0 -1
- package/dist/dateUtils-Dq1vaA-D.cjs +0 -2
- package/dist/dateUtils-Dq1vaA-D.cjs.map +0 -1
- package/dist/display-YC1fVpXA.js +0 -782
- package/dist/display-YC1fVpXA.js.map +0 -1
- package/dist/display-slIo1bQI.cjs +0 -3
- package/dist/display-slIo1bQI.cjs.map +0 -1
- package/dist/dropdowns-DFbUoZ8Q.cjs +0 -2
- package/dist/dropdowns-DFbUoZ8Q.cjs.map +0 -1
- package/dist/dropdowns-nW3MY5XG.js +0 -1715
- package/dist/dropdowns-nW3MY5XG.js.map +0 -1
- package/dist/feedback-6MNb2Xyk.cjs +0 -2
- package/dist/feedback-6MNb2Xyk.cjs.map +0 -1
- package/dist/feedback-CPwJaQHY.js +0 -259
- package/dist/feedback-CPwJaQHY.js.map +0 -1
- package/dist/form-CMsZo6Dm.cjs +0 -2
- package/dist/form-CMsZo6Dm.cjs.map +0 -1
- package/dist/form-WU6DcQGD.js +0 -164
- package/dist/form-WU6DcQGD.js.map +0 -1
- package/dist/frameworkTexts-BSXUtXOp.cjs +0 -2
- package/dist/frameworkTexts-BSXUtXOp.cjs.map +0 -1
- package/dist/frameworkTexts-DP5RUl19.js +0 -131
- package/dist/frameworkTexts-DP5RUl19.js.map +0 -1
- package/dist/icons-CBMl-kOM.js.map +0 -1
- package/dist/icons-D3n9-919.cjs +0 -2
- package/dist/icons-D3n9-919.cjs.map +0 -1
- package/dist/inputs-B7rGMLMr.js +0 -1753
- package/dist/inputs-B7rGMLMr.js.map +0 -1
- package/dist/inputs-BiN62hgH.cjs +0 -2
- package/dist/inputs-BiN62hgH.cjs.map +0 -1
- package/dist/layout-BMggJ_qO.cjs +0 -2
- package/dist/layout-BMggJ_qO.cjs.map +0 -1
- package/dist/layout-DBYHyCTr.js +0 -883
- package/dist/layout-DBYHyCTr.js.map +0 -1
- package/dist/licensing-Be3g-PJt.cjs +0 -2
- package/dist/licensing-Be3g-PJt.cjs.map +0 -1
- package/dist/licensing-f5KYVz7D.js.map +0 -1
- package/dist/media-BPzMgzqE.js +0 -405
- package/dist/media-BPzMgzqE.js.map +0 -1
- package/dist/media-D63hxCAJ.cjs +0 -2
- package/dist/media-D63hxCAJ.cjs.map +0 -1
- package/dist/overlays-CCeYD6hT.js +0 -555
- package/dist/overlays-CCeYD6hT.js.map +0 -1
- package/dist/overlays-CsRN5OG8.cjs +0 -2
- package/dist/overlays-CsRN5OG8.cjs.map +0 -1
- package/dist/popoverStack--0r2oJCD.js +0 -44
- package/dist/popoverStack--0r2oJCD.js.map +0 -1
- package/dist/popoverStack-BmMk-VZJ.cjs +0 -2
- package/dist/popoverStack-BmMk-VZJ.cjs.map +0 -1
- package/dist/theme-CJuqObWL.cjs +0 -2
- package/dist/theme-CJuqObWL.cjs.map +0 -1
- package/dist/theme-DAOU1aPs.js.map +0 -1
- package/dist/useGhostText-DG0bzcao.js +0 -68
- package/dist/useGhostText-DG0bzcao.js.map +0 -1
- package/dist/useGhostText-mibV4s1-.cjs +0 -2
- package/dist/useGhostText-mibV4s1-.cjs.map +0 -1
- package/dist/useKeyboardNav-CCUoRMgm.cjs +0 -2
- package/dist/useKeyboardNav-CCUoRMgm.cjs.map +0 -1
- package/dist/useKeyboardNav-iEXOdEMB.js +0 -43
- package/dist/useKeyboardNav-iEXOdEMB.js.map +0 -1
- package/dist/useModalLayer-Bf4TcEz-.js +0 -58
- package/dist/useModalLayer-Bf4TcEz-.js.map +0 -1
- package/dist/useModalLayer-DxYhhgRO.cjs +0 -2
- package/dist/useModalLayer-DxYhhgRO.cjs.map +0 -1
- package/dist/utils/proActivationWarning.d.ts +0 -7
- package/dist/validators-B6yWdsu2.cjs +0 -2
- package/dist/validators-B6yWdsu2.cjs.map +0 -1
- package/dist/validators-DVYOtFnw.js.map +0 -1
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var e={valid:!0},t=[{brand:`visa`,label:`Visa`,iconLabel:`VISA`,maxLength:16,formatGroups:[4,4,4,4],regex:/^4\d{12}(?:\d{3})?$/,prefixRegex:/^4/},{brand:`mastercard`,label:`Mastercard`,iconLabel:`MC`,maxLength:16,formatGroups:[4,4,4,4],regex:/^(5[1-5]\d{14}|2(?:2[2-9]|[3-6]\d|7[01])\d{12}|2720\d{12})$/,prefixRegex:/^(5[1-5]|2(2[2-9]|[3-6]|7[01])|2720)/},{brand:`amex`,label:`American Express`,iconLabel:`AMEX`,maxLength:15,formatGroups:[4,6,5],regex:/^3[47]\d{13}$/,prefixRegex:/^3[47]/},{brand:`discover`,label:`Discover`,iconLabel:`DISC`,maxLength:16,formatGroups:[4,4,4,4],regex:/^(6011\d{12}|65\d{14}|64[4-9]\d{13})$/,prefixRegex:/^(6011|65|64[4-9])/},{brand:`maestro`,label:`Maestro`,iconLabel:`MAES`,maxLength:19,formatGroups:[4,4,4,4,3],regex:/^(5[06789]\d{0,17}|6\d{0,18})$/,prefixRegex:/^(5[06789]|6)/}];function n(e){return{brand:`unknown`,label:`MCard`,iconLabel:`CARD`,maxLength:Math.min(Math.max(e.length||16,16),19),formatGroups:[4,4,4,4,3],regex:/^\d{12,19}$/,prefixRegex:/^\d/}}function r(e){return e.replace(/\D/g,``)}function i(e){let i=r(e);return i?t.find(e=>e.regex.test(i))??t.find(e=>e.prefixRegex.test(i))??n(i):n(i)}function a(e){let t=r(e),n=i(t),a=t.slice(0,n.maxLength),o=[],s=0;for(let e of n.formatGroups){if(s>=a.length)break;o.push(a.slice(s,s+e)),s+=e}return s<a.length&&o.push(a.slice(s)),o.join(` `)}function o(e){let t=0,n=!1;for(let r=e.length-1;r>=0;--r){let i=parseInt(e[r],10);if(Number.isNaN(i))return!1;n&&(i*=2,i>9&&(i-=9)),t+=i,n=!n}return t%10==0}function s(t){if(!t)return e;let n=r(t),a=i(n);return n.length<12?{valid:!1,error:`MCard number is too short`}:n.length>a.maxLength?{valid:!1,error:`${a.label} card number is too long`}:a.brand!==`unknown`&&!a.regex.test(n)?{valid:!1,error:`Invalid ${a.label} card number`}:o(n)?e:{valid:!1,error:`Invalid card checksum`}}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return t}});
|
|
2
|
-
//# sourceMappingURL=creditCards-D_HwRUBz.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"creditCards-D_HwRUBz.cjs","names":[],"sources":["../src/utils/creditCards.ts"],"sourcesContent":["import type {ValidationResult} from './validators'\n\nexport type CreditCardBrand = 'visa' | 'mastercard' | 'amex' | 'discover' | 'maestro' | 'unknown'\n\nexport interface CreditCardBrandDetails {\n brand: CreditCardBrand\n label: string\n iconLabel: string\n maxLength: number\n formatGroups: number[]\n regex: RegExp\n prefixRegex: RegExp\n}\n\nconst OK_RESULT: ValidationResult = {valid: true}\n\n// MCard brand rules also drive formatting and visible brand badges.\nconst creditCardBrands: CreditCardBrandDetails[] = [\n {\n brand: 'visa',\n label: 'Visa',\n iconLabel: 'VISA',\n maxLength: 16,\n formatGroups: [4, 4, 4, 4],\n regex: /^4\\d{12}(?:\\d{3})?$/,\n prefixRegex: /^4/,\n },\n {\n brand: 'mastercard',\n label: 'Mastercard',\n iconLabel: 'MC',\n maxLength: 16,\n formatGroups: [4, 4, 4, 4],\n regex: /^(5[1-5]\\d{14}|2(?:2[2-9]|[3-6]\\d|7[01])\\d{12}|2720\\d{12})$/,\n prefixRegex: /^(5[1-5]|2(2[2-9]|[3-6]|7[01])|2720)/,\n },\n {\n brand: 'amex',\n label: 'American Express',\n iconLabel: 'AMEX',\n maxLength: 15,\n formatGroups: [4, 6, 5],\n regex: /^3[47]\\d{13}$/,\n prefixRegex: /^3[47]/,\n },\n {\n brand: 'discover',\n label: 'Discover',\n iconLabel: 'DISC',\n maxLength: 16,\n formatGroups: [4, 4, 4, 4],\n regex: /^(6011\\d{12}|65\\d{14}|64[4-9]\\d{13})$/,\n prefixRegex: /^(6011|65|64[4-9])/,\n },\n {\n brand: 'maestro',\n label: 'Maestro',\n iconLabel: 'MAES',\n maxLength: 19,\n formatGroups: [4, 4, 4, 4, 3],\n regex: /^(5[06789]\\d{0,17}|6\\d{0,18})$/,\n prefixRegex: /^(5[06789]|6)/,\n },\n]\n\n// Fall back to a generic brand so formatting still works for unknown prefixes.\nfunction fallbackBrand(digits: string): CreditCardBrandDetails {\n return {\n brand: 'unknown',\n label: 'MCard',\n iconLabel: 'CARD',\n maxLength: Math.min(Math.max(digits.length || 16, 16), 19),\n formatGroups: [4, 4, 4, 4, 3],\n regex: /^\\d{12,19}$/,\n prefixRegex: /^\\d/,\n }\n}\n\n// Remove every separator so card validation can work on raw digits.\nexport function stripCardNumber(value: string): string {\n return value.replace(/\\D/g, '')\n}\n\n// Detect the best matching payment brand from the visible card prefix.\n// Uses prefixRegex so the right brand (and its maxLength) is locked in while typing.\nexport function detectCardBrand(value: string): CreditCardBrandDetails {\n const digits = stripCardNumber(value)\n\n if (!digits) {\n return fallbackBrand(digits)\n }\n\n return (\n creditCardBrands.find((rule) => rule.regex.test(digits)) ??\n creditCardBrands.find((rule) => rule.prefixRegex.test(digits)) ??\n fallbackBrand(digits)\n )\n}\n\n// Group card digits according to the detected payment brand.\nexport function formatCardNumber(value: string): string {\n const digits = stripCardNumber(value)\n const rule = detectCardBrand(digits)\n const trimmedDigits = digits.slice(0, rule.maxLength)\n const parts: string[] = []\n let offset = 0\n\n for (const length of rule.formatGroups) {\n if (offset >= trimmedDigits.length) {\n break\n }\n\n parts.push(trimmedDigits.slice(offset, offset + length))\n offset += length\n }\n\n if (offset < trimmedDigits.length) {\n parts.push(trimmedDigits.slice(offset))\n }\n\n return parts.join(' ')\n}\n\n// Run the Luhn checksum used by most card numbers.\nfunction passesLuhn(value: string): boolean {\n let sum = 0\n let shouldDouble = false\n\n for (let index = value.length - 1; index >= 0; index -= 1) {\n let digit = parseInt(value[index], 10)\n\n if (Number.isNaN(digit)) {\n return false\n }\n\n if (shouldDouble) {\n digit *= 2\n if (digit > 9) {\n digit -= 9\n }\n }\n\n sum += digit\n shouldDouble = !shouldDouble\n }\n\n return sum % 10 === 0\n}\n\n// Validate the detected card brand and Luhn checksum without third-party runtime dependencies.\nexport function validateCardNumber(value: string): ValidationResult {\n if (!value) {\n return OK_RESULT\n }\n\n const digits = stripCardNumber(value)\n const rule = detectCardBrand(digits)\n\n if (digits.length < 12) {\n return {valid: false, error: 'MCard number is too short'}\n }\n\n if (digits.length > rule.maxLength) {\n return {valid: false, error: `${rule.label} card number is too long`}\n }\n\n if (rule.brand !== 'unknown' && !rule.regex.test(digits)) {\n return {valid: false, error: `Invalid ${rule.label} card number`}\n }\n\n if (!passesLuhn(digits)) {\n return {valid: false, error: 'Invalid card checksum'}\n }\n\n return OK_RESULT\n}\n\nexport {creditCardBrands}\n"],"mappings":"AAcA,IAAM,EAA8B,CAAC,MAAO,GAAK,CAG3C,EAA6C,CAC/C,CACI,MAAO,OACP,MAAO,OACP,UAAW,OACX,UAAW,GACX,aAAc,CAAC,EAAG,EAAG,EAAG,EAAE,CAC1B,MAAO,sBACP,YAAa,KAChB,CACD,CACI,MAAO,aACP,MAAO,aACP,UAAW,KACX,UAAW,GACX,aAAc,CAAC,EAAG,EAAG,EAAG,EAAE,CAC1B,MAAO,8DACP,YAAa,uCAChB,CACD,CACI,MAAO,OACP,MAAO,mBACP,UAAW,OACX,UAAW,GACX,aAAc,CAAC,EAAG,EAAG,EAAE,CACvB,MAAO,gBACP,YAAa,SAChB,CACD,CACI,MAAO,WACP,MAAO,WACP,UAAW,OACX,UAAW,GACX,aAAc,CAAC,EAAG,EAAG,EAAG,EAAE,CAC1B,MAAO,wCACP,YAAa,qBAChB,CACD,CACI,MAAO,UACP,MAAO,UACP,UAAW,OACX,UAAW,GACX,aAAc,CAAC,EAAG,EAAG,EAAG,EAAG,EAAE,CAC7B,MAAO,iCACP,YAAa,gBAChB,CACJ,CAGD,SAAS,EAAc,EAAwC,CAC3D,MAAO,CACH,MAAO,UACP,MAAO,QACP,UAAW,OACX,UAAW,KAAK,IAAI,KAAK,IAAI,EAAO,QAAU,GAAI,GAAG,CAAE,GAAG,CAC1D,aAAc,CAAC,EAAG,EAAG,EAAG,EAAG,EAAE,CAC7B,MAAO,cACP,YAAa,MAChB,CAIL,SAAgB,EAAgB,EAAuB,CACnD,OAAO,EAAM,QAAQ,MAAO,GAAG,CAKnC,SAAgB,EAAgB,EAAuC,CACnE,IAAM,EAAS,EAAgB,EAAM,CAMrC,OAJK,EAKD,EAAiB,KAAM,GAAS,EAAK,MAAM,KAAK,EAAO,CAAC,EACxD,EAAiB,KAAM,GAAS,EAAK,YAAY,KAAK,EAAO,CAAC,EAC9D,EAAc,EAAO,CANd,EAAc,EAAO,CAWpC,SAAgB,EAAiB,EAAuB,CACpD,IAAM,EAAS,EAAgB,EAAM,CAC/B,EAAO,EAAgB,EAAO,CAC9B,EAAgB,EAAO,MAAM,EAAG,EAAK,UAAU,CAC/C,EAAkB,EAAE,CACtB,EAAS,EAEb,IAAK,IAAM,KAAU,EAAK,aAAc,CACpC,GAAI,GAAU,EAAc,OACxB,MAGJ,EAAM,KAAK,EAAc,MAAM,EAAQ,EAAS,EAAO,CAAC,CACxD,GAAU,EAOd,OAJI,EAAS,EAAc,QACvB,EAAM,KAAK,EAAc,MAAM,EAAO,CAAC,CAGpC,EAAM,KAAK,IAAI,CAI1B,SAAS,EAAW,EAAwB,CACxC,IAAI,EAAM,EACN,EAAe,GAEnB,IAAK,IAAI,EAAQ,EAAM,OAAS,EAAG,GAAS,EAAG,IAAY,CACvD,IAAI,EAAQ,SAAS,EAAM,GAAQ,GAAG,CAEtC,GAAI,OAAO,MAAM,EAAM,CACnB,MAAO,GAGP,IACA,GAAS,EACL,EAAQ,IACR,GAAS,IAIjB,GAAO,EACP,EAAe,CAAC,EAGpB,OAAO,EAAM,IAAO,EAIxB,SAAgB,EAAmB,EAAiC,CAChE,GAAI,CAAC,EACD,OAAO,EAGX,IAAM,EAAS,EAAgB,EAAM,CAC/B,EAAO,EAAgB,EAAO,CAkBpC,OAhBI,EAAO,OAAS,GACT,CAAC,MAAO,GAAO,MAAO,4BAA4B,CAGzD,EAAO,OAAS,EAAK,UACd,CAAC,MAAO,GAAO,MAAO,GAAG,EAAK,MAAM,0BAA0B,CAGrE,EAAK,QAAU,WAAa,CAAC,EAAK,MAAM,KAAK,EAAO,CAC7C,CAAC,MAAO,GAAO,MAAO,WAAW,EAAK,MAAM,cAAc,CAGhE,EAAW,EAAO,CAIhB,EAHI,CAAC,MAAO,GAAO,MAAO,wBAAwB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"creditCards-D_iWmtG6.js","names":[],"sources":["../src/utils/creditCards.ts"],"sourcesContent":["import type {ValidationResult} from './validators'\n\nexport type CreditCardBrand = 'visa' | 'mastercard' | 'amex' | 'discover' | 'maestro' | 'unknown'\n\nexport interface CreditCardBrandDetails {\n brand: CreditCardBrand\n label: string\n iconLabel: string\n maxLength: number\n formatGroups: number[]\n regex: RegExp\n prefixRegex: RegExp\n}\n\nconst OK_RESULT: ValidationResult = {valid: true}\n\n// MCard brand rules also drive formatting and visible brand badges.\nconst creditCardBrands: CreditCardBrandDetails[] = [\n {\n brand: 'visa',\n label: 'Visa',\n iconLabel: 'VISA',\n maxLength: 16,\n formatGroups: [4, 4, 4, 4],\n regex: /^4\\d{12}(?:\\d{3})?$/,\n prefixRegex: /^4/,\n },\n {\n brand: 'mastercard',\n label: 'Mastercard',\n iconLabel: 'MC',\n maxLength: 16,\n formatGroups: [4, 4, 4, 4],\n regex: /^(5[1-5]\\d{14}|2(?:2[2-9]|[3-6]\\d|7[01])\\d{12}|2720\\d{12})$/,\n prefixRegex: /^(5[1-5]|2(2[2-9]|[3-6]|7[01])|2720)/,\n },\n {\n brand: 'amex',\n label: 'American Express',\n iconLabel: 'AMEX',\n maxLength: 15,\n formatGroups: [4, 6, 5],\n regex: /^3[47]\\d{13}$/,\n prefixRegex: /^3[47]/,\n },\n {\n brand: 'discover',\n label: 'Discover',\n iconLabel: 'DISC',\n maxLength: 16,\n formatGroups: [4, 4, 4, 4],\n regex: /^(6011\\d{12}|65\\d{14}|64[4-9]\\d{13})$/,\n prefixRegex: /^(6011|65|64[4-9])/,\n },\n {\n brand: 'maestro',\n label: 'Maestro',\n iconLabel: 'MAES',\n maxLength: 19,\n formatGroups: [4, 4, 4, 4, 3],\n regex: /^(5[06789]\\d{0,17}|6\\d{0,18})$/,\n prefixRegex: /^(5[06789]|6)/,\n },\n]\n\n// Fall back to a generic brand so formatting still works for unknown prefixes.\nfunction fallbackBrand(digits: string): CreditCardBrandDetails {\n return {\n brand: 'unknown',\n label: 'MCard',\n iconLabel: 'CARD',\n maxLength: Math.min(Math.max(digits.length || 16, 16), 19),\n formatGroups: [4, 4, 4, 4, 3],\n regex: /^\\d{12,19}$/,\n prefixRegex: /^\\d/,\n }\n}\n\n// Remove every separator so card validation can work on raw digits.\nexport function stripCardNumber(value: string): string {\n return value.replace(/\\D/g, '')\n}\n\n// Detect the best matching payment brand from the visible card prefix.\n// Uses prefixRegex so the right brand (and its maxLength) is locked in while typing.\nexport function detectCardBrand(value: string): CreditCardBrandDetails {\n const digits = stripCardNumber(value)\n\n if (!digits) {\n return fallbackBrand(digits)\n }\n\n return (\n creditCardBrands.find((rule) => rule.regex.test(digits)) ??\n creditCardBrands.find((rule) => rule.prefixRegex.test(digits)) ??\n fallbackBrand(digits)\n )\n}\n\n// Group card digits according to the detected payment brand.\nexport function formatCardNumber(value: string): string {\n const digits = stripCardNumber(value)\n const rule = detectCardBrand(digits)\n const trimmedDigits = digits.slice(0, rule.maxLength)\n const parts: string[] = []\n let offset = 0\n\n for (const length of rule.formatGroups) {\n if (offset >= trimmedDigits.length) {\n break\n }\n\n parts.push(trimmedDigits.slice(offset, offset + length))\n offset += length\n }\n\n if (offset < trimmedDigits.length) {\n parts.push(trimmedDigits.slice(offset))\n }\n\n return parts.join(' ')\n}\n\n// Run the Luhn checksum used by most card numbers.\nfunction passesLuhn(value: string): boolean {\n let sum = 0\n let shouldDouble = false\n\n for (let index = value.length - 1; index >= 0; index -= 1) {\n let digit = parseInt(value[index], 10)\n\n if (Number.isNaN(digit)) {\n return false\n }\n\n if (shouldDouble) {\n digit *= 2\n if (digit > 9) {\n digit -= 9\n }\n }\n\n sum += digit\n shouldDouble = !shouldDouble\n }\n\n return sum % 10 === 0\n}\n\n// Validate the detected card brand and Luhn checksum without third-party runtime dependencies.\nexport function validateCardNumber(value: string): ValidationResult {\n if (!value) {\n return OK_RESULT\n }\n\n const digits = stripCardNumber(value)\n const rule = detectCardBrand(digits)\n\n if (digits.length < 12) {\n return {valid: false, error: 'MCard number is too short'}\n }\n\n if (digits.length > rule.maxLength) {\n return {valid: false, error: `${rule.label} card number is too long`}\n }\n\n if (rule.brand !== 'unknown' && !rule.regex.test(digits)) {\n return {valid: false, error: `Invalid ${rule.label} card number`}\n }\n\n if (!passesLuhn(digits)) {\n return {valid: false, error: 'Invalid card checksum'}\n }\n\n return OK_RESULT\n}\n\nexport {creditCardBrands}\n"],"mappings":";AAcA,IAAM,IAA8B,EAAC,OAAO,IAAK,EAG3C,IAA6C;CAC/C;EACI,OAAO;EACP,OAAO;EACP,WAAW;EACX,WAAW;EACX,cAAc;GAAC;GAAG;GAAG;GAAG;GAAE;EAC1B,OAAO;EACP,aAAa;EAChB;CACD;EACI,OAAO;EACP,OAAO;EACP,WAAW;EACX,WAAW;EACX,cAAc;GAAC;GAAG;GAAG;GAAG;GAAE;EAC1B,OAAO;EACP,aAAa;EAChB;CACD;EACI,OAAO;EACP,OAAO;EACP,WAAW;EACX,WAAW;EACX,cAAc;GAAC;GAAG;GAAG;GAAE;EACvB,OAAO;EACP,aAAa;EAChB;CACD;EACI,OAAO;EACP,OAAO;EACP,WAAW;EACX,WAAW;EACX,cAAc;GAAC;GAAG;GAAG;GAAG;GAAE;EAC1B,OAAO;EACP,aAAa;EAChB;CACD;EACI,OAAO;EACP,OAAO;EACP,WAAW;EACX,WAAW;EACX,cAAc;GAAC;GAAG;GAAG;GAAG;GAAG;GAAE;EAC7B,OAAO;EACP,aAAa;EAChB;CACJ;AAGD,SAAS,EAAc,GAAwC;AAC3D,QAAO;EACH,OAAO;EACP,OAAO;EACP,WAAW;EACX,WAAW,KAAK,IAAI,KAAK,IAAI,EAAO,UAAU,IAAI,GAAG,EAAE,GAAG;EAC1D,cAAc;GAAC;GAAG;GAAG;GAAG;GAAG;GAAE;EAC7B,OAAO;EACP,aAAa;EAChB;;AAIL,SAAgB,EAAgB,GAAuB;AACnD,QAAO,EAAM,QAAQ,OAAO,GAAG;;AAKnC,SAAgB,EAAgB,GAAuC;CACnE,IAAM,IAAS,EAAgB,EAAM;AAMrC,QAJK,IAKD,EAAiB,MAAM,MAAS,EAAK,MAAM,KAAK,EAAO,CAAC,IACxD,EAAiB,MAAM,MAAS,EAAK,YAAY,KAAK,EAAO,CAAC,IAC9D,EAAc,EAAO,GANd,EAAc,EAAO;;AAWpC,SAAgB,EAAiB,GAAuB;CACpD,IAAM,IAAS,EAAgB,EAAM,EAC/B,IAAO,EAAgB,EAAO,EAC9B,IAAgB,EAAO,MAAM,GAAG,EAAK,UAAU,EAC/C,IAAkB,EAAE,EACtB,IAAS;AAEb,MAAK,IAAM,KAAU,EAAK,cAAc;AACpC,MAAI,KAAU,EAAc,OACxB;AAIJ,EADA,EAAM,KAAK,EAAc,MAAM,GAAQ,IAAS,EAAO,CAAC,EACxD,KAAU;;AAOd,QAJI,IAAS,EAAc,UACvB,EAAM,KAAK,EAAc,MAAM,EAAO,CAAC,EAGpC,EAAM,KAAK,IAAI;;AAI1B,SAAS,EAAW,GAAwB;CACxC,IAAI,IAAM,GACN,IAAe;AAEnB,MAAK,IAAI,IAAQ,EAAM,SAAS,GAAG,KAAS,GAAG,KAAY;EACvD,IAAI,IAAQ,SAAS,EAAM,IAAQ,GAAG;AAEtC,MAAI,OAAO,MAAM,EAAM,CACnB,QAAO;AAWX,EARI,MACA,KAAS,GACL,IAAQ,MACR,KAAS,KAIjB,KAAO,GACP,IAAe,CAAC;;AAGpB,QAAO,IAAM,MAAO;;AAIxB,SAAgB,EAAmB,GAAiC;AAChE,KAAI,CAAC,EACD,QAAO;CAGX,IAAM,IAAS,EAAgB,EAAM,EAC/B,IAAO,EAAgB,EAAO;AAkBpC,QAhBI,EAAO,SAAS,KACT;EAAC,OAAO;EAAO,OAAO;EAA4B,GAGzD,EAAO,SAAS,EAAK,YACd;EAAC,OAAO;EAAO,OAAO,GAAG,EAAK,MAAM;EAA0B,GAGrE,EAAK,UAAU,aAAa,CAAC,EAAK,MAAM,KAAK,EAAO,GAC7C;EAAC,OAAO;EAAO,OAAO,WAAW,EAAK,MAAM;EAAc,GAGhE,EAAW,EAAO,GAIhB,IAHI;EAAC,OAAO;EAAO,OAAO;EAAwB"}
|