@banzamel/mineralui 2.4.1 → 2.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/{MAvatar-Capz5Gbc.cjs → MAvatar-DHNB3829.cjs} +2 -2
- package/dist/{MAvatar-Capz5Gbc.cjs.map → MAvatar-DHNB3829.cjs.map} +1 -1
- package/dist/{MAvatar-DtJCj3dD.js → MAvatar-GeRL-CNO.js} +2 -2
- package/dist/{MAvatar-DtJCj3dD.js.map → MAvatar-GeRL-CNO.js.map} +1 -1
- package/dist/{MButton-C1pnL4_j.js → MButton-CEwo8lUB.js} +1 -1
- package/dist/{MButton-C1pnL4_j.js.map → MButton-CEwo8lUB.js.map} +1 -1
- package/dist/{MButton-sTKnano6.cjs → MButton-CnAr77Za.cjs} +2 -2
- package/dist/{MButton-sTKnano6.cjs.map → MButton-CnAr77Za.cjs.map} +1 -1
- package/dist/{MButtonGroup-BkNf7fzo.js → MButtonGroup-BEJxXZ8u.js} +2 -2
- package/dist/{MButtonGroup-BkNf7fzo.js.map → MButtonGroup-BEJxXZ8u.js.map} +1 -1
- package/dist/{MButtonGroup-iPv14c0V.cjs → MButtonGroup-DO1Tq3Za.cjs} +2 -2
- package/dist/{MButtonGroup-iPv14c0V.cjs.map → MButtonGroup-DO1Tq3Za.cjs.map} +1 -1
- package/dist/{MCard-azpp4YVD.js → MCard-BqSkGAgf.js} +3 -3
- package/dist/{MCard-azpp4YVD.js.map → MCard-BqSkGAgf.js.map} +1 -1
- package/dist/{MCard-DK-_FkpE.cjs → MCard-P8OoswWM.cjs} +2 -2
- package/dist/{MCard-DK-_FkpE.cjs.map → MCard-P8OoswWM.cjs.map} +1 -1
- package/dist/{MCheckbox-B7SpcD4H.js → MCheckbox-BxFBADcE.js} +1 -1
- package/dist/{MCheckbox-B7SpcD4H.js.map → MCheckbox-BxFBADcE.js.map} +1 -1
- package/dist/{MCheckbox-CIX7wp41.cjs → MCheckbox-DozwF2ai.cjs} +2 -2
- package/dist/{MCheckbox-CIX7wp41.cjs.map → MCheckbox-DozwF2ai.cjs.map} +1 -1
- package/dist/MConflictIllustration-2QL-BHYv.cjs +2 -0
- package/dist/MConflictIllustration-2QL-BHYv.cjs.map +1 -0
- package/dist/{MConflictIllustration-3K0lCAsD.js → MConflictIllustration-znC7ijmP.js} +68 -68
- package/dist/MConflictIllustration-znC7ijmP.js.map +1 -0
- package/dist/{MDetailList-Ce7KzUKC.cjs → MDetailList-CThQvoyf.cjs} +2 -2
- package/dist/{MDetailList-Ce7KzUKC.cjs.map → MDetailList-CThQvoyf.cjs.map} +1 -1
- package/dist/{MDetailList-fDhVyhm7.js → MDetailList-Cx9H81xT.js} +5 -5
- package/dist/{MDetailList-fDhVyhm7.js.map → MDetailList-Cx9H81xT.js.map} +1 -1
- package/dist/{MDropdownMenu-B_QWQhxy.cjs → MDropdownMenu-DnKcCyW6.cjs} +2 -2
- package/dist/{MDropdownMenu-B_QWQhxy.cjs.map → MDropdownMenu-DnKcCyW6.cjs.map} +1 -1
- package/dist/{MDropdownMenu-C4CuKMRZ.js → MDropdownMenu-DxbKN7Ui.js} +2 -2
- package/dist/{MDropdownMenu-C4CuKMRZ.js.map → MDropdownMenu-DxbKN7Ui.js.map} +1 -1
- package/dist/{MGrid-fTx6wFq_.cjs → MGrid-BkRSGN2t.cjs} +2 -2
- package/dist/{MGrid-fTx6wFq_.cjs.map → MGrid-BkRSGN2t.cjs.map} +1 -1
- package/dist/{MGrid-CYL3cbUI.js → MGrid-CIz-2i6X.js} +2 -2
- package/dist/{MGrid-CYL3cbUI.js.map → MGrid-CIz-2i6X.js.map} +1 -1
- package/dist/{MHeading-KDSpnCof.cjs → MHeading-AYQ8_GFP.cjs} +2 -2
- package/dist/{MHeading-KDSpnCof.cjs.map → MHeading-AYQ8_GFP.cjs.map} +1 -1
- package/dist/{MHeading-B7KgSP4T.js → MHeading-DcGxUMwC.js} +2 -2
- package/dist/{MHeading-B7KgSP4T.js.map → MHeading-DcGxUMwC.js.map} +1 -1
- package/dist/{MI18nProvider-DXRbB0VY.cjs → MI18nProvider-CqAwaswx.cjs} +2 -2
- package/dist/{MI18nProvider-DXRbB0VY.cjs.map → MI18nProvider-CqAwaswx.cjs.map} +1 -1
- package/dist/MInput-BYj2BdUe.cjs +2 -0
- package/dist/MInput-BYj2BdUe.cjs.map +1 -0
- package/dist/{MInput-C8ObGzQk.js → MInput-nodE-CZF.js} +37 -36
- package/dist/MInput-nodE-CZF.js.map +1 -0
- package/dist/MInputCVC-9XWryaTz.cjs +2 -0
- package/dist/MInputCVC-9XWryaTz.cjs.map +1 -0
- package/dist/MInputCVC-CrDTaUXm.js +321 -0
- package/dist/MInputCVC-CrDTaUXm.js.map +1 -0
- package/dist/{MInputSearch-BM8gLlJ1.js → MInputSearch-BMgCHjFk.js} +2 -2
- package/dist/{MInputSearch-BM8gLlJ1.js.map → MInputSearch-BMgCHjFk.js.map} +1 -1
- package/dist/{MInputSearch-BZDnbFB4.cjs → MInputSearch-BiVI1jNc.cjs} +2 -2
- package/dist/{MInputSearch-BZDnbFB4.cjs.map → MInputSearch-BiVI1jNc.cjs.map} +1 -1
- package/dist/{MKbd-DqMnZ7Iv.cjs → MKbd-BR1GX5oK.cjs} +2 -2
- package/dist/{MKbd-DqMnZ7Iv.cjs.map → MKbd-BR1GX5oK.cjs.map} +1 -1
- package/dist/{MKbd-v6-tJ9sP.js → MKbd-COb7oh_k.js} +1 -1
- package/dist/{MKbd-v6-tJ9sP.js.map → MKbd-COb7oh_k.js.map} +1 -1
- package/dist/{MLink-Bd8fLH1N.js → MLink-CAl6N6_z.js} +1 -1
- package/dist/{MLink-Bd8fLH1N.js.map → MLink-CAl6N6_z.js.map} +1 -1
- package/dist/{MLink-U24G6KJj.cjs → MLink-Dk_ReE6i.cjs} +2 -2
- package/dist/{MLink-U24G6KJj.cjs.map → MLink-Dk_ReE6i.cjs.map} +1 -1
- package/dist/{MLoader-CnvWqFtA.js → MLoader-CYp0OJU_.js} +4 -4
- package/dist/{MLoader-CnvWqFtA.js.map → MLoader-CYp0OJU_.js.map} +1 -1
- package/dist/{MLoader-CvFIvytw.cjs → MLoader-DvmFle31.cjs} +2 -2
- package/dist/{MLoader-CvFIvytw.cjs.map → MLoader-DvmFle31.cjs.map} +1 -1
- package/dist/{MPagination-BkvOEZpp.js → MPagination-E7IixIeo.js} +2 -2
- package/dist/{MPagination-BkvOEZpp.js.map → MPagination-E7IixIeo.js.map} +1 -1
- package/dist/{MPagination-DgQta29Q.cjs → MPagination-reDU9xTW.cjs} +2 -2
- package/dist/{MPagination-DgQta29Q.cjs.map → MPagination-reDU9xTW.cjs.map} +1 -1
- package/dist/{MPopover-Dd-GIBU6.js → MPopover-8gYD3Ogq.js} +37 -74
- package/dist/MPopover-8gYD3Ogq.js.map +1 -0
- package/dist/MPopover-B3npyAkL.cjs +2 -0
- package/dist/MPopover-B3npyAkL.cjs.map +1 -0
- package/dist/{MPortal-DUSIuINN.cjs → MPortal-CuBXhhl_.cjs} +2 -2
- package/dist/{MPortal-DUSIuINN.cjs.map → MPortal-CuBXhhl_.cjs.map} +1 -1
- package/dist/{MSimpleGrid-BzlIitcJ.cjs → MSimpleGrid-BchGYPMi.cjs} +2 -2
- package/dist/{MSimpleGrid-BzlIitcJ.cjs.map → MSimpleGrid-BchGYPMi.cjs.map} +1 -1
- package/dist/{MSimpleGrid-BWKurW6H.js → MSimpleGrid-Ui8cI0ho.js} +1 -1
- package/dist/{MSimpleGrid-BWKurW6H.js.map → MSimpleGrid-Ui8cI0ho.js.map} +1 -1
- package/dist/{MSkeleton-BoFpowFU.cjs → MSkeleton-DPa_G_2X.cjs} +2 -2
- package/dist/{MSkeleton-BoFpowFU.cjs.map → MSkeleton-DPa_G_2X.cjs.map} +1 -1
- package/dist/{MSkeleton-C5uD4Axo.js → MSkeleton-Dhu-loDO.js} +1 -1
- package/dist/{MSkeleton-C5uD4Axo.js.map → MSkeleton-Dhu-loDO.js.map} +1 -1
- package/dist/{MSlider-CqrusKJQ.js → MSlider-BRjhyBSc.js} +1 -1
- package/dist/{MSlider-CqrusKJQ.js.map → MSlider-BRjhyBSc.js.map} +1 -1
- package/dist/{MSlider-BTDBqF8t.cjs → MSlider-w5214a-W.cjs} +2 -2
- package/dist/{MSlider-BTDBqF8t.cjs.map → MSlider-w5214a-W.cjs.map} +1 -1
- package/dist/{MStack-CSCw6to2.js → MStack-Dt-rWvg3.js} +2 -2
- package/dist/{MStack-CSCw6to2.js.map → MStack-Dt-rWvg3.js.map} +1 -1
- package/dist/{MStack-B3Ldqsc-.cjs → MStack-nc6Y_9K3.cjs} +2 -2
- package/dist/{MStack-B3Ldqsc-.cjs.map → MStack-nc6Y_9K3.cjs.map} +1 -1
- package/dist/{MSubText-C-N15d4Z.js → MSubText-B0tXiuAp.js} +2 -2
- package/dist/{MSubText-C-N15d4Z.js.map → MSubText-B0tXiuAp.js.map} +1 -1
- package/dist/{MSubText-47PsgE8T.cjs → MSubText-C6v6Exa2.cjs} +2 -2
- package/dist/{MSubText-47PsgE8T.cjs.map → MSubText-C6v6Exa2.cjs.map} +1 -1
- package/dist/{MSurface-QYEygc_0.cjs → MSurface-BjE-mL1L.cjs} +2 -2
- package/dist/{MSurface-QYEygc_0.cjs.map → MSurface-BjE-mL1L.cjs.map} +1 -1
- package/dist/{MSurface-B-sjyczH.js → MSurface-CpDJCdb5.js} +2 -2
- package/dist/{MSurface-B-sjyczH.js.map → MSurface-CpDJCdb5.js.map} +1 -1
- package/dist/MTag-BgOxiahL.cjs +2 -0
- package/dist/MTag-BgOxiahL.cjs.map +1 -0
- package/dist/MTag-cw3cIGHX.js +41 -0
- package/dist/MTag-cw3cIGHX.js.map +1 -0
- package/dist/{MText-Dni707tS.cjs → MText-BDI4mdw8.cjs} +2 -2
- package/dist/{MText-Dni707tS.cjs.map → MText-BDI4mdw8.cjs.map} +1 -1
- package/dist/{MText-CL-LPcXi.js → MText-DhbAjtUE.js} +2 -2
- package/dist/{MText-CL-LPcXi.js.map → MText-DhbAjtUE.js.map} +1 -1
- package/dist/MTooltip-BAgHlv5I.cjs +2 -0
- package/dist/MTooltip-BAgHlv5I.cjs.map +1 -0
- package/dist/MTooltip-CJxvlkOX.js +92 -0
- package/dist/MTooltip-CJxvlkOX.js.map +1 -0
- package/dist/{MTreeView-B1J7uqd1.js → MTreeView-DsBnYQMT.js} +2 -2
- package/dist/{MTreeView-B1J7uqd1.js.map → MTreeView-DsBnYQMT.js.map} +1 -1
- package/dist/{MTreeView-VYp0eErQ.cjs → MTreeView-LiJ5o-zy.cjs} +2 -2
- package/dist/{MTreeView-VYp0eErQ.cjs.map → MTreeView-LiJ5o-zy.cjs.map} +1 -1
- package/dist/{arduino-BdpdaLwK.cjs → arduino-C1gw-z1N.cjs} +1 -1
- package/dist/{arduino-BdpdaLwK.cjs.map → arduino-C1gw-z1N.cjs.map} +1 -1
- package/dist/{arduino-DDDlP9Yt.js → arduino-CcVvzDWF.js} +1 -1
- package/dist/{arduino-DDDlP9Yt.js.map → arduino-CcVvzDWF.js.map} +1 -1
- package/dist/{bash-D8WbAmuA.js → bash-DkMiO80l.js} +1 -1
- package/dist/{bash-D8WbAmuA.js.map → bash-DkMiO80l.js.map} +1 -1
- package/dist/{bash-eOUFh3S1.cjs → bash-wzZkpJC-.cjs} +1 -1
- package/dist/{bash-eOUFh3S1.cjs.map → bash-wzZkpJC-.cjs.map} +1 -1
- package/dist/{c-Bur7Mn-u.cjs → c-BSPjDa0P.cjs} +1 -1
- package/dist/{c-Bur7Mn-u.cjs.map → c-BSPjDa0P.cjs.map} +1 -1
- package/dist/{c-CTKNfUJI.js → c-DtlFV5Pa.js} +1 -1
- package/dist/{c-CTKNfUJI.js.map → c-DtlFV5Pa.js.map} +1 -1
- package/dist/{calendar-bzeZRst9.js → calendar-Bq6NMNnS.js} +6 -6
- package/dist/{calendar-bzeZRst9.js.map → calendar-Bq6NMNnS.js.map} +1 -1
- package/dist/{calendar-P7MwKfWS.cjs → calendar-C57BH8Nd.cjs} +2 -2
- package/dist/{calendar-P7MwKfWS.cjs.map → calendar-C57BH8Nd.cjs.map} +1 -1
- package/dist/calendar.cjs +1 -1
- package/dist/calendar.js +1 -1
- package/dist/{calendarDates-CYkJqcnp.js → calendarDates-M_Dawj0j.js} +1 -1
- package/dist/{calendarDates-CYkJqcnp.js.map → calendarDates-M_Dawj0j.js.map} +1 -1
- package/dist/{calendarDates-AnlGcvZM.cjs → calendarDates-qm047RW2.cjs} +1 -1
- package/dist/{calendarDates-AnlGcvZM.cjs.map → calendarDates-qm047RW2.cjs.map} +1 -1
- package/dist/{cards-CFDJsdxR.js → cards-D4xJVd4q.js} +278 -277
- package/dist/cards-D4xJVd4q.js.map +1 -0
- package/dist/cards-Du6dbZSQ.cjs +2 -0
- package/dist/cards-Du6dbZSQ.cjs.map +1 -0
- package/dist/cards.cjs +1 -1
- package/dist/cards.js +2 -2
- package/dist/components/primitives/MPopover/popoverStack.d.ts +2 -0
- package/dist/{controls-BKAhqjNM.js → controls-BKoc_yel.js} +113 -112
- package/dist/controls-BKoc_yel.js.map +1 -0
- package/dist/controls-Ck-PMt__.cjs +2 -0
- package/dist/controls-Ck-PMt__.cjs.map +1 -0
- package/dist/controls.cjs +1 -1
- package/dist/controls.js +5 -5
- package/dist/{core-D5-SQcs8.js → core-B8VC-Umz.js} +1 -1
- package/dist/{core-D5-SQcs8.js.map → core-B8VC-Umz.js.map} +1 -1
- package/dist/{core-D66c1_Wo.cjs → core-w629c4ND.cjs} +1 -1
- package/dist/{core-D66c1_Wo.cjs.map → core-w629c4ND.cjs.map} +1 -1
- package/dist/{cpp-DAzz2TpY.js → cpp-BraS2arf.js} +1 -1
- package/dist/{cpp-DAzz2TpY.js.map → cpp-BraS2arf.js.map} +1 -1
- package/dist/{cpp-BMULAf-B.cjs → cpp-LIcuHkFj.cjs} +1 -1
- package/dist/{cpp-BMULAf-B.cjs.map → cpp-LIcuHkFj.cjs.map} +1 -1
- package/dist/{css-9M03GzKO.cjs → css-D6fGBtGV.cjs} +1 -1
- package/dist/{css-9M03GzKO.cjs.map → css-D6fGBtGV.cjs.map} +1 -1
- package/dist/{css-EGOXTWIl.js → css-Dy8pFAWa.js} +1 -1
- package/dist/{css-EGOXTWIl.js.map → css-Dy8pFAWa.js.map} +1 -1
- package/dist/{data-CgLutFxU.js → data-CdQximqm.js} +38 -38
- package/dist/{data-CgLutFxU.js.map → data-CdQximqm.js.map} +1 -1
- package/dist/{data-DFrkJTlF.cjs → data-PS4ygCyj.cjs} +2 -2
- package/dist/{data-DFrkJTlF.cjs.map → data-PS4ygCyj.cjs.map} +1 -1
- package/dist/data.cjs +1 -1
- package/dist/data.js +2 -2
- package/dist/{display-BnkHKW1n.js → display-YC1fVpXA.js} +19 -19
- package/dist/{display-BnkHKW1n.js.map → display-YC1fVpXA.js.map} +1 -1
- package/dist/{display--E7rI0tk.cjs → display-slIo1bQI.cjs} +2 -2
- package/dist/{display--E7rI0tk.cjs.map → display-slIo1bQI.cjs.map} +1 -1
- package/dist/display.cjs +1 -1
- package/dist/display.js +2 -2
- package/dist/dropdowns-DFbUoZ8Q.cjs +2 -0
- package/dist/dropdowns-DFbUoZ8Q.cjs.map +1 -0
- package/dist/dropdowns-nW3MY5XG.js +1715 -0
- package/dist/dropdowns-nW3MY5XG.js.map +1 -0
- package/dist/dropdowns.cjs +1 -1
- package/dist/dropdowns.js +1 -1
- package/dist/feedback-6MNb2Xyk.cjs +2 -0
- package/dist/feedback-6MNb2Xyk.cjs.map +1 -0
- package/dist/feedback-CPwJaQHY.js +259 -0
- package/dist/feedback-CPwJaQHY.js.map +1 -0
- package/dist/feedback.cjs +1 -1
- package/dist/feedback.js +5 -5
- package/dist/form-CMsZo6Dm.cjs +2 -0
- package/dist/form-CMsZo6Dm.cjs.map +1 -0
- package/dist/{form-CAFcvmUS.js → form-WU6DcQGD.js} +52 -55
- package/dist/form-WU6DcQGD.js.map +1 -0
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/frameworkTexts-BSXUtXOp.cjs +2 -0
- package/dist/{frameworkTexts-iDXhcW6k.cjs.map → frameworkTexts-BSXUtXOp.cjs.map} +1 -1
- package/dist/frameworkTexts-DP5RUl19.js +131 -0
- package/dist/{frameworkTexts-DH0Xp-Vx.js.map → frameworkTexts-DP5RUl19.js.map} +1 -1
- package/dist/i18n/frameworkTexts.d.ts +61 -0
- package/dist/i18n.cjs +1 -1
- package/dist/{icons-D_NB67he.cjs → icons-D3n9-919.cjs} +2 -2
- package/dist/{icons-D_NB67he.cjs.map → icons-D3n9-919.cjs.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/illustrations.cjs +1 -1
- package/dist/illustrations.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +41 -41
- package/dist/{inputs-B1LCddA4.js → inputs-B7rGMLMr.js} +399 -398
- package/dist/inputs-B7rGMLMr.js.map +1 -0
- package/dist/inputs-BiN62hgH.cjs +2 -0
- package/dist/inputs-BiN62hgH.cjs.map +1 -0
- package/dist/inputs.cjs +1 -1
- package/dist/inputs.js +4 -4
- package/dist/{javascript-CHSg4NGc.js → javascript-CqKLBRqa.js} +1 -1
- package/dist/{javascript-CHSg4NGc.js.map → javascript-CqKLBRqa.js.map} +1 -1
- package/dist/{javascript-CastOQF5.cjs → javascript-Oy5hkezl.cjs} +1 -1
- package/dist/{javascript-CastOQF5.cjs.map → javascript-Oy5hkezl.cjs.map} +1 -1
- package/dist/{json-DCkJ-m-p.cjs → json-BP8eqPWc.cjs} +1 -1
- package/dist/{json-DCkJ-m-p.cjs.map → json-BP8eqPWc.cjs.map} +1 -1
- package/dist/{json-Bejy9Rlg.js → json-DJkyYaPe.js} +1 -1
- package/dist/{json-Bejy9Rlg.js.map → json-DJkyYaPe.js.map} +1 -1
- package/dist/layout-BMggJ_qO.cjs +2 -0
- package/dist/layout-BMggJ_qO.cjs.map +1 -0
- package/dist/{layout-DsE4zfpg.js → layout-DBYHyCTr.js} +269 -268
- package/dist/layout-DBYHyCTr.js.map +1 -0
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +6 -6
- package/dist/{layoutProps-B8y2XwHy.cjs → layoutProps-Ck4VtGm9.cjs} +1 -1
- package/dist/{layoutProps-B8y2XwHy.cjs.map → layoutProps-Ck4VtGm9.cjs.map} +1 -1
- package/dist/{layoutProps-CE5-ghKw.js → layoutProps-Cl6d1KmH.js} +1 -1
- package/dist/{layoutProps-CE5-ghKw.js.map → layoutProps-Cl6d1KmH.js.map} +1 -1
- package/dist/{licensing-DGIdtfNg.cjs → licensing-Be3g-PJt.cjs} +2 -2
- package/dist/{licensing-DGIdtfNg.cjs.map → licensing-Be3g-PJt.cjs.map} +1 -1
- package/dist/{locale-DRRl_s5-.cjs → locale-C08q7FjE.cjs} +2 -2
- package/dist/{locale-DRRl_s5-.cjs.map → locale-C08q7FjE.cjs.map} +1 -1
- package/dist/{locale-CS1-IY_I.js → locale-CjJpk9GN.js} +1 -1
- package/dist/{locale-CS1-IY_I.js.map → locale-CjJpk9GN.js.map} +1 -1
- package/dist/media-BPzMgzqE.js +405 -0
- package/dist/media-BPzMgzqE.js.map +1 -0
- package/dist/media-D63hxCAJ.cjs +2 -0
- package/dist/media-D63hxCAJ.cjs.map +1 -0
- package/dist/media.cjs +1 -1
- package/dist/media.js +2 -2
- package/dist/overlays-CCeYD6hT.js +555 -0
- package/dist/overlays-CCeYD6hT.js.map +1 -0
- package/dist/overlays-CsRN5OG8.cjs +2 -0
- package/dist/overlays-CsRN5OG8.cjs.map +1 -0
- package/dist/overlays.cjs +1 -1
- package/dist/overlays.js +3 -3
- package/dist/{php-BdVXegqn.cjs → php-Cwjc-ZYq.cjs} +1 -1
- package/dist/{php-BdVXegqn.cjs.map → php-Cwjc-ZYq.cjs.map} +1 -1
- package/dist/{php-Cb_S1hXT.js → php-Db8PWzaX.js} +1 -1
- package/dist/{php-Cb_S1hXT.js.map → php-Db8PWzaX.js.map} +1 -1
- package/dist/popoverStack--0r2oJCD.js +44 -0
- package/dist/popoverStack--0r2oJCD.js.map +1 -0
- package/dist/popoverStack-BmMk-VZJ.cjs +2 -0
- package/dist/popoverStack-BmMk-VZJ.cjs.map +1 -0
- package/dist/primitives.cjs +1 -1
- package/dist/primitives.js +1 -1
- package/dist/style-runtime.cjs +1 -1
- package/dist/style-runtime.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/{theme-DgaM4CjM.cjs → theme-CJuqObWL.cjs} +2 -2
- package/dist/{theme-DgaM4CjM.cjs.map → theme-CJuqObWL.cjs.map} +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/{typescript-CcGBfzlS.cjs → typescript-QKlfKtex.cjs} +1 -1
- package/dist/{typescript-CcGBfzlS.cjs.map → typescript-QKlfKtex.cjs.map} +1 -1
- package/dist/{typescript-0VHxrxf2.js → typescript-chdf_txx.js} +1 -1
- package/dist/{typescript-0VHxrxf2.js.map → typescript-chdf_txx.js.map} +1 -1
- package/dist/{typography-C4_O8len.cjs → typography-4v01oNWx.cjs} +2 -2
- package/dist/{typography-C4_O8len.cjs.map → typography-4v01oNWx.cjs.map} +1 -1
- package/dist/{typography-CAW17MDj.js → typography-C806GYT4.js} +2 -2
- package/dist/{typography-CAW17MDj.js.map → typography-C806GYT4.js.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +6 -6
- package/dist/{useGhostText-Dlemg1vw.cjs → useGhostText-mibV4s1-.cjs} +2 -2
- package/dist/{useGhostText-Dlemg1vw.cjs.map → useGhostText-mibV4s1-.cjs.map} +1 -1
- package/dist/{useInteractionEffect-CFwDX5UF.cjs → useInteractionEffect-CtXlbjhC.cjs} +2 -2
- package/dist/{useInteractionEffect-CFwDX5UF.cjs.map → useInteractionEffect-CtXlbjhC.cjs.map} +1 -1
- package/dist/{useKeyboardNav-Bm-dxVq-.cjs → useKeyboardNav-CCUoRMgm.cjs} +2 -2
- package/dist/{useKeyboardNav-Bm-dxVq-.cjs.map → useKeyboardNav-CCUoRMgm.cjs.map} +1 -1
- package/dist/useModalLayer-Bf4TcEz-.js +58 -0
- package/dist/useModalLayer-Bf4TcEz-.js.map +1 -0
- package/dist/useModalLayer-DxYhhgRO.cjs +2 -0
- package/dist/useModalLayer-DxYhhgRO.cjs.map +1 -0
- package/dist/utils/useModalLayer.d.ts +10 -0
- package/dist/utils.cjs +1 -1
- package/dist/{xml-Dbm3mobK.cjs → xml-DEtyywwU.cjs} +1 -1
- package/dist/{xml-Dbm3mobK.cjs.map → xml-DEtyywwU.cjs.map} +1 -1
- package/dist/{xml-8GjNy8SM.js → xml-DnydRpfh.js} +1 -1
- package/dist/{xml-8GjNy8SM.js.map → xml-DnydRpfh.js.map} +1 -1
- package/package.json +1 -1
- package/dist/MConflictIllustration-3K0lCAsD.js.map +0 -1
- package/dist/MConflictIllustration-BuK6cSsc.cjs +0 -2
- package/dist/MConflictIllustration-BuK6cSsc.cjs.map +0 -1
- package/dist/MInput-C8ObGzQk.js.map +0 -1
- package/dist/MInput-CGl2Q-rM.cjs +0 -2
- package/dist/MInput-CGl2Q-rM.cjs.map +0 -1
- package/dist/MInputCVC-Blv5PeyS.js +0 -320
- package/dist/MInputCVC-Blv5PeyS.js.map +0 -1
- package/dist/MInputCVC-lAFKTV6y.cjs +0 -2
- package/dist/MInputCVC-lAFKTV6y.cjs.map +0 -1
- package/dist/MPopover-C-e1CoV0.cjs +0 -2
- package/dist/MPopover-C-e1CoV0.cjs.map +0 -1
- package/dist/MPopover-Dd-GIBU6.js.map +0 -1
- package/dist/MTag-BjV-dXkk.cjs +0 -2
- package/dist/MTag-BjV-dXkk.cjs.map +0 -1
- package/dist/MTag-D9q6faIk.js +0 -39
- package/dist/MTag-D9q6faIk.js.map +0 -1
- package/dist/MTooltip-ChvuN4Ow.cjs +0 -2
- package/dist/MTooltip-ChvuN4Ow.cjs.map +0 -1
- package/dist/MTooltip-H3we0a7w.js +0 -57
- package/dist/MTooltip-H3we0a7w.js.map +0 -1
- package/dist/cards-CFDJsdxR.js.map +0 -1
- package/dist/cards-DeA7I2KC.cjs +0 -2
- package/dist/cards-DeA7I2KC.cjs.map +0 -1
- package/dist/controls-BKAhqjNM.js.map +0 -1
- package/dist/controls-KK-TyUTT.cjs +0 -2
- package/dist/controls-KK-TyUTT.cjs.map +0 -1
- package/dist/dropdowns-DGYg9zIh.cjs +0 -2
- package/dist/dropdowns-DGYg9zIh.cjs.map +0 -1
- package/dist/dropdowns-Dq-xAplH.js +0 -1698
- package/dist/dropdowns-Dq-xAplH.js.map +0 -1
- package/dist/feedback-CA77ShtB.cjs +0 -2
- package/dist/feedback-CA77ShtB.cjs.map +0 -1
- package/dist/feedback-CCwbdNZu.js +0 -255
- package/dist/feedback-CCwbdNZu.js.map +0 -1
- package/dist/form-CAFcvmUS.js.map +0 -1
- package/dist/form-DpfzLUOn.cjs +0 -2
- package/dist/form-DpfzLUOn.cjs.map +0 -1
- package/dist/frameworkTexts-DH0Xp-Vx.js +0 -78
- package/dist/frameworkTexts-iDXhcW6k.cjs +0 -2
- package/dist/inputs-B1LCddA4.js.map +0 -1
- package/dist/inputs-Clenc4Rm.cjs +0 -2
- package/dist/inputs-Clenc4Rm.cjs.map +0 -1
- package/dist/layout-CNoZdeXw.cjs +0 -2
- package/dist/layout-CNoZdeXw.cjs.map +0 -1
- package/dist/layout-DsE4zfpg.js.map +0 -1
- package/dist/media-DRTBXDnn.cjs +0 -2
- package/dist/media-DRTBXDnn.cjs.map +0 -1
- package/dist/media-vOQOIYFD.js +0 -402
- package/dist/media-vOQOIYFD.js.map +0 -1
- package/dist/overlays-BKk_ZXue.js +0 -568
- package/dist/overlays-BKk_ZXue.js.map +0 -1
- package/dist/overlays-Qbp4d596.cjs +0 -2
- package/dist/overlays-Qbp4d596.cjs.map +0 -1
|
@@ -1,255 +0,0 @@
|
|
|
1
|
-
import { r as e } from "./theme-DAOU1aPs.js";
|
|
2
|
-
import { Ci as t, Ei as n, In as r, Ln as i, Pn as a, Si as o, Ti as s, Xi as c, wi as l } from "./icons-CBMl-kOM.js";
|
|
3
|
-
import { t as u } from "./cn-YER3QsV1.js";
|
|
4
|
-
import { t as d } from "./MPortal-Ba2Sxset.js";
|
|
5
|
-
import { t as f } from "./MButton-C1pnL4_j.js";
|
|
6
|
-
import { createContext as p, useCallback as m, useContext as h, useEffect as g, useMemo as _, useRef as v, useState as y } from "react";
|
|
7
|
-
import { jsx as b, jsxs as x } from "react/jsx-runtime";
|
|
8
|
-
//#region src/components/feedback/statusIcons.tsx
|
|
9
|
-
var S = {
|
|
10
|
-
success: /* @__PURE__ */ b(t, {}),
|
|
11
|
-
warning: /* @__PURE__ */ b(n, {}),
|
|
12
|
-
error: /* @__PURE__ */ b(l, {}),
|
|
13
|
-
info: /* @__PURE__ */ b(s, {}),
|
|
14
|
-
primary: /* @__PURE__ */ b(s, {}),
|
|
15
|
-
neutral: /* @__PURE__ */ b(o, {}),
|
|
16
|
-
light: /* @__PURE__ */ b(i, {}),
|
|
17
|
-
dark: /* @__PURE__ */ b(r, {}),
|
|
18
|
-
news: /* @__PURE__ */ b(a, {})
|
|
19
|
-
};
|
|
20
|
-
function C(e) {
|
|
21
|
-
return e ? S[e] ?? S.info : S.info;
|
|
22
|
-
}
|
|
23
|
-
//#endregion
|
|
24
|
-
//#region src/components/feedback/MAlert/MAlert.tsx
|
|
25
|
-
function w({ color: t = "info", icon: n = !0, title: r, hidden: i, className: a, children: o, ...s }) {
|
|
26
|
-
let c = n === !1 ? null : n === !0 ? C(t) : n;
|
|
27
|
-
return /* @__PURE__ */ x("div", {
|
|
28
|
-
className: u("alert", `color-${t}`, a),
|
|
29
|
-
role: "status",
|
|
30
|
-
...e(i),
|
|
31
|
-
...s,
|
|
32
|
-
children: [c && /* @__PURE__ */ b("span", {
|
|
33
|
-
className: "icon",
|
|
34
|
-
children: c
|
|
35
|
-
}), /* @__PURE__ */ x("div", {
|
|
36
|
-
className: "main",
|
|
37
|
-
children: [r && /* @__PURE__ */ b("div", {
|
|
38
|
-
className: "title",
|
|
39
|
-
children: r
|
|
40
|
-
}), o && /* @__PURE__ */ b("div", {
|
|
41
|
-
className: "content",
|
|
42
|
-
children: o
|
|
43
|
-
})]
|
|
44
|
-
})]
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
//#endregion
|
|
48
|
-
//#region src/components/feedback/MBanner/MBanner.tsx
|
|
49
|
-
function T({ color: t = "primary", variant: n = "filled", icon: r, action: i, hidden: a, dismissible: o = !1, onDismiss: s, className: l, children: d, ...p }) {
|
|
50
|
-
let [m, h] = y(!0), [g, _] = y(!1), S = v(null);
|
|
51
|
-
if (!m) return null;
|
|
52
|
-
let C = () => {
|
|
53
|
-
_(!0);
|
|
54
|
-
let e = S.current;
|
|
55
|
-
if (!e) {
|
|
56
|
-
h(!1), s?.();
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
let t = () => {
|
|
60
|
-
h(!1), _(!1), s?.();
|
|
61
|
-
};
|
|
62
|
-
e.addEventListener("transitionend", t, { once: !0 }), setTimeout(t, 1e3);
|
|
63
|
-
};
|
|
64
|
-
return /* @__PURE__ */ b("div", {
|
|
65
|
-
ref: S,
|
|
66
|
-
className: u("banner-wrap", g && "dismissing"),
|
|
67
|
-
...e(a),
|
|
68
|
-
children: /* @__PURE__ */ x("div", {
|
|
69
|
-
className: u("banner", `color-${t}`, n, l),
|
|
70
|
-
role: "banner",
|
|
71
|
-
...p,
|
|
72
|
-
children: [
|
|
73
|
-
r && /* @__PURE__ */ b("span", {
|
|
74
|
-
className: "banner-icon",
|
|
75
|
-
children: r
|
|
76
|
-
}),
|
|
77
|
-
/* @__PURE__ */ b("div", {
|
|
78
|
-
className: "banner-content",
|
|
79
|
-
children: d
|
|
80
|
-
}),
|
|
81
|
-
i && /* @__PURE__ */ b("div", {
|
|
82
|
-
className: "banner-action",
|
|
83
|
-
children: i
|
|
84
|
-
}),
|
|
85
|
-
o && /* @__PURE__ */ b(f, {
|
|
86
|
-
variant: "link",
|
|
87
|
-
color: "neutral",
|
|
88
|
-
iconOnly: !0,
|
|
89
|
-
size: "sm",
|
|
90
|
-
className: "banner-dismiss",
|
|
91
|
-
onClick: C,
|
|
92
|
-
"aria-label": "Dismiss",
|
|
93
|
-
children: /* @__PURE__ */ b(c, {})
|
|
94
|
-
})
|
|
95
|
-
]
|
|
96
|
-
})
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
//#endregion
|
|
100
|
-
//#region src/components/feedback/MProgressRing/MProgressRing.tsx
|
|
101
|
-
var E = {
|
|
102
|
-
xs: 24,
|
|
103
|
-
sm: 36,
|
|
104
|
-
md: 56,
|
|
105
|
-
lg: 88,
|
|
106
|
-
xl: 128
|
|
107
|
-
}, D = {
|
|
108
|
-
xs: 2,
|
|
109
|
-
sm: 3,
|
|
110
|
-
md: 4,
|
|
111
|
-
lg: 6,
|
|
112
|
-
xl: 8
|
|
113
|
-
};
|
|
114
|
-
function O(e, t, n) {
|
|
115
|
-
return Math.max(t, Math.min(n, e));
|
|
116
|
-
}
|
|
117
|
-
function k(e) {
|
|
118
|
-
return typeof e == "number" ? e : E[e ?? "md"] ?? E.md;
|
|
119
|
-
}
|
|
120
|
-
function A(e, t) {
|
|
121
|
-
return typeof e == "number" ? e : typeof t == "number" ? Math.max(2, Math.round(t / 14)) : D[t ?? "md"] ?? D.md;
|
|
122
|
-
}
|
|
123
|
-
function j({ value: e, size: t = "md", color: n = "primary", thickness: r, showPercent: i = !0, label: a, ariaLabel: o, className: s, style: c, ...l }) {
|
|
124
|
-
let d = O(Math.round(e), 0, 100), f = k(t), p = A(r, t), m = (f - p) / 2, h = 2 * Math.PI * m, g = h * (1 - d / 100), _ = {
|
|
125
|
-
width: `${f}px`,
|
|
126
|
-
height: `${f}px`,
|
|
127
|
-
...c
|
|
128
|
-
}, v = typeof t == "string" ? t : "custom", y = o ?? `Loading ${d}%`, S = a === void 0 ? i : a !== null;
|
|
129
|
-
return /* @__PURE__ */ x("div", {
|
|
130
|
-
className: u("progress-ring", v, n && `color-${n}`, s),
|
|
131
|
-
style: _,
|
|
132
|
-
role: "progressbar",
|
|
133
|
-
"aria-valuenow": d,
|
|
134
|
-
"aria-valuemin": 0,
|
|
135
|
-
"aria-valuemax": 100,
|
|
136
|
-
"aria-label": y,
|
|
137
|
-
...l,
|
|
138
|
-
children: [/* @__PURE__ */ x("svg", {
|
|
139
|
-
className: "progress-ring-svg",
|
|
140
|
-
width: f,
|
|
141
|
-
height: f,
|
|
142
|
-
viewBox: `0 0 ${f} ${f}`,
|
|
143
|
-
"aria-hidden": "true",
|
|
144
|
-
children: [/* @__PURE__ */ b("circle", {
|
|
145
|
-
className: "progress-ring-track",
|
|
146
|
-
cx: f / 2,
|
|
147
|
-
cy: f / 2,
|
|
148
|
-
r: m,
|
|
149
|
-
fill: "none",
|
|
150
|
-
strokeWidth: p
|
|
151
|
-
}), /* @__PURE__ */ b("circle", {
|
|
152
|
-
className: "progress-ring-indicator",
|
|
153
|
-
cx: f / 2,
|
|
154
|
-
cy: f / 2,
|
|
155
|
-
r: m,
|
|
156
|
-
fill: "none",
|
|
157
|
-
strokeWidth: p,
|
|
158
|
-
strokeDasharray: h,
|
|
159
|
-
strokeDashoffset: g,
|
|
160
|
-
strokeLinecap: "round",
|
|
161
|
-
transform: `rotate(-90 ${f / 2} ${f / 2})`
|
|
162
|
-
})]
|
|
163
|
-
}), S ? /* @__PURE__ */ b("span", {
|
|
164
|
-
className: "progress-ring-label",
|
|
165
|
-
"aria-hidden": "true",
|
|
166
|
-
children: a === void 0 ? `${d}%` : a
|
|
167
|
-
}) : null]
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
//#endregion
|
|
171
|
-
//#region src/components/feedback/MToast/MToastContext.ts
|
|
172
|
-
var M = p(null), N = M.Provider;
|
|
173
|
-
function P() {
|
|
174
|
-
let e = h(M);
|
|
175
|
-
if (!e) throw Error("useMToast must be used inside MToastProvider");
|
|
176
|
-
return e;
|
|
177
|
-
}
|
|
178
|
-
//#endregion
|
|
179
|
-
//#region src/components/feedback/MToast/MToastItem.tsx
|
|
180
|
-
function F({ entry: e, onDismiss: t }) {
|
|
181
|
-
let [n, r] = y(!1), i = e.duration ?? 4e3;
|
|
182
|
-
g(() => {
|
|
183
|
-
if (i <= 0) return;
|
|
184
|
-
let e = setTimeout(() => r(!0), i);
|
|
185
|
-
return () => clearTimeout(e);
|
|
186
|
-
}, [i]);
|
|
187
|
-
function a() {
|
|
188
|
-
n && t(e.id);
|
|
189
|
-
}
|
|
190
|
-
let o = e.color || "info", s = e.icon === !1 ? null : e.icon === void 0 || e.icon === !0 ? C(o) : e.icon;
|
|
191
|
-
return /* @__PURE__ */ x("div", {
|
|
192
|
-
className: u("toast item", `color-${o}`, n && "exit"),
|
|
193
|
-
role: "status",
|
|
194
|
-
onAnimationEnd: a,
|
|
195
|
-
children: [/* @__PURE__ */ x("div", {
|
|
196
|
-
className: "toast body",
|
|
197
|
-
children: [s && /* @__PURE__ */ b("span", {
|
|
198
|
-
className: "toast icon",
|
|
199
|
-
children: s
|
|
200
|
-
}), /* @__PURE__ */ x("div", {
|
|
201
|
-
className: "toast content",
|
|
202
|
-
children: [e.title && /* @__PURE__ */ b("div", {
|
|
203
|
-
className: "toast title",
|
|
204
|
-
children: e.title
|
|
205
|
-
}), e.message !== void 0 && e.message !== null && e.message !== "" && /* @__PURE__ */ b("div", {
|
|
206
|
-
className: "toast message",
|
|
207
|
-
children: e.message
|
|
208
|
-
})]
|
|
209
|
-
})]
|
|
210
|
-
}), /* @__PURE__ */ b(f, {
|
|
211
|
-
variant: "ghost",
|
|
212
|
-
color: "neutral",
|
|
213
|
-
iconOnly: !0,
|
|
214
|
-
size: "xs",
|
|
215
|
-
className: "toast close",
|
|
216
|
-
onClick: () => r(!0),
|
|
217
|
-
"aria-label": "Close",
|
|
218
|
-
children: /* @__PURE__ */ b(c, {})
|
|
219
|
-
})]
|
|
220
|
-
});
|
|
221
|
-
}
|
|
222
|
-
//#endregion
|
|
223
|
-
//#region src/components/feedback/MToast/MToastProvider.tsx
|
|
224
|
-
var I = 0;
|
|
225
|
-
function L({ position: e = "top-right", duration: t = 4e3, children: n }) {
|
|
226
|
-
let [r, i] = y([]), a = v(t);
|
|
227
|
-
a.current = t;
|
|
228
|
-
let o = m((e) => {
|
|
229
|
-
i((t) => t.filter((t) => t.id !== e));
|
|
230
|
-
}, []), s = m((e) => {
|
|
231
|
-
let t = `toast-${++I}`, n = {
|
|
232
|
-
id: t,
|
|
233
|
-
...e,
|
|
234
|
-
duration: e.duration ?? a.current
|
|
235
|
-
};
|
|
236
|
-
return i((e) => [...e, n]), t;
|
|
237
|
-
}, []);
|
|
238
|
-
return /* @__PURE__ */ x(N, {
|
|
239
|
-
value: _(() => ({
|
|
240
|
-
toast: s,
|
|
241
|
-
dismiss: o
|
|
242
|
-
}), [s, o]),
|
|
243
|
-
children: [n, /* @__PURE__ */ b(d, { children: /* @__PURE__ */ b("div", {
|
|
244
|
-
className: u("toast container", e),
|
|
245
|
-
children: r.map((e) => /* @__PURE__ */ b(F, {
|
|
246
|
-
entry: e,
|
|
247
|
-
onDismiss: o
|
|
248
|
-
}, e.id))
|
|
249
|
-
}) })]
|
|
250
|
-
});
|
|
251
|
-
}
|
|
252
|
-
//#endregion
|
|
253
|
-
export { w as a, T as i, P as n, j as r, L as t };
|
|
254
|
-
|
|
255
|
-
//# sourceMappingURL=feedback-CCwbdNZu.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"feedback-CCwbdNZu.js","names":[],"sources":["../src/components/feedback/statusIcons.tsx","../src/components/feedback/MAlert/MAlert.tsx","../src/components/feedback/MBanner/MBanner.tsx","../src/components/feedback/MProgressRing/MProgressRing.tsx","../src/components/feedback/MToast/MToastContext.ts","../src/components/feedback/MToast/MToastItem.tsx","../src/components/feedback/MToast/MToastProvider.tsx"],"sourcesContent":["import type {ReactNode} from 'react'\nimport {\n MBoltIcon,\n MErrorIcon,\n MInfoIcon,\n MMoonIcon,\n MNeutralIcon,\n MSunIcon,\n MSuccessIcon,\n MWarningIcon,\n} from '../../icons'\n\nconst statusIcons: Record<string, ReactNode> = {\n success: <MSuccessIcon />,\n warning: <MWarningIcon />,\n error: <MErrorIcon />,\n info: <MInfoIcon />,\n primary: <MInfoIcon />,\n neutral: <MNeutralIcon />,\n light: <MSunIcon />,\n dark: <MMoonIcon />,\n news: <MBoltIcon />,\n}\n\nexport function getStatusIcon(color?: string) {\n if (!color) {\n return statusIcons.info\n }\n\n return statusIcons[color] ?? statusIcons.info\n}\n","import type {MAlertProps} from './MAlert.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {getStatusIcon} from '../statusIcons'\nimport './MAlert.css'\n\n// Render inline status messaging with optional heading content.\nexport function MAlert({color = 'info', icon = true, title, hidden, className, children, ...rest}: MAlertProps) {\n const iconView = icon === false ? null : icon === true ? getStatusIcon(color) : icon\n\n return (\n <div className={cn('alert', `color-${color}`, className)} role=\"status\" {...getHiddenProps(hidden)} {...rest}>\n {iconView && <span className=\"icon\">{iconView}</span>}\n <div className=\"main\">\n {title && <div className=\"title\">{title}</div>}\n {children && <div className=\"content\">{children}</div>}\n </div>\n </div>\n )\n}\n","import {useState, useRef} from 'react'\nimport type {MBannerProps} from './MBanner.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {MButton} from '../../controls'\nimport {MCloseIcon} from '../../../icons'\nimport './MBanner.css'\n\n// Render a prominent banner for announcements, CTAs or dismissible messages.\nexport function MBanner({\n color = 'primary',\n variant = 'filled',\n icon,\n action,\n hidden,\n dismissible = false,\n onDismiss,\n className,\n children,\n ...rest\n}: MBannerProps) {\n const [visible, setVisible] = useState(true)\n const [dismissing, setDismissing] = useState(false)\n const wrapRef = useRef<HTMLDivElement>(null)\n\n if (!visible) return null\n\n const handleDismiss = () => {\n setDismissing(true)\n const el = wrapRef.current\n if (!el) {\n setVisible(false)\n onDismiss?.()\n return\n }\n const onEnd = () => {\n setVisible(false)\n setDismissing(false)\n onDismiss?.()\n }\n el.addEventListener('transitionend', onEnd, {once: true})\n setTimeout(onEnd, 1000)\n }\n\n return (\n <div ref={wrapRef} className={cn('banner-wrap', dismissing && 'dismissing')} {...getHiddenProps(hidden)}>\n <div className={cn('banner', `color-${color}`, variant, className)} role=\"banner\" {...rest}>\n {icon && <span className=\"banner-icon\">{icon}</span>}\n <div className=\"banner-content\">{children}</div>\n {action && <div className=\"banner-action\">{action}</div>}\n {dismissible && (\n <MButton\n variant=\"link\"\n color=\"neutral\"\n iconOnly\n size=\"sm\"\n className=\"banner-dismiss\"\n onClick={handleDismiss}\n aria-label=\"Dismiss\"\n >\n <MCloseIcon />\n </MButton>\n )}\n </div>\n </div>\n )\n}\n","import type {CSSProperties} from 'react'\nimport type {MProgressRingProps} from './MProgressRing.types'\nimport {cn} from '../../../utils/cn'\nimport './MProgressRing.css'\n\nconst SIZE_PX: Record<string, number> = {xs: 24, sm: 36, md: 56, lg: 88, xl: 128}\nconst DEFAULT_THICKNESS: Record<string, number> = {xs: 2, sm: 3, md: 4, lg: 6, xl: 8}\n\nfunction clamp(value: number, min: number, max: number): number {\n return Math.max(min, Math.min(max, value))\n}\n\nfunction resolveDiameter(size: MProgressRingProps['size']): number {\n if (typeof size === 'number') return size\n return SIZE_PX[size ?? 'md'] ?? SIZE_PX.md\n}\n\nfunction resolveThickness(thickness: number | undefined, size: MProgressRingProps['size']): number {\n if (typeof thickness === 'number') return thickness\n if (typeof size === 'number') return Math.max(2, Math.round(size / 14))\n return DEFAULT_THICKNESS[size ?? 'md'] ?? DEFAULT_THICKNESS.md\n}\n\n/**\n * Determinate ring progress — 0–100 with optional centered percent label.\n * Visually consistent with `MLoader`/`MSpinner`: same MColor palette, same\n * size tokens (xs/sm/md/lg/xl). Use a number for a custom diameter when the\n * design needs an off-token size.\n */\nexport function MProgressRing({\n value,\n size = 'md',\n color = 'primary',\n thickness,\n showPercent = true,\n label,\n ariaLabel,\n className,\n style,\n ...rest\n}: MProgressRingProps) {\n const clampedValue = clamp(Math.round(value), 0, 100)\n const diameter = resolveDiameter(size)\n const stroke = resolveThickness(thickness, size)\n const radius = (diameter - stroke) / 2\n const circumference = 2 * Math.PI * radius\n const dashOffset = circumference * (1 - clampedValue / 100)\n\n const inlineStyle: CSSProperties = {\n width: `${diameter}px`,\n height: `${diameter}px`,\n ...style,\n }\n\n const sizeClass = typeof size === 'string' ? size : 'custom'\n const accessibleLabel = ariaLabel ?? `Loading ${clampedValue}%`\n const showLabel = label !== undefined ? label !== null : showPercent\n\n return (\n <div\n className={cn('progress-ring', sizeClass, color && `color-${color}`, className)}\n style={inlineStyle}\n role=\"progressbar\"\n aria-valuenow={clampedValue}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-label={accessibleLabel}\n {...rest}\n >\n <svg className=\"progress-ring-svg\" width={diameter} height={diameter} viewBox={`0 0 ${diameter} ${diameter}`} aria-hidden=\"true\">\n <circle\n className=\"progress-ring-track\"\n cx={diameter / 2}\n cy={diameter / 2}\n r={radius}\n fill=\"none\"\n strokeWidth={stroke}\n />\n <circle\n className=\"progress-ring-indicator\"\n cx={diameter / 2}\n cy={diameter / 2}\n r={radius}\n fill=\"none\"\n strokeWidth={stroke}\n strokeDasharray={circumference}\n strokeDashoffset={dashOffset}\n strokeLinecap=\"round\"\n transform={`rotate(-90 ${diameter / 2} ${diameter / 2})`}\n />\n </svg>\n {showLabel ? (\n <span className=\"progress-ring-label\" aria-hidden=\"true\">\n {label !== undefined ? label : `${clampedValue}%`}\n </span>\n ) : null}\n </div>\n )\n}\n","import {createContext, useContext} from 'react'\nimport type {MToastContext as MToastContextType} from './MToast.types'\n\nconst ToastCtx = createContext<MToastContextType | null>(null)\n\nexport const MToastContextProvider = ToastCtx.Provider\n\nexport function useMToast(): MToastContextType {\n const ctx = useContext(ToastCtx)\n if (!ctx) throw new Error('useMToast must be used inside MToastProvider')\n return ctx\n}\n","import {useEffect, useState} from 'react'\nimport type {MToastEntry} from './MToast.types'\nimport {cn} from '../../../utils/cn'\nimport {MCloseIcon} from '../../../icons'\nimport {MButton} from '../../controls'\nimport {getStatusIcon} from '../statusIcons'\n\n// Single toast notification with enter/exit animation.\nexport function MToastItem({entry, onDismiss}: {entry: MToastEntry; onDismiss: (id: string) => void}) {\n const [exiting, setExiting] = useState(false)\n const duration = entry.duration ?? 4000\n\n useEffect(() => {\n if (duration <= 0) return\n const timer = setTimeout(() => setExiting(true), duration)\n return () => clearTimeout(timer)\n }, [duration])\n\n function handleEnd() {\n if (exiting) onDismiss(entry.id)\n }\n\n const color = entry.color || 'info'\n const icon =\n entry.icon === false\n ? null\n : entry.icon === undefined || entry.icon === true\n ? getStatusIcon(color)\n : entry.icon\n\n return (\n <div className={cn('toast item', `color-${color}`, exiting && 'exit')} role=\"status\" onAnimationEnd={handleEnd}>\n <div className=\"toast body\">\n {icon && <span className=\"toast icon\">{icon}</span>}\n <div className=\"toast content\">\n {entry.title && <div className=\"toast title\">{entry.title}</div>}\n {entry.message !== undefined && entry.message !== null && entry.message !== '' && (\n <div className=\"toast message\">{entry.message}</div>\n )}\n </div>\n </div>\n <MButton\n variant=\"ghost\"\n color=\"neutral\"\n iconOnly\n size=\"xs\"\n className=\"toast close\"\n onClick={() => setExiting(true)}\n aria-label=\"Close\"\n >\n <MCloseIcon />\n </MButton>\n </div>\n )\n}\n","import {useCallback, useMemo, useRef, useState} from 'react'\nimport {MPortal} from '../../primitives'\nimport {MToastContextProvider, useMToast} from './MToastContext'\nimport {MToastItem} from './MToastItem'\nimport type {MToastEntry, MToastOptions, MToastProviderProps} from './MToast.types'\nimport {cn} from '../../../utils/cn'\nimport './MToast.css'\n\nlet counter = 0\n\n// Global toast container with auto-dismiss and stacking.\nexport function MToastProvider({position = 'top-right', duration = 4000, children}: MToastProviderProps) {\n const [toasts, setToasts] = useState<MToastEntry[]>([])\n const defaultDuration = useRef(duration)\n defaultDuration.current = duration\n\n const dismiss = useCallback((id: string) => {\n setToasts((prev) => prev.filter((t) => t.id !== id))\n }, [])\n\n const toast = useCallback((options: MToastOptions) => {\n const id = `toast-${++counter}`\n const entry: MToastEntry = {\n id,\n ...options,\n duration: options.duration ?? defaultDuration.current,\n }\n setToasts((prev) => [...prev, entry])\n return id\n }, [])\n\n const ctx = useMemo(() => ({toast, dismiss}), [toast, dismiss])\n\n return (\n <MToastContextProvider value={ctx}>\n {children}\n <MPortal>\n <div className={cn('toast container', position)}>\n {toasts.map((entry) => (\n <MToastItem key={entry.id} entry={entry} onDismiss={dismiss} />\n ))}\n </div>\n </MPortal>\n </MToastContextProvider>\n )\n}\n\nexport {useMToast}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"form-CAFcvmUS.js","names":[],"sources":["../src/components/form/MForm/FormContext.ts","../src/components/form/MForm/MForm.tsx","../src/components/form/MForm/useFormField.ts"],"sourcesContent":["import {createContext, useContext} from 'react'\nimport type {MFormContextValue} from './MForm.types'\n\nexport const FormContext = createContext<MFormContextValue | null>(null)\n\n// Read the nearest form context to integrate custom fields with shared state.\nexport function useFormContext(): MFormContextValue | null {\n return useContext(FormContext)\n}\n","import {useState, useRef, useCallback, useMemo} from 'react'\nimport type * as React from 'react'\nimport type {MFormProps, MFieldRegistration, MFormContextValue, MFormHelpers} from './MForm.types'\nimport {FormContext} from './FormContext'\nimport {validateRequired} from '../../../utils/validators'\nimport type {ValidationResult} from '../../../utils/validators'\nimport './MForm.css'\n\n// Coordinate form values, validation state and submit helpers through context.\nexport function MForm({\n initialValues = {},\n onSubmit,\n onChange,\n validationMode = 'onBlur',\n children,\n className,\n style,\n noValidate = true,\n ...rest\n}: MFormProps) {\n const [values, setValues] = useState<Record<string, unknown>>({...initialValues})\n const [errors, setErrors] = useState<Record<string, string>>({})\n const [touched, setTouched] = useState<Record<string, boolean>>({})\n const [isSubmitting, setIsSubmitting] = useState(false)\n const fieldsRef = useRef<Map<string, MFieldRegistration>>(new Map())\n\n // Track mounted fields so validation stays aligned with active inputs.\n const registerField = useCallback((reg: MFieldRegistration) => {\n fieldsRef.current.set(reg.name, reg)\n }, [])\n\n const unregisterField = useCallback((name: string) => {\n fieldsRef.current.delete(name)\n }, [])\n\n // Run required and custom validators without mutating visible error state yet.\n const validateFieldInternal = useCallback(\n (name: string, val?: unknown): ValidationResult => {\n const reg = fieldsRef.current.get(name)\n if (!reg) return {valid: true}\n\n const fieldValue = val !== undefined ? val : values[name]\n const strValue = fieldValue != null ? String(fieldValue) : ''\n\n // Required check\n if (reg.required) {\n const reqResult = validateRequired(strValue)\n if (!reqResult.valid) return reqResult\n }\n\n // Custom validators\n if (reg.validate) {\n for (const validator of reg.validate) {\n const result = validator(strValue)\n if (!result.valid) return result\n }\n }\n\n return {valid: true}\n },\n [values]\n )\n\n // Persist the latest validation result for a single field.\n const validateField = useCallback(\n (name: string): ValidationResult => {\n const result = validateFieldInternal(name)\n setErrors((prev) => {\n if (result.valid) {\n const next = {...prev}\n delete next[name]\n return next\n }\n return {...prev, [name]: result.error!}\n })\n return result\n },\n [validateFieldInternal]\n )\n\n // Validate every registered field before submit.\n const validateAll = useCallback((): boolean => {\n let allValid = true\n const newErrors: Record<string, string> = {}\n\n for (const [name] of fieldsRef.current) {\n const result = validateFieldInternal(name)\n if (!result.valid) {\n allValid = false\n newErrors[name] = result.error!\n }\n }\n\n setErrors(newErrors)\n // Mark all as touched\n const allTouched: Record<string, boolean> = {}\n for (const [name] of fieldsRef.current) {\n allTouched[name] = true\n }\n setTouched(allTouched)\n\n return allValid\n }, [validateFieldInternal])\n\n // Update field values and trigger onChange or validation according to mode.\n const setFieldValue = useCallback(\n (name: string, val: unknown) => {\n setValues((prev) => {\n const next = {...prev, [name]: val}\n onChange?.(next)\n return next\n })\n\n if (validationMode === 'onChange' && touched[name]) {\n // Defer validation to next tick so values are updated\n setTimeout(() => validateField(name), 0)\n }\n },\n [onChange, validationMode, touched, validateField]\n )\n\n const setFieldError = useCallback((name: string, error: string) => {\n setErrors((prev) => ({...prev, [name]: error}))\n }, [])\n\n // Mark fields as touched so blur validation can start surfacing errors.\n const setFieldTouched = useCallback(\n (name: string, isTouched: boolean) => {\n setTouched((prev) => ({...prev, [name]: isTouched}))\n if (validationMode === 'onBlur' && isTouched) {\n validateField(name)\n }\n },\n [validationMode, validateField]\n )\n\n const resetForm = useCallback(() => {\n setValues({...initialValues})\n setErrors({})\n setTouched({})\n setIsSubmitting(false)\n }, [initialValues])\n\n // Guard submit flow with validation and a single in-flight submission state.\n const handleSubmit = useCallback(\n async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n if (isSubmitting) return\n\n const valid = validateAll()\n if (!valid) return\n\n setIsSubmitting(true)\n const helpers: MFormHelpers = {\n setSubmitting: setIsSubmitting,\n resetForm,\n setFieldError,\n }\n\n try {\n await onSubmit?.(values, helpers)\n } finally {\n setIsSubmitting(false)\n }\n },\n [isSubmitting, validateAll, values, onSubmit, resetForm, setFieldError]\n )\n\n // Memoize the public form context to limit downstream re-renders.\n const ctx = useMemo<MFormContextValue>(\n () => ({\n values,\n errors,\n touched,\n registerField,\n unregisterField,\n setFieldValue,\n setFieldError,\n setFieldTouched,\n validateField,\n validateAll,\n resetForm,\n isSubmitting,\n }),\n [\n values,\n errors,\n touched,\n registerField,\n unregisterField,\n setFieldValue,\n setFieldError,\n setFieldTouched,\n validateField,\n validateAll,\n resetForm,\n isSubmitting,\n ]\n )\n\n return (\n <FormContext.Provider value={ctx}>\n <form\n onSubmit={handleSubmit}\n noValidate={noValidate}\n className={`form${className ? ` ${className}` : ''}`}\n style={style}\n {...rest}\n >\n {typeof children === 'function' ? children(ctx) : children}\n </form>\n </FormContext.Provider>\n )\n}\n","import {useEffect, useCallback} from 'react'\nimport {useFormContext} from './FormContext'\nimport type {ValidatorFn} from '../../../utils/validators'\n\nexport interface MUseFormFieldOptions {\n validate?: ValidatorFn[]\n required?: boolean\n}\n\nexport interface MUseFormFieldReturn {\n value: unknown\n error: string | undefined\n touched: boolean\n onChange: (value: unknown) => void\n onBlur: () => void\n}\n\n// Connect a field name to the nearest form context and expose field-level helpers.\nexport function useFormField(name: string, options?: MUseFormFieldOptions): MUseFormFieldReturn {\n const ctx = useFormContext()\n\n // Register the field definition so the form can validate and reset it centrally.\n useEffect(() => {\n if (!ctx) return\n ctx.registerField({\n name,\n validate: options?.validate,\n required: options?.required,\n })\n return () => ctx.unregisterField(name)\n }, [ctx, name, options?.validate, options?.required])\n\n // Forward value updates into the form state.\n const onChange = useCallback(\n (val: unknown) => {\n ctx?.setFieldValue(name, val)\n },\n [ctx, name]\n )\n\n // Mark the field as touched when the control loses focus.\n const onBlur = useCallback(() => {\n ctx?.setFieldTouched(name, true)\n }, [ctx, name])\n\n return {\n value: ctx?.values[name] ?? '',\n error: ctx?.errors[name],\n touched: ctx?.touched[name] ?? false,\n onChange,\n onBlur,\n }\n}\n"],"mappings":"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"}
|
package/dist/form-DpfzLUOn.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const e=require(`./validators-B6yWdsu2.cjs`);require(`./core-D66c1_Wo.cjs`);let t=require(`react`),n=require(`react/jsx-runtime`);var r=(0,t.createContext)(null);function i(){return(0,t.useContext)(r)}function a({initialValues:i={},onSubmit:a,onChange:o,validationMode:s=`onBlur`,children:c,className:l,style:u,noValidate:d=!0,...f}){let[p,m]=(0,t.useState)({...i}),[h,g]=(0,t.useState)({}),[_,v]=(0,t.useState)({}),[y,b]=(0,t.useState)(!1),x=(0,t.useRef)(new Map),S=(0,t.useCallback)(e=>{x.current.set(e.name,e)},[]),C=(0,t.useCallback)(e=>{x.current.delete(e)},[]),w=(0,t.useCallback)((t,n)=>{let r=x.current.get(t);if(!r)return{valid:!0};let i=n===void 0?p[t]:n,a=i==null?``:String(i);if(r.required){let t=e.g(a);if(!t.valid)return t}if(r.validate)for(let e of r.validate){let t=e(a);if(!t.valid)return t}return{valid:!0}},[p]),T=(0,t.useCallback)(e=>{let t=w(e);return g(n=>{if(t.valid){let t={...n};return delete t[e],t}return{...n,[e]:t.error}}),t},[w]),E=(0,t.useCallback)(()=>{let e=!0,t={};for(let[n]of x.current){let r=w(n);r.valid||(e=!1,t[n]=r.error)}g(t);let n={};for(let[e]of x.current)n[e]=!0;return v(n),e},[w]),D=(0,t.useCallback)((e,t)=>{m(n=>{let r={...n,[e]:t};return o?.(r),r}),s===`onChange`&&_[e]&&setTimeout(()=>T(e),0)},[o,s,_,T]),O=(0,t.useCallback)((e,t)=>{g(n=>({...n,[e]:t}))},[]),k=(0,t.useCallback)((e,t)=>{v(n=>({...n,[e]:t})),s===`onBlur`&&t&&T(e)},[s,T]),A=(0,t.useCallback)(()=>{m({...i}),g({}),v({}),b(!1)},[i]),j=(0,t.useCallback)(async e=>{if(e.preventDefault(),y||!E())return;b(!0);let t={setSubmitting:b,resetForm:A,setFieldError:O};try{await a?.(p,t)}finally{b(!1)}},[y,E,p,a,A,O]),M=(0,t.useMemo)(()=>({values:p,errors:h,touched:_,registerField:S,unregisterField:C,setFieldValue:D,setFieldError:O,setFieldTouched:k,validateField:T,validateAll:E,resetForm:A,isSubmitting:y}),[p,h,_,S,C,D,O,k,T,E,A,y]);return(0,n.jsx)(r.Provider,{value:M,children:(0,n.jsx)(`form`,{onSubmit:j,noValidate:d,className:`form${l?` ${l}`:``}`,style:u,...f,children:typeof c==`function`?c(M):c})})}function o(e,n){let r=i();(0,t.useEffect)(()=>{if(r)return r.registerField({name:e,validate:n?.validate,required:n?.required}),()=>r.unregisterField(e)},[r,e,n?.validate,n?.required]);let a=(0,t.useCallback)(t=>{r?.setFieldValue(e,t)},[r,e]),o=(0,t.useCallback)(()=>{r?.setFieldTouched(e,!0)},[r,e]);return{value:r?.values[e]??``,error:r?.errors[e],touched:r?.touched[e]??!1,onChange:a,onBlur:o}}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return o}});
|
|
2
|
-
//# sourceMappingURL=form-DpfzLUOn.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"form-DpfzLUOn.cjs","names":[],"sources":["../src/components/form/MForm/FormContext.ts","../src/components/form/MForm/MForm.tsx","../src/components/form/MForm/useFormField.ts"],"sourcesContent":["import {createContext, useContext} from 'react'\nimport type {MFormContextValue} from './MForm.types'\n\nexport const FormContext = createContext<MFormContextValue | null>(null)\n\n// Read the nearest form context to integrate custom fields with shared state.\nexport function useFormContext(): MFormContextValue | null {\n return useContext(FormContext)\n}\n","import {useState, useRef, useCallback, useMemo} from 'react'\nimport type * as React from 'react'\nimport type {MFormProps, MFieldRegistration, MFormContextValue, MFormHelpers} from './MForm.types'\nimport {FormContext} from './FormContext'\nimport {validateRequired} from '../../../utils/validators'\nimport type {ValidationResult} from '../../../utils/validators'\nimport './MForm.css'\n\n// Coordinate form values, validation state and submit helpers through context.\nexport function MForm({\n initialValues = {},\n onSubmit,\n onChange,\n validationMode = 'onBlur',\n children,\n className,\n style,\n noValidate = true,\n ...rest\n}: MFormProps) {\n const [values, setValues] = useState<Record<string, unknown>>({...initialValues})\n const [errors, setErrors] = useState<Record<string, string>>({})\n const [touched, setTouched] = useState<Record<string, boolean>>({})\n const [isSubmitting, setIsSubmitting] = useState(false)\n const fieldsRef = useRef<Map<string, MFieldRegistration>>(new Map())\n\n // Track mounted fields so validation stays aligned with active inputs.\n const registerField = useCallback((reg: MFieldRegistration) => {\n fieldsRef.current.set(reg.name, reg)\n }, [])\n\n const unregisterField = useCallback((name: string) => {\n fieldsRef.current.delete(name)\n }, [])\n\n // Run required and custom validators without mutating visible error state yet.\n const validateFieldInternal = useCallback(\n (name: string, val?: unknown): ValidationResult => {\n const reg = fieldsRef.current.get(name)\n if (!reg) return {valid: true}\n\n const fieldValue = val !== undefined ? val : values[name]\n const strValue = fieldValue != null ? String(fieldValue) : ''\n\n // Required check\n if (reg.required) {\n const reqResult = validateRequired(strValue)\n if (!reqResult.valid) return reqResult\n }\n\n // Custom validators\n if (reg.validate) {\n for (const validator of reg.validate) {\n const result = validator(strValue)\n if (!result.valid) return result\n }\n }\n\n return {valid: true}\n },\n [values]\n )\n\n // Persist the latest validation result for a single field.\n const validateField = useCallback(\n (name: string): ValidationResult => {\n const result = validateFieldInternal(name)\n setErrors((prev) => {\n if (result.valid) {\n const next = {...prev}\n delete next[name]\n return next\n }\n return {...prev, [name]: result.error!}\n })\n return result\n },\n [validateFieldInternal]\n )\n\n // Validate every registered field before submit.\n const validateAll = useCallback((): boolean => {\n let allValid = true\n const newErrors: Record<string, string> = {}\n\n for (const [name] of fieldsRef.current) {\n const result = validateFieldInternal(name)\n if (!result.valid) {\n allValid = false\n newErrors[name] = result.error!\n }\n }\n\n setErrors(newErrors)\n // Mark all as touched\n const allTouched: Record<string, boolean> = {}\n for (const [name] of fieldsRef.current) {\n allTouched[name] = true\n }\n setTouched(allTouched)\n\n return allValid\n }, [validateFieldInternal])\n\n // Update field values and trigger onChange or validation according to mode.\n const setFieldValue = useCallback(\n (name: string, val: unknown) => {\n setValues((prev) => {\n const next = {...prev, [name]: val}\n onChange?.(next)\n return next\n })\n\n if (validationMode === 'onChange' && touched[name]) {\n // Defer validation to next tick so values are updated\n setTimeout(() => validateField(name), 0)\n }\n },\n [onChange, validationMode, touched, validateField]\n )\n\n const setFieldError = useCallback((name: string, error: string) => {\n setErrors((prev) => ({...prev, [name]: error}))\n }, [])\n\n // Mark fields as touched so blur validation can start surfacing errors.\n const setFieldTouched = useCallback(\n (name: string, isTouched: boolean) => {\n setTouched((prev) => ({...prev, [name]: isTouched}))\n if (validationMode === 'onBlur' && isTouched) {\n validateField(name)\n }\n },\n [validationMode, validateField]\n )\n\n const resetForm = useCallback(() => {\n setValues({...initialValues})\n setErrors({})\n setTouched({})\n setIsSubmitting(false)\n }, [initialValues])\n\n // Guard submit flow with validation and a single in-flight submission state.\n const handleSubmit = useCallback(\n async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n if (isSubmitting) return\n\n const valid = validateAll()\n if (!valid) return\n\n setIsSubmitting(true)\n const helpers: MFormHelpers = {\n setSubmitting: setIsSubmitting,\n resetForm,\n setFieldError,\n }\n\n try {\n await onSubmit?.(values, helpers)\n } finally {\n setIsSubmitting(false)\n }\n },\n [isSubmitting, validateAll, values, onSubmit, resetForm, setFieldError]\n )\n\n // Memoize the public form context to limit downstream re-renders.\n const ctx = useMemo<MFormContextValue>(\n () => ({\n values,\n errors,\n touched,\n registerField,\n unregisterField,\n setFieldValue,\n setFieldError,\n setFieldTouched,\n validateField,\n validateAll,\n resetForm,\n isSubmitting,\n }),\n [\n values,\n errors,\n touched,\n registerField,\n unregisterField,\n setFieldValue,\n setFieldError,\n setFieldTouched,\n validateField,\n validateAll,\n resetForm,\n isSubmitting,\n ]\n )\n\n return (\n <FormContext.Provider value={ctx}>\n <form\n onSubmit={handleSubmit}\n noValidate={noValidate}\n className={`form${className ? ` ${className}` : ''}`}\n style={style}\n {...rest}\n >\n {typeof children === 'function' ? children(ctx) : children}\n </form>\n </FormContext.Provider>\n )\n}\n","import {useEffect, useCallback} from 'react'\nimport {useFormContext} from './FormContext'\nimport type {ValidatorFn} from '../../../utils/validators'\n\nexport interface MUseFormFieldOptions {\n validate?: ValidatorFn[]\n required?: boolean\n}\n\nexport interface MUseFormFieldReturn {\n value: unknown\n error: string | undefined\n touched: boolean\n onChange: (value: unknown) => void\n onBlur: () => void\n}\n\n// Connect a field name to the nearest form context and expose field-level helpers.\nexport function useFormField(name: string, options?: MUseFormFieldOptions): MUseFormFieldReturn {\n const ctx = useFormContext()\n\n // Register the field definition so the form can validate and reset it centrally.\n useEffect(() => {\n if (!ctx) return\n ctx.registerField({\n name,\n validate: options?.validate,\n required: options?.required,\n })\n return () => ctx.unregisterField(name)\n }, [ctx, name, options?.validate, options?.required])\n\n // Forward value updates into the form state.\n const onChange = useCallback(\n (val: unknown) => {\n ctx?.setFieldValue(name, val)\n },\n [ctx, name]\n )\n\n // Mark the field as touched when the control loses focus.\n const onBlur = useCallback(() => {\n ctx?.setFieldTouched(name, true)\n }, [ctx, name])\n\n return {\n value: ctx?.values[name] ?? '',\n error: ctx?.errors[name],\n touched: ctx?.touched[name] ?? false,\n onChange,\n onBlur,\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { r as e } from "./MI18nProvider-VH14CI8u.js";
|
|
2
|
-
import { useCallback as t, useMemo as n } from "react";
|
|
3
|
-
//#region src/i18n/frameworkTexts.ts
|
|
4
|
-
function r() {
|
|
5
|
-
let n = e();
|
|
6
|
-
return t((e, t) => n?.t(e, t) ?? t, [n]);
|
|
7
|
-
}
|
|
8
|
-
function i() {
|
|
9
|
-
let e = r();
|
|
10
|
-
return n(() => ({
|
|
11
|
-
today: e("mineralui.datePicker.today", "Today"),
|
|
12
|
-
clear: e("mineralui.datePicker.clear", "Clear"),
|
|
13
|
-
previousMonth: e("mineralui.datePicker.previousMonth", "Previous month"),
|
|
14
|
-
nextMonth: e("mineralui.datePicker.nextMonth", "Next month")
|
|
15
|
-
}), [e]);
|
|
16
|
-
}
|
|
17
|
-
function a() {
|
|
18
|
-
let e = r();
|
|
19
|
-
return n(() => ({
|
|
20
|
-
today: e("mineralui.dateRangePicker.today", "Today"),
|
|
21
|
-
clear: e("mineralui.dateRangePicker.clear", "Clear"),
|
|
22
|
-
previousMonth: e("mineralui.dateRangePicker.previousMonth", "Previous month"),
|
|
23
|
-
nextMonth: e("mineralui.dateRangePicker.nextMonth", "Next month"),
|
|
24
|
-
rangeSubtitle: e("mineralui.dateRangePicker.rangeSubtitle", "Select start and end dates in one panel."),
|
|
25
|
-
defaultRangePlaceholder: e("mineralui.dateRangePicker.defaultRangePlaceholder", "Select date range..."),
|
|
26
|
-
presets: {
|
|
27
|
-
today: e("mineralui.dateRangePicker.presets.today", "Today"),
|
|
28
|
-
days2: e("mineralui.dateRangePicker.presets.days2", "2 days"),
|
|
29
|
-
days3: e("mineralui.dateRangePicker.presets.days3", "3 days"),
|
|
30
|
-
days7: e("mineralui.dateRangePicker.presets.days7", "7 days"),
|
|
31
|
-
days14: e("mineralui.dateRangePicker.presets.days14", "14 days"),
|
|
32
|
-
days31: e("mineralui.dateRangePicker.presets.days31", "31 days"),
|
|
33
|
-
thisMonth: e("mineralui.dateRangePicker.presets.thisMonth", "This month"),
|
|
34
|
-
previousMonth: e("mineralui.dateRangePicker.presets.previousMonth", "Previous month"),
|
|
35
|
-
months2: e("mineralui.dateRangePicker.presets.months2", "2 months"),
|
|
36
|
-
months3: e("mineralui.dateRangePicker.presets.months3", "3 months"),
|
|
37
|
-
months6: e("mineralui.dateRangePicker.presets.months6", "6 months"),
|
|
38
|
-
year1: e("mineralui.dateRangePicker.presets.year1", "1 year")
|
|
39
|
-
}
|
|
40
|
-
}), [e]);
|
|
41
|
-
}
|
|
42
|
-
function o(e, t) {
|
|
43
|
-
return e.replace(/\{(\w+)\}/g, (e, n) => n in t ? String(t[n]) : e);
|
|
44
|
-
}
|
|
45
|
-
function s(e) {
|
|
46
|
-
return !!(e && e.toLowerCase().startsWith("pl"));
|
|
47
|
-
}
|
|
48
|
-
function c(e, t) {
|
|
49
|
-
let i = r();
|
|
50
|
-
return n(() => {
|
|
51
|
-
let n = s(e);
|
|
52
|
-
return {
|
|
53
|
-
previousMonth: t?.previousMonth ?? i("mineralui.miniCalendar.previousMonth", n ? "Poprzedni miesiąc" : "Previous month"),
|
|
54
|
-
nextMonth: t?.nextMonth ?? i("mineralui.miniCalendar.nextMonth", n ? "Następny miesiąc" : "Next month")
|
|
55
|
-
};
|
|
56
|
-
}, [
|
|
57
|
-
i,
|
|
58
|
-
e,
|
|
59
|
-
t
|
|
60
|
-
]);
|
|
61
|
-
}
|
|
62
|
-
function l() {
|
|
63
|
-
let e = r();
|
|
64
|
-
return n(() => ({
|
|
65
|
-
scale: e("mineralui.weekGrid.scale", "Scale: {min} — {max}{unit}"),
|
|
66
|
-
bands: [
|
|
67
|
-
e("mineralui.weekGrid.bands.none", "None"),
|
|
68
|
-
e("mineralui.weekGrid.bands.few", "Few"),
|
|
69
|
-
e("mineralui.weekGrid.bands.some", "Some"),
|
|
70
|
-
e("mineralui.weekGrid.bands.many", "Many")
|
|
71
|
-
],
|
|
72
|
-
cellLabel: e("mineralui.weekGrid.cellLabel", "{day} {slot}: {value}")
|
|
73
|
-
}), [e]);
|
|
74
|
-
}
|
|
75
|
-
//#endregion
|
|
76
|
-
export { l as a, c as i, i as n, a as r, o as t };
|
|
77
|
-
|
|
78
|
-
//# sourceMappingURL=frameworkTexts-DH0Xp-Vx.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const e=require(`./MI18nProvider-DXRbB0VY.cjs`);require(`./core-D66c1_Wo.cjs`);let t=require(`react`);function n(){let n=e.r();return(0,t.useCallback)((e,t)=>n?.t(e,t)??t,[n])}function r(){let e=n();return(0,t.useMemo)(()=>({today:e(`mineralui.datePicker.today`,`Today`),clear:e(`mineralui.datePicker.clear`,`Clear`),previousMonth:e(`mineralui.datePicker.previousMonth`,`Previous month`),nextMonth:e(`mineralui.datePicker.nextMonth`,`Next month`)}),[e])}function i(){let e=n();return(0,t.useMemo)(()=>({today:e(`mineralui.dateRangePicker.today`,`Today`),clear:e(`mineralui.dateRangePicker.clear`,`Clear`),previousMonth:e(`mineralui.dateRangePicker.previousMonth`,`Previous month`),nextMonth:e(`mineralui.dateRangePicker.nextMonth`,`Next month`),rangeSubtitle:e(`mineralui.dateRangePicker.rangeSubtitle`,`Select start and end dates in one panel.`),defaultRangePlaceholder:e(`mineralui.dateRangePicker.defaultRangePlaceholder`,`Select date range...`),presets:{today:e(`mineralui.dateRangePicker.presets.today`,`Today`),days2:e(`mineralui.dateRangePicker.presets.days2`,`2 days`),days3:e(`mineralui.dateRangePicker.presets.days3`,`3 days`),days7:e(`mineralui.dateRangePicker.presets.days7`,`7 days`),days14:e(`mineralui.dateRangePicker.presets.days14`,`14 days`),days31:e(`mineralui.dateRangePicker.presets.days31`,`31 days`),thisMonth:e(`mineralui.dateRangePicker.presets.thisMonth`,`This month`),previousMonth:e(`mineralui.dateRangePicker.presets.previousMonth`,`Previous month`),months2:e(`mineralui.dateRangePicker.presets.months2`,`2 months`),months3:e(`mineralui.dateRangePicker.presets.months3`,`3 months`),months6:e(`mineralui.dateRangePicker.presets.months6`,`6 months`),year1:e(`mineralui.dateRangePicker.presets.year1`,`1 year`)}}),[e])}function a(e,t){return e.replace(/\{(\w+)\}/g,(e,n)=>n in t?String(t[n]):e)}function o(e){return!!(e&&e.toLowerCase().startsWith(`pl`))}function s(e,r){let i=n();return(0,t.useMemo)(()=>{let t=o(e);return{previousMonth:r?.previousMonth??i(`mineralui.miniCalendar.previousMonth`,t?`Poprzedni miesiąc`:`Previous month`),nextMonth:r?.nextMonth??i(`mineralui.miniCalendar.nextMonth`,t?`Następny miesiąc`:`Next month`)}},[i,e,r])}function c(){let e=n();return(0,t.useMemo)(()=>({scale:e(`mineralui.weekGrid.scale`,`Scale: {min} — {max}{unit}`),bands:[e(`mineralui.weekGrid.bands.none`,`None`),e(`mineralui.weekGrid.bands.few`,`Few`),e(`mineralui.weekGrid.bands.some`,`Some`),e(`mineralui.weekGrid.bands.many`,`Many`)],cellLabel:e(`mineralui.weekGrid.cellLabel`,`{day} {slot}: {value}`)}),[e])}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}});
|
|
2
|
-
//# sourceMappingURL=frameworkTexts-iDXhcW6k.cjs.map
|