@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
|
@@ -0,0 +1,410 @@
|
|
|
1
|
+
import { p as e, s as t } from "./frameworkTexts-o43FqY1A.js";
|
|
2
|
+
import { Ki as n, Xi as r, Yi as i } from "./icons-IqEBmGh3.js";
|
|
3
|
+
import { t as a } from "./cn-CUSXNnjF.js";
|
|
4
|
+
import { n as o } from "./useGhostText-CKsb8Ufa.js";
|
|
5
|
+
import { t as s } from "./MPopover-CBDbUOW6.js";
|
|
6
|
+
import { n as c, t as l } from "./MInput-QnQV9L8U.js";
|
|
7
|
+
/* empty css */
|
|
8
|
+
import { forwardRef as u, useCallback as d, useId as f, useMemo as p, useRef as m, useState as h } from "react";
|
|
9
|
+
import { jsx as g, jsxs as _ } from "react/jsx-runtime";
|
|
10
|
+
//#region src/components/inputs/MInputExpDate/MInputExpDate.tsx
|
|
11
|
+
var v = { valid: !0 };
|
|
12
|
+
function y(e) {
|
|
13
|
+
return e.replace(/\D/g, "");
|
|
14
|
+
}
|
|
15
|
+
function b(e) {
|
|
16
|
+
return e ? e.padStart(2, "0").slice(0, 2) : "";
|
|
17
|
+
}
|
|
18
|
+
function x(e, t) {
|
|
19
|
+
let n = b(e), r = t?.slice(0, 4) ?? "";
|
|
20
|
+
return !n && !r ? "" : r ? `${n}/${r}` : n;
|
|
21
|
+
}
|
|
22
|
+
function S(e) {
|
|
23
|
+
let t = e.indexOf("/");
|
|
24
|
+
if (t >= 0) return {
|
|
25
|
+
month: y(e.slice(0, t)).slice(0, 2),
|
|
26
|
+
year: y(e.slice(t + 1)).slice(0, 4)
|
|
27
|
+
};
|
|
28
|
+
let n = y(e).slice(0, 6);
|
|
29
|
+
return {
|
|
30
|
+
month: n.slice(0, 2),
|
|
31
|
+
year: n.slice(2, 6)
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
function C(e, t) {
|
|
35
|
+
let n = (/* @__PURE__ */ new Date()).getFullYear(), r = Math.max(e ?? n, n);
|
|
36
|
+
return {
|
|
37
|
+
resolvedMinYear: r,
|
|
38
|
+
resolvedMaxYear: Math.max(t ?? n + 20, r)
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
function w(e, { minYear: t, maxYear: n }) {
|
|
42
|
+
if (!e) return v;
|
|
43
|
+
let { month: r, year: i } = S(e);
|
|
44
|
+
if (r.length !== 2 || i.length !== 4) return {
|
|
45
|
+
valid: !1,
|
|
46
|
+
error: "Expiration date is incomplete"
|
|
47
|
+
};
|
|
48
|
+
let a = parseInt(r, 10), o = parseInt(i, 10), { resolvedMinYear: s, resolvedMaxYear: c } = C(t, n);
|
|
49
|
+
if (Number.isNaN(a) || a < 1 || a > 12) return {
|
|
50
|
+
valid: !1,
|
|
51
|
+
error: "Use a valid month"
|
|
52
|
+
};
|
|
53
|
+
if (Number.isNaN(o)) return {
|
|
54
|
+
valid: !1,
|
|
55
|
+
error: "Use a valid year"
|
|
56
|
+
};
|
|
57
|
+
if (o < s) return {
|
|
58
|
+
valid: !1,
|
|
59
|
+
error: `Year must be ${s} or later`
|
|
60
|
+
};
|
|
61
|
+
if (o > c) return {
|
|
62
|
+
valid: !1,
|
|
63
|
+
error: `Year must be ${c} or earlier`
|
|
64
|
+
};
|
|
65
|
+
let l = /* @__PURE__ */ new Date(), u = l.getMonth() + 1, d = l.getFullYear();
|
|
66
|
+
return o < d || o === d && a < u ? {
|
|
67
|
+
valid: !1,
|
|
68
|
+
error: "Card has expired"
|
|
69
|
+
} : v;
|
|
70
|
+
}
|
|
71
|
+
var ee = Array.from({ length: 12 }, (e, t) => String(t + 1).padStart(2, "0"));
|
|
72
|
+
function T({ options: e, value: t, placeholder: r, name: i, onSelect: c, triggerRef: l, listRef: u }) {
|
|
73
|
+
let [d, p] = h(!1), m = f(), v = `${m}-listbox`, y = `${m}-name`, b = `${m}-value`, x = e.indexOf(t), S = (e) => {
|
|
74
|
+
c(e), l.current?.focus(), p(!1);
|
|
75
|
+
}, C = o({
|
|
76
|
+
itemCount: e.length,
|
|
77
|
+
onSelect: (t) => S(e[t]),
|
|
78
|
+
onClose: () => p(!1),
|
|
79
|
+
isOpen: d,
|
|
80
|
+
mode: "roving",
|
|
81
|
+
selectOnSpace: !0,
|
|
82
|
+
loop: !1,
|
|
83
|
+
getItemLabel: (t) => e[t]
|
|
84
|
+
}), w = (e) => {
|
|
85
|
+
C.setActiveIndex(e), p(!0);
|
|
86
|
+
};
|
|
87
|
+
return /* @__PURE__ */ _("div", {
|
|
88
|
+
className: "dropdown menu anchor",
|
|
89
|
+
children: [/* @__PURE__ */ g("div", {
|
|
90
|
+
ref: l,
|
|
91
|
+
className: "dropdown menu trigger",
|
|
92
|
+
role: "button",
|
|
93
|
+
tabIndex: 0,
|
|
94
|
+
"aria-haspopup": "listbox",
|
|
95
|
+
"aria-expanded": d,
|
|
96
|
+
"aria-controls": d ? v : void 0,
|
|
97
|
+
"aria-labelledby": `${y} ${b}`,
|
|
98
|
+
onClick: () => {
|
|
99
|
+
if (d) {
|
|
100
|
+
p(!1);
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
w(x >= 0 ? x : 0);
|
|
104
|
+
},
|
|
105
|
+
onKeyDown: (t) => {
|
|
106
|
+
d || (t.key === "ArrowDown" || t.key === "Enter" || t.key === " " ? (t.preventDefault(), w(x >= 0 ? x : 0)) : t.key === "ArrowUp" && (t.preventDefault(), w(x >= 0 ? x : e.length - 1)));
|
|
107
|
+
},
|
|
108
|
+
onKeyUp: (e) => {
|
|
109
|
+
e.key === " " && e.preventDefault();
|
|
110
|
+
},
|
|
111
|
+
children: /* @__PURE__ */ _("span", {
|
|
112
|
+
className: a("input-exp-date-trigger", d && "open", !t && "placeholder"),
|
|
113
|
+
children: [
|
|
114
|
+
/* @__PURE__ */ g("span", {
|
|
115
|
+
id: y,
|
|
116
|
+
className: "input-exp-date-sr-only",
|
|
117
|
+
children: i
|
|
118
|
+
}),
|
|
119
|
+
/* @__PURE__ */ g("span", {
|
|
120
|
+
id: b,
|
|
121
|
+
children: t || r
|
|
122
|
+
}),
|
|
123
|
+
/* @__PURE__ */ g(n, {
|
|
124
|
+
size: 16,
|
|
125
|
+
"aria-hidden": "true"
|
|
126
|
+
})
|
|
127
|
+
]
|
|
128
|
+
})
|
|
129
|
+
}), /* @__PURE__ */ g(s, {
|
|
130
|
+
open: d,
|
|
131
|
+
anchorRef: l,
|
|
132
|
+
onClose: () => p(!1),
|
|
133
|
+
placement: "bottom-start",
|
|
134
|
+
className: "dropdown menu popover input-exp-date-popover",
|
|
135
|
+
role: null,
|
|
136
|
+
initialFocus: "first",
|
|
137
|
+
closeOnTabOut: !0,
|
|
138
|
+
children: /* @__PURE__ */ g("div", {
|
|
139
|
+
ref: u,
|
|
140
|
+
id: v,
|
|
141
|
+
className: "dropdown menu list",
|
|
142
|
+
role: "listbox",
|
|
143
|
+
"aria-labelledby": y,
|
|
144
|
+
tabIndex: -1,
|
|
145
|
+
onKeyDown: C.onKeyDown,
|
|
146
|
+
children: e.map((e, n) => {
|
|
147
|
+
let r = C.getItemProps(n), i = e === t;
|
|
148
|
+
return /* @__PURE__ */ g("button", {
|
|
149
|
+
type: "button",
|
|
150
|
+
id: r.id,
|
|
151
|
+
ref: r.ref,
|
|
152
|
+
tabIndex: r.tabIndex,
|
|
153
|
+
onFocus: r.onFocus,
|
|
154
|
+
role: "option",
|
|
155
|
+
"aria-selected": i,
|
|
156
|
+
className: a("dropdown menu item", n === C.activeIndex && "active", i && "selected"),
|
|
157
|
+
onMouseEnter: () => {
|
|
158
|
+
u.current?.contains(document.activeElement) ? C.focusItem(n) : C.setActiveIndex(n);
|
|
159
|
+
},
|
|
160
|
+
onClick: () => S(e),
|
|
161
|
+
children: /* @__PURE__ */ g("span", {
|
|
162
|
+
className: "dropdown menu label",
|
|
163
|
+
children: e
|
|
164
|
+
})
|
|
165
|
+
}, e);
|
|
166
|
+
})
|
|
167
|
+
})
|
|
168
|
+
})]
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
var te = u(function({ validateOnBlur: n = !0, validateOnChange: i = !1, minYear: o, maxYear: s, onValidationChange: l, onValueChange: u, value: b, defaultValue: te, name: E, id: D, disabled: O = !1, readOnly: k = !1, required: A = !1, autoFocus: j = !1, variant: M = "outlined", size: ne = "md", color: re, fullWidth: ie = !1, rounded: ae = !1, label: N, helperText: P, errorText: oe, startIcon: se, endIcon: ce, clearable: le = !1, error: ue = !1, success: de, onChange: fe, onFocus: F, onBlur: I, onClear: pe, className: me, style: he, labelClassName: ge }, L) {
|
|
172
|
+
let _e = t(), R = e(), z = m(null), ve = m(null), { currentValue: B, setCurrentValue: ye } = c(b, te), [V, be] = h(v), [H, xe] = h(!1), [U, Se] = h(!1), Ce = m(null), we = m(null), Te = m(null), Ee = m(null), De = `${f()}-label`, { month: W, year: G } = S(B), Oe = !!(W || G), K = O || k, { resolvedMinYear: q, resolvedMaxYear: ke } = C(o, s), Ae = p(() => Array.from({ length: ke - q + 1 }, (e, t) => String(q + t)), [ke, q]), J = d((e) => {
|
|
173
|
+
let t = w(e, {
|
|
174
|
+
minYear: o,
|
|
175
|
+
maxYear: s
|
|
176
|
+
});
|
|
177
|
+
return be(t), l?.(t), t;
|
|
178
|
+
}, [
|
|
179
|
+
s,
|
|
180
|
+
o,
|
|
181
|
+
l
|
|
182
|
+
]), Y = d((e) => {
|
|
183
|
+
ye(e), u?.(y(e), e);
|
|
184
|
+
let t = L?.current ?? z.current;
|
|
185
|
+
t && ((Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, "value")?.set)?.call(t, e), t.dispatchEvent(new Event("input", { bubbles: !0 })));
|
|
186
|
+
}, [
|
|
187
|
+
u,
|
|
188
|
+
L,
|
|
189
|
+
ye
|
|
190
|
+
]), X = d((e, t) => {
|
|
191
|
+
let n = x(e, t);
|
|
192
|
+
Y(n), i && H && J(n);
|
|
193
|
+
}, [
|
|
194
|
+
J,
|
|
195
|
+
Y,
|
|
196
|
+
H,
|
|
197
|
+
i
|
|
198
|
+
]), Z = d(() => {
|
|
199
|
+
(Ce.current ?? L?.current ?? z.current)?.focus();
|
|
200
|
+
}, [L]), je = d((e) => {
|
|
201
|
+
if (U) return;
|
|
202
|
+
Se(!0);
|
|
203
|
+
let t = L?.current ?? z.current;
|
|
204
|
+
t && e.target !== t && F?.(e);
|
|
205
|
+
}, [
|
|
206
|
+
U,
|
|
207
|
+
F,
|
|
208
|
+
L
|
|
209
|
+
]), Me = d((e) => {
|
|
210
|
+
let t = e.relatedTarget;
|
|
211
|
+
t && (ve.current?.contains(t) || Te.current?.contains(t) || Ee.current?.contains(t)) || (Se(!1), xe(!0), n && B && J(B), I?.(e));
|
|
212
|
+
}, [
|
|
213
|
+
B,
|
|
214
|
+
I,
|
|
215
|
+
J,
|
|
216
|
+
n
|
|
217
|
+
]), Ne = d((e) => {
|
|
218
|
+
X(e, G);
|
|
219
|
+
}, [X, G]), Pe = d((e) => {
|
|
220
|
+
X(W, e);
|
|
221
|
+
}, [W, X]), Fe = d((e) => {
|
|
222
|
+
let t = e.target;
|
|
223
|
+
e.currentTarget.contains(t) && (t instanceof Element && t.closest(".dropdown.menu.anchor") || Z());
|
|
224
|
+
}, [Z]), Ie = d(() => {
|
|
225
|
+
Y(""), xe(!1), be(v), l?.(v), pe?.(), Z();
|
|
226
|
+
}, [
|
|
227
|
+
Z,
|
|
228
|
+
pe,
|
|
229
|
+
l,
|
|
230
|
+
Y
|
|
231
|
+
]), Q = ue || H && !V.valid, $ = oe || (H && !V.valid ? V.error : void 0), Le = !Q && (de === void 0 ? H && V.valid && !!(W && G) : de), Re = Q ? "color-error" : re ? `color-${re}` : void 0, ze = a("container", `field-${M}`, `field-${ne}`, U && "focused", Q && "input-error", Le && !Q && "input-success", Re, O && "disabled", ae && "rounded"), Be = W || R.expMonthPlaceholder, Ve = G || R.expYearPlaceholder;
|
|
232
|
+
return /* @__PURE__ */ _("div", {
|
|
233
|
+
ref: ve,
|
|
234
|
+
className: a("input", "input-exp-date", Re, ie && "full-width", me),
|
|
235
|
+
style: he,
|
|
236
|
+
onFocusCapture: je,
|
|
237
|
+
onBlurCapture: Me,
|
|
238
|
+
children: [
|
|
239
|
+
N && /* @__PURE__ */ g("label", {
|
|
240
|
+
id: De,
|
|
241
|
+
htmlFor: D,
|
|
242
|
+
className: a("field-label", U && "focused", Q && "error", Le && !Q && "success", A && "required", ge),
|
|
243
|
+
children: N
|
|
244
|
+
}),
|
|
245
|
+
/* @__PURE__ */ _("div", {
|
|
246
|
+
className: ze,
|
|
247
|
+
onClick: Fe,
|
|
248
|
+
children: [
|
|
249
|
+
se && /* @__PURE__ */ g("span", {
|
|
250
|
+
className: "start-icon",
|
|
251
|
+
children: se
|
|
252
|
+
}),
|
|
253
|
+
/* @__PURE__ */ g("input", {
|
|
254
|
+
ref: L ?? z,
|
|
255
|
+
type: "text",
|
|
256
|
+
value: B,
|
|
257
|
+
name: E,
|
|
258
|
+
id: D,
|
|
259
|
+
readOnly: !0,
|
|
260
|
+
required: A,
|
|
261
|
+
autoFocus: j,
|
|
262
|
+
className: "input-exp-date-native",
|
|
263
|
+
tabIndex: -1,
|
|
264
|
+
"aria-hidden": "true",
|
|
265
|
+
onChange: fe,
|
|
266
|
+
onFocus: F,
|
|
267
|
+
onBlur: I
|
|
268
|
+
}),
|
|
269
|
+
/* @__PURE__ */ _("div", {
|
|
270
|
+
className: "input-exp-date-segments",
|
|
271
|
+
role: "group",
|
|
272
|
+
"aria-label": N ? void 0 : _e.expirationDate,
|
|
273
|
+
"aria-labelledby": N ? De : void 0,
|
|
274
|
+
children: [
|
|
275
|
+
K ? /* @__PURE__ */ g("span", {
|
|
276
|
+
className: a("input-exp-date-trigger", !W && "placeholder", "static"),
|
|
277
|
+
children: /* @__PURE__ */ g("span", { children: Be })
|
|
278
|
+
}) : /* @__PURE__ */ g(T, {
|
|
279
|
+
options: ee,
|
|
280
|
+
value: W,
|
|
281
|
+
placeholder: R.expMonthPlaceholder,
|
|
282
|
+
name: R.expMonth,
|
|
283
|
+
onSelect: Ne,
|
|
284
|
+
triggerRef: Ce,
|
|
285
|
+
listRef: Te
|
|
286
|
+
}),
|
|
287
|
+
/* @__PURE__ */ g("span", {
|
|
288
|
+
className: "input-exp-date-separator",
|
|
289
|
+
"aria-hidden": "true",
|
|
290
|
+
children: "/"
|
|
291
|
+
}),
|
|
292
|
+
K ? /* @__PURE__ */ g("span", {
|
|
293
|
+
className: a("input-exp-date-trigger", !G && "placeholder", "static"),
|
|
294
|
+
children: /* @__PURE__ */ g("span", { children: Ve })
|
|
295
|
+
}) : /* @__PURE__ */ g(T, {
|
|
296
|
+
options: Ae,
|
|
297
|
+
value: G,
|
|
298
|
+
placeholder: R.expYearPlaceholder,
|
|
299
|
+
name: R.expYear,
|
|
300
|
+
onSelect: Pe,
|
|
301
|
+
triggerRef: we,
|
|
302
|
+
listRef: Ee
|
|
303
|
+
})
|
|
304
|
+
]
|
|
305
|
+
}),
|
|
306
|
+
le && Oe && !K && /* @__PURE__ */ g("button", {
|
|
307
|
+
type: "button",
|
|
308
|
+
className: "clear-btn clear-btn-base",
|
|
309
|
+
onClick: (e) => {
|
|
310
|
+
e.stopPropagation(), Ie();
|
|
311
|
+
},
|
|
312
|
+
tabIndex: -1,
|
|
313
|
+
"aria-label": _e.clearInput,
|
|
314
|
+
children: /* @__PURE__ */ g(r, {})
|
|
315
|
+
}),
|
|
316
|
+
ce && /* @__PURE__ */ g("span", {
|
|
317
|
+
className: "end-icon",
|
|
318
|
+
children: ce
|
|
319
|
+
})
|
|
320
|
+
]
|
|
321
|
+
}),
|
|
322
|
+
($ || P) && /* @__PURE__ */ g("div", {
|
|
323
|
+
className: "bottom-row",
|
|
324
|
+
children: /* @__PURE__ */ _("span", { children: [$ && /* @__PURE__ */ g("span", {
|
|
325
|
+
id: D ? `${D}-error` : void 0,
|
|
326
|
+
className: "field-error",
|
|
327
|
+
role: "alert",
|
|
328
|
+
children: $
|
|
329
|
+
}), !$ && P && /* @__PURE__ */ g("span", {
|
|
330
|
+
id: D ? `${D}-helper` : void 0,
|
|
331
|
+
className: "field-helper",
|
|
332
|
+
children: P
|
|
333
|
+
})] })
|
|
334
|
+
})
|
|
335
|
+
]
|
|
336
|
+
});
|
|
337
|
+
}), E = { valid: !0 };
|
|
338
|
+
function D(e) {
|
|
339
|
+
return e.replace(/\D/g, "");
|
|
340
|
+
}
|
|
341
|
+
function O(e, t) {
|
|
342
|
+
return e ? D(e).length === t ? E : {
|
|
343
|
+
valid: !1,
|
|
344
|
+
error: `Security code must have ${t} digits`
|
|
345
|
+
} : E;
|
|
346
|
+
}
|
|
347
|
+
var k = u(function({ length: e = 3, validateOnBlur: t = !0, validateOnChange: n = !1, onValidationChange: r, onValueChange: o, value: s, defaultValue: c, onChange: u, onBlur: f, onKeyDown: p, error: m, errorText: _, success: v, placeholder: y, className: b, inputClassName: x, ...S }, C) {
|
|
348
|
+
let [w, ee] = h(() => D(c?.toString() ?? "").slice(0, e)), [T, te] = h(E), [k, A] = h(!1), j = s === void 0 ? w : D(s.toString()).slice(0, e), M = d((t) => {
|
|
349
|
+
let n = O(t, e);
|
|
350
|
+
return te(n), r?.(n), n;
|
|
351
|
+
}, [e, r]), ne = d((t) => {
|
|
352
|
+
let r = D(t.target.value).slice(0, e);
|
|
353
|
+
s === void 0 && ee(r), o?.(r), n && k && M(r), u?.(t);
|
|
354
|
+
}, [
|
|
355
|
+
e,
|
|
356
|
+
u,
|
|
357
|
+
o,
|
|
358
|
+
M,
|
|
359
|
+
k,
|
|
360
|
+
n,
|
|
361
|
+
s
|
|
362
|
+
]), re = d((e) => {
|
|
363
|
+
A(!0), t && j && M(j), f?.(e);
|
|
364
|
+
}, [
|
|
365
|
+
j,
|
|
366
|
+
f,
|
|
367
|
+
M,
|
|
368
|
+
t
|
|
369
|
+
]), ie = d((e) => {
|
|
370
|
+
if ([
|
|
371
|
+
"Backspace",
|
|
372
|
+
"Delete",
|
|
373
|
+
"Tab",
|
|
374
|
+
"ArrowLeft",
|
|
375
|
+
"ArrowRight",
|
|
376
|
+
"Home",
|
|
377
|
+
"End"
|
|
378
|
+
].includes(e.key)) {
|
|
379
|
+
p?.(e);
|
|
380
|
+
return;
|
|
381
|
+
}
|
|
382
|
+
if (e.ctrlKey || e.metaKey) {
|
|
383
|
+
p?.(e);
|
|
384
|
+
return;
|
|
385
|
+
}
|
|
386
|
+
/^\d$/.test(e.key) || e.preventDefault(), p?.(e);
|
|
387
|
+
}, [p]), ae = m || k && !T.valid, N = _ || (k && !T.valid ? T.error : void 0), P = !ae && (v === void 0 ? k && j.length === e : v), oe = P ? /* @__PURE__ */ g(i, {}) : void 0;
|
|
388
|
+
return /* @__PURE__ */ g(l, {
|
|
389
|
+
...S,
|
|
390
|
+
ref: C,
|
|
391
|
+
type: "text",
|
|
392
|
+
inputMode: "numeric",
|
|
393
|
+
value: j,
|
|
394
|
+
onChange: ne,
|
|
395
|
+
onBlur: re,
|
|
396
|
+
onKeyDown: ie,
|
|
397
|
+
error: ae,
|
|
398
|
+
errorText: N,
|
|
399
|
+
success: P,
|
|
400
|
+
placeholder: y ?? "".padEnd(e, "0"),
|
|
401
|
+
maxLength: e,
|
|
402
|
+
endIcon: oe,
|
|
403
|
+
inputClassName: a("input-cvc-field", x),
|
|
404
|
+
className: b
|
|
405
|
+
});
|
|
406
|
+
});
|
|
407
|
+
//#endregion
|
|
408
|
+
export { te as n, k as t };
|
|
409
|
+
|
|
410
|
+
//# sourceMappingURL=MInputCVC-IXIYZwex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MInputCVC-IXIYZwex.js","names":[],"sources":["../src/components/inputs/MInputExpDate/MInputExpDate.tsx","../src/components/inputs/MInputCVC/MInputCVC.tsx"],"sourcesContent":["import {forwardRef, useCallback, useId, useMemo, useRef, useState} from 'react'\nimport type * as React from 'react'\nimport type {MInputExpDateProps} from './MInputExpDate.types'\nimport {cn} from '../../../utils/cn'\nimport {useControllableString} from '../../../utils/useControllableString'\nimport type {ValidationResult} from '../../../utils/validators'\nimport {MCloseIcon, MChevronDownIcon} from '../../../icons'\nimport {MPopover} from '../../primitives'\nimport {useKeyboardNav} from '../../../utils/useKeyboardNav'\nimport '../MInput/MInput.css'\nimport '../../overlays/MDropdownMenu/MDropdownMenu.css'\nimport './MInputExpDate.css'\nimport {useMCommonTexts, useMInputTexts} from '../../../i18n/frameworkTexts'\n\nconst OK: ValidationResult = {valid: true}\n\nfunction stripDigits(value: string) {\n return value.replace(/\\D/g, '')\n}\n\nfunction padMonth(value?: string) {\n if (!value) {\n return ''\n }\n\n return value.padStart(2, '0').slice(0, 2)\n}\n\nfunction formatValue(month?: string, year?: string) {\n const resolvedMonth = padMonth(month)\n const resolvedYear = year?.slice(0, 4) ?? ''\n\n if (!resolvedMonth && !resolvedYear) {\n return ''\n }\n\n if (!resolvedYear) {\n return resolvedMonth\n }\n\n return `${resolvedMonth}/${resolvedYear}`\n}\n\nfunction parseValue(value: string) {\n // `MM/YYYY`, `/YYYY` (year only) or `MM/` — the slash tells the segments apart,\n // so a year picked alone is not read back as month `20` + year `27`.\n const slash = value.indexOf('/')\n if (slash >= 0) {\n return {\n month: stripDigits(value.slice(0, slash)).slice(0, 2),\n year: stripDigits(value.slice(slash + 1)).slice(0, 4),\n }\n }\n\n const digits = stripDigits(value).slice(0, 6)\n\n return {\n month: digits.slice(0, 2),\n year: digits.slice(2, 6),\n }\n}\n\nfunction resolveYearBounds(minYear?: number, maxYear?: number) {\n const currentYear = new Date().getFullYear()\n const resolvedMinYear = Math.max(minYear ?? currentYear, currentYear)\n const resolvedMaxYear = Math.max(maxYear ?? currentYear + 20, resolvedMinYear)\n\n return {\n resolvedMinYear,\n resolvedMaxYear,\n }\n}\n\nfunction validateExpDate(\n value: string,\n {minYear, maxYear}: Pick<MInputExpDateProps, 'minYear' | 'maxYear'>\n): ValidationResult {\n if (!value) {\n return OK\n }\n\n const {month: monthValue, year: yearValue} = parseValue(value)\n\n if (monthValue.length !== 2 || yearValue.length !== 4) {\n return {valid: false, error: 'Expiration date is incomplete'}\n }\n\n const month = parseInt(monthValue, 10)\n const year = parseInt(yearValue, 10)\n const {resolvedMinYear, resolvedMaxYear} = resolveYearBounds(minYear, maxYear)\n\n if (Number.isNaN(month) || month < 1 || month > 12) {\n return {valid: false, error: 'Use a valid month'}\n }\n\n if (Number.isNaN(year)) {\n return {valid: false, error: 'Use a valid year'}\n }\n\n if (year < resolvedMinYear) {\n return {valid: false, error: `Year must be ${resolvedMinYear} or later`}\n }\n\n if (year > resolvedMaxYear) {\n return {valid: false, error: `Year must be ${resolvedMaxYear} or earlier`}\n }\n\n const now = new Date()\n const currentMonth = now.getMonth() + 1\n const currentYear = now.getFullYear()\n\n if (year < currentYear || (year === currentYear && month < currentMonth)) {\n return {valid: false, error: 'Card has expired'}\n }\n\n return OK\n}\n\nconst MONTH_OPTIONS = Array.from({length: 12}, (_, index) => String(index + 1).padStart(2, '0'))\n\ninterface ExpDateSegmentProps {\n options: string[]\n value: string\n placeholder: string\n /** Accessible name of the picker (\"Month\" / \"Year\"). */\n name: string\n onSelect: (value: string) => void\n triggerRef: React.RefObject<HTMLDivElement | null>\n listRef: React.RefObject<HTMLDivElement | null>\n}\n\n/**\n * One segment (month or year) of the expiry date: a button that opens an APG single-select\n * listbox. The markup keeps the original `dropdown menu *` classes so the look does not change.\n */\nfunction ExpDateSegment({options, value, placeholder, name, onSelect, triggerRef, listRef}: ExpDateSegmentProps) {\n const [open, setOpen] = useState(false)\n const baseId = useId()\n const listId = `${baseId}-listbox`\n const nameId = `${baseId}-name`\n const valueId = `${baseId}-value`\n const selectedIndex = options.indexOf(value)\n\n const choose = (option: string) => {\n onSelect(option)\n triggerRef.current?.focus()\n setOpen(false)\n }\n\n const nav = useKeyboardNav({\n itemCount: options.length,\n onSelect: (index) => choose(options[index]),\n onClose: () => setOpen(false),\n isOpen: open,\n mode: 'roving',\n selectOnSpace: true,\n loop: false,\n getItemLabel: (index) => options[index],\n })\n\n const openList = (index: number) => {\n nav.setActiveIndex(index)\n setOpen(true)\n }\n\n const handleTriggerClick = () => {\n if (open) {\n setOpen(false)\n return\n }\n openList(selectedIndex >= 0 ? selectedIndex : 0)\n }\n\n const handleTriggerKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (open) return\n if (event.key === 'ArrowDown' || event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n openList(selectedIndex >= 0 ? selectedIndex : 0)\n } else if (event.key === 'ArrowUp') {\n event.preventDefault()\n openList(selectedIndex >= 0 ? selectedIndex : options.length - 1)\n }\n }\n\n return (\n <div className=\"dropdown menu anchor\">\n <div\n ref={triggerRef}\n className=\"dropdown menu trigger\"\n role=\"button\"\n tabIndex={0}\n aria-haspopup=\"listbox\"\n aria-expanded={open}\n aria-controls={open ? listId : undefined}\n aria-labelledby={`${nameId} ${valueId}`}\n onClick={handleTriggerClick}\n onKeyDown={handleTriggerKeyDown}\n onKeyUp={(event) => {\n // Firefox activates on Space keyup even when keydown was prevented.\n if (event.key === ' ') event.preventDefault()\n }}\n >\n <span className={cn('input-exp-date-trigger', open && 'open', !value && 'placeholder')}>\n <span id={nameId} className=\"input-exp-date-sr-only\">\n {name}\n </span>\n <span id={valueId}>{value || placeholder}</span>\n <MChevronDownIcon size={16} aria-hidden=\"true\" />\n </span>\n </div>\n <MPopover\n open={open}\n anchorRef={triggerRef}\n onClose={() => setOpen(false)}\n placement=\"bottom-start\"\n className=\"dropdown menu popover input-exp-date-popover\"\n role={null}\n initialFocus=\"first\"\n closeOnTabOut\n >\n <div\n ref={listRef}\n id={listId}\n className=\"dropdown menu list\"\n role=\"listbox\"\n aria-labelledby={nameId}\n tabIndex={-1}\n onKeyDown={nav.onKeyDown}\n >\n {options.map((option, index) => {\n const itemProps = nav.getItemProps(index)\n const selected = option === value\n return (\n <button\n key={option}\n type=\"button\"\n id={itemProps.id}\n ref={itemProps.ref}\n tabIndex={itemProps.tabIndex}\n onFocus={itemProps.onFocus}\n role=\"option\"\n aria-selected={selected}\n className={cn(\n 'dropdown menu item',\n index === nav.activeIndex && 'active',\n selected && 'selected'\n )}\n onMouseEnter={() => {\n // Follow the pointer with real focus only while focus is already in the list.\n if (listRef.current?.contains(document.activeElement)) nav.focusItem(index)\n else nav.setActiveIndex(index)\n }}\n onClick={() => choose(option)}\n >\n <span className=\"dropdown menu label\">{option}</span>\n </button>\n )\n })}\n </div>\n </MPopover>\n </div>\n )\n}\n\nexport const MInputExpDate = forwardRef<HTMLInputElement, MInputExpDateProps>(function MInputExpDate(\n {\n validateOnBlur = true,\n validateOnChange = false,\n minYear,\n maxYear,\n onValidationChange,\n onValueChange,\n value,\n defaultValue,\n name,\n id,\n disabled = false,\n readOnly = false,\n required = false,\n autoFocus = false,\n variant = 'outlined',\n size = 'md',\n color,\n fullWidth = false,\n rounded = false,\n label,\n helperText,\n errorText,\n startIcon,\n endIcon,\n clearable = false,\n error = false,\n success,\n onChange,\n onFocus,\n onBlur,\n onClear,\n className,\n style,\n labelClassName,\n },\n ref\n) {\n const texts = useMCommonTexts()\n const inputTexts = useMInputTexts()\n const inputRef = useRef<HTMLInputElement>(null)\n const rootRef = useRef<HTMLDivElement>(null)\n const {currentValue, setCurrentValue} = useControllableString(value, defaultValue)\n const [validation, setValidation] = useState<ValidationResult>(OK)\n const [touched, setTouched] = useState(false)\n const [focused, setFocused] = useState(false)\n const monthTriggerRef = useRef<HTMLDivElement>(null)\n const yearTriggerRef = useRef<HTMLDivElement>(null)\n const monthListRef = useRef<HTMLDivElement>(null)\n const yearListRef = useRef<HTMLDivElement>(null)\n const labelId = `${useId()}-label`\n\n const {month, year} = parseValue(currentValue)\n const hasContent = Boolean(month || year)\n const segmentDisabled = disabled || readOnly\n const {resolvedMinYear, resolvedMaxYear} = resolveYearBounds(minYear, maxYear)\n const yearOptions = useMemo(\n () =>\n Array.from({length: resolvedMaxYear - resolvedMinYear + 1}, (_, index) => String(resolvedMinYear + index)),\n [resolvedMaxYear, resolvedMinYear]\n )\n\n const runValidation = useCallback(\n (formattedValue: string) => {\n const result = validateExpDate(formattedValue, {minYear, maxYear})\n setValidation(result)\n onValidationChange?.(result)\n return result\n },\n [maxYear, minYear, onValidationChange]\n )\n\n const syncValue = useCallback(\n (formattedValue: string) => {\n setCurrentValue(formattedValue)\n onValueChange?.(stripDigits(formattedValue), formattedValue)\n\n const input = (ref as React.RefObject<HTMLInputElement>)?.current ?? inputRef.current\n if (input) {\n const nativeSet = Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, 'value')?.set\n nativeSet?.call(input, formattedValue)\n input.dispatchEvent(new Event('input', {bubbles: true}))\n }\n },\n [onValueChange, ref, setCurrentValue]\n )\n\n const updateValue = useCallback(\n (nextMonth?: string, nextYear?: string) => {\n const formattedValue = formatValue(nextMonth, nextYear)\n syncValue(formattedValue)\n\n if (validateOnChange && touched) {\n runValidation(formattedValue)\n }\n },\n [runValidation, syncValue, touched, validateOnChange]\n )\n\n // Keyboard focus lands on the month picker; the native input is aria-hidden and only a form carrier.\n const focusField = useCallback(() => {\n const target =\n monthTriggerRef.current ?? (ref as React.RefObject<HTMLInputElement>)?.current ?? inputRef.current\n target?.focus()\n }, [ref])\n\n const handleRootFocus = useCallback(\n (event: React.FocusEvent<HTMLDivElement>) => {\n if (focused) {\n return\n }\n\n setFocused(true)\n const input = (ref as React.RefObject<HTMLInputElement>)?.current ?? inputRef.current\n if (input && event.target !== input) {\n onFocus?.(event as unknown as React.FocusEvent<HTMLInputElement>)\n }\n },\n [focused, onFocus, ref]\n )\n\n const handleRootBlur = useCallback(\n (event: React.FocusEvent<HTMLDivElement>) => {\n const nextTarget = event.relatedTarget as Node | null\n\n // The listboxes render in a portal, so moving into them is still \"inside\" the field.\n if (\n nextTarget &&\n (rootRef.current?.contains(nextTarget) ||\n monthListRef.current?.contains(nextTarget) ||\n yearListRef.current?.contains(nextTarget))\n ) {\n return\n }\n\n setFocused(false)\n setTouched(true)\n\n if (validateOnBlur && currentValue) {\n runValidation(currentValue)\n }\n\n onBlur?.(event as unknown as React.FocusEvent<HTMLInputElement>)\n },\n [currentValue, onBlur, runValidation, validateOnBlur]\n )\n\n const handleSelectMonth = useCallback(\n (nextMonth: string) => {\n updateValue(nextMonth, year)\n },\n [updateValue, year]\n )\n\n const handleSelectYear = useCallback(\n (nextYear: string) => {\n updateValue(month, nextYear)\n },\n [month, updateValue]\n )\n\n // A click on the empty part of the field focuses it; clicks on the pickers (including their\n // portalled listboxes, whose React events bubble here) are handled by the pickers themselves.\n const handleContainerClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const target = event.target as Node\n if (!event.currentTarget.contains(target)) return\n if (target instanceof Element && target.closest('.dropdown.menu.anchor')) return\n focusField()\n },\n [focusField]\n )\n\n const handleClear = useCallback(() => {\n syncValue('')\n setTouched(false)\n setValidation(OK)\n onValidationChange?.(OK)\n onClear?.()\n focusField()\n }, [focusField, onClear, onValidationChange, syncValue])\n\n const hasError = error || (touched && !validation.valid)\n const resolvedErrorText = errorText || (touched && !validation.valid ? validation.error : undefined)\n const isSuccess =\n !hasError && (success !== undefined ? success : touched && validation.valid && Boolean(month && year))\n const resolvedColorClass = hasError ? 'color-error' : color ? `color-${color}` : undefined\n\n const containerClasses = cn(\n 'container',\n `field-${variant}`,\n `field-${size}`,\n focused && 'focused',\n hasError && 'input-error',\n isSuccess && !hasError && 'input-success',\n resolvedColorClass,\n disabled && 'disabled',\n rounded && 'rounded'\n )\n\n const monthLabel = month || inputTexts.expMonthPlaceholder\n const yearLabel = year || inputTexts.expYearPlaceholder\n\n return (\n <div\n ref={rootRef}\n className={cn('input', 'input-exp-date', resolvedColorClass, fullWidth && 'full-width', className)}\n style={style}\n onFocusCapture={handleRootFocus}\n onBlurCapture={handleRootBlur}\n >\n {label && (\n <label\n id={labelId}\n htmlFor={id}\n className={cn(\n 'field-label',\n focused && 'focused',\n hasError && 'error',\n isSuccess && !hasError && 'success',\n required && 'required',\n labelClassName\n )}\n >\n {label}\n </label>\n )}\n\n <div className={containerClasses} onClick={handleContainerClick}>\n {startIcon && <span className=\"start-icon\">{startIcon}</span>}\n\n <input\n ref={ref ?? inputRef}\n type=\"text\"\n value={currentValue}\n name={name}\n id={id}\n readOnly\n required={required}\n autoFocus={autoFocus}\n className=\"input-exp-date-native\"\n tabIndex={-1}\n aria-hidden=\"true\"\n onChange={onChange}\n onFocus={onFocus}\n onBlur={onBlur}\n />\n\n <div\n className=\"input-exp-date-segments\"\n role=\"group\"\n aria-label={label ? undefined : texts.expirationDate}\n aria-labelledby={label ? labelId : undefined}\n >\n {segmentDisabled ? (\n <span className={cn('input-exp-date-trigger', !month && 'placeholder', 'static')}>\n <span>{monthLabel}</span>\n </span>\n ) : (\n <ExpDateSegment\n options={MONTH_OPTIONS}\n value={month}\n placeholder={inputTexts.expMonthPlaceholder}\n name={inputTexts.expMonth}\n onSelect={handleSelectMonth}\n triggerRef={monthTriggerRef}\n listRef={monthListRef}\n />\n )}\n\n <span className=\"input-exp-date-separator\" aria-hidden=\"true\">\n /\n </span>\n\n {segmentDisabled ? (\n <span className={cn('input-exp-date-trigger', !year && 'placeholder', 'static')}>\n <span>{yearLabel}</span>\n </span>\n ) : (\n <ExpDateSegment\n options={yearOptions}\n value={year}\n placeholder={inputTexts.expYearPlaceholder}\n name={inputTexts.expYear}\n onSelect={handleSelectYear}\n triggerRef={yearTriggerRef}\n listRef={yearListRef}\n />\n )}\n </div>\n\n {clearable && hasContent && !segmentDisabled && (\n <button\n type=\"button\"\n className=\"clear-btn clear-btn-base\"\n onClick={(event) => {\n event.stopPropagation()\n handleClear()\n }}\n tabIndex={-1}\n aria-label={texts.clearInput}\n >\n <MCloseIcon />\n </button>\n )}\n\n {endIcon && <span className=\"end-icon\">{endIcon}</span>}\n </div>\n\n {(resolvedErrorText || helperText) && (\n <div className=\"bottom-row\">\n <span>\n {resolvedErrorText && (\n <span id={id ? `${id}-error` : undefined} className=\"field-error\" role=\"alert\">\n {resolvedErrorText}\n </span>\n )}\n {!resolvedErrorText && helperText && (\n <span id={id ? `${id}-helper` : undefined} className=\"field-helper\">\n {helperText}\n </span>\n )}\n </span>\n </div>\n )}\n </div>\n )\n})\n","import {forwardRef, useCallback, useState} from 'react'\nimport type * as React from 'react'\nimport type {MInputCVCProps} from './MInputCVC.types'\nimport {MInput} from '../MInput'\nimport type {ValidationResult} from '../../../utils/validators'\nimport {MCheckIcon} from '../../../icons'\nimport {cn} from '../../../utils/cn'\nimport './MInputCVC.css'\n\nconst OK: ValidationResult = {valid: true}\n\nfunction stripDigits(value: string) {\n return value.replace(/\\D/g, '')\n}\n\nfunction validateCvc(value: string, length: 3 | 4): ValidationResult {\n if (!value) {\n return OK\n }\n\n const digits = stripDigits(value)\n\n if (digits.length !== length) {\n return {valid: false, error: `Security code must have ${length} digits`}\n }\n\n return OK\n}\n\nexport const MInputCVC = forwardRef<HTMLInputElement, MInputCVCProps>(function MInputCVC(\n {\n length = 3,\n validateOnBlur = true,\n validateOnChange = false,\n onValidationChange,\n onValueChange,\n value,\n defaultValue,\n onChange,\n onBlur,\n onKeyDown,\n error,\n errorText,\n success,\n placeholder,\n className,\n inputClassName,\n ...rest\n },\n ref\n) {\n const [internalValue, setInternalValue] = useState(() =>\n stripDigits(defaultValue?.toString() ?? '').slice(0, length)\n )\n const [validation, setValidation] = useState<ValidationResult>(OK)\n const [touched, setTouched] = useState(false)\n\n const currentValue = value !== undefined ? stripDigits(value.toString()).slice(0, length) : internalValue\n\n const runValidation = useCallback(\n (nextValue: string) => {\n const result = validateCvc(nextValue, length)\n setValidation(result)\n onValidationChange?.(result)\n return result\n },\n [length, onValidationChange]\n )\n\n const handleChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n const nextValue = stripDigits(event.target.value).slice(0, length)\n\n if (value === undefined) {\n setInternalValue(nextValue)\n }\n\n onValueChange?.(nextValue)\n\n if (validateOnChange && touched) {\n runValidation(nextValue)\n }\n\n onChange?.(event)\n },\n [length, onChange, onValueChange, runValidation, touched, validateOnChange, value]\n )\n\n const handleBlur = useCallback(\n (event: React.FocusEvent<HTMLInputElement>) => {\n setTouched(true)\n\n if (validateOnBlur && currentValue) {\n runValidation(currentValue)\n }\n\n onBlur?.(event)\n },\n [currentValue, onBlur, runValidation, validateOnBlur]\n )\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (['Backspace', 'Delete', 'Tab', 'ArrowLeft', 'ArrowRight', 'Home', 'End'].includes(event.key)) {\n onKeyDown?.(event)\n return\n }\n\n if (event.ctrlKey || event.metaKey) {\n onKeyDown?.(event)\n return\n }\n\n if (!/^\\d$/.test(event.key)) {\n event.preventDefault()\n }\n\n onKeyDown?.(event)\n },\n [onKeyDown]\n )\n\n const isError = error || (touched && !validation.valid)\n const resolvedErrorText = errorText || (touched && !validation.valid ? validation.error : undefined)\n const isSuccess = !isError && (success !== undefined ? success : touched && currentValue.length === length)\n const endIcon = isSuccess ? <MCheckIcon /> : undefined\n\n return (\n <MInput\n {...rest}\n ref={ref}\n type=\"text\"\n inputMode=\"numeric\"\n value={currentValue}\n onChange={handleChange}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n error={isError}\n errorText={resolvedErrorText}\n success={isSuccess}\n placeholder={placeholder ?? ''.padEnd(length, '0')}\n maxLength={length}\n endIcon={endIcon}\n inputClassName={cn('input-cvc-field', inputClassName)}\n className={className}\n />\n )\n})\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require(`./frameworkTexts-CaqdiKHW.cjs`),t=require(`./icons-Bp8bB9TP.cjs`),n=require(`./useGhostText-DO-tfxS0.cjs`),r=require(`./MInput-BeEGufZG.cjs`);require(`./core-w629c4ND.cjs`);let i=require(`react`),a=require(`react/jsx-runtime`);var o=(0,i.forwardRef)(function({debounceMs:o=300,onSearch:s,value:c,defaultValue:l,onChange:u,onKeyDown:d,onClear:f,clearable:p=!0,placeholder:m,...h},g){let _=e.p(),[v,y]=(0,i.useState)(l?.toString()??``),b=c===void 0?v:c.toString(),x=n.i(e=>s?.(e),o),S=(0,i.useCallback)(e=>{c===void 0&&y(e.target.value),x(e.target.value),u?.(e)},[u,c,x]),C=(0,i.useCallback)(e=>{e.key===`Enter`&&s?.(b),d?.(e)},[b,s,d]),w=(0,i.useCallback)(()=>{c===void 0&&y(``),s?.(``),f?.()},[c,s,f]);return(0,a.jsx)(r.t,{...h,ref:g,type:`text`,value:b,onChange:S,onKeyDown:C,onClear:w,clearable:p,placeholder:m??_.searchPlaceholder,startIcon:(0,a.jsx)(t.Zi,{})})});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return o}});
|
|
2
|
+
//# sourceMappingURL=MInputSearch-BSIc6m2P.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MInputSearch-BSIc6m2P.cjs","names":[],"sources":["../src/components/inputs/MInputSearch/MInputSearch.tsx"],"sourcesContent":["import {useState, useCallback, forwardRef} from 'react'\nimport type * as React from 'react'\nimport type {MInputSearchProps} from './MInputSearch.types'\nimport {MInput} from '../MInput'\nimport {useDebouncedCallback} from '../../../utils/useDebounce'\nimport {MSearchIcon} from '../../../icons'\nimport {useMInputTexts} from '../../../i18n/frameworkTexts'\n\n// Extend the base input with debounced search callbacks and an inline clear action.\nexport const MInputSearch = forwardRef<HTMLInputElement, MInputSearchProps>(function MInputSearch(\n {\n debounceMs = 300,\n onSearch,\n value,\n defaultValue,\n onChange,\n onKeyDown,\n onClear,\n clearable = true,\n placeholder,\n ...rest\n },\n ref\n) {\n const texts = useMInputTexts()\n const [internalValue, setInternalValue] = useState(defaultValue?.toString() ?? '')\n const currentValue = value !== undefined ? value.toString() : internalValue\n\n const debouncedSearch = useDebouncedCallback((val: string) => onSearch?.(val), debounceMs)\n\n // Update local state and debounce search notifications while typing.\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (value === undefined) {\n setInternalValue(e.target.value)\n }\n debouncedSearch(e.target.value)\n onChange?.(e)\n },\n [onChange, value, debouncedSearch]\n )\n\n // Run search immediately when the user confirms with Enter.\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n onSearch?.(currentValue)\n }\n onKeyDown?.(e)\n },\n [currentValue, onSearch, onKeyDown]\n )\n\n // Clear both the visible field and the emitted search query.\n const handleClear = useCallback(() => {\n if (value === undefined) {\n setInternalValue('')\n }\n onSearch?.('')\n onClear?.()\n }, [value, onSearch, onClear])\n\n return (\n <MInput\n {...rest}\n ref={ref}\n type=\"text\"\n value={currentValue}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n onClear={handleClear}\n clearable={clearable}\n placeholder={placeholder ?? texts.searchPlaceholder}\n startIcon={<MSearchIcon />}\n />\n )\n})\n"],"mappings":"oPASA,IAAa,GAAA,EAAA,EAAA,YAA+D,SACxE,CACI,aAAa,IACb,WACA,QACA,eACA,WACA,YACA,UACA,YAAY,GACZ,cACA,GAAG,GAEP,EACF,CACE,IAAM,EAAQ,EAAA,GAAgB,CACxB,CAAC,EAAe,IAAA,EAAA,EAAA,UAA6B,GAAc,UAAU,EAAI,GAAG,CAC5E,EAAe,IAAU,IAAA,GAA+B,EAAnB,EAAM,UAAU,CAErD,EAAkB,EAAA,EAAsB,GAAgB,IAAW,EAAI,CAAE,EAAW,CAGpF,GAAA,EAAA,EAAA,aACD,GAA2C,CACpC,IAAU,IAAA,IACV,EAAiB,EAAE,OAAO,MAAM,CAEpC,EAAgB,EAAE,OAAO,MAAM,CAC/B,IAAW,EAAE,EAEjB,CAAC,EAAU,EAAO,EAAgB,CACrC,CAGK,GAAA,EAAA,EAAA,aACD,GAA6C,CACtC,EAAE,MAAQ,SACV,IAAW,EAAa,CAE5B,IAAY,EAAE,EAElB,CAAC,EAAc,EAAU,EAAU,CACtC,CAGK,GAAA,EAAA,EAAA,iBAAgC,CAC9B,IAAU,IAAA,IACV,EAAiB,GAAG,CAExB,IAAW,GAAG,CACd,KAAW,EACZ,CAAC,EAAO,EAAU,EAAQ,CAAC,CAE9B,OACI,EAAA,EAAA,KAAC,EAAA,EAAD,CACI,GAAI,EACC,MACL,KAAK,OACL,MAAO,EACP,SAAU,EACV,UAAW,EACX,QAAS,EACE,YACX,YAAa,GAAe,EAAM,kBAClC,WAAW,EAAA,EAAA,KAAC,EAAA,GAAD,EAAe,CAAA,CAC5B,CAAA,EAER"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { p as e } from "./frameworkTexts-o43FqY1A.js";
|
|
2
|
+
import { Zi as t } from "./icons-IqEBmGh3.js";
|
|
3
|
+
import { i as n } from "./useGhostText-CKsb8Ufa.js";
|
|
4
|
+
import { t as r } from "./MInput-QnQV9L8U.js";
|
|
5
|
+
import { forwardRef as i, useCallback as a, useState as o } from "react";
|
|
6
|
+
import { jsx as s } from "react/jsx-runtime";
|
|
7
|
+
//#region src/components/inputs/MInputSearch/MInputSearch.tsx
|
|
8
|
+
var c = i(function({ debounceMs: i = 300, onSearch: c, value: l, defaultValue: u, onChange: d, onKeyDown: f, onClear: p, clearable: m = !0, placeholder: h, ...g }, _) {
|
|
9
|
+
let v = e(), [y, b] = o(u?.toString() ?? ""), x = l === void 0 ? y : l.toString(), S = n((e) => c?.(e), i), C = a((e) => {
|
|
10
|
+
l === void 0 && b(e.target.value), S(e.target.value), d?.(e);
|
|
11
|
+
}, [
|
|
12
|
+
d,
|
|
13
|
+
l,
|
|
14
|
+
S
|
|
15
|
+
]), w = a((e) => {
|
|
16
|
+
e.key === "Enter" && c?.(x), f?.(e);
|
|
17
|
+
}, [
|
|
18
|
+
x,
|
|
19
|
+
c,
|
|
20
|
+
f
|
|
21
|
+
]), T = a(() => {
|
|
22
|
+
l === void 0 && b(""), c?.(""), p?.();
|
|
23
|
+
}, [
|
|
24
|
+
l,
|
|
25
|
+
c,
|
|
26
|
+
p
|
|
27
|
+
]);
|
|
28
|
+
return /* @__PURE__ */ s(r, {
|
|
29
|
+
...g,
|
|
30
|
+
ref: _,
|
|
31
|
+
type: "text",
|
|
32
|
+
value: x,
|
|
33
|
+
onChange: C,
|
|
34
|
+
onKeyDown: w,
|
|
35
|
+
onClear: T,
|
|
36
|
+
clearable: m,
|
|
37
|
+
placeholder: h ?? v.searchPlaceholder,
|
|
38
|
+
startIcon: /* @__PURE__ */ s(t, {})
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
//#endregion
|
|
42
|
+
export { c as t };
|
|
43
|
+
|
|
44
|
+
//# sourceMappingURL=MInputSearch-CNuTAbYs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MInputSearch-CNuTAbYs.js","names":[],"sources":["../src/components/inputs/MInputSearch/MInputSearch.tsx"],"sourcesContent":["import {useState, useCallback, forwardRef} from 'react'\nimport type * as React from 'react'\nimport type {MInputSearchProps} from './MInputSearch.types'\nimport {MInput} from '../MInput'\nimport {useDebouncedCallback} from '../../../utils/useDebounce'\nimport {MSearchIcon} from '../../../icons'\nimport {useMInputTexts} from '../../../i18n/frameworkTexts'\n\n// Extend the base input with debounced search callbacks and an inline clear action.\nexport const MInputSearch = forwardRef<HTMLInputElement, MInputSearchProps>(function MInputSearch(\n {\n debounceMs = 300,\n onSearch,\n value,\n defaultValue,\n onChange,\n onKeyDown,\n onClear,\n clearable = true,\n placeholder,\n ...rest\n },\n ref\n) {\n const texts = useMInputTexts()\n const [internalValue, setInternalValue] = useState(defaultValue?.toString() ?? '')\n const currentValue = value !== undefined ? value.toString() : internalValue\n\n const debouncedSearch = useDebouncedCallback((val: string) => onSearch?.(val), debounceMs)\n\n // Update local state and debounce search notifications while typing.\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (value === undefined) {\n setInternalValue(e.target.value)\n }\n debouncedSearch(e.target.value)\n onChange?.(e)\n },\n [onChange, value, debouncedSearch]\n )\n\n // Run search immediately when the user confirms with Enter.\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n onSearch?.(currentValue)\n }\n onKeyDown?.(e)\n },\n [currentValue, onSearch, onKeyDown]\n )\n\n // Clear both the visible field and the emitted search query.\n const handleClear = useCallback(() => {\n if (value === undefined) {\n setInternalValue('')\n }\n onSearch?.('')\n onClear?.()\n }, [value, onSearch, onClear])\n\n return (\n <MInput\n {...rest}\n ref={ref}\n type=\"text\"\n value={currentValue}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n onClear={handleClear}\n clearable={clearable}\n placeholder={placeholder ?? texts.searchPlaceholder}\n startIcon={<MSearchIcon />}\n />\n )\n})\n"],"mappings":";;;;;;;AASA,IAAa,IAAe,EAAgD,SACxE,EACI,gBAAa,KACb,aACA,UACA,iBACA,aACA,cACA,YACA,eAAY,IACZ,gBACA,GAAG,KAEP,GACF;CACE,IAAM,IAAQ,GAAgB,EACxB,CAAC,GAAe,KAAoB,EAAS,GAAc,UAAU,IAAI,GAAG,EAC5E,IAAe,MAAU,KAAA,IAA+B,IAAnB,EAAM,UAAU,EAErD,IAAkB,GAAsB,MAAgB,IAAW,EAAI,EAAE,EAAW,EAGpF,IAAe,GAChB,MAA2C;AAKxC,EAJI,MAAU,KAAA,KACV,EAAiB,EAAE,OAAO,MAAM,EAEpC,EAAgB,EAAE,OAAO,MAAM,EAC/B,IAAW,EAAE;IAEjB;EAAC;EAAU;EAAO;EAAgB,CACrC,EAGK,IAAgB,GACjB,MAA6C;AAI1C,EAHI,EAAE,QAAQ,WACV,IAAW,EAAa,EAE5B,IAAY,EAAE;IAElB;EAAC;EAAc;EAAU;EAAU,CACtC,EAGK,IAAc,QAAkB;AAKlC,EAJI,MAAU,KAAA,KACV,EAAiB,GAAG,EAExB,IAAW,GAAG,EACd,KAAW;IACZ;EAAC;EAAO;EAAU;EAAQ,CAAC;AAE9B,QACI,kBAAC,GAAD;EACI,GAAI;EACC;EACL,MAAK;EACL,OAAO;EACP,UAAU;EACV,WAAW;EACX,SAAS;EACE;EACX,aAAa,KAAe,EAAM;EAClC,WAAW,kBAAC,GAAD,EAAe,CAAA;EAC5B,CAAA;EAER"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require(`./cn-
|
|
2
|
-
//# sourceMappingURL=MKbd-
|
|
1
|
+
const e=require(`./cn-DYFxgzi2.cjs`);require(`./core-w629c4ND.cjs`);let t=require(`react/jsx-runtime`);function n({size:n=`md`,className:r,children:i,...a}){return(0,t.jsx)(`kbd`,{className:e.t(`kbd`,n,r),...a,children:i})}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return n}});
|
|
2
|
+
//# sourceMappingURL=MKbd-CnW3NUIu.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MKbd-
|
|
1
|
+
{"version":3,"file":"MKbd-CnW3NUIu.cjs","names":[],"sources":["../src/components/typography/MKbd/MKbd.tsx"],"sourcesContent":["import type {MKbdProps} from './MKbd.types'\nimport {cn} from '../../../utils/cn'\nimport './MKbd.css'\n\nexport function MKbd({size = 'md', className, children, ...rest}: MKbdProps) {\n return (\n <kbd className={cn('kbd', size, className)} {...rest}>\n {children}\n </kbd>\n )\n}\n"],"mappings":"uGAIA,SAAgB,EAAK,CAAC,OAAO,KAAM,YAAW,WAAU,GAAG,GAAkB,CACzE,OACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,EAAG,MAAO,EAAM,EAAU,CAAE,GAAI,EAC3C,WACC,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as e } from "./cn-
|
|
1
|
+
import { t as e } from "./cn-CUSXNnjF.js";
|
|
2
2
|
import { jsx as t } from "react/jsx-runtime";
|
|
3
3
|
//#region src/components/typography/MKbd/MKbd.tsx
|
|
4
4
|
function n({ size: n = "md", className: r, children: i, ...a }) {
|
|
@@ -11,4 +11,4 @@ function n({ size: n = "md", className: r, children: i, ...a }) {
|
|
|
11
11
|
//#endregion
|
|
12
12
|
export { n as t };
|
|
13
13
|
|
|
14
|
-
//# sourceMappingURL=MKbd-
|
|
14
|
+
//# sourceMappingURL=MKbd-DjfGyajR.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MKbd-
|
|
1
|
+
{"version":3,"file":"MKbd-DjfGyajR.js","names":[],"sources":["../src/components/typography/MKbd/MKbd.tsx"],"sourcesContent":["import type {MKbdProps} from './MKbd.types'\nimport {cn} from '../../../utils/cn'\nimport './MKbd.css'\n\nexport function MKbd({size = 'md', className, children, ...rest}: MKbdProps) {\n return (\n <kbd className={cn('kbd', size, className)} {...rest}>\n {children}\n </kbd>\n )\n}\n"],"mappings":";;;AAIA,SAAgB,EAAK,EAAC,UAAO,MAAM,cAAW,aAAU,GAAG,KAAkB;AACzE,QACI,kBAAC,OAAD;EAAK,WAAW,EAAG,OAAO,GAAM,EAAU;EAAE,GAAI;EAC3C;EACC,CAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require(`./theme-ByPZH0dh.cjs`),t=require(`./cn-DYFxgzi2.cjs`);require(`./core-w629c4ND.cjs`);let n=require(`react`),r=require(`react/jsx-runtime`);var i=(0,n.forwardRef)(function({component:n,to:i,tone:a=`default`,underline:o=`hover`,hidden:s,hiddenAbove:c,current:l=!1,block:u=!1,disabled:d=!1,className:f,children:p,href:m,onClick:h,...g},_){let v=n??`a`;function y(e){if(d){e.preventDefault();return}h?.(e)}return(0,r.jsx)(v,{ref:_,href:n||d?void 0:m,to:n?i:void 0,className:t.t(`link`,a,o,l&&`current`,u&&`block`,d&&`disabled`,f),"aria-current":l?`page`:void 0,"aria-disabled":d||void 0,onClick:y,...e.r(s,c),...g,children:p})});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});
|
|
2
|
+
//# sourceMappingURL=MLink-C6uwA6db.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MLink-C6uwA6db.cjs","names":[],"sources":["../src/components/typography/MLink/MLink.tsx"],"sourcesContent":["import {forwardRef} from 'react'\nimport type {MouseEvent} from 'react'\nimport type {MLinkProps} from './MLink.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport './MLink.css'\n\n// Render a semantic link that can target anchors or router link components.\nexport const MLink = forwardRef<HTMLElement, MLinkProps>(function MLink(\n {\n component,\n to,\n tone = 'default',\n underline = 'hover',\n hidden,\n hiddenAbove,\n current = false,\n block = false,\n disabled = false,\n className,\n children,\n href,\n onClick,\n ...rest\n },\n ref\n) {\n const Component = component ?? 'a'\n\n // Prevent disabled links from navigating while still exposing their content.\n function handleClick(event: MouseEvent<HTMLAnchorElement>) {\n if (disabled) {\n event.preventDefault()\n return\n }\n\n onClick?.(event)\n }\n\n return (\n <Component\n ref={ref}\n href={component ? undefined : disabled ? undefined : href}\n to={component ? to : undefined}\n className={cn(\n 'link',\n tone,\n underline,\n current && 'current',\n block && 'block',\n disabled && 'disabled',\n className\n )}\n aria-current={current ? 'page' : undefined}\n aria-disabled={disabled || undefined}\n onClick={handleClick}\n {...getHiddenProps(hidden, hiddenAbove)}\n {...rest}\n >\n {children}\n </Component>\n )\n})\n"],"mappings":"4JAQA,IAAa,GAAA,EAAA,EAAA,YAA4C,SACrD,CACI,YACA,KACA,OAAO,UACP,YAAY,QACZ,SACA,cACA,UAAU,GACV,QAAQ,GACR,WAAW,GACX,YACA,WACA,OACA,UACA,GAAG,GAEP,EACF,CACE,IAAM,EAAY,GAAa,IAG/B,SAAS,EAAY,EAAsC,CACvD,GAAI,EAAU,CACV,EAAM,gBAAgB,CACtB,OAGJ,IAAU,EAAM,CAGpB,OACI,EAAA,EAAA,KAAC,EAAD,CACS,MACL,KAAM,GAAwB,EAAZ,IAAA,GAAmC,EACrD,GAAI,EAAY,EAAK,IAAA,GACrB,UAAW,EAAA,EACP,OACA,EACA,EACA,GAAW,UACX,GAAS,QACT,GAAY,WACZ,EACH,CACD,eAAc,EAAU,OAAS,IAAA,GACjC,gBAAe,GAAY,IAAA,GAC3B,QAAS,EACT,GAAI,EAAA,EAAe,EAAQ,EAAY,CACvC,GAAI,EAEH,WACO,CAAA,EAElB"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { r as e } from "./theme-B_juOenJ.js";
|
|
2
|
+
import { t } from "./cn-CUSXNnjF.js";
|
|
3
|
+
import { forwardRef as n } from "react";
|
|
4
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
5
|
+
//#region src/components/typography/MLink/MLink.tsx
|
|
6
|
+
var i = n(function({ component: n, to: i, tone: a = "default", underline: o = "hover", hidden: s, hiddenAbove: c, current: l = !1, block: u = !1, disabled: d = !1, className: f, children: p, href: m, onClick: h, ...g }, _) {
|
|
7
|
+
let v = n ?? "a";
|
|
8
|
+
function y(e) {
|
|
9
|
+
if (d) {
|
|
10
|
+
e.preventDefault();
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
h?.(e);
|
|
14
|
+
}
|
|
15
|
+
return /* @__PURE__ */ r(v, {
|
|
16
|
+
ref: _,
|
|
17
|
+
href: n || d ? void 0 : m,
|
|
18
|
+
to: n ? i : void 0,
|
|
19
|
+
className: t("link", a, o, l && "current", u && "block", d && "disabled", f),
|
|
20
|
+
"aria-current": l ? "page" : void 0,
|
|
21
|
+
"aria-disabled": d || void 0,
|
|
22
|
+
onClick: y,
|
|
23
|
+
...e(s, c),
|
|
24
|
+
...g,
|
|
25
|
+
children: p
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
//#endregion
|
|
29
|
+
export { i as t };
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=MLink-ixg0xFFI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MLink-ixg0xFFI.js","names":[],"sources":["../src/components/typography/MLink/MLink.tsx"],"sourcesContent":["import {forwardRef} from 'react'\nimport type {MouseEvent} from 'react'\nimport type {MLinkProps} from './MLink.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport './MLink.css'\n\n// Render a semantic link that can target anchors or router link components.\nexport const MLink = forwardRef<HTMLElement, MLinkProps>(function MLink(\n {\n component,\n to,\n tone = 'default',\n underline = 'hover',\n hidden,\n hiddenAbove,\n current = false,\n block = false,\n disabled = false,\n className,\n children,\n href,\n onClick,\n ...rest\n },\n ref\n) {\n const Component = component ?? 'a'\n\n // Prevent disabled links from navigating while still exposing their content.\n function handleClick(event: MouseEvent<HTMLAnchorElement>) {\n if (disabled) {\n event.preventDefault()\n return\n }\n\n onClick?.(event)\n }\n\n return (\n <Component\n ref={ref}\n href={component ? undefined : disabled ? undefined : href}\n to={component ? to : undefined}\n className={cn(\n 'link',\n tone,\n underline,\n current && 'current',\n block && 'block',\n disabled && 'disabled',\n className\n )}\n aria-current={current ? 'page' : undefined}\n aria-disabled={disabled || undefined}\n onClick={handleClick}\n {...getHiddenProps(hidden, hiddenAbove)}\n {...rest}\n >\n {children}\n </Component>\n )\n})\n"],"mappings":";;;;;AAQA,IAAa,IAAQ,EAAoC,SACrD,EACI,cACA,OACA,UAAO,WACP,eAAY,SACZ,WACA,gBACA,aAAU,IACV,WAAQ,IACR,cAAW,IACX,cACA,aACA,SACA,YACA,GAAG,KAEP,GACF;CACE,IAAM,IAAY,KAAa;CAG/B,SAAS,EAAY,GAAsC;AACvD,MAAI,GAAU;AACV,KAAM,gBAAgB;AACtB;;AAGJ,MAAU,EAAM;;AAGpB,QACI,kBAAC,GAAD;EACS;EACL,MAAM,KAAwB,IAAZ,KAAA,IAAmC;EACrD,IAAI,IAAY,IAAK,KAAA;EACrB,WAAW,EACP,QACA,GACA,GACA,KAAW,WACX,KAAS,SACT,KAAY,YACZ,EACH;EACD,gBAAc,IAAU,SAAS,KAAA;EACjC,iBAAe,KAAY,KAAA;EAC3B,SAAS;EACT,GAAI,EAAe,GAAQ,EAAY;EACvC,GAAI;EAEH;EACO,CAAA;EAElB"}
|