@banzamel/mineralui 2.1.1 → 2.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/{MAvatar-BcO8hMnU.js → MAvatar-DtJCj3dD.js} +1 -1
- package/dist/{MAvatar-BcO8hMnU.js.map → MAvatar-DtJCj3dD.js.map} +1 -1
- package/dist/{MAvatar-C4N2ztLf.cjs → MAvatar-bUWENcq-.cjs} +2 -2
- package/dist/{MAvatar-C4N2ztLf.cjs.map → MAvatar-bUWENcq-.cjs.map} +1 -1
- package/dist/{MButton-B8kFTOPJ.cjs → MButton-R08y1HCT.cjs} +2 -2
- package/dist/{MButton-B8kFTOPJ.cjs.map → MButton-R08y1HCT.cjs.map} +1 -1
- package/dist/{MButtonGroup-C3Ar0gfk.cjs → MButtonGroup-C-LiXWRC.cjs} +2 -2
- package/dist/{MButtonGroup-C3Ar0gfk.cjs.map → MButtonGroup-C-LiXWRC.cjs.map} +1 -1
- package/dist/{MCard-szs5kIek.cjs → MCard-1OVOl4Ql.cjs} +2 -2
- package/dist/{MCard-szs5kIek.cjs.map → MCard-1OVOl4Ql.cjs.map} +1 -1
- package/dist/{MCard-dLMQQ97e.js → MCard-azpp4YVD.js} +1 -1
- package/dist/{MCard-dLMQQ97e.js.map → MCard-azpp4YVD.js.map} +1 -1
- package/dist/{MCheckbox-CATWU11D.cjs → MCheckbox-CM5HJQWW.cjs} +2 -2
- package/dist/{MCheckbox-CATWU11D.cjs.map → MCheckbox-CM5HJQWW.cjs.map} +1 -1
- package/dist/{MConflictIllustration-Mnz1q7Ey.cjs → MConflictIllustration-B2AtfpYO.cjs} +2 -2
- package/dist/{MConflictIllustration-Mnz1q7Ey.cjs.map → MConflictIllustration-B2AtfpYO.cjs.map} +1 -1
- package/dist/{MDetailList-BBgUaSDJ.cjs → MDetailList-DTLU7HQZ.cjs} +2 -2
- package/dist/{MDetailList-BBgUaSDJ.cjs.map → MDetailList-DTLU7HQZ.cjs.map} +1 -1
- package/dist/{MDetailList-zlwdeA-r.js → MDetailList-fDhVyhm7.js} +4 -4
- package/dist/{MDetailList-zlwdeA-r.js.map → MDetailList-fDhVyhm7.js.map} +1 -1
- package/dist/{MDropdownMenu-omTEUh4V.js → MDropdownMenu-BeD_DxPr.js} +2 -2
- package/dist/{MDropdownMenu-omTEUh4V.js.map → MDropdownMenu-BeD_DxPr.js.map} +1 -1
- package/dist/{MDropdownMenu-1RqWjxHp.cjs → MDropdownMenu-C2lftqSx.cjs} +2 -2
- package/dist/{MDropdownMenu-1RqWjxHp.cjs.map → MDropdownMenu-C2lftqSx.cjs.map} +1 -1
- package/dist/{MGrid-B2qzYD6S.cjs → MGrid-B_0kFUws.cjs} +2 -2
- package/dist/{MGrid-B2qzYD6S.cjs.map → MGrid-B_0kFUws.cjs.map} +1 -1
- package/dist/{MGrid-Cy44dWyC.js → MGrid-CYL3cbUI.js} +1 -1
- package/dist/{MGrid-Cy44dWyC.js.map → MGrid-CYL3cbUI.js.map} +1 -1
- package/dist/{MHeading-CyuxSnhl.cjs → MHeading-BLnb3dNv.cjs} +2 -2
- package/dist/{MHeading-CyuxSnhl.cjs.map → MHeading-BLnb3dNv.cjs.map} +1 -1
- package/dist/{MI18nProvider-C90EVyFz.cjs → MI18nProvider-Cg-vxV6j.cjs} +2 -2
- package/dist/{MI18nProvider-C90EVyFz.cjs.map → MI18nProvider-Cg-vxV6j.cjs.map} +1 -1
- package/dist/{MInput-Cw9ZVcNO.cjs → MInput-BpTlP8GE.cjs} +2 -2
- package/dist/{MInput-Cw9ZVcNO.cjs.map → MInput-BpTlP8GE.cjs.map} +1 -1
- package/dist/{MInput-Baokf17V.js → MInput-C8ObGzQk.js} +2 -2
- package/dist/{MInput-Baokf17V.js.map → MInput-C8ObGzQk.js.map} +1 -1
- package/dist/{MInputCVC-DNzDAbfU.js → MInputCVC-DvUOzpYp.js} +24 -24
- package/dist/{MInputCVC-DNzDAbfU.js.map → MInputCVC-DvUOzpYp.js.map} +1 -1
- package/dist/{MInputCVC-Bqcp5Uu3.cjs → MInputCVC-_2ALihF1.cjs} +2 -2
- package/dist/{MInputCVC-Bqcp5Uu3.cjs.map → MInputCVC-_2ALihF1.cjs.map} +1 -1
- package/dist/{MInputSearch-D9bp1QAz.cjs → MInputSearch-9wcXlY8-.cjs} +2 -2
- package/dist/{MInputSearch-D9bp1QAz.cjs.map → MInputSearch-9wcXlY8-.cjs.map} +1 -1
- package/dist/{MInputSearch-Bswi-Kj0.js → MInputSearch-BM8gLlJ1.js} +3 -3
- package/dist/{MInputSearch-Bswi-Kj0.js.map → MInputSearch-BM8gLlJ1.js.map} +1 -1
- package/dist/{MKbd-CiwDwFwA.cjs → MKbd-n4fhKIxb.cjs} +2 -2
- package/dist/{MKbd-CiwDwFwA.cjs.map → MKbd-n4fhKIxb.cjs.map} +1 -1
- package/dist/{MLink-B7gXA8qY.cjs → MLink-Biipj7xz.cjs} +2 -2
- package/dist/{MLink-B7gXA8qY.cjs.map → MLink-Biipj7xz.cjs.map} +1 -1
- package/dist/MLoader-CnvWqFtA.js +41 -0
- package/dist/MLoader-CnvWqFtA.js.map +1 -0
- package/dist/MLoader-XcpKlLrd.cjs +2 -0
- package/dist/MLoader-XcpKlLrd.cjs.map +1 -0
- package/dist/{MPagination-C2GmGkVA.cjs → MPagination-C6QQdEj_.cjs} +2 -2
- package/dist/{MPagination-C2GmGkVA.cjs.map → MPagination-C6QQdEj_.cjs.map} +1 -1
- package/dist/{MPagination-DpUtB6t6.js → MPagination-CgmNEAZX.js} +6 -6
- package/dist/{MPagination-DpUtB6t6.js.map → MPagination-CgmNEAZX.js.map} +1 -1
- package/dist/{MPopover-BVBN5SJi.cjs → MPopover-Cweomcj2.cjs} +2 -2
- package/dist/MPopover-Cweomcj2.cjs.map +1 -0
- package/dist/{MPopover-BRuwva-c.js → MPopover-DT3vclV1.js} +6 -3
- package/dist/MPopover-DT3vclV1.js.map +1 -0
- package/dist/{MPortal-Djrw2WhD.cjs → MPortal-BciZHNDC.cjs} +2 -2
- package/dist/{MPortal-Djrw2WhD.cjs.map → MPortal-BciZHNDC.cjs.map} +1 -1
- package/dist/{MSimpleGrid-BVeCK9Ci.js → MSimpleGrid-BWKurW6H.js} +1 -1
- package/dist/{MSimpleGrid-BVeCK9Ci.js.map → MSimpleGrid-BWKurW6H.js.map} +1 -1
- package/dist/{MSimpleGrid-BR352NiK.cjs → MSimpleGrid-BwNfaxQP.cjs} +2 -2
- package/dist/{MSimpleGrid-BR352NiK.cjs.map → MSimpleGrid-BwNfaxQP.cjs.map} +1 -1
- package/dist/{MSkeleton-DyQBeuVT.cjs → MSkeleton-CLSU5pL6.cjs} +2 -2
- package/dist/{MSkeleton-DyQBeuVT.cjs.map → MSkeleton-CLSU5pL6.cjs.map} +1 -1
- package/dist/{MSlider-Ds2Fls86.cjs → MSlider-DZnMB49q.cjs} +2 -2
- package/dist/{MSlider-Ds2Fls86.cjs.map → MSlider-DZnMB49q.cjs.map} +1 -1
- package/dist/{MStack-BdVvJN5S.cjs → MStack-BP_BUeCc.cjs} +2 -2
- package/dist/{MStack-BdVvJN5S.cjs.map → MStack-BP_BUeCc.cjs.map} +1 -1
- package/dist/{MStack-h11pHEmc.js → MStack-CSCw6to2.js} +1 -1
- package/dist/{MStack-h11pHEmc.js.map → MStack-CSCw6to2.js.map} +1 -1
- package/dist/{MSubText-DWNMJupD.cjs → MSubText-VHsgFsv2.cjs} +2 -2
- package/dist/{MSubText-DWNMJupD.cjs.map → MSubText-VHsgFsv2.cjs.map} +1 -1
- package/dist/{MSurface-BS9l7GDH.cjs → MSurface-CYeVFOw_.cjs} +2 -2
- package/dist/{MSurface-BS9l7GDH.cjs.map → MSurface-CYeVFOw_.cjs.map} +1 -1
- package/dist/{MTag-BwQbycZO.cjs → MTag-BzTp1crT.cjs} +2 -2
- package/dist/{MTag-BwQbycZO.cjs.map → MTag-BzTp1crT.cjs.map} +1 -1
- package/dist/{MTag-BF6htPr-.js → MTag-D9q6faIk.js} +2 -2
- package/dist/{MTag-BF6htPr-.js.map → MTag-D9q6faIk.js.map} +1 -1
- package/dist/{MText-Cjt1oTPr.cjs → MText-j6Zbbj5Y.cjs} +2 -2
- package/dist/{MText-Cjt1oTPr.cjs.map → MText-j6Zbbj5Y.cjs.map} +1 -1
- package/dist/{MTooltip-gpvKWQzD.cjs → MTooltip-BEfO9jTe.cjs} +2 -2
- package/dist/{MTooltip-gpvKWQzD.cjs.map → MTooltip-BEfO9jTe.cjs.map} +1 -1
- package/dist/{MTooltip-Ctyjwxv-.js → MTooltip-BTJkzOah.js} +1 -1
- package/dist/{MTooltip-Ctyjwxv-.js.map → MTooltip-BTJkzOah.js.map} +1 -1
- package/dist/{MTreeView-DTsi4bye.js → MTreeView-B1J7uqd1.js} +63 -63
- package/dist/{MTreeView-DTsi4bye.js.map → MTreeView-B1J7uqd1.js.map} +1 -1
- package/dist/{MTreeView-BS60bIj7.cjs → MTreeView-DuQkm0ZV.cjs} +2 -2
- package/dist/{MTreeView-BS60bIj7.cjs.map → MTreeView-DuQkm0ZV.cjs.map} +1 -1
- package/dist/{arduino-CA8n1Qq3.cjs → arduino-DdDHMIWB.cjs} +1 -1
- package/dist/{arduino-CA8n1Qq3.cjs.map → arduino-DdDHMIWB.cjs.map} +1 -1
- package/dist/{arduino-WKgN2ikT.js → arduino-UeOrXakL.js} +1 -1
- package/dist/{arduino-WKgN2ikT.js.map → arduino-UeOrXakL.js.map} +1 -1
- package/dist/{bash-DObE5DDq.cjs → bash-B17_F5Sw.cjs} +1 -1
- package/dist/{bash-DObE5DDq.cjs.map → bash-B17_F5Sw.cjs.map} +1 -1
- package/dist/{bash-vBtVVub9.js → bash-CrHemXky.js} +1 -1
- package/dist/{bash-vBtVVub9.js.map → bash-CrHemXky.js.map} +1 -1
- package/dist/{c-7RiNX--m.js → c-D9302r2r.js} +1 -1
- package/dist/{c-7RiNX--m.js.map → c-D9302r2r.js.map} +1 -1
- package/dist/{c-Bb-MtVny.cjs → c-ODLxeMV_.cjs} +1 -1
- package/dist/{c-Bb-MtVny.cjs.map → c-ODLxeMV_.cjs.map} +1 -1
- package/dist/{cards-BkRqUJ2V.js → cards-DYmK8TpL.js} +407 -389
- package/dist/{cards-BkRqUJ2V.js.map → cards-DYmK8TpL.js.map} +1 -1
- package/dist/cards-fRWZkts9.cjs +2 -0
- package/dist/cards-fRWZkts9.cjs.map +1 -0
- package/dist/cards.cjs +1 -1
- package/dist/cards.js +2 -2
- package/dist/components/cards/MCardGrid/MCardGrid.d.ts +1 -1
- package/dist/components/cards/MCardGrid/MCardGrid.types.d.ts +16 -0
- package/dist/components/data/MDataTable/MDataTable.d.ts +1 -1
- package/dist/components/data/MDataTable/MDataTable.types.d.ts +16 -0
- package/dist/components/data/useMCardGrid.d.ts +2 -0
- package/dist/components/data/useMTable.d.ts +2 -0
- package/dist/{controls-CSTIosnc.js → controls-BKAhqjNM.js} +3 -3
- package/dist/{controls-CSTIosnc.js.map → controls-BKAhqjNM.js.map} +1 -1
- package/dist/{controls-BopaNWb_.cjs → controls-CT_0lIPr.cjs} +2 -2
- package/dist/{controls-BopaNWb_.cjs.map → controls-CT_0lIPr.cjs.map} +1 -1
- package/dist/controls.cjs +1 -1
- package/dist/controls.js +1 -1
- package/dist/{core-o3cw16Db.cjs → core-DBpQf3uY.cjs} +1 -1
- package/dist/{core-o3cw16Db.cjs.map → core-DBpQf3uY.cjs.map} +1 -1
- package/dist/{core-DC6zSfZo.js → core-yRqh2XLu.js} +1 -1
- package/dist/{core-DC6zSfZo.js.map → core-yRqh2XLu.js.map} +1 -1
- package/dist/{cpp-CaNnFjgy.js → cpp-CLYSpJBB.js} +1 -1
- package/dist/{cpp-CaNnFjgy.js.map → cpp-CLYSpJBB.js.map} +1 -1
- package/dist/{cpp-BVKrJvso.cjs → cpp-DuTgLZC1.cjs} +1 -1
- package/dist/{cpp-BVKrJvso.cjs.map → cpp-DuTgLZC1.cjs.map} +1 -1
- package/dist/{css-NqBDP7ZC.js → css-BgGh0eG1.js} +1 -1
- package/dist/{css-NqBDP7ZC.js.map → css-BgGh0eG1.js.map} +1 -1
- package/dist/{css-C2sjPfLl.cjs → css-D0f-qByc.cjs} +1 -1
- package/dist/{css-C2sjPfLl.cjs.map → css-D0f-qByc.cjs.map} +1 -1
- package/dist/data-CuynADWM.cjs +2 -0
- package/dist/data-CuynADWM.cjs.map +1 -0
- package/dist/data-D8WFA3Et.js +674 -0
- package/dist/data-D8WFA3Et.js.map +1 -0
- package/dist/data.cjs +1 -1
- package/dist/data.js +2 -2
- package/dist/{display-B7Wh5nnM.js → display-BF4jASt9.js} +30 -30
- package/dist/{display-B7Wh5nnM.js.map → display-BF4jASt9.js.map} +1 -1
- package/dist/{display-BgZbdTDd.cjs → display-DMix8BmD.cjs} +3 -3
- package/dist/{display-BgZbdTDd.cjs.map → display-DMix8BmD.cjs.map} +1 -1
- package/dist/display.cjs +1 -1
- package/dist/display.js +2 -2
- package/dist/{dropdowns-DGvRs-VE.js → dropdowns-5cJf-6UG.js} +92 -92
- package/dist/{dropdowns-DGvRs-VE.js.map → dropdowns-5cJf-6UG.js.map} +1 -1
- package/dist/{dropdowns-Befc3lmC.cjs → dropdowns-C-ASvu7P.cjs} +2 -2
- package/dist/{dropdowns-Befc3lmC.cjs.map → dropdowns-C-ASvu7P.cjs.map} +1 -1
- package/dist/dropdowns.cjs +1 -1
- package/dist/dropdowns.js +1 -1
- package/dist/feedback-4TjD57rX.cjs +2 -0
- package/dist/{feedback-C8RfsfYJ.cjs.map → feedback-4TjD57rX.cjs.map} +1 -1
- package/dist/feedback-DW-cehnb.js +255 -0
- package/dist/feedback-DW-cehnb.js.map +1 -0
- package/dist/feedback.cjs +1 -1
- package/dist/feedback.js +5 -4
- package/dist/{form-DSlAmTT1.cjs → form-BWGLrCPi.cjs} +2 -2
- package/dist/{form-DSlAmTT1.cjs.map → form-BWGLrCPi.cjs.map} +1 -1
- package/dist/{form-BWWLNji0.js → form-CgH1hioG.js} +1 -1
- package/dist/{form-BWWLNji0.js.map → form-CgH1hioG.js.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/i18n.cjs +1 -1
- package/dist/icons/glyphs/MCoinIcon.d.ts +2 -0
- package/dist/icons/glyphs/MMoneyIcon.d.ts +2 -0
- package/dist/icons/glyphs/MReceiptIcon.d.ts +2 -0
- package/dist/icons/glyphs/MWalletIcon.d.ts +2 -0
- package/dist/icons/index.d.ts +4 -0
- package/dist/{icons-DLP-Rs6z.js → icons-CBMl-kOM.js} +221 -166
- package/dist/icons-CBMl-kOM.js.map +1 -0
- package/dist/icons-D675Im0B.cjs +2 -0
- package/dist/icons-D675Im0B.cjs.map +1 -0
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +2 -2
- package/dist/illustrations.cjs +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +53 -52
- package/dist/{inputs-BZxorlLv.js → inputs-CQoi402V.js} +180 -180
- package/dist/{inputs-BZxorlLv.js.map → inputs-CQoi402V.js.map} +1 -1
- package/dist/{inputs-BiZXyZSE.cjs → inputs-yaaTPTsY.cjs} +2 -2
- package/dist/{inputs-BiZXyZSE.cjs.map → inputs-yaaTPTsY.cjs.map} +1 -1
- package/dist/inputs.cjs +1 -1
- package/dist/inputs.js +4 -4
- package/dist/{javascript-BgwyrBZi.cjs → javascript-CGjvHPZ1.cjs} +1 -1
- package/dist/{javascript-BgwyrBZi.cjs.map → javascript-CGjvHPZ1.cjs.map} +1 -1
- package/dist/{javascript-BltQGQAn.js → javascript-CX3JhsYu.js} +1 -1
- package/dist/{javascript-BltQGQAn.js.map → javascript-CX3JhsYu.js.map} +1 -1
- package/dist/{json-DWmLrT_r.cjs → json-B8svQsK0.cjs} +1 -1
- package/dist/{json-DWmLrT_r.cjs.map → json-B8svQsK0.cjs.map} +1 -1
- package/dist/{json-DbCISZXi.js → json-BPIcVdlp.js} +1 -1
- package/dist/{json-DbCISZXi.js.map → json-BPIcVdlp.js.map} +1 -1
- package/dist/{layout-Ct6ViwDQ.cjs → layout-CfolwT8L.cjs} +2 -2
- package/dist/{layout-Ct6ViwDQ.cjs.map → layout-CfolwT8L.cjs.map} +1 -1
- package/dist/{layout-CnEOTJnJ.js → layout-i8H5tIbO.js} +34 -34
- package/dist/{layout-CnEOTJnJ.js.map → layout-i8H5tIbO.js.map} +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +5 -5
- package/dist/{licensing-hMT26Vnv.cjs → licensing-DysMClel.cjs} +2 -2
- package/dist/{licensing-hMT26Vnv.cjs.map → licensing-DysMClel.cjs.map} +1 -1
- package/dist/{locale-BNyzqXAU.js → locale-CS1-IY_I.js} +1 -1
- package/dist/{locale-BNyzqXAU.js.map → locale-CS1-IY_I.js.map} +1 -1
- package/dist/{locale-C5ik0c3d.cjs → locale-CbnstsMH.cjs} +2 -2
- package/dist/{locale-C5ik0c3d.cjs.map → locale-CbnstsMH.cjs.map} +1 -1
- package/dist/{media-DZaGKh5V.cjs → media-DRz3JZfr.cjs} +2 -2
- package/dist/{media-DZaGKh5V.cjs.map → media-DRz3JZfr.cjs.map} +1 -1
- package/dist/{media-DxnELIZO.js → media-vOQOIYFD.js} +11 -11
- package/dist/{media-DxnELIZO.js.map → media-vOQOIYFD.js.map} +1 -1
- package/dist/media.cjs +1 -1
- package/dist/media.js +2 -2
- package/dist/{overlays-BfIrSHDo.js → overlays-CAcGmqNv.js} +54 -54
- package/dist/{overlays-BfIrSHDo.js.map → overlays-CAcGmqNv.js.map} +1 -1
- package/dist/{overlays-WsQqxqk1.cjs → overlays-zPzbHW5P.cjs} +2 -2
- package/dist/{overlays-WsQqxqk1.cjs.map → overlays-zPzbHW5P.cjs.map} +1 -1
- package/dist/overlays.cjs +1 -1
- package/dist/overlays.js +3 -3
- package/dist/{php-dSXzrC_Z.js → php-CBRzjinf.js} +1 -1
- package/dist/{php-dSXzrC_Z.js.map → php-CBRzjinf.js.map} +1 -1
- package/dist/{php-CssmZWrI.cjs → php-CKyelegh.cjs} +1 -1
- package/dist/{php-CssmZWrI.cjs.map → php-CKyelegh.cjs.map} +1 -1
- package/dist/primitives.cjs +1 -1
- package/dist/primitives.js +1 -1
- package/dist/style-runtime.cjs +1 -1
- package/dist/style-runtime.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/{theme-DltOEniv.cjs → theme-BfNZicWk.cjs} +2 -2
- package/dist/{theme-DltOEniv.cjs.map → theme-BfNZicWk.cjs.map} +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/{typescript-DeaMWtYF.cjs → typescript-D6PDzwkM.cjs} +1 -1
- package/dist/{typescript-DeaMWtYF.cjs.map → typescript-D6PDzwkM.cjs.map} +1 -1
- package/dist/{typescript-CxKdKTKz.js → typescript-Xt3Sotw5.js} +1 -1
- package/dist/{typescript-CxKdKTKz.js.map → typescript-Xt3Sotw5.js.map} +1 -1
- package/dist/{typography-vZwd5E5h.cjs → typography-Dk9kIORI.cjs} +2 -2
- package/dist/{typography-vZwd5E5h.cjs.map → typography-Dk9kIORI.cjs.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/{useGhostText-Nw9XCpWS.cjs → useGhostText-Dmkw3Am8.cjs} +2 -2
- package/dist/{useGhostText-Nw9XCpWS.cjs.map → useGhostText-Dmkw3Am8.cjs.map} +1 -1
- package/dist/{useInteractionEffect-Gs9HBi2T.cjs → useInteractionEffect-DFTdcWHl.cjs} +2 -2
- package/dist/{useInteractionEffect-Gs9HBi2T.cjs.map → useInteractionEffect-DFTdcWHl.cjs.map} +1 -1
- package/dist/{useKeyboardNav-DDN-oeqd.cjs → useKeyboardNav-HVG9JFD2.cjs} +2 -2
- package/dist/{useKeyboardNav-DDN-oeqd.cjs.map → useKeyboardNav-HVG9JFD2.cjs.map} +1 -1
- package/dist/utils.cjs +1 -1
- package/dist/{xml-BUuYcpx2.cjs → xml-4YlaGgjP.cjs} +1 -1
- package/dist/{xml-BUuYcpx2.cjs.map → xml-4YlaGgjP.cjs.map} +1 -1
- package/dist/{xml-BPoVPJlJ.js → xml-CrpWqcDk.js} +1 -1
- package/dist/{xml-BPoVPJlJ.js.map → xml-CrpWqcDk.js.map} +1 -1
- package/package.json +1 -1
- package/dist/MPopover-BRuwva-c.js.map +0 -1
- package/dist/MPopover-BVBN5SJi.cjs.map +0 -1
- package/dist/cards-DK7j03NN.cjs +0 -2
- package/dist/cards-DK7j03NN.cjs.map +0 -1
- package/dist/data-CjVcevdT.js +0 -654
- package/dist/data-CjVcevdT.js.map +0 -1
- package/dist/data-D8qUIvWv.cjs +0 -2
- package/dist/data-D8qUIvWv.cjs.map +0 -1
- package/dist/feedback-C445FEHb.js +0 -290
- package/dist/feedback-C445FEHb.js.map +0 -1
- package/dist/feedback-C8RfsfYJ.cjs +0 -2
- package/dist/icons-DLP-Rs6z.js.map +0 -1
- package/dist/icons-DX_cScBq.cjs +0 -2
- package/dist/icons-DX_cScBq.cjs.map +0 -1
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { On as e, Xi as t, Zi as n } from "./icons-CBMl-kOM.js";
|
|
2
2
|
import { t as r } from "./cn-YER3QsV1.js";
|
|
3
3
|
import { t as i } from "./useKeyboardNav-iEXOdEMB.js";
|
|
4
4
|
import { t as a } from "./MPortal-Ba2Sxset.js";
|
|
5
|
-
import { t as o } from "./MPopover-
|
|
5
|
+
import { t as o } from "./MPopover-DT3vclV1.js";
|
|
6
6
|
import { n as s } from "./MSurface-B-sjyczH.js";
|
|
7
7
|
import { t as c } from "./MText-CL-LPcXi.js";
|
|
8
8
|
import { t as l } from "./MHeading-B7KgSP4T.js";
|
|
9
9
|
import { t as u } from "./MKbd-v6-tJ9sP.js";
|
|
10
10
|
import { t as d } from "./MButton-C1pnL4_j.js";
|
|
11
11
|
import { n as f } from "./MSkeleton-C5uD4Axo.js";
|
|
12
|
-
import { t as p } from "./MStack-
|
|
13
|
-
import { t as m } from "./MSimpleGrid-
|
|
14
|
-
import { i as h, n as g, r as _, t as v } from "./MCard-
|
|
15
|
-
import { t as y } from "./MInputSearch-
|
|
16
|
-
import { t as b } from "./MTooltip-
|
|
12
|
+
import { t as p } from "./MStack-CSCw6to2.js";
|
|
13
|
+
import { t as m } from "./MSimpleGrid-BWKurW6H.js";
|
|
14
|
+
import { i as h, n as g, r as _, t as v } from "./MCard-azpp4YVD.js";
|
|
15
|
+
import { t as y } from "./MInputSearch-BM8gLlJ1.js";
|
|
16
|
+
import { t as b } from "./MTooltip-BTJkzOah.js";
|
|
17
17
|
import { Children as x, isValidElement as S, useCallback as C, useEffect as w, useId as T, useMemo as E, useRef as D, useState as O } from "react";
|
|
18
18
|
import { Fragment as k, jsx as A, jsxs as j } from "react/jsx-runtime";
|
|
19
19
|
//#region src/components/overlays/MModal/MModal.tsx
|
|
@@ -84,34 +84,34 @@ var P = 540, F = 72, I = {
|
|
|
84
84
|
lg: "72vh",
|
|
85
85
|
full: "92vh"
|
|
86
86
|
};
|
|
87
|
-
function L({ open:
|
|
87
|
+
function L({ open: e, onClose: n, title: i, description: o, footer: s, size: c = "md", closeOnBackdrop: l = !0, closeOnEscape: u = !0, className: f, children: p, style: m, ...y }) {
|
|
88
88
|
let b = T(), [x, S] = O(!1), [C, E] = O(!1), [k, M] = O(0), N = D(null), L = D(0);
|
|
89
89
|
w(() => {
|
|
90
|
-
|
|
91
|
-
}, [
|
|
92
|
-
if (!
|
|
90
|
+
e && (S(!0), E(!1), M(0), L.current = 0);
|
|
91
|
+
}, [e]), w(() => {
|
|
92
|
+
if (!e && x) {
|
|
93
93
|
E(!0);
|
|
94
94
|
let e = window.setTimeout(() => {
|
|
95
95
|
S(!1), E(!1);
|
|
96
96
|
}, P);
|
|
97
97
|
return () => window.clearTimeout(e);
|
|
98
98
|
}
|
|
99
|
-
}, [
|
|
99
|
+
}, [e, x]), w(() => {
|
|
100
100
|
if (!x) return;
|
|
101
101
|
let e = document.body.style.overflow;
|
|
102
102
|
return document.body.style.overflow = "hidden", () => {
|
|
103
103
|
document.body.style.overflow = e;
|
|
104
104
|
};
|
|
105
105
|
}, [x]), w(() => {
|
|
106
|
-
if (!
|
|
107
|
-
let
|
|
106
|
+
if (!e || !u) return;
|
|
107
|
+
let t = (e) => {
|
|
108
108
|
e.key === "Escape" && n();
|
|
109
109
|
};
|
|
110
|
-
return document.addEventListener("keydown",
|
|
110
|
+
return document.addEventListener("keydown", t), () => document.removeEventListener("keydown", t);
|
|
111
111
|
}, [
|
|
112
112
|
u,
|
|
113
113
|
n,
|
|
114
|
-
|
|
114
|
+
e
|
|
115
115
|
]);
|
|
116
116
|
function R(e) {
|
|
117
117
|
l && e.target === e.currentTarget && n();
|
|
@@ -188,7 +188,7 @@ function L({ open: t, onClose: n, title: i, description: o, footer: s, size: c =
|
|
|
188
188
|
onClick: n,
|
|
189
189
|
"aria-label": "Close",
|
|
190
190
|
className: "sheet-close",
|
|
191
|
-
children: /* @__PURE__ */ A(
|
|
191
|
+
children: /* @__PURE__ */ A(t, {})
|
|
192
192
|
})]
|
|
193
193
|
}),
|
|
194
194
|
/* @__PURE__ */ A(g, {
|
|
@@ -236,12 +236,12 @@ function B(e) {
|
|
|
236
236
|
r.items.push(e), t.set(n, r);
|
|
237
237
|
}), Array.from(t.values());
|
|
238
238
|
}
|
|
239
|
-
function V({ items:
|
|
239
|
+
function V({ items: t, featuredItems: a = [], open: o, defaultOpen: _ = !1, onOpenChange: x, onSelect: S, title: C = "Command palette", description: T, trigger: M, shortcut: N = "ctrl+k", placeholder: P = "Search modules, records and actions...", emptyLabel: F = "No matching results.", footer: I, size: V = "lg", closeOnSelect: H = !0 }) {
|
|
240
240
|
let [te, ne] = O(_), [U, W] = O(""), [G, K] = O(null), q = o !== void 0, J = q ? o : te, re = D(null);
|
|
241
241
|
function Y(e) {
|
|
242
242
|
q || ne(e), x?.(e);
|
|
243
243
|
}
|
|
244
|
-
let ie = E(() => z(
|
|
244
|
+
let ie = E(() => z(t, U), [t, U]), X = E(() => B(ie), [ie]), Z = E(() => X.flatMap((e) => e.items), [X]), ae = E(() => a.length ? a : t.slice(0, 6), [a, t]);
|
|
245
245
|
function Q(e) {
|
|
246
246
|
e.onSelect?.(), S?.(e), !e.onSelect && e.href && window.location.assign(e.href), H && (Y(!1), W(""), K(null));
|
|
247
247
|
}
|
|
@@ -320,24 +320,24 @@ function V({ items: e, featuredItems: a = [], open: o, defaultOpen: _ = !1, onOp
|
|
|
320
320
|
children: "Quick launch for the most frequent dashboard actions."
|
|
321
321
|
})] }), /* @__PURE__ */ A(g, { children: /* @__PURE__ */ A(m, {
|
|
322
322
|
columns: 4,
|
|
323
|
-
children: ae.map((
|
|
324
|
-
let n =
|
|
323
|
+
children: ae.map((t) => {
|
|
324
|
+
let n = t.actionLabel ?? t.title, r = typeof n == "string" ? n : R(n);
|
|
325
325
|
return /* @__PURE__ */ A(b, {
|
|
326
326
|
content: n,
|
|
327
327
|
children: /* @__PURE__ */ A(d, {
|
|
328
328
|
variant: "ghost",
|
|
329
329
|
color: "primary",
|
|
330
|
-
component:
|
|
331
|
-
to:
|
|
332
|
-
href:
|
|
333
|
-
target:
|
|
334
|
-
rel:
|
|
335
|
-
startIcon:
|
|
330
|
+
component: t.component,
|
|
331
|
+
to: t.to,
|
|
332
|
+
href: t.href,
|
|
333
|
+
target: t.target,
|
|
334
|
+
rel: t.rel,
|
|
335
|
+
startIcon: t.icon ?? /* @__PURE__ */ A(e, {}),
|
|
336
336
|
iconOnly: !0,
|
|
337
337
|
"aria-label": r || void 0,
|
|
338
|
-
onClick: () => Q(
|
|
338
|
+
onClick: () => Q(t)
|
|
339
339
|
})
|
|
340
|
-
},
|
|
340
|
+
}, t.id);
|
|
341
341
|
})
|
|
342
342
|
}) })]
|
|
343
343
|
}), /* @__PURE__ */ j(v, {
|
|
@@ -356,43 +356,43 @@ function V({ items: e, featuredItems: a = [], open: o, defaultOpen: _ = !1, onOp
|
|
|
356
356
|
})] }), /* @__PURE__ */ A(g, { children: X.length ? /* @__PURE__ */ A(p, {
|
|
357
357
|
padding: "xs",
|
|
358
358
|
className: "command-palette-results",
|
|
359
|
-
children: X.map((
|
|
359
|
+
children: X.map((t) => /* @__PURE__ */ j(p, {
|
|
360
360
|
padding: "xs",
|
|
361
361
|
children: [/* @__PURE__ */ A(c, {
|
|
362
362
|
size: "sm",
|
|
363
363
|
tone: "muted",
|
|
364
|
-
children:
|
|
365
|
-
}),
|
|
364
|
+
children: t.label
|
|
365
|
+
}), t.items.map((t) => /* @__PURE__ */ j("button", {
|
|
366
366
|
type: "button",
|
|
367
|
-
className: r("command-palette-item", G ===
|
|
368
|
-
onMouseEnter: () => K(
|
|
369
|
-
onClick: () => Q(
|
|
367
|
+
className: r("command-palette-item", G === t.id && "active"),
|
|
368
|
+
onMouseEnter: () => K(t.id),
|
|
369
|
+
onClick: () => Q(t),
|
|
370
370
|
children: [
|
|
371
371
|
/* @__PURE__ */ A("span", {
|
|
372
372
|
className: "command-palette-item-icon",
|
|
373
|
-
children:
|
|
373
|
+
children: t.icon ?? /* @__PURE__ */ A(e, {})
|
|
374
374
|
}),
|
|
375
375
|
/* @__PURE__ */ j("span", {
|
|
376
376
|
className: "command-palette-item-copy",
|
|
377
377
|
children: [/* @__PURE__ */ A("span", {
|
|
378
378
|
className: "command-palette-item-title",
|
|
379
|
-
children:
|
|
380
|
-
}),
|
|
379
|
+
children: t.title
|
|
380
|
+
}), t.description && /* @__PURE__ */ A("span", {
|
|
381
381
|
className: "command-palette-item-description",
|
|
382
|
-
children:
|
|
382
|
+
children: t.description
|
|
383
383
|
})]
|
|
384
384
|
}),
|
|
385
|
-
|
|
385
|
+
t.badge && /* @__PURE__ */ A("span", {
|
|
386
386
|
className: "command-palette-item-badge",
|
|
387
387
|
children: /* @__PURE__ */ A(f, {
|
|
388
388
|
color: "primary",
|
|
389
389
|
size: "sm",
|
|
390
|
-
children:
|
|
390
|
+
children: t.badge
|
|
391
391
|
})
|
|
392
392
|
})
|
|
393
393
|
]
|
|
394
|
-
},
|
|
395
|
-
}, R(
|
|
394
|
+
}, t.id))]
|
|
395
|
+
}, R(t.label) || "general"))
|
|
396
396
|
}) : /* @__PURE__ */ A(c, {
|
|
397
397
|
tone: "muted",
|
|
398
398
|
children: F
|
|
@@ -426,26 +426,26 @@ function K({ children: e }) {
|
|
|
426
426
|
return /* @__PURE__ */ A(k, { children: e });
|
|
427
427
|
}
|
|
428
428
|
K.__drawerFooter = !0;
|
|
429
|
-
function q({ open:
|
|
429
|
+
function q({ open: e, onClose: n, side: i = "right", size: o = "md", overlay: s = !0, closeOnBackdrop: c = !0, closeOnEscape: l = !0, className: u, children: f, ...p }) {
|
|
430
430
|
let [m, h] = O(!1), [g, _] = O(!1), v = D(null);
|
|
431
431
|
if (w(() => {
|
|
432
|
-
|
|
433
|
-
}, [
|
|
434
|
-
if (!
|
|
432
|
+
e && (h(!0), _(!1));
|
|
433
|
+
}, [e]), w(() => {
|
|
434
|
+
if (!e && m) {
|
|
435
435
|
_(!0);
|
|
436
436
|
let e = setTimeout(() => {
|
|
437
437
|
h(!1), _(!1);
|
|
438
438
|
}, H);
|
|
439
439
|
return () => clearTimeout(e);
|
|
440
440
|
}
|
|
441
|
-
}, [
|
|
442
|
-
if (!
|
|
443
|
-
let
|
|
441
|
+
}, [e, m]), w(() => {
|
|
442
|
+
if (!e || !l) return;
|
|
443
|
+
let t = (e) => {
|
|
444
444
|
e.key === "Escape" && n();
|
|
445
445
|
};
|
|
446
|
-
return document.addEventListener("keydown",
|
|
446
|
+
return document.addEventListener("keydown", t), () => document.removeEventListener("keydown", t);
|
|
447
447
|
}, [
|
|
448
|
-
|
|
448
|
+
e,
|
|
449
449
|
l,
|
|
450
450
|
n
|
|
451
451
|
]), w(() => {
|
|
@@ -498,7 +498,7 @@ function q({ open: t, onClose: n, side: i = "right", size: o = "md", overlay: s
|
|
|
498
498
|
onClick: n,
|
|
499
499
|
"aria-label": "Close",
|
|
500
500
|
className: "close",
|
|
501
|
-
children: /* @__PURE__ */ A(
|
|
501
|
+
children: /* @__PURE__ */ A(t, {})
|
|
502
502
|
})]
|
|
503
503
|
}),
|
|
504
504
|
/* @__PURE__ */ A("div", {
|
|
@@ -565,4 +565,4 @@ function J({ title: e, description: t, onConfirm: n, onCancel: i, confirmText: a
|
|
|
565
565
|
//#endregion
|
|
566
566
|
export { W as a, N as c, K as i, q as n, V as o, G as r, L as s, J as t };
|
|
567
567
|
|
|
568
|
-
//# sourceMappingURL=overlays-
|
|
568
|
+
//# sourceMappingURL=overlays-CAcGmqNv.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overlays-BfIrSHDo.js","names":[],"sources":["../src/components/overlays/MModal/MModal.tsx","../src/components/overlays/MSheet/MSheet.tsx","../src/components/overlays/MCommandPalette/MCommandPalette.tsx","../src/components/overlays/MDrawer/MDrawer.tsx","../src/components/overlays/MPopconfirm/MPopconfirm.tsx"],"sourcesContent":["import {useEffect, useState, useCallback, useRef} from 'react'\nimport type {MouseEvent} from 'react'\nimport type {MModalProps} from './MModal.types'\nimport {MCard, MCardBody, MCardFooter, MCardHeader} from '../../cards'\nimport {MPortal} from '../../primitives'\nimport {cn} from '../../../utils/cn'\nimport './MModal.css'\n\nconst EXIT_DURATION = 540\n\n// Render blocking overlay content for dense details and mobile-friendly dialogs.\nexport function MModal({\n open,\n onClose,\n title,\n description,\n footer,\n size = 'md',\n closeOnBackdrop = true,\n closeOnEscape = true,\n className,\n children,\n ...rest\n}: MModalProps) {\n const [mounted, setMounted] = useState(false)\n const [closing, setClosing] = useState(false)\n const backdropRef = useRef<HTMLDivElement>(null)\n\n // Open → mount immediately\n useEffect(() => {\n if (open) {\n setMounted(true)\n setClosing(false)\n }\n }, [open])\n\n // Close → animate out, then unmount\n useEffect(() => {\n if (!open && mounted) {\n setClosing(true)\n const timer = setTimeout(() => {\n setMounted(false)\n setClosing(false)\n }, EXIT_DURATION)\n return () => clearTimeout(timer)\n }\n }, [open, mounted])\n\n useEffect(() => {\n if (!open || !closeOnEscape) return\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') onClose()\n }\n\n document.addEventListener('keydown', handleKeyDown)\n return () => document.removeEventListener('keydown', handleKeyDown)\n }, [closeOnEscape, onClose, open])\n\n useEffect(() => {\n if (!mounted) return\n\n const previousOverflow = document.body.style.overflow\n document.body.style.overflow = 'hidden'\n\n return () => {\n document.body.style.overflow = previousOverflow\n }\n }, [mounted])\n\n if (!mounted) return null\n\n const handleBackdropClick = (event: MouseEvent<HTMLDivElement>) => {\n if (!closeOnBackdrop) return\n if (event.target === event.currentTarget) onClose()\n }\n\n return (\n <MPortal>\n <div\n ref={backdropRef}\n className={cn('mineral-backdrop', 'modal-backdrop', closing && 'closing')}\n onMouseDown={handleBackdropClick}\n >\n <div className={'modal-shell'}>\n <MCard\n className={cn('modal', size, className)}\n role={'dialog'}\n aria-modal={'true'}\n aria-labelledby={title ? 'mineral-modal-title' : undefined}\n {...rest}\n >\n {(title || description) && (\n <MCardHeader>\n {title && (\n <div id={'mineral-modal-title'} className={'modal-title'}>\n {title}\n </div>\n )}\n {description && <div className={'modal-description'}>{description}</div>}\n </MCardHeader>\n )}\n <MCardBody>{children}</MCardBody>\n {footer && <MCardFooter>{footer}</MCardFooter>}\n </MCard>\n </div>\n </div>\n </MPortal>\n )\n}\n","import {useEffect, useId, useRef, useState} from 'react'\nimport type {PointerEvent as ReactPointerEvent, MouseEvent} from 'react'\nimport type {MSheetProps, MSheetSize} from './MSheet.types'\nimport {MCard, MCardBody, MCardFooter, MCardHeader} from '../../cards'\nimport {MButton} from '../../controls'\nimport {MPortal} from '../../primitives'\nimport {MCloseIcon} from '../../../icons'\nimport {cn} from '../../../utils/cn'\nimport './MSheet.css'\n\nconst EXIT_DURATION = 540\nconst CLOSE_DRAG_THRESHOLD = 72\n\nconst SHEET_HEIGHTS: Record<MSheetSize, string> = {\n sm: '32vh',\n md: '52vh',\n lg: '72vh',\n full: '92vh',\n}\n\nexport function MSheet({\n open,\n onClose,\n title,\n description,\n footer,\n size = 'md',\n closeOnBackdrop = true,\n closeOnEscape = true,\n className,\n children,\n style,\n ...rest\n}: MSheetProps) {\n const titleId = useId()\n const [mounted, setMounted] = useState(false)\n const [closing, setClosing] = useState(false)\n const [dragOffset, setDragOffset] = useState(0)\n\n const dragStateRef = useRef<{pointerId: number; startY: number} | null>(null)\n const dragOffsetRef = useRef(0)\n\n useEffect(() => {\n if (open) {\n setMounted(true)\n setClosing(false)\n setDragOffset(0)\n dragOffsetRef.current = 0\n }\n }, [open])\n\n useEffect(() => {\n if (!open && mounted) {\n setClosing(true)\n const timer = window.setTimeout(() => {\n setMounted(false)\n setClosing(false)\n }, EXIT_DURATION)\n return () => window.clearTimeout(timer)\n }\n }, [open, mounted])\n\n useEffect(() => {\n if (!mounted) return\n\n const previousOverflow = document.body.style.overflow\n document.body.style.overflow = 'hidden'\n\n return () => {\n document.body.style.overflow = previousOverflow\n }\n }, [mounted])\n\n useEffect(() => {\n if (!open || !closeOnEscape) return\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') onClose()\n }\n\n document.addEventListener('keydown', handleKeyDown)\n return () => document.removeEventListener('keydown', handleKeyDown)\n }, [closeOnEscape, onClose, open])\n\n function handleBackdropClick(event: MouseEvent<HTMLDivElement>) {\n if (closeOnBackdrop && event.target === event.currentTarget) {\n onClose()\n }\n }\n\n function handleHandlePointerDown(event: ReactPointerEvent<HTMLButtonElement>) {\n event.preventDefault()\n event.currentTarget.setPointerCapture(event.pointerId)\n\n dragStateRef.current = {\n pointerId: event.pointerId,\n startY: event.clientY,\n }\n setDragOffset(0)\n dragOffsetRef.current = 0\n }\n\n function handleHandlePointerMove(event: ReactPointerEvent<HTMLButtonElement>) {\n const dragState = dragStateRef.current\n if (!dragState || dragState.pointerId !== event.pointerId) {\n return\n }\n\n const nextOffset = Math.max(event.clientY - dragState.startY, 0)\n dragOffsetRef.current = nextOffset\n setDragOffset(nextOffset)\n }\n\n function finishDrag(pointerId: number) {\n const dragState = dragStateRef.current\n if (!dragState || dragState.pointerId !== pointerId) {\n return\n }\n\n dragStateRef.current = null\n\n if (dragOffsetRef.current > CLOSE_DRAG_THRESHOLD) {\n setDragOffset(0)\n dragOffsetRef.current = 0\n onClose()\n return\n }\n\n setDragOffset(0)\n dragOffsetRef.current = 0\n }\n\n if (!mounted) return null\n\n const resolvedHeight = SHEET_HEIGHTS[size]\n const transformStyle = dragOffset > 0 ? `translateY(${dragOffset}px)` : undefined\n\n return (\n <MPortal>\n <div\n className={cn('mineral-backdrop', 'sheet-backdrop', closing && 'closing')}\n onMouseDown={handleBackdropClick}\n >\n <div className=\"sheet-shell\" style={{transform: transformStyle}}>\n <MCard\n className={cn('sheet', `size-${size}`, className)}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={title ? titleId : undefined}\n style={{\n ...style,\n height: size === 'full' ? resolvedHeight : undefined,\n maxHeight: resolvedHeight,\n }}\n {...rest}\n >\n <button\n type=\"button\"\n className=\"sheet-grabber\"\n onPointerDown={handleHandlePointerDown}\n onPointerMove={handleHandlePointerMove}\n onPointerUp={(event) => finishDrag(event.pointerId)}\n onPointerCancel={(event) => finishDrag(event.pointerId)}\n aria-label=\"Drag down to close\"\n >\n <span className=\"sheet-handle\" />\n </button>\n\n {(title || description) && (\n <MCardHeader className=\"sheet-header\">\n <div className=\"sheet-copy\">\n {title && (\n <div id={titleId} className=\"sheet-title\">\n {title}\n </div>\n )}\n {description && <div className=\"sheet-description\">{description}</div>}\n </div>\n <MButton\n variant=\"link\"\n color=\"neutral\"\n iconOnly\n size=\"sm\"\n onClick={onClose}\n aria-label=\"Close\"\n className=\"sheet-close\"\n >\n <MCloseIcon />\n </MButton>\n </MCardHeader>\n )}\n\n <MCardBody className=\"sheet-body\">{children}</MCardBody>\n\n {footer && <MCardFooter className=\"sheet-footer\">{footer}</MCardFooter>}\n </MCard>\n </div>\n </div>\n </MPortal>\n )\n}\n","import {useEffect, useMemo, useRef, useState} from 'react'\nimport type {KeyboardEvent as ReactKeyboardEvent, ReactNode} from 'react'\nimport type {MCommandPaletteItem, MCommandPaletteProps} from './MCommandPalette.types'\nimport {MButton} from '../../controls'\nimport {MInputSearch} from '../../inputs'\nimport {MCard, MCardBody, MCardHeader} from '../../cards'\nimport {MInline, MSimpleGrid, MStack} from '../../layout'\nimport {MSheet} from '../MSheet'\nimport {MTooltip} from '../MTooltip'\nimport {MBadge} from '../../feedback'\nimport {MLinkIcon, MSearchIcon} from '../../../icons'\nimport {MKbd, MHeading, MText} from '../../typography'\nimport {cn} from '../../../utils/cn'\nimport {useKeyboardNav} from '../../../utils/useKeyboardNav'\nimport './MCommandPalette.css'\n\nfunction normalizeText(value: ReactNode) {\n if (typeof value === 'string' || typeof value === 'number') {\n return value.toString()\n }\n\n return ''\n}\n\nfunction matchesShortcut(event: KeyboardEvent, shortcut: string) {\n const normalized = shortcut.toLowerCase().replace(/\\s+/g, '')\n const parts = normalized.split('+')\n const key = parts[parts.length - 1]\n\n if (!key) {\n return false\n }\n\n const expectsCtrl = parts.includes('ctrl')\n const expectsMeta = parts.includes('meta') || parts.includes('cmd')\n const expectsShift = parts.includes('shift')\n const expectsAlt = parts.includes('alt') || parts.includes('option')\n\n return (\n event.key.toLowerCase() === key &&\n !!expectsCtrl === event.ctrlKey &&\n !!expectsMeta === event.metaKey &&\n !!expectsShift === event.shiftKey &&\n !!expectsAlt === event.altKey\n )\n}\n\nfunction filterItems(items: MCommandPaletteItem[], query: string) {\n if (!query.trim()) {\n return items\n }\n\n const normalizedQuery = query.trim().toLowerCase()\n\n return items.filter((item) =>\n [\n normalizeText(item.title),\n normalizeText(item.description),\n normalizeText(item.group),\n normalizeText(item.actionLabel),\n ...(item.keywords ?? []),\n ].some((value) => value.toLowerCase().includes(normalizedQuery))\n )\n}\n\nfunction groupItems(items: MCommandPaletteItem[]) {\n const groups = new Map<string, {label: ReactNode; items: MCommandPaletteItem[]}>()\n\n items.forEach((item) => {\n const key = normalizeText(item.group) || 'General'\n const current = groups.get(key) ?? {label: item.group ?? 'General', items: []}\n current.items.push(item)\n groups.set(key, current)\n })\n\n return Array.from(groups.values())\n}\n\nexport function MCommandPalette({\n items,\n featuredItems = [],\n open,\n defaultOpen = false,\n onOpenChange,\n onSelect,\n title = 'Command palette',\n description,\n trigger,\n shortcut = 'ctrl+k',\n placeholder = 'Search modules, records and actions...',\n emptyLabel = 'No matching results.',\n footer,\n size = 'lg',\n closeOnSelect = true,\n}: MCommandPaletteProps) {\n const [internalOpen, setInternalOpen] = useState(defaultOpen)\n const [query, setQuery] = useState('')\n const [activeItemId, setActiveItemId] = useState<string | null>(null)\n const isControlled = open !== undefined\n const isOpen = isControlled ? open : internalOpen\n const inputRef = useRef<HTMLInputElement>(null)\n\n function setOpenState(nextOpen: boolean) {\n if (!isControlled) {\n setInternalOpen(nextOpen)\n }\n\n onOpenChange?.(nextOpen)\n }\n\n const filteredItems = useMemo(() => filterItems(items, query), [items, query])\n const groupedItems = useMemo(() => groupItems(filteredItems), [filteredItems])\n const flattenedItems = useMemo(() => groupedItems.flatMap((group) => group.items), [groupedItems])\n const featured = useMemo(() => (featuredItems.length ? featuredItems : items.slice(0, 6)), [featuredItems, items])\n\n function executeItem(item: MCommandPaletteItem) {\n item.onSelect?.()\n onSelect?.(item)\n\n if (!item.onSelect && item.href) {\n window.location.assign(item.href)\n }\n\n if (closeOnSelect) {\n setOpenState(false)\n setQuery('')\n setActiveItemId(null)\n }\n }\n\n const {activeIndex, setActiveIndex, resetIndex, onKeyDown} = useKeyboardNav({\n itemCount: flattenedItems.length,\n isOpen,\n onClose: () => setOpenState(false),\n onSelect: (index) => {\n const item = flattenedItems[index]\n\n if (item) {\n executeItem(item)\n }\n },\n })\n\n useEffect(() => {\n const handleKeydown = (event: KeyboardEvent) => {\n if (matchesShortcut(event, shortcut)) {\n event.preventDefault()\n setOpenState(true)\n }\n }\n\n window.addEventListener('keydown', handleKeydown)\n\n return () => {\n window.removeEventListener('keydown', handleKeydown)\n }\n }, [shortcut])\n\n useEffect(() => {\n if (!isOpen) {\n resetIndex()\n setActiveItemId(null)\n return\n }\n\n queueMicrotask(() => inputRef.current?.focus())\n }, [isOpen, resetIndex])\n\n useEffect(() => {\n if (activeIndex < 0 || activeIndex >= flattenedItems.length) {\n setActiveItemId(null)\n return\n }\n\n setActiveItemId(flattenedItems[activeIndex]?.id ?? null)\n }, [activeIndex, flattenedItems])\n\n function handleSearchKeyDown(event: ReactKeyboardEvent<HTMLInputElement>) {\n onKeyDown(event)\n }\n\n return (\n <>\n {trigger ?? (\n <MButton\n variant={'filled'}\n size={'sm'}\n color={'primary'}\n iconOnly\n startIcon={<MSearchIcon />}\n aria-label={typeof title === 'string' ? title : 'Open command palette'}\n onClick={() => setOpenState(true)}\n />\n )}\n\n <MSheet\n open={isOpen}\n onClose={() => setOpenState(false)}\n title={title}\n description={description}\n size={size}\n footer={footer}\n >\n <div className=\"command-palette-body\">\n <div className=\"command-palette-search\">\n <MInputSearch\n ref={inputRef}\n value={query}\n onChange={(event) => {\n setQuery(event.target.value)\n setActiveIndex(-1)\n }}\n onKeyDown={handleSearchKeyDown}\n placeholder={placeholder}\n clearable\n fullWidth\n />\n </div>\n\n <div className=\"command-palette-grid\">\n <MCard stretch={false}>\n <MCardHeader>\n <MHeading level={4}>Featured</MHeading>\n <MText size={'sm'} tone={'muted'}>\n Quick launch for the most frequent dashboard actions.\n </MText>\n </MCardHeader>\n <MCardBody>\n <MSimpleGrid columns={4}>\n {featured.map((item) => {\n const label = item.actionLabel ?? item.title\n const ariaLabel = typeof label === 'string' ? label : normalizeText(label)\n\n return (\n <MTooltip key={item.id} content={label}>\n <MButton\n variant={'ghost'}\n color={'primary'}\n component={item.component}\n to={item.to}\n href={item.href}\n target={item.target}\n rel={item.rel}\n startIcon={item.icon ?? <MLinkIcon />}\n iconOnly\n aria-label={ariaLabel || undefined}\n onClick={() => executeItem(item)}\n />\n </MTooltip>\n )\n })}\n </MSimpleGrid>\n </MCardBody>\n </MCard>\n\n <MCard stretch={false}>\n <MCardHeader>\n <MHeading level={4}>Results</MHeading>\n <MInline align={'center'} padding={'xs'}>\n <MText size={'sm'} tone={'muted'}>\n {flattenedItems.length} ready\n </MText>\n <MKbd>{shortcut.toUpperCase()}</MKbd>\n </MInline>\n </MCardHeader>\n <MCardBody>\n {groupedItems.length ? (\n <MStack padding={'xs'} className=\"command-palette-results\">\n {groupedItems.map((group) => (\n <MStack key={normalizeText(group.label) || 'general'} padding={'xs'}>\n <MText size={'sm'} tone={'muted'}>\n {group.label}\n </MText>\n {group.items.map((item) => (\n <button\n key={item.id}\n type=\"button\"\n className={cn(\n 'command-palette-item',\n activeItemId === item.id && 'active'\n )}\n onMouseEnter={() => setActiveItemId(item.id)}\n onClick={() => executeItem(item)}\n >\n <span className=\"command-palette-item-icon\">\n {item.icon ?? <MLinkIcon />}\n </span>\n <span className=\"command-palette-item-copy\">\n <span className=\"command-palette-item-title\">\n {item.title}\n </span>\n {item.description && (\n <span className=\"command-palette-item-description\">\n {item.description}\n </span>\n )}\n </span>\n {item.badge && (\n <span className=\"command-palette-item-badge\">\n <MBadge color={'primary'} size={'sm'}>\n {item.badge}\n </MBadge>\n </span>\n )}\n </button>\n ))}\n </MStack>\n ))}\n </MStack>\n ) : (\n <MText tone={'muted'}>{emptyLabel}</MText>\n )}\n </MCardBody>\n </MCard>\n </div>\n </div>\n </MSheet>\n </>\n )\n}\n","import {Children, isValidElement, useEffect, useState, useRef} from 'react'\nimport type {MouseEvent, ReactElement, ReactNode} from 'react'\nimport type {MDrawerProps, MDrawerSectionProps} from './MDrawer.types'\nimport {MPortal} from '../../primitives'\nimport {MButton} from '../../controls'\nimport {MCloseIcon} from '../../../icons'\nimport {cn} from '../../../utils/cn'\nimport './MDrawer.css'\n\nconst EXIT_DURATION = 600\n\ntype DrawerSlotElement = ReactElement<MDrawerSectionProps>\n\nfunction isDrawerHeader(child: ReactNode): child is DrawerSlotElement {\n return isValidElement(child) && !!(child.type as any).__drawerHeader\n}\n\nfunction isDrawerBody(child: ReactNode): child is DrawerSlotElement {\n return isValidElement(child) && !!(child.type as any).__drawerBody\n}\n\nfunction isDrawerFooter(child: ReactNode): child is DrawerSlotElement {\n return isValidElement(child) && !!(child.type as any).__drawerFooter\n}\n\nexport function MDrawerHeader({children}: MDrawerSectionProps) {\n return <>{children}</>\n}\n;(MDrawerHeader as any).__drawerHeader = true\n\nexport function MDrawerBody({children}: MDrawerSectionProps) {\n return <>{children}</>\n}\n;(MDrawerBody as any).__drawerBody = true\n\nexport function MDrawerFooter({children}: MDrawerSectionProps) {\n return <>{children}</>\n}\n;(MDrawerFooter as any).__drawerFooter = true\n\nexport function MDrawer({\n open,\n onClose,\n side = 'right',\n size = 'md',\n overlay = true,\n closeOnBackdrop = true,\n closeOnEscape = true,\n className,\n children,\n ...rest\n}: MDrawerProps) {\n const [mounted, setMounted] = useState(false)\n const [closing, setClosing] = useState(false)\n const backdropRef = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n if (open) {\n setMounted(true)\n setClosing(false)\n }\n }, [open])\n\n useEffect(() => {\n if (!open && mounted) {\n setClosing(true)\n const timer = setTimeout(() => {\n setMounted(false)\n setClosing(false)\n }, EXIT_DURATION)\n return () => clearTimeout(timer)\n }\n }, [open, mounted])\n\n useEffect(() => {\n if (!open || !closeOnEscape) return\n\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Escape') onClose()\n }\n\n document.addEventListener('keydown', handleKeyDown)\n return () => document.removeEventListener('keydown', handleKeyDown)\n }, [open, closeOnEscape, onClose])\n\n useEffect(() => {\n if (!mounted) return\n\n const prev = document.body.style.overflow\n document.body.style.overflow = 'hidden'\n return () => {\n document.body.style.overflow = prev\n }\n }, [mounted])\n\n if (!mounted) return null\n\n const handleBackdropClick = (e: MouseEvent<HTMLDivElement>) => {\n if (closeOnBackdrop && e.target === e.currentTarget) onClose()\n }\n\n let header: ReactNode = null\n let headerProps: MDrawerSectionProps | null = null\n let bodyProps: MDrawerSectionProps | null = null\n let footer: ReactNode = null\n let footerProps: MDrawerSectionProps | null = null\n const body: ReactNode[] = []\n\n Children.forEach(children, (child) => {\n if (isDrawerHeader(child)) {\n header = child.props.children\n headerProps = child.props\n return\n }\n\n if (isDrawerBody(child)) {\n bodyProps = child.props\n body.push(child.props.children)\n return\n }\n\n if (isDrawerFooter(child)) {\n footer = child.props.children\n footerProps = child.props\n return\n }\n\n body.push(child)\n })\n\n const headerSection = headerProps ?? ({children: undefined} as MDrawerSectionProps)\n const bodySection = bodyProps ?? ({children: undefined} as MDrawerSectionProps)\n const footerSection = footerProps ?? ({children: undefined} as MDrawerSectionProps)\n const {\n children: _headerChildren,\n className: headerClassName,\n bordered: headerBordered = false,\n ...headerRest\n } = headerSection\n const {children: _bodyChildren, className: bodyClassName, ...bodyRest} = bodySection\n const {\n children: _footerChildren,\n className: footerClassName,\n bordered: footerBordered = false,\n ...footerRest\n } = footerSection\n\n return (\n <MPortal>\n <div\n ref={backdropRef}\n className={cn('mineral-backdrop', 'drawer-backdrop', !overlay && 'no-overlay', closing && 'closing')}\n onMouseDown={handleBackdropClick}\n >\n <div className={cn('drawer', side, size, className)} role=\"dialog\" aria-modal=\"true\" {...rest}>\n {header && (\n <div\n {...headerRest}\n className={cn('drawer-header', headerBordered && 'bordered', headerClassName)}\n >\n <div className=\"drawer-title\">{header}</div>\n <MButton\n variant=\"link\"\n color=\"neutral\"\n iconOnly\n size=\"sm\"\n onClick={onClose}\n aria-label=\"Close\"\n className=\"close\"\n >\n <MCloseIcon />\n </MButton>\n </div>\n )}\n <div {...bodyRest} className={cn('drawer-body', bodyClassName)}>\n {body}\n </div>\n {footer && (\n <div\n {...footerRest}\n className={cn('drawer-footer', footerBordered && 'bordered', footerClassName)}\n >\n {footer}\n </div>\n )}\n </div>\n </div>\n </MPortal>\n )\n}\n","import {useCallback} from 'react'\nimport type {MPopconfirmProps} from './MPopconfirm.types'\nimport {MPopover} from '../../primitives'\nimport {MButton} from '../../controls'\nimport {cn} from '../../../utils/cn'\nimport './MPopconfirm.css'\n\nexport function MPopconfirm({\n title,\n description,\n onConfirm,\n onCancel,\n confirmText = 'Yes',\n cancelText = 'No',\n color = 'warning',\n icon,\n placement = 'top-start',\n open,\n onOpenChange,\n anchorRef,\n className,\n}: MPopconfirmProps) {\n const handleCancel = useCallback(() => {\n onOpenChange(false)\n onCancel?.()\n }, [onOpenChange, onCancel])\n\n const handleConfirm = useCallback(() => {\n onOpenChange(false)\n onConfirm()\n }, [onOpenChange, onConfirm])\n\n return (\n <MPopover\n open={open}\n anchorRef={anchorRef}\n onClose={handleCancel}\n placement={placement}\n className={cn('popconfirm', `color-${color}`, className)}\n >\n <div className=\"body\">\n {icon && <div className=\"icon\">{icon}</div>}\n <div className=\"content\">\n <div className=\"title\">{title}</div>\n {description && <div className=\"description\">{description}</div>}\n </div>\n </div>\n <div className=\"actions\">\n <MButton variant=\"ghost\" size=\"sm\" color=\"neutral\" onClick={handleCancel}>\n {cancelText}\n </MButton>\n <MButton variant=\"ghost\" size=\"sm\" color={color} onClick={handleConfirm}>\n {confirmText}\n </MButton>\n </div>\n </MPopover>\n )\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"overlays-CAcGmqNv.js","names":[],"sources":["../src/components/overlays/MModal/MModal.tsx","../src/components/overlays/MSheet/MSheet.tsx","../src/components/overlays/MCommandPalette/MCommandPalette.tsx","../src/components/overlays/MDrawer/MDrawer.tsx","../src/components/overlays/MPopconfirm/MPopconfirm.tsx"],"sourcesContent":["import {useEffect, useState, useCallback, useRef} from 'react'\nimport type {MouseEvent} from 'react'\nimport type {MModalProps} from './MModal.types'\nimport {MCard, MCardBody, MCardFooter, MCardHeader} from '../../cards'\nimport {MPortal} from '../../primitives'\nimport {cn} from '../../../utils/cn'\nimport './MModal.css'\n\nconst EXIT_DURATION = 540\n\n// Render blocking overlay content for dense details and mobile-friendly dialogs.\nexport function MModal({\n open,\n onClose,\n title,\n description,\n footer,\n size = 'md',\n closeOnBackdrop = true,\n closeOnEscape = true,\n className,\n children,\n ...rest\n}: MModalProps) {\n const [mounted, setMounted] = useState(false)\n const [closing, setClosing] = useState(false)\n const backdropRef = useRef<HTMLDivElement>(null)\n\n // Open → mount immediately\n useEffect(() => {\n if (open) {\n setMounted(true)\n setClosing(false)\n }\n }, [open])\n\n // Close → animate out, then unmount\n useEffect(() => {\n if (!open && mounted) {\n setClosing(true)\n const timer = setTimeout(() => {\n setMounted(false)\n setClosing(false)\n }, EXIT_DURATION)\n return () => clearTimeout(timer)\n }\n }, [open, mounted])\n\n useEffect(() => {\n if (!open || !closeOnEscape) return\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') onClose()\n }\n\n document.addEventListener('keydown', handleKeyDown)\n return () => document.removeEventListener('keydown', handleKeyDown)\n }, [closeOnEscape, onClose, open])\n\n useEffect(() => {\n if (!mounted) return\n\n const previousOverflow = document.body.style.overflow\n document.body.style.overflow = 'hidden'\n\n return () => {\n document.body.style.overflow = previousOverflow\n }\n }, [mounted])\n\n if (!mounted) return null\n\n const handleBackdropClick = (event: MouseEvent<HTMLDivElement>) => {\n if (!closeOnBackdrop) return\n if (event.target === event.currentTarget) onClose()\n }\n\n return (\n <MPortal>\n <div\n ref={backdropRef}\n className={cn('mineral-backdrop', 'modal-backdrop', closing && 'closing')}\n onMouseDown={handleBackdropClick}\n >\n <div className={'modal-shell'}>\n <MCard\n className={cn('modal', size, className)}\n role={'dialog'}\n aria-modal={'true'}\n aria-labelledby={title ? 'mineral-modal-title' : undefined}\n {...rest}\n >\n {(title || description) && (\n <MCardHeader>\n {title && (\n <div id={'mineral-modal-title'} className={'modal-title'}>\n {title}\n </div>\n )}\n {description && <div className={'modal-description'}>{description}</div>}\n </MCardHeader>\n )}\n <MCardBody>{children}</MCardBody>\n {footer && <MCardFooter>{footer}</MCardFooter>}\n </MCard>\n </div>\n </div>\n </MPortal>\n )\n}\n","import {useEffect, useId, useRef, useState} from 'react'\nimport type {PointerEvent as ReactPointerEvent, MouseEvent} from 'react'\nimport type {MSheetProps, MSheetSize} from './MSheet.types'\nimport {MCard, MCardBody, MCardFooter, MCardHeader} from '../../cards'\nimport {MButton} from '../../controls'\nimport {MPortal} from '../../primitives'\nimport {MCloseIcon} from '../../../icons'\nimport {cn} from '../../../utils/cn'\nimport './MSheet.css'\n\nconst EXIT_DURATION = 540\nconst CLOSE_DRAG_THRESHOLD = 72\n\nconst SHEET_HEIGHTS: Record<MSheetSize, string> = {\n sm: '32vh',\n md: '52vh',\n lg: '72vh',\n full: '92vh',\n}\n\nexport function MSheet({\n open,\n onClose,\n title,\n description,\n footer,\n size = 'md',\n closeOnBackdrop = true,\n closeOnEscape = true,\n className,\n children,\n style,\n ...rest\n}: MSheetProps) {\n const titleId = useId()\n const [mounted, setMounted] = useState(false)\n const [closing, setClosing] = useState(false)\n const [dragOffset, setDragOffset] = useState(0)\n\n const dragStateRef = useRef<{pointerId: number; startY: number} | null>(null)\n const dragOffsetRef = useRef(0)\n\n useEffect(() => {\n if (open) {\n setMounted(true)\n setClosing(false)\n setDragOffset(0)\n dragOffsetRef.current = 0\n }\n }, [open])\n\n useEffect(() => {\n if (!open && mounted) {\n setClosing(true)\n const timer = window.setTimeout(() => {\n setMounted(false)\n setClosing(false)\n }, EXIT_DURATION)\n return () => window.clearTimeout(timer)\n }\n }, [open, mounted])\n\n useEffect(() => {\n if (!mounted) return\n\n const previousOverflow = document.body.style.overflow\n document.body.style.overflow = 'hidden'\n\n return () => {\n document.body.style.overflow = previousOverflow\n }\n }, [mounted])\n\n useEffect(() => {\n if (!open || !closeOnEscape) return\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') onClose()\n }\n\n document.addEventListener('keydown', handleKeyDown)\n return () => document.removeEventListener('keydown', handleKeyDown)\n }, [closeOnEscape, onClose, open])\n\n function handleBackdropClick(event: MouseEvent<HTMLDivElement>) {\n if (closeOnBackdrop && event.target === event.currentTarget) {\n onClose()\n }\n }\n\n function handleHandlePointerDown(event: ReactPointerEvent<HTMLButtonElement>) {\n event.preventDefault()\n event.currentTarget.setPointerCapture(event.pointerId)\n\n dragStateRef.current = {\n pointerId: event.pointerId,\n startY: event.clientY,\n }\n setDragOffset(0)\n dragOffsetRef.current = 0\n }\n\n function handleHandlePointerMove(event: ReactPointerEvent<HTMLButtonElement>) {\n const dragState = dragStateRef.current\n if (!dragState || dragState.pointerId !== event.pointerId) {\n return\n }\n\n const nextOffset = Math.max(event.clientY - dragState.startY, 0)\n dragOffsetRef.current = nextOffset\n setDragOffset(nextOffset)\n }\n\n function finishDrag(pointerId: number) {\n const dragState = dragStateRef.current\n if (!dragState || dragState.pointerId !== pointerId) {\n return\n }\n\n dragStateRef.current = null\n\n if (dragOffsetRef.current > CLOSE_DRAG_THRESHOLD) {\n setDragOffset(0)\n dragOffsetRef.current = 0\n onClose()\n return\n }\n\n setDragOffset(0)\n dragOffsetRef.current = 0\n }\n\n if (!mounted) return null\n\n const resolvedHeight = SHEET_HEIGHTS[size]\n const transformStyle = dragOffset > 0 ? `translateY(${dragOffset}px)` : undefined\n\n return (\n <MPortal>\n <div\n className={cn('mineral-backdrop', 'sheet-backdrop', closing && 'closing')}\n onMouseDown={handleBackdropClick}\n >\n <div className=\"sheet-shell\" style={{transform: transformStyle}}>\n <MCard\n className={cn('sheet', `size-${size}`, className)}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={title ? titleId : undefined}\n style={{\n ...style,\n height: size === 'full' ? resolvedHeight : undefined,\n maxHeight: resolvedHeight,\n }}\n {...rest}\n >\n <button\n type=\"button\"\n className=\"sheet-grabber\"\n onPointerDown={handleHandlePointerDown}\n onPointerMove={handleHandlePointerMove}\n onPointerUp={(event) => finishDrag(event.pointerId)}\n onPointerCancel={(event) => finishDrag(event.pointerId)}\n aria-label=\"Drag down to close\"\n >\n <span className=\"sheet-handle\" />\n </button>\n\n {(title || description) && (\n <MCardHeader className=\"sheet-header\">\n <div className=\"sheet-copy\">\n {title && (\n <div id={titleId} className=\"sheet-title\">\n {title}\n </div>\n )}\n {description && <div className=\"sheet-description\">{description}</div>}\n </div>\n <MButton\n variant=\"link\"\n color=\"neutral\"\n iconOnly\n size=\"sm\"\n onClick={onClose}\n aria-label=\"Close\"\n className=\"sheet-close\"\n >\n <MCloseIcon />\n </MButton>\n </MCardHeader>\n )}\n\n <MCardBody className=\"sheet-body\">{children}</MCardBody>\n\n {footer && <MCardFooter className=\"sheet-footer\">{footer}</MCardFooter>}\n </MCard>\n </div>\n </div>\n </MPortal>\n )\n}\n","import {useEffect, useMemo, useRef, useState} from 'react'\nimport type {KeyboardEvent as ReactKeyboardEvent, ReactNode} from 'react'\nimport type {MCommandPaletteItem, MCommandPaletteProps} from './MCommandPalette.types'\nimport {MButton} from '../../controls'\nimport {MInputSearch} from '../../inputs'\nimport {MCard, MCardBody, MCardHeader} from '../../cards'\nimport {MInline, MSimpleGrid, MStack} from '../../layout'\nimport {MSheet} from '../MSheet'\nimport {MTooltip} from '../MTooltip'\nimport {MBadge} from '../../feedback'\nimport {MLinkIcon, MSearchIcon} from '../../../icons'\nimport {MKbd, MHeading, MText} from '../../typography'\nimport {cn} from '../../../utils/cn'\nimport {useKeyboardNav} from '../../../utils/useKeyboardNav'\nimport './MCommandPalette.css'\n\nfunction normalizeText(value: ReactNode) {\n if (typeof value === 'string' || typeof value === 'number') {\n return value.toString()\n }\n\n return ''\n}\n\nfunction matchesShortcut(event: KeyboardEvent, shortcut: string) {\n const normalized = shortcut.toLowerCase().replace(/\\s+/g, '')\n const parts = normalized.split('+')\n const key = parts[parts.length - 1]\n\n if (!key) {\n return false\n }\n\n const expectsCtrl = parts.includes('ctrl')\n const expectsMeta = parts.includes('meta') || parts.includes('cmd')\n const expectsShift = parts.includes('shift')\n const expectsAlt = parts.includes('alt') || parts.includes('option')\n\n return (\n event.key.toLowerCase() === key &&\n !!expectsCtrl === event.ctrlKey &&\n !!expectsMeta === event.metaKey &&\n !!expectsShift === event.shiftKey &&\n !!expectsAlt === event.altKey\n )\n}\n\nfunction filterItems(items: MCommandPaletteItem[], query: string) {\n if (!query.trim()) {\n return items\n }\n\n const normalizedQuery = query.trim().toLowerCase()\n\n return items.filter((item) =>\n [\n normalizeText(item.title),\n normalizeText(item.description),\n normalizeText(item.group),\n normalizeText(item.actionLabel),\n ...(item.keywords ?? []),\n ].some((value) => value.toLowerCase().includes(normalizedQuery))\n )\n}\n\nfunction groupItems(items: MCommandPaletteItem[]) {\n const groups = new Map<string, {label: ReactNode; items: MCommandPaletteItem[]}>()\n\n items.forEach((item) => {\n const key = normalizeText(item.group) || 'General'\n const current = groups.get(key) ?? {label: item.group ?? 'General', items: []}\n current.items.push(item)\n groups.set(key, current)\n })\n\n return Array.from(groups.values())\n}\n\nexport function MCommandPalette({\n items,\n featuredItems = [],\n open,\n defaultOpen = false,\n onOpenChange,\n onSelect,\n title = 'Command palette',\n description,\n trigger,\n shortcut = 'ctrl+k',\n placeholder = 'Search modules, records and actions...',\n emptyLabel = 'No matching results.',\n footer,\n size = 'lg',\n closeOnSelect = true,\n}: MCommandPaletteProps) {\n const [internalOpen, setInternalOpen] = useState(defaultOpen)\n const [query, setQuery] = useState('')\n const [activeItemId, setActiveItemId] = useState<string | null>(null)\n const isControlled = open !== undefined\n const isOpen = isControlled ? open : internalOpen\n const inputRef = useRef<HTMLInputElement>(null)\n\n function setOpenState(nextOpen: boolean) {\n if (!isControlled) {\n setInternalOpen(nextOpen)\n }\n\n onOpenChange?.(nextOpen)\n }\n\n const filteredItems = useMemo(() => filterItems(items, query), [items, query])\n const groupedItems = useMemo(() => groupItems(filteredItems), [filteredItems])\n const flattenedItems = useMemo(() => groupedItems.flatMap((group) => group.items), [groupedItems])\n const featured = useMemo(() => (featuredItems.length ? featuredItems : items.slice(0, 6)), [featuredItems, items])\n\n function executeItem(item: MCommandPaletteItem) {\n item.onSelect?.()\n onSelect?.(item)\n\n if (!item.onSelect && item.href) {\n window.location.assign(item.href)\n }\n\n if (closeOnSelect) {\n setOpenState(false)\n setQuery('')\n setActiveItemId(null)\n }\n }\n\n const {activeIndex, setActiveIndex, resetIndex, onKeyDown} = useKeyboardNav({\n itemCount: flattenedItems.length,\n isOpen,\n onClose: () => setOpenState(false),\n onSelect: (index) => {\n const item = flattenedItems[index]\n\n if (item) {\n executeItem(item)\n }\n },\n })\n\n useEffect(() => {\n const handleKeydown = (event: KeyboardEvent) => {\n if (matchesShortcut(event, shortcut)) {\n event.preventDefault()\n setOpenState(true)\n }\n }\n\n window.addEventListener('keydown', handleKeydown)\n\n return () => {\n window.removeEventListener('keydown', handleKeydown)\n }\n }, [shortcut])\n\n useEffect(() => {\n if (!isOpen) {\n resetIndex()\n setActiveItemId(null)\n return\n }\n\n queueMicrotask(() => inputRef.current?.focus())\n }, [isOpen, resetIndex])\n\n useEffect(() => {\n if (activeIndex < 0 || activeIndex >= flattenedItems.length) {\n setActiveItemId(null)\n return\n }\n\n setActiveItemId(flattenedItems[activeIndex]?.id ?? null)\n }, [activeIndex, flattenedItems])\n\n function handleSearchKeyDown(event: ReactKeyboardEvent<HTMLInputElement>) {\n onKeyDown(event)\n }\n\n return (\n <>\n {trigger ?? (\n <MButton\n variant={'filled'}\n size={'sm'}\n color={'primary'}\n iconOnly\n startIcon={<MSearchIcon />}\n aria-label={typeof title === 'string' ? title : 'Open command palette'}\n onClick={() => setOpenState(true)}\n />\n )}\n\n <MSheet\n open={isOpen}\n onClose={() => setOpenState(false)}\n title={title}\n description={description}\n size={size}\n footer={footer}\n >\n <div className=\"command-palette-body\">\n <div className=\"command-palette-search\">\n <MInputSearch\n ref={inputRef}\n value={query}\n onChange={(event) => {\n setQuery(event.target.value)\n setActiveIndex(-1)\n }}\n onKeyDown={handleSearchKeyDown}\n placeholder={placeholder}\n clearable\n fullWidth\n />\n </div>\n\n <div className=\"command-palette-grid\">\n <MCard stretch={false}>\n <MCardHeader>\n <MHeading level={4}>Featured</MHeading>\n <MText size={'sm'} tone={'muted'}>\n Quick launch for the most frequent dashboard actions.\n </MText>\n </MCardHeader>\n <MCardBody>\n <MSimpleGrid columns={4}>\n {featured.map((item) => {\n const label = item.actionLabel ?? item.title\n const ariaLabel = typeof label === 'string' ? label : normalizeText(label)\n\n return (\n <MTooltip key={item.id} content={label}>\n <MButton\n variant={'ghost'}\n color={'primary'}\n component={item.component}\n to={item.to}\n href={item.href}\n target={item.target}\n rel={item.rel}\n startIcon={item.icon ?? <MLinkIcon />}\n iconOnly\n aria-label={ariaLabel || undefined}\n onClick={() => executeItem(item)}\n />\n </MTooltip>\n )\n })}\n </MSimpleGrid>\n </MCardBody>\n </MCard>\n\n <MCard stretch={false}>\n <MCardHeader>\n <MHeading level={4}>Results</MHeading>\n <MInline align={'center'} padding={'xs'}>\n <MText size={'sm'} tone={'muted'}>\n {flattenedItems.length} ready\n </MText>\n <MKbd>{shortcut.toUpperCase()}</MKbd>\n </MInline>\n </MCardHeader>\n <MCardBody>\n {groupedItems.length ? (\n <MStack padding={'xs'} className=\"command-palette-results\">\n {groupedItems.map((group) => (\n <MStack key={normalizeText(group.label) || 'general'} padding={'xs'}>\n <MText size={'sm'} tone={'muted'}>\n {group.label}\n </MText>\n {group.items.map((item) => (\n <button\n key={item.id}\n type=\"button\"\n className={cn(\n 'command-palette-item',\n activeItemId === item.id && 'active'\n )}\n onMouseEnter={() => setActiveItemId(item.id)}\n onClick={() => executeItem(item)}\n >\n <span className=\"command-palette-item-icon\">\n {item.icon ?? <MLinkIcon />}\n </span>\n <span className=\"command-palette-item-copy\">\n <span className=\"command-palette-item-title\">\n {item.title}\n </span>\n {item.description && (\n <span className=\"command-palette-item-description\">\n {item.description}\n </span>\n )}\n </span>\n {item.badge && (\n <span className=\"command-palette-item-badge\">\n <MBadge color={'primary'} size={'sm'}>\n {item.badge}\n </MBadge>\n </span>\n )}\n </button>\n ))}\n </MStack>\n ))}\n </MStack>\n ) : (\n <MText tone={'muted'}>{emptyLabel}</MText>\n )}\n </MCardBody>\n </MCard>\n </div>\n </div>\n </MSheet>\n </>\n )\n}\n","import {Children, isValidElement, useEffect, useState, useRef} from 'react'\nimport type {MouseEvent, ReactElement, ReactNode} from 'react'\nimport type {MDrawerProps, MDrawerSectionProps} from './MDrawer.types'\nimport {MPortal} from '../../primitives'\nimport {MButton} from '../../controls'\nimport {MCloseIcon} from '../../../icons'\nimport {cn} from '../../../utils/cn'\nimport './MDrawer.css'\n\nconst EXIT_DURATION = 600\n\ntype DrawerSlotElement = ReactElement<MDrawerSectionProps>\n\nfunction isDrawerHeader(child: ReactNode): child is DrawerSlotElement {\n return isValidElement(child) && !!(child.type as any).__drawerHeader\n}\n\nfunction isDrawerBody(child: ReactNode): child is DrawerSlotElement {\n return isValidElement(child) && !!(child.type as any).__drawerBody\n}\n\nfunction isDrawerFooter(child: ReactNode): child is DrawerSlotElement {\n return isValidElement(child) && !!(child.type as any).__drawerFooter\n}\n\nexport function MDrawerHeader({children}: MDrawerSectionProps) {\n return <>{children}</>\n}\n;(MDrawerHeader as any).__drawerHeader = true\n\nexport function MDrawerBody({children}: MDrawerSectionProps) {\n return <>{children}</>\n}\n;(MDrawerBody as any).__drawerBody = true\n\nexport function MDrawerFooter({children}: MDrawerSectionProps) {\n return <>{children}</>\n}\n;(MDrawerFooter as any).__drawerFooter = true\n\nexport function MDrawer({\n open,\n onClose,\n side = 'right',\n size = 'md',\n overlay = true,\n closeOnBackdrop = true,\n closeOnEscape = true,\n className,\n children,\n ...rest\n}: MDrawerProps) {\n const [mounted, setMounted] = useState(false)\n const [closing, setClosing] = useState(false)\n const backdropRef = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n if (open) {\n setMounted(true)\n setClosing(false)\n }\n }, [open])\n\n useEffect(() => {\n if (!open && mounted) {\n setClosing(true)\n const timer = setTimeout(() => {\n setMounted(false)\n setClosing(false)\n }, EXIT_DURATION)\n return () => clearTimeout(timer)\n }\n }, [open, mounted])\n\n useEffect(() => {\n if (!open || !closeOnEscape) return\n\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Escape') onClose()\n }\n\n document.addEventListener('keydown', handleKeyDown)\n return () => document.removeEventListener('keydown', handleKeyDown)\n }, [open, closeOnEscape, onClose])\n\n useEffect(() => {\n if (!mounted) return\n\n const prev = document.body.style.overflow\n document.body.style.overflow = 'hidden'\n return () => {\n document.body.style.overflow = prev\n }\n }, [mounted])\n\n if (!mounted) return null\n\n const handleBackdropClick = (e: MouseEvent<HTMLDivElement>) => {\n if (closeOnBackdrop && e.target === e.currentTarget) onClose()\n }\n\n let header: ReactNode = null\n let headerProps: MDrawerSectionProps | null = null\n let bodyProps: MDrawerSectionProps | null = null\n let footer: ReactNode = null\n let footerProps: MDrawerSectionProps | null = null\n const body: ReactNode[] = []\n\n Children.forEach(children, (child) => {\n if (isDrawerHeader(child)) {\n header = child.props.children\n headerProps = child.props\n return\n }\n\n if (isDrawerBody(child)) {\n bodyProps = child.props\n body.push(child.props.children)\n return\n }\n\n if (isDrawerFooter(child)) {\n footer = child.props.children\n footerProps = child.props\n return\n }\n\n body.push(child)\n })\n\n const headerSection = headerProps ?? ({children: undefined} as MDrawerSectionProps)\n const bodySection = bodyProps ?? ({children: undefined} as MDrawerSectionProps)\n const footerSection = footerProps ?? ({children: undefined} as MDrawerSectionProps)\n const {\n children: _headerChildren,\n className: headerClassName,\n bordered: headerBordered = false,\n ...headerRest\n } = headerSection\n const {children: _bodyChildren, className: bodyClassName, ...bodyRest} = bodySection\n const {\n children: _footerChildren,\n className: footerClassName,\n bordered: footerBordered = false,\n ...footerRest\n } = footerSection\n\n return (\n <MPortal>\n <div\n ref={backdropRef}\n className={cn('mineral-backdrop', 'drawer-backdrop', !overlay && 'no-overlay', closing && 'closing')}\n onMouseDown={handleBackdropClick}\n >\n <div className={cn('drawer', side, size, className)} role=\"dialog\" aria-modal=\"true\" {...rest}>\n {header && (\n <div\n {...headerRest}\n className={cn('drawer-header', headerBordered && 'bordered', headerClassName)}\n >\n <div className=\"drawer-title\">{header}</div>\n <MButton\n variant=\"link\"\n color=\"neutral\"\n iconOnly\n size=\"sm\"\n onClick={onClose}\n aria-label=\"Close\"\n className=\"close\"\n >\n <MCloseIcon />\n </MButton>\n </div>\n )}\n <div {...bodyRest} className={cn('drawer-body', bodyClassName)}>\n {body}\n </div>\n {footer && (\n <div\n {...footerRest}\n className={cn('drawer-footer', footerBordered && 'bordered', footerClassName)}\n >\n {footer}\n </div>\n )}\n </div>\n </div>\n </MPortal>\n )\n}\n","import {useCallback} from 'react'\nimport type {MPopconfirmProps} from './MPopconfirm.types'\nimport {MPopover} from '../../primitives'\nimport {MButton} from '../../controls'\nimport {cn} from '../../../utils/cn'\nimport './MPopconfirm.css'\n\nexport function MPopconfirm({\n title,\n description,\n onConfirm,\n onCancel,\n confirmText = 'Yes',\n cancelText = 'No',\n color = 'warning',\n icon,\n placement = 'top-start',\n open,\n onOpenChange,\n anchorRef,\n className,\n}: MPopconfirmProps) {\n const handleCancel = useCallback(() => {\n onOpenChange(false)\n onCancel?.()\n }, [onOpenChange, onCancel])\n\n const handleConfirm = useCallback(() => {\n onOpenChange(false)\n onConfirm()\n }, [onOpenChange, onConfirm])\n\n return (\n <MPopover\n open={open}\n anchorRef={anchorRef}\n onClose={handleCancel}\n placement={placement}\n className={cn('popconfirm', `color-${color}`, className)}\n >\n <div className=\"body\">\n {icon && <div className=\"icon\">{icon}</div>}\n <div className=\"content\">\n <div className=\"title\">{title}</div>\n {description && <div className=\"description\">{description}</div>}\n </div>\n </div>\n <div className=\"actions\">\n <MButton variant=\"ghost\" size=\"sm\" color=\"neutral\" onClick={handleCancel}>\n {cancelText}\n </MButton>\n <MButton variant=\"ghost\" size=\"sm\" color={color} onClick={handleConfirm}>\n {confirmText}\n </MButton>\n </div>\n </MPopover>\n )\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require(`./icons-DX_cScBq.cjs`),t=require(`./cn-CU5TNITO.cjs`),n=require(`./useKeyboardNav-DDN-oeqd.cjs`),r=require(`./MPortal-Djrw2WhD.cjs`),i=require(`./MPopover-BVBN5SJi.cjs`),a=require(`./MSurface-BS9l7GDH.cjs`),o=require(`./MText-Cjt1oTPr.cjs`),s=require(`./MHeading-CyuxSnhl.cjs`),c=require(`./MKbd-CiwDwFwA.cjs`),l=require(`./MButton-B8kFTOPJ.cjs`),u=require(`./MSkeleton-DyQBeuVT.cjs`),d=require(`./MStack-BdVvJN5S.cjs`),f=require(`./MSimpleGrid-BR352NiK.cjs`),p=require(`./MCard-szs5kIek.cjs`),m=require(`./MInputSearch-D9bp1QAz.cjs`),h=require(`./MTooltip-gpvKWQzD.cjs`);require(`./core-o3cw16Db.cjs`);let g=require(`react`),_=require(`react/jsx-runtime`);var v=540;function y({open:e,onClose:n,title:i,description:a,footer:o,size:s=`md`,closeOnBackdrop:c=!0,closeOnEscape:l=!0,className:u,children:d,...f}){let[m,h]=(0,g.useState)(!1),[y,b]=(0,g.useState)(!1),x=(0,g.useRef)(null);return(0,g.useEffect)(()=>{e&&(h(!0),b(!1))},[e]),(0,g.useEffect)(()=>{if(!e&&m){b(!0);let e=setTimeout(()=>{h(!1),b(!1)},v);return()=>clearTimeout(e)}},[e,m]),(0,g.useEffect)(()=>{if(!e||!l)return;let t=e=>{e.key===`Escape`&&n()};return document.addEventListener(`keydown`,t),()=>document.removeEventListener(`keydown`,t)},[l,n,e]),(0,g.useEffect)(()=>{if(!m)return;let e=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=e}},[m]),m?(0,_.jsx)(r.t,{children:(0,_.jsx)(`div`,{ref:x,className:t.t(`mineral-backdrop`,`modal-backdrop`,y&&`closing`),onMouseDown:e=>{c&&e.target===e.currentTarget&&n()},children:(0,_.jsx)(`div`,{className:`modal-shell`,children:(0,_.jsxs)(p.t,{className:t.t(`modal`,s,u),role:`dialog`,"aria-modal":`true`,"aria-labelledby":i?`mineral-modal-title`:void 0,...f,children:[(i||a)&&(0,_.jsxs)(p.i,{children:[i&&(0,_.jsx)(`div`,{id:`mineral-modal-title`,className:`modal-title`,children:i}),a&&(0,_.jsx)(`div`,{className:`modal-description`,children:a})]}),(0,_.jsx)(p.n,{children:d}),o&&(0,_.jsx)(p.r,{children:o})]})})})}):null}var b=540,x=72,S={sm:`32vh`,md:`52vh`,lg:`72vh`,full:`92vh`};function C({open:n,onClose:i,title:a,description:o,footer:s,size:c=`md`,closeOnBackdrop:u=!0,closeOnEscape:d=!0,className:f,children:m,style:h,...v}){let y=(0,g.useId)(),[C,w]=(0,g.useState)(!1),[T,E]=(0,g.useState)(!1),[D,O]=(0,g.useState)(0),k=(0,g.useRef)(null),A=(0,g.useRef)(0);(0,g.useEffect)(()=>{n&&(w(!0),E(!1),O(0),A.current=0)},[n]),(0,g.useEffect)(()=>{if(!n&&C){E(!0);let e=window.setTimeout(()=>{w(!1),E(!1)},b);return()=>window.clearTimeout(e)}},[n,C]),(0,g.useEffect)(()=>{if(!C)return;let e=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=e}},[C]),(0,g.useEffect)(()=>{if(!n||!d)return;let e=e=>{e.key===`Escape`&&i()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[d,i,n]);function j(e){u&&e.target===e.currentTarget&&i()}function M(e){e.preventDefault(),e.currentTarget.setPointerCapture(e.pointerId),k.current={pointerId:e.pointerId,startY:e.clientY},O(0),A.current=0}function N(e){let t=k.current;if(!t||t.pointerId!==e.pointerId)return;let n=Math.max(e.clientY-t.startY,0);A.current=n,O(n)}function P(e){let t=k.current;if(!(!t||t.pointerId!==e)){if(k.current=null,A.current>x){O(0),A.current=0,i();return}O(0),A.current=0}}if(!C)return null;let F=S[c],I=D>0?`translateY(${D}px)`:void 0;return(0,_.jsx)(r.t,{children:(0,_.jsx)(`div`,{className:t.t(`mineral-backdrop`,`sheet-backdrop`,T&&`closing`),onMouseDown:j,children:(0,_.jsx)(`div`,{className:`sheet-shell`,style:{transform:I},children:(0,_.jsxs)(p.t,{className:t.t(`sheet`,`size-${c}`,f),role:`dialog`,"aria-modal":`true`,"aria-labelledby":a?y:void 0,style:{...h,height:c===`full`?F:void 0,maxHeight:F},...v,children:[(0,_.jsx)(`button`,{type:`button`,className:`sheet-grabber`,onPointerDown:M,onPointerMove:N,onPointerUp:e=>P(e.pointerId),onPointerCancel:e=>P(e.pointerId),"aria-label":`Drag down to close`,children:(0,_.jsx)(`span`,{className:`sheet-handle`})}),(a||o)&&(0,_.jsxs)(p.i,{className:`sheet-header`,children:[(0,_.jsxs)(`div`,{className:`sheet-copy`,children:[a&&(0,_.jsx)(`div`,{id:y,className:`sheet-title`,children:a}),o&&(0,_.jsx)(`div`,{className:`sheet-description`,children:o})]}),(0,_.jsx)(l.t,{variant:`link`,color:`neutral`,iconOnly:!0,size:`sm`,onClick:i,"aria-label":`Close`,className:`sheet-close`,children:(0,_.jsx)(e.Ki,{})})]}),(0,_.jsx)(p.n,{className:`sheet-body`,children:m}),s&&(0,_.jsx)(p.r,{className:`sheet-footer`,children:s})]})})})})}function w(e){return typeof e==`string`||typeof e==`number`?e.toString():``}function T(e,t){let n=t.toLowerCase().replace(/\s+/g,``).split(`+`),r=n[n.length-1];if(!r)return!1;let i=n.includes(`ctrl`),a=n.includes(`meta`)||n.includes(`cmd`),o=n.includes(`shift`),s=n.includes(`alt`)||n.includes(`option`);return e.key.toLowerCase()===r&&!!i===e.ctrlKey&&!!a===e.metaKey&&!!o===e.shiftKey&&!!s===e.altKey}function E(e,t){if(!t.trim())return e;let n=t.trim().toLowerCase();return e.filter(e=>[w(e.title),w(e.description),w(e.group),w(e.actionLabel),...e.keywords??[]].some(e=>e.toLowerCase().includes(n)))}function D(e){let t=new Map;return e.forEach(e=>{let n=w(e.group)||`General`,r=t.get(n)??{label:e.group??`General`,items:[]};r.items.push(e),t.set(n,r)}),Array.from(t.values())}function O({items:r,featuredItems:i=[],open:v,defaultOpen:y=!1,onOpenChange:b,onSelect:x,title:S=`Command palette`,description:O,trigger:k,shortcut:A=`ctrl+k`,placeholder:j=`Search modules, records and actions...`,emptyLabel:M=`No matching results.`,footer:N,size:P=`lg`,closeOnSelect:F=!0}){let[I,L]=(0,g.useState)(y),[R,z]=(0,g.useState)(``),[B,V]=(0,g.useState)(null),H=v!==void 0,U=H?v:I,W=(0,g.useRef)(null);function G(e){H||L(e),b?.(e)}let K=(0,g.useMemo)(()=>E(r,R),[r,R]),q=(0,g.useMemo)(()=>D(K),[K]),J=(0,g.useMemo)(()=>q.flatMap(e=>e.items),[q]),Y=(0,g.useMemo)(()=>i.length?i:r.slice(0,6),[i,r]);function X(e){e.onSelect?.(),x?.(e),!e.onSelect&&e.href&&window.location.assign(e.href),F&&(G(!1),z(``),V(null))}let{activeIndex:Z,setActiveIndex:Q,resetIndex:$,onKeyDown:ee}=n.t({itemCount:J.length,isOpen:U,onClose:()=>G(!1),onSelect:e=>{let t=J[e];t&&X(t)}});(0,g.useEffect)(()=>{let e=e=>{T(e,A)&&(e.preventDefault(),G(!0))};return window.addEventListener(`keydown`,e),()=>{window.removeEventListener(`keydown`,e)}},[A]),(0,g.useEffect)(()=>{if(!U){$(),V(null);return}queueMicrotask(()=>W.current?.focus())},[U,$]),(0,g.useEffect)(()=>{if(Z<0||Z>=J.length){V(null);return}V(J[Z]?.id??null)},[Z,J]);function te(e){ee(e)}return(0,_.jsxs)(_.Fragment,{children:[k??(0,_.jsx)(l.t,{variant:`filled`,size:`sm`,color:`primary`,iconOnly:!0,startIcon:(0,_.jsx)(e.qi,{}),"aria-label":typeof S==`string`?S:`Open command palette`,onClick:()=>G(!0)}),(0,_.jsx)(C,{open:U,onClose:()=>G(!1),title:S,description:O,size:P,footer:N,children:(0,_.jsxs)(`div`,{className:`command-palette-body`,children:[(0,_.jsx)(`div`,{className:`command-palette-search`,children:(0,_.jsx)(m.t,{ref:W,value:R,onChange:e=>{z(e.target.value),Q(-1)},onKeyDown:te,placeholder:j,clearable:!0,fullWidth:!0})}),(0,_.jsxs)(`div`,{className:`command-palette-grid`,children:[(0,_.jsxs)(p.t,{stretch:!1,children:[(0,_.jsxs)(p.i,{children:[(0,_.jsx)(s.t,{level:4,children:`Featured`}),(0,_.jsx)(o.t,{size:`sm`,tone:`muted`,children:`Quick launch for the most frequent dashboard actions.`})]}),(0,_.jsx)(p.n,{children:(0,_.jsx)(f.t,{columns:4,children:Y.map(t=>{let n=t.actionLabel??t.title,r=typeof n==`string`?n:w(n);return(0,_.jsx)(h.t,{content:n,children:(0,_.jsx)(l.t,{variant:`ghost`,color:`primary`,component:t.component,to:t.to,href:t.href,target:t.target,rel:t.rel,startIcon:t.icon??(0,_.jsx)(e.On,{}),iconOnly:!0,"aria-label":r||void 0,onClick:()=>X(t)})},t.id)})})})]}),(0,_.jsxs)(p.t,{stretch:!1,children:[(0,_.jsxs)(p.i,{children:[(0,_.jsx)(s.t,{level:4,children:`Results`}),(0,_.jsxs)(a.n,{align:`center`,padding:`xs`,children:[(0,_.jsxs)(o.t,{size:`sm`,tone:`muted`,children:[J.length,` ready`]}),(0,_.jsx)(c.t,{children:A.toUpperCase()})]})]}),(0,_.jsx)(p.n,{children:q.length?(0,_.jsx)(d.t,{padding:`xs`,className:`command-palette-results`,children:q.map(n=>(0,_.jsxs)(d.t,{padding:`xs`,children:[(0,_.jsx)(o.t,{size:`sm`,tone:`muted`,children:n.label}),n.items.map(n=>(0,_.jsxs)(`button`,{type:`button`,className:t.t(`command-palette-item`,B===n.id&&`active`),onMouseEnter:()=>V(n.id),onClick:()=>X(n),children:[(0,_.jsx)(`span`,{className:`command-palette-item-icon`,children:n.icon??(0,_.jsx)(e.On,{})}),(0,_.jsxs)(`span`,{className:`command-palette-item-copy`,children:[(0,_.jsx)(`span`,{className:`command-palette-item-title`,children:n.title}),n.description&&(0,_.jsx)(`span`,{className:`command-palette-item-description`,children:n.description})]}),n.badge&&(0,_.jsx)(`span`,{className:`command-palette-item-badge`,children:(0,_.jsx)(u.n,{color:`primary`,size:`sm`,children:n.badge})})]},n.id))]},w(n.label)||`general`))}):(0,_.jsx)(o.t,{tone:`muted`,children:M})})]})]})]})})]})}var k=600;function A(e){return(0,g.isValidElement)(e)&&!!e.type.__drawerHeader}function j(e){return(0,g.isValidElement)(e)&&!!e.type.__drawerBody}function M(e){return(0,g.isValidElement)(e)&&!!e.type.__drawerFooter}function N({children:e}){return(0,_.jsx)(_.Fragment,{children:e})}N.__drawerHeader=!0;function P({children:e}){return(0,_.jsx)(_.Fragment,{children:e})}P.__drawerBody=!0;function F({children:e}){return(0,_.jsx)(_.Fragment,{children:e})}F.__drawerFooter=!0;function I({open:n,onClose:i,side:a=`right`,size:o=`md`,overlay:s=!0,closeOnBackdrop:c=!0,closeOnEscape:u=!0,className:d,children:f,...p}){let[m,h]=(0,g.useState)(!1),[v,y]=(0,g.useState)(!1),b=(0,g.useRef)(null);if((0,g.useEffect)(()=>{n&&(h(!0),y(!1))},[n]),(0,g.useEffect)(()=>{if(!n&&m){y(!0);let e=setTimeout(()=>{h(!1),y(!1)},k);return()=>clearTimeout(e)}},[n,m]),(0,g.useEffect)(()=>{if(!n||!u)return;let e=e=>{e.key===`Escape`&&i()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[n,u,i]),(0,g.useEffect)(()=>{if(!m)return;let e=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=e}},[m]),!m)return null;let x=e=>{c&&e.target===e.currentTarget&&i()},S=null,C=null,w=null,T=null,E=null,D=[];g.Children.forEach(f,e=>{if(A(e)){S=e.props.children,C=e.props;return}if(j(e)){w=e.props,D.push(e.props.children);return}if(M(e)){T=e.props.children,E=e.props;return}D.push(e)});let O=C??{children:void 0},N=w??{children:void 0},P=E??{children:void 0},{children:F,className:I,bordered:L=!1,...R}=O,{children:z,className:B,...V}=N,{children:H,className:U,bordered:W=!1,...G}=P;return(0,_.jsx)(r.t,{children:(0,_.jsx)(`div`,{ref:b,className:t.t(`mineral-backdrop`,`drawer-backdrop`,!s&&`no-overlay`,v&&`closing`),onMouseDown:x,children:(0,_.jsxs)(`div`,{className:t.t(`drawer`,a,o,d),role:`dialog`,"aria-modal":`true`,...p,children:[S&&(0,_.jsxs)(`div`,{...R,className:t.t(`drawer-header`,L&&`bordered`,I),children:[(0,_.jsx)(`div`,{className:`drawer-title`,children:S}),(0,_.jsx)(l.t,{variant:`link`,color:`neutral`,iconOnly:!0,size:`sm`,onClick:i,"aria-label":`Close`,className:`close`,children:(0,_.jsx)(e.Ki,{})})]}),(0,_.jsx)(`div`,{...V,className:t.t(`drawer-body`,B),children:D}),T&&(0,_.jsx)(`div`,{...G,className:t.t(`drawer-footer`,W&&`bordered`,U),children:T})]})})})}function L({title:e,description:n,onConfirm:r,onCancel:a,confirmText:o=`Yes`,cancelText:s=`No`,color:c=`warning`,icon:u,placement:d=`top-start`,open:f,onOpenChange:p,anchorRef:m,className:h}){let v=(0,g.useCallback)(()=>{p(!1),a?.()},[p,a]),y=(0,g.useCallback)(()=>{p(!1),r()},[p,r]);return(0,_.jsxs)(i.t,{open:f,anchorRef:m,onClose:v,placement:d,className:t.t(`popconfirm`,`color-${c}`,h),children:[(0,_.jsxs)(`div`,{className:`body`,children:[u&&(0,_.jsx)(`div`,{className:`icon`,children:u}),(0,_.jsxs)(`div`,{className:`content`,children:[(0,_.jsx)(`div`,{className:`title`,children:e}),n&&(0,_.jsx)(`div`,{className:`description`,children:n})]})]}),(0,_.jsxs)(`div`,{className:`actions`,children:[(0,_.jsx)(l.t,{variant:`ghost`,size:`sm`,color:`neutral`,onClick:v,children:s}),(0,_.jsx)(l.t,{variant:`ghost`,size:`sm`,color:c,onClick:y,children:o})]})]})}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return L}});
|
|
2
|
-
//# sourceMappingURL=overlays-
|
|
1
|
+
const e=require(`./icons-D675Im0B.cjs`),t=require(`./cn-CU5TNITO.cjs`),n=require(`./useKeyboardNav-HVG9JFD2.cjs`),r=require(`./MPortal-BciZHNDC.cjs`),i=require(`./MPopover-Cweomcj2.cjs`),a=require(`./MSurface-CYeVFOw_.cjs`),o=require(`./MText-j6Zbbj5Y.cjs`),s=require(`./MHeading-BLnb3dNv.cjs`),c=require(`./MKbd-n4fhKIxb.cjs`),l=require(`./MButton-R08y1HCT.cjs`),u=require(`./MSkeleton-CLSU5pL6.cjs`),d=require(`./MStack-BP_BUeCc.cjs`),f=require(`./MSimpleGrid-BwNfaxQP.cjs`),p=require(`./MCard-1OVOl4Ql.cjs`),m=require(`./MInputSearch-9wcXlY8-.cjs`),h=require(`./MTooltip-BEfO9jTe.cjs`);require(`./core-DBpQf3uY.cjs`);let g=require(`react`),_=require(`react/jsx-runtime`);var v=540;function y({open:e,onClose:n,title:i,description:a,footer:o,size:s=`md`,closeOnBackdrop:c=!0,closeOnEscape:l=!0,className:u,children:d,...f}){let[m,h]=(0,g.useState)(!1),[y,b]=(0,g.useState)(!1),x=(0,g.useRef)(null);return(0,g.useEffect)(()=>{e&&(h(!0),b(!1))},[e]),(0,g.useEffect)(()=>{if(!e&&m){b(!0);let e=setTimeout(()=>{h(!1),b(!1)},v);return()=>clearTimeout(e)}},[e,m]),(0,g.useEffect)(()=>{if(!e||!l)return;let t=e=>{e.key===`Escape`&&n()};return document.addEventListener(`keydown`,t),()=>document.removeEventListener(`keydown`,t)},[l,n,e]),(0,g.useEffect)(()=>{if(!m)return;let e=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=e}},[m]),m?(0,_.jsx)(r.t,{children:(0,_.jsx)(`div`,{ref:x,className:t.t(`mineral-backdrop`,`modal-backdrop`,y&&`closing`),onMouseDown:e=>{c&&e.target===e.currentTarget&&n()},children:(0,_.jsx)(`div`,{className:`modal-shell`,children:(0,_.jsxs)(p.t,{className:t.t(`modal`,s,u),role:`dialog`,"aria-modal":`true`,"aria-labelledby":i?`mineral-modal-title`:void 0,...f,children:[(i||a)&&(0,_.jsxs)(p.i,{children:[i&&(0,_.jsx)(`div`,{id:`mineral-modal-title`,className:`modal-title`,children:i}),a&&(0,_.jsx)(`div`,{className:`modal-description`,children:a})]}),(0,_.jsx)(p.n,{children:d}),o&&(0,_.jsx)(p.r,{children:o})]})})})}):null}var b=540,x=72,S={sm:`32vh`,md:`52vh`,lg:`72vh`,full:`92vh`};function C({open:n,onClose:i,title:a,description:o,footer:s,size:c=`md`,closeOnBackdrop:u=!0,closeOnEscape:d=!0,className:f,children:m,style:h,...v}){let y=(0,g.useId)(),[C,w]=(0,g.useState)(!1),[T,E]=(0,g.useState)(!1),[D,O]=(0,g.useState)(0),k=(0,g.useRef)(null),A=(0,g.useRef)(0);(0,g.useEffect)(()=>{n&&(w(!0),E(!1),O(0),A.current=0)},[n]),(0,g.useEffect)(()=>{if(!n&&C){E(!0);let e=window.setTimeout(()=>{w(!1),E(!1)},b);return()=>window.clearTimeout(e)}},[n,C]),(0,g.useEffect)(()=>{if(!C)return;let e=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=e}},[C]),(0,g.useEffect)(()=>{if(!n||!d)return;let e=e=>{e.key===`Escape`&&i()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[d,i,n]);function j(e){u&&e.target===e.currentTarget&&i()}function M(e){e.preventDefault(),e.currentTarget.setPointerCapture(e.pointerId),k.current={pointerId:e.pointerId,startY:e.clientY},O(0),A.current=0}function N(e){let t=k.current;if(!t||t.pointerId!==e.pointerId)return;let n=Math.max(e.clientY-t.startY,0);A.current=n,O(n)}function P(e){let t=k.current;if(!(!t||t.pointerId!==e)){if(k.current=null,A.current>x){O(0),A.current=0,i();return}O(0),A.current=0}}if(!C)return null;let F=S[c],I=D>0?`translateY(${D}px)`:void 0;return(0,_.jsx)(r.t,{children:(0,_.jsx)(`div`,{className:t.t(`mineral-backdrop`,`sheet-backdrop`,T&&`closing`),onMouseDown:j,children:(0,_.jsx)(`div`,{className:`sheet-shell`,style:{transform:I},children:(0,_.jsxs)(p.t,{className:t.t(`sheet`,`size-${c}`,f),role:`dialog`,"aria-modal":`true`,"aria-labelledby":a?y:void 0,style:{...h,height:c===`full`?F:void 0,maxHeight:F},...v,children:[(0,_.jsx)(`button`,{type:`button`,className:`sheet-grabber`,onPointerDown:M,onPointerMove:N,onPointerUp:e=>P(e.pointerId),onPointerCancel:e=>P(e.pointerId),"aria-label":`Drag down to close`,children:(0,_.jsx)(`span`,{className:`sheet-handle`})}),(a||o)&&(0,_.jsxs)(p.i,{className:`sheet-header`,children:[(0,_.jsxs)(`div`,{className:`sheet-copy`,children:[a&&(0,_.jsx)(`div`,{id:y,className:`sheet-title`,children:a}),o&&(0,_.jsx)(`div`,{className:`sheet-description`,children:o})]}),(0,_.jsx)(l.t,{variant:`link`,color:`neutral`,iconOnly:!0,size:`sm`,onClick:i,"aria-label":`Close`,className:`sheet-close`,children:(0,_.jsx)(e.Xi,{})})]}),(0,_.jsx)(p.n,{className:`sheet-body`,children:m}),s&&(0,_.jsx)(p.r,{className:`sheet-footer`,children:s})]})})})})}function w(e){return typeof e==`string`||typeof e==`number`?e.toString():``}function T(e,t){let n=t.toLowerCase().replace(/\s+/g,``).split(`+`),r=n[n.length-1];if(!r)return!1;let i=n.includes(`ctrl`),a=n.includes(`meta`)||n.includes(`cmd`),o=n.includes(`shift`),s=n.includes(`alt`)||n.includes(`option`);return e.key.toLowerCase()===r&&!!i===e.ctrlKey&&!!a===e.metaKey&&!!o===e.shiftKey&&!!s===e.altKey}function E(e,t){if(!t.trim())return e;let n=t.trim().toLowerCase();return e.filter(e=>[w(e.title),w(e.description),w(e.group),w(e.actionLabel),...e.keywords??[]].some(e=>e.toLowerCase().includes(n)))}function D(e){let t=new Map;return e.forEach(e=>{let n=w(e.group)||`General`,r=t.get(n)??{label:e.group??`General`,items:[]};r.items.push(e),t.set(n,r)}),Array.from(t.values())}function O({items:r,featuredItems:i=[],open:v,defaultOpen:y=!1,onOpenChange:b,onSelect:x,title:S=`Command palette`,description:O,trigger:k,shortcut:A=`ctrl+k`,placeholder:j=`Search modules, records and actions...`,emptyLabel:M=`No matching results.`,footer:N,size:P=`lg`,closeOnSelect:F=!0}){let[I,L]=(0,g.useState)(y),[R,z]=(0,g.useState)(``),[B,V]=(0,g.useState)(null),H=v!==void 0,U=H?v:I,W=(0,g.useRef)(null);function G(e){H||L(e),b?.(e)}let K=(0,g.useMemo)(()=>E(r,R),[r,R]),q=(0,g.useMemo)(()=>D(K),[K]),J=(0,g.useMemo)(()=>q.flatMap(e=>e.items),[q]),Y=(0,g.useMemo)(()=>i.length?i:r.slice(0,6),[i,r]);function X(e){e.onSelect?.(),x?.(e),!e.onSelect&&e.href&&window.location.assign(e.href),F&&(G(!1),z(``),V(null))}let{activeIndex:Z,setActiveIndex:Q,resetIndex:$,onKeyDown:ee}=n.t({itemCount:J.length,isOpen:U,onClose:()=>G(!1),onSelect:e=>{let t=J[e];t&&X(t)}});(0,g.useEffect)(()=>{let e=e=>{T(e,A)&&(e.preventDefault(),G(!0))};return window.addEventListener(`keydown`,e),()=>{window.removeEventListener(`keydown`,e)}},[A]),(0,g.useEffect)(()=>{if(!U){$(),V(null);return}queueMicrotask(()=>W.current?.focus())},[U,$]),(0,g.useEffect)(()=>{if(Z<0||Z>=J.length){V(null);return}V(J[Z]?.id??null)},[Z,J]);function te(e){ee(e)}return(0,_.jsxs)(_.Fragment,{children:[k??(0,_.jsx)(l.t,{variant:`filled`,size:`sm`,color:`primary`,iconOnly:!0,startIcon:(0,_.jsx)(e.Zi,{}),"aria-label":typeof S==`string`?S:`Open command palette`,onClick:()=>G(!0)}),(0,_.jsx)(C,{open:U,onClose:()=>G(!1),title:S,description:O,size:P,footer:N,children:(0,_.jsxs)(`div`,{className:`command-palette-body`,children:[(0,_.jsx)(`div`,{className:`command-palette-search`,children:(0,_.jsx)(m.t,{ref:W,value:R,onChange:e=>{z(e.target.value),Q(-1)},onKeyDown:te,placeholder:j,clearable:!0,fullWidth:!0})}),(0,_.jsxs)(`div`,{className:`command-palette-grid`,children:[(0,_.jsxs)(p.t,{stretch:!1,children:[(0,_.jsxs)(p.i,{children:[(0,_.jsx)(s.t,{level:4,children:`Featured`}),(0,_.jsx)(o.t,{size:`sm`,tone:`muted`,children:`Quick launch for the most frequent dashboard actions.`})]}),(0,_.jsx)(p.n,{children:(0,_.jsx)(f.t,{columns:4,children:Y.map(t=>{let n=t.actionLabel??t.title,r=typeof n==`string`?n:w(n);return(0,_.jsx)(h.t,{content:n,children:(0,_.jsx)(l.t,{variant:`ghost`,color:`primary`,component:t.component,to:t.to,href:t.href,target:t.target,rel:t.rel,startIcon:t.icon??(0,_.jsx)(e.On,{}),iconOnly:!0,"aria-label":r||void 0,onClick:()=>X(t)})},t.id)})})})]}),(0,_.jsxs)(p.t,{stretch:!1,children:[(0,_.jsxs)(p.i,{children:[(0,_.jsx)(s.t,{level:4,children:`Results`}),(0,_.jsxs)(a.n,{align:`center`,padding:`xs`,children:[(0,_.jsxs)(o.t,{size:`sm`,tone:`muted`,children:[J.length,` ready`]}),(0,_.jsx)(c.t,{children:A.toUpperCase()})]})]}),(0,_.jsx)(p.n,{children:q.length?(0,_.jsx)(d.t,{padding:`xs`,className:`command-palette-results`,children:q.map(n=>(0,_.jsxs)(d.t,{padding:`xs`,children:[(0,_.jsx)(o.t,{size:`sm`,tone:`muted`,children:n.label}),n.items.map(n=>(0,_.jsxs)(`button`,{type:`button`,className:t.t(`command-palette-item`,B===n.id&&`active`),onMouseEnter:()=>V(n.id),onClick:()=>X(n),children:[(0,_.jsx)(`span`,{className:`command-palette-item-icon`,children:n.icon??(0,_.jsx)(e.On,{})}),(0,_.jsxs)(`span`,{className:`command-palette-item-copy`,children:[(0,_.jsx)(`span`,{className:`command-palette-item-title`,children:n.title}),n.description&&(0,_.jsx)(`span`,{className:`command-palette-item-description`,children:n.description})]}),n.badge&&(0,_.jsx)(`span`,{className:`command-palette-item-badge`,children:(0,_.jsx)(u.n,{color:`primary`,size:`sm`,children:n.badge})})]},n.id))]},w(n.label)||`general`))}):(0,_.jsx)(o.t,{tone:`muted`,children:M})})]})]})]})})]})}var k=600;function A(e){return(0,g.isValidElement)(e)&&!!e.type.__drawerHeader}function j(e){return(0,g.isValidElement)(e)&&!!e.type.__drawerBody}function M(e){return(0,g.isValidElement)(e)&&!!e.type.__drawerFooter}function N({children:e}){return(0,_.jsx)(_.Fragment,{children:e})}N.__drawerHeader=!0;function P({children:e}){return(0,_.jsx)(_.Fragment,{children:e})}P.__drawerBody=!0;function F({children:e}){return(0,_.jsx)(_.Fragment,{children:e})}F.__drawerFooter=!0;function I({open:n,onClose:i,side:a=`right`,size:o=`md`,overlay:s=!0,closeOnBackdrop:c=!0,closeOnEscape:u=!0,className:d,children:f,...p}){let[m,h]=(0,g.useState)(!1),[v,y]=(0,g.useState)(!1),b=(0,g.useRef)(null);if((0,g.useEffect)(()=>{n&&(h(!0),y(!1))},[n]),(0,g.useEffect)(()=>{if(!n&&m){y(!0);let e=setTimeout(()=>{h(!1),y(!1)},k);return()=>clearTimeout(e)}},[n,m]),(0,g.useEffect)(()=>{if(!n||!u)return;let e=e=>{e.key===`Escape`&&i()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[n,u,i]),(0,g.useEffect)(()=>{if(!m)return;let e=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=e}},[m]),!m)return null;let x=e=>{c&&e.target===e.currentTarget&&i()},S=null,C=null,w=null,T=null,E=null,D=[];g.Children.forEach(f,e=>{if(A(e)){S=e.props.children,C=e.props;return}if(j(e)){w=e.props,D.push(e.props.children);return}if(M(e)){T=e.props.children,E=e.props;return}D.push(e)});let O=C??{children:void 0},N=w??{children:void 0},P=E??{children:void 0},{children:F,className:I,bordered:L=!1,...R}=O,{children:z,className:B,...V}=N,{children:H,className:U,bordered:W=!1,...G}=P;return(0,_.jsx)(r.t,{children:(0,_.jsx)(`div`,{ref:b,className:t.t(`mineral-backdrop`,`drawer-backdrop`,!s&&`no-overlay`,v&&`closing`),onMouseDown:x,children:(0,_.jsxs)(`div`,{className:t.t(`drawer`,a,o,d),role:`dialog`,"aria-modal":`true`,...p,children:[S&&(0,_.jsxs)(`div`,{...R,className:t.t(`drawer-header`,L&&`bordered`,I),children:[(0,_.jsx)(`div`,{className:`drawer-title`,children:S}),(0,_.jsx)(l.t,{variant:`link`,color:`neutral`,iconOnly:!0,size:`sm`,onClick:i,"aria-label":`Close`,className:`close`,children:(0,_.jsx)(e.Xi,{})})]}),(0,_.jsx)(`div`,{...V,className:t.t(`drawer-body`,B),children:D}),T&&(0,_.jsx)(`div`,{...G,className:t.t(`drawer-footer`,W&&`bordered`,U),children:T})]})})})}function L({title:e,description:n,onConfirm:r,onCancel:a,confirmText:o=`Yes`,cancelText:s=`No`,color:c=`warning`,icon:u,placement:d=`top-start`,open:f,onOpenChange:p,anchorRef:m,className:h}){let v=(0,g.useCallback)(()=>{p(!1),a?.()},[p,a]),y=(0,g.useCallback)(()=>{p(!1),r()},[p,r]);return(0,_.jsxs)(i.t,{open:f,anchorRef:m,onClose:v,placement:d,className:t.t(`popconfirm`,`color-${c}`,h),children:[(0,_.jsxs)(`div`,{className:`body`,children:[u&&(0,_.jsx)(`div`,{className:`icon`,children:u}),(0,_.jsxs)(`div`,{className:`content`,children:[(0,_.jsx)(`div`,{className:`title`,children:e}),n&&(0,_.jsx)(`div`,{className:`description`,children:n})]})]}),(0,_.jsxs)(`div`,{className:`actions`,children:[(0,_.jsx)(l.t,{variant:`ghost`,size:`sm`,color:`neutral`,onClick:v,children:s}),(0,_.jsx)(l.t,{variant:`ghost`,size:`sm`,color:c,onClick:y,children:o})]})]})}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return L}});
|
|
2
|
+
//# sourceMappingURL=overlays-zPzbHW5P.cjs.map
|