@banzamel/mineralui 2.3.1 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/{MAvatar-bUWENcq-.cjs → MAvatar-xI5aZ-bP.cjs} +2 -2
- package/dist/{MAvatar-bUWENcq-.cjs.map → MAvatar-xI5aZ-bP.cjs.map} +1 -1
- package/dist/{MButton-R08y1HCT.cjs → MButton-CMbmWmMI.cjs} +2 -2
- package/dist/{MButton-R08y1HCT.cjs.map → MButton-CMbmWmMI.cjs.map} +1 -1
- package/dist/{MButtonGroup-C-LiXWRC.cjs → MButtonGroup-agnKWUPy.cjs} +2 -2
- package/dist/{MButtonGroup-C-LiXWRC.cjs.map → MButtonGroup-agnKWUPy.cjs.map} +1 -1
- package/dist/{MCard-1OVOl4Ql.cjs → MCard-CADu7UUA.cjs} +2 -2
- package/dist/{MCard-1OVOl4Ql.cjs.map → MCard-CADu7UUA.cjs.map} +1 -1
- package/dist/{MCheckbox-CM5HJQWW.cjs → MCheckbox-stBujis6.cjs} +2 -2
- package/dist/{MCheckbox-CM5HJQWW.cjs.map → MCheckbox-stBujis6.cjs.map} +1 -1
- package/dist/{MConflictIllustration-B2AtfpYO.cjs → MConflictIllustration-CWWnskbi.cjs} +2 -2
- package/dist/{MConflictIllustration-B2AtfpYO.cjs.map → MConflictIllustration-CWWnskbi.cjs.map} +1 -1
- package/dist/{MDetailList-DTLU7HQZ.cjs → MDetailList-CQ2sJ7Jl.cjs} +2 -2
- package/dist/{MDetailList-DTLU7HQZ.cjs.map → MDetailList-CQ2sJ7Jl.cjs.map} +1 -1
- package/dist/MDropdownMenu-B7RR8d8x.js +172 -0
- package/dist/MDropdownMenu-B7RR8d8x.js.map +1 -0
- package/dist/MDropdownMenu-DAzieAOs.cjs +2 -0
- package/dist/MDropdownMenu-DAzieAOs.cjs.map +1 -0
- package/dist/{MGrid-B_0kFUws.cjs → MGrid-LHi7TY5J.cjs} +2 -2
- package/dist/{MGrid-B_0kFUws.cjs.map → MGrid-LHi7TY5J.cjs.map} +1 -1
- package/dist/{MHeading-BLnb3dNv.cjs → MHeading-7yt1C6oS.cjs} +2 -2
- package/dist/{MHeading-BLnb3dNv.cjs.map → MHeading-7yt1C6oS.cjs.map} +1 -1
- package/dist/{MI18nProvider-Cg-vxV6j.cjs → MI18nProvider-Cx4ZaFtv.cjs} +2 -2
- package/dist/{MI18nProvider-Cg-vxV6j.cjs.map → MI18nProvider-Cx4ZaFtv.cjs.map} +1 -1
- package/dist/{MInput-BpTlP8GE.cjs → MInput-BSeWCsPi.cjs} +2 -2
- package/dist/{MInput-BpTlP8GE.cjs.map → MInput-BSeWCsPi.cjs.map} +1 -1
- package/dist/{MInputCVC-B4V0QI5h.js → MInputCVC-CtHPCx_r.js} +2 -2
- package/dist/{MInputCVC-B4V0QI5h.js.map → MInputCVC-CtHPCx_r.js.map} +1 -1
- package/dist/{MInputCVC-BlY5OrVn.cjs → MInputCVC-rNs8w4gH.cjs} +2 -2
- package/dist/{MInputCVC-BlY5OrVn.cjs.map → MInputCVC-rNs8w4gH.cjs.map} +1 -1
- package/dist/{MInputSearch-9wcXlY8-.cjs → MInputSearch-BfPPgEGZ.cjs} +2 -2
- package/dist/{MInputSearch-9wcXlY8-.cjs.map → MInputSearch-BfPPgEGZ.cjs.map} +1 -1
- package/dist/{MKbd-n4fhKIxb.cjs → MKbd-C6XHWlmE.cjs} +2 -2
- package/dist/{MKbd-n4fhKIxb.cjs.map → MKbd-C6XHWlmE.cjs.map} +1 -1
- package/dist/{MLink-Biipj7xz.cjs → MLink-CbaDlP5I.cjs} +2 -2
- package/dist/{MLink-Biipj7xz.cjs.map → MLink-CbaDlP5I.cjs.map} +1 -1
- package/dist/{MLoader-XcpKlLrd.cjs → MLoader-DELAIhz5.cjs} +2 -2
- package/dist/{MLoader-XcpKlLrd.cjs.map → MLoader-DELAIhz5.cjs.map} +1 -1
- package/dist/{MPagination-C6QQdEj_.cjs → MPagination-C2lpvPqC.cjs} +2 -2
- package/dist/{MPagination-C6QQdEj_.cjs.map → MPagination-C2lpvPqC.cjs.map} +1 -1
- package/dist/MPopover-DI_7niwe.cjs +2 -0
- package/dist/MPopover-DI_7niwe.cjs.map +1 -0
- package/dist/{MPopover-C5aaGhma.js → MPopover-Dd-GIBU6.js} +10 -5
- package/dist/MPopover-Dd-GIBU6.js.map +1 -0
- package/dist/{MPortal-BciZHNDC.cjs → MPortal-C9Ucq8Um.cjs} +2 -2
- package/dist/{MPortal-BciZHNDC.cjs.map → MPortal-C9Ucq8Um.cjs.map} +1 -1
- package/dist/{MSimpleGrid-BwNfaxQP.cjs → MSimpleGrid-K-8Qg9em.cjs} +2 -2
- package/dist/{MSimpleGrid-BwNfaxQP.cjs.map → MSimpleGrid-K-8Qg9em.cjs.map} +1 -1
- package/dist/{MSkeleton-CLSU5pL6.cjs → MSkeleton-DgU8aktI.cjs} +2 -2
- package/dist/{MSkeleton-CLSU5pL6.cjs.map → MSkeleton-DgU8aktI.cjs.map} +1 -1
- package/dist/{MSlider-DZnMB49q.cjs → MSlider-0ApojrDC.cjs} +2 -2
- package/dist/{MSlider-DZnMB49q.cjs.map → MSlider-0ApojrDC.cjs.map} +1 -1
- package/dist/{MStack-BP_BUeCc.cjs → MStack-BOOciEts.cjs} +2 -2
- package/dist/{MStack-BP_BUeCc.cjs.map → MStack-BOOciEts.cjs.map} +1 -1
- package/dist/{MSubText-VHsgFsv2.cjs → MSubText-WixraICV.cjs} +2 -2
- package/dist/{MSubText-VHsgFsv2.cjs.map → MSubText-WixraICV.cjs.map} +1 -1
- package/dist/{MSurface-CYeVFOw_.cjs → MSurface-CF8BFFn4.cjs} +2 -2
- package/dist/{MSurface-CYeVFOw_.cjs.map → MSurface-CF8BFFn4.cjs.map} +1 -1
- package/dist/{MTag-BzTp1crT.cjs → MTag-CgXh2PQC.cjs} +2 -2
- package/dist/{MTag-BzTp1crT.cjs.map → MTag-CgXh2PQC.cjs.map} +1 -1
- package/dist/{MText-j6Zbbj5Y.cjs → MText-CDDEGjBx.cjs} +2 -2
- package/dist/{MText-j6Zbbj5Y.cjs.map → MText-CDDEGjBx.cjs.map} +1 -1
- package/dist/{MTooltip-BEfO9jTe.cjs → MTooltip-BWqyv6QU.cjs} +2 -2
- package/dist/{MTooltip-BEfO9jTe.cjs.map → MTooltip-BWqyv6QU.cjs.map} +1 -1
- package/dist/{MTreeView-DuQkm0ZV.cjs → MTreeView-BcVw0Bgz.cjs} +2 -2
- package/dist/{MTreeView-DuQkm0ZV.cjs.map → MTreeView-BcVw0Bgz.cjs.map} +1 -1
- package/dist/{arduino-UeOrXakL.js → arduino-BHobW-W2.js} +1 -1
- package/dist/{arduino-UeOrXakL.js.map → arduino-BHobW-W2.js.map} +1 -1
- package/dist/{arduino-DdDHMIWB.cjs → arduino-Bedph8hQ.cjs} +1 -1
- package/dist/{arduino-DdDHMIWB.cjs.map → arduino-Bedph8hQ.cjs.map} +1 -1
- package/dist/{bash-B17_F5Sw.cjs → bash-CK4DSkpy.cjs} +1 -1
- package/dist/{bash-B17_F5Sw.cjs.map → bash-CK4DSkpy.cjs.map} +1 -1
- package/dist/{bash-CrHemXky.js → bash-oKnFbgn1.js} +1 -1
- package/dist/{bash-CrHemXky.js.map → bash-oKnFbgn1.js.map} +1 -1
- package/dist/{c-ODLxeMV_.cjs → c-9Uw9QchT.cjs} +1 -1
- package/dist/{c-ODLxeMV_.cjs.map → c-9Uw9QchT.cjs.map} +1 -1
- package/dist/{c-D9302r2r.js → c-Bjn-r6WZ.js} +1 -1
- package/dist/{c-D9302r2r.js.map → c-Bjn-r6WZ.js.map} +1 -1
- package/dist/calendar-BFfeWRa0.cjs +2 -0
- package/dist/calendar-BFfeWRa0.cjs.map +1 -0
- package/dist/calendar-DhRP5_mS.js +192 -0
- package/dist/calendar-DhRP5_mS.js.map +1 -0
- package/dist/calendar.cjs +3 -0
- package/dist/calendar.d.ts +1 -0
- package/dist/calendar.js +4 -0
- package/dist/{cards-CQSYgH9U.cjs → cards-Bwos44EP.cjs} +2 -2
- package/dist/{cards-CQSYgH9U.cjs.map → cards-Bwos44EP.cjs.map} +1 -1
- package/dist/{cards-Cpr9B8Mu.js → cards-Dus8TmSD.js} +4 -4
- package/dist/{cards-Cpr9B8Mu.js.map → cards-Dus8TmSD.js.map} +1 -1
- package/dist/cards.cjs +1 -1
- package/dist/cards.js +1 -1
- package/dist/components/calendar/MMiniCalendar/MMiniCalendar.d.ts +6 -0
- package/dist/components/calendar/MMiniCalendar/MMiniCalendar.types.d.ts +35 -0
- package/dist/components/calendar/MMiniCalendar/index.d.ts +2 -0
- package/dist/components/calendar/index.d.ts +2 -0
- package/dist/components/dropdowns/MSelect/MSelect.d.ts +1 -1
- package/dist/components/dropdowns/MSelect/MSelect.types.d.ts +2 -0
- package/dist/components/overlays/MDropdownMenu/MDropdownMenu.d.ts +1 -1
- package/dist/components/overlays/MDropdownMenu/MDropdownMenu.types.d.ts +7 -0
- package/dist/components/overlays/MDropdownMenu/index.d.ts +1 -1
- package/dist/components/overlays/index.d.ts +1 -1
- package/dist/{controls-CT_0lIPr.cjs → controls-CeHdKaQv.cjs} +2 -2
- package/dist/{controls-CT_0lIPr.cjs.map → controls-CeHdKaQv.cjs.map} +1 -1
- package/dist/controls.cjs +1 -1
- package/dist/{core-DBpQf3uY.cjs → core-CLRD6sG4.cjs} +1 -1
- package/dist/{core-DBpQf3uY.cjs.map → core-CLRD6sG4.cjs.map} +1 -1
- package/dist/{core-yRqh2XLu.js → core-CMHNXulE.js} +1 -1
- package/dist/{core-yRqh2XLu.js.map → core-CMHNXulE.js.map} +1 -1
- package/dist/{cpp-DuTgLZC1.cjs → cpp-BWqMcMeX.cjs} +1 -1
- package/dist/{cpp-DuTgLZC1.cjs.map → cpp-BWqMcMeX.cjs.map} +1 -1
- package/dist/{cpp-CLYSpJBB.js → cpp-b3FmFTKl.js} +1 -1
- package/dist/{cpp-CLYSpJBB.js.map → cpp-b3FmFTKl.js.map} +1 -1
- package/dist/{css-BgGh0eG1.js → css-8EzLAJKV.js} +1 -1
- package/dist/{css-BgGh0eG1.js.map → css-8EzLAJKV.js.map} +1 -1
- package/dist/{css-D0f-qByc.cjs → css-B4MkxW0b.cjs} +1 -1
- package/dist/{css-D0f-qByc.cjs.map → css-B4MkxW0b.cjs.map} +1 -1
- package/dist/{data-C-6DP7iY.js → data-Dh3C_VTi.js} +2 -2
- package/dist/{data-C-6DP7iY.js.map → data-Dh3C_VTi.js.map} +1 -1
- package/dist/{data-BZ92hzXx.cjs → data-Dl6U8Uct.cjs} +2 -2
- package/dist/{data-BZ92hzXx.cjs.map → data-Dl6U8Uct.cjs.map} +1 -1
- package/dist/data.cjs +1 -1
- package/dist/data.js +1 -1
- package/dist/{display-BF4jASt9.js → display-CYC1AImx.js} +12 -12
- package/dist/{display-BF4jASt9.js.map → display-CYC1AImx.js.map} +1 -1
- package/dist/{display-DMix8BmD.cjs → display-DU9E_18w.cjs} +2 -2
- package/dist/{display-DMix8BmD.cjs.map → display-DU9E_18w.cjs.map} +1 -1
- package/dist/display.cjs +1 -1
- package/dist/display.js +1 -1
- package/dist/dropdowns-ByDu8Wbt.js +1697 -0
- package/dist/dropdowns-ByDu8Wbt.js.map +1 -0
- package/dist/dropdowns-vaj6vhl6.cjs +2 -0
- package/dist/dropdowns-vaj6vhl6.cjs.map +1 -0
- package/dist/dropdowns.cjs +1 -1
- package/dist/dropdowns.js +1 -1
- package/dist/{feedback-BeJpXoKd.cjs → feedback-CUGuh4QZ.cjs} +2 -2
- package/dist/{feedback-BeJpXoKd.cjs.map → feedback-CUGuh4QZ.cjs.map} +1 -1
- package/dist/feedback.cjs +1 -1
- package/dist/{form-BWGLrCPi.cjs → form-DICGXS6_.cjs} +2 -2
- package/dist/{form-BWGLrCPi.cjs.map → form-DICGXS6_.cjs.map} +1 -1
- package/dist/{form-CgH1hioG.js → form-Dri4AzY9.js} +1 -1
- package/dist/{form-CgH1hioG.js.map → form-Dri4AzY9.js.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/frameworkTexts-C1yvIVm4.js +109 -0
- package/dist/frameworkTexts-C1yvIVm4.js.map +1 -0
- package/dist/frameworkTexts-D3wbwWCu.cjs +2 -0
- package/dist/frameworkTexts-D3wbwWCu.cjs.map +1 -0
- package/dist/i18n/frameworkTexts.d.ts +83 -0
- package/dist/i18n.cjs +1 -1
- package/dist/{icons-D675Im0B.cjs → icons-BxurYyW-.cjs} +2 -2
- package/dist/{icons-D675Im0B.cjs.map → icons-BxurYyW-.cjs.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/illustrations.cjs +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +12 -11
- package/dist/{inputs-x6vjAGCq.cjs → inputs-GCUfD923.cjs} +2 -2
- package/dist/{inputs-x6vjAGCq.cjs.map → inputs-GCUfD923.cjs.map} +1 -1
- package/dist/inputs.cjs +1 -1
- package/dist/inputs.js +1 -1
- package/dist/{javascript-CGjvHPZ1.cjs → javascript-BGrveJJw.cjs} +1 -1
- package/dist/{javascript-CGjvHPZ1.cjs.map → javascript-BGrveJJw.cjs.map} +1 -1
- package/dist/{javascript-CX3JhsYu.js → javascript-CH9YvIk2.js} +1 -1
- package/dist/{javascript-CX3JhsYu.js.map → javascript-CH9YvIk2.js.map} +1 -1
- package/dist/{json-BPIcVdlp.js → json-CPWARxtL.js} +1 -1
- package/dist/{json-BPIcVdlp.js.map → json-CPWARxtL.js.map} +1 -1
- package/dist/{json-B8svQsK0.cjs → json-D6oa0Lra.cjs} +1 -1
- package/dist/{json-B8svQsK0.cjs.map → json-D6oa0Lra.cjs.map} +1 -1
- package/dist/{layout-CdSpVJuK.js → layout-CS_dHOLM.js} +2 -2
- package/dist/{layout-CdSpVJuK.js.map → layout-CS_dHOLM.js.map} +1 -1
- package/dist/{layout-Ddo7HUPu.cjs → layout-Gr99WWTA.cjs} +2 -2
- package/dist/{layout-Ddo7HUPu.cjs.map → layout-Gr99WWTA.cjs.map} +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +1 -1
- package/dist/{licensing-DysMClel.cjs → licensing-DXCHcZd1.cjs} +2 -2
- package/dist/licensing-DXCHcZd1.cjs.map +1 -0
- package/dist/licensing-f5KYVz7D.js.map +1 -1
- package/dist/{locale-CbnstsMH.cjs → locale-BGLDTJSi.cjs} +2 -2
- package/dist/{locale-CbnstsMH.cjs.map → locale-BGLDTJSi.cjs.map} +1 -1
- package/dist/{media-DRz3JZfr.cjs → media-CE59IEdY.cjs} +2 -2
- package/dist/{media-DRz3JZfr.cjs.map → media-CE59IEdY.cjs.map} +1 -1
- package/dist/media.cjs +1 -1
- package/dist/{overlays-BUZEaZaJ.cjs → overlays--Pe-H5TW.cjs} +2 -2
- package/dist/{overlays-BUZEaZaJ.cjs.map → overlays--Pe-H5TW.cjs.map} +1 -1
- package/dist/{overlays-C1vO_A2I.js → overlays-DCXP_KsX.js} +2 -2
- package/dist/{overlays-C1vO_A2I.js.map → overlays-DCXP_KsX.js.map} +1 -1
- package/dist/overlays.cjs +1 -1
- package/dist/overlays.js +2 -2
- package/dist/{php-CKyelegh.cjs → php-DJ1nTQpr.cjs} +1 -1
- package/dist/{php-CKyelegh.cjs.map → php-DJ1nTQpr.cjs.map} +1 -1
- package/dist/{php-CBRzjinf.js → php-DeBdikHj.js} +1 -1
- package/dist/{php-CBRzjinf.js.map → php-DeBdikHj.js.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-BfNZicWk.cjs → theme-Bjs11y3s.cjs} +2 -2
- package/dist/{theme-BfNZicWk.cjs.map → theme-Bjs11y3s.cjs.map} +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/{typescript-Xt3Sotw5.js → typescript-B5GRzMtL.js} +1 -1
- package/dist/{typescript-Xt3Sotw5.js.map → typescript-B5GRzMtL.js.map} +1 -1
- package/dist/{typescript-D6PDzwkM.cjs → typescript-qNh_eaB0.cjs} +1 -1
- package/dist/{typescript-D6PDzwkM.cjs.map → typescript-qNh_eaB0.cjs.map} +1 -1
- package/dist/{typography-Dk9kIORI.cjs → typography-D4PUdtMV.cjs} +2 -2
- package/dist/{typography-Dk9kIORI.cjs.map → typography-D4PUdtMV.cjs.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/{useGhostText-Dmkw3Am8.cjs → useGhostText-BTPneo4u.cjs} +2 -2
- package/dist/{useGhostText-Dmkw3Am8.cjs.map → useGhostText-BTPneo4u.cjs.map} +1 -1
- package/dist/{useInteractionEffect-DFTdcWHl.cjs → useInteractionEffect-q_9csNj7.cjs} +2 -2
- package/dist/{useInteractionEffect-DFTdcWHl.cjs.map → useInteractionEffect-q_9csNj7.cjs.map} +1 -1
- package/dist/{useKeyboardNav-HVG9JFD2.cjs → useKeyboardNav-D_OwIEZp.cjs} +2 -2
- package/dist/{useKeyboardNav-HVG9JFD2.cjs.map → useKeyboardNav-D_OwIEZp.cjs.map} +1 -1
- package/dist/utils/calendarDates.d.ts +51 -0
- package/dist/utils/licensing.d.ts +1 -1
- package/dist/utils/useControllableState.d.ts +5 -0
- package/dist/utils/useElementWidth.d.ts +10 -0
- package/dist/utils.cjs +1 -1
- package/dist/{xml-CrpWqcDk.js → xml-BTZ6XeQ9.js} +1 -1
- package/dist/{xml-CrpWqcDk.js.map → xml-BTZ6XeQ9.js.map} +1 -1
- package/dist/{xml-4YlaGgjP.cjs → xml-_Z3NZw2H.cjs} +1 -1
- package/dist/{xml-4YlaGgjP.cjs.map → xml-_Z3NZw2H.cjs.map} +1 -1
- package/package.json +16 -3
- package/dist/MDropdownMenu-BvN5grK5.cjs +0 -2
- package/dist/MDropdownMenu-BvN5grK5.cjs.map +0 -1
- package/dist/MDropdownMenu-CFoKJ7V6.js +0 -157
- package/dist/MDropdownMenu-CFoKJ7V6.js.map +0 -1
- package/dist/MPopover-C5aaGhma.js.map +0 -1
- package/dist/MPopover-CV-9MArH.cjs +0 -2
- package/dist/MPopover-CV-9MArH.cjs.map +0 -1
- package/dist/dropdowns-BwAVoncd.js +0 -1752
- package/dist/dropdowns-BwAVoncd.js.map +0 -1
- package/dist/dropdowns-D5IF0TK7.cjs +0 -2
- package/dist/dropdowns-D5IF0TK7.cjs.map +0 -1
- package/dist/licensing-DysMClel.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overlays-C1vO_A2I.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-DCXP_KsX.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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"}
|
package/dist/overlays.cjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
const {ensureStyles}=require('./style-runtime.cjs')
|
|
2
2
|
ensureStyles()
|
|
3
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./overlays-
|
|
3
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./overlays--Pe-H5TW.cjs`),t=require(`./MTooltip-BWqyv6QU.cjs`),n=require(`./MDropdownMenu-DAzieAOs.cjs`);exports.MCommandPalette=e.o,exports.MDrawer=e.n,exports.MDrawerBody=e.r,exports.MDrawerFooter=e.i,exports.MDrawerHeader=e.a,exports.MDropdownDivider=n.t,exports.MDropdownGroup=n.n,exports.MDropdownItem=n.r,exports.MDropdownMenu=n.i,exports.MModal=e.c,exports.MPopconfirm=e.t,exports.MSheet=e.s,exports.MTooltip=t.t;
|
package/dist/overlays.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {ensureStyles} from './style-runtime.js'
|
|
2
2
|
ensureStyles()
|
|
3
|
-
import { a as e, c as t, i as n, n as r, o as i, r as a, s as o, t as s } from "./overlays-
|
|
3
|
+
import { a as e, c as t, i as n, n as r, o as i, r as a, s as o, t as s } from "./overlays-DCXP_KsX.js";
|
|
4
4
|
import { t as c } from "./MTooltip-BTJkzOah.js";
|
|
5
|
-
import { i as l, n as u, r as d, t as f } from "./MDropdownMenu-
|
|
5
|
+
import { i as l, n as u, r as d, t as f } from "./MDropdownMenu-B7RR8d8x.js";
|
|
6
6
|
export { i as MCommandPalette, r as MDrawer, a as MDrawerBody, n as MDrawerFooter, e as MDrawerHeader, f as MDropdownDivider, u as MDropdownGroup, d as MDropdownItem, l as MDropdownMenu, t as MModal, s as MPopconfirm, o as MSheet, c as MTooltip };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
function e(e){let t=e.regex,n=/(?![A-Za-z0-9])(?![$])/,r=t.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,n),i=t.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,n),a=t.concat(/[A-Z]+/,n),o={scope:`variable`,match:`\\$+`+r},s={scope:`meta`,variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},c={scope:`subst`,variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},l=e.inherit(e.APOS_STRING_MODE,{illegal:null}),u=e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(c)}),d={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(c),"on:begin":(e,t)=>{t.data._beginMatch=e[1]||e[2]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}},f=e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),p=`[
|
|
2
2
|
]`,m={scope:`string`,variants:[u,l,d,f]},h={scope:`number`,variants:[{begin:`\\b0[bB][01]+(?:_[01]+)*\\b`},{begin:`\\b0[oO][0-7]+(?:_[0-7]+)*\\b`},{begin:`\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b`},{begin:`(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?`}],relevance:0},g=[`false`,`null`,`true`],_=`__CLASS__.__DIR__.__FILE__.__FUNCTION__.__COMPILER_HALT_OFFSET__.__LINE__.__METHOD__.__NAMESPACE__.__TRAIT__.die.echo.exit.include.include_once.print.require.require_once.array.abstract.and.as.binary.bool.boolean.break.callable.case.catch.class.clone.const.continue.declare.default.do.double.else.elseif.empty.enddeclare.endfor.endforeach.endif.endswitch.endwhile.enum.eval.extends.final.finally.float.for.foreach.from.global.goto.if.implements.instanceof.insteadof.int.integer.interface.isset.iterable.list.match|0.mixed.new.never.object.or.private.protected.public.readonly.real.return.string.switch.throw.trait.try.unset.use.var.void.while.xor.yield`.split(`.`),v=`Error|0.AppendIterator.ArgumentCountError.ArithmeticError.ArrayIterator.ArrayObject.AssertionError.BadFunctionCallException.BadMethodCallException.CachingIterator.CallbackFilterIterator.CompileError.Countable.DirectoryIterator.DivisionByZeroError.DomainException.EmptyIterator.ErrorException.Exception.FilesystemIterator.FilterIterator.GlobIterator.InfiniteIterator.InvalidArgumentException.IteratorIterator.LengthException.LimitIterator.LogicException.MultipleIterator.NoRewindIterator.OutOfBoundsException.OutOfRangeException.OuterIterator.OverflowException.ParentIterator.ParseError.RangeException.RecursiveArrayIterator.RecursiveCachingIterator.RecursiveCallbackFilterIterator.RecursiveDirectoryIterator.RecursiveFilterIterator.RecursiveIterator.RecursiveIteratorIterator.RecursiveRegexIterator.RecursiveTreeIterator.RegexIterator.RuntimeException.SeekableIterator.SplDoublyLinkedList.SplFileInfo.SplFileObject.SplFixedArray.SplHeap.SplMaxHeap.SplMinHeap.SplObjectStorage.SplObserver.SplPriorityQueue.SplQueue.SplStack.SplSubject.SplTempFileObject.TypeError.UnderflowException.UnexpectedValueException.UnhandledMatchError.ArrayAccess.BackedEnum.Closure.Fiber.Generator.Iterator.IteratorAggregate.Serializable.Stringable.Throwable.Traversable.UnitEnum.WeakReference.WeakMap.Directory.__PHP_Incomplete_Class.parent.php_user_filter.self.static.stdClass`.split(`.`),y={keyword:_,literal:(e=>{let t=[];return e.forEach(e=>{t.push(e),e.toLowerCase()===e?t.push(e.toUpperCase()):t.push(e.toLowerCase())}),t})(g),built_in:v},b=e=>e.map(e=>e.replace(/\|\d+$/,``)),x={variants:[{match:[/new/,t.concat(p,`+`),t.concat(`(?!`,b(v).join(`\\b|`),`\\b)`),i],scope:{1:`keyword`,4:`title.class`}}]},S=t.concat(r,`\\b(?!\\()`),C={variants:[{match:[t.concat(/::/,t.lookahead(/(?!class\b)/)),S],scope:{2:`variable.constant`}},{match:[/::/,/class/],scope:{2:`variable.language`}},{match:[i,t.concat(/::/,t.lookahead(/(?!class\b)/)),S],scope:{1:`title.class`,3:`variable.constant`}},{match:[i,t.concat(`::`,t.lookahead(/(?!class\b)/))],scope:{1:`title.class`}},{match:[i,/::/,/class/],scope:{1:`title.class`,3:`variable.language`}}]},w={scope:`attr`,match:t.concat(r,t.lookahead(`:`),t.lookahead(/(?!::)/))},T={relevance:0,begin:/\(/,end:/\)/,keywords:y,contains:[w,o,C,e.C_BLOCK_COMMENT_MODE,m,h,x]},E={relevance:0,match:[/\b/,t.concat(`(?!fn\\b|function\\b|`,b(_).join(`\\b|`),`|`,b(v).join(`\\b|`),`\\b)`),r,t.concat(p,`*`),t.lookahead(/(?=\()/)],scope:{3:`title.function.invoke`},contains:[T]};T.contains.push(E);let D=[w,C,e.C_BLOCK_COMMENT_MODE,m,h,x],O={begin:t.concat(/#\[\s*\\?/,t.either(i,a)),beginScope:`meta`,end:/]/,endScope:`meta`,keywords:{literal:g,keyword:[`new`,`array`]},contains:[{begin:/\[/,end:/]/,keywords:{literal:g,keyword:[`new`,`array`]},contains:[`self`,...D]},...D,{scope:`meta`,variants:[{match:i},{match:a}]}]};return{case_insensitive:!1,keywords:y,contains:[O,e.HASH_COMMENT_MODE,e.COMMENT(`//`,`$`),e.COMMENT(`/\\*`,`\\*/`,{contains:[{scope:`doctag`,match:`@[A-Za-z]+`}]}),{match:/__halt_compiler\(\);/,keywords:`__halt_compiler`,starts:{scope:`comment`,end:e.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:`meta`,endsParent:!0}]}},s,{scope:`variable.language`,match:/\$this\b/},o,E,C,{match:[/const/,/\s/,r],scope:{1:`keyword`,3:`variable.constant`}},x,{scope:`function`,relevance:0,beginKeywords:`fn function`,end:/[;{]/,excludeEnd:!0,illegal:`[$%\\[]`,contains:[{beginKeywords:`use`},e.UNDERSCORE_TITLE_MODE,{begin:`=>`,endsParent:!0},{scope:`params`,begin:`\\(`,end:`\\)`,excludeBegin:!0,excludeEnd:!0,keywords:y,contains:[`self`,O,o,C,e.C_BLOCK_COMMENT_MODE,m,h]}]},{scope:`class`,variants:[{beginKeywords:`enum`,illegal:/[($"]/},{beginKeywords:`class interface trait`,illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:`extends implements`},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:`namespace`,relevance:0,end:`;`,illegal:/[.']/,contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:`title.class`})]},{beginKeywords:`use`,relevance:0,end:`;`,contains:[{match:/\b(as|const|function)\b/,scope:`keyword`},e.UNDERSCORE_TITLE_MODE]},m,h]}}exports.default=e;
|
|
3
|
-
//# sourceMappingURL=php-
|
|
3
|
+
//# sourceMappingURL=php-DJ1nTQpr.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"php-CKyelegh.cjs","names":[],"sources":["../../../node_modules/highlight.js/es/languages/php.js"],"sourcesContent":["/*\nLanguage: PHP\nAuthor: Victor Karamzin <Victor.Karamzin@enterra-inc.com>\nContributors: Evgeny Stepanischev <imbolk@gmail.com>, Ivan Sagalaev <maniac@softwaremaniacs.org>\nWebsite: https://www.php.net\nCategory: common\n*/\n\n/**\n * @param {HLJSApi} hljs\n * @returns {LanguageDetail}\n * */\nfunction php(hljs) {\n const regex = hljs.regex;\n // negative look-ahead tries to avoid matching patterns that are not\n // Perl at all like $ident$, @ident@, etc.\n const NOT_PERL_ETC = /(?![A-Za-z0-9])(?![$])/;\n const IDENT_RE = regex.concat(\n /[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*/,\n NOT_PERL_ETC);\n // Will not detect camelCase classes\n const PASCAL_CASE_CLASS_NAME_RE = regex.concat(\n /(\\\\?[A-Z][a-z0-9_\\x7f-\\xff]+|\\\\?[A-Z]+(?=[A-Z][a-z0-9_\\x7f-\\xff])){1,}/,\n NOT_PERL_ETC);\n const UPCASE_NAME_RE = regex.concat(\n /[A-Z]+/,\n NOT_PERL_ETC);\n const VARIABLE = {\n scope: 'variable',\n match: '\\\\$+' + IDENT_RE,\n };\n const PREPROCESSOR = {\n scope: \"meta\",\n variants: [\n { begin: /<\\?php/, relevance: 10 }, // boost for obvious PHP\n { begin: /<\\?=/ },\n // less relevant per PSR-1 which says not to use short-tags\n { begin: /<\\?/, relevance: 0.1 },\n { begin: /\\?>/ } // end php tag\n ]\n };\n const SUBST = {\n scope: 'subst',\n variants: [\n { begin: /\\$\\w+/ },\n {\n begin: /\\{\\$/,\n end: /\\}/\n }\n ]\n };\n const SINGLE_QUOTED = hljs.inherit(hljs.APOS_STRING_MODE, { illegal: null, });\n const DOUBLE_QUOTED = hljs.inherit(hljs.QUOTE_STRING_MODE, {\n illegal: null,\n contains: hljs.QUOTE_STRING_MODE.contains.concat(SUBST),\n });\n\n const HEREDOC = {\n begin: /<<<[ \\t]*(?:(\\w+)|\"(\\w+)\")\\n/,\n end: /[ \\t]*(\\w+)\\b/,\n contains: hljs.QUOTE_STRING_MODE.contains.concat(SUBST),\n 'on:begin': (m, resp) => { resp.data._beginMatch = m[1] || m[2]; },\n 'on:end': (m, resp) => { if (resp.data._beginMatch !== m[1]) resp.ignoreMatch(); },\n };\n\n const NOWDOC = hljs.END_SAME_AS_BEGIN({\n begin: /<<<[ \\t]*'(\\w+)'\\n/,\n end: /[ \\t]*(\\w+)\\b/,\n });\n // list of valid whitespaces because non-breaking space might be part of a IDENT_RE\n const WHITESPACE = '[ \\t\\n]';\n const STRING = {\n scope: 'string',\n variants: [\n DOUBLE_QUOTED,\n SINGLE_QUOTED,\n HEREDOC,\n NOWDOC\n ]\n };\n const NUMBER = {\n scope: 'number',\n variants: [\n { begin: `\\\\b0[bB][01]+(?:_[01]+)*\\\\b` }, // Binary w/ underscore support\n { begin: `\\\\b0[oO][0-7]+(?:_[0-7]+)*\\\\b` }, // Octals w/ underscore support\n { begin: `\\\\b0[xX][\\\\da-fA-F]+(?:_[\\\\da-fA-F]+)*\\\\b` }, // Hex w/ underscore support\n // Decimals w/ underscore support, with optional fragments and scientific exponent (e) suffix.\n { begin: `(?:\\\\b\\\\d+(?:_\\\\d+)*(\\\\.(?:\\\\d+(?:_\\\\d+)*))?|\\\\B\\\\.\\\\d+)(?:[eE][+-]?\\\\d+)?` }\n ],\n relevance: 0\n };\n const LITERALS = [\n \"false\",\n \"null\",\n \"true\"\n ];\n const KWS = [\n // Magic constants:\n // <https://www.php.net/manual/en/language.constants.predefined.php>\n \"__CLASS__\",\n \"__DIR__\",\n \"__FILE__\",\n \"__FUNCTION__\",\n \"__COMPILER_HALT_OFFSET__\",\n \"__LINE__\",\n \"__METHOD__\",\n \"__NAMESPACE__\",\n \"__TRAIT__\",\n // Function that look like language construct or language construct that look like function:\n // List of keywords that may not require parenthesis\n \"die\",\n \"echo\",\n \"exit\",\n \"include\",\n \"include_once\",\n \"print\",\n \"require\",\n \"require_once\",\n // These are not language construct (function) but operate on the currently-executing function and can access the current symbol table\n // 'compact extract func_get_arg func_get_args func_num_args get_called_class get_parent_class ' +\n // Other keywords:\n // <https://www.php.net/manual/en/reserved.php>\n // <https://www.php.net/manual/en/language.types.type-juggling.php>\n \"array\",\n \"abstract\",\n \"and\",\n \"as\",\n \"binary\",\n \"bool\",\n \"boolean\",\n \"break\",\n \"callable\",\n \"case\",\n \"catch\",\n \"class\",\n \"clone\",\n \"const\",\n \"continue\",\n \"declare\",\n \"default\",\n \"do\",\n \"double\",\n \"else\",\n \"elseif\",\n \"empty\",\n \"enddeclare\",\n \"endfor\",\n \"endforeach\",\n \"endif\",\n \"endswitch\",\n \"endwhile\",\n \"enum\",\n \"eval\",\n \"extends\",\n \"final\",\n \"finally\",\n \"float\",\n \"for\",\n \"foreach\",\n \"from\",\n \"global\",\n \"goto\",\n \"if\",\n \"implements\",\n \"instanceof\",\n \"insteadof\",\n \"int\",\n \"integer\",\n \"interface\",\n \"isset\",\n \"iterable\",\n \"list\",\n \"match|0\",\n \"mixed\",\n \"new\",\n \"never\",\n \"object\",\n \"or\",\n \"private\",\n \"protected\",\n \"public\",\n \"readonly\",\n \"real\",\n \"return\",\n \"string\",\n \"switch\",\n \"throw\",\n \"trait\",\n \"try\",\n \"unset\",\n \"use\",\n \"var\",\n \"void\",\n \"while\",\n \"xor\",\n \"yield\"\n ];\n\n const BUILT_INS = [\n // Standard PHP library:\n // <https://www.php.net/manual/en/book.spl.php>\n \"Error|0\",\n \"AppendIterator\",\n \"ArgumentCountError\",\n \"ArithmeticError\",\n \"ArrayIterator\",\n \"ArrayObject\",\n \"AssertionError\",\n \"BadFunctionCallException\",\n \"BadMethodCallException\",\n \"CachingIterator\",\n \"CallbackFilterIterator\",\n \"CompileError\",\n \"Countable\",\n \"DirectoryIterator\",\n \"DivisionByZeroError\",\n \"DomainException\",\n \"EmptyIterator\",\n \"ErrorException\",\n \"Exception\",\n \"FilesystemIterator\",\n \"FilterIterator\",\n \"GlobIterator\",\n \"InfiniteIterator\",\n \"InvalidArgumentException\",\n \"IteratorIterator\",\n \"LengthException\",\n \"LimitIterator\",\n \"LogicException\",\n \"MultipleIterator\",\n \"NoRewindIterator\",\n \"OutOfBoundsException\",\n \"OutOfRangeException\",\n \"OuterIterator\",\n \"OverflowException\",\n \"ParentIterator\",\n \"ParseError\",\n \"RangeException\",\n \"RecursiveArrayIterator\",\n \"RecursiveCachingIterator\",\n \"RecursiveCallbackFilterIterator\",\n \"RecursiveDirectoryIterator\",\n \"RecursiveFilterIterator\",\n \"RecursiveIterator\",\n \"RecursiveIteratorIterator\",\n \"RecursiveRegexIterator\",\n \"RecursiveTreeIterator\",\n \"RegexIterator\",\n \"RuntimeException\",\n \"SeekableIterator\",\n \"SplDoublyLinkedList\",\n \"SplFileInfo\",\n \"SplFileObject\",\n \"SplFixedArray\",\n \"SplHeap\",\n \"SplMaxHeap\",\n \"SplMinHeap\",\n \"SplObjectStorage\",\n \"SplObserver\",\n \"SplPriorityQueue\",\n \"SplQueue\",\n \"SplStack\",\n \"SplSubject\",\n \"SplTempFileObject\",\n \"TypeError\",\n \"UnderflowException\",\n \"UnexpectedValueException\",\n \"UnhandledMatchError\",\n // Reserved interfaces:\n // <https://www.php.net/manual/en/reserved.interfaces.php>\n \"ArrayAccess\",\n \"BackedEnum\",\n \"Closure\",\n \"Fiber\",\n \"Generator\",\n \"Iterator\",\n \"IteratorAggregate\",\n \"Serializable\",\n \"Stringable\",\n \"Throwable\",\n \"Traversable\",\n \"UnitEnum\",\n \"WeakReference\",\n \"WeakMap\",\n // Reserved classes:\n // <https://www.php.net/manual/en/reserved.classes.php>\n \"Directory\",\n \"__PHP_Incomplete_Class\",\n \"parent\",\n \"php_user_filter\",\n \"self\",\n \"static\",\n \"stdClass\"\n ];\n\n /** Dual-case keywords\n *\n * [\"then\",\"FILE\"] =>\n * [\"then\", \"THEN\", \"FILE\", \"file\"]\n *\n * @param {string[]} items */\n const dualCase = (items) => {\n /** @type string[] */\n const result = [];\n items.forEach(item => {\n result.push(item);\n if (item.toLowerCase() === item) {\n result.push(item.toUpperCase());\n } else {\n result.push(item.toLowerCase());\n }\n });\n return result;\n };\n\n const KEYWORDS = {\n keyword: KWS,\n literal: dualCase(LITERALS),\n built_in: BUILT_INS,\n };\n\n /**\n * @param {string[]} items */\n const normalizeKeywords = (items) => {\n return items.map(item => {\n return item.replace(/\\|\\d+$/, \"\");\n });\n };\n\n const CONSTRUCTOR_CALL = { variants: [\n {\n match: [\n /new/,\n regex.concat(WHITESPACE, \"+\"),\n // to prevent built ins from being confused as the class constructor call\n regex.concat(\"(?!\", normalizeKeywords(BUILT_INS).join(\"\\\\b|\"), \"\\\\b)\"),\n PASCAL_CASE_CLASS_NAME_RE,\n ],\n scope: {\n 1: \"keyword\",\n 4: \"title.class\",\n },\n }\n ] };\n\n const CONSTANT_REFERENCE = regex.concat(IDENT_RE, \"\\\\b(?!\\\\()\");\n\n const LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON = { variants: [\n {\n match: [\n regex.concat(\n /::/,\n regex.lookahead(/(?!class\\b)/)\n ),\n CONSTANT_REFERENCE,\n ],\n scope: { 2: \"variable.constant\", },\n },\n {\n match: [\n /::/,\n /class/,\n ],\n scope: { 2: \"variable.language\", },\n },\n {\n match: [\n PASCAL_CASE_CLASS_NAME_RE,\n regex.concat(\n /::/,\n regex.lookahead(/(?!class\\b)/)\n ),\n CONSTANT_REFERENCE,\n ],\n scope: {\n 1: \"title.class\",\n 3: \"variable.constant\",\n },\n },\n {\n match: [\n PASCAL_CASE_CLASS_NAME_RE,\n regex.concat(\n \"::\",\n regex.lookahead(/(?!class\\b)/)\n ),\n ],\n scope: { 1: \"title.class\", },\n },\n {\n match: [\n PASCAL_CASE_CLASS_NAME_RE,\n /::/,\n /class/,\n ],\n scope: {\n 1: \"title.class\",\n 3: \"variable.language\",\n },\n }\n ] };\n\n const NAMED_ARGUMENT = {\n scope: 'attr',\n match: regex.concat(IDENT_RE, regex.lookahead(':'), regex.lookahead(/(?!::)/)),\n };\n const PARAMS_MODE = {\n relevance: 0,\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n contains: [\n NAMED_ARGUMENT,\n VARIABLE,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n NUMBER,\n CONSTRUCTOR_CALL,\n ],\n };\n const FUNCTION_INVOKE = {\n relevance: 0,\n match: [\n /\\b/,\n // to prevent keywords from being confused as the function title\n regex.concat(\"(?!fn\\\\b|function\\\\b|\", normalizeKeywords(KWS).join(\"\\\\b|\"), \"|\", normalizeKeywords(BUILT_INS).join(\"\\\\b|\"), \"\\\\b)\"),\n IDENT_RE,\n regex.concat(WHITESPACE, \"*\"),\n regex.lookahead(/(?=\\()/)\n ],\n scope: { 3: \"title.function.invoke\", },\n contains: [ PARAMS_MODE ]\n };\n PARAMS_MODE.contains.push(FUNCTION_INVOKE);\n\n const ATTRIBUTE_CONTAINS = [\n NAMED_ARGUMENT,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n NUMBER,\n CONSTRUCTOR_CALL,\n ];\n\n const ATTRIBUTES = {\n begin: regex.concat(/#\\[\\s*\\\\?/,\n regex.either(\n PASCAL_CASE_CLASS_NAME_RE,\n UPCASE_NAME_RE\n )\n ),\n beginScope: \"meta\",\n end: /]/,\n endScope: \"meta\",\n keywords: {\n literal: LITERALS,\n keyword: [\n 'new',\n 'array',\n ]\n },\n contains: [\n {\n begin: /\\[/,\n end: /]/,\n keywords: {\n literal: LITERALS,\n keyword: [\n 'new',\n 'array',\n ]\n },\n contains: [\n 'self',\n ...ATTRIBUTE_CONTAINS,\n ]\n },\n ...ATTRIBUTE_CONTAINS,\n {\n scope: 'meta',\n variants: [\n { match: PASCAL_CASE_CLASS_NAME_RE },\n { match: UPCASE_NAME_RE }\n ]\n }\n ]\n };\n\n return {\n case_insensitive: false,\n keywords: KEYWORDS,\n contains: [\n ATTRIBUTES,\n hljs.HASH_COMMENT_MODE,\n hljs.COMMENT('//', '$'),\n hljs.COMMENT(\n '/\\\\*',\n '\\\\*/',\n { contains: [\n {\n scope: 'doctag',\n match: '@[A-Za-z]+'\n }\n ] }\n ),\n {\n match: /__halt_compiler\\(\\);/,\n keywords: '__halt_compiler',\n starts: {\n scope: \"comment\",\n end: hljs.MATCH_NOTHING_RE,\n contains: [\n {\n match: /\\?>/,\n scope: \"meta\",\n endsParent: true\n }\n ]\n }\n },\n PREPROCESSOR,\n {\n scope: 'variable.language',\n match: /\\$this\\b/\n },\n VARIABLE,\n FUNCTION_INVOKE,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n {\n match: [\n /const/,\n /\\s/,\n IDENT_RE,\n ],\n scope: {\n 1: \"keyword\",\n 3: \"variable.constant\",\n },\n },\n CONSTRUCTOR_CALL,\n {\n scope: 'function',\n relevance: 0,\n beginKeywords: 'fn function',\n end: /[;{]/,\n excludeEnd: true,\n illegal: '[$%\\\\[]',\n contains: [\n { beginKeywords: 'use', },\n hljs.UNDERSCORE_TITLE_MODE,\n {\n begin: '=>', // No markup, just a relevance booster\n endsParent: true\n },\n {\n scope: 'params',\n begin: '\\\\(',\n end: '\\\\)',\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n contains: [\n 'self',\n ATTRIBUTES,\n VARIABLE,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n NUMBER\n ]\n },\n ]\n },\n {\n scope: 'class',\n variants: [\n {\n beginKeywords: \"enum\",\n illegal: /[($\"]/\n },\n {\n beginKeywords: \"class interface trait\",\n illegal: /[:($\"]/\n }\n ],\n relevance: 0,\n end: /\\{/,\n excludeEnd: true,\n contains: [\n { beginKeywords: 'extends implements' },\n hljs.UNDERSCORE_TITLE_MODE\n ]\n },\n // both use and namespace still use \"old style\" rules (vs multi-match)\n // because the namespace name can include `\\` and we still want each\n // element to be treated as its own *individual* title\n {\n beginKeywords: 'namespace',\n relevance: 0,\n end: ';',\n illegal: /[.']/,\n contains: [ hljs.inherit(hljs.UNDERSCORE_TITLE_MODE, { scope: \"title.class\" }) ]\n },\n {\n beginKeywords: 'use',\n relevance: 0,\n end: ';',\n contains: [\n // TODO: title.function vs title.class\n {\n match: /\\b(as|const|function)\\b/,\n scope: \"keyword\"\n },\n // TODO: could be title.class or title.function\n hljs.UNDERSCORE_TITLE_MODE\n ]\n },\n STRING,\n NUMBER,\n ]\n };\n}\n\nexport { php as default };\n"],"x_google_ignoreList":[0],"mappings":"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OAAO,CAAE,OAAO,CAClI,EACA,EAAM,OAAO,EAAY,IAAI,CAC7B,EAAM,UAAU,SAAS,CAC1B,CACD,MAAO,CAAE,EAAG,wBAA0B,CACtC,SAAU,CAAE,EAAa,CAC1B,CACD,EAAY,SAAS,KAAK,EAAgB,CAE1C,IAAM,EAAqB,CACzB,EACA,EACA,EAAK,qBACL,EACA,EACA,EACD,CAEK,EAAa,CACjB,MAAO,EAAM,OAAO,YAClB,EAAM,OACJ,EACA,EACD,CACF,CACD,WAAY,OACZ,IAAK,IACL,SAAU,OACV,SAAU,CACR,QAAS,EACT,QAAS,CACP,MACA,QACD,CACF,CACD,SAAU,CACR,CACE,MAAO,KACP,IAAK,IACL,SAAU,CACR,QAAS,EACT,QAAS,CACP,MACA,QACD,CACF,CACD,SAAU,CACR,OACA,GAAG,EACJ,CACF,CACD,GAAG,EACH,CACE,MAAO,OACP,SAAU,CACR,CAAE,MAAO,EAA2B,CACpC,CAAE,MAAO,EAAgB,CAC1B,CACF,CACF,CACF,CAED,MAAO,CACL,iBAAkB,GAClB,SAAU,EACV,SAAU,CACR,EACA,EAAK,kBACL,EAAK,QAAQ,KAAM,IAAI,CACvB,EAAK,QACH,OACA,OACA,CAAE,SAAU,CACV,CACE,MAAO,SACP,MAAO,aACR,CACF,CAAE,CACJ,CACD,CACE,MAAO,uBACP,SAAU,kBACV,OAAQ,CACN,MAAO,UACP,IAAK,EAAK,iBACV,SAAU,CACR,CACE,MAAO,MACP,MAAO,OACP,WAAY,GACb,CACF,CACF,CACF,CACD,EACA,CACE,MAAO,oBACP,MAAO,WACR,CACD,EACA,EACA,EACA,CACE,MAAO,CACL,QACA,KACA,EACD,CACD,MAAO,CACL,EAAG,UACH,EAAG,oBACJ,CACF,CACD,EACA,CACE,MAAO,WACP,UAAW,EACX,cAAe,cACf,IAAK,OACL,WAAY,GACZ,QAAS,UACT,SAAU,CACR,CAAE,cAAe,MAAQ,CACzB,EAAK,sBACL,CACE,MAAO,KACP,WAAY,GACb,CACD,CACE,MAAO,SACP,MAAO,MACP,IAAK,MACL,aAAc,GACd,WAAY,GACZ,SAAU,EACV,SAAU,CACR,OACA,EACA,EACA,EACA,EAAK,qBACL,EACA,EACD,CACF,CACF,CACF,CACD,CACE,MAAO,QACP,SAAU,CACR,CACE,cAAe,OACf,QAAS,QACV,CACD,CACE,cAAe,wBACf,QAAS,SACV,CACF,CACD,UAAW,EACX,IAAK,KACL,WAAY,GACZ,SAAU,CACR,CAAE,cAAe,qBAAsB,CACvC,EAAK,sBACN,CACF,CAID,CACE,cAAe,YACf,UAAW,EACX,IAAK,IACL,QAAS,OACT,SAAU,CAAE,EAAK,QAAQ,EAAK,sBAAuB,CAAE,MAAO,cAAe,CAAC,CAAE,CACjF,CACD,CACE,cAAe,MACf,UAAW,EACX,IAAK,IACL,SAAU,CAER,CACE,MAAO,0BACP,MAAO,UACR,CAED,EAAK,sBACN,CACF,CACD,EACA,EACD,CACF"}
|
|
1
|
+
{"version":3,"file":"php-DJ1nTQpr.cjs","names":[],"sources":["../../../node_modules/highlight.js/es/languages/php.js"],"sourcesContent":["/*\nLanguage: PHP\nAuthor: Victor Karamzin <Victor.Karamzin@enterra-inc.com>\nContributors: Evgeny Stepanischev <imbolk@gmail.com>, Ivan Sagalaev <maniac@softwaremaniacs.org>\nWebsite: https://www.php.net\nCategory: common\n*/\n\n/**\n * @param {HLJSApi} hljs\n * @returns {LanguageDetail}\n * */\nfunction php(hljs) {\n const regex = hljs.regex;\n // negative look-ahead tries to avoid matching patterns that are not\n // Perl at all like $ident$, @ident@, etc.\n const NOT_PERL_ETC = /(?![A-Za-z0-9])(?![$])/;\n const IDENT_RE = regex.concat(\n /[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*/,\n NOT_PERL_ETC);\n // Will not detect camelCase classes\n const PASCAL_CASE_CLASS_NAME_RE = regex.concat(\n /(\\\\?[A-Z][a-z0-9_\\x7f-\\xff]+|\\\\?[A-Z]+(?=[A-Z][a-z0-9_\\x7f-\\xff])){1,}/,\n NOT_PERL_ETC);\n const UPCASE_NAME_RE = regex.concat(\n /[A-Z]+/,\n NOT_PERL_ETC);\n const VARIABLE = {\n scope: 'variable',\n match: '\\\\$+' + IDENT_RE,\n };\n const PREPROCESSOR = {\n scope: \"meta\",\n variants: [\n { begin: /<\\?php/, relevance: 10 }, // boost for obvious PHP\n { begin: /<\\?=/ },\n // less relevant per PSR-1 which says not to use short-tags\n { begin: /<\\?/, relevance: 0.1 },\n { begin: /\\?>/ } // end php tag\n ]\n };\n const SUBST = {\n scope: 'subst',\n variants: [\n { begin: /\\$\\w+/ },\n {\n begin: /\\{\\$/,\n end: /\\}/\n }\n ]\n };\n const SINGLE_QUOTED = hljs.inherit(hljs.APOS_STRING_MODE, { illegal: null, });\n const DOUBLE_QUOTED = hljs.inherit(hljs.QUOTE_STRING_MODE, {\n illegal: null,\n contains: hljs.QUOTE_STRING_MODE.contains.concat(SUBST),\n });\n\n const HEREDOC = {\n begin: /<<<[ \\t]*(?:(\\w+)|\"(\\w+)\")\\n/,\n end: /[ \\t]*(\\w+)\\b/,\n contains: hljs.QUOTE_STRING_MODE.contains.concat(SUBST),\n 'on:begin': (m, resp) => { resp.data._beginMatch = m[1] || m[2]; },\n 'on:end': (m, resp) => { if (resp.data._beginMatch !== m[1]) resp.ignoreMatch(); },\n };\n\n const NOWDOC = hljs.END_SAME_AS_BEGIN({\n begin: /<<<[ \\t]*'(\\w+)'\\n/,\n end: /[ \\t]*(\\w+)\\b/,\n });\n // list of valid whitespaces because non-breaking space might be part of a IDENT_RE\n const WHITESPACE = '[ \\t\\n]';\n const STRING = {\n scope: 'string',\n variants: [\n DOUBLE_QUOTED,\n SINGLE_QUOTED,\n HEREDOC,\n NOWDOC\n ]\n };\n const NUMBER = {\n scope: 'number',\n variants: [\n { begin: `\\\\b0[bB][01]+(?:_[01]+)*\\\\b` }, // Binary w/ underscore support\n { begin: `\\\\b0[oO][0-7]+(?:_[0-7]+)*\\\\b` }, // Octals w/ underscore support\n { begin: `\\\\b0[xX][\\\\da-fA-F]+(?:_[\\\\da-fA-F]+)*\\\\b` }, // Hex w/ underscore support\n // Decimals w/ underscore support, with optional fragments and scientific exponent (e) suffix.\n { begin: `(?:\\\\b\\\\d+(?:_\\\\d+)*(\\\\.(?:\\\\d+(?:_\\\\d+)*))?|\\\\B\\\\.\\\\d+)(?:[eE][+-]?\\\\d+)?` }\n ],\n relevance: 0\n };\n const LITERALS = [\n \"false\",\n \"null\",\n \"true\"\n ];\n const KWS = [\n // Magic constants:\n // <https://www.php.net/manual/en/language.constants.predefined.php>\n \"__CLASS__\",\n \"__DIR__\",\n \"__FILE__\",\n \"__FUNCTION__\",\n \"__COMPILER_HALT_OFFSET__\",\n \"__LINE__\",\n \"__METHOD__\",\n \"__NAMESPACE__\",\n \"__TRAIT__\",\n // Function that look like language construct or language construct that look like function:\n // List of keywords that may not require parenthesis\n \"die\",\n \"echo\",\n \"exit\",\n \"include\",\n \"include_once\",\n \"print\",\n \"require\",\n \"require_once\",\n // These are not language construct (function) but operate on the currently-executing function and can access the current symbol table\n // 'compact extract func_get_arg func_get_args func_num_args get_called_class get_parent_class ' +\n // Other keywords:\n // <https://www.php.net/manual/en/reserved.php>\n // <https://www.php.net/manual/en/language.types.type-juggling.php>\n \"array\",\n \"abstract\",\n \"and\",\n \"as\",\n \"binary\",\n \"bool\",\n \"boolean\",\n \"break\",\n \"callable\",\n \"case\",\n \"catch\",\n \"class\",\n \"clone\",\n \"const\",\n \"continue\",\n \"declare\",\n \"default\",\n \"do\",\n \"double\",\n \"else\",\n \"elseif\",\n \"empty\",\n \"enddeclare\",\n \"endfor\",\n \"endforeach\",\n \"endif\",\n \"endswitch\",\n \"endwhile\",\n \"enum\",\n \"eval\",\n \"extends\",\n \"final\",\n \"finally\",\n \"float\",\n \"for\",\n \"foreach\",\n \"from\",\n \"global\",\n \"goto\",\n \"if\",\n \"implements\",\n \"instanceof\",\n \"insteadof\",\n \"int\",\n \"integer\",\n \"interface\",\n \"isset\",\n \"iterable\",\n \"list\",\n \"match|0\",\n \"mixed\",\n \"new\",\n \"never\",\n \"object\",\n \"or\",\n \"private\",\n \"protected\",\n \"public\",\n \"readonly\",\n \"real\",\n \"return\",\n \"string\",\n \"switch\",\n \"throw\",\n \"trait\",\n \"try\",\n \"unset\",\n \"use\",\n \"var\",\n \"void\",\n \"while\",\n \"xor\",\n \"yield\"\n ];\n\n const BUILT_INS = [\n // Standard PHP library:\n // <https://www.php.net/manual/en/book.spl.php>\n \"Error|0\",\n \"AppendIterator\",\n \"ArgumentCountError\",\n \"ArithmeticError\",\n \"ArrayIterator\",\n \"ArrayObject\",\n \"AssertionError\",\n \"BadFunctionCallException\",\n \"BadMethodCallException\",\n \"CachingIterator\",\n \"CallbackFilterIterator\",\n \"CompileError\",\n \"Countable\",\n \"DirectoryIterator\",\n \"DivisionByZeroError\",\n \"DomainException\",\n \"EmptyIterator\",\n \"ErrorException\",\n \"Exception\",\n \"FilesystemIterator\",\n \"FilterIterator\",\n \"GlobIterator\",\n \"InfiniteIterator\",\n \"InvalidArgumentException\",\n \"IteratorIterator\",\n \"LengthException\",\n \"LimitIterator\",\n \"LogicException\",\n \"MultipleIterator\",\n \"NoRewindIterator\",\n \"OutOfBoundsException\",\n \"OutOfRangeException\",\n \"OuterIterator\",\n \"OverflowException\",\n \"ParentIterator\",\n \"ParseError\",\n \"RangeException\",\n \"RecursiveArrayIterator\",\n \"RecursiveCachingIterator\",\n \"RecursiveCallbackFilterIterator\",\n \"RecursiveDirectoryIterator\",\n \"RecursiveFilterIterator\",\n \"RecursiveIterator\",\n \"RecursiveIteratorIterator\",\n \"RecursiveRegexIterator\",\n \"RecursiveTreeIterator\",\n \"RegexIterator\",\n \"RuntimeException\",\n \"SeekableIterator\",\n \"SplDoublyLinkedList\",\n \"SplFileInfo\",\n \"SplFileObject\",\n \"SplFixedArray\",\n \"SplHeap\",\n \"SplMaxHeap\",\n \"SplMinHeap\",\n \"SplObjectStorage\",\n \"SplObserver\",\n \"SplPriorityQueue\",\n \"SplQueue\",\n \"SplStack\",\n \"SplSubject\",\n \"SplTempFileObject\",\n \"TypeError\",\n \"UnderflowException\",\n \"UnexpectedValueException\",\n \"UnhandledMatchError\",\n // Reserved interfaces:\n // <https://www.php.net/manual/en/reserved.interfaces.php>\n \"ArrayAccess\",\n \"BackedEnum\",\n \"Closure\",\n \"Fiber\",\n \"Generator\",\n \"Iterator\",\n \"IteratorAggregate\",\n \"Serializable\",\n \"Stringable\",\n \"Throwable\",\n \"Traversable\",\n \"UnitEnum\",\n \"WeakReference\",\n \"WeakMap\",\n // Reserved classes:\n // <https://www.php.net/manual/en/reserved.classes.php>\n \"Directory\",\n \"__PHP_Incomplete_Class\",\n \"parent\",\n \"php_user_filter\",\n \"self\",\n \"static\",\n \"stdClass\"\n ];\n\n /** Dual-case keywords\n *\n * [\"then\",\"FILE\"] =>\n * [\"then\", \"THEN\", \"FILE\", \"file\"]\n *\n * @param {string[]} items */\n const dualCase = (items) => {\n /** @type string[] */\n const result = [];\n items.forEach(item => {\n result.push(item);\n if (item.toLowerCase() === item) {\n result.push(item.toUpperCase());\n } else {\n result.push(item.toLowerCase());\n }\n });\n return result;\n };\n\n const KEYWORDS = {\n keyword: KWS,\n literal: dualCase(LITERALS),\n built_in: BUILT_INS,\n };\n\n /**\n * @param {string[]} items */\n const normalizeKeywords = (items) => {\n return items.map(item => {\n return item.replace(/\\|\\d+$/, \"\");\n });\n };\n\n const CONSTRUCTOR_CALL = { variants: [\n {\n match: [\n /new/,\n regex.concat(WHITESPACE, \"+\"),\n // to prevent built ins from being confused as the class constructor call\n regex.concat(\"(?!\", normalizeKeywords(BUILT_INS).join(\"\\\\b|\"), \"\\\\b)\"),\n PASCAL_CASE_CLASS_NAME_RE,\n ],\n scope: {\n 1: \"keyword\",\n 4: \"title.class\",\n },\n }\n ] };\n\n const CONSTANT_REFERENCE = regex.concat(IDENT_RE, \"\\\\b(?!\\\\()\");\n\n const LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON = { variants: [\n {\n match: [\n regex.concat(\n /::/,\n regex.lookahead(/(?!class\\b)/)\n ),\n CONSTANT_REFERENCE,\n ],\n scope: { 2: \"variable.constant\", },\n },\n {\n match: [\n /::/,\n /class/,\n ],\n scope: { 2: \"variable.language\", },\n },\n {\n match: [\n PASCAL_CASE_CLASS_NAME_RE,\n regex.concat(\n /::/,\n regex.lookahead(/(?!class\\b)/)\n ),\n CONSTANT_REFERENCE,\n ],\n scope: {\n 1: \"title.class\",\n 3: \"variable.constant\",\n },\n },\n {\n match: [\n PASCAL_CASE_CLASS_NAME_RE,\n regex.concat(\n \"::\",\n regex.lookahead(/(?!class\\b)/)\n ),\n ],\n scope: { 1: \"title.class\", },\n },\n {\n match: [\n PASCAL_CASE_CLASS_NAME_RE,\n /::/,\n /class/,\n ],\n scope: {\n 1: \"title.class\",\n 3: \"variable.language\",\n },\n }\n ] };\n\n const NAMED_ARGUMENT = {\n scope: 'attr',\n match: regex.concat(IDENT_RE, regex.lookahead(':'), regex.lookahead(/(?!::)/)),\n };\n const PARAMS_MODE = {\n relevance: 0,\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n contains: [\n NAMED_ARGUMENT,\n VARIABLE,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n NUMBER,\n CONSTRUCTOR_CALL,\n ],\n };\n const FUNCTION_INVOKE = {\n relevance: 0,\n match: [\n /\\b/,\n // to prevent keywords from being confused as the function title\n regex.concat(\"(?!fn\\\\b|function\\\\b|\", normalizeKeywords(KWS).join(\"\\\\b|\"), \"|\", normalizeKeywords(BUILT_INS).join(\"\\\\b|\"), \"\\\\b)\"),\n IDENT_RE,\n regex.concat(WHITESPACE, \"*\"),\n regex.lookahead(/(?=\\()/)\n ],\n scope: { 3: \"title.function.invoke\", },\n contains: [ PARAMS_MODE ]\n };\n PARAMS_MODE.contains.push(FUNCTION_INVOKE);\n\n const ATTRIBUTE_CONTAINS = [\n NAMED_ARGUMENT,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n NUMBER,\n CONSTRUCTOR_CALL,\n ];\n\n const ATTRIBUTES = {\n begin: regex.concat(/#\\[\\s*\\\\?/,\n regex.either(\n PASCAL_CASE_CLASS_NAME_RE,\n UPCASE_NAME_RE\n )\n ),\n beginScope: \"meta\",\n end: /]/,\n endScope: \"meta\",\n keywords: {\n literal: LITERALS,\n keyword: [\n 'new',\n 'array',\n ]\n },\n contains: [\n {\n begin: /\\[/,\n end: /]/,\n keywords: {\n literal: LITERALS,\n keyword: [\n 'new',\n 'array',\n ]\n },\n contains: [\n 'self',\n ...ATTRIBUTE_CONTAINS,\n ]\n },\n ...ATTRIBUTE_CONTAINS,\n {\n scope: 'meta',\n variants: [\n { match: PASCAL_CASE_CLASS_NAME_RE },\n { match: UPCASE_NAME_RE }\n ]\n }\n ]\n };\n\n return {\n case_insensitive: false,\n keywords: KEYWORDS,\n contains: [\n ATTRIBUTES,\n hljs.HASH_COMMENT_MODE,\n hljs.COMMENT('//', '$'),\n hljs.COMMENT(\n '/\\\\*',\n '\\\\*/',\n { contains: [\n {\n scope: 'doctag',\n match: '@[A-Za-z]+'\n }\n ] }\n ),\n {\n match: /__halt_compiler\\(\\);/,\n keywords: '__halt_compiler',\n starts: {\n scope: \"comment\",\n end: hljs.MATCH_NOTHING_RE,\n contains: [\n {\n match: /\\?>/,\n scope: \"meta\",\n endsParent: true\n }\n ]\n }\n },\n PREPROCESSOR,\n {\n scope: 'variable.language',\n match: /\\$this\\b/\n },\n VARIABLE,\n FUNCTION_INVOKE,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n {\n match: [\n /const/,\n /\\s/,\n IDENT_RE,\n ],\n scope: {\n 1: \"keyword\",\n 3: \"variable.constant\",\n },\n },\n CONSTRUCTOR_CALL,\n {\n scope: 'function',\n relevance: 0,\n beginKeywords: 'fn function',\n end: /[;{]/,\n excludeEnd: true,\n illegal: '[$%\\\\[]',\n contains: [\n { beginKeywords: 'use', },\n hljs.UNDERSCORE_TITLE_MODE,\n {\n begin: '=>', // No markup, just a relevance booster\n endsParent: true\n },\n {\n scope: 'params',\n begin: '\\\\(',\n end: '\\\\)',\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n contains: [\n 'self',\n ATTRIBUTES,\n VARIABLE,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n NUMBER\n ]\n },\n ]\n },\n {\n scope: 'class',\n variants: [\n {\n beginKeywords: \"enum\",\n illegal: /[($\"]/\n },\n {\n beginKeywords: \"class interface trait\",\n illegal: /[:($\"]/\n }\n ],\n relevance: 0,\n end: /\\{/,\n excludeEnd: true,\n contains: [\n { beginKeywords: 'extends implements' },\n hljs.UNDERSCORE_TITLE_MODE\n ]\n },\n // both use and namespace still use \"old style\" rules (vs multi-match)\n // because the namespace name can include `\\` and we still want each\n // element to be treated as its own *individual* title\n {\n beginKeywords: 'namespace',\n relevance: 0,\n end: ';',\n illegal: /[.']/,\n contains: [ hljs.inherit(hljs.UNDERSCORE_TITLE_MODE, { scope: \"title.class\" }) ]\n },\n {\n beginKeywords: 'use',\n relevance: 0,\n end: ';',\n contains: [\n // TODO: title.function vs title.class\n {\n match: /\\b(as|const|function)\\b/,\n scope: \"keyword\"\n },\n // TODO: could be title.class or title.function\n hljs.UNDERSCORE_TITLE_MODE\n ]\n },\n STRING,\n NUMBER,\n ]\n };\n}\n\nexport { php as default };\n"],"x_google_ignoreList":[0],"mappings":"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OAAO,CAAE,OAAO,CAClI,EACA,EAAM,OAAO,EAAY,IAAI,CAC7B,EAAM,UAAU,SAAS,CAC1B,CACD,MAAO,CAAE,EAAG,wBAA0B,CACtC,SAAU,CAAE,EAAa,CAC1B,CACD,EAAY,SAAS,KAAK,EAAgB,CAE1C,IAAM,EAAqB,CACzB,EACA,EACA,EAAK,qBACL,EACA,EACA,EACD,CAEK,EAAa,CACjB,MAAO,EAAM,OAAO,YAClB,EAAM,OACJ,EACA,EACD,CACF,CACD,WAAY,OACZ,IAAK,IACL,SAAU,OACV,SAAU,CACR,QAAS,EACT,QAAS,CACP,MACA,QACD,CACF,CACD,SAAU,CACR,CACE,MAAO,KACP,IAAK,IACL,SAAU,CACR,QAAS,EACT,QAAS,CACP,MACA,QACD,CACF,CACD,SAAU,CACR,OACA,GAAG,EACJ,CACF,CACD,GAAG,EACH,CACE,MAAO,OACP,SAAU,CACR,CAAE,MAAO,EAA2B,CACpC,CAAE,MAAO,EAAgB,CAC1B,CACF,CACF,CACF,CAED,MAAO,CACL,iBAAkB,GAClB,SAAU,EACV,SAAU,CACR,EACA,EAAK,kBACL,EAAK,QAAQ,KAAM,IAAI,CACvB,EAAK,QACH,OACA,OACA,CAAE,SAAU,CACV,CACE,MAAO,SACP,MAAO,aACR,CACF,CAAE,CACJ,CACD,CACE,MAAO,uBACP,SAAU,kBACV,OAAQ,CACN,MAAO,UACP,IAAK,EAAK,iBACV,SAAU,CACR,CACE,MAAO,MACP,MAAO,OACP,WAAY,GACb,CACF,CACF,CACF,CACD,EACA,CACE,MAAO,oBACP,MAAO,WACR,CACD,EACA,EACA,EACA,CACE,MAAO,CACL,QACA,KACA,EACD,CACD,MAAO,CACL,EAAG,UACH,EAAG,oBACJ,CACF,CACD,EACA,CACE,MAAO,WACP,UAAW,EACX,cAAe,cACf,IAAK,OACL,WAAY,GACZ,QAAS,UACT,SAAU,CACR,CAAE,cAAe,MAAQ,CACzB,EAAK,sBACL,CACE,MAAO,KACP,WAAY,GACb,CACD,CACE,MAAO,SACP,MAAO,MACP,IAAK,MACL,aAAc,GACd,WAAY,GACZ,SAAU,EACV,SAAU,CACR,OACA,EACA,EACA,EACA,EAAK,qBACL,EACA,EACD,CACF,CACF,CACF,CACD,CACE,MAAO,QACP,SAAU,CACR,CACE,cAAe,OACf,QAAS,QACV,CACD,CACE,cAAe,wBACf,QAAS,SACV,CACF,CACD,UAAW,EACX,IAAK,KACL,WAAY,GACZ,SAAU,CACR,CAAE,cAAe,qBAAsB,CACvC,EAAK,sBACN,CACF,CAID,CACE,cAAe,YACf,UAAW,EACX,IAAK,IACL,QAAS,OACT,SAAU,CAAE,EAAK,QAAQ,EAAK,sBAAuB,CAAE,MAAO,cAAe,CAAC,CAAE,CACjF,CACD,CACE,cAAe,MACf,UAAW,EACX,IAAK,IACL,SAAU,CAER,CACE,MAAO,0BACP,MAAO,UACR,CAED,EAAK,sBACN,CACF,CACD,EACA,EACD,CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"php-CBRzjinf.js","names":[],"sources":["../../../node_modules/highlight.js/es/languages/php.js"],"sourcesContent":["/*\nLanguage: PHP\nAuthor: Victor Karamzin <Victor.Karamzin@enterra-inc.com>\nContributors: Evgeny Stepanischev <imbolk@gmail.com>, Ivan Sagalaev <maniac@softwaremaniacs.org>\nWebsite: https://www.php.net\nCategory: common\n*/\n\n/**\n * @param {HLJSApi} hljs\n * @returns {LanguageDetail}\n * */\nfunction php(hljs) {\n const regex = hljs.regex;\n // negative look-ahead tries to avoid matching patterns that are not\n // Perl at all like $ident$, @ident@, etc.\n const NOT_PERL_ETC = /(?![A-Za-z0-9])(?![$])/;\n const IDENT_RE = regex.concat(\n /[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*/,\n NOT_PERL_ETC);\n // Will not detect camelCase classes\n const PASCAL_CASE_CLASS_NAME_RE = regex.concat(\n /(\\\\?[A-Z][a-z0-9_\\x7f-\\xff]+|\\\\?[A-Z]+(?=[A-Z][a-z0-9_\\x7f-\\xff])){1,}/,\n NOT_PERL_ETC);\n const UPCASE_NAME_RE = regex.concat(\n /[A-Z]+/,\n NOT_PERL_ETC);\n const VARIABLE = {\n scope: 'variable',\n match: '\\\\$+' + IDENT_RE,\n };\n const PREPROCESSOR = {\n scope: \"meta\",\n variants: [\n { begin: /<\\?php/, relevance: 10 }, // boost for obvious PHP\n { begin: /<\\?=/ },\n // less relevant per PSR-1 which says not to use short-tags\n { begin: /<\\?/, relevance: 0.1 },\n { begin: /\\?>/ } // end php tag\n ]\n };\n const SUBST = {\n scope: 'subst',\n variants: [\n { begin: /\\$\\w+/ },\n {\n begin: /\\{\\$/,\n end: /\\}/\n }\n ]\n };\n const SINGLE_QUOTED = hljs.inherit(hljs.APOS_STRING_MODE, { illegal: null, });\n const DOUBLE_QUOTED = hljs.inherit(hljs.QUOTE_STRING_MODE, {\n illegal: null,\n contains: hljs.QUOTE_STRING_MODE.contains.concat(SUBST),\n });\n\n const HEREDOC = {\n begin: /<<<[ \\t]*(?:(\\w+)|\"(\\w+)\")\\n/,\n end: /[ \\t]*(\\w+)\\b/,\n contains: hljs.QUOTE_STRING_MODE.contains.concat(SUBST),\n 'on:begin': (m, resp) => { resp.data._beginMatch = m[1] || m[2]; },\n 'on:end': (m, resp) => { if (resp.data._beginMatch !== m[1]) resp.ignoreMatch(); },\n };\n\n const NOWDOC = hljs.END_SAME_AS_BEGIN({\n begin: /<<<[ \\t]*'(\\w+)'\\n/,\n end: /[ \\t]*(\\w+)\\b/,\n });\n // list of valid whitespaces because non-breaking space might be part of a IDENT_RE\n const WHITESPACE = '[ \\t\\n]';\n const STRING = {\n scope: 'string',\n variants: [\n DOUBLE_QUOTED,\n SINGLE_QUOTED,\n HEREDOC,\n NOWDOC\n ]\n };\n const NUMBER = {\n scope: 'number',\n variants: [\n { begin: `\\\\b0[bB][01]+(?:_[01]+)*\\\\b` }, // Binary w/ underscore support\n { begin: `\\\\b0[oO][0-7]+(?:_[0-7]+)*\\\\b` }, // Octals w/ underscore support\n { begin: `\\\\b0[xX][\\\\da-fA-F]+(?:_[\\\\da-fA-F]+)*\\\\b` }, // Hex w/ underscore support\n // Decimals w/ underscore support, with optional fragments and scientific exponent (e) suffix.\n { begin: `(?:\\\\b\\\\d+(?:_\\\\d+)*(\\\\.(?:\\\\d+(?:_\\\\d+)*))?|\\\\B\\\\.\\\\d+)(?:[eE][+-]?\\\\d+)?` }\n ],\n relevance: 0\n };\n const LITERALS = [\n \"false\",\n \"null\",\n \"true\"\n ];\n const KWS = [\n // Magic constants:\n // <https://www.php.net/manual/en/language.constants.predefined.php>\n \"__CLASS__\",\n \"__DIR__\",\n \"__FILE__\",\n \"__FUNCTION__\",\n \"__COMPILER_HALT_OFFSET__\",\n \"__LINE__\",\n \"__METHOD__\",\n \"__NAMESPACE__\",\n \"__TRAIT__\",\n // Function that look like language construct or language construct that look like function:\n // List of keywords that may not require parenthesis\n \"die\",\n \"echo\",\n \"exit\",\n \"include\",\n \"include_once\",\n \"print\",\n \"require\",\n \"require_once\",\n // These are not language construct (function) but operate on the currently-executing function and can access the current symbol table\n // 'compact extract func_get_arg func_get_args func_num_args get_called_class get_parent_class ' +\n // Other keywords:\n // <https://www.php.net/manual/en/reserved.php>\n // <https://www.php.net/manual/en/language.types.type-juggling.php>\n \"array\",\n \"abstract\",\n \"and\",\n \"as\",\n \"binary\",\n \"bool\",\n \"boolean\",\n \"break\",\n \"callable\",\n \"case\",\n \"catch\",\n \"class\",\n \"clone\",\n \"const\",\n \"continue\",\n \"declare\",\n \"default\",\n \"do\",\n \"double\",\n \"else\",\n \"elseif\",\n \"empty\",\n \"enddeclare\",\n \"endfor\",\n \"endforeach\",\n \"endif\",\n \"endswitch\",\n \"endwhile\",\n \"enum\",\n \"eval\",\n \"extends\",\n \"final\",\n \"finally\",\n \"float\",\n \"for\",\n \"foreach\",\n \"from\",\n \"global\",\n \"goto\",\n \"if\",\n \"implements\",\n \"instanceof\",\n \"insteadof\",\n \"int\",\n \"integer\",\n \"interface\",\n \"isset\",\n \"iterable\",\n \"list\",\n \"match|0\",\n \"mixed\",\n \"new\",\n \"never\",\n \"object\",\n \"or\",\n \"private\",\n \"protected\",\n \"public\",\n \"readonly\",\n \"real\",\n \"return\",\n \"string\",\n \"switch\",\n \"throw\",\n \"trait\",\n \"try\",\n \"unset\",\n \"use\",\n \"var\",\n \"void\",\n \"while\",\n \"xor\",\n \"yield\"\n ];\n\n const BUILT_INS = [\n // Standard PHP library:\n // <https://www.php.net/manual/en/book.spl.php>\n \"Error|0\",\n \"AppendIterator\",\n \"ArgumentCountError\",\n \"ArithmeticError\",\n \"ArrayIterator\",\n \"ArrayObject\",\n \"AssertionError\",\n \"BadFunctionCallException\",\n \"BadMethodCallException\",\n \"CachingIterator\",\n \"CallbackFilterIterator\",\n \"CompileError\",\n \"Countable\",\n \"DirectoryIterator\",\n \"DivisionByZeroError\",\n \"DomainException\",\n \"EmptyIterator\",\n \"ErrorException\",\n \"Exception\",\n \"FilesystemIterator\",\n \"FilterIterator\",\n \"GlobIterator\",\n \"InfiniteIterator\",\n \"InvalidArgumentException\",\n \"IteratorIterator\",\n \"LengthException\",\n \"LimitIterator\",\n \"LogicException\",\n \"MultipleIterator\",\n \"NoRewindIterator\",\n \"OutOfBoundsException\",\n \"OutOfRangeException\",\n \"OuterIterator\",\n \"OverflowException\",\n \"ParentIterator\",\n \"ParseError\",\n \"RangeException\",\n \"RecursiveArrayIterator\",\n \"RecursiveCachingIterator\",\n \"RecursiveCallbackFilterIterator\",\n \"RecursiveDirectoryIterator\",\n \"RecursiveFilterIterator\",\n \"RecursiveIterator\",\n \"RecursiveIteratorIterator\",\n \"RecursiveRegexIterator\",\n \"RecursiveTreeIterator\",\n \"RegexIterator\",\n \"RuntimeException\",\n \"SeekableIterator\",\n \"SplDoublyLinkedList\",\n \"SplFileInfo\",\n \"SplFileObject\",\n \"SplFixedArray\",\n \"SplHeap\",\n \"SplMaxHeap\",\n \"SplMinHeap\",\n \"SplObjectStorage\",\n \"SplObserver\",\n \"SplPriorityQueue\",\n \"SplQueue\",\n \"SplStack\",\n \"SplSubject\",\n \"SplTempFileObject\",\n \"TypeError\",\n \"UnderflowException\",\n \"UnexpectedValueException\",\n \"UnhandledMatchError\",\n // Reserved interfaces:\n // <https://www.php.net/manual/en/reserved.interfaces.php>\n \"ArrayAccess\",\n \"BackedEnum\",\n \"Closure\",\n \"Fiber\",\n \"Generator\",\n \"Iterator\",\n \"IteratorAggregate\",\n \"Serializable\",\n \"Stringable\",\n \"Throwable\",\n \"Traversable\",\n \"UnitEnum\",\n \"WeakReference\",\n \"WeakMap\",\n // Reserved classes:\n // <https://www.php.net/manual/en/reserved.classes.php>\n \"Directory\",\n \"__PHP_Incomplete_Class\",\n \"parent\",\n \"php_user_filter\",\n \"self\",\n \"static\",\n \"stdClass\"\n ];\n\n /** Dual-case keywords\n *\n * [\"then\",\"FILE\"] =>\n * [\"then\", \"THEN\", \"FILE\", \"file\"]\n *\n * @param {string[]} items */\n const dualCase = (items) => {\n /** @type string[] */\n const result = [];\n items.forEach(item => {\n result.push(item);\n if (item.toLowerCase() === item) {\n result.push(item.toUpperCase());\n } else {\n result.push(item.toLowerCase());\n }\n });\n return result;\n };\n\n const KEYWORDS = {\n keyword: KWS,\n literal: dualCase(LITERALS),\n built_in: BUILT_INS,\n };\n\n /**\n * @param {string[]} items */\n const normalizeKeywords = (items) => {\n return items.map(item => {\n return item.replace(/\\|\\d+$/, \"\");\n });\n };\n\n const CONSTRUCTOR_CALL = { variants: [\n {\n match: [\n /new/,\n regex.concat(WHITESPACE, \"+\"),\n // to prevent built ins from being confused as the class constructor call\n regex.concat(\"(?!\", normalizeKeywords(BUILT_INS).join(\"\\\\b|\"), \"\\\\b)\"),\n PASCAL_CASE_CLASS_NAME_RE,\n ],\n scope: {\n 1: \"keyword\",\n 4: \"title.class\",\n },\n }\n ] };\n\n const CONSTANT_REFERENCE = regex.concat(IDENT_RE, \"\\\\b(?!\\\\()\");\n\n const LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON = { variants: [\n {\n match: [\n regex.concat(\n /::/,\n regex.lookahead(/(?!class\\b)/)\n ),\n CONSTANT_REFERENCE,\n ],\n scope: { 2: \"variable.constant\", },\n },\n {\n match: [\n /::/,\n /class/,\n ],\n scope: { 2: \"variable.language\", },\n },\n {\n match: [\n PASCAL_CASE_CLASS_NAME_RE,\n regex.concat(\n /::/,\n regex.lookahead(/(?!class\\b)/)\n ),\n CONSTANT_REFERENCE,\n ],\n scope: {\n 1: \"title.class\",\n 3: \"variable.constant\",\n },\n },\n {\n match: [\n PASCAL_CASE_CLASS_NAME_RE,\n regex.concat(\n \"::\",\n regex.lookahead(/(?!class\\b)/)\n ),\n ],\n scope: { 1: \"title.class\", },\n },\n {\n match: [\n PASCAL_CASE_CLASS_NAME_RE,\n /::/,\n /class/,\n ],\n scope: {\n 1: \"title.class\",\n 3: \"variable.language\",\n },\n }\n ] };\n\n const NAMED_ARGUMENT = {\n scope: 'attr',\n match: regex.concat(IDENT_RE, regex.lookahead(':'), regex.lookahead(/(?!::)/)),\n };\n const PARAMS_MODE = {\n relevance: 0,\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n contains: [\n NAMED_ARGUMENT,\n VARIABLE,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n NUMBER,\n CONSTRUCTOR_CALL,\n ],\n };\n const FUNCTION_INVOKE = {\n relevance: 0,\n match: [\n /\\b/,\n // to prevent keywords from being confused as the function title\n regex.concat(\"(?!fn\\\\b|function\\\\b|\", normalizeKeywords(KWS).join(\"\\\\b|\"), \"|\", normalizeKeywords(BUILT_INS).join(\"\\\\b|\"), \"\\\\b)\"),\n IDENT_RE,\n regex.concat(WHITESPACE, \"*\"),\n regex.lookahead(/(?=\\()/)\n ],\n scope: { 3: \"title.function.invoke\", },\n contains: [ PARAMS_MODE ]\n };\n PARAMS_MODE.contains.push(FUNCTION_INVOKE);\n\n const ATTRIBUTE_CONTAINS = [\n NAMED_ARGUMENT,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n NUMBER,\n CONSTRUCTOR_CALL,\n ];\n\n const ATTRIBUTES = {\n begin: regex.concat(/#\\[\\s*\\\\?/,\n regex.either(\n PASCAL_CASE_CLASS_NAME_RE,\n UPCASE_NAME_RE\n )\n ),\n beginScope: \"meta\",\n end: /]/,\n endScope: \"meta\",\n keywords: {\n literal: LITERALS,\n keyword: [\n 'new',\n 'array',\n ]\n },\n contains: [\n {\n begin: /\\[/,\n end: /]/,\n keywords: {\n literal: LITERALS,\n keyword: [\n 'new',\n 'array',\n ]\n },\n contains: [\n 'self',\n ...ATTRIBUTE_CONTAINS,\n ]\n },\n ...ATTRIBUTE_CONTAINS,\n {\n scope: 'meta',\n variants: [\n { match: PASCAL_CASE_CLASS_NAME_RE },\n { match: UPCASE_NAME_RE }\n ]\n }\n ]\n };\n\n return {\n case_insensitive: false,\n keywords: KEYWORDS,\n contains: [\n ATTRIBUTES,\n hljs.HASH_COMMENT_MODE,\n hljs.COMMENT('//', '$'),\n hljs.COMMENT(\n '/\\\\*',\n '\\\\*/',\n { contains: [\n {\n scope: 'doctag',\n match: '@[A-Za-z]+'\n }\n ] }\n ),\n {\n match: /__halt_compiler\\(\\);/,\n keywords: '__halt_compiler',\n starts: {\n scope: \"comment\",\n end: hljs.MATCH_NOTHING_RE,\n contains: [\n {\n match: /\\?>/,\n scope: \"meta\",\n endsParent: true\n }\n ]\n }\n },\n PREPROCESSOR,\n {\n scope: 'variable.language',\n match: /\\$this\\b/\n },\n VARIABLE,\n FUNCTION_INVOKE,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n {\n match: [\n /const/,\n /\\s/,\n IDENT_RE,\n ],\n scope: {\n 1: \"keyword\",\n 3: \"variable.constant\",\n },\n },\n CONSTRUCTOR_CALL,\n {\n scope: 'function',\n relevance: 0,\n beginKeywords: 'fn function',\n end: /[;{]/,\n excludeEnd: true,\n illegal: '[$%\\\\[]',\n contains: [\n { beginKeywords: 'use', },\n hljs.UNDERSCORE_TITLE_MODE,\n {\n begin: '=>', // No markup, just a relevance booster\n endsParent: true\n },\n {\n scope: 'params',\n begin: '\\\\(',\n end: '\\\\)',\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n contains: [\n 'self',\n ATTRIBUTES,\n VARIABLE,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n NUMBER\n ]\n },\n ]\n },\n {\n scope: 'class',\n variants: [\n {\n beginKeywords: \"enum\",\n illegal: /[($\"]/\n },\n {\n beginKeywords: \"class interface trait\",\n illegal: /[:($\"]/\n }\n ],\n relevance: 0,\n end: /\\{/,\n excludeEnd: true,\n contains: [\n { beginKeywords: 'extends implements' },\n hljs.UNDERSCORE_TITLE_MODE\n ]\n },\n // both use and namespace still use \"old style\" rules (vs multi-match)\n // because the namespace name can include `\\` and we still want each\n // element to be treated as its own *individual* title\n {\n beginKeywords: 'namespace',\n relevance: 0,\n end: ';',\n illegal: /[.']/,\n contains: [ hljs.inherit(hljs.UNDERSCORE_TITLE_MODE, { scope: \"title.class\" }) ]\n },\n {\n beginKeywords: 'use',\n relevance: 0,\n end: ';',\n contains: [\n // TODO: title.function vs title.class\n {\n match: /\\b(as|const|function)\\b/,\n scope: \"keyword\"\n },\n // TODO: could be title.class or title.function\n hljs.UNDERSCORE_TITLE_MODE\n ]\n },\n STRING,\n NUMBER,\n ]\n };\n}\n\nexport { php as default };\n"],"x_google_ignoreList":[0],"mappings":";AAYA,SAAS,EAAI,GAAM;CACjB,IAAM,IAAQ,EAAK,OAGb,IAAe,0BACf,IAAW,EAAM,OACrB,4CACA,EAAa,EAET,IAA4B,EAAM,OACtC,0EACA,EAAa,EACT,IAAiB,EAAM,OAC3B,UACA,EAAa,EACT,IAAW;EACf,OAAO;EACP,OAAO,SAAS;EACjB,EACK,IAAe;EACnB,OAAO;EACP,UAAU;GACR;IAAE,OAAO;IAAU,WAAW;IAAI;GAClC,EAAE,OAAO,QAAQ;GAEjB;IAAE,OAAO;IAAO,WAAW;IAAK;GAChC,EAAE,OAAO,OAAO;GACjB;EACF,EACK,IAAQ;EACZ,OAAO;EACP,UAAU,CACR,EAAE,OAAO,SAAS,EAClB;GACE,OAAO;GACP,KAAK;GACN,CACF;EACF,EACK,IAAgB,EAAK,QAAQ,EAAK,kBAAkB,EAAE,SAAS,MAAO,CAAC,EACvE,IAAgB,EAAK,QAAQ,EAAK,mBAAmB;EACzD,SAAS;EACT,UAAU,EAAK,kBAAkB,SAAS,OAAO,EAAM;EACxD,CAAC,EAEI,IAAU;EACd,OAAO;EACP,KAAK;EACL,UAAU,EAAK,kBAAkB,SAAS,OAAO,EAAM;EACvD,aAAa,GAAG,MAAS;AAAE,KAAK,KAAK,cAAc,EAAE,MAAM,EAAE;;EAC7D,WAAW,GAAG,MAAS;AAAE,GAAI,EAAK,KAAK,gBAAgB,EAAE,MAAI,EAAK,aAAa;;EAChF,EAEK,IAAS,EAAK,kBAAkB;EACpC,OAAO;EACP,KAAK;EACN,CAAC,EAEI,IAAa,UACb,IAAS;EACb,OAAO;EACP,UAAU;GACR;GACA;GACA;GACA;GACD;EACF,EACK,IAAS;EACb,OAAO;EACP,UAAU;GACR,EAAE,OAAO,+BAA+B;GACxC,EAAE,OAAO,iCAAiC;GAC1C,EAAE,OAAO,6CAA6C;GAEtD,EAAE,OAAO,8EAA8E;GACxF;EACD,WAAW;EACZ,EACK,IAAW;EACf;EACA;EACA;EACD,EACK,IAAM,yqBAoGX,EAEK,IAAY,s2CA+FjB,EAsBK,IAAW;EACf,SAAS;EACT,WAhBgB,MAAU;GAE1B,IAAM,IAAS,EAAE;AASjB,UARA,EAAM,SAAQ,MAAQ;AAEpB,IADA,EAAO,KAAK,EAAK,EACb,EAAK,aAAa,KAAK,IACzB,EAAO,KAAK,EAAK,aAAa,CAAC,GAE/B,EAAO,KAAK,EAAK,aAAa,CAAC;KAEjC,EACK;KAKW,EAAS;EAC3B,UAAU;EACX,EAIK,KAAqB,MAClB,EAAM,KAAI,MACR,EAAK,QAAQ,UAAU,GAAG,CACjC,EAGE,IAAmB,EAAE,UAAU,CACnC;EACE,OAAO;GACL;GACA,EAAM,OAAO,GAAY,IAAI;GAE7B,EAAM,OAAO,OAAO,EAAkB,EAAU,CAAC,KAAK,OAAO,EAAE,OAAO;GACtE;GACD;EACD,OAAO;GACL,GAAG;GACH,GAAG;GACJ;EACF,CACF,EAAE,EAEG,IAAqB,EAAM,OAAO,GAAU,aAAa,EAEzD,IAAsC,EAAE,UAAU;EACtD;GACE,OAAO,CACL,EAAM,OACJ,MACA,EAAM,UAAU,cAAc,CAC/B,EACD,EACD;GACD,OAAO,EAAE,GAAG,qBAAsB;GACnC;EACD;GACE,OAAO,CACL,MACA,QACD;GACD,OAAO,EAAE,GAAG,qBAAsB;GACnC;EACD;GACE,OAAO;IACL;IACA,EAAM,OACJ,MACA,EAAM,UAAU,cAAc,CAC/B;IACD;IACD;GACD,OAAO;IACL,GAAG;IACH,GAAG;IACJ;GACF;EACD;GACE,OAAO,CACL,GACA,EAAM,OACJ,MACA,EAAM,UAAU,cAAc,CAC/B,CACF;GACD,OAAO,EAAE,GAAG,eAAgB;GAC7B;EACD;GACE,OAAO;IACL;IACA;IACA;IACD;GACD,OAAO;IACL,GAAG;IACH,GAAG;IACJ;GACF;EACF,EAAE,EAEG,IAAiB;EACrB,OAAO;EACP,OAAO,EAAM,OAAO,GAAU,EAAM,UAAU,IAAI,EAAE,EAAM,UAAU,SAAS,CAAC;EAC/E,EACK,IAAc;EAClB,WAAW;EACX,OAAO;EACP,KAAK;EACL,UAAU;EACV,UAAU;GACR;GACA;GACA;GACA,EAAK;GACL;GACA;GACA;GACD;EACF,EACK,IAAkB;EACtB,WAAW;EACX,OAAO;GACL;GAEA,EAAM,OAAO,yBAAyB,EAAkB,EAAI,CAAC,KAAK,OAAO,EAAE,KAAK,EAAkB,EAAU,CAAC,KAAK,OAAO,EAAE,OAAO;GAClI;GACA,EAAM,OAAO,GAAY,IAAI;GAC7B,EAAM,UAAU,SAAS;GAC1B;EACD,OAAO,EAAE,GAAG,yBAA0B;EACtC,UAAU,CAAE,EAAa;EAC1B;AACD,GAAY,SAAS,KAAK,EAAgB;CAE1C,IAAM,IAAqB;EACzB;EACA;EACA,EAAK;EACL;EACA;EACA;EACD,EAEK,IAAa;EACjB,OAAO,EAAM,OAAO,aAClB,EAAM,OACJ,GACA,EACD,CACF;EACD,YAAY;EACZ,KAAK;EACL,UAAU;EACV,UAAU;GACR,SAAS;GACT,SAAS,CACP,OACA,QACD;GACF;EACD,UAAU;GACR;IACE,OAAO;IACP,KAAK;IACL,UAAU;KACR,SAAS;KACT,SAAS,CACP,OACA,QACD;KACF;IACD,UAAU,CACR,QACA,GAAG,EACJ;IACF;GACD,GAAG;GACH;IACE,OAAO;IACP,UAAU,CACR,EAAE,OAAO,GAA2B,EACpC,EAAE,OAAO,GAAgB,CAC1B;IACF;GACF;EACF;AAED,QAAO;EACL,kBAAkB;EAClB,UAAU;EACV,UAAU;GACR;GACA,EAAK;GACL,EAAK,QAAQ,MAAM,IAAI;GACvB,EAAK,QACH,QACA,QACA,EAAE,UAAU,CACV;IACE,OAAO;IACP,OAAO;IACR,CACF,EAAE,CACJ;GACD;IACE,OAAO;IACP,UAAU;IACV,QAAQ;KACN,OAAO;KACP,KAAK,EAAK;KACV,UAAU,CACR;MACE,OAAO;MACP,OAAO;MACP,YAAY;MACb,CACF;KACF;IACF;GACD;GACA;IACE,OAAO;IACP,OAAO;IACR;GACD;GACA;GACA;GACA;IACE,OAAO;KACL;KACA;KACA;KACD;IACD,OAAO;KACL,GAAG;KACH,GAAG;KACJ;IACF;GACD;GACA;IACE,OAAO;IACP,WAAW;IACX,eAAe;IACf,KAAK;IACL,YAAY;IACZ,SAAS;IACT,UAAU;KACR,EAAE,eAAe,OAAQ;KACzB,EAAK;KACL;MACE,OAAO;MACP,YAAY;MACb;KACD;MACE,OAAO;MACP,OAAO;MACP,KAAK;MACL,cAAc;MACd,YAAY;MACZ,UAAU;MACV,UAAU;OACR;OACA;OACA;OACA;OACA,EAAK;OACL;OACA;OACD;MACF;KACF;IACF;GACD;IACE,OAAO;IACP,UAAU,CACR;KACE,eAAe;KACf,SAAS;KACV,EACD;KACE,eAAe;KACf,SAAS;KACV,CACF;IACD,WAAW;IACX,KAAK;IACL,YAAY;IACZ,UAAU,CACR,EAAE,eAAe,sBAAsB,EACvC,EAAK,sBACN;IACF;GAID;IACE,eAAe;IACf,WAAW;IACX,KAAK;IACL,SAAS;IACT,UAAU,CAAE,EAAK,QAAQ,EAAK,uBAAuB,EAAE,OAAO,eAAe,CAAC,CAAE;IACjF;GACD;IACE,eAAe;IACf,WAAW;IACX,KAAK;IACL,UAAU,CAER;KACE,OAAO;KACP,OAAO;KACR,EAED,EAAK,sBACN;IACF;GACD;GACA;GACD;EACF"}
|
|
1
|
+
{"version":3,"file":"php-DeBdikHj.js","names":[],"sources":["../../../node_modules/highlight.js/es/languages/php.js"],"sourcesContent":["/*\nLanguage: PHP\nAuthor: Victor Karamzin <Victor.Karamzin@enterra-inc.com>\nContributors: Evgeny Stepanischev <imbolk@gmail.com>, Ivan Sagalaev <maniac@softwaremaniacs.org>\nWebsite: https://www.php.net\nCategory: common\n*/\n\n/**\n * @param {HLJSApi} hljs\n * @returns {LanguageDetail}\n * */\nfunction php(hljs) {\n const regex = hljs.regex;\n // negative look-ahead tries to avoid matching patterns that are not\n // Perl at all like $ident$, @ident@, etc.\n const NOT_PERL_ETC = /(?![A-Za-z0-9])(?![$])/;\n const IDENT_RE = regex.concat(\n /[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*/,\n NOT_PERL_ETC);\n // Will not detect camelCase classes\n const PASCAL_CASE_CLASS_NAME_RE = regex.concat(\n /(\\\\?[A-Z][a-z0-9_\\x7f-\\xff]+|\\\\?[A-Z]+(?=[A-Z][a-z0-9_\\x7f-\\xff])){1,}/,\n NOT_PERL_ETC);\n const UPCASE_NAME_RE = regex.concat(\n /[A-Z]+/,\n NOT_PERL_ETC);\n const VARIABLE = {\n scope: 'variable',\n match: '\\\\$+' + IDENT_RE,\n };\n const PREPROCESSOR = {\n scope: \"meta\",\n variants: [\n { begin: /<\\?php/, relevance: 10 }, // boost for obvious PHP\n { begin: /<\\?=/ },\n // less relevant per PSR-1 which says not to use short-tags\n { begin: /<\\?/, relevance: 0.1 },\n { begin: /\\?>/ } // end php tag\n ]\n };\n const SUBST = {\n scope: 'subst',\n variants: [\n { begin: /\\$\\w+/ },\n {\n begin: /\\{\\$/,\n end: /\\}/\n }\n ]\n };\n const SINGLE_QUOTED = hljs.inherit(hljs.APOS_STRING_MODE, { illegal: null, });\n const DOUBLE_QUOTED = hljs.inherit(hljs.QUOTE_STRING_MODE, {\n illegal: null,\n contains: hljs.QUOTE_STRING_MODE.contains.concat(SUBST),\n });\n\n const HEREDOC = {\n begin: /<<<[ \\t]*(?:(\\w+)|\"(\\w+)\")\\n/,\n end: /[ \\t]*(\\w+)\\b/,\n contains: hljs.QUOTE_STRING_MODE.contains.concat(SUBST),\n 'on:begin': (m, resp) => { resp.data._beginMatch = m[1] || m[2]; },\n 'on:end': (m, resp) => { if (resp.data._beginMatch !== m[1]) resp.ignoreMatch(); },\n };\n\n const NOWDOC = hljs.END_SAME_AS_BEGIN({\n begin: /<<<[ \\t]*'(\\w+)'\\n/,\n end: /[ \\t]*(\\w+)\\b/,\n });\n // list of valid whitespaces because non-breaking space might be part of a IDENT_RE\n const WHITESPACE = '[ \\t\\n]';\n const STRING = {\n scope: 'string',\n variants: [\n DOUBLE_QUOTED,\n SINGLE_QUOTED,\n HEREDOC,\n NOWDOC\n ]\n };\n const NUMBER = {\n scope: 'number',\n variants: [\n { begin: `\\\\b0[bB][01]+(?:_[01]+)*\\\\b` }, // Binary w/ underscore support\n { begin: `\\\\b0[oO][0-7]+(?:_[0-7]+)*\\\\b` }, // Octals w/ underscore support\n { begin: `\\\\b0[xX][\\\\da-fA-F]+(?:_[\\\\da-fA-F]+)*\\\\b` }, // Hex w/ underscore support\n // Decimals w/ underscore support, with optional fragments and scientific exponent (e) suffix.\n { begin: `(?:\\\\b\\\\d+(?:_\\\\d+)*(\\\\.(?:\\\\d+(?:_\\\\d+)*))?|\\\\B\\\\.\\\\d+)(?:[eE][+-]?\\\\d+)?` }\n ],\n relevance: 0\n };\n const LITERALS = [\n \"false\",\n \"null\",\n \"true\"\n ];\n const KWS = [\n // Magic constants:\n // <https://www.php.net/manual/en/language.constants.predefined.php>\n \"__CLASS__\",\n \"__DIR__\",\n \"__FILE__\",\n \"__FUNCTION__\",\n \"__COMPILER_HALT_OFFSET__\",\n \"__LINE__\",\n \"__METHOD__\",\n \"__NAMESPACE__\",\n \"__TRAIT__\",\n // Function that look like language construct or language construct that look like function:\n // List of keywords that may not require parenthesis\n \"die\",\n \"echo\",\n \"exit\",\n \"include\",\n \"include_once\",\n \"print\",\n \"require\",\n \"require_once\",\n // These are not language construct (function) but operate on the currently-executing function and can access the current symbol table\n // 'compact extract func_get_arg func_get_args func_num_args get_called_class get_parent_class ' +\n // Other keywords:\n // <https://www.php.net/manual/en/reserved.php>\n // <https://www.php.net/manual/en/language.types.type-juggling.php>\n \"array\",\n \"abstract\",\n \"and\",\n \"as\",\n \"binary\",\n \"bool\",\n \"boolean\",\n \"break\",\n \"callable\",\n \"case\",\n \"catch\",\n \"class\",\n \"clone\",\n \"const\",\n \"continue\",\n \"declare\",\n \"default\",\n \"do\",\n \"double\",\n \"else\",\n \"elseif\",\n \"empty\",\n \"enddeclare\",\n \"endfor\",\n \"endforeach\",\n \"endif\",\n \"endswitch\",\n \"endwhile\",\n \"enum\",\n \"eval\",\n \"extends\",\n \"final\",\n \"finally\",\n \"float\",\n \"for\",\n \"foreach\",\n \"from\",\n \"global\",\n \"goto\",\n \"if\",\n \"implements\",\n \"instanceof\",\n \"insteadof\",\n \"int\",\n \"integer\",\n \"interface\",\n \"isset\",\n \"iterable\",\n \"list\",\n \"match|0\",\n \"mixed\",\n \"new\",\n \"never\",\n \"object\",\n \"or\",\n \"private\",\n \"protected\",\n \"public\",\n \"readonly\",\n \"real\",\n \"return\",\n \"string\",\n \"switch\",\n \"throw\",\n \"trait\",\n \"try\",\n \"unset\",\n \"use\",\n \"var\",\n \"void\",\n \"while\",\n \"xor\",\n \"yield\"\n ];\n\n const BUILT_INS = [\n // Standard PHP library:\n // <https://www.php.net/manual/en/book.spl.php>\n \"Error|0\",\n \"AppendIterator\",\n \"ArgumentCountError\",\n \"ArithmeticError\",\n \"ArrayIterator\",\n \"ArrayObject\",\n \"AssertionError\",\n \"BadFunctionCallException\",\n \"BadMethodCallException\",\n \"CachingIterator\",\n \"CallbackFilterIterator\",\n \"CompileError\",\n \"Countable\",\n \"DirectoryIterator\",\n \"DivisionByZeroError\",\n \"DomainException\",\n \"EmptyIterator\",\n \"ErrorException\",\n \"Exception\",\n \"FilesystemIterator\",\n \"FilterIterator\",\n \"GlobIterator\",\n \"InfiniteIterator\",\n \"InvalidArgumentException\",\n \"IteratorIterator\",\n \"LengthException\",\n \"LimitIterator\",\n \"LogicException\",\n \"MultipleIterator\",\n \"NoRewindIterator\",\n \"OutOfBoundsException\",\n \"OutOfRangeException\",\n \"OuterIterator\",\n \"OverflowException\",\n \"ParentIterator\",\n \"ParseError\",\n \"RangeException\",\n \"RecursiveArrayIterator\",\n \"RecursiveCachingIterator\",\n \"RecursiveCallbackFilterIterator\",\n \"RecursiveDirectoryIterator\",\n \"RecursiveFilterIterator\",\n \"RecursiveIterator\",\n \"RecursiveIteratorIterator\",\n \"RecursiveRegexIterator\",\n \"RecursiveTreeIterator\",\n \"RegexIterator\",\n \"RuntimeException\",\n \"SeekableIterator\",\n \"SplDoublyLinkedList\",\n \"SplFileInfo\",\n \"SplFileObject\",\n \"SplFixedArray\",\n \"SplHeap\",\n \"SplMaxHeap\",\n \"SplMinHeap\",\n \"SplObjectStorage\",\n \"SplObserver\",\n \"SplPriorityQueue\",\n \"SplQueue\",\n \"SplStack\",\n \"SplSubject\",\n \"SplTempFileObject\",\n \"TypeError\",\n \"UnderflowException\",\n \"UnexpectedValueException\",\n \"UnhandledMatchError\",\n // Reserved interfaces:\n // <https://www.php.net/manual/en/reserved.interfaces.php>\n \"ArrayAccess\",\n \"BackedEnum\",\n \"Closure\",\n \"Fiber\",\n \"Generator\",\n \"Iterator\",\n \"IteratorAggregate\",\n \"Serializable\",\n \"Stringable\",\n \"Throwable\",\n \"Traversable\",\n \"UnitEnum\",\n \"WeakReference\",\n \"WeakMap\",\n // Reserved classes:\n // <https://www.php.net/manual/en/reserved.classes.php>\n \"Directory\",\n \"__PHP_Incomplete_Class\",\n \"parent\",\n \"php_user_filter\",\n \"self\",\n \"static\",\n \"stdClass\"\n ];\n\n /** Dual-case keywords\n *\n * [\"then\",\"FILE\"] =>\n * [\"then\", \"THEN\", \"FILE\", \"file\"]\n *\n * @param {string[]} items */\n const dualCase = (items) => {\n /** @type string[] */\n const result = [];\n items.forEach(item => {\n result.push(item);\n if (item.toLowerCase() === item) {\n result.push(item.toUpperCase());\n } else {\n result.push(item.toLowerCase());\n }\n });\n return result;\n };\n\n const KEYWORDS = {\n keyword: KWS,\n literal: dualCase(LITERALS),\n built_in: BUILT_INS,\n };\n\n /**\n * @param {string[]} items */\n const normalizeKeywords = (items) => {\n return items.map(item => {\n return item.replace(/\\|\\d+$/, \"\");\n });\n };\n\n const CONSTRUCTOR_CALL = { variants: [\n {\n match: [\n /new/,\n regex.concat(WHITESPACE, \"+\"),\n // to prevent built ins from being confused as the class constructor call\n regex.concat(\"(?!\", normalizeKeywords(BUILT_INS).join(\"\\\\b|\"), \"\\\\b)\"),\n PASCAL_CASE_CLASS_NAME_RE,\n ],\n scope: {\n 1: \"keyword\",\n 4: \"title.class\",\n },\n }\n ] };\n\n const CONSTANT_REFERENCE = regex.concat(IDENT_RE, \"\\\\b(?!\\\\()\");\n\n const LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON = { variants: [\n {\n match: [\n regex.concat(\n /::/,\n regex.lookahead(/(?!class\\b)/)\n ),\n CONSTANT_REFERENCE,\n ],\n scope: { 2: \"variable.constant\", },\n },\n {\n match: [\n /::/,\n /class/,\n ],\n scope: { 2: \"variable.language\", },\n },\n {\n match: [\n PASCAL_CASE_CLASS_NAME_RE,\n regex.concat(\n /::/,\n regex.lookahead(/(?!class\\b)/)\n ),\n CONSTANT_REFERENCE,\n ],\n scope: {\n 1: \"title.class\",\n 3: \"variable.constant\",\n },\n },\n {\n match: [\n PASCAL_CASE_CLASS_NAME_RE,\n regex.concat(\n \"::\",\n regex.lookahead(/(?!class\\b)/)\n ),\n ],\n scope: { 1: \"title.class\", },\n },\n {\n match: [\n PASCAL_CASE_CLASS_NAME_RE,\n /::/,\n /class/,\n ],\n scope: {\n 1: \"title.class\",\n 3: \"variable.language\",\n },\n }\n ] };\n\n const NAMED_ARGUMENT = {\n scope: 'attr',\n match: regex.concat(IDENT_RE, regex.lookahead(':'), regex.lookahead(/(?!::)/)),\n };\n const PARAMS_MODE = {\n relevance: 0,\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n contains: [\n NAMED_ARGUMENT,\n VARIABLE,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n NUMBER,\n CONSTRUCTOR_CALL,\n ],\n };\n const FUNCTION_INVOKE = {\n relevance: 0,\n match: [\n /\\b/,\n // to prevent keywords from being confused as the function title\n regex.concat(\"(?!fn\\\\b|function\\\\b|\", normalizeKeywords(KWS).join(\"\\\\b|\"), \"|\", normalizeKeywords(BUILT_INS).join(\"\\\\b|\"), \"\\\\b)\"),\n IDENT_RE,\n regex.concat(WHITESPACE, \"*\"),\n regex.lookahead(/(?=\\()/)\n ],\n scope: { 3: \"title.function.invoke\", },\n contains: [ PARAMS_MODE ]\n };\n PARAMS_MODE.contains.push(FUNCTION_INVOKE);\n\n const ATTRIBUTE_CONTAINS = [\n NAMED_ARGUMENT,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n NUMBER,\n CONSTRUCTOR_CALL,\n ];\n\n const ATTRIBUTES = {\n begin: regex.concat(/#\\[\\s*\\\\?/,\n regex.either(\n PASCAL_CASE_CLASS_NAME_RE,\n UPCASE_NAME_RE\n )\n ),\n beginScope: \"meta\",\n end: /]/,\n endScope: \"meta\",\n keywords: {\n literal: LITERALS,\n keyword: [\n 'new',\n 'array',\n ]\n },\n contains: [\n {\n begin: /\\[/,\n end: /]/,\n keywords: {\n literal: LITERALS,\n keyword: [\n 'new',\n 'array',\n ]\n },\n contains: [\n 'self',\n ...ATTRIBUTE_CONTAINS,\n ]\n },\n ...ATTRIBUTE_CONTAINS,\n {\n scope: 'meta',\n variants: [\n { match: PASCAL_CASE_CLASS_NAME_RE },\n { match: UPCASE_NAME_RE }\n ]\n }\n ]\n };\n\n return {\n case_insensitive: false,\n keywords: KEYWORDS,\n contains: [\n ATTRIBUTES,\n hljs.HASH_COMMENT_MODE,\n hljs.COMMENT('//', '$'),\n hljs.COMMENT(\n '/\\\\*',\n '\\\\*/',\n { contains: [\n {\n scope: 'doctag',\n match: '@[A-Za-z]+'\n }\n ] }\n ),\n {\n match: /__halt_compiler\\(\\);/,\n keywords: '__halt_compiler',\n starts: {\n scope: \"comment\",\n end: hljs.MATCH_NOTHING_RE,\n contains: [\n {\n match: /\\?>/,\n scope: \"meta\",\n endsParent: true\n }\n ]\n }\n },\n PREPROCESSOR,\n {\n scope: 'variable.language',\n match: /\\$this\\b/\n },\n VARIABLE,\n FUNCTION_INVOKE,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n {\n match: [\n /const/,\n /\\s/,\n IDENT_RE,\n ],\n scope: {\n 1: \"keyword\",\n 3: \"variable.constant\",\n },\n },\n CONSTRUCTOR_CALL,\n {\n scope: 'function',\n relevance: 0,\n beginKeywords: 'fn function',\n end: /[;{]/,\n excludeEnd: true,\n illegal: '[$%\\\\[]',\n contains: [\n { beginKeywords: 'use', },\n hljs.UNDERSCORE_TITLE_MODE,\n {\n begin: '=>', // No markup, just a relevance booster\n endsParent: true\n },\n {\n scope: 'params',\n begin: '\\\\(',\n end: '\\\\)',\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n contains: [\n 'self',\n ATTRIBUTES,\n VARIABLE,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n NUMBER\n ]\n },\n ]\n },\n {\n scope: 'class',\n variants: [\n {\n beginKeywords: \"enum\",\n illegal: /[($\"]/\n },\n {\n beginKeywords: \"class interface trait\",\n illegal: /[:($\"]/\n }\n ],\n relevance: 0,\n end: /\\{/,\n excludeEnd: true,\n contains: [\n { beginKeywords: 'extends implements' },\n hljs.UNDERSCORE_TITLE_MODE\n ]\n },\n // both use and namespace still use \"old style\" rules (vs multi-match)\n // because the namespace name can include `\\` and we still want each\n // element to be treated as its own *individual* title\n {\n beginKeywords: 'namespace',\n relevance: 0,\n end: ';',\n illegal: /[.']/,\n contains: [ hljs.inherit(hljs.UNDERSCORE_TITLE_MODE, { scope: \"title.class\" }) ]\n },\n {\n beginKeywords: 'use',\n relevance: 0,\n end: ';',\n contains: [\n // TODO: title.function vs title.class\n {\n match: /\\b(as|const|function)\\b/,\n scope: \"keyword\"\n },\n // TODO: could be title.class or title.function\n hljs.UNDERSCORE_TITLE_MODE\n ]\n },\n STRING,\n NUMBER,\n ]\n };\n}\n\nexport { php as default };\n"],"x_google_ignoreList":[0],"mappings":"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C,KAAK,OAAO,EAAE,OAAO;GAClI;GACA,EAAM,OAAO,GAAY,IAAI;GAC7B,EAAM,UAAU,SAAS;GAC1B;EACD,OAAO,EAAE,GAAG,yBAA0B;EACtC,UAAU,CAAE,EAAa;EAC1B;AACD,GAAY,SAAS,KAAK,EAAgB;CAE1C,IAAM,IAAqB;EACzB;EACA;EACA,EAAK;EACL;EACA;EACA;EACD,EAEK,IAAa;EACjB,OAAO,EAAM,OAAO,aAClB,EAAM,OACJ,GACA,EACD,CACF;EACD,YAAY;EACZ,KAAK;EACL,UAAU;EACV,UAAU;GACR,SAAS;GACT,SAAS,CACP,OACA,QACD;GACF;EACD,UAAU;GACR;IACE,OAAO;IACP,KAAK;IACL,UAAU;KACR,SAAS;KACT,SAAS,CACP,OACA,QACD;KACF;IACD,UAAU,CACR,QACA,GAAG,EACJ;IACF;GACD,GAAG;GACH;IACE,OAAO;IACP,UAAU,CACR,EAAE,OAAO,GAA2B,EACpC,EAAE,OAAO,GAAgB,CAC1B;IACF;GACF;EACF;AAED,QAAO;EACL,kBAAkB;EAClB,UAAU;EACV,UAAU;GACR;GACA,EAAK;GACL,EAAK,QAAQ,MAAM,IAAI;GACvB,EAAK,QACH,QACA,QACA,EAAE,UAAU,CACV;IACE,OAAO;IACP,OAAO;IACR,CACF,EAAE,CACJ;GACD;IACE,OAAO;IACP,UAAU;IACV,QAAQ;KACN,OAAO;KACP,KAAK,EAAK;KACV,UAAU,CACR;MACE,OAAO;MACP,OAAO;MACP,YAAY;MACb,CACF;KACF;IACF;GACD;GACA;IACE,OAAO;IACP,OAAO;IACR;GACD;GACA;GACA;GACA;IACE,OAAO;KACL;KACA;KACA;KACD;IACD,OAAO;KACL,GAAG;KACH,GAAG;KACJ;IACF;GACD;GACA;IACE,OAAO;IACP,WAAW;IACX,eAAe;IACf,KAAK;IACL,YAAY;IACZ,SAAS;IACT,UAAU;KACR,EAAE,eAAe,OAAQ;KACzB,EAAK;KACL;MACE,OAAO;MACP,YAAY;MACb;KACD;MACE,OAAO;MACP,OAAO;MACP,KAAK;MACL,cAAc;MACd,YAAY;MACZ,UAAU;MACV,UAAU;OACR;OACA;OACA;OACA;OACA,EAAK;OACL;OACA;OACD;MACF;KACF;IACF;GACD;IACE,OAAO;IACP,UAAU,CACR;KACE,eAAe;KACf,SAAS;KACV,EACD;KACE,eAAe;KACf,SAAS;KACV,CACF;IACD,WAAW;IACX,KAAK;IACL,YAAY;IACZ,UAAU,CACR,EAAE,eAAe,sBAAsB,EACvC,EAAK,sBACN;IACF;GAID;IACE,eAAe;IACf,WAAW;IACX,KAAK;IACL,SAAS;IACT,UAAU,CAAE,EAAK,QAAQ,EAAK,uBAAuB,EAAE,OAAO,eAAe,CAAC,CAAE;IACjF;GACD;IACE,eAAe;IACf,WAAW;IACX,KAAK;IACL,UAAU,CAER;KACE,OAAO;KACP,OAAO;KACR,EAED,EAAK,sBACN;IACF;GACD;GACA;GACD;EACF"}
|
package/dist/primitives.cjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
const {ensureStyles}=require('./style-runtime.cjs')
|
|
2
2
|
ensureStyles()
|
|
3
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./MPortal-
|
|
3
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./MPortal-C9Ucq8Um.cjs`),t=require(`./MPopover-DI_7niwe.cjs`);exports.MPopover=t.t,exports.MPortal=e.t;
|
package/dist/primitives.js
CHANGED