@banzamel/mineralui 2.3.1 → 2.4.1
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-Capz5Gbc.cjs} +2 -2
- package/dist/{MAvatar-bUWENcq-.cjs.map → MAvatar-Capz5Gbc.cjs.map} +1 -1
- package/dist/{MButton-R08y1HCT.cjs → MButton-sTKnano6.cjs} +2 -2
- package/dist/{MButton-R08y1HCT.cjs.map → MButton-sTKnano6.cjs.map} +1 -1
- package/dist/{MButtonGroup-C-LiXWRC.cjs → MButtonGroup-iPv14c0V.cjs} +2 -2
- package/dist/{MButtonGroup-C-LiXWRC.cjs.map → MButtonGroup-iPv14c0V.cjs.map} +1 -1
- package/dist/{MCard-1OVOl4Ql.cjs → MCard-DK-_FkpE.cjs} +2 -2
- package/dist/{MCard-1OVOl4Ql.cjs.map → MCard-DK-_FkpE.cjs.map} +1 -1
- package/dist/{MCheckbox-CM5HJQWW.cjs → MCheckbox-CIX7wp41.cjs} +2 -2
- package/dist/{MCheckbox-CM5HJQWW.cjs.map → MCheckbox-CIX7wp41.cjs.map} +1 -1
- package/dist/{MConflictIllustration-Drsm8_8C.js → MConflictIllustration-3K0lCAsD.js} +3 -3
- package/dist/MConflictIllustration-3K0lCAsD.js.map +1 -0
- package/dist/MConflictIllustration-BuK6cSsc.cjs +2 -0
- package/dist/MConflictIllustration-BuK6cSsc.cjs.map +1 -0
- package/dist/{MDetailList-DTLU7HQZ.cjs → MDetailList-Ce7KzUKC.cjs} +2 -2
- package/dist/{MDetailList-DTLU7HQZ.cjs.map → MDetailList-Ce7KzUKC.cjs.map} +1 -1
- package/dist/MDropdownMenu-B_QWQhxy.cjs +2 -0
- package/dist/MDropdownMenu-B_QWQhxy.cjs.map +1 -0
- package/dist/MDropdownMenu-C4CuKMRZ.js +172 -0
- package/dist/MDropdownMenu-C4CuKMRZ.js.map +1 -0
- package/dist/{MGrid-B_0kFUws.cjs → MGrid-fTx6wFq_.cjs} +2 -2
- package/dist/{MGrid-B_0kFUws.cjs.map → MGrid-fTx6wFq_.cjs.map} +1 -1
- package/dist/{MHeading-BLnb3dNv.cjs → MHeading-KDSpnCof.cjs} +2 -2
- package/dist/{MHeading-BLnb3dNv.cjs.map → MHeading-KDSpnCof.cjs.map} +1 -1
- package/dist/{MI18nProvider-Cg-vxV6j.cjs → MI18nProvider-DXRbB0VY.cjs} +2 -2
- package/dist/{MI18nProvider-Cg-vxV6j.cjs.map → MI18nProvider-DXRbB0VY.cjs.map} +1 -1
- package/dist/{MInput-BpTlP8GE.cjs → MInput-CGl2Q-rM.cjs} +2 -2
- package/dist/{MInput-BpTlP8GE.cjs.map → MInput-CGl2Q-rM.cjs.map} +1 -1
- package/dist/{MInputCVC-B4V0QI5h.js → MInputCVC-Blv5PeyS.js} +2 -2
- package/dist/{MInputCVC-B4V0QI5h.js.map → MInputCVC-Blv5PeyS.js.map} +1 -1
- package/dist/{MInputCVC-BlY5OrVn.cjs → MInputCVC-lAFKTV6y.cjs} +2 -2
- package/dist/{MInputCVC-BlY5OrVn.cjs.map → MInputCVC-lAFKTV6y.cjs.map} +1 -1
- package/dist/{MInputSearch-9wcXlY8-.cjs → MInputSearch-BZDnbFB4.cjs} +2 -2
- package/dist/{MInputSearch-9wcXlY8-.cjs.map → MInputSearch-BZDnbFB4.cjs.map} +1 -1
- package/dist/{MKbd-n4fhKIxb.cjs → MKbd-DqMnZ7Iv.cjs} +2 -2
- package/dist/{MKbd-n4fhKIxb.cjs.map → MKbd-DqMnZ7Iv.cjs.map} +1 -1
- package/dist/{MLink-Biipj7xz.cjs → MLink-U24G6KJj.cjs} +2 -2
- package/dist/{MLink-Biipj7xz.cjs.map → MLink-U24G6KJj.cjs.map} +1 -1
- package/dist/{MLoader-XcpKlLrd.cjs → MLoader-CvFIvytw.cjs} +2 -2
- package/dist/{MLoader-XcpKlLrd.cjs.map → MLoader-CvFIvytw.cjs.map} +1 -1
- package/dist/{MPagination-CgmNEAZX.js → MPagination-BkvOEZpp.js} +1 -1
- package/dist/{MPagination-CgmNEAZX.js.map → MPagination-BkvOEZpp.js.map} +1 -1
- package/dist/{MPagination-C6QQdEj_.cjs → MPagination-DgQta29Q.cjs} +2 -2
- package/dist/{MPagination-C6QQdEj_.cjs.map → MPagination-DgQta29Q.cjs.map} +1 -1
- package/dist/MPopover-C-e1CoV0.cjs +2 -0
- package/dist/MPopover-C-e1CoV0.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-DUSIuINN.cjs} +2 -2
- package/dist/{MPortal-BciZHNDC.cjs.map → MPortal-DUSIuINN.cjs.map} +1 -1
- package/dist/{MSimpleGrid-BwNfaxQP.cjs → MSimpleGrid-BzlIitcJ.cjs} +2 -2
- package/dist/{MSimpleGrid-BwNfaxQP.cjs.map → MSimpleGrid-BzlIitcJ.cjs.map} +1 -1
- package/dist/{MSkeleton-CLSU5pL6.cjs → MSkeleton-BoFpowFU.cjs} +2 -2
- package/dist/{MSkeleton-CLSU5pL6.cjs.map → MSkeleton-BoFpowFU.cjs.map} +1 -1
- package/dist/{MSlider-DZnMB49q.cjs → MSlider-BTDBqF8t.cjs} +2 -2
- package/dist/{MSlider-DZnMB49q.cjs.map → MSlider-BTDBqF8t.cjs.map} +1 -1
- package/dist/{MStack-BP_BUeCc.cjs → MStack-B3Ldqsc-.cjs} +2 -2
- package/dist/{MStack-BP_BUeCc.cjs.map → MStack-B3Ldqsc-.cjs.map} +1 -1
- package/dist/{MSubText-VHsgFsv2.cjs → MSubText-47PsgE8T.cjs} +2 -2
- package/dist/{MSubText-VHsgFsv2.cjs.map → MSubText-47PsgE8T.cjs.map} +1 -1
- package/dist/{MSurface-CYeVFOw_.cjs → MSurface-QYEygc_0.cjs} +2 -2
- package/dist/{MSurface-CYeVFOw_.cjs.map → MSurface-QYEygc_0.cjs.map} +1 -1
- package/dist/{MTag-BzTp1crT.cjs → MTag-BjV-dXkk.cjs} +2 -2
- package/dist/{MTag-BzTp1crT.cjs.map → MTag-BjV-dXkk.cjs.map} +1 -1
- package/dist/{MText-j6Zbbj5Y.cjs → MText-Dni707tS.cjs} +2 -2
- package/dist/{MText-j6Zbbj5Y.cjs.map → MText-Dni707tS.cjs.map} +1 -1
- package/dist/{MTooltip-BEfO9jTe.cjs → MTooltip-ChvuN4Ow.cjs} +2 -2
- package/dist/{MTooltip-BEfO9jTe.cjs.map → MTooltip-ChvuN4Ow.cjs.map} +1 -1
- package/dist/{MTooltip-BTJkzOah.js → MTooltip-H3we0a7w.js} +1 -1
- package/dist/{MTooltip-BTJkzOah.js.map → MTooltip-H3we0a7w.js.map} +1 -1
- package/dist/{MTreeView-DuQkm0ZV.cjs → MTreeView-VYp0eErQ.cjs} +2 -2
- package/dist/{MTreeView-DuQkm0ZV.cjs.map → MTreeView-VYp0eErQ.cjs.map} +1 -1
- package/dist/{arduino-DdDHMIWB.cjs → arduino-BdpdaLwK.cjs} +1 -1
- package/dist/{arduino-DdDHMIWB.cjs.map → arduino-BdpdaLwK.cjs.map} +1 -1
- package/dist/{arduino-UeOrXakL.js → arduino-DDDlP9Yt.js} +1 -1
- package/dist/{arduino-UeOrXakL.js.map → arduino-DDDlP9Yt.js.map} +1 -1
- package/dist/{bash-CrHemXky.js → bash-D8WbAmuA.js} +1 -1
- package/dist/{bash-CrHemXky.js.map → bash-D8WbAmuA.js.map} +1 -1
- package/dist/{bash-B17_F5Sw.cjs → bash-eOUFh3S1.cjs} +1 -1
- package/dist/{bash-B17_F5Sw.cjs.map → bash-eOUFh3S1.cjs.map} +1 -1
- package/dist/{c-ODLxeMV_.cjs → c-Bur7Mn-u.cjs} +1 -1
- package/dist/{c-ODLxeMV_.cjs.map → c-Bur7Mn-u.cjs.map} +1 -1
- package/dist/{c-D9302r2r.js → c-CTKNfUJI.js} +1 -1
- package/dist/{c-D9302r2r.js.map → c-CTKNfUJI.js.map} +1 -1
- package/dist/calendar-P7MwKfWS.cjs +2 -0
- package/dist/calendar-P7MwKfWS.cjs.map +1 -0
- package/dist/calendar-bzeZRst9.js +193 -0
- package/dist/calendar-bzeZRst9.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/calendarDates-AnlGcvZM.cjs +2 -0
- package/dist/calendarDates-AnlGcvZM.cjs.map +1 -0
- package/dist/calendarDates-CYkJqcnp.js +50 -0
- package/dist/calendarDates-CYkJqcnp.js.map +1 -0
- package/dist/{cards-Cpr9B8Mu.js → cards-CFDJsdxR.js} +5 -5
- package/dist/{cards-Cpr9B8Mu.js.map → cards-CFDJsdxR.js.map} +1 -1
- package/dist/{cards-CQSYgH9U.cjs → cards-DeA7I2KC.cjs} +2 -2
- package/dist/{cards-CQSYgH9U.cjs.map → cards-DeA7I2KC.cjs.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/data/MWeekGrid/MWeekGrid.types.d.ts +9 -4
- 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-KK-TyUTT.cjs} +2 -2
- package/dist/{controls-CT_0lIPr.cjs.map → controls-KK-TyUTT.cjs.map} +1 -1
- package/dist/controls.cjs +1 -1
- package/dist/{core-yRqh2XLu.js → core-D5-SQcs8.js} +1 -1
- package/dist/{core-yRqh2XLu.js.map → core-D5-SQcs8.js.map} +1 -1
- package/dist/{core-DBpQf3uY.cjs → core-D66c1_Wo.cjs} +1 -1
- package/dist/{core-DBpQf3uY.cjs.map → core-D66c1_Wo.cjs.map} +1 -1
- package/dist/{cpp-DuTgLZC1.cjs → cpp-BMULAf-B.cjs} +1 -1
- package/dist/{cpp-DuTgLZC1.cjs.map → cpp-BMULAf-B.cjs.map} +1 -1
- package/dist/{cpp-CLYSpJBB.js → cpp-DAzz2TpY.js} +1 -1
- package/dist/{cpp-CLYSpJBB.js.map → cpp-DAzz2TpY.js.map} +1 -1
- package/dist/{css-D0f-qByc.cjs → css-9M03GzKO.cjs} +1 -1
- package/dist/{css-D0f-qByc.cjs.map → css-9M03GzKO.cjs.map} +1 -1
- package/dist/{css-BgGh0eG1.js → css-EGOXTWIl.js} +1 -1
- package/dist/{css-BgGh0eG1.js.map → css-EGOXTWIl.js.map} +1 -1
- package/dist/{data-C-6DP7iY.js → data-CgLutFxU.js} +246 -231
- package/dist/data-CgLutFxU.js.map +1 -0
- package/dist/data-DFrkJTlF.cjs +2 -0
- package/dist/data-DFrkJTlF.cjs.map +1 -0
- package/dist/data.cjs +1 -1
- package/dist/data.js +1 -1
- package/dist/{display-DMix8BmD.cjs → display--E7rI0tk.cjs} +2 -2
- package/dist/{display-DMix8BmD.cjs.map → display--E7rI0tk.cjs.map} +1 -1
- package/dist/{display-BF4jASt9.js → display-BnkHKW1n.js} +12 -12
- package/dist/{display-BF4jASt9.js.map → display-BnkHKW1n.js.map} +1 -1
- package/dist/display.cjs +1 -1
- package/dist/display.js +1 -1
- package/dist/dropdowns-DGYg9zIh.cjs +2 -0
- package/dist/dropdowns-DGYg9zIh.cjs.map +1 -0
- package/dist/dropdowns-Dq-xAplH.js +1698 -0
- package/dist/dropdowns-Dq-xAplH.js.map +1 -0
- package/dist/dropdowns.cjs +1 -1
- package/dist/dropdowns.js +1 -1
- package/dist/{feedback-BeJpXoKd.cjs → feedback-CA77ShtB.cjs} +2 -2
- package/dist/{feedback-BeJpXoKd.cjs.map → feedback-CA77ShtB.cjs.map} +1 -1
- package/dist/feedback.cjs +1 -1
- package/dist/{form-CgH1hioG.js → form-CAFcvmUS.js} +1 -1
- package/dist/{form-CgH1hioG.js.map → form-CAFcvmUS.js.map} +1 -1
- package/dist/{form-BWGLrCPi.cjs → form-DpfzLUOn.cjs} +2 -2
- package/dist/{form-BWGLrCPi.cjs.map → form-DpfzLUOn.cjs.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/frameworkTexts-DH0Xp-Vx.js +78 -0
- package/dist/frameworkTexts-DH0Xp-Vx.js.map +1 -0
- package/dist/frameworkTexts-iDXhcW6k.cjs +2 -0
- package/dist/frameworkTexts-iDXhcW6k.cjs.map +1 -0
- package/dist/i18n/frameworkTexts.d.ts +96 -0
- package/dist/i18n.cjs +1 -1
- package/dist/{icons-D675Im0B.cjs → icons-D_NB67he.cjs} +2 -2
- package/dist/{icons-D675Im0B.cjs.map → icons-D_NB67he.cjs.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/illustrations.cjs +1 -1
- package/dist/illustrations.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +15 -14
- package/dist/{inputs-x6vjAGCq.cjs → inputs-Clenc4Rm.cjs} +2 -2
- package/dist/{inputs-x6vjAGCq.cjs.map → inputs-Clenc4Rm.cjs.map} +1 -1
- package/dist/inputs.cjs +1 -1
- package/dist/inputs.js +1 -1
- package/dist/{javascript-CX3JhsYu.js → javascript-CHSg4NGc.js} +1 -1
- package/dist/{javascript-CX3JhsYu.js.map → javascript-CHSg4NGc.js.map} +1 -1
- package/dist/{javascript-CGjvHPZ1.cjs → javascript-CastOQF5.cjs} +1 -1
- package/dist/{javascript-CGjvHPZ1.cjs.map → javascript-CastOQF5.cjs.map} +1 -1
- package/dist/{json-BPIcVdlp.js → json-Bejy9Rlg.js} +1 -1
- package/dist/{json-BPIcVdlp.js.map → json-Bejy9Rlg.js.map} +1 -1
- package/dist/{json-B8svQsK0.cjs → json-DCkJ-m-p.cjs} +1 -1
- package/dist/{json-B8svQsK0.cjs.map → json-DCkJ-m-p.cjs.map} +1 -1
- package/dist/{layout-Ddo7HUPu.cjs → layout-CNoZdeXw.cjs} +2 -2
- package/dist/{layout-Ddo7HUPu.cjs.map → layout-CNoZdeXw.cjs.map} +1 -1
- package/dist/{layout-CdSpVJuK.js → layout-DsE4zfpg.js} +3 -3
- package/dist/{layout-CdSpVJuK.js.map → layout-DsE4zfpg.js.map} +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +2 -2
- package/dist/{licensing-DysMClel.cjs → licensing-DGIdtfNg.cjs} +2 -2
- package/dist/licensing-DGIdtfNg.cjs.map +1 -0
- package/dist/licensing-f5KYVz7D.js.map +1 -1
- package/dist/{locale-CbnstsMH.cjs → locale-DRRl_s5-.cjs} +2 -2
- package/dist/{locale-CbnstsMH.cjs.map → locale-DRRl_s5-.cjs.map} +1 -1
- package/dist/{media-DRz3JZfr.cjs → media-DRTBXDnn.cjs} +2 -2
- package/dist/{media-DRz3JZfr.cjs.map → media-DRTBXDnn.cjs.map} +1 -1
- package/dist/media.cjs +1 -1
- package/dist/{overlays-C1vO_A2I.js → overlays-BKk_ZXue.js} +3 -3
- package/dist/{overlays-C1vO_A2I.js.map → overlays-BKk_ZXue.js.map} +1 -1
- package/dist/{overlays-BUZEaZaJ.cjs → overlays-Qbp4d596.cjs} +2 -2
- package/dist/{overlays-BUZEaZaJ.cjs.map → overlays-Qbp4d596.cjs.map} +1 -1
- package/dist/overlays.cjs +1 -1
- package/dist/overlays.js +3 -3
- package/dist/{php-CKyelegh.cjs → php-BdVXegqn.cjs} +1 -1
- package/dist/{php-CKyelegh.cjs.map → php-BdVXegqn.cjs.map} +1 -1
- package/dist/{php-CBRzjinf.js → php-Cb_S1hXT.js} +1 -1
- package/dist/{php-CBRzjinf.js.map → php-Cb_S1hXT.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-DgaM4CjM.cjs} +2 -2
- package/dist/{theme-BfNZicWk.cjs.map → theme-DgaM4CjM.cjs.map} +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/{typescript-Xt3Sotw5.js → typescript-0VHxrxf2.js} +1 -1
- package/dist/{typescript-Xt3Sotw5.js.map → typescript-0VHxrxf2.js.map} +1 -1
- package/dist/{typescript-D6PDzwkM.cjs → typescript-CcGBfzlS.cjs} +1 -1
- package/dist/{typescript-D6PDzwkM.cjs.map → typescript-CcGBfzlS.cjs.map} +1 -1
- package/dist/{typography-Dk9kIORI.cjs → typography-C4_O8len.cjs} +2 -2
- package/dist/{typography-Dk9kIORI.cjs.map → typography-C4_O8len.cjs.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/{useGhostText-Dmkw3Am8.cjs → useGhostText-Dlemg1vw.cjs} +2 -2
- package/dist/{useGhostText-Dmkw3Am8.cjs.map → useGhostText-Dlemg1vw.cjs.map} +1 -1
- package/dist/{useInteractionEffect-DFTdcWHl.cjs → useInteractionEffect-CFwDX5UF.cjs} +2 -2
- package/dist/{useInteractionEffect-DFTdcWHl.cjs.map → useInteractionEffect-CFwDX5UF.cjs.map} +1 -1
- package/dist/{useKeyboardNav-HVG9JFD2.cjs → useKeyboardNav-Bm-dxVq-.cjs} +2 -2
- package/dist/{useKeyboardNav-HVG9JFD2.cjs.map → useKeyboardNav-Bm-dxVq-.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-8GjNy8SM.js} +1 -1
- package/dist/{xml-CrpWqcDk.js.map → xml-8GjNy8SM.js.map} +1 -1
- package/dist/{xml-4YlaGgjP.cjs → xml-Dbm3mobK.cjs} +1 -1
- package/dist/{xml-4YlaGgjP.cjs.map → xml-Dbm3mobK.cjs.map} +1 -1
- package/package.json +16 -3
- package/dist/MConflictIllustration-B2AtfpYO.cjs +0 -2
- package/dist/MConflictIllustration-B2AtfpYO.cjs.map +0 -1
- package/dist/MConflictIllustration-Drsm8_8C.js.map +0 -1
- 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/data-BZ92hzXx.cjs +0 -2
- package/dist/data-BZ92hzXx.cjs.map +0 -1
- package/dist/data-C-6DP7iY.js.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":"bash-
|
|
1
|
+
{"version":3,"file":"bash-eOUFh3S1.cjs","names":[],"sources":["../../../node_modules/highlight.js/es/languages/bash.js"],"sourcesContent":["/*\nLanguage: Bash\nAuthor: vah <vahtenberg@gmail.com>\nContributrors: Benjamin Pannell <contact@sierrasoftworks.com>\nWebsite: https://www.gnu.org/software/bash/\nCategory: common, scripting\n*/\n\n/** @type LanguageFn */\nfunction bash(hljs) {\n const regex = hljs.regex;\n const VAR = {};\n const BRACED_VAR = {\n begin: /\\$\\{/,\n end: /\\}/,\n contains: [\n \"self\",\n {\n begin: /:-/,\n contains: [ VAR ]\n } // default values\n ]\n };\n Object.assign(VAR, {\n className: 'variable',\n variants: [\n { begin: regex.concat(/\\$[\\w\\d#@][\\w\\d_]*/,\n // negative look-ahead tries to avoid matching patterns that are not\n // Perl at all like $ident$, @ident@, etc.\n `(?![\\\\w\\\\d])(?![$])`) },\n BRACED_VAR\n ]\n });\n\n const SUBST = {\n className: 'subst',\n begin: /\\$\\(/,\n end: /\\)/,\n contains: [ hljs.BACKSLASH_ESCAPE ]\n };\n const COMMENT = hljs.inherit(\n hljs.COMMENT(),\n {\n match: [\n /(^|\\s)/,\n /#.*$/\n ],\n scope: {\n 2: 'comment'\n }\n }\n );\n const HERE_DOC = {\n begin: /<<-?\\s*(?=\\w+)/,\n starts: { contains: [\n hljs.END_SAME_AS_BEGIN({\n begin: /(\\w+)/,\n end: /(\\w+)/,\n className: 'string'\n })\n ] }\n };\n const QUOTE_STRING = {\n className: 'string',\n begin: /\"/,\n end: /\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n VAR,\n SUBST\n ]\n };\n SUBST.contains.push(QUOTE_STRING);\n const ESCAPED_QUOTE = {\n match: /\\\\\"/\n };\n const APOS_STRING = {\n className: 'string',\n begin: /'/,\n end: /'/\n };\n const ESCAPED_APOS = {\n match: /\\\\'/\n };\n const ARITHMETIC = {\n begin: /\\$?\\(\\(/,\n end: /\\)\\)/,\n contains: [\n {\n begin: /\\d+#[0-9a-f]+/,\n className: \"number\"\n },\n hljs.NUMBER_MODE,\n VAR\n ]\n };\n const SH_LIKE_SHELLS = [\n \"fish\",\n \"bash\",\n \"zsh\",\n \"sh\",\n \"csh\",\n \"ksh\",\n \"tcsh\",\n \"dash\",\n \"scsh\",\n ];\n const KNOWN_SHEBANG = hljs.SHEBANG({\n binary: `(${SH_LIKE_SHELLS.join(\"|\")})`,\n relevance: 10\n });\n const FUNCTION = {\n className: 'function',\n begin: /\\w[\\w\\d_]*\\s*\\(\\s*\\)\\s*\\{/,\n returnBegin: true,\n contains: [ hljs.inherit(hljs.TITLE_MODE, { begin: /\\w[\\w\\d_]*/ }) ],\n relevance: 0\n };\n\n const KEYWORDS = [\n \"if\",\n \"then\",\n \"else\",\n \"elif\",\n \"fi\",\n \"time\",\n \"for\",\n \"while\",\n \"until\",\n \"in\",\n \"do\",\n \"done\",\n \"case\",\n \"esac\",\n \"coproc\",\n \"function\",\n \"select\"\n ];\n\n const LITERALS = [\n \"true\",\n \"false\"\n ];\n\n // to consume paths to prevent keyword matches inside them\n const PATH_MODE = { match: /(\\/[a-z._-]+)+/ };\n\n // http://www.gnu.org/software/bash/manual/html_node/Shell-Builtin-Commands.html\n const SHELL_BUILT_INS = [\n \"break\",\n \"cd\",\n \"continue\",\n \"eval\",\n \"exec\",\n \"exit\",\n \"export\",\n \"getopts\",\n \"hash\",\n \"pwd\",\n \"readonly\",\n \"return\",\n \"shift\",\n \"test\",\n \"times\",\n \"trap\",\n \"umask\",\n \"unset\"\n ];\n\n const BASH_BUILT_INS = [\n \"alias\",\n \"bind\",\n \"builtin\",\n \"caller\",\n \"command\",\n \"declare\",\n \"echo\",\n \"enable\",\n \"help\",\n \"let\",\n \"local\",\n \"logout\",\n \"mapfile\",\n \"printf\",\n \"read\",\n \"readarray\",\n \"source\",\n \"sudo\",\n \"type\",\n \"typeset\",\n \"ulimit\",\n \"unalias\"\n ];\n\n const ZSH_BUILT_INS = [\n \"autoload\",\n \"bg\",\n \"bindkey\",\n \"bye\",\n \"cap\",\n \"chdir\",\n \"clone\",\n \"comparguments\",\n \"compcall\",\n \"compctl\",\n \"compdescribe\",\n \"compfiles\",\n \"compgroups\",\n \"compquote\",\n \"comptags\",\n \"comptry\",\n \"compvalues\",\n \"dirs\",\n \"disable\",\n \"disown\",\n \"echotc\",\n \"echoti\",\n \"emulate\",\n \"fc\",\n \"fg\",\n \"float\",\n \"functions\",\n \"getcap\",\n \"getln\",\n \"history\",\n \"integer\",\n \"jobs\",\n \"kill\",\n \"limit\",\n \"log\",\n \"noglob\",\n \"popd\",\n \"print\",\n \"pushd\",\n \"pushln\",\n \"rehash\",\n \"sched\",\n \"setcap\",\n \"setopt\",\n \"stat\",\n \"suspend\",\n \"ttyctl\",\n \"unfunction\",\n \"unhash\",\n \"unlimit\",\n \"unsetopt\",\n \"vared\",\n \"wait\",\n \"whence\",\n \"where\",\n \"which\",\n \"zcompile\",\n \"zformat\",\n \"zftp\",\n \"zle\",\n \"zmodload\",\n \"zparseopts\",\n \"zprof\",\n \"zpty\",\n \"zregexparse\",\n \"zsocket\",\n \"zstyle\",\n \"ztcp\"\n ];\n\n const GNU_CORE_UTILS = [\n \"chcon\",\n \"chgrp\",\n \"chown\",\n \"chmod\",\n \"cp\",\n \"dd\",\n \"df\",\n \"dir\",\n \"dircolors\",\n \"ln\",\n \"ls\",\n \"mkdir\",\n \"mkfifo\",\n \"mknod\",\n \"mktemp\",\n \"mv\",\n \"realpath\",\n \"rm\",\n \"rmdir\",\n \"shred\",\n \"sync\",\n \"touch\",\n \"truncate\",\n \"vdir\",\n \"b2sum\",\n \"base32\",\n \"base64\",\n \"cat\",\n \"cksum\",\n \"comm\",\n \"csplit\",\n \"cut\",\n \"expand\",\n \"fmt\",\n \"fold\",\n \"head\",\n \"join\",\n \"md5sum\",\n \"nl\",\n \"numfmt\",\n \"od\",\n \"paste\",\n \"ptx\",\n \"pr\",\n \"sha1sum\",\n \"sha224sum\",\n \"sha256sum\",\n \"sha384sum\",\n \"sha512sum\",\n \"shuf\",\n \"sort\",\n \"split\",\n \"sum\",\n \"tac\",\n \"tail\",\n \"tr\",\n \"tsort\",\n \"unexpand\",\n \"uniq\",\n \"wc\",\n \"arch\",\n \"basename\",\n \"chroot\",\n \"date\",\n \"dirname\",\n \"du\",\n \"echo\",\n \"env\",\n \"expr\",\n \"factor\",\n // \"false\", // keyword literal already\n \"groups\",\n \"hostid\",\n \"id\",\n \"link\",\n \"logname\",\n \"nice\",\n \"nohup\",\n \"nproc\",\n \"pathchk\",\n \"pinky\",\n \"printenv\",\n \"printf\",\n \"pwd\",\n \"readlink\",\n \"runcon\",\n \"seq\",\n \"sleep\",\n \"stat\",\n \"stdbuf\",\n \"stty\",\n \"tee\",\n \"test\",\n \"timeout\",\n // \"true\", // keyword literal already\n \"tty\",\n \"uname\",\n \"unlink\",\n \"uptime\",\n \"users\",\n \"who\",\n \"whoami\",\n \"yes\"\n ];\n\n return {\n name: 'Bash',\n aliases: [\n 'sh',\n 'zsh'\n ],\n keywords: {\n $pattern: /\\b[a-z][a-z0-9._-]+\\b/,\n keyword: KEYWORDS,\n literal: LITERALS,\n built_in: [\n ...SHELL_BUILT_INS,\n ...BASH_BUILT_INS,\n // Shell modifiers\n \"set\",\n \"shopt\",\n ...ZSH_BUILT_INS,\n ...GNU_CORE_UTILS\n ]\n },\n contains: [\n KNOWN_SHEBANG, // to catch known shells and boost relevancy\n hljs.SHEBANG(), // to catch unknown shells but still highlight the shebang\n FUNCTION,\n ARITHMETIC,\n COMMENT,\n HERE_DOC,\n PATH_MODE,\n QUOTE_STRING,\n ESCAPED_QUOTE,\n APOS_STRING,\n ESCAPED_APOS,\n VAR\n ]\n };\n}\n\nexport { bash as default };\n"],"x_google_ignoreList":[0],"mappings":"AASA,SAAS,EAAK,EAAM,CAClB,IAAM,EAAQ,EAAK,MACb,EAAM,EAAE,CACR,EAAa,CACjB,MAAO,OACP,IAAK,KACL,SAAU,CACR,OACA,CACE,MAAO,KACP,SAAU,CAAE,EAAK,CAClB,CACF,CACF,CACD,OAAO,OAAO,EAAK,CACjB,UAAW,WACX,SAAU,CACR,CAAE,MAAO,EAAM,OAAO,qBAGpB,sBAAsB,CAAE,CAC1B,EACD,CACF,CAAC,CAEF,IAAM,EAAQ,CACZ,UAAW,QACX,MAAO,OACP,IAAK,KACL,SAAU,CAAE,EAAK,iBAAkB,CACpC,CACK,EAAU,EAAK,QACnB,EAAK,SAAS,CACd,CACE,MAAO,CACL,SACA,OACD,CACD,MAAO,CACL,EAAG,UACJ,CACF,CACF,CACK,EAAW,CACf,MAAO,iBACP,OAAQ,CAAE,SAAU,CAClB,EAAK,kBAAkB,CACrB,MAAO,QACP,IAAK,QACL,UAAW,SACZ,CAAC,CACH,CAAE,CACJ,CACK,EAAe,CACnB,UAAW,SACX,MAAO,IACP,IAAK,IACL,SAAU,CACR,EAAK,iBACL,EACA,EACD,CACF,CACD,EAAM,SAAS,KAAK,EAAa,CACjC,IAAM,EAAgB,CACpB,MAAO,MACR,CACK,EAAc,CAClB,UAAW,SACX,MAAO,IACP,IAAK,IACN,CACK,EAAe,CACnB,MAAO,MACR,CACK,EAAa,CACjB,MAAO,UACP,IAAK,OACL,SAAU,CACR,CACE,MAAO,gBACP,UAAW,SACZ,CACD,EAAK,YACL,EACD,CACF,CAYK,EAAgB,EAAK,QAAQ,CACjC,OAAQ,IAZa,CACrB,OACA,OACA,MACA,KACA,MACA,MACA,OACA,OACA,OACD,CAE4B,KAAK,IAAI,CAAC,GACrC,UAAW,GACZ,CAAC,CACI,EAAW,CACf,UAAW,WACX,MAAO,4BACP,YAAa,GACb,SAAU,CAAE,EAAK,QAAQ,EAAK,WAAY,CAAE,MAAO,aAAc,CAAC,CAAE,CACpE,UAAW,EACZ,CAEK,EAAW,CACf,KACA,OACA,OACA,OACA,KACA,OACA,MACA,QACA,QACA,KACA,KACA,OACA,OACA,OACA,SACA,WACA,SACD,CAEK,EAAW,CACf,OACA,QACD,CAGK,EAAY,CAAE,MAAO,iBAAkB,CAGvC,EAAkB,CACtB,QACA,KACA,WACA,OACA,OACA,OACA,SACA,UACA,OACA,MACA,WACA,SACA,QACA,OACA,QACA,OACA,QACA,QACD,CAEK,EAAiB,CACrB,QACA,OACA,UACA,SACA,UACA,UACA,OACA,SACA,OACA,MACA,QACA,SACA,UACA,SACA,OACA,YACA,SACA,OACA,OACA,UACA,SACA,UACD,CAEK,EAAgB,ofAqErB,CAEK,EAAiB,mlBAwGtB,CAED,MAAO,CACL,KAAM,OACN,QAAS,CACP,KACA,MACD,CACD,SAAU,CACR,SAAU,wBACV,QAAS,EACT,QAAS,EACT,SAAU,CACR,GAAG,EACH,GAAG,EAEH,MACA,QACA,GAAG,EACH,GAAG,EACJ,CACF,CACD,SAAU,CACR,EACA,EAAK,SAAS,CACd,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACD,CACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
function e(e){let t=e.regex,n=e.COMMENT(`//`,`$`,{contains:[{begin:/\\\n/}]}),r=`decltype\\(auto\\)`,i=`[a-zA-Z_]\\w*::`,a=`(`+r+`|`+t.optional(i)+`[a-zA-Z_]\\w*`+t.optional(`<[^<>]+>`)+`)`,o={className:`type`,variants:[{begin:`\\b[a-z\\d_]*_t\\b`},{match:/\batomic_[a-z]{3,6}\b/}]},s={className:`string`,variants:[{begin:`(u8?|U|L)?"`,end:`"`,illegal:`\\n`,contains:[e.BACKSLASH_ESCAPE]},{begin:`(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)`,end:`'`,illegal:`.`},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},c={className:`number`,variants:[{match:/\b(0b[01']+)/},{match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/},{match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/},{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0},l={className:`meta`,begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:`if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include`},contains:[{begin:/\\\n/,relevance:0},e.inherit(s,{className:`string`}),{className:`string`,begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},u={className:`title`,begin:t.optional(i)+e.IDENT_RE,relevance:0},d=t.optional(i)+e.IDENT_RE+`\\s*\\(`,f={keyword:`asm.auto.break.case.continue.default.do.else.enum.extern.for.fortran.goto.if.inline.register.restrict.return.sizeof.typeof.typeof_unqual.struct.switch.typedef.union.volatile.while._Alignas._Alignof._Atomic._Generic._Noreturn._Static_assert._Thread_local.alignas.alignof.noreturn.static_assert.thread_local._Pragma`.split(`.`),type:`float.double.signed.unsigned.int.short.long.char.void._Bool._BitInt._Complex._Imaginary._Decimal32._Decimal64._Decimal96._Decimal128._Decimal64x._Decimal128x._Float16._Float32._Float64._Float128._Float32x._Float64x._Float128x.const.static.constexpr.complex.bool.imaginary`.split(`.`),literal:`true false NULL`,built_in:`std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr`},p=[l,o,n,e.C_BLOCK_COMMENT_MODE,c,s],m={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:`new throw return else`,end:/;/}],keywords:f,contains:p.concat([{begin:/\(/,end:/\)/,keywords:f,contains:p.concat([`self`]),relevance:0}]),relevance:0},h={begin:`(`+a+`[\\*&\\s]+)+`+d,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:f,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:r,keywords:f,relevance:0},{begin:d,returnBegin:!0,contains:[e.inherit(u,{className:`title.function`})],relevance:0},{relevance:0,match:/,/},{className:`params`,begin:/\(/,end:/\)/,keywords:f,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,s,c,o,{begin:/\(/,end:/\)/,keywords:f,relevance:0,contains:[`self`,n,e.C_BLOCK_COMMENT_MODE,s,c,o]}]},o,n,e.C_BLOCK_COMMENT_MODE,l]};return{name:`C`,aliases:[`h`],keywords:f,disableAutodetect:!0,illegal:`</`,contains:[].concat(m,h,p,[l,{begin:e.IDENT_RE+`::`,keywords:f},{className:`class`,beginKeywords:`enum class struct union`,end:/[{;:<>=]/,contains:[{beginKeywords:`final class struct`},e.TITLE_MODE]}]),exports:{preprocessor:l,strings:s,keywords:f}}}exports.default=e;
|
|
2
|
-
//# sourceMappingURL=c-
|
|
2
|
+
//# sourceMappingURL=c-Bur7Mn-u.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c-ODLxeMV_.cjs","names":[],"sources":["../../../node_modules/highlight.js/es/languages/c.js"],"sourcesContent":["/*\nLanguage: C\nCategory: common, system\nWebsite: https://en.wikipedia.org/wiki/C_(programming_language)\n*/\n\n/** @type LanguageFn */\nfunction c(hljs) {\n const regex = hljs.regex;\n // added for historic reasons because `hljs.C_LINE_COMMENT_MODE` does\n // not include such support nor can we be sure all the grammars depending\n // on it would desire this behavior\n const C_LINE_COMMENT_MODE = hljs.COMMENT('//', '$', { contains: [ { begin: /\\\\\\n/ } ] });\n const DECLTYPE_AUTO_RE = 'decltype\\\\(auto\\\\)';\n const NAMESPACE_RE = '[a-zA-Z_]\\\\w*::';\n const TEMPLATE_ARGUMENT_RE = '<[^<>]+>';\n const FUNCTION_TYPE_RE = '('\n + DECLTYPE_AUTO_RE + '|'\n + regex.optional(NAMESPACE_RE)\n + '[a-zA-Z_]\\\\w*' + regex.optional(TEMPLATE_ARGUMENT_RE)\n + ')';\n\n\n const TYPES = {\n className: 'type',\n variants: [\n { begin: '\\\\b[a-z\\\\d_]*_t\\\\b' },\n { match: /\\batomic_[a-z]{3,6}\\b/ }\n ]\n\n };\n\n // https://en.cppreference.com/w/cpp/language/escape\n // \\\\ \\x \\xFF \\u2837 \\u00323747 \\374\n const CHARACTER_ESCAPES = '\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\\\S)';\n const STRINGS = {\n className: 'string',\n variants: [\n {\n begin: '(u8?|U|L)?\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '(u8?|U|L)?\\'(' + CHARACTER_ESCAPES + \"|.)\",\n end: '\\'',\n illegal: '.'\n },\n hljs.END_SAME_AS_BEGIN({\n begin: /(?:u8?|U|L)?R\"([^()\\\\ ]{0,16})\\(/,\n end: /\\)([^()\\\\ ]{0,16})\"/\n })\n ]\n };\n\n const NUMBERS = {\n className: 'number',\n variants: [\n { match: /\\b(0b[01']+)/ }, \n { match: /(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/ }, \n { match: /(-?)\\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/ }, \n { match: /(-?)\\b\\d+(?:'\\d+)*(?:\\.\\d*(?:'\\d*)*)?(?:[eE][-+]?\\d+)?/ } \n ],\n relevance: 0\n }; \n \n const PREPROCESSOR = {\n className: 'meta',\n begin: /#\\s*[a-z]+\\b/,\n end: /$/,\n keywords: { keyword:\n 'if else elif endif define undef warning error line '\n + 'pragma _Pragma ifdef ifndef elifdef elifndef include' },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n hljs.inherit(STRINGS, { className: 'string' }),\n {\n className: 'string',\n begin: /<.*?>/\n },\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n\n const TITLE_MODE = {\n className: 'title',\n begin: regex.optional(NAMESPACE_RE) + hljs.IDENT_RE,\n relevance: 0\n };\n\n const FUNCTION_TITLE = regex.optional(NAMESPACE_RE) + hljs.IDENT_RE + '\\\\s*\\\\(';\n\n const C_KEYWORDS = [\n \"asm\",\n \"auto\",\n \"break\",\n \"case\",\n \"continue\",\n \"default\",\n \"do\",\n \"else\",\n \"enum\",\n \"extern\",\n \"for\",\n \"fortran\",\n \"goto\",\n \"if\",\n \"inline\",\n \"register\",\n \"restrict\",\n \"return\",\n \"sizeof\",\n \"typeof\",\n \"typeof_unqual\",\n \"struct\",\n \"switch\",\n \"typedef\",\n \"union\",\n \"volatile\",\n \"while\",\n \"_Alignas\",\n \"_Alignof\",\n \"_Atomic\",\n \"_Generic\",\n \"_Noreturn\",\n \"_Static_assert\",\n \"_Thread_local\",\n // aliases\n \"alignas\",\n \"alignof\",\n \"noreturn\",\n \"static_assert\",\n \"thread_local\",\n // not a C keyword but is, for all intents and purposes, treated exactly like one.\n \"_Pragma\"\n ];\n\n const C_TYPES = [\n \"float\",\n \"double\",\n \"signed\",\n \"unsigned\",\n \"int\",\n \"short\",\n \"long\",\n \"char\",\n \"void\",\n \"_Bool\",\n \"_BitInt\",\n \"_Complex\",\n \"_Imaginary\",\n \"_Decimal32\",\n \"_Decimal64\",\n \"_Decimal96\",\n \"_Decimal128\",\n \"_Decimal64x\",\n \"_Decimal128x\",\n \"_Float16\",\n \"_Float32\",\n \"_Float64\",\n \"_Float128\",\n \"_Float32x\",\n \"_Float64x\",\n \"_Float128x\",\n // modifiers\n \"const\",\n \"static\",\n \"constexpr\",\n // aliases\n \"complex\",\n \"bool\",\n \"imaginary\"\n ];\n\n const KEYWORDS = {\n keyword: C_KEYWORDS,\n type: C_TYPES,\n literal: 'true false NULL',\n // TODO: apply hinting work similar to what was done in cpp.js\n built_in: 'std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream '\n + 'auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set '\n + 'unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos '\n + 'asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp '\n + 'fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper '\n + 'isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow '\n + 'printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp '\n + 'strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan '\n + 'vfprintf vprintf vsprintf endl initializer_list unique_ptr',\n };\n\n const EXPRESSION_CONTAINS = [\n PREPROCESSOR,\n TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n STRINGS\n ];\n\n const EXPRESSION_CONTEXT = {\n // This mode covers expression context where we can't expect a function\n // definition and shouldn't highlight anything that looks like one:\n // `return some()`, `else if()`, `(x*sum(1, 2))`\n variants: [\n {\n begin: /=/,\n end: /;/\n },\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n beginKeywords: 'new throw return else',\n end: /;/\n }\n ],\n keywords: KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([ 'self' ]),\n relevance: 0\n }\n ]),\n relevance: 0\n };\n\n const FUNCTION_DECLARATION = {\n begin: '(' + FUNCTION_TYPE_RE + '[\\\\*&\\\\s]+)+' + FUNCTION_TITLE,\n returnBegin: true,\n end: /[{;=]/,\n excludeEnd: true,\n keywords: KEYWORDS,\n illegal: /[^\\w\\s\\*&:<>.]/,\n contains: [\n { // to prevent it from being confused as the function title\n begin: DECLTYPE_AUTO_RE,\n keywords: KEYWORDS,\n relevance: 0\n },\n {\n begin: FUNCTION_TITLE,\n returnBegin: true,\n contains: [ hljs.inherit(TITLE_MODE, { className: \"title.function\" }) ],\n relevance: 0\n },\n // allow for multiple declarations, e.g.:\n // extern void f(int), g(char);\n {\n relevance: 0,\n match: /,/\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n TYPES,\n // Count matching parentheses.\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n 'self',\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n TYPES\n ]\n }\n ]\n },\n TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n PREPROCESSOR\n ]\n };\n\n return {\n name: \"C\",\n aliases: [ 'h' ],\n keywords: KEYWORDS,\n // Until differentiations are added between `c` and `cpp`, `c` will\n // not be auto-detected to avoid auto-detect conflicts between C and C++\n disableAutodetect: true,\n illegal: '</',\n contains: [].concat(\n EXPRESSION_CONTEXT,\n FUNCTION_DECLARATION,\n EXPRESSION_CONTAINS,\n [\n PREPROCESSOR,\n {\n begin: hljs.IDENT_RE + '::',\n keywords: KEYWORDS\n },\n {\n className: 'class',\n beginKeywords: 'enum class struct union',\n end: /[{;:<>=]/,\n contains: [\n { beginKeywords: \"final class struct\" },\n hljs.TITLE_MODE\n ]\n }\n ]),\n exports: {\n preprocessor: PREPROCESSOR,\n strings: STRINGS,\n keywords: KEYWORDS\n }\n };\n}\n\nexport { c as default };\n"],"x_google_ignoreList":[0],"mappings":"AAOA,SAAS,EAAE,EAAM,CACf,IAAM,EAAQ,EAAK,MAIb,EAAsB,EAAK,QAAQ,KAAM,IAAK,CAAE,SAAU,CAAE,CAAE,MAAO,OAAQ,CAAE,CAAE,CAAC,CAClF,EAAmB,qBACnB,EAAe,kBAEf,EAAmB,IACrB,EAAmB,IACnB,EAAM,SAAS,EAAa,CAC5B,gBAAkB,EAAM,SAJC,WAI6B,CACxD,IAGI,EAAQ,CACZ,UAAW,OACX,SAAU,CACR,CAAE,MAAO,qBAAsB,CAC/B,CAAE,MAAO,wBAAyB,CACnC,CAEF,CAKK,EAAU,CACd,UAAW,SACX,SAAU,CACR,CACE,MAAO,cACP,IAAK,IACL,QAAS,MACT,SAAU,CAAE,EAAK,iBAAkB,CACpC,CACD,CACE,MAAO,sEACP,IAAK,IACL,QAAS,IACV,CACD,EAAK,kBAAkB,CACrB,MAAO,mCACP,IAAK,sBACN,CAAC,CACH,CACF,CAEK,EAAU,CACd,UAAW,SACX,SAAU,CACR,CAAE,MAAO,eAAgB,CACzB,CAAE,MAAO,kFAAmF,CAC5F,CAAE,MAAO,mHAAoH,CAC7H,CAAE,MAAO,yDAA0D,CACtE,CACC,UAAW,EACZ,CAEK,EAAe,CACnB,UAAW,OACX,MAAO,eACP,IAAK,IACL,SAAU,CAAE,QACR,0GAC0D,CAC9D,SAAU,CACR,CACE,MAAO,OACP,UAAW,EACZ,CACD,EAAK,QAAQ,EAAS,CAAE,UAAW,SAAU,CAAC,CAC9C,CACE,UAAW,SACX,MAAO,QACR,CACD,EACA,EAAK,qBACN,CACF,CAEK,EAAa,CACjB,UAAW,QACX,MAAO,EAAM,SAAS,EAAa,CAAG,EAAK,SAC3C,UAAW,EACZ,CAEK,EAAiB,EAAM,SAAS,EAAa,CAAG,EAAK,SAAW,UAoFhE,EAAW,CACf,QAnFiB,sUA2ClB,CAyCC,KAvCc,4RAmCf,CAKC,QAAS,kBAET,SAAU,mzBASX,CAEK,EAAsB,CAC1B,EACA,EACA,EACA,EAAK,qBACL,EACA,EACD,CAEK,EAAqB,CAIzB,SAAU,CACR,CACE,MAAO,IACP,IAAK,IACN,CACD,CACE,MAAO,KACP,IAAK,KACN,CACD,CACE,cAAe,wBACf,IAAK,IACN,CACF,CACD,SAAU,EACV,SAAU,EAAoB,OAAO,CACnC,CACE,MAAO,KACP,IAAK,KACL,SAAU,EACV,SAAU,EAAoB,OAAO,CAAE,OAAQ,CAAC,CAChD,UAAW,EACZ,CACF,CAAC,CACF,UAAW,EACZ,CAEK,EAAuB,CAC3B,MAAO,IAAM,EAAmB,eAAiB,EACjD,YAAa,GACb,IAAK,QACL,WAAY,GACZ,SAAU,EACV,QAAS,iBACT,SAAU,CACR,CACE,MAAO,EACP,SAAU,EACV,UAAW,EACZ,CACD,CACE,MAAO,EACP,YAAa,GACb,SAAU,CAAE,EAAK,QAAQ,EAAY,CAAE,UAAW,iBAAkB,CAAC,CAAE,CACvE,UAAW,EACZ,CAGD,CACE,UAAW,EACX,MAAO,IACR,CACD,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAU,EACV,UAAW,EACX,SAAU,CACR,EACA,EAAK,qBACL,EACA,EACA,EAEA,CACE,MAAO,KACP,IAAK,KACL,SAAU,EACV,UAAW,EACX,SAAU,CACR,OACA,EACA,EAAK,qBACL,EACA,EACA,EACD,CACF,CACF,CACF,CACD,EACA,EACA,EAAK,qBACL,EACD,CACF,CAED,MAAO,CACL,KAAM,IACN,QAAS,CAAE,IAAK,CAChB,SAAU,EAGV,kBAAmB,GACnB,QAAS,KACT,SAAU,EAAE,CAAC,OACX,EACA,EACA,EACA,CACE,EACA,CACE,MAAO,EAAK,SAAW,KACvB,SAAU,EACX,CACD,CACE,UAAW,QACX,cAAe,0BACf,IAAK,WACL,SAAU,CACR,CAAE,cAAe,qBAAsB,CACvC,EAAK,WACN,CACF,CACF,CAAC,CACJ,QAAS,CACP,aAAc,EACd,QAAS,EACT,SAAU,EACX,CACF"}
|
|
1
|
+
{"version":3,"file":"c-Bur7Mn-u.cjs","names":[],"sources":["../../../node_modules/highlight.js/es/languages/c.js"],"sourcesContent":["/*\nLanguage: C\nCategory: common, system\nWebsite: https://en.wikipedia.org/wiki/C_(programming_language)\n*/\n\n/** @type LanguageFn */\nfunction c(hljs) {\n const regex = hljs.regex;\n // added for historic reasons because `hljs.C_LINE_COMMENT_MODE` does\n // not include such support nor can we be sure all the grammars depending\n // on it would desire this behavior\n const C_LINE_COMMENT_MODE = hljs.COMMENT('//', '$', { contains: [ { begin: /\\\\\\n/ } ] });\n const DECLTYPE_AUTO_RE = 'decltype\\\\(auto\\\\)';\n const NAMESPACE_RE = '[a-zA-Z_]\\\\w*::';\n const TEMPLATE_ARGUMENT_RE = '<[^<>]+>';\n const FUNCTION_TYPE_RE = '('\n + DECLTYPE_AUTO_RE + '|'\n + regex.optional(NAMESPACE_RE)\n + '[a-zA-Z_]\\\\w*' + regex.optional(TEMPLATE_ARGUMENT_RE)\n + ')';\n\n\n const TYPES = {\n className: 'type',\n variants: [\n { begin: '\\\\b[a-z\\\\d_]*_t\\\\b' },\n { match: /\\batomic_[a-z]{3,6}\\b/ }\n ]\n\n };\n\n // https://en.cppreference.com/w/cpp/language/escape\n // \\\\ \\x \\xFF \\u2837 \\u00323747 \\374\n const CHARACTER_ESCAPES = '\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\\\S)';\n const STRINGS = {\n className: 'string',\n variants: [\n {\n begin: '(u8?|U|L)?\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '(u8?|U|L)?\\'(' + CHARACTER_ESCAPES + \"|.)\",\n end: '\\'',\n illegal: '.'\n },\n hljs.END_SAME_AS_BEGIN({\n begin: /(?:u8?|U|L)?R\"([^()\\\\ ]{0,16})\\(/,\n end: /\\)([^()\\\\ ]{0,16})\"/\n })\n ]\n };\n\n const NUMBERS = {\n className: 'number',\n variants: [\n { match: /\\b(0b[01']+)/ }, \n { match: /(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/ }, \n { match: /(-?)\\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/ }, \n { match: /(-?)\\b\\d+(?:'\\d+)*(?:\\.\\d*(?:'\\d*)*)?(?:[eE][-+]?\\d+)?/ } \n ],\n relevance: 0\n }; \n \n const PREPROCESSOR = {\n className: 'meta',\n begin: /#\\s*[a-z]+\\b/,\n end: /$/,\n keywords: { keyword:\n 'if else elif endif define undef warning error line '\n + 'pragma _Pragma ifdef ifndef elifdef elifndef include' },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n hljs.inherit(STRINGS, { className: 'string' }),\n {\n className: 'string',\n begin: /<.*?>/\n },\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n\n const TITLE_MODE = {\n className: 'title',\n begin: regex.optional(NAMESPACE_RE) + hljs.IDENT_RE,\n relevance: 0\n };\n\n const FUNCTION_TITLE = regex.optional(NAMESPACE_RE) + hljs.IDENT_RE + '\\\\s*\\\\(';\n\n const C_KEYWORDS = [\n \"asm\",\n \"auto\",\n \"break\",\n \"case\",\n \"continue\",\n \"default\",\n \"do\",\n \"else\",\n \"enum\",\n \"extern\",\n \"for\",\n \"fortran\",\n \"goto\",\n \"if\",\n \"inline\",\n \"register\",\n \"restrict\",\n \"return\",\n \"sizeof\",\n \"typeof\",\n \"typeof_unqual\",\n \"struct\",\n \"switch\",\n \"typedef\",\n \"union\",\n \"volatile\",\n \"while\",\n \"_Alignas\",\n \"_Alignof\",\n \"_Atomic\",\n \"_Generic\",\n \"_Noreturn\",\n \"_Static_assert\",\n \"_Thread_local\",\n // aliases\n \"alignas\",\n \"alignof\",\n \"noreturn\",\n \"static_assert\",\n \"thread_local\",\n // not a C keyword but is, for all intents and purposes, treated exactly like one.\n \"_Pragma\"\n ];\n\n const C_TYPES = [\n \"float\",\n \"double\",\n \"signed\",\n \"unsigned\",\n \"int\",\n \"short\",\n \"long\",\n \"char\",\n \"void\",\n \"_Bool\",\n \"_BitInt\",\n \"_Complex\",\n \"_Imaginary\",\n \"_Decimal32\",\n \"_Decimal64\",\n \"_Decimal96\",\n \"_Decimal128\",\n \"_Decimal64x\",\n \"_Decimal128x\",\n \"_Float16\",\n \"_Float32\",\n \"_Float64\",\n \"_Float128\",\n \"_Float32x\",\n \"_Float64x\",\n \"_Float128x\",\n // modifiers\n \"const\",\n \"static\",\n \"constexpr\",\n // aliases\n \"complex\",\n \"bool\",\n \"imaginary\"\n ];\n\n const KEYWORDS = {\n keyword: C_KEYWORDS,\n type: C_TYPES,\n literal: 'true false NULL',\n // TODO: apply hinting work similar to what was done in cpp.js\n built_in: 'std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream '\n + 'auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set '\n + 'unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos '\n + 'asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp '\n + 'fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper '\n + 'isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow '\n + 'printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp '\n + 'strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan '\n + 'vfprintf vprintf vsprintf endl initializer_list unique_ptr',\n };\n\n const EXPRESSION_CONTAINS = [\n PREPROCESSOR,\n TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n STRINGS\n ];\n\n const EXPRESSION_CONTEXT = {\n // This mode covers expression context where we can't expect a function\n // definition and shouldn't highlight anything that looks like one:\n // `return some()`, `else if()`, `(x*sum(1, 2))`\n variants: [\n {\n begin: /=/,\n end: /;/\n },\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n beginKeywords: 'new throw return else',\n end: /;/\n }\n ],\n keywords: KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([ 'self' ]),\n relevance: 0\n }\n ]),\n relevance: 0\n };\n\n const FUNCTION_DECLARATION = {\n begin: '(' + FUNCTION_TYPE_RE + '[\\\\*&\\\\s]+)+' + FUNCTION_TITLE,\n returnBegin: true,\n end: /[{;=]/,\n excludeEnd: true,\n keywords: KEYWORDS,\n illegal: /[^\\w\\s\\*&:<>.]/,\n contains: [\n { // to prevent it from being confused as the function title\n begin: DECLTYPE_AUTO_RE,\n keywords: KEYWORDS,\n relevance: 0\n },\n {\n begin: FUNCTION_TITLE,\n returnBegin: true,\n contains: [ hljs.inherit(TITLE_MODE, { className: \"title.function\" }) ],\n relevance: 0\n },\n // allow for multiple declarations, e.g.:\n // extern void f(int), g(char);\n {\n relevance: 0,\n match: /,/\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n TYPES,\n // Count matching parentheses.\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n 'self',\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n TYPES\n ]\n }\n ]\n },\n TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n PREPROCESSOR\n ]\n };\n\n return {\n name: \"C\",\n aliases: [ 'h' ],\n keywords: KEYWORDS,\n // Until differentiations are added between `c` and `cpp`, `c` will\n // not be auto-detected to avoid auto-detect conflicts between C and C++\n disableAutodetect: true,\n illegal: '</',\n contains: [].concat(\n EXPRESSION_CONTEXT,\n FUNCTION_DECLARATION,\n EXPRESSION_CONTAINS,\n [\n PREPROCESSOR,\n {\n begin: hljs.IDENT_RE + '::',\n keywords: KEYWORDS\n },\n {\n className: 'class',\n beginKeywords: 'enum class struct union',\n end: /[{;:<>=]/,\n contains: [\n { beginKeywords: \"final class struct\" },\n hljs.TITLE_MODE\n ]\n }\n ]),\n exports: {\n preprocessor: PREPROCESSOR,\n strings: STRINGS,\n keywords: KEYWORDS\n }\n };\n}\n\nexport { c as default };\n"],"x_google_ignoreList":[0],"mappings":"AAOA,SAAS,EAAE,EAAM,CACf,IAAM,EAAQ,EAAK,MAIb,EAAsB,EAAK,QAAQ,KAAM,IAAK,CAAE,SAAU,CAAE,CAAE,MAAO,OAAQ,CAAE,CAAE,CAAC,CAClF,EAAmB,qBACnB,EAAe,kBAEf,EAAmB,IACrB,EAAmB,IACnB,EAAM,SAAS,EAAa,CAC5B,gBAAkB,EAAM,SAJC,WAI6B,CACxD,IAGI,EAAQ,CACZ,UAAW,OACX,SAAU,CACR,CAAE,MAAO,qBAAsB,CAC/B,CAAE,MAAO,wBAAyB,CACnC,CAEF,CAKK,EAAU,CACd,UAAW,SACX,SAAU,CACR,CACE,MAAO,cACP,IAAK,IACL,QAAS,MACT,SAAU,CAAE,EAAK,iBAAkB,CACpC,CACD,CACE,MAAO,sEACP,IAAK,IACL,QAAS,IACV,CACD,EAAK,kBAAkB,CACrB,MAAO,mCACP,IAAK,sBACN,CAAC,CACH,CACF,CAEK,EAAU,CACd,UAAW,SACX,SAAU,CACR,CAAE,MAAO,eAAgB,CACzB,CAAE,MAAO,kFAAmF,CAC5F,CAAE,MAAO,mHAAoH,CAC7H,CAAE,MAAO,yDAA0D,CACtE,CACC,UAAW,EACZ,CAEK,EAAe,CACnB,UAAW,OACX,MAAO,eACP,IAAK,IACL,SAAU,CAAE,QACR,0GAC0D,CAC9D,SAAU,CACR,CACE,MAAO,OACP,UAAW,EACZ,CACD,EAAK,QAAQ,EAAS,CAAE,UAAW,SAAU,CAAC,CAC9C,CACE,UAAW,SACX,MAAO,QACR,CACD,EACA,EAAK,qBACN,CACF,CAEK,EAAa,CACjB,UAAW,QACX,MAAO,EAAM,SAAS,EAAa,CAAG,EAAK,SAC3C,UAAW,EACZ,CAEK,EAAiB,EAAM,SAAS,EAAa,CAAG,EAAK,SAAW,UAoFhE,EAAW,CACf,QAnFiB,sUA2ClB,CAyCC,KAvCc,4RAmCf,CAKC,QAAS,kBAET,SAAU,mzBASX,CAEK,EAAsB,CAC1B,EACA,EACA,EACA,EAAK,qBACL,EACA,EACD,CAEK,EAAqB,CAIzB,SAAU,CACR,CACE,MAAO,IACP,IAAK,IACN,CACD,CACE,MAAO,KACP,IAAK,KACN,CACD,CACE,cAAe,wBACf,IAAK,IACN,CACF,CACD,SAAU,EACV,SAAU,EAAoB,OAAO,CACnC,CACE,MAAO,KACP,IAAK,KACL,SAAU,EACV,SAAU,EAAoB,OAAO,CAAE,OAAQ,CAAC,CAChD,UAAW,EACZ,CACF,CAAC,CACF,UAAW,EACZ,CAEK,EAAuB,CAC3B,MAAO,IAAM,EAAmB,eAAiB,EACjD,YAAa,GACb,IAAK,QACL,WAAY,GACZ,SAAU,EACV,QAAS,iBACT,SAAU,CACR,CACE,MAAO,EACP,SAAU,EACV,UAAW,EACZ,CACD,CACE,MAAO,EACP,YAAa,GACb,SAAU,CAAE,EAAK,QAAQ,EAAY,CAAE,UAAW,iBAAkB,CAAC,CAAE,CACvE,UAAW,EACZ,CAGD,CACE,UAAW,EACX,MAAO,IACR,CACD,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAU,EACV,UAAW,EACX,SAAU,CACR,EACA,EAAK,qBACL,EACA,EACA,EAEA,CACE,MAAO,KACP,IAAK,KACL,SAAU,EACV,UAAW,EACX,SAAU,CACR,OACA,EACA,EAAK,qBACL,EACA,EACA,EACD,CACF,CACF,CACF,CACD,EACA,EACA,EAAK,qBACL,EACD,CACF,CAED,MAAO,CACL,KAAM,IACN,QAAS,CAAE,IAAK,CAChB,SAAU,EAGV,kBAAmB,GACnB,QAAS,KACT,SAAU,EAAE,CAAC,OACX,EACA,EACA,EACA,CACE,EACA,CACE,MAAO,EAAK,SAAW,KACvB,SAAU,EACX,CACD,CACE,UAAW,QACX,cAAe,0BACf,IAAK,WACL,SAAU,CACR,CAAE,cAAe,qBAAsB,CACvC,EAAK,WACN,CACF,CACF,CAAC,CACJ,QAAS,CACP,aAAc,EACd,QAAS,EACT,SAAU,EACX,CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c-D9302r2r.js","names":[],"sources":["../../../node_modules/highlight.js/es/languages/c.js"],"sourcesContent":["/*\nLanguage: C\nCategory: common, system\nWebsite: https://en.wikipedia.org/wiki/C_(programming_language)\n*/\n\n/** @type LanguageFn */\nfunction c(hljs) {\n const regex = hljs.regex;\n // added for historic reasons because `hljs.C_LINE_COMMENT_MODE` does\n // not include such support nor can we be sure all the grammars depending\n // on it would desire this behavior\n const C_LINE_COMMENT_MODE = hljs.COMMENT('//', '$', { contains: [ { begin: /\\\\\\n/ } ] });\n const DECLTYPE_AUTO_RE = 'decltype\\\\(auto\\\\)';\n const NAMESPACE_RE = '[a-zA-Z_]\\\\w*::';\n const TEMPLATE_ARGUMENT_RE = '<[^<>]+>';\n const FUNCTION_TYPE_RE = '('\n + DECLTYPE_AUTO_RE + '|'\n + regex.optional(NAMESPACE_RE)\n + '[a-zA-Z_]\\\\w*' + regex.optional(TEMPLATE_ARGUMENT_RE)\n + ')';\n\n\n const TYPES = {\n className: 'type',\n variants: [\n { begin: '\\\\b[a-z\\\\d_]*_t\\\\b' },\n { match: /\\batomic_[a-z]{3,6}\\b/ }\n ]\n\n };\n\n // https://en.cppreference.com/w/cpp/language/escape\n // \\\\ \\x \\xFF \\u2837 \\u00323747 \\374\n const CHARACTER_ESCAPES = '\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\\\S)';\n const STRINGS = {\n className: 'string',\n variants: [\n {\n begin: '(u8?|U|L)?\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '(u8?|U|L)?\\'(' + CHARACTER_ESCAPES + \"|.)\",\n end: '\\'',\n illegal: '.'\n },\n hljs.END_SAME_AS_BEGIN({\n begin: /(?:u8?|U|L)?R\"([^()\\\\ ]{0,16})\\(/,\n end: /\\)([^()\\\\ ]{0,16})\"/\n })\n ]\n };\n\n const NUMBERS = {\n className: 'number',\n variants: [\n { match: /\\b(0b[01']+)/ }, \n { match: /(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/ }, \n { match: /(-?)\\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/ }, \n { match: /(-?)\\b\\d+(?:'\\d+)*(?:\\.\\d*(?:'\\d*)*)?(?:[eE][-+]?\\d+)?/ } \n ],\n relevance: 0\n }; \n \n const PREPROCESSOR = {\n className: 'meta',\n begin: /#\\s*[a-z]+\\b/,\n end: /$/,\n keywords: { keyword:\n 'if else elif endif define undef warning error line '\n + 'pragma _Pragma ifdef ifndef elifdef elifndef include' },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n hljs.inherit(STRINGS, { className: 'string' }),\n {\n className: 'string',\n begin: /<.*?>/\n },\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n\n const TITLE_MODE = {\n className: 'title',\n begin: regex.optional(NAMESPACE_RE) + hljs.IDENT_RE,\n relevance: 0\n };\n\n const FUNCTION_TITLE = regex.optional(NAMESPACE_RE) + hljs.IDENT_RE + '\\\\s*\\\\(';\n\n const C_KEYWORDS = [\n \"asm\",\n \"auto\",\n \"break\",\n \"case\",\n \"continue\",\n \"default\",\n \"do\",\n \"else\",\n \"enum\",\n \"extern\",\n \"for\",\n \"fortran\",\n \"goto\",\n \"if\",\n \"inline\",\n \"register\",\n \"restrict\",\n \"return\",\n \"sizeof\",\n \"typeof\",\n \"typeof_unqual\",\n \"struct\",\n \"switch\",\n \"typedef\",\n \"union\",\n \"volatile\",\n \"while\",\n \"_Alignas\",\n \"_Alignof\",\n \"_Atomic\",\n \"_Generic\",\n \"_Noreturn\",\n \"_Static_assert\",\n \"_Thread_local\",\n // aliases\n \"alignas\",\n \"alignof\",\n \"noreturn\",\n \"static_assert\",\n \"thread_local\",\n // not a C keyword but is, for all intents and purposes, treated exactly like one.\n \"_Pragma\"\n ];\n\n const C_TYPES = [\n \"float\",\n \"double\",\n \"signed\",\n \"unsigned\",\n \"int\",\n \"short\",\n \"long\",\n \"char\",\n \"void\",\n \"_Bool\",\n \"_BitInt\",\n \"_Complex\",\n \"_Imaginary\",\n \"_Decimal32\",\n \"_Decimal64\",\n \"_Decimal96\",\n \"_Decimal128\",\n \"_Decimal64x\",\n \"_Decimal128x\",\n \"_Float16\",\n \"_Float32\",\n \"_Float64\",\n \"_Float128\",\n \"_Float32x\",\n \"_Float64x\",\n \"_Float128x\",\n // modifiers\n \"const\",\n \"static\",\n \"constexpr\",\n // aliases\n \"complex\",\n \"bool\",\n \"imaginary\"\n ];\n\n const KEYWORDS = {\n keyword: C_KEYWORDS,\n type: C_TYPES,\n literal: 'true false NULL',\n // TODO: apply hinting work similar to what was done in cpp.js\n built_in: 'std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream '\n + 'auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set '\n + 'unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos '\n + 'asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp '\n + 'fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper '\n + 'isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow '\n + 'printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp '\n + 'strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan '\n + 'vfprintf vprintf vsprintf endl initializer_list unique_ptr',\n };\n\n const EXPRESSION_CONTAINS = [\n PREPROCESSOR,\n TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n STRINGS\n ];\n\n const EXPRESSION_CONTEXT = {\n // This mode covers expression context where we can't expect a function\n // definition and shouldn't highlight anything that looks like one:\n // `return some()`, `else if()`, `(x*sum(1, 2))`\n variants: [\n {\n begin: /=/,\n end: /;/\n },\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n beginKeywords: 'new throw return else',\n end: /;/\n }\n ],\n keywords: KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([ 'self' ]),\n relevance: 0\n }\n ]),\n relevance: 0\n };\n\n const FUNCTION_DECLARATION = {\n begin: '(' + FUNCTION_TYPE_RE + '[\\\\*&\\\\s]+)+' + FUNCTION_TITLE,\n returnBegin: true,\n end: /[{;=]/,\n excludeEnd: true,\n keywords: KEYWORDS,\n illegal: /[^\\w\\s\\*&:<>.]/,\n contains: [\n { // to prevent it from being confused as the function title\n begin: DECLTYPE_AUTO_RE,\n keywords: KEYWORDS,\n relevance: 0\n },\n {\n begin: FUNCTION_TITLE,\n returnBegin: true,\n contains: [ hljs.inherit(TITLE_MODE, { className: \"title.function\" }) ],\n relevance: 0\n },\n // allow for multiple declarations, e.g.:\n // extern void f(int), g(char);\n {\n relevance: 0,\n match: /,/\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n TYPES,\n // Count matching parentheses.\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n 'self',\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n TYPES\n ]\n }\n ]\n },\n TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n PREPROCESSOR\n ]\n };\n\n return {\n name: \"C\",\n aliases: [ 'h' ],\n keywords: KEYWORDS,\n // Until differentiations are added between `c` and `cpp`, `c` will\n // not be auto-detected to avoid auto-detect conflicts between C and C++\n disableAutodetect: true,\n illegal: '</',\n contains: [].concat(\n EXPRESSION_CONTEXT,\n FUNCTION_DECLARATION,\n EXPRESSION_CONTAINS,\n [\n PREPROCESSOR,\n {\n begin: hljs.IDENT_RE + '::',\n keywords: KEYWORDS\n },\n {\n className: 'class',\n beginKeywords: 'enum class struct union',\n end: /[{;:<>=]/,\n contains: [\n { beginKeywords: \"final class struct\" },\n hljs.TITLE_MODE\n ]\n }\n ]),\n exports: {\n preprocessor: PREPROCESSOR,\n strings: STRINGS,\n keywords: KEYWORDS\n }\n };\n}\n\nexport { c as default };\n"],"x_google_ignoreList":[0],"mappings":";AAOA,SAAS,EAAE,GAAM;CACf,IAAM,IAAQ,EAAK,OAIb,IAAsB,EAAK,QAAQ,MAAM,KAAK,EAAE,UAAU,CAAE,EAAE,OAAO,QAAQ,CAAE,EAAE,CAAC,EAClF,IAAmB,sBACnB,IAAe,mBAEf,IAAmB,MACrB,IAAmB,MACnB,EAAM,SAAS,EAAa,GAC5B,kBAAkB,EAAM,SAJC,WAI6B,GACxD,KAGI,IAAQ;EACZ,WAAW;EACX,UAAU,CACR,EAAE,OAAO,sBAAsB,EAC/B,EAAE,OAAO,yBAAyB,CACnC;EAEF,EAKK,IAAU;EACd,WAAW;EACX,UAAU;GACR;IACE,OAAO;IACP,KAAK;IACL,SAAS;IACT,UAAU,CAAE,EAAK,iBAAkB;IACpC;GACD;IACE,OAAO;IACP,KAAK;IACL,SAAS;IACV;GACD,EAAK,kBAAkB;IACrB,OAAO;IACP,KAAK;IACN,CAAC;GACH;EACF,EAEK,IAAU;EACd,WAAW;EACX,UAAU;GACR,EAAE,OAAO,gBAAgB;GACzB,EAAE,OAAO,mFAAmF;GAC5F,EAAE,OAAO,oHAAoH;GAC7H,EAAE,OAAO,0DAA0D;GACtE;EACC,WAAW;EACZ,EAEK,IAAe;EACnB,WAAW;EACX,OAAO;EACP,KAAK;EACL,UAAU,EAAE,SACR,2GAC0D;EAC9D,UAAU;GACR;IACE,OAAO;IACP,WAAW;IACZ;GACD,EAAK,QAAQ,GAAS,EAAE,WAAW,UAAU,CAAC;GAC9C;IACE,WAAW;IACX,OAAO;IACR;GACD;GACA,EAAK;GACN;EACF,EAEK,IAAa;EACjB,WAAW;EACX,OAAO,EAAM,SAAS,EAAa,GAAG,EAAK;EAC3C,WAAW;EACZ,EAEK,IAAiB,EAAM,SAAS,EAAa,GAAG,EAAK,WAAW,WAoFhE,IAAW;EACf,SAnFiB,sVA2ClB;EAyCC,MAvCc,4SAmCf;EAKC,SAAS;EAET,UAAU;EASX,EAEK,IAAsB;EAC1B;EACA;EACA;EACA,EAAK;EACL;EACA;EACD,EAEK,IAAqB;EAIzB,UAAU;GACR;IACE,OAAO;IACP,KAAK;IACN;GACD;IACE,OAAO;IACP,KAAK;IACN;GACD;IACE,eAAe;IACf,KAAK;IACN;GACF;EACD,UAAU;EACV,UAAU,EAAoB,OAAO,CACnC;GACE,OAAO;GACP,KAAK;GACL,UAAU;GACV,UAAU,EAAoB,OAAO,CAAE,OAAQ,CAAC;GAChD,WAAW;GACZ,CACF,CAAC;EACF,WAAW;EACZ,EAEK,IAAuB;EAC3B,OAAO,MAAM,IAAmB,iBAAiB;EACjD,aAAa;EACb,KAAK;EACL,YAAY;EACZ,UAAU;EACV,SAAS;EACT,UAAU;GACR;IACE,OAAO;IACP,UAAU;IACV,WAAW;IACZ;GACD;IACE,OAAO;IACP,aAAa;IACb,UAAU,CAAE,EAAK,QAAQ,GAAY,EAAE,WAAW,kBAAkB,CAAC,CAAE;IACvE,WAAW;IACZ;GAGD;IACE,WAAW;IACX,OAAO;IACR;GACD;IACE,WAAW;IACX,OAAO;IACP,KAAK;IACL,UAAU;IACV,WAAW;IACX,UAAU;KACR;KACA,EAAK;KACL;KACA;KACA;KAEA;MACE,OAAO;MACP,KAAK;MACL,UAAU;MACV,WAAW;MACX,UAAU;OACR;OACA;OACA,EAAK;OACL;OACA;OACA;OACD;MACF;KACF;IACF;GACD;GACA;GACA,EAAK;GACL;GACD;EACF;AAED,QAAO;EACL,MAAM;EACN,SAAS,CAAE,IAAK;EAChB,UAAU;EAGV,mBAAmB;EACnB,SAAS;EACT,UAAU,EAAE,CAAC,OACX,GACA,GACA,GACA;GACE;GACA;IACE,OAAO,EAAK,WAAW;IACvB,UAAU;IACX;GACD;IACE,WAAW;IACX,eAAe;IACf,KAAK;IACL,UAAU,CACR,EAAE,eAAe,sBAAsB,EACvC,EAAK,WACN;IACF;GACF,CAAC;EACJ,SAAS;GACP,cAAc;GACd,SAAS;GACT,UAAU;GACX;EACF"}
|
|
1
|
+
{"version":3,"file":"c-CTKNfUJI.js","names":[],"sources":["../../../node_modules/highlight.js/es/languages/c.js"],"sourcesContent":["/*\nLanguage: C\nCategory: common, system\nWebsite: https://en.wikipedia.org/wiki/C_(programming_language)\n*/\n\n/** @type LanguageFn */\nfunction c(hljs) {\n const regex = hljs.regex;\n // added for historic reasons because `hljs.C_LINE_COMMENT_MODE` does\n // not include such support nor can we be sure all the grammars depending\n // on it would desire this behavior\n const C_LINE_COMMENT_MODE = hljs.COMMENT('//', '$', { contains: [ { begin: /\\\\\\n/ } ] });\n const DECLTYPE_AUTO_RE = 'decltype\\\\(auto\\\\)';\n const NAMESPACE_RE = '[a-zA-Z_]\\\\w*::';\n const TEMPLATE_ARGUMENT_RE = '<[^<>]+>';\n const FUNCTION_TYPE_RE = '('\n + DECLTYPE_AUTO_RE + '|'\n + regex.optional(NAMESPACE_RE)\n + '[a-zA-Z_]\\\\w*' + regex.optional(TEMPLATE_ARGUMENT_RE)\n + ')';\n\n\n const TYPES = {\n className: 'type',\n variants: [\n { begin: '\\\\b[a-z\\\\d_]*_t\\\\b' },\n { match: /\\batomic_[a-z]{3,6}\\b/ }\n ]\n\n };\n\n // https://en.cppreference.com/w/cpp/language/escape\n // \\\\ \\x \\xFF \\u2837 \\u00323747 \\374\n const CHARACTER_ESCAPES = '\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\\\S)';\n const STRINGS = {\n className: 'string',\n variants: [\n {\n begin: '(u8?|U|L)?\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '(u8?|U|L)?\\'(' + CHARACTER_ESCAPES + \"|.)\",\n end: '\\'',\n illegal: '.'\n },\n hljs.END_SAME_AS_BEGIN({\n begin: /(?:u8?|U|L)?R\"([^()\\\\ ]{0,16})\\(/,\n end: /\\)([^()\\\\ ]{0,16})\"/\n })\n ]\n };\n\n const NUMBERS = {\n className: 'number',\n variants: [\n { match: /\\b(0b[01']+)/ }, \n { match: /(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/ }, \n { match: /(-?)\\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/ }, \n { match: /(-?)\\b\\d+(?:'\\d+)*(?:\\.\\d*(?:'\\d*)*)?(?:[eE][-+]?\\d+)?/ } \n ],\n relevance: 0\n }; \n \n const PREPROCESSOR = {\n className: 'meta',\n begin: /#\\s*[a-z]+\\b/,\n end: /$/,\n keywords: { keyword:\n 'if else elif endif define undef warning error line '\n + 'pragma _Pragma ifdef ifndef elifdef elifndef include' },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n hljs.inherit(STRINGS, { className: 'string' }),\n {\n className: 'string',\n begin: /<.*?>/\n },\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n\n const TITLE_MODE = {\n className: 'title',\n begin: regex.optional(NAMESPACE_RE) + hljs.IDENT_RE,\n relevance: 0\n };\n\n const FUNCTION_TITLE = regex.optional(NAMESPACE_RE) + hljs.IDENT_RE + '\\\\s*\\\\(';\n\n const C_KEYWORDS = [\n \"asm\",\n \"auto\",\n \"break\",\n \"case\",\n \"continue\",\n \"default\",\n \"do\",\n \"else\",\n \"enum\",\n \"extern\",\n \"for\",\n \"fortran\",\n \"goto\",\n \"if\",\n \"inline\",\n \"register\",\n \"restrict\",\n \"return\",\n \"sizeof\",\n \"typeof\",\n \"typeof_unqual\",\n \"struct\",\n \"switch\",\n \"typedef\",\n \"union\",\n \"volatile\",\n \"while\",\n \"_Alignas\",\n \"_Alignof\",\n \"_Atomic\",\n \"_Generic\",\n \"_Noreturn\",\n \"_Static_assert\",\n \"_Thread_local\",\n // aliases\n \"alignas\",\n \"alignof\",\n \"noreturn\",\n \"static_assert\",\n \"thread_local\",\n // not a C keyword but is, for all intents and purposes, treated exactly like one.\n \"_Pragma\"\n ];\n\n const C_TYPES = [\n \"float\",\n \"double\",\n \"signed\",\n \"unsigned\",\n \"int\",\n \"short\",\n \"long\",\n \"char\",\n \"void\",\n \"_Bool\",\n \"_BitInt\",\n \"_Complex\",\n \"_Imaginary\",\n \"_Decimal32\",\n \"_Decimal64\",\n \"_Decimal96\",\n \"_Decimal128\",\n \"_Decimal64x\",\n \"_Decimal128x\",\n \"_Float16\",\n \"_Float32\",\n \"_Float64\",\n \"_Float128\",\n \"_Float32x\",\n \"_Float64x\",\n \"_Float128x\",\n // modifiers\n \"const\",\n \"static\",\n \"constexpr\",\n // aliases\n \"complex\",\n \"bool\",\n \"imaginary\"\n ];\n\n const KEYWORDS = {\n keyword: C_KEYWORDS,\n type: C_TYPES,\n literal: 'true false NULL',\n // TODO: apply hinting work similar to what was done in cpp.js\n built_in: 'std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream '\n + 'auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set '\n + 'unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos '\n + 'asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp '\n + 'fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper '\n + 'isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow '\n + 'printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp '\n + 'strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan '\n + 'vfprintf vprintf vsprintf endl initializer_list unique_ptr',\n };\n\n const EXPRESSION_CONTAINS = [\n PREPROCESSOR,\n TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n STRINGS\n ];\n\n const EXPRESSION_CONTEXT = {\n // This mode covers expression context where we can't expect a function\n // definition and shouldn't highlight anything that looks like one:\n // `return some()`, `else if()`, `(x*sum(1, 2))`\n variants: [\n {\n begin: /=/,\n end: /;/\n },\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n beginKeywords: 'new throw return else',\n end: /;/\n }\n ],\n keywords: KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([ 'self' ]),\n relevance: 0\n }\n ]),\n relevance: 0\n };\n\n const FUNCTION_DECLARATION = {\n begin: '(' + FUNCTION_TYPE_RE + '[\\\\*&\\\\s]+)+' + FUNCTION_TITLE,\n returnBegin: true,\n end: /[{;=]/,\n excludeEnd: true,\n keywords: KEYWORDS,\n illegal: /[^\\w\\s\\*&:<>.]/,\n contains: [\n { // to prevent it from being confused as the function title\n begin: DECLTYPE_AUTO_RE,\n keywords: KEYWORDS,\n relevance: 0\n },\n {\n begin: FUNCTION_TITLE,\n returnBegin: true,\n contains: [ hljs.inherit(TITLE_MODE, { className: \"title.function\" }) ],\n relevance: 0\n },\n // allow for multiple declarations, e.g.:\n // extern void f(int), g(char);\n {\n relevance: 0,\n match: /,/\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n TYPES,\n // Count matching parentheses.\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n 'self',\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n TYPES\n ]\n }\n ]\n },\n TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n PREPROCESSOR\n ]\n };\n\n return {\n name: \"C\",\n aliases: [ 'h' ],\n keywords: KEYWORDS,\n // Until differentiations are added between `c` and `cpp`, `c` will\n // not be auto-detected to avoid auto-detect conflicts between C and C++\n disableAutodetect: true,\n illegal: '</',\n contains: [].concat(\n EXPRESSION_CONTEXT,\n FUNCTION_DECLARATION,\n EXPRESSION_CONTAINS,\n [\n PREPROCESSOR,\n {\n begin: hljs.IDENT_RE + '::',\n keywords: KEYWORDS\n },\n {\n className: 'class',\n beginKeywords: 'enum class struct union',\n end: /[{;:<>=]/,\n contains: [\n { beginKeywords: \"final class struct\" },\n hljs.TITLE_MODE\n ]\n }\n ]),\n exports: {\n preprocessor: PREPROCESSOR,\n strings: STRINGS,\n keywords: KEYWORDS\n }\n };\n}\n\nexport { c as default };\n"],"x_google_ignoreList":[0],"mappings":";AAOA,SAAS,EAAE,GAAM;CACf,IAAM,IAAQ,EAAK,OAIb,IAAsB,EAAK,QAAQ,MAAM,KAAK,EAAE,UAAU,CAAE,EAAE,OAAO,QAAQ,CAAE,EAAE,CAAC,EAClF,IAAmB,sBACnB,IAAe,mBAEf,IAAmB,MACrB,IAAmB,MACnB,EAAM,SAAS,EAAa,GAC5B,kBAAkB,EAAM,SAJC,WAI6B,GACxD,KAGI,IAAQ;EACZ,WAAW;EACX,UAAU,CACR,EAAE,OAAO,sBAAsB,EAC/B,EAAE,OAAO,yBAAyB,CACnC;EAEF,EAKK,IAAU;EACd,WAAW;EACX,UAAU;GACR;IACE,OAAO;IACP,KAAK;IACL,SAAS;IACT,UAAU,CAAE,EAAK,iBAAkB;IACpC;GACD;IACE,OAAO;IACP,KAAK;IACL,SAAS;IACV;GACD,EAAK,kBAAkB;IACrB,OAAO;IACP,KAAK;IACN,CAAC;GACH;EACF,EAEK,IAAU;EACd,WAAW;EACX,UAAU;GACR,EAAE,OAAO,gBAAgB;GACzB,EAAE,OAAO,mFAAmF;GAC5F,EAAE,OAAO,oHAAoH;GAC7H,EAAE,OAAO,0DAA0D;GACtE;EACC,WAAW;EACZ,EAEK,IAAe;EACnB,WAAW;EACX,OAAO;EACP,KAAK;EACL,UAAU,EAAE,SACR,2GAC0D;EAC9D,UAAU;GACR;IACE,OAAO;IACP,WAAW;IACZ;GACD,EAAK,QAAQ,GAAS,EAAE,WAAW,UAAU,CAAC;GAC9C;IACE,WAAW;IACX,OAAO;IACR;GACD;GACA,EAAK;GACN;EACF,EAEK,IAAa;EACjB,WAAW;EACX,OAAO,EAAM,SAAS,EAAa,GAAG,EAAK;EAC3C,WAAW;EACZ,EAEK,IAAiB,EAAM,SAAS,EAAa,GAAG,EAAK,WAAW,WAoFhE,IAAW;EACf,SAnFiB,sVA2ClB;EAyCC,MAvCc,4SAmCf;EAKC,SAAS;EAET,UAAU;EASX,EAEK,IAAsB;EAC1B;EACA;EACA;EACA,EAAK;EACL;EACA;EACD,EAEK,IAAqB;EAIzB,UAAU;GACR;IACE,OAAO;IACP,KAAK;IACN;GACD;IACE,OAAO;IACP,KAAK;IACN;GACD;IACE,eAAe;IACf,KAAK;IACN;GACF;EACD,UAAU;EACV,UAAU,EAAoB,OAAO,CACnC;GACE,OAAO;GACP,KAAK;GACL,UAAU;GACV,UAAU,EAAoB,OAAO,CAAE,OAAQ,CAAC;GAChD,WAAW;GACZ,CACF,CAAC;EACF,WAAW;EACZ,EAEK,IAAuB;EAC3B,OAAO,MAAM,IAAmB,iBAAiB;EACjD,aAAa;EACb,KAAK;EACL,YAAY;EACZ,UAAU;EACV,SAAS;EACT,UAAU;GACR;IACE,OAAO;IACP,UAAU;IACV,WAAW;IACZ;GACD;IACE,OAAO;IACP,aAAa;IACb,UAAU,CAAE,EAAK,QAAQ,GAAY,EAAE,WAAW,kBAAkB,CAAC,CAAE;IACvE,WAAW;IACZ;GAGD;IACE,WAAW;IACX,OAAO;IACR;GACD;IACE,WAAW;IACX,OAAO;IACP,KAAK;IACL,UAAU;IACV,WAAW;IACX,UAAU;KACR;KACA,EAAK;KACL;KACA;KACA;KAEA;MACE,OAAO;MACP,KAAK;MACL,UAAU;MACV,WAAW;MACX,UAAU;OACR;OACA;OACA,EAAK;OACL;OACA;OACA;OACD;MACF;KACF;IACF;GACD;GACA;GACA,EAAK;GACL;GACD;EACF;AAED,QAAO;EACL,MAAM;EACN,SAAS,CAAE,IAAK;EAChB,UAAU;EAGV,mBAAmB;EACnB,SAAS;EACT,UAAU,EAAE,CAAC,OACX,GACA,GACA,GACA;GACE;GACA;IACE,OAAO,EAAK,WAAW;IACvB,UAAU;IACX;GACD;IACE,WAAW;IACX,eAAe;IACf,KAAK;IACL,UAAU,CACR,EAAE,eAAe,sBAAsB,EACvC,EAAK,WACN;IACF;GACF,CAAC;EACJ,SAAS;GACP,cAAc;GACd,SAAS;GACT,UAAU;GACX;EACF"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require(`./icons-D_NB67he.cjs`),t=require(`./cn-CU5TNITO.cjs`),n=require(`./MButton-sTKnano6.cjs`),r=require(`./locale-DRRl_s5-.cjs`),i=require(`./frameworkTexts-iDXhcW6k.cjs`),a=require(`./calendarDates-AnlGcvZM.cjs`);require(`./core-D66c1_Wo.cjs`);let o=require(`react`),s=require(`react/jsx-runtime`);function c(e,t,n){let[r,i]=(0,o.useState)(t),a=e!==void 0,s=a?e:r,c=(0,o.useRef)(n);c.current=n;let l=(0,o.useRef)(s);return l.current=s,[s,(0,o.useCallback)(e=>{a||i(e),Object.is(e,l.current)||c.current?.(e)},[a])]}var l=new Set([`primary`,`neutral`,`success`,`error`,`warning`,`info`,`light`,`dark`,`news`]);function u(e){return e?l.has(e)?`var(--mineral-${e})`:e:`var(--mineral-primary)`}function d(e){return e?Array.isArray(e)?e:[e]:[]}function f({value:l,defaultValue:f=null,onChange:p,month:m,defaultMonth:h,onMonthChange:g,min:_,max:v,disabledDates:y,weekStartsOn:b=1,locale:x,highlightRange:S,markers:C,showOutsideDays:ee=!0,size:te=`md`,color:w=`primary`,texts:T,autoFocus:E=!1,className:D,style:O,...k}){let A=r.t(x),j=i.i(A,T),[M,N]=c(l,f,e=>{e&&p?.(e)}),P=a.d(new Date),[F,I]=c(m?a.l(m):void 0,()=>a.l(h??l??f??P),g),[L,R]=(0,o.useState)(()=>a.d(l??f??P)),z=(0,o.useRef)(null),B=(0,o.useRef)(E),V=(0,o.useMemo)(()=>a.c(_??null),[_]),H=(0,o.useMemo)(()=>a.c(v??null),[v]),U=e=>V&&e<V||H&&e>H?!0:typeof y==`function`?y(e):!!y?.some(t=>a.o(t,e));(0,o.useEffect)(()=>{a.s(L,F)||R(a.d(M&&a.s(M,F)?M:F))},[F]),(0,o.useEffect)(()=>{B.current&&(B.current=!1,(z.current?.querySelector(`[data-date="${a.r(L)}"]`))?.focus())},[L]);let W=(0,o.useMemo)(()=>a.i(F,b),[F,b]),G=(0,o.useMemo)(()=>Array.from({length:6},(e,t)=>W.slice(t*7,t*7+7)),[W]),K=(0,o.useMemo)(()=>a.a(A,b,`short`),[A,b]),q=(0,o.useMemo)(()=>a.a(A,b,`long`),[A,b]),J=new Intl.DateTimeFormat(A,{month:`long`,year:`numeric`}).format(F),Y=(0,o.useMemo)(()=>new Intl.DateTimeFormat(A,{weekday:`long`,day:`numeric`,month:`long`,year:`numeric`}),[A]),X=S?a.d(S.start):null,Z=S?a.d(S.end):null,ne=e=>{let t=a.d(e);B.current=!0,R(t),a.s(t,F)||I(a.l(t))},Q=e=>{U(e)||(N(e),R(e),a.s(e,F)||I(a.l(e)))},re=e=>{let t=L,n=null;switch(e.key){case`ArrowLeft`:n=a.t(t,-1);break;case`ArrowRight`:n=a.t(t,1);break;case`ArrowUp`:n=a.t(t,-7);break;case`ArrowDown`:n=a.t(t,7);break;case`PageUp`:n=a.n(t,e.shiftKey?-12:-1);break;case`PageDown`:n=a.n(t,e.shiftKey?12:1);break;case`Home`:n=a.u(t,b);break;case`End`:n=a.t(a.u(t,b),6);break;case`Enter`:case` `:e.preventDefault(),Q(t);return;default:return}e.preventDefault(),ne(n)},$=e=>{I(a.l(a.n(F,e)))};return(0,s.jsxs)(`div`,{className:t.t(`mineral-mini-calendar`,`mineral-mini-calendar--${te}`,D),style:{"--mineral-mini-calendar-accent":`var(--mineral-${w})`,"--mineral-mini-calendar-accent-contrast":`var(--mineral-${w}-contrast)`,...O},...k,children:[(0,s.jsxs)(`div`,{className:`mineral-mini-calendar__header`,children:[(0,s.jsx)(n.t,{size:`sm`,variant:`ghost`,color:w,iconOnly:!0,"aria-label":j.previousMonth,startIcon:(0,s.jsx)(e.Ji,{size:16}),onClick:()=>$(-1)}),(0,s.jsx)(`span`,{className:`mineral-mini-calendar__title`,"aria-live":`polite`,children:J}),(0,s.jsx)(n.t,{size:`sm`,variant:`ghost`,color:w,iconOnly:!0,"aria-label":j.nextMonth,startIcon:(0,s.jsx)(e.qi,{size:16}),onClick:()=>$(1)})]}),(0,s.jsxs)(`div`,{ref:z,className:`mineral-mini-calendar__grid`,role:`grid`,"aria-label":J,onKeyDown:re,children:[(0,s.jsx)(`div`,{className:`mineral-mini-calendar__row`,role:`row`,children:K.map((e,t)=>(0,s.jsx)(`span`,{className:`mineral-mini-calendar__weekday`,role:`columnheader`,"aria-label":q[t],children:e},e+t))}),G.map(e=>(0,s.jsx)(`div`,{className:`mineral-mini-calendar__row`,role:`row`,children:e.map(e=>{let n=!a.s(e,F);if(n&&!ee)return(0,s.jsx)(`span`,{className:`mineral-mini-calendar__cell`,role:`gridcell`},a.r(e));let r=U(e),i=!!(M&&a.o(M,e)),o=a.o(P,e),c=!!(X&&Z&&e>=X&&e<=Z),l=C?d(C(e)):[],f=l.map(e=>e.label).filter(Boolean).join(`, `);return(0,s.jsx)(`span`,{className:`mineral-mini-calendar__cell`,role:`gridcell`,"aria-selected":i,children:(0,s.jsxs)(`button`,{type:`button`,"data-date":a.r(e),className:t.t(`mineral-mini-calendar__day`,n&&`mineral-mini-calendar__day--outside`,o&&`mineral-mini-calendar__day--today`,i&&`mineral-mini-calendar__day--selected`,c&&`mineral-mini-calendar__day--in-range`,r&&`mineral-mini-calendar__day--disabled`),tabIndex:a.o(e,L)?0:-1,disabled:r,"aria-current":o?`date`:void 0,"aria-label":f?`${Y.format(e)}, ${f}`:Y.format(e),onClick:()=>Q(e),onFocus:()=>{a.o(e,L)||R(e)},children:[(0,s.jsx)(`span`,{className:`mineral-mini-calendar__number`,children:e.getDate()}),l.length>0?(0,s.jsx)(`span`,{className:`mineral-mini-calendar__markers`,"aria-hidden":`true`,children:l.slice(0,3).map((e,t)=>(0,s.jsx)(`span`,{className:`mineral-mini-calendar__marker`,style:{background:u(e.color)}},t))}):null]})},a.r(e))})},a.r(e[0])))]})]})}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return f}});
|
|
2
|
+
//# sourceMappingURL=calendar-P7MwKfWS.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calendar-P7MwKfWS.cjs","names":[],"sources":["../src/utils/useControllableState.ts","../src/components/calendar/MMiniCalendar/MMiniCalendar.tsx"],"sourcesContent":["import {useCallback, useRef, useState} from 'react'\n\n/**\n * Generic controlled/uncontrolled state. The value is controlled when `value !== undefined`\n * (React convention). `onChange` fires for every requested change, controlled or not.\n */\nexport function useControllableState<T>(\n value: T | undefined,\n defaultValue: T | (() => T),\n onChange?: (next: T) => void\n): [T, (next: T) => void] {\n const [inner, setInner] = useState<T>(defaultValue)\n const controlled = value !== undefined\n const current = controlled ? (value as T) : inner\n const onChangeRef = useRef(onChange)\n onChangeRef.current = onChange\n const currentRef = useRef(current)\n currentRef.current = current\n\n const setValue = useCallback(\n (next: T) => {\n if (!controlled) {\n setInner(next)\n }\n if (!Object.is(next, currentRef.current)) {\n onChangeRef.current?.(next)\n }\n },\n [controlled]\n )\n\n return [current, setValue]\n}\n","import {useEffect, useMemo, useRef, useState} from 'react'\nimport type {CSSProperties, KeyboardEvent} from 'react'\nimport {cn} from '../../../utils/cn'\nimport {useDocumentLocale} from '../../../utils/locale'\nimport {useControllableState} from '../../../utils/useControllableState'\nimport {\n addDays,\n addMonthsClamped,\n getDateKey,\n getMonthMatrix,\n getWeekdayLabels,\n isSameDay,\n isSameMonth,\n normalizeDate,\n startOfMonth,\n startOfWeek,\n stripTime,\n} from '../../../utils/calendarDates'\nimport {useMMiniCalendarTexts} from '../../../i18n/frameworkTexts'\nimport {MButton} from '../../controls'\nimport {MChevronLeftIcon, MChevronRightIcon} from '../../../icons'\nimport type {MMiniCalendarMarker, MMiniCalendarProps} from './MMiniCalendar.types'\nimport './MMiniCalendar.css'\n\nconst COLOR_FAMILIES = new Set(['primary', 'neutral', 'success', 'error', 'warning', 'info', 'light', 'dark', 'news'])\n\nfunction markerColor(color?: string): string {\n if (!color) {\n return 'var(--mineral-primary)'\n }\n return COLOR_FAMILIES.has(color) ? `var(--mineral-${color})` : color\n}\n\nfunction toMarkerList(value: MMiniCalendarMarker | MMiniCalendarMarker[] | null | undefined): MMiniCalendarMarker[] {\n if (!value) {\n return []\n }\n return Array.isArray(value) ? value : [value]\n}\n\n/**\n * Compact month grid with WAI-ARIA date-grid keyboard support: arrows move by day or week,\n * PageUp/PageDown by month (Shift: year), Home/End to the week edges, Enter/Space selects.\n */\nexport function MMiniCalendar({\n value,\n defaultValue = null,\n onChange,\n month,\n defaultMonth,\n onMonthChange,\n min,\n max,\n disabledDates,\n weekStartsOn = 1,\n locale: localeProp,\n highlightRange,\n markers,\n showOutsideDays = true,\n size = 'md',\n color = 'primary',\n texts: textsProp,\n autoFocus = false,\n className,\n style,\n ...rest\n}: MMiniCalendarProps) {\n const locale = useDocumentLocale(localeProp)\n const texts = useMMiniCalendarTexts(locale, textsProp)\n const [selected, setSelected] = useControllableState<Date | null>(value, defaultValue, (next) => {\n if (next) {\n onChange?.(next)\n }\n })\n const today = stripTime(new Date())\n const [visibleMonth, setVisibleMonth] = useControllableState<Date>(\n month ? startOfMonth(month) : undefined,\n () => startOfMonth(defaultMonth ?? value ?? defaultValue ?? today),\n onMonthChange\n )\n const [focusDate, setFocusDate] = useState<Date>(() => stripTime(value ?? defaultValue ?? today))\n const gridRef = useRef<HTMLDivElement>(null)\n const shouldFocusRef = useRef(autoFocus)\n\n const minDate = useMemo(() => normalizeDate(min ?? null), [min])\n const maxDate = useMemo(() => normalizeDate(max ?? null), [max])\n\n const isDisabled = (date: Date) => {\n if (minDate && date < minDate) {\n return true\n }\n if (maxDate && date > maxDate) {\n return true\n }\n if (typeof disabledDates === 'function') {\n return disabledDates(date)\n }\n return Boolean(disabledDates?.some((item) => isSameDay(item, date)))\n }\n\n // Keep the roving focus target inside the displayed month.\n useEffect(() => {\n if (!isSameMonth(focusDate, visibleMonth)) {\n const candidate = selected && isSameMonth(selected, visibleMonth) ? selected : visibleMonth\n setFocusDate(stripTime(candidate))\n }\n }, [visibleMonth])\n\n useEffect(() => {\n if (!shouldFocusRef.current) {\n return\n }\n shouldFocusRef.current = false\n const node = gridRef.current?.querySelector<HTMLButtonElement>(`[data-date=\"${getDateKey(focusDate)}\"]`)\n node?.focus()\n }, [focusDate])\n\n const days = useMemo(() => getMonthMatrix(visibleMonth, weekStartsOn), [visibleMonth, weekStartsOn])\n const weeks = useMemo(() => Array.from({length: 6}, (_, index) => days.slice(index * 7, index * 7 + 7)), [days])\n const weekdayLabels = useMemo(() => getWeekdayLabels(locale, weekStartsOn, 'short'), [locale, weekStartsOn])\n const weekdayLong = useMemo(() => getWeekdayLabels(locale, weekStartsOn, 'long'), [locale, weekStartsOn])\n const monthTitle = new Intl.DateTimeFormat(locale, {month: 'long', year: 'numeric'}).format(visibleMonth)\n const dayLabelFormatter = useMemo(\n () => new Intl.DateTimeFormat(locale, {weekday: 'long', day: 'numeric', month: 'long', year: 'numeric'}),\n [locale]\n )\n\n const rangeStart = highlightRange ? stripTime(highlightRange.start) : null\n const rangeEnd = highlightRange ? stripTime(highlightRange.end) : null\n\n const moveFocus = (next: Date) => {\n const target = stripTime(next)\n shouldFocusRef.current = true\n setFocusDate(target)\n if (!isSameMonth(target, visibleMonth)) {\n setVisibleMonth(startOfMonth(target))\n }\n }\n\n const select = (date: Date) => {\n if (isDisabled(date)) {\n return\n }\n setSelected(date)\n setFocusDate(date)\n if (!isSameMonth(date, visibleMonth)) {\n setVisibleMonth(startOfMonth(date))\n }\n }\n\n const handleKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {\n const current = focusDate\n let next: Date | null = null\n switch (event.key) {\n case 'ArrowLeft':\n next = addDays(current, -1)\n break\n case 'ArrowRight':\n next = addDays(current, 1)\n break\n case 'ArrowUp':\n next = addDays(current, -7)\n break\n case 'ArrowDown':\n next = addDays(current, 7)\n break\n case 'PageUp':\n next = addMonthsClamped(current, event.shiftKey ? -12 : -1)\n break\n case 'PageDown':\n next = addMonthsClamped(current, event.shiftKey ? 12 : 1)\n break\n case 'Home':\n next = startOfWeek(current, weekStartsOn)\n break\n case 'End':\n next = addDays(startOfWeek(current, weekStartsOn), 6)\n break\n case 'Enter':\n case ' ':\n event.preventDefault()\n select(current)\n return\n default:\n return\n }\n event.preventDefault()\n moveFocus(next)\n }\n\n const goMonth = (amount: number) => {\n const nextMonth = startOfMonth(addMonthsClamped(visibleMonth, amount))\n setVisibleMonth(nextMonth)\n }\n\n return (\n <div\n className={cn('mineral-mini-calendar', `mineral-mini-calendar--${size}`, className)}\n style={\n {\n ['--mineral-mini-calendar-accent' as string]: `var(--mineral-${color})`,\n ['--mineral-mini-calendar-accent-contrast' as string]: `var(--mineral-${color}-contrast)`,\n ...style,\n } as CSSProperties\n }\n {...rest}\n >\n <div className={'mineral-mini-calendar__header'}>\n <MButton\n size={'sm'}\n variant={'ghost'}\n color={color}\n iconOnly\n aria-label={texts.previousMonth}\n startIcon={<MChevronLeftIcon size={16} />}\n onClick={() => goMonth(-1)}\n />\n <span className={'mineral-mini-calendar__title'} aria-live={'polite'}>\n {monthTitle}\n </span>\n <MButton\n size={'sm'}\n variant={'ghost'}\n color={color}\n iconOnly\n aria-label={texts.nextMonth}\n startIcon={<MChevronRightIcon size={16} />}\n onClick={() => goMonth(1)}\n />\n </div>\n <div\n ref={gridRef}\n className={'mineral-mini-calendar__grid'}\n role={'grid'}\n aria-label={monthTitle}\n onKeyDown={handleKeyDown}\n >\n <div className={'mineral-mini-calendar__row'} role={'row'}>\n {weekdayLabels.map((label, index) => (\n <span\n key={label + index}\n className={'mineral-mini-calendar__weekday'}\n role={'columnheader'}\n aria-label={weekdayLong[index]}\n >\n {label}\n </span>\n ))}\n </div>\n {weeks.map((week) => (\n <div key={getDateKey(week[0])} className={'mineral-mini-calendar__row'} role={'row'}>\n {week.map((day) => {\n const outside = !isSameMonth(day, visibleMonth)\n if (outside && !showOutsideDays) {\n return (\n <span\n key={getDateKey(day)}\n className={'mineral-mini-calendar__cell'}\n role={'gridcell'}\n />\n )\n }\n const disabled = isDisabled(day)\n const isSelected = Boolean(selected && isSameDay(selected, day))\n const isToday = isSameDay(today, day)\n const inRange = Boolean(rangeStart && rangeEnd && day >= rangeStart && day <= rangeEnd)\n const dayMarkers = markers ? toMarkerList(markers(day)) : []\n const markerText = dayMarkers\n .map((marker) => marker.label)\n .filter(Boolean)\n .join(', ')\n return (\n <span\n key={getDateKey(day)}\n className={'mineral-mini-calendar__cell'}\n role={'gridcell'}\n aria-selected={isSelected}\n >\n <button\n type={'button'}\n data-date={getDateKey(day)}\n className={cn(\n 'mineral-mini-calendar__day',\n outside && 'mineral-mini-calendar__day--outside',\n isToday && 'mineral-mini-calendar__day--today',\n isSelected && 'mineral-mini-calendar__day--selected',\n inRange && 'mineral-mini-calendar__day--in-range',\n disabled && 'mineral-mini-calendar__day--disabled'\n )}\n tabIndex={isSameDay(day, focusDate) ? 0 : -1}\n disabled={disabled}\n aria-current={isToday ? 'date' : undefined}\n aria-label={\n markerText\n ? `${dayLabelFormatter.format(day)}, ${markerText}`\n : dayLabelFormatter.format(day)\n }\n onClick={() => select(day)}\n onFocus={() => {\n if (!isSameDay(day, focusDate)) {\n setFocusDate(day)\n }\n }}\n >\n <span className={'mineral-mini-calendar__number'}>{day.getDate()}</span>\n {dayMarkers.length > 0 ? (\n <span className={'mineral-mini-calendar__markers'} aria-hidden={'true'}>\n {dayMarkers.slice(0, 3).map((marker, index) => (\n <span\n key={index}\n className={'mineral-mini-calendar__marker'}\n style={{background: markerColor(marker.color)}}\n />\n ))}\n </span>\n ) : null}\n </button>\n </span>\n )\n })}\n </div>\n ))}\n </div>\n </div>\n )\n}\n"],"mappings":"wTAMA,SAAgB,EACZ,EACA,EACA,EACsB,CACtB,GAAM,CAAC,EAAO,IAAA,EAAA,EAAA,UAAwB,EAAa,CAC7C,EAAa,IAAU,IAAA,GACvB,EAAU,EAAc,EAAc,EACtC,GAAA,EAAA,EAAA,QAAqB,EAAS,CACpC,EAAY,QAAU,EACtB,IAAM,GAAA,EAAA,EAAA,QAAoB,EAAQ,CAelC,MAdA,GAAW,QAAU,EAcd,CAAC,GAAA,EAAA,EAAA,aAXH,GAAY,CACJ,GACD,EAAS,EAAK,CAEb,OAAO,GAAG,EAAM,EAAW,QAAQ,EACpC,EAAY,UAAU,EAAK,EAGnC,CAAC,EAAW,CACf,CAEyB,CCP9B,IAAM,EAAiB,IAAI,IAAI,CAAC,UAAW,UAAW,UAAW,QAAS,UAAW,OAAQ,QAAS,OAAQ,OAAO,CAAC,CAEtH,SAAS,EAAY,EAAwB,CAIzC,OAHK,EAGE,EAAe,IAAI,EAAM,CAAG,iBAAiB,EAAM,GAAK,EAFpD,yBAKf,SAAS,EAAa,EAA8F,CAIhH,OAHK,EAGE,MAAM,QAAQ,EAAM,CAAG,EAAQ,CAAC,EAAM,CAFlC,EAAE,CASjB,SAAgB,EAAc,CAC1B,QACA,eAAe,KACf,WACA,QACA,eACA,gBACA,MACA,MACA,gBACA,eAAe,EACf,OAAQ,EACR,iBACA,UACA,mBAAkB,GAClB,QAAO,KACP,QAAQ,UACR,MAAO,EACP,YAAY,GACZ,YACA,QACA,GAAG,GACgB,CACnB,IAAM,EAAS,EAAA,EAAkB,EAAW,CACtC,EAAQ,EAAA,EAAsB,EAAQ,EAAU,CAChD,CAAC,EAAU,GAAe,EAAkC,EAAO,EAAe,GAAS,CACzF,GACA,IAAW,EAAK,EAEtB,CACI,EAAQ,EAAA,EAAU,IAAI,KAAO,CAC7B,CAAC,EAAc,GAAmB,EACpC,EAAQ,EAAA,EAAa,EAAM,CAAG,IAAA,OACxB,EAAA,EAAa,GAAgB,GAAS,GAAgB,EAAM,CAClE,EACH,CACK,CAAC,EAAW,IAAA,EAAA,EAAA,cAAqC,EAAA,EAAU,GAAS,GAAgB,EAAM,CAAC,CAC3F,GAAA,EAAA,EAAA,QAAiC,KAAK,CACtC,GAAA,EAAA,EAAA,QAAwB,EAAU,CAElC,GAAA,EAAA,EAAA,aAAwB,EAAA,EAAc,GAAO,KAAK,CAAE,CAAC,EAAI,CAAC,CAC1D,GAAA,EAAA,EAAA,aAAwB,EAAA,EAAc,GAAO,KAAK,CAAE,CAAC,EAAI,CAAC,CAE1D,EAAc,GACZ,GAAW,EAAO,GAGlB,GAAW,EAAO,EACX,GAEP,OAAO,GAAkB,WAClB,EAAc,EAAK,CAEvB,EAAQ,GAAe,KAAM,GAAS,EAAA,EAAU,EAAM,EAAK,CAAC,EAIvE,EAAA,EAAA,eAAgB,CACP,EAAA,EAAY,EAAW,EAAa,EAErC,EAAa,EAAA,EADK,GAAY,EAAA,EAAY,EAAU,EAAa,CAAG,EAAW,EAC9C,CAAC,EAEvC,CAAC,EAAa,CAAC,EAElB,EAAA,EAAA,eAAgB,CACP,EAAe,UAGpB,EAAe,QAAU,IACZ,EAAQ,SAAS,cAAiC,eAAe,EAAA,EAAW,EAAU,CAAC,IAAI,GAClG,OAAO,GACd,CAAC,EAAU,CAAC,CAEf,IAAM,GAAA,EAAA,EAAA,aAAqB,EAAA,EAAe,EAAc,EAAa,CAAE,CAAC,EAAc,EAAa,CAAC,CAC9F,GAAA,EAAA,EAAA,aAAsB,MAAM,KAAK,CAAC,OAAQ,EAAE,EAAG,EAAG,IAAU,EAAK,MAAM,EAAQ,EAAG,EAAQ,EAAI,EAAE,CAAC,CAAE,CAAC,EAAK,CAAC,CAC1G,GAAA,EAAA,EAAA,aAA8B,EAAA,EAAiB,EAAQ,EAAc,QAAQ,CAAE,CAAC,EAAQ,EAAa,CAAC,CACtG,GAAA,EAAA,EAAA,aAA4B,EAAA,EAAiB,EAAQ,EAAc,OAAO,CAAE,CAAC,EAAQ,EAAa,CAAC,CACnG,EAAa,IAAI,KAAK,eAAe,EAAQ,CAAC,MAAO,OAAQ,KAAM,UAAU,CAAC,CAAC,OAAO,EAAa,CACnG,GAAA,EAAA,EAAA,aACI,IAAI,KAAK,eAAe,EAAQ,CAAC,QAAS,OAAQ,IAAK,UAAW,MAAO,OAAQ,KAAM,UAAU,CAAC,CACxG,CAAC,EAAO,CACX,CAEK,EAAa,EAAiB,EAAA,EAAU,EAAe,MAAM,CAAG,KAChE,EAAW,EAAiB,EAAA,EAAU,EAAe,IAAI,CAAG,KAE5D,GAAa,GAAe,CAC9B,IAAM,EAAS,EAAA,EAAU,EAAK,CAC9B,EAAe,QAAU,GACzB,EAAa,EAAO,CACf,EAAA,EAAY,EAAQ,EAAa,EAClC,EAAgB,EAAA,EAAa,EAAO,CAAC,EAIvC,EAAU,GAAe,CACvB,EAAW,EAAK,GAGpB,EAAY,EAAK,CACjB,EAAa,EAAK,CACb,EAAA,EAAY,EAAM,EAAa,EAChC,EAAgB,EAAA,EAAa,EAAK,CAAC,GAIrC,GAAiB,GAAyC,CAC5D,IAAM,EAAU,EACZ,EAAoB,KACxB,OAAQ,EAAM,IAAd,CACI,IAAK,YACD,EAAO,EAAA,EAAQ,EAAS,GAAG,CAC3B,MACJ,IAAK,aACD,EAAO,EAAA,EAAQ,EAAS,EAAE,CAC1B,MACJ,IAAK,UACD,EAAO,EAAA,EAAQ,EAAS,GAAG,CAC3B,MACJ,IAAK,YACD,EAAO,EAAA,EAAQ,EAAS,EAAE,CAC1B,MACJ,IAAK,SACD,EAAO,EAAA,EAAiB,EAAS,EAAM,SAAW,IAAM,GAAG,CAC3D,MACJ,IAAK,WACD,EAAO,EAAA,EAAiB,EAAS,EAAM,SAAW,GAAK,EAAE,CACzD,MACJ,IAAK,OACD,EAAO,EAAA,EAAY,EAAS,EAAa,CACzC,MACJ,IAAK,MACD,EAAO,EAAA,EAAQ,EAAA,EAAY,EAAS,EAAa,CAAE,EAAE,CACrD,MACJ,IAAK,QACL,IAAK,IACD,EAAM,gBAAgB,CACtB,EAAO,EAAQ,CACf,OACJ,QACI,OAER,EAAM,gBAAgB,CACtB,GAAU,EAAK,EAGb,EAAW,GAAmB,CAEhC,EADkB,EAAA,EAAa,EAAA,EAAiB,EAAc,EAAO,CAAC,CAC5C,EAG9B,OACI,EAAA,EAAA,MAAC,MAAD,CACI,UAAW,EAAA,EAAG,wBAAyB,0BAA0B,KAAQ,EAAU,CACnF,MACI,CACK,iCAA6C,iBAAiB,EAAM,GACpE,0CAAsD,iBAAiB,EAAM,YAC9E,GAAG,EACN,CAEL,GAAI,WATR,EAWI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAW,yCAAhB,EACI,EAAA,EAAA,KAAC,EAAA,EAAD,CACI,KAAM,KACN,QAAS,QACF,QACP,SAAA,GACA,aAAY,EAAM,cAClB,WAAW,EAAA,EAAA,KAAC,EAAA,GAAD,CAAkB,KAAM,GAAM,CAAA,CACzC,YAAe,EAAQ,GAAG,CAC5B,CAAA,EACF,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,+BAAgC,YAAW,kBACvD,EACE,CAAA,EACP,EAAA,EAAA,KAAC,EAAA,EAAD,CACI,KAAM,KACN,QAAS,QACF,QACP,SAAA,GACA,aAAY,EAAM,UAClB,WAAW,EAAA,EAAA,KAAC,EAAA,GAAD,CAAmB,KAAM,GAAM,CAAA,CAC1C,YAAe,EAAQ,EAAE,CAC3B,CAAA,CACA,IACN,EAAA,EAAA,MAAC,MAAD,CACI,IAAK,EACL,UAAW,8BACX,KAAM,OACN,aAAY,EACZ,UAAW,YALf,EAOI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,6BAA8B,KAAM,eAC/C,EAAc,KAAK,EAAO,KACvB,EAAA,EAAA,KAAC,OAAD,CAEI,UAAW,iCACX,KAAM,eACN,aAAY,EAAY,YAEvB,EACE,CANE,EAAQ,EAMV,CACT,CACA,CAAA,CACL,EAAM,IAAK,IACR,EAAA,EAAA,KAAC,MAAD,CAA+B,UAAW,6BAA8B,KAAM,eACzE,EAAK,IAAK,GAAQ,CACf,IAAM,EAAU,CAAC,EAAA,EAAY,EAAK,EAAa,CAC/C,GAAI,GAAW,CAAC,GACZ,OACI,EAAA,EAAA,KAAC,OAAD,CAEI,UAAW,8BACX,KAAM,WACR,CAHO,EAAA,EAAW,EAAI,CAGtB,CAGV,IAAM,EAAW,EAAW,EAAI,CAC1B,EAAa,GAAQ,GAAY,EAAA,EAAU,EAAU,EAAI,EACzD,EAAU,EAAA,EAAU,EAAO,EAAI,CAC/B,EAAU,GAAQ,GAAc,GAAY,GAAO,GAAc,GAAO,GACxE,EAAa,EAAU,EAAa,EAAQ,EAAI,CAAC,CAAG,EAAE,CACtD,EAAa,EACd,IAAK,GAAW,EAAO,MAAM,CAC7B,OAAO,QAAQ,CACf,KAAK,KAAK,CACf,OACI,EAAA,EAAA,KAAC,OAAD,CAEI,UAAW,8BACX,KAAM,WACN,gBAAe,YAEf,EAAA,EAAA,MAAC,SAAD,CACI,KAAM,SACN,YAAW,EAAA,EAAW,EAAI,CAC1B,UAAW,EAAA,EACP,6BACA,GAAW,sCACX,GAAW,oCACX,GAAc,uCACd,GAAW,uCACX,GAAY,uCACf,CACD,SAAU,EAAA,EAAU,EAAK,EAAU,CAAG,EAAI,GAChC,WACV,eAAc,EAAU,OAAS,IAAA,GACjC,aACI,EACM,GAAG,EAAkB,OAAO,EAAI,CAAC,IAAI,IACrC,EAAkB,OAAO,EAAI,CAEvC,YAAe,EAAO,EAAI,CAC1B,YAAe,CACN,EAAA,EAAU,EAAK,EAAU,EAC1B,EAAa,EAAI,WAtB7B,EA0BI,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,yCAAkC,EAAI,SAAS,CAAQ,CAAA,CACvE,EAAW,OAAS,GACjB,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,iCAAkC,cAAa,gBAC3D,EAAW,MAAM,EAAG,EAAE,CAAC,KAAK,EAAQ,KACjC,EAAA,EAAA,KAAC,OAAD,CAEI,UAAW,gCACX,MAAO,CAAC,WAAY,EAAY,EAAO,MAAM,CAAC,CAChD,CAHO,EAGP,CACJ,CACC,CAAA,CACP,KACC,GACN,CA5CE,EAAA,EAAW,EAAI,CA4CjB,EAEb,CACA,CAtEI,EAAA,EAAW,EAAK,GAAG,CAsEvB,CACR,CACA,GACJ"}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import { Ji as e, qi as t } from "./icons-CBMl-kOM.js";
|
|
2
|
+
import { t as n } from "./cn-YER3QsV1.js";
|
|
3
|
+
import { t as r } from "./MButton-C1pnL4_j.js";
|
|
4
|
+
import { t as i } from "./locale-CS1-IY_I.js";
|
|
5
|
+
import { i as a } from "./frameworkTexts-DH0Xp-Vx.js";
|
|
6
|
+
import { a as o, c as s, d as c, i as ee, l, n as u, o as d, r as f, s as p, t as m, u as h } from "./calendarDates-CYkJqcnp.js";
|
|
7
|
+
import { useCallback as g, useEffect as _, useMemo as v, useRef as y, useState as b } from "react";
|
|
8
|
+
import { jsx as x, jsxs as S } from "react/jsx-runtime";
|
|
9
|
+
//#region src/utils/useControllableState.ts
|
|
10
|
+
function C(e, t, n) {
|
|
11
|
+
let [r, i] = b(t), a = e !== void 0, o = a ? e : r, s = y(n);
|
|
12
|
+
s.current = n;
|
|
13
|
+
let c = y(o);
|
|
14
|
+
return c.current = o, [o, g((e) => {
|
|
15
|
+
a || i(e), Object.is(e, c.current) || s.current?.(e);
|
|
16
|
+
}, [a])];
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
//#region src/components/calendar/MMiniCalendar/MMiniCalendar.tsx
|
|
20
|
+
var w = new Set([
|
|
21
|
+
"primary",
|
|
22
|
+
"neutral",
|
|
23
|
+
"success",
|
|
24
|
+
"error",
|
|
25
|
+
"warning",
|
|
26
|
+
"info",
|
|
27
|
+
"light",
|
|
28
|
+
"dark",
|
|
29
|
+
"news"
|
|
30
|
+
]);
|
|
31
|
+
function te(e) {
|
|
32
|
+
return e ? w.has(e) ? `var(--mineral-${e})` : e : "var(--mineral-primary)";
|
|
33
|
+
}
|
|
34
|
+
function ne(e) {
|
|
35
|
+
return e ? Array.isArray(e) ? e : [e] : [];
|
|
36
|
+
}
|
|
37
|
+
function T({ value: g, defaultValue: w = null, onChange: T, month: E, defaultMonth: re, onMonthChange: ie, min: D, max: O, disabledDates: k, weekStartsOn: A = 1, locale: ae, highlightRange: j, markers: M, showOutsideDays: oe = !0, size: se = "md", color: N = "primary", texts: ce, autoFocus: le = !1, className: ue, style: de, ...fe }) {
|
|
38
|
+
let P = i(ae), F = a(P, ce), [I, pe] = C(g, w, (e) => {
|
|
39
|
+
e && T?.(e);
|
|
40
|
+
}), L = c(/* @__PURE__ */ new Date()), [R, z] = C(E ? l(E) : void 0, () => l(re ?? g ?? w ?? L), ie), [B, V] = b(() => c(g ?? w ?? L)), H = y(null), U = y(le), W = v(() => s(D ?? null), [D]), G = v(() => s(O ?? null), [O]), K = (e) => W && e < W || G && e > G ? !0 : typeof k == "function" ? k(e) : !!k?.some((t) => d(t, e));
|
|
41
|
+
_(() => {
|
|
42
|
+
p(B, R) || V(c(I && p(I, R) ? I : R));
|
|
43
|
+
}, [R]), _(() => {
|
|
44
|
+
U.current && (U.current = !1, (H.current?.querySelector(`[data-date="${f(B)}"]`))?.focus());
|
|
45
|
+
}, [B]);
|
|
46
|
+
let q = v(() => ee(R, A), [R, A]), me = v(() => Array.from({ length: 6 }, (e, t) => q.slice(t * 7, t * 7 + 7)), [q]), he = v(() => o(P, A, "short"), [P, A]), ge = v(() => o(P, A, "long"), [P, A]), J = new Intl.DateTimeFormat(P, {
|
|
47
|
+
month: "long",
|
|
48
|
+
year: "numeric"
|
|
49
|
+
}).format(R), Y = v(() => new Intl.DateTimeFormat(P, {
|
|
50
|
+
weekday: "long",
|
|
51
|
+
day: "numeric",
|
|
52
|
+
month: "long",
|
|
53
|
+
year: "numeric"
|
|
54
|
+
}), [P]), X = j ? c(j.start) : null, Z = j ? c(j.end) : null, _e = (e) => {
|
|
55
|
+
let t = c(e);
|
|
56
|
+
U.current = !0, V(t), p(t, R) || z(l(t));
|
|
57
|
+
}, Q = (e) => {
|
|
58
|
+
K(e) || (pe(e), V(e), p(e, R) || z(l(e)));
|
|
59
|
+
}, ve = (e) => {
|
|
60
|
+
let t = B, n = null;
|
|
61
|
+
switch (e.key) {
|
|
62
|
+
case "ArrowLeft":
|
|
63
|
+
n = m(t, -1);
|
|
64
|
+
break;
|
|
65
|
+
case "ArrowRight":
|
|
66
|
+
n = m(t, 1);
|
|
67
|
+
break;
|
|
68
|
+
case "ArrowUp":
|
|
69
|
+
n = m(t, -7);
|
|
70
|
+
break;
|
|
71
|
+
case "ArrowDown":
|
|
72
|
+
n = m(t, 7);
|
|
73
|
+
break;
|
|
74
|
+
case "PageUp":
|
|
75
|
+
n = u(t, e.shiftKey ? -12 : -1);
|
|
76
|
+
break;
|
|
77
|
+
case "PageDown":
|
|
78
|
+
n = u(t, e.shiftKey ? 12 : 1);
|
|
79
|
+
break;
|
|
80
|
+
case "Home":
|
|
81
|
+
n = h(t, A);
|
|
82
|
+
break;
|
|
83
|
+
case "End":
|
|
84
|
+
n = m(h(t, A), 6);
|
|
85
|
+
break;
|
|
86
|
+
case "Enter":
|
|
87
|
+
case " ":
|
|
88
|
+
e.preventDefault(), Q(t);
|
|
89
|
+
return;
|
|
90
|
+
default: return;
|
|
91
|
+
}
|
|
92
|
+
e.preventDefault(), _e(n);
|
|
93
|
+
}, $ = (e) => {
|
|
94
|
+
z(l(u(R, e)));
|
|
95
|
+
};
|
|
96
|
+
return /* @__PURE__ */ S("div", {
|
|
97
|
+
className: n("mineral-mini-calendar", `mineral-mini-calendar--${se}`, ue),
|
|
98
|
+
style: {
|
|
99
|
+
"--mineral-mini-calendar-accent": `var(--mineral-${N})`,
|
|
100
|
+
"--mineral-mini-calendar-accent-contrast": `var(--mineral-${N}-contrast)`,
|
|
101
|
+
...de
|
|
102
|
+
},
|
|
103
|
+
...fe,
|
|
104
|
+
children: [/* @__PURE__ */ S("div", {
|
|
105
|
+
className: "mineral-mini-calendar__header",
|
|
106
|
+
children: [
|
|
107
|
+
/* @__PURE__ */ x(r, {
|
|
108
|
+
size: "sm",
|
|
109
|
+
variant: "ghost",
|
|
110
|
+
color: N,
|
|
111
|
+
iconOnly: !0,
|
|
112
|
+
"aria-label": F.previousMonth,
|
|
113
|
+
startIcon: /* @__PURE__ */ x(e, { size: 16 }),
|
|
114
|
+
onClick: () => $(-1)
|
|
115
|
+
}),
|
|
116
|
+
/* @__PURE__ */ x("span", {
|
|
117
|
+
className: "mineral-mini-calendar__title",
|
|
118
|
+
"aria-live": "polite",
|
|
119
|
+
children: J
|
|
120
|
+
}),
|
|
121
|
+
/* @__PURE__ */ x(r, {
|
|
122
|
+
size: "sm",
|
|
123
|
+
variant: "ghost",
|
|
124
|
+
color: N,
|
|
125
|
+
iconOnly: !0,
|
|
126
|
+
"aria-label": F.nextMonth,
|
|
127
|
+
startIcon: /* @__PURE__ */ x(t, { size: 16 }),
|
|
128
|
+
onClick: () => $(1)
|
|
129
|
+
})
|
|
130
|
+
]
|
|
131
|
+
}), /* @__PURE__ */ S("div", {
|
|
132
|
+
ref: H,
|
|
133
|
+
className: "mineral-mini-calendar__grid",
|
|
134
|
+
role: "grid",
|
|
135
|
+
"aria-label": J,
|
|
136
|
+
onKeyDown: ve,
|
|
137
|
+
children: [/* @__PURE__ */ x("div", {
|
|
138
|
+
className: "mineral-mini-calendar__row",
|
|
139
|
+
role: "row",
|
|
140
|
+
children: he.map((e, t) => /* @__PURE__ */ x("span", {
|
|
141
|
+
className: "mineral-mini-calendar__weekday",
|
|
142
|
+
role: "columnheader",
|
|
143
|
+
"aria-label": ge[t],
|
|
144
|
+
children: e
|
|
145
|
+
}, e + t))
|
|
146
|
+
}), me.map((e) => /* @__PURE__ */ x("div", {
|
|
147
|
+
className: "mineral-mini-calendar__row",
|
|
148
|
+
role: "row",
|
|
149
|
+
children: e.map((e) => {
|
|
150
|
+
let t = !p(e, R);
|
|
151
|
+
if (t && !oe) return /* @__PURE__ */ x("span", {
|
|
152
|
+
className: "mineral-mini-calendar__cell",
|
|
153
|
+
role: "gridcell"
|
|
154
|
+
}, f(e));
|
|
155
|
+
let r = K(e), i = !!(I && d(I, e)), a = d(L, e), o = !!(X && Z && e >= X && e <= Z), s = M ? ne(M(e)) : [], c = s.map((e) => e.label).filter(Boolean).join(", ");
|
|
156
|
+
return /* @__PURE__ */ x("span", {
|
|
157
|
+
className: "mineral-mini-calendar__cell",
|
|
158
|
+
role: "gridcell",
|
|
159
|
+
"aria-selected": i,
|
|
160
|
+
children: /* @__PURE__ */ S("button", {
|
|
161
|
+
type: "button",
|
|
162
|
+
"data-date": f(e),
|
|
163
|
+
className: n("mineral-mini-calendar__day", t && "mineral-mini-calendar__day--outside", a && "mineral-mini-calendar__day--today", i && "mineral-mini-calendar__day--selected", o && "mineral-mini-calendar__day--in-range", r && "mineral-mini-calendar__day--disabled"),
|
|
164
|
+
tabIndex: d(e, B) ? 0 : -1,
|
|
165
|
+
disabled: r,
|
|
166
|
+
"aria-current": a ? "date" : void 0,
|
|
167
|
+
"aria-label": c ? `${Y.format(e)}, ${c}` : Y.format(e),
|
|
168
|
+
onClick: () => Q(e),
|
|
169
|
+
onFocus: () => {
|
|
170
|
+
d(e, B) || V(e);
|
|
171
|
+
},
|
|
172
|
+
children: [/* @__PURE__ */ x("span", {
|
|
173
|
+
className: "mineral-mini-calendar__number",
|
|
174
|
+
children: e.getDate()
|
|
175
|
+
}), s.length > 0 ? /* @__PURE__ */ x("span", {
|
|
176
|
+
className: "mineral-mini-calendar__markers",
|
|
177
|
+
"aria-hidden": "true",
|
|
178
|
+
children: s.slice(0, 3).map((e, t) => /* @__PURE__ */ x("span", {
|
|
179
|
+
className: "mineral-mini-calendar__marker",
|
|
180
|
+
style: { background: te(e.color) }
|
|
181
|
+
}, t))
|
|
182
|
+
}) : null]
|
|
183
|
+
})
|
|
184
|
+
}, f(e));
|
|
185
|
+
})
|
|
186
|
+
}, f(e[0])))]
|
|
187
|
+
})]
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
//#endregion
|
|
191
|
+
export { T as t };
|
|
192
|
+
|
|
193
|
+
//# sourceMappingURL=calendar-bzeZRst9.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calendar-bzeZRst9.js","names":[],"sources":["../src/utils/useControllableState.ts","../src/components/calendar/MMiniCalendar/MMiniCalendar.tsx"],"sourcesContent":["import {useCallback, useRef, useState} from 'react'\n\n/**\n * Generic controlled/uncontrolled state. The value is controlled when `value !== undefined`\n * (React convention). `onChange` fires for every requested change, controlled or not.\n */\nexport function useControllableState<T>(\n value: T | undefined,\n defaultValue: T | (() => T),\n onChange?: (next: T) => void\n): [T, (next: T) => void] {\n const [inner, setInner] = useState<T>(defaultValue)\n const controlled = value !== undefined\n const current = controlled ? (value as T) : inner\n const onChangeRef = useRef(onChange)\n onChangeRef.current = onChange\n const currentRef = useRef(current)\n currentRef.current = current\n\n const setValue = useCallback(\n (next: T) => {\n if (!controlled) {\n setInner(next)\n }\n if (!Object.is(next, currentRef.current)) {\n onChangeRef.current?.(next)\n }\n },\n [controlled]\n )\n\n return [current, setValue]\n}\n","import {useEffect, useMemo, useRef, useState} from 'react'\nimport type {CSSProperties, KeyboardEvent} from 'react'\nimport {cn} from '../../../utils/cn'\nimport {useDocumentLocale} from '../../../utils/locale'\nimport {useControllableState} from '../../../utils/useControllableState'\nimport {\n addDays,\n addMonthsClamped,\n getDateKey,\n getMonthMatrix,\n getWeekdayLabels,\n isSameDay,\n isSameMonth,\n normalizeDate,\n startOfMonth,\n startOfWeek,\n stripTime,\n} from '../../../utils/calendarDates'\nimport {useMMiniCalendarTexts} from '../../../i18n/frameworkTexts'\nimport {MButton} from '../../controls'\nimport {MChevronLeftIcon, MChevronRightIcon} from '../../../icons'\nimport type {MMiniCalendarMarker, MMiniCalendarProps} from './MMiniCalendar.types'\nimport './MMiniCalendar.css'\n\nconst COLOR_FAMILIES = new Set(['primary', 'neutral', 'success', 'error', 'warning', 'info', 'light', 'dark', 'news'])\n\nfunction markerColor(color?: string): string {\n if (!color) {\n return 'var(--mineral-primary)'\n }\n return COLOR_FAMILIES.has(color) ? `var(--mineral-${color})` : color\n}\n\nfunction toMarkerList(value: MMiniCalendarMarker | MMiniCalendarMarker[] | null | undefined): MMiniCalendarMarker[] {\n if (!value) {\n return []\n }\n return Array.isArray(value) ? value : [value]\n}\n\n/**\n * Compact month grid with WAI-ARIA date-grid keyboard support: arrows move by day or week,\n * PageUp/PageDown by month (Shift: year), Home/End to the week edges, Enter/Space selects.\n */\nexport function MMiniCalendar({\n value,\n defaultValue = null,\n onChange,\n month,\n defaultMonth,\n onMonthChange,\n min,\n max,\n disabledDates,\n weekStartsOn = 1,\n locale: localeProp,\n highlightRange,\n markers,\n showOutsideDays = true,\n size = 'md',\n color = 'primary',\n texts: textsProp,\n autoFocus = false,\n className,\n style,\n ...rest\n}: MMiniCalendarProps) {\n const locale = useDocumentLocale(localeProp)\n const texts = useMMiniCalendarTexts(locale, textsProp)\n const [selected, setSelected] = useControllableState<Date | null>(value, defaultValue, (next) => {\n if (next) {\n onChange?.(next)\n }\n })\n const today = stripTime(new Date())\n const [visibleMonth, setVisibleMonth] = useControllableState<Date>(\n month ? startOfMonth(month) : undefined,\n () => startOfMonth(defaultMonth ?? value ?? defaultValue ?? today),\n onMonthChange\n )\n const [focusDate, setFocusDate] = useState<Date>(() => stripTime(value ?? defaultValue ?? today))\n const gridRef = useRef<HTMLDivElement>(null)\n const shouldFocusRef = useRef(autoFocus)\n\n const minDate = useMemo(() => normalizeDate(min ?? null), [min])\n const maxDate = useMemo(() => normalizeDate(max ?? null), [max])\n\n const isDisabled = (date: Date) => {\n if (minDate && date < minDate) {\n return true\n }\n if (maxDate && date > maxDate) {\n return true\n }\n if (typeof disabledDates === 'function') {\n return disabledDates(date)\n }\n return Boolean(disabledDates?.some((item) => isSameDay(item, date)))\n }\n\n // Keep the roving focus target inside the displayed month.\n useEffect(() => {\n if (!isSameMonth(focusDate, visibleMonth)) {\n const candidate = selected && isSameMonth(selected, visibleMonth) ? selected : visibleMonth\n setFocusDate(stripTime(candidate))\n }\n }, [visibleMonth])\n\n useEffect(() => {\n if (!shouldFocusRef.current) {\n return\n }\n shouldFocusRef.current = false\n const node = gridRef.current?.querySelector<HTMLButtonElement>(`[data-date=\"${getDateKey(focusDate)}\"]`)\n node?.focus()\n }, [focusDate])\n\n const days = useMemo(() => getMonthMatrix(visibleMonth, weekStartsOn), [visibleMonth, weekStartsOn])\n const weeks = useMemo(() => Array.from({length: 6}, (_, index) => days.slice(index * 7, index * 7 + 7)), [days])\n const weekdayLabels = useMemo(() => getWeekdayLabels(locale, weekStartsOn, 'short'), [locale, weekStartsOn])\n const weekdayLong = useMemo(() => getWeekdayLabels(locale, weekStartsOn, 'long'), [locale, weekStartsOn])\n const monthTitle = new Intl.DateTimeFormat(locale, {month: 'long', year: 'numeric'}).format(visibleMonth)\n const dayLabelFormatter = useMemo(\n () => new Intl.DateTimeFormat(locale, {weekday: 'long', day: 'numeric', month: 'long', year: 'numeric'}),\n [locale]\n )\n\n const rangeStart = highlightRange ? stripTime(highlightRange.start) : null\n const rangeEnd = highlightRange ? stripTime(highlightRange.end) : null\n\n const moveFocus = (next: Date) => {\n const target = stripTime(next)\n shouldFocusRef.current = true\n setFocusDate(target)\n if (!isSameMonth(target, visibleMonth)) {\n setVisibleMonth(startOfMonth(target))\n }\n }\n\n const select = (date: Date) => {\n if (isDisabled(date)) {\n return\n }\n setSelected(date)\n setFocusDate(date)\n if (!isSameMonth(date, visibleMonth)) {\n setVisibleMonth(startOfMonth(date))\n }\n }\n\n const handleKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {\n const current = focusDate\n let next: Date | null = null\n switch (event.key) {\n case 'ArrowLeft':\n next = addDays(current, -1)\n break\n case 'ArrowRight':\n next = addDays(current, 1)\n break\n case 'ArrowUp':\n next = addDays(current, -7)\n break\n case 'ArrowDown':\n next = addDays(current, 7)\n break\n case 'PageUp':\n next = addMonthsClamped(current, event.shiftKey ? -12 : -1)\n break\n case 'PageDown':\n next = addMonthsClamped(current, event.shiftKey ? 12 : 1)\n break\n case 'Home':\n next = startOfWeek(current, weekStartsOn)\n break\n case 'End':\n next = addDays(startOfWeek(current, weekStartsOn), 6)\n break\n case 'Enter':\n case ' ':\n event.preventDefault()\n select(current)\n return\n default:\n return\n }\n event.preventDefault()\n moveFocus(next)\n }\n\n const goMonth = (amount: number) => {\n const nextMonth = startOfMonth(addMonthsClamped(visibleMonth, amount))\n setVisibleMonth(nextMonth)\n }\n\n return (\n <div\n className={cn('mineral-mini-calendar', `mineral-mini-calendar--${size}`, className)}\n style={\n {\n ['--mineral-mini-calendar-accent' as string]: `var(--mineral-${color})`,\n ['--mineral-mini-calendar-accent-contrast' as string]: `var(--mineral-${color}-contrast)`,\n ...style,\n } as CSSProperties\n }\n {...rest}\n >\n <div className={'mineral-mini-calendar__header'}>\n <MButton\n size={'sm'}\n variant={'ghost'}\n color={color}\n iconOnly\n aria-label={texts.previousMonth}\n startIcon={<MChevronLeftIcon size={16} />}\n onClick={() => goMonth(-1)}\n />\n <span className={'mineral-mini-calendar__title'} aria-live={'polite'}>\n {monthTitle}\n </span>\n <MButton\n size={'sm'}\n variant={'ghost'}\n color={color}\n iconOnly\n aria-label={texts.nextMonth}\n startIcon={<MChevronRightIcon size={16} />}\n onClick={() => goMonth(1)}\n />\n </div>\n <div\n ref={gridRef}\n className={'mineral-mini-calendar__grid'}\n role={'grid'}\n aria-label={monthTitle}\n onKeyDown={handleKeyDown}\n >\n <div className={'mineral-mini-calendar__row'} role={'row'}>\n {weekdayLabels.map((label, index) => (\n <span\n key={label + index}\n className={'mineral-mini-calendar__weekday'}\n role={'columnheader'}\n aria-label={weekdayLong[index]}\n >\n {label}\n </span>\n ))}\n </div>\n {weeks.map((week) => (\n <div key={getDateKey(week[0])} className={'mineral-mini-calendar__row'} role={'row'}>\n {week.map((day) => {\n const outside = !isSameMonth(day, visibleMonth)\n if (outside && !showOutsideDays) {\n return (\n <span\n key={getDateKey(day)}\n className={'mineral-mini-calendar__cell'}\n role={'gridcell'}\n />\n )\n }\n const disabled = isDisabled(day)\n const isSelected = Boolean(selected && isSameDay(selected, day))\n const isToday = isSameDay(today, day)\n const inRange = Boolean(rangeStart && rangeEnd && day >= rangeStart && day <= rangeEnd)\n const dayMarkers = markers ? toMarkerList(markers(day)) : []\n const markerText = dayMarkers\n .map((marker) => marker.label)\n .filter(Boolean)\n .join(', ')\n return (\n <span\n key={getDateKey(day)}\n className={'mineral-mini-calendar__cell'}\n role={'gridcell'}\n aria-selected={isSelected}\n >\n <button\n type={'button'}\n data-date={getDateKey(day)}\n className={cn(\n 'mineral-mini-calendar__day',\n outside && 'mineral-mini-calendar__day--outside',\n isToday && 'mineral-mini-calendar__day--today',\n isSelected && 'mineral-mini-calendar__day--selected',\n inRange && 'mineral-mini-calendar__day--in-range',\n disabled && 'mineral-mini-calendar__day--disabled'\n )}\n tabIndex={isSameDay(day, focusDate) ? 0 : -1}\n disabled={disabled}\n aria-current={isToday ? 'date' : undefined}\n aria-label={\n markerText\n ? `${dayLabelFormatter.format(day)}, ${markerText}`\n : dayLabelFormatter.format(day)\n }\n onClick={() => select(day)}\n onFocus={() => {\n if (!isSameDay(day, focusDate)) {\n setFocusDate(day)\n }\n }}\n >\n <span className={'mineral-mini-calendar__number'}>{day.getDate()}</span>\n {dayMarkers.length > 0 ? (\n <span className={'mineral-mini-calendar__markers'} aria-hidden={'true'}>\n {dayMarkers.slice(0, 3).map((marker, index) => (\n <span\n key={index}\n className={'mineral-mini-calendar__marker'}\n style={{background: markerColor(marker.color)}}\n />\n ))}\n </span>\n ) : null}\n </button>\n </span>\n )\n })}\n </div>\n ))}\n </div>\n </div>\n )\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './components/calendar';
|
package/dist/calendar.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function e(e){return e instanceof Date?e:new Date(e)}function t(e){return!Number.isNaN(e.getTime())}function n(e){return new Date(e.getFullYear(),e.getMonth(),e.getDate())}function r(r){if(!r)return null;let i=e(r);return t(i)?n(i):null}function i(e,t){let n=new Date(e);return n.setDate(n.getDate()+t),n}function a(e){return new Date(e.getFullYear(),e.getMonth(),1)}function o(e,t){let n=new Date(e.getFullYear(),e.getMonth()+t,1),r=new Date(n.getFullYear(),n.getMonth()+1,0).getDate();return n.setDate(Math.min(e.getDate(),r)),n}function s(e,t){return e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()}function c(e,t){return e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()}function l(e,t=1){let r=n(e);return n(i(r,-((r.getDay()-t+7)%7)))}function u(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`}function d(e,t=1){let r=l(a(e),t);return Array.from({length:42},(e,t)=>n(i(r,t)))}function f(e,t=1,n=`short`){let r=new Intl.DateTimeFormat(e,{weekday:n});return Array.from({length:7},(e,n)=>r.format(new Date(2023,0,1+(n+t)%7)))}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return l}});
|
|
2
|
+
//# sourceMappingURL=calendarDates-AnlGcvZM.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calendarDates-AnlGcvZM.cjs","names":[],"sources":["../src/utils/calendarDates.ts"],"sourcesContent":["/**\n * Internal date helpers shared by the calendar family (MCalendarBoard, MTimelineBoard,\n * MMiniCalendar, MScheduler) and MDatePicker. Basic-safe: no Pro imports, not re-exported\n * from the package root. Every helper works in the browser's local time zone.\n */\n\nexport const MS_PER_MINUTE = 60_000\nexport const MS_PER_HOUR = 3_600_000\nexport const MS_PER_DAY = 24 * MS_PER_HOUR\n\nexport type CalendarWeekStart = 0 | 1\n\nexport function toDate(value: Date | string): Date {\n return value instanceof Date ? value : new Date(value)\n}\n\nexport function isValidDate(value: Date): boolean {\n return !Number.isNaN(value.getTime())\n}\n\nexport function parseHmToMinutes(value?: string): number | null {\n if (!value) {\n return null\n }\n const match = /^(\\d{1,2}):(\\d{2})$/.exec(value)\n if (!match) {\n return null\n }\n return Number(match[1]) * 60 + Number(match[2])\n}\n\nexport function startOfDay(date: Date): Date {\n const next = new Date(date)\n next.setHours(0, 0, 0, 0)\n return next\n}\n\nexport function stripTime(date: Date): Date {\n return new Date(date.getFullYear(), date.getMonth(), date.getDate())\n}\n\nexport function normalizeDate(value?: Date | string | null): Date | null {\n if (!value) {\n return null\n }\n const parsed = toDate(value)\n if (!isValidDate(parsed)) {\n return null\n }\n return stripTime(parsed)\n}\n\n/** Adds calendar days (DST-safe, keeps the wall-clock time). */\nexport function addDays(date: Date, amount: number): Date {\n const next = new Date(date)\n next.setDate(next.getDate() + amount)\n return next\n}\n\nexport function addMinutes(date: Date, amount: number): Date {\n return new Date(date.getTime() + amount * MS_PER_MINUTE)\n}\n\nexport function startOfMonth(date: Date): Date {\n return new Date(date.getFullYear(), date.getMonth(), 1)\n}\n\n/** First day of the month `amount` months away from `date`. */\nexport function addMonthsToMonth(date: Date, amount: number): Date {\n return new Date(date.getFullYear(), date.getMonth() + amount, 1)\n}\n\n/** Same day of month `amount` months away, clamped to the target month length. */\nexport function addMonthsClamped(date: Date, amount: number): Date {\n const target = new Date(date.getFullYear(), date.getMonth() + amount, 1)\n const lastDay = new Date(target.getFullYear(), target.getMonth() + 1, 0).getDate()\n target.setDate(Math.min(date.getDate(), lastDay))\n return target\n}\n\nexport function isSameDay(a: Date, b: Date): boolean {\n return a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate()\n}\n\nexport function isSameMonth(a: Date, b: Date): boolean {\n return a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth()\n}\n\nexport function clamp(value: number, min: number, max: number): number {\n return Math.max(min, Math.min(max, value))\n}\n\nexport function startOfWeek(date: Date, weekStartsOn: CalendarWeekStart = 1): Date {\n const safeDate = stripTime(date)\n const delta = (safeDate.getDay() - weekStartsOn + 7) % 7\n return stripTime(addDays(safeDate, -delta))\n}\n\nexport function getDateKey(date: Date): string {\n const year = date.getFullYear()\n const month = String(date.getMonth() + 1).padStart(2, '0')\n const day = String(date.getDate()).padStart(2, '0')\n return `${year}-${month}-${day}`\n}\n\nexport function isWeekend(date: Date): boolean {\n const day = date.getDay()\n return day === 0 || day === 6\n}\n\n/** Minutes elapsed since local midnight. */\nexport function minutesOfDay(date: Date): number {\n return date.getHours() * 60 + date.getMinutes() + date.getSeconds() / 60\n}\n\n/** Whole calendar days between two dates (b - a), ignoring the time of day. */\nexport function diffCalendarDays(a: Date, b: Date): number {\n return Math.round((stripTime(b).getTime() - stripTime(a).getTime()) / MS_PER_DAY)\n}\n\n/** The 6 x 7 month grid starting on `weekStartsOn`, outside days included. */\nexport function getMonthMatrix(month: Date, weekStartsOn: CalendarWeekStart = 1): Date[] {\n const gridStart = startOfWeek(startOfMonth(month), weekStartsOn)\n return Array.from({length: 42}, (_, index) => stripTime(addDays(gridStart, index)))\n}\n\n/** Localised short weekday names, ordered from `weekStartsOn`. */\nexport function getWeekdayLabels(\n locale: string,\n weekStartsOn: CalendarWeekStart = 1,\n format: 'narrow' | 'short' | 'long' = 'short'\n): string[] {\n const formatter = new Intl.DateTimeFormat(locale, {weekday: format})\n // 2023-01-01 was a Sunday.\n return Array.from({length: 7}, (_, index) => formatter.format(new Date(2023, 0, 1 + ((index + weekStartsOn) % 7))))\n}\n\nexport function formatHourLabel(date: Date, locale: string): string {\n return new Intl.DateTimeFormat(locale, {hour: '2-digit', minute: '2-digit', hour12: false}).format(date)\n}\n\nexport function formatDayLabel(date: Date, locale: string): string {\n return new Intl.DateTimeFormat(locale, {weekday: 'short', day: '2-digit', month: 'short'}).format(date)\n}\n\nexport function formatShortWeekday(date: Date, locale: string): string {\n return new Intl.DateTimeFormat(locale, {weekday: 'short'}).format(date)\n}\n\nexport function formatRangeLabel(start: Date, end: Date, locale: string): string {\n return `${formatHourLabel(start, locale)} – ${formatHourLabel(end, locale)}`\n}\n\nexport function formatFullDate(date: Date, locale: string): string {\n return new Intl.DateTimeFormat(locale, {weekday: 'long', day: 'numeric', month: 'long', year: 'numeric'}).format(\n date\n )\n}\n\nexport function formatMonthTitle(date: Date, locale: string, withYear = true): string {\n return new Intl.DateTimeFormat(locale, withYear ? {month: 'long', year: 'numeric'} : {month: 'long'}).format(date)\n}\n\ntype RangeFormatter = Intl.DateTimeFormat & {formatRange?: (start: Date, end: Date) => string}\n\n/** \"21 – 27 September 2026\", \"28 September – 4 October 2026\", with a plain fallback. */\nexport function formatDateRange(start: Date, endInclusive: Date, locale: string): string {\n const formatter = new Intl.DateTimeFormat(locale, {\n day: 'numeric',\n month: 'long',\n year: 'numeric',\n }) as RangeFormatter\n if (isSameDay(start, endInclusive)) {\n return formatter.format(start)\n }\n if (typeof formatter.formatRange === 'function') {\n return formatter.formatRange(start, endInclusive)\n }\n return `${formatter.format(start)} – ${formatter.format(endInclusive)}`\n}\n\nexport type CalendarPeriodView = 'week' | 'day' | 'timeline' | 'month' | 'agenda'\n\n/**\n * Toolbar title for a period. `end` is exclusive. Month uses the month that holds the\n * middle of the range, so a 6-week grid still reads \"September 2026\".\n */\nexport function formatPeriodTitle(view: CalendarPeriodView, start: Date, end: Date, locale: string): string {\n if (view === 'month') {\n const middle = new Date((start.getTime() + end.getTime()) / 2)\n return formatMonthTitle(middle, locale)\n }\n if (view === 'day' || view === 'timeline') {\n return formatFullDate(start, locale)\n }\n const lastDay = addDays(end, -1)\n return formatDateRange(start, lastDay, locale)\n}\n"],"mappings":"AAYA,SAAgB,EAAO,EAA4B,CAC/C,OAAO,aAAiB,KAAO,EAAQ,IAAI,KAAK,EAAM,CAG1D,SAAgB,EAAY,EAAsB,CAC9C,MAAO,CAAC,OAAO,MAAM,EAAM,SAAS,CAAC,CAoBzC,SAAgB,EAAU,EAAkB,CACxC,OAAO,IAAI,KAAK,EAAK,aAAa,CAAE,EAAK,UAAU,CAAE,EAAK,SAAS,CAAC,CAGxE,SAAgB,EAAc,EAA2C,CACrE,GAAI,CAAC,EACD,OAAO,KAEX,IAAM,EAAS,EAAO,EAAM,CAI5B,OAHK,EAAY,EAAO,CAGjB,EAAU,EAAO,CAFb,KAMf,SAAgB,EAAQ,EAAY,EAAsB,CACtD,IAAM,EAAO,IAAI,KAAK,EAAK,CAE3B,OADA,EAAK,QAAQ,EAAK,SAAS,CAAG,EAAO,CAC9B,EAOX,SAAgB,EAAa,EAAkB,CAC3C,OAAO,IAAI,KAAK,EAAK,aAAa,CAAE,EAAK,UAAU,CAAE,EAAE,CAS3D,SAAgB,EAAiB,EAAY,EAAsB,CAC/D,IAAM,EAAS,IAAI,KAAK,EAAK,aAAa,CAAE,EAAK,UAAU,CAAG,EAAQ,EAAE,CAClE,EAAU,IAAI,KAAK,EAAO,aAAa,CAAE,EAAO,UAAU,CAAG,EAAG,EAAE,CAAC,SAAS,CAElF,OADA,EAAO,QAAQ,KAAK,IAAI,EAAK,SAAS,CAAE,EAAQ,CAAC,CAC1C,EAGX,SAAgB,EAAU,EAAS,EAAkB,CACjD,OAAO,EAAE,aAAa,GAAK,EAAE,aAAa,EAAI,EAAE,UAAU,GAAK,EAAE,UAAU,EAAI,EAAE,SAAS,GAAK,EAAE,SAAS,CAG9G,SAAgB,EAAY,EAAS,EAAkB,CACnD,OAAO,EAAE,aAAa,GAAK,EAAE,aAAa,EAAI,EAAE,UAAU,GAAK,EAAE,UAAU,CAO/E,SAAgB,EAAY,EAAY,EAAkC,EAAS,CAC/E,IAAM,EAAW,EAAU,EAAK,CAEhC,OAAO,EAAU,EAAQ,EAAU,GADpB,EAAS,QAAQ,CAAG,EAAe,GAAK,GACb,CAAC,CAG/C,SAAgB,EAAW,EAAoB,CAI3C,MAAO,GAHM,EAAK,aAAa,CAGhB,GAFD,OAAO,EAAK,UAAU,CAAG,EAAE,CAAC,SAAS,EAAG,IAAI,CAElC,GADZ,OAAO,EAAK,SAAS,CAAC,CAAC,SAAS,EAAG,IAAI,GAoBvD,SAAgB,EAAe,EAAa,EAAkC,EAAW,CACrF,IAAM,EAAY,EAAY,EAAa,EAAM,CAAE,EAAa,CAChE,OAAO,MAAM,KAAK,CAAC,OAAQ,GAAG,EAAG,EAAG,IAAU,EAAU,EAAQ,EAAW,EAAM,CAAC,CAAC,CAIvF,SAAgB,EACZ,EACA,EAAkC,EAClC,EAAsC,QAC9B,CACR,IAAM,EAAY,IAAI,KAAK,eAAe,EAAQ,CAAC,QAAS,EAAO,CAAC,CAEpE,OAAO,MAAM,KAAK,CAAC,OAAQ,EAAE,EAAG,EAAG,IAAU,EAAU,OAAO,IAAI,KAAK,KAAM,EAAG,GAAM,EAAQ,GAAgB,EAAG,CAAC,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
function e(e) {
|
|
2
|
+
return e instanceof Date ? e : new Date(e);
|
|
3
|
+
}
|
|
4
|
+
function t(e) {
|
|
5
|
+
return !Number.isNaN(e.getTime());
|
|
6
|
+
}
|
|
7
|
+
function n(e) {
|
|
8
|
+
return new Date(e.getFullYear(), e.getMonth(), e.getDate());
|
|
9
|
+
}
|
|
10
|
+
function r(r) {
|
|
11
|
+
if (!r) return null;
|
|
12
|
+
let i = e(r);
|
|
13
|
+
return t(i) ? n(i) : null;
|
|
14
|
+
}
|
|
15
|
+
function i(e, t) {
|
|
16
|
+
let n = new Date(e);
|
|
17
|
+
return n.setDate(n.getDate() + t), n;
|
|
18
|
+
}
|
|
19
|
+
function a(e) {
|
|
20
|
+
return new Date(e.getFullYear(), e.getMonth(), 1);
|
|
21
|
+
}
|
|
22
|
+
function o(e, t) {
|
|
23
|
+
let n = new Date(e.getFullYear(), e.getMonth() + t, 1), r = new Date(n.getFullYear(), n.getMonth() + 1, 0).getDate();
|
|
24
|
+
return n.setDate(Math.min(e.getDate(), r)), n;
|
|
25
|
+
}
|
|
26
|
+
function s(e, t) {
|
|
27
|
+
return e.getFullYear() === t.getFullYear() && e.getMonth() === t.getMonth() && e.getDate() === t.getDate();
|
|
28
|
+
}
|
|
29
|
+
function c(e, t) {
|
|
30
|
+
return e.getFullYear() === t.getFullYear() && e.getMonth() === t.getMonth();
|
|
31
|
+
}
|
|
32
|
+
function l(e, t = 1) {
|
|
33
|
+
let r = n(e);
|
|
34
|
+
return n(i(r, -((r.getDay() - t + 7) % 7)));
|
|
35
|
+
}
|
|
36
|
+
function u(e) {
|
|
37
|
+
return `${e.getFullYear()}-${String(e.getMonth() + 1).padStart(2, "0")}-${String(e.getDate()).padStart(2, "0")}`;
|
|
38
|
+
}
|
|
39
|
+
function d(e, t = 1) {
|
|
40
|
+
let r = l(a(e), t);
|
|
41
|
+
return Array.from({ length: 42 }, (e, t) => n(i(r, t)));
|
|
42
|
+
}
|
|
43
|
+
function f(e, t = 1, n = "short") {
|
|
44
|
+
let r = new Intl.DateTimeFormat(e, { weekday: n });
|
|
45
|
+
return Array.from({ length: 7 }, (e, n) => r.format(new Date(2023, 0, 1 + (n + t) % 7)));
|
|
46
|
+
}
|
|
47
|
+
//#endregion
|
|
48
|
+
export { f as a, r as c, n as d, d as i, a as l, o as n, s as o, u as r, c as s, i as t, l as u };
|
|
49
|
+
|
|
50
|
+
//# sourceMappingURL=calendarDates-CYkJqcnp.js.map
|