@banzamel/mineralui 2.0.0 → 2.1.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-CIvYzQV4.js → MAvatar-BcO8hMnU.js} +2 -2
- package/dist/{MAvatar-CIvYzQV4.js.map → MAvatar-BcO8hMnU.js.map} +1 -1
- package/dist/{MAvatar-BElYyQXH.cjs → MAvatar-C4N2ztLf.cjs} +2 -2
- package/dist/{MAvatar-BElYyQXH.cjs.map → MAvatar-C4N2ztLf.cjs.map} +1 -1
- package/dist/{MButton-ouB6903s.cjs → MButton-B8kFTOPJ.cjs} +2 -2
- package/dist/{MButton-ouB6903s.cjs.map → MButton-B8kFTOPJ.cjs.map} +1 -1
- package/dist/{MButton-C94fZ3l9.js → MButton-C1pnL4_j.js} +1 -1
- package/dist/{MButton-C94fZ3l9.js.map → MButton-C1pnL4_j.js.map} +1 -1
- package/dist/{MButtonGroup-BhGt-Yy1.js → MButtonGroup-BkNf7fzo.js} +2 -2
- package/dist/{MButtonGroup-BhGt-Yy1.js.map → MButtonGroup-BkNf7fzo.js.map} +1 -1
- package/dist/{MButtonGroup-yumQneDa.cjs → MButtonGroup-C3Ar0gfk.cjs} +2 -2
- package/dist/{MButtonGroup-yumQneDa.cjs.map → MButtonGroup-C3Ar0gfk.cjs.map} +1 -1
- package/dist/{MCard-9ucghJJs.js → MCard-dLMQQ97e.js} +2 -2
- package/dist/{MCard-9ucghJJs.js.map → MCard-dLMQQ97e.js.map} +1 -1
- package/dist/{MCard-Bg_R86Gr.cjs → MCard-szs5kIek.cjs} +2 -2
- package/dist/{MCard-Bg_R86Gr.cjs.map → MCard-szs5kIek.cjs.map} +1 -1
- package/dist/{MCheckbox-B-nT2OBE.js → MCheckbox-B7SpcD4H.js} +1 -1
- package/dist/{MCheckbox-B-nT2OBE.js.map → MCheckbox-B7SpcD4H.js.map} +1 -1
- package/dist/{MCheckbox-Cbk5hwzJ.cjs → MCheckbox-CATWU11D.cjs} +2 -2
- package/dist/{MCheckbox-Cbk5hwzJ.cjs.map → MCheckbox-CATWU11D.cjs.map} +1 -1
- package/dist/{MConflictIllustration-DfNfvv7Q.cjs → MConflictIllustration-Mnz1q7Ey.cjs} +2 -2
- package/dist/{MConflictIllustration-DfNfvv7Q.cjs.map → MConflictIllustration-Mnz1q7Ey.cjs.map} +1 -1
- package/dist/{MDetailList-t0ixZflO.cjs → MDetailList-BBgUaSDJ.cjs} +2 -2
- package/dist/{MDetailList-t0ixZflO.cjs.map → MDetailList-BBgUaSDJ.cjs.map} +1 -1
- package/dist/{MDetailList-CELXTmJw.js → MDetailList-zlwdeA-r.js} +2 -2
- package/dist/{MDetailList-CELXTmJw.js.map → MDetailList-zlwdeA-r.js.map} +1 -1
- package/dist/{MDropdownMenu-Coy-0Wee.cjs → MDropdownMenu-1RqWjxHp.cjs} +2 -2
- package/dist/{MDropdownMenu-Coy-0Wee.cjs.map → MDropdownMenu-1RqWjxHp.cjs.map} +1 -1
- package/dist/{MDropdownMenu-BgEtrL-T.js → MDropdownMenu-omTEUh4V.js} +1 -1
- package/dist/{MDropdownMenu-BgEtrL-T.js.map → MDropdownMenu-omTEUh4V.js.map} +1 -1
- package/dist/{MGrid-Di7laCq4.cjs → MGrid-B2qzYD6S.cjs} +2 -2
- package/dist/{MGrid-Di7laCq4.cjs.map → MGrid-B2qzYD6S.cjs.map} +1 -1
- package/dist/{MGrid-yLmEteNw.js → MGrid-Cy44dWyC.js} +1 -1
- package/dist/{MGrid-yLmEteNw.js.map → MGrid-Cy44dWyC.js.map} +1 -1
- package/dist/{MHeading-TJ5yvklz.cjs → MHeading-CyuxSnhl.cjs} +2 -2
- package/dist/{MHeading-TJ5yvklz.cjs.map → MHeading-CyuxSnhl.cjs.map} +1 -1
- package/dist/{MI18nProvider-bf1G7lTP.cjs → MI18nProvider-C90EVyFz.cjs} +2 -2
- package/dist/{MI18nProvider-bf1G7lTP.cjs.map → MI18nProvider-C90EVyFz.cjs.map} +1 -1
- package/dist/{MInput-CkbgK8eU.js → MInput-Baokf17V.js} +2 -2
- package/dist/{MInput-CkbgK8eU.js.map → MInput-Baokf17V.js.map} +1 -1
- package/dist/{MInput-ClHpIrDG.cjs → MInput-Cw9ZVcNO.cjs} +2 -2
- package/dist/{MInput-ClHpIrDG.cjs.map → MInput-Cw9ZVcNO.cjs.map} +1 -1
- package/dist/{MInputCVC-D1rSjwXj.cjs → MInputCVC-Bqcp5Uu3.cjs} +2 -2
- package/dist/{MInputCVC-D1rSjwXj.cjs.map → MInputCVC-Bqcp5Uu3.cjs.map} +1 -1
- package/dist/{MInputCVC-DFtAStrY.js → MInputCVC-DNzDAbfU.js} +3 -3
- package/dist/{MInputCVC-DFtAStrY.js.map → MInputCVC-DNzDAbfU.js.map} +1 -1
- package/dist/{MInputSearch-Dj55a3oO.js → MInputSearch-Bswi-Kj0.js} +2 -2
- package/dist/{MInputSearch-Dj55a3oO.js.map → MInputSearch-Bswi-Kj0.js.map} +1 -1
- package/dist/{MInputSearch-D2Fr_34s.cjs → MInputSearch-D9bp1QAz.cjs} +2 -2
- package/dist/{MInputSearch-D2Fr_34s.cjs.map → MInputSearch-D9bp1QAz.cjs.map} +1 -1
- package/dist/{MKbd-CGkzxJhi.cjs → MKbd-CiwDwFwA.cjs} +2 -2
- package/dist/{MKbd-CGkzxJhi.cjs.map → MKbd-CiwDwFwA.cjs.map} +1 -1
- package/dist/{MKbd-I4xDtsqc.js → MKbd-v6-tJ9sP.js} +1 -1
- package/dist/{MKbd-I4xDtsqc.js.map → MKbd-v6-tJ9sP.js.map} +1 -1
- package/dist/{MLink-CZ2FfQ0N.cjs → MLink-B7gXA8qY.cjs} +2 -2
- package/dist/{MLink-CZ2FfQ0N.cjs.map → MLink-B7gXA8qY.cjs.map} +1 -1
- package/dist/{MPagination-CAzIIP2o.cjs → MPagination-C2GmGkVA.cjs} +2 -2
- package/dist/{MPagination-CAzIIP2o.cjs.map → MPagination-C2GmGkVA.cjs.map} +1 -1
- package/dist/{MPagination-CnFI794t.js → MPagination-DpUtB6t6.js} +2 -2
- package/dist/{MPagination-CnFI794t.js.map → MPagination-DpUtB6t6.js.map} +1 -1
- package/dist/{MPopover-BbgAAM5Z.cjs → MPopover-BVBN5SJi.cjs} +2 -2
- package/dist/{MPopover-BbgAAM5Z.cjs.map → MPopover-BVBN5SJi.cjs.map} +1 -1
- package/dist/{MPortal-DokH9TfY.cjs → MPortal-Djrw2WhD.cjs} +2 -2
- package/dist/{MPortal-DokH9TfY.cjs.map → MPortal-Djrw2WhD.cjs.map} +1 -1
- package/dist/{MSimpleGrid-B6Uh1XJY.cjs → MSimpleGrid-BR352NiK.cjs} +2 -2
- package/dist/{MSimpleGrid-B6Uh1XJY.cjs.map → MSimpleGrid-BR352NiK.cjs.map} +1 -1
- package/dist/{MSimpleGrid-Ds14eBrD.js → MSimpleGrid-BVeCK9Ci.js} +1 -1
- package/dist/{MSimpleGrid-Ds14eBrD.js.map → MSimpleGrid-BVeCK9Ci.js.map} +1 -1
- package/dist/{MSkeleton-BpylRABV.js → MSkeleton-C5uD4Axo.js} +1 -1
- package/dist/{MSkeleton-BpylRABV.js.map → MSkeleton-C5uD4Axo.js.map} +1 -1
- package/dist/{MSkeleton-JMkJFzu9.cjs → MSkeleton-DyQBeuVT.cjs} +2 -2
- package/dist/{MSkeleton-JMkJFzu9.cjs.map → MSkeleton-DyQBeuVT.cjs.map} +1 -1
- package/dist/{MSlider-5141rKeH.js → MSlider-CqrusKJQ.js} +1 -1
- package/dist/{MSlider-5141rKeH.js.map → MSlider-CqrusKJQ.js.map} +1 -1
- package/dist/{MSlider-PyXLKckL.cjs → MSlider-Ds2Fls86.cjs} +2 -2
- package/dist/{MSlider-PyXLKckL.cjs.map → MSlider-Ds2Fls86.cjs.map} +1 -1
- package/dist/{MStack-DDn2bYBQ.cjs → MStack-BdVvJN5S.cjs} +2 -2
- package/dist/{MStack-DDn2bYBQ.cjs.map → MStack-BdVvJN5S.cjs.map} +1 -1
- package/dist/{MStack-B8JtyM10.js → MStack-h11pHEmc.js} +1 -1
- package/dist/{MStack-B8JtyM10.js.map → MStack-h11pHEmc.js.map} +1 -1
- package/dist/MSubText-C-N15d4Z.js +17 -0
- package/dist/MSubText-C-N15d4Z.js.map +1 -0
- package/dist/MSubText-DWNMJupD.cjs +2 -0
- package/dist/MSubText-DWNMJupD.cjs.map +1 -0
- package/dist/{MSurface-WsYGNGX5.cjs → MSurface-BS9l7GDH.cjs} +2 -2
- package/dist/{MSurface-WsYGNGX5.cjs.map → MSurface-BS9l7GDH.cjs.map} +1 -1
- package/dist/{MTag-CKM8lXD6.js → MTag-BF6htPr-.js} +2 -2
- package/dist/{MTag-CKM8lXD6.js.map → MTag-BF6htPr-.js.map} +1 -1
- package/dist/{MTag-Dez1GOX0.cjs → MTag-BwQbycZO.cjs} +2 -2
- package/dist/{MTag-Dez1GOX0.cjs.map → MTag-BwQbycZO.cjs.map} +1 -1
- package/dist/{MText-CAbqC2qZ.cjs → MText-Cjt1oTPr.cjs} +2 -2
- package/dist/{MText-CAbqC2qZ.cjs.map → MText-Cjt1oTPr.cjs.map} +1 -1
- package/dist/{MTooltip-Cbj80F3o.js → MTooltip-Ctyjwxv-.js} +1 -1
- package/dist/{MTooltip-Cbj80F3o.js.map → MTooltip-Ctyjwxv-.js.map} +1 -1
- package/dist/{MTooltip-C-x_SqMx.cjs → MTooltip-gpvKWQzD.cjs} +2 -2
- package/dist/{MTooltip-C-x_SqMx.cjs.map → MTooltip-gpvKWQzD.cjs.map} +1 -1
- package/dist/{MTreeView-B7IWHmGc.cjs → MTreeView-BS60bIj7.cjs} +2 -2
- package/dist/{MTreeView-B7IWHmGc.cjs.map → MTreeView-BS60bIj7.cjs.map} +1 -1
- package/dist/{MTreeView-DMTzRk6c.js → MTreeView-DTsi4bye.js} +2 -2
- package/dist/{MTreeView-DMTzRk6c.js.map → MTreeView-DTsi4bye.js.map} +1 -1
- package/dist/{arduino-CFZS94LP.cjs → arduino-CA8n1Qq3.cjs} +1 -1
- package/dist/{arduino-CFZS94LP.cjs.map → arduino-CA8n1Qq3.cjs.map} +1 -1
- package/dist/{arduino-DWEBiENP.js → arduino-WKgN2ikT.js} +1 -1
- package/dist/{arduino-DWEBiENP.js.map → arduino-WKgN2ikT.js.map} +1 -1
- package/dist/{bash-Dl1TvWHd.cjs → bash-DObE5DDq.cjs} +1 -1
- package/dist/{bash-Dl1TvWHd.cjs.map → bash-DObE5DDq.cjs.map} +1 -1
- package/dist/{bash-DQsQM8so.js → bash-vBtVVub9.js} +1 -1
- package/dist/{bash-DQsQM8so.js.map → bash-vBtVVub9.js.map} +1 -1
- package/dist/{c-BgkSGJWN.js → c-7RiNX--m.js} +1 -1
- package/dist/{c-BgkSGJWN.js.map → c-7RiNX--m.js.map} +1 -1
- package/dist/{c-PUMyVGnz.cjs → c-Bb-MtVny.cjs} +1 -1
- package/dist/{c-PUMyVGnz.cjs.map → c-Bb-MtVny.cjs.map} +1 -1
- package/dist/{cards-C2t-pM0r.js → cards-BkRqUJ2V.js} +14 -14
- package/dist/{cards-C2t-pM0r.js.map → cards-BkRqUJ2V.js.map} +1 -1
- package/dist/{cards-D7_hH3Q8.cjs → cards-DK7j03NN.cjs} +2 -2
- package/dist/{cards-D7_hH3Q8.cjs.map → cards-DK7j03NN.cjs.map} +1 -1
- package/dist/cards.cjs +1 -1
- package/dist/cards.js +2 -2
- package/dist/components/data/MWeekGrid/MWeekGrid.d.ts +8 -0
- package/dist/components/data/MWeekGrid/MWeekGrid.types.d.ts +74 -0
- package/dist/components/data/MWeekGrid/index.d.ts +2 -0
- package/dist/components/data/index.d.ts +2 -0
- package/dist/{controls-DwWfqfDX.cjs → controls-BopaNWb_.cjs} +2 -2
- package/dist/{controls-DwWfqfDX.cjs.map → controls-BopaNWb_.cjs.map} +1 -1
- package/dist/{controls-B3P4zKoA.js → controls-CSTIosnc.js} +4 -4
- package/dist/{controls-B3P4zKoA.js.map → controls-CSTIosnc.js.map} +1 -1
- package/dist/controls.cjs +1 -1
- package/dist/controls.js +5 -5
- package/dist/{core-BdOw9NlN.js → core-DC6zSfZo.js} +1 -1
- package/dist/{core-BdOw9NlN.js.map → core-DC6zSfZo.js.map} +1 -1
- package/dist/{core-B2klLGki.cjs → core-o3cw16Db.cjs} +1 -1
- package/dist/{core-B2klLGki.cjs.map → core-o3cw16Db.cjs.map} +1 -1
- package/dist/{cpp-C_DS-imi.cjs → cpp-BVKrJvso.cjs} +1 -1
- package/dist/{cpp-C_DS-imi.cjs.map → cpp-BVKrJvso.cjs.map} +1 -1
- package/dist/{cpp-ChrqJwqu.js → cpp-CaNnFjgy.js} +1 -1
- package/dist/{cpp-ChrqJwqu.js.map → cpp-CaNnFjgy.js.map} +1 -1
- package/dist/{css-Brdthutg.cjs → css-C2sjPfLl.cjs} +1 -1
- package/dist/{css-Brdthutg.cjs.map → css-C2sjPfLl.cjs.map} +1 -1
- package/dist/{css-DL_ID0lZ.js → css-NqBDP7ZC.js} +1 -1
- package/dist/{css-DL_ID0lZ.js.map → css-NqBDP7ZC.js.map} +1 -1
- package/dist/data-CjVcevdT.js +654 -0
- package/dist/data-CjVcevdT.js.map +1 -0
- package/dist/data-D8qUIvWv.cjs +2 -0
- package/dist/data-D8qUIvWv.cjs.map +1 -0
- package/dist/data.cjs +1 -1
- package/dist/data.js +3 -3
- package/dist/{display-ChhvaSPc.js → display-B7Wh5nnM.js} +17 -17
- package/dist/{display-ChhvaSPc.js.map → display-B7Wh5nnM.js.map} +1 -1
- package/dist/{display-2Vak-RyH.cjs → display-BgZbdTDd.cjs} +2 -2
- package/dist/{display-2Vak-RyH.cjs.map → display-BgZbdTDd.cjs.map} +1 -1
- package/dist/display.cjs +1 -1
- package/dist/display.js +2 -2
- package/dist/{dropdowns-BLd4lyr6.cjs → dropdowns-Befc3lmC.cjs} +2 -2
- package/dist/{dropdowns-BLd4lyr6.cjs.map → dropdowns-Befc3lmC.cjs.map} +1 -1
- package/dist/{dropdowns-BJ8s18h2.js → dropdowns-DGvRs-VE.js} +6 -6
- package/dist/{dropdowns-BJ8s18h2.js.map → dropdowns-DGvRs-VE.js.map} +1 -1
- package/dist/dropdowns.cjs +1 -1
- package/dist/dropdowns.js +1 -1
- package/dist/{feedback-urwS5wps.js → feedback-C445FEHb.js} +3 -3
- package/dist/{feedback-urwS5wps.js.map → feedback-C445FEHb.js.map} +1 -1
- package/dist/{feedback-DnuJtYUI.cjs → feedback-C8RfsfYJ.cjs} +2 -2
- package/dist/{feedback-DnuJtYUI.cjs.map → feedback-C8RfsfYJ.cjs.map} +1 -1
- package/dist/feedback.cjs +1 -1
- package/dist/feedback.js +4 -4
- package/dist/{form-CFhDAU18.js → form-BWWLNji0.js} +1 -1
- package/dist/{form-CFhDAU18.js.map → form-BWWLNji0.js.map} +1 -1
- package/dist/{form-Bni0Gf_s.cjs → form-DSlAmTT1.cjs} +2 -2
- package/dist/{form-Bni0Gf_s.cjs.map → form-DSlAmTT1.cjs.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/i18n.cjs +1 -1
- package/dist/{icons-BHFwX7ri.cjs → icons-DX_cScBq.cjs} +2 -2
- package/dist/{icons-BHFwX7ri.cjs.map → icons-DX_cScBq.cjs.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/illustrations.cjs +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +34 -33
- package/dist/{inputs-CyDoEfL3.js → inputs-BZxorlLv.js} +5 -5
- package/dist/{inputs-CyDoEfL3.js.map → inputs-BZxorlLv.js.map} +1 -1
- package/dist/{inputs-BpdfT9Hp.cjs → inputs-BiZXyZSE.cjs} +2 -2
- package/dist/{inputs-BpdfT9Hp.cjs.map → inputs-BiZXyZSE.cjs.map} +1 -1
- package/dist/inputs.cjs +1 -1
- package/dist/inputs.js +4 -4
- package/dist/{javascript-DFYAIwfO.cjs → javascript-BgwyrBZi.cjs} +1 -1
- package/dist/{javascript-DFYAIwfO.cjs.map → javascript-BgwyrBZi.cjs.map} +1 -1
- package/dist/{javascript-B5hepBcv.js → javascript-BltQGQAn.js} +1 -1
- package/dist/{javascript-B5hepBcv.js.map → javascript-BltQGQAn.js.map} +1 -1
- package/dist/{json-BTHMevf2.cjs → json-DWmLrT_r.cjs} +1 -1
- package/dist/{json-BTHMevf2.cjs.map → json-DWmLrT_r.cjs.map} +1 -1
- package/dist/{json-DTBnkegk.js → json-DbCISZXi.js} +1 -1
- package/dist/{json-DTBnkegk.js.map → json-DbCISZXi.js.map} +1 -1
- package/dist/{layout-BT7KtJVE.js → layout-CnEOTJnJ.js} +6 -6
- package/dist/{layout-BT7KtJVE.js.map → layout-CnEOTJnJ.js.map} +1 -1
- package/dist/{layout-C0WsXFln.cjs → layout-Ct6ViwDQ.cjs} +2 -2
- package/dist/{layout-C0WsXFln.cjs.map → layout-Ct6ViwDQ.cjs.map} +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +5 -5
- package/dist/{licensing-sRHTvX0B.cjs → licensing-hMT26Vnv.cjs} +2 -2
- package/dist/{licensing-sRHTvX0B.cjs.map → licensing-hMT26Vnv.cjs.map} +1 -1
- package/dist/{locale-JX_gX03k.js → locale-BNyzqXAU.js} +1 -1
- package/dist/{locale-JX_gX03k.js.map → locale-BNyzqXAU.js.map} +1 -1
- package/dist/{locale-CJWWjFm-.cjs → locale-C5ik0c3d.cjs} +2 -2
- package/dist/{locale-CJWWjFm-.cjs.map → locale-C5ik0c3d.cjs.map} +1 -1
- package/dist/{media-CnjA4Ruo.cjs → media-DZaGKh5V.cjs} +2 -2
- package/dist/{media-CnjA4Ruo.cjs.map → media-DZaGKh5V.cjs.map} +1 -1
- package/dist/{media-CM-uEUrV.js → media-DxnELIZO.js} +3 -3
- package/dist/{media-CM-uEUrV.js.map → media-DxnELIZO.js.map} +1 -1
- package/dist/media.cjs +1 -1
- package/dist/media.js +2 -2
- package/dist/{overlays-NwVsvmlb.js → overlays-BfIrSHDo.js} +9 -9
- package/dist/{overlays-NwVsvmlb.js.map → overlays-BfIrSHDo.js.map} +1 -1
- package/dist/{overlays-BpDz9ddf.cjs → overlays-WsQqxqk1.cjs} +2 -2
- package/dist/{overlays-BpDz9ddf.cjs.map → overlays-WsQqxqk1.cjs.map} +1 -1
- package/dist/overlays.cjs +1 -1
- package/dist/overlays.js +3 -3
- package/dist/{php-ClxZCTCr.cjs → php-CssmZWrI.cjs} +1 -1
- package/dist/{php-ClxZCTCr.cjs.map → php-CssmZWrI.cjs.map} +1 -1
- package/dist/{php-DwgDg57J.js → php-dSXzrC_Z.js} +1 -1
- package/dist/{php-DwgDg57J.js.map → php-dSXzrC_Z.js.map} +1 -1
- package/dist/primitives.cjs +1 -1
- package/dist/style-runtime.cjs +1 -1
- package/dist/style-runtime.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/{theme-yQQAPTkp.cjs → theme-DltOEniv.cjs} +2 -2
- package/dist/{theme-yQQAPTkp.cjs.map → theme-DltOEniv.cjs.map} +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/{typescript-MSi2XC0t.js → typescript-CxKdKTKz.js} +1 -1
- package/dist/{typescript-MSi2XC0t.js.map → typescript-CxKdKTKz.js.map} +1 -1
- package/dist/{typescript-C8NJZXwD.cjs → typescript-DeaMWtYF.cjs} +1 -1
- package/dist/{typescript-C8NJZXwD.cjs.map → typescript-DeaMWtYF.cjs.map} +1 -1
- package/dist/typography-CAW17MDj.js +31 -0
- package/dist/typography-CAW17MDj.js.map +1 -0
- package/dist/typography-vZwd5E5h.cjs +2 -0
- package/dist/typography-vZwd5E5h.cjs.map +1 -0
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +4 -3
- package/dist/{useGhostText-BFaUUKid.cjs → useGhostText-Nw9XCpWS.cjs} +2 -2
- package/dist/{useGhostText-BFaUUKid.cjs.map → useGhostText-Nw9XCpWS.cjs.map} +1 -1
- package/dist/{useInteractionEffect-BH2dgQla.cjs → useInteractionEffect-Gs9HBi2T.cjs} +2 -2
- package/dist/{useInteractionEffect-BH2dgQla.cjs.map → useInteractionEffect-Gs9HBi2T.cjs.map} +1 -1
- package/dist/{useKeyboardNav-CtGPfQX7.cjs → useKeyboardNav-DDN-oeqd.cjs} +2 -2
- package/dist/{useKeyboardNav-CtGPfQX7.cjs.map → useKeyboardNav-DDN-oeqd.cjs.map} +1 -1
- package/dist/utils.cjs +1 -1
- package/dist/{xml-CnKYdLjT.js → xml-BPoVPJlJ.js} +1 -1
- package/dist/{xml-CnKYdLjT.js.map → xml-BPoVPJlJ.js.map} +1 -1
- package/dist/{xml-jypnnWFn.cjs → xml-BUuYcpx2.cjs} +1 -1
- package/dist/{xml-jypnnWFn.cjs.map → xml-BUuYcpx2.cjs.map} +1 -1
- package/package.json +1 -1
- package/dist/data-0_KXny56.cjs +0 -2
- package/dist/data-0_KXny56.cjs.map +0 -1
- package/dist/data-9Ej9tlwW.js +0 -463
- package/dist/data-9Ej9tlwW.js.map +0 -1
- package/dist/typography-BHhyTO1V.js +0 -42
- package/dist/typography-BHhyTO1V.js.map +0 -1
- package/dist/typography-Qb1U4eiY.cjs +0 -2
- package/dist/typography-Qb1U4eiY.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c-PUMyVGnz.cjs","names":[],"sources":["../../../node_modules/highlight.js/es/languages/c.js"],"sourcesContent":["/*\nLanguage: C\nCategory: common, system\nWebsite: https://en.wikipedia.org/wiki/C_(programming_language)\n*/\n\n/** @type LanguageFn */\nfunction c(hljs) {\n const regex = hljs.regex;\n // added for historic reasons because `hljs.C_LINE_COMMENT_MODE` does\n // not include such support nor can we be sure all the grammars depending\n // on it would desire this behavior\n const C_LINE_COMMENT_MODE = hljs.COMMENT('//', '$', { contains: [ { begin: /\\\\\\n/ } ] });\n const DECLTYPE_AUTO_RE = 'decltype\\\\(auto\\\\)';\n const NAMESPACE_RE = '[a-zA-Z_]\\\\w*::';\n const TEMPLATE_ARGUMENT_RE = '<[^<>]+>';\n const FUNCTION_TYPE_RE = '('\n + DECLTYPE_AUTO_RE + '|'\n + regex.optional(NAMESPACE_RE)\n + '[a-zA-Z_]\\\\w*' + regex.optional(TEMPLATE_ARGUMENT_RE)\n + ')';\n\n\n const TYPES = {\n className: 'type',\n variants: [\n { begin: '\\\\b[a-z\\\\d_]*_t\\\\b' },\n { match: /\\batomic_[a-z]{3,6}\\b/ }\n ]\n\n };\n\n // https://en.cppreference.com/w/cpp/language/escape\n // \\\\ \\x \\xFF \\u2837 \\u00323747 \\374\n const CHARACTER_ESCAPES = '\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\\\S)';\n const STRINGS = {\n className: 'string',\n variants: [\n {\n begin: '(u8?|U|L)?\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '(u8?|U|L)?\\'(' + CHARACTER_ESCAPES + \"|.)\",\n end: '\\'',\n illegal: '.'\n },\n hljs.END_SAME_AS_BEGIN({\n begin: /(?:u8?|U|L)?R\"([^()\\\\ ]{0,16})\\(/,\n end: /\\)([^()\\\\ ]{0,16})\"/\n })\n ]\n };\n\n const NUMBERS = {\n className: 'number',\n variants: [\n { match: /\\b(0b[01']+)/ }, \n { match: /(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/ }, \n { match: /(-?)\\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/ }, \n { match: /(-?)\\b\\d+(?:'\\d+)*(?:\\.\\d*(?:'\\d*)*)?(?:[eE][-+]?\\d+)?/ } \n ],\n relevance: 0\n }; \n \n const PREPROCESSOR = {\n className: 'meta',\n begin: /#\\s*[a-z]+\\b/,\n end: /$/,\n keywords: { keyword:\n 'if else elif endif define undef warning error line '\n + 'pragma _Pragma ifdef ifndef elifdef elifndef include' },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n hljs.inherit(STRINGS, { className: 'string' }),\n {\n className: 'string',\n begin: /<.*?>/\n },\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n\n const TITLE_MODE = {\n className: 'title',\n begin: regex.optional(NAMESPACE_RE) + hljs.IDENT_RE,\n relevance: 0\n };\n\n const FUNCTION_TITLE = regex.optional(NAMESPACE_RE) + hljs.IDENT_RE + '\\\\s*\\\\(';\n\n const C_KEYWORDS = [\n \"asm\",\n \"auto\",\n \"break\",\n \"case\",\n \"continue\",\n \"default\",\n \"do\",\n \"else\",\n \"enum\",\n \"extern\",\n \"for\",\n \"fortran\",\n \"goto\",\n \"if\",\n \"inline\",\n \"register\",\n \"restrict\",\n \"return\",\n \"sizeof\",\n \"typeof\",\n \"typeof_unqual\",\n \"struct\",\n \"switch\",\n \"typedef\",\n \"union\",\n \"volatile\",\n \"while\",\n \"_Alignas\",\n \"_Alignof\",\n \"_Atomic\",\n \"_Generic\",\n \"_Noreturn\",\n \"_Static_assert\",\n \"_Thread_local\",\n // aliases\n \"alignas\",\n \"alignof\",\n \"noreturn\",\n \"static_assert\",\n \"thread_local\",\n // not a C keyword but is, for all intents and purposes, treated exactly like one.\n \"_Pragma\"\n ];\n\n const C_TYPES = [\n \"float\",\n \"double\",\n \"signed\",\n \"unsigned\",\n \"int\",\n \"short\",\n \"long\",\n \"char\",\n \"void\",\n \"_Bool\",\n \"_BitInt\",\n \"_Complex\",\n \"_Imaginary\",\n \"_Decimal32\",\n \"_Decimal64\",\n \"_Decimal96\",\n \"_Decimal128\",\n \"_Decimal64x\",\n \"_Decimal128x\",\n \"_Float16\",\n \"_Float32\",\n \"_Float64\",\n \"_Float128\",\n \"_Float32x\",\n \"_Float64x\",\n \"_Float128x\",\n // modifiers\n \"const\",\n \"static\",\n \"constexpr\",\n // aliases\n \"complex\",\n \"bool\",\n \"imaginary\"\n ];\n\n const KEYWORDS = {\n keyword: C_KEYWORDS,\n type: C_TYPES,\n literal: 'true false NULL',\n // TODO: apply hinting work similar to what was done in cpp.js\n built_in: 'std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream '\n + 'auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set '\n + 'unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos '\n + 'asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp '\n + 'fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper '\n + 'isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow '\n + 'printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp '\n + 'strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan '\n + 'vfprintf vprintf vsprintf endl initializer_list unique_ptr',\n };\n\n const EXPRESSION_CONTAINS = [\n PREPROCESSOR,\n TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n STRINGS\n ];\n\n const EXPRESSION_CONTEXT = {\n // This mode covers expression context where we can't expect a function\n // definition and shouldn't highlight anything that looks like one:\n // `return some()`, `else if()`, `(x*sum(1, 2))`\n variants: [\n {\n begin: /=/,\n end: /;/\n },\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n beginKeywords: 'new throw return else',\n end: /;/\n }\n ],\n keywords: KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([ 'self' ]),\n relevance: 0\n }\n ]),\n relevance: 0\n };\n\n const FUNCTION_DECLARATION = {\n begin: '(' + FUNCTION_TYPE_RE + '[\\\\*&\\\\s]+)+' + FUNCTION_TITLE,\n returnBegin: true,\n end: /[{;=]/,\n excludeEnd: true,\n keywords: KEYWORDS,\n illegal: /[^\\w\\s\\*&:<>.]/,\n contains: [\n { // to prevent it from being confused as the function title\n begin: DECLTYPE_AUTO_RE,\n keywords: KEYWORDS,\n relevance: 0\n },\n {\n begin: FUNCTION_TITLE,\n returnBegin: true,\n contains: [ hljs.inherit(TITLE_MODE, { className: \"title.function\" }) ],\n relevance: 0\n },\n // allow for multiple declarations, e.g.:\n // extern void f(int), g(char);\n {\n relevance: 0,\n match: /,/\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n TYPES,\n // Count matching parentheses.\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n 'self',\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n TYPES\n ]\n }\n ]\n },\n TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n PREPROCESSOR\n ]\n };\n\n return {\n name: \"C\",\n aliases: [ 'h' ],\n keywords: KEYWORDS,\n // Until differentiations are added between `c` and `cpp`, `c` will\n // not be auto-detected to avoid auto-detect conflicts between C and C++\n disableAutodetect: true,\n illegal: '</',\n contains: [].concat(\n EXPRESSION_CONTEXT,\n FUNCTION_DECLARATION,\n EXPRESSION_CONTAINS,\n [\n PREPROCESSOR,\n {\n begin: hljs.IDENT_RE + '::',\n keywords: KEYWORDS\n },\n {\n className: 'class',\n beginKeywords: 'enum class struct union',\n end: /[{;:<>=]/,\n contains: [\n { beginKeywords: \"final class struct\" },\n hljs.TITLE_MODE\n ]\n }\n ]),\n exports: {\n preprocessor: PREPROCESSOR,\n strings: STRINGS,\n keywords: KEYWORDS\n }\n };\n}\n\nexport { c as default };\n"],"x_google_ignoreList":[0],"mappings":"AAOA,SAAS,EAAE,EAAM,CACf,IAAM,EAAQ,EAAK,MAIb,EAAsB,EAAK,QAAQ,KAAM,IAAK,CAAE,SAAU,CAAE,CAAE,MAAO,OAAQ,CAAE,CAAE,CAAC,CAClF,EAAmB,qBACnB,EAAe,kBAEf,EAAmB,IACrB,EAAmB,IACnB,EAAM,SAAS,EAAa,CAC5B,gBAAkB,EAAM,SAJC,WAI6B,CACxD,IAGI,EAAQ,CACZ,UAAW,OACX,SAAU,CACR,CAAE,MAAO,qBAAsB,CAC/B,CAAE,MAAO,wBAAyB,CACnC,CAEF,CAKK,EAAU,CACd,UAAW,SACX,SAAU,CACR,CACE,MAAO,cACP,IAAK,IACL,QAAS,MACT,SAAU,CAAE,EAAK,iBAAkB,CACpC,CACD,CACE,MAAO,sEACP,IAAK,IACL,QAAS,IACV,CACD,EAAK,kBAAkB,CACrB,MAAO,mCACP,IAAK,sBACN,CAAC,CACH,CACF,CAEK,EAAU,CACd,UAAW,SACX,SAAU,CACR,CAAE,MAAO,eAAgB,CACzB,CAAE,MAAO,kFAAmF,CAC5F,CAAE,MAAO,mHAAoH,CAC7H,CAAE,MAAO,yDAA0D,CACtE,CACC,UAAW,EACZ,CAEK,EAAe,CACnB,UAAW,OACX,MAAO,eACP,IAAK,IACL,SAAU,CAAE,QACR,0GAC0D,CAC9D,SAAU,CACR,CACE,MAAO,OACP,UAAW,EACZ,CACD,EAAK,QAAQ,EAAS,CAAE,UAAW,SAAU,CAAC,CAC9C,CACE,UAAW,SACX,MAAO,QACR,CACD,EACA,EAAK,qBACN,CACF,CAEK,EAAa,CACjB,UAAW,QACX,MAAO,EAAM,SAAS,EAAa,CAAG,EAAK,SAC3C,UAAW,EACZ,CAEK,EAAiB,EAAM,SAAS,EAAa,CAAG,EAAK,SAAW,UAoFhE,EAAW,CACf,QAnFiB,sUA2ClB,CAyCC,KAvCc,4RAmCf,CAKC,QAAS,kBAET,SAAU,mzBASX,CAEK,EAAsB,CAC1B,EACA,EACA,EACA,EAAK,qBACL,EACA,EACD,CAEK,EAAqB,CAIzB,SAAU,CACR,CACE,MAAO,IACP,IAAK,IACN,CACD,CACE,MAAO,KACP,IAAK,KACN,CACD,CACE,cAAe,wBACf,IAAK,IACN,CACF,CACD,SAAU,EACV,SAAU,EAAoB,OAAO,CACnC,CACE,MAAO,KACP,IAAK,KACL,SAAU,EACV,SAAU,EAAoB,OAAO,CAAE,OAAQ,CAAC,CAChD,UAAW,EACZ,CACF,CAAC,CACF,UAAW,EACZ,CAEK,EAAuB,CAC3B,MAAO,IAAM,EAAmB,eAAiB,EACjD,YAAa,GACb,IAAK,QACL,WAAY,GACZ,SAAU,EACV,QAAS,iBACT,SAAU,CACR,CACE,MAAO,EACP,SAAU,EACV,UAAW,EACZ,CACD,CACE,MAAO,EACP,YAAa,GACb,SAAU,CAAE,EAAK,QAAQ,EAAY,CAAE,UAAW,iBAAkB,CAAC,CAAE,CACvE,UAAW,EACZ,CAGD,CACE,UAAW,EACX,MAAO,IACR,CACD,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAU,EACV,UAAW,EACX,SAAU,CACR,EACA,EAAK,qBACL,EACA,EACA,EAEA,CACE,MAAO,KACP,IAAK,KACL,SAAU,EACV,UAAW,EACX,SAAU,CACR,OACA,EACA,EAAK,qBACL,EACA,EACA,EACD,CACF,CACF,CACF,CACD,EACA,EACA,EAAK,qBACL,EACD,CACF,CAED,MAAO,CACL,KAAM,IACN,QAAS,CAAE,IAAK,CAChB,SAAU,EAGV,kBAAmB,GACnB,QAAS,KACT,SAAU,EAAE,CAAC,OACX,EACA,EACA,EACA,CACE,EACA,CACE,MAAO,EAAK,SAAW,KACvB,SAAU,EACX,CACD,CACE,UAAW,QACX,cAAe,0BACf,IAAK,WACL,SAAU,CACR,CAAE,cAAe,qBAAsB,CACvC,EAAK,WACN,CACF,CACF,CAAC,CACJ,QAAS,CACP,aAAc,EACd,QAAS,EACT,SAAU,EACX,CACF"}
|
|
1
|
+
{"version":3,"file":"c-Bb-MtVny.cjs","names":[],"sources":["../../../node_modules/highlight.js/es/languages/c.js"],"sourcesContent":["/*\nLanguage: C\nCategory: common, system\nWebsite: https://en.wikipedia.org/wiki/C_(programming_language)\n*/\n\n/** @type LanguageFn */\nfunction c(hljs) {\n const regex = hljs.regex;\n // added for historic reasons because `hljs.C_LINE_COMMENT_MODE` does\n // not include such support nor can we be sure all the grammars depending\n // on it would desire this behavior\n const C_LINE_COMMENT_MODE = hljs.COMMENT('//', '$', { contains: [ { begin: /\\\\\\n/ } ] });\n const DECLTYPE_AUTO_RE = 'decltype\\\\(auto\\\\)';\n const NAMESPACE_RE = '[a-zA-Z_]\\\\w*::';\n const TEMPLATE_ARGUMENT_RE = '<[^<>]+>';\n const FUNCTION_TYPE_RE = '('\n + DECLTYPE_AUTO_RE + '|'\n + regex.optional(NAMESPACE_RE)\n + '[a-zA-Z_]\\\\w*' + regex.optional(TEMPLATE_ARGUMENT_RE)\n + ')';\n\n\n const TYPES = {\n className: 'type',\n variants: [\n { begin: '\\\\b[a-z\\\\d_]*_t\\\\b' },\n { match: /\\batomic_[a-z]{3,6}\\b/ }\n ]\n\n };\n\n // https://en.cppreference.com/w/cpp/language/escape\n // \\\\ \\x \\xFF \\u2837 \\u00323747 \\374\n const CHARACTER_ESCAPES = '\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\\\S)';\n const STRINGS = {\n className: 'string',\n variants: [\n {\n begin: '(u8?|U|L)?\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '(u8?|U|L)?\\'(' + CHARACTER_ESCAPES + \"|.)\",\n end: '\\'',\n illegal: '.'\n },\n hljs.END_SAME_AS_BEGIN({\n begin: /(?:u8?|U|L)?R\"([^()\\\\ ]{0,16})\\(/,\n end: /\\)([^()\\\\ ]{0,16})\"/\n })\n ]\n };\n\n const NUMBERS = {\n className: 'number',\n variants: [\n { match: /\\b(0b[01']+)/ }, \n { match: /(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/ }, \n { match: /(-?)\\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/ }, \n { match: /(-?)\\b\\d+(?:'\\d+)*(?:\\.\\d*(?:'\\d*)*)?(?:[eE][-+]?\\d+)?/ } \n ],\n relevance: 0\n }; \n \n const PREPROCESSOR = {\n className: 'meta',\n begin: /#\\s*[a-z]+\\b/,\n end: /$/,\n keywords: { keyword:\n 'if else elif endif define undef warning error line '\n + 'pragma _Pragma ifdef ifndef elifdef elifndef include' },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n hljs.inherit(STRINGS, { className: 'string' }),\n {\n className: 'string',\n begin: /<.*?>/\n },\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n\n const TITLE_MODE = {\n className: 'title',\n begin: regex.optional(NAMESPACE_RE) + hljs.IDENT_RE,\n relevance: 0\n };\n\n const FUNCTION_TITLE = regex.optional(NAMESPACE_RE) + hljs.IDENT_RE + '\\\\s*\\\\(';\n\n const C_KEYWORDS = [\n \"asm\",\n \"auto\",\n \"break\",\n \"case\",\n \"continue\",\n \"default\",\n \"do\",\n \"else\",\n \"enum\",\n \"extern\",\n \"for\",\n \"fortran\",\n \"goto\",\n \"if\",\n \"inline\",\n \"register\",\n \"restrict\",\n \"return\",\n \"sizeof\",\n \"typeof\",\n \"typeof_unqual\",\n \"struct\",\n \"switch\",\n \"typedef\",\n \"union\",\n \"volatile\",\n \"while\",\n \"_Alignas\",\n \"_Alignof\",\n \"_Atomic\",\n \"_Generic\",\n \"_Noreturn\",\n \"_Static_assert\",\n \"_Thread_local\",\n // aliases\n \"alignas\",\n \"alignof\",\n \"noreturn\",\n \"static_assert\",\n \"thread_local\",\n // not a C keyword but is, for all intents and purposes, treated exactly like one.\n \"_Pragma\"\n ];\n\n const C_TYPES = [\n \"float\",\n \"double\",\n \"signed\",\n \"unsigned\",\n \"int\",\n \"short\",\n \"long\",\n \"char\",\n \"void\",\n \"_Bool\",\n \"_BitInt\",\n \"_Complex\",\n \"_Imaginary\",\n \"_Decimal32\",\n \"_Decimal64\",\n \"_Decimal96\",\n \"_Decimal128\",\n \"_Decimal64x\",\n \"_Decimal128x\",\n \"_Float16\",\n \"_Float32\",\n \"_Float64\",\n \"_Float128\",\n \"_Float32x\",\n \"_Float64x\",\n \"_Float128x\",\n // modifiers\n \"const\",\n \"static\",\n \"constexpr\",\n // aliases\n \"complex\",\n \"bool\",\n \"imaginary\"\n ];\n\n const KEYWORDS = {\n keyword: C_KEYWORDS,\n type: C_TYPES,\n literal: 'true false NULL',\n // TODO: apply hinting work similar to what was done in cpp.js\n built_in: 'std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream '\n + 'auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set '\n + 'unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos '\n + 'asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp '\n + 'fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper '\n + 'isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow '\n + 'printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp '\n + 'strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan '\n + 'vfprintf vprintf vsprintf endl initializer_list unique_ptr',\n };\n\n const EXPRESSION_CONTAINS = [\n PREPROCESSOR,\n TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n STRINGS\n ];\n\n const EXPRESSION_CONTEXT = {\n // This mode covers expression context where we can't expect a function\n // definition and shouldn't highlight anything that looks like one:\n // `return some()`, `else if()`, `(x*sum(1, 2))`\n variants: [\n {\n begin: /=/,\n end: /;/\n },\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n beginKeywords: 'new throw return else',\n end: /;/\n }\n ],\n keywords: KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([ 'self' ]),\n relevance: 0\n }\n ]),\n relevance: 0\n };\n\n const FUNCTION_DECLARATION = {\n begin: '(' + FUNCTION_TYPE_RE + '[\\\\*&\\\\s]+)+' + FUNCTION_TITLE,\n returnBegin: true,\n end: /[{;=]/,\n excludeEnd: true,\n keywords: KEYWORDS,\n illegal: /[^\\w\\s\\*&:<>.]/,\n contains: [\n { // to prevent it from being confused as the function title\n begin: DECLTYPE_AUTO_RE,\n keywords: KEYWORDS,\n relevance: 0\n },\n {\n begin: FUNCTION_TITLE,\n returnBegin: true,\n contains: [ hljs.inherit(TITLE_MODE, { className: \"title.function\" }) ],\n relevance: 0\n },\n // allow for multiple declarations, e.g.:\n // extern void f(int), g(char);\n {\n relevance: 0,\n match: /,/\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n TYPES,\n // Count matching parentheses.\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n 'self',\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n TYPES\n ]\n }\n ]\n },\n TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n PREPROCESSOR\n ]\n };\n\n return {\n name: \"C\",\n aliases: [ 'h' ],\n keywords: KEYWORDS,\n // Until differentiations are added between `c` and `cpp`, `c` will\n // not be auto-detected to avoid auto-detect conflicts between C and C++\n disableAutodetect: true,\n illegal: '</',\n contains: [].concat(\n EXPRESSION_CONTEXT,\n FUNCTION_DECLARATION,\n EXPRESSION_CONTAINS,\n [\n PREPROCESSOR,\n {\n begin: hljs.IDENT_RE + '::',\n keywords: KEYWORDS\n },\n {\n className: 'class',\n beginKeywords: 'enum class struct union',\n end: /[{;:<>=]/,\n contains: [\n { beginKeywords: \"final class struct\" },\n hljs.TITLE_MODE\n ]\n }\n ]),\n exports: {\n preprocessor: PREPROCESSOR,\n strings: STRINGS,\n keywords: KEYWORDS\n }\n };\n}\n\nexport { c as default };\n"],"x_google_ignoreList":[0],"mappings":"AAOA,SAAS,EAAE,EAAM,CACf,IAAM,EAAQ,EAAK,MAIb,EAAsB,EAAK,QAAQ,KAAM,IAAK,CAAE,SAAU,CAAE,CAAE,MAAO,OAAQ,CAAE,CAAE,CAAC,CAClF,EAAmB,qBACnB,EAAe,kBAEf,EAAmB,IACrB,EAAmB,IACnB,EAAM,SAAS,EAAa,CAC5B,gBAAkB,EAAM,SAJC,WAI6B,CACxD,IAGI,EAAQ,CACZ,UAAW,OACX,SAAU,CACR,CAAE,MAAO,qBAAsB,CAC/B,CAAE,MAAO,wBAAyB,CACnC,CAEF,CAKK,EAAU,CACd,UAAW,SACX,SAAU,CACR,CACE,MAAO,cACP,IAAK,IACL,QAAS,MACT,SAAU,CAAE,EAAK,iBAAkB,CACpC,CACD,CACE,MAAO,sEACP,IAAK,IACL,QAAS,IACV,CACD,EAAK,kBAAkB,CACrB,MAAO,mCACP,IAAK,sBACN,CAAC,CACH,CACF,CAEK,EAAU,CACd,UAAW,SACX,SAAU,CACR,CAAE,MAAO,eAAgB,CACzB,CAAE,MAAO,kFAAmF,CAC5F,CAAE,MAAO,mHAAoH,CAC7H,CAAE,MAAO,yDAA0D,CACtE,CACC,UAAW,EACZ,CAEK,EAAe,CACnB,UAAW,OACX,MAAO,eACP,IAAK,IACL,SAAU,CAAE,QACR,0GAC0D,CAC9D,SAAU,CACR,CACE,MAAO,OACP,UAAW,EACZ,CACD,EAAK,QAAQ,EAAS,CAAE,UAAW,SAAU,CAAC,CAC9C,CACE,UAAW,SACX,MAAO,QACR,CACD,EACA,EAAK,qBACN,CACF,CAEK,EAAa,CACjB,UAAW,QACX,MAAO,EAAM,SAAS,EAAa,CAAG,EAAK,SAC3C,UAAW,EACZ,CAEK,EAAiB,EAAM,SAAS,EAAa,CAAG,EAAK,SAAW,UAoFhE,EAAW,CACf,QAnFiB,sUA2ClB,CAyCC,KAvCc,4RAmCf,CAKC,QAAS,kBAET,SAAU,mzBASX,CAEK,EAAsB,CAC1B,EACA,EACA,EACA,EAAK,qBACL,EACA,EACD,CAEK,EAAqB,CAIzB,SAAU,CACR,CACE,MAAO,IACP,IAAK,IACN,CACD,CACE,MAAO,KACP,IAAK,KACN,CACD,CACE,cAAe,wBACf,IAAK,IACN,CACF,CACD,SAAU,EACV,SAAU,EAAoB,OAAO,CACnC,CACE,MAAO,KACP,IAAK,KACL,SAAU,EACV,SAAU,EAAoB,OAAO,CAAE,OAAQ,CAAC,CAChD,UAAW,EACZ,CACF,CAAC,CACF,UAAW,EACZ,CAEK,EAAuB,CAC3B,MAAO,IAAM,EAAmB,eAAiB,EACjD,YAAa,GACb,IAAK,QACL,WAAY,GACZ,SAAU,EACV,QAAS,iBACT,SAAU,CACR,CACE,MAAO,EACP,SAAU,EACV,UAAW,EACZ,CACD,CACE,MAAO,EACP,YAAa,GACb,SAAU,CAAE,EAAK,QAAQ,EAAY,CAAE,UAAW,iBAAkB,CAAC,CAAE,CACvE,UAAW,EACZ,CAGD,CACE,UAAW,EACX,MAAO,IACR,CACD,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAU,EACV,UAAW,EACX,SAAU,CACR,EACA,EAAK,qBACL,EACA,EACA,EAEA,CACE,MAAO,KACP,IAAK,KACL,SAAU,EACV,UAAW,EACX,SAAU,CACR,OACA,EACA,EAAK,qBACL,EACA,EACA,EACD,CACF,CACF,CACF,CACD,EACA,EACA,EAAK,qBACL,EACD,CACF,CAED,MAAO,CACL,KAAM,IACN,QAAS,CAAE,IAAK,CAChB,SAAU,EAGV,kBAAmB,GACnB,QAAS,KACT,SAAU,EAAE,CAAC,OACX,EACA,EACA,EACA,CACE,EACA,CACE,MAAO,EAAK,SAAW,KACvB,SAAU,EACX,CACD,CACE,UAAW,QACX,cAAe,0BACf,IAAK,WACL,SAAU,CACR,CAAE,cAAe,qBAAsB,CACvC,EAAK,WACN,CACF,CACF,CAAC,CACJ,QAAS,CACP,aAAc,EACd,QAAS,EACT,SAAU,EACX,CACF"}
|
|
@@ -7,19 +7,19 @@ import { n as g } from "./MSurface-B-sjyczH.js";
|
|
|
7
7
|
import { t as _ } from "./MText-CL-LPcXi.js";
|
|
8
8
|
import { t as v } from "./MHeading-B7KgSP4T.js";
|
|
9
9
|
import { t as y } from "./MLink-Bd8fLH1N.js";
|
|
10
|
-
import { t as b } from "./MButton-
|
|
11
|
-
import { t as x } from "./MCheckbox-
|
|
12
|
-
import { n as S } from "./MSkeleton-
|
|
13
|
-
import { r as C, t as w } from "./MGrid-
|
|
14
|
-
import { t as T } from "./MStack-
|
|
15
|
-
import { a as E, i as D, n as O, r as k, t as A } from "./MCard-
|
|
16
|
-
import { n as j, t as M } from "./MInputCVC-
|
|
17
|
-
import { t as N } from "./MAvatar-
|
|
18
|
-
import { n as ee, t as P } from "./MDetailList-
|
|
19
|
-
import { t as F } from "./MInputSearch-
|
|
20
|
-
import { t as I } from "./MTreeView-
|
|
21
|
-
import { i as te, r as ne } from "./MDropdownMenu-
|
|
22
|
-
import { t as L } from "./MPagination-
|
|
10
|
+
import { t as b } from "./MButton-C1pnL4_j.js";
|
|
11
|
+
import { t as x } from "./MCheckbox-B7SpcD4H.js";
|
|
12
|
+
import { n as S } from "./MSkeleton-C5uD4Axo.js";
|
|
13
|
+
import { r as C, t as w } from "./MGrid-Cy44dWyC.js";
|
|
14
|
+
import { t as T } from "./MStack-h11pHEmc.js";
|
|
15
|
+
import { a as E, i as D, n as O, r as k, t as A } from "./MCard-dLMQQ97e.js";
|
|
16
|
+
import { n as j, t as M } from "./MInputCVC-DNzDAbfU.js";
|
|
17
|
+
import { t as N } from "./MAvatar-BcO8hMnU.js";
|
|
18
|
+
import { n as ee, t as P } from "./MDetailList-zlwdeA-r.js";
|
|
19
|
+
import { t as F } from "./MInputSearch-Bswi-Kj0.js";
|
|
20
|
+
import { t as I } from "./MTreeView-DTsi4bye.js";
|
|
21
|
+
import { i as te, r as ne } from "./MDropdownMenu-omTEUh4V.js";
|
|
22
|
+
import { t as L } from "./MPagination-DpUtB6t6.js";
|
|
23
23
|
import { Children as re, Fragment as ie, cloneElement as R, isValidElement as z, useCallback as B, useEffect as ae, useMemo as V, useRef as oe, useState as H } from "react";
|
|
24
24
|
import { Fragment as se, jsx as U, jsxs as W } from "react/jsx-runtime";
|
|
25
25
|
//#region src/components/cards/shared/MCardColor.utils.tsx
|
|
@@ -1205,4 +1205,4 @@ function Ce({ title: e = "Documents", description: t, color: n = "primary", item
|
|
|
1205
1205
|
//#endregion
|
|
1206
1206
|
export { ge as a, Z as c, ue as d, J as f, ye as i, fe as l, $ as n, pe as o, q as p, Se as r, Q as s, Ce as t, de as u };
|
|
1207
1207
|
|
|
1208
|
-
//# sourceMappingURL=cards-
|
|
1208
|
+
//# sourceMappingURL=cards-BkRqUJ2V.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cards-C2t-pM0r.js","names":[],"sources":["../src/components/cards/shared/MCardColor.utils.tsx","../src/components/cards/MCardActionArea/MCardActionArea.tsx","../src/components/cards/MCardPayment/MCardPayment.tsx","../src/components/cards/MCardPaymentMethod/MCardPaymentMethod.tsx","../src/components/cards/ServiceCardsShared/ServiceCardsShared.tsx","../src/components/cards/MCardOffer/MCardOffer.tsx","../src/components/cards/MCardCourse/MCardCourse.tsx","../src/components/cards/MCardTile/MCardTile.tsx","../src/components/cards/MCardProduct/MCardProduct.tsx","../src/components/cards/MCardEvent/MCardEvent.tsx","../src/components/cards/MCardWidget/MCardWidget.tsx","../src/components/cards/MStatCard/MStatCard.tsx","../src/components/cards/MCardGrid/MCardGrid.tsx","../src/components/cards/MCardDaySchedule/MCardDaySchedule.tsx","../src/components/cards/MCardDocumentTree/MCardDocumentTree.tsx"],"sourcesContent":["import {Children, cloneElement, isValidElement} from 'react'\nimport type {ReactElement, ReactNode} from 'react'\nimport type {MColor} from '../../../theme'\nimport {MButton} from '../../controls'\n\nfunction getElementTypeName(type: unknown) {\n if (typeof type === 'string') {\n return type\n }\n\n if (typeof type === 'function') {\n const component = type as {displayName?: string; name?: string}\n\n return component.displayName ?? component.name ?? ''\n }\n\n if (typeof type === 'object' && type !== null) {\n const maybeType = type as {\n displayName?: string\n render?: {displayName?: string; name?: string}\n }\n\n return maybeType.displayName ?? maybeType.render?.displayName ?? maybeType.render?.name ?? ''\n }\n\n return ''\n}\n\nfunction shouldInheritColor(element: ReactElement) {\n const props = element.props as {color?: unknown}\n\n if (props.color !== undefined) {\n return false\n }\n\n if (element.type === MButton) {\n return true\n }\n\n const typeName = getElementTypeName(element.type)\n\n return typeName.startsWith('M') && typeName.endsWith('Icon')\n}\n\nexport function tintCardChildren(children: ReactNode, color?: MColor): ReactNode {\n if (!color) {\n return children\n }\n\n return Children.map(children, (child) => {\n if (!isValidElement(child)) {\n return child\n }\n\n const element = child as ReactElement<{children?: ReactNode}>\n const props = element.props\n const tintedChildren = props.children ? tintCardChildren(props.children, color) : props.children\n const nextProps: Record<string, unknown> = {}\n\n if (tintedChildren !== props.children) {\n nextProps.children = tintedChildren\n }\n\n if (shouldInheritColor(element)) {\n nextProps.color = color\n }\n\n if (!Object.keys(nextProps).length) {\n return element\n }\n\n return cloneElement(element, nextProps)\n })\n}\n","import type {PointerEvent} from 'react'\nimport type {MCardActionAreaProps} from './MCardActionArea.types'\nimport {cn} from '../../../utils/cn'\nimport {useInteractionEffect} from '../../../utils/useInteractionEffect'\nimport {resolveMCardAction, tintCardChildren} from '../shared'\nimport './MCardActionArea.css'\n\nexport function MCardActionArea({\n component,\n to,\n href,\n target,\n rel,\n color,\n interactive = true,\n clickEffect,\n rippleColor,\n className,\n children,\n onPointerDown,\n type,\n ...rest\n}: MCardActionAreaProps) {\n const {\n component: Component,\n href: resolvedHref,\n to: resolvedTo,\n isInteractive,\n } = resolveMCardAction({\n component,\n href,\n to,\n interactive,\n hasClickHandler: Boolean(rest.onClick),\n hasPointerHandler: Boolean(onPointerDown),\n fallbackComponent: 'button',\n })\n const {effectClassName, effectLayer, handlePointerDown} = useInteractionEffect<HTMLElement>({\n effect: clickEffect ?? (isInteractive ? 'ripple' : 'none'),\n disabled: !isInteractive,\n color: rippleColor,\n })\n\n return (\n <Component\n href={Component === 'a' || component ? resolvedHref : undefined}\n to={resolvedTo}\n target={target}\n rel={rel}\n type={Component === 'button' ? (type ?? 'button') : undefined}\n className={cn(\n 'card-action-area',\n color && `color-${color}`,\n isInteractive && 'interactive',\n effectClassName,\n className\n )}\n onPointerDown={(event: PointerEvent<HTMLElement>) => {\n handlePointerDown(event)\n onPointerDown?.(event as PointerEvent<HTMLButtonElement>)\n }}\n {...rest}\n >\n {effectLayer}\n <span className=\"card-action-area-content\">{tintCardChildren(children, color)}</span>\n </Component>\n )\n}\n","import type {PointerEvent} from 'react'\nimport type {MCardPaymentProps} from './MCardPayment.types'\nimport {cn} from '../../../utils/cn'\nimport {creditCardBrands, detectCardBrand} from '../../../utils/creditCards'\nimport {useInteractionEffect} from '../../../utils/useInteractionEffect'\nimport {resolveMCardAction} from '../shared'\nimport './MCardPayment.css'\n\nfunction maskNumber(raw: string): string {\n const digits = raw.replace(/\\D/g, '')\n if (digits.length <= 4) return digits\n const last4 = digits.slice(-4)\n return `\\u2022\\u2022\\u2022\\u2022 \\u2022\\u2022\\u2022\\u2022 \\u2022\\u2022\\u2022\\u2022 ${last4}`\n}\n\n// Display-only payment card with balance, masked number, holder name and brand badge.\nexport function MCardPayment({\n component,\n to,\n href,\n target,\n rel,\n holder,\n number,\n expiry,\n brand,\n brandIcon,\n balance,\n balanceLabel = 'Current balance',\n color,\n interactive = false,\n clickEffect,\n rippleColor,\n className,\n onPointerDown,\n ...rest\n}: MCardPaymentProps) {\n const detectedDetails = detectCardBrand(number)\n const detected = brand ?? detectedDetails.brand\n const brandDetails = creditCardBrands.find((rule) => rule.brand === detected) ?? detectedDetails\n const masked = maskNumber(number)\n const brandLabel = brandDetails.iconLabel\n const {\n component: Component,\n href: resolvedHref,\n to: resolvedTo,\n isInteractive,\n } = resolveMCardAction({\n component,\n href,\n to,\n interactive,\n hasClickHandler: Boolean(rest.onClick),\n hasPointerHandler: Boolean(onPointerDown),\n })\n const {effectClassName, effectLayer, handlePointerDown} = useInteractionEffect<HTMLDivElement>({\n effect: clickEffect ?? (isInteractive ? 'ripple' : 'none'),\n disabled: !isInteractive,\n color: rippleColor,\n })\n\n return (\n <Component\n href={Component === 'a' || component ? resolvedHref : undefined}\n to={resolvedTo}\n target={target}\n rel={rel}\n className={cn(\n 'card-payment',\n color || 'primary',\n isInteractive && 'interactive',\n effectClassName,\n className\n )}\n onPointerDown={(event: PointerEvent<HTMLDivElement>) => {\n handlePointerDown(event)\n onPointerDown?.(event)\n }}\n {...rest}\n >\n {effectLayer}\n {balance !== undefined && (\n <div>\n <p className=\"cp-balance-label\">{balanceLabel}</p>\n <p className=\"cp-balance\">{balance}</p>\n </div>\n )}\n\n <div className=\"cp-row\">\n <span className={cn('cp-brand', !brandIcon && detected)}>{brandIcon ?? brandLabel}</span>\n <span className=\"cp-number\">{masked}</span>\n </div>\n\n <div className=\"cp-details\">\n <div>\n <p className=\"cp-field-label\">MCard holder</p>\n <p className=\"cp-field-value\">{holder}</p>\n </div>\n <div>\n <p className=\"cp-field-label\">Expiration date</p>\n <p className=\"cp-field-value\">{expiry}</p>\n </div>\n </div>\n </Component>\n )\n}\n","import type {MCardPaymentMethodProps} from './MCardPaymentMethod.types'\nimport {cn} from '../../../utils/cn'\nimport {creditCardBrands} from '../../../utils/creditCards'\nimport {MArrowRightIcon} from '../../../icons'\nimport {MBadge} from '../../feedback'\nimport {MInline} from '../../layout'\nimport {MLink, MText} from '../../typography'\nimport {MInputExpDate} from '../../inputs/MInputExpDate'\nimport {MInputCVC} from '../../inputs/MInputCVC'\nimport './MCardPaymentMethod.css'\n\nfunction resolveBrandLabel(brand: NonNullable<MCardPaymentMethodProps['brand']>) {\n return creditCardBrands.find((item) => item.brand === brand)?.iconLabel ?? 'CARD'\n}\n\nexport function MCardPaymentMethod({\n title = 'Your payment methods',\n actionLabel = 'Change',\n actionHref = '#',\n onAction,\n brand = 'visa',\n brandIcon,\n last4,\n badgeLabel,\n summary,\n helperText = 'All fields are required, unless stated otherwise.',\n expiryLabel = 'Expiration date',\n cvcLabel = 'Security code',\n expiryProps,\n cvcProps,\n color,\n className,\n ...rest\n}: MCardPaymentMethodProps) {\n const expirySummary = expiryProps?.value ?? expiryProps?.defaultValue\n const resolvedBadgeLabel = badgeLabel === undefined ? 'Default' : badgeLabel\n const derivedSummary = expirySummary\n ? `Credit card - Expiration date ${String(expirySummary).replace('/', '.')}`\n : 'Credit card'\n const resolvedSummary = summary === undefined ? derivedSummary : summary\n const brandLabel = resolveBrandLabel(brand)\n const resolvedExpiryProps = {\n clearable: true,\n ...expiryProps,\n }\n\n return (\n <div className={cn('card-payment-method', color || 'primary', className)} {...rest}>\n <div className={'cpm-header'}>\n <h3 className={'cpm-title'}>{title}</h3>\n <MLink\n href={actionHref}\n tone={'accent'}\n underline={'none'}\n className={'cpm-action'}\n onClick={(event) => {\n if (onAction) {\n event.preventDefault()\n onAction()\n }\n }}\n >\n {actionLabel}\n <MArrowRightIcon />\n </MLink>\n </div>\n\n <div className={'cpm-surface'}>\n <div className={'cpm-method'}>\n <MInline align={'center'} className={'cpm-method-row'}>\n <span className={cn('cpm-brand', !brandIcon && brand)}>{brandIcon ?? brandLabel}</span>\n <span className={'cpm-last4'}>{`\\u2022\\u2022\\u2022\\u2022 ${last4}`}</span>\n {resolvedBadgeLabel && <MBadge color={'info'}>{resolvedBadgeLabel}</MBadge>}\n </MInline>\n {resolvedSummary && (\n <MText tone={'muted'} className={'cpm-summary'}>\n {resolvedSummary}\n </MText>\n )}\n </div>\n\n {helperText && (\n <MText tone={'muted'} size={'sm'} className={'cpm-helper'}>\n {helperText}\n </MText>\n )}\n\n <div className={'cpm-fields'}>\n <MInputExpDate label={expiryLabel} placeholder={'MM/YYYY'} fullWidth {...resolvedExpiryProps} />\n <MInputCVC label={cvcLabel} placeholder={'123'} fullWidth {...cvcProps} />\n </div>\n </div>\n </div>\n )\n}\n","import {useEffect, useState} from 'react'\nimport type {SharedServiceCardProps} from './ServiceCardsShared.types'\nimport {cn} from '../../../utils/cn'\nimport {MClockIcon, MEllipsisVerticalIcon, MHeartFillIcon, MHeartIcon, MMinusIcon, MPlusIcon} from '../../../icons'\nimport {MButton} from '../../controls'\nimport {MBadge} from '../../feedback'\nimport {MAvatar} from '../../media'\nimport {MRating} from '../../display'\nimport {MDropdownItem, MDropdownMenu} from '../../overlays'\nimport './ServiceCardsShared.css'\n\nexport function SharedServiceCard({\n variant,\n title,\n description,\n price,\n currency = 'PLN',\n duration,\n available,\n image,\n gallery,\n galleryAutoPlay = false,\n rating,\n reviewCount,\n favorite,\n onFavorite,\n menuItems,\n onAddToCart,\n actionLabel,\n icon,\n color = 'primary',\n leader,\n participants,\n maxParticipants,\n quantity: controlledQty,\n onQuantityChange,\n showQuantity = true,\n date,\n location,\n status,\n className,\n ...rest\n}: SharedServiceCardProps) {\n const [galleryIdx, setGalleryIdx] = useState(0)\n const [isGalleryTransitioning, setIsGalleryTransitioning] = useState(false)\n const [internalQty, setInternalQty] = useState(1)\n\n const qty = controlledQty ?? internalQty\n const images = gallery && gallery.length > 0 ? gallery : image ? [image] : []\n\n useEffect(() => {\n if (galleryIdx >= images.length) {\n setGalleryIdx(0)\n }\n }, [galleryIdx, images.length])\n\n useEffect(() => {\n if (!isGalleryTransitioning) {\n return\n }\n\n const transitionId = window.setTimeout(() => {\n setIsGalleryTransitioning(false)\n }, 220)\n\n return () => window.clearTimeout(transitionId)\n }, [galleryIdx, isGalleryTransitioning])\n\n function changeGallery(nextIdx: number) {\n if (nextIdx === galleryIdx || nextIdx < 0 || nextIdx >= images.length) {\n return\n }\n\n if (images.length > 1) {\n setIsGalleryTransitioning(true)\n }\n\n setGalleryIdx(nextIdx)\n }\n\n useEffect(() => {\n if (!galleryAutoPlay || images.length <= 1) {\n return\n }\n\n const intervalId = window.setInterval(() => {\n setIsGalleryTransitioning(true)\n setGalleryIdx((current) => (current + 1) % images.length)\n }, 3500)\n\n return () => window.clearInterval(intervalId)\n }, [galleryAutoPlay, images.length])\n\n function changeQty(next: number) {\n const val = Math.max(1, next)\n if (onQuantityChange) onQuantityChange(val)\n else setInternalQty(val)\n }\n\n const availLabel =\n available === true\n ? 'Available'\n : available === false\n ? 'Unavailable'\n : typeof available === 'number'\n ? `${available} spots`\n : null\n\n const parsedDate = date ? (date instanceof Date ? date : new Date(date)) : null\n const dateDay = parsedDate ? parsedDate.getDate() : null\n const dateMonth = parsedDate ? parsedDate.toLocaleString('en', {month: 'short'}).toUpperCase() : null\n\n return (\n <div className={cn('card-service', variant, `color-${color}`, className)} {...rest}>\n {images.length > 0 && (\n <div className=\"cs-gallery\">\n <img\n src={images[galleryIdx]}\n alt={title}\n className={cn('cs-image', isGalleryTransitioning && 'is-transitioning')}\n />\n {images.length > 1 && (\n <div className=\"cs-gallery-dots\">\n {images.map((_, i) => (\n <button\n key={i}\n type=\"button\"\n className={cn('cs-dot', i === galleryIdx && 'active')}\n onClick={() => changeGallery(i)}\n aria-label={`Image ${i + 1}`}\n />\n ))}\n </div>\n )}\n\n {(onFavorite || (menuItems && menuItems.length > 0)) && (\n <div className=\"cs-gallery-actions\">\n {menuItems && menuItems.length > 0 && (\n <MDropdownMenu\n className=\"cs-menu-wrap\"\n trigger={\n <MButton\n variant=\"ghost\"\n iconOnly\n shape=\"circle\"\n aria-label=\"More options\"\n className=\"cs-overlay-btn\"\n >\n <MEllipsisVerticalIcon />\n </MButton>\n }\n placement=\"bottom-end\"\n >\n {menuItems.map((item, i) => (\n <MDropdownItem\n key={i}\n icon={item.icon}\n color={item.danger ? 'error' : undefined}\n label={item.label}\n onClick={item.onClick}\n />\n ))}\n </MDropdownMenu>\n )}\n {onFavorite && (\n <MButton\n variant=\"ghost\"\n iconOnly\n shape=\"circle\"\n onClick={onFavorite}\n aria-label={favorite ? 'Remove from favorites' : 'Add to favorites'}\n className={cn('cs-overlay-btn', favorite && 'cs-fav-active')}\n >\n {favorite ? <MHeartFillIcon /> : <MHeartIcon />}\n </MButton>\n )}\n </div>\n )}\n </div>\n )}\n\n <div className=\"cs-body\">\n {variant === 'event' && parsedDate && (\n <div className=\"cs-event-header\">\n <div className=\"cs-date-block\">\n <span className=\"cs-date-day\">{dateDay}</span>\n <span className=\"cs-date-month\">{dateMonth}</span>\n </div>\n <div className=\"cs-event-info\">\n <h3 className=\"cs-title\">{title}</h3>\n {description && <p className=\"cs-desc\">{description}</p>}\n </div>\n </div>\n )}\n\n {variant !== 'event' && (\n <>\n <div className=\"cs-top\">\n {icon && <span className=\"cs-icon\">{icon}</span>}\n <h3 className=\"cs-title\">{title}</h3>\n </div>\n {description && <p className=\"cs-desc\">{description}</p>}\n </>\n )}\n\n {variant === 'event' && !parsedDate && (\n <>\n <div className=\"cs-top\">\n {icon && <span className=\"cs-icon\">{icon}</span>}\n <h3 className=\"cs-title\">{title}</h3>\n </div>\n {description && <p className=\"cs-desc\">{description}</p>}\n </>\n )}\n\n {rating !== undefined && (\n <div className=\"cs-rating\">\n <MRating value={Math.round(rating)} size=\"sm\" color=\"warning\" readOnly className=\"cs-stars\" />\n <span className=\"cs-rating-value\">{rating.toFixed(1)}</span>\n {reviewCount !== undefined && <span className=\"cs-review-count\">({reviewCount})</span>}\n </div>\n )}\n\n {leader && (\n <div className=\"cs-leader\">\n <MAvatar src={leader.avatar} name={leader.name} size={28} color={color} />\n <span className=\"cs-leader-name\">{leader.name}</span>\n </div>\n )}\n\n {variant === 'course' && participants && (\n <div className=\"cs-participants\">\n <div className=\"cs-participants-avatars\">\n {participants.slice(0, 4).map((participant, index) => (\n <MAvatar\n key={`${participant.name}-${index}`}\n src={participant.avatar}\n name={participant.name}\n size={28}\n color={color}\n className=\"cs-participant-avatar\"\n />\n ))}\n </div>\n {maxParticipants && (\n <span className=\"cs-spots\">\n {participants.length}/{maxParticipants}\n </span>\n )}\n </div>\n )}\n\n <div className=\"cs-meta\">\n {variant === 'event' && location && (\n <MBadge size=\"xs\" color={color}>\n {location}\n </MBadge>\n )}\n {duration && (\n <MBadge size=\"xs\" color={color} icon={<MClockIcon />}>\n {duration}\n </MBadge>\n )}\n {variant === 'event' && status && (\n <MBadge size=\"xs\" color={status.toLowerCase() === 'sold out' ? 'error' : color}>\n {status}\n </MBadge>\n )}\n {availLabel && variant !== 'event' && (\n <MBadge size=\"xs\" color={available === false ? 'error' : color}>\n {availLabel}\n </MBadge>\n )}\n </div>\n </div>\n\n <div className=\"cs-footer\">\n {price !== undefined && (\n <span className=\"cs-price\">\n {typeof price === 'number' ? price.toFixed(2) : price}{' '}\n <span className=\"cs-currency\">{currency}</span>\n </span>\n )}\n\n <div className=\"cs-actions\">\n {variant === 'product' && onAddToCart && showQuantity && (\n <div className=\"cs-qty\">\n <MButton\n variant=\"ghost\"\n iconOnly\n size=\"sm\"\n onClick={() => changeQty(qty - 1)}\n aria-label=\"Decrease\"\n className=\"cs-qty-btn\"\n >\n <MMinusIcon />\n </MButton>\n <span className=\"cs-qty-value\">{qty}</span>\n <MButton\n variant=\"ghost\"\n iconOnly\n size=\"sm\"\n onClick={() => changeQty(qty + 1)}\n aria-label=\"Increase\"\n className=\"cs-qty-btn\"\n >\n <MPlusIcon />\n </MButton>\n </div>\n )}\n {onAddToCart && (\n <MButton\n variant=\"filled\"\n size=\"sm\"\n color={color}\n onClick={() => onAddToCart(qty)}\n disabled={available === false}\n className=\"cs-cart-btn\"\n >\n {actionLabel ?? (variant === 'event' ? 'Register' : 'Add to cart')}\n </MButton>\n )}\n </div>\n </div>\n </div>\n )\n}\n","import type {MCardOfferProps} from './MCardOffer.types'\nimport {SharedServiceCard} from '../ServiceCardsShared/ServiceCardsShared'\n\nexport function MCardOffer(props: MCardOfferProps) {\n const {onAction, actionLabel = 'Book now', ...rest} = props\n\n return (\n <SharedServiceCard\n variant=\"service\"\n onAddToCart={onAction ? () => onAction() : undefined}\n actionLabel={actionLabel}\n {...rest}\n />\n )\n}\n","import type {MCardCourseProps} from './MCardCourse.types'\nimport {SharedServiceCard} from '../ServiceCardsShared/ServiceCardsShared'\n\nexport function MCardCourse(props: MCardCourseProps) {\n const {onAction, actionLabel = 'Join course', ...rest} = props\n\n return (\n <SharedServiceCard\n variant=\"course\"\n onAddToCart={onAction ? () => onAction() : undefined}\n actionLabel={actionLabel}\n {...rest}\n />\n )\n}\n","import {useEffect, useRef} from 'react'\nimport type {MouseEvent} from 'react'\nimport type {MCardTileProps} from './MCardTile.types'\nimport {cn} from '../../../utils/cn'\nimport {useInteractionEffect} from '../../../utils/useInteractionEffect'\nimport {MEllipsisVerticalIcon, MHeartFillIcon, MHeartIcon} from '../../../icons'\nimport {MButton} from '../../controls'\nimport {MDropdownItem, MDropdownMenu} from '../../overlays'\nimport {resolveMCardAction} from '../shared'\nimport './MCardTile.css'\n\n// Tile card: whole surface acts as a link/button, media can fill the card with text overlay.\n// Media can be an image URL, a video URL, an MIllustration element, or a live camera stream.\nexport function MCardTile({\n component,\n title,\n description,\n icon,\n color = 'primary',\n to,\n href,\n target,\n rel,\n onClick,\n interactive = false,\n clickEffect,\n rippleColor,\n image,\n video,\n illustration,\n camera,\n mediaFill = false,\n overlayPosition = 'bottom',\n favorite,\n onFavorite,\n menuItems,\n className,\n ...rest\n}: MCardTileProps) {\n const videoRef = useRef<HTMLVideoElement>(null)\n\n useEffect(() => {\n if (!camera) {\n return\n }\n\n const node = videoRef.current\n if (!node || typeof navigator === 'undefined' || !navigator.mediaDevices?.getUserMedia) {\n return\n }\n\n let activeStream: MediaStream | null = null\n let cancelled = false\n const constraints: MediaStreamConstraints = camera === true ? {video: true} : camera\n\n navigator.mediaDevices\n .getUserMedia(constraints)\n .then((stream) => {\n if (cancelled) {\n stream.getTracks().forEach((track) => track.stop())\n return\n }\n activeStream = stream\n node.srcObject = stream\n void node.play().catch(() => undefined)\n })\n .catch(() => undefined)\n\n return () => {\n cancelled = true\n if (activeStream) {\n activeStream.getTracks().forEach((track) => track.stop())\n }\n node.srcObject = null\n }\n }, [camera])\n\n const hasMedia = Boolean(image || video || illustration || camera)\n const {\n component: OverlayComponent,\n href: resolvedHref,\n to: resolvedTo,\n isInteractive,\n isLink,\n } = resolveMCardAction({\n component,\n href,\n to,\n interactive,\n hasClickHandler: Boolean(onClick),\n fallbackComponent: 'button',\n })\n const fillMedia = mediaFill && hasMedia\n const {effectClassName, effectLayer, handlePointerDown} = useInteractionEffect<HTMLDivElement>({\n effect: clickEffect ?? (isInteractive ? 'ripple' : 'none'),\n disabled: !isInteractive,\n color: rippleColor,\n })\n\n function stopBubble(event: MouseEvent) {\n event.stopPropagation()\n }\n\n function handleOverlayClick(event: MouseEvent<HTMLElement>) {\n if (onClick) {\n event.preventDefault()\n onClick()\n }\n }\n\n function renderMedia() {\n if (!hasMedia) {\n return null\n }\n\n return (\n <div className={cn('tile-media', fillMedia && 'fill')}>\n {image && <img src={image} alt={title} className=\"tile-image\" />}\n {video && (\n <video src={video} className=\"tile-video\" autoPlay muted loop playsInline aria-label={title} />\n )}\n {camera && (\n <video ref={videoRef} className=\"tile-video\" autoPlay muted playsInline aria-label={title} />\n )}\n {illustration && <div className=\"tile-illustration\">{illustration}</div>}\n {fillMedia && <div className={cn('tile-scrim', `scrim-${overlayPosition}`)} />}\n </div>\n )\n }\n\n function renderBody() {\n return (\n <div className={cn('tile-body', fillMedia && 'overlay', fillMedia && `pos-${overlayPosition}`)}>\n <div className=\"tile-top\">\n {icon && <span className=\"tile-icon\">{icon}</span>}\n <h3 className=\"tile-title\">{title}</h3>\n </div>\n {description && <p className=\"tile-desc\">{description}</p>}\n </div>\n )\n }\n\n const hasActions = onFavorite || (menuItems && menuItems.length > 0)\n\n return (\n <div\n className={cn(\n 'card-tile',\n `color-${color}`,\n fillMedia && 'media-fill',\n isInteractive && 'interactive',\n effectClassName,\n className\n )}\n onPointerDown={handlePointerDown}\n {...rest}\n >\n {effectLayer}\n {isLink && (\n <OverlayComponent\n href={OverlayComponent === 'a' || component ? resolvedHref : undefined}\n to={resolvedTo}\n target={target}\n rel={rel}\n className=\"tile-link\"\n aria-label={title}\n onClick={onClick ? handleOverlayClick : undefined}\n />\n )}\n {!isLink && onClick && (\n <OverlayComponent type=\"button\" className=\"tile-link\" aria-label={title} onClick={onClick} />\n )}\n\n {renderMedia()}\n {renderBody()}\n\n {hasActions && (\n <div className=\"tile-actions\" onClick={stopBubble} onPointerDown={stopBubble}>\n {menuItems && menuItems.length > 0 && (\n <MDropdownMenu\n className=\"tile-menu-wrap\"\n trigger={\n <MButton\n variant=\"ghost\"\n iconOnly\n shape=\"circle\"\n aria-label=\"More options\"\n className=\"tile-overlay-btn\"\n >\n <MEllipsisVerticalIcon />\n </MButton>\n }\n placement=\"bottom-end\"\n >\n {menuItems.map((item, i) => (\n <MDropdownItem\n key={i}\n icon={item.icon}\n color={item.danger ? 'error' : undefined}\n label={item.label}\n onClick={item.onClick}\n />\n ))}\n </MDropdownMenu>\n )}\n {onFavorite && (\n <MButton\n variant=\"ghost\"\n iconOnly\n shape=\"circle\"\n onClick={onFavorite}\n aria-label={favorite ? 'Remove from favorites' : 'Add to favorites'}\n className={cn('tile-overlay-btn', favorite && 'tile-fav-active')}\n >\n {favorite ? <MHeartFillIcon /> : <MHeartIcon />}\n </MButton>\n )}\n </div>\n )}\n </div>\n )\n}\n","import type {MCardProductProps} from './MCardProduct.types'\nimport {SharedServiceCard} from '../ServiceCardsShared/ServiceCardsShared'\n\nexport function MCardProduct(props: MCardProductProps) {\n const {addToCartLabel = 'Add to cart', ...rest} = props\n\n return <SharedServiceCard variant=\"product\" actionLabel={addToCartLabel} {...rest} />\n}\n","import type {MCardEventProps} from './MCardEvent.types'\nimport {SharedServiceCard} from '../ServiceCardsShared/ServiceCardsShared'\n\nexport function MCardEvent(props: MCardEventProps) {\n const {onRegister, registerLabel = 'Register', ...rest} = props\n\n return (\n <SharedServiceCard\n variant=\"event\"\n onAddToCart={onRegister ? () => onRegister() : undefined}\n actionLabel={registerLabel}\n {...rest}\n />\n )\n}\n","import type {PointerEvent} from 'react'\nimport type {MCardWidgetProps} from './MCardWidget.types'\nimport {cn} from '../../../utils/cn'\nimport {MArrowDownIcon, MArrowUpIcon} from '../../../icons'\nimport {useInteractionEffect} from '../../../utils/useInteractionEffect'\nimport {resolveMCardAction} from '../shared'\nimport './MCardWidget.css'\n\nfunction resolveTrendType(trend: MCardWidgetProps['trend'], explicit?: MCardWidgetProps['trendType']) {\n if (explicit) return explicit\n if (typeof trend !== 'number' || trend === 0) return 'neutral'\n return trend > 0 ? 'up' : 'down'\n}\n\nfunction formatTrend(trend: MCardWidgetProps['trend']) {\n if (typeof trend === 'number' && trend > 0) {\n return `+${trend}`\n }\n\n return trend\n}\n\nexport function MCardWidget({\n component,\n to,\n href,\n target,\n rel,\n title,\n value,\n trend,\n trendType,\n icon,\n color = 'primary',\n helperText,\n interactive = false,\n clickEffect,\n rippleColor,\n className,\n onPointerDown,\n ...rest\n}: MCardWidgetProps) {\n const hasTrend = trend !== undefined && trend !== null\n const resolvedTrendType = resolveTrendType(trend, trendType)\n const formattedTrend = formatTrend(trend)\n const {\n component: Component,\n href: resolvedHref,\n to: resolvedTo,\n isInteractive,\n } = resolveMCardAction({\n component,\n href,\n to,\n interactive,\n hasClickHandler: Boolean(rest.onClick),\n hasPointerHandler: Boolean(onPointerDown),\n })\n const {effectClassName, effectLayer, handlePointerDown} = useInteractionEffect<HTMLDivElement>({\n effect: clickEffect ?? (isInteractive ? 'ripple' : 'none'),\n disabled: !isInteractive,\n color: rippleColor,\n })\n\n return (\n <Component\n href={Component === 'a' || component ? resolvedHref : undefined}\n to={resolvedTo}\n target={target}\n rel={rel}\n className={cn('card-widget', `color-${color}`, isInteractive && 'interactive', effectClassName, className)}\n onPointerDown={(event: PointerEvent<HTMLDivElement>) => {\n handlePointerDown(event)\n onPointerDown?.(event)\n }}\n {...rest}\n >\n {effectLayer}\n <div className=\"cw-top\">\n <div className=\"cw-meta\">\n <span className=\"cw-title\">{title}</span>\n <span className=\"cw-value\">{value}</span>\n </div>\n {icon && <span className=\"cw-icon\">{icon}</span>}\n </div>\n\n {hasTrend && (\n <div className=\"cw-bottom\">\n <span className={cn('cw-trend', resolvedTrendType)}>\n {resolvedTrendType === 'up' && <MArrowUpIcon size={14} />}\n {resolvedTrendType === 'down' && <MArrowDownIcon size={14} />}\n <span>{formattedTrend}</span>\n </span>\n </div>\n )}\n\n {helperText && <div className=\"cw-helper\">{helperText}</div>}\n </Component>\n )\n}\n","import type {MCardStatProps} from './MStatCard.types'\nimport {MCard} from '../MCard'\nimport {MText} from '../../typography'\nimport {MInline, MStack} from '../../layout'\nimport {MArrowDownIcon, MArrowUpIcon} from '../../../icons'\nimport {cn} from '../../../utils/cn'\nimport './MStatCard.css'\n\nfunction resolveTrendType(trend: MCardStatProps['trend'], explicit?: MCardStatProps['trendType']) {\n if (explicit) {\n return explicit\n }\n\n if (typeof trend !== 'number' || trend === 0) {\n return 'neutral'\n }\n\n return trend > 0 ? 'up' : 'down'\n}\n\nfunction formatTrend(trend: MCardStatProps['trend']) {\n if (typeof trend === 'number' && trend > 0) {\n return `+${trend}`\n }\n\n return trend\n}\n\nexport function MCardStat({\n label,\n value,\n icon,\n badge,\n helperText,\n trend,\n trendType,\n color = 'primary',\n className,\n ...rest\n}: MCardStatProps) {\n const hasTrend = trend !== undefined && trend !== null\n const resolvedTrendType = resolveTrendType(trend, trendType)\n\n return (\n <MCard className={cn('stat-card', `color-${color}`, className)} {...rest}>\n <MStack spacing={'md'}>\n <MInline justify={'between'} align={'start'}>\n <MStack spacing={'xs'}>\n <span className=\"stat-card-label\">{label}</span>\n <span className=\"stat-card-value\">{value}</span>\n </MStack>\n <MInline align={'center'}>\n {badge}\n {icon && <span className=\"stat-card-icon\">{icon}</span>}\n </MInline>\n </MInline>\n\n {(hasTrend || helperText) && (\n <MInline justify={'between'} align={'center'}>\n {hasTrend ? (\n <span className={cn('stat-card-trend', resolvedTrendType)}>\n {resolvedTrendType === 'up' && <MArrowUpIcon size={14} />}\n {resolvedTrendType === 'down' && <MArrowDownIcon size={14} />}\n <span>{formatTrend(trend)}</span>\n </span>\n ) : (\n <span />\n )}\n {helperText && (\n <MText size={'sm'} tone={'muted'}>\n {helperText}\n </MText>\n )}\n </MInline>\n )}\n </MStack>\n </MCard>\n )\n}\n","import {Fragment, useState, useMemo, useRef, useCallback, type CSSProperties} from 'react'\nimport type {MCardGridProps, MCardGridResponsiveColumns, MCardGridSort} from './MCardGrid.types'\nimport {cn} from '../../../utils/cn'\nimport {MButton, MCheckbox} from '../../controls'\nimport {MInputSearch} from '../../inputs'\nimport {MPagination} from '../../layout'\nimport {MPopover} from '../../primitives'\nimport {MArrowDownIcon, MArrowUpIcon, MFilterIcon, MSortIcon} from '../../../icons'\nimport './MCardGrid.css'\n\n/**\n * Builds inline style for `.card-grid-items`:\n * - `number` → hard `grid-template-columns: repeat(N, 1fr)` (overrides every breakpoint).\n * - responsive object → CSS custom properties (`--cols-base`, `--cols-sm`, ...) consumed\n * by `min-width` media queries in `MCardGrid.css`. Missing breakpoints cascade through\n * the `var()` fallback chain (xxl → xl → lg → md → sm → base → 1).\n */\nfunction buildColumnsStyle(columns: number | MCardGridResponsiveColumns): CSSProperties {\n if (typeof columns === 'number') return {gridTemplateColumns: `repeat(${columns}, 1fr)`}\n\n const style: Record<string, string | number> = {}\n if (columns.base !== undefined) style['--cols-base'] = columns.base\n if (columns.sm !== undefined) style['--cols-sm'] = columns.sm\n if (columns.md !== undefined) style['--cols-md'] = columns.md\n if (columns.lg !== undefined) style['--cols-lg'] = columns.lg\n if (columns.xl !== undefined) style['--cols-xl'] = columns.xl\n if (columns.xxl !== undefined) style['--cols-xxl'] = columns.xxl\n return style as CSSProperties\n}\n\nfunction getNestedValue(obj: unknown, key: string): unknown {\n const parts = key.split('.')\n let val: unknown = obj\n\n for (const p of parts) {\n if (val == null || typeof val !== 'object') return undefined\n val = (val as Record<string, unknown>)[p]\n }\n\n return val\n}\n\nexport function MCardGrid<T extends Record<string, unknown>>({\n items,\n renderCard,\n color = 'primary',\n searchable = false,\n searchKeys,\n searchPlaceholder = 'Search...',\n search: controlledSearch,\n onSearchChange,\n filterable = false,\n filterKeys = [],\n filters: controlledFilters,\n onFiltersChange,\n sortable = false,\n sortKeys = [],\n defaultSort,\n sort: controlledSort,\n onSortChange,\n pagination = false,\n pageSize = 12,\n page: controlledPage,\n onPageChange,\n total,\n manualSearch = false,\n manualFilters = false,\n manualSort = false,\n manualPagination = false,\n columns = 3,\n emptyMessage = 'No results found.',\n className,\n style,\n ...rest\n}: MCardGridProps<T>) {\n const [internalSearch, setInternalSearch] = useState('')\n const [internalFilters, setInternalFilters] = useState<Record<string, string[]>>({})\n const [internalSort, setInternalSort] = useState<MCardGridSort<T> | null>(defaultSort ?? null)\n const [internalPage, setInternalPage] = useState(1)\n const [filterOpen, setFilterOpen] = useState(false)\n const [sortOpen, setSortOpen] = useState(false)\n const filterBtnRef = useRef<HTMLElement>(null)\n const sortBtnRef = useRef<HTMLElement>(null)\n\n const search = controlledSearch !== undefined ? controlledSearch : internalSearch\n const filters = controlledFilters !== undefined ? controlledFilters : internalFilters\n const sort = controlledSort !== undefined ? controlledSort : internalSort\n const page = controlledPage !== undefined ? controlledPage : internalPage\n\n const setSearch = useCallback(\n (next: string) => {\n if (controlledSearch === undefined) setInternalSearch(next)\n if (!manualPagination && controlledPage === undefined) setInternalPage(1)\n onSearchChange?.(next)\n },\n [controlledSearch, controlledPage, manualPagination, onSearchChange]\n )\n\n const setFilters = useCallback(\n (next: Record<string, string[]>) => {\n if (controlledFilters === undefined) setInternalFilters(next)\n if (!manualPagination && controlledPage === undefined) setInternalPage(1)\n onFiltersChange?.(next)\n },\n [controlledFilters, controlledPage, manualPagination, onFiltersChange]\n )\n\n const setSort = useCallback(\n (next: MCardGridSort<T> | null) => {\n if (controlledSort === undefined) setInternalSort(next)\n if (!manualPagination && controlledPage === undefined) setInternalPage(1)\n onSortChange?.(next)\n },\n [controlledSort, controlledPage, manualPagination, onSortChange]\n )\n\n const rootRef = useRef<HTMLDivElement>(null)\n\n const setPage = useCallback(\n (next: number) => {\n if (controlledPage === undefined) setInternalPage(next)\n onPageChange?.(next)\n // After page change, bring the top of the grid back into view so\n // the user does not stay scrolled deep into the previous page's cards.\n rootRef.current?.scrollIntoView({block: 'start', behavior: 'smooth'})\n },\n [controlledPage, onPageChange]\n )\n\n const openFilter = useCallback(() => {\n setFilterOpen((v) => !v)\n setSortOpen(false)\n }, [])\n\n const openSort = useCallback(() => {\n setSortOpen((v) => !v)\n setFilterOpen(false)\n }, [])\n\n const processed = useMemo(() => {\n let result = items\n\n if (!manualSearch && search && searchKeys && searchKeys.length > 0) {\n const query = search.toLowerCase()\n result = result.filter((item) =>\n searchKeys.some((key) => {\n const value = getNestedValue(item, key)\n return value != null && String(value).toLowerCase().includes(query)\n })\n )\n }\n\n if (!manualFilters) {\n for (const [key, selected] of Object.entries(filters)) {\n if (!selected || selected.length === 0) continue\n\n result = result.filter((item) => {\n const value = getNestedValue(item, key)\n return value != null && selected.includes(String(value))\n })\n }\n }\n\n if (!manualSort && sort) {\n result = [...result].sort((a, b) => {\n const av = getNestedValue(a, sort.key)\n const bv = getNestedValue(b, sort.key)\n\n if (av == null && bv == null) return 0\n if (av == null) return 1\n if (bv == null) return -1\n\n const compare = String(av).localeCompare(String(bv), undefined, {numeric: true})\n return sort.direction === 'asc' ? compare : -compare\n })\n }\n\n return result === items ? [...result] : result\n }, [items, search, searchKeys, filters, sort, manualSearch, manualFilters, manualSort])\n\n const totalItems = manualPagination ? (total ?? processed.length) : processed.length\n const paginatedItems = useMemo(() => {\n if (!pagination || manualPagination) return processed\n const start = (page - 1) * pageSize\n return processed.slice(start, start + pageSize)\n }, [processed, pagination, manualPagination, page, pageSize])\n\n function toggleFilter(key: string, value: string) {\n const current = filters[key] ?? []\n const next = current.includes(value) ? current.filter((item) => item !== value) : [...current, value]\n setFilters({...filters, [key]: next})\n }\n\n const filterOptions = useMemo(() => {\n const map: Record<string, string[]> = {}\n\n for (const filterKey of filterKeys) {\n if (filterKey.options) {\n map[filterKey.key] = filterKey.options\n continue\n }\n\n const values = new Set<string>()\n\n for (const item of items) {\n const value = getNestedValue(item, filterKey.key)\n if (value != null) values.add(String(value))\n }\n\n map[filterKey.key] = Array.from(values).sort()\n }\n\n return map\n }, [items, filterKeys])\n\n const activeSort = sortKeys.find((item) => item.key === sort?.key)\n\n return (\n <div ref={rootRef} className={cn('card-grid', `color-${color}`, className)} style={style} {...rest}>\n {(searchable || filterable || sortable) && (\n <div className=\"card-grid-toolbar\">\n {searchable && (\n <MInputSearch\n className=\"card-grid-search\"\n size=\"sm\"\n fullWidth\n placeholder={searchPlaceholder}\n value={search}\n onChange={(event) => setSearch(event.target.value)}\n onClear={() => setSearch('')}\n />\n )}\n\n <div className=\"card-grid-actions\">\n {filterable && filterKeys.length > 0 && (\n <>\n <MButton\n ref={filterBtnRef}\n variant=\"outlined\"\n color={color}\n size=\"sm\"\n startIcon={<MFilterIcon />}\n aria-expanded={filterOpen}\n onClick={openFilter}\n >\n Filter\n </MButton>\n <MPopover\n open={filterOpen}\n anchorRef={filterBtnRef}\n onClose={() => setFilterOpen(false)}\n placement=\"bottom-end\"\n className=\"card-grid-dropdown\"\n >\n {filterKeys.map((filterKey) => (\n <div key={filterKey.key} className=\"card-grid-filter-group\">\n <span className=\"card-grid-filter-label\">{filterKey.label}</span>\n {(filterOptions[filterKey.key] ?? []).map((option) => (\n <div key={option} className=\"card-grid-filter-option\">\n <MCheckbox\n size=\"sm\"\n clickEffect=\"none\"\n checked={filters[filterKey.key]?.includes(option) ?? false}\n onChange={() => toggleFilter(filterKey.key, option)}\n label={option}\n />\n </div>\n ))}\n </div>\n ))}\n </MPopover>\n </>\n )}\n\n {sortable && sortKeys.length > 0 && (\n <>\n <MButton\n ref={sortBtnRef}\n variant=\"outlined\"\n color={color}\n size=\"sm\"\n startIcon={\n sort ? (\n sort.direction === 'asc' ? (\n <MArrowUpIcon />\n ) : (\n <MArrowDownIcon />\n )\n ) : (\n <MSortIcon />\n )\n }\n aria-expanded={sortOpen}\n onClick={openSort}\n >\n {activeSort ? `Sort: ${activeSort.label}` : 'Sort'}\n </MButton>\n <MPopover\n open={sortOpen}\n anchorRef={sortBtnRef}\n onClose={() => setSortOpen(false)}\n placement=\"bottom-end\"\n className=\"card-grid-dropdown\"\n >\n {sortKeys.map((sortItem) => (\n <button\n key={sortItem.key}\n type=\"button\"\n className={cn(\n 'card-grid-sort-item',\n sort?.key === sortItem.key && 'active'\n )}\n onClick={() => {\n if (sort?.key === sortItem.key) {\n setSort({\n key: sortItem.key,\n direction: sort.direction === 'asc' ? 'desc' : 'asc',\n })\n } else {\n setSort({key: sortItem.key, direction: 'asc'})\n }\n }}\n >\n {sortItem.label}\n {sort?.key === sortItem.key && (\n <span className=\"card-grid-sort-dir\">\n {sort.direction === 'asc' ? (\n <MArrowUpIcon className=\"card-grid-sort-icon\" />\n ) : (\n <MArrowDownIcon className=\"card-grid-sort-icon\" />\n )}\n </span>\n )}\n </button>\n ))}\n </MPopover>\n </>\n )}\n </div>\n </div>\n )}\n\n {paginatedItems.length > 0 ? (\n <div className=\"card-grid-items\" style={buildColumnsStyle(columns)}>\n {paginatedItems.map((item, index) => {\n // Wrap each card so consumers don't have to remember `key={item.id}` in renderCard.\n // Prefer the item's id when present (stable across reorders), fall back to index.\n const id = (item as {id?: string | number} | null | undefined)?.id\n return <Fragment key={id ?? index}>{renderCard(item, index)}</Fragment>\n })}\n </div>\n ) : (\n <div className=\"card-grid-empty\">{emptyMessage}</div>\n )}\n\n {pagination && totalItems > pageSize && (\n <div className=\"card-grid-pagination\">\n <MPagination total={totalItems} page={page} pageSize={pageSize} onChange={setPage} />\n </div>\n )}\n </div>\n )\n}\n","import type {MCardDayScheduleProps} from './MCardDaySchedule.types'\nimport {MCard, MCardBody, MCardFooter, MCardHeader} from '../MCard'\nimport {MDetailList} from '../../display'\nimport {MGrid, MInline, MStack, MTabs} from '../../layout'\nimport {MHeading, MText} from '../../typography'\nimport {tintCardChildren} from '../shared'\nimport './MCardDaySchedule.css'\n\nexport function MCardDaySchedule({\n title = 'Today',\n description,\n color = 'primary',\n workdayStart,\n workdayEnd,\n timeline,\n summary,\n tabs = [],\n footer,\n emptyTimeline = <MText tone={'muted'}>No events scheduled for this day.</MText>,\n ...rest\n}: MCardDayScheduleProps) {\n const workdayLabel =\n workdayStart && workdayEnd ? `${workdayStart}-${workdayEnd}` : (workdayStart ?? workdayEnd ?? undefined)\n\n const populatedTabs = tabs.filter((tab) => tab.items.length > 0)\n\n return (\n <MCard color={color} {...rest}>\n <MCardHeader>\n <MStack>\n <MHeading level={4}>{title}</MHeading>\n {(description || workdayLabel) && (\n <MText size={'sm'} tone={'muted'}>\n {description}\n {description && workdayLabel ? ' ' : null}\n {workdayLabel}\n </MText>\n )}\n </MStack>\n </MCardHeader>\n <MCardBody>\n <MGrid type={'row'} align={'start'}>\n <MGrid type={'col'} xl={7} sm={12}>\n {timeline.length ? (\n <MStack className=\"day-schedule-card-timeline\">\n {timeline.map((item) => (\n <MInline key={item.id} align={'start'} className=\"day-schedule-card-entry\">\n <span className=\"day-schedule-card-time\">{item.time}</span>\n <div className=\"day-schedule-card-dot\" data-color={item.color ?? color}>\n {tintCardChildren(item.icon, item.color ?? color)}\n </div>\n <div className=\"day-schedule-card-copy\">\n <MText as={'strong'}>{item.title}</MText>\n {item.description && (\n <MText size={'sm'} tone={'muted'}>\n {item.description}\n </MText>\n )}\n </div>\n </MInline>\n ))}\n </MStack>\n ) : (\n emptyTimeline\n )}\n </MGrid>\n\n <MGrid type={'col'} xl={5} sm={12}>\n <MStack className=\"day-schedule-card-side\">\n {summary}\n\n {populatedTabs.length > 0 && (\n <MTabs\n variant={'underline'}\n size={'sm'}\n fullWidth\n defaultValue={populatedTabs[0].type}\n items={populatedTabs.map((tab) => ({\n value: tab.type,\n label: (\n <span className=\"day-schedule-card-tab-label\">\n <span>{tab.title}</span>\n <span className=\"day-schedule-card-tab-count\">{tab.items.length}</span>\n </span>\n ),\n content: <MDetailList items={tab.items} />,\n }))}\n />\n )}\n </MStack>\n </MGrid>\n </MGrid>\n </MCardBody>\n {footer && <MCardFooter>{tintCardChildren(footer, color)}</MCardFooter>}\n </MCard>\n )\n}\n","import type {MCardDocumentTreeProps} from './MCardDocumentTree.types'\nimport {MCard, MCardBody, MCardHeader} from '../MCard'\nimport {MButton} from '../../controls'\nimport {MTreeView} from '../../data'\nimport {MDetailList} from '../../display'\nimport {MGrid, MInline, MStack} from '../../layout'\nimport {MDropdownItem, MDropdownMenu} from '../../overlays'\nimport {MHeading, MText} from '../../typography'\nimport {MEllipsisVerticalIcon} from '../../../icons'\nimport {tintCardChildren} from '../shared'\nimport type {MTreeNode} from '../../data/MTreeView'\n\nexport function MCardDocumentTree({\n title = 'Documents',\n description,\n color = 'primary',\n items,\n selected,\n onSelect,\n defaultExpanded,\n expanded,\n onExpandChange,\n detailsTitle,\n detailsMeta,\n detailsItems = [],\n detailsActions = [],\n renderDetails,\n emptyDetails = <MText tone={'muted'}>Select a document to inspect its details.</MText>,\n primaryAction,\n ...rest\n}: MCardDocumentTreeProps) {\n const mapNode = (node: MTreeNode): MTreeNode => {\n return {\n ...node,\n icon: tintCardChildren(node.icon, color),\n children: node.children?.map(mapNode),\n }\n }\n const itemsWithTint = items.map(mapNode)\n\n return (\n <MCard stretch={false} color={color} {...rest}>\n <MCardHeader>\n <MInline justify={'between'} align={'center'}>\n <MStack>\n <MHeading level={4}>{title}</MHeading>\n {description && (\n <MText size={'sm'} tone={'muted'}>\n {description}\n </MText>\n )}\n </MStack>\n {tintCardChildren(primaryAction, color)}\n </MInline>\n </MCardHeader>\n <MCardBody>\n <MGrid type={'row'} align={'start'}>\n <MGrid type={'col'} xl={7} sm={12}>\n <MTreeView\n items={itemsWithTint}\n color={color}\n defaultExpanded={defaultExpanded}\n expanded={expanded}\n onExpandChange={onExpandChange}\n selected={selected}\n onSelect={onSelect}\n expandable\n selectable\n showLines\n fileIcons\n />\n </MGrid>\n <MGrid type={'col'} xl={5} sm={12}>\n <MStack padding={'sm'}>\n {(detailsTitle || detailsMeta || detailsActions.length > 0) && (\n <MInline justify={'between'} align={'start'}>\n <MStack>\n {detailsTitle && <MHeading level={5}>{detailsTitle}</MHeading>}\n {detailsMeta && (\n <MText size={'sm'} tone={'muted'}>\n {detailsMeta}\n </MText>\n )}\n </MStack>\n\n {detailsActions.length > 0 && (\n <MDropdownMenu\n placement={'bottom-end'}\n trigger={\n <MButton\n variant={'ghost'}\n color={color}\n iconOnly\n shape={'circle'}\n aria-label={'Open document actions'}\n >\n <MEllipsisVerticalIcon />\n </MButton>\n }\n >\n {detailsActions.map((action) => (\n <MDropdownItem\n key={action.id}\n icon={tintCardChildren(action.icon, action.color ?? color)}\n label={action.label}\n color={action.color ?? color}\n disabled={action.disabled}\n component={action.component}\n href={action.href}\n to={action.to}\n onClick={action.onClick}\n />\n ))}\n </MDropdownMenu>\n )}\n </MInline>\n )}\n\n {renderDetails ? (\n renderDetails\n ) : detailsItems.length ? (\n <MDetailList items={detailsItems} />\n ) : (\n emptyDetails\n )}\n </MStack>\n </MGrid>\n </MGrid>\n </MCardBody>\n </MCard>\n )\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cards-BkRqUJ2V.js","names":[],"sources":["../src/components/cards/shared/MCardColor.utils.tsx","../src/components/cards/MCardActionArea/MCardActionArea.tsx","../src/components/cards/MCardPayment/MCardPayment.tsx","../src/components/cards/MCardPaymentMethod/MCardPaymentMethod.tsx","../src/components/cards/ServiceCardsShared/ServiceCardsShared.tsx","../src/components/cards/MCardOffer/MCardOffer.tsx","../src/components/cards/MCardCourse/MCardCourse.tsx","../src/components/cards/MCardTile/MCardTile.tsx","../src/components/cards/MCardProduct/MCardProduct.tsx","../src/components/cards/MCardEvent/MCardEvent.tsx","../src/components/cards/MCardWidget/MCardWidget.tsx","../src/components/cards/MStatCard/MStatCard.tsx","../src/components/cards/MCardGrid/MCardGrid.tsx","../src/components/cards/MCardDaySchedule/MCardDaySchedule.tsx","../src/components/cards/MCardDocumentTree/MCardDocumentTree.tsx"],"sourcesContent":["import {Children, cloneElement, isValidElement} from 'react'\nimport type {ReactElement, ReactNode} from 'react'\nimport type {MColor} from '../../../theme'\nimport {MButton} from '../../controls'\n\nfunction getElementTypeName(type: unknown) {\n if (typeof type === 'string') {\n return type\n }\n\n if (typeof type === 'function') {\n const component = type as {displayName?: string; name?: string}\n\n return component.displayName ?? component.name ?? ''\n }\n\n if (typeof type === 'object' && type !== null) {\n const maybeType = type as {\n displayName?: string\n render?: {displayName?: string; name?: string}\n }\n\n return maybeType.displayName ?? maybeType.render?.displayName ?? maybeType.render?.name ?? ''\n }\n\n return ''\n}\n\nfunction shouldInheritColor(element: ReactElement) {\n const props = element.props as {color?: unknown}\n\n if (props.color !== undefined) {\n return false\n }\n\n if (element.type === MButton) {\n return true\n }\n\n const typeName = getElementTypeName(element.type)\n\n return typeName.startsWith('M') && typeName.endsWith('Icon')\n}\n\nexport function tintCardChildren(children: ReactNode, color?: MColor): ReactNode {\n if (!color) {\n return children\n }\n\n return Children.map(children, (child) => {\n if (!isValidElement(child)) {\n return child\n }\n\n const element = child as ReactElement<{children?: ReactNode}>\n const props = element.props\n const tintedChildren = props.children ? tintCardChildren(props.children, color) : props.children\n const nextProps: Record<string, unknown> = {}\n\n if (tintedChildren !== props.children) {\n nextProps.children = tintedChildren\n }\n\n if (shouldInheritColor(element)) {\n nextProps.color = color\n }\n\n if (!Object.keys(nextProps).length) {\n return element\n }\n\n return cloneElement(element, nextProps)\n })\n}\n","import type {PointerEvent} from 'react'\nimport type {MCardActionAreaProps} from './MCardActionArea.types'\nimport {cn} from '../../../utils/cn'\nimport {useInteractionEffect} from '../../../utils/useInteractionEffect'\nimport {resolveMCardAction, tintCardChildren} from '../shared'\nimport './MCardActionArea.css'\n\nexport function MCardActionArea({\n component,\n to,\n href,\n target,\n rel,\n color,\n interactive = true,\n clickEffect,\n rippleColor,\n className,\n children,\n onPointerDown,\n type,\n ...rest\n}: MCardActionAreaProps) {\n const {\n component: Component,\n href: resolvedHref,\n to: resolvedTo,\n isInteractive,\n } = resolveMCardAction({\n component,\n href,\n to,\n interactive,\n hasClickHandler: Boolean(rest.onClick),\n hasPointerHandler: Boolean(onPointerDown),\n fallbackComponent: 'button',\n })\n const {effectClassName, effectLayer, handlePointerDown} = useInteractionEffect<HTMLElement>({\n effect: clickEffect ?? (isInteractive ? 'ripple' : 'none'),\n disabled: !isInteractive,\n color: rippleColor,\n })\n\n return (\n <Component\n href={Component === 'a' || component ? resolvedHref : undefined}\n to={resolvedTo}\n target={target}\n rel={rel}\n type={Component === 'button' ? (type ?? 'button') : undefined}\n className={cn(\n 'card-action-area',\n color && `color-${color}`,\n isInteractive && 'interactive',\n effectClassName,\n className\n )}\n onPointerDown={(event: PointerEvent<HTMLElement>) => {\n handlePointerDown(event)\n onPointerDown?.(event as PointerEvent<HTMLButtonElement>)\n }}\n {...rest}\n >\n {effectLayer}\n <span className=\"card-action-area-content\">{tintCardChildren(children, color)}</span>\n </Component>\n )\n}\n","import type {PointerEvent} from 'react'\nimport type {MCardPaymentProps} from './MCardPayment.types'\nimport {cn} from '../../../utils/cn'\nimport {creditCardBrands, detectCardBrand} from '../../../utils/creditCards'\nimport {useInteractionEffect} from '../../../utils/useInteractionEffect'\nimport {resolveMCardAction} from '../shared'\nimport './MCardPayment.css'\n\nfunction maskNumber(raw: string): string {\n const digits = raw.replace(/\\D/g, '')\n if (digits.length <= 4) return digits\n const last4 = digits.slice(-4)\n return `\\u2022\\u2022\\u2022\\u2022 \\u2022\\u2022\\u2022\\u2022 \\u2022\\u2022\\u2022\\u2022 ${last4}`\n}\n\n// Display-only payment card with balance, masked number, holder name and brand badge.\nexport function MCardPayment({\n component,\n to,\n href,\n target,\n rel,\n holder,\n number,\n expiry,\n brand,\n brandIcon,\n balance,\n balanceLabel = 'Current balance',\n color,\n interactive = false,\n clickEffect,\n rippleColor,\n className,\n onPointerDown,\n ...rest\n}: MCardPaymentProps) {\n const detectedDetails = detectCardBrand(number)\n const detected = brand ?? detectedDetails.brand\n const brandDetails = creditCardBrands.find((rule) => rule.brand === detected) ?? detectedDetails\n const masked = maskNumber(number)\n const brandLabel = brandDetails.iconLabel\n const {\n component: Component,\n href: resolvedHref,\n to: resolvedTo,\n isInteractive,\n } = resolveMCardAction({\n component,\n href,\n to,\n interactive,\n hasClickHandler: Boolean(rest.onClick),\n hasPointerHandler: Boolean(onPointerDown),\n })\n const {effectClassName, effectLayer, handlePointerDown} = useInteractionEffect<HTMLDivElement>({\n effect: clickEffect ?? (isInteractive ? 'ripple' : 'none'),\n disabled: !isInteractive,\n color: rippleColor,\n })\n\n return (\n <Component\n href={Component === 'a' || component ? resolvedHref : undefined}\n to={resolvedTo}\n target={target}\n rel={rel}\n className={cn(\n 'card-payment',\n color || 'primary',\n isInteractive && 'interactive',\n effectClassName,\n className\n )}\n onPointerDown={(event: PointerEvent<HTMLDivElement>) => {\n handlePointerDown(event)\n onPointerDown?.(event)\n }}\n {...rest}\n >\n {effectLayer}\n {balance !== undefined && (\n <div>\n <p className=\"cp-balance-label\">{balanceLabel}</p>\n <p className=\"cp-balance\">{balance}</p>\n </div>\n )}\n\n <div className=\"cp-row\">\n <span className={cn('cp-brand', !brandIcon && detected)}>{brandIcon ?? brandLabel}</span>\n <span className=\"cp-number\">{masked}</span>\n </div>\n\n <div className=\"cp-details\">\n <div>\n <p className=\"cp-field-label\">MCard holder</p>\n <p className=\"cp-field-value\">{holder}</p>\n </div>\n <div>\n <p className=\"cp-field-label\">Expiration date</p>\n <p className=\"cp-field-value\">{expiry}</p>\n </div>\n </div>\n </Component>\n )\n}\n","import type {MCardPaymentMethodProps} from './MCardPaymentMethod.types'\nimport {cn} from '../../../utils/cn'\nimport {creditCardBrands} from '../../../utils/creditCards'\nimport {MArrowRightIcon} from '../../../icons'\nimport {MBadge} from '../../feedback'\nimport {MInline} from '../../layout'\nimport {MLink, MText} from '../../typography'\nimport {MInputExpDate} from '../../inputs/MInputExpDate'\nimport {MInputCVC} from '../../inputs/MInputCVC'\nimport './MCardPaymentMethod.css'\n\nfunction resolveBrandLabel(brand: NonNullable<MCardPaymentMethodProps['brand']>) {\n return creditCardBrands.find((item) => item.brand === brand)?.iconLabel ?? 'CARD'\n}\n\nexport function MCardPaymentMethod({\n title = 'Your payment methods',\n actionLabel = 'Change',\n actionHref = '#',\n onAction,\n brand = 'visa',\n brandIcon,\n last4,\n badgeLabel,\n summary,\n helperText = 'All fields are required, unless stated otherwise.',\n expiryLabel = 'Expiration date',\n cvcLabel = 'Security code',\n expiryProps,\n cvcProps,\n color,\n className,\n ...rest\n}: MCardPaymentMethodProps) {\n const expirySummary = expiryProps?.value ?? expiryProps?.defaultValue\n const resolvedBadgeLabel = badgeLabel === undefined ? 'Default' : badgeLabel\n const derivedSummary = expirySummary\n ? `Credit card - Expiration date ${String(expirySummary).replace('/', '.')}`\n : 'Credit card'\n const resolvedSummary = summary === undefined ? derivedSummary : summary\n const brandLabel = resolveBrandLabel(brand)\n const resolvedExpiryProps = {\n clearable: true,\n ...expiryProps,\n }\n\n return (\n <div className={cn('card-payment-method', color || 'primary', className)} {...rest}>\n <div className={'cpm-header'}>\n <h3 className={'cpm-title'}>{title}</h3>\n <MLink\n href={actionHref}\n tone={'accent'}\n underline={'none'}\n className={'cpm-action'}\n onClick={(event) => {\n if (onAction) {\n event.preventDefault()\n onAction()\n }\n }}\n >\n {actionLabel}\n <MArrowRightIcon />\n </MLink>\n </div>\n\n <div className={'cpm-surface'}>\n <div className={'cpm-method'}>\n <MInline align={'center'} className={'cpm-method-row'}>\n <span className={cn('cpm-brand', !brandIcon && brand)}>{brandIcon ?? brandLabel}</span>\n <span className={'cpm-last4'}>{`\\u2022\\u2022\\u2022\\u2022 ${last4}`}</span>\n {resolvedBadgeLabel && <MBadge color={'info'}>{resolvedBadgeLabel}</MBadge>}\n </MInline>\n {resolvedSummary && (\n <MText tone={'muted'} className={'cpm-summary'}>\n {resolvedSummary}\n </MText>\n )}\n </div>\n\n {helperText && (\n <MText tone={'muted'} size={'sm'} className={'cpm-helper'}>\n {helperText}\n </MText>\n )}\n\n <div className={'cpm-fields'}>\n <MInputExpDate label={expiryLabel} placeholder={'MM/YYYY'} fullWidth {...resolvedExpiryProps} />\n <MInputCVC label={cvcLabel} placeholder={'123'} fullWidth {...cvcProps} />\n </div>\n </div>\n </div>\n )\n}\n","import {useEffect, useState} from 'react'\nimport type {SharedServiceCardProps} from './ServiceCardsShared.types'\nimport {cn} from '../../../utils/cn'\nimport {MClockIcon, MEllipsisVerticalIcon, MHeartFillIcon, MHeartIcon, MMinusIcon, MPlusIcon} from '../../../icons'\nimport {MButton} from '../../controls'\nimport {MBadge} from '../../feedback'\nimport {MAvatar} from '../../media'\nimport {MRating} from '../../display'\nimport {MDropdownItem, MDropdownMenu} from '../../overlays'\nimport './ServiceCardsShared.css'\n\nexport function SharedServiceCard({\n variant,\n title,\n description,\n price,\n currency = 'PLN',\n duration,\n available,\n image,\n gallery,\n galleryAutoPlay = false,\n rating,\n reviewCount,\n favorite,\n onFavorite,\n menuItems,\n onAddToCart,\n actionLabel,\n icon,\n color = 'primary',\n leader,\n participants,\n maxParticipants,\n quantity: controlledQty,\n onQuantityChange,\n showQuantity = true,\n date,\n location,\n status,\n className,\n ...rest\n}: SharedServiceCardProps) {\n const [galleryIdx, setGalleryIdx] = useState(0)\n const [isGalleryTransitioning, setIsGalleryTransitioning] = useState(false)\n const [internalQty, setInternalQty] = useState(1)\n\n const qty = controlledQty ?? internalQty\n const images = gallery && gallery.length > 0 ? gallery : image ? [image] : []\n\n useEffect(() => {\n if (galleryIdx >= images.length) {\n setGalleryIdx(0)\n }\n }, [galleryIdx, images.length])\n\n useEffect(() => {\n if (!isGalleryTransitioning) {\n return\n }\n\n const transitionId = window.setTimeout(() => {\n setIsGalleryTransitioning(false)\n }, 220)\n\n return () => window.clearTimeout(transitionId)\n }, [galleryIdx, isGalleryTransitioning])\n\n function changeGallery(nextIdx: number) {\n if (nextIdx === galleryIdx || nextIdx < 0 || nextIdx >= images.length) {\n return\n }\n\n if (images.length > 1) {\n setIsGalleryTransitioning(true)\n }\n\n setGalleryIdx(nextIdx)\n }\n\n useEffect(() => {\n if (!galleryAutoPlay || images.length <= 1) {\n return\n }\n\n const intervalId = window.setInterval(() => {\n setIsGalleryTransitioning(true)\n setGalleryIdx((current) => (current + 1) % images.length)\n }, 3500)\n\n return () => window.clearInterval(intervalId)\n }, [galleryAutoPlay, images.length])\n\n function changeQty(next: number) {\n const val = Math.max(1, next)\n if (onQuantityChange) onQuantityChange(val)\n else setInternalQty(val)\n }\n\n const availLabel =\n available === true\n ? 'Available'\n : available === false\n ? 'Unavailable'\n : typeof available === 'number'\n ? `${available} spots`\n : null\n\n const parsedDate = date ? (date instanceof Date ? date : new Date(date)) : null\n const dateDay = parsedDate ? parsedDate.getDate() : null\n const dateMonth = parsedDate ? parsedDate.toLocaleString('en', {month: 'short'}).toUpperCase() : null\n\n return (\n <div className={cn('card-service', variant, `color-${color}`, className)} {...rest}>\n {images.length > 0 && (\n <div className=\"cs-gallery\">\n <img\n src={images[galleryIdx]}\n alt={title}\n className={cn('cs-image', isGalleryTransitioning && 'is-transitioning')}\n />\n {images.length > 1 && (\n <div className=\"cs-gallery-dots\">\n {images.map((_, i) => (\n <button\n key={i}\n type=\"button\"\n className={cn('cs-dot', i === galleryIdx && 'active')}\n onClick={() => changeGallery(i)}\n aria-label={`Image ${i + 1}`}\n />\n ))}\n </div>\n )}\n\n {(onFavorite || (menuItems && menuItems.length > 0)) && (\n <div className=\"cs-gallery-actions\">\n {menuItems && menuItems.length > 0 && (\n <MDropdownMenu\n className=\"cs-menu-wrap\"\n trigger={\n <MButton\n variant=\"ghost\"\n iconOnly\n shape=\"circle\"\n aria-label=\"More options\"\n className=\"cs-overlay-btn\"\n >\n <MEllipsisVerticalIcon />\n </MButton>\n }\n placement=\"bottom-end\"\n >\n {menuItems.map((item, i) => (\n <MDropdownItem\n key={i}\n icon={item.icon}\n color={item.danger ? 'error' : undefined}\n label={item.label}\n onClick={item.onClick}\n />\n ))}\n </MDropdownMenu>\n )}\n {onFavorite && (\n <MButton\n variant=\"ghost\"\n iconOnly\n shape=\"circle\"\n onClick={onFavorite}\n aria-label={favorite ? 'Remove from favorites' : 'Add to favorites'}\n className={cn('cs-overlay-btn', favorite && 'cs-fav-active')}\n >\n {favorite ? <MHeartFillIcon /> : <MHeartIcon />}\n </MButton>\n )}\n </div>\n )}\n </div>\n )}\n\n <div className=\"cs-body\">\n {variant === 'event' && parsedDate && (\n <div className=\"cs-event-header\">\n <div className=\"cs-date-block\">\n <span className=\"cs-date-day\">{dateDay}</span>\n <span className=\"cs-date-month\">{dateMonth}</span>\n </div>\n <div className=\"cs-event-info\">\n <h3 className=\"cs-title\">{title}</h3>\n {description && <p className=\"cs-desc\">{description}</p>}\n </div>\n </div>\n )}\n\n {variant !== 'event' && (\n <>\n <div className=\"cs-top\">\n {icon && <span className=\"cs-icon\">{icon}</span>}\n <h3 className=\"cs-title\">{title}</h3>\n </div>\n {description && <p className=\"cs-desc\">{description}</p>}\n </>\n )}\n\n {variant === 'event' && !parsedDate && (\n <>\n <div className=\"cs-top\">\n {icon && <span className=\"cs-icon\">{icon}</span>}\n <h3 className=\"cs-title\">{title}</h3>\n </div>\n {description && <p className=\"cs-desc\">{description}</p>}\n </>\n )}\n\n {rating !== undefined && (\n <div className=\"cs-rating\">\n <MRating value={Math.round(rating)} size=\"sm\" color=\"warning\" readOnly className=\"cs-stars\" />\n <span className=\"cs-rating-value\">{rating.toFixed(1)}</span>\n {reviewCount !== undefined && <span className=\"cs-review-count\">({reviewCount})</span>}\n </div>\n )}\n\n {leader && (\n <div className=\"cs-leader\">\n <MAvatar src={leader.avatar} name={leader.name} size={28} color={color} />\n <span className=\"cs-leader-name\">{leader.name}</span>\n </div>\n )}\n\n {variant === 'course' && participants && (\n <div className=\"cs-participants\">\n <div className=\"cs-participants-avatars\">\n {participants.slice(0, 4).map((participant, index) => (\n <MAvatar\n key={`${participant.name}-${index}`}\n src={participant.avatar}\n name={participant.name}\n size={28}\n color={color}\n className=\"cs-participant-avatar\"\n />\n ))}\n </div>\n {maxParticipants && (\n <span className=\"cs-spots\">\n {participants.length}/{maxParticipants}\n </span>\n )}\n </div>\n )}\n\n <div className=\"cs-meta\">\n {variant === 'event' && location && (\n <MBadge size=\"xs\" color={color}>\n {location}\n </MBadge>\n )}\n {duration && (\n <MBadge size=\"xs\" color={color} icon={<MClockIcon />}>\n {duration}\n </MBadge>\n )}\n {variant === 'event' && status && (\n <MBadge size=\"xs\" color={status.toLowerCase() === 'sold out' ? 'error' : color}>\n {status}\n </MBadge>\n )}\n {availLabel && variant !== 'event' && (\n <MBadge size=\"xs\" color={available === false ? 'error' : color}>\n {availLabel}\n </MBadge>\n )}\n </div>\n </div>\n\n <div className=\"cs-footer\">\n {price !== undefined && (\n <span className=\"cs-price\">\n {typeof price === 'number' ? price.toFixed(2) : price}{' '}\n <span className=\"cs-currency\">{currency}</span>\n </span>\n )}\n\n <div className=\"cs-actions\">\n {variant === 'product' && onAddToCart && showQuantity && (\n <div className=\"cs-qty\">\n <MButton\n variant=\"ghost\"\n iconOnly\n size=\"sm\"\n onClick={() => changeQty(qty - 1)}\n aria-label=\"Decrease\"\n className=\"cs-qty-btn\"\n >\n <MMinusIcon />\n </MButton>\n <span className=\"cs-qty-value\">{qty}</span>\n <MButton\n variant=\"ghost\"\n iconOnly\n size=\"sm\"\n onClick={() => changeQty(qty + 1)}\n aria-label=\"Increase\"\n className=\"cs-qty-btn\"\n >\n <MPlusIcon />\n </MButton>\n </div>\n )}\n {onAddToCart && (\n <MButton\n variant=\"filled\"\n size=\"sm\"\n color={color}\n onClick={() => onAddToCart(qty)}\n disabled={available === false}\n className=\"cs-cart-btn\"\n >\n {actionLabel ?? (variant === 'event' ? 'Register' : 'Add to cart')}\n </MButton>\n )}\n </div>\n </div>\n </div>\n )\n}\n","import type {MCardOfferProps} from './MCardOffer.types'\nimport {SharedServiceCard} from '../ServiceCardsShared/ServiceCardsShared'\n\nexport function MCardOffer(props: MCardOfferProps) {\n const {onAction, actionLabel = 'Book now', ...rest} = props\n\n return (\n <SharedServiceCard\n variant=\"service\"\n onAddToCart={onAction ? () => onAction() : undefined}\n actionLabel={actionLabel}\n {...rest}\n />\n )\n}\n","import type {MCardCourseProps} from './MCardCourse.types'\nimport {SharedServiceCard} from '../ServiceCardsShared/ServiceCardsShared'\n\nexport function MCardCourse(props: MCardCourseProps) {\n const {onAction, actionLabel = 'Join course', ...rest} = props\n\n return (\n <SharedServiceCard\n variant=\"course\"\n onAddToCart={onAction ? () => onAction() : undefined}\n actionLabel={actionLabel}\n {...rest}\n />\n )\n}\n","import {useEffect, useRef} from 'react'\nimport type {MouseEvent} from 'react'\nimport type {MCardTileProps} from './MCardTile.types'\nimport {cn} from '../../../utils/cn'\nimport {useInteractionEffect} from '../../../utils/useInteractionEffect'\nimport {MEllipsisVerticalIcon, MHeartFillIcon, MHeartIcon} from '../../../icons'\nimport {MButton} from '../../controls'\nimport {MDropdownItem, MDropdownMenu} from '../../overlays'\nimport {resolveMCardAction} from '../shared'\nimport './MCardTile.css'\n\n// Tile card: whole surface acts as a link/button, media can fill the card with text overlay.\n// Media can be an image URL, a video URL, an MIllustration element, or a live camera stream.\nexport function MCardTile({\n component,\n title,\n description,\n icon,\n color = 'primary',\n to,\n href,\n target,\n rel,\n onClick,\n interactive = false,\n clickEffect,\n rippleColor,\n image,\n video,\n illustration,\n camera,\n mediaFill = false,\n overlayPosition = 'bottom',\n favorite,\n onFavorite,\n menuItems,\n className,\n ...rest\n}: MCardTileProps) {\n const videoRef = useRef<HTMLVideoElement>(null)\n\n useEffect(() => {\n if (!camera) {\n return\n }\n\n const node = videoRef.current\n if (!node || typeof navigator === 'undefined' || !navigator.mediaDevices?.getUserMedia) {\n return\n }\n\n let activeStream: MediaStream | null = null\n let cancelled = false\n const constraints: MediaStreamConstraints = camera === true ? {video: true} : camera\n\n navigator.mediaDevices\n .getUserMedia(constraints)\n .then((stream) => {\n if (cancelled) {\n stream.getTracks().forEach((track) => track.stop())\n return\n }\n activeStream = stream\n node.srcObject = stream\n void node.play().catch(() => undefined)\n })\n .catch(() => undefined)\n\n return () => {\n cancelled = true\n if (activeStream) {\n activeStream.getTracks().forEach((track) => track.stop())\n }\n node.srcObject = null\n }\n }, [camera])\n\n const hasMedia = Boolean(image || video || illustration || camera)\n const {\n component: OverlayComponent,\n href: resolvedHref,\n to: resolvedTo,\n isInteractive,\n isLink,\n } = resolveMCardAction({\n component,\n href,\n to,\n interactive,\n hasClickHandler: Boolean(onClick),\n fallbackComponent: 'button',\n })\n const fillMedia = mediaFill && hasMedia\n const {effectClassName, effectLayer, handlePointerDown} = useInteractionEffect<HTMLDivElement>({\n effect: clickEffect ?? (isInteractive ? 'ripple' : 'none'),\n disabled: !isInteractive,\n color: rippleColor,\n })\n\n function stopBubble(event: MouseEvent) {\n event.stopPropagation()\n }\n\n function handleOverlayClick(event: MouseEvent<HTMLElement>) {\n if (onClick) {\n event.preventDefault()\n onClick()\n }\n }\n\n function renderMedia() {\n if (!hasMedia) {\n return null\n }\n\n return (\n <div className={cn('tile-media', fillMedia && 'fill')}>\n {image && <img src={image} alt={title} className=\"tile-image\" />}\n {video && (\n <video src={video} className=\"tile-video\" autoPlay muted loop playsInline aria-label={title} />\n )}\n {camera && (\n <video ref={videoRef} className=\"tile-video\" autoPlay muted playsInline aria-label={title} />\n )}\n {illustration && <div className=\"tile-illustration\">{illustration}</div>}\n {fillMedia && <div className={cn('tile-scrim', `scrim-${overlayPosition}`)} />}\n </div>\n )\n }\n\n function renderBody() {\n return (\n <div className={cn('tile-body', fillMedia && 'overlay', fillMedia && `pos-${overlayPosition}`)}>\n <div className=\"tile-top\">\n {icon && <span className=\"tile-icon\">{icon}</span>}\n <h3 className=\"tile-title\">{title}</h3>\n </div>\n {description && <p className=\"tile-desc\">{description}</p>}\n </div>\n )\n }\n\n const hasActions = onFavorite || (menuItems && menuItems.length > 0)\n\n return (\n <div\n className={cn(\n 'card-tile',\n `color-${color}`,\n fillMedia && 'media-fill',\n isInteractive && 'interactive',\n effectClassName,\n className\n )}\n onPointerDown={handlePointerDown}\n {...rest}\n >\n {effectLayer}\n {isLink && (\n <OverlayComponent\n href={OverlayComponent === 'a' || component ? resolvedHref : undefined}\n to={resolvedTo}\n target={target}\n rel={rel}\n className=\"tile-link\"\n aria-label={title}\n onClick={onClick ? handleOverlayClick : undefined}\n />\n )}\n {!isLink && onClick && (\n <OverlayComponent type=\"button\" className=\"tile-link\" aria-label={title} onClick={onClick} />\n )}\n\n {renderMedia()}\n {renderBody()}\n\n {hasActions && (\n <div className=\"tile-actions\" onClick={stopBubble} onPointerDown={stopBubble}>\n {menuItems && menuItems.length > 0 && (\n <MDropdownMenu\n className=\"tile-menu-wrap\"\n trigger={\n <MButton\n variant=\"ghost\"\n iconOnly\n shape=\"circle\"\n aria-label=\"More options\"\n className=\"tile-overlay-btn\"\n >\n <MEllipsisVerticalIcon />\n </MButton>\n }\n placement=\"bottom-end\"\n >\n {menuItems.map((item, i) => (\n <MDropdownItem\n key={i}\n icon={item.icon}\n color={item.danger ? 'error' : undefined}\n label={item.label}\n onClick={item.onClick}\n />\n ))}\n </MDropdownMenu>\n )}\n {onFavorite && (\n <MButton\n variant=\"ghost\"\n iconOnly\n shape=\"circle\"\n onClick={onFavorite}\n aria-label={favorite ? 'Remove from favorites' : 'Add to favorites'}\n className={cn('tile-overlay-btn', favorite && 'tile-fav-active')}\n >\n {favorite ? <MHeartFillIcon /> : <MHeartIcon />}\n </MButton>\n )}\n </div>\n )}\n </div>\n )\n}\n","import type {MCardProductProps} from './MCardProduct.types'\nimport {SharedServiceCard} from '../ServiceCardsShared/ServiceCardsShared'\n\nexport function MCardProduct(props: MCardProductProps) {\n const {addToCartLabel = 'Add to cart', ...rest} = props\n\n return <SharedServiceCard variant=\"product\" actionLabel={addToCartLabel} {...rest} />\n}\n","import type {MCardEventProps} from './MCardEvent.types'\nimport {SharedServiceCard} from '../ServiceCardsShared/ServiceCardsShared'\n\nexport function MCardEvent(props: MCardEventProps) {\n const {onRegister, registerLabel = 'Register', ...rest} = props\n\n return (\n <SharedServiceCard\n variant=\"event\"\n onAddToCart={onRegister ? () => onRegister() : undefined}\n actionLabel={registerLabel}\n {...rest}\n />\n )\n}\n","import type {PointerEvent} from 'react'\nimport type {MCardWidgetProps} from './MCardWidget.types'\nimport {cn} from '../../../utils/cn'\nimport {MArrowDownIcon, MArrowUpIcon} from '../../../icons'\nimport {useInteractionEffect} from '../../../utils/useInteractionEffect'\nimport {resolveMCardAction} from '../shared'\nimport './MCardWidget.css'\n\nfunction resolveTrendType(trend: MCardWidgetProps['trend'], explicit?: MCardWidgetProps['trendType']) {\n if (explicit) return explicit\n if (typeof trend !== 'number' || trend === 0) return 'neutral'\n return trend > 0 ? 'up' : 'down'\n}\n\nfunction formatTrend(trend: MCardWidgetProps['trend']) {\n if (typeof trend === 'number' && trend > 0) {\n return `+${trend}`\n }\n\n return trend\n}\n\nexport function MCardWidget({\n component,\n to,\n href,\n target,\n rel,\n title,\n value,\n trend,\n trendType,\n icon,\n color = 'primary',\n helperText,\n interactive = false,\n clickEffect,\n rippleColor,\n className,\n onPointerDown,\n ...rest\n}: MCardWidgetProps) {\n const hasTrend = trend !== undefined && trend !== null\n const resolvedTrendType = resolveTrendType(trend, trendType)\n const formattedTrend = formatTrend(trend)\n const {\n component: Component,\n href: resolvedHref,\n to: resolvedTo,\n isInteractive,\n } = resolveMCardAction({\n component,\n href,\n to,\n interactive,\n hasClickHandler: Boolean(rest.onClick),\n hasPointerHandler: Boolean(onPointerDown),\n })\n const {effectClassName, effectLayer, handlePointerDown} = useInteractionEffect<HTMLDivElement>({\n effect: clickEffect ?? (isInteractive ? 'ripple' : 'none'),\n disabled: !isInteractive,\n color: rippleColor,\n })\n\n return (\n <Component\n href={Component === 'a' || component ? resolvedHref : undefined}\n to={resolvedTo}\n target={target}\n rel={rel}\n className={cn('card-widget', `color-${color}`, isInteractive && 'interactive', effectClassName, className)}\n onPointerDown={(event: PointerEvent<HTMLDivElement>) => {\n handlePointerDown(event)\n onPointerDown?.(event)\n }}\n {...rest}\n >\n {effectLayer}\n <div className=\"cw-top\">\n <div className=\"cw-meta\">\n <span className=\"cw-title\">{title}</span>\n <span className=\"cw-value\">{value}</span>\n </div>\n {icon && <span className=\"cw-icon\">{icon}</span>}\n </div>\n\n {hasTrend && (\n <div className=\"cw-bottom\">\n <span className={cn('cw-trend', resolvedTrendType)}>\n {resolvedTrendType === 'up' && <MArrowUpIcon size={14} />}\n {resolvedTrendType === 'down' && <MArrowDownIcon size={14} />}\n <span>{formattedTrend}</span>\n </span>\n </div>\n )}\n\n {helperText && <div className=\"cw-helper\">{helperText}</div>}\n </Component>\n )\n}\n","import type {MCardStatProps} from './MStatCard.types'\nimport {MCard} from '../MCard'\nimport {MText} from '../../typography'\nimport {MInline, MStack} from '../../layout'\nimport {MArrowDownIcon, MArrowUpIcon} from '../../../icons'\nimport {cn} from '../../../utils/cn'\nimport './MStatCard.css'\n\nfunction resolveTrendType(trend: MCardStatProps['trend'], explicit?: MCardStatProps['trendType']) {\n if (explicit) {\n return explicit\n }\n\n if (typeof trend !== 'number' || trend === 0) {\n return 'neutral'\n }\n\n return trend > 0 ? 'up' : 'down'\n}\n\nfunction formatTrend(trend: MCardStatProps['trend']) {\n if (typeof trend === 'number' && trend > 0) {\n return `+${trend}`\n }\n\n return trend\n}\n\nexport function MCardStat({\n label,\n value,\n icon,\n badge,\n helperText,\n trend,\n trendType,\n color = 'primary',\n className,\n ...rest\n}: MCardStatProps) {\n const hasTrend = trend !== undefined && trend !== null\n const resolvedTrendType = resolveTrendType(trend, trendType)\n\n return (\n <MCard className={cn('stat-card', `color-${color}`, className)} {...rest}>\n <MStack spacing={'md'}>\n <MInline justify={'between'} align={'start'}>\n <MStack spacing={'xs'}>\n <span className=\"stat-card-label\">{label}</span>\n <span className=\"stat-card-value\">{value}</span>\n </MStack>\n <MInline align={'center'}>\n {badge}\n {icon && <span className=\"stat-card-icon\">{icon}</span>}\n </MInline>\n </MInline>\n\n {(hasTrend || helperText) && (\n <MInline justify={'between'} align={'center'}>\n {hasTrend ? (\n <span className={cn('stat-card-trend', resolvedTrendType)}>\n {resolvedTrendType === 'up' && <MArrowUpIcon size={14} />}\n {resolvedTrendType === 'down' && <MArrowDownIcon size={14} />}\n <span>{formatTrend(trend)}</span>\n </span>\n ) : (\n <span />\n )}\n {helperText && (\n <MText size={'sm'} tone={'muted'}>\n {helperText}\n </MText>\n )}\n </MInline>\n )}\n </MStack>\n </MCard>\n )\n}\n","import {Fragment, useState, useMemo, useRef, useCallback, type CSSProperties} from 'react'\nimport type {MCardGridProps, MCardGridResponsiveColumns, MCardGridSort} from './MCardGrid.types'\nimport {cn} from '../../../utils/cn'\nimport {MButton, MCheckbox} from '../../controls'\nimport {MInputSearch} from '../../inputs'\nimport {MPagination} from '../../layout'\nimport {MPopover} from '../../primitives'\nimport {MArrowDownIcon, MArrowUpIcon, MFilterIcon, MSortIcon} from '../../../icons'\nimport './MCardGrid.css'\n\n/**\n * Builds inline style for `.card-grid-items`:\n * - `number` → hard `grid-template-columns: repeat(N, 1fr)` (overrides every breakpoint).\n * - responsive object → CSS custom properties (`--cols-base`, `--cols-sm`, ...) consumed\n * by `min-width` media queries in `MCardGrid.css`. Missing breakpoints cascade through\n * the `var()` fallback chain (xxl → xl → lg → md → sm → base → 1).\n */\nfunction buildColumnsStyle(columns: number | MCardGridResponsiveColumns): CSSProperties {\n if (typeof columns === 'number') return {gridTemplateColumns: `repeat(${columns}, 1fr)`}\n\n const style: Record<string, string | number> = {}\n if (columns.base !== undefined) style['--cols-base'] = columns.base\n if (columns.sm !== undefined) style['--cols-sm'] = columns.sm\n if (columns.md !== undefined) style['--cols-md'] = columns.md\n if (columns.lg !== undefined) style['--cols-lg'] = columns.lg\n if (columns.xl !== undefined) style['--cols-xl'] = columns.xl\n if (columns.xxl !== undefined) style['--cols-xxl'] = columns.xxl\n return style as CSSProperties\n}\n\nfunction getNestedValue(obj: unknown, key: string): unknown {\n const parts = key.split('.')\n let val: unknown = obj\n\n for (const p of parts) {\n if (val == null || typeof val !== 'object') return undefined\n val = (val as Record<string, unknown>)[p]\n }\n\n return val\n}\n\nexport function MCardGrid<T extends Record<string, unknown>>({\n items,\n renderCard,\n color = 'primary',\n searchable = false,\n searchKeys,\n searchPlaceholder = 'Search...',\n search: controlledSearch,\n onSearchChange,\n filterable = false,\n filterKeys = [],\n filters: controlledFilters,\n onFiltersChange,\n sortable = false,\n sortKeys = [],\n defaultSort,\n sort: controlledSort,\n onSortChange,\n pagination = false,\n pageSize = 12,\n page: controlledPage,\n onPageChange,\n total,\n manualSearch = false,\n manualFilters = false,\n manualSort = false,\n manualPagination = false,\n columns = 3,\n emptyMessage = 'No results found.',\n className,\n style,\n ...rest\n}: MCardGridProps<T>) {\n const [internalSearch, setInternalSearch] = useState('')\n const [internalFilters, setInternalFilters] = useState<Record<string, string[]>>({})\n const [internalSort, setInternalSort] = useState<MCardGridSort<T> | null>(defaultSort ?? null)\n const [internalPage, setInternalPage] = useState(1)\n const [filterOpen, setFilterOpen] = useState(false)\n const [sortOpen, setSortOpen] = useState(false)\n const filterBtnRef = useRef<HTMLElement>(null)\n const sortBtnRef = useRef<HTMLElement>(null)\n\n const search = controlledSearch !== undefined ? controlledSearch : internalSearch\n const filters = controlledFilters !== undefined ? controlledFilters : internalFilters\n const sort = controlledSort !== undefined ? controlledSort : internalSort\n const page = controlledPage !== undefined ? controlledPage : internalPage\n\n const setSearch = useCallback(\n (next: string) => {\n if (controlledSearch === undefined) setInternalSearch(next)\n if (!manualPagination && controlledPage === undefined) setInternalPage(1)\n onSearchChange?.(next)\n },\n [controlledSearch, controlledPage, manualPagination, onSearchChange]\n )\n\n const setFilters = useCallback(\n (next: Record<string, string[]>) => {\n if (controlledFilters === undefined) setInternalFilters(next)\n if (!manualPagination && controlledPage === undefined) setInternalPage(1)\n onFiltersChange?.(next)\n },\n [controlledFilters, controlledPage, manualPagination, onFiltersChange]\n )\n\n const setSort = useCallback(\n (next: MCardGridSort<T> | null) => {\n if (controlledSort === undefined) setInternalSort(next)\n if (!manualPagination && controlledPage === undefined) setInternalPage(1)\n onSortChange?.(next)\n },\n [controlledSort, controlledPage, manualPagination, onSortChange]\n )\n\n const rootRef = useRef<HTMLDivElement>(null)\n\n const setPage = useCallback(\n (next: number) => {\n if (controlledPage === undefined) setInternalPage(next)\n onPageChange?.(next)\n // After page change, bring the top of the grid back into view so\n // the user does not stay scrolled deep into the previous page's cards.\n rootRef.current?.scrollIntoView({block: 'start', behavior: 'smooth'})\n },\n [controlledPage, onPageChange]\n )\n\n const openFilter = useCallback(() => {\n setFilterOpen((v) => !v)\n setSortOpen(false)\n }, [])\n\n const openSort = useCallback(() => {\n setSortOpen((v) => !v)\n setFilterOpen(false)\n }, [])\n\n const processed = useMemo(() => {\n let result = items\n\n if (!manualSearch && search && searchKeys && searchKeys.length > 0) {\n const query = search.toLowerCase()\n result = result.filter((item) =>\n searchKeys.some((key) => {\n const value = getNestedValue(item, key)\n return value != null && String(value).toLowerCase().includes(query)\n })\n )\n }\n\n if (!manualFilters) {\n for (const [key, selected] of Object.entries(filters)) {\n if (!selected || selected.length === 0) continue\n\n result = result.filter((item) => {\n const value = getNestedValue(item, key)\n return value != null && selected.includes(String(value))\n })\n }\n }\n\n if (!manualSort && sort) {\n result = [...result].sort((a, b) => {\n const av = getNestedValue(a, sort.key)\n const bv = getNestedValue(b, sort.key)\n\n if (av == null && bv == null) return 0\n if (av == null) return 1\n if (bv == null) return -1\n\n const compare = String(av).localeCompare(String(bv), undefined, {numeric: true})\n return sort.direction === 'asc' ? compare : -compare\n })\n }\n\n return result === items ? [...result] : result\n }, [items, search, searchKeys, filters, sort, manualSearch, manualFilters, manualSort])\n\n const totalItems = manualPagination ? (total ?? processed.length) : processed.length\n const paginatedItems = useMemo(() => {\n if (!pagination || manualPagination) return processed\n const start = (page - 1) * pageSize\n return processed.slice(start, start + pageSize)\n }, [processed, pagination, manualPagination, page, pageSize])\n\n function toggleFilter(key: string, value: string) {\n const current = filters[key] ?? []\n const next = current.includes(value) ? current.filter((item) => item !== value) : [...current, value]\n setFilters({...filters, [key]: next})\n }\n\n const filterOptions = useMemo(() => {\n const map: Record<string, string[]> = {}\n\n for (const filterKey of filterKeys) {\n if (filterKey.options) {\n map[filterKey.key] = filterKey.options\n continue\n }\n\n const values = new Set<string>()\n\n for (const item of items) {\n const value = getNestedValue(item, filterKey.key)\n if (value != null) values.add(String(value))\n }\n\n map[filterKey.key] = Array.from(values).sort()\n }\n\n return map\n }, [items, filterKeys])\n\n const activeSort = sortKeys.find((item) => item.key === sort?.key)\n\n return (\n <div ref={rootRef} className={cn('card-grid', `color-${color}`, className)} style={style} {...rest}>\n {(searchable || filterable || sortable) && (\n <div className=\"card-grid-toolbar\">\n {searchable && (\n <MInputSearch\n className=\"card-grid-search\"\n size=\"sm\"\n fullWidth\n placeholder={searchPlaceholder}\n value={search}\n onChange={(event) => setSearch(event.target.value)}\n onClear={() => setSearch('')}\n />\n )}\n\n <div className=\"card-grid-actions\">\n {filterable && filterKeys.length > 0 && (\n <>\n <MButton\n ref={filterBtnRef}\n variant=\"outlined\"\n color={color}\n size=\"sm\"\n startIcon={<MFilterIcon />}\n aria-expanded={filterOpen}\n onClick={openFilter}\n >\n Filter\n </MButton>\n <MPopover\n open={filterOpen}\n anchorRef={filterBtnRef}\n onClose={() => setFilterOpen(false)}\n placement=\"bottom-end\"\n className=\"card-grid-dropdown\"\n >\n {filterKeys.map((filterKey) => (\n <div key={filterKey.key} className=\"card-grid-filter-group\">\n <span className=\"card-grid-filter-label\">{filterKey.label}</span>\n {(filterOptions[filterKey.key] ?? []).map((option) => (\n <div key={option} className=\"card-grid-filter-option\">\n <MCheckbox\n size=\"sm\"\n clickEffect=\"none\"\n checked={filters[filterKey.key]?.includes(option) ?? false}\n onChange={() => toggleFilter(filterKey.key, option)}\n label={option}\n />\n </div>\n ))}\n </div>\n ))}\n </MPopover>\n </>\n )}\n\n {sortable && sortKeys.length > 0 && (\n <>\n <MButton\n ref={sortBtnRef}\n variant=\"outlined\"\n color={color}\n size=\"sm\"\n startIcon={\n sort ? (\n sort.direction === 'asc' ? (\n <MArrowUpIcon />\n ) : (\n <MArrowDownIcon />\n )\n ) : (\n <MSortIcon />\n )\n }\n aria-expanded={sortOpen}\n onClick={openSort}\n >\n {activeSort ? `Sort: ${activeSort.label}` : 'Sort'}\n </MButton>\n <MPopover\n open={sortOpen}\n anchorRef={sortBtnRef}\n onClose={() => setSortOpen(false)}\n placement=\"bottom-end\"\n className=\"card-grid-dropdown\"\n >\n {sortKeys.map((sortItem) => (\n <button\n key={sortItem.key}\n type=\"button\"\n className={cn(\n 'card-grid-sort-item',\n sort?.key === sortItem.key && 'active'\n )}\n onClick={() => {\n if (sort?.key === sortItem.key) {\n setSort({\n key: sortItem.key,\n direction: sort.direction === 'asc' ? 'desc' : 'asc',\n })\n } else {\n setSort({key: sortItem.key, direction: 'asc'})\n }\n }}\n >\n {sortItem.label}\n {sort?.key === sortItem.key && (\n <span className=\"card-grid-sort-dir\">\n {sort.direction === 'asc' ? (\n <MArrowUpIcon className=\"card-grid-sort-icon\" />\n ) : (\n <MArrowDownIcon className=\"card-grid-sort-icon\" />\n )}\n </span>\n )}\n </button>\n ))}\n </MPopover>\n </>\n )}\n </div>\n </div>\n )}\n\n {paginatedItems.length > 0 ? (\n <div className=\"card-grid-items\" style={buildColumnsStyle(columns)}>\n {paginatedItems.map((item, index) => {\n // Wrap each card so consumers don't have to remember `key={item.id}` in renderCard.\n // Prefer the item's id when present (stable across reorders), fall back to index.\n const id = (item as {id?: string | number} | null | undefined)?.id\n return <Fragment key={id ?? index}>{renderCard(item, index)}</Fragment>\n })}\n </div>\n ) : (\n <div className=\"card-grid-empty\">{emptyMessage}</div>\n )}\n\n {pagination && totalItems > pageSize && (\n <div className=\"card-grid-pagination\">\n <MPagination total={totalItems} page={page} pageSize={pageSize} onChange={setPage} />\n </div>\n )}\n </div>\n )\n}\n","import type {MCardDayScheduleProps} from './MCardDaySchedule.types'\nimport {MCard, MCardBody, MCardFooter, MCardHeader} from '../MCard'\nimport {MDetailList} from '../../display'\nimport {MGrid, MInline, MStack, MTabs} from '../../layout'\nimport {MHeading, MText} from '../../typography'\nimport {tintCardChildren} from '../shared'\nimport './MCardDaySchedule.css'\n\nexport function MCardDaySchedule({\n title = 'Today',\n description,\n color = 'primary',\n workdayStart,\n workdayEnd,\n timeline,\n summary,\n tabs = [],\n footer,\n emptyTimeline = <MText tone={'muted'}>No events scheduled for this day.</MText>,\n ...rest\n}: MCardDayScheduleProps) {\n const workdayLabel =\n workdayStart && workdayEnd ? `${workdayStart}-${workdayEnd}` : (workdayStart ?? workdayEnd ?? undefined)\n\n const populatedTabs = tabs.filter((tab) => tab.items.length > 0)\n\n return (\n <MCard color={color} {...rest}>\n <MCardHeader>\n <MStack>\n <MHeading level={4}>{title}</MHeading>\n {(description || workdayLabel) && (\n <MText size={'sm'} tone={'muted'}>\n {description}\n {description && workdayLabel ? ' ' : null}\n {workdayLabel}\n </MText>\n )}\n </MStack>\n </MCardHeader>\n <MCardBody>\n <MGrid type={'row'} align={'start'}>\n <MGrid type={'col'} xl={7} sm={12}>\n {timeline.length ? (\n <MStack className=\"day-schedule-card-timeline\">\n {timeline.map((item) => (\n <MInline key={item.id} align={'start'} className=\"day-schedule-card-entry\">\n <span className=\"day-schedule-card-time\">{item.time}</span>\n <div className=\"day-schedule-card-dot\" data-color={item.color ?? color}>\n {tintCardChildren(item.icon, item.color ?? color)}\n </div>\n <div className=\"day-schedule-card-copy\">\n <MText as={'strong'}>{item.title}</MText>\n {item.description && (\n <MText size={'sm'} tone={'muted'}>\n {item.description}\n </MText>\n )}\n </div>\n </MInline>\n ))}\n </MStack>\n ) : (\n emptyTimeline\n )}\n </MGrid>\n\n <MGrid type={'col'} xl={5} sm={12}>\n <MStack className=\"day-schedule-card-side\">\n {summary}\n\n {populatedTabs.length > 0 && (\n <MTabs\n variant={'underline'}\n size={'sm'}\n fullWidth\n defaultValue={populatedTabs[0].type}\n items={populatedTabs.map((tab) => ({\n value: tab.type,\n label: (\n <span className=\"day-schedule-card-tab-label\">\n <span>{tab.title}</span>\n <span className=\"day-schedule-card-tab-count\">{tab.items.length}</span>\n </span>\n ),\n content: <MDetailList items={tab.items} />,\n }))}\n />\n )}\n </MStack>\n </MGrid>\n </MGrid>\n </MCardBody>\n {footer && <MCardFooter>{tintCardChildren(footer, color)}</MCardFooter>}\n </MCard>\n )\n}\n","import type {MCardDocumentTreeProps} from './MCardDocumentTree.types'\nimport {MCard, MCardBody, MCardHeader} from '../MCard'\nimport {MButton} from '../../controls'\nimport {MTreeView} from '../../data'\nimport {MDetailList} from '../../display'\nimport {MGrid, MInline, MStack} from '../../layout'\nimport {MDropdownItem, MDropdownMenu} from '../../overlays'\nimport {MHeading, MText} from '../../typography'\nimport {MEllipsisVerticalIcon} from '../../../icons'\nimport {tintCardChildren} from '../shared'\nimport type {MTreeNode} from '../../data/MTreeView'\n\nexport function MCardDocumentTree({\n title = 'Documents',\n description,\n color = 'primary',\n items,\n selected,\n onSelect,\n defaultExpanded,\n expanded,\n onExpandChange,\n detailsTitle,\n detailsMeta,\n detailsItems = [],\n detailsActions = [],\n renderDetails,\n emptyDetails = <MText tone={'muted'}>Select a document to inspect its details.</MText>,\n primaryAction,\n ...rest\n}: MCardDocumentTreeProps) {\n const mapNode = (node: MTreeNode): MTreeNode => {\n return {\n ...node,\n icon: tintCardChildren(node.icon, color),\n children: node.children?.map(mapNode),\n }\n }\n const itemsWithTint = items.map(mapNode)\n\n return (\n <MCard stretch={false} color={color} {...rest}>\n <MCardHeader>\n <MInline justify={'between'} align={'center'}>\n <MStack>\n <MHeading level={4}>{title}</MHeading>\n {description && (\n <MText size={'sm'} tone={'muted'}>\n {description}\n </MText>\n )}\n </MStack>\n {tintCardChildren(primaryAction, color)}\n </MInline>\n </MCardHeader>\n <MCardBody>\n <MGrid type={'row'} align={'start'}>\n <MGrid type={'col'} xl={7} sm={12}>\n <MTreeView\n items={itemsWithTint}\n color={color}\n defaultExpanded={defaultExpanded}\n expanded={expanded}\n onExpandChange={onExpandChange}\n selected={selected}\n onSelect={onSelect}\n expandable\n selectable\n showLines\n fileIcons\n />\n </MGrid>\n <MGrid type={'col'} xl={5} sm={12}>\n <MStack padding={'sm'}>\n {(detailsTitle || detailsMeta || detailsActions.length > 0) && (\n <MInline justify={'between'} align={'start'}>\n <MStack>\n {detailsTitle && <MHeading level={5}>{detailsTitle}</MHeading>}\n {detailsMeta && (\n <MText size={'sm'} tone={'muted'}>\n {detailsMeta}\n </MText>\n )}\n </MStack>\n\n {detailsActions.length > 0 && (\n <MDropdownMenu\n placement={'bottom-end'}\n trigger={\n <MButton\n variant={'ghost'}\n color={color}\n iconOnly\n shape={'circle'}\n aria-label={'Open document actions'}\n >\n <MEllipsisVerticalIcon />\n </MButton>\n }\n >\n {detailsActions.map((action) => (\n <MDropdownItem\n key={action.id}\n icon={tintCardChildren(action.icon, action.color ?? color)}\n label={action.label}\n color={action.color ?? color}\n disabled={action.disabled}\n component={action.component}\n href={action.href}\n to={action.to}\n onClick={action.onClick}\n />\n ))}\n </MDropdownMenu>\n )}\n </MInline>\n )}\n\n {renderDetails ? (\n renderDetails\n ) : detailsItems.length ? (\n <MDetailList items={detailsItems} />\n ) : (\n emptyDetails\n )}\n </MStack>\n </MGrid>\n </MGrid>\n </MCardBody>\n </MCard>\n )\n}\n"],"mappings":"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"}
|