@banzamel/mineralui 1.6.3 → 1.7.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 +1 -1
- package/dist/{MAvatar-BVJh6kgW.cjs → MAvatar-CV3xJOmx.cjs} +2 -2
- package/dist/{MAvatar-BVJh6kgW.cjs.map → MAvatar-CV3xJOmx.cjs.map} +1 -1
- package/dist/{MBadge-B4x-Lx7e.cjs → MBadge-BoxsfX_h.cjs} +2 -2
- package/dist/{MBadge-B4x-Lx7e.cjs.map → MBadge-BoxsfX_h.cjs.map} +1 -1
- package/dist/{MButton-DrkVdRDy.cjs → MButton-B9k45kH-.cjs} +2 -2
- package/dist/{MButton-DrkVdRDy.cjs.map → MButton-B9k45kH-.cjs.map} +1 -1
- package/dist/{MCheckbox-C40ESQRe.cjs → MCheckbox-CdDWGVp3.cjs} +2 -2
- package/dist/{MCheckbox-C40ESQRe.cjs.map → MCheckbox-CdDWGVp3.cjs.map} +1 -1
- package/dist/MDataTable-C3v15no3.cjs +2 -0
- package/dist/MDataTable-C3v15no3.cjs.map +1 -0
- package/dist/MDataTable-C_XiTGTF.js +297 -0
- package/dist/MDataTable-C_XiTGTF.js.map +1 -0
- package/dist/{MDrawer-DFkrFrnD.cjs → MDrawer-BtA_Xgj0.cjs} +2 -2
- package/dist/{MDrawer-DFkrFrnD.cjs.map → MDrawer-BtA_Xgj0.cjs.map} +1 -1
- package/dist/{MDropdownMenu-D79Cm5aS.js → MDropdownMenu-BWgf92rJ.js} +5 -5
- package/dist/MDropdownMenu-BWgf92rJ.js.map +1 -0
- package/dist/MDropdownMenu-mGE19gCi.cjs +2 -0
- package/dist/MDropdownMenu-mGE19gCi.cjs.map +1 -0
- package/dist/{MGalleryIllustration-BB3DoCl_.cjs → MGalleryIllustration-D2agVuZM.cjs} +2 -2
- package/dist/{MGalleryIllustration-BB3DoCl_.cjs.map → MGalleryIllustration-D2agVuZM.cjs.map} +1 -1
- package/dist/{MHeading-BhCNoJeW.cjs → MHeading-BQCe_JhE.cjs} +2 -2
- package/dist/{MHeading-BhCNoJeW.cjs.map → MHeading-BQCe_JhE.cjs.map} +1 -1
- package/dist/{MI18nProvider-B2sE0x5D.cjs → MI18nProvider-CqAwaswx.cjs} +2 -2
- package/dist/{MI18nProvider-B2sE0x5D.cjs.map → MI18nProvider-CqAwaswx.cjs.map} +1 -1
- package/dist/{MImage-gwFphZk2.js → MImage-I0LPhcqF.js} +75 -69
- package/dist/MImage-I0LPhcqF.js.map +1 -0
- package/dist/MImage-hnSqIPaC.cjs +2 -0
- package/dist/MImage-hnSqIPaC.cjs.map +1 -0
- package/dist/{MInline-CHrh3PHH.cjs → MInline-FEXWkr71.cjs} +2 -2
- package/dist/{MInline-CHrh3PHH.cjs.map → MInline-FEXWkr71.cjs.map} +1 -1
- package/dist/{MInput-DYqV3-rQ.cjs → MInput-5-alcVsu.cjs} +2 -2
- package/dist/{MInput-DYqV3-rQ.cjs.map → MInput-5-alcVsu.cjs.map} +1 -1
- package/dist/{MInput-bzSwK880.js → MInput-CNSvoRiu.js} +2 -1
- package/dist/{MInput-bzSwK880.js.map → MInput-CNSvoRiu.js.map} +1 -1
- package/dist/{MInputCVC-BHpMHTO5.js → MInputCVC-BgougfgN.js} +3 -3
- package/dist/{MInputCVC-BHpMHTO5.js.map → MInputCVC-BgougfgN.js.map} +1 -1
- package/dist/{MInputCVC-5NkYSxV8.cjs → MInputCVC-CRWp1fYi.cjs} +2 -2
- package/dist/{MInputCVC-5NkYSxV8.cjs.map → MInputCVC-CRWp1fYi.cjs.map} +1 -1
- package/dist/{MInputSearch-Dh4C3Tz5.js → MInputSearch-BwR-BPh2.js} +2 -2
- package/dist/{MInputSearch-Dh4C3Tz5.js.map → MInputSearch-BwR-BPh2.js.map} +1 -1
- package/dist/{MInputSearch-DfoenJIm.cjs → MInputSearch-X9yNPuTf.cjs} +2 -2
- package/dist/{MInputSearch-DfoenJIm.cjs.map → MInputSearch-X9yNPuTf.cjs.map} +1 -1
- package/dist/{MLink-CY45UR_j.cjs → MLink-BakLkpKp.cjs} +2 -2
- package/dist/{MLink-CY45UR_j.cjs.map → MLink-BakLkpKp.cjs.map} +1 -1
- package/dist/{MModal-DT5BBgNZ.cjs → MModal-BYuPCSLG.cjs} +2 -2
- package/dist/{MModal-DT5BBgNZ.cjs.map → MModal-BYuPCSLG.cjs.map} +1 -1
- package/dist/{MModal-BDTAgnrm.js → MModal-K73juXhN.js} +2 -2
- package/dist/{MModal-BDTAgnrm.js.map → MModal-K73juXhN.js.map} +1 -1
- package/dist/{MPagination-CZEJMJzZ.cjs → MPagination-B8BcGks_.cjs} +2 -2
- package/dist/{MPagination-CZEJMJzZ.cjs.map → MPagination-B8BcGks_.cjs.map} +1 -1
- package/dist/{MPagination-CTnaW5AW.js → MPagination-BdBpF3Px.js} +1 -1
- package/dist/{MPagination-CTnaW5AW.js.map → MPagination-BdBpF3Px.js.map} +1 -1
- package/dist/{MPopover-B4IUb9f0.cjs → MPopover-DfEiRuM9.cjs} +2 -2
- package/dist/{MPopover-B4IUb9f0.cjs.map → MPopover-DfEiRuM9.cjs.map} +1 -1
- package/dist/{MPortal-Bi24xTGW.cjs → MPortal-CuBXhhl_.cjs} +2 -2
- package/dist/{MPortal-Bi24xTGW.cjs.map → MPortal-CuBXhhl_.cjs.map} +1 -1
- package/dist/{MQrCode-ByfmG33y.cjs → MQrCode-BXXTLtBP.cjs} +2 -2
- package/dist/{MQrCode-ByfmG33y.cjs.map → MQrCode-BXXTLtBP.cjs.map} +1 -1
- package/dist/{MSkeleton-DGhtNmpI.js → MSkeleton-BP7H_lsX.js} +2 -2
- package/dist/{MSkeleton-DGhtNmpI.js.map → MSkeleton-BP7H_lsX.js.map} +1 -1
- package/dist/{MSkeleton-5j1h9s95.cjs → MSkeleton-QO2sI-Ni.cjs} +2 -2
- package/dist/{MSkeleton-5j1h9s95.cjs.map → MSkeleton-QO2sI-Ni.cjs.map} +1 -1
- package/dist/{MSlider-Ch3VjAJC.cjs → MSlider-fhvfj0ft.cjs} +2 -2
- package/dist/{MSlider-Ch3VjAJC.cjs.map → MSlider-fhvfj0ft.cjs.map} +1 -1
- package/dist/{MSparkline-B6qpt5WM.cjs → MSparkline-CcM1n7Kh.cjs} +2 -2
- package/dist/{MSparkline-B6qpt5WM.cjs.map → MSparkline-CcM1n7Kh.cjs.map} +1 -1
- package/dist/{MStack-Bh-R2opf.cjs → MStack-Dy8Zl6FW.cjs} +2 -2
- package/dist/{MStack-Bh-R2opf.cjs.map → MStack-Dy8Zl6FW.cjs.map} +1 -1
- package/dist/{MSubText-C-70zn0m.cjs → MSubText-C1unzaCF.cjs} +2 -2
- package/dist/{MSubText-C-70zn0m.cjs.map → MSubText-C1unzaCF.cjs.map} +1 -1
- package/dist/{MSurface-DJYSftdM.js → MSurface-f_3vN0sd.js} +1 -1
- package/dist/{MSurface-DJYSftdM.js.map → MSurface-f_3vN0sd.js.map} +1 -1
- package/dist/{MSurface-CpiV1-7f.cjs → MSurface-wVqTsi1m.cjs} +2 -2
- package/dist/{MSurface-CpiV1-7f.cjs.map → MSurface-wVqTsi1m.cjs.map} +1 -1
- package/dist/MTabs-Dg31d-_D.js +89 -0
- package/dist/MTabs-Dg31d-_D.js.map +1 -0
- package/dist/MTabs-DuLqttVp.cjs +2 -0
- package/dist/MTabs-DuLqttVp.cjs.map +1 -0
- package/dist/{MTag-Y4Tswmli.cjs → MTag-CeLhZhqT.cjs} +2 -2
- package/dist/{MTag-Y4Tswmli.cjs.map → MTag-CeLhZhqT.cjs.map} +1 -1
- package/dist/{MText-DEJddMB5.cjs → MText-BbEkc0Ik.cjs} +2 -2
- package/dist/{MText-DEJddMB5.cjs.map → MText-BbEkc0Ik.cjs.map} +1 -1
- package/dist/{MTimeAgo-DxZGVo2Y.cjs → MTimeAgo-Dd0JQRGj.cjs} +2 -2
- package/dist/{MTimeAgo-DxZGVo2Y.cjs.map → MTimeAgo-Dd0JQRGj.cjs.map} +1 -1
- package/dist/{MToggle-C8vYRzpC.cjs → MToggle-BZSwJw_z.cjs} +2 -2
- package/dist/{MToggle-C8vYRzpC.cjs.map → MToggle-BZSwJw_z.cjs.map} +1 -1
- package/dist/{MTooltip-kSTMMpvu.cjs → MTooltip-BE0GcseJ.cjs} +2 -2
- package/dist/{MTooltip-kSTMMpvu.cjs.map → MTooltip-BE0GcseJ.cjs.map} +1 -1
- package/dist/{arduino-Eif5KI8O.js → arduino-5iMB2x4D.js} +1 -1
- package/dist/{arduino-Eif5KI8O.js.map → arduino-5iMB2x4D.js.map} +1 -1
- package/dist/{arduino-CXUo7Bjy.cjs → arduino-C1gw-z1N.cjs} +1 -1
- package/dist/{arduino-CXUo7Bjy.cjs.map → arduino-C1gw-z1N.cjs.map} +1 -1
- package/dist/{bash-CCF_TYbb.js → bash-CNKpaaFe.js} +1 -1
- package/dist/{bash-CCF_TYbb.js.map → bash-CNKpaaFe.js.map} +1 -1
- package/dist/{bash-W4h3o_nx.cjs → bash-wzZkpJC-.cjs} +1 -1
- package/dist/{bash-W4h3o_nx.cjs.map → bash-wzZkpJC-.cjs.map} +1 -1
- package/dist/{c-DVgkp6T3.js → c-BKjXPJPn.js} +1 -1
- package/dist/{c-DVgkp6T3.js.map → c-BKjXPJPn.js.map} +1 -1
- package/dist/{c-Dm60JY-W.cjs → c-BSPjDa0P.cjs} +1 -1
- package/dist/{c-Dm60JY-W.cjs.map → c-BSPjDa0P.cjs.map} +1 -1
- package/dist/{cards-fn61xD_5.js → cards-BYX8bM2l.js} +457 -307
- package/dist/cards-BYX8bM2l.js.map +1 -0
- package/dist/cards-lCx9oEVk.cjs +2 -0
- package/dist/cards-lCx9oEVk.cjs.map +1 -0
- package/dist/cards.cjs +1 -1
- package/dist/cards.js +3 -3
- package/dist/components/cards/MCardGrid/MCardGrid.d.ts +1 -1
- package/dist/components/cards/MCardGrid/MCardGrid.types.d.ts +21 -5
- package/dist/components/cards/MCardTile/MCardTile.d.ts +2 -0
- package/dist/components/cards/MCardTile/MCardTile.types.d.ts +28 -0
- package/dist/components/cards/MCardTile/index.d.ts +2 -0
- package/dist/components/cards/ServiceCardsShared/ServiceCardsShared.d.ts +1 -1
- package/dist/components/cards/ServiceCardsShared/ServiceCardsShared.types.d.ts +1 -3
- package/dist/components/cards/index.d.ts +2 -0
- package/dist/components/data/MCalendarBoard/MCalendarBoard.d.ts +8 -7
- package/dist/components/data/MCalendarBoard/MCalendarBoard.types.d.ts +75 -6
- package/dist/components/data/MCalendarBoard/index.d.ts +2 -2
- package/dist/components/data/MDataTable/MDataTable.d.ts +1 -1
- package/dist/components/data/MDataTable/MDataTable.types.d.ts +23 -0
- package/dist/components/data/MTreeView/MTreeView.d.ts +1 -1
- package/dist/components/data/MTreeView/MTreeView.types.d.ts +9 -1
- package/dist/components/data/index.d.ts +2 -2
- package/dist/components/display/MBlur/MBlur.d.ts +2 -0
- package/dist/components/display/MBlur/MBlur.types.d.ts +13 -0
- package/dist/components/display/MBlur/index.d.ts +2 -0
- package/dist/components/display/index.d.ts +2 -0
- package/dist/components/inputs/MInputIBAN/MInputIBAN.types.d.ts +3 -3
- package/dist/components/inputs/MInputPhone/MInputPhone.types.d.ts +2 -0
- package/dist/components/layout/MGrid/MGrid.d.ts +2 -2
- package/dist/components/layout/MGrid/MGrid.types.d.ts +2 -0
- package/dist/components/media/MImage/MImage.d.ts +1 -1
- package/dist/components/media/MImage/MImage.types.d.ts +6 -1
- package/dist/components/media/MMediaLightbox/MMediaLightbox.d.ts +1 -1
- package/dist/components/overlays/MTooltip/MTooltip.types.d.ts +2 -2
- package/dist/{controls-C5PtrGZf.cjs → controls-CZCxbJgq.cjs} +2 -2
- package/dist/{controls-C5PtrGZf.cjs.map → controls-CZCxbJgq.cjs.map} +1 -1
- package/dist/controls.cjs +1 -1
- package/dist/{core-CB9-PTLK.js → core-B8VC-Umz.js} +1 -1
- package/dist/{core-CB9-PTLK.js.map → core-B8VC-Umz.js.map} +1 -1
- package/dist/{core-AKWkE8Bx.cjs → core-w629c4ND.cjs} +1 -1
- package/dist/{core-AKWkE8Bx.cjs.map → core-w629c4ND.cjs.map} +1 -1
- package/dist/{cpp-DyKt1H8n.cjs → cpp-LIcuHkFj.cjs} +1 -1
- package/dist/{cpp-DyKt1H8n.cjs.map → cpp-LIcuHkFj.cjs.map} +1 -1
- package/dist/{cpp-OOenfB17.js → cpp-bNWmO1Au.js} +1 -1
- package/dist/{cpp-OOenfB17.js.map → cpp-bNWmO1Au.js.map} +1 -1
- package/dist/creditCards-D_HwRUBz.cjs +2 -0
- package/dist/creditCards-D_HwRUBz.cjs.map +1 -0
- package/dist/{creditCards-CCysEwry.js → creditCards-D_iWmtG6.js} +14 -8
- package/dist/creditCards-D_iWmtG6.js.map +1 -0
- package/dist/{css-DxVbPJLu.cjs → css-D6fGBtGV.cjs} +1 -1
- package/dist/{css-DxVbPJLu.cjs.map → css-D6fGBtGV.cjs.map} +1 -1
- package/dist/{css-u5LSEAra.js → css-h_5aJA6y.js} +1 -1
- package/dist/{css-u5LSEAra.js.map → css-h_5aJA6y.js.map} +1 -1
- package/dist/data-CcS-eYye.cjs +2 -0
- package/dist/data-CcS-eYye.cjs.map +1 -0
- package/dist/data-DT1ncDx_.js +2997 -0
- package/dist/data-DT1ncDx_.js.map +1 -0
- package/dist/data.cjs +1 -1
- package/dist/data.js +3 -3
- package/dist/{display-BafEcBK_.cjs → display-BxVd6MMK.cjs} +3 -3
- package/dist/display-BxVd6MMK.cjs.map +1 -0
- package/dist/{display-Zxj9YHu_.js → display-CtVfcztO.js} +47 -18
- package/dist/display-CtVfcztO.js.map +1 -0
- package/dist/display.cjs +1 -1
- package/dist/display.js +4 -4
- package/dist/dropdowns-BgpcQ9Hq.cjs +2 -0
- package/dist/dropdowns-BgpcQ9Hq.cjs.map +1 -0
- package/dist/{dropdowns-Bw8obCYl.js → dropdowns-C58ur0qF.js} +582 -555
- package/dist/dropdowns-C58ur0qF.js.map +1 -0
- package/dist/dropdowns.cjs +1 -1
- package/dist/dropdowns.js +1 -1
- package/dist/{feedback-Di0SEpRe.cjs → feedback-BJiO6j28.cjs} +2 -2
- package/dist/{feedback-Di0SEpRe.cjs.map → feedback-BJiO6j28.cjs.map} +1 -1
- package/dist/{feedback-8H3bmQw5.js → feedback-q3oO-E_X.js} +5 -5
- package/dist/{feedback-8H3bmQw5.js.map → feedback-q3oO-E_X.js.map} +1 -1
- package/dist/feedback.cjs +1 -1
- package/dist/feedback.js +2 -2
- package/dist/{form-BYz99Py5.cjs → form-D7OKrCBM.cjs} +2 -2
- package/dist/{form-BYz99Py5.cjs.map → form-D7OKrCBM.cjs.map} +1 -1
- package/dist/{form-JHlvtP9r.js → form-DIOkVhd9.js} +2 -2
- package/dist/{form-JHlvtP9r.js.map → form-DIOkVhd9.js.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{frameworkTexts-CvxcWRXp.js → frameworkTexts-Bzd6bn9s.js} +3 -1
- package/dist/frameworkTexts-Bzd6bn9s.js.map +1 -0
- package/dist/frameworkTexts-CJHzJHsg.cjs +2 -0
- package/dist/frameworkTexts-CJHzJHsg.cjs.map +1 -0
- package/dist/i18n/frameworkTexts.d.ts +2 -0
- package/dist/i18n.cjs +1 -1
- package/dist/icons-CfpYxnfg.js.map +1 -1
- package/dist/{icons-DWMgDKgt.cjs → icons-lUQfZ4Jr.cjs} +2 -2
- package/dist/{icons-DWMgDKgt.cjs.map → icons-lUQfZ4Jr.cjs.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/illustrations.cjs +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +43 -42
- package/dist/inputs-DOO1tKK9.cjs +2 -0
- package/dist/inputs-DOO1tKK9.cjs.map +1 -0
- package/dist/{inputs-Bcwd_UTr.js → inputs-Dwjwa_SJ.js} +545 -439
- package/dist/inputs-Dwjwa_SJ.js.map +1 -0
- package/dist/inputs.cjs +1 -1
- package/dist/inputs.js +5 -5
- package/dist/{javascript-CXjsxb-I.js → javascript-BnTECToz.js} +1 -1
- package/dist/{javascript-CXjsxb-I.js.map → javascript-BnTECToz.js.map} +1 -1
- package/dist/{javascript-CzjCTQxn.cjs → javascript-Oy5hkezl.cjs} +1 -1
- package/dist/{javascript-CzjCTQxn.cjs.map → javascript-Oy5hkezl.cjs.map} +1 -1
- package/dist/{json-9Qq5guN0.cjs → json-BP8eqPWc.cjs} +1 -1
- package/dist/{json-9Qq5guN0.cjs.map → json-BP8eqPWc.cjs.map} +1 -1
- package/dist/{json-CyV5VF8D.js → json-Ci-bDynf.js} +1 -1
- package/dist/{json-CyV5VF8D.js.map → json-Ci-bDynf.js.map} +1 -1
- package/dist/layout-B3S9bvaP.cjs +2 -0
- package/dist/layout-B3S9bvaP.cjs.map +1 -0
- package/dist/{layout-BpEnTocp.js → layout-BqDbW0Qn.js} +265 -347
- package/dist/layout-BqDbW0Qn.js.map +1 -0
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +7 -6
- package/dist/{licensing-ezfo7ZTh.cjs → licensing-Df1Z1rnQ.cjs} +2 -2
- package/dist/{licensing-ezfo7ZTh.cjs.map → licensing-Df1Z1rnQ.cjs.map} +1 -1
- package/dist/{locale-CZyqh3ON.cjs → locale-Ba2yreFR.cjs} +2 -2
- package/dist/{locale-CZyqh3ON.cjs.map → locale-Ba2yreFR.cjs.map} +1 -1
- package/dist/{media-ClgUKDca.cjs → media-C5atCcc6.cjs} +2 -2
- package/dist/{media-ClgUKDca.cjs.map → media-C5atCcc6.cjs.map} +1 -1
- package/dist/{media-C3M0npGW.js → media-DdshnqJ1.js} +3 -3
- package/dist/{media-C3M0npGW.js.map → media-DdshnqJ1.js.map} +1 -1
- package/dist/media.cjs +1 -1
- package/dist/media.js +2 -2
- package/dist/{overlays-DrSGzbbA.cjs → overlays-BC_6IATL.cjs} +2 -2
- package/dist/{overlays-DrSGzbbA.cjs.map → overlays-BC_6IATL.cjs.map} +1 -1
- package/dist/{overlays-CGlqD3rl.js → overlays-zUoV_Jy7.js} +2 -2
- package/dist/{overlays-CGlqD3rl.js.map → overlays-zUoV_Jy7.js.map} +1 -1
- package/dist/overlays.cjs +1 -1
- package/dist/overlays.js +3 -3
- package/dist/{php-Br75m0HU.cjs → php-Cwjc-ZYq.cjs} +1 -1
- package/dist/{php-Br75m0HU.cjs.map → php-Cwjc-ZYq.cjs.map} +1 -1
- package/dist/{php-deNqvHeU.js → php-DJ5j7KZU.js} +1 -1
- package/dist/{php-deNqvHeU.js.map → php-DJ5j7KZU.js.map} +1 -1
- package/dist/primitives.cjs +1 -1
- package/dist/style-runtime.cjs +1 -1
- package/dist/style-runtime.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/{theme-CgS-bND3.cjs → theme-Bb_NAEiZ.cjs} +2 -2
- package/dist/{theme-CgS-bND3.cjs.map → theme-Bb_NAEiZ.cjs.map} +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/{typescript-jNfCpQvl.js → typescript-DUexJ4gh.js} +1 -1
- package/dist/{typescript-jNfCpQvl.js.map → typescript-DUexJ4gh.js.map} +1 -1
- package/dist/{typescript-CRgqVaw_.cjs → typescript-QKlfKtex.cjs} +1 -1
- package/dist/{typescript-CRgqVaw_.cjs.map → typescript-QKlfKtex.cjs.map} +1 -1
- package/dist/{typography-Zo4Usx9I.cjs → typography-CRKIyR-B.cjs} +2 -2
- package/dist/{typography-Zo4Usx9I.cjs.map → typography-CRKIyR-B.cjs.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/{useGhostText-tv1LiSPs.cjs → useGhostText-mibV4s1-.cjs} +2 -2
- package/dist/{useGhostText-tv1LiSPs.cjs.map → useGhostText-mibV4s1-.cjs.map} +1 -1
- package/dist/{useInteractionEffect-D1ZdNbKU.cjs → useInteractionEffect-CtXlbjhC.cjs} +2 -2
- package/dist/{useInteractionEffect-D1ZdNbKU.cjs.map → useInteractionEffect-CtXlbjhC.cjs.map} +1 -1
- package/dist/{useKeyboardNav-CkIlAagq.cjs → useKeyboardNav-CCUoRMgm.cjs} +2 -2
- package/dist/{useKeyboardNav-CkIlAagq.cjs.map → useKeyboardNav-CCUoRMgm.cjs.map} +1 -1
- package/dist/utils/creditCards.d.ts +1 -0
- package/dist/utils/validators.d.ts +2 -0
- package/dist/utils.cjs +1 -1
- package/dist/utils.js +3 -3
- package/dist/{validators-H8tNxb8O.js → validators-D5OCyV2h.js} +23 -20
- package/dist/validators-D5OCyV2h.js.map +1 -0
- package/dist/{validators-BeNTD8mf.cjs → validators-DRhikiAi.cjs} +2 -2
- package/dist/validators-DRhikiAi.cjs.map +1 -0
- package/dist/{xml-C_ksWBRH.cjs → xml-DEtyywwU.cjs} +1 -1
- package/dist/{xml-C_ksWBRH.cjs.map → xml-DEtyywwU.cjs.map} +1 -1
- package/dist/{xml-0Th6YIDv.js → xml-DlZghN7m.js} +1 -1
- package/dist/{xml-0Th6YIDv.js.map → xml-DlZghN7m.js.map} +1 -1
- package/package.json +1 -1
- package/dist/MDataTable-Bx7W-Ari.cjs +0 -2
- package/dist/MDataTable-Bx7W-Ari.cjs.map +0 -1
- package/dist/MDataTable-ByvNQqNP.js +0 -149
- package/dist/MDataTable-ByvNQqNP.js.map +0 -1
- package/dist/MDropdownMenu-BmfXSc46.cjs +0 -2
- package/dist/MDropdownMenu-BmfXSc46.cjs.map +0 -1
- package/dist/MDropdownMenu-D79Cm5aS.js.map +0 -1
- package/dist/MImage-L_zgfWRY.cjs +0 -2
- package/dist/MImage-L_zgfWRY.cjs.map +0 -1
- package/dist/MImage-gwFphZk2.js.map +0 -1
- package/dist/cards-BiYdorB0.cjs +0 -2
- package/dist/cards-BiYdorB0.cjs.map +0 -1
- package/dist/cards-fn61xD_5.js.map +0 -1
- package/dist/creditCards-CCysEwry.js.map +0 -1
- package/dist/creditCards-ljs044xt.cjs +0 -2
- package/dist/creditCards-ljs044xt.cjs.map +0 -1
- package/dist/data-Bw9FSZ80.cjs +0 -2
- package/dist/data-Bw9FSZ80.cjs.map +0 -1
- package/dist/data-CMSIr_Ac.js +0 -2527
- package/dist/data-CMSIr_Ac.js.map +0 -1
- package/dist/display-BafEcBK_.cjs.map +0 -1
- package/dist/display-Zxj9YHu_.js.map +0 -1
- package/dist/dropdowns-Bw8obCYl.js.map +0 -1
- package/dist/dropdowns-DN7j1HhE.cjs +0 -2
- package/dist/dropdowns-DN7j1HhE.cjs.map +0 -1
- package/dist/frameworkTexts-CvxcWRXp.js.map +0 -1
- package/dist/frameworkTexts-abkS5XZK.cjs +0 -2
- package/dist/frameworkTexts-abkS5XZK.cjs.map +0 -1
- package/dist/inputs-Bcwd_UTr.js.map +0 -1
- package/dist/inputs-FP545Yri.cjs +0 -2
- package/dist/inputs-FP545Yri.cjs.map +0 -1
- package/dist/layout-BpEnTocp.js.map +0 -1
- package/dist/layout-rtlHrjDb.cjs +0 -2
- package/dist/layout-rtlHrjDb.cjs.map +0 -1
- package/dist/validators-BeNTD8mf.cjs.map +0 -1
- package/dist/validators-H8tNxb8O.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
require(`./core-
|
|
2
|
-
//# sourceMappingURL=theme-
|
|
1
|
+
require(`./core-w629c4ND.cjs`);let e=require(`react`),t=require(`react/jsx-runtime`);var n=`mineralui-theme`;function r(e){return e===`system`?typeof window>`u`||window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:e}function i(){try{let e=localStorage.getItem(n);if(e===`dark`||e===`light`||e===`system`)return e}catch{}return null}var a=(0,e.createContext)({theme:{},mode:`dark`,resolvedMode:`dark`,setMode:()=>{},toggleMode:()=>{}}),o={primaryRgb:`--mineral-primary-rgb`,primary:`--mineral-primary`,primaryDark:`--mineral-primary-dark`,primaryLight:`--mineral-primary-light`,neutralRgb:`--mineral-neutral-rgb`,neutral:`--mineral-neutral`,dark:`--mineral-dark`,darkLight:`--mineral-dark-light`,surface:`--mineral-surface`,surfaceContrast:`--mineral-surface-contrast`,pageBg:`--mineral-page-bg`,pageText:`--mineral-page-text`,text:`--mineral-text`,textSecondary:`--mineral-text-secondary`,textHeading:`--mineral-text-heading`,border:`--mineral-border`,borderHover:`--mineral-border-hover`,borderFocus:`--mineral-border-focus`,successRgb:`--mineral-success-rgb`,success:`--mineral-success`,errorRgb:`--mineral-error-rgb`,error:`--mineral-error`,warningRgb:`--mineral-warning-rgb`,warning:`--mineral-warning`,infoRgb:`--mineral-info-rgb`,info:`--mineral-info`,fontFamily:`--mineral-font-family-sans`,fontFamilySans:`--mineral-font-family-sans`,fontFamilyMono:`--mineral-font-family-mono`,fontFamilyHeading:`--mineral-font-family-heading`,fontColorDefault:`--mineral-fcolor-default`,fontColorMuted:`--mineral-fcolor-muted`,fontColorHeading:`--mineral-fcolor-heading`,fontColorInverted:`--mineral-fcolor-inverted`,fontColorPrimary:`--mineral-fcolor-primary`,fontColorNeutral:`--mineral-fcolor-neutral`,fontColorSuccess:`--mineral-fcolor-success`,fontColorError:`--mineral-fcolor-error`,fontColorWarning:`--mineral-fcolor-warning`,fontColorInfo:`--mineral-fcolor-info`,radiusSm:`--mineral-radius-sm`,radiusMd:`--mineral-radius-md`,radiusLg:`--mineral-radius-lg`};function s({theme:s,mode:c=`dark`,persist:l=!0,scope:u=`body`,children:d}){let f=(0,e.useRef)(null),p=(0,e.useMemo)(()=>s??{},[s]),[m,h]=(0,e.useState)(()=>{if(l){let e=i();if(e)return e}return c}),g=r(m),_=(0,e.useCallback)(e=>{if(h(e),l)try{localStorage.setItem(n,e)}catch{}},[l]),v=(0,e.useCallback)(()=>{_(g===`dark`?`light`:`dark`)},[g,_]);(0,e.useEffect)(()=>{if(m!==`system`)return;let e=window.matchMedia(`(prefers-color-scheme: dark)`),t=()=>h(`system`);return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[m]),(0,e.useEffect)(()=>{let e=u===`body`?document.body:f.current;if(e){for(let[t,n]of Object.entries(p)){let r=o[t];r&&n&&(e.style.setProperty(r,n),r===`--mineral-font-family-sans`&&e.style.setProperty(`--mineral-font-family`,n))}return e.classList.toggle(`theme-light`,g===`light`),()=>{for(let t of Object.keys(p)){let n=o[t];n&&(e.style.removeProperty(n),n===`--mineral-font-family-sans`&&e.style.removeProperty(`--mineral-font-family`))}e.classList.remove(`theme-light`)}}},[g,p,u]);let y=(0,e.useMemo)(()=>({theme:p,mode:m,resolvedMode:g,setMode:_,toggleMode:v}),[p,m,g,_,v]);return(0,t.jsx)(a.Provider,{value:y,children:u===`wrapper`?(0,t.jsx)(`div`,{ref:f,className:g===`light`?`theme-light`:void 0,children:d}):d})}function c(){return(0,e.useContext)(a)}var l={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},u={mobile:768,compact:1024};function d(t){let[n,r]=(0,e.useState)(()=>typeof window<`u`?window.innerWidth<=t:!1);return(0,e.useEffect)(()=>{if(typeof window>`u`)return;let e=window.matchMedia(`(max-width: ${t}px)`),n=()=>r(e.matches);return n(),typeof e.addEventListener==`function`?(e.addEventListener(`change`,n),()=>e.removeEventListener(`change`,n)):(e.addListener(n),()=>e.removeListener(n))},[t]),n}function f(e){return e===void 0||e===!1?{}:e===!0?{hidden:!0}:{"data-m-hidden":e}}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return l}});
|
|
2
|
+
//# sourceMappingURL=theme-Bb_NAEiZ.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-CgS-bND3.cjs","names":[],"sources":["../src/theme/MThemeProvider.tsx","../src/theme/responsive.ts"],"sourcesContent":["import {createContext, useCallback, useContext, useEffect, useMemo, useRef, useState, type ReactNode} from 'react'\nimport type {MTheme, MMode, MModePreference} from './MTheme.types'\n\nconst STORAGE_KEY = 'mineralui-theme'\n\n// Resolve the final mode once 'system' is allowed.\nfunction resolveMode(pref: MModePreference): MMode {\n if (pref !== 'system') return pref\n if (typeof window === 'undefined') return 'dark'\n return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'\n}\n\n// Read a persisted mode safely when storage is available.\nfunction readStored(): MModePreference | null {\n try {\n const v = localStorage.getItem(STORAGE_KEY)\n if (v === 'dark' || v === 'light' || v === 'system') return v\n } catch {\n /* SSR / blocked storage */\n }\n return null\n}\n\nexport interface MThemeContextValue {\n theme: MTheme\n mode: MModePreference\n resolvedMode: MMode\n setMode: (next: MModePreference) => void\n toggleMode: () => void\n}\n\nconst ThemeContext = createContext<MThemeContextValue>({\n theme: {},\n mode: 'dark',\n resolvedMode: 'dark',\n setMode: () => {},\n toggleMode: () => {},\n})\n\n// Map JS theme keys to CSS custom properties.\nconst varMap: Record<keyof MTheme, string> = {\n primaryRgb: '--mineral-primary-rgb',\n primary: '--mineral-primary',\n primaryDark: '--mineral-primary-dark',\n primaryLight: '--mineral-primary-light',\n neutralRgb: '--mineral-neutral-rgb',\n neutral: '--mineral-neutral',\n dark: '--mineral-dark',\n darkLight: '--mineral-dark-light',\n surface: '--mineral-surface',\n surfaceContrast: '--mineral-surface-contrast',\n pageBg: '--mineral-page-bg',\n pageText: '--mineral-page-text',\n text: '--mineral-text',\n textSecondary: '--mineral-text-secondary',\n textHeading: '--mineral-text-heading',\n border: '--mineral-border',\n borderHover: '--mineral-border-hover',\n borderFocus: '--mineral-border-focus',\n successRgb: '--mineral-success-rgb',\n success: '--mineral-success',\n errorRgb: '--mineral-error-rgb',\n error: '--mineral-error',\n warningRgb: '--mineral-warning-rgb',\n warning: '--mineral-warning',\n infoRgb: '--mineral-info-rgb',\n info: '--mineral-info',\n fontFamily: '--mineral-font-family-sans',\n fontFamilySans: '--mineral-font-family-sans',\n fontFamilyMono: '--mineral-font-family-mono',\n fontFamilyHeading: '--mineral-font-family-heading',\n fontColorDefault: '--mineral-fcolor-default',\n fontColorMuted: '--mineral-fcolor-muted',\n fontColorHeading: '--mineral-fcolor-heading',\n fontColorInverted: '--mineral-fcolor-inverted',\n fontColorPrimary: '--mineral-fcolor-primary',\n fontColorNeutral: '--mineral-fcolor-neutral',\n fontColorSuccess: '--mineral-fcolor-success',\n fontColorError: '--mineral-fcolor-error',\n fontColorWarning: '--mineral-fcolor-warning',\n fontColorInfo: '--mineral-fcolor-info',\n radiusSm: '--mineral-radius-sm',\n radiusMd: '--mineral-radius-md',\n radiusLg: '--mineral-radius-lg',\n}\n\nexport type MThemeScope = 'body' | 'wrapper'\n\nexport interface MThemeProviderProps {\n theme?: MTheme\n mode?: MModePreference\n persist?: boolean\n scope?: MThemeScope\n children: ReactNode\n}\n\n// Sync theme tokens and mode classes with either the body or a local wrapper.\nexport function MThemeProvider({\n theme,\n mode: modeProp = 'dark',\n persist = true,\n scope = 'body',\n children,\n}: MThemeProviderProps) {\n const ref = useRef<HTMLDivElement>(null)\n const safeTheme = useMemo(() => theme ?? {}, [theme])\n\n const [mode, setModeState] = useState<MModePreference>(() => {\n if (persist) {\n const stored = readStored()\n if (stored) return stored\n }\n return modeProp\n })\n\n const resolved = resolveMode(mode)\n\n const setMode = useCallback(\n (next: MModePreference) => {\n setModeState(next)\n if (persist) {\n try {\n localStorage.setItem(STORAGE_KEY, next)\n } catch {\n /* noop */\n }\n }\n },\n [persist]\n )\n\n const toggleMode = useCallback(() => {\n setMode(resolved === 'dark' ? 'light' : 'dark')\n }, [resolved, setMode])\n\n // Listen for system theme changes when mode is 'system'.\n useEffect(() => {\n if (mode !== 'system') return\n const mq = window.matchMedia('(prefers-color-scheme: dark)')\n const handler = () => setModeState('system')\n mq.addEventListener('change', handler)\n return () => mq.removeEventListener('change', handler)\n }, [mode])\n\n // Apply token overrides and light/dark class.\n useEffect(() => {\n const target = scope === 'body' ? document.body : ref.current\n if (!target) return\n\n for (const [key, value] of Object.entries(safeTheme)) {\n const cssVar = varMap[key as keyof MTheme]\n if (cssVar && value) {\n target.style.setProperty(cssVar, value)\n if (cssVar === '--mineral-font-family-sans') {\n target.style.setProperty('--mineral-font-family', value)\n }\n }\n }\n\n target.classList.toggle('theme-light', resolved === 'light')\n\n return () => {\n for (const key of Object.keys(safeTheme)) {\n const cssVar = varMap[key as keyof MTheme]\n if (cssVar) {\n target.style.removeProperty(cssVar)\n if (cssVar === '--mineral-font-family-sans') {\n target.style.removeProperty('--mineral-font-family')\n }\n }\n }\n target.classList.remove('theme-light')\n }\n }, [resolved, safeTheme, scope])\n\n const ctx = useMemo<MThemeContextValue>(\n () => ({\n theme: safeTheme,\n mode,\n resolvedMode: resolved,\n setMode,\n toggleMode,\n }),\n [safeTheme, mode, resolved, setMode, toggleMode]\n )\n\n return (\n <ThemeContext.Provider value={ctx}>\n {scope === 'wrapper' ? (\n <div ref={ref} className={resolved === 'light' ? 'theme-light' : undefined}>\n {children}\n </div>\n ) : (\n children\n )}\n </ThemeContext.Provider>\n )\n}\n\nexport function useMTheme(): MThemeContextValue {\n return useContext(ThemeContext)\n}\n","import {useEffect, useState} from 'react'\nimport type {MHiddenProps} from './MTheme.types'\n\nexport const MBreakpoints = {\n sm: 640,\n md: 768,\n lg: 1024,\n xl: 1280,\n '2xl': 1536,\n} as const\n\nexport const MShellBreakpoints = {\n mobile: 768,\n compact: 1024,\n} as const\n\nexport function useMaxWidth(breakpoint: number): boolean {\n const [matches, setMatches] = useState(() =>\n typeof window !== 'undefined' ? window.innerWidth <= breakpoint : false\n )\n\n useEffect(() => {\n if (typeof window === 'undefined') {\n return\n }\n\n const media = window.matchMedia(`(max-width: ${breakpoint}px)`)\n const sync = () => setMatches(media.matches)\n\n sync()\n\n if (typeof media.addEventListener === 'function') {\n media.addEventListener('change', sync)\n return () => media.removeEventListener('change', sync)\n }\n\n media.addListener(sync)\n return () => media.removeListener(sync)\n }, [breakpoint])\n\n return matches\n}\n\nexport function getHiddenProps(hidden?: MHiddenProps['hidden']) {\n if (hidden === undefined || hidden === false) {\n return {}\n }\n\n if (hidden === true) {\n return {hidden: true}\n }\n\n return {'data-m-hidden': hidden}\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"theme-Bb_NAEiZ.cjs","names":[],"sources":["../src/theme/MThemeProvider.tsx","../src/theme/responsive.ts"],"sourcesContent":["import {createContext, useCallback, useContext, useEffect, useMemo, useRef, useState, type ReactNode} from 'react'\nimport type {MTheme, MMode, MModePreference} from './MTheme.types'\n\nconst STORAGE_KEY = 'mineralui-theme'\n\n// Resolve the final mode once 'system' is allowed.\nfunction resolveMode(pref: MModePreference): MMode {\n if (pref !== 'system') return pref\n if (typeof window === 'undefined') return 'dark'\n return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'\n}\n\n// Read a persisted mode safely when storage is available.\nfunction readStored(): MModePreference | null {\n try {\n const v = localStorage.getItem(STORAGE_KEY)\n if (v === 'dark' || v === 'light' || v === 'system') return v\n } catch {\n /* SSR / blocked storage */\n }\n return null\n}\n\nexport interface MThemeContextValue {\n theme: MTheme\n mode: MModePreference\n resolvedMode: MMode\n setMode: (next: MModePreference) => void\n toggleMode: () => void\n}\n\nconst ThemeContext = createContext<MThemeContextValue>({\n theme: {},\n mode: 'dark',\n resolvedMode: 'dark',\n setMode: () => {},\n toggleMode: () => {},\n})\n\n// Map JS theme keys to CSS custom properties.\nconst varMap: Record<keyof MTheme, string> = {\n primaryRgb: '--mineral-primary-rgb',\n primary: '--mineral-primary',\n primaryDark: '--mineral-primary-dark',\n primaryLight: '--mineral-primary-light',\n neutralRgb: '--mineral-neutral-rgb',\n neutral: '--mineral-neutral',\n dark: '--mineral-dark',\n darkLight: '--mineral-dark-light',\n surface: '--mineral-surface',\n surfaceContrast: '--mineral-surface-contrast',\n pageBg: '--mineral-page-bg',\n pageText: '--mineral-page-text',\n text: '--mineral-text',\n textSecondary: '--mineral-text-secondary',\n textHeading: '--mineral-text-heading',\n border: '--mineral-border',\n borderHover: '--mineral-border-hover',\n borderFocus: '--mineral-border-focus',\n successRgb: '--mineral-success-rgb',\n success: '--mineral-success',\n errorRgb: '--mineral-error-rgb',\n error: '--mineral-error',\n warningRgb: '--mineral-warning-rgb',\n warning: '--mineral-warning',\n infoRgb: '--mineral-info-rgb',\n info: '--mineral-info',\n fontFamily: '--mineral-font-family-sans',\n fontFamilySans: '--mineral-font-family-sans',\n fontFamilyMono: '--mineral-font-family-mono',\n fontFamilyHeading: '--mineral-font-family-heading',\n fontColorDefault: '--mineral-fcolor-default',\n fontColorMuted: '--mineral-fcolor-muted',\n fontColorHeading: '--mineral-fcolor-heading',\n fontColorInverted: '--mineral-fcolor-inverted',\n fontColorPrimary: '--mineral-fcolor-primary',\n fontColorNeutral: '--mineral-fcolor-neutral',\n fontColorSuccess: '--mineral-fcolor-success',\n fontColorError: '--mineral-fcolor-error',\n fontColorWarning: '--mineral-fcolor-warning',\n fontColorInfo: '--mineral-fcolor-info',\n radiusSm: '--mineral-radius-sm',\n radiusMd: '--mineral-radius-md',\n radiusLg: '--mineral-radius-lg',\n}\n\nexport type MThemeScope = 'body' | 'wrapper'\n\nexport interface MThemeProviderProps {\n theme?: MTheme\n mode?: MModePreference\n persist?: boolean\n scope?: MThemeScope\n children: ReactNode\n}\n\n// Sync theme tokens and mode classes with either the body or a local wrapper.\nexport function MThemeProvider({\n theme,\n mode: modeProp = 'dark',\n persist = true,\n scope = 'body',\n children,\n}: MThemeProviderProps) {\n const ref = useRef<HTMLDivElement>(null)\n const safeTheme = useMemo(() => theme ?? {}, [theme])\n\n const [mode, setModeState] = useState<MModePreference>(() => {\n if (persist) {\n const stored = readStored()\n if (stored) return stored\n }\n return modeProp\n })\n\n const resolved = resolveMode(mode)\n\n const setMode = useCallback(\n (next: MModePreference) => {\n setModeState(next)\n if (persist) {\n try {\n localStorage.setItem(STORAGE_KEY, next)\n } catch {\n /* noop */\n }\n }\n },\n [persist]\n )\n\n const toggleMode = useCallback(() => {\n setMode(resolved === 'dark' ? 'light' : 'dark')\n }, [resolved, setMode])\n\n // Listen for system theme changes when mode is 'system'.\n useEffect(() => {\n if (mode !== 'system') return\n const mq = window.matchMedia('(prefers-color-scheme: dark)')\n const handler = () => setModeState('system')\n mq.addEventListener('change', handler)\n return () => mq.removeEventListener('change', handler)\n }, [mode])\n\n // Apply token overrides and light/dark class.\n useEffect(() => {\n const target = scope === 'body' ? document.body : ref.current\n if (!target) return\n\n for (const [key, value] of Object.entries(safeTheme)) {\n const cssVar = varMap[key as keyof MTheme]\n if (cssVar && value) {\n target.style.setProperty(cssVar, value)\n if (cssVar === '--mineral-font-family-sans') {\n target.style.setProperty('--mineral-font-family', value)\n }\n }\n }\n\n target.classList.toggle('theme-light', resolved === 'light')\n\n return () => {\n for (const key of Object.keys(safeTheme)) {\n const cssVar = varMap[key as keyof MTheme]\n if (cssVar) {\n target.style.removeProperty(cssVar)\n if (cssVar === '--mineral-font-family-sans') {\n target.style.removeProperty('--mineral-font-family')\n }\n }\n }\n target.classList.remove('theme-light')\n }\n }, [resolved, safeTheme, scope])\n\n const ctx = useMemo<MThemeContextValue>(\n () => ({\n theme: safeTheme,\n mode,\n resolvedMode: resolved,\n setMode,\n toggleMode,\n }),\n [safeTheme, mode, resolved, setMode, toggleMode]\n )\n\n return (\n <ThemeContext.Provider value={ctx}>\n {scope === 'wrapper' ? (\n <div ref={ref} className={resolved === 'light' ? 'theme-light' : undefined}>\n {children}\n </div>\n ) : (\n children\n )}\n </ThemeContext.Provider>\n )\n}\n\nexport function useMTheme(): MThemeContextValue {\n return useContext(ThemeContext)\n}\n","import {useEffect, useState} from 'react'\nimport type {MHiddenProps} from './MTheme.types'\n\nexport const MBreakpoints = {\n sm: 640,\n md: 768,\n lg: 1024,\n xl: 1280,\n '2xl': 1536,\n} as const\n\nexport const MShellBreakpoints = {\n mobile: 768,\n compact: 1024,\n} as const\n\nexport function useMaxWidth(breakpoint: number): boolean {\n const [matches, setMatches] = useState(() =>\n typeof window !== 'undefined' ? window.innerWidth <= breakpoint : false\n )\n\n useEffect(() => {\n if (typeof window === 'undefined') {\n return\n }\n\n const media = window.matchMedia(`(max-width: ${breakpoint}px)`)\n const sync = () => setMatches(media.matches)\n\n sync()\n\n if (typeof media.addEventListener === 'function') {\n media.addEventListener('change', sync)\n return () => media.removeEventListener('change', sync)\n }\n\n media.addListener(sync)\n return () => media.removeListener(sync)\n }, [breakpoint])\n\n return matches\n}\n\nexport function getHiddenProps(hidden?: MHiddenProps['hidden']) {\n if (hidden === undefined || hidden === false) {\n return {}\n }\n\n if (hidden === true) {\n return {hidden: true}\n }\n\n return {'data-m-hidden': hidden}\n}\n"],"mappings":"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"}
|
package/dist/theme.cjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
const {ensureStyles}=require('./style-runtime.cjs')
|
|
2
2
|
ensureStyles()
|
|
3
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./theme-
|
|
3
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./theme-Bb_NAEiZ.cjs`);exports.MBreakpoints=e.t,exports.MShellBreakpoints=e.n,exports.MThemeProvider=e.a,exports.getHiddenProps=e.r,exports.useMTheme=e.o,exports.useMaxWidth=e.i;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-jNfCpQvl.js","names":[],"sources":["../node_modules/highlight.js/es/languages/typescript.js"],"sourcesContent":["const IDENT_RE = '[A-Za-z$_][0-9A-Za-z$_]*';\nconst KEYWORDS = [\n \"as\", // for exports\n \"in\",\n \"of\",\n \"if\",\n \"for\",\n \"while\",\n \"finally\",\n \"var\",\n \"new\",\n \"function\",\n \"do\",\n \"return\",\n \"void\",\n \"else\",\n \"break\",\n \"catch\",\n \"instanceof\",\n \"with\",\n \"throw\",\n \"case\",\n \"default\",\n \"try\",\n \"switch\",\n \"continue\",\n \"typeof\",\n \"delete\",\n \"let\",\n \"yield\",\n \"const\",\n \"class\",\n // JS handles these with a special rule\n // \"get\",\n // \"set\",\n \"debugger\",\n \"async\",\n \"await\",\n \"static\",\n \"import\",\n \"from\",\n \"export\",\n \"extends\",\n // It's reached stage 3, which is \"recommended for implementation\":\n \"using\"\n];\nconst LITERALS = [\n \"true\",\n \"false\",\n \"null\",\n \"undefined\",\n \"NaN\",\n \"Infinity\"\n];\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects\nconst TYPES = [\n // Fundamental objects\n \"Object\",\n \"Function\",\n \"Boolean\",\n \"Symbol\",\n // numbers and dates\n \"Math\",\n \"Date\",\n \"Number\",\n \"BigInt\",\n // text\n \"String\",\n \"RegExp\",\n // Indexed collections\n \"Array\",\n \"Float32Array\",\n \"Float64Array\",\n \"Int8Array\",\n \"Uint8Array\",\n \"Uint8ClampedArray\",\n \"Int16Array\",\n \"Int32Array\",\n \"Uint16Array\",\n \"Uint32Array\",\n \"BigInt64Array\",\n \"BigUint64Array\",\n // Keyed collections\n \"Set\",\n \"Map\",\n \"WeakSet\",\n \"WeakMap\",\n // Structured data\n \"ArrayBuffer\",\n \"SharedArrayBuffer\",\n \"Atomics\",\n \"DataView\",\n \"JSON\",\n // Control abstraction objects\n \"Promise\",\n \"Generator\",\n \"GeneratorFunction\",\n \"AsyncFunction\",\n // Reflection\n \"Reflect\",\n \"Proxy\",\n // Internationalization\n \"Intl\",\n // WebAssembly\n \"WebAssembly\"\n];\n\nconst ERROR_TYPES = [\n \"Error\",\n \"EvalError\",\n \"InternalError\",\n \"RangeError\",\n \"ReferenceError\",\n \"SyntaxError\",\n \"TypeError\",\n \"URIError\"\n];\n\nconst BUILT_IN_GLOBALS = [\n \"setInterval\",\n \"setTimeout\",\n \"clearInterval\",\n \"clearTimeout\",\n\n \"require\",\n \"exports\",\n\n \"eval\",\n \"isFinite\",\n \"isNaN\",\n \"parseFloat\",\n \"parseInt\",\n \"decodeURI\",\n \"decodeURIComponent\",\n \"encodeURI\",\n \"encodeURIComponent\",\n \"escape\",\n \"unescape\"\n];\n\nconst BUILT_IN_VARIABLES = [\n \"arguments\",\n \"this\",\n \"super\",\n \"console\",\n \"window\",\n \"document\",\n \"localStorage\",\n \"sessionStorage\",\n \"module\",\n \"global\" // Node.js\n];\n\nconst BUILT_INS = [].concat(\n BUILT_IN_GLOBALS,\n TYPES,\n ERROR_TYPES\n);\n\n/*\nLanguage: JavaScript\nDescription: JavaScript (JS) is a lightweight, interpreted, or just-in-time compiled programming language with first-class functions.\nCategory: common, scripting, web\nWebsite: https://developer.mozilla.org/en-US/docs/Web/JavaScript\n*/\n\n\n/** @type LanguageFn */\nfunction javascript(hljs) {\n const regex = hljs.regex;\n /**\n * Takes a string like \"<Booger\" and checks to see\n * if we can find a matching \"</Booger\" later in the\n * content.\n * @param {RegExpMatchArray} match\n * @param {{after:number}} param1\n */\n const hasClosingTag = (match, { after }) => {\n const tag = \"</\" + match[0].slice(1);\n const pos = match.input.indexOf(tag, after);\n return pos !== -1;\n };\n\n const IDENT_RE$1 = IDENT_RE;\n const FRAGMENT = {\n begin: '<>',\n end: '</>'\n };\n // to avoid some special cases inside isTrulyOpeningTag\n const XML_SELF_CLOSING = /<[A-Za-z0-9\\\\._:-]+\\s*\\/>/;\n const XML_TAG = {\n begin: /<[A-Za-z0-9\\\\._:-]+/,\n end: /\\/[A-Za-z0-9\\\\._:-]+>|\\/>/,\n /**\n * @param {RegExpMatchArray} match\n * @param {CallbackResponse} response\n */\n isTrulyOpeningTag: (match, response) => {\n const afterMatchIndex = match[0].length + match.index;\n const nextChar = match.input[afterMatchIndex];\n if (\n // HTML should not include another raw `<` inside a tag\n // nested type?\n // `<Array<Array<number>>`, etc.\n nextChar === \"<\" ||\n // the , gives away that this is not HTML\n // `<T, A extends keyof T, V>`\n nextChar === \",\"\n ) {\n response.ignoreMatch();\n return;\n }\n\n // `<something>`\n // Quite possibly a tag, lets look for a matching closing tag...\n if (nextChar === \">\") {\n // if we cannot find a matching closing tag, then we\n // will ignore it\n if (!hasClosingTag(match, { after: afterMatchIndex })) {\n response.ignoreMatch();\n }\n }\n\n // `<blah />` (self-closing)\n // handled by simpleSelfClosing rule\n\n let m;\n const afterMatch = match.input.substring(afterMatchIndex);\n\n // some more template typing stuff\n // <T = any>(key?: string) => Modify<\n if ((m = afterMatch.match(/^\\s*=/))) {\n response.ignoreMatch();\n return;\n }\n\n // `<From extends string>`\n // technically this could be HTML, but it smells like a type\n // NOTE: This is ugh, but added specifically for https://github.com/highlightjs/highlight.js/issues/3276\n if ((m = afterMatch.match(/^\\s+extends\\s+/))) {\n if (m.index === 0) {\n response.ignoreMatch();\n // eslint-disable-next-line no-useless-return\n return;\n }\n }\n }\n };\n const KEYWORDS$1 = {\n $pattern: IDENT_RE,\n keyword: KEYWORDS,\n literal: LITERALS,\n built_in: BUILT_INS,\n \"variable.language\": BUILT_IN_VARIABLES\n };\n\n // https://tc39.es/ecma262/#sec-literals-numeric-literals\n const decimalDigits = '[0-9](_?[0-9])*';\n const frac = `\\\\.(${decimalDigits})`;\n // DecimalIntegerLiteral, including Annex B NonOctalDecimalIntegerLiteral\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n const decimalInteger = `0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*`;\n const NUMBER = {\n className: 'number',\n variants: [\n // DecimalLiteral\n { begin: `(\\\\b(${decimalInteger})((${frac})|\\\\.)?|(${frac}))` +\n `[eE][+-]?(${decimalDigits})\\\\b` },\n { begin: `\\\\b(${decimalInteger})\\\\b((${frac})\\\\b|\\\\.)?|(${frac})\\\\b` },\n\n // DecimalBigIntegerLiteral\n { begin: `\\\\b(0|[1-9](_?[0-9])*)n\\\\b` },\n\n // NonDecimalIntegerLiteral\n { begin: \"\\\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\\\b\" },\n { begin: \"\\\\b0[bB][0-1](_?[0-1])*n?\\\\b\" },\n { begin: \"\\\\b0[oO][0-7](_?[0-7])*n?\\\\b\" },\n\n // LegacyOctalIntegerLiteral (does not include underscore separators)\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n { begin: \"\\\\b0[0-7]+n?\\\\b\" },\n ],\n relevance: 0\n };\n\n const SUBST = {\n className: 'subst',\n begin: '\\\\$\\\\{',\n end: '\\\\}',\n keywords: KEYWORDS$1,\n contains: [] // defined later\n };\n const HTML_TEMPLATE = {\n begin: '\\.?html`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'xml'\n }\n };\n const CSS_TEMPLATE = {\n begin: '\\.?css`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'css'\n }\n };\n const GRAPHQL_TEMPLATE = {\n begin: '\\.?gql`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'graphql'\n }\n };\n const TEMPLATE_STRING = {\n className: 'string',\n begin: '`',\n end: '`',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n };\n const JSDOC_COMMENT = hljs.COMMENT(\n /\\/\\*\\*(?!\\/)/,\n '\\\\*/',\n {\n relevance: 0,\n contains: [\n {\n begin: '(?=@[A-Za-z]+)',\n relevance: 0,\n contains: [\n {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n },\n {\n className: 'type',\n begin: '\\\\{',\n end: '\\\\}',\n excludeEnd: true,\n excludeBegin: true,\n relevance: 0\n },\n {\n className: 'variable',\n begin: IDENT_RE$1 + '(?=\\\\s*(-)|$)',\n endsParent: true,\n relevance: 0\n },\n // eat spaces (not newlines) so we can find\n // types or variables\n {\n begin: /(?=[^\\n])\\s/,\n relevance: 0\n }\n ]\n }\n ]\n }\n );\n const COMMENT = {\n className: \"comment\",\n variants: [\n JSDOC_COMMENT,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.C_LINE_COMMENT_MODE\n ]\n };\n const SUBST_INTERNALS = [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n GRAPHQL_TEMPLATE,\n TEMPLATE_STRING,\n // Skip numbers when they are part of a variable name\n { match: /\\$\\d+/ },\n NUMBER,\n // This is intentional:\n // See https://github.com/highlightjs/highlight.js/issues/3288\n // hljs.REGEXP_MODE\n ];\n SUBST.contains = SUBST_INTERNALS\n .concat({\n // we need to pair up {} inside our subst to prevent\n // it from ending too early by matching another }\n begin: /\\{/,\n end: /\\}/,\n keywords: KEYWORDS$1,\n contains: [\n \"self\"\n ].concat(SUBST_INTERNALS)\n });\n const SUBST_AND_COMMENTS = [].concat(COMMENT, SUBST.contains);\n const PARAMS_CONTAINS = SUBST_AND_COMMENTS.concat([\n // eat recursive parens in sub expressions\n {\n begin: /(\\s*)\\(/,\n end: /\\)/,\n keywords: KEYWORDS$1,\n contains: [\"self\"].concat(SUBST_AND_COMMENTS)\n }\n ]);\n const PARAMS = {\n className: 'params',\n // convert this to negative lookbehind in v12\n begin: /(\\s*)\\(/, // to match the parms with\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n };\n\n // ES6 classes\n const CLASS_OR_EXTENDS = {\n variants: [\n // class Car extends vehicle\n {\n match: [\n /class/,\n /\\s+/,\n IDENT_RE$1,\n /\\s+/,\n /extends/,\n /\\s+/,\n regex.concat(IDENT_RE$1, \"(\", regex.concat(/\\./, IDENT_RE$1), \")*\")\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\",\n 5: \"keyword\",\n 7: \"title.class.inherited\"\n }\n },\n // class Car\n {\n match: [\n /class/,\n /\\s+/,\n IDENT_RE$1\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\"\n }\n },\n\n ]\n };\n\n const CLASS_REFERENCE = {\n relevance: 0,\n match:\n regex.either(\n // Hard coded exceptions\n /\\bJSON/,\n // Float32Array, OutT\n /\\b[A-Z][a-z]+([A-Z][a-z]*|\\d)*/,\n // CSSFactory, CSSFactoryT\n /\\b[A-Z]{2,}([A-Z][a-z]+|\\d)+([A-Z][a-z]*)*/,\n // FPs, FPsT\n /\\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\\d)*([A-Z][a-z]*)*/,\n // P\n // single letters are not highlighted\n // BLAH\n // this will be flagged as a UPPER_CASE_CONSTANT instead\n ),\n className: \"title.class\",\n keywords: {\n _: [\n // se we still get relevance credit for JS library classes\n ...TYPES,\n ...ERROR_TYPES\n ]\n }\n };\n\n const USE_STRICT = {\n label: \"use_strict\",\n className: 'meta',\n relevance: 10,\n begin: /^\\s*['\"]use (strict|asm)['\"]/\n };\n\n const FUNCTION_DEFINITION = {\n variants: [\n {\n match: [\n /function/,\n /\\s+/,\n IDENT_RE$1,\n /(?=\\s*\\()/\n ]\n },\n // anonymous function\n {\n match: [\n /function/,\n /\\s*(?=\\()/\n ]\n }\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n label: \"func.def\",\n contains: [ PARAMS ],\n illegal: /%/\n };\n\n const UPPER_CASE_CONSTANT = {\n relevance: 0,\n match: /\\b[A-Z][A-Z_0-9]+\\b/,\n className: \"variable.constant\"\n };\n\n function noneOf(list) {\n return regex.concat(\"(?!\", list.join(\"|\"), \")\");\n }\n\n const FUNCTION_CALL = {\n match: regex.concat(\n /\\b/,\n noneOf([\n ...BUILT_IN_GLOBALS,\n \"super\",\n \"import\"\n ].map(x => `${x}\\\\s*\\\\(`)),\n IDENT_RE$1, regex.lookahead(/\\s*\\(/)),\n className: \"title.function\",\n relevance: 0\n };\n\n const PROPERTY_ACCESS = {\n begin: regex.concat(/\\./, regex.lookahead(\n regex.concat(IDENT_RE$1, /(?![0-9A-Za-z$_(])/)\n )),\n end: IDENT_RE$1,\n excludeBegin: true,\n keywords: \"prototype\",\n className: \"property\",\n relevance: 0\n };\n\n const GETTER_OR_SETTER = {\n match: [\n /get|set/,\n /\\s+/,\n IDENT_RE$1,\n /(?=\\()/\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n { // eat to avoid empty params\n begin: /\\(\\)/\n },\n PARAMS\n ]\n };\n\n const FUNC_LEAD_IN_RE = '(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)|' + hljs.UNDERSCORE_IDENT_RE + ')\\\\s*=>';\n\n const FUNCTION_VARIABLE = {\n match: [\n /const|var|let/, /\\s+/,\n IDENT_RE$1, /\\s*/,\n /=\\s*/,\n /(async\\s*)?/, // async is optional\n regex.lookahead(FUNC_LEAD_IN_RE)\n ],\n keywords: \"async\",\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n PARAMS\n ]\n };\n\n return {\n name: 'JavaScript',\n aliases: ['js', 'jsx', 'mjs', 'cjs'],\n keywords: KEYWORDS$1,\n // this will be extended by TypeScript\n exports: { PARAMS_CONTAINS, CLASS_REFERENCE },\n illegal: /#(?![$_A-z])/,\n contains: [\n hljs.SHEBANG({\n label: \"shebang\",\n binary: \"node\",\n relevance: 5\n }),\n USE_STRICT,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n GRAPHQL_TEMPLATE,\n TEMPLATE_STRING,\n COMMENT,\n // Skip numbers when they are part of a variable name\n { match: /\\$\\d+/ },\n NUMBER,\n CLASS_REFERENCE,\n {\n scope: 'attr',\n match: IDENT_RE$1 + regex.lookahead(':'),\n relevance: 0\n },\n FUNCTION_VARIABLE,\n { // \"value\" container\n begin: '(' + hljs.RE_STARTERS_RE + '|\\\\b(case|return|throw)\\\\b)\\\\s*',\n keywords: 'return throw case',\n relevance: 0,\n contains: [\n COMMENT,\n hljs.REGEXP_MODE,\n {\n className: 'function',\n // we have to count the parens to make sure we actually have the\n // correct bounding ( ) before the =>. There could be any number of\n // sub-expressions inside also surrounded by parens.\n begin: FUNC_LEAD_IN_RE,\n returnBegin: true,\n end: '\\\\s*=>',\n contains: [\n {\n className: 'params',\n variants: [\n {\n begin: hljs.UNDERSCORE_IDENT_RE,\n relevance: 0\n },\n {\n className: null,\n begin: /\\(\\s*\\)/,\n skip: true\n },\n {\n begin: /(\\s*)\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n }\n ]\n }\n ]\n },\n { // could be a comma delimited list of params to a function call\n begin: /,/,\n relevance: 0\n },\n {\n match: /\\s+/,\n relevance: 0\n },\n { // JSX\n variants: [\n { begin: FRAGMENT.begin, end: FRAGMENT.end },\n { match: XML_SELF_CLOSING },\n {\n begin: XML_TAG.begin,\n // we carefully check the opening tag to see if it truly\n // is a tag and not a false positive\n 'on:begin': XML_TAG.isTrulyOpeningTag,\n end: XML_TAG.end\n }\n ],\n subLanguage: 'xml',\n contains: [\n {\n begin: XML_TAG.begin,\n end: XML_TAG.end,\n skip: true,\n contains: ['self']\n }\n ]\n }\n ],\n },\n FUNCTION_DEFINITION,\n {\n // prevent this from getting swallowed up by function\n // since they appear \"function like\"\n beginKeywords: \"while if switch catch for\"\n },\n {\n // we have to count the parens to make sure we actually have the correct\n // bounding ( ). There could be any number of sub-expressions inside\n // also surrounded by parens.\n begin: '\\\\b(?!function)' + hljs.UNDERSCORE_IDENT_RE +\n '\\\\(' + // first parens\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)\\\\s*\\\\{', // end parens\n returnBegin:true,\n label: \"func.def\",\n contains: [\n PARAMS,\n hljs.inherit(hljs.TITLE_MODE, { begin: IDENT_RE$1, className: \"title.function\" })\n ]\n },\n // catch ... so it won't trigger the property rule below\n {\n match: /\\.\\.\\./,\n relevance: 0\n },\n PROPERTY_ACCESS,\n // hack: prevents detection of keywords in some circumstances\n // .keyword()\n // $keyword = x\n {\n match: '\\\\$' + IDENT_RE$1,\n relevance: 0\n },\n {\n match: [ /\\bconstructor(?=\\s*\\()/ ],\n className: { 1: \"title.function\" },\n contains: [ PARAMS ]\n },\n FUNCTION_CALL,\n UPPER_CASE_CONSTANT,\n CLASS_OR_EXTENDS,\n GETTER_OR_SETTER,\n {\n match: /\\$[(.]/ // relevance booster for a pattern common to JS libs: `$(something)` and `$.something`\n }\n ]\n };\n}\n\n/*\nLanguage: TypeScript\nAuthor: Panu Horsmalahti <panu.horsmalahti@iki.fi>\nContributors: Ike Ku <dempfi@yahoo.com>\nDescription: TypeScript is a strict superset of JavaScript\nWebsite: https://www.typescriptlang.org\nCategory: common, scripting\n*/\n\n\n/** @type LanguageFn */\nfunction typescript(hljs) {\n const regex = hljs.regex;\n const tsLanguage = javascript(hljs);\n\n const IDENT_RE$1 = IDENT_RE;\n const TYPES = [\n \"any\",\n \"void\",\n \"number\",\n \"boolean\",\n \"string\",\n \"object\",\n \"never\",\n \"symbol\",\n \"bigint\",\n \"unknown\"\n ];\n const NAMESPACE = {\n begin: [\n /namespace/,\n /\\s+/,\n hljs.IDENT_RE\n ],\n beginScope: {\n 1: \"keyword\",\n 3: \"title.class\"\n }\n };\n const INTERFACE = {\n beginKeywords: 'interface',\n end: /\\{/,\n excludeEnd: true,\n keywords: {\n keyword: 'interface extends',\n built_in: TYPES\n },\n contains: [ tsLanguage.exports.CLASS_REFERENCE ]\n };\n const USE_STRICT = {\n className: 'meta',\n relevance: 10,\n begin: /^\\s*['\"]use strict['\"]/\n };\n const TS_SPECIFIC_KEYWORDS = [\n \"type\",\n // \"namespace\",\n \"interface\",\n \"public\",\n \"private\",\n \"protected\",\n \"implements\",\n \"declare\",\n \"abstract\",\n \"readonly\",\n \"enum\",\n \"override\",\n \"satisfies\"\n ];\n /*\n namespace is a TS keyword but it's fine to use it as a variable name too.\n const message = 'foo';\n const namespace = 'bar';\n */\n const KEYWORDS$1 = {\n $pattern: IDENT_RE,\n keyword: KEYWORDS.concat(TS_SPECIFIC_KEYWORDS),\n literal: LITERALS,\n built_in: BUILT_INS.concat(TYPES),\n \"variable.language\": BUILT_IN_VARIABLES\n };\n\n const DECORATOR = {\n className: 'meta',\n begin: '@' + IDENT_RE$1,\n };\n\n const swapMode = (mode, label, replacement) => {\n const indx = mode.contains.findIndex(m => m.label === label);\n if (indx === -1) { throw new Error(\"can not find mode to replace\"); }\n\n mode.contains.splice(indx, 1, replacement);\n };\n\n\n // this should update anywhere keywords is used since\n // it will be the same actual JS object\n Object.assign(tsLanguage.keywords, KEYWORDS$1);\n\n tsLanguage.exports.PARAMS_CONTAINS.push(DECORATOR);\n\n // highlight the function params\n const ATTRIBUTE_HIGHLIGHT = tsLanguage.contains.find(c => c.scope === \"attr\");\n\n // take default attr rule and extend it to support optionals\n const OPTIONAL_KEY_OR_ARGUMENT = Object.assign({},\n ATTRIBUTE_HIGHLIGHT,\n { match: regex.concat(IDENT_RE$1, regex.lookahead(/\\s*\\?:/)) }\n );\n tsLanguage.exports.PARAMS_CONTAINS.push([\n tsLanguage.exports.CLASS_REFERENCE, // class reference for highlighting the params types\n ATTRIBUTE_HIGHLIGHT, // highlight the params key\n OPTIONAL_KEY_OR_ARGUMENT, // Added for optional property assignment highlighting\n ]);\n\n // Add the optional property assignment highlighting for objects or classes\n tsLanguage.contains = tsLanguage.contains.concat([\n DECORATOR,\n NAMESPACE,\n INTERFACE,\n OPTIONAL_KEY_OR_ARGUMENT, // Added for optional property assignment highlighting\n ]);\n\n // TS gets a simpler shebang rule than JS\n swapMode(tsLanguage, \"shebang\", hljs.SHEBANG());\n // JS use strict rule purposely excludes `asm` which makes no sense\n swapMode(tsLanguage, \"use_strict\", USE_STRICT);\n\n const functionDeclaration = tsLanguage.contains.find(m => m.label === \"func.def\");\n functionDeclaration.relevance = 0; // () => {} is more typical in TypeScript\n\n Object.assign(tsLanguage, {\n name: 'TypeScript',\n aliases: [\n 'ts',\n 'tsx',\n 'mts',\n 'cts'\n ]\n });\n\n return tsLanguage;\n}\n\nexport { typescript as default };\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"typescript-DUexJ4gh.js","names":[],"sources":["../node_modules/highlight.js/es/languages/typescript.js"],"sourcesContent":["const IDENT_RE = '[A-Za-z$_][0-9A-Za-z$_]*';\nconst KEYWORDS = [\n \"as\", // for exports\n \"in\",\n \"of\",\n \"if\",\n \"for\",\n \"while\",\n \"finally\",\n \"var\",\n \"new\",\n \"function\",\n \"do\",\n \"return\",\n \"void\",\n \"else\",\n \"break\",\n \"catch\",\n \"instanceof\",\n \"with\",\n \"throw\",\n \"case\",\n \"default\",\n \"try\",\n \"switch\",\n \"continue\",\n \"typeof\",\n \"delete\",\n \"let\",\n \"yield\",\n \"const\",\n \"class\",\n // JS handles these with a special rule\n // \"get\",\n // \"set\",\n \"debugger\",\n \"async\",\n \"await\",\n \"static\",\n \"import\",\n \"from\",\n \"export\",\n \"extends\",\n // It's reached stage 3, which is \"recommended for implementation\":\n \"using\"\n];\nconst LITERALS = [\n \"true\",\n \"false\",\n \"null\",\n \"undefined\",\n \"NaN\",\n \"Infinity\"\n];\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects\nconst TYPES = [\n // Fundamental objects\n \"Object\",\n \"Function\",\n \"Boolean\",\n \"Symbol\",\n // numbers and dates\n \"Math\",\n \"Date\",\n \"Number\",\n \"BigInt\",\n // text\n \"String\",\n \"RegExp\",\n // Indexed collections\n \"Array\",\n \"Float32Array\",\n \"Float64Array\",\n \"Int8Array\",\n \"Uint8Array\",\n \"Uint8ClampedArray\",\n \"Int16Array\",\n \"Int32Array\",\n \"Uint16Array\",\n \"Uint32Array\",\n \"BigInt64Array\",\n \"BigUint64Array\",\n // Keyed collections\n \"Set\",\n \"Map\",\n \"WeakSet\",\n \"WeakMap\",\n // Structured data\n \"ArrayBuffer\",\n \"SharedArrayBuffer\",\n \"Atomics\",\n \"DataView\",\n \"JSON\",\n // Control abstraction objects\n \"Promise\",\n \"Generator\",\n \"GeneratorFunction\",\n \"AsyncFunction\",\n // Reflection\n \"Reflect\",\n \"Proxy\",\n // Internationalization\n \"Intl\",\n // WebAssembly\n \"WebAssembly\"\n];\n\nconst ERROR_TYPES = [\n \"Error\",\n \"EvalError\",\n \"InternalError\",\n \"RangeError\",\n \"ReferenceError\",\n \"SyntaxError\",\n \"TypeError\",\n \"URIError\"\n];\n\nconst BUILT_IN_GLOBALS = [\n \"setInterval\",\n \"setTimeout\",\n \"clearInterval\",\n \"clearTimeout\",\n\n \"require\",\n \"exports\",\n\n \"eval\",\n \"isFinite\",\n \"isNaN\",\n \"parseFloat\",\n \"parseInt\",\n \"decodeURI\",\n \"decodeURIComponent\",\n \"encodeURI\",\n \"encodeURIComponent\",\n \"escape\",\n \"unescape\"\n];\n\nconst BUILT_IN_VARIABLES = [\n \"arguments\",\n \"this\",\n \"super\",\n \"console\",\n \"window\",\n \"document\",\n \"localStorage\",\n \"sessionStorage\",\n \"module\",\n \"global\" // Node.js\n];\n\nconst BUILT_INS = [].concat(\n BUILT_IN_GLOBALS,\n TYPES,\n ERROR_TYPES\n);\n\n/*\nLanguage: JavaScript\nDescription: JavaScript (JS) is a lightweight, interpreted, or just-in-time compiled programming language with first-class functions.\nCategory: common, scripting, web\nWebsite: https://developer.mozilla.org/en-US/docs/Web/JavaScript\n*/\n\n\n/** @type LanguageFn */\nfunction javascript(hljs) {\n const regex = hljs.regex;\n /**\n * Takes a string like \"<Booger\" and checks to see\n * if we can find a matching \"</Booger\" later in the\n * content.\n * @param {RegExpMatchArray} match\n * @param {{after:number}} param1\n */\n const hasClosingTag = (match, { after }) => {\n const tag = \"</\" + match[0].slice(1);\n const pos = match.input.indexOf(tag, after);\n return pos !== -1;\n };\n\n const IDENT_RE$1 = IDENT_RE;\n const FRAGMENT = {\n begin: '<>',\n end: '</>'\n };\n // to avoid some special cases inside isTrulyOpeningTag\n const XML_SELF_CLOSING = /<[A-Za-z0-9\\\\._:-]+\\s*\\/>/;\n const XML_TAG = {\n begin: /<[A-Za-z0-9\\\\._:-]+/,\n end: /\\/[A-Za-z0-9\\\\._:-]+>|\\/>/,\n /**\n * @param {RegExpMatchArray} match\n * @param {CallbackResponse} response\n */\n isTrulyOpeningTag: (match, response) => {\n const afterMatchIndex = match[0].length + match.index;\n const nextChar = match.input[afterMatchIndex];\n if (\n // HTML should not include another raw `<` inside a tag\n // nested type?\n // `<Array<Array<number>>`, etc.\n nextChar === \"<\" ||\n // the , gives away that this is not HTML\n // `<T, A extends keyof T, V>`\n nextChar === \",\"\n ) {\n response.ignoreMatch();\n return;\n }\n\n // `<something>`\n // Quite possibly a tag, lets look for a matching closing tag...\n if (nextChar === \">\") {\n // if we cannot find a matching closing tag, then we\n // will ignore it\n if (!hasClosingTag(match, { after: afterMatchIndex })) {\n response.ignoreMatch();\n }\n }\n\n // `<blah />` (self-closing)\n // handled by simpleSelfClosing rule\n\n let m;\n const afterMatch = match.input.substring(afterMatchIndex);\n\n // some more template typing stuff\n // <T = any>(key?: string) => Modify<\n if ((m = afterMatch.match(/^\\s*=/))) {\n response.ignoreMatch();\n return;\n }\n\n // `<From extends string>`\n // technically this could be HTML, but it smells like a type\n // NOTE: This is ugh, but added specifically for https://github.com/highlightjs/highlight.js/issues/3276\n if ((m = afterMatch.match(/^\\s+extends\\s+/))) {\n if (m.index === 0) {\n response.ignoreMatch();\n // eslint-disable-next-line no-useless-return\n return;\n }\n }\n }\n };\n const KEYWORDS$1 = {\n $pattern: IDENT_RE,\n keyword: KEYWORDS,\n literal: LITERALS,\n built_in: BUILT_INS,\n \"variable.language\": BUILT_IN_VARIABLES\n };\n\n // https://tc39.es/ecma262/#sec-literals-numeric-literals\n const decimalDigits = '[0-9](_?[0-9])*';\n const frac = `\\\\.(${decimalDigits})`;\n // DecimalIntegerLiteral, including Annex B NonOctalDecimalIntegerLiteral\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n const decimalInteger = `0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*`;\n const NUMBER = {\n className: 'number',\n variants: [\n // DecimalLiteral\n { begin: `(\\\\b(${decimalInteger})((${frac})|\\\\.)?|(${frac}))` +\n `[eE][+-]?(${decimalDigits})\\\\b` },\n { begin: `\\\\b(${decimalInteger})\\\\b((${frac})\\\\b|\\\\.)?|(${frac})\\\\b` },\n\n // DecimalBigIntegerLiteral\n { begin: `\\\\b(0|[1-9](_?[0-9])*)n\\\\b` },\n\n // NonDecimalIntegerLiteral\n { begin: \"\\\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\\\b\" },\n { begin: \"\\\\b0[bB][0-1](_?[0-1])*n?\\\\b\" },\n { begin: \"\\\\b0[oO][0-7](_?[0-7])*n?\\\\b\" },\n\n // LegacyOctalIntegerLiteral (does not include underscore separators)\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n { begin: \"\\\\b0[0-7]+n?\\\\b\" },\n ],\n relevance: 0\n };\n\n const SUBST = {\n className: 'subst',\n begin: '\\\\$\\\\{',\n end: '\\\\}',\n keywords: KEYWORDS$1,\n contains: [] // defined later\n };\n const HTML_TEMPLATE = {\n begin: '\\.?html`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'xml'\n }\n };\n const CSS_TEMPLATE = {\n begin: '\\.?css`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'css'\n }\n };\n const GRAPHQL_TEMPLATE = {\n begin: '\\.?gql`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'graphql'\n }\n };\n const TEMPLATE_STRING = {\n className: 'string',\n begin: '`',\n end: '`',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n };\n const JSDOC_COMMENT = hljs.COMMENT(\n /\\/\\*\\*(?!\\/)/,\n '\\\\*/',\n {\n relevance: 0,\n contains: [\n {\n begin: '(?=@[A-Za-z]+)',\n relevance: 0,\n contains: [\n {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n },\n {\n className: 'type',\n begin: '\\\\{',\n end: '\\\\}',\n excludeEnd: true,\n excludeBegin: true,\n relevance: 0\n },\n {\n className: 'variable',\n begin: IDENT_RE$1 + '(?=\\\\s*(-)|$)',\n endsParent: true,\n relevance: 0\n },\n // eat spaces (not newlines) so we can find\n // types or variables\n {\n begin: /(?=[^\\n])\\s/,\n relevance: 0\n }\n ]\n }\n ]\n }\n );\n const COMMENT = {\n className: \"comment\",\n variants: [\n JSDOC_COMMENT,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.C_LINE_COMMENT_MODE\n ]\n };\n const SUBST_INTERNALS = [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n GRAPHQL_TEMPLATE,\n TEMPLATE_STRING,\n // Skip numbers when they are part of a variable name\n { match: /\\$\\d+/ },\n NUMBER,\n // This is intentional:\n // See https://github.com/highlightjs/highlight.js/issues/3288\n // hljs.REGEXP_MODE\n ];\n SUBST.contains = SUBST_INTERNALS\n .concat({\n // we need to pair up {} inside our subst to prevent\n // it from ending too early by matching another }\n begin: /\\{/,\n end: /\\}/,\n keywords: KEYWORDS$1,\n contains: [\n \"self\"\n ].concat(SUBST_INTERNALS)\n });\n const SUBST_AND_COMMENTS = [].concat(COMMENT, SUBST.contains);\n const PARAMS_CONTAINS = SUBST_AND_COMMENTS.concat([\n // eat recursive parens in sub expressions\n {\n begin: /(\\s*)\\(/,\n end: /\\)/,\n keywords: KEYWORDS$1,\n contains: [\"self\"].concat(SUBST_AND_COMMENTS)\n }\n ]);\n const PARAMS = {\n className: 'params',\n // convert this to negative lookbehind in v12\n begin: /(\\s*)\\(/, // to match the parms with\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n };\n\n // ES6 classes\n const CLASS_OR_EXTENDS = {\n variants: [\n // class Car extends vehicle\n {\n match: [\n /class/,\n /\\s+/,\n IDENT_RE$1,\n /\\s+/,\n /extends/,\n /\\s+/,\n regex.concat(IDENT_RE$1, \"(\", regex.concat(/\\./, IDENT_RE$1), \")*\")\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\",\n 5: \"keyword\",\n 7: \"title.class.inherited\"\n }\n },\n // class Car\n {\n match: [\n /class/,\n /\\s+/,\n IDENT_RE$1\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\"\n }\n },\n\n ]\n };\n\n const CLASS_REFERENCE = {\n relevance: 0,\n match:\n regex.either(\n // Hard coded exceptions\n /\\bJSON/,\n // Float32Array, OutT\n /\\b[A-Z][a-z]+([A-Z][a-z]*|\\d)*/,\n // CSSFactory, CSSFactoryT\n /\\b[A-Z]{2,}([A-Z][a-z]+|\\d)+([A-Z][a-z]*)*/,\n // FPs, FPsT\n /\\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\\d)*([A-Z][a-z]*)*/,\n // P\n // single letters are not highlighted\n // BLAH\n // this will be flagged as a UPPER_CASE_CONSTANT instead\n ),\n className: \"title.class\",\n keywords: {\n _: [\n // se we still get relevance credit for JS library classes\n ...TYPES,\n ...ERROR_TYPES\n ]\n }\n };\n\n const USE_STRICT = {\n label: \"use_strict\",\n className: 'meta',\n relevance: 10,\n begin: /^\\s*['\"]use (strict|asm)['\"]/\n };\n\n const FUNCTION_DEFINITION = {\n variants: [\n {\n match: [\n /function/,\n /\\s+/,\n IDENT_RE$1,\n /(?=\\s*\\()/\n ]\n },\n // anonymous function\n {\n match: [\n /function/,\n /\\s*(?=\\()/\n ]\n }\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n label: \"func.def\",\n contains: [ PARAMS ],\n illegal: /%/\n };\n\n const UPPER_CASE_CONSTANT = {\n relevance: 0,\n match: /\\b[A-Z][A-Z_0-9]+\\b/,\n className: \"variable.constant\"\n };\n\n function noneOf(list) {\n return regex.concat(\"(?!\", list.join(\"|\"), \")\");\n }\n\n const FUNCTION_CALL = {\n match: regex.concat(\n /\\b/,\n noneOf([\n ...BUILT_IN_GLOBALS,\n \"super\",\n \"import\"\n ].map(x => `${x}\\\\s*\\\\(`)),\n IDENT_RE$1, regex.lookahead(/\\s*\\(/)),\n className: \"title.function\",\n relevance: 0\n };\n\n const PROPERTY_ACCESS = {\n begin: regex.concat(/\\./, regex.lookahead(\n regex.concat(IDENT_RE$1, /(?![0-9A-Za-z$_(])/)\n )),\n end: IDENT_RE$1,\n excludeBegin: true,\n keywords: \"prototype\",\n className: \"property\",\n relevance: 0\n };\n\n const GETTER_OR_SETTER = {\n match: [\n /get|set/,\n /\\s+/,\n IDENT_RE$1,\n /(?=\\()/\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n { // eat to avoid empty params\n begin: /\\(\\)/\n },\n PARAMS\n ]\n };\n\n const FUNC_LEAD_IN_RE = '(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)|' + hljs.UNDERSCORE_IDENT_RE + ')\\\\s*=>';\n\n const FUNCTION_VARIABLE = {\n match: [\n /const|var|let/, /\\s+/,\n IDENT_RE$1, /\\s*/,\n /=\\s*/,\n /(async\\s*)?/, // async is optional\n regex.lookahead(FUNC_LEAD_IN_RE)\n ],\n keywords: \"async\",\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n PARAMS\n ]\n };\n\n return {\n name: 'JavaScript',\n aliases: ['js', 'jsx', 'mjs', 'cjs'],\n keywords: KEYWORDS$1,\n // this will be extended by TypeScript\n exports: { PARAMS_CONTAINS, CLASS_REFERENCE },\n illegal: /#(?![$_A-z])/,\n contains: [\n hljs.SHEBANG({\n label: \"shebang\",\n binary: \"node\",\n relevance: 5\n }),\n USE_STRICT,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n GRAPHQL_TEMPLATE,\n TEMPLATE_STRING,\n COMMENT,\n // Skip numbers when they are part of a variable name\n { match: /\\$\\d+/ },\n NUMBER,\n CLASS_REFERENCE,\n {\n scope: 'attr',\n match: IDENT_RE$1 + regex.lookahead(':'),\n relevance: 0\n },\n FUNCTION_VARIABLE,\n { // \"value\" container\n begin: '(' + hljs.RE_STARTERS_RE + '|\\\\b(case|return|throw)\\\\b)\\\\s*',\n keywords: 'return throw case',\n relevance: 0,\n contains: [\n COMMENT,\n hljs.REGEXP_MODE,\n {\n className: 'function',\n // we have to count the parens to make sure we actually have the\n // correct bounding ( ) before the =>. There could be any number of\n // sub-expressions inside also surrounded by parens.\n begin: FUNC_LEAD_IN_RE,\n returnBegin: true,\n end: '\\\\s*=>',\n contains: [\n {\n className: 'params',\n variants: [\n {\n begin: hljs.UNDERSCORE_IDENT_RE,\n relevance: 0\n },\n {\n className: null,\n begin: /\\(\\s*\\)/,\n skip: true\n },\n {\n begin: /(\\s*)\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n }\n ]\n }\n ]\n },\n { // could be a comma delimited list of params to a function call\n begin: /,/,\n relevance: 0\n },\n {\n match: /\\s+/,\n relevance: 0\n },\n { // JSX\n variants: [\n { begin: FRAGMENT.begin, end: FRAGMENT.end },\n { match: XML_SELF_CLOSING },\n {\n begin: XML_TAG.begin,\n // we carefully check the opening tag to see if it truly\n // is a tag and not a false positive\n 'on:begin': XML_TAG.isTrulyOpeningTag,\n end: XML_TAG.end\n }\n ],\n subLanguage: 'xml',\n contains: [\n {\n begin: XML_TAG.begin,\n end: XML_TAG.end,\n skip: true,\n contains: ['self']\n }\n ]\n }\n ],\n },\n FUNCTION_DEFINITION,\n {\n // prevent this from getting swallowed up by function\n // since they appear \"function like\"\n beginKeywords: \"while if switch catch for\"\n },\n {\n // we have to count the parens to make sure we actually have the correct\n // bounding ( ). There could be any number of sub-expressions inside\n // also surrounded by parens.\n begin: '\\\\b(?!function)' + hljs.UNDERSCORE_IDENT_RE +\n '\\\\(' + // first parens\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)\\\\s*\\\\{', // end parens\n returnBegin:true,\n label: \"func.def\",\n contains: [\n PARAMS,\n hljs.inherit(hljs.TITLE_MODE, { begin: IDENT_RE$1, className: \"title.function\" })\n ]\n },\n // catch ... so it won't trigger the property rule below\n {\n match: /\\.\\.\\./,\n relevance: 0\n },\n PROPERTY_ACCESS,\n // hack: prevents detection of keywords in some circumstances\n // .keyword()\n // $keyword = x\n {\n match: '\\\\$' + IDENT_RE$1,\n relevance: 0\n },\n {\n match: [ /\\bconstructor(?=\\s*\\()/ ],\n className: { 1: \"title.function\" },\n contains: [ PARAMS ]\n },\n FUNCTION_CALL,\n UPPER_CASE_CONSTANT,\n CLASS_OR_EXTENDS,\n GETTER_OR_SETTER,\n {\n match: /\\$[(.]/ // relevance booster for a pattern common to JS libs: `$(something)` and `$.something`\n }\n ]\n };\n}\n\n/*\nLanguage: TypeScript\nAuthor: Panu Horsmalahti <panu.horsmalahti@iki.fi>\nContributors: Ike Ku <dempfi@yahoo.com>\nDescription: TypeScript is a strict superset of JavaScript\nWebsite: https://www.typescriptlang.org\nCategory: common, scripting\n*/\n\n\n/** @type LanguageFn */\nfunction typescript(hljs) {\n const regex = hljs.regex;\n const tsLanguage = javascript(hljs);\n\n const IDENT_RE$1 = IDENT_RE;\n const TYPES = [\n \"any\",\n \"void\",\n \"number\",\n \"boolean\",\n \"string\",\n \"object\",\n \"never\",\n \"symbol\",\n \"bigint\",\n \"unknown\"\n ];\n const NAMESPACE = {\n begin: [\n /namespace/,\n /\\s+/,\n hljs.IDENT_RE\n ],\n beginScope: {\n 1: \"keyword\",\n 3: \"title.class\"\n }\n };\n const INTERFACE = {\n beginKeywords: 'interface',\n end: /\\{/,\n excludeEnd: true,\n keywords: {\n keyword: 'interface extends',\n built_in: TYPES\n },\n contains: [ tsLanguage.exports.CLASS_REFERENCE ]\n };\n const USE_STRICT = {\n className: 'meta',\n relevance: 10,\n begin: /^\\s*['\"]use strict['\"]/\n };\n const TS_SPECIFIC_KEYWORDS = [\n \"type\",\n // \"namespace\",\n \"interface\",\n \"public\",\n \"private\",\n \"protected\",\n \"implements\",\n \"declare\",\n \"abstract\",\n \"readonly\",\n \"enum\",\n \"override\",\n \"satisfies\"\n ];\n /*\n namespace is a TS keyword but it's fine to use it as a variable name too.\n const message = 'foo';\n const namespace = 'bar';\n */\n const KEYWORDS$1 = {\n $pattern: IDENT_RE,\n keyword: KEYWORDS.concat(TS_SPECIFIC_KEYWORDS),\n literal: LITERALS,\n built_in: BUILT_INS.concat(TYPES),\n \"variable.language\": BUILT_IN_VARIABLES\n };\n\n const DECORATOR = {\n className: 'meta',\n begin: '@' + IDENT_RE$1,\n };\n\n const swapMode = (mode, label, replacement) => {\n const indx = mode.contains.findIndex(m => m.label === label);\n if (indx === -1) { throw new Error(\"can not find mode to replace\"); }\n\n mode.contains.splice(indx, 1, replacement);\n };\n\n\n // this should update anywhere keywords is used since\n // it will be the same actual JS object\n Object.assign(tsLanguage.keywords, KEYWORDS$1);\n\n tsLanguage.exports.PARAMS_CONTAINS.push(DECORATOR);\n\n // highlight the function params\n const ATTRIBUTE_HIGHLIGHT = tsLanguage.contains.find(c => c.scope === \"attr\");\n\n // take default attr rule and extend it to support optionals\n const OPTIONAL_KEY_OR_ARGUMENT = Object.assign({},\n ATTRIBUTE_HIGHLIGHT,\n { match: regex.concat(IDENT_RE$1, regex.lookahead(/\\s*\\?:/)) }\n );\n tsLanguage.exports.PARAMS_CONTAINS.push([\n tsLanguage.exports.CLASS_REFERENCE, // class reference for highlighting the params types\n ATTRIBUTE_HIGHLIGHT, // highlight the params key\n OPTIONAL_KEY_OR_ARGUMENT, // Added for optional property assignment highlighting\n ]);\n\n // Add the optional property assignment highlighting for objects or classes\n tsLanguage.contains = tsLanguage.contains.concat([\n DECORATOR,\n NAMESPACE,\n INTERFACE,\n OPTIONAL_KEY_OR_ARGUMENT, // Added for optional property assignment highlighting\n ]);\n\n // TS gets a simpler shebang rule than JS\n swapMode(tsLanguage, \"shebang\", hljs.SHEBANG());\n // JS use strict rule purposely excludes `asm` which makes no sense\n swapMode(tsLanguage, \"use_strict\", USE_STRICT);\n\n const functionDeclaration = tsLanguage.contains.find(m => m.label === \"func.def\");\n functionDeclaration.relevance = 0; // () => {} is more typical in TypeScript\n\n Object.assign(tsLanguage, {\n name: 'TypeScript',\n aliases: [\n 'ts',\n 'tsx',\n 'mts',\n 'cts'\n ]\n });\n\n return tsLanguage;\n}\n\nexport { typescript as default };\n"],"x_google_ignoreList":[0],"mappings":";AAAA,IAAM,IAAW,4BACX,IAAW,mQA4ChB,EACK,IAAW;CACf;CACA;CACA;CACA;CACA;CACA;CACD,EAGK,IAAQ,gZAkDb,EAEK,IAAc;CAClB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD,EAEK,IAAmB;CACvB;CACA;CACA;CACA;CAEA;CACA;CAEA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD,EAEK,IAAqB;CACzB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD,EAEK,IAAY,EAAE,CAAC,OACnB,GACA,GACA,EACD;AAWD,SAAS,EAAW,GAAM;CACxB,IAAM,IAAQ,EAAK,OAQb,KAAiB,GAAO,EAAE,eAAY;EAC1C,IAAM,IAAM,OAAO,EAAM,GAAG,MAAM,EAAE;AAEpC,SADY,EAAM,MAAM,QAAQ,GAAK,EAAM,KAC5B;IAGX,IAAa,GACb,IAAW;EACf,OAAO;EACP,KAAK;EACN,EAEK,IAAmB,6BACnB,IAAU;EACd,OAAO;EACP,KAAK;EAKL,oBAAoB,GAAO,MAAa;GACtC,IAAM,IAAkB,EAAM,GAAG,SAAS,EAAM,OAC1C,IAAW,EAAM,MAAM;AAC7B,OAIE,MAAa,OAGb,MAAa,KACX;AACF,MAAS,aAAa;AACtB;;AAKF,GAAI,MAAa,QAGV,EAAc,GAAO,EAAE,OAAO,GAAiB,CAAC,IACnD,EAAS,aAAa;GAO1B,IAAI,GACE,IAAa,EAAM,MAAM,UAAU,EAAgB;AAIzD,OAAK,IAAI,EAAW,MAAM,QAAQ,EAAG;AACnC,MAAS,aAAa;AACtB;;AAMF,QAAK,IAAI,EAAW,MAAM,iBAAiB,KACrC,EAAE,UAAU,GAAG;AACjB,MAAS,aAAa;AAEtB;;;EAIP,EACK,IAAa;EACjB,UAAU;EACV,SAAS;EACT,SAAS;EACT,UAAU;EACV,qBAAqB;EACtB,EAGK,IAAgB,mBAChB,IAAO,OAAO,EAAc,IAG5B,IAAiB,uCACjB,IAAS;EACb,WAAW;EACX,UAAU;GAER,EAAE,OAAO,QAAQ,EAAe,KAAK,EAAK,WAAW,EAAK,cAC3C,EAAc,OAAO;GACpC,EAAE,OAAO,OAAO,EAAe,QAAQ,EAAK,cAAc,EAAK,OAAO;GAGtE,EAAE,OAAO,8BAA8B;GAGvC,EAAE,OAAO,4CAA4C;GACrD,EAAE,OAAO,gCAAgC;GACzC,EAAE,OAAO,gCAAgC;GAIzC,EAAE,OAAO,mBAAmB;GAC7B;EACD,WAAW;EACZ,EAEK,IAAQ;EACZ,WAAW;EACX,OAAO;EACP,KAAK;EACL,UAAU;EACV,UAAU,EAAE;EACb,EACK,IAAgB;EACpB,OAAO;EACP,KAAK;EACL,QAAQ;GACN,KAAK;GACL,WAAW;GACX,UAAU,CACR,EAAK,kBACL,EACD;GACD,aAAa;GACd;EACF,EACK,IAAe;EACnB,OAAO;EACP,KAAK;EACL,QAAQ;GACN,KAAK;GACL,WAAW;GACX,UAAU,CACR,EAAK,kBACL,EACD;GACD,aAAa;GACd;EACF,EACK,IAAmB;EACvB,OAAO;EACP,KAAK;EACL,QAAQ;GACN,KAAK;GACL,WAAW;GACX,UAAU,CACR,EAAK,kBACL,EACD;GACD,aAAa;GACd;EACF,EACK,IAAkB;EACtB,WAAW;EACX,OAAO;EACP,KAAK;EACL,UAAU,CACR,EAAK,kBACL,EACD;EACF,EAwCK,IAAU;EACd,WAAW;EACX,UAAU;GAzCU,EAAK,QACzB,gBACA,QACA;IACE,WAAW;IACX,UAAU,CACR;KACE,OAAO;KACP,WAAW;KACX,UAAU;MACR;OACE,WAAW;OACX,OAAO;OACR;MACD;OACE,WAAW;OACX,OAAO;OACP,KAAK;OACL,YAAY;OACZ,cAAc;OACd,WAAW;OACZ;MACD;OACE,WAAW;OACX,OAAO,IAAa;OACpB,YAAY;OACZ,WAAW;OACZ;MAGD;OACE,OAAO;OACP,WAAW;OACZ;MACF;KACF,CACF;IACF,CACF;GAKG,EAAK;GACL,EAAK;GACN;EACF,EACK,IAAkB;EACtB,EAAK;EACL,EAAK;EACL;EACA;EACA;EACA;EAEA,EAAE,OAAO,SAAS;EAClB;EAID;AACD,GAAM,WAAW,EACd,OAAO;EAGN,OAAO;EACP,KAAK;EACL,UAAU;EACV,UAAU,CACR,OACD,CAAC,OAAO,EAAgB;EAC1B,CAAC;CACJ,IAAM,IAAqB,EAAE,CAAC,OAAO,GAAS,EAAM,SAAS,EACvD,IAAkB,EAAmB,OAAO,CAEhD;EACE,OAAO;EACP,KAAK;EACL,UAAU;EACV,UAAU,CAAC,OAAO,CAAC,OAAO,EAAmB;EAC9C,CACF,CAAC,EACI,IAAS;EACb,WAAW;EAEX,OAAO;EACP,KAAK;EACL,cAAc;EACd,YAAY;EACZ,UAAU;EACV,UAAU;EACX,EAGK,IAAmB,EACvB,UAAU,CAER;EACE,OAAO;GACL;GACA;GACA;GACA;GACA;GACA;GACA,EAAM,OAAO,GAAY,KAAK,EAAM,OAAO,MAAM,EAAW,EAAE,KAAK;GACpE;EACD,OAAO;GACL,GAAG;GACH,GAAG;GACH,GAAG;GACH,GAAG;GACJ;EACF,EAED;EACE,OAAO;GACL;GACA;GACA;GACD;EACD,OAAO;GACL,GAAG;GACH,GAAG;GACJ;EACF,CAEF,EACF,EAEK,IAAkB;EACtB,WAAW;EACX,OACA,EAAM,OAEJ,UAEA,kCAEA,8CAEA,mDAKD;EACD,WAAW;EACX,UAAU,EACR,GAAG,CAED,GAAG,GACH,GAAG,EACJ,EACF;EACF,EAEK,IAAa;EACjB,OAAO;EACP,WAAW;EACX,WAAW;EACX,OAAO;EACR,EAEK,IAAsB;EAC1B,UAAU,CACR,EACE,OAAO;GACL;GACA;GACA;GACA;GACD,EACF,EAED,EACE,OAAO,CACL,YACA,YACD,EACF,CACF;EACD,WAAW;GACT,GAAG;GACH,GAAG;GACJ;EACD,OAAO;EACP,UAAU,CAAE,EAAQ;EACpB,SAAS;EACV,EAEK,IAAsB;EAC1B,WAAW;EACX,OAAO;EACP,WAAW;EACZ;CAED,SAAS,EAAO,GAAM;AACpB,SAAO,EAAM,OAAO,OAAO,EAAK,KAAK,IAAI,EAAE,IAAI;;CAGjD,IAAM,IAAgB;EACpB,OAAO,EAAM,OACX,MACA,EAAO;GACL,GAAG;GACH;GACA;GACD,CAAC,KAAI,MAAK,GAAG,EAAE,SAAS,CAAC,EAC1B,GAAY,EAAM,UAAU,QAAQ,CAAC;EACvC,WAAW;EACX,WAAW;EACZ,EAEK,IAAkB;EACtB,OAAO,EAAM,OAAO,MAAM,EAAM,UAC9B,EAAM,OAAO,GAAY,qBAAqB,CAC/C,CAAC;EACF,KAAK;EACL,cAAc;EACd,UAAU;EACV,WAAW;EACX,WAAW;EACZ,EAEK,IAAmB;EACvB,OAAO;GACL;GACA;GACA;GACA;GACD;EACD,WAAW;GACT,GAAG;GACH,GAAG;GACJ;EACD,UAAU,CACR,EACE,OAAO,QACR,EACD,EACD;EACF,EAEK,IAAkB,6DAMb,EAAK,sBAAsB,WAEhC,IAAoB;EACxB,OAAO;GACL;GAAiB;GACjB;GAAY;GACZ;GACA;GACA,EAAM,UAAU,EAAgB;GACjC;EACD,UAAU;EACV,WAAW;GACT,GAAG;GACH,GAAG;GACJ;EACD,UAAU,CACR,EACD;EACF;AAED,QAAO;EACL,MAAM;EACN,SAAS;GAAC;GAAM;GAAO;GAAO;GAAM;EACpC,UAAU;EAEV,SAAS;GAAE;GAAiB;GAAiB;EAC7C,SAAS;EACT,UAAU;GACR,EAAK,QAAQ;IACX,OAAO;IACP,QAAQ;IACR,WAAW;IACZ,CAAC;GACF;GACA,EAAK;GACL,EAAK;GACL;GACA;GACA;GACA;GACA;GAEA,EAAE,OAAO,SAAS;GAClB;GACA;GACA;IACE,OAAO;IACP,OAAO,IAAa,EAAM,UAAU,IAAI;IACxC,WAAW;IACZ;GACD;GACA;IACE,OAAO,MAAM,EAAK,iBAAiB;IACnC,UAAU;IACV,WAAW;IACX,UAAU;KACR;KACA,EAAK;KACL;MACE,WAAW;MAIX,OAAO;MACP,aAAa;MACb,KAAK;MACL,UAAU,CACR;OACE,WAAW;OACX,UAAU;QACR;SACE,OAAO,EAAK;SACZ,WAAW;SACZ;QACD;SACE,WAAW;SACX,OAAO;SACP,MAAM;SACP;QACD;SACE,OAAO;SACP,KAAK;SACL,cAAc;SACd,YAAY;SACZ,UAAU;SACV,UAAU;SACX;QACF;OACF,CACF;MACF;KACD;MACE,OAAO;MACP,WAAW;MACZ;KACD;MACE,OAAO;MACP,WAAW;MACZ;KACD;MACE,UAAU;OACR;QAAE,OAAO,EAAS;QAAO,KAAK,EAAS;QAAK;OAC5C,EAAE,OAAO,GAAkB;OAC3B;QACE,OAAO,EAAQ;QAGf,YAAY,EAAQ;QACpB,KAAK,EAAQ;QACd;OACF;MACD,aAAa;MACb,UAAU,CACR;OACE,OAAO,EAAQ;OACf,KAAK,EAAQ;OACb,MAAM;OACN,UAAU,CAAC,OAAO;OACnB,CACF;MACF;KACF;IACF;GACD;GACA,EAGE,eAAe,6BAChB;GACD;IAIE,OAAO,oBAAoB,EAAK,sBAC9B;IAOF,aAAY;IACZ,OAAO;IACP,UAAU,CACR,GACA,EAAK,QAAQ,EAAK,YAAY;KAAE,OAAO;KAAY,WAAW;KAAkB,CAAC,CAClF;IACF;GAED;IACE,OAAO;IACP,WAAW;IACZ;GACD;GAIA;IACE,OAAO,QAAQ;IACf,WAAW;IACZ;GACD;IACE,OAAO,CAAE,yBAA0B;IACnC,WAAW,EAAE,GAAG,kBAAkB;IAClC,UAAU,CAAE,EAAQ;IACrB;GACD;GACA;GACA;GACA;GACA,EACE,OAAO,UACR;GACF;EACF;;AAcH,SAAS,EAAW,GAAM;CACxB,IAAM,IAAQ,EAAK,OACb,IAAa,EAAW,EAAK,EAE7B,IAAa,GACb,IAAQ;EACZ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,EACK,IAAY;EAChB,OAAO;GACL;GACA;GACA,EAAK;GACN;EACD,YAAY;GACV,GAAG;GACH,GAAG;GACJ;EACF,EACK,IAAY;EAChB,eAAe;EACf,KAAK;EACL,YAAY;EACZ,UAAU;GACR,SAAS;GACT,UAAU;GACX;EACD,UAAU,CAAE,EAAW,QAAQ,gBAAiB;EACjD,EACK,IAAa;EACjB,WAAW;EACX,WAAW;EACX,OAAO;EACR,EAqBK,IAAa;EACjB,UAAU;EACV,SAAS,EAAS,OAtBS;GAC3B;GAEA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CAQ+C;EAC9C,SAAS;EACT,UAAU,EAAU,OAAO,EAAM;EACjC,qBAAqB;EACtB,EAEK,IAAY;EAChB,WAAW;EACX,OAAO,MAAM;EACd,EAEK,KAAY,GAAM,GAAO,MAAgB;EAC7C,IAAM,IAAO,EAAK,SAAS,WAAU,MAAK,EAAE,UAAU,EAAM;AAC5D,MAAI,MAAS,GAAM,OAAU,MAAM,+BAA+B;AAElE,IAAK,SAAS,OAAO,GAAM,GAAG,EAAY;;AAQ5C,CAFA,OAAO,OAAO,EAAW,UAAU,EAAW,EAE9C,EAAW,QAAQ,gBAAgB,KAAK,EAAU;CAGlD,IAAM,IAAsB,EAAW,SAAS,MAAK,MAAK,EAAE,UAAU,OAAO,EAGvE,IAA2B,OAAO,OAAO,EAAE,EAC/C,GACA,EAAE,OAAO,EAAM,OAAO,GAAY,EAAM,UAAU,SAAS,CAAC,EAAE,CAC/D;AAkBD,CAjBA,EAAW,QAAQ,gBAAgB,KAAK;EACtC,EAAW,QAAQ;EACnB;EACA;EACD,CAAC,EAGF,EAAW,WAAW,EAAW,SAAS,OAAO;EAC/C;EACA;EACA;EACA;EACD,CAAC,EAGF,EAAS,GAAY,WAAW,EAAK,SAAS,CAAC,EAE/C,EAAS,GAAY,cAAc,EAAW;CAE9C,IAAM,IAAsB,EAAW,SAAS,MAAK,MAAK,EAAE,UAAU,WAAW;AAajF,QAZA,EAAoB,YAAY,GAEhC,OAAO,OAAO,GAAY;EACxB,MAAM;EACN,SAAS;GACP;GACA;GACA;GACA;GACD;EACF,CAAC,EAEK"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
var e=`[A-Za-z$_][0-9A-Za-z$_]*`,t=`as.in.of.if.for.while.finally.var.new.function.do.return.void.else.break.catch.instanceof.with.throw.case.default.try.switch.continue.typeof.delete.let.yield.const.class.debugger.async.await.static.import.from.export.extends.using`.split(`.`),n=[`true`,`false`,`null`,`undefined`,`NaN`,`Infinity`],r=`Object.Function.Boolean.Symbol.Math.Date.Number.BigInt.String.RegExp.Array.Float32Array.Float64Array.Int8Array.Uint8Array.Uint8ClampedArray.Int16Array.Int32Array.Uint16Array.Uint32Array.BigInt64Array.BigUint64Array.Set.Map.WeakSet.WeakMap.ArrayBuffer.SharedArrayBuffer.Atomics.DataView.JSON.Promise.Generator.GeneratorFunction.AsyncFunction.Reflect.Proxy.Intl.WebAssembly`.split(`.`),i=[`Error`,`EvalError`,`InternalError`,`RangeError`,`ReferenceError`,`SyntaxError`,`TypeError`,`URIError`],a=[`setInterval`,`setTimeout`,`clearInterval`,`clearTimeout`,`require`,`exports`,`eval`,`isFinite`,`isNaN`,`parseFloat`,`parseInt`,`decodeURI`,`decodeURIComponent`,`encodeURI`,`encodeURIComponent`,`escape`,`unescape`],o=[`arguments`,`this`,`super`,`console`,`window`,`document`,`localStorage`,`sessionStorage`,`module`,`global`],s=[].concat(a,r,i);function c(c){let l=c.regex,u=(e,{after:t})=>{let n=`</`+e[0].slice(1);return e.input.indexOf(n,t)!==-1},d=e,f={begin:`<>`,end:`</>`},p=/<[A-Za-z0-9\\._:-]+\s*\/>/,m={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,t)=>{let n=e[0].length+e.index,r=e.input[n];if(r===`<`||r===`,`){t.ignoreMatch();return}r===`>`&&(u(e,{after:n})||t.ignoreMatch());let i,a=e.input.substring(n);if(i=a.match(/^\s*=/)){t.ignoreMatch();return}if((i=a.match(/^\s+extends\s+/))&&i.index===0){t.ignoreMatch();return}}},h={$pattern:e,keyword:t,literal:n,built_in:s,"variable.language":o},g=`[0-9](_?[0-9])*`,_=`\\.(${g})`,v=`0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*`,y={className:`number`,variants:[{begin:`(\\b(${v})((${_})|\\.)?|(${_}))[eE][+-]?(${g})\\b`},{begin:`\\b(${v})\\b((${_})\\b|\\.)?|(${_})\\b`},{begin:`\\b(0|[1-9](_?[0-9])*)n\\b`},{begin:`\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b`},{begin:`\\b0[bB][0-1](_?[0-1])*n?\\b`},{begin:`\\b0[oO][0-7](_?[0-7])*n?\\b`},{begin:`\\b0[0-7]+n?\\b`}],relevance:0},b={className:`subst`,begin:`\\$\\{`,end:`\\}`,keywords:h,contains:[]},x={begin:".?html`",end:``,starts:{end:"`",returnEnd:!1,contains:[c.BACKSLASH_ESCAPE,b],subLanguage:`xml`}},S={begin:".?css`",end:``,starts:{end:"`",returnEnd:!1,contains:[c.BACKSLASH_ESCAPE,b],subLanguage:`css`}},C={begin:".?gql`",end:``,starts:{end:"`",returnEnd:!1,contains:[c.BACKSLASH_ESCAPE,b],subLanguage:`graphql`}},w={className:`string`,begin:"`",end:"`",contains:[c.BACKSLASH_ESCAPE,b]},T={className:`comment`,variants:[c.COMMENT(/\/\*\*(?!\/)/,`\\*/`,{relevance:0,contains:[{begin:`(?=@[A-Za-z]+)`,relevance:0,contains:[{className:`doctag`,begin:`@[A-Za-z]+`},{className:`type`,begin:`\\{`,end:`\\}`,excludeEnd:!0,excludeBegin:!0,relevance:0},{className:`variable`,begin:d+`(?=\\s*(-)|$)`,endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),c.C_BLOCK_COMMENT_MODE,c.C_LINE_COMMENT_MODE]},E=[c.APOS_STRING_MODE,c.QUOTE_STRING_MODE,x,S,C,w,{match:/\$\d+/},y];b.contains=E.concat({begin:/\{/,end:/\}/,keywords:h,contains:[`self`].concat(E)});let D=[].concat(T,b.contains),O=D.concat([{begin:/(\s*)\(/,end:/\)/,keywords:h,contains:[`self`].concat(D)}]),k={className:`params`,begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:h,contains:O},A={variants:[{match:[/class/,/\s+/,d,/\s+/,/extends/,/\s+/,l.concat(d,`(`,l.concat(/\./,d),`)*`)],scope:{1:`keyword`,3:`title.class`,5:`keyword`,7:`title.class.inherited`}},{match:[/class/,/\s+/,d],scope:{1:`keyword`,3:`title.class`}}]},j={relevance:0,match:l.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:`title.class`,keywords:{_:[...r,...i]}},M={label:`use_strict`,className:`meta`,relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},N={variants:[{match:[/function/,/\s+/,d,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:`keyword`,3:`title.function`},label:`func.def`,contains:[k],illegal:/%/},P={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:`variable.constant`};function F(e){return l.concat(`(?!`,e.join(`|`),`)`)}let I={match:l.concat(/\b/,F([...a,`super`,`import`].map(e=>`${e}\\s*\\(`)),d,l.lookahead(/\s*\(/)),className:`title.function`,relevance:0},L={begin:l.concat(/\./,l.lookahead(l.concat(d,/(?![0-9A-Za-z$_(])/))),end:d,excludeBegin:!0,keywords:`prototype`,className:`property`,relevance:0},R={match:[/get|set/,/\s+/,d,/(?=\()/],className:{1:`keyword`,3:`title.function`},contains:[{begin:/\(\)/},k]},z=`(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|`+c.UNDERSCORE_IDENT_RE+`)\\s*=>`,B={match:[/const|var|let/,/\s+/,d,/\s*/,/=\s*/,/(async\s*)?/,l.lookahead(z)],keywords:`async`,className:{1:`keyword`,3:`title.function`},contains:[k]};return{name:`JavaScript`,aliases:[`js`,`jsx`,`mjs`,`cjs`],keywords:h,exports:{PARAMS_CONTAINS:O,CLASS_REFERENCE:j},illegal:/#(?![$_A-z])/,contains:[c.SHEBANG({label:`shebang`,binary:`node`,relevance:5}),M,c.APOS_STRING_MODE,c.QUOTE_STRING_MODE,x,S,C,w,T,{match:/\$\d+/},y,j,{scope:`attr`,match:d+l.lookahead(`:`),relevance:0},B,{begin:`(`+c.RE_STARTERS_RE+`|\\b(case|return|throw)\\b)\\s*`,keywords:`return throw case`,relevance:0,contains:[T,c.REGEXP_MODE,{className:`function`,begin:z,returnBegin:!0,end:`\\s*=>`,contains:[{className:`params`,variants:[{begin:c.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:h,contains:O}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:f.begin,end:f.end},{match:p},{begin:m.begin,"on:begin":m.isTrulyOpeningTag,end:m.end}],subLanguage:`xml`,contains:[{begin:m.begin,end:m.end,skip:!0,contains:[`self`]}]}]},N,{beginKeywords:`while if switch catch for`},{begin:`\\b(?!function)`+c.UNDERSCORE_IDENT_RE+`\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{`,returnBegin:!0,label:`func.def`,contains:[k,c.inherit(c.TITLE_MODE,{begin:d,className:`title.function`})]},{match:/\.\.\./,relevance:0},L,{match:`\\$`+d,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:`title.function`},contains:[k]},I,P,A,R,{match:/\$[(.]/}]}}function l(r){let i=r.regex,a=c(r),l=e,u=[`any`,`void`,`number`,`boolean`,`string`,`object`,`never`,`symbol`,`bigint`,`unknown`],d={begin:[/namespace/,/\s+/,r.IDENT_RE],beginScope:{1:`keyword`,3:`title.class`}},f={beginKeywords:`interface`,end:/\{/,excludeEnd:!0,keywords:{keyword:`interface extends`,built_in:u},contains:[a.exports.CLASS_REFERENCE]},p={className:`meta`,relevance:10,begin:/^\s*['"]use strict['"]/},m={$pattern:e,keyword:t.concat([`type`,`interface`,`public`,`private`,`protected`,`implements`,`declare`,`abstract`,`readonly`,`enum`,`override`,`satisfies`]),literal:n,built_in:s.concat(u),"variable.language":o},h={className:`meta`,begin:`@`+l},g=(e,t,n)=>{let r=e.contains.findIndex(e=>e.label===t);if(r===-1)throw Error(`can not find mode to replace`);e.contains.splice(r,1,n)};Object.assign(a.keywords,m),a.exports.PARAMS_CONTAINS.push(h);let _=a.contains.find(e=>e.scope===`attr`),v=Object.assign({},_,{match:i.concat(l,i.lookahead(/\s*\?:/))});a.exports.PARAMS_CONTAINS.push([a.exports.CLASS_REFERENCE,_,v]),a.contains=a.contains.concat([h,d,f,v]),g(a,`shebang`,r.SHEBANG()),g(a,`use_strict`,p);let y=a.contains.find(e=>e.label===`func.def`);return y.relevance=0,Object.assign(a,{name:`TypeScript`,aliases:[`ts`,`tsx`,`mts`,`cts`]}),a}exports.default=l;
|
|
2
|
-
//# sourceMappingURL=typescript-
|
|
2
|
+
//# sourceMappingURL=typescript-QKlfKtex.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-CRgqVaw_.cjs","names":[],"sources":["../node_modules/highlight.js/es/languages/typescript.js"],"sourcesContent":["const IDENT_RE = '[A-Za-z$_][0-9A-Za-z$_]*';\nconst KEYWORDS = [\n \"as\", // for exports\n \"in\",\n \"of\",\n \"if\",\n \"for\",\n \"while\",\n \"finally\",\n \"var\",\n \"new\",\n \"function\",\n \"do\",\n \"return\",\n \"void\",\n \"else\",\n \"break\",\n \"catch\",\n \"instanceof\",\n \"with\",\n \"throw\",\n \"case\",\n \"default\",\n \"try\",\n \"switch\",\n \"continue\",\n \"typeof\",\n \"delete\",\n \"let\",\n \"yield\",\n \"const\",\n \"class\",\n // JS handles these with a special rule\n // \"get\",\n // \"set\",\n \"debugger\",\n \"async\",\n \"await\",\n \"static\",\n \"import\",\n \"from\",\n \"export\",\n \"extends\",\n // It's reached stage 3, which is \"recommended for implementation\":\n \"using\"\n];\nconst LITERALS = [\n \"true\",\n \"false\",\n \"null\",\n \"undefined\",\n \"NaN\",\n \"Infinity\"\n];\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects\nconst TYPES = [\n // Fundamental objects\n \"Object\",\n \"Function\",\n \"Boolean\",\n \"Symbol\",\n // numbers and dates\n \"Math\",\n \"Date\",\n \"Number\",\n \"BigInt\",\n // text\n \"String\",\n \"RegExp\",\n // Indexed collections\n \"Array\",\n \"Float32Array\",\n \"Float64Array\",\n \"Int8Array\",\n \"Uint8Array\",\n \"Uint8ClampedArray\",\n \"Int16Array\",\n \"Int32Array\",\n \"Uint16Array\",\n \"Uint32Array\",\n \"BigInt64Array\",\n \"BigUint64Array\",\n // Keyed collections\n \"Set\",\n \"Map\",\n \"WeakSet\",\n \"WeakMap\",\n // Structured data\n \"ArrayBuffer\",\n \"SharedArrayBuffer\",\n \"Atomics\",\n \"DataView\",\n \"JSON\",\n // Control abstraction objects\n \"Promise\",\n \"Generator\",\n \"GeneratorFunction\",\n \"AsyncFunction\",\n // Reflection\n \"Reflect\",\n \"Proxy\",\n // Internationalization\n \"Intl\",\n // WebAssembly\n \"WebAssembly\"\n];\n\nconst ERROR_TYPES = [\n \"Error\",\n \"EvalError\",\n \"InternalError\",\n \"RangeError\",\n \"ReferenceError\",\n \"SyntaxError\",\n \"TypeError\",\n \"URIError\"\n];\n\nconst BUILT_IN_GLOBALS = [\n \"setInterval\",\n \"setTimeout\",\n \"clearInterval\",\n \"clearTimeout\",\n\n \"require\",\n \"exports\",\n\n \"eval\",\n \"isFinite\",\n \"isNaN\",\n \"parseFloat\",\n \"parseInt\",\n \"decodeURI\",\n \"decodeURIComponent\",\n \"encodeURI\",\n \"encodeURIComponent\",\n \"escape\",\n \"unescape\"\n];\n\nconst BUILT_IN_VARIABLES = [\n \"arguments\",\n \"this\",\n \"super\",\n \"console\",\n \"window\",\n \"document\",\n \"localStorage\",\n \"sessionStorage\",\n \"module\",\n \"global\" // Node.js\n];\n\nconst BUILT_INS = [].concat(\n BUILT_IN_GLOBALS,\n TYPES,\n ERROR_TYPES\n);\n\n/*\nLanguage: JavaScript\nDescription: JavaScript (JS) is a lightweight, interpreted, or just-in-time compiled programming language with first-class functions.\nCategory: common, scripting, web\nWebsite: https://developer.mozilla.org/en-US/docs/Web/JavaScript\n*/\n\n\n/** @type LanguageFn */\nfunction javascript(hljs) {\n const regex = hljs.regex;\n /**\n * Takes a string like \"<Booger\" and checks to see\n * if we can find a matching \"</Booger\" later in the\n * content.\n * @param {RegExpMatchArray} match\n * @param {{after:number}} param1\n */\n const hasClosingTag = (match, { after }) => {\n const tag = \"</\" + match[0].slice(1);\n const pos = match.input.indexOf(tag, after);\n return pos !== -1;\n };\n\n const IDENT_RE$1 = IDENT_RE;\n const FRAGMENT = {\n begin: '<>',\n end: '</>'\n };\n // to avoid some special cases inside isTrulyOpeningTag\n const XML_SELF_CLOSING = /<[A-Za-z0-9\\\\._:-]+\\s*\\/>/;\n const XML_TAG = {\n begin: /<[A-Za-z0-9\\\\._:-]+/,\n end: /\\/[A-Za-z0-9\\\\._:-]+>|\\/>/,\n /**\n * @param {RegExpMatchArray} match\n * @param {CallbackResponse} response\n */\n isTrulyOpeningTag: (match, response) => {\n const afterMatchIndex = match[0].length + match.index;\n const nextChar = match.input[afterMatchIndex];\n if (\n // HTML should not include another raw `<` inside a tag\n // nested type?\n // `<Array<Array<number>>`, etc.\n nextChar === \"<\" ||\n // the , gives away that this is not HTML\n // `<T, A extends keyof T, V>`\n nextChar === \",\"\n ) {\n response.ignoreMatch();\n return;\n }\n\n // `<something>`\n // Quite possibly a tag, lets look for a matching closing tag...\n if (nextChar === \">\") {\n // if we cannot find a matching closing tag, then we\n // will ignore it\n if (!hasClosingTag(match, { after: afterMatchIndex })) {\n response.ignoreMatch();\n }\n }\n\n // `<blah />` (self-closing)\n // handled by simpleSelfClosing rule\n\n let m;\n const afterMatch = match.input.substring(afterMatchIndex);\n\n // some more template typing stuff\n // <T = any>(key?: string) => Modify<\n if ((m = afterMatch.match(/^\\s*=/))) {\n response.ignoreMatch();\n return;\n }\n\n // `<From extends string>`\n // technically this could be HTML, but it smells like a type\n // NOTE: This is ugh, but added specifically for https://github.com/highlightjs/highlight.js/issues/3276\n if ((m = afterMatch.match(/^\\s+extends\\s+/))) {\n if (m.index === 0) {\n response.ignoreMatch();\n // eslint-disable-next-line no-useless-return\n return;\n }\n }\n }\n };\n const KEYWORDS$1 = {\n $pattern: IDENT_RE,\n keyword: KEYWORDS,\n literal: LITERALS,\n built_in: BUILT_INS,\n \"variable.language\": BUILT_IN_VARIABLES\n };\n\n // https://tc39.es/ecma262/#sec-literals-numeric-literals\n const decimalDigits = '[0-9](_?[0-9])*';\n const frac = `\\\\.(${decimalDigits})`;\n // DecimalIntegerLiteral, including Annex B NonOctalDecimalIntegerLiteral\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n const decimalInteger = `0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*`;\n const NUMBER = {\n className: 'number',\n variants: [\n // DecimalLiteral\n { begin: `(\\\\b(${decimalInteger})((${frac})|\\\\.)?|(${frac}))` +\n `[eE][+-]?(${decimalDigits})\\\\b` },\n { begin: `\\\\b(${decimalInteger})\\\\b((${frac})\\\\b|\\\\.)?|(${frac})\\\\b` },\n\n // DecimalBigIntegerLiteral\n { begin: `\\\\b(0|[1-9](_?[0-9])*)n\\\\b` },\n\n // NonDecimalIntegerLiteral\n { begin: \"\\\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\\\b\" },\n { begin: \"\\\\b0[bB][0-1](_?[0-1])*n?\\\\b\" },\n { begin: \"\\\\b0[oO][0-7](_?[0-7])*n?\\\\b\" },\n\n // LegacyOctalIntegerLiteral (does not include underscore separators)\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n { begin: \"\\\\b0[0-7]+n?\\\\b\" },\n ],\n relevance: 0\n };\n\n const SUBST = {\n className: 'subst',\n begin: '\\\\$\\\\{',\n end: '\\\\}',\n keywords: KEYWORDS$1,\n contains: [] // defined later\n };\n const HTML_TEMPLATE = {\n begin: '\\.?html`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'xml'\n }\n };\n const CSS_TEMPLATE = {\n begin: '\\.?css`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'css'\n }\n };\n const GRAPHQL_TEMPLATE = {\n begin: '\\.?gql`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'graphql'\n }\n };\n const TEMPLATE_STRING = {\n className: 'string',\n begin: '`',\n end: '`',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n };\n const JSDOC_COMMENT = hljs.COMMENT(\n /\\/\\*\\*(?!\\/)/,\n '\\\\*/',\n {\n relevance: 0,\n contains: [\n {\n begin: '(?=@[A-Za-z]+)',\n relevance: 0,\n contains: [\n {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n },\n {\n className: 'type',\n begin: '\\\\{',\n end: '\\\\}',\n excludeEnd: true,\n excludeBegin: true,\n relevance: 0\n },\n {\n className: 'variable',\n begin: IDENT_RE$1 + '(?=\\\\s*(-)|$)',\n endsParent: true,\n relevance: 0\n },\n // eat spaces (not newlines) so we can find\n // types or variables\n {\n begin: /(?=[^\\n])\\s/,\n relevance: 0\n }\n ]\n }\n ]\n }\n );\n const COMMENT = {\n className: \"comment\",\n variants: [\n JSDOC_COMMENT,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.C_LINE_COMMENT_MODE\n ]\n };\n const SUBST_INTERNALS = [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n GRAPHQL_TEMPLATE,\n TEMPLATE_STRING,\n // Skip numbers when they are part of a variable name\n { match: /\\$\\d+/ },\n NUMBER,\n // This is intentional:\n // See https://github.com/highlightjs/highlight.js/issues/3288\n // hljs.REGEXP_MODE\n ];\n SUBST.contains = SUBST_INTERNALS\n .concat({\n // we need to pair up {} inside our subst to prevent\n // it from ending too early by matching another }\n begin: /\\{/,\n end: /\\}/,\n keywords: KEYWORDS$1,\n contains: [\n \"self\"\n ].concat(SUBST_INTERNALS)\n });\n const SUBST_AND_COMMENTS = [].concat(COMMENT, SUBST.contains);\n const PARAMS_CONTAINS = SUBST_AND_COMMENTS.concat([\n // eat recursive parens in sub expressions\n {\n begin: /(\\s*)\\(/,\n end: /\\)/,\n keywords: KEYWORDS$1,\n contains: [\"self\"].concat(SUBST_AND_COMMENTS)\n }\n ]);\n const PARAMS = {\n className: 'params',\n // convert this to negative lookbehind in v12\n begin: /(\\s*)\\(/, // to match the parms with\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n };\n\n // ES6 classes\n const CLASS_OR_EXTENDS = {\n variants: [\n // class Car extends vehicle\n {\n match: [\n /class/,\n /\\s+/,\n IDENT_RE$1,\n /\\s+/,\n /extends/,\n /\\s+/,\n regex.concat(IDENT_RE$1, \"(\", regex.concat(/\\./, IDENT_RE$1), \")*\")\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\",\n 5: \"keyword\",\n 7: \"title.class.inherited\"\n }\n },\n // class Car\n {\n match: [\n /class/,\n /\\s+/,\n IDENT_RE$1\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\"\n }\n },\n\n ]\n };\n\n const CLASS_REFERENCE = {\n relevance: 0,\n match:\n regex.either(\n // Hard coded exceptions\n /\\bJSON/,\n // Float32Array, OutT\n /\\b[A-Z][a-z]+([A-Z][a-z]*|\\d)*/,\n // CSSFactory, CSSFactoryT\n /\\b[A-Z]{2,}([A-Z][a-z]+|\\d)+([A-Z][a-z]*)*/,\n // FPs, FPsT\n /\\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\\d)*([A-Z][a-z]*)*/,\n // P\n // single letters are not highlighted\n // BLAH\n // this will be flagged as a UPPER_CASE_CONSTANT instead\n ),\n className: \"title.class\",\n keywords: {\n _: [\n // se we still get relevance credit for JS library classes\n ...TYPES,\n ...ERROR_TYPES\n ]\n }\n };\n\n const USE_STRICT = {\n label: \"use_strict\",\n className: 'meta',\n relevance: 10,\n begin: /^\\s*['\"]use (strict|asm)['\"]/\n };\n\n const FUNCTION_DEFINITION = {\n variants: [\n {\n match: [\n /function/,\n /\\s+/,\n IDENT_RE$1,\n /(?=\\s*\\()/\n ]\n },\n // anonymous function\n {\n match: [\n /function/,\n /\\s*(?=\\()/\n ]\n }\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n label: \"func.def\",\n contains: [ PARAMS ],\n illegal: /%/\n };\n\n const UPPER_CASE_CONSTANT = {\n relevance: 0,\n match: /\\b[A-Z][A-Z_0-9]+\\b/,\n className: \"variable.constant\"\n };\n\n function noneOf(list) {\n return regex.concat(\"(?!\", list.join(\"|\"), \")\");\n }\n\n const FUNCTION_CALL = {\n match: regex.concat(\n /\\b/,\n noneOf([\n ...BUILT_IN_GLOBALS,\n \"super\",\n \"import\"\n ].map(x => `${x}\\\\s*\\\\(`)),\n IDENT_RE$1, regex.lookahead(/\\s*\\(/)),\n className: \"title.function\",\n relevance: 0\n };\n\n const PROPERTY_ACCESS = {\n begin: regex.concat(/\\./, regex.lookahead(\n regex.concat(IDENT_RE$1, /(?![0-9A-Za-z$_(])/)\n )),\n end: IDENT_RE$1,\n excludeBegin: true,\n keywords: \"prototype\",\n className: \"property\",\n relevance: 0\n };\n\n const GETTER_OR_SETTER = {\n match: [\n /get|set/,\n /\\s+/,\n IDENT_RE$1,\n /(?=\\()/\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n { // eat to avoid empty params\n begin: /\\(\\)/\n },\n PARAMS\n ]\n };\n\n const FUNC_LEAD_IN_RE = '(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)|' + hljs.UNDERSCORE_IDENT_RE + ')\\\\s*=>';\n\n const FUNCTION_VARIABLE = {\n match: [\n /const|var|let/, /\\s+/,\n IDENT_RE$1, /\\s*/,\n /=\\s*/,\n /(async\\s*)?/, // async is optional\n regex.lookahead(FUNC_LEAD_IN_RE)\n ],\n keywords: \"async\",\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n PARAMS\n ]\n };\n\n return {\n name: 'JavaScript',\n aliases: ['js', 'jsx', 'mjs', 'cjs'],\n keywords: KEYWORDS$1,\n // this will be extended by TypeScript\n exports: { PARAMS_CONTAINS, CLASS_REFERENCE },\n illegal: /#(?![$_A-z])/,\n contains: [\n hljs.SHEBANG({\n label: \"shebang\",\n binary: \"node\",\n relevance: 5\n }),\n USE_STRICT,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n GRAPHQL_TEMPLATE,\n TEMPLATE_STRING,\n COMMENT,\n // Skip numbers when they are part of a variable name\n { match: /\\$\\d+/ },\n NUMBER,\n CLASS_REFERENCE,\n {\n scope: 'attr',\n match: IDENT_RE$1 + regex.lookahead(':'),\n relevance: 0\n },\n FUNCTION_VARIABLE,\n { // \"value\" container\n begin: '(' + hljs.RE_STARTERS_RE + '|\\\\b(case|return|throw)\\\\b)\\\\s*',\n keywords: 'return throw case',\n relevance: 0,\n contains: [\n COMMENT,\n hljs.REGEXP_MODE,\n {\n className: 'function',\n // we have to count the parens to make sure we actually have the\n // correct bounding ( ) before the =>. There could be any number of\n // sub-expressions inside also surrounded by parens.\n begin: FUNC_LEAD_IN_RE,\n returnBegin: true,\n end: '\\\\s*=>',\n contains: [\n {\n className: 'params',\n variants: [\n {\n begin: hljs.UNDERSCORE_IDENT_RE,\n relevance: 0\n },\n {\n className: null,\n begin: /\\(\\s*\\)/,\n skip: true\n },\n {\n begin: /(\\s*)\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n }\n ]\n }\n ]\n },\n { // could be a comma delimited list of params to a function call\n begin: /,/,\n relevance: 0\n },\n {\n match: /\\s+/,\n relevance: 0\n },\n { // JSX\n variants: [\n { begin: FRAGMENT.begin, end: FRAGMENT.end },\n { match: XML_SELF_CLOSING },\n {\n begin: XML_TAG.begin,\n // we carefully check the opening tag to see if it truly\n // is a tag and not a false positive\n 'on:begin': XML_TAG.isTrulyOpeningTag,\n end: XML_TAG.end\n }\n ],\n subLanguage: 'xml',\n contains: [\n {\n begin: XML_TAG.begin,\n end: XML_TAG.end,\n skip: true,\n contains: ['self']\n }\n ]\n }\n ],\n },\n FUNCTION_DEFINITION,\n {\n // prevent this from getting swallowed up by function\n // since they appear \"function like\"\n beginKeywords: \"while if switch catch for\"\n },\n {\n // we have to count the parens to make sure we actually have the correct\n // bounding ( ). There could be any number of sub-expressions inside\n // also surrounded by parens.\n begin: '\\\\b(?!function)' + hljs.UNDERSCORE_IDENT_RE +\n '\\\\(' + // first parens\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)\\\\s*\\\\{', // end parens\n returnBegin:true,\n label: \"func.def\",\n contains: [\n PARAMS,\n hljs.inherit(hljs.TITLE_MODE, { begin: IDENT_RE$1, className: \"title.function\" })\n ]\n },\n // catch ... so it won't trigger the property rule below\n {\n match: /\\.\\.\\./,\n relevance: 0\n },\n PROPERTY_ACCESS,\n // hack: prevents detection of keywords in some circumstances\n // .keyword()\n // $keyword = x\n {\n match: '\\\\$' + IDENT_RE$1,\n relevance: 0\n },\n {\n match: [ /\\bconstructor(?=\\s*\\()/ ],\n className: { 1: \"title.function\" },\n contains: [ PARAMS ]\n },\n FUNCTION_CALL,\n UPPER_CASE_CONSTANT,\n CLASS_OR_EXTENDS,\n GETTER_OR_SETTER,\n {\n match: /\\$[(.]/ // relevance booster for a pattern common to JS libs: `$(something)` and `$.something`\n }\n ]\n };\n}\n\n/*\nLanguage: TypeScript\nAuthor: Panu Horsmalahti <panu.horsmalahti@iki.fi>\nContributors: Ike Ku <dempfi@yahoo.com>\nDescription: TypeScript is a strict superset of JavaScript\nWebsite: https://www.typescriptlang.org\nCategory: common, scripting\n*/\n\n\n/** @type LanguageFn */\nfunction typescript(hljs) {\n const regex = hljs.regex;\n const tsLanguage = javascript(hljs);\n\n const IDENT_RE$1 = IDENT_RE;\n const TYPES = [\n \"any\",\n \"void\",\n \"number\",\n \"boolean\",\n \"string\",\n \"object\",\n \"never\",\n \"symbol\",\n \"bigint\",\n \"unknown\"\n ];\n const NAMESPACE = {\n begin: [\n /namespace/,\n /\\s+/,\n hljs.IDENT_RE\n ],\n beginScope: {\n 1: \"keyword\",\n 3: \"title.class\"\n }\n };\n const INTERFACE = {\n beginKeywords: 'interface',\n end: /\\{/,\n excludeEnd: true,\n keywords: {\n keyword: 'interface extends',\n built_in: TYPES\n },\n contains: [ tsLanguage.exports.CLASS_REFERENCE ]\n };\n const USE_STRICT = {\n className: 'meta',\n relevance: 10,\n begin: /^\\s*['\"]use strict['\"]/\n };\n const TS_SPECIFIC_KEYWORDS = [\n \"type\",\n // \"namespace\",\n \"interface\",\n \"public\",\n \"private\",\n \"protected\",\n \"implements\",\n \"declare\",\n \"abstract\",\n \"readonly\",\n \"enum\",\n \"override\",\n \"satisfies\"\n ];\n /*\n namespace is a TS keyword but it's fine to use it as a variable name too.\n const message = 'foo';\n const namespace = 'bar';\n */\n const KEYWORDS$1 = {\n $pattern: IDENT_RE,\n keyword: KEYWORDS.concat(TS_SPECIFIC_KEYWORDS),\n literal: LITERALS,\n built_in: BUILT_INS.concat(TYPES),\n \"variable.language\": BUILT_IN_VARIABLES\n };\n\n const DECORATOR = {\n className: 'meta',\n begin: '@' + IDENT_RE$1,\n };\n\n const swapMode = (mode, label, replacement) => {\n const indx = mode.contains.findIndex(m => m.label === label);\n if (indx === -1) { throw new Error(\"can not find mode to replace\"); }\n\n mode.contains.splice(indx, 1, replacement);\n };\n\n\n // this should update anywhere keywords is used since\n // it will be the same actual JS object\n Object.assign(tsLanguage.keywords, KEYWORDS$1);\n\n tsLanguage.exports.PARAMS_CONTAINS.push(DECORATOR);\n\n // highlight the function params\n const ATTRIBUTE_HIGHLIGHT = tsLanguage.contains.find(c => c.scope === \"attr\");\n\n // take default attr rule and extend it to support optionals\n const OPTIONAL_KEY_OR_ARGUMENT = Object.assign({},\n ATTRIBUTE_HIGHLIGHT,\n { match: regex.concat(IDENT_RE$1, regex.lookahead(/\\s*\\?:/)) }\n );\n tsLanguage.exports.PARAMS_CONTAINS.push([\n tsLanguage.exports.CLASS_REFERENCE, // class reference for highlighting the params types\n ATTRIBUTE_HIGHLIGHT, // highlight the params key\n OPTIONAL_KEY_OR_ARGUMENT, // Added for optional property assignment highlighting\n ]);\n\n // Add the optional property assignment highlighting for objects or classes\n tsLanguage.contains = tsLanguage.contains.concat([\n DECORATOR,\n NAMESPACE,\n INTERFACE,\n OPTIONAL_KEY_OR_ARGUMENT, // Added for optional property assignment highlighting\n ]);\n\n // TS gets a simpler shebang rule than JS\n swapMode(tsLanguage, \"shebang\", hljs.SHEBANG());\n // JS use strict rule purposely excludes `asm` which makes no sense\n swapMode(tsLanguage, \"use_strict\", USE_STRICT);\n\n const functionDeclaration = tsLanguage.contains.find(m => m.label === \"func.def\");\n functionDeclaration.relevance = 0; // () => {} is more typical in TypeScript\n\n Object.assign(tsLanguage, {\n name: 'TypeScript',\n aliases: [\n 'ts',\n 'tsx',\n 'mts',\n 'cts'\n ]\n });\n\n return tsLanguage;\n}\n\nexport { typescript as default };\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"typescript-QKlfKtex.cjs","names":[],"sources":["../node_modules/highlight.js/es/languages/typescript.js"],"sourcesContent":["const IDENT_RE = '[A-Za-z$_][0-9A-Za-z$_]*';\nconst KEYWORDS = [\n \"as\", // for exports\n \"in\",\n \"of\",\n \"if\",\n \"for\",\n \"while\",\n \"finally\",\n \"var\",\n \"new\",\n \"function\",\n \"do\",\n \"return\",\n \"void\",\n \"else\",\n \"break\",\n \"catch\",\n \"instanceof\",\n \"with\",\n \"throw\",\n \"case\",\n \"default\",\n \"try\",\n \"switch\",\n \"continue\",\n \"typeof\",\n \"delete\",\n \"let\",\n \"yield\",\n \"const\",\n \"class\",\n // JS handles these with a special rule\n // \"get\",\n // \"set\",\n \"debugger\",\n \"async\",\n \"await\",\n \"static\",\n \"import\",\n \"from\",\n \"export\",\n \"extends\",\n // It's reached stage 3, which is \"recommended for implementation\":\n \"using\"\n];\nconst LITERALS = [\n \"true\",\n \"false\",\n \"null\",\n \"undefined\",\n \"NaN\",\n \"Infinity\"\n];\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects\nconst TYPES = [\n // Fundamental objects\n \"Object\",\n \"Function\",\n \"Boolean\",\n \"Symbol\",\n // numbers and dates\n \"Math\",\n \"Date\",\n \"Number\",\n \"BigInt\",\n // text\n \"String\",\n \"RegExp\",\n // Indexed collections\n \"Array\",\n \"Float32Array\",\n \"Float64Array\",\n \"Int8Array\",\n \"Uint8Array\",\n \"Uint8ClampedArray\",\n \"Int16Array\",\n \"Int32Array\",\n \"Uint16Array\",\n \"Uint32Array\",\n \"BigInt64Array\",\n \"BigUint64Array\",\n // Keyed collections\n \"Set\",\n \"Map\",\n \"WeakSet\",\n \"WeakMap\",\n // Structured data\n \"ArrayBuffer\",\n \"SharedArrayBuffer\",\n \"Atomics\",\n \"DataView\",\n \"JSON\",\n // Control abstraction objects\n \"Promise\",\n \"Generator\",\n \"GeneratorFunction\",\n \"AsyncFunction\",\n // Reflection\n \"Reflect\",\n \"Proxy\",\n // Internationalization\n \"Intl\",\n // WebAssembly\n \"WebAssembly\"\n];\n\nconst ERROR_TYPES = [\n \"Error\",\n \"EvalError\",\n \"InternalError\",\n \"RangeError\",\n \"ReferenceError\",\n \"SyntaxError\",\n \"TypeError\",\n \"URIError\"\n];\n\nconst BUILT_IN_GLOBALS = [\n \"setInterval\",\n \"setTimeout\",\n \"clearInterval\",\n \"clearTimeout\",\n\n \"require\",\n \"exports\",\n\n \"eval\",\n \"isFinite\",\n \"isNaN\",\n \"parseFloat\",\n \"parseInt\",\n \"decodeURI\",\n \"decodeURIComponent\",\n \"encodeURI\",\n \"encodeURIComponent\",\n \"escape\",\n \"unescape\"\n];\n\nconst BUILT_IN_VARIABLES = [\n \"arguments\",\n \"this\",\n \"super\",\n \"console\",\n \"window\",\n \"document\",\n \"localStorage\",\n \"sessionStorage\",\n \"module\",\n \"global\" // Node.js\n];\n\nconst BUILT_INS = [].concat(\n BUILT_IN_GLOBALS,\n TYPES,\n ERROR_TYPES\n);\n\n/*\nLanguage: JavaScript\nDescription: JavaScript (JS) is a lightweight, interpreted, or just-in-time compiled programming language with first-class functions.\nCategory: common, scripting, web\nWebsite: https://developer.mozilla.org/en-US/docs/Web/JavaScript\n*/\n\n\n/** @type LanguageFn */\nfunction javascript(hljs) {\n const regex = hljs.regex;\n /**\n * Takes a string like \"<Booger\" and checks to see\n * if we can find a matching \"</Booger\" later in the\n * content.\n * @param {RegExpMatchArray} match\n * @param {{after:number}} param1\n */\n const hasClosingTag = (match, { after }) => {\n const tag = \"</\" + match[0].slice(1);\n const pos = match.input.indexOf(tag, after);\n return pos !== -1;\n };\n\n const IDENT_RE$1 = IDENT_RE;\n const FRAGMENT = {\n begin: '<>',\n end: '</>'\n };\n // to avoid some special cases inside isTrulyOpeningTag\n const XML_SELF_CLOSING = /<[A-Za-z0-9\\\\._:-]+\\s*\\/>/;\n const XML_TAG = {\n begin: /<[A-Za-z0-9\\\\._:-]+/,\n end: /\\/[A-Za-z0-9\\\\._:-]+>|\\/>/,\n /**\n * @param {RegExpMatchArray} match\n * @param {CallbackResponse} response\n */\n isTrulyOpeningTag: (match, response) => {\n const afterMatchIndex = match[0].length + match.index;\n const nextChar = match.input[afterMatchIndex];\n if (\n // HTML should not include another raw `<` inside a tag\n // nested type?\n // `<Array<Array<number>>`, etc.\n nextChar === \"<\" ||\n // the , gives away that this is not HTML\n // `<T, A extends keyof T, V>`\n nextChar === \",\"\n ) {\n response.ignoreMatch();\n return;\n }\n\n // `<something>`\n // Quite possibly a tag, lets look for a matching closing tag...\n if (nextChar === \">\") {\n // if we cannot find a matching closing tag, then we\n // will ignore it\n if (!hasClosingTag(match, { after: afterMatchIndex })) {\n response.ignoreMatch();\n }\n }\n\n // `<blah />` (self-closing)\n // handled by simpleSelfClosing rule\n\n let m;\n const afterMatch = match.input.substring(afterMatchIndex);\n\n // some more template typing stuff\n // <T = any>(key?: string) => Modify<\n if ((m = afterMatch.match(/^\\s*=/))) {\n response.ignoreMatch();\n return;\n }\n\n // `<From extends string>`\n // technically this could be HTML, but it smells like a type\n // NOTE: This is ugh, but added specifically for https://github.com/highlightjs/highlight.js/issues/3276\n if ((m = afterMatch.match(/^\\s+extends\\s+/))) {\n if (m.index === 0) {\n response.ignoreMatch();\n // eslint-disable-next-line no-useless-return\n return;\n }\n }\n }\n };\n const KEYWORDS$1 = {\n $pattern: IDENT_RE,\n keyword: KEYWORDS,\n literal: LITERALS,\n built_in: BUILT_INS,\n \"variable.language\": BUILT_IN_VARIABLES\n };\n\n // https://tc39.es/ecma262/#sec-literals-numeric-literals\n const decimalDigits = '[0-9](_?[0-9])*';\n const frac = `\\\\.(${decimalDigits})`;\n // DecimalIntegerLiteral, including Annex B NonOctalDecimalIntegerLiteral\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n const decimalInteger = `0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*`;\n const NUMBER = {\n className: 'number',\n variants: [\n // DecimalLiteral\n { begin: `(\\\\b(${decimalInteger})((${frac})|\\\\.)?|(${frac}))` +\n `[eE][+-]?(${decimalDigits})\\\\b` },\n { begin: `\\\\b(${decimalInteger})\\\\b((${frac})\\\\b|\\\\.)?|(${frac})\\\\b` },\n\n // DecimalBigIntegerLiteral\n { begin: `\\\\b(0|[1-9](_?[0-9])*)n\\\\b` },\n\n // NonDecimalIntegerLiteral\n { begin: \"\\\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\\\b\" },\n { begin: \"\\\\b0[bB][0-1](_?[0-1])*n?\\\\b\" },\n { begin: \"\\\\b0[oO][0-7](_?[0-7])*n?\\\\b\" },\n\n // LegacyOctalIntegerLiteral (does not include underscore separators)\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n { begin: \"\\\\b0[0-7]+n?\\\\b\" },\n ],\n relevance: 0\n };\n\n const SUBST = {\n className: 'subst',\n begin: '\\\\$\\\\{',\n end: '\\\\}',\n keywords: KEYWORDS$1,\n contains: [] // defined later\n };\n const HTML_TEMPLATE = {\n begin: '\\.?html`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'xml'\n }\n };\n const CSS_TEMPLATE = {\n begin: '\\.?css`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'css'\n }\n };\n const GRAPHQL_TEMPLATE = {\n begin: '\\.?gql`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'graphql'\n }\n };\n const TEMPLATE_STRING = {\n className: 'string',\n begin: '`',\n end: '`',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n };\n const JSDOC_COMMENT = hljs.COMMENT(\n /\\/\\*\\*(?!\\/)/,\n '\\\\*/',\n {\n relevance: 0,\n contains: [\n {\n begin: '(?=@[A-Za-z]+)',\n relevance: 0,\n contains: [\n {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n },\n {\n className: 'type',\n begin: '\\\\{',\n end: '\\\\}',\n excludeEnd: true,\n excludeBegin: true,\n relevance: 0\n },\n {\n className: 'variable',\n begin: IDENT_RE$1 + '(?=\\\\s*(-)|$)',\n endsParent: true,\n relevance: 0\n },\n // eat spaces (not newlines) so we can find\n // types or variables\n {\n begin: /(?=[^\\n])\\s/,\n relevance: 0\n }\n ]\n }\n ]\n }\n );\n const COMMENT = {\n className: \"comment\",\n variants: [\n JSDOC_COMMENT,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.C_LINE_COMMENT_MODE\n ]\n };\n const SUBST_INTERNALS = [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n GRAPHQL_TEMPLATE,\n TEMPLATE_STRING,\n // Skip numbers when they are part of a variable name\n { match: /\\$\\d+/ },\n NUMBER,\n // This is intentional:\n // See https://github.com/highlightjs/highlight.js/issues/3288\n // hljs.REGEXP_MODE\n ];\n SUBST.contains = SUBST_INTERNALS\n .concat({\n // we need to pair up {} inside our subst to prevent\n // it from ending too early by matching another }\n begin: /\\{/,\n end: /\\}/,\n keywords: KEYWORDS$1,\n contains: [\n \"self\"\n ].concat(SUBST_INTERNALS)\n });\n const SUBST_AND_COMMENTS = [].concat(COMMENT, SUBST.contains);\n const PARAMS_CONTAINS = SUBST_AND_COMMENTS.concat([\n // eat recursive parens in sub expressions\n {\n begin: /(\\s*)\\(/,\n end: /\\)/,\n keywords: KEYWORDS$1,\n contains: [\"self\"].concat(SUBST_AND_COMMENTS)\n }\n ]);\n const PARAMS = {\n className: 'params',\n // convert this to negative lookbehind in v12\n begin: /(\\s*)\\(/, // to match the parms with\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n };\n\n // ES6 classes\n const CLASS_OR_EXTENDS = {\n variants: [\n // class Car extends vehicle\n {\n match: [\n /class/,\n /\\s+/,\n IDENT_RE$1,\n /\\s+/,\n /extends/,\n /\\s+/,\n regex.concat(IDENT_RE$1, \"(\", regex.concat(/\\./, IDENT_RE$1), \")*\")\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\",\n 5: \"keyword\",\n 7: \"title.class.inherited\"\n }\n },\n // class Car\n {\n match: [\n /class/,\n /\\s+/,\n IDENT_RE$1\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\"\n }\n },\n\n ]\n };\n\n const CLASS_REFERENCE = {\n relevance: 0,\n match:\n regex.either(\n // Hard coded exceptions\n /\\bJSON/,\n // Float32Array, OutT\n /\\b[A-Z][a-z]+([A-Z][a-z]*|\\d)*/,\n // CSSFactory, CSSFactoryT\n /\\b[A-Z]{2,}([A-Z][a-z]+|\\d)+([A-Z][a-z]*)*/,\n // FPs, FPsT\n /\\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\\d)*([A-Z][a-z]*)*/,\n // P\n // single letters are not highlighted\n // BLAH\n // this will be flagged as a UPPER_CASE_CONSTANT instead\n ),\n className: \"title.class\",\n keywords: {\n _: [\n // se we still get relevance credit for JS library classes\n ...TYPES,\n ...ERROR_TYPES\n ]\n }\n };\n\n const USE_STRICT = {\n label: \"use_strict\",\n className: 'meta',\n relevance: 10,\n begin: /^\\s*['\"]use (strict|asm)['\"]/\n };\n\n const FUNCTION_DEFINITION = {\n variants: [\n {\n match: [\n /function/,\n /\\s+/,\n IDENT_RE$1,\n /(?=\\s*\\()/\n ]\n },\n // anonymous function\n {\n match: [\n /function/,\n /\\s*(?=\\()/\n ]\n }\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n label: \"func.def\",\n contains: [ PARAMS ],\n illegal: /%/\n };\n\n const UPPER_CASE_CONSTANT = {\n relevance: 0,\n match: /\\b[A-Z][A-Z_0-9]+\\b/,\n className: \"variable.constant\"\n };\n\n function noneOf(list) {\n return regex.concat(\"(?!\", list.join(\"|\"), \")\");\n }\n\n const FUNCTION_CALL = {\n match: regex.concat(\n /\\b/,\n noneOf([\n ...BUILT_IN_GLOBALS,\n \"super\",\n \"import\"\n ].map(x => `${x}\\\\s*\\\\(`)),\n IDENT_RE$1, regex.lookahead(/\\s*\\(/)),\n className: \"title.function\",\n relevance: 0\n };\n\n const PROPERTY_ACCESS = {\n begin: regex.concat(/\\./, regex.lookahead(\n regex.concat(IDENT_RE$1, /(?![0-9A-Za-z$_(])/)\n )),\n end: IDENT_RE$1,\n excludeBegin: true,\n keywords: \"prototype\",\n className: \"property\",\n relevance: 0\n };\n\n const GETTER_OR_SETTER = {\n match: [\n /get|set/,\n /\\s+/,\n IDENT_RE$1,\n /(?=\\()/\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n { // eat to avoid empty params\n begin: /\\(\\)/\n },\n PARAMS\n ]\n };\n\n const FUNC_LEAD_IN_RE = '(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)|' + hljs.UNDERSCORE_IDENT_RE + ')\\\\s*=>';\n\n const FUNCTION_VARIABLE = {\n match: [\n /const|var|let/, /\\s+/,\n IDENT_RE$1, /\\s*/,\n /=\\s*/,\n /(async\\s*)?/, // async is optional\n regex.lookahead(FUNC_LEAD_IN_RE)\n ],\n keywords: \"async\",\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n PARAMS\n ]\n };\n\n return {\n name: 'JavaScript',\n aliases: ['js', 'jsx', 'mjs', 'cjs'],\n keywords: KEYWORDS$1,\n // this will be extended by TypeScript\n exports: { PARAMS_CONTAINS, CLASS_REFERENCE },\n illegal: /#(?![$_A-z])/,\n contains: [\n hljs.SHEBANG({\n label: \"shebang\",\n binary: \"node\",\n relevance: 5\n }),\n USE_STRICT,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n GRAPHQL_TEMPLATE,\n TEMPLATE_STRING,\n COMMENT,\n // Skip numbers when they are part of a variable name\n { match: /\\$\\d+/ },\n NUMBER,\n CLASS_REFERENCE,\n {\n scope: 'attr',\n match: IDENT_RE$1 + regex.lookahead(':'),\n relevance: 0\n },\n FUNCTION_VARIABLE,\n { // \"value\" container\n begin: '(' + hljs.RE_STARTERS_RE + '|\\\\b(case|return|throw)\\\\b)\\\\s*',\n keywords: 'return throw case',\n relevance: 0,\n contains: [\n COMMENT,\n hljs.REGEXP_MODE,\n {\n className: 'function',\n // we have to count the parens to make sure we actually have the\n // correct bounding ( ) before the =>. There could be any number of\n // sub-expressions inside also surrounded by parens.\n begin: FUNC_LEAD_IN_RE,\n returnBegin: true,\n end: '\\\\s*=>',\n contains: [\n {\n className: 'params',\n variants: [\n {\n begin: hljs.UNDERSCORE_IDENT_RE,\n relevance: 0\n },\n {\n className: null,\n begin: /\\(\\s*\\)/,\n skip: true\n },\n {\n begin: /(\\s*)\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n }\n ]\n }\n ]\n },\n { // could be a comma delimited list of params to a function call\n begin: /,/,\n relevance: 0\n },\n {\n match: /\\s+/,\n relevance: 0\n },\n { // JSX\n variants: [\n { begin: FRAGMENT.begin, end: FRAGMENT.end },\n { match: XML_SELF_CLOSING },\n {\n begin: XML_TAG.begin,\n // we carefully check the opening tag to see if it truly\n // is a tag and not a false positive\n 'on:begin': XML_TAG.isTrulyOpeningTag,\n end: XML_TAG.end\n }\n ],\n subLanguage: 'xml',\n contains: [\n {\n begin: XML_TAG.begin,\n end: XML_TAG.end,\n skip: true,\n contains: ['self']\n }\n ]\n }\n ],\n },\n FUNCTION_DEFINITION,\n {\n // prevent this from getting swallowed up by function\n // since they appear \"function like\"\n beginKeywords: \"while if switch catch for\"\n },\n {\n // we have to count the parens to make sure we actually have the correct\n // bounding ( ). There could be any number of sub-expressions inside\n // also surrounded by parens.\n begin: '\\\\b(?!function)' + hljs.UNDERSCORE_IDENT_RE +\n '\\\\(' + // first parens\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)\\\\s*\\\\{', // end parens\n returnBegin:true,\n label: \"func.def\",\n contains: [\n PARAMS,\n hljs.inherit(hljs.TITLE_MODE, { begin: IDENT_RE$1, className: \"title.function\" })\n ]\n },\n // catch ... so it won't trigger the property rule below\n {\n match: /\\.\\.\\./,\n relevance: 0\n },\n PROPERTY_ACCESS,\n // hack: prevents detection of keywords in some circumstances\n // .keyword()\n // $keyword = x\n {\n match: '\\\\$' + IDENT_RE$1,\n relevance: 0\n },\n {\n match: [ /\\bconstructor(?=\\s*\\()/ ],\n className: { 1: \"title.function\" },\n contains: [ PARAMS ]\n },\n FUNCTION_CALL,\n UPPER_CASE_CONSTANT,\n CLASS_OR_EXTENDS,\n GETTER_OR_SETTER,\n {\n match: /\\$[(.]/ // relevance booster for a pattern common to JS libs: `$(something)` and `$.something`\n }\n ]\n };\n}\n\n/*\nLanguage: TypeScript\nAuthor: Panu Horsmalahti <panu.horsmalahti@iki.fi>\nContributors: Ike Ku <dempfi@yahoo.com>\nDescription: TypeScript is a strict superset of JavaScript\nWebsite: https://www.typescriptlang.org\nCategory: common, scripting\n*/\n\n\n/** @type LanguageFn */\nfunction typescript(hljs) {\n const regex = hljs.regex;\n const tsLanguage = javascript(hljs);\n\n const IDENT_RE$1 = IDENT_RE;\n const TYPES = [\n \"any\",\n \"void\",\n \"number\",\n \"boolean\",\n \"string\",\n \"object\",\n \"never\",\n \"symbol\",\n \"bigint\",\n \"unknown\"\n ];\n const NAMESPACE = {\n begin: [\n /namespace/,\n /\\s+/,\n hljs.IDENT_RE\n ],\n beginScope: {\n 1: \"keyword\",\n 3: \"title.class\"\n }\n };\n const INTERFACE = {\n beginKeywords: 'interface',\n end: /\\{/,\n excludeEnd: true,\n keywords: {\n keyword: 'interface extends',\n built_in: TYPES\n },\n contains: [ tsLanguage.exports.CLASS_REFERENCE ]\n };\n const USE_STRICT = {\n className: 'meta',\n relevance: 10,\n begin: /^\\s*['\"]use strict['\"]/\n };\n const TS_SPECIFIC_KEYWORDS = [\n \"type\",\n // \"namespace\",\n \"interface\",\n \"public\",\n \"private\",\n \"protected\",\n \"implements\",\n \"declare\",\n \"abstract\",\n \"readonly\",\n \"enum\",\n \"override\",\n \"satisfies\"\n ];\n /*\n namespace is a TS keyword but it's fine to use it as a variable name too.\n const message = 'foo';\n const namespace = 'bar';\n */\n const KEYWORDS$1 = {\n $pattern: IDENT_RE,\n keyword: KEYWORDS.concat(TS_SPECIFIC_KEYWORDS),\n literal: LITERALS,\n built_in: BUILT_INS.concat(TYPES),\n \"variable.language\": BUILT_IN_VARIABLES\n };\n\n const DECORATOR = {\n className: 'meta',\n begin: '@' + IDENT_RE$1,\n };\n\n const swapMode = (mode, label, replacement) => {\n const indx = mode.contains.findIndex(m => m.label === label);\n if (indx === -1) { throw new Error(\"can not find mode to replace\"); }\n\n mode.contains.splice(indx, 1, replacement);\n };\n\n\n // this should update anywhere keywords is used since\n // it will be the same actual JS object\n Object.assign(tsLanguage.keywords, KEYWORDS$1);\n\n tsLanguage.exports.PARAMS_CONTAINS.push(DECORATOR);\n\n // highlight the function params\n const ATTRIBUTE_HIGHLIGHT = tsLanguage.contains.find(c => c.scope === \"attr\");\n\n // take default attr rule and extend it to support optionals\n const OPTIONAL_KEY_OR_ARGUMENT = Object.assign({},\n ATTRIBUTE_HIGHLIGHT,\n { match: regex.concat(IDENT_RE$1, regex.lookahead(/\\s*\\?:/)) }\n );\n tsLanguage.exports.PARAMS_CONTAINS.push([\n tsLanguage.exports.CLASS_REFERENCE, // class reference for highlighting the params types\n ATTRIBUTE_HIGHLIGHT, // highlight the params key\n OPTIONAL_KEY_OR_ARGUMENT, // Added for optional property assignment highlighting\n ]);\n\n // Add the optional property assignment highlighting for objects or classes\n tsLanguage.contains = tsLanguage.contains.concat([\n DECORATOR,\n NAMESPACE,\n INTERFACE,\n OPTIONAL_KEY_OR_ARGUMENT, // Added for optional property assignment highlighting\n ]);\n\n // TS gets a simpler shebang rule than JS\n swapMode(tsLanguage, \"shebang\", hljs.SHEBANG());\n // JS use strict rule purposely excludes `asm` which makes no sense\n swapMode(tsLanguage, \"use_strict\", USE_STRICT);\n\n const functionDeclaration = tsLanguage.contains.find(m => m.label === \"func.def\");\n functionDeclaration.relevance = 0; // () => {} is more typical in TypeScript\n\n Object.assign(tsLanguage, {\n name: 'TypeScript',\n aliases: [\n 'ts',\n 'tsx',\n 'mts',\n 'cts'\n ]\n });\n\n return tsLanguage;\n}\n\nexport { typescript as default };\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require(`./cn-CU5TNITO.cjs`),t=require(`./MText-
|
|
2
|
-
//# sourceMappingURL=typography-
|
|
1
|
+
const e=require(`./cn-CU5TNITO.cjs`),t=require(`./MText-BbEkc0Ik.cjs`);require(`./core-w629c4ND.cjs`);let n=require(`react/jsx-runtime`);function r({color:r,className:i,children:a,...o}){return(0,n.jsx)(`code`,{className:e.t(`code`,...t.n({color:r}),i),...o,children:a})}function i({ordered:r=!1,color:i,className:a,children:o,...s}){return(0,n.jsx)(r?`ol`:`ul`,{className:e.t(`list`,r&&`ordered`,...t.n({color:i}),a),...s,children:o})}function a({className:t,children:r,...i}){return(0,n.jsx)(`li`,{className:e.t(`item`,t),...i,children:r})}function o({size:t=`md`,className:r,children:i,...a}){return(0,n.jsx)(`kbd`,{className:e.t(`kbd`,t,r),...a,children:i})}Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return o}});
|
|
2
|
+
//# sourceMappingURL=typography-CRKIyR-B.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typography-
|
|
1
|
+
{"version":3,"file":"typography-CRKIyR-B.cjs","names":[],"sources":["../src/components/typography/MCode/MCode.tsx","../src/components/typography/MList/MList.tsx","../src/components/typography/MKbd/MKbd.tsx"],"sourcesContent":["import type {MCodeProps} from './MCode.types'\nimport {cn} from '../../../utils/cn'\nimport {getAppearanceClassNames} from '../../../utils/appearanceProps'\nimport './MCode.css'\n\n// Render inline code tokens with semantic color support.\nexport function MCode({color, className, children, ...rest}: MCodeProps) {\n return (\n <code className={cn('code', ...getAppearanceClassNames({color}), className)} {...rest}>\n {children}\n </code>\n )\n}\n","import type {HTMLAttributes} from 'react'\nimport type {MListProps} from './MList.types'\nimport {cn} from '../../../utils/cn'\nimport {getAppearanceClassNames} from '../../../utils/appearanceProps'\nimport './MList.css'\n\n// Render ordered or unordered lists with shared typography tokens.\nexport function MList({ordered = false, color, className, children, ...rest}: MListProps) {\n const Component = ordered ? 'ol' : 'ul'\n\n return (\n <Component\n className={cn('list', ordered && 'ordered', ...getAppearanceClassNames({color}), className)}\n {...rest}\n >\n {children}\n </Component>\n )\n}\n\n// Render a list item that inherits the parent list styling.\nexport function MListItem({className, children, ...rest}: HTMLAttributes<HTMLLIElement>) {\n return (\n <li className={cn('item', className)} {...rest}>\n {children}\n </li>\n )\n}\n","import type {MKbdProps} from './MKbd.types'\nimport {cn} from '../../../utils/cn'\nimport './MKbd.css'\n\nexport function MKbd({size = 'md', className, children, ...rest}: MKbdProps) {\n return (\n <kbd className={cn('kbd', size, className)} {...rest}>\n {children}\n </kbd>\n )\n}\n"],"mappings":"yIAMA,SAAgB,EAAM,CAAC,QAAO,YAAW,WAAU,GAAG,GAAmB,CACrE,OACI,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,EAAG,OAAQ,GAAG,EAAA,EAAwB,CAAC,QAAM,CAAC,CAAE,EAAU,CAAE,GAAI,EAC5E,WACE,CAAA,CCHf,SAAgB,EAAM,CAAC,UAAU,GAAO,QAAO,YAAW,WAAU,GAAG,GAAmB,CAGtF,OACI,EAAA,EAAA,KAHc,EAAU,KAAO,KAG/B,CACI,UAAW,EAAA,EAAG,OAAQ,GAAW,UAAW,GAAG,EAAA,EAAwB,CAAC,QAAM,CAAC,CAAE,EAAU,CAC3F,GAAI,EAEH,WACO,CAAA,CAKpB,SAAgB,EAAU,CAAC,YAAW,WAAU,GAAG,GAAsC,CACrF,OACI,EAAA,EAAA,KAAC,KAAD,CAAI,UAAW,EAAA,EAAG,OAAQ,EAAU,CAAE,GAAI,EACrC,WACA,CAAA,CCrBb,SAAgB,EAAK,CAAC,OAAO,KAAM,YAAW,WAAU,GAAG,GAAkB,CACzE,OACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,EAAG,MAAO,EAAM,EAAU,CAAE,GAAI,EAC3C,WACC,CAAA"}
|
package/dist/typography.cjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
const {ensureStyles}=require('./style-runtime.cjs')
|
|
2
2
|
ensureStyles()
|
|
3
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./MText-
|
|
3
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./MText-BbEkc0Ik.cjs`),t=require(`./MHeading-BQCe_JhE.cjs`),n=require(`./MLink-BakLkpKp.cjs`),r=require(`./typography-CRKIyR-B.cjs`),i=require(`./MSubText-C1unzaCF.cjs`);exports.MCode=r.i,exports.MHeading=t.t,exports.MKbd=r.t,exports.MLink=n.t,exports.MList=r.n,exports.MListItem=r.r,exports.MSubText=i.t,exports.MText=e.t;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
require(`./core-
|
|
2
|
-
//# sourceMappingURL=useGhostText-
|
|
1
|
+
require(`./core-w629c4ND.cjs`);let e=require(`react`);function t(t,n){let[r,i]=(0,e.useState)(t);return(0,e.useEffect)(()=>{let e=setTimeout(()=>i(t),n);return()=>clearTimeout(e)},[t,n]),r}function n(t,n){let r=(0,e.useRef)(t);r.current=t;let i=(0,e.useRef)(null);return(0,e.useCallback)(((...e)=>{i.current&&clearTimeout(i.current),i.current=setTimeout(()=>r.current(...e),n)}),[n])}function r(e){return typeof e==`string`?e:String(e)}function i(e,t,n){if(!t)return[];let r=t.toLowerCase();return e.filter(e=>n(e).toLowerCase().startsWith(r))}function a({options:t,value:n,minChars:a=2,getLabel:o=r,filter:s}){let[c,l]=(0,e.useState)(0),u=(0,e.useMemo)(()=>n.length<a?[]:s?s(t,n):i(t,n,o),[t,n,a,s,o]),d=u.length>0?u[c%u.length]:null,f=d?o(d):``,p=f&&f.toLowerCase().startsWith(n.toLowerCase())?f.slice(n.length):``,m=(0,e.useCallback)(()=>!p||!d?{value:n,option:null}:{value:n+p,option:d},[p,d,n]),h=(0,e.useCallback)(()=>{u.length>1&&l(e=>(e+1)%u.length)},[u.length]),g=(0,e.useCallback)(()=>{u.length>1&&l(e=>(e-1+u.length)%u.length)},[u.length]),_=(0,e.useCallback)(()=>l(0),[]),v=(0,e.useCallback)(e=>(e.key===`Tab`||e.key===`Enter`)&&p?(e.preventDefault(),!0):e.key===`ArrowDown`&&u.length>1?(e.preventDefault(),h(),!1):e.key===`ArrowUp`&&u.length>1?(e.preventDefault(),g(),!1):!1,[p,u.length,h,g]);return{hint:p,accept:m,next:h,prev:g,reset:_,matchCount:u.length,onKeyDown:v}}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}});
|
|
2
|
+
//# sourceMappingURL=useGhostText-mibV4s1-.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGhostText-
|
|
1
|
+
{"version":3,"file":"useGhostText-mibV4s1-.cjs","names":[],"sources":["../src/utils/useDebounce.ts","../src/utils/useGhostText.ts"],"sourcesContent":["import {useState, useEffect, useRef, useCallback} from 'react'\n\n// Expose a value only after it stays stable for the given delay.\nexport function useDebounce<T>(value: T, delay: number): T {\n const [debounced, setDebounced] = useState(value)\n\n useEffect(() => {\n const timer = setTimeout(() => setDebounced(value), delay)\n return () => clearTimeout(timer)\n }, [value, delay])\n\n return debounced\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n// Wrap a callback so repeated calls collapse into the latest invocation.\nexport function useDebouncedCallback<T extends (...args: any[]) => void>(callback: T, delay: number): T {\n const callbackRef = useRef(callback)\n callbackRef.current = callback\n const timerRef = useRef<ReturnType<typeof setTimeout>>(null)\n\n return useCallback(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ((...args: any[]) => {\n if (timerRef.current) clearTimeout(timerRef.current)\n timerRef.current = setTimeout(() => callbackRef.current(...args), delay)\n }) as T,\n [delay]\n )\n}\n","import {useState, useCallback, useMemo} from 'react'\nimport type * as React from 'react'\n\nexport interface GhostTextOptions<T = string> {\n options: T[]\n value: string\n minChars?: number\n getLabel?: (option: T) => string\n filter?: (options: T[], input: string) => T[]\n}\n\nexport interface GhostTextReturn<T = string> {\n /** The ghost suffix to render after the typed text. */\n hint: string\n /** Accept the current hint and return the full value. */\n accept: () => {value: string; option: T | null}\n /** Cycle to the next matching option. */\n next: () => void\n /** Cycle to the previous matching option. */\n prev: () => void\n /** Reset the hint index (call on value change). */\n reset: () => void\n /** Number of matching options. */\n matchCount: number\n /** Handle keyboard events — Tab/Enter accept, arrows cycle, Escape resets. */\n onKeyDown: (e: React.KeyboardEvent) => boolean\n}\n\nfunction defaultGetLabel<T>(option: T): string {\n return typeof option === 'string' ? option : String(option)\n}\n\nfunction defaultFilter<T>(options: T[], input: string, getLabel: (o: T) => string): T[] {\n if (!input) return []\n const lower = input.toLowerCase()\n return options.filter((o) => getLabel(o).toLowerCase().startsWith(lower))\n}\n\n// Manage inline ghost-text suggestions for any text input.\nexport function useGhostText<T = string>({\n options,\n value,\n minChars = 2,\n getLabel = defaultGetLabel,\n filter,\n}: GhostTextOptions<T>): GhostTextReturn<T> {\n const [hintIndex, setHintIndex] = useState(0)\n\n const filtered = useMemo(() => {\n if (value.length < minChars) return []\n if (filter) return filter(options, value)\n return defaultFilter(options, value, getLabel)\n }, [options, value, minChars, filter, getLabel])\n\n const current = filtered.length > 0 ? filtered[hintIndex % filtered.length] : null\n const fullLabel = current ? getLabel(current) : ''\n const hint =\n fullLabel && fullLabel.toLowerCase().startsWith(value.toLowerCase()) ? fullLabel.slice(value.length) : ''\n\n const accept = useCallback(() => {\n if (!hint || !current) return {value, option: null}\n return {value: value + hint, option: current}\n }, [hint, current, value])\n\n const next = useCallback(() => {\n if (filtered.length > 1) setHintIndex((i) => (i + 1) % filtered.length)\n }, [filtered.length])\n\n const prev = useCallback(() => {\n if (filtered.length > 1) setHintIndex((i) => (i - 1 + filtered.length) % filtered.length)\n }, [filtered.length])\n\n const reset = useCallback(() => setHintIndex(0), [])\n\n const onKeyDown = useCallback(\n (e: React.KeyboardEvent): boolean => {\n if ((e.key === 'Tab' || e.key === 'Enter') && hint) {\n e.preventDefault()\n return true // signal: caller should accept\n }\n if (e.key === 'ArrowDown' && filtered.length > 1) {\n e.preventDefault()\n next()\n return false\n }\n if (e.key === 'ArrowUp' && filtered.length > 1) {\n e.preventDefault()\n prev()\n return false\n }\n return false\n },\n [hint, filtered.length, next, prev]\n )\n\n return {hint, accept, next, prev, reset, matchCount: filtered.length, onKeyDown}\n}\n"],"mappings":"sDAGA,SAAgB,EAAe,EAAU,EAAkB,CACvD,GAAM,CAAC,EAAW,IAAA,EAAA,EAAA,UAAyB,EAAM,CAOjD,OALA,EAAA,EAAA,eAAgB,CACZ,IAAM,EAAQ,eAAiB,EAAa,EAAM,CAAE,EAAM,CAC1D,UAAa,aAAa,EAAM,EACjC,CAAC,EAAO,EAAM,CAAC,CAEX,EAKX,SAAgB,EAAyD,EAAa,EAAkB,CACpG,IAAM,GAAA,EAAA,EAAA,QAAqB,EAAS,CACpC,EAAY,QAAU,EACtB,IAAM,GAAA,EAAA,EAAA,QAAiD,KAAK,CAE5D,OAAA,EAAA,EAAA,eAEM,GAAG,IAAgB,CACb,EAAS,SAAS,aAAa,EAAS,QAAQ,CACpD,EAAS,QAAU,eAAiB,EAAY,QAAQ,GAAG,EAAK,CAAE,EAAM,GAE5E,CAAC,EAAM,CACV,CCAL,SAAS,EAAmB,EAAmB,CAC3C,OAAO,OAAO,GAAW,SAAW,EAAS,OAAO,EAAO,CAG/D,SAAS,EAAiB,EAAc,EAAe,EAAiC,CACpF,GAAI,CAAC,EAAO,MAAO,EAAE,CACrB,IAAM,EAAQ,EAAM,aAAa,CACjC,OAAO,EAAQ,OAAQ,GAAM,EAAS,EAAE,CAAC,aAAa,CAAC,WAAW,EAAM,CAAC,CAI7E,SAAgB,EAAyB,CACrC,UACA,QACA,WAAW,EACX,WAAW,EACX,UACwC,CACxC,GAAM,CAAC,EAAW,IAAA,EAAA,EAAA,UAAyB,EAAE,CAEvC,GAAA,EAAA,EAAA,aACE,EAAM,OAAS,EAAiB,EAAE,CAClC,EAAe,EAAO,EAAS,EAAM,CAClC,EAAc,EAAS,EAAO,EAAS,CAC/C,CAAC,EAAS,EAAO,EAAU,EAAQ,EAAS,CAAC,CAE1C,EAAU,EAAS,OAAS,EAAI,EAAS,EAAY,EAAS,QAAU,KACxE,EAAY,EAAU,EAAS,EAAQ,CAAG,GAC1C,EACF,GAAa,EAAU,aAAa,CAAC,WAAW,EAAM,aAAa,CAAC,CAAG,EAAU,MAAM,EAAM,OAAO,CAAG,GAErG,GAAA,EAAA,EAAA,iBACE,CAAC,GAAQ,CAAC,EAAgB,CAAC,QAAO,OAAQ,KAAK,CAC5C,CAAC,MAAO,EAAQ,EAAM,OAAQ,EAAQ,CAC9C,CAAC,EAAM,EAAS,EAAM,CAAC,CAEpB,GAAA,EAAA,EAAA,iBAAyB,CACvB,EAAS,OAAS,GAAG,EAAc,IAAO,EAAI,GAAK,EAAS,OAAO,EACxE,CAAC,EAAS,OAAO,CAAC,CAEf,GAAA,EAAA,EAAA,iBAAyB,CACvB,EAAS,OAAS,GAAG,EAAc,IAAO,EAAI,EAAI,EAAS,QAAU,EAAS,OAAO,EAC1F,CAAC,EAAS,OAAO,CAAC,CAEf,GAAA,EAAA,EAAA,iBAA0B,EAAa,EAAE,CAAE,EAAE,CAAC,CAE9C,GAAA,EAAA,EAAA,aACD,IACQ,EAAE,MAAQ,OAAS,EAAE,MAAQ,UAAY,GAC1C,EAAE,gBAAgB,CACX,IAEP,EAAE,MAAQ,aAAe,EAAS,OAAS,GAC3C,EAAE,gBAAgB,CAClB,GAAM,CACC,IAEP,EAAE,MAAQ,WAAa,EAAS,OAAS,GACzC,EAAE,gBAAgB,CAClB,GAAM,CACC,IAEJ,GAEX,CAAC,EAAM,EAAS,OAAQ,EAAM,EAAK,CACtC,CAED,MAAO,CAAC,OAAM,SAAQ,OAAM,OAAM,QAAO,WAAY,EAAS,OAAQ,YAAU"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
require(`./core-
|
|
2
|
-
//# sourceMappingURL=useInteractionEffect-
|
|
1
|
+
require(`./core-w629c4ND.cjs`);let e=require(`react`),t=require(`react/jsx-runtime`);function n(e,t,n){let r=t.getBoundingClientRect(),i=Math.max(r.width,r.height)*1.75,a=i/2,o=document.createElement(`span`),s=n.centered||n.clientX===void 0?r.width/2-a:n.clientX-r.left-a,c=n.centered||n.clientY===void 0?r.height/2-a:n.clientY-r.top-a;o.className=`click-effect-wave`,o.style.width=`${i}px`,o.style.height=`${i}px`,o.style.left=`${s}px`,o.style.top=`${c}px`,n.color&&o.style.setProperty(`--click-effect-color`,n.color),e.appendChild(o),o.addEventListener(`animationend`,()=>o.remove(),{once:!0})}function r({effect:r=`ripple`,disabled:i=!1,centered:a=!1,color:o}={}){let s=(0,e.useRef)(null),c=r===`ripple`&&!i,l=(0,e.useCallback)(e=>{!c||!e||!s.current||n(s.current,e,{centered:!0,color:o})},[o,c]),u=(0,e.useCallback)(e=>{!c||!s.current||e.pointerType===`mouse`&&e.button!==0||n(s.current,e.currentTarget,{centered:a,color:o,clientX:e.clientX,clientY:e.clientY})},[a,o,c]);return{effectClassName:c?`click-effect-root`:void 0,effectLayer:c?(0,t.jsx)(`span`,{ref:s,className:`click-effect-layer`,"aria-hidden":`true`}):null,handlePointerDown:u,triggerEffect:l}}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
|
|
2
|
+
//# sourceMappingURL=useInteractionEffect-CtXlbjhC.cjs.map
|
package/dist/{useInteractionEffect-D1ZdNbKU.cjs.map → useInteractionEffect-CtXlbjhC.cjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInteractionEffect-
|
|
1
|
+
{"version":3,"file":"useInteractionEffect-CtXlbjhC.cjs","names":[],"sources":["../src/utils/useInteractionEffect.tsx"],"sourcesContent":["import {useCallback, useRef} from 'react'\nimport type {PointerEvent, ReactElement} from 'react'\n\nexport type MClickEffect = 'none' | 'ripple'\n\nexport interface UseInteractionEffectOptions {\n effect?: MClickEffect\n disabled?: boolean\n centered?: boolean\n color?: string\n}\n\nexport interface UseInteractionEffectResult<T extends HTMLElement> {\n effectClassName?: string\n effectLayer: ReactElement | null\n handlePointerDown: (event: PointerEvent<T>) => void\n triggerEffect: (target: T | null) => void\n}\n\ninterface RippleOptions {\n centered: boolean\n color?: string\n clientX?: number\n clientY?: number\n}\n\n// Render and position a ripple wave inside the dedicated effect layer.\nfunction appendRipple(layer: HTMLSpanElement, host: HTMLElement, options: RippleOptions) {\n const rect = host.getBoundingClientRect()\n const size = Math.max(rect.width, rect.height) * 1.75\n const radius = size / 2\n const wave = document.createElement('span')\n const x =\n options.centered || options.clientX === undefined\n ? rect.width / 2 - radius\n : options.clientX - rect.left - radius\n const y =\n options.centered || options.clientY === undefined\n ? rect.height / 2 - radius\n : options.clientY - rect.top - radius\n\n wave.className = 'click-effect-wave'\n wave.style.width = `${size}px`\n wave.style.height = `${size}px`\n wave.style.left = `${x}px`\n wave.style.top = `${y}px`\n\n if (options.color) {\n wave.style.setProperty('--click-effect-color', options.color)\n }\n\n layer.appendChild(wave)\n wave.addEventListener('animationend', () => wave.remove(), {once: true})\n}\n\n// Attach a lightweight click feedback effect without coupling it to a specific component.\nexport function useInteractionEffect<T extends HTMLElement = HTMLElement>({\n effect = 'ripple',\n disabled = false,\n centered = false,\n color,\n}: UseInteractionEffectOptions = {}): UseInteractionEffectResult<T> {\n const layerRef = useRef<HTMLSpanElement>(null)\n const enabled = effect === 'ripple' && !disabled\n\n // Trigger a centered ripple for keyboard-driven or programmatic actions.\n const triggerEffect = useCallback(\n (target: T | null) => {\n if (!enabled || !target || !layerRef.current) {\n return\n }\n\n appendRipple(layerRef.current, target, {centered: true, color})\n },\n [color, enabled]\n )\n\n // Start the ripple from the actual pointer position when possible.\n const handlePointerDown = useCallback(\n (event: PointerEvent<T>) => {\n if (!enabled || !layerRef.current) {\n return\n }\n\n if (event.pointerType === 'mouse' && event.button !== 0) {\n return\n }\n\n appendRipple(layerRef.current, event.currentTarget, {\n centered,\n color,\n clientX: event.clientX,\n clientY: event.clientY,\n })\n },\n [centered, color, enabled]\n )\n\n return {\n effectClassName: enabled ? 'click-effect-root' : undefined,\n effectLayer: enabled ? <span ref={layerRef} className=\"click-effect-layer\" aria-hidden=\"true\" /> : null,\n handlePointerDown,\n triggerEffect,\n }\n}\n"],"mappings":"qFA2BA,SAAS,EAAa,EAAwB,EAAmB,EAAwB,CACrF,IAAM,EAAO,EAAK,uBAAuB,CACnC,EAAO,KAAK,IAAI,EAAK,MAAO,EAAK,OAAO,CAAG,KAC3C,EAAS,EAAO,EAChB,EAAO,SAAS,cAAc,OAAO,CACrC,EACF,EAAQ,UAAY,EAAQ,UAAY,IAAA,GAClC,EAAK,MAAQ,EAAI,EACjB,EAAQ,QAAU,EAAK,KAAO,EAClC,EACF,EAAQ,UAAY,EAAQ,UAAY,IAAA,GAClC,EAAK,OAAS,EAAI,EAClB,EAAQ,QAAU,EAAK,IAAM,EAEvC,EAAK,UAAY,oBACjB,EAAK,MAAM,MAAQ,GAAG,EAAK,IAC3B,EAAK,MAAM,OAAS,GAAG,EAAK,IAC5B,EAAK,MAAM,KAAO,GAAG,EAAE,IACvB,EAAK,MAAM,IAAM,GAAG,EAAE,IAElB,EAAQ,OACR,EAAK,MAAM,YAAY,uBAAwB,EAAQ,MAAM,CAGjE,EAAM,YAAY,EAAK,CACvB,EAAK,iBAAiB,mBAAsB,EAAK,QAAQ,CAAE,CAAC,KAAM,GAAK,CAAC,CAI5E,SAAgB,EAA0D,CACtE,SAAS,SACT,WAAW,GACX,WAAW,GACX,SAC6B,EAAE,CAAiC,CAChE,IAAM,GAAA,EAAA,EAAA,QAAmC,KAAK,CACxC,EAAU,IAAW,UAAY,CAAC,EAGlC,GAAA,EAAA,EAAA,aACD,GAAqB,CACd,CAAC,GAAW,CAAC,GAAU,CAAC,EAAS,SAIrC,EAAa,EAAS,QAAS,EAAQ,CAAC,SAAU,GAAM,QAAM,CAAC,EAEnE,CAAC,EAAO,EAAQ,CACnB,CAGK,GAAA,EAAA,EAAA,aACD,GAA2B,CACpB,CAAC,GAAW,CAAC,EAAS,SAItB,EAAM,cAAgB,SAAW,EAAM,SAAW,GAItD,EAAa,EAAS,QAAS,EAAM,cAAe,CAChD,WACA,QACA,QAAS,EAAM,QACf,QAAS,EAAM,QAClB,CAAC,EAEN,CAAC,EAAU,EAAO,EAAQ,CAC7B,CAED,MAAO,CACH,gBAAiB,EAAU,oBAAsB,IAAA,GACjD,YAAa,GAAU,EAAA,EAAA,KAAC,OAAD,CAAM,IAAK,EAAU,UAAU,qBAAqB,cAAY,OAAS,CAAA,CAAG,KACnG,oBACA,gBACH"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
require(`./core-
|
|
2
|
-
//# sourceMappingURL=useKeyboardNav-
|
|
1
|
+
require(`./core-w629c4ND.cjs`);let e=require(`react`);function t({itemCount:t,onSelect:n,onClose:r,isOpen:i,loop:a=!0}){let[o,s]=(0,e.useState)(-1);return{activeIndex:o,setActiveIndex:s,resetIndex:(0,e.useCallback)(()=>s(-1),[]),onKeyDown:(0,e.useCallback)(e=>{if(!(!i||t===0))switch(e.key){case`ArrowDown`:e.preventDefault(),s(e=>e>=t-1?a?0:e:e+1);break;case`ArrowUp`:e.preventDefault(),s(e=>e<=0?a?t-1:0:e-1);break;case`Enter`:e.preventDefault(),o>=0&&o<t&&n(o);break;case`Escape`:e.preventDefault(),r();break;case`Home`:e.preventDefault(),s(0);break;case`End`:e.preventDefault(),s(t-1);break}},[i,t,o,n,r,a])}}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return t}});
|
|
2
|
+
//# sourceMappingURL=useKeyboardNav-CCUoRMgm.cjs.map
|