@banzamel/mineralui 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/{MAvatar-BDfA-fQT.js → MAvatar-BoO51a6m.js} +4 -4
- package/dist/{MAvatar-BDfA-fQT.js.map → MAvatar-BoO51a6m.js.map} +1 -1
- package/dist/{MAvatar-C8tWuy5K.cjs → MAvatar-DJKtca9j.cjs} +2 -2
- package/dist/{MAvatar-C8tWuy5K.cjs.map → MAvatar-DJKtca9j.cjs.map} +1 -1
- package/dist/{MBadge-Babyr1R9.cjs → MBadge-CexVV675.cjs} +2 -2
- package/dist/MBadge-CexVV675.cjs.map +1 -0
- package/dist/{MBadge-BjZX0MIC.js → MBadge-Y1JnZiIC.js} +2 -2
- package/dist/MBadge-Y1JnZiIC.js.map +1 -0
- package/dist/{MButton-C_WTyNvw.cjs → MButton-B8rXmFX9.cjs} +2 -2
- package/dist/{MButton-C_WTyNvw.cjs.map → MButton-B8rXmFX9.cjs.map} +1 -1
- package/dist/{MButton-33EzpGvQ.js → MButton-BmTDe5Oa.js} +3 -3
- package/dist/{MButton-33EzpGvQ.js.map → MButton-BmTDe5Oa.js.map} +1 -1
- package/dist/{MCheckbox-DW-liYve.js → MCheckbox-B7SpcD4H.js} +3 -3
- package/dist/{MCheckbox-DW-liYve.js.map → MCheckbox-B7SpcD4H.js.map} +1 -1
- package/dist/{MCheckbox-9WMKKIUO.cjs → MCheckbox-Bea3orrs.cjs} +2 -2
- package/dist/{MCheckbox-9WMKKIUO.cjs.map → MCheckbox-Bea3orrs.cjs.map} +1 -1
- package/dist/{MCookieBootstrap-v2JRvgUH.js → MCookieBootstrap-CNYLvKjW.js} +1 -1
- package/dist/{MCookieBootstrap-v2JRvgUH.js.map → MCookieBootstrap-CNYLvKjW.js.map} +1 -1
- package/dist/{MCookieBootstrap-I7jiqvBM.cjs → MCookieBootstrap-DSOT4FQo.cjs} +1 -1
- package/dist/{MCookieBootstrap-I7jiqvBM.cjs.map → MCookieBootstrap-DSOT4FQo.cjs.map} +1 -1
- package/dist/MDataTable-BI7wFZYN.cjs +2 -0
- package/dist/{MDataTable-B0QbAjVI.cjs.map → MDataTable-BI7wFZYN.cjs.map} +1 -1
- package/dist/{MDataTable-C-CRvZ45.js → MDataTable-Cqwkiq7A.js} +13 -15
- package/dist/{MDataTable-C-CRvZ45.js.map → MDataTable-Cqwkiq7A.js.map} +1 -1
- package/dist/MDrawer-CSvjLrhB.cjs +2 -0
- package/dist/{MDrawer-_Bao-x1w.cjs.map → MDrawer-CSvjLrhB.cjs.map} +1 -1
- package/dist/{MDrawer-CHbmY08J.js → MDrawer-DXHtAckQ.js} +5 -5
- package/dist/{MDrawer-CHbmY08J.js.map → MDrawer-DXHtAckQ.js.map} +1 -1
- package/dist/{MDropdownMenu-D3O3-l8O.js → MDropdownMenu-CxBhYxQb.js} +4 -4
- package/dist/{MDropdownMenu-D3O3-l8O.js.map → MDropdownMenu-CxBhYxQb.js.map} +1 -1
- package/dist/{MDropdownMenu-Bd6MfUmF.cjs → MDropdownMenu-X7ywPqth.cjs} +2 -2
- package/dist/{MDropdownMenu-Bd6MfUmF.cjs.map → MDropdownMenu-X7ywPqth.cjs.map} +1 -1
- package/dist/{illustrations.entry-DtMxssXq.cjs → MGalleryIllustration-CeOMHzpt.cjs} +2 -2
- package/dist/MGalleryIllustration-CeOMHzpt.cjs.map +1 -0
- package/dist/{illustrations.entry-C0rSNpF1.js → MGalleryIllustration-D7CVMSwO.js} +2 -2
- package/dist/{illustrations.entry-DtMxssXq.cjs.map → MGalleryIllustration-D7CVMSwO.js.map} +1 -1
- package/dist/{MHeading-BlDlbYcY.js → MHeading-C3IgV22T.js} +3 -3
- package/dist/{MHeading-BlDlbYcY.js.map → MHeading-C3IgV22T.js.map} +1 -1
- package/dist/{MHeading-7-5TESyc.cjs → MHeading-DqvWKia1.cjs} +2 -2
- package/dist/{MHeading-7-5TESyc.cjs.map → MHeading-DqvWKia1.cjs.map} +1 -1
- package/dist/{MImage-C99xrQQ9.js → MImage-BDcrV6IC.js} +4 -4
- package/dist/MImage-BDcrV6IC.js.map +1 -0
- package/dist/{MImage-DbianX0t.cjs → MImage-BsQJ_eYf.cjs} +2 -2
- package/dist/MImage-BsQJ_eYf.cjs.map +1 -0
- package/dist/{MInline-Bvfuvqsf.cjs → MInline-BAhu2zT-.cjs} +2 -2
- package/dist/{MInline-Bvfuvqsf.cjs.map → MInline-BAhu2zT-.cjs.map} +1 -1
- package/dist/{MInline-NJeL5tcC.js → MInline-Dfy3Lrjs.js} +4 -4
- package/dist/{MInline-NJeL5tcC.js.map → MInline-Dfy3Lrjs.js.map} +1 -1
- package/dist/{MInput-OmuQ2Tds.js → MInput-BSaKw0Uc.js} +6 -6
- package/dist/{MInput-OmuQ2Tds.js.map → MInput-BSaKw0Uc.js.map} +1 -1
- package/dist/MInput-W7DJQ_ng.cjs +2 -0
- package/dist/{MInput-Bpkn3gOQ.cjs.map → MInput-W7DJQ_ng.cjs.map} +1 -1
- package/dist/MInputCVC-DH_bjV5R.cjs +2 -0
- package/dist/MInputCVC-DH_bjV5R.cjs.map +1 -0
- package/dist/{MInputCVC-CcG_KJvq.js → MInputCVC-Dqbl1zG9.js} +21 -23
- package/dist/MInputCVC-Dqbl1zG9.js.map +1 -0
- package/dist/MInputSearch-C7betxTa.cjs +2 -0
- package/dist/{MInputSearch-APMIHkYb.cjs.map → MInputSearch-C7betxTa.cjs.map} +1 -1
- package/dist/{MInputSearch-k2ESY4ZG.js → MInputSearch-CH5ZcjLq.js} +4 -4
- package/dist/{MInputSearch-k2ESY4ZG.js.map → MInputSearch-CH5ZcjLq.js.map} +1 -1
- package/dist/{MLink-B4JrRZ29.cjs → MLink-DHryXq_D.cjs} +2 -2
- package/dist/{MLink-B4JrRZ29.cjs.map → MLink-DHryXq_D.cjs.map} +1 -1
- package/dist/{MLink-_WcD95E0.js → MLink-ODytrwne.js} +2 -2
- package/dist/{MLink-_WcD95E0.js.map → MLink-ODytrwne.js.map} +1 -1
- package/dist/{MModal-Dni2MR1n.js → MModal-DShADuLw.js} +4 -4
- package/dist/{MModal-Dni2MR1n.js.map → MModal-DShADuLw.js.map} +1 -1
- package/dist/{MModal-D-3jQ-c5.cjs → MModal-pMcPs3pw.cjs} +2 -2
- package/dist/{MModal-D-3jQ-c5.cjs.map → MModal-pMcPs3pw.cjs.map} +1 -1
- package/dist/{MPagination-DCeU7MHM.js → MPagination-B7aho7rQ.js} +8 -8
- package/dist/{MPagination-DCeU7MHM.js.map → MPagination-B7aho7rQ.js.map} +1 -1
- package/dist/MPagination-BWHAVgWN.cjs +2 -0
- package/dist/{MPagination-3fsF3pCM.cjs.map → MPagination-BWHAVgWN.cjs.map} +1 -1
- package/dist/{MPopover-DKBdLfrw.js → MPopover-BC9C5967.js} +3 -3
- package/dist/{MPopover-DKBdLfrw.js.map → MPopover-BC9C5967.js.map} +1 -1
- package/dist/{MPopover-BXPkE575.cjs → MPopover-C3-fGAke.cjs} +2 -2
- package/dist/{MPopover-BXPkE575.cjs.map → MPopover-C3-fGAke.cjs.map} +1 -1
- package/dist/{MPortal-CbpNkzfC.js → MPortal-Dqlkh3hw.js} +1 -1
- package/dist/{MPortal-CbpNkzfC.js.map → MPortal-Dqlkh3hw.js.map} +1 -1
- package/dist/{MPortal-BysJLuEi.cjs → MPortal-PyRKsZxc.cjs} +1 -1
- package/dist/{MPortal-BysJLuEi.cjs.map → MPortal-PyRKsZxc.cjs.map} +1 -1
- package/dist/{MQrCode-DGq8ktvf.js → MQrCode-6Cz9B7Qy.js} +15 -16
- package/dist/{MQrCode-DGq8ktvf.js.map → MQrCode-6Cz9B7Qy.js.map} +1 -1
- package/dist/MQrCode-Bp2CWpmX.cjs +2 -0
- package/dist/{MQrCode-ClP7YJFt.cjs.map → MQrCode-Bp2CWpmX.cjs.map} +1 -1
- package/dist/{MSkeleton-CRgCZZqm.cjs → MSkeleton-BfRBJ6ku.cjs} +2 -2
- package/dist/{MSkeleton-CRgCZZqm.cjs.map → MSkeleton-BfRBJ6ku.cjs.map} +1 -1
- package/dist/{MSkeleton-QQ8Lk3Cr.js → MSkeleton-CauCfkzj.js} +4 -4
- package/dist/{MSkeleton-QQ8Lk3Cr.js.map → MSkeleton-CauCfkzj.js.map} +1 -1
- package/dist/{MSlider-DNAOirz9.cjs → MSlider-BCMJkvcA.cjs} +2 -2
- package/dist/{MSlider-DNAOirz9.cjs.map → MSlider-BCMJkvcA.cjs.map} +1 -1
- package/dist/{MSlider-C65mv2h1.js → MSlider-CqrusKJQ.js} +2 -2
- package/dist/{MSlider-C65mv2h1.js.map → MSlider-CqrusKJQ.js.map} +1 -1
- package/dist/{MSparkline-lRq3gAYU.cjs → MSparkline-BOaNmbeB.cjs} +2 -2
- package/dist/MSparkline-BOaNmbeB.cjs.map +1 -0
- package/dist/{MSparkline-LfEfA310.js → MSparkline-Cb_EwR-E.js} +2 -2
- package/dist/MSparkline-Cb_EwR-E.js.map +1 -0
- package/dist/{MStack-CuUE9u4h.js → MStack-Cifiqeb2.js} +4 -4
- package/dist/{MStack-CuUE9u4h.js.map → MStack-Cifiqeb2.js.map} +1 -1
- package/dist/{MStack-CFZf6I8F.cjs → MStack-lrvy7l3w.cjs} +2 -2
- package/dist/{MStack-CFZf6I8F.cjs.map → MStack-lrvy7l3w.cjs.map} +1 -1
- package/dist/{MSubText-Dr0rAnX7.cjs → MSubText-78oYdJQy.cjs} +2 -2
- package/dist/{MSubText-Dr0rAnX7.cjs.map → MSubText-78oYdJQy.cjs.map} +1 -1
- package/dist/{MSubText-BxDWVjjs.js → MSubText-C2oxXwKT.js} +3 -3
- package/dist/{MSubText-BxDWVjjs.js.map → MSubText-C2oxXwKT.js.map} +1 -1
- package/dist/{MSurface-BiusHYSB.js → MSurface-B1LXFczo.js} +4 -4
- package/dist/{MSurface-BiusHYSB.js.map → MSurface-B1LXFczo.js.map} +1 -1
- package/dist/{MSurface-BlCLcifq.cjs → MSurface-BgZ86iYn.cjs} +2 -2
- package/dist/{MSurface-BlCLcifq.cjs.map → MSurface-BgZ86iYn.cjs.map} +1 -1
- package/dist/MTag-C4_rBj4b.cjs +2 -0
- package/dist/{MTag-BMi1GS7v.cjs.map → MTag-C4_rBj4b.cjs.map} +1 -1
- package/dist/{MTag-Cor8ZIW3.js → MTag-DOcKm3c2.js} +4 -4
- package/dist/{MTag-Cor8ZIW3.js.map → MTag-DOcKm3c2.js.map} +1 -1
- package/dist/{MText-DEKnLtLk.cjs → MText-CxSZ2md0.cjs} +2 -2
- package/dist/{MText-DEKnLtLk.cjs.map → MText-CxSZ2md0.cjs.map} +1 -1
- package/dist/{MText-lZjEtV_i.js → MText-DX9O7gh7.js} +3 -3
- package/dist/{MText-lZjEtV_i.js.map → MText-DX9O7gh7.js.map} +1 -1
- package/dist/{MTimeAgo-Ci8UkEEk.cjs → MTimeAgo-91_ndjxU.cjs} +2 -2
- package/dist/{MTimeAgo-Ci8UkEEk.cjs.map → MTimeAgo-91_ndjxU.cjs.map} +1 -1
- package/dist/{MTimeAgo-4pfAn0iE.js → MTimeAgo-xxl53mct.js} +4 -4
- package/dist/{MTimeAgo-4pfAn0iE.js.map → MTimeAgo-xxl53mct.js.map} +1 -1
- package/dist/{MToggle-CndejlPX.js → MToggle-B6emKoKq.js} +3 -3
- package/dist/{MToggle-CndejlPX.js.map → MToggle-B6emKoKq.js.map} +1 -1
- package/dist/{MToggle-Dom6azGw.cjs → MToggle-CsGS_W3X.cjs} +2 -2
- package/dist/{MToggle-Dom6azGw.cjs.map → MToggle-CsGS_W3X.cjs.map} +1 -1
- package/dist/{MTooltip-CsJogGMW.cjs → MTooltip-CNXoyQEN.cjs} +2 -2
- package/dist/{MTooltip-CsJogGMW.cjs.map → MTooltip-CNXoyQEN.cjs.map} +1 -1
- package/dist/{MTooltip-DIqh59S2.js → MTooltip-UYOjDBOu.js} +3 -3
- package/dist/{MTooltip-DIqh59S2.js.map → MTooltip-UYOjDBOu.js.map} +1 -1
- package/dist/{cards-CuxycY_U.js → cards-BE77zKTI.js} +299 -304
- package/dist/cards-BE77zKTI.js.map +1 -0
- package/dist/cards-BINs-dmS.cjs +2 -0
- package/dist/cards-BINs-dmS.cjs.map +1 -0
- package/dist/cards.cjs +1 -1
- package/dist/cards.js +2 -2
- package/dist/{cn-SOcVdnX6.cjs → cn-CU5TNITO.cjs} +1 -1
- package/dist/{cn-SOcVdnX6.cjs.map → cn-CU5TNITO.cjs.map} +1 -1
- package/dist/{cn-DZLxql0l.js → cn-YER3QsV1.js} +1 -1
- package/dist/{cn-DZLxql0l.js.map → cn-YER3QsV1.js.map} +1 -1
- package/dist/components/data/index.d.ts +1 -1
- package/dist/components/feedback/MCookie/MCookieBootstrap/MCookieBootstrap.script.d.ts +4 -0
- package/dist/components/feedback/MCookie/MCookieConsent/index.d.ts +1 -1
- package/dist/components/layout/MNavbar/MNavbar.d.ts +1 -1
- package/dist/components/layout/MNavbar/MNavbar.types.d.ts +4 -0
- package/dist/components/layout/MNavbar/index.d.ts +1 -1
- package/dist/components/layout/MNavs/MNavs.types.d.ts +12 -2
- package/dist/components/layout/MNavs/index.d.ts +1 -1
- package/dist/{controls-CO70zfcl.js → controls-BMwQ3C1R.js} +5 -5
- package/dist/controls-BMwQ3C1R.js.map +1 -0
- package/dist/controls-DwL1-nVC.cjs +2 -0
- package/dist/controls-DwL1-nVC.cjs.map +1 -0
- package/dist/controls.cjs +1 -1
- package/dist/controls.js +6 -6
- package/dist/cookie-consent-bootstrap.cjs +1 -1
- package/dist/cookie-consent-bootstrap.cjs.map +1 -1
- package/dist/cookie-consent-bootstrap.js +45 -32
- package/dist/cookie-consent-bootstrap.js.map +1 -1
- package/dist/{creditCards-CoZpbB1e.js → creditCards-CCysEwry.js} +1 -1
- package/dist/{creditCards-CoZpbB1e.js.map → creditCards-CCysEwry.js.map} +1 -1
- package/dist/{creditCards-BjHGqAFx.cjs → creditCards-ljs044xt.cjs} +1 -1
- package/dist/{creditCards-BjHGqAFx.cjs.map → creditCards-ljs044xt.cjs.map} +1 -1
- package/dist/data-BESfox0z.cjs +2 -0
- package/dist/data-BESfox0z.cjs.map +1 -0
- package/dist/{data-CaRwdLlD.js → data-s8Hkht1B.js} +714 -718
- package/dist/data-s8Hkht1B.js.map +1 -0
- package/dist/data.cjs +1 -1
- package/dist/data.js +3 -3
- package/dist/{dateUtils-BOsYyWde.js → dateUtils-CUY6CRCf.js} +1 -1
- package/dist/{dateUtils-BOsYyWde.js.map → dateUtils-CUY6CRCf.js.map} +1 -1
- package/dist/{dateUtils-xSfrXjbY.cjs → dateUtils-Dq1vaA-D.cjs} +1 -1
- package/dist/{dateUtils-xSfrXjbY.cjs.map → dateUtils-Dq1vaA-D.cjs.map} +1 -1
- package/dist/display-B0lpgApV.cjs +2 -0
- package/dist/{display-DHpFRcAP.cjs.map → display-B0lpgApV.cjs.map} +1 -1
- package/dist/{display-CkzrTEdb.js → display-DuBRiEKr.js} +5 -6
- package/dist/{display-CkzrTEdb.js.map → display-DuBRiEKr.js.map} +1 -1
- package/dist/display.cjs +1 -1
- package/dist/display.js +3 -3
- package/dist/{dropdowns-BPRJL_2d.js → dropdowns-BcVrUMPE.js} +106 -110
- package/dist/dropdowns-BcVrUMPE.js.map +1 -0
- package/dist/dropdowns-CK-oxd62.cjs +2 -0
- package/dist/dropdowns-CK-oxd62.cjs.map +1 -0
- package/dist/dropdowns.cjs +1 -1
- package/dist/dropdowns.js +1 -1
- package/dist/{feedback-Cgu8ez5M.js → feedback-D3LLKNlY.js} +238 -240
- package/dist/{feedback-Cgu8ez5M.js.map → feedback-D3LLKNlY.js.map} +1 -1
- package/dist/feedback-DYjg0Dbp.cjs +2 -0
- package/dist/{feedback-DBhETzTM.cjs.map → feedback-DYjg0Dbp.cjs.map} +1 -1
- package/dist/feedback.cjs +1 -1
- package/dist/feedback.js +6 -6
- package/dist/{form-rDra9x3X.cjs → form-6JwrowsS.cjs} +2 -2
- package/dist/{form-rDra9x3X.cjs.map → form-6JwrowsS.cjs.map} +1 -1
- package/dist/{form-XhjrsBOv.js → form-CFWADsyf.js} +2 -2
- package/dist/{form-XhjrsBOv.js.map → form-CFWADsyf.js.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{formatters-BIijIfCB.cjs → formatters-CNjg_h7-.cjs} +1 -1
- package/dist/{formatters-BIijIfCB.cjs.map → formatters-CNjg_h7-.cjs.map} +1 -1
- package/dist/{formatters-DMI5QqhS.js → formatters-T0vvjMtB.js} +1 -1
- package/dist/{formatters-DMI5QqhS.js.map → formatters-T0vvjMtB.js.map} +1 -1
- package/dist/{frameworkTexts-DH2N7l8F.js → frameworkTexts-B6oE8pMk.js} +1 -1
- package/dist/{frameworkTexts-DH2N7l8F.js.map → frameworkTexts-B6oE8pMk.js.map} +1 -1
- package/dist/{frameworkTexts-Ds2orE1v.cjs → frameworkTexts-C_9KZK_A.cjs} +1 -1
- package/dist/{frameworkTexts-Ds2orE1v.cjs.map → frameworkTexts-C_9KZK_A.cjs.map} +1 -1
- package/dist/i18n.d.ts +1 -1
- package/dist/icons-D5DK-J2C.js +4855 -0
- package/dist/icons-D5DK-J2C.js.map +1 -0
- package/dist/icons-Dv1T-cF4.cjs +2 -0
- package/dist/icons-Dv1T-cF4.cjs.map +1 -0
- package/dist/icons.cjs +1 -1
- package/dist/icons.d.ts +1 -1
- package/dist/icons.js +2 -23
- package/dist/illustrations.cjs +1 -1
- package/dist/illustrations.d.ts +1 -1
- package/dist/illustrations.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +59 -79
- package/dist/inputs-Dcj6C_Fn.cjs +2 -0
- package/dist/{inputs-DPhzLJZH.cjs.map → inputs-Dcj6C_Fn.cjs.map} +1 -1
- package/dist/{inputs-BBJgVLXO.js → inputs-bCxSLz-U.js} +424 -430
- package/dist/{inputs-BBJgVLXO.js.map → inputs-bCxSLz-U.js.map} +1 -1
- package/dist/inputs.cjs +1 -1
- package/dist/inputs.js +4 -4
- package/dist/{layout-CdAUOdYv.js → layout-Cb94o3oU.js} +291 -219
- package/dist/layout-Cb94o3oU.js.map +1 -0
- package/dist/layout-DgfsQ-Tn.cjs +2 -0
- package/dist/layout-DgfsQ-Tn.cjs.map +1 -0
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +6 -6
- package/dist/{layoutProps-CZ-XhpIX.cjs → layoutProps-Ck4VtGm9.cjs} +1 -1
- package/dist/{layoutProps-CZ-XhpIX.cjs.map → layoutProps-Ck4VtGm9.cjs.map} +1 -1
- package/dist/{layoutProps-DUPQsWy9.js → layoutProps-Cl6d1KmH.js} +1 -1
- package/dist/{layoutProps-DUPQsWy9.js.map → layoutProps-Cl6d1KmH.js.map} +1 -1
- package/dist/{licensing-CMLexRJk.cjs → licensing-BXFauUj_.cjs} +1 -1
- package/dist/{licensing-CMLexRJk.cjs.map → licensing-BXFauUj_.cjs.map} +1 -1
- package/dist/{licensing-SQAMYrOI.js → licensing-CwzqhHH9.js} +1 -1
- package/dist/{licensing-SQAMYrOI.js.map → licensing-CwzqhHH9.js.map} +1 -1
- package/dist/{locale-DPqdZjGC.js → locale-BNyzqXAU.js} +1 -1
- package/dist/{locale-DPqdZjGC.js.map → locale-BNyzqXAU.js.map} +1 -1
- package/dist/{locale-BG4Q6P_O.cjs → locale-BltrWJtd.cjs} +1 -1
- package/dist/{locale-BG4Q6P_O.cjs.map → locale-BltrWJtd.cjs.map} +1 -1
- package/dist/{media-Yp4PedIi.js → media-8aMOtckF.js} +12 -12
- package/dist/{media-Yp4PedIi.js.map → media-8aMOtckF.js.map} +1 -1
- package/dist/media-D5YGOTm7.cjs +2 -0
- package/dist/{media-Cc2wBvkb.cjs.map → media-D5YGOTm7.cjs.map} +1 -1
- package/dist/media.cjs +1 -1
- package/dist/media.js +3 -3
- package/dist/overlays-DCj-oV2H.cjs +2 -0
- package/dist/{overlays-CmF2tV32.cjs.map → overlays-DCj-oV2H.cjs.map} +1 -1
- package/dist/{overlays-BBlMSWS8.js → overlays-gjg00CAf.js} +7 -7
- package/dist/{overlays-BBlMSWS8.js.map → overlays-gjg00CAf.js.map} +1 -1
- package/dist/overlays.cjs +1 -1
- package/dist/overlays.js +5 -5
- package/dist/primitives.cjs +1 -1
- package/dist/primitives.js +2 -2
- package/dist/{relativeTime-3dGgniAK.js → relativeTime-Cr-NVzij.js} +1 -1
- package/dist/{relativeTime-3dGgniAK.js.map → relativeTime-Cr-NVzij.js.map} +1 -1
- package/dist/{relativeTime-D5qYOJVu.cjs → relativeTime-DgYBUaVm.cjs} +1 -1
- package/dist/{relativeTime-D5qYOJVu.cjs.map → relativeTime-DgYBUaVm.cjs.map} +1 -1
- package/dist/style-runtime.cjs +1 -1
- package/dist/style-runtime.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/{MThemeProvider-DUuTvWdm.js → theme-BV4qkzZU.js} +1 -1
- package/dist/theme-BV4qkzZU.js.map +1 -0
- package/dist/{MThemeProvider-9JHArSd7.cjs → theme-DLorpkJc.cjs} +1 -1
- package/dist/theme-DLorpkJc.cjs.map +1 -0
- package/dist/theme.cjs +1 -1
- package/dist/theme.d.ts +1 -1
- package/dist/theme.js +1 -1
- package/dist/{typography-DZx1M8Wc.js → typography-DKdr1Tds.js} +3 -3
- package/dist/{typography-DZx1M8Wc.js.map → typography-DKdr1Tds.js.map} +1 -1
- package/dist/{typography-B9-sCjsR.cjs → typography-qbFGv1gA.cjs} +2 -2
- package/dist/{typography-B9-sCjsR.cjs.map → typography-qbFGv1gA.cjs.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +5 -5
- package/dist/{useGhostText-Zq3iktss.js → useGhostText-DG0bzcao.js} +1 -1
- package/dist/{useGhostText-Zq3iktss.js.map → useGhostText-DG0bzcao.js.map} +1 -1
- package/dist/{useGhostText-CL1kSB_V.cjs → useGhostText-QMdO_HK6.cjs} +1 -1
- package/dist/{useGhostText-CL1kSB_V.cjs.map → useGhostText-QMdO_HK6.cjs.map} +1 -1
- package/dist/{useInteractionEffect-BLehDk91.cjs → useInteractionEffect-DnEfbCrX.cjs} +1 -1
- package/dist/{useInteractionEffect-BLehDk91.cjs.map → useInteractionEffect-DnEfbCrX.cjs.map} +1 -1
- package/dist/{useInteractionEffect-Dfqq8lGO.js → useInteractionEffect-DtpbVd77.js} +1 -1
- package/dist/{useInteractionEffect-Dfqq8lGO.js.map → useInteractionEffect-DtpbVd77.js.map} +1 -1
- package/dist/{useKeyboardNav-DBeCcTmg.cjs → useKeyboardNav-BrODLJaL.cjs} +1 -1
- package/dist/{useKeyboardNav-DBeCcTmg.cjs.map → useKeyboardNav-BrODLJaL.cjs.map} +1 -1
- package/dist/{useKeyboardNav-DXvrPrx9.js → useKeyboardNav-iEXOdEMB.js} +1 -1
- package/dist/{useKeyboardNav-DXvrPrx9.js.map → useKeyboardNav-iEXOdEMB.js.map} +1 -1
- package/dist/{useReveal-DzskFHKb.js → useReveal-BJ59usiL.js} +1 -1
- package/dist/{useReveal-DzskFHKb.js.map → useReveal-BJ59usiL.js.map} +1 -1
- package/dist/{useReveal-CdIoh0Rk.cjs → useReveal-B_17PI89.cjs} +1 -1
- package/dist/{useReveal-CdIoh0Rk.cjs.map → useReveal-B_17PI89.cjs.map} +1 -1
- package/dist/utils.cjs +1 -1
- package/dist/utils.js +11 -11
- package/dist/{validators-CyDTl6cC.cjs → validators-BeNTD8mf.cjs} +1 -1
- package/dist/{validators-CyDTl6cC.cjs.map → validators-BeNTD8mf.cjs.map} +1 -1
- package/dist/{validators-ljBWrIca.js → validators-H8tNxb8O.js} +1 -1
- package/dist/{validators-ljBWrIca.js.map → validators-H8tNxb8O.js.map} +1 -1
- package/package.json +1 -1
- package/dist/MArrowDownIcon-BcKSgdTY.js +0 -15
- package/dist/MArrowDownIcon-BcKSgdTY.js.map +0 -1
- package/dist/MArrowDownIcon-C8EAODgv.cjs +0 -2
- package/dist/MArrowDownIcon-C8EAODgv.cjs.map +0 -1
- package/dist/MArrowUpDownIcon-CW_PWr7Q.cjs +0 -2
- package/dist/MArrowUpDownIcon-CW_PWr7Q.cjs.map +0 -1
- package/dist/MArrowUpDownIcon-DukXemVA.js +0 -19
- package/dist/MArrowUpDownIcon-DukXemVA.js.map +0 -1
- package/dist/MArrowUpIcon-DWV_HYrz.cjs +0 -2
- package/dist/MArrowUpIcon-DWV_HYrz.cjs.map +0 -1
- package/dist/MArrowUpIcon-Dan-4hs8.js +0 -15
- package/dist/MArrowUpIcon-Dan-4hs8.js.map +0 -1
- package/dist/MBadge-Babyr1R9.cjs.map +0 -1
- package/dist/MBadge-BjZX0MIC.js.map +0 -1
- package/dist/MBrandMoreIcons-IQoXQOXv.js +0 -873
- package/dist/MBrandMoreIcons-IQoXQOXv.js.map +0 -1
- package/dist/MBrandMoreIcons-aks8CSrY.cjs +0 -2
- package/dist/MBrandMoreIcons-aks8CSrY.cjs.map +0 -1
- package/dist/MCalendarIcon-DXTVH31q.js +0 -29
- package/dist/MCalendarIcon-DXTVH31q.js.map +0 -1
- package/dist/MCalendarIcon-S4GQsUlu.cjs +0 -2
- package/dist/MCalendarIcon-S4GQsUlu.cjs.map +0 -1
- package/dist/MChatIcon-Bb3DbYgB.js +0 -96
- package/dist/MChatIcon-Bb3DbYgB.js.map +0 -1
- package/dist/MChatIcon-C-5VN1TR.cjs +0 -2
- package/dist/MChatIcon-C-5VN1TR.cjs.map +0 -1
- package/dist/MCheckIcon-DQumT4HX.js +0 -15
- package/dist/MCheckIcon-DQumT4HX.js.map +0 -1
- package/dist/MCheckIcon-ck_21ybZ.cjs +0 -2
- package/dist/MCheckIcon-ck_21ybZ.cjs.map +0 -1
- package/dist/MChevronDownIcon-D3yTpzni.js +0 -15
- package/dist/MChevronDownIcon-D3yTpzni.js.map +0 -1
- package/dist/MChevronDownIcon-DCMmxkRt.cjs +0 -2
- package/dist/MChevronDownIcon-DCMmxkRt.cjs.map +0 -1
- package/dist/MChevronRightIcon-BC08M6g8.cjs +0 -2
- package/dist/MChevronRightIcon-BC08M6g8.cjs.map +0 -1
- package/dist/MChevronRightIcon-CXs8IHiV.js +0 -21
- package/dist/MChevronRightIcon-CXs8IHiV.js.map +0 -1
- package/dist/MClockIcon-DTevPaRf.js +0 -19
- package/dist/MClockIcon-DTevPaRf.js.map +0 -1
- package/dist/MClockIcon-DoskImOg.cjs +0 -2
- package/dist/MClockIcon-DoskImOg.cjs.map +0 -1
- package/dist/MCloseIcon-6cfw9trj.cjs +0 -2
- package/dist/MCloseIcon-6cfw9trj.cjs.map +0 -1
- package/dist/MCloseIcon-lDH3Vc10.js +0 -15
- package/dist/MCloseIcon-lDH3Vc10.js.map +0 -1
- package/dist/MDataTable-B0QbAjVI.cjs +0 -2
- package/dist/MDrawer-_Bao-x1w.cjs +0 -2
- package/dist/MEllipsisVerticalIcon-CXmu-bHJ.js +0 -43
- package/dist/MEllipsisVerticalIcon-CXmu-bHJ.js.map +0 -1
- package/dist/MEllipsisVerticalIcon-CufhU4cO.cjs +0 -2
- package/dist/MEllipsisVerticalIcon-CufhU4cO.cjs.map +0 -1
- package/dist/MFileExtIcons-CPsgV8eQ.cjs +0 -2
- package/dist/MFileExtIcons-CPsgV8eQ.cjs.map +0 -1
- package/dist/MFileExtIcons-Cxbgd5Fz.js +0 -145
- package/dist/MFileExtIcons-Cxbgd5Fz.js.map +0 -1
- package/dist/MIcon-BPr09_p4.js +0 -49
- package/dist/MIcon-BPr09_p4.js.map +0 -1
- package/dist/MIcon-CX5beo32.cjs +0 -2
- package/dist/MIcon-CX5beo32.cjs.map +0 -1
- package/dist/MImage-C99xrQQ9.js.map +0 -1
- package/dist/MImage-DbianX0t.cjs.map +0 -1
- package/dist/MInput-Bpkn3gOQ.cjs +0 -2
- package/dist/MInputCVC-Bl8i97Y0.cjs +0 -2
- package/dist/MInputCVC-Bl8i97Y0.cjs.map +0 -1
- package/dist/MInputCVC-CcG_KJvq.js.map +0 -1
- package/dist/MInputSearch-APMIHkYb.cjs +0 -2
- package/dist/MMenuIcon-A_eXBpM8.cjs +0 -2
- package/dist/MMenuIcon-A_eXBpM8.cjs.map +0 -1
- package/dist/MMenuIcon-CbBHfxVa.js +0 -20
- package/dist/MMenuIcon-CbBHfxVa.js.map +0 -1
- package/dist/MPagination-3fsF3pCM.cjs +0 -2
- package/dist/MPhoneIcon-D5JEg8LZ.js +0 -38
- package/dist/MPhoneIcon-D5JEg8LZ.js.map +0 -1
- package/dist/MPhoneIcon-D5unTWyf.cjs +0 -2
- package/dist/MPhoneIcon-D5unTWyf.cjs.map +0 -1
- package/dist/MProtectIcon-B_m67eu1.cjs +0 -2
- package/dist/MProtectIcon-B_m67eu1.cjs.map +0 -1
- package/dist/MProtectIcon-s_IpKWPz.js +0 -80
- package/dist/MProtectIcon-s_IpKWPz.js.map +0 -1
- package/dist/MQrCode-ClP7YJFt.cjs +0 -2
- package/dist/MSearchIcon-BakfEJQd.cjs +0 -2
- package/dist/MSearchIcon-BakfEJQd.cjs.map +0 -1
- package/dist/MSearchIcon-Dlg4Og8t.js +0 -24
- package/dist/MSearchIcon-Dlg4Og8t.js.map +0 -1
- package/dist/MSparkline-LfEfA310.js.map +0 -1
- package/dist/MSparkline-lRq3gAYU.cjs.map +0 -1
- package/dist/MStarFillIcon-BxKSY0VO.js +0 -25
- package/dist/MStarFillIcon-BxKSY0VO.js.map +0 -1
- package/dist/MStarFillIcon-CnINKvE4.cjs +0 -2
- package/dist/MStarFillIcon-CnINKvE4.cjs.map +0 -1
- package/dist/MSuccessIcon-Cvs8ER4y.cjs +0 -2
- package/dist/MSuccessIcon-Cvs8ER4y.cjs.map +0 -1
- package/dist/MSuccessIcon-DH5Z83mM.js +0 -33
- package/dist/MSuccessIcon-DH5Z83mM.js.map +0 -1
- package/dist/MTag-BMi1GS7v.cjs +0 -2
- package/dist/MThemeProvider-9JHArSd7.cjs.map +0 -1
- package/dist/MThemeProvider-DUuTvWdm.js.map +0 -1
- package/dist/MZoomInIcon-BEdmglk6.js +0 -134
- package/dist/MZoomInIcon-BEdmglk6.js.map +0 -1
- package/dist/MZoomInIcon-dhRm7zT6.cjs +0 -2
- package/dist/MZoomInIcon-dhRm7zT6.cjs.map +0 -1
- package/dist/cards-Bp7jOY3_.cjs +0 -2
- package/dist/cards-Bp7jOY3_.cjs.map +0 -1
- package/dist/cards-CuxycY_U.js.map +0 -1
- package/dist/controls-BJe59nXf.cjs +0 -2
- package/dist/controls-BJe59nXf.cjs.map +0 -1
- package/dist/controls-CO70zfcl.js.map +0 -1
- package/dist/data-CaRwdLlD.js.map +0 -1
- package/dist/data-r5uYgiWq.cjs +0 -2
- package/dist/data-r5uYgiWq.cjs.map +0 -1
- package/dist/display-DHpFRcAP.cjs +0 -2
- package/dist/dropdowns-BPRJL_2d.js.map +0 -1
- package/dist/dropdowns-BTbAnQxt.cjs +0 -2
- package/dist/dropdowns-BTbAnQxt.cjs.map +0 -1
- package/dist/feedback-DBhETzTM.cjs +0 -2
- package/dist/icons.entry-LwjwnjE2.cjs +0 -2
- package/dist/icons.entry-LwjwnjE2.cjs.map +0 -1
- package/dist/icons.entry-txsQqMvb.js +0 -3318
- package/dist/icons.entry-txsQqMvb.js.map +0 -1
- package/dist/illustrations.entry-C0rSNpF1.js.map +0 -1
- package/dist/inputs-DPhzLJZH.cjs +0 -2
- package/dist/layout-CdAUOdYv.js.map +0 -1
- package/dist/layout-DsY7-y6U.cjs +0 -2
- package/dist/layout-DsY7-y6U.cjs.map +0 -1
- package/dist/media-Cc2wBvkb.cjs +0 -2
- package/dist/overlays-CmF2tV32.cjs +0 -2
package/dist/inputs-DPhzLJZH.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const e=require(`./MCloseIcon-6cfw9trj.cjs`),t=require(`./MCheckIcon-ck_21ybZ.cjs`),n=require(`./MChevronDownIcon-DCMmxkRt.cjs`),r=require(`./MZoomInIcon-dhRm7zT6.cjs`),i=require(`./MCalendarIcon-S4GQsUlu.cjs`),a=require(`./MPhoneIcon-D5unTWyf.cjs`),o=require(`./MFileExtIcons-CPsgV8eQ.cjs`),s=require(`./cn-SOcVdnX6.cjs`),c=require(`./validators-CyDTl6cC.cjs`),l=require(`./creditCards-BjHGqAFx.cjs`),u=require(`./formatters-BIijIfCB.cjs`),d=require(`./useGhostText-CL1kSB_V.cjs`),f=require(`./useInteractionEffect-BLehDk91.cjs`),p=require(`./MButton-C_WTyNvw.cjs`),m=require(`./MInput-Bpkn3gOQ.cjs`),h=require(`./MCheckbox-9WMKKIUO.cjs`),g=require(`./MSlider-DNAOirz9.cjs`);let _=require(`react`),v=require(`react/jsx-runtime`);var y=(0,_.forwardRef)(function({value:e,defaultValue:t,name:n,id:r,placeholder:i,disabled:a=!1,readOnly:o=!1,required:c=!1,autoFocus:l=!1,rows:u=3,autoResize:f=!1,minRows:h,maxRows:g,variant:y=`outlined`,size:b=`md`,color:x,fullWidth:S=!1,label:C,helperText:w,errorText:T,error:E=!1,success:D=!1,maxLength:O,showCharCount:k=!1,ghostOptions:A,ghostMinChars:j=2,onGhostAccept:M,loading:N=!1,onChange:P,onFocus:F,onBlur:I,className:L,style:R,textareaClassName:z,labelClassName:B},V){let[H,U]=(0,_.useState)(!1),W=(0,_.useRef)(null),{currentValue:G,setCurrentValue:K}=m.n(e,t),q=d.t({options:A??[],value:G,minChars:j}),J=E||!!T,ee=J?`color-error`:x?`color-${x}`:void 0,Y=V??W,X=(0,_.useCallback)(()=>{let e=typeof Y==`function`?null:Y?.current;if(!e||!f)return;e.style.height=`auto`;let t=parseFloat(getComputedStyle(e).lineHeight)||20,n=h?h*t:0,r=g?g*t:1/0,i=Math.min(Math.max(e.scrollHeight,n),r);e.style.height=`${i}px`,e.style.overflowY=e.scrollHeight>i?`auto`:`hidden`},[f,h,g,Y]);(0,_.useEffect)(()=>{X()},[G,X]);let te=(0,_.useCallback)(e=>{U(!0),F?.(e)},[F]),Z=(0,_.useCallback)(e=>{U(!1),I?.(e)},[I]),Q=(0,_.useCallback)(e=>{K(e.target.value),P?.(e),q.reset()},[P,K,q.reset]),ne=(0,_.useCallback)(e=>{if(A&&q.hint&&q.onKeyDown(e)){let e=q.accept();K(e.value),M?.(e.value);let t=typeof Y==`function`?null:Y?.current;t&&((Object.getOwnPropertyDescriptor(HTMLTextAreaElement.prototype,`value`)?.set)?.call(t,e.value),t.dispatchEvent(new Event(`input`,{bubbles:!0})));return}},[A,q,K,M,Y]),re=s.t(`container`,`field-${y}`,`field-${b}`,H&&`focused`,J&&`error`,D&&!J&&`success`,a&&`disabled`);return(0,v.jsxs)(`div`,{className:s.t(`textarea`,ee,S&&`full-width`,L),style:R,children:[C&&(0,v.jsx)(`label`,{htmlFor:r,className:s.t(`field-label`,H&&`focused`,J&&`error`,D&&!J&&`success`,c&&`required`,B),children:C}),(0,v.jsxs)(`div`,{className:re,children:[A?(0,v.jsxs)(`div`,{className:`ghost-text-field ghost-text-field-multi`,children:[(0,v.jsx)(`textarea`,{ref:Y,name:n,id:r,placeholder:i,disabled:a,readOnly:o,required:c,autoFocus:l,rows:f?h??u:u,maxLength:O,value:G,className:s.t(`field`,z),onChange:Q,onFocus:te,onBlur:Z,onKeyDown:ne,"aria-invalid":J||void 0,"aria-describedby":T?`${r}-error`:w?`${r}-helper`:void 0}),H&&q.hint&&(0,v.jsxs)(`span`,{className:`ghost-text-overlay`,"aria-hidden":`true`,children:[(0,v.jsx)(`span`,{className:`ghost-text-typed`,children:G}),(0,v.jsx)(`span`,{className:`ghost-text-hint`,children:q.hint})]})]}):(0,v.jsx)(`textarea`,{ref:Y,name:n,id:r,placeholder:i,disabled:a,readOnly:o,required:c,autoFocus:l,rows:f?h??u:u,maxLength:O,value:G,className:s.t(`field`,z),onChange:Q,onFocus:te,onBlur:Z,"aria-invalid":J||void 0,"aria-describedby":T?`${r}-error`:w?`${r}-helper`:void 0}),N&&(0,v.jsx)(p.r,{size:`sm`,color:x,className:`textarea-spinner`})]}),(T||w||k)&&(0,v.jsxs)(`div`,{className:`bottom-row`,children:[(0,v.jsxs)(`span`,{children:[T&&(0,v.jsx)(`span`,{id:r?`${r}-error`:void 0,className:`field-error`,role:`alert`,children:T}),!T&&w&&(0,v.jsx)(`span`,{id:r?`${r}-helper`:void 0,className:`field-helper`,children:w})]}),k&&O&&(0,v.jsxs)(`span`,{className:s.t(`char-count`,G.length>O&&`over`),children:[G.length,`/`,O]})]})]})});function b(e){let t=0;return e.length>=8&&t++,e.length>=12&&t++,/[a-z]/.test(e)&&/[A-Z]/.test(e)&&t++,/\d/.test(e)&&t++,/[^a-zA-Z0-9]/.test(e)&&t++,t<=1?`weak`:t<=2?`fair`:t<=3?`good`:`strong`}var x={weak:`Weak`,fair:`Fair`,good:`Good`,strong:`Strong`},S=(0,_.forwardRef)(function({showToggle:e=!0,showStrength:t=!1,onStrengthChange:n,value:i,defaultValue:a,onChange:o,className:c,...l},u){let[d,f]=(0,_.useState)(!1),[p,h]=(0,_.useState)(a?.toString()??``),g=i===void 0?p:i.toString(),y=b(g);(0,_.useEffect)(()=>{n?.(y)},[y,n]);let S=(0,_.useCallback)(e=>{i===void 0&&h(e.target.value),o?.(e)},[o,i]),C=e?(0,v.jsx)(`button`,{type:`button`,className:`password toggle`,onClick:()=>f(e=>!e),tabIndex:-1,"aria-label":d?`Hide password`:`Show password`,children:d?(0,v.jsx)(r.n,{}):(0,v.jsx)(r.r,{})}):void 0;return(0,v.jsxs)(`div`,{className:s.t(`password input`,c),children:[(0,v.jsx)(m.t,{...l,ref:u,type:d?`text`:`password`,value:g,onChange:S,endIcon:C}),t&&g.length>0&&(0,v.jsxs)(`div`,{className:`password strength row`,children:[(0,v.jsx)(`div`,{className:`password strength bar`,children:[0,1,2,3].map(e=>(0,v.jsx)(`div`,{className:s.t(`password strength segment`,e<[`weak`,`fair`,`good`,`strong`].indexOf(y)+1&&`strength-${y}`)},e))}),(0,v.jsx)(`span`,{className:s.t(`password strength label`,`strength-${y}`),children:x[y]})]})]})});function C(e,t,n){return t!==void 0&&e<t?t:n!==void 0&&e>n?n:e}function w(e,t){let n=10**t;return Math.round(e*n)/n}var T=(0,_.forwardRef)(function({min:e,max:t,step:i=1,showStepper:a=!0,precision:o=0,allowNegative:c=!0,onValueChange:l,value:u,defaultValue:d,onChange:f,onKeyDown:p,onBlur:h,disabled:g=!1,className:y,...b},x){let[S,T]=(0,_.useState)(d?.toString()??``),E=u===void 0?S:u.toString(),D=(0,_.useRef)(null),O=(0,_.useRef)(E);(0,_.useEffect)(()=>{O.current=E},[E]);let k=(0,_.useCallback)(e=>{u===void 0&&T(e);let t=parseFloat(e);l?.(isNaN(t)?null:t)},[u,l]),A=(0,_.useCallback)(n=>{let r=w(C((parseFloat(O.current)||0)+i*n,e,t),o);O.current=r.toString(),k(r.toString())},[i,e,t,o,k]),j=(0,_.useCallback)(e=>{A(e),D.current=setInterval(()=>A(e),150)},[A]),M=(0,_.useCallback)(()=>{D.current&&=(clearInterval(D.current),null)},[]);(0,_.useEffect)(()=>M,[M]);let N=(0,_.useCallback)(e=>{let t=e.target.value.replace(c?/[^\d.,-]/g:/[^\d.,]/g,``);O.current=t,k(t),f?.(e)},[f,c,k]),P=(0,_.useCallback)(n=>{let r=parseFloat(O.current);if(!isNaN(r)){let n=w(C(r,e,t),o);O.current=n.toString(),k(n.toString())}h?.(n)},[e,t,o,k,h]),F=(0,_.useCallback)(e=>{e.key===`ArrowUp`?(e.preventDefault(),A(1)):e.key===`ArrowDown`&&(e.preventDefault(),A(-1)),p?.(e)},[A,p]),I=a&&!g?(0,v.jsxs)(`div`,{className:`number stepper`,children:[(0,v.jsx)(`button`,{type:`button`,className:`number step button`,onPointerDown:e=>{e.preventDefault(),j(1)},onPointerUp:M,onPointerLeave:M,onPointerCancel:M,tabIndex:-1,"aria-label":`Increment`,children:(0,v.jsx)(r.l,{})}),(0,v.jsx)(`button`,{type:`button`,className:`number step button`,onPointerDown:e=>{e.preventDefault(),j(-1)},onPointerUp:M,onPointerLeave:M,onPointerCancel:M,tabIndex:-1,"aria-label":`Decrement`,children:(0,v.jsx)(n.t,{})})]}):void 0;return(0,v.jsx)(m.t,{...b,ref:x,type:`text`,inputMode:`decimal`,value:E,onChange:N,onBlur:P,onKeyDown:F,endIcon:I,disabled:g,className:s.t(`number input`,y)})}),E=(0,_.forwardRef)(function({validateOnBlur:e=!0,validateOnChange:n=!1,showValidIcon:r=!0,onValidationChange:i,value:o,defaultValue:s,onChange:l,onBlur:u,error:d,errorText:f,success:p,placeholder:h=`email@example.com`,...g},y){let[b,x]=(0,_.useState)(s?.toString()??``),[S,C]=(0,_.useState)({valid:!0}),[w,T]=(0,_.useState)(!1),E=o===void 0?b:o.toString(),D=(0,_.useCallback)(e=>{let t=c.i(e);return C(t),i?.(t),t},[i]),O=(0,_.useCallback)(e=>{o===void 0&&x(e.target.value),n&&w&&D(e.target.value),l?.(e)},[l,o,n,w,D]),k=(0,_.useCallback)(t=>{T(!0),e&&t.target.value&&D(t.target.value),u?.(t)},[u,e,D]),A=d||w&&!S.valid,j=f||(w&&!S.valid?S.error:void 0),M=!A&&p!==void 0?p:w&&S.valid&&E.length>0,N=r&&M?(0,v.jsx)(`span`,{className:`validation-icon`,children:(0,v.jsx)(t.t,{})}):void 0;return(0,v.jsx)(m.t,{...g,ref:y,type:`email`,value:E,onChange:O,onBlur:k,error:A,errorText:j,success:M,placeholder:h,startIcon:(0,v.jsx)(a.n,{}),endIcon:N})}),D=(0,_.forwardRef)(function({countryCode:e=`PL`,showCountryCode:t=!0,formatOnChange:n=!0,validateOnBlur:r=!0,onValidationChange:i,onValueChange:o,value:l,defaultValue:d,onChange:f,onBlur:p,error:h,errorText:g,placeholder:y=`123 456 789`,className:b,...x},S){let[C,w]=(0,_.useState)(d?.toString()??``),[T,E]=(0,_.useState)({valid:!0}),[D,O]=(0,_.useState)(!1),k=l===void 0?C:l.toString(),A=(0,_.useCallback)(t=>{let r=u.u(t.target.value),i=n?u.s(r,{countryCode:e}):r;l===void 0&&w(i),o?.(r,i),f?.(t)},[f,l,n,e,o]),j=(0,_.useCallback)(t=>{if(O(!0),r&&k){let t=c.d(u.u(k),e);E(t),i?.(t)}p?.(t)},[p,r,k,e,i]),M=t?(0,v.jsx)(`span`,{className:`phone prefix`,children:{PL:`+48`,DE:`+49`,US:`+1`,GB:`+44`,FR:`+33`,CZ:`+420`,SK:`+421`}[e.toUpperCase()]??`+${e}`}):void 0,N=h||D&&!T.valid,P=g||(D&&!T.valid?T.error:void 0);return(0,v.jsx)(m.t,{...x,ref:S,type:`tel`,value:k,onChange:A,onBlur:j,error:N,errorText:P,placeholder:y,startIcon:t?M:(0,v.jsx)(a.t,{}),className:s.t(`phone input`,b)})}),O=(0,_.forwardRef)(function({autoCapitalize:e=!0,allowNumbers:t=!1,allowSpecialChars:n=!1,minWords:i,validateOnBlur:a=!0,onValidationChange:o,value:s,defaultValue:c,onChange:l,onBlur:d,error:f,errorText:p,placeholder:h=`Jan Kowalski`,...g},y){let[b,x]=(0,_.useState)(c?.toString()??``),[S,C]=(0,_.useState)({valid:!0}),[w,T]=(0,_.useState)(!1),E=s===void 0?b:s.toString(),D=(0,_.useCallback)(r=>{let i=r;return t||(i=i.replace(/\d/g,``)),n||(i=i.replace(/[^a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ\s'-]/g,``)),e&&(i=u.n(i)),i},[t,n,e]),O=(0,_.useCallback)(e=>{let t=D(e.target.value);s===void 0&&x(t),l?.(e)},[l,s,D]),k=(0,_.useCallback)(e=>{if(T(!0),a&&E){let e=E.trim().split(/\s+/).filter(Boolean);if(i&&e.length<i){let e={valid:!1,error:`Enter at least ${i} word${i>1?`s`:``}`};C(e),o?.(e)}else{let e={valid:!0};C(e),o?.(e)}}d?.(e)},[d,a,E,i,o]),A=f||w&&!S.valid,j=p||(w&&!S.valid?S.error:void 0);return(0,v.jsx)(m.t,{...g,ref:y,type:`text`,value:E,onChange:O,onBlur:k,error:A,errorText:j,placeholder:h,startIcon:(0,v.jsx)(r.o,{})})});function k(e){return e?.replace(/[^a-zA-Z]/g,``).toUpperCase().slice(0,2)||void 0}function A(e,t){let n=e.replace(/[^a-zA-Z0-9]/g,``).toUpperCase(),r=k(t);return r?`${r}${n.replace(/^[A-Z]{0,2}/,``)}`:n}function j(e,t,n=!0){let r=A(e,t);return n?u.a(r):r}function M(e){let t=k(e);return t?`${t}00 0000 0000 0000 0000 0000 0000`:`PL00 0000 0000 0000 0000 0000 0000`}var N=(0,_.forwardRef)(function({countryCode:e,formatOnChange:n=!0,validateOnBlur:i=!0,showValidIcon:a=!0,onValidationChange:o,onValueChange:s,value:l,defaultValue:d,onChange:f,onBlur:p,error:h,errorText:g,success:y,placeholder:b,...x},S){let[C,w]=(0,_.useState)(()=>j(d?.toString()??``,e,n)),[T,E]=(0,_.useState)({valid:!0}),[D,O]=(0,_.useState)(!1),k=l===void 0?C:j(l.toString(),e,n);(0,_.useEffect)(()=>{l===void 0&&w(t=>j(t,e,n))},[e,n,l]);let N=(0,_.useCallback)(t=>{let r=A(u.d(t.target.value),e),i=n?u.a(r):r;l===void 0&&w(i),s?.(r,i),f?.(t)},[e,f,l,n,s]),P=(0,_.useCallback)(t=>{if(O(!0),i&&k){let t=c.a(A(u.d(k),e));E(t),o?.(t)}p?.(t)},[e,p,i,k,o]),F=h||D&&!T.valid,I=g||(D&&!T.valid?T.error:void 0),L=!F&&(y===void 0?D&&T.valid&&k.length>0:y),R=a&&L?(0,v.jsx)(`span`,{className:`validation-icon`,children:(0,v.jsx)(t.t,{})}):void 0;return(0,v.jsx)(m.t,{...x,ref:S,type:`text`,value:k,onChange:N,onBlur:P,error:F,errorText:I,success:L,placeholder:b??M(e),startIcon:(0,v.jsx)(r.a,{}),endIcon:R,maxLength:42})}),P={NIP:c.c,PESEL:c.l,REGON:c.f},F={NIP:13,PESEL:11,REGON:14},I={NIP:`123-456-78-19`,PESEL:`00000000000`,REGON:`000000000`},L=(0,_.forwardRef)(function({taxIdType:e,formatOnChange:n=!0,validateOnBlur:i=!0,showValidIcon:a=!0,onValidationChange:o,onValueChange:s,value:c,defaultValue:l,onChange:d,onBlur:f,error:p,errorText:h,success:g,placeholder:y,...b},x){let[S,C]=(0,_.useState)(l?.toString()??``),[w,T]=(0,_.useState)({valid:!0}),[E,D]=(0,_.useState)(!1),O=c===void 0?S:c.toString(),k=(0,_.useCallback)(t=>{let r=u.u(t.target.value),i=n&&e===`NIP`?u.o(r):r;c===void 0&&C(i),s?.(r),d?.(t)},[d,c,n,e,s]),A=(0,_.useCallback)(t=>{if(D(!0),i&&O){let t=P[e],n=t(u.u(O));T(n),o?.(n)}f?.(t)},[f,i,O,e,o]),j=p||E&&!w.valid,M=h||(E&&!w.valid?w.error:void 0),N=!j&&(g===void 0?E&&w.valid&&O.length>0:g),L=a&&N?(0,v.jsx)(`span`,{className:`validation-icon`,children:(0,v.jsx)(t.t,{})}):void 0;return(0,v.jsx)(m.t,{...b,ref:x,type:`text`,inputMode:`numeric`,value:O,onChange:k,onBlur:A,error:j,errorText:M,success:N,placeholder:y??I[e],startIcon:(0,v.jsx)(r.i,{}),endIcon:L,maxLength:F[e]})}),R=(0,_.forwardRef)(function({currency:e,currencySymbol:t,currencyPosition:n=`end`,decimalSeparator:r=`,`,thousandSeparator:i=` `,precision:a=2,min:o,max:c,allowNegative:l=!1,onValueChange:d,value:f,defaultValue:p,onChange:h,onBlur:g,placeholder:y=`0,00`,startIcon:b,endIcon:x,className:S,...C},w){let[T,E]=(0,_.useState)(p?.toString()??``),D=f===void 0?T:f.toString(),O=t??e??``,k=(0,_.useCallback)(e=>{let t=e.target.value,n=``,o=!1;for(let e of t)e>=`0`&&e<=`9`?n+=e:(e===`,`||e===`.`)&&!o?(n+=r,o=!0):e===`-`&&l&&n.length===0&&(n+=`-`);let s=u.r(n,{decimalSeparator:r,thousandSeparator:i,precision:a});f===void 0&&E(s);let c=u.c(s,i,r);d?.(c),h?.(e)},[h,f,r,i,a,l,d]),A=(0,_.useCallback)(e=>{let t=u.c(D,i,r);if(t!==null){o!==void 0&&t<o&&(t=o),c!==void 0&&t>c&&(t=c);let e=u.r(t.toFixed(a).replace(`.`,r),{decimalSeparator:r,thousandSeparator:i,precision:a});f===void 0&&E(e),d?.(t)}g?.(e)},[D,o,c,a,r,i,f,d,g]),j=O?(0,v.jsx)(`span`,{className:`currency symbol`,children:O}):void 0;return(0,v.jsx)(m.t,{...C,ref:w,type:`text`,inputMode:`decimal`,value:D,onChange:k,onBlur:A,placeholder:y,startIcon:n===`start`?j:b,endIcon:n===`end`?j:x,className:s.t(`currency input`,S)})}),z={"DD/MM/YYYY":`DD{s}MM{s}YYYY`,"MM/DD/YYYY":`MM{s}DD{s}YYYY`,"YYYY/MM/DD":`YYYY{s}MM{s}DD`},B=(0,_.forwardRef)(function({format:e=`DD/MM/YYYY`,separator:t=`/`,minDate:n,maxDate:r,validateOnBlur:a=!0,validateOnChange:o=!1,onDateChange:s,onValidationChange:l,value:d,defaultValue:f,onChange:p,onBlur:h,onKeyDown:g,onClear:y,error:b,errorText:x,placeholder:S,className:C,...w},T){let[E,D]=(0,_.useState)(f?.toString()??``),[O,k]=(0,_.useState)({valid:!0}),[A,j]=(0,_.useState)(!1),M=(0,_.useRef)(!1),N=d===void 0?E:d.toString();(0,_.useEffect)(()=>{if(M.current){M.current=!1;return}if(!N){k({valid:!0}),j(!1);return}k(c.r(N,{format:e,minDate:n,maxDate:r}))},[N,e,r,n]);let P=(0,_.useCallback)(t=>{let i=c.r(t,{format:e,minDate:n,maxDate:r});return k(i),l?.(i),i},[e,n,r,l]),F=(0,_.useCallback)(t=>{u.u(t).length===8?s?.(c.n(t,e),t):s?.(null,t)},[e,s]),I=(0,_.useCallback)(n=>{let r=u.u(n.target.value);if(r.length>8)return;let i=u.i(r,e,t);M.current=!0,d===void 0&&D(i),F(i),o&&A&&P(i),p?.(n)},[p,d,e,t,o,A,P,F]),L=(0,_.useCallback)(()=>{M.current=!0,d===void 0&&D(``),k({valid:!0}),j(!1),s?.(null,``),y?.()},[d,s,y]),R=(0,_.useCallback)(e=>{j(!0),a&&N&&P(N),h?.(e)},[h,a,N,P]),B=(0,_.useCallback)(e=>{if([`Backspace`,`Delete`,`Tab`,`ArrowLeft`,`ArrowRight`,`Home`,`End`].includes(e.key)){g?.(e);return}if(e.ctrlKey||e.metaKey){g?.(e);return}/^\d$/.test(e.key)||e.preventDefault(),g?.(e)},[g]),V=b||A&&!O.valid,H=x||(A&&!O.valid?O.error:void 0);return(0,v.jsx)(m.t,{...w,ref:T,type:`text`,inputMode:`numeric`,value:N,onChange:I,onBlur:R,onKeyDown:B,onClear:L,error:V,errorText:H,placeholder:S??z[e].replace(/\{s\}/g,t),startIcon:(0,v.jsx)(i.t,{}),maxLength:10,className:C})});function V({value:e}){let t=l.n(e);return(0,v.jsx)(`span`,{className:s.t(`credit-card-brand-badge`,`credit-brand`,t.brand),children:t.iconLabel})}var H=(0,_.forwardRef)(function({validateOnBlur:e=!0,validateOnChange:n=!1,showBrandIcon:r=!0,showValidIcon:i=!0,onValidationChange:a,onCardBrandChange:o,onValueChange:c,value:u,defaultValue:d,onChange:f,onBlur:p,error:h,errorText:g,success:y,placeholder:b=`4242 4242 4242 4242`,className:x,...S},C){let[w,T]=(0,_.useState)(()=>l.r(d?.toString()??``)),[E,D]=(0,_.useState)({valid:!0}),[O,k]=(0,_.useState)(!1),A=u===void 0?w:l.r(u.toString()),j=(0,_.useCallback)(e=>{let t=l.a(e);return D(t),a?.(t),t},[a]),M=(0,_.useCallback)(e=>{let t=l.r(e.target.value),r=l.n(t);u===void 0&&T(t),o?.(r.brand),c?.(l.i(t),t,r.brand),n&&O&&j(t),f?.(e)},[o,f,c,j,O,n,u]),N=(0,_.useCallback)(t=>{k(!0),e&&A&&j(A),p?.(t)},[A,p,j,e]),P=h||O&&!E.valid,F=g||(O&&!E.valid?E.error:void 0),I=!P&&y!==void 0?y:O&&E.valid&&l.i(A).length>0,L=i&&I?(0,v.jsx)(`span`,{className:`credit valid validation-icon credit-card-valid-icon`,"aria-hidden":`true`,children:(0,v.jsx)(t.t,{})}):void 0;return(0,v.jsx)(m.t,{...S,ref:C,type:`text`,inputMode:`numeric`,value:A,onChange:M,onBlur:N,error:P,errorText:F,success:I,placeholder:b,startIcon:r?(0,v.jsx)(V,{value:A}):void 0,endIcon:L,className:s.t(`credit-card input`,x)})});function U(e){return typeof e==`object`&&!!e&&!(0,_.isValidElement)(e)&&`type`in e}function W(e,t,n,r){if(!U(e))return(0,v.jsx)(`div`,{className:s.t(`addon`,`custom`,t),children:e},`${t}-${n}`);let i=e;return i.type===`button`?(0,v.jsx)(p.t,{variant:`ghost`,color:r,size:`sm`,className:s.t(`addon`,t,`addon-button`),onClick:i.onClick,clickEffect:`none`,children:i.content},`${t}-${n}`):i.type===`checkbox`?(0,v.jsx)(`div`,{className:s.t(`addon`,t,`checkbox`),children:(0,v.jsx)(h.t,{size:`sm`,clickEffect:`none`,checked:i.checked,onChange:e=>i.onCheckedChange?.(e.target.checked),className:`addon-checkbox`})},`${t}-${n}`):(0,v.jsx)(`span`,{className:s.t(`addon`,t),children:i.content},`${t}-${n}`)}function G(e){return e==null?[]:Array.isArray(e)?e:[e]}var K=(0,_.forwardRef)(function({prepend:t,append:n,type:r=`text`,value:i,defaultValue:a,name:o,id:c,placeholder:l,disabled:u=!1,readOnly:d=!1,required:h=!1,autoFocus:g=!1,autoComplete:y,inputMode:b,size:x=`md`,fullWidth:S=!1,label:C,helperText:w,errorText:T,color:E=`primary`,error:D=!1,maxLength:O,clearable:k=!1,onChange:A,onFocus:j,onBlur:M,onKeyDown:N,onClear:P,loading:F=!1,clickEffect:I=`ripple`,rippleColor:L,className:R,style:z,inputClassName:B,labelClassName:V},H){let[U,K]=(0,_.useState)(!1),q=(0,_.useRef)(null),{effectClassName:J,effectLayer:ee,handlePointerDown:Y}=f.t({effect:I,disabled:u||d,color:L}),X=D||!!T,te=X?`color-error`:`color-${E}`,{currentValue:Z,setCurrentValue:Q}=m.n(i,a),ne=Z.length>0,re=(0,_.useCallback)(e=>{K(!0),j?.(e)},[j]),$=(0,_.useCallback)(e=>{K(!1),M?.(e)},[M]),ie=(0,_.useCallback)(e=>{Q(e.target.value),A?.(e)},[A,Q]),ae=(0,_.useCallback)(()=>{Q(``);let e=H?.current??q.current;e&&((Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,`value`)?.set)?.call(e,``),e.dispatchEvent(new Event(`input`,{bubbles:!0}))),P?.(),e?.focus()},[P,H,Q]),oe=G(t),se=G(n);return(0,v.jsxs)(`div`,{className:s.t(`input-group`,te,S&&`full-width`,R),style:z,children:[C&&(0,v.jsx)(`label`,{htmlFor:c,className:s.t(`field-label`,U&&`focused`,X&&`error`,h&&`required`,V),children:C}),(0,v.jsxs)(`div`,{className:s.t(`container`,`field-${x}`,U&&`focused`,X&&`has-error`,u&&`disabled`,J),onPointerDown:Y,children:[ee,oe.map((e,t)=>W(e,`prepend`,t,E)),(0,v.jsx)(`input`,{ref:H??q,type:r,value:Z,name:o,id:c,placeholder:l,disabled:u,readOnly:d,required:h,autoFocus:g,autoComplete:y,inputMode:b,maxLength:O,className:s.t(`field`,B),onChange:ie,onFocus:re,onBlur:$,onKeyDown:N,"aria-invalid":X||void 0,"aria-describedby":T?`${c}-error`:w?`${c}-helper`:void 0}),F&&(0,v.jsx)(`span`,{className:`spinner-addon`,children:(0,v.jsx)(p.r,{size:`sm`,color:E})}),k&&ne&&!F&&!u&&(0,v.jsx)(`button`,{type:`button`,className:`clear-btn clear-btn-base`,onClick:ae,tabIndex:-1,"aria-label":`Clear input`,children:(0,v.jsx)(e.t,{})}),se.map((e,t)=>W(e,`append`,t,E))]}),(T||w)&&(0,v.jsxs)(`div`,{className:`bottom`,children:[T&&(0,v.jsx)(`span`,{id:c?`${c}-error`:void 0,className:`field-error`,role:`alert`,children:T}),!T&&w&&(0,v.jsx)(`span`,{id:c?`${c}-helper`:void 0,className:`field-helper`,children:w})]})]})}),q=(0,_.forwardRef)(function({country:e,defaultCountry:t=`PL`,selectableCountry:n=!0,validateOnBlur:r=!0,validateOnChange:i=!1,onCountryChange:a,onValidationChange:o,onValueChange:l,value:u,defaultValue:d,onChange:f,onBlur:p,error:m,errorText:h,helperText:g,placeholder:y,className:b,disabled:x=!1,...S},C){let[w,T]=(0,_.useState)(t.toUpperCase()),[E,D]=(0,_.useState)(()=>c.h(d?.toString()??``,e??t)),[O,k]=(0,_.useState)({valid:!0}),[A,j]=(0,_.useState)(!1),M=(e??w).toUpperCase(),N=(0,_.useMemo)(()=>c.g(M),[M]),P=u===void 0?E:c.h(u.toString(),M),F=(0,_.useCallback)((e,t)=>{let n=c.y(e,t);return k(n),o?.(n),n},[o]),I=(0,_.useCallback)(e=>{let t=c.h(e.target.value,M);u===void 0&&D(t),l?.(t.replace(/\s|-/g,``),t,M),i&&A&&F(t,M),f?.(e)},[M,f,l,F,A,i,u]),L=(0,_.useCallback)(e=>{j(!0),r&&P&&F(P,M),p?.(e)},[M,P,p,F,r]),R=(0,_.useCallback)(t=>{let n=t.target.value.toUpperCase(),r=c.h(P,n);e===void 0&&T(n),u===void 0&&D(r),a?.(n),A&&F(r,n)},[e,P,a,F,A,u]),z=m||A&&!O.valid,B=h||(A&&!O.valid?O.error:void 0);return(0,v.jsx)(K,{...S,ref:C,type:`text`,inputMode:N.inputMode,value:P,onChange:I,onBlur:L,error:z,errorText:B,helperText:B?void 0:g??`Format: ${N.example}`,placeholder:y??N.placeholder,maxLength:N.maxLength,disabled:x,prepend:n?(0,v.jsx)(`div`,{className:`country-select-wrap`,children:(0,v.jsx)(`select`,{className:`country-select`,value:M,onChange:R,disabled:x,"aria-label":`Postal code country`,children:c._.map(e=>(0,v.jsx)(`option`,{value:e.value,children:e.value},e.value))})}):{type:`text`,content:M},className:s.t(`input-post-code`,b)})}),J=(0,_.forwardRef)(function({length:t=6,value:n,onChange:r,autoFocus:i=!1,disabled:a=!1,color:o=`primary`,size:c=`md`,error:l=!1,errorText:u,clearable:d=!1,label:f,onClear:p,className:m,...h},g){let[y,b]=(0,_.useState)(``),x=n===void 0?y:n,S=(0,_.useRef)([]),C=l?`color-error`:`color-${o}`,w=(0,_.useCallback)(e=>{n===void 0&&b(e),r?.(e)},[n,r]),T=(0,_.useCallback)(e=>{let n=Math.max(0,Math.min(e,t-1));S.current[n]?.focus()},[t]);(0,_.useEffect)(()=>{i&&T(0)},[i,T]);let E=(0,_.useCallback)((e,n)=>{if(!/^\d$/.test(n))return;let r=x.split(``);for(;r.length<=e;)r.push(``);r[e]=n,w(r.join(``)),e<t-1&&T(e+1)},[x,t,w,T]),D=(0,_.useCallback)((e,n)=>{if(n.key===`Backspace`){n.preventDefault();let t=x.split(``);t[e]?(t[e]=``,w(t.join(``))):e>0&&(t[e-1]=``,w(t.join(``)),T(e-1))}else n.key===`ArrowLeft`?(n.preventDefault(),e>0&&T(e-1)):n.key===`ArrowRight`&&(n.preventDefault(),e<t-1&&T(e+1))},[x,t,w,T]),O=(0,_.useCallback)(e=>{e.preventDefault();let n=e.clipboardData.getData(`text`).replace(/\D/g,``).slice(0,t);n&&(w(n),T(Math.min(n.length,t-1)))},[t,w,T]),k=(0,_.useCallback)(()=>{w(``),p?.(),T(0)},[T,p,w]);return(0,v.jsxs)(`div`,{ref:g,className:s.t(`otp input`,C,c,a&&`disabled`,m),...h,children:[f&&(0,v.jsx)(`div`,{className:`otp label`,children:f}),(0,v.jsxs)(`div`,{className:`otp control`,children:[(0,v.jsx)(`div`,{className:`otp slots`,onPaste:O,children:Array.from({length:t},(e,t)=>(0,v.jsx)(`input`,{ref:e=>{S.current[t]=e},type:`text`,inputMode:`numeric`,maxLength:1,value:x[t]||``,disabled:a,className:s.t(`otp slot`,x[t]&&`filled`),"aria-label":`Digit ${t+1}`,onChange:e=>{E(t,e.target.value.slice(-1))},onKeyDown:e=>D(t,e),onFocus:e=>e.target.select()},t))}),d&&x.length>0&&!a&&(0,v.jsx)(`button`,{type:`button`,className:`otp clear clear-btn-base`,onClick:k,"aria-label":`Clear code`,children:(0,v.jsx)(e.t,{})})]}),l&&u&&(0,v.jsx)(`div`,{className:`otp error`,children:u})]})});function ee(e,t,n){return Math.min(n,Math.max(t,e))}function Y(e,t){let n=10**t;return Math.round(e*n)/n}var X=(0,_.forwardRef)(function({min:e=0,max:t=100,step:n=1,value:r,onChange:i,precision:a=0,marks:o,showInput:c=!0,color:l=`primary`,size:u=`md`,disabled:d=!1,label:f,className:p,...m},h){let[y,b]=(0,_.useState)(e),x=r===void 0?y:r,S=(0,_.useCallback)(n=>{let o=Y(ee(n,e,t),a);r===void 0&&b(o),i?.(o)},[e,t,a,r,i]),C=(0,_.useCallback)(e=>S(e),[S]),w=(0,_.useCallback)(e=>{let t=e.target.value;if(t===``||t===`-`)return;let n=parseFloat(t);isNaN(n)||S(n)},[S]),T=(0,_.useCallback)(()=>{S(x)},[x,S]);return(0,v.jsxs)(`div`,{ref:h,className:s.t(`slider input`,u,d&&`disabled`,p),...m,children:[f&&(0,v.jsx)(`div`,{className:`slider label`,children:f}),(0,v.jsxs)(`div`,{className:`slider row`,children:[(0,v.jsx)(g.t,{min:e,max:t,step:n,value:x,onChange:C,marks:o,color:l,disabled:d}),c&&(0,v.jsx)(`input`,{type:`text`,inputMode:`decimal`,className:s.t(`slider field`,`color-${l}`),value:x,onChange:w,onBlur:T,disabled:d,"aria-label":f||`MSlider value`})]})]})});function te({file:e,shape:t,outputSize:n,quality:i,onCrop:a,onCancel:o}){let s=(0,_.useRef)(null),c=(0,_.useRef)(null),l=(0,_.useRef)(null),[u,d]=(0,_.useState)(``),[f,m]=(0,_.useState)(1),[h,y]=(0,_.useState)({x:0,y:0}),[b,x]=(0,_.useState)(!1),S=(0,_.useRef)({x:0,y:0,ox:0,oy:0});(0,_.useEffect)(()=>{let t=URL.createObjectURL(e);return d(t),()=>URL.revokeObjectURL(t)},[e]),(0,_.useEffect)(()=>{if(!u)return;let e=new Image;e.onload=()=>{l.current=e;let t=280/Math.min(e.width,e.height);m(t),y({x:(280-e.width*t)/2,y:(280-e.height*t)/2})},e.src=u},[u]);let C=(0,_.useCallback)(e=>{e.preventDefault(),x(!0),S.current={x:e.clientX,y:e.clientY,ox:h.x,oy:h.y},e.target.setPointerCapture(e.pointerId)},[h]),w=(0,_.useCallback)(e=>{b&&y({x:S.current.ox+(e.clientX-S.current.x),y:S.current.oy+(e.clientY-S.current.y)})},[b]),T=(0,_.useCallback)(()=>{x(!1)},[]),E=(0,_.useCallback)(e=>{e.preventDefault();let t=e.deltaY>0?.95:1.05,n=Math.max(.1,Math.min(f*t,10));y({x:140-(140-h.x)*(n/f),y:140-(140-h.y)*(n/f)}),m(n)},[f,h]),D=(0,_.useCallback)(e=>{y({x:140-(140-h.x)*(e/f),y:140-(140-h.y)*(e/f)}),m(e)},[f,h]),O=(0,_.useCallback)(()=>{let r=l.current,o=s.current;if(!r||!o)return;o.width=n,o.height=n;let c=o.getContext(`2d`);if(!c)return;let u=n/280;t===`circle`&&(c.beginPath(),c.arc(n/2,n/2,n/2,0,Math.PI*2),c.closePath(),c.clip()),c.drawImage(r,h.x*u,h.y*u,r.width*f*u,r.height*f*u),o.toBlob(t=>{if(!t)return;let n=e.name.replace(/.*\./,``),r=e.name.replace(/\.[^.]+$/,``)+`_cropped.`+n;a(new File([t],r,{type:t.type}))},e.type.startsWith(`image/png`)?`image/png`:`image/jpeg`,i)},[e,h,f,n,i,t,a]),k=Math.round((f-.1)/4.9*100),A=(0,_.useCallback)(e=>{D(.1+e/100*4.9)},[D]);return(0,v.jsxs)(`div`,{className:`crop editor`,children:[(0,v.jsxs)(`div`,{ref:c,className:`crop viewport ${t}`,onPointerDown:C,onPointerMove:w,onPointerUp:T,onWheel:E,children:[u&&(0,v.jsx)(`img`,{src:u,alt:``,className:`crop image`,draggable:!1,style:{transform:`translate(${h.x}px, ${h.y}px) scale(${f})`,transformOrigin:`0 0`}}),(0,v.jsx)(`div`,{className:`crop overlay ${t}`})]}),(0,v.jsxs)(`div`,{className:`crop zoom`,children:[(0,v.jsx)(r.t,{className:`crop zoom icon`,"aria-hidden":`true`}),(0,v.jsx)(g.t,{min:0,max:100,step:1,value:k,onChange:A,color:`primary`,className:`crop zoom slider`})]}),(0,v.jsxs)(`div`,{className:`crop actions`,children:[(0,v.jsx)(p.t,{variant:`ghost`,size:`sm`,color:`neutral`,onClick:o,children:`Cancel`}),(0,v.jsx)(p.t,{variant:`ghost`,size:`sm`,color:`primary`,onClick:O,children:`Crop`})]}),(0,v.jsx)(`canvas`,{ref:s,style:{display:`none`}})]})}function Z(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function Q(e){let t=e.lastIndexOf(`.`);return t>=0?e.slice(t+1).toUpperCase():``}function ne(e){return e.type.startsWith(`image/`)}function re({ext:e}){let t=e.toLowerCase();return t===`pdf`?(0,v.jsx)(o.k,{className:`file type icon`,"aria-hidden":`true`}):[`png`,`jpg`,`jpeg`,`gif`,`webp`,`svg`].includes(t)?(0,v.jsx)(o.O,{className:`file type icon`,"aria-hidden":`true`}):[`json`].includes(t)?(0,v.jsx)(o.l,{className:`file type icon`,"aria-hidden":`true`}):[`js`,`jsx`,`ts`,`tsx`,`html`,`css`,`php`,`xml`].includes(t)?(0,v.jsx)(o.D,{className:`file type icon`,"aria-hidden":`true`}):[`txt`].includes(t)?(0,v.jsx)(o.A,{className:`file type icon`,"aria-hidden":`true`}):[`md`].includes(t)?(0,v.jsx)(o.d,{className:`file type icon`,"aria-hidden":`true`}):[`docs`,`doc`,`docx`].includes(t)?(0,v.jsx)(o.r,{className:`file type icon`,"aria-hidden":`true`}):[`odt`].includes(t)?(0,v.jsx)(o.m,{className:`file type icon`,"aria-hidden":`true`}):[`csv`,`xls`,`xlsx`].includes(t)?(0,v.jsx)(o.w,{className:`file type icon`,"aria-hidden":`true`}):[`zip`].includes(t)?(0,v.jsx)(o.E,{className:`file type icon`,"aria-hidden":`true`}):[`rar`,`7z`,`tar`,`gz`].includes(t)?(0,v.jsx)(r.s,{className:`file type icon`,"aria-hidden":`true`}):[`mp3`,`wav`,`ogg`].includes(t)?(0,v.jsx)(o.f,{className:`file type icon`,"aria-hidden":`true`}):[`mp4`,`mov`,`avi`,`mkv`,`webm`].includes(t)?(0,v.jsx)(o.p,{className:`file type icon`,"aria-hidden":`true`}):[`exe`,`msi`,`bat`].includes(t)?(0,v.jsx)(o.i,{className:`file type icon`,"aria-hidden":`true`}):(0,v.jsx)(o.j,{className:`file type icon`,"aria-hidden":`true`})}var $=(0,_.forwardRef)(function({accept:t,multiple:n=!1,maxSize:i,maxFiles:a,onChange:o,label:c,helperText:l,errorText:u,error:d=!1,disabled:f=!1,color:p=`primary`,size:m=`md`,preview:h=!0,clearable:g=!1,icon:y,placeholder:b=`Drop files here or click to browse`,dropText:x=`Drop files here`,fullWidth:S=!1,crop:C,onClear:w,className:T,...E},D){let[O,k]=(0,_.useState)(!1),[A,j]=(0,_.useState)([]),[M,N]=(0,_.useState)(``),[P,F]=(0,_.useState)(null),I=(0,_.useRef)(null),L=(0,_.useRef)(0),R=C?typeof C==`boolean`?{shape:`square`,outputSize:256,quality:.92}:{shape:C.shape??`square`,outputSize:C.outputSize??256,quality:C.quality??.92}:null,z=(0,_.useMemo)(()=>A.map(e=>ne(e)?URL.createObjectURL(e):null),[A]);(0,_.useEffect)(()=>()=>{z.forEach(e=>{e&&URL.revokeObjectURL(e)})},[z]);let B=(0,_.useCallback)(e=>{let n=Array.from(e);if(t){let e=t.split(`,`).map(e=>e.trim().toLowerCase());n=n.filter(t=>{let n=`.`+t.name.split(`.`).pop()?.toLowerCase(),r=t.type.toLowerCase();return e.some(e=>e===n||e===r||e.endsWith(`/*`)&&r.startsWith(e.slice(0,-1)))})}if(i&&n.filter(e=>e.size>i).length){N(`Max file size: ${Z(i)}`);return}if(a&&n.length>a){N(`Max ${a} file${a>1?`s`:``}`);return}if(N(``),R&&n.length===1&&ne(n[0])){F(n[0]);return}j(n),o?.(n)},[t,i,a,o,R]),V=(0,_.useCallback)(e=>{F(null),j([e]),o?.([e])},[o]),H=(0,_.useCallback)(()=>{F(null)},[]),U=(0,_.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),!f&&(L.current++,k(!0))},[f]),W=(0,_.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),L.current--,L.current<=0&&(L.current=0,k(!1))},[]),G=(0,_.useCallback)(e=>{e.preventDefault(),e.stopPropagation()},[]),K=(0,_.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),L.current=0,k(!1),!f&&e.dataTransfer.files.length&&B(e.dataTransfer.files)},[f,B]),q=(0,_.useCallback)(()=>{f||I.current?.click()},[f]),J=(0,_.useCallback)(e=>{e.target.files?.length&&B(e.target.files)},[B]),ee=(0,_.useCallback)(e=>{let t=z[e];t&&URL.revokeObjectURL(t);let n=A.filter((t,n)=>n!==e);j(n),o?.(n)},[A,z,o]),Y=(0,_.useCallback)(()=>{z.forEach(e=>{e&&URL.revokeObjectURL(e)}),F(null),j([]),N(``),I.current&&(I.current.value=``),o?.([]),w?.()},[z,o,w]),X=u||M,$=d||!!M;return(0,v.jsxs)(`div`,{ref:D,className:s.t(`file input`,$?`color-error`:`color-${p}`,m,S&&`full-width`,f&&`disabled`,T),...E,children:[(c||g&&A.length>0&&!f)&&(0,v.jsxs)(`div`,{className:`file header`,children:[c&&(0,v.jsx)(`div`,{className:`file label`,children:c}),g&&A.length>0&&!f&&(0,v.jsx)(`button`,{type:`button`,className:`file clear clear-btn-base`,onClick:Y,"aria-label":`Clear files`,children:(0,v.jsx)(e.t,{"aria-hidden":`true`})})]}),(0,v.jsxs)(`div`,{className:s.t(`file dropzone`,O&&`dragging`,$&&`error`),onClick:q,onDragEnter:U,onDragLeave:W,onDragOver:G,onDrop:K,role:`button`,tabIndex:f?-1:0,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),q())},"aria-label":c||b,children:[(0,v.jsx)(`input`,{ref:I,type:`file`,accept:t,multiple:n,onChange:J,tabIndex:-1,className:`file hidden`}),(0,v.jsxs)(`div`,{className:`file content`,children:[y&&(0,v.jsx)(`div`,{className:`file icon`,children:y}),!y&&(0,v.jsx)(r.c,{className:`file icon default`,"aria-hidden":`true`}),(0,v.jsx)(`div`,{className:`file text`,children:O?x:b}),t&&(0,v.jsx)(`div`,{className:`file accept`,children:t})]})]}),P&&R&&(0,v.jsx)(te,{file:P,shape:R.shape,outputSize:R.outputSize,quality:R.quality,onCrop:V,onCancel:H}),l&&!$&&(0,v.jsx)(`div`,{className:`file helper`,children:l}),$&&X&&(0,v.jsx)(`div`,{className:`file error`,children:X}),h&&A.length>0&&!P&&(0,v.jsx)(`div`,{className:`file preview`,children:A.map((t,n)=>(0,v.jsxs)(`div`,{className:`file item`,children:[(0,v.jsx)(`div`,{className:`file thumb`,children:z[n]?(0,v.jsx)(`img`,{src:z[n],alt:t.name,className:`file image`}):(0,v.jsx)(re,{ext:Q(t.name)})}),(0,v.jsxs)(`div`,{className:`file info`,children:[(0,v.jsx)(`span`,{className:`file name`,children:t.name}),(0,v.jsx)(`span`,{className:`file size`,children:Z(t.size)})]}),(0,v.jsx)(`button`,{type:`button`,className:`file remove`,onClick:e=>{e.stopPropagation(),ee(n)},"aria-label":`Remove ${t.name}`,children:(0,v.jsx)(e.t,{"aria-hidden":`true`})})]},`${t.name}-${n}`))})]})});Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return N}});
|
|
2
|
-
//# sourceMappingURL=inputs-DPhzLJZH.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"layout-CdAUOdYv.js","names":[],"sources":["../src/components/layout/MContainer/MContainer.tsx","../src/components/layout/MHeader/MHeader.tsx","../src/components/layout/MFooter/MFooter.tsx","../src/components/layout/MNavbar/MNavbar.tsx","../src/components/layout/MTopbar/MTopbar.tsx","../src/components/layout/MNavs/MNavs.tsx","../src/components/layout/MTabs/MTabs.tsx","../src/components/layout/MSection/MSection.tsx","../src/components/layout/MSimpleGrid/MSimpleGrid.tsx","../src/components/layout/MGrid/MGrid.tsx","../src/components/layout/MDivider/MDivider.tsx","../src/components/layout/MSidebar/MSidebar.tsx","../src/components/layout/MBreadcrumb/MBreadcrumb.tsx","../src/components/layout/MAppShell/MAppShell.tsx"],"sourcesContent":["import type {MContainerProps} from './MContainer.types'\nimport {cn} from '../../../utils/cn'\nimport {getLayoutUtilityClassNames, getLayoutUtilityStyles} from '../../../utils/layoutProps'\nimport './MContainer.css'\n\n// Constrain page content widths and apply shared spacing utilities.\nexport function MContainer({\n size = 'content',\n padded = true,\n spacing,\n padding,\n fsize,\n mt,\n mb,\n ml,\n mr,\n mx,\n my,\n pt,\n pb,\n pl,\n pr,\n px,\n py,\n fullWidth,\n className,\n style,\n children,\n ...rest\n}: MContainerProps) {\n const utilityStyle = getLayoutUtilityStyles({fsize})\n\n return (\n <div\n className={cn(\n 'container',\n size,\n padded && 'padded',\n ...getLayoutUtilityClassNames({\n spacing,\n padding,\n fsize,\n mt,\n mb,\n ml,\n mr,\n mx,\n my,\n pt,\n pb,\n pl,\n pr,\n px,\n py,\n fullWidth,\n }),\n className\n )}\n style={{...utilityStyle, ...style}}\n {...rest}\n >\n {children}\n </div>\n )\n}\n","import type {MHeaderProps} from './MHeader.types'\nimport {cn} from '../../../utils/cn'\nimport {MContainer} from '../MContainer'\nimport './MHeader.css'\n\n// Render a reusable page header shell aligned to a shared container.\nexport function MHeader({\n container = 'wide',\n padded = true,\n bordered = true,\n sticky = false,\n tone = 'surface',\n layout = 'split',\n className,\n children,\n ...rest\n}: MHeaderProps) {\n return (\n <header className={cn('header', tone, bordered && 'bordered', sticky && 'sticky', className)} {...rest}>\n <MContainer size={container} padded={padded} className={cn('inner', `layout-${layout}`)}>\n {children}\n </MContainer>\n </header>\n )\n}\n","import type {MFooterProps} from './MFooter.types'\nimport {cn} from '../../../utils/cn'\nimport {getLayoutUtilityClassNames, getLayoutUtilityStyles} from '../../../utils/layoutProps'\nimport {MContainer} from '../MContainer'\nimport './MFooter.css'\n\n// Render a reusable page footer shell with shared spacing utilities.\nexport function MFooter({\n container = 'wide',\n padded = true,\n bordered = true,\n tone = 'surface',\n spacing,\n padding,\n fsize,\n mt,\n mb,\n ml,\n mr,\n mx,\n my,\n pt,\n pb,\n pl,\n pr,\n px,\n py,\n fullWidth,\n className,\n style,\n children,\n ...rest\n}: MFooterProps) {\n const utilityStyle = getLayoutUtilityStyles({fsize})\n\n return (\n <footer\n className={cn(\n 'footer',\n tone,\n bordered && 'bordered',\n ...getLayoutUtilityClassNames({\n spacing,\n padding,\n fsize,\n mt,\n mb,\n ml,\n mr,\n mx,\n my,\n pt,\n pb,\n pl,\n pr,\n px,\n py,\n fullWidth,\n }),\n className\n )}\n style={{...utilityStyle, ...style}}\n {...rest}\n >\n <MContainer size={container} padded={padded} className=\"inner\" fullWidth>\n {children}\n </MContainer>\n </footer>\n )\n}\n","import type {MNavbarProps} from './MNavbar.types'\nimport {cn} from '../../../utils/cn'\nimport {MContainer} from '../MContainer'\nimport './MNavbar.css'\n\n// Render a horizontal app or site navigation shell with container alignment.\nexport function MNavbar({\n container = 'content',\n padded = true,\n bordered = true,\n sticky = false,\n tone = 'surface',\n justify = 'between',\n wrap = false,\n className,\n children,\n ...rest\n}: MNavbarProps) {\n return (\n <nav className={cn('navbar', tone, bordered && 'bordered', sticky && 'sticky', className)} {...rest}>\n <MContainer size={container} padded={padded} className=\"container\">\n <div className={cn('inner', justify, wrap && 'wrap')}>{children}</div>\n </MContainer>\n </nav>\n )\n}\n","import {useEffect, useMemo, useRef, useState} from 'react'\nimport type {ReactNode} from 'react'\nimport type {MTopbarItem, MTopbarProps} from './MTopbar.types'\nimport {cn} from '../../../utils/cn'\nimport {MContainer} from '../MContainer'\nimport {MButton} from '../../controls'\nimport {MLink} from '../../typography'\nimport {MChevronDownIcon, MChevronLeftIcon, MChevronRightIcon} from '../../../icons'\nimport {MDropdownGroup, MDropdownItem, MDropdownMenu} from '../../overlays/MDropdownMenu'\nimport './MTopbar.css'\n\nfunction getItemKey(item: MTopbarItem): string {\n return item.key ?? item.to ?? item.href ?? String(item.label)\n}\n\nfunction itemHasActiveDescendant(item: MTopbarItem): boolean {\n if (item.active) return true\n return (item.children ?? []).some(itemHasActiveDescendant)\n}\n\nfunction renderItemContent(item: MTopbarItem, withChevron = false, isOpen = false): ReactNode {\n return (\n <>\n {item.icon ? <span className=\"topbar-icon\">{item.icon}</span> : null}\n <span>{item.label}</span>\n {item.badge ? <span className=\"topbar-badge\">{item.badge}</span> : null}\n {withChevron ? (\n <span className={cn('topbar-chevron', isOpen && 'open')} aria-hidden=\"true\">\n <MChevronDownIcon size=\"sm\" />\n </span>\n ) : null}\n </>\n )\n}\n\nfunction renderDropdownChildren(children: MTopbarItem[]): ReactNode {\n return children.map((child) => {\n if (child.children?.length) {\n return (\n <MDropdownGroup key={getItemKey(child)} label={String(child.label)}>\n {renderDropdownChildren(child.children)}\n </MDropdownGroup>\n )\n }\n\n return (\n <MDropdownItem\n key={getItemKey(child)}\n icon={child.icon}\n label={child.label}\n href={child.href}\n to={child.to}\n onClick={child.onClick}\n color={child.color}\n disabled={child.disabled}\n active={child.active}\n component={child.component}\n className={child.className}\n />\n )\n })\n}\n\nexport function MTopbar({\n items,\n container = 'full',\n padded = true,\n bordered = true,\n sticky = false,\n tone = 'surface',\n justify = 'left',\n size = 'md',\n openOn = 'hover',\n dropdownPlacement = 'bottom-start',\n className,\n style,\n ...rest\n}: MTopbarProps) {\n const [coarsePointer, setCoarsePointer] = useState(false)\n const [openMap, setOpenMap] = useState<Record<string, boolean>>({})\n const [hasOverflow, setHasOverflow] = useState(false)\n const [canScrollLeft, setCanScrollLeft] = useState(false)\n const [canScrollRight, setCanScrollRight] = useState(false)\n const viewportRef = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n const media = window.matchMedia('(pointer: coarse)')\n const sync = () => setCoarsePointer(media.matches)\n\n sync()\n\n if (typeof media.addEventListener === 'function') {\n media.addEventListener('change', sync)\n return () => media.removeEventListener('change', sync)\n }\n\n media.addListener(sync)\n return () => media.removeListener(sync)\n }, [])\n\n useEffect(() => {\n const viewport = viewportRef.current\n if (!viewport) return\n\n const updateOverflow = () => {\n const nextHasOverflow = viewport.scrollWidth > viewport.clientWidth + 1\n setHasOverflow(nextHasOverflow)\n setCanScrollLeft(viewport.scrollLeft > 4)\n setCanScrollRight(viewport.scrollLeft + viewport.clientWidth < viewport.scrollWidth - 4)\n }\n\n updateOverflow()\n\n viewport.addEventListener('scroll', updateOverflow, {passive: true})\n\n const observer = new ResizeObserver(updateOverflow)\n observer.observe(viewport)\n Array.from(viewport.children).forEach((child) => observer.observe(child))\n\n return () => {\n viewport.removeEventListener('scroll', updateOverflow)\n observer.disconnect()\n }\n }, [items, justify, size, tone, bordered, padded, container])\n\n const resolvedOpenOn = useMemo(() => (coarsePointer ? 'click' : openOn), [coarsePointer, openOn])\n\n const scrollByAmount = (direction: 'left' | 'right') => {\n const viewport = viewportRef.current\n if (!viewport) return\n\n const amount = Math.max(180, Math.floor(viewport.clientWidth * 0.45))\n viewport.scrollBy({\n left: direction === 'left' ? -amount : amount,\n behavior: 'smooth',\n })\n }\n\n return (\n <nav\n className={cn('topbar', tone, size, bordered && 'bordered', sticky && 'sticky', className)}\n style={style}\n {...rest}\n >\n <MContainer size={container} padded={padded} className=\"topbar-container\">\n <div className={cn('topbar-scroll-shell', hasOverflow && 'overflowing')}>\n {hasOverflow && (\n <MButton\n variant=\"ghost\"\n color=\"neutral\"\n iconOnly\n shape=\"circle\"\n className={cn('topbar-scroll-button', 'left', !canScrollLeft && 'hidden')}\n onClick={() => scrollByAmount('left')}\n aria-label=\"Scroll topbar left\"\n >\n <MChevronLeftIcon />\n </MButton>\n )}\n\n <div ref={viewportRef} className=\"topbar-viewport\">\n <div className={cn('topbar-list', `justify-${justify}`, hasOverflow && 'overflowing')}>\n {items.map((item) => {\n const itemKey = getItemKey(item)\n const isActive = itemHasActiveDescendant(item)\n const isOpen = !!openMap[itemKey]\n\n if (item.children?.length) {\n if (item.disabled) {\n return (\n <div\n key={itemKey}\n className={cn('topbar-trigger', item.color, 'disabled', item.className)}\n aria-disabled=\"true\"\n >\n {renderItemContent(item, true)}\n </div>\n )\n }\n\n return (\n <MDropdownMenu\n key={itemKey}\n trigger={\n <div\n className={cn(\n 'topbar-trigger',\n item.color,\n isActive && 'active',\n isOpen && 'open',\n item.disabled && 'disabled',\n item.className\n )}\n >\n {renderItemContent(item, true, isOpen)}\n </div>\n }\n openOn={item.openOn ?? resolvedOpenOn}\n onOpenChange={(nextOpen) =>\n setOpenMap((prev) => ({...prev, [itemKey]: nextOpen}))\n }\n placement={dropdownPlacement}\n popoverClassName=\"topbar-dropdown-popover\"\n >\n {renderDropdownChildren(item.children)}\n </MDropdownMenu>\n )\n }\n\n return (\n <MLink\n key={itemKey}\n component={item.component}\n href={item.href}\n to={item.to}\n onClick={item.onClick}\n current={item.active}\n disabled={item.disabled}\n underline=\"none\"\n tone=\"inherit\"\n className={cn(\n 'topbar-link',\n item.color,\n item.className,\n item.active && 'active'\n )}\n >\n {renderItemContent(item)}\n </MLink>\n )\n })}\n </div>\n </div>\n\n {hasOverflow && (\n <MButton\n variant=\"ghost\"\n color=\"neutral\"\n iconOnly\n shape=\"circle\"\n className={cn('topbar-scroll-button', 'right', !canScrollRight && 'hidden')}\n onClick={() => scrollByAmount('right')}\n aria-label=\"Scroll topbar right\"\n >\n <MChevronRightIcon />\n </MButton>\n )}\n </div>\n </MContainer>\n </nav>\n )\n}\n","import type {MNavsProps} from './MNavs.types'\nimport {cn} from '../../../utils/cn'\nimport {MLink} from '../../typography'\nimport './MNavs.css'\n\n// Render a lightweight navigation list from data or custom children.\nexport function MNavs({items, orientation = 'horizontal', wrap = false, className, children, ...rest}: MNavsProps) {\n return (\n <div className={cn('navs', orientation, wrap && 'wrap', className)} {...rest}>\n {items\n ? items.map((item) => (\n <MLink\n key={item.key ?? item.href ?? item.title?.toString() ?? item.label?.toString()}\n component={item.component}\n href={item.href}\n to={item.to}\n target={item.target}\n rel={item.rel}\n title={item.title}\n current={item.current}\n disabled={item.disabled}\n className={cn('link', item.className)}\n >\n {item.label}\n </MLink>\n ))\n : children}\n </div>\n )\n}\n","import {useId, useMemo, useState} from 'react'\nimport type {KeyboardEvent} from 'react'\nimport type {MTabsItem, MTabsProps} from './MTabs.types'\nimport {cn} from '../../../utils/cn'\nimport {useInteractionEffect} from '../../../utils/useInteractionEffect'\nimport './MTabs.css'\n\ninterface MTabsTriggerProps {\n item: MTabsItem\n isActive: boolean\n tabId: string\n panelId: string\n clickEffect: MTabsProps['clickEffect']\n rippleColor: string | undefined\n onSelect: (value: string) => void\n}\n\n// Keep the tab trigger behavior isolated from the list and panel rendering.\nfunction MTabsTrigger({item, isActive, tabId, panelId, clickEffect, rippleColor, onSelect}: MTabsTriggerProps) {\n const {effectClassName, effectLayer, handlePointerDown, triggerEffect} = useInteractionEffect<HTMLButtonElement>({\n effect: clickEffect,\n disabled: item.disabled,\n centered: true,\n color: rippleColor,\n })\n\n return (\n <button\n type=\"button\"\n id={tabId}\n role=\"tab\"\n aria-selected={isActive}\n aria-controls={panelId}\n tabIndex={isActive ? 0 : -1}\n disabled={item.disabled}\n className={cn('tabs-trigger', isActive && 'active', item.disabled && 'disabled', effectClassName)}\n onPointerDown={handlePointerDown}\n onKeyDown={(event) => {\n if (event.key === ' ' || event.key === 'Enter') {\n triggerEffect(event.currentTarget)\n }\n }}\n onClick={() => onSelect(item.value)}\n >\n {effectLayer}\n {item.icon && <span className=\"tabs-icon\">{item.icon}</span>}\n <span className=\"tabs-label\">{item.label}</span>\n </button>\n )\n}\n\nexport function MTabs({\n items,\n value,\n defaultValue,\n onValueChange,\n variant = 'underline',\n orientation = 'horizontal',\n size = 'md',\n fullWidth = false,\n showPanels = true,\n panelClassName,\n clickEffect = 'ripple',\n rippleColor,\n className,\n ...rest\n}: MTabsProps) {\n // Pick the first enabled item when the caller does not control the active tab.\n const fallbackValue = useMemo(\n () => defaultValue ?? items.find((item) => !item.disabled)?.value ?? '',\n [defaultValue, items]\n )\n const [internalValue, setInternalValue] = useState(fallbackValue)\n const activeValue = value ?? internalValue\n const activeItem = items.find((item) => item.value === activeValue) ?? items[0]\n const baseId = useId()\n\n // Support both controlled and uncontrolled tab state.\n function selectTab(nextValue: string) {\n if (value === undefined) {\n setInternalValue(nextValue)\n }\n onValueChange?.(nextValue)\n }\n\n // Re-map keyboard navigation depending on the rendered orientation.\n function handleKeyDown(event: KeyboardEvent<HTMLDivElement>) {\n const enabledItems = items.filter((item) => !item.disabled)\n const currentIndex = enabledItems.findIndex((item) => item.value === activeItem?.value)\n\n if (currentIndex === -1) {\n return\n }\n\n const nextKeys = orientation === 'vertical' ? ['ArrowDown'] : ['ArrowRight', 'ArrowDown']\n const previousKeys = orientation === 'vertical' ? ['ArrowUp'] : ['ArrowLeft', 'ArrowUp']\n\n if (nextKeys.includes(event.key)) {\n event.preventDefault()\n const nextItem = enabledItems[(currentIndex + 1) % enabledItems.length]\n selectTab(nextItem.value)\n }\n\n if (previousKeys.includes(event.key)) {\n event.preventDefault()\n const nextItem = enabledItems[(currentIndex - 1 + enabledItems.length) % enabledItems.length]\n selectTab(nextItem.value)\n }\n }\n\n return (\n <div className={cn('tabs', variant, orientation, size, fullWidth && 'full-width', className)} {...rest}>\n <div className=\"tabs-list\" role=\"tablist\" aria-orientation={orientation} onKeyDown={handleKeyDown}>\n {items.map((item) => {\n const isActive = item.value === activeItem?.value\n const tabId = `${baseId}-${item.value}-tab`\n const panelId = `${baseId}-${item.value}-panel`\n\n return (\n <MTabsTrigger\n key={item.value}\n item={item}\n isActive={isActive}\n tabId={tabId}\n panelId={panelId}\n clickEffect={clickEffect}\n rippleColor={rippleColor}\n onSelect={selectTab}\n />\n )\n })}\n </div>\n\n {showPanels && activeItem?.content !== undefined && (\n <div\n key={activeItem.value}\n id={`${baseId}-${activeItem.value}-panel`}\n role=\"tabpanel\"\n aria-labelledby={`${baseId}-${activeItem.value}-tab`}\n className={cn('tabs-panel', panelClassName)}\n >\n {activeItem.content}\n </div>\n )}\n </div>\n )\n}\n","import type React from 'react'\nimport type {MSectionProps} from './MSection.types'\nimport {cn} from '../../../utils/cn'\nimport {useReveal} from '../../../utils/useReveal'\nimport './MSection.css'\n\n// Render a semantic page section with predefined spacing and tone.\nexport function MSection({\n as = 'section',\n spacing = 'lg',\n tone = 'default',\n reveal,\n className,\n style,\n children,\n ...rest\n}: MSectionProps) {\n const Component = as\n const revealRef = useReveal(reveal)\n const hasReveal = reveal !== undefined && reveal !== false\n\n return (\n <Component\n ref={hasReveal ? (revealRef as React.RefObject<never>) : undefined}\n className={cn('section', spacing, tone, hasReveal && 'reveal', className)}\n style={style}\n {...rest}\n >\n {children}\n </Component>\n )\n}\n","import type {MSimpleGridProps} from './MSimpleGrid.types'\nimport {cn} from '../../../utils/cn'\nimport './MSimpleGrid.css'\n\n// Render a simple equal-column grid with a shared default spacing.\nexport function MSimpleGrid({columns = 2, minItemWidth, className, style, children, ...rest}: MSimpleGridProps) {\n return (\n <div\n className={cn('grid', `columns-${columns}`, className)}\n style={{\n ...(minItemWidth ? {'--grid-min-item-width': minItemWidth} : {}),\n ...style,\n }}\n {...rest}\n >\n {children}\n </div>\n )\n}\n","import {Children, cloneElement, isValidElement} from 'react'\nimport type {ReactElement} from 'react'\nimport type {MGridColumns, MGridItemProps, MGridProps} from './MGrid.types'\nimport {cn} from '../../../utils/cn'\nimport {getLayoutUtilityClassNames, getLayoutUtilityStyles} from '../../../utils/layoutProps'\nimport './MGrid.css'\n\ntype GridBreakpoint = 'span' | 'xl' | 'lg' | 'md' | 'sm'\n\nfunction isGridColumnElement(child: unknown): child is ReactElement<MGridProps | MGridItemProps> {\n if (!isValidElement(child)) {\n return false\n }\n\n if (child.type === MGridItem) {\n return true\n }\n\n return child.type === MGrid && (child.props as MGridProps).type === 'col'\n}\n\nfunction getNormalizedSpans(props: Partial<MGridProps>) {\n return {\n span: props.span ?? props.xl ?? props.lg ?? props.md ?? props.sm,\n xl: props.xl ?? props.lg ?? props.md ?? props.sm,\n lg: props.lg ?? props.md ?? props.sm,\n md: props.md ?? props.sm,\n sm: props.sm,\n }\n}\n\nfunction distributeRemainingColumns(remaining: number, count: number): Array<MGridColumns | undefined> {\n if (count <= 0) {\n return []\n }\n\n if (remaining <= 0) {\n return Array.from({length: count}, () => undefined)\n }\n\n const base = Math.floor(remaining / count)\n const extra = remaining % count\n\n return Array.from({length: count}, (_, index) => {\n const value = base + (index < extra ? 1 : 0)\n return value >= 1 ? (value as MGridColumns) : undefined\n })\n}\n\nfunction resolveAutoSpans(columnProps: Array<Partial<MGridProps>>) {\n const breakpoints: GridBreakpoint[] = ['span', 'xl', 'lg', 'md', 'sm']\n const normalized = columnProps.map((props) => getNormalizedSpans(props))\n const resolved = normalized.map((spans) => ({...spans}))\n\n for (const breakpoint of breakpoints) {\n const autoIndexes: number[] = []\n let usedColumns = 0\n\n normalized.forEach((spans, index) => {\n const value = spans[breakpoint]\n\n if (value) {\n usedColumns += value\n return\n }\n\n autoIndexes.push(index)\n })\n\n const distributed = distributeRemainingColumns(Math.max(12 - usedColumns, 0), autoIndexes.length)\n\n autoIndexes.forEach((columnIndex, autoIndex) => {\n resolved[columnIndex][breakpoint] = distributed[autoIndex]\n })\n }\n\n return resolved\n}\n\n// Render either a responsive row or a responsive column using one shared grid API.\nexport function MGrid({\n type = 'row',\n span,\n sm,\n md,\n lg,\n xl,\n spacing,\n padding,\n fsize,\n mt,\n mb,\n ml,\n mr,\n mx,\n my,\n pt,\n pb,\n pl,\n pr,\n px,\n py,\n fullWidth,\n className,\n style,\n children,\n ...rest\n}: MGridProps) {\n const utilityStyle = getLayoutUtilityStyles({fsize})\n const baseSpan = span ?? xl ?? lg\n\n if (type === 'col') {\n return (\n <div\n className={cn(\n 'grid',\n 'col',\n baseSpan ? `span-${baseSpan}` : 'span-auto',\n xl && `xl-${xl}`,\n lg && `lg-${lg}`,\n md && `md-${md}`,\n sm && `sm-${sm}`,\n ...getLayoutUtilityClassNames({\n spacing,\n padding,\n fsize,\n mt,\n mb,\n ml,\n mr,\n mx,\n my,\n pt,\n pb,\n pl,\n pr,\n px,\n py,\n fullWidth,\n }),\n className\n )}\n style={{...utilityStyle, ...style}}\n {...rest}\n >\n {children}\n </div>\n )\n }\n\n const childArray = Children.toArray(children)\n const columnEntries = childArray.flatMap((child, index) => (isGridColumnElement(child) ? [{child, index}] : []))\n const autoColumns = Math.min(Math.max(columnEntries.length || childArray.length, 1), 12)\n const hasTrackedSizing = columnEntries.some(({child}) => {\n const p = child.props as MGridProps\n return Boolean(p.span || p.xl || p.lg || p.md || p.sm)\n })\n const resolvedSpans = hasTrackedSizing\n ? resolveAutoSpans(columnEntries.map(({child}) => child.props as Partial<MGridProps>))\n : null\n const resolvedChildren =\n hasTrackedSizing && resolvedSpans\n ? childArray.map((child, childIndex) => {\n const columnIndex = columnEntries.findIndex((entry) => entry.index === childIndex)\n\n if (columnIndex === -1 || !isGridColumnElement(child)) {\n return child\n }\n\n const spans = resolvedSpans[columnIndex]\n\n return cloneElement(child, {\n span: spans.span,\n xl: spans.xl,\n lg: spans.lg,\n md: spans.md,\n sm: spans.sm,\n })\n })\n : childArray\n\n return (\n <div\n className={cn(\n 'grid',\n 'row',\n hasTrackedSizing ? 'tracked' : `auto-cols-${autoColumns}`,\n ...getLayoutUtilityClassNames({\n spacing,\n padding,\n fsize,\n mt,\n mb,\n ml,\n mr,\n mx,\n my,\n pt,\n pb,\n pl,\n pr,\n px,\n py,\n fullWidth: fullWidth ?? true,\n }),\n className\n )}\n style={{...utilityStyle, ...style}}\n {...rest}\n >\n {resolvedChildren}\n </div>\n )\n}\n\n// Keep MGridItem as a compatibility alias for explicit column declarations.\nexport function MGridItem({span, sm, md, lg, xl, ...rest}: MGridItemProps) {\n return <MGrid type=\"col\" span={span} sm={sm} md={md} lg={lg} xl={xl} {...rest} />\n}\n","import type {MDividerProps} from './MDivider.types'\nimport {cn} from '../../../utils/cn'\nimport './MDivider.css'\n\n// Render a semantic divider line between related content blocks.\nexport function MDivider({orientation = 'horizontal', variant = 'solid', className, style, ...rest}: MDividerProps) {\n return (\n <div\n role=\"separator\"\n aria-orientation={orientation}\n className={cn('divider', orientation, variant, className)}\n style={style}\n {...rest}\n />\n )\n}\n","import {createContext, useContext, useState, useEffect, useCallback, useMemo} from 'react'\nimport {cn} from '../../../utils/cn'\nimport {MButton} from '../../controls'\nimport {MChevronRightIcon, MMenuIcon} from '../../../icons'\nimport {MDropdownMenu, MTooltip} from '../../overlays'\nimport type {\n MSidebarProps,\n MSidebarHeaderProps,\n MSidebarBodyProps,\n MSidebarNavProps,\n MSidebarItemProps,\n MSidebarGroupProps,\n MSidebarFooterProps,\n MSidebarDividerProps,\n MSidebarMode,\n} from './MSidebar.types'\nimport './MSidebar.css'\n\nconst STORAGE_KEY = 'mineralui-sidebar'\n\ninterface SidebarContextValue {\n mode: MSidebarMode\n mobile: boolean\n mobileOpen: boolean\n canToggle: boolean\n toggleMode: () => void\n}\n\nconst SidebarCtx = createContext<SidebarContextValue>({\n mode: 'expanded',\n mobile: false,\n mobileOpen: false,\n canToggle: false,\n toggleMode: () => {},\n})\n\n// Read shared sidebar state inside slot components.\nfunction useSidebar() {\n return useContext(SidebarCtx)\n}\n\n// Track the responsive breakpoint once for the whole sidebar tree.\nfunction useIsMobile(breakpoint: number): boolean {\n const [mobile, setMobile] = useState(() => (typeof window !== 'undefined' ? window.innerWidth < breakpoint : false))\n\n useEffect(() => {\n const mq = window.matchMedia(`(max-width: ${breakpoint - 1}px)`)\n const handler = (e: MediaQueryListEvent) => setMobile(e.matches)\n\n setMobile(mq.matches)\n mq.addEventListener('change', handler)\n return () => mq.removeEventListener('change', handler)\n }, [breakpoint])\n\n return mobile\n}\n\n// Render the sidebar shell and coordinate desktop and mobile behavior.\nexport function MSidebar({\n mode: modeProp = 'auto',\n defaultMode = 'expanded',\n onModeChange,\n persist = false,\n side = 'left',\n tone = 'subtle',\n bordered = true,\n mobileBreakpoint = 768,\n className,\n style,\n children,\n}: MSidebarProps) {\n const mobile = useIsMobile(mobileBreakpoint)\n const [mobileOpen, setMobileOpen] = useState(false)\n\n const [internalMode, setInternalMode] = useState<MSidebarMode>(() => {\n if (persist) {\n try {\n const v = localStorage.getItem(STORAGE_KEY)\n if (v === 'expanded' || v === 'collapsed') return v\n } catch {\n /* noop */\n }\n }\n\n return defaultMode\n })\n\n const resolvedMode: MSidebarMode =\n modeProp === 'auto' ? internalMode : modeProp === 'collapsed' ? 'collapsed' : 'expanded'\n\n // MToggle only the desktop width state. Mobile uses its own overlay flow.\n const toggleMode = useCallback(() => {\n const next: MSidebarMode = resolvedMode === 'expanded' ? 'collapsed' : 'expanded'\n\n setInternalMode(next)\n onModeChange?.(next)\n\n if (persist) {\n try {\n localStorage.setItem(STORAGE_KEY, next)\n } catch {\n /* noop */\n }\n }\n }, [resolvedMode, onModeChange, persist])\n\n const closeMobile = useCallback(() => setMobileOpen(false), [])\n\n // Let Escape close the temporary mobile drawer.\n useEffect(() => {\n if (!mobileOpen) return\n\n const handler = (e: KeyboardEvent) => {\n if (e.key === 'Escape') setMobileOpen(false)\n }\n\n document.addEventListener('keydown', handler)\n return () => document.removeEventListener('keydown', handler)\n }, [mobileOpen])\n\n const canToggle = !mobile && modeProp === 'auto'\n\n const ctx = useMemo<SidebarContextValue>(\n () => ({mode: resolvedMode, mobile, mobileOpen, canToggle, toggleMode}),\n [resolvedMode, mobile, mobileOpen, canToggle, toggleMode]\n )\n\n const isCollapsed = !mobile && resolvedMode === 'collapsed'\n\n const sidebarCls = cn(\n 'sidebar',\n tone,\n side,\n isCollapsed && 'collapsed',\n bordered && 'bordered',\n mobile && 'mobile',\n mobile && mobileOpen && 'mobile-open',\n className\n )\n\n return (\n <SidebarCtx.Provider value={ctx}>\n {mobile && mobileOpen && <div className=\"sidebar-backdrop\" onClick={closeMobile} />}\n\n <aside className={sidebarCls} style={style}>\n {children}\n </aside>\n\n {mobile && !mobileOpen && (\n <button\n className={cn('sidebar-hamburger', side)}\n onClick={() => setMobileOpen(true)}\n aria-label=\"Open menu\"\n >\n <span className=\"sidebar-hamburger-icon\" aria-hidden=\"true\">\n <MMenuIcon />\n </span>\n </button>\n )}\n </SidebarCtx.Provider>\n )\n}\n\n// Render the top area with branding and an optional collapse toggle.\nexport function MSidebarHeader({bordered = false, className, children}: MSidebarHeaderProps) {\n const {mode, mobile, canToggle, toggleMode} = useSidebar()\n const isCollapsed = !mobile && mode === 'collapsed'\n\n return (\n <div className={cn('sidebar-header', bordered && 'bordered', className)}>\n <div className=\"sidebar-header-content\">{children}</div>\n {canToggle && (\n <MButton\n variant=\"outlined\"\n color=\"neutral\"\n iconOnly\n size=\"sm\"\n onClick={toggleMode}\n aria-label={isCollapsed ? 'Expand sidebar' : 'Collapse sidebar'}\n className=\"sidebar-toggle\"\n >\n <span className={cn('sidebar-chevron', isCollapsed && 'flipped')}>\n <MChevronRightIcon />\n </span>\n </MButton>\n )}\n </div>\n )\n}\n\n// Wrap the scrollable middle area between header and footer.\nexport function MSidebarBody({className, children}: MSidebarBodyProps) {\n return <div className={cn('sidebar-body', className)}>{children}</div>\n}\n\n// Wrap sidebar links in a navigation landmark.\nexport function MSidebarNav({className, children}: MSidebarNavProps) {\n return <nav className={cn('sidebar-nav', className)}>{children}</nav>\n}\n\n// Render one clickable sidebar row as a link, button or custom component.\nexport function MSidebarItem({\n icon,\n label,\n href,\n to,\n onClick,\n active = false,\n disabled = false,\n badge,\n color,\n component,\n className,\n}: MSidebarItemProps) {\n const {mode, mobile} = useSidebar()\n const isCollapsed = !mobile && mode === 'collapsed'\n\n const Tag = component ?? (href || to ? 'a' : 'button')\n const linkProps = component ? (to ? {to} : href ? {href} : {}) : href ? {href} : to ? {href: to} : {}\n const cls = cn('sidebar-item', active && 'active', disabled && 'disabled', color, className)\n\n return (\n <Tag\n className={cls}\n onClick={disabled ? undefined : onClick}\n aria-disabled={disabled || undefined}\n title={isCollapsed ? label : undefined}\n {...linkProps}\n >\n {icon && <span className=\"sidebar-item-icon\">{icon}</span>}\n {!isCollapsed && (\n <MTooltip content={label} placement=\"top\" className=\"sidebar-item-label-tooltip\">\n <span className=\"sidebar-item-label\">{label}</span>\n </MTooltip>\n )}\n {!isCollapsed && badge && <span className=\"sidebar-item-badge\">{badge}</span>}\n </Tag>\n )\n}\n\n// Group related sidebar items and swap to a dropdown when collapsed.\nexport function MSidebarGroup({\n label,\n icon,\n active = false,\n defaultOpen = true,\n collapsible = true,\n children,\n className,\n}: MSidebarGroupProps) {\n const sidebarCtx = useSidebar()\n const {mode, mobile} = sidebarCtx\n const isCollapsed = !mobile && mode === 'collapsed'\n const [open, setOpen] = useState(defaultOpen)\n\n const expandedCtx = useMemo<SidebarContextValue>(() => ({...sidebarCtx, mode: 'expanded'}), [sidebarCtx])\n\n // Keep expand/collapse local to this group.\n const toggle = () => {\n if (collapsible) setOpen((o) => !o)\n }\n\n if (isCollapsed) {\n const trigger = (\n <span className={cn('sidebar-group-icon collapsed', active && 'active')} title={label}>\n {icon}\n </span>\n )\n\n return (\n <div className={cn('sidebar-group', className)}>\n <MDropdownMenu trigger={trigger} placement=\"right-start\" closeOnSelect openOn=\"hover\">\n <SidebarCtx.Provider value={expandedCtx}>{children}</SidebarCtx.Provider>\n </MDropdownMenu>\n </div>\n )\n }\n\n return (\n <div className={cn('sidebar-group', className)}>\n <button className={cn('sidebar-group-header', active && 'active')} onClick={toggle} aria-expanded={open}>\n {icon && <span className=\"sidebar-group-icon\">{icon}</span>}\n <span className=\"sidebar-group-label\">{label}</span>\n {collapsible && (\n <span className={cn('sidebar-group-arrow', open && 'open')}>\n <MChevronRightIcon />\n </span>\n )}\n </button>\n {open && <div className=\"sidebar-group-items\">{children}</div>}\n </div>\n )\n}\n\n// Render the bottom slot for version info or quick actions.\nexport function MSidebarFooter({bordered = false, className, children}: MSidebarFooterProps) {\n return <div className={cn('sidebar-footer', bordered && 'bordered', className)}>{children}</div>\n}\n\n// Render a spacing-aware divider between sidebar regions.\nexport function MSidebarDivider({className, spacing = 'md'}: MSidebarDividerProps) {\n return <hr className={cn('sidebar-divider', spacing, className)} />\n}\n","import {useMemo} from 'react'\nimport {cn} from '../../../utils/cn'\nimport type {MBreadcrumbProps} from './MBreadcrumb.types'\nimport './MBreadcrumb.css'\n\n// Render a compact path and collapse the middle when needed.\nexport function MBreadcrumb({items, separator = '/', maxItems, className, ...rest}: MBreadcrumbProps) {\n // Keep the current page visible while shortening deep paths.\n const visible = useMemo(() => {\n if (!maxItems || maxItems >= items.length) return items\n if (maxItems < 2) return [items[items.length - 1]]\n const head = items.slice(0, 1)\n const tail = items.slice(-(maxItems - 1))\n return [...head, null, ...tail]\n }, [items, maxItems])\n\n return (\n <nav aria-label=\"breadcrumb\" className={cn('breadcrumb', className)} {...rest}>\n <ol className=\"trail\">\n {visible.map((item, i) => {\n if (item === null) {\n return (\n <li key=\"ellipsis\" className=\"crumb dots\">\n <span className=\"sep\">{separator}</span>\n <span>…</span>\n </li>\n )\n }\n\n const isLast = i === visible.length - 1\n\n return (\n <li key={i} className={cn('crumb', isLast && 'active')}>\n {i > 0 && <span className=\"sep\">{separator}</span>}\n {item.href && !isLast ? (\n <a href={item.href} className=\"link\" onClick={item.onClick}>\n {item.label}\n </a>\n ) : item.onClick && !isLast ? (\n <button type=\"button\" className=\"link btn\" onClick={item.onClick}>\n {item.label}\n </button>\n ) : (\n <span className=\"current\" aria-current={isLast ? 'page' : undefined}>\n {item.label}\n </span>\n )}\n </li>\n )\n })}\n </ol>\n </nav>\n )\n}\n","import {forwardRef, Children, isValidElement} from 'react'\nimport type * as React from 'react'\nimport type {MAppShellProps, MBodyProps} from './MAppShell.types'\nimport {cn} from '../../../utils/cn'\nimport {MSidebar} from '../MSidebar'\nimport './MAppShell.css'\n\nexport const MAppShell = forwardRef<HTMLDivElement, MAppShellProps>(function MAppShell(\n {className, children, ...rest},\n ref\n) {\n const sidebarElements: React.ReactNode[] = []\n const otherElements: React.ReactNode[] = []\n\n Children.forEach(children, (child) => {\n if (isValidElement(child) && child.type === MSidebar) {\n sidebarElements.push(child)\n } else {\n otherElements.push(child)\n }\n })\n\n return (\n <div ref={ref} className={cn('app-shell', className)} {...rest}>\n {sidebarElements}\n <div className=\"app-main\">{otherElements}</div>\n </div>\n )\n})\n\nexport const MBody = forwardRef<HTMLDivElement, MBodyProps>(function MBody({className, children, ...rest}, ref) {\n return (\n <div ref={ref} className={cn('app-body', className)} {...rest}>\n {children}\n </div>\n )\n})\n"],"mappings":"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"}
|
package/dist/layout-DsY7-y6U.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const e=require(`./MChevronRightIcon-BC08M6g8.cjs`),t=require(`./MChevronDownIcon-DCMmxkRt.cjs`),n=require(`./MMenuIcon-A_eXBpM8.cjs`),r=require(`./cn-SOcVdnX6.cjs`),i=require(`./useInteractionEffect-BLehDk91.cjs`),a=require(`./useReveal-CdIoh0Rk.cjs`),o=require(`./layoutProps-CZ-XhpIX.cjs`),s=require(`./MButton-C_WTyNvw.cjs`),c=require(`./MLink-B4JrRZ29.cjs`),l=require(`./MTooltip-CsJogGMW.cjs`),u=require(`./MDropdownMenu-Bd6MfUmF.cjs`);let d=require(`react`),f=require(`react/jsx-runtime`);function p({size:e=`content`,padded:t=!0,spacing:n,padding:i,fsize:a,mt:s,mb:c,ml:l,mr:u,mx:d,my:p,pt:m,pb:h,pl:g,pr:_,px:v,py:y,fullWidth:b,className:x,style:S,children:C,...w}){let T=o.n({fsize:a});return(0,f.jsx)(`div`,{className:r.t(`container`,e,t&&`padded`,...o.t({spacing:n,padding:i,fsize:a,mt:s,mb:c,ml:l,mr:u,mx:d,my:p,pt:m,pb:h,pl:g,pr:_,px:v,py:y,fullWidth:b}),x),style:{...T,...S},...w,children:C})}function m({container:e=`wide`,padded:t=!0,bordered:n=!0,sticky:i=!1,tone:a=`surface`,layout:o=`split`,className:s,children:c,...l}){return(0,f.jsx)(`header`,{className:r.t(`header`,a,n&&`bordered`,i&&`sticky`,s),...l,children:(0,f.jsx)(p,{size:e,padded:t,className:r.t(`inner`,`layout-${o}`),children:c})})}function h({container:e=`wide`,padded:t=!0,bordered:n=!0,tone:i=`surface`,spacing:a,padding:s,fsize:c,mt:l,mb:u,ml:d,mr:m,mx:h,my:g,pt:_,pb:v,pl:y,pr:b,px:x,py:S,fullWidth:C,className:w,style:T,children:E,...D}){let O=o.n({fsize:c});return(0,f.jsx)(`footer`,{className:r.t(`footer`,i,n&&`bordered`,...o.t({spacing:a,padding:s,fsize:c,mt:l,mb:u,ml:d,mr:m,mx:h,my:g,pt:_,pb:v,pl:y,pr:b,px:x,py:S,fullWidth:C}),w),style:{...O,...T},...D,children:(0,f.jsx)(p,{size:e,padded:t,className:`inner`,fullWidth:!0,children:E})})}function g({container:e=`content`,padded:t=!0,bordered:n=!0,sticky:i=!1,tone:a=`surface`,justify:o=`between`,wrap:s=!1,className:c,children:l,...u}){return(0,f.jsx)(`nav`,{className:r.t(`navbar`,a,n&&`bordered`,i&&`sticky`,c),...u,children:(0,f.jsx)(p,{size:e,padded:t,className:`container`,children:(0,f.jsx)(`div`,{className:r.t(`inner`,o,s&&`wrap`),children:l})})})}function _(e){return e.key??e.to??e.href??String(e.label)}function v(e){return e.active?!0:(e.children??[]).some(v)}function y(e,n=!1,i=!1){return(0,f.jsxs)(f.Fragment,{children:[e.icon?(0,f.jsx)(`span`,{className:`topbar-icon`,children:e.icon}):null,(0,f.jsx)(`span`,{children:e.label}),e.badge?(0,f.jsx)(`span`,{className:`topbar-badge`,children:e.badge}):null,n?(0,f.jsx)(`span`,{className:r.t(`topbar-chevron`,i&&`open`),"aria-hidden":`true`,children:(0,f.jsx)(t.t,{size:`sm`})}):null]})}function b(e){return e.map(e=>e.children?.length?(0,f.jsx)(u.n,{label:String(e.label),children:b(e.children)},_(e)):(0,f.jsx)(u.r,{icon:e.icon,label:e.label,href:e.href,to:e.to,onClick:e.onClick,color:e.color,disabled:e.disabled,active:e.active,component:e.component,className:e.className},_(e)))}function x({items:t,container:n=`full`,padded:i=!0,bordered:a=!0,sticky:o=!1,tone:l=`surface`,justify:m=`left`,size:h=`md`,openOn:g=`hover`,dropdownPlacement:x=`bottom-start`,className:S,style:C,...w}){let[T,E]=(0,d.useState)(!1),[D,O]=(0,d.useState)({}),[k,A]=(0,d.useState)(!1),[j,M]=(0,d.useState)(!1),[N,P]=(0,d.useState)(!1),F=(0,d.useRef)(null);(0,d.useEffect)(()=>{let e=window.matchMedia(`(pointer: coarse)`),t=()=>E(e.matches);return t(),typeof e.addEventListener==`function`?(e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)):(e.addListener(t),()=>e.removeListener(t))},[]),(0,d.useEffect)(()=>{let e=F.current;if(!e)return;let t=()=>{A(e.scrollWidth>e.clientWidth+1),M(e.scrollLeft>4),P(e.scrollLeft+e.clientWidth<e.scrollWidth-4)};t(),e.addEventListener(`scroll`,t,{passive:!0});let n=new ResizeObserver(t);return n.observe(e),Array.from(e.children).forEach(e=>n.observe(e)),()=>{e.removeEventListener(`scroll`,t),n.disconnect()}},[t,m,h,l,a,i,n]);let I=(0,d.useMemo)(()=>T?`click`:g,[T,g]),L=e=>{let t=F.current;if(!t)return;let n=Math.max(180,Math.floor(t.clientWidth*.45));t.scrollBy({left:e===`left`?-n:n,behavior:`smooth`})};return(0,f.jsx)(`nav`,{className:r.t(`topbar`,l,h,a&&`bordered`,o&&`sticky`,S),style:C,...w,children:(0,f.jsx)(p,{size:n,padded:i,className:`topbar-container`,children:(0,f.jsxs)(`div`,{className:r.t(`topbar-scroll-shell`,k&&`overflowing`),children:[k&&(0,f.jsx)(s.t,{variant:`ghost`,color:`neutral`,iconOnly:!0,shape:`circle`,className:r.t(`topbar-scroll-button`,`left`,!j&&`hidden`),onClick:()=>L(`left`),"aria-label":`Scroll topbar left`,children:(0,f.jsx)(e.n,{})}),(0,f.jsx)(`div`,{ref:F,className:`topbar-viewport`,children:(0,f.jsx)(`div`,{className:r.t(`topbar-list`,`justify-${m}`,k&&`overflowing`),children:t.map(e=>{let t=_(e),n=v(e),i=!!D[t];return e.children?.length?e.disabled?(0,f.jsx)(`div`,{className:r.t(`topbar-trigger`,e.color,`disabled`,e.className),"aria-disabled":`true`,children:y(e,!0)},t):(0,f.jsx)(u.i,{trigger:(0,f.jsx)(`div`,{className:r.t(`topbar-trigger`,e.color,n&&`active`,i&&`open`,e.disabled&&`disabled`,e.className),children:y(e,!0,i)}),openOn:e.openOn??I,onOpenChange:e=>O(n=>({...n,[t]:e})),placement:x,popoverClassName:`topbar-dropdown-popover`,children:b(e.children)},t):(0,f.jsx)(c.t,{component:e.component,href:e.href,to:e.to,onClick:e.onClick,current:e.active,disabled:e.disabled,underline:`none`,tone:`inherit`,className:r.t(`topbar-link`,e.color,e.className,e.active&&`active`),children:y(e)},t)})})}),k&&(0,f.jsx)(s.t,{variant:`ghost`,color:`neutral`,iconOnly:!0,shape:`circle`,className:r.t(`topbar-scroll-button`,`right`,!N&&`hidden`),onClick:()=>L(`right`),"aria-label":`Scroll topbar right`,children:(0,f.jsx)(e.t,{})})]})})})}function S({items:e,orientation:t=`horizontal`,wrap:n=!1,className:i,children:a,...o}){return(0,f.jsx)(`div`,{className:r.t(`navs`,t,n&&`wrap`,i),...o,children:e?e.map(e=>(0,f.jsx)(c.t,{component:e.component,href:e.href,to:e.to,target:e.target,rel:e.rel,title:e.title,current:e.current,disabled:e.disabled,className:r.t(`link`,e.className),children:e.label},e.key??e.href??e.title?.toString()??e.label?.toString())):a})}function C({item:e,isActive:t,tabId:n,panelId:a,clickEffect:o,rippleColor:s,onSelect:c}){let{effectClassName:l,effectLayer:u,handlePointerDown:d,triggerEffect:p}=i.t({effect:o,disabled:e.disabled,centered:!0,color:s});return(0,f.jsxs)(`button`,{type:`button`,id:n,role:`tab`,"aria-selected":t,"aria-controls":a,tabIndex:t?0:-1,disabled:e.disabled,className:r.t(`tabs-trigger`,t&&`active`,e.disabled&&`disabled`,l),onPointerDown:d,onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&p(e.currentTarget)},onClick:()=>c(e.value),children:[u,e.icon&&(0,f.jsx)(`span`,{className:`tabs-icon`,children:e.icon}),(0,f.jsx)(`span`,{className:`tabs-label`,children:e.label})]})}function w({items:e,value:t,defaultValue:n,onValueChange:i,variant:a=`underline`,orientation:o=`horizontal`,size:s=`md`,fullWidth:c=!1,showPanels:l=!0,panelClassName:u,clickEffect:p=`ripple`,rippleColor:m,className:h,...g}){let[_,v]=(0,d.useState)((0,d.useMemo)(()=>n??e.find(e=>!e.disabled)?.value??``,[n,e])),y=t??_,b=e.find(e=>e.value===y)??e[0],x=(0,d.useId)();function S(e){t===void 0&&v(e),i?.(e)}function w(t){let n=e.filter(e=>!e.disabled),r=n.findIndex(e=>e.value===b?.value);if(r===-1)return;let i=o===`vertical`?[`ArrowDown`]:[`ArrowRight`,`ArrowDown`],a=o===`vertical`?[`ArrowUp`]:[`ArrowLeft`,`ArrowUp`];if(i.includes(t.key)){t.preventDefault();let e=n[(r+1)%n.length];S(e.value)}if(a.includes(t.key)){t.preventDefault();let e=n[(r-1+n.length)%n.length];S(e.value)}}return(0,f.jsxs)(`div`,{className:r.t(`tabs`,a,o,s,c&&`full-width`,h),...g,children:[(0,f.jsx)(`div`,{className:`tabs-list`,role:`tablist`,"aria-orientation":o,onKeyDown:w,children:e.map(e=>(0,f.jsx)(C,{item:e,isActive:e.value===b?.value,tabId:`${x}-${e.value}-tab`,panelId:`${x}-${e.value}-panel`,clickEffect:p,rippleColor:m,onSelect:S},e.value))}),l&&b?.content!==void 0&&(0,f.jsx)(`div`,{id:`${x}-${b.value}-panel`,role:`tabpanel`,"aria-labelledby":`${x}-${b.value}-tab`,className:r.t(`tabs-panel`,u),children:b.content},b.value)]})}function T({as:e=`section`,spacing:t=`lg`,tone:n=`default`,reveal:i,className:o,style:s,children:c,...l}){let u=e,d=a.t(i),p=i!==void 0&&i!==!1;return(0,f.jsx)(u,{ref:p?d:void 0,className:r.t(`section`,t,n,p&&`reveal`,o),style:s,...l,children:c})}function E({columns:e=2,minItemWidth:t,className:n,style:i,children:a,...o}){return(0,f.jsx)(`div`,{className:r.t(`grid`,`columns-${e}`,n),style:{...t?{"--grid-min-item-width":t}:{},...i},...o,children:a})}function D(e){return(0,d.isValidElement)(e)?e.type===M?!0:e.type===j&&e.props.type===`col`:!1}function O(e){return{span:e.span??e.xl??e.lg??e.md??e.sm,xl:e.xl??e.lg??e.md??e.sm,lg:e.lg??e.md??e.sm,md:e.md??e.sm,sm:e.sm}}function k(e,t){if(t<=0)return[];if(e<=0)return Array.from({length:t},()=>void 0);let n=Math.floor(e/t),r=e%t;return Array.from({length:t},(e,t)=>{let i=n+ +(t<r);return i>=1?i:void 0})}function A(e){let t=[`span`,`xl`,`lg`,`md`,`sm`],n=e.map(e=>O(e)),r=n.map(e=>({...e}));for(let e of t){let t=[],i=0;n.forEach((n,r)=>{let a=n[e];if(a){i+=a;return}t.push(r)});let a=k(Math.max(12-i,0),t.length);t.forEach((t,n)=>{r[t][e]=a[n]})}return r}function j({type:e=`row`,span:t,sm:n,md:i,lg:a,xl:s,spacing:c,padding:l,fsize:u,mt:p,mb:m,ml:h,mr:g,mx:_,my:v,pt:y,pb:b,pl:x,pr:S,px:C,py:w,fullWidth:T,className:E,style:O,children:k,...j}){let M=o.n({fsize:u}),N=t??s??a;if(e===`col`)return(0,f.jsx)(`div`,{className:r.t(`grid`,`col`,N?`span-${N}`:`span-auto`,s&&`xl-${s}`,a&&`lg-${a}`,i&&`md-${i}`,n&&`sm-${n}`,...o.t({spacing:c,padding:l,fsize:u,mt:p,mb:m,ml:h,mr:g,mx:_,my:v,pt:y,pb:b,pl:x,pr:S,px:C,py:w,fullWidth:T}),E),style:{...M,...O},...j,children:k});let P=d.Children.toArray(k),F=P.flatMap((e,t)=>D(e)?[{child:e,index:t}]:[]),I=Math.min(Math.max(F.length||P.length,1),12),L=F.some(({child:e})=>{let t=e.props;return!!(t.span||t.xl||t.lg||t.md||t.sm)}),R=L?A(F.map(({child:e})=>e.props)):null,z=L&&R?P.map((e,t)=>{let n=F.findIndex(e=>e.index===t);if(n===-1||!D(e))return e;let r=R[n];return(0,d.cloneElement)(e,{span:r.span,xl:r.xl,lg:r.lg,md:r.md,sm:r.sm})}):P;return(0,f.jsx)(`div`,{className:r.t(`grid`,`row`,L?`tracked`:`auto-cols-${I}`,...o.t({spacing:c,padding:l,fsize:u,mt:p,mb:m,ml:h,mr:g,mx:_,my:v,pt:y,pb:b,pl:x,pr:S,px:C,py:w,fullWidth:T??!0}),E),style:{...M,...O},...j,children:z})}function M({span:e,sm:t,md:n,lg:r,xl:i,...a}){return(0,f.jsx)(j,{type:`col`,span:e,sm:t,md:n,lg:r,xl:i,...a})}function N({orientation:e=`horizontal`,variant:t=`solid`,className:n,style:i,...a}){return(0,f.jsx)(`div`,{role:`separator`,"aria-orientation":e,className:r.t(`divider`,e,t,n),style:i,...a})}var P=`mineralui-sidebar`,F=(0,d.createContext)({mode:`expanded`,mobile:!1,mobileOpen:!1,canToggle:!1,toggleMode:()=>{}});function I(){return(0,d.useContext)(F)}function L(e){let[t,n]=(0,d.useState)(()=>typeof window<`u`?window.innerWidth<e:!1);return(0,d.useEffect)(()=>{let t=window.matchMedia(`(max-width: ${e-1}px)`),r=e=>n(e.matches);return n(t.matches),t.addEventListener(`change`,r),()=>t.removeEventListener(`change`,r)},[e]),t}function R({mode:e=`auto`,defaultMode:t=`expanded`,onModeChange:i,persist:a=!1,side:o=`left`,tone:s=`subtle`,bordered:c=!0,mobileBreakpoint:l=768,className:u,style:p,children:m}){let h=L(l),[g,_]=(0,d.useState)(!1),[v,y]=(0,d.useState)(()=>{if(a)try{let e=localStorage.getItem(P);if(e===`expanded`||e===`collapsed`)return e}catch{}return t}),b=e===`auto`?v:e===`collapsed`?`collapsed`:`expanded`,x=(0,d.useCallback)(()=>{let e=b===`expanded`?`collapsed`:`expanded`;if(y(e),i?.(e),a)try{localStorage.setItem(P,e)}catch{}},[b,i,a]),S=(0,d.useCallback)(()=>_(!1),[]);(0,d.useEffect)(()=>{if(!g)return;let e=e=>{e.key===`Escape`&&_(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[g]);let C=!h&&e===`auto`,w=(0,d.useMemo)(()=>({mode:b,mobile:h,mobileOpen:g,canToggle:C,toggleMode:x}),[b,h,g,C,x]),T=r.t(`sidebar`,s,o,!h&&b===`collapsed`&&`collapsed`,c&&`bordered`,h&&`mobile`,h&&g&&`mobile-open`,u);return(0,f.jsxs)(F.Provider,{value:w,children:[h&&g&&(0,f.jsx)(`div`,{className:`sidebar-backdrop`,onClick:S}),(0,f.jsx)(`aside`,{className:T,style:p,children:m}),h&&!g&&(0,f.jsx)(`button`,{className:r.t(`sidebar-hamburger`,o),onClick:()=>_(!0),"aria-label":`Open menu`,children:(0,f.jsx)(`span`,{className:`sidebar-hamburger-icon`,"aria-hidden":`true`,children:(0,f.jsx)(n.t,{})})})]})}function z({bordered:t=!1,className:n,children:i}){let{mode:a,mobile:o,canToggle:c,toggleMode:l}=I(),u=!o&&a===`collapsed`;return(0,f.jsxs)(`div`,{className:r.t(`sidebar-header`,t&&`bordered`,n),children:[(0,f.jsx)(`div`,{className:`sidebar-header-content`,children:i}),c&&(0,f.jsx)(s.t,{variant:`outlined`,color:`neutral`,iconOnly:!0,size:`sm`,onClick:l,"aria-label":u?`Expand sidebar`:`Collapse sidebar`,className:`sidebar-toggle`,children:(0,f.jsx)(`span`,{className:r.t(`sidebar-chevron`,u&&`flipped`),children:(0,f.jsx)(e.t,{})})})]})}function B({className:e,children:t}){return(0,f.jsx)(`div`,{className:r.t(`sidebar-body`,e),children:t})}function V({className:e,children:t}){return(0,f.jsx)(`nav`,{className:r.t(`sidebar-nav`,e),children:t})}function H({icon:e,label:t,href:n,to:i,onClick:a,active:o=!1,disabled:s=!1,badge:c,color:u,component:d,className:p}){let{mode:m,mobile:h}=I(),g=!h&&m===`collapsed`,_=d??(n||i?`a`:`button`),v=d?i?{to:i}:n?{href:n}:{}:n?{href:n}:i?{href:i}:{};return(0,f.jsxs)(_,{className:r.t(`sidebar-item`,o&&`active`,s&&`disabled`,u,p),onClick:s?void 0:a,"aria-disabled":s||void 0,title:g?t:void 0,...v,children:[e&&(0,f.jsx)(`span`,{className:`sidebar-item-icon`,children:e}),!g&&(0,f.jsx)(l.t,{content:t,placement:`top`,className:`sidebar-item-label-tooltip`,children:(0,f.jsx)(`span`,{className:`sidebar-item-label`,children:t})}),!g&&c&&(0,f.jsx)(`span`,{className:`sidebar-item-badge`,children:c})]})}function U({label:t,icon:n,active:i=!1,defaultOpen:a=!0,collapsible:o=!0,children:s,className:c}){let l=I(),{mode:p,mobile:m}=l,h=!m&&p===`collapsed`,[g,_]=(0,d.useState)(a),v=(0,d.useMemo)(()=>({...l,mode:`expanded`}),[l]),y=()=>{o&&_(e=>!e)};if(h){let e=(0,f.jsx)(`span`,{className:r.t(`sidebar-group-icon collapsed`,i&&`active`),title:t,children:n});return(0,f.jsx)(`div`,{className:r.t(`sidebar-group`,c),children:(0,f.jsx)(u.i,{trigger:e,placement:`right-start`,closeOnSelect:!0,openOn:`hover`,children:(0,f.jsx)(F.Provider,{value:v,children:s})})})}return(0,f.jsxs)(`div`,{className:r.t(`sidebar-group`,c),children:[(0,f.jsxs)(`button`,{className:r.t(`sidebar-group-header`,i&&`active`),onClick:y,"aria-expanded":g,children:[n&&(0,f.jsx)(`span`,{className:`sidebar-group-icon`,children:n}),(0,f.jsx)(`span`,{className:`sidebar-group-label`,children:t}),o&&(0,f.jsx)(`span`,{className:r.t(`sidebar-group-arrow`,g&&`open`),children:(0,f.jsx)(e.t,{})})]}),g&&(0,f.jsx)(`div`,{className:`sidebar-group-items`,children:s})]})}function W({bordered:e=!1,className:t,children:n}){return(0,f.jsx)(`div`,{className:r.t(`sidebar-footer`,e&&`bordered`,t),children:n})}function G({className:e,spacing:t=`md`}){return(0,f.jsx)(`hr`,{className:r.t(`sidebar-divider`,t,e)})}function K({items:e,separator:t=`/`,maxItems:n,className:i,...a}){let o=(0,d.useMemo)(()=>{if(!n||n>=e.length)return e;if(n<2)return[e[e.length-1]];let t=e.slice(0,1),r=e.slice(-(n-1));return[...t,null,...r]},[e,n]);return(0,f.jsx)(`nav`,{"aria-label":`breadcrumb`,className:r.t(`breadcrumb`,i),...a,children:(0,f.jsx)(`ol`,{className:`trail`,children:o.map((e,n)=>{if(e===null)return(0,f.jsxs)(`li`,{className:`crumb dots`,children:[(0,f.jsx)(`span`,{className:`sep`,children:t}),(0,f.jsx)(`span`,{children:`…`})]},`ellipsis`);let i=n===o.length-1;return(0,f.jsxs)(`li`,{className:r.t(`crumb`,i&&`active`),children:[n>0&&(0,f.jsx)(`span`,{className:`sep`,children:t}),e.href&&!i?(0,f.jsx)(`a`,{href:e.href,className:`link`,onClick:e.onClick,children:e.label}):e.onClick&&!i?(0,f.jsx)(`button`,{type:`button`,className:`link btn`,onClick:e.onClick,children:e.label}):(0,f.jsx)(`span`,{className:`current`,"aria-current":i?`page`:void 0,children:e.label})]},n)})})})}var q=(0,d.forwardRef)(function({className:e,children:t,...n},i){let a=[],o=[];return d.Children.forEach(t,e=>{(0,d.isValidElement)(e)&&e.type===R?a.push(e):o.push(e)}),(0,f.jsxs)(`div`,{ref:i,className:r.t(`app-shell`,e),...n,children:[a,(0,f.jsx)(`div`,{className:`app-main`,children:o})]})}),J=(0,d.forwardRef)(function({className:e,children:t,...n},i){return(0,f.jsx)(`div`,{ref:i,className:r.t(`app-body`,e),...n,children:t})});Object.defineProperty(exports,`C`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return x}});
|
|
2
|
-
//# sourceMappingURL=layout-DsY7-y6U.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"layout-DsY7-y6U.cjs","names":[],"sources":["../src/components/layout/MContainer/MContainer.tsx","../src/components/layout/MHeader/MHeader.tsx","../src/components/layout/MFooter/MFooter.tsx","../src/components/layout/MNavbar/MNavbar.tsx","../src/components/layout/MTopbar/MTopbar.tsx","../src/components/layout/MNavs/MNavs.tsx","../src/components/layout/MTabs/MTabs.tsx","../src/components/layout/MSection/MSection.tsx","../src/components/layout/MSimpleGrid/MSimpleGrid.tsx","../src/components/layout/MGrid/MGrid.tsx","../src/components/layout/MDivider/MDivider.tsx","../src/components/layout/MSidebar/MSidebar.tsx","../src/components/layout/MBreadcrumb/MBreadcrumb.tsx","../src/components/layout/MAppShell/MAppShell.tsx"],"sourcesContent":["import type {MContainerProps} from './MContainer.types'\nimport {cn} from '../../../utils/cn'\nimport {getLayoutUtilityClassNames, getLayoutUtilityStyles} from '../../../utils/layoutProps'\nimport './MContainer.css'\n\n// Constrain page content widths and apply shared spacing utilities.\nexport function MContainer({\n size = 'content',\n padded = true,\n spacing,\n padding,\n fsize,\n mt,\n mb,\n ml,\n mr,\n mx,\n my,\n pt,\n pb,\n pl,\n pr,\n px,\n py,\n fullWidth,\n className,\n style,\n children,\n ...rest\n}: MContainerProps) {\n const utilityStyle = getLayoutUtilityStyles({fsize})\n\n return (\n <div\n className={cn(\n 'container',\n size,\n padded && 'padded',\n ...getLayoutUtilityClassNames({\n spacing,\n padding,\n fsize,\n mt,\n mb,\n ml,\n mr,\n mx,\n my,\n pt,\n pb,\n pl,\n pr,\n px,\n py,\n fullWidth,\n }),\n className\n )}\n style={{...utilityStyle, ...style}}\n {...rest}\n >\n {children}\n </div>\n )\n}\n","import type {MHeaderProps} from './MHeader.types'\nimport {cn} from '../../../utils/cn'\nimport {MContainer} from '../MContainer'\nimport './MHeader.css'\n\n// Render a reusable page header shell aligned to a shared container.\nexport function MHeader({\n container = 'wide',\n padded = true,\n bordered = true,\n sticky = false,\n tone = 'surface',\n layout = 'split',\n className,\n children,\n ...rest\n}: MHeaderProps) {\n return (\n <header className={cn('header', tone, bordered && 'bordered', sticky && 'sticky', className)} {...rest}>\n <MContainer size={container} padded={padded} className={cn('inner', `layout-${layout}`)}>\n {children}\n </MContainer>\n </header>\n )\n}\n","import type {MFooterProps} from './MFooter.types'\nimport {cn} from '../../../utils/cn'\nimport {getLayoutUtilityClassNames, getLayoutUtilityStyles} from '../../../utils/layoutProps'\nimport {MContainer} from '../MContainer'\nimport './MFooter.css'\n\n// Render a reusable page footer shell with shared spacing utilities.\nexport function MFooter({\n container = 'wide',\n padded = true,\n bordered = true,\n tone = 'surface',\n spacing,\n padding,\n fsize,\n mt,\n mb,\n ml,\n mr,\n mx,\n my,\n pt,\n pb,\n pl,\n pr,\n px,\n py,\n fullWidth,\n className,\n style,\n children,\n ...rest\n}: MFooterProps) {\n const utilityStyle = getLayoutUtilityStyles({fsize})\n\n return (\n <footer\n className={cn(\n 'footer',\n tone,\n bordered && 'bordered',\n ...getLayoutUtilityClassNames({\n spacing,\n padding,\n fsize,\n mt,\n mb,\n ml,\n mr,\n mx,\n my,\n pt,\n pb,\n pl,\n pr,\n px,\n py,\n fullWidth,\n }),\n className\n )}\n style={{...utilityStyle, ...style}}\n {...rest}\n >\n <MContainer size={container} padded={padded} className=\"inner\" fullWidth>\n {children}\n </MContainer>\n </footer>\n )\n}\n","import type {MNavbarProps} from './MNavbar.types'\nimport {cn} from '../../../utils/cn'\nimport {MContainer} from '../MContainer'\nimport './MNavbar.css'\n\n// Render a horizontal app or site navigation shell with container alignment.\nexport function MNavbar({\n container = 'content',\n padded = true,\n bordered = true,\n sticky = false,\n tone = 'surface',\n justify = 'between',\n wrap = false,\n className,\n children,\n ...rest\n}: MNavbarProps) {\n return (\n <nav className={cn('navbar', tone, bordered && 'bordered', sticky && 'sticky', className)} {...rest}>\n <MContainer size={container} padded={padded} className=\"container\">\n <div className={cn('inner', justify, wrap && 'wrap')}>{children}</div>\n </MContainer>\n </nav>\n )\n}\n","import {useEffect, useMemo, useRef, useState} from 'react'\nimport type {ReactNode} from 'react'\nimport type {MTopbarItem, MTopbarProps} from './MTopbar.types'\nimport {cn} from '../../../utils/cn'\nimport {MContainer} from '../MContainer'\nimport {MButton} from '../../controls'\nimport {MLink} from '../../typography'\nimport {MChevronDownIcon, MChevronLeftIcon, MChevronRightIcon} from '../../../icons'\nimport {MDropdownGroup, MDropdownItem, MDropdownMenu} from '../../overlays/MDropdownMenu'\nimport './MTopbar.css'\n\nfunction getItemKey(item: MTopbarItem): string {\n return item.key ?? item.to ?? item.href ?? String(item.label)\n}\n\nfunction itemHasActiveDescendant(item: MTopbarItem): boolean {\n if (item.active) return true\n return (item.children ?? []).some(itemHasActiveDescendant)\n}\n\nfunction renderItemContent(item: MTopbarItem, withChevron = false, isOpen = false): ReactNode {\n return (\n <>\n {item.icon ? <span className=\"topbar-icon\">{item.icon}</span> : null}\n <span>{item.label}</span>\n {item.badge ? <span className=\"topbar-badge\">{item.badge}</span> : null}\n {withChevron ? (\n <span className={cn('topbar-chevron', isOpen && 'open')} aria-hidden=\"true\">\n <MChevronDownIcon size=\"sm\" />\n </span>\n ) : null}\n </>\n )\n}\n\nfunction renderDropdownChildren(children: MTopbarItem[]): ReactNode {\n return children.map((child) => {\n if (child.children?.length) {\n return (\n <MDropdownGroup key={getItemKey(child)} label={String(child.label)}>\n {renderDropdownChildren(child.children)}\n </MDropdownGroup>\n )\n }\n\n return (\n <MDropdownItem\n key={getItemKey(child)}\n icon={child.icon}\n label={child.label}\n href={child.href}\n to={child.to}\n onClick={child.onClick}\n color={child.color}\n disabled={child.disabled}\n active={child.active}\n component={child.component}\n className={child.className}\n />\n )\n })\n}\n\nexport function MTopbar({\n items,\n container = 'full',\n padded = true,\n bordered = true,\n sticky = false,\n tone = 'surface',\n justify = 'left',\n size = 'md',\n openOn = 'hover',\n dropdownPlacement = 'bottom-start',\n className,\n style,\n ...rest\n}: MTopbarProps) {\n const [coarsePointer, setCoarsePointer] = useState(false)\n const [openMap, setOpenMap] = useState<Record<string, boolean>>({})\n const [hasOverflow, setHasOverflow] = useState(false)\n const [canScrollLeft, setCanScrollLeft] = useState(false)\n const [canScrollRight, setCanScrollRight] = useState(false)\n const viewportRef = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n const media = window.matchMedia('(pointer: coarse)')\n const sync = () => setCoarsePointer(media.matches)\n\n sync()\n\n if (typeof media.addEventListener === 'function') {\n media.addEventListener('change', sync)\n return () => media.removeEventListener('change', sync)\n }\n\n media.addListener(sync)\n return () => media.removeListener(sync)\n }, [])\n\n useEffect(() => {\n const viewport = viewportRef.current\n if (!viewport) return\n\n const updateOverflow = () => {\n const nextHasOverflow = viewport.scrollWidth > viewport.clientWidth + 1\n setHasOverflow(nextHasOverflow)\n setCanScrollLeft(viewport.scrollLeft > 4)\n setCanScrollRight(viewport.scrollLeft + viewport.clientWidth < viewport.scrollWidth - 4)\n }\n\n updateOverflow()\n\n viewport.addEventListener('scroll', updateOverflow, {passive: true})\n\n const observer = new ResizeObserver(updateOverflow)\n observer.observe(viewport)\n Array.from(viewport.children).forEach((child) => observer.observe(child))\n\n return () => {\n viewport.removeEventListener('scroll', updateOverflow)\n observer.disconnect()\n }\n }, [items, justify, size, tone, bordered, padded, container])\n\n const resolvedOpenOn = useMemo(() => (coarsePointer ? 'click' : openOn), [coarsePointer, openOn])\n\n const scrollByAmount = (direction: 'left' | 'right') => {\n const viewport = viewportRef.current\n if (!viewport) return\n\n const amount = Math.max(180, Math.floor(viewport.clientWidth * 0.45))\n viewport.scrollBy({\n left: direction === 'left' ? -amount : amount,\n behavior: 'smooth',\n })\n }\n\n return (\n <nav\n className={cn('topbar', tone, size, bordered && 'bordered', sticky && 'sticky', className)}\n style={style}\n {...rest}\n >\n <MContainer size={container} padded={padded} className=\"topbar-container\">\n <div className={cn('topbar-scroll-shell', hasOverflow && 'overflowing')}>\n {hasOverflow && (\n <MButton\n variant=\"ghost\"\n color=\"neutral\"\n iconOnly\n shape=\"circle\"\n className={cn('topbar-scroll-button', 'left', !canScrollLeft && 'hidden')}\n onClick={() => scrollByAmount('left')}\n aria-label=\"Scroll topbar left\"\n >\n <MChevronLeftIcon />\n </MButton>\n )}\n\n <div ref={viewportRef} className=\"topbar-viewport\">\n <div className={cn('topbar-list', `justify-${justify}`, hasOverflow && 'overflowing')}>\n {items.map((item) => {\n const itemKey = getItemKey(item)\n const isActive = itemHasActiveDescendant(item)\n const isOpen = !!openMap[itemKey]\n\n if (item.children?.length) {\n if (item.disabled) {\n return (\n <div\n key={itemKey}\n className={cn('topbar-trigger', item.color, 'disabled', item.className)}\n aria-disabled=\"true\"\n >\n {renderItemContent(item, true)}\n </div>\n )\n }\n\n return (\n <MDropdownMenu\n key={itemKey}\n trigger={\n <div\n className={cn(\n 'topbar-trigger',\n item.color,\n isActive && 'active',\n isOpen && 'open',\n item.disabled && 'disabled',\n item.className\n )}\n >\n {renderItemContent(item, true, isOpen)}\n </div>\n }\n openOn={item.openOn ?? resolvedOpenOn}\n onOpenChange={(nextOpen) =>\n setOpenMap((prev) => ({...prev, [itemKey]: nextOpen}))\n }\n placement={dropdownPlacement}\n popoverClassName=\"topbar-dropdown-popover\"\n >\n {renderDropdownChildren(item.children)}\n </MDropdownMenu>\n )\n }\n\n return (\n <MLink\n key={itemKey}\n component={item.component}\n href={item.href}\n to={item.to}\n onClick={item.onClick}\n current={item.active}\n disabled={item.disabled}\n underline=\"none\"\n tone=\"inherit\"\n className={cn(\n 'topbar-link',\n item.color,\n item.className,\n item.active && 'active'\n )}\n >\n {renderItemContent(item)}\n </MLink>\n )\n })}\n </div>\n </div>\n\n {hasOverflow && (\n <MButton\n variant=\"ghost\"\n color=\"neutral\"\n iconOnly\n shape=\"circle\"\n className={cn('topbar-scroll-button', 'right', !canScrollRight && 'hidden')}\n onClick={() => scrollByAmount('right')}\n aria-label=\"Scroll topbar right\"\n >\n <MChevronRightIcon />\n </MButton>\n )}\n </div>\n </MContainer>\n </nav>\n )\n}\n","import type {MNavsProps} from './MNavs.types'\nimport {cn} from '../../../utils/cn'\nimport {MLink} from '../../typography'\nimport './MNavs.css'\n\n// Render a lightweight navigation list from data or custom children.\nexport function MNavs({items, orientation = 'horizontal', wrap = false, className, children, ...rest}: MNavsProps) {\n return (\n <div className={cn('navs', orientation, wrap && 'wrap', className)} {...rest}>\n {items\n ? items.map((item) => (\n <MLink\n key={item.key ?? item.href ?? item.title?.toString() ?? item.label?.toString()}\n component={item.component}\n href={item.href}\n to={item.to}\n target={item.target}\n rel={item.rel}\n title={item.title}\n current={item.current}\n disabled={item.disabled}\n className={cn('link', item.className)}\n >\n {item.label}\n </MLink>\n ))\n : children}\n </div>\n )\n}\n","import {useId, useMemo, useState} from 'react'\nimport type {KeyboardEvent} from 'react'\nimport type {MTabsItem, MTabsProps} from './MTabs.types'\nimport {cn} from '../../../utils/cn'\nimport {useInteractionEffect} from '../../../utils/useInteractionEffect'\nimport './MTabs.css'\n\ninterface MTabsTriggerProps {\n item: MTabsItem\n isActive: boolean\n tabId: string\n panelId: string\n clickEffect: MTabsProps['clickEffect']\n rippleColor: string | undefined\n onSelect: (value: string) => void\n}\n\n// Keep the tab trigger behavior isolated from the list and panel rendering.\nfunction MTabsTrigger({item, isActive, tabId, panelId, clickEffect, rippleColor, onSelect}: MTabsTriggerProps) {\n const {effectClassName, effectLayer, handlePointerDown, triggerEffect} = useInteractionEffect<HTMLButtonElement>({\n effect: clickEffect,\n disabled: item.disabled,\n centered: true,\n color: rippleColor,\n })\n\n return (\n <button\n type=\"button\"\n id={tabId}\n role=\"tab\"\n aria-selected={isActive}\n aria-controls={panelId}\n tabIndex={isActive ? 0 : -1}\n disabled={item.disabled}\n className={cn('tabs-trigger', isActive && 'active', item.disabled && 'disabled', effectClassName)}\n onPointerDown={handlePointerDown}\n onKeyDown={(event) => {\n if (event.key === ' ' || event.key === 'Enter') {\n triggerEffect(event.currentTarget)\n }\n }}\n onClick={() => onSelect(item.value)}\n >\n {effectLayer}\n {item.icon && <span className=\"tabs-icon\">{item.icon}</span>}\n <span className=\"tabs-label\">{item.label}</span>\n </button>\n )\n}\n\nexport function MTabs({\n items,\n value,\n defaultValue,\n onValueChange,\n variant = 'underline',\n orientation = 'horizontal',\n size = 'md',\n fullWidth = false,\n showPanels = true,\n panelClassName,\n clickEffect = 'ripple',\n rippleColor,\n className,\n ...rest\n}: MTabsProps) {\n // Pick the first enabled item when the caller does not control the active tab.\n const fallbackValue = useMemo(\n () => defaultValue ?? items.find((item) => !item.disabled)?.value ?? '',\n [defaultValue, items]\n )\n const [internalValue, setInternalValue] = useState(fallbackValue)\n const activeValue = value ?? internalValue\n const activeItem = items.find((item) => item.value === activeValue) ?? items[0]\n const baseId = useId()\n\n // Support both controlled and uncontrolled tab state.\n function selectTab(nextValue: string) {\n if (value === undefined) {\n setInternalValue(nextValue)\n }\n onValueChange?.(nextValue)\n }\n\n // Re-map keyboard navigation depending on the rendered orientation.\n function handleKeyDown(event: KeyboardEvent<HTMLDivElement>) {\n const enabledItems = items.filter((item) => !item.disabled)\n const currentIndex = enabledItems.findIndex((item) => item.value === activeItem?.value)\n\n if (currentIndex === -1) {\n return\n }\n\n const nextKeys = orientation === 'vertical' ? ['ArrowDown'] : ['ArrowRight', 'ArrowDown']\n const previousKeys = orientation === 'vertical' ? ['ArrowUp'] : ['ArrowLeft', 'ArrowUp']\n\n if (nextKeys.includes(event.key)) {\n event.preventDefault()\n const nextItem = enabledItems[(currentIndex + 1) % enabledItems.length]\n selectTab(nextItem.value)\n }\n\n if (previousKeys.includes(event.key)) {\n event.preventDefault()\n const nextItem = enabledItems[(currentIndex - 1 + enabledItems.length) % enabledItems.length]\n selectTab(nextItem.value)\n }\n }\n\n return (\n <div className={cn('tabs', variant, orientation, size, fullWidth && 'full-width', className)} {...rest}>\n <div className=\"tabs-list\" role=\"tablist\" aria-orientation={orientation} onKeyDown={handleKeyDown}>\n {items.map((item) => {\n const isActive = item.value === activeItem?.value\n const tabId = `${baseId}-${item.value}-tab`\n const panelId = `${baseId}-${item.value}-panel`\n\n return (\n <MTabsTrigger\n key={item.value}\n item={item}\n isActive={isActive}\n tabId={tabId}\n panelId={panelId}\n clickEffect={clickEffect}\n rippleColor={rippleColor}\n onSelect={selectTab}\n />\n )\n })}\n </div>\n\n {showPanels && activeItem?.content !== undefined && (\n <div\n key={activeItem.value}\n id={`${baseId}-${activeItem.value}-panel`}\n role=\"tabpanel\"\n aria-labelledby={`${baseId}-${activeItem.value}-tab`}\n className={cn('tabs-panel', panelClassName)}\n >\n {activeItem.content}\n </div>\n )}\n </div>\n )\n}\n","import type React from 'react'\nimport type {MSectionProps} from './MSection.types'\nimport {cn} from '../../../utils/cn'\nimport {useReveal} from '../../../utils/useReveal'\nimport './MSection.css'\n\n// Render a semantic page section with predefined spacing and tone.\nexport function MSection({\n as = 'section',\n spacing = 'lg',\n tone = 'default',\n reveal,\n className,\n style,\n children,\n ...rest\n}: MSectionProps) {\n const Component = as\n const revealRef = useReveal(reveal)\n const hasReveal = reveal !== undefined && reveal !== false\n\n return (\n <Component\n ref={hasReveal ? (revealRef as React.RefObject<never>) : undefined}\n className={cn('section', spacing, tone, hasReveal && 'reveal', className)}\n style={style}\n {...rest}\n >\n {children}\n </Component>\n )\n}\n","import type {MSimpleGridProps} from './MSimpleGrid.types'\nimport {cn} from '../../../utils/cn'\nimport './MSimpleGrid.css'\n\n// Render a simple equal-column grid with a shared default spacing.\nexport function MSimpleGrid({columns = 2, minItemWidth, className, style, children, ...rest}: MSimpleGridProps) {\n return (\n <div\n className={cn('grid', `columns-${columns}`, className)}\n style={{\n ...(minItemWidth ? {'--grid-min-item-width': minItemWidth} : {}),\n ...style,\n }}\n {...rest}\n >\n {children}\n </div>\n )\n}\n","import {Children, cloneElement, isValidElement} from 'react'\nimport type {ReactElement} from 'react'\nimport type {MGridColumns, MGridItemProps, MGridProps} from './MGrid.types'\nimport {cn} from '../../../utils/cn'\nimport {getLayoutUtilityClassNames, getLayoutUtilityStyles} from '../../../utils/layoutProps'\nimport './MGrid.css'\n\ntype GridBreakpoint = 'span' | 'xl' | 'lg' | 'md' | 'sm'\n\nfunction isGridColumnElement(child: unknown): child is ReactElement<MGridProps | MGridItemProps> {\n if (!isValidElement(child)) {\n return false\n }\n\n if (child.type === MGridItem) {\n return true\n }\n\n return child.type === MGrid && (child.props as MGridProps).type === 'col'\n}\n\nfunction getNormalizedSpans(props: Partial<MGridProps>) {\n return {\n span: props.span ?? props.xl ?? props.lg ?? props.md ?? props.sm,\n xl: props.xl ?? props.lg ?? props.md ?? props.sm,\n lg: props.lg ?? props.md ?? props.sm,\n md: props.md ?? props.sm,\n sm: props.sm,\n }\n}\n\nfunction distributeRemainingColumns(remaining: number, count: number): Array<MGridColumns | undefined> {\n if (count <= 0) {\n return []\n }\n\n if (remaining <= 0) {\n return Array.from({length: count}, () => undefined)\n }\n\n const base = Math.floor(remaining / count)\n const extra = remaining % count\n\n return Array.from({length: count}, (_, index) => {\n const value = base + (index < extra ? 1 : 0)\n return value >= 1 ? (value as MGridColumns) : undefined\n })\n}\n\nfunction resolveAutoSpans(columnProps: Array<Partial<MGridProps>>) {\n const breakpoints: GridBreakpoint[] = ['span', 'xl', 'lg', 'md', 'sm']\n const normalized = columnProps.map((props) => getNormalizedSpans(props))\n const resolved = normalized.map((spans) => ({...spans}))\n\n for (const breakpoint of breakpoints) {\n const autoIndexes: number[] = []\n let usedColumns = 0\n\n normalized.forEach((spans, index) => {\n const value = spans[breakpoint]\n\n if (value) {\n usedColumns += value\n return\n }\n\n autoIndexes.push(index)\n })\n\n const distributed = distributeRemainingColumns(Math.max(12 - usedColumns, 0), autoIndexes.length)\n\n autoIndexes.forEach((columnIndex, autoIndex) => {\n resolved[columnIndex][breakpoint] = distributed[autoIndex]\n })\n }\n\n return resolved\n}\n\n// Render either a responsive row or a responsive column using one shared grid API.\nexport function MGrid({\n type = 'row',\n span,\n sm,\n md,\n lg,\n xl,\n spacing,\n padding,\n fsize,\n mt,\n mb,\n ml,\n mr,\n mx,\n my,\n pt,\n pb,\n pl,\n pr,\n px,\n py,\n fullWidth,\n className,\n style,\n children,\n ...rest\n}: MGridProps) {\n const utilityStyle = getLayoutUtilityStyles({fsize})\n const baseSpan = span ?? xl ?? lg\n\n if (type === 'col') {\n return (\n <div\n className={cn(\n 'grid',\n 'col',\n baseSpan ? `span-${baseSpan}` : 'span-auto',\n xl && `xl-${xl}`,\n lg && `lg-${lg}`,\n md && `md-${md}`,\n sm && `sm-${sm}`,\n ...getLayoutUtilityClassNames({\n spacing,\n padding,\n fsize,\n mt,\n mb,\n ml,\n mr,\n mx,\n my,\n pt,\n pb,\n pl,\n pr,\n px,\n py,\n fullWidth,\n }),\n className\n )}\n style={{...utilityStyle, ...style}}\n {...rest}\n >\n {children}\n </div>\n )\n }\n\n const childArray = Children.toArray(children)\n const columnEntries = childArray.flatMap((child, index) => (isGridColumnElement(child) ? [{child, index}] : []))\n const autoColumns = Math.min(Math.max(columnEntries.length || childArray.length, 1), 12)\n const hasTrackedSizing = columnEntries.some(({child}) => {\n const p = child.props as MGridProps\n return Boolean(p.span || p.xl || p.lg || p.md || p.sm)\n })\n const resolvedSpans = hasTrackedSizing\n ? resolveAutoSpans(columnEntries.map(({child}) => child.props as Partial<MGridProps>))\n : null\n const resolvedChildren =\n hasTrackedSizing && resolvedSpans\n ? childArray.map((child, childIndex) => {\n const columnIndex = columnEntries.findIndex((entry) => entry.index === childIndex)\n\n if (columnIndex === -1 || !isGridColumnElement(child)) {\n return child\n }\n\n const spans = resolvedSpans[columnIndex]\n\n return cloneElement(child, {\n span: spans.span,\n xl: spans.xl,\n lg: spans.lg,\n md: spans.md,\n sm: spans.sm,\n })\n })\n : childArray\n\n return (\n <div\n className={cn(\n 'grid',\n 'row',\n hasTrackedSizing ? 'tracked' : `auto-cols-${autoColumns}`,\n ...getLayoutUtilityClassNames({\n spacing,\n padding,\n fsize,\n mt,\n mb,\n ml,\n mr,\n mx,\n my,\n pt,\n pb,\n pl,\n pr,\n px,\n py,\n fullWidth: fullWidth ?? true,\n }),\n className\n )}\n style={{...utilityStyle, ...style}}\n {...rest}\n >\n {resolvedChildren}\n </div>\n )\n}\n\n// Keep MGridItem as a compatibility alias for explicit column declarations.\nexport function MGridItem({span, sm, md, lg, xl, ...rest}: MGridItemProps) {\n return <MGrid type=\"col\" span={span} sm={sm} md={md} lg={lg} xl={xl} {...rest} />\n}\n","import type {MDividerProps} from './MDivider.types'\nimport {cn} from '../../../utils/cn'\nimport './MDivider.css'\n\n// Render a semantic divider line between related content blocks.\nexport function MDivider({orientation = 'horizontal', variant = 'solid', className, style, ...rest}: MDividerProps) {\n return (\n <div\n role=\"separator\"\n aria-orientation={orientation}\n className={cn('divider', orientation, variant, className)}\n style={style}\n {...rest}\n />\n )\n}\n","import {createContext, useContext, useState, useEffect, useCallback, useMemo} from 'react'\nimport {cn} from '../../../utils/cn'\nimport {MButton} from '../../controls'\nimport {MChevronRightIcon, MMenuIcon} from '../../../icons'\nimport {MDropdownMenu, MTooltip} from '../../overlays'\nimport type {\n MSidebarProps,\n MSidebarHeaderProps,\n MSidebarBodyProps,\n MSidebarNavProps,\n MSidebarItemProps,\n MSidebarGroupProps,\n MSidebarFooterProps,\n MSidebarDividerProps,\n MSidebarMode,\n} from './MSidebar.types'\nimport './MSidebar.css'\n\nconst STORAGE_KEY = 'mineralui-sidebar'\n\ninterface SidebarContextValue {\n mode: MSidebarMode\n mobile: boolean\n mobileOpen: boolean\n canToggle: boolean\n toggleMode: () => void\n}\n\nconst SidebarCtx = createContext<SidebarContextValue>({\n mode: 'expanded',\n mobile: false,\n mobileOpen: false,\n canToggle: false,\n toggleMode: () => {},\n})\n\n// Read shared sidebar state inside slot components.\nfunction useSidebar() {\n return useContext(SidebarCtx)\n}\n\n// Track the responsive breakpoint once for the whole sidebar tree.\nfunction useIsMobile(breakpoint: number): boolean {\n const [mobile, setMobile] = useState(() => (typeof window !== 'undefined' ? window.innerWidth < breakpoint : false))\n\n useEffect(() => {\n const mq = window.matchMedia(`(max-width: ${breakpoint - 1}px)`)\n const handler = (e: MediaQueryListEvent) => setMobile(e.matches)\n\n setMobile(mq.matches)\n mq.addEventListener('change', handler)\n return () => mq.removeEventListener('change', handler)\n }, [breakpoint])\n\n return mobile\n}\n\n// Render the sidebar shell and coordinate desktop and mobile behavior.\nexport function MSidebar({\n mode: modeProp = 'auto',\n defaultMode = 'expanded',\n onModeChange,\n persist = false,\n side = 'left',\n tone = 'subtle',\n bordered = true,\n mobileBreakpoint = 768,\n className,\n style,\n children,\n}: MSidebarProps) {\n const mobile = useIsMobile(mobileBreakpoint)\n const [mobileOpen, setMobileOpen] = useState(false)\n\n const [internalMode, setInternalMode] = useState<MSidebarMode>(() => {\n if (persist) {\n try {\n const v = localStorage.getItem(STORAGE_KEY)\n if (v === 'expanded' || v === 'collapsed') return v\n } catch {\n /* noop */\n }\n }\n\n return defaultMode\n })\n\n const resolvedMode: MSidebarMode =\n modeProp === 'auto' ? internalMode : modeProp === 'collapsed' ? 'collapsed' : 'expanded'\n\n // MToggle only the desktop width state. Mobile uses its own overlay flow.\n const toggleMode = useCallback(() => {\n const next: MSidebarMode = resolvedMode === 'expanded' ? 'collapsed' : 'expanded'\n\n setInternalMode(next)\n onModeChange?.(next)\n\n if (persist) {\n try {\n localStorage.setItem(STORAGE_KEY, next)\n } catch {\n /* noop */\n }\n }\n }, [resolvedMode, onModeChange, persist])\n\n const closeMobile = useCallback(() => setMobileOpen(false), [])\n\n // Let Escape close the temporary mobile drawer.\n useEffect(() => {\n if (!mobileOpen) return\n\n const handler = (e: KeyboardEvent) => {\n if (e.key === 'Escape') setMobileOpen(false)\n }\n\n document.addEventListener('keydown', handler)\n return () => document.removeEventListener('keydown', handler)\n }, [mobileOpen])\n\n const canToggle = !mobile && modeProp === 'auto'\n\n const ctx = useMemo<SidebarContextValue>(\n () => ({mode: resolvedMode, mobile, mobileOpen, canToggle, toggleMode}),\n [resolvedMode, mobile, mobileOpen, canToggle, toggleMode]\n )\n\n const isCollapsed = !mobile && resolvedMode === 'collapsed'\n\n const sidebarCls = cn(\n 'sidebar',\n tone,\n side,\n isCollapsed && 'collapsed',\n bordered && 'bordered',\n mobile && 'mobile',\n mobile && mobileOpen && 'mobile-open',\n className\n )\n\n return (\n <SidebarCtx.Provider value={ctx}>\n {mobile && mobileOpen && <div className=\"sidebar-backdrop\" onClick={closeMobile} />}\n\n <aside className={sidebarCls} style={style}>\n {children}\n </aside>\n\n {mobile && !mobileOpen && (\n <button\n className={cn('sidebar-hamburger', side)}\n onClick={() => setMobileOpen(true)}\n aria-label=\"Open menu\"\n >\n <span className=\"sidebar-hamburger-icon\" aria-hidden=\"true\">\n <MMenuIcon />\n </span>\n </button>\n )}\n </SidebarCtx.Provider>\n )\n}\n\n// Render the top area with branding and an optional collapse toggle.\nexport function MSidebarHeader({bordered = false, className, children}: MSidebarHeaderProps) {\n const {mode, mobile, canToggle, toggleMode} = useSidebar()\n const isCollapsed = !mobile && mode === 'collapsed'\n\n return (\n <div className={cn('sidebar-header', bordered && 'bordered', className)}>\n <div className=\"sidebar-header-content\">{children}</div>\n {canToggle && (\n <MButton\n variant=\"outlined\"\n color=\"neutral\"\n iconOnly\n size=\"sm\"\n onClick={toggleMode}\n aria-label={isCollapsed ? 'Expand sidebar' : 'Collapse sidebar'}\n className=\"sidebar-toggle\"\n >\n <span className={cn('sidebar-chevron', isCollapsed && 'flipped')}>\n <MChevronRightIcon />\n </span>\n </MButton>\n )}\n </div>\n )\n}\n\n// Wrap the scrollable middle area between header and footer.\nexport function MSidebarBody({className, children}: MSidebarBodyProps) {\n return <div className={cn('sidebar-body', className)}>{children}</div>\n}\n\n// Wrap sidebar links in a navigation landmark.\nexport function MSidebarNav({className, children}: MSidebarNavProps) {\n return <nav className={cn('sidebar-nav', className)}>{children}</nav>\n}\n\n// Render one clickable sidebar row as a link, button or custom component.\nexport function MSidebarItem({\n icon,\n label,\n href,\n to,\n onClick,\n active = false,\n disabled = false,\n badge,\n color,\n component,\n className,\n}: MSidebarItemProps) {\n const {mode, mobile} = useSidebar()\n const isCollapsed = !mobile && mode === 'collapsed'\n\n const Tag = component ?? (href || to ? 'a' : 'button')\n const linkProps = component ? (to ? {to} : href ? {href} : {}) : href ? {href} : to ? {href: to} : {}\n const cls = cn('sidebar-item', active && 'active', disabled && 'disabled', color, className)\n\n return (\n <Tag\n className={cls}\n onClick={disabled ? undefined : onClick}\n aria-disabled={disabled || undefined}\n title={isCollapsed ? label : undefined}\n {...linkProps}\n >\n {icon && <span className=\"sidebar-item-icon\">{icon}</span>}\n {!isCollapsed && (\n <MTooltip content={label} placement=\"top\" className=\"sidebar-item-label-tooltip\">\n <span className=\"sidebar-item-label\">{label}</span>\n </MTooltip>\n )}\n {!isCollapsed && badge && <span className=\"sidebar-item-badge\">{badge}</span>}\n </Tag>\n )\n}\n\n// Group related sidebar items and swap to a dropdown when collapsed.\nexport function MSidebarGroup({\n label,\n icon,\n active = false,\n defaultOpen = true,\n collapsible = true,\n children,\n className,\n}: MSidebarGroupProps) {\n const sidebarCtx = useSidebar()\n const {mode, mobile} = sidebarCtx\n const isCollapsed = !mobile && mode === 'collapsed'\n const [open, setOpen] = useState(defaultOpen)\n\n const expandedCtx = useMemo<SidebarContextValue>(() => ({...sidebarCtx, mode: 'expanded'}), [sidebarCtx])\n\n // Keep expand/collapse local to this group.\n const toggle = () => {\n if (collapsible) setOpen((o) => !o)\n }\n\n if (isCollapsed) {\n const trigger = (\n <span className={cn('sidebar-group-icon collapsed', active && 'active')} title={label}>\n {icon}\n </span>\n )\n\n return (\n <div className={cn('sidebar-group', className)}>\n <MDropdownMenu trigger={trigger} placement=\"right-start\" closeOnSelect openOn=\"hover\">\n <SidebarCtx.Provider value={expandedCtx}>{children}</SidebarCtx.Provider>\n </MDropdownMenu>\n </div>\n )\n }\n\n return (\n <div className={cn('sidebar-group', className)}>\n <button className={cn('sidebar-group-header', active && 'active')} onClick={toggle} aria-expanded={open}>\n {icon && <span className=\"sidebar-group-icon\">{icon}</span>}\n <span className=\"sidebar-group-label\">{label}</span>\n {collapsible && (\n <span className={cn('sidebar-group-arrow', open && 'open')}>\n <MChevronRightIcon />\n </span>\n )}\n </button>\n {open && <div className=\"sidebar-group-items\">{children}</div>}\n </div>\n )\n}\n\n// Render the bottom slot for version info or quick actions.\nexport function MSidebarFooter({bordered = false, className, children}: MSidebarFooterProps) {\n return <div className={cn('sidebar-footer', bordered && 'bordered', className)}>{children}</div>\n}\n\n// Render a spacing-aware divider between sidebar regions.\nexport function MSidebarDivider({className, spacing = 'md'}: MSidebarDividerProps) {\n return <hr className={cn('sidebar-divider', spacing, className)} />\n}\n","import {useMemo} from 'react'\nimport {cn} from '../../../utils/cn'\nimport type {MBreadcrumbProps} from './MBreadcrumb.types'\nimport './MBreadcrumb.css'\n\n// Render a compact path and collapse the middle when needed.\nexport function MBreadcrumb({items, separator = '/', maxItems, className, ...rest}: MBreadcrumbProps) {\n // Keep the current page visible while shortening deep paths.\n const visible = useMemo(() => {\n if (!maxItems || maxItems >= items.length) return items\n if (maxItems < 2) return [items[items.length - 1]]\n const head = items.slice(0, 1)\n const tail = items.slice(-(maxItems - 1))\n return [...head, null, ...tail]\n }, [items, maxItems])\n\n return (\n <nav aria-label=\"breadcrumb\" className={cn('breadcrumb', className)} {...rest}>\n <ol className=\"trail\">\n {visible.map((item, i) => {\n if (item === null) {\n return (\n <li key=\"ellipsis\" className=\"crumb dots\">\n <span className=\"sep\">{separator}</span>\n <span>…</span>\n </li>\n )\n }\n\n const isLast = i === visible.length - 1\n\n return (\n <li key={i} className={cn('crumb', isLast && 'active')}>\n {i > 0 && <span className=\"sep\">{separator}</span>}\n {item.href && !isLast ? (\n <a href={item.href} className=\"link\" onClick={item.onClick}>\n {item.label}\n </a>\n ) : item.onClick && !isLast ? (\n <button type=\"button\" className=\"link btn\" onClick={item.onClick}>\n {item.label}\n </button>\n ) : (\n <span className=\"current\" aria-current={isLast ? 'page' : undefined}>\n {item.label}\n </span>\n )}\n </li>\n )\n })}\n </ol>\n </nav>\n )\n}\n","import {forwardRef, Children, isValidElement} from 'react'\nimport type * as React from 'react'\nimport type {MAppShellProps, MBodyProps} from './MAppShell.types'\nimport {cn} from '../../../utils/cn'\nimport {MSidebar} from '../MSidebar'\nimport './MAppShell.css'\n\nexport const MAppShell = forwardRef<HTMLDivElement, MAppShellProps>(function MAppShell(\n {className, children, ...rest},\n ref\n) {\n const sidebarElements: React.ReactNode[] = []\n const otherElements: React.ReactNode[] = []\n\n Children.forEach(children, (child) => {\n if (isValidElement(child) && child.type === MSidebar) {\n sidebarElements.push(child)\n } else {\n otherElements.push(child)\n }\n })\n\n return (\n <div ref={ref} className={cn('app-shell', className)} {...rest}>\n {sidebarElements}\n <div className=\"app-main\">{otherElements}</div>\n </div>\n )\n})\n\nexport const MBody = forwardRef<HTMLDivElement, MBodyProps>(function MBody({className, children, ...rest}, ref) {\n return (\n <div ref={ref} className={cn('app-body', className)} {...rest}>\n {children}\n </div>\n )\n})\n"],"mappings":"gfAMA,SAAgB,EAAW,CACvB,OAAO,UACP,SAAS,GACT,UACA,UACA,QACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,YACA,YACA,QACA,WACA,GAAG,GACa,CAChB,IAAM,EAAe,EAAA,EAAuB,CAAC,QAAM,CAAC,CAEpD,OACI,EAAA,EAAA,KAAC,MAAD,CACI,UAAW,EAAA,EACP,YACA,EACA,GAAU,SACV,GAAG,EAAA,EAA2B,CAC1B,UACA,UACA,QACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,YACH,CAAC,CACF,EACH,CACD,MAAO,CAAC,GAAG,EAAc,GAAG,EAAM,CAClC,GAAI,EAEH,WACC,CAAA,CCxDd,SAAgB,EAAQ,CACpB,YAAY,OACZ,SAAS,GACT,WAAW,GACX,SAAS,GACT,OAAO,UACP,SAAS,QACT,YACA,WACA,GAAG,GACU,CACb,OACI,EAAA,EAAA,KAAC,SAAD,CAAQ,UAAW,EAAA,EAAG,SAAU,EAAM,GAAY,WAAY,GAAU,SAAU,EAAU,CAAE,GAAI,YAC9F,EAAA,EAAA,KAAC,EAAD,CAAY,KAAM,EAAmB,SAAQ,UAAW,EAAA,EAAG,QAAS,UAAU,IAAS,CAClF,WACQ,CAAA,CACR,CAAA,CCfjB,SAAgB,EAAQ,CACpB,YAAY,OACZ,SAAS,GACT,WAAW,GACX,OAAO,UACP,UACA,UACA,QACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,YACA,YACA,QACA,WACA,GAAG,GACU,CACb,IAAM,EAAe,EAAA,EAAuB,CAAC,QAAM,CAAC,CAEpD,OACI,EAAA,EAAA,KAAC,SAAD,CACI,UAAW,EAAA,EACP,SACA,EACA,GAAY,WACZ,GAAG,EAAA,EAA2B,CAC1B,UACA,UACA,QACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,YACH,CAAC,CACF,EACH,CACD,MAAO,CAAC,GAAG,EAAc,GAAG,EAAM,CAClC,GAAI,YAEJ,EAAA,EAAA,KAAC,EAAD,CAAY,KAAM,EAAmB,SAAQ,UAAU,QAAQ,UAAA,GAC1D,WACQ,CAAA,CACR,CAAA,CC7DjB,SAAgB,EAAQ,CACpB,YAAY,UACZ,SAAS,GACT,WAAW,GACX,SAAS,GACT,OAAO,UACP,UAAU,UACV,OAAO,GACP,YACA,WACA,GAAG,GACU,CACb,OACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,EAAG,SAAU,EAAM,GAAY,WAAY,GAAU,SAAU,EAAU,CAAE,GAAI,YAC3F,EAAA,EAAA,KAAC,EAAD,CAAY,KAAM,EAAmB,SAAQ,UAAU,sBACnD,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,EAAG,QAAS,EAAS,GAAQ,OAAO,CAAG,WAAe,CAAA,CAC7D,CAAA,CACX,CAAA,CCZd,SAAS,EAAW,EAA2B,CAC3C,OAAO,EAAK,KAAO,EAAK,IAAM,EAAK,MAAQ,OAAO,EAAK,MAAM,CAGjE,SAAS,EAAwB,EAA4B,CAEzD,OADI,EAAK,OAAe,IAChB,EAAK,UAAY,EAAE,EAAE,KAAK,EAAwB,CAG9D,SAAS,EAAkB,EAAmB,EAAc,GAAO,EAAS,GAAkB,CAC1F,OACI,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,CACK,EAAK,MAAO,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,uBAAe,EAAK,KAAY,CAAA,CAAG,MAChE,EAAA,EAAA,KAAC,OAAD,CAAA,SAAO,EAAK,MAAa,CAAA,CACxB,EAAK,OAAQ,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,wBAAgB,EAAK,MAAa,CAAA,CAAG,KAClE,GACG,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,EAAG,iBAAkB,GAAU,OAAO,CAAE,cAAY,iBACjE,EAAA,EAAA,KAAC,EAAA,EAAD,CAAkB,KAAK,KAAO,CAAA,CAC3B,CAAA,CACP,KACL,CAAA,CAAA,CAIX,SAAS,EAAuB,EAAoC,CAChE,OAAO,EAAS,IAAK,GACb,EAAM,UAAU,QAEZ,EAAA,EAAA,KAAC,EAAA,EAAD,CAAwC,MAAO,OAAO,EAAM,MAAM,UAC7D,EAAuB,EAAM,SAAS,CAC1B,CAFI,EAAW,EAAM,CAErB,EAKrB,EAAA,EAAA,KAAC,EAAA,EAAD,CAEI,KAAM,EAAM,KACZ,MAAO,EAAM,MACb,KAAM,EAAM,KACZ,GAAI,EAAM,GACV,QAAS,EAAM,QACf,MAAO,EAAM,MACb,SAAU,EAAM,SAChB,OAAQ,EAAM,OACd,UAAW,EAAM,UACjB,UAAW,EAAM,UACnB,CAXO,EAAW,EAAM,CAWxB,CAER,CAGN,SAAgB,EAAQ,CACpB,QACA,YAAY,OACZ,SAAS,GACT,WAAW,GACX,SAAS,GACT,OAAO,UACP,UAAU,OACV,OAAO,KACP,SAAS,QACT,oBAAoB,eACpB,YACA,QACA,GAAG,GACU,CACb,GAAM,CAAC,EAAe,IAAA,EAAA,EAAA,UAA6B,GAAM,CACnD,CAAC,EAAS,IAAA,EAAA,EAAA,UAAgD,EAAE,CAAC,CAC7D,CAAC,EAAa,IAAA,EAAA,EAAA,UAA2B,GAAM,CAC/C,CAAC,EAAe,IAAA,EAAA,EAAA,UAA6B,GAAM,CACnD,CAAC,EAAgB,IAAA,EAAA,EAAA,UAA8B,GAAM,CACrD,GAAA,EAAA,EAAA,QAAqC,KAAK,EAEhD,EAAA,EAAA,eAAgB,CACZ,IAAM,EAAQ,OAAO,WAAW,oBAAoB,CAC9C,MAAa,EAAiB,EAAM,QAAQ,CAUlD,OARA,GAAM,CAEF,OAAO,EAAM,kBAAqB,YAClC,EAAM,iBAAiB,SAAU,EAAK,KACzB,EAAM,oBAAoB,SAAU,EAAK,GAG1D,EAAM,YAAY,EAAK,KACV,EAAM,eAAe,EAAK,GACxC,EAAE,CAAC,EAEN,EAAA,EAAA,eAAgB,CACZ,IAAM,EAAW,EAAY,QAC7B,GAAI,CAAC,EAAU,OAEf,IAAM,MAAuB,CAEzB,EADwB,EAAS,YAAc,EAAS,YAAc,EACvC,CAC/B,EAAiB,EAAS,WAAa,EAAE,CACzC,EAAkB,EAAS,WAAa,EAAS,YAAc,EAAS,YAAc,EAAE,EAG5F,GAAgB,CAEhB,EAAS,iBAAiB,SAAU,EAAgB,CAAC,QAAS,GAAK,CAAC,CAEpE,IAAM,EAAW,IAAI,eAAe,EAAe,CAInD,OAHA,EAAS,QAAQ,EAAS,CAC1B,MAAM,KAAK,EAAS,SAAS,CAAC,QAAS,GAAU,EAAS,QAAQ,EAAM,CAAC,KAE5D,CACT,EAAS,oBAAoB,SAAU,EAAe,CACtD,EAAS,YAAY,GAE1B,CAAC,EAAO,EAAS,EAAM,EAAM,EAAU,EAAQ,EAAU,CAAC,CAE7D,IAAM,GAAA,EAAA,EAAA,aAAgC,EAAgB,QAAU,EAAS,CAAC,EAAe,EAAO,CAAC,CAE3F,EAAkB,GAAgC,CACpD,IAAM,EAAW,EAAY,QAC7B,GAAI,CAAC,EAAU,OAEf,IAAM,EAAS,KAAK,IAAI,IAAK,KAAK,MAAM,EAAS,YAAc,IAAK,CAAC,CACrE,EAAS,SAAS,CACd,KAAM,IAAc,OAAS,CAAC,EAAS,EACvC,SAAU,SACb,CAAC,EAGN,OACI,EAAA,EAAA,KAAC,MAAD,CACI,UAAW,EAAA,EAAG,SAAU,EAAM,EAAM,GAAY,WAAY,GAAU,SAAU,EAAU,CACnF,QACP,GAAI,YAEJ,EAAA,EAAA,KAAC,EAAD,CAAY,KAAM,EAAmB,SAAQ,UAAU,6BACnD,EAAA,EAAA,MAAC,MAAD,CAAK,UAAW,EAAA,EAAG,sBAAuB,GAAe,cAAc,UAAvE,CACK,IACG,EAAA,EAAA,KAAC,EAAA,EAAD,CACI,QAAQ,QACR,MAAM,UACN,SAAA,GACA,MAAM,SACN,UAAW,EAAA,EAAG,uBAAwB,OAAQ,CAAC,GAAiB,SAAS,CACzE,YAAe,EAAe,OAAO,CACrC,aAAW,+BAEX,EAAA,EAAA,KAAC,EAAA,EAAD,EAAoB,CAAA,CACd,CAAA,EAGd,EAAA,EAAA,KAAC,MAAD,CAAK,IAAK,EAAa,UAAU,4BAC7B,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,EAAG,cAAe,WAAW,IAAW,GAAe,cAAc,UAChF,EAAM,IAAK,GAAS,CACjB,IAAM,EAAU,EAAW,EAAK,CAC1B,EAAW,EAAwB,EAAK,CACxC,EAAS,CAAC,CAAC,EAAQ,GA4CzB,OA1CI,EAAK,UAAU,OACX,EAAK,UAED,EAAA,EAAA,KAAC,MAAD,CAEI,UAAW,EAAA,EAAG,iBAAkB,EAAK,MAAO,WAAY,EAAK,UAAU,CACvE,gBAAc,gBAEb,EAAkB,EAAM,GAAK,CAC5B,CALG,EAKH,EAKV,EAAA,EAAA,KAAC,EAAA,EAAD,CAEI,SACI,EAAA,EAAA,KAAC,MAAD,CACI,UAAW,EAAA,EACP,iBACA,EAAK,MACL,GAAY,SACZ,GAAU,OACV,EAAK,UAAY,WACjB,EAAK,UACR,UAEA,EAAkB,EAAM,GAAM,EAAO,CACpC,CAAA,CAEV,OAAQ,EAAK,QAAU,EACvB,aAAe,GACX,EAAY,IAAU,CAAC,GAAG,GAAO,GAAU,EAAS,EAAE,CAE1D,UAAW,EACX,iBAAiB,mCAEhB,EAAuB,EAAK,SAAS,CAC1B,CAvBP,EAuBO,EAKpB,EAAA,EAAA,KAAC,EAAA,EAAD,CAEI,UAAW,EAAK,UAChB,KAAM,EAAK,KACX,GAAI,EAAK,GACT,QAAS,EAAK,QACd,QAAS,EAAK,OACd,SAAU,EAAK,SACf,UAAU,OACV,KAAK,UACL,UAAW,EAAA,EACP,cACA,EAAK,MACL,EAAK,UACL,EAAK,QAAU,SAClB,UAEA,EAAkB,EAAK,CACpB,CAjBC,EAiBD,EAEd,CACA,CAAA,CACJ,CAAA,CAEL,IACG,EAAA,EAAA,KAAC,EAAA,EAAD,CACI,QAAQ,QACR,MAAM,UACN,SAAA,GACA,MAAM,SACN,UAAW,EAAA,EAAG,uBAAwB,QAAS,CAAC,GAAkB,SAAS,CAC3E,YAAe,EAAe,QAAQ,CACtC,aAAW,gCAEX,EAAA,EAAA,KAAC,EAAA,EAAD,EAAqB,CAAA,CACf,CAAA,CAEZ,GACG,CAAA,CACX,CAAA,CCnPd,SAAgB,EAAM,CAAC,QAAO,cAAc,aAAc,OAAO,GAAO,YAAW,WAAU,GAAG,GAAmB,CAC/G,OACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,EAAG,OAAQ,EAAa,GAAQ,OAAQ,EAAU,CAAE,GAAI,WACnE,EACK,EAAM,IAAK,IACP,EAAA,EAAA,KAAC,EAAA,EAAD,CAEI,UAAW,EAAK,UAChB,KAAM,EAAK,KACX,GAAI,EAAK,GACT,OAAQ,EAAK,OACb,IAAK,EAAK,IACV,MAAO,EAAK,MACZ,QAAS,EAAK,QACd,SAAU,EAAK,SACf,UAAW,EAAA,EAAG,OAAQ,EAAK,UAAU,UAEpC,EAAK,MACF,CAZC,EAAK,KAAO,EAAK,MAAQ,EAAK,OAAO,UAAU,EAAI,EAAK,OAAO,UAAU,CAY1E,CACV,CACF,EACJ,CAAA,CCTd,SAAS,EAAa,CAAC,OAAM,WAAU,QAAO,UAAS,cAAa,cAAa,YAA8B,CAC3G,GAAM,CAAC,kBAAiB,cAAa,oBAAmB,iBAAiB,EAAA,EAAwC,CAC7G,OAAQ,EACR,SAAU,EAAK,SACf,SAAU,GACV,MAAO,EACV,CAAC,CAEF,OACI,EAAA,EAAA,MAAC,SAAD,CACI,KAAK,SACL,GAAI,EACJ,KAAK,MACL,gBAAe,EACf,gBAAe,EACf,SAAU,EAAW,EAAI,GACzB,SAAU,EAAK,SACf,UAAW,EAAA,EAAG,eAAgB,GAAY,SAAU,EAAK,UAAY,WAAY,EAAgB,CACjG,cAAe,EACf,UAAY,GAAU,EACd,EAAM,MAAQ,KAAO,EAAM,MAAQ,UACnC,EAAc,EAAM,cAAc,EAG1C,YAAe,EAAS,EAAK,MAAM,UAfvC,CAiBK,EACA,EAAK,OAAQ,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,qBAAa,EAAK,KAAY,CAAA,EAC5D,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,sBAAc,EAAK,MAAa,CAAA,CAC3C,GAIjB,SAAgB,EAAM,CAClB,QACA,QACA,eACA,gBACA,UAAU,YACV,cAAc,aACd,OAAO,KACP,YAAY,GACZ,aAAa,GACb,iBACA,cAAc,SACd,cACA,YACA,GAAG,GACQ,CAMX,GAAM,CAAC,EAAe,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,aAHZ,GAAgB,EAAM,KAAM,GAAS,CAAC,EAAK,SAAS,EAAE,OAAS,GACrE,CAAC,EAAc,EAAM,CACxB,CACgE,CAC3D,EAAc,GAAS,EACvB,EAAa,EAAM,KAAM,GAAS,EAAK,QAAU,EAAY,EAAI,EAAM,GACvE,GAAA,EAAA,EAAA,QAAgB,CAGtB,SAAS,EAAU,EAAmB,CAC9B,IAAU,IAAA,IACV,EAAiB,EAAU,CAE/B,IAAgB,EAAU,CAI9B,SAAS,EAAc,EAAsC,CACzD,IAAM,EAAe,EAAM,OAAQ,GAAS,CAAC,EAAK,SAAS,CACrD,EAAe,EAAa,UAAW,GAAS,EAAK,QAAU,GAAY,MAAM,CAEvF,GAAI,IAAiB,GACjB,OAGJ,IAAM,EAAW,IAAgB,WAAa,CAAC,YAAY,CAAG,CAAC,aAAc,YAAY,CACnF,EAAe,IAAgB,WAAa,CAAC,UAAU,CAAG,CAAC,YAAa,UAAU,CAExF,GAAI,EAAS,SAAS,EAAM,IAAI,CAAE,CAC9B,EAAM,gBAAgB,CACtB,IAAM,EAAW,GAAc,EAAe,GAAK,EAAa,QAChE,EAAU,EAAS,MAAM,CAG7B,GAAI,EAAa,SAAS,EAAM,IAAI,CAAE,CAClC,EAAM,gBAAgB,CACtB,IAAM,EAAW,GAAc,EAAe,EAAI,EAAa,QAAU,EAAa,QACtF,EAAU,EAAS,MAAM,EAIjC,OACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAW,EAAA,EAAG,OAAQ,EAAS,EAAa,EAAM,GAAa,aAAc,EAAU,CAAE,GAAI,WAAlG,EACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,YAAY,KAAK,UAAU,mBAAkB,EAAa,UAAW,WAC/E,EAAM,IAAK,IAMJ,EAAA,EAAA,KAAC,EAAD,CAEU,OACI,SARD,EAAK,QAAU,GAAY,MAS7B,MARD,GAAG,EAAO,GAAG,EAAK,MAAM,MASrB,QARD,GAAG,EAAO,GAAG,EAAK,MAAM,QASnB,cACA,cACb,SAAU,EACZ,CARO,EAAK,MAQZ,CAER,CACA,CAAA,CAEL,GAAc,GAAY,UAAY,IAAA,KACnC,EAAA,EAAA,KAAC,MAAD,CAEI,GAAI,GAAG,EAAO,GAAG,EAAW,MAAM,QAClC,KAAK,WACL,kBAAiB,GAAG,EAAO,GAAG,EAAW,MAAM,MAC/C,UAAW,EAAA,EAAG,aAAc,EAAe,UAE1C,EAAW,QACV,CAPG,EAAW,MAOd,CAER,GCzId,SAAgB,EAAS,CACrB,KAAK,UACL,UAAU,KACV,OAAO,UACP,SACA,YACA,QACA,WACA,GAAG,GACW,CACd,IAAM,EAAY,EACZ,EAAY,EAAA,EAAU,EAAO,CAC7B,EAAY,IAAW,IAAA,IAAa,IAAW,GAErD,OACI,EAAA,EAAA,KAAC,EAAD,CACI,IAAK,EAAa,EAAuC,IAAA,GACzD,UAAW,EAAA,EAAG,UAAW,EAAS,EAAM,GAAa,SAAU,EAAU,CAClE,QACP,GAAI,EAEH,WACO,CAAA,CCxBpB,SAAgB,EAAY,CAAC,UAAU,EAAG,eAAc,YAAW,QAAO,WAAU,GAAG,GAAyB,CAC5G,OACI,EAAA,EAAA,KAAC,MAAD,CACI,UAAW,EAAA,EAAG,OAAQ,WAAW,IAAW,EAAU,CACtD,MAAO,CACH,GAAI,EAAe,CAAC,wBAAyB,EAAa,CAAG,EAAE,CAC/D,GAAG,EACN,CACD,GAAI,EAEH,WACC,CAAA,CCPd,SAAS,EAAoB,EAAoE,CAS7F,OARI,EAAA,EAAA,gBAAgB,EAAM,CAItB,EAAM,OAAS,EACR,GAGJ,EAAM,OAAS,GAAU,EAAM,MAAqB,OAAS,MAPzD,GAUf,SAAS,EAAmB,EAA4B,CACpD,MAAO,CACH,KAAM,EAAM,MAAQ,EAAM,IAAM,EAAM,IAAM,EAAM,IAAM,EAAM,GAC9D,GAAI,EAAM,IAAM,EAAM,IAAM,EAAM,IAAM,EAAM,GAC9C,GAAI,EAAM,IAAM,EAAM,IAAM,EAAM,GAClC,GAAI,EAAM,IAAM,EAAM,GACtB,GAAI,EAAM,GACb,CAGL,SAAS,EAA2B,EAAmB,EAAgD,CACnG,GAAI,GAAS,EACT,MAAO,EAAE,CAGb,GAAI,GAAa,EACb,OAAO,MAAM,KAAK,CAAC,OAAQ,EAAM,KAAQ,IAAA,GAAU,CAGvD,IAAM,EAAO,KAAK,MAAM,EAAY,EAAM,CACpC,EAAQ,EAAY,EAE1B,OAAO,MAAM,KAAK,CAAC,OAAQ,EAAM,EAAG,EAAG,IAAU,CAC7C,IAAM,EAAQ,GAAQ,IAAQ,GAC9B,OAAO,GAAS,EAAK,EAAyB,IAAA,IAChD,CAGN,SAAS,EAAiB,EAAyC,CAC/D,IAAM,EAAgC,CAAC,OAAQ,KAAM,KAAM,KAAM,KAAK,CAChE,EAAa,EAAY,IAAK,GAAU,EAAmB,EAAM,CAAC,CAClE,EAAW,EAAW,IAAK,IAAW,CAAC,GAAG,EAAM,EAAE,CAExD,IAAK,IAAM,KAAc,EAAa,CAClC,IAAM,EAAwB,EAAE,CAC5B,EAAc,EAElB,EAAW,SAAS,EAAO,IAAU,CACjC,IAAM,EAAQ,EAAM,GAEpB,GAAI,EAAO,CACP,GAAe,EACf,OAGJ,EAAY,KAAK,EAAM,EACzB,CAEF,IAAM,EAAc,EAA2B,KAAK,IAAI,GAAK,EAAa,EAAE,CAAE,EAAY,OAAO,CAEjG,EAAY,SAAS,EAAa,IAAc,CAC5C,EAAS,GAAa,GAAc,EAAY,IAClD,CAGN,OAAO,EAIX,SAAgB,EAAM,CAClB,OAAO,MACP,OACA,KACA,KACA,KACA,KACA,UACA,UACA,QACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,YACA,YACA,QACA,WACA,GAAG,GACQ,CACX,IAAM,EAAe,EAAA,EAAuB,CAAC,QAAM,CAAC,CAC9C,EAAW,GAAQ,GAAM,EAE/B,GAAI,IAAS,MACT,OACI,EAAA,EAAA,KAAC,MAAD,CACI,UAAW,EAAA,EACP,OACA,MACA,EAAW,QAAQ,IAAa,YAChC,GAAM,MAAM,IACZ,GAAM,MAAM,IACZ,GAAM,MAAM,IACZ,GAAM,MAAM,IACZ,GAAG,EAAA,EAA2B,CAC1B,UACA,UACA,QACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,YACH,CAAC,CACF,EACH,CACD,MAAO,CAAC,GAAG,EAAc,GAAG,EAAM,CAClC,GAAI,EAEH,WACC,CAAA,CAId,IAAM,EAAa,EAAA,SAAS,QAAQ,EAAS,CACvC,EAAgB,EAAW,SAAS,EAAO,IAAW,EAAoB,EAAM,CAAG,CAAC,CAAC,QAAO,QAAM,CAAC,CAAG,EAAE,CAAE,CAC1G,EAAc,KAAK,IAAI,KAAK,IAAI,EAAc,QAAU,EAAW,OAAQ,EAAE,CAAE,GAAG,CAClF,EAAmB,EAAc,MAAM,CAAC,WAAW,CACrD,IAAM,EAAI,EAAM,MAChB,MAAO,GAAQ,EAAE,MAAQ,EAAE,IAAM,EAAE,IAAM,EAAE,IAAM,EAAE,KACrD,CACI,EAAgB,EAChB,EAAiB,EAAc,KAAK,CAAC,WAAW,EAAM,MAA6B,CAAC,CACpF,KACA,EACF,GAAoB,EACd,EAAW,KAAK,EAAO,IAAe,CAClC,IAAM,EAAc,EAAc,UAAW,GAAU,EAAM,QAAU,EAAW,CAElF,GAAI,IAAgB,IAAM,CAAC,EAAoB,EAAM,CACjD,OAAO,EAGX,IAAM,EAAQ,EAAc,GAE5B,OAAA,EAAA,EAAA,cAAoB,EAAO,CACvB,KAAM,EAAM,KACZ,GAAI,EAAM,GACV,GAAI,EAAM,GACV,GAAI,EAAM,GACV,GAAI,EAAM,GACb,CAAC,EACJ,CACF,EAEV,OACI,EAAA,EAAA,KAAC,MAAD,CACI,UAAW,EAAA,EACP,OACA,MACA,EAAmB,UAAY,aAAa,IAC5C,GAAG,EAAA,EAA2B,CAC1B,UACA,UACA,QACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,UAAW,GAAa,GAC3B,CAAC,CACF,EACH,CACD,MAAO,CAAC,GAAG,EAAc,GAAG,EAAM,CAClC,GAAI,WAEH,EACC,CAAA,CAKd,SAAgB,EAAU,CAAC,OAAM,KAAI,KAAI,KAAI,KAAI,GAAG,GAAuB,CACvE,OAAO,EAAA,EAAA,KAAC,EAAD,CAAO,KAAK,MAAY,OAAU,KAAQ,KAAQ,KAAQ,KAAI,GAAI,EAAQ,CAAA,CCpNrF,SAAgB,EAAS,CAAC,cAAc,aAAc,UAAU,QAAS,YAAW,QAAO,GAAG,GAAsB,CAChH,OACI,EAAA,EAAA,KAAC,MAAD,CACI,KAAK,YACL,mBAAkB,EAClB,UAAW,EAAA,EAAG,UAAW,EAAa,EAAS,EAAU,CAClD,QACP,GAAI,EACN,CAAA,CCKV,IAAM,EAAc,oBAUd,GAAA,EAAA,EAAA,eAAgD,CAClD,KAAM,WACN,OAAQ,GACR,WAAY,GACZ,UAAW,GACX,eAAkB,GACrB,CAAC,CAGF,SAAS,GAAa,CAClB,OAAA,EAAA,EAAA,YAAkB,EAAW,CAIjC,SAAS,EAAY,EAA6B,CAC9C,GAAM,CAAC,EAAQ,IAAA,EAAA,EAAA,cAA6B,OAAO,OAAW,IAAc,OAAO,WAAa,EAAa,GAAO,CAWpH,OATA,EAAA,EAAA,eAAgB,CACZ,IAAM,EAAK,OAAO,WAAW,eAAe,EAAa,EAAE,KAAK,CAC1D,EAAW,GAA2B,EAAU,EAAE,QAAQ,CAIhE,OAFA,EAAU,EAAG,QAAQ,CACrB,EAAG,iBAAiB,SAAU,EAAQ,KACzB,EAAG,oBAAoB,SAAU,EAAQ,EACvD,CAAC,EAAW,CAAC,CAET,EAIX,SAAgB,EAAS,CACrB,KAAM,EAAW,OACjB,cAAc,WACd,eACA,UAAU,GACV,OAAO,OACP,OAAO,SACP,WAAW,GACX,mBAAmB,IACnB,YACA,QACA,YACc,CACd,IAAM,EAAS,EAAY,EAAiB,CACtC,CAAC,EAAY,IAAA,EAAA,EAAA,UAA0B,GAAM,CAE7C,CAAC,EAAc,IAAA,EAAA,EAAA,cAAgD,CACjE,GAAI,EACA,GAAI,CACA,IAAM,EAAI,aAAa,QAAQ,EAAY,CAC3C,GAAI,IAAM,YAAc,IAAM,YAAa,OAAO,OAC9C,EAKZ,OAAO,GACT,CAEI,EACF,IAAa,OAAS,EAAe,IAAa,YAAc,YAAc,WAG5E,GAAA,EAAA,EAAA,iBAA+B,CACjC,IAAM,EAAqB,IAAiB,WAAa,YAAc,WAKvE,GAHA,EAAgB,EAAK,CACrB,IAAe,EAAK,CAEhB,EACA,GAAI,CACA,aAAa,QAAQ,EAAa,EAAK,MACnC,IAIb,CAAC,EAAc,EAAc,EAAQ,CAAC,CAEnC,GAAA,EAAA,EAAA,iBAAgC,EAAc,GAAM,CAAE,EAAE,CAAC,EAG/D,EAAA,EAAA,eAAgB,CACZ,GAAI,CAAC,EAAY,OAEjB,IAAM,EAAW,GAAqB,CAC9B,EAAE,MAAQ,UAAU,EAAc,GAAM,EAIhD,OADA,SAAS,iBAAiB,UAAW,EAAQ,KAChC,SAAS,oBAAoB,UAAW,EAAQ,EAC9D,CAAC,EAAW,CAAC,CAEhB,IAAM,EAAY,CAAC,GAAU,IAAa,OAEpC,GAAA,EAAA,EAAA,cACK,CAAC,KAAM,EAAc,SAAQ,aAAY,YAAW,aAAW,EACtE,CAAC,EAAc,EAAQ,EAAY,EAAW,EAAW,CAC5D,CAIK,EAAa,EAAA,EACf,UACA,EACA,EALgB,CAAC,GAAU,IAAiB,aAM7B,YACf,GAAY,WACZ,GAAU,SACV,GAAU,GAAc,cACxB,EACH,CAED,OACI,EAAA,EAAA,MAAC,EAAW,SAAZ,CAAqB,MAAO,WAA5B,CACK,GAAU,IAAc,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,mBAAmB,QAAS,EAAe,CAAA,EAEnF,EAAA,EAAA,KAAC,QAAD,CAAO,UAAW,EAAmB,QAChC,WACG,CAAA,CAEP,GAAU,CAAC,IACR,EAAA,EAAA,KAAC,SAAD,CACI,UAAW,EAAA,EAAG,oBAAqB,EAAK,CACxC,YAAe,EAAc,GAAK,CAClC,aAAW,sBAEX,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,yBAAyB,cAAY,iBACjD,EAAA,EAAA,KAAC,EAAA,EAAD,EAAa,CAAA,CACV,CAAA,CACF,CAAA,CAEK,GAK9B,SAAgB,EAAe,CAAC,WAAW,GAAO,YAAW,YAAgC,CACzF,GAAM,CAAC,OAAM,SAAQ,YAAW,cAAc,GAAY,CACpD,EAAc,CAAC,GAAU,IAAS,YAExC,OACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAW,EAAA,EAAG,iBAAkB,GAAY,WAAY,EAAU,UAAvE,EACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,yBAA0B,WAAe,CAAA,CACvD,IACG,EAAA,EAAA,KAAC,EAAA,EAAD,CACI,QAAQ,WACR,MAAM,UACN,SAAA,GACA,KAAK,KACL,QAAS,EACT,aAAY,EAAc,iBAAmB,mBAC7C,UAAU,2BAEV,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,EAAG,kBAAmB,GAAe,UAAU,WAC5D,EAAA,EAAA,KAAC,EAAA,EAAD,EAAqB,CAAA,CAClB,CAAA,CACD,CAAA,CAEZ,GAKd,SAAgB,EAAa,CAAC,YAAW,YAA8B,CACnE,OAAO,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,EAAG,eAAgB,EAAU,CAAG,WAAe,CAAA,CAI1E,SAAgB,EAAY,CAAC,YAAW,YAA6B,CACjE,OAAO,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,EAAG,cAAe,EAAU,CAAG,WAAe,CAAA,CAIzE,SAAgB,EAAa,CACzB,OACA,QACA,OACA,KACA,UACA,SAAS,GACT,WAAW,GACX,QACA,QACA,YACA,aACkB,CAClB,GAAM,CAAC,OAAM,UAAU,GAAY,CAC7B,EAAc,CAAC,GAAU,IAAS,YAElC,EAAM,IAAc,GAAQ,EAAK,IAAM,UACvC,EAAY,EAAa,EAAK,CAAC,KAAG,CAAG,EAAO,CAAC,OAAK,CAAG,EAAE,CAAI,EAAO,CAAC,OAAK,CAAG,EAAK,CAAC,KAAM,EAAG,CAAG,EAAE,CAGrG,OACI,EAAA,EAAA,MAAC,EAAD,CACI,UAJI,EAAA,EAAG,eAAgB,GAAU,SAAU,GAAY,WAAY,EAAO,EAAU,CAKpF,QAAS,EAAW,IAAA,GAAY,EAChC,gBAAe,GAAY,IAAA,GAC3B,MAAO,EAAc,EAAQ,IAAA,GAC7B,GAAI,WALR,CAOK,IAAQ,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,6BAAqB,EAAY,CAAA,CACzD,CAAC,IACE,EAAA,EAAA,KAAC,EAAA,EAAD,CAAU,QAAS,EAAO,UAAU,MAAM,UAAU,uCAChD,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,8BAAsB,EAAa,CAAA,CAC5C,CAAA,CAEd,CAAC,GAAe,IAAS,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,8BAAsB,EAAa,CAAA,CAC3E,GAKd,SAAgB,EAAc,CAC1B,QACA,OACA,SAAS,GACT,cAAc,GACd,cAAc,GACd,WACA,aACmB,CACnB,IAAM,EAAa,GAAY,CACzB,CAAC,OAAM,UAAU,EACjB,EAAc,CAAC,GAAU,IAAS,YAClC,CAAC,EAAM,IAAA,EAAA,EAAA,UAAoB,EAAY,CAEvC,GAAA,EAAA,EAAA,cAAkD,CAAC,GAAG,EAAY,KAAM,WAAW,EAAG,CAAC,EAAW,CAAC,CAGnG,MAAe,CACb,GAAa,EAAS,GAAM,CAAC,EAAE,EAGvC,GAAI,EAAa,CACb,IAAM,GACF,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,EAAG,+BAAgC,GAAU,SAAS,CAAE,MAAO,WAC3E,EACE,CAAA,CAGX,OACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,EAAG,gBAAiB,EAAU,WAC1C,EAAA,EAAA,KAAC,EAAA,EAAD,CAAwB,UAAS,UAAU,cAAc,cAAA,GAAc,OAAO,kBAC1E,EAAA,EAAA,KAAC,EAAW,SAAZ,CAAqB,MAAO,EAAc,WAA+B,CAAA,CAC7D,CAAA,CACd,CAAA,CAId,OACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAW,EAAA,EAAG,gBAAiB,EAAU,UAA9C,EACI,EAAA,EAAA,MAAC,SAAD,CAAQ,UAAW,EAAA,EAAG,uBAAwB,GAAU,SAAS,CAAE,QAAS,EAAQ,gBAAe,WAAnG,CACK,IAAQ,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,8BAAsB,EAAY,CAAA,EAC3D,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,+BAAuB,EAAa,CAAA,CACnD,IACG,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,EAAG,sBAAuB,GAAQ,OAAO,WACtD,EAAA,EAAA,KAAC,EAAA,EAAD,EAAqB,CAAA,CAClB,CAAA,CAEN,GACR,IAAQ,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,sBAAuB,WAAe,CAAA,CAC5D,GAKd,SAAgB,EAAe,CAAC,WAAW,GAAO,YAAW,YAAgC,CACzF,OAAO,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,EAAG,iBAAkB,GAAY,WAAY,EAAU,CAAG,WAAe,CAAA,CAIpG,SAAgB,EAAgB,CAAC,YAAW,UAAU,MAA6B,CAC/E,OAAO,EAAA,EAAA,KAAC,KAAD,CAAI,UAAW,EAAA,EAAG,kBAAmB,EAAS,EAAU,CAAI,CAAA,CCvSvE,SAAgB,EAAY,CAAC,QAAO,YAAY,IAAK,WAAU,YAAW,GAAG,GAAyB,CAElG,IAAM,GAAA,EAAA,EAAA,aAAwB,CAC1B,GAAI,CAAC,GAAY,GAAY,EAAM,OAAQ,OAAO,EAClD,GAAI,EAAW,EAAG,MAAO,CAAC,EAAM,EAAM,OAAS,GAAG,CAClD,IAAM,EAAO,EAAM,MAAM,EAAG,EAAE,CACxB,EAAO,EAAM,MAAM,EAAE,EAAW,GAAG,CACzC,MAAO,CAAC,GAAG,EAAM,KAAM,GAAG,EAAK,EAChC,CAAC,EAAO,EAAS,CAAC,CAErB,OACI,EAAA,EAAA,KAAC,MAAD,CAAK,aAAW,aAAa,UAAW,EAAA,EAAG,aAAc,EAAU,CAAE,GAAI,YACrE,EAAA,EAAA,KAAC,KAAD,CAAI,UAAU,iBACT,EAAQ,KAAK,EAAM,IAAM,CACtB,GAAI,IAAS,KACT,OACI,EAAA,EAAA,MAAC,KAAD,CAAmB,UAAU,sBAA7B,EACI,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,eAAO,EAAiB,CAAA,EACxC,EAAA,EAAA,KAAC,OAAD,CAAA,SAAM,IAAc,CAAA,CACnB,EAHG,WAGH,CAIb,IAAM,EAAS,IAAM,EAAQ,OAAS,EAEtC,OACI,EAAA,EAAA,MAAC,KAAD,CAAY,UAAW,EAAA,EAAG,QAAS,GAAU,SAAS,UAAtD,CACK,EAAI,IAAK,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,eAAO,EAAiB,CAAA,CACjD,EAAK,MAAQ,CAAC,GACX,EAAA,EAAA,KAAC,IAAD,CAAG,KAAM,EAAK,KAAM,UAAU,OAAO,QAAS,EAAK,iBAC9C,EAAK,MACN,CAAA,CACJ,EAAK,SAAW,CAAC,GACjB,EAAA,EAAA,KAAC,SAAD,CAAQ,KAAK,SAAS,UAAU,WAAW,QAAS,EAAK,iBACpD,EAAK,MACD,CAAA,EAET,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,UAAU,eAAc,EAAS,OAAS,IAAA,YACrD,EAAK,MACH,CAAA,CAEV,EAfI,EAeJ,EAEX,CACD,CAAA,CACH,CAAA,CC5Cd,IAAa,GAAA,EAAA,EAAA,YAAuD,SAChE,CAAC,YAAW,WAAU,GAAG,GACzB,EACF,CACE,IAAM,EAAqC,EAAE,CACvC,EAAmC,EAAE,CAU3C,OARA,EAAA,SAAS,QAAQ,EAAW,GAAU,EAClC,EAAA,EAAA,gBAAmB,EAAM,EAAI,EAAM,OAAS,EACxC,EAAgB,KAAK,EAAM,CAE3B,EAAc,KAAK,EAAM,EAE/B,EAGE,EAAA,EAAA,MAAC,MAAD,CAAU,MAAK,UAAW,EAAA,EAAG,YAAa,EAAU,CAAE,GAAI,WAA1D,CACK,GACD,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,oBAAY,EAAoB,CAAA,CAC7C,IAEZ,CAEW,GAAA,EAAA,EAAA,YAA+C,SAAe,CAAC,YAAW,WAAU,GAAG,GAAO,EAAK,CAC5G,OACI,EAAA,EAAA,KAAC,MAAD,CAAU,MAAK,UAAW,EAAA,EAAG,WAAY,EAAU,CAAE,GAAI,EACpD,WACC,CAAA,EAEZ"}
|
package/dist/media-Cc2wBvkb.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const e=require(`./MChevronRightIcon-BC08M6g8.cjs`),t=require(`./cn-SOcVdnX6.cjs`),n=require(`./useInteractionEffect-BLehDk91.cjs`),r=require(`./MButton-C_WTyNvw.cjs`),i=require(`./MSkeleton-CRgCZZqm.cjs`),a=require(`./MImage-DbianX0t.cjs`),o=require(`./MAvatar-C8tWuy5K.cjs`);let s=require(`react`),c=require(`react/jsx-runtime`);function l({items:e,columns:n=3,rounded:r=!0,clickEffect:i=`ripple`,className:a,...o}){return(0,c.jsx)(`div`,{className:t.t(`gallery`,`columns-${n}`,a),...o,children:e.map((e,t)=>(0,c.jsx)(u,{item:e,rounded:r,clickEffect:i},t))})}function u({item:e,rounded:r,clickEffect:i}){let{effectClassName:a,effectLayer:o,handlePointerDown:s}=n.t({effect:i});return(0,c.jsxs)(`figure`,{className:t.t(`gallery-item`,r&&`rounded`,a),onPointerDown:s,children:[(0,c.jsx)(`img`,{className:`gallery-image`,src:e.src,alt:e.alt||``,loading:`lazy`}),e.caption&&(0,c.jsx)(`figcaption`,{className:`gallery-caption`,children:e.caption}),o]})}function d({autoPlay:n=!1,interval:i=5e3,showDots:a=!0,showArrows:o=!0,loop:l=!0,draggable:u=!0,transition:d=`slide`,className:f,children:p,...m}){let h=s.Children.toArray(p),g=h.length,[_,v]=(0,s.useState)(0),[y,b]=(0,s.useState)(0),[x,S]=(0,s.useState)(!1),C=(0,s.useRef)(0),w=(0,s.useRef)(null),T=(0,s.useCallback)(e=>{v(l?(e+g)%g:Math.max(0,Math.min(e,g-1)))},[g,l]),E=(0,s.useCallback)(()=>T(_-1),[_,T]),D=(0,s.useCallback)(()=>T(_+1),[_,T]);(0,s.useEffect)(()=>{if(!n||g<=1||x)return;let e=setInterval(D,i);return()=>clearInterval(e)},[n,i,D,g,x]);let O=e=>{u&&(S(!0),C.current=e,b(0))},k=e=>{x&&b(e-C.current)},A=()=>{x&&(S(!1),y<-50?D():y>50&&E(),b(0))},j=e=>{u&&(e.currentTarget.setPointerCapture(e.pointerId),O(e.clientX))},M=e=>{k(e.clientX)},N=()=>{A()};if(g===0)return null;let P=d===`fade`,F=P?void 0:{transform:`translateX(calc(-${_*100}% + ${x?y:0}px))`};return(0,c.jsxs)(`div`,{className:t.t(`carousel`,P&&`fade`,f),...m,children:[(0,c.jsx)(`div`,{className:`carousel-viewport`,onPointerDown:j,onPointerMove:M,onPointerUp:N,onPointerCancel:N,style:{touchAction:u?`pan-y`:void 0,cursor:u?x?`grabbing`:`grab`:void 0},children:(0,c.jsx)(`div`,{ref:w,className:t.t(`carousel-track`,x&&`dragging`),style:F,children:h.map((e,n)=>(0,c.jsx)(`div`,{className:t.t(`carousel-slide`,P&&n===_&&`active`,P&&n!==_&&`hidden`),children:e},n))})}),o&&g>1&&(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(r.t,{variant:`ghost`,color:`primary`,iconOnly:!0,shape:`circle`,onClick:E,"aria-label":`Previous slide`,className:`carousel-arrow carousel-arrow-prev`,children:(0,c.jsx)(e.n,{})}),(0,c.jsx)(r.t,{variant:`ghost`,color:`primary`,iconOnly:!0,shape:`circle`,onClick:D,"aria-label":`Next slide`,className:`carousel-arrow carousel-arrow-next`,children:(0,c.jsx)(e.t,{})})]}),a&&g>1&&(0,c.jsx)(`div`,{className:`carousel-dots`,children:h.map((e,n)=>(0,c.jsx)(`button`,{className:t.t(`carousel-dot`,n===_&&`active`),onClick:()=>T(n),"aria-label":`Slide ${n+1}`,type:`button`},n))})]})}function f(e){return e===`ripple`||e===`zoom-ripple`}function p(e){return e===`zoom`||e===`zoom-ripple`}function m(e){return e===`dim`}function h({src:e,alt:n=``,media:r,mediaHeight:o,overlay:s,body:l,footer:u,interactive:d=!1,imageClickEffect:h=`ripple`,ratio:g=`16:9`,fit:_=`cover`,imgProps:v,children:y}){let b=l??y,x=f(h),S=o?{"--media-height":typeof o==`number`?`${o}px`:o}:void 0,C=!!(r||e);return(0,c.jsxs)(i.n,{interactive:d,clickEffect:h===`none`?void 0:`none`,className:t.t(`showcase card`,d&&`interactive`),style:S,children:[C?(0,c.jsxs)(`div`,{className:t.t(`showcase media`,p(h)&&`effect-zoom`,m(h)&&`effect-dim`),children:[r?(0,c.jsx)(`div`,{className:`showcase media-content`,children:r}):(0,c.jsx)(a.t,{...v,src:e,alt:n,ratio:g,fit:_,rounded:!0,shadow:!0,clickEffect:x?`ripple`:`none`}),s?(0,c.jsx)(`div`,{className:`showcase overlay`,children:s}):null]}):null,b?(0,c.jsx)(i.r,{className:`showcase body`,children:b}):null,u?(0,c.jsx)(i.i,{className:`showcase footer`,children:u}):null]})}function g(e,t,n){return Math.min(Math.max(e,t),n)}function _(e){return e instanceof Element?!!e.closest(`button, a, input, select, textarea, label, summary, [role="button"], [role="link"], [data-carousel-ignore-drag="true"]`):!1}function v(e,t,n){return e&&t?e.map((e,n)=>t(e,n)):e?e.map((e,t)=>y(e)?(0,c.jsx)(b,{item:e},t):null).filter(Boolean):s.Children.toArray(n)}function y(e){let t=e;return!!e&&typeof e==`object`&&`src`in e&&typeof t.src==`string`}function b({item:e}){return(0,c.jsx)(h,{src:e.src,alt:e.alt||``,overlay:e.overlay})}function x({items:n,renderItem:i,initialIndex:a,showButtons:o=!0,loop:l=!0,draggable:u=!0,wheel:d=!0,itemMinWidth:f=220,itemMaxWidth:p=520,itemWidthRatio:m=.56,className:h,children:y,style:b,...x}){let S=(0,s.useMemo)(()=>v(n,i,y),[y,n,i]),C=S.length,[w,T]=(0,s.useState)(0),[E,D]=(0,s.useState)(0),[O,k]=(0,s.useState)(!1),[A,j]=(0,s.useState)(0),M=(0,s.useRef)(null),N=(0,s.useRef)(0),P=(0,s.useRef)(!1),F=g(A*(A<640?Math.max(m,.78):A<960?Math.max(m,.66):m)||f,f,p),I=g(A*.022||16,10,24);(0,s.useEffect)(()=>{let e=M.current;if(!e)return;let t=()=>j(e.clientWidth);t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[]),(0,s.useEffect)(()=>{C&&T(g(a??Math.floor((C-1)/2),0,C-1))},[C,a]);let L=(0,s.useCallback)(e=>{if(!(C<1)){if(l){T((e+C)%C);return}T(g(e,0,C-1))}},[C,l]),R=(0,s.useCallback)(()=>L(w-1),[w,L]),z=(0,s.useCallback)(()=>L(w+1),[w,L]),B=e=>{!u||C<=1||_(e.target)||(e.currentTarget.setPointerCapture(e.pointerId),k(!0),N.current=e.clientX,D(0))},V=e=>{O&&D(e.clientX-N.current)},H=()=>{if(!O)return;let e=Math.max(56,F*.12);E<=-e?z():E>=e&&R(),k(!1),D(0)};if((0,s.useEffect)(()=>{let e=M.current;if(!e)return;let t=e=>{if(!d||C<=1||P.current)return;let t=Math.abs(e.deltaX)>Math.abs(e.deltaY)?e.deltaX:e.deltaY;Math.abs(t)<28||(e.preventDefault(),e.stopPropagation(),P.current=!0,window.setTimeout(()=>{P.current=!1},260),t>0?z():R())};return e.addEventListener(`wheel`,t,{passive:!1}),()=>e.removeEventListener(`wheel`,t)},[C,z,R,d]),!C)return null;let U=A/2-w*(F+I)-F/2+E;return(0,c.jsxs)(`div`,{className:t.t(`showcase`,h),style:{...b,"--item-width":`${F}px`},...x,children:[(0,c.jsx)(`div`,{ref:M,className:`showcase-stage`,onPointerDown:B,onPointerMove:V,onPointerUp:H,onPointerCancel:H,onPointerLeave:H,style:{cursor:u&&C>1?O?`grabbing`:`grab`:void 0},children:(0,c.jsx)(`div`,{className:t.t(`showcase-track`,O&&`dragging`),style:{transform:`translateX(${U}px)`,gap:`${I}px`},children:S.map((e,n)=>{let r=Math.abs(n-w);return(0,c.jsx)(`div`,{className:t.t(`showcase-item`,n===w&&`active`,r===1&&`near`,r>=2&&`far`),style:{zIndex:Math.max(1,C-r)},children:e},n)})})}),o&&C>1&&(0,c.jsxs)(`div`,{className:`showcase-actions`,children:[(0,c.jsx)(r.t,{type:`button`,variant:`secondary`,className:`showcase-btn`,startIcon:(0,c.jsx)(e.n,{}),onClick:R,children:`Previous`}),(0,c.jsx)(r.t,{type:`button`,className:`showcase-btn`,endIcon:(0,c.jsx)(e.t,{}),onClick:z,children:`Next`})]})]})}function S(e,t,n){return e&&t?e.map((e,n)=>t(e,n)):s.Children.toArray(n)}function C({items:e,renderItem:n,columns:r=3,className:i,children:a,style:o,...s}){let l=S(e,n,a);return l.length?(0,c.jsx)(`div`,{className:t.t(`masonry`,i),style:{...o,columnCount:r},...s,children:l.map((e,t)=>(0,c.jsx)(`div`,{className:`masonry item`,children:e},t))}):null}function w({src:e,alt:r=``,height:a,overlay:o,body:s,footer:l,interactive:u=!1,imageClickEffect:d=`none`,imgProps:h,children:g}){let _=a?{...h?.style,height:a}:h?.style,v=s??g,{effectClassName:y,effectLayer:b,handlePointerDown:x}=n.t({effect:f(d)?`ripple`:`none`});return(0,c.jsxs)(i.n,{interactive:u,clickEffect:d===`none`?void 0:`none`,className:t.t(`masonry card`,u&&`interactive`),children:[(0,c.jsxs)(`div`,{className:t.t(`masonry media`,y,p(d)&&`effect-zoom`,m(d)&&`effect-dim`),onPointerDown:e=>{e.target.closest(`.masonry.overlay`)||x(e)},children:[(0,c.jsx)(`img`,{...h,src:e,alt:r,className:`masonry img`,style:_}),o?(0,c.jsx)(`div`,{className:`masonry overlay`,children:o}):null,b]}),v?(0,c.jsx)(i.r,{className:`masonry body`,children:v}):null,l?(0,c.jsx)(i.i,{className:`masonry footer`,children:l}):null]})}function T({items:e,max:n=5,size:r=`sm`,color:i=`primary`,overlap:a=10,className:s,style:l,...u}){if(!e||e.length===0)return null;let d=e.slice(0,n),f=e.length-n,p=typeof r==`number`?r:{xs:20,sm:28,md:40,lg:56,xl:72}[r]??28;return(0,c.jsxs)(`div`,{className:t.t(`avatar-stack`,s),style:{"--avatar-stack-overlap":`-${a}px`,...l},...u,children:[d.map((e,t)=>(0,c.jsx)(o.t,{src:e.avatar,name:e.name,size:r,color:i,className:`avatar-stack-item`,style:{zIndex:t+1}},t)),f>0&&(0,c.jsxs)(`span`,{className:`avatar-stack-overflow`,style:{width:p,height:p,fontSize:p*.38,zIndex:d.length+1},children:[`+`,f]})]})}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return T}});
|
|
2
|
-
//# sourceMappingURL=media-Cc2wBvkb.cjs.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const e=require(`./MCloseIcon-6cfw9trj.cjs`),t=require(`./cn-SOcVdnX6.cjs`),n=require(`./MPortal-BysJLuEi.cjs`),r=require(`./MPopover-BXPkE575.cjs`),i=require(`./MButton-C_WTyNvw.cjs`),a=require(`./MSkeleton-CRgCZZqm.cjs`);let o=require(`react`),s=require(`react/jsx-runtime`);var c=540,l=72,u={sm:`32vh`,md:`52vh`,lg:`72vh`,full:`92vh`};function d({open:r,onClose:d,title:f,description:p,footer:m,size:h=`md`,closeOnBackdrop:g=!0,closeOnEscape:_=!0,className:v,children:y,style:b,...x}){let S=(0,o.useId)(),[C,w]=(0,o.useState)(!1),[T,E]=(0,o.useState)(!1),[D,O]=(0,o.useState)(0),k=(0,o.useRef)(null),A=(0,o.useRef)(0);(0,o.useEffect)(()=>{r&&(w(!0),E(!1),O(0),A.current=0)},[r]),(0,o.useEffect)(()=>{if(!r&&C){E(!0);let e=window.setTimeout(()=>{w(!1),E(!1)},c);return()=>window.clearTimeout(e)}},[r,C]),(0,o.useEffect)(()=>{if(!C)return;let e=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=e}},[C]),(0,o.useEffect)(()=>{if(!r||!_)return;let e=e=>{e.key===`Escape`&&d()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[_,d,r]);function j(e){g&&e.target===e.currentTarget&&d()}function M(e){e.preventDefault(),e.currentTarget.setPointerCapture(e.pointerId),k.current={pointerId:e.pointerId,startY:e.clientY},O(0),A.current=0}function N(e){let t=k.current;if(!t||t.pointerId!==e.pointerId)return;let n=Math.max(e.clientY-t.startY,0);A.current=n,O(n)}function P(e){let t=k.current;if(!(!t||t.pointerId!==e)){if(k.current=null,A.current>l){O(0),A.current=0,d();return}O(0),A.current=0}}if(!C)return null;let F=u[h],I=D>0?`translateY(${D}px)`:void 0;return(0,s.jsx)(n.t,{children:(0,s.jsx)(`div`,{className:t.t(`mineral-backdrop`,`sheet-backdrop`,T&&`closing`),onMouseDown:j,children:(0,s.jsx)(`div`,{className:`sheet-shell`,style:{transform:I},children:(0,s.jsxs)(a.n,{className:t.t(`sheet`,`size-${h}`,v),role:`dialog`,"aria-modal":`true`,"aria-labelledby":f?S:void 0,style:{...b,height:h===`full`?F:void 0,maxHeight:F},...x,children:[(0,s.jsx)(`button`,{type:`button`,className:`sheet-grabber`,onPointerDown:M,onPointerMove:N,onPointerUp:e=>P(e.pointerId),onPointerCancel:e=>P(e.pointerId),"aria-label":`Drag down to close`,children:(0,s.jsx)(`span`,{className:`sheet-handle`})}),(f||p)&&(0,s.jsxs)(a.a,{className:`sheet-header`,children:[(0,s.jsxs)(`div`,{className:`sheet-copy`,children:[f&&(0,s.jsx)(`div`,{id:S,className:`sheet-title`,children:f}),p&&(0,s.jsx)(`div`,{className:`sheet-description`,children:p})]}),(0,s.jsx)(i.t,{variant:`link`,color:`neutral`,iconOnly:!0,size:`sm`,onClick:d,"aria-label":`Close`,className:`sheet-close`,children:(0,s.jsx)(e.t,{})})]}),(0,s.jsx)(a.r,{className:`sheet-body`,children:y}),m&&(0,s.jsx)(a.i,{className:`sheet-footer`,children:m})]})})})})}function f({title:e,description:n,onConfirm:a,onCancel:c,confirmText:l=`Yes`,cancelText:u=`No`,color:d=`warning`,icon:f,placement:p=`top-start`,open:m,onOpenChange:h,anchorRef:g,className:_}){let v=(0,o.useCallback)(()=>{h(!1),c?.()},[h,c]),y=(0,o.useCallback)(()=>{h(!1),a()},[h,a]);return(0,s.jsxs)(r.t,{open:m,anchorRef:g,onClose:v,placement:p,className:t.t(`popconfirm`,`color-${d}`,_),children:[(0,s.jsxs)(`div`,{className:`body`,children:[f&&(0,s.jsx)(`div`,{className:`icon`,children:f}),(0,s.jsxs)(`div`,{className:`content`,children:[(0,s.jsx)(`div`,{className:`title`,children:e}),n&&(0,s.jsx)(`div`,{className:`description`,children:n})]})]}),(0,s.jsxs)(`div`,{className:`actions`,children:[(0,s.jsx)(i.t,{variant:`ghost`,size:`sm`,color:`neutral`,onClick:v,children:u}),(0,s.jsx)(i.t,{variant:`ghost`,size:`sm`,color:d,onClick:y,children:l})]})]})}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return f}});
|
|
2
|
-
//# sourceMappingURL=overlays-CmF2tV32.cjs.map
|