@banzamel/mineralui 1.6.2 → 1.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (441) hide show
  1. package/README.md +1 -1
  2. package/dist/{MAvatar-CnBVN71i.js → MAvatar-BHASnoyu.js} +5 -5
  3. package/dist/{MAvatar-CnBVN71i.js.map → MAvatar-BHASnoyu.js.map} +1 -1
  4. package/dist/MAvatar-BVJh6kgW.cjs +2 -0
  5. package/dist/{MAvatar-DGEQqUss.cjs.map → MAvatar-BVJh6kgW.cjs.map} +1 -1
  6. package/dist/MBadge-B4x-Lx7e.cjs +2 -0
  7. package/dist/{MBadge-DcIPfPH1.cjs.map → MBadge-B4x-Lx7e.cjs.map} +1 -1
  8. package/dist/{MBadge-C_vK2JdM.js → MBadge-_BggwkrM.js} +3 -3
  9. package/dist/{MBadge-C_vK2JdM.js.map → MBadge-_BggwkrM.js.map} +1 -1
  10. package/dist/MButton-DrkVdRDy.cjs +2 -0
  11. package/dist/{MButton-LUNWBBOV.cjs.map → MButton-DrkVdRDy.cjs.map} +1 -1
  12. package/dist/{MButton-BpSZUhpY.js → MButton-y9qXhhGt.js} +4 -4
  13. package/dist/{MButton-BpSZUhpY.js.map → MButton-y9qXhhGt.js.map} +1 -1
  14. package/dist/{MCheckbox-CNz73bQC.js → MCheckbox-B-nT2OBE.js} +3 -3
  15. package/dist/{MCheckbox-CNz73bQC.js.map → MCheckbox-B-nT2OBE.js.map} +1 -1
  16. package/dist/MCheckbox-C40ESQRe.cjs +2 -0
  17. package/dist/{MCheckbox-PzknJeM2.cjs.map → MCheckbox-C40ESQRe.cjs.map} +1 -1
  18. package/dist/{MCookieBootstrap-DSOT4FQo.cjs → MCookieBootstrap-3-wyz3Dk.cjs} +1 -1
  19. package/dist/{MCookieBootstrap-DSOT4FQo.cjs.map → MCookieBootstrap-3-wyz3Dk.cjs.map} +1 -1
  20. package/dist/{MCookieBootstrap-CNYLvKjW.js → MCookieBootstrap-CGvYxIK8.js} +1 -1
  21. package/dist/{MCookieBootstrap-CNYLvKjW.js.map → MCookieBootstrap-CGvYxIK8.js.map} +1 -1
  22. package/dist/MDataTable-Bx7W-Ari.cjs +2 -0
  23. package/dist/{MDataTable-Bq6UoNJX.cjs.map → MDataTable-Bx7W-Ari.cjs.map} +1 -1
  24. package/dist/{MDataTable-AH5Tnirs.js → MDataTable-ByvNQqNP.js} +6 -6
  25. package/dist/{MDataTable-AH5Tnirs.js.map → MDataTable-ByvNQqNP.js.map} +1 -1
  26. package/dist/MDrawer-DFkrFrnD.cjs +2 -0
  27. package/dist/{MDrawer-DRqMsjMt.cjs.map → MDrawer-DFkrFrnD.cjs.map} +1 -1
  28. package/dist/{MDrawer-C08QXXC4.js → MDrawer-W2WQs1sM.js} +5 -5
  29. package/dist/{MDrawer-C08QXXC4.js.map → MDrawer-W2WQs1sM.js.map} +1 -1
  30. package/dist/MDropdownMenu-BmfXSc46.cjs +2 -0
  31. package/dist/{MDropdownMenu-CymCQqyP.cjs.map → MDropdownMenu-BmfXSc46.cjs.map} +1 -1
  32. package/dist/{MDropdownMenu-CMnBt-wO.js → MDropdownMenu-D79Cm5aS.js} +4 -4
  33. package/dist/{MDropdownMenu-CMnBt-wO.js.map → MDropdownMenu-D79Cm5aS.js.map} +1 -1
  34. package/dist/MGalleryIllustration-BB3DoCl_.cjs +2 -0
  35. package/dist/{MGalleryIllustration-BHtRFizZ.cjs.map → MGalleryIllustration-BB3DoCl_.cjs.map} +1 -1
  36. package/dist/{MGalleryIllustration-DhOtXwhC.js → MGalleryIllustration-D7CVMSwO.js} +2 -2
  37. package/dist/{MGalleryIllustration-DhOtXwhC.js.map → MGalleryIllustration-D7CVMSwO.js.map} +1 -1
  38. package/dist/MHeading-BhCNoJeW.cjs +2 -0
  39. package/dist/{MHeading-DHT1gORD.cjs.map → MHeading-BhCNoJeW.cjs.map} +1 -1
  40. package/dist/{MHeading-BvpWyvjj.js → MHeading-MPh8Qm9q.js} +4 -4
  41. package/dist/{MHeading-BvpWyvjj.js.map → MHeading-MPh8Qm9q.js.map} +1 -1
  42. package/dist/MI18nProvider-B2sE0x5D.cjs +2 -0
  43. package/dist/{MI18nProvider-Bml7Vs2-.cjs.map → MI18nProvider-B2sE0x5D.cjs.map} +1 -1
  44. package/dist/{MI18nProvider-BRZxEMqL.js → MI18nProvider-VH14CI8u.js} +1 -1
  45. package/dist/{MI18nProvider-BRZxEMqL.js.map → MI18nProvider-VH14CI8u.js.map} +1 -1
  46. package/dist/MImage-L_zgfWRY.cjs +2 -0
  47. package/dist/{MImage-CxeuH-cT.cjs.map → MImage-L_zgfWRY.cjs.map} +1 -1
  48. package/dist/{MImage-BQs91GK-.js → MImage-gwFphZk2.js} +9 -9
  49. package/dist/{MImage-BQs91GK-.js.map → MImage-gwFphZk2.js.map} +1 -1
  50. package/dist/MInline-CHrh3PHH.cjs +2 -0
  51. package/dist/{MInline-D9p9Sazp.cjs.map → MInline-CHrh3PHH.cjs.map} +1 -1
  52. package/dist/{MInline-DA_ehefx.js → MInline-CoMhfX5V.js} +4 -4
  53. package/dist/{MInline-DA_ehefx.js.map → MInline-CoMhfX5V.js.map} +1 -1
  54. package/dist/MInput-DYqV3-rQ.cjs +2 -0
  55. package/dist/{MInput-DDZ71Qqn.cjs.map → MInput-DYqV3-rQ.cjs.map} +1 -1
  56. package/dist/{MInput-l3MY93Su.js → MInput-bzSwK880.js} +6 -6
  57. package/dist/{MInput-l3MY93Su.js.map → MInput-bzSwK880.js.map} +1 -1
  58. package/dist/MInputCVC-5NkYSxV8.cjs +2 -0
  59. package/dist/{MInputCVC-Sp2uZ5aO.cjs.map → MInputCVC-5NkYSxV8.cjs.map} +1 -1
  60. package/dist/{MInputCVC-CN91scmw.js → MInputCVC-BHpMHTO5.js} +5 -5
  61. package/dist/{MInputCVC-CN91scmw.js.map → MInputCVC-BHpMHTO5.js.map} +1 -1
  62. package/dist/MInputSearch-DfoenJIm.cjs +2 -0
  63. package/dist/{MInputSearch-30o4bcDC.cjs.map → MInputSearch-DfoenJIm.cjs.map} +1 -1
  64. package/dist/{MInputSearch-CdPfJ4v_.js → MInputSearch-Dh4C3Tz5.js} +4 -4
  65. package/dist/{MInputSearch-CdPfJ4v_.js.map → MInputSearch-Dh4C3Tz5.js.map} +1 -1
  66. package/dist/MLink-CY45UR_j.cjs +2 -0
  67. package/dist/{MLink-U_wAUuz1.cjs.map → MLink-CY45UR_j.cjs.map} +1 -1
  68. package/dist/{MLink-CRUWGES-.js → MLink-rFKN1mcM.js} +3 -3
  69. package/dist/{MLink-CRUWGES-.js.map → MLink-rFKN1mcM.js.map} +1 -1
  70. package/dist/{MModal-CHSo5gKE.js → MModal-BDTAgnrm.js} +4 -4
  71. package/dist/{MModal-CHSo5gKE.js.map → MModal-BDTAgnrm.js.map} +1 -1
  72. package/dist/MModal-DT5BBgNZ.cjs +2 -0
  73. package/dist/{MModal-Czy-rR--.cjs.map → MModal-DT5BBgNZ.cjs.map} +1 -1
  74. package/dist/{MPagination-DdT1uNzD.js → MPagination-CTnaW5AW.js} +4 -4
  75. package/dist/{MPagination-DdT1uNzD.js.map → MPagination-CTnaW5AW.js.map} +1 -1
  76. package/dist/MPagination-CZEJMJzZ.cjs +2 -0
  77. package/dist/{MPagination-73z0sQvf.cjs.map → MPagination-CZEJMJzZ.cjs.map} +1 -1
  78. package/dist/MPopover-B4IUb9f0.cjs +2 -0
  79. package/dist/{MPopover-BW23_1Dl.cjs.map → MPopover-B4IUb9f0.cjs.map} +1 -1
  80. package/dist/{MPopover-3tjz5lKh.js → MPopover-Cqz5TsHg.js} +3 -3
  81. package/dist/{MPopover-3tjz5lKh.js.map → MPopover-Cqz5TsHg.js.map} +1 -1
  82. package/dist/{MPortal-Dqlkh3hw.js → MPortal-Ba2Sxset.js} +1 -1
  83. package/dist/{MPortal-Dqlkh3hw.js.map → MPortal-Ba2Sxset.js.map} +1 -1
  84. package/dist/MPortal-Bi24xTGW.cjs +2 -0
  85. package/dist/{MPortal-DE3pL2Xl.cjs.map → MPortal-Bi24xTGW.cjs.map} +1 -1
  86. package/dist/MQrCode-ByfmG33y.cjs +2 -0
  87. package/dist/{MQrCode-CMoru4dD.cjs.map → MQrCode-ByfmG33y.cjs.map} +1 -1
  88. package/dist/{MQrCode-DK5-SBhN.js → MQrCode-CCtTkkv9.js} +4 -4
  89. package/dist/{MQrCode-DK5-SBhN.js.map → MQrCode-CCtTkkv9.js.map} +1 -1
  90. package/dist/MSkeleton-5j1h9s95.cjs +2 -0
  91. package/dist/{MSkeleton-B0Mxe3L7.cjs.map → MSkeleton-5j1h9s95.cjs.map} +1 -1
  92. package/dist/{MSkeleton-Bqq_XJn8.js → MSkeleton-DGhtNmpI.js} +4 -4
  93. package/dist/{MSkeleton-Bqq_XJn8.js.map → MSkeleton-DGhtNmpI.js.map} +1 -1
  94. package/dist/{MSlider-ByVuoFFc.js → MSlider-5141rKeH.js} +2 -2
  95. package/dist/{MSlider-ByVuoFFc.js.map → MSlider-5141rKeH.js.map} +1 -1
  96. package/dist/MSlider-Ch3VjAJC.cjs +2 -0
  97. package/dist/{MSlider-sH2Vt9Lw.cjs.map → MSlider-Ch3VjAJC.cjs.map} +1 -1
  98. package/dist/MSparkline-B6qpt5WM.cjs +2 -0
  99. package/dist/{MSparkline-B-ld7hJu.cjs.map → MSparkline-B6qpt5WM.cjs.map} +1 -1
  100. package/dist/{MSparkline-DbtdM0W6.js → MSparkline-voNWOLNz.js} +2 -2
  101. package/dist/{MSparkline-DbtdM0W6.js.map → MSparkline-voNWOLNz.js.map} +1 -1
  102. package/dist/MStack-Bh-R2opf.cjs +2 -0
  103. package/dist/{MStack-Cy2GplIA.cjs.map → MStack-Bh-R2opf.cjs.map} +1 -1
  104. package/dist/{MStack-BWarX5O9.js → MStack-CSaEbepM.js} +4 -4
  105. package/dist/{MStack-BWarX5O9.js.map → MStack-CSaEbepM.js.map} +1 -1
  106. package/dist/{MSubText-C9VizSn9.js → MSubText-BFdfBlpS.js} +4 -4
  107. package/dist/{MSubText-C9VizSn9.js.map → MSubText-BFdfBlpS.js.map} +1 -1
  108. package/dist/MSubText-C-70zn0m.cjs +2 -0
  109. package/dist/{MSubText-DP9WYlwz.cjs.map → MSubText-C-70zn0m.cjs.map} +1 -1
  110. package/dist/MSurface-CpiV1-7f.cjs +2 -0
  111. package/dist/{MSurface-C467dVMQ.cjs.map → MSurface-CpiV1-7f.cjs.map} +1 -1
  112. package/dist/{MSurface-DfZ1Zy1-.js → MSurface-DJYSftdM.js} +4 -4
  113. package/dist/{MSurface-DfZ1Zy1-.js.map → MSurface-DJYSftdM.js.map} +1 -1
  114. package/dist/{MTag-N-tYZ915.js → MTag-CH5nMbm7.js} +5 -5
  115. package/dist/{MTag-N-tYZ915.js.map → MTag-CH5nMbm7.js.map} +1 -1
  116. package/dist/MTag-Y4Tswmli.cjs +2 -0
  117. package/dist/{MTag-DXqkBvqx.cjs.map → MTag-Y4Tswmli.cjs.map} +1 -1
  118. package/dist/MText-DEJddMB5.cjs +2 -0
  119. package/dist/{MText-COzub3y4.cjs.map → MText-DEJddMB5.cjs.map} +1 -1
  120. package/dist/{MText-B7_HjPym.js → MText-DcB1GAt-.js} +4 -4
  121. package/dist/{MText-B7_HjPym.js.map → MText-DcB1GAt-.js.map} +1 -1
  122. package/dist/{MTimeAgo-D1G2yovw.js → MTimeAgo-C4p80NvI.js} +4 -4
  123. package/dist/{MTimeAgo-D1G2yovw.js.map → MTimeAgo-C4p80NvI.js.map} +1 -1
  124. package/dist/MTimeAgo-DxZGVo2Y.cjs +2 -0
  125. package/dist/{MTimeAgo-DWwXs48z.cjs.map → MTimeAgo-DxZGVo2Y.cjs.map} +1 -1
  126. package/dist/MToggle-C8vYRzpC.cjs +2 -0
  127. package/dist/{MToggle-Cm3f6gm4.cjs.map → MToggle-C8vYRzpC.cjs.map} +1 -1
  128. package/dist/{MToggle-D0DrQirB.js → MToggle-Dt1Ctr5e.js} +3 -3
  129. package/dist/{MToggle-D0DrQirB.js.map → MToggle-Dt1Ctr5e.js.map} +1 -1
  130. package/dist/{MTooltip-w6Aj044c.js → MTooltip-C43aUKMP.js} +3 -3
  131. package/dist/{MTooltip-w6Aj044c.js.map → MTooltip-C43aUKMP.js.map} +1 -1
  132. package/dist/MTooltip-kSTMMpvu.cjs +2 -0
  133. package/dist/{MTooltip-C3PeHgV3.cjs.map → MTooltip-kSTMMpvu.cjs.map} +1 -1
  134. package/dist/arduino-CXUo7Bjy.cjs +2 -0
  135. package/dist/arduino-CXUo7Bjy.cjs.map +1 -0
  136. package/dist/arduino-Eif5KI8O.js +261 -0
  137. package/dist/arduino-Eif5KI8O.js.map +1 -0
  138. package/dist/bash-CCF_TYbb.js +171 -0
  139. package/dist/bash-CCF_TYbb.js.map +1 -0
  140. package/dist/bash-W4h3o_nx.cjs +2 -0
  141. package/dist/bash-W4h3o_nx.cjs.map +1 -0
  142. package/dist/c-DVgkp6T3.js +178 -0
  143. package/dist/c-DVgkp6T3.js.map +1 -0
  144. package/dist/c-Dm60JY-W.cjs +2 -0
  145. package/dist/c-Dm60JY-W.cjs.map +1 -0
  146. package/dist/cards-BiYdorB0.cjs +2 -0
  147. package/dist/{cards-B75QM9JW.cjs.map → cards-BiYdorB0.cjs.map} +1 -1
  148. package/dist/{cards-BKi8MxNx.js → cards-fn61xD_5.js} +17 -17
  149. package/dist/{cards-BKi8MxNx.js.map → cards-fn61xD_5.js.map} +1 -1
  150. package/dist/cards.cjs +1 -1
  151. package/dist/cards.js +2 -2
  152. package/dist/{cn-DYFxgzi2.cjs → cn-CU5TNITO.cjs} +1 -1
  153. package/dist/{cn-DYFxgzi2.cjs.map → cn-CU5TNITO.cjs.map} +1 -1
  154. package/dist/{cn-CUSXNnjF.js → cn-YER3QsV1.js} +1 -1
  155. package/dist/{cn-CUSXNnjF.js.map → cn-YER3QsV1.js.map} +1 -1
  156. package/dist/controls-C5PtrGZf.cjs +2 -0
  157. package/dist/{controls-B7wV_kjJ.cjs.map → controls-C5PtrGZf.cjs.map} +1 -1
  158. package/dist/{controls-BEi-0mf4.js → controls-DCtMOoQe.js} +6 -6
  159. package/dist/{controls-BEi-0mf4.js.map → controls-DCtMOoQe.js.map} +1 -1
  160. package/dist/controls.cjs +1 -1
  161. package/dist/controls.js +5 -5
  162. package/dist/cookie-consent-bootstrap.cjs +1 -1
  163. package/dist/cookie-consent-bootstrap.js +1 -1
  164. package/dist/core-AKWkE8Bx.cjs +4 -0
  165. package/dist/core-AKWkE8Bx.cjs.map +1 -0
  166. package/dist/core-CB9-PTLK.js +854 -0
  167. package/dist/core-CB9-PTLK.js.map +1 -0
  168. package/dist/cpp-DyKt1H8n.cjs +2 -0
  169. package/dist/cpp-DyKt1H8n.cjs.map +1 -0
  170. package/dist/cpp-OOenfB17.js +227 -0
  171. package/dist/cpp-OOenfB17.js.map +1 -0
  172. package/dist/{creditCards-BB11bW7D.js → creditCards-CCysEwry.js} +1 -1
  173. package/dist/{creditCards-BB11bW7D.js.map → creditCards-CCysEwry.js.map} +1 -1
  174. package/dist/{creditCards-198KJN0s.cjs → creditCards-ljs044xt.cjs} +1 -1
  175. package/dist/{creditCards-198KJN0s.cjs.map → creditCards-ljs044xt.cjs.map} +1 -1
  176. package/dist/css-DxVbPJLu.cjs +2 -0
  177. package/dist/css-DxVbPJLu.cjs.map +1 -0
  178. package/dist/css-u5LSEAra.js +142 -0
  179. package/dist/css-u5LSEAra.js.map +1 -0
  180. package/dist/data-Bw9FSZ80.cjs +2 -0
  181. package/dist/{data-DHkccnSN.cjs.map → data-Bw9FSZ80.cjs.map} +1 -1
  182. package/dist/{data-DKrj_Hx6.js → data-CMSIr_Ac.js} +24 -24
  183. package/dist/{data-DKrj_Hx6.js.map → data-CMSIr_Ac.js.map} +1 -1
  184. package/dist/data.cjs +1 -1
  185. package/dist/data.js +3 -3
  186. package/dist/{dateUtils-Ben8lfvV.js → dateUtils-CUY6CRCf.js} +1 -1
  187. package/dist/{dateUtils-Ben8lfvV.js.map → dateUtils-CUY6CRCf.js.map} +1 -1
  188. package/dist/{dateUtils-vT9rOf1J.cjs → dateUtils-Dq1vaA-D.cjs} +1 -1
  189. package/dist/{dateUtils-vT9rOf1J.cjs.map → dateUtils-Dq1vaA-D.cjs.map} +1 -1
  190. package/dist/display-BafEcBK_.cjs +3 -0
  191. package/dist/display-BafEcBK_.cjs.map +1 -0
  192. package/dist/{display-rQqBLjAN.js → display-Zxj9YHu_.js} +196 -179
  193. package/dist/display-Zxj9YHu_.js.map +1 -0
  194. package/dist/display.cjs +1 -1
  195. package/dist/display.js +3 -3
  196. package/dist/{dropdowns-BKnXb1XJ.js → dropdowns-Bw8obCYl.js} +15 -15
  197. package/dist/{dropdowns-BKnXb1XJ.js.map → dropdowns-Bw8obCYl.js.map} +1 -1
  198. package/dist/dropdowns-DN7j1HhE.cjs +2 -0
  199. package/dist/{dropdowns-cRrLY8FG.cjs.map → dropdowns-DN7j1HhE.cjs.map} +1 -1
  200. package/dist/dropdowns.cjs +1 -1
  201. package/dist/dropdowns.js +1 -1
  202. package/dist/{feedback-CIXmm0XT.js → feedback-8H3bmQw5.js} +18 -18
  203. package/dist/{feedback-CIXmm0XT.js.map → feedback-8H3bmQw5.js.map} +1 -1
  204. package/dist/feedback-Di0SEpRe.cjs +2 -0
  205. package/dist/{feedback-DiMptPJy.cjs.map → feedback-Di0SEpRe.cjs.map} +1 -1
  206. package/dist/feedback.cjs +1 -1
  207. package/dist/feedback.js +6 -6
  208. package/dist/form-BYz99Py5.cjs +2 -0
  209. package/dist/{form-DABPazeN.cjs.map → form-BYz99Py5.cjs.map} +1 -1
  210. package/dist/{form-DZJxDW59.js → form-JHlvtP9r.js} +2 -2
  211. package/dist/{form-DZJxDW59.js.map → form-JHlvtP9r.js.map} +1 -1
  212. package/dist/form.cjs +1 -1
  213. package/dist/form.js +1 -1
  214. package/dist/{formatters-CauWlsnM.cjs → formatters-CNjg_h7-.cjs} +1 -1
  215. package/dist/{formatters-CauWlsnM.cjs.map → formatters-CNjg_h7-.cjs.map} +1 -1
  216. package/dist/{formatters-Doqdu_w1.js → formatters-T0vvjMtB.js} +1 -1
  217. package/dist/{formatters-Doqdu_w1.js.map → formatters-T0vvjMtB.js.map} +1 -1
  218. package/dist/{frameworkTexts-DzujbRBe.js → frameworkTexts-CvxcWRXp.js} +2 -2
  219. package/dist/{frameworkTexts-DzujbRBe.js.map → frameworkTexts-CvxcWRXp.js.map} +1 -1
  220. package/dist/frameworkTexts-abkS5XZK.cjs +2 -0
  221. package/dist/{frameworkTexts-DPX5T2x3.cjs.map → frameworkTexts-abkS5XZK.cjs.map} +1 -1
  222. package/dist/i18n.cjs +1 -1
  223. package/dist/i18n.js +1 -1
  224. package/dist/{icons-DlNO04xH.js → icons-CfpYxnfg.js} +1 -1
  225. package/dist/{icons-DlNO04xH.js.map → icons-CfpYxnfg.js.map} +1 -1
  226. package/dist/icons-DWMgDKgt.cjs +2 -0
  227. package/dist/{icons-BJCV7W0L.cjs.map → icons-DWMgDKgt.cjs.map} +1 -1
  228. package/dist/icons.cjs +1 -1
  229. package/dist/icons.js +1 -1
  230. package/dist/illustrations.cjs +1 -1
  231. package/dist/illustrations.js +1 -1
  232. package/dist/index.cjs +1 -1
  233. package/dist/index.js +57 -57
  234. package/dist/{inputs-CmpB6eyB.js → inputs-Bcwd_UTr.js} +12 -12
  235. package/dist/{inputs-CmpB6eyB.js.map → inputs-Bcwd_UTr.js.map} +1 -1
  236. package/dist/inputs-FP545Yri.cjs +2 -0
  237. package/dist/{inputs-EZBwxk7j.cjs.map → inputs-FP545Yri.cjs.map} +1 -1
  238. package/dist/inputs.cjs +1 -1
  239. package/dist/inputs.js +4 -4
  240. package/dist/javascript-CXjsxb-I.js +438 -0
  241. package/dist/javascript-CXjsxb-I.js.map +1 -0
  242. package/dist/javascript-CzjCTQxn.cjs +2 -0
  243. package/dist/javascript-CzjCTQxn.cjs.map +1 -0
  244. package/dist/json-9Qq5guN0.cjs +2 -0
  245. package/dist/json-9Qq5guN0.cjs.map +1 -0
  246. package/dist/json-CyV5VF8D.js +38 -0
  247. package/dist/json-CyV5VF8D.js.map +1 -0
  248. package/dist/{layout-D72Y7VcW.js → layout-BpEnTocp.js} +11 -11
  249. package/dist/{layout-D72Y7VcW.js.map → layout-BpEnTocp.js.map} +1 -1
  250. package/dist/layout-rtlHrjDb.cjs +2 -0
  251. package/dist/{layout-DZiWboju.cjs.map → layout-rtlHrjDb.cjs.map} +1 -1
  252. package/dist/layout.cjs +1 -1
  253. package/dist/layout.js +5 -5
  254. package/dist/{layoutProps-Ck4VtGm9.cjs → layoutProps-B8y2XwHy.cjs} +1 -1
  255. package/dist/{layoutProps-Ck4VtGm9.cjs.map → layoutProps-B8y2XwHy.cjs.map} +1 -1
  256. package/dist/{layoutProps-Cl6d1KmH.js → layoutProps-CE5-ghKw.js} +1 -1
  257. package/dist/{layoutProps-Cl6d1KmH.js.map → layoutProps-CE5-ghKw.js.map} +1 -1
  258. package/dist/{licensing-Cbpi1toF.js → licensing-CwzqhHH9.js} +1 -1
  259. package/dist/{licensing-Cbpi1toF.js.map → licensing-CwzqhHH9.js.map} +1 -1
  260. package/dist/licensing-ezfo7ZTh.cjs +2 -0
  261. package/dist/{licensing-JchPJhVY.cjs.map → licensing-ezfo7ZTh.cjs.map} +1 -1
  262. package/dist/locale-CZyqh3ON.cjs +2 -0
  263. package/dist/{locale-DIwV_GfN.cjs.map → locale-CZyqh3ON.cjs.map} +1 -1
  264. package/dist/{locale-BNyzqXAU.js → locale-JX_gX03k.js} +1 -1
  265. package/dist/{locale-BNyzqXAU.js.map → locale-JX_gX03k.js.map} +1 -1
  266. package/dist/{media-BlGY91Na.js → media-C3M0npGW.js} +9 -9
  267. package/dist/{media-BlGY91Na.js.map → media-C3M0npGW.js.map} +1 -1
  268. package/dist/media-ClgUKDca.cjs +2 -0
  269. package/dist/{media-p643cb02.cjs.map → media-ClgUKDca.cjs.map} +1 -1
  270. package/dist/media.cjs +1 -1
  271. package/dist/media.js +3 -3
  272. package/dist/{overlays-51pBvlf9.js → overlays-CGlqD3rl.js} +7 -7
  273. package/dist/{overlays-51pBvlf9.js.map → overlays-CGlqD3rl.js.map} +1 -1
  274. package/dist/overlays-DrSGzbbA.cjs +2 -0
  275. package/dist/{overlays-8htlWp07.cjs.map → overlays-DrSGzbbA.cjs.map} +1 -1
  276. package/dist/overlays.cjs +1 -1
  277. package/dist/overlays.js +5 -5
  278. package/dist/php-Br75m0HU.cjs +3 -0
  279. package/dist/php-Br75m0HU.cjs.map +1 -0
  280. package/dist/php-deNqvHeU.js +296 -0
  281. package/dist/php-deNqvHeU.js.map +1 -0
  282. package/dist/primitives.cjs +1 -1
  283. package/dist/primitives.js +2 -2
  284. package/dist/{relativeTime-BqCuaBqb.js → relativeTime-Cr-NVzij.js} +1 -1
  285. package/dist/{relativeTime-BqCuaBqb.js.map → relativeTime-Cr-NVzij.js.map} +1 -1
  286. package/dist/{relativeTime-DUbW4O44.cjs → relativeTime-DgYBUaVm.cjs} +1 -1
  287. package/dist/{relativeTime-DUbW4O44.cjs.map → relativeTime-DgYBUaVm.cjs.map} +1 -1
  288. package/dist/style-runtime.cjs +1 -1
  289. package/dist/style-runtime.js +1 -1
  290. package/dist/styles.css +1 -1
  291. package/dist/theme-CgS-bND3.cjs +2 -0
  292. package/dist/{theme-Bnwe-wvr.cjs.map → theme-CgS-bND3.cjs.map} +1 -1
  293. package/dist/{theme-KYwqDZxJ.js → theme-D_f-cmSA.js} +1 -1
  294. package/dist/{theme-KYwqDZxJ.js.map → theme-D_f-cmSA.js.map} +1 -1
  295. package/dist/theme.cjs +1 -1
  296. package/dist/theme.js +1 -1
  297. package/dist/typescript-CRgqVaw_.cjs +2 -0
  298. package/dist/typescript-CRgqVaw_.cjs.map +1 -0
  299. package/dist/typescript-jNfCpQvl.js +523 -0
  300. package/dist/typescript-jNfCpQvl.js.map +1 -0
  301. package/dist/{typography-FCWA0UOB.js → typography-BSBsn0f8.js} +3 -3
  302. package/dist/{typography-FCWA0UOB.js.map → typography-BSBsn0f8.js.map} +1 -1
  303. package/dist/typography-Zo4Usx9I.cjs +2 -0
  304. package/dist/{typography-D1s-QFlb.cjs.map → typography-Zo4Usx9I.cjs.map} +1 -1
  305. package/dist/typography.cjs +1 -1
  306. package/dist/typography.js +5 -5
  307. package/dist/{useGhostText-BJZKdZpw.js → useGhostText-DG0bzcao.js} +1 -1
  308. package/dist/{useGhostText-BJZKdZpw.js.map → useGhostText-DG0bzcao.js.map} +1 -1
  309. package/dist/useGhostText-tv1LiSPs.cjs +2 -0
  310. package/dist/{useGhostText-D1DbIs-n.cjs.map → useGhostText-tv1LiSPs.cjs.map} +1 -1
  311. package/dist/useInteractionEffect-D1ZdNbKU.cjs +2 -0
  312. package/dist/{useInteractionEffect-CYHGHV1e.cjs.map → useInteractionEffect-D1ZdNbKU.cjs.map} +1 -1
  313. package/dist/{useInteractionEffect-ClkU3aH5.js → useInteractionEffect-DtpbVd77.js} +1 -1
  314. package/dist/{useInteractionEffect-ClkU3aH5.js.map → useInteractionEffect-DtpbVd77.js.map} +1 -1
  315. package/dist/useKeyboardNav-CkIlAagq.cjs +2 -0
  316. package/dist/{useKeyboardNav-BoibrRUF.cjs.map → useKeyboardNav-CkIlAagq.cjs.map} +1 -1
  317. package/dist/{useKeyboardNav-CBOdeTFM.js → useKeyboardNav-iEXOdEMB.js} +1 -1
  318. package/dist/{useKeyboardNav-CBOdeTFM.js.map → useKeyboardNav-iEXOdEMB.js.map} +1 -1
  319. package/dist/utils.cjs +1 -1
  320. package/dist/utils.js +10 -10
  321. package/dist/{validators-D4aTeaH0.cjs → validators-BeNTD8mf.cjs} +1 -1
  322. package/dist/{validators-D4aTeaH0.cjs.map → validators-BeNTD8mf.cjs.map} +1 -1
  323. package/dist/{validators-YZyyyLvE.js → validators-H8tNxb8O.js} +1 -1
  324. package/dist/{validators-YZyyyLvE.js.map → validators-H8tNxb8O.js.map} +1 -1
  325. package/dist/xml-0Th6YIDv.js +168 -0
  326. package/dist/xml-0Th6YIDv.js.map +1 -0
  327. package/dist/xml-C_ksWBRH.cjs +2 -0
  328. package/dist/xml-C_ksWBRH.cjs.map +1 -0
  329. package/package.json +2 -2
  330. package/dist/MAvatar-DGEQqUss.cjs +0 -2
  331. package/dist/MBadge-DcIPfPH1.cjs +0 -2
  332. package/dist/MButton-LUNWBBOV.cjs +0 -2
  333. package/dist/MCheckbox-PzknJeM2.cjs +0 -2
  334. package/dist/MDataTable-Bq6UoNJX.cjs +0 -2
  335. package/dist/MDrawer-DRqMsjMt.cjs +0 -2
  336. package/dist/MDropdownMenu-CymCQqyP.cjs +0 -2
  337. package/dist/MGalleryIllustration-BHtRFizZ.cjs +0 -2
  338. package/dist/MHeading-DHT1gORD.cjs +0 -2
  339. package/dist/MI18nProvider-Bml7Vs2-.cjs +0 -2
  340. package/dist/MImage-CxeuH-cT.cjs +0 -2
  341. package/dist/MInline-D9p9Sazp.cjs +0 -2
  342. package/dist/MInput-DDZ71Qqn.cjs +0 -2
  343. package/dist/MInputCVC-Sp2uZ5aO.cjs +0 -2
  344. package/dist/MInputSearch-30o4bcDC.cjs +0 -2
  345. package/dist/MLink-U_wAUuz1.cjs +0 -2
  346. package/dist/MModal-Czy-rR--.cjs +0 -2
  347. package/dist/MPagination-73z0sQvf.cjs +0 -2
  348. package/dist/MPopover-BW23_1Dl.cjs +0 -2
  349. package/dist/MPortal-DE3pL2Xl.cjs +0 -2
  350. package/dist/MQrCode-CMoru4dD.cjs +0 -2
  351. package/dist/MSkeleton-B0Mxe3L7.cjs +0 -2
  352. package/dist/MSlider-sH2Vt9Lw.cjs +0 -2
  353. package/dist/MSparkline-B-ld7hJu.cjs +0 -2
  354. package/dist/MStack-Cy2GplIA.cjs +0 -2
  355. package/dist/MSubText-DP9WYlwz.cjs +0 -2
  356. package/dist/MSurface-C467dVMQ.cjs +0 -2
  357. package/dist/MTag-DXqkBvqx.cjs +0 -2
  358. package/dist/MText-COzub3y4.cjs +0 -2
  359. package/dist/MTimeAgo-DWwXs48z.cjs +0 -2
  360. package/dist/MToggle-Cm3f6gm4.cjs +0 -2
  361. package/dist/MTooltip-C3PeHgV3.cjs +0 -2
  362. package/dist/cards-B75QM9JW.cjs +0 -2
  363. package/dist/chunk-350yNsax.cjs +0 -1
  364. package/dist/chunk-efA98nb6.js +0 -13
  365. package/dist/controls-B7wV_kjJ.cjs +0 -2
  366. package/dist/data-DHkccnSN.cjs +0 -2
  367. package/dist/display-DKJ6Hp3A.cjs +0 -3
  368. package/dist/display-DKJ6Hp3A.cjs.map +0 -1
  369. package/dist/display-rQqBLjAN.js.map +0 -1
  370. package/dist/dropdowns-cRrLY8FG.cjs +0 -2
  371. package/dist/feedback-DiMptPJy.cjs +0 -2
  372. package/dist/form-DABPazeN.cjs +0 -2
  373. package/dist/frameworkTexts-DPX5T2x3.cjs +0 -2
  374. package/dist/icons-BJCV7W0L.cjs +0 -2
  375. package/dist/inputs-EZBwxk7j.cjs +0 -2
  376. package/dist/layout-DZiWboju.cjs +0 -2
  377. package/dist/licensing-JchPJhVY.cjs +0 -2
  378. package/dist/locale-DIwV_GfN.cjs +0 -2
  379. package/dist/media-p643cb02.cjs +0 -2
  380. package/dist/overlays-8htlWp07.cjs +0 -2
  381. package/dist/prism-bash-DSVvpDwH.cjs +0 -2
  382. package/dist/prism-bash-DSVvpDwH.cjs.map +0 -1
  383. package/dist/prism-bash-GQKgVScr.js +0 -177
  384. package/dist/prism-bash-GQKgVScr.js.map +0 -1
  385. package/dist/prism-c-DBlZetAm.js +0 -56
  386. package/dist/prism-c-DBlZetAm.js.map +0 -1
  387. package/dist/prism-c-DwJ0sL1f.cjs +0 -2
  388. package/dist/prism-c-DwJ0sL1f.cjs.map +0 -1
  389. package/dist/prism-clike-BHy7LBAZ.cjs +0 -2
  390. package/dist/prism-clike-BHy7LBAZ.cjs.map +0 -1
  391. package/dist/prism-clike-CrtZga9r.js +0 -30
  392. package/dist/prism-clike-CrtZga9r.js.map +0 -1
  393. package/dist/prism-core-DsZQ3wSm.js +0 -299
  394. package/dist/prism-core-DsZQ3wSm.js.map +0 -1
  395. package/dist/prism-core-Z2NDHfPM.cjs +0 -2
  396. package/dist/prism-core-Z2NDHfPM.cjs.map +0 -1
  397. package/dist/prism-cpp-CXyjGEks.cjs +0 -2
  398. package/dist/prism-cpp-CXyjGEks.cjs.map +0 -1
  399. package/dist/prism-cpp-DerVaWjZ.js +0 -65
  400. package/dist/prism-cpp-DerVaWjZ.js.map +0 -1
  401. package/dist/prism-css-Bx_bUmkm.js +0 -57
  402. package/dist/prism-css-Bx_bUmkm.js.map +0 -1
  403. package/dist/prism-css-q8i9Tl0Y.cjs +0 -2
  404. package/dist/prism-css-q8i9Tl0Y.cjs.map +0 -1
  405. package/dist/prism-javascript-CC_WcCH4.cjs +0 -2
  406. package/dist/prism-javascript-CC_WcCH4.cjs.map +0 -1
  407. package/dist/prism-javascript-uSHTlCK6.js +0 -103
  408. package/dist/prism-javascript-uSHTlCK6.js.map +0 -1
  409. package/dist/prism-json-CRpBxccA.js +0 -27
  410. package/dist/prism-json-CRpBxccA.js.map +0 -1
  411. package/dist/prism-json-CvwHQDim.cjs +0 -2
  412. package/dist/prism-json-CvwHQDim.cjs.map +0 -1
  413. package/dist/prism-jsx-CSsxTxi5.js +0 -48
  414. package/dist/prism-jsx-CSsxTxi5.js.map +0 -1
  415. package/dist/prism-jsx-ZJAX6mJe.cjs +0 -2
  416. package/dist/prism-jsx-ZJAX6mJe.cjs.map +0 -1
  417. package/dist/prism-markup-Cc4COxfn.js +0 -118
  418. package/dist/prism-markup-Cc4COxfn.js.map +0 -1
  419. package/dist/prism-markup-RTw80xRC.cjs +0 -2
  420. package/dist/prism-markup-RTw80xRC.cjs.map +0 -1
  421. package/dist/prism-markup-templating-CylI3Gpj.cjs +0 -2
  422. package/dist/prism-markup-templating-CylI3Gpj.cjs.map +0 -1
  423. package/dist/prism-markup-templating-D4w8OHUw.js +0 -41
  424. package/dist/prism-markup-templating-D4w8OHUw.js.map +0 -1
  425. package/dist/prism-php-CMZ7fRp0.cjs +0 -2
  426. package/dist/prism-php-CMZ7fRp0.cjs.map +0 -1
  427. package/dist/prism-php-nJ_CzHXP.js +0 -279
  428. package/dist/prism-php-nJ_CzHXP.js.map +0 -1
  429. package/dist/prism-tsx-CvHlXV3S.cjs +0 -2
  430. package/dist/prism-tsx-CvHlXV3S.cjs.map +0 -1
  431. package/dist/prism-tsx-UlwV29L3.js +0 -10
  432. package/dist/prism-tsx-UlwV29L3.js.map +0 -1
  433. package/dist/prism-typescript-BA7hsZPZ.js +0 -40
  434. package/dist/prism-typescript-BA7hsZPZ.js.map +0 -1
  435. package/dist/prism-typescript-CDAVIXup.cjs +0 -2
  436. package/dist/prism-typescript-CDAVIXup.cjs.map +0 -1
  437. package/dist/theme-Bnwe-wvr.cjs +0 -2
  438. package/dist/typography-D1s-QFlb.cjs +0 -2
  439. package/dist/useGhostText-D1DbIs-n.cjs +0 -2
  440. package/dist/useInteractionEffect-CYHGHV1e.cjs +0 -2
  441. package/dist/useKeyboardNav-BoibrRUF.cjs +0 -2
package/dist/overlays.cjs CHANGED
@@ -1,3 +1,3 @@
1
1
  const {ensureStyles}=require('./style-runtime.cjs')
2
2
  ensureStyles()
3
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./MModal-Czy-rR--.cjs`),t=require(`./overlays-8htlWp07.cjs`),n=require(`./MDrawer-DRqMsjMt.cjs`),r=require(`./MTooltip-C3PeHgV3.cjs`),i=require(`./MDropdownMenu-CymCQqyP.cjs`);exports.MDrawer=n.t,exports.MDrawerBody=n.n,exports.MDrawerFooter=n.r,exports.MDrawerHeader=n.i,exports.MDropdownDivider=i.t,exports.MDropdownGroup=i.n,exports.MDropdownItem=i.r,exports.MDropdownMenu=i.i,exports.MModal=e.t,exports.MPopconfirm=t.t,exports.MSheet=t.n,exports.MTooltip=r.t;
3
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./MModal-DT5BBgNZ.cjs`),t=require(`./overlays-DrSGzbbA.cjs`),n=require(`./MDrawer-DFkrFrnD.cjs`),r=require(`./MTooltip-kSTMMpvu.cjs`),i=require(`./MDropdownMenu-BmfXSc46.cjs`);exports.MDrawer=n.t,exports.MDrawerBody=n.n,exports.MDrawerFooter=n.r,exports.MDrawerHeader=n.i,exports.MDropdownDivider=i.t,exports.MDropdownGroup=i.n,exports.MDropdownItem=i.r,exports.MDropdownMenu=i.i,exports.MModal=e.t,exports.MPopconfirm=t.t,exports.MSheet=t.n,exports.MTooltip=r.t;
package/dist/overlays.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import {ensureStyles} from './style-runtime.js'
2
2
  ensureStyles()
3
- import { t as e } from "./MModal-CHSo5gKE.js";
4
- import { n as t, t as n } from "./overlays-51pBvlf9.js";
5
- import { i as r, n as i, r as a, t as o } from "./MDrawer-C08QXXC4.js";
6
- import { t as s } from "./MTooltip-w6Aj044c.js";
7
- import { i as c, n as l, r as u, t as d } from "./MDropdownMenu-CMnBt-wO.js";
3
+ import { t as e } from "./MModal-BDTAgnrm.js";
4
+ import { n as t, t as n } from "./overlays-CGlqD3rl.js";
5
+ import { i as r, n as i, r as a, t as o } from "./MDrawer-W2WQs1sM.js";
6
+ import { t as s } from "./MTooltip-C43aUKMP.js";
7
+ import { i as c, n as l, r as u, t as d } from "./MDropdownMenu-D79Cm5aS.js";
8
8
  export { o as MDrawer, i as MDrawerBody, a as MDrawerFooter, r as MDrawerHeader, d as MDropdownDivider, l as MDropdownGroup, u as MDropdownItem, c as MDropdownMenu, e as MModal, n as MPopconfirm, t as MSheet, s as MTooltip };
@@ -0,0 +1,3 @@
1
+ function e(e){let t=e.regex,n=/(?![A-Za-z0-9])(?![$])/,r=t.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,n),i=t.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,n),a=t.concat(/[A-Z]+/,n),o={scope:`variable`,match:`\\$+`+r},s={scope:`meta`,variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},c={scope:`subst`,variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},l=e.inherit(e.APOS_STRING_MODE,{illegal:null}),u=e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(c)}),d={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(c),"on:begin":(e,t)=>{t.data._beginMatch=e[1]||e[2]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}},f=e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),p=`[
2
+ ]`,m={scope:`string`,variants:[u,l,d,f]},h={scope:`number`,variants:[{begin:`\\b0[bB][01]+(?:_[01]+)*\\b`},{begin:`\\b0[oO][0-7]+(?:_[0-7]+)*\\b`},{begin:`\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b`},{begin:`(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?`}],relevance:0},g=[`false`,`null`,`true`],_=`__CLASS__.__DIR__.__FILE__.__FUNCTION__.__COMPILER_HALT_OFFSET__.__LINE__.__METHOD__.__NAMESPACE__.__TRAIT__.die.echo.exit.include.include_once.print.require.require_once.array.abstract.and.as.binary.bool.boolean.break.callable.case.catch.class.clone.const.continue.declare.default.do.double.else.elseif.empty.enddeclare.endfor.endforeach.endif.endswitch.endwhile.enum.eval.extends.final.finally.float.for.foreach.from.global.goto.if.implements.instanceof.insteadof.int.integer.interface.isset.iterable.list.match|0.mixed.new.never.object.or.private.protected.public.readonly.real.return.string.switch.throw.trait.try.unset.use.var.void.while.xor.yield`.split(`.`),v=`Error|0.AppendIterator.ArgumentCountError.ArithmeticError.ArrayIterator.ArrayObject.AssertionError.BadFunctionCallException.BadMethodCallException.CachingIterator.CallbackFilterIterator.CompileError.Countable.DirectoryIterator.DivisionByZeroError.DomainException.EmptyIterator.ErrorException.Exception.FilesystemIterator.FilterIterator.GlobIterator.InfiniteIterator.InvalidArgumentException.IteratorIterator.LengthException.LimitIterator.LogicException.MultipleIterator.NoRewindIterator.OutOfBoundsException.OutOfRangeException.OuterIterator.OverflowException.ParentIterator.ParseError.RangeException.RecursiveArrayIterator.RecursiveCachingIterator.RecursiveCallbackFilterIterator.RecursiveDirectoryIterator.RecursiveFilterIterator.RecursiveIterator.RecursiveIteratorIterator.RecursiveRegexIterator.RecursiveTreeIterator.RegexIterator.RuntimeException.SeekableIterator.SplDoublyLinkedList.SplFileInfo.SplFileObject.SplFixedArray.SplHeap.SplMaxHeap.SplMinHeap.SplObjectStorage.SplObserver.SplPriorityQueue.SplQueue.SplStack.SplSubject.SplTempFileObject.TypeError.UnderflowException.UnexpectedValueException.UnhandledMatchError.ArrayAccess.BackedEnum.Closure.Fiber.Generator.Iterator.IteratorAggregate.Serializable.Stringable.Throwable.Traversable.UnitEnum.WeakReference.WeakMap.Directory.__PHP_Incomplete_Class.parent.php_user_filter.self.static.stdClass`.split(`.`),y={keyword:_,literal:(e=>{let t=[];return e.forEach(e=>{t.push(e),e.toLowerCase()===e?t.push(e.toUpperCase()):t.push(e.toLowerCase())}),t})(g),built_in:v},b=e=>e.map(e=>e.replace(/\|\d+$/,``)),x={variants:[{match:[/new/,t.concat(p,`+`),t.concat(`(?!`,b(v).join(`\\b|`),`\\b)`),i],scope:{1:`keyword`,4:`title.class`}}]},S=t.concat(r,`\\b(?!\\()`),C={variants:[{match:[t.concat(/::/,t.lookahead(/(?!class\b)/)),S],scope:{2:`variable.constant`}},{match:[/::/,/class/],scope:{2:`variable.language`}},{match:[i,t.concat(/::/,t.lookahead(/(?!class\b)/)),S],scope:{1:`title.class`,3:`variable.constant`}},{match:[i,t.concat(`::`,t.lookahead(/(?!class\b)/))],scope:{1:`title.class`}},{match:[i,/::/,/class/],scope:{1:`title.class`,3:`variable.language`}}]},w={scope:`attr`,match:t.concat(r,t.lookahead(`:`),t.lookahead(/(?!::)/))},T={relevance:0,begin:/\(/,end:/\)/,keywords:y,contains:[w,o,C,e.C_BLOCK_COMMENT_MODE,m,h,x]},E={relevance:0,match:[/\b/,t.concat(`(?!fn\\b|function\\b|`,b(_).join(`\\b|`),`|`,b(v).join(`\\b|`),`\\b)`),r,t.concat(p,`*`),t.lookahead(/(?=\()/)],scope:{3:`title.function.invoke`},contains:[T]};T.contains.push(E);let D=[w,C,e.C_BLOCK_COMMENT_MODE,m,h,x],O={begin:t.concat(/#\[\s*\\?/,t.either(i,a)),beginScope:`meta`,end:/]/,endScope:`meta`,keywords:{literal:g,keyword:[`new`,`array`]},contains:[{begin:/\[/,end:/]/,keywords:{literal:g,keyword:[`new`,`array`]},contains:[`self`,...D]},...D,{scope:`meta`,variants:[{match:i},{match:a}]}]};return{case_insensitive:!1,keywords:y,contains:[O,e.HASH_COMMENT_MODE,e.COMMENT(`//`,`$`),e.COMMENT(`/\\*`,`\\*/`,{contains:[{scope:`doctag`,match:`@[A-Za-z]+`}]}),{match:/__halt_compiler\(\);/,keywords:`__halt_compiler`,starts:{scope:`comment`,end:e.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:`meta`,endsParent:!0}]}},s,{scope:`variable.language`,match:/\$this\b/},o,E,C,{match:[/const/,/\s/,r],scope:{1:`keyword`,3:`variable.constant`}},x,{scope:`function`,relevance:0,beginKeywords:`fn function`,end:/[;{]/,excludeEnd:!0,illegal:`[$%\\[]`,contains:[{beginKeywords:`use`},e.UNDERSCORE_TITLE_MODE,{begin:`=>`,endsParent:!0},{scope:`params`,begin:`\\(`,end:`\\)`,excludeBegin:!0,excludeEnd:!0,keywords:y,contains:[`self`,O,o,C,e.C_BLOCK_COMMENT_MODE,m,h]}]},{scope:`class`,variants:[{beginKeywords:`enum`,illegal:/[($"]/},{beginKeywords:`class interface trait`,illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:`extends implements`},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:`namespace`,relevance:0,end:`;`,illegal:/[.']/,contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:`title.class`})]},{beginKeywords:`use`,relevance:0,end:`;`,contains:[{match:/\b(as|const|function)\b/,scope:`keyword`},e.UNDERSCORE_TITLE_MODE]},m,h]}}exports.default=e;
3
+ //# sourceMappingURL=php-Br75m0HU.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"php-Br75m0HU.cjs","names":[],"sources":["../node_modules/highlight.js/es/languages/php.js"],"sourcesContent":["/*\nLanguage: PHP\nAuthor: Victor Karamzin <Victor.Karamzin@enterra-inc.com>\nContributors: Evgeny Stepanischev <imbolk@gmail.com>, Ivan Sagalaev <maniac@softwaremaniacs.org>\nWebsite: https://www.php.net\nCategory: common\n*/\n\n/**\n * @param {HLJSApi} hljs\n * @returns {LanguageDetail}\n * */\nfunction php(hljs) {\n const regex = hljs.regex;\n // negative look-ahead tries to avoid matching patterns that are not\n // Perl at all like $ident$, @ident@, etc.\n const NOT_PERL_ETC = /(?![A-Za-z0-9])(?![$])/;\n const IDENT_RE = regex.concat(\n /[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*/,\n NOT_PERL_ETC);\n // Will not detect camelCase classes\n const PASCAL_CASE_CLASS_NAME_RE = regex.concat(\n /(\\\\?[A-Z][a-z0-9_\\x7f-\\xff]+|\\\\?[A-Z]+(?=[A-Z][a-z0-9_\\x7f-\\xff])){1,}/,\n NOT_PERL_ETC);\n const UPCASE_NAME_RE = regex.concat(\n /[A-Z]+/,\n NOT_PERL_ETC);\n const VARIABLE = {\n scope: 'variable',\n match: '\\\\$+' + IDENT_RE,\n };\n const PREPROCESSOR = {\n scope: \"meta\",\n variants: [\n { begin: /<\\?php/, relevance: 10 }, // boost for obvious PHP\n { begin: /<\\?=/ },\n // less relevant per PSR-1 which says not to use short-tags\n { begin: /<\\?/, relevance: 0.1 },\n { begin: /\\?>/ } // end php tag\n ]\n };\n const SUBST = {\n scope: 'subst',\n variants: [\n { begin: /\\$\\w+/ },\n {\n begin: /\\{\\$/,\n end: /\\}/\n }\n ]\n };\n const SINGLE_QUOTED = hljs.inherit(hljs.APOS_STRING_MODE, { illegal: null, });\n const DOUBLE_QUOTED = hljs.inherit(hljs.QUOTE_STRING_MODE, {\n illegal: null,\n contains: hljs.QUOTE_STRING_MODE.contains.concat(SUBST),\n });\n\n const HEREDOC = {\n begin: /<<<[ \\t]*(?:(\\w+)|\"(\\w+)\")\\n/,\n end: /[ \\t]*(\\w+)\\b/,\n contains: hljs.QUOTE_STRING_MODE.contains.concat(SUBST),\n 'on:begin': (m, resp) => { resp.data._beginMatch = m[1] || m[2]; },\n 'on:end': (m, resp) => { if (resp.data._beginMatch !== m[1]) resp.ignoreMatch(); },\n };\n\n const NOWDOC = hljs.END_SAME_AS_BEGIN({\n begin: /<<<[ \\t]*'(\\w+)'\\n/,\n end: /[ \\t]*(\\w+)\\b/,\n });\n // list of valid whitespaces because non-breaking space might be part of a IDENT_RE\n const WHITESPACE = '[ \\t\\n]';\n const STRING = {\n scope: 'string',\n variants: [\n DOUBLE_QUOTED,\n SINGLE_QUOTED,\n HEREDOC,\n NOWDOC\n ]\n };\n const NUMBER = {\n scope: 'number',\n variants: [\n { begin: `\\\\b0[bB][01]+(?:_[01]+)*\\\\b` }, // Binary w/ underscore support\n { begin: `\\\\b0[oO][0-7]+(?:_[0-7]+)*\\\\b` }, // Octals w/ underscore support\n { begin: `\\\\b0[xX][\\\\da-fA-F]+(?:_[\\\\da-fA-F]+)*\\\\b` }, // Hex w/ underscore support\n // Decimals w/ underscore support, with optional fragments and scientific exponent (e) suffix.\n { begin: `(?:\\\\b\\\\d+(?:_\\\\d+)*(\\\\.(?:\\\\d+(?:_\\\\d+)*))?|\\\\B\\\\.\\\\d+)(?:[eE][+-]?\\\\d+)?` }\n ],\n relevance: 0\n };\n const LITERALS = [\n \"false\",\n \"null\",\n \"true\"\n ];\n const KWS = [\n // Magic constants:\n // <https://www.php.net/manual/en/language.constants.predefined.php>\n \"__CLASS__\",\n \"__DIR__\",\n \"__FILE__\",\n \"__FUNCTION__\",\n \"__COMPILER_HALT_OFFSET__\",\n \"__LINE__\",\n \"__METHOD__\",\n \"__NAMESPACE__\",\n \"__TRAIT__\",\n // Function that look like language construct or language construct that look like function:\n // List of keywords that may not require parenthesis\n \"die\",\n \"echo\",\n \"exit\",\n \"include\",\n \"include_once\",\n \"print\",\n \"require\",\n \"require_once\",\n // These are not language construct (function) but operate on the currently-executing function and can access the current symbol table\n // 'compact extract func_get_arg func_get_args func_num_args get_called_class get_parent_class ' +\n // Other keywords:\n // <https://www.php.net/manual/en/reserved.php>\n // <https://www.php.net/manual/en/language.types.type-juggling.php>\n \"array\",\n \"abstract\",\n \"and\",\n \"as\",\n \"binary\",\n \"bool\",\n \"boolean\",\n \"break\",\n \"callable\",\n \"case\",\n \"catch\",\n \"class\",\n \"clone\",\n \"const\",\n \"continue\",\n \"declare\",\n \"default\",\n \"do\",\n \"double\",\n \"else\",\n \"elseif\",\n \"empty\",\n \"enddeclare\",\n \"endfor\",\n \"endforeach\",\n \"endif\",\n \"endswitch\",\n \"endwhile\",\n \"enum\",\n \"eval\",\n \"extends\",\n \"final\",\n \"finally\",\n \"float\",\n \"for\",\n \"foreach\",\n \"from\",\n \"global\",\n \"goto\",\n \"if\",\n \"implements\",\n \"instanceof\",\n \"insteadof\",\n \"int\",\n \"integer\",\n \"interface\",\n \"isset\",\n \"iterable\",\n \"list\",\n \"match|0\",\n \"mixed\",\n \"new\",\n \"never\",\n \"object\",\n \"or\",\n \"private\",\n \"protected\",\n \"public\",\n \"readonly\",\n \"real\",\n \"return\",\n \"string\",\n \"switch\",\n \"throw\",\n \"trait\",\n \"try\",\n \"unset\",\n \"use\",\n \"var\",\n \"void\",\n \"while\",\n \"xor\",\n \"yield\"\n ];\n\n const BUILT_INS = [\n // Standard PHP library:\n // <https://www.php.net/manual/en/book.spl.php>\n \"Error|0\",\n \"AppendIterator\",\n \"ArgumentCountError\",\n \"ArithmeticError\",\n \"ArrayIterator\",\n \"ArrayObject\",\n \"AssertionError\",\n \"BadFunctionCallException\",\n \"BadMethodCallException\",\n \"CachingIterator\",\n \"CallbackFilterIterator\",\n \"CompileError\",\n \"Countable\",\n \"DirectoryIterator\",\n \"DivisionByZeroError\",\n \"DomainException\",\n \"EmptyIterator\",\n \"ErrorException\",\n \"Exception\",\n \"FilesystemIterator\",\n \"FilterIterator\",\n \"GlobIterator\",\n \"InfiniteIterator\",\n \"InvalidArgumentException\",\n \"IteratorIterator\",\n \"LengthException\",\n \"LimitIterator\",\n \"LogicException\",\n \"MultipleIterator\",\n \"NoRewindIterator\",\n \"OutOfBoundsException\",\n \"OutOfRangeException\",\n \"OuterIterator\",\n \"OverflowException\",\n \"ParentIterator\",\n \"ParseError\",\n \"RangeException\",\n \"RecursiveArrayIterator\",\n \"RecursiveCachingIterator\",\n \"RecursiveCallbackFilterIterator\",\n \"RecursiveDirectoryIterator\",\n \"RecursiveFilterIterator\",\n \"RecursiveIterator\",\n \"RecursiveIteratorIterator\",\n \"RecursiveRegexIterator\",\n \"RecursiveTreeIterator\",\n \"RegexIterator\",\n \"RuntimeException\",\n \"SeekableIterator\",\n \"SplDoublyLinkedList\",\n \"SplFileInfo\",\n \"SplFileObject\",\n \"SplFixedArray\",\n \"SplHeap\",\n \"SplMaxHeap\",\n \"SplMinHeap\",\n \"SplObjectStorage\",\n \"SplObserver\",\n \"SplPriorityQueue\",\n \"SplQueue\",\n \"SplStack\",\n \"SplSubject\",\n \"SplTempFileObject\",\n \"TypeError\",\n \"UnderflowException\",\n \"UnexpectedValueException\",\n \"UnhandledMatchError\",\n // Reserved interfaces:\n // <https://www.php.net/manual/en/reserved.interfaces.php>\n \"ArrayAccess\",\n \"BackedEnum\",\n \"Closure\",\n \"Fiber\",\n \"Generator\",\n \"Iterator\",\n \"IteratorAggregate\",\n \"Serializable\",\n \"Stringable\",\n \"Throwable\",\n \"Traversable\",\n \"UnitEnum\",\n \"WeakReference\",\n \"WeakMap\",\n // Reserved classes:\n // <https://www.php.net/manual/en/reserved.classes.php>\n \"Directory\",\n \"__PHP_Incomplete_Class\",\n \"parent\",\n \"php_user_filter\",\n \"self\",\n \"static\",\n \"stdClass\"\n ];\n\n /** Dual-case keywords\n *\n * [\"then\",\"FILE\"] =>\n * [\"then\", \"THEN\", \"FILE\", \"file\"]\n *\n * @param {string[]} items */\n const dualCase = (items) => {\n /** @type string[] */\n const result = [];\n items.forEach(item => {\n result.push(item);\n if (item.toLowerCase() === item) {\n result.push(item.toUpperCase());\n } else {\n result.push(item.toLowerCase());\n }\n });\n return result;\n };\n\n const KEYWORDS = {\n keyword: KWS,\n literal: dualCase(LITERALS),\n built_in: BUILT_INS,\n };\n\n /**\n * @param {string[]} items */\n const normalizeKeywords = (items) => {\n return items.map(item => {\n return item.replace(/\\|\\d+$/, \"\");\n });\n };\n\n const CONSTRUCTOR_CALL = { variants: [\n {\n match: [\n /new/,\n regex.concat(WHITESPACE, \"+\"),\n // to prevent built ins from being confused as the class constructor call\n regex.concat(\"(?!\", normalizeKeywords(BUILT_INS).join(\"\\\\b|\"), \"\\\\b)\"),\n PASCAL_CASE_CLASS_NAME_RE,\n ],\n scope: {\n 1: \"keyword\",\n 4: \"title.class\",\n },\n }\n ] };\n\n const CONSTANT_REFERENCE = regex.concat(IDENT_RE, \"\\\\b(?!\\\\()\");\n\n const LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON = { variants: [\n {\n match: [\n regex.concat(\n /::/,\n regex.lookahead(/(?!class\\b)/)\n ),\n CONSTANT_REFERENCE,\n ],\n scope: { 2: \"variable.constant\", },\n },\n {\n match: [\n /::/,\n /class/,\n ],\n scope: { 2: \"variable.language\", },\n },\n {\n match: [\n PASCAL_CASE_CLASS_NAME_RE,\n regex.concat(\n /::/,\n regex.lookahead(/(?!class\\b)/)\n ),\n CONSTANT_REFERENCE,\n ],\n scope: {\n 1: \"title.class\",\n 3: \"variable.constant\",\n },\n },\n {\n match: [\n PASCAL_CASE_CLASS_NAME_RE,\n regex.concat(\n \"::\",\n regex.lookahead(/(?!class\\b)/)\n ),\n ],\n scope: { 1: \"title.class\", },\n },\n {\n match: [\n PASCAL_CASE_CLASS_NAME_RE,\n /::/,\n /class/,\n ],\n scope: {\n 1: \"title.class\",\n 3: \"variable.language\",\n },\n }\n ] };\n\n const NAMED_ARGUMENT = {\n scope: 'attr',\n match: regex.concat(IDENT_RE, regex.lookahead(':'), regex.lookahead(/(?!::)/)),\n };\n const PARAMS_MODE = {\n relevance: 0,\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n contains: [\n NAMED_ARGUMENT,\n VARIABLE,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n NUMBER,\n CONSTRUCTOR_CALL,\n ],\n };\n const FUNCTION_INVOKE = {\n relevance: 0,\n match: [\n /\\b/,\n // to prevent keywords from being confused as the function title\n regex.concat(\"(?!fn\\\\b|function\\\\b|\", normalizeKeywords(KWS).join(\"\\\\b|\"), \"|\", normalizeKeywords(BUILT_INS).join(\"\\\\b|\"), \"\\\\b)\"),\n IDENT_RE,\n regex.concat(WHITESPACE, \"*\"),\n regex.lookahead(/(?=\\()/)\n ],\n scope: { 3: \"title.function.invoke\", },\n contains: [ PARAMS_MODE ]\n };\n PARAMS_MODE.contains.push(FUNCTION_INVOKE);\n\n const ATTRIBUTE_CONTAINS = [\n NAMED_ARGUMENT,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n NUMBER,\n CONSTRUCTOR_CALL,\n ];\n\n const ATTRIBUTES = {\n begin: regex.concat(/#\\[\\s*\\\\?/,\n regex.either(\n PASCAL_CASE_CLASS_NAME_RE,\n UPCASE_NAME_RE\n )\n ),\n beginScope: \"meta\",\n end: /]/,\n endScope: \"meta\",\n keywords: {\n literal: LITERALS,\n keyword: [\n 'new',\n 'array',\n ]\n },\n contains: [\n {\n begin: /\\[/,\n end: /]/,\n keywords: {\n literal: LITERALS,\n keyword: [\n 'new',\n 'array',\n ]\n },\n contains: [\n 'self',\n ...ATTRIBUTE_CONTAINS,\n ]\n },\n ...ATTRIBUTE_CONTAINS,\n {\n scope: 'meta',\n variants: [\n { match: PASCAL_CASE_CLASS_NAME_RE },\n { match: UPCASE_NAME_RE }\n ]\n }\n ]\n };\n\n return {\n case_insensitive: false,\n keywords: KEYWORDS,\n contains: [\n ATTRIBUTES,\n hljs.HASH_COMMENT_MODE,\n hljs.COMMENT('//', '$'),\n hljs.COMMENT(\n '/\\\\*',\n '\\\\*/',\n { contains: [\n {\n scope: 'doctag',\n match: '@[A-Za-z]+'\n }\n ] }\n ),\n {\n match: /__halt_compiler\\(\\);/,\n keywords: '__halt_compiler',\n starts: {\n scope: \"comment\",\n end: hljs.MATCH_NOTHING_RE,\n contains: [\n {\n match: /\\?>/,\n scope: \"meta\",\n endsParent: true\n }\n ]\n }\n },\n PREPROCESSOR,\n {\n scope: 'variable.language',\n match: /\\$this\\b/\n },\n VARIABLE,\n FUNCTION_INVOKE,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n {\n match: [\n /const/,\n /\\s/,\n IDENT_RE,\n ],\n scope: {\n 1: \"keyword\",\n 3: \"variable.constant\",\n },\n },\n CONSTRUCTOR_CALL,\n {\n scope: 'function',\n relevance: 0,\n beginKeywords: 'fn function',\n end: /[;{]/,\n excludeEnd: true,\n illegal: '[$%\\\\[]',\n contains: [\n { beginKeywords: 'use', },\n hljs.UNDERSCORE_TITLE_MODE,\n {\n begin: '=>', // No markup, just a relevance booster\n endsParent: true\n },\n {\n scope: 'params',\n begin: '\\\\(',\n end: '\\\\)',\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n contains: [\n 'self',\n ATTRIBUTES,\n VARIABLE,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n NUMBER\n ]\n },\n ]\n },\n {\n scope: 'class',\n variants: [\n {\n beginKeywords: \"enum\",\n illegal: /[($\"]/\n },\n {\n beginKeywords: \"class interface trait\",\n illegal: /[:($\"]/\n }\n ],\n relevance: 0,\n end: /\\{/,\n excludeEnd: true,\n contains: [\n { beginKeywords: 'extends implements' },\n hljs.UNDERSCORE_TITLE_MODE\n ]\n },\n // both use and namespace still use \"old style\" rules (vs multi-match)\n // because the namespace name can include `\\` and we still want each\n // element to be treated as its own *individual* title\n {\n beginKeywords: 'namespace',\n relevance: 0,\n end: ';',\n illegal: /[.']/,\n contains: [ hljs.inherit(hljs.UNDERSCORE_TITLE_MODE, { scope: \"title.class\" }) ]\n },\n {\n beginKeywords: 'use',\n relevance: 0,\n end: ';',\n contains: [\n // TODO: title.function vs title.class\n {\n match: /\\b(as|const|function)\\b/,\n scope: \"keyword\"\n },\n // TODO: could be title.class or title.function\n hljs.UNDERSCORE_TITLE_MODE\n ]\n },\n STRING,\n NUMBER,\n ]\n };\n}\n\nexport { php as default };\n"],"x_google_ignoreList":[0],"mappings":"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OAAO,CAAE,OAAO,CAClI,EACA,EAAM,OAAO,EAAY,IAAI,CAC7B,EAAM,UAAU,SAAS,CAC1B,CACD,MAAO,CAAE,EAAG,wBAA0B,CACtC,SAAU,CAAE,EAAa,CAC1B,CACD,EAAY,SAAS,KAAK,EAAgB,CAE1C,IAAM,EAAqB,CACzB,EACA,EACA,EAAK,qBACL,EACA,EACA,EACD,CAEK,EAAa,CACjB,MAAO,EAAM,OAAO,YAClB,EAAM,OACJ,EACA,EACD,CACF,CACD,WAAY,OACZ,IAAK,IACL,SAAU,OACV,SAAU,CACR,QAAS,EACT,QAAS,CACP,MACA,QACD,CACF,CACD,SAAU,CACR,CACE,MAAO,KACP,IAAK,IACL,SAAU,CACR,QAAS,EACT,QAAS,CACP,MACA,QACD,CACF,CACD,SAAU,CACR,OACA,GAAG,EACJ,CACF,CACD,GAAG,EACH,CACE,MAAO,OACP,SAAU,CACR,CAAE,MAAO,EAA2B,CACpC,CAAE,MAAO,EAAgB,CAC1B,CACF,CACF,CACF,CAED,MAAO,CACL,iBAAkB,GAClB,SAAU,EACV,SAAU,CACR,EACA,EAAK,kBACL,EAAK,QAAQ,KAAM,IAAI,CACvB,EAAK,QACH,OACA,OACA,CAAE,SAAU,CACV,CACE,MAAO,SACP,MAAO,aACR,CACF,CAAE,CACJ,CACD,CACE,MAAO,uBACP,SAAU,kBACV,OAAQ,CACN,MAAO,UACP,IAAK,EAAK,iBACV,SAAU,CACR,CACE,MAAO,MACP,MAAO,OACP,WAAY,GACb,CACF,CACF,CACF,CACD,EACA,CACE,MAAO,oBACP,MAAO,WACR,CACD,EACA,EACA,EACA,CACE,MAAO,CACL,QACA,KACA,EACD,CACD,MAAO,CACL,EAAG,UACH,EAAG,oBACJ,CACF,CACD,EACA,CACE,MAAO,WACP,UAAW,EACX,cAAe,cACf,IAAK,OACL,WAAY,GACZ,QAAS,UACT,SAAU,CACR,CAAE,cAAe,MAAQ,CACzB,EAAK,sBACL,CACE,MAAO,KACP,WAAY,GACb,CACD,CACE,MAAO,SACP,MAAO,MACP,IAAK,MACL,aAAc,GACd,WAAY,GACZ,SAAU,EACV,SAAU,CACR,OACA,EACA,EACA,EACA,EAAK,qBACL,EACA,EACD,CACF,CACF,CACF,CACD,CACE,MAAO,QACP,SAAU,CACR,CACE,cAAe,OACf,QAAS,QACV,CACD,CACE,cAAe,wBACf,QAAS,SACV,CACF,CACD,UAAW,EACX,IAAK,KACL,WAAY,GACZ,SAAU,CACR,CAAE,cAAe,qBAAsB,CACvC,EAAK,sBACN,CACF,CAID,CACE,cAAe,YACf,UAAW,EACX,IAAK,IACL,QAAS,OACT,SAAU,CAAE,EAAK,QAAQ,EAAK,sBAAuB,CAAE,MAAO,cAAe,CAAC,CAAE,CACjF,CACD,CACE,cAAe,MACf,UAAW,EACX,IAAK,IACL,SAAU,CAER,CACE,MAAO,0BACP,MAAO,UACR,CAED,EAAK,sBACN,CACF,CACD,EACA,EACD,CACF"}
@@ -0,0 +1,296 @@
1
+ //#region node_modules/highlight.js/es/languages/php.js
2
+ function e(e) {
3
+ let t = e.regex, n = /(?![A-Za-z0-9])(?![$])/, r = t.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/, n), i = t.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/, n), a = t.concat(/[A-Z]+/, n), o = {
4
+ scope: "variable",
5
+ match: "\\$+" + r
6
+ }, s = {
7
+ scope: "meta",
8
+ variants: [
9
+ {
10
+ begin: /<\?php/,
11
+ relevance: 10
12
+ },
13
+ { begin: /<\?=/ },
14
+ {
15
+ begin: /<\?/,
16
+ relevance: .1
17
+ },
18
+ { begin: /\?>/ }
19
+ ]
20
+ }, c = {
21
+ scope: "subst",
22
+ variants: [{ begin: /\$\w+/ }, {
23
+ begin: /\{\$/,
24
+ end: /\}/
25
+ }]
26
+ }, l = e.inherit(e.APOS_STRING_MODE, { illegal: null }), u = e.inherit(e.QUOTE_STRING_MODE, {
27
+ illegal: null,
28
+ contains: e.QUOTE_STRING_MODE.contains.concat(c)
29
+ }), d = {
30
+ begin: /<<<[ \t]*(?:(\w+)|"(\w+)")\n/,
31
+ end: /[ \t]*(\w+)\b/,
32
+ contains: e.QUOTE_STRING_MODE.contains.concat(c),
33
+ "on:begin": (e, t) => {
34
+ t.data._beginMatch = e[1] || e[2];
35
+ },
36
+ "on:end": (e, t) => {
37
+ t.data._beginMatch !== e[1] && t.ignoreMatch();
38
+ }
39
+ }, f = e.END_SAME_AS_BEGIN({
40
+ begin: /<<<[ \t]*'(\w+)'\n/,
41
+ end: /[ \t]*(\w+)\b/
42
+ }), p = "[ \n]", m = {
43
+ scope: "string",
44
+ variants: [
45
+ u,
46
+ l,
47
+ d,
48
+ f
49
+ ]
50
+ }, h = {
51
+ scope: "number",
52
+ variants: [
53
+ { begin: "\\b0[bB][01]+(?:_[01]+)*\\b" },
54
+ { begin: "\\b0[oO][0-7]+(?:_[0-7]+)*\\b" },
55
+ { begin: "\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b" },
56
+ { begin: "(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?" }
57
+ ],
58
+ relevance: 0
59
+ }, g = [
60
+ "false",
61
+ "null",
62
+ "true"
63
+ ], _ = /* @__PURE__ */ "__CLASS__.__DIR__.__FILE__.__FUNCTION__.__COMPILER_HALT_OFFSET__.__LINE__.__METHOD__.__NAMESPACE__.__TRAIT__.die.echo.exit.include.include_once.print.require.require_once.array.abstract.and.as.binary.bool.boolean.break.callable.case.catch.class.clone.const.continue.declare.default.do.double.else.elseif.empty.enddeclare.endfor.endforeach.endif.endswitch.endwhile.enum.eval.extends.final.finally.float.for.foreach.from.global.goto.if.implements.instanceof.insteadof.int.integer.interface.isset.iterable.list.match|0.mixed.new.never.object.or.private.protected.public.readonly.real.return.string.switch.throw.trait.try.unset.use.var.void.while.xor.yield".split("."), v = /* @__PURE__ */ "Error|0.AppendIterator.ArgumentCountError.ArithmeticError.ArrayIterator.ArrayObject.AssertionError.BadFunctionCallException.BadMethodCallException.CachingIterator.CallbackFilterIterator.CompileError.Countable.DirectoryIterator.DivisionByZeroError.DomainException.EmptyIterator.ErrorException.Exception.FilesystemIterator.FilterIterator.GlobIterator.InfiniteIterator.InvalidArgumentException.IteratorIterator.LengthException.LimitIterator.LogicException.MultipleIterator.NoRewindIterator.OutOfBoundsException.OutOfRangeException.OuterIterator.OverflowException.ParentIterator.ParseError.RangeException.RecursiveArrayIterator.RecursiveCachingIterator.RecursiveCallbackFilterIterator.RecursiveDirectoryIterator.RecursiveFilterIterator.RecursiveIterator.RecursiveIteratorIterator.RecursiveRegexIterator.RecursiveTreeIterator.RegexIterator.RuntimeException.SeekableIterator.SplDoublyLinkedList.SplFileInfo.SplFileObject.SplFixedArray.SplHeap.SplMaxHeap.SplMinHeap.SplObjectStorage.SplObserver.SplPriorityQueue.SplQueue.SplStack.SplSubject.SplTempFileObject.TypeError.UnderflowException.UnexpectedValueException.UnhandledMatchError.ArrayAccess.BackedEnum.Closure.Fiber.Generator.Iterator.IteratorAggregate.Serializable.Stringable.Throwable.Traversable.UnitEnum.WeakReference.WeakMap.Directory.__PHP_Incomplete_Class.parent.php_user_filter.self.static.stdClass".split("."), y = {
64
+ keyword: _,
65
+ literal: ((e) => {
66
+ let t = [];
67
+ return e.forEach((e) => {
68
+ t.push(e), e.toLowerCase() === e ? t.push(e.toUpperCase()) : t.push(e.toLowerCase());
69
+ }), t;
70
+ })(g),
71
+ built_in: v
72
+ }, b = (e) => e.map((e) => e.replace(/\|\d+$/, "")), x = { variants: [{
73
+ match: [
74
+ /new/,
75
+ t.concat(p, "+"),
76
+ t.concat("(?!", b(v).join("\\b|"), "\\b)"),
77
+ i
78
+ ],
79
+ scope: {
80
+ 1: "keyword",
81
+ 4: "title.class"
82
+ }
83
+ }] }, S = t.concat(r, "\\b(?!\\()"), C = { variants: [
84
+ {
85
+ match: [t.concat(/::/, t.lookahead(/(?!class\b)/)), S],
86
+ scope: { 2: "variable.constant" }
87
+ },
88
+ {
89
+ match: [/::/, /class/],
90
+ scope: { 2: "variable.language" }
91
+ },
92
+ {
93
+ match: [
94
+ i,
95
+ t.concat(/::/, t.lookahead(/(?!class\b)/)),
96
+ S
97
+ ],
98
+ scope: {
99
+ 1: "title.class",
100
+ 3: "variable.constant"
101
+ }
102
+ },
103
+ {
104
+ match: [i, t.concat("::", t.lookahead(/(?!class\b)/))],
105
+ scope: { 1: "title.class" }
106
+ },
107
+ {
108
+ match: [
109
+ i,
110
+ /::/,
111
+ /class/
112
+ ],
113
+ scope: {
114
+ 1: "title.class",
115
+ 3: "variable.language"
116
+ }
117
+ }
118
+ ] }, w = {
119
+ scope: "attr",
120
+ match: t.concat(r, t.lookahead(":"), t.lookahead(/(?!::)/))
121
+ }, T = {
122
+ relevance: 0,
123
+ begin: /\(/,
124
+ end: /\)/,
125
+ keywords: y,
126
+ contains: [
127
+ w,
128
+ o,
129
+ C,
130
+ e.C_BLOCK_COMMENT_MODE,
131
+ m,
132
+ h,
133
+ x
134
+ ]
135
+ }, E = {
136
+ relevance: 0,
137
+ match: [
138
+ /\b/,
139
+ t.concat("(?!fn\\b|function\\b|", b(_).join("\\b|"), "|", b(v).join("\\b|"), "\\b)"),
140
+ r,
141
+ t.concat(p, "*"),
142
+ t.lookahead(/(?=\()/)
143
+ ],
144
+ scope: { 3: "title.function.invoke" },
145
+ contains: [T]
146
+ };
147
+ T.contains.push(E);
148
+ let D = [
149
+ w,
150
+ C,
151
+ e.C_BLOCK_COMMENT_MODE,
152
+ m,
153
+ h,
154
+ x
155
+ ], O = {
156
+ begin: t.concat(/#\[\s*\\?/, t.either(i, a)),
157
+ beginScope: "meta",
158
+ end: /]/,
159
+ endScope: "meta",
160
+ keywords: {
161
+ literal: g,
162
+ keyword: ["new", "array"]
163
+ },
164
+ contains: [
165
+ {
166
+ begin: /\[/,
167
+ end: /]/,
168
+ keywords: {
169
+ literal: g,
170
+ keyword: ["new", "array"]
171
+ },
172
+ contains: ["self", ...D]
173
+ },
174
+ ...D,
175
+ {
176
+ scope: "meta",
177
+ variants: [{ match: i }, { match: a }]
178
+ }
179
+ ]
180
+ };
181
+ return {
182
+ case_insensitive: !1,
183
+ keywords: y,
184
+ contains: [
185
+ O,
186
+ e.HASH_COMMENT_MODE,
187
+ e.COMMENT("//", "$"),
188
+ e.COMMENT("/\\*", "\\*/", { contains: [{
189
+ scope: "doctag",
190
+ match: "@[A-Za-z]+"
191
+ }] }),
192
+ {
193
+ match: /__halt_compiler\(\);/,
194
+ keywords: "__halt_compiler",
195
+ starts: {
196
+ scope: "comment",
197
+ end: e.MATCH_NOTHING_RE,
198
+ contains: [{
199
+ match: /\?>/,
200
+ scope: "meta",
201
+ endsParent: !0
202
+ }]
203
+ }
204
+ },
205
+ s,
206
+ {
207
+ scope: "variable.language",
208
+ match: /\$this\b/
209
+ },
210
+ o,
211
+ E,
212
+ C,
213
+ {
214
+ match: [
215
+ /const/,
216
+ /\s/,
217
+ r
218
+ ],
219
+ scope: {
220
+ 1: "keyword",
221
+ 3: "variable.constant"
222
+ }
223
+ },
224
+ x,
225
+ {
226
+ scope: "function",
227
+ relevance: 0,
228
+ beginKeywords: "fn function",
229
+ end: /[;{]/,
230
+ excludeEnd: !0,
231
+ illegal: "[$%\\[]",
232
+ contains: [
233
+ { beginKeywords: "use" },
234
+ e.UNDERSCORE_TITLE_MODE,
235
+ {
236
+ begin: "=>",
237
+ endsParent: !0
238
+ },
239
+ {
240
+ scope: "params",
241
+ begin: "\\(",
242
+ end: "\\)",
243
+ excludeBegin: !0,
244
+ excludeEnd: !0,
245
+ keywords: y,
246
+ contains: [
247
+ "self",
248
+ O,
249
+ o,
250
+ C,
251
+ e.C_BLOCK_COMMENT_MODE,
252
+ m,
253
+ h
254
+ ]
255
+ }
256
+ ]
257
+ },
258
+ {
259
+ scope: "class",
260
+ variants: [{
261
+ beginKeywords: "enum",
262
+ illegal: /[($"]/
263
+ }, {
264
+ beginKeywords: "class interface trait",
265
+ illegal: /[:($"]/
266
+ }],
267
+ relevance: 0,
268
+ end: /\{/,
269
+ excludeEnd: !0,
270
+ contains: [{ beginKeywords: "extends implements" }, e.UNDERSCORE_TITLE_MODE]
271
+ },
272
+ {
273
+ beginKeywords: "namespace",
274
+ relevance: 0,
275
+ end: ";",
276
+ illegal: /[.']/,
277
+ contains: [e.inherit(e.UNDERSCORE_TITLE_MODE, { scope: "title.class" })]
278
+ },
279
+ {
280
+ beginKeywords: "use",
281
+ relevance: 0,
282
+ end: ";",
283
+ contains: [{
284
+ match: /\b(as|const|function)\b/,
285
+ scope: "keyword"
286
+ }, e.UNDERSCORE_TITLE_MODE]
287
+ },
288
+ m,
289
+ h
290
+ ]
291
+ };
292
+ }
293
+ //#endregion
294
+ export { e as default };
295
+
296
+ //# sourceMappingURL=php-deNqvHeU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"php-deNqvHeU.js","names":[],"sources":["../node_modules/highlight.js/es/languages/php.js"],"sourcesContent":["/*\nLanguage: PHP\nAuthor: Victor Karamzin <Victor.Karamzin@enterra-inc.com>\nContributors: Evgeny Stepanischev <imbolk@gmail.com>, Ivan Sagalaev <maniac@softwaremaniacs.org>\nWebsite: https://www.php.net\nCategory: common\n*/\n\n/**\n * @param {HLJSApi} hljs\n * @returns {LanguageDetail}\n * */\nfunction php(hljs) {\n const regex = hljs.regex;\n // negative look-ahead tries to avoid matching patterns that are not\n // Perl at all like $ident$, @ident@, etc.\n const NOT_PERL_ETC = /(?![A-Za-z0-9])(?![$])/;\n const IDENT_RE = regex.concat(\n /[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*/,\n NOT_PERL_ETC);\n // Will not detect camelCase classes\n const PASCAL_CASE_CLASS_NAME_RE = regex.concat(\n /(\\\\?[A-Z][a-z0-9_\\x7f-\\xff]+|\\\\?[A-Z]+(?=[A-Z][a-z0-9_\\x7f-\\xff])){1,}/,\n NOT_PERL_ETC);\n const UPCASE_NAME_RE = regex.concat(\n /[A-Z]+/,\n NOT_PERL_ETC);\n const VARIABLE = {\n scope: 'variable',\n match: '\\\\$+' + IDENT_RE,\n };\n const PREPROCESSOR = {\n scope: \"meta\",\n variants: [\n { begin: /<\\?php/, relevance: 10 }, // boost for obvious PHP\n { begin: /<\\?=/ },\n // less relevant per PSR-1 which says not to use short-tags\n { begin: /<\\?/, relevance: 0.1 },\n { begin: /\\?>/ } // end php tag\n ]\n };\n const SUBST = {\n scope: 'subst',\n variants: [\n { begin: /\\$\\w+/ },\n {\n begin: /\\{\\$/,\n end: /\\}/\n }\n ]\n };\n const SINGLE_QUOTED = hljs.inherit(hljs.APOS_STRING_MODE, { illegal: null, });\n const DOUBLE_QUOTED = hljs.inherit(hljs.QUOTE_STRING_MODE, {\n illegal: null,\n contains: hljs.QUOTE_STRING_MODE.contains.concat(SUBST),\n });\n\n const HEREDOC = {\n begin: /<<<[ \\t]*(?:(\\w+)|\"(\\w+)\")\\n/,\n end: /[ \\t]*(\\w+)\\b/,\n contains: hljs.QUOTE_STRING_MODE.contains.concat(SUBST),\n 'on:begin': (m, resp) => { resp.data._beginMatch = m[1] || m[2]; },\n 'on:end': (m, resp) => { if (resp.data._beginMatch !== m[1]) resp.ignoreMatch(); },\n };\n\n const NOWDOC = hljs.END_SAME_AS_BEGIN({\n begin: /<<<[ \\t]*'(\\w+)'\\n/,\n end: /[ \\t]*(\\w+)\\b/,\n });\n // list of valid whitespaces because non-breaking space might be part of a IDENT_RE\n const WHITESPACE = '[ \\t\\n]';\n const STRING = {\n scope: 'string',\n variants: [\n DOUBLE_QUOTED,\n SINGLE_QUOTED,\n HEREDOC,\n NOWDOC\n ]\n };\n const NUMBER = {\n scope: 'number',\n variants: [\n { begin: `\\\\b0[bB][01]+(?:_[01]+)*\\\\b` }, // Binary w/ underscore support\n { begin: `\\\\b0[oO][0-7]+(?:_[0-7]+)*\\\\b` }, // Octals w/ underscore support\n { begin: `\\\\b0[xX][\\\\da-fA-F]+(?:_[\\\\da-fA-F]+)*\\\\b` }, // Hex w/ underscore support\n // Decimals w/ underscore support, with optional fragments and scientific exponent (e) suffix.\n { begin: `(?:\\\\b\\\\d+(?:_\\\\d+)*(\\\\.(?:\\\\d+(?:_\\\\d+)*))?|\\\\B\\\\.\\\\d+)(?:[eE][+-]?\\\\d+)?` }\n ],\n relevance: 0\n };\n const LITERALS = [\n \"false\",\n \"null\",\n \"true\"\n ];\n const KWS = [\n // Magic constants:\n // <https://www.php.net/manual/en/language.constants.predefined.php>\n \"__CLASS__\",\n \"__DIR__\",\n \"__FILE__\",\n \"__FUNCTION__\",\n \"__COMPILER_HALT_OFFSET__\",\n \"__LINE__\",\n \"__METHOD__\",\n \"__NAMESPACE__\",\n \"__TRAIT__\",\n // Function that look like language construct or language construct that look like function:\n // List of keywords that may not require parenthesis\n \"die\",\n \"echo\",\n \"exit\",\n \"include\",\n \"include_once\",\n \"print\",\n \"require\",\n \"require_once\",\n // These are not language construct (function) but operate on the currently-executing function and can access the current symbol table\n // 'compact extract func_get_arg func_get_args func_num_args get_called_class get_parent_class ' +\n // Other keywords:\n // <https://www.php.net/manual/en/reserved.php>\n // <https://www.php.net/manual/en/language.types.type-juggling.php>\n \"array\",\n \"abstract\",\n \"and\",\n \"as\",\n \"binary\",\n \"bool\",\n \"boolean\",\n \"break\",\n \"callable\",\n \"case\",\n \"catch\",\n \"class\",\n \"clone\",\n \"const\",\n \"continue\",\n \"declare\",\n \"default\",\n \"do\",\n \"double\",\n \"else\",\n \"elseif\",\n \"empty\",\n \"enddeclare\",\n \"endfor\",\n \"endforeach\",\n \"endif\",\n \"endswitch\",\n \"endwhile\",\n \"enum\",\n \"eval\",\n \"extends\",\n \"final\",\n \"finally\",\n \"float\",\n \"for\",\n \"foreach\",\n \"from\",\n \"global\",\n \"goto\",\n \"if\",\n \"implements\",\n \"instanceof\",\n \"insteadof\",\n \"int\",\n \"integer\",\n \"interface\",\n \"isset\",\n \"iterable\",\n \"list\",\n \"match|0\",\n \"mixed\",\n \"new\",\n \"never\",\n \"object\",\n \"or\",\n \"private\",\n \"protected\",\n \"public\",\n \"readonly\",\n \"real\",\n \"return\",\n \"string\",\n \"switch\",\n \"throw\",\n \"trait\",\n \"try\",\n \"unset\",\n \"use\",\n \"var\",\n \"void\",\n \"while\",\n \"xor\",\n \"yield\"\n ];\n\n const BUILT_INS = [\n // Standard PHP library:\n // <https://www.php.net/manual/en/book.spl.php>\n \"Error|0\",\n \"AppendIterator\",\n \"ArgumentCountError\",\n \"ArithmeticError\",\n \"ArrayIterator\",\n \"ArrayObject\",\n \"AssertionError\",\n \"BadFunctionCallException\",\n \"BadMethodCallException\",\n \"CachingIterator\",\n \"CallbackFilterIterator\",\n \"CompileError\",\n \"Countable\",\n \"DirectoryIterator\",\n \"DivisionByZeroError\",\n \"DomainException\",\n \"EmptyIterator\",\n \"ErrorException\",\n \"Exception\",\n \"FilesystemIterator\",\n \"FilterIterator\",\n \"GlobIterator\",\n \"InfiniteIterator\",\n \"InvalidArgumentException\",\n \"IteratorIterator\",\n \"LengthException\",\n \"LimitIterator\",\n \"LogicException\",\n \"MultipleIterator\",\n \"NoRewindIterator\",\n \"OutOfBoundsException\",\n \"OutOfRangeException\",\n \"OuterIterator\",\n \"OverflowException\",\n \"ParentIterator\",\n \"ParseError\",\n \"RangeException\",\n \"RecursiveArrayIterator\",\n \"RecursiveCachingIterator\",\n \"RecursiveCallbackFilterIterator\",\n \"RecursiveDirectoryIterator\",\n \"RecursiveFilterIterator\",\n \"RecursiveIterator\",\n \"RecursiveIteratorIterator\",\n \"RecursiveRegexIterator\",\n \"RecursiveTreeIterator\",\n \"RegexIterator\",\n \"RuntimeException\",\n \"SeekableIterator\",\n \"SplDoublyLinkedList\",\n \"SplFileInfo\",\n \"SplFileObject\",\n \"SplFixedArray\",\n \"SplHeap\",\n \"SplMaxHeap\",\n \"SplMinHeap\",\n \"SplObjectStorage\",\n \"SplObserver\",\n \"SplPriorityQueue\",\n \"SplQueue\",\n \"SplStack\",\n \"SplSubject\",\n \"SplTempFileObject\",\n \"TypeError\",\n \"UnderflowException\",\n \"UnexpectedValueException\",\n \"UnhandledMatchError\",\n // Reserved interfaces:\n // <https://www.php.net/manual/en/reserved.interfaces.php>\n \"ArrayAccess\",\n \"BackedEnum\",\n \"Closure\",\n \"Fiber\",\n \"Generator\",\n \"Iterator\",\n \"IteratorAggregate\",\n \"Serializable\",\n \"Stringable\",\n \"Throwable\",\n \"Traversable\",\n \"UnitEnum\",\n \"WeakReference\",\n \"WeakMap\",\n // Reserved classes:\n // <https://www.php.net/manual/en/reserved.classes.php>\n \"Directory\",\n \"__PHP_Incomplete_Class\",\n \"parent\",\n \"php_user_filter\",\n \"self\",\n \"static\",\n \"stdClass\"\n ];\n\n /** Dual-case keywords\n *\n * [\"then\",\"FILE\"] =>\n * [\"then\", \"THEN\", \"FILE\", \"file\"]\n *\n * @param {string[]} items */\n const dualCase = (items) => {\n /** @type string[] */\n const result = [];\n items.forEach(item => {\n result.push(item);\n if (item.toLowerCase() === item) {\n result.push(item.toUpperCase());\n } else {\n result.push(item.toLowerCase());\n }\n });\n return result;\n };\n\n const KEYWORDS = {\n keyword: KWS,\n literal: dualCase(LITERALS),\n built_in: BUILT_INS,\n };\n\n /**\n * @param {string[]} items */\n const normalizeKeywords = (items) => {\n return items.map(item => {\n return item.replace(/\\|\\d+$/, \"\");\n });\n };\n\n const CONSTRUCTOR_CALL = { variants: [\n {\n match: [\n /new/,\n regex.concat(WHITESPACE, \"+\"),\n // to prevent built ins from being confused as the class constructor call\n regex.concat(\"(?!\", normalizeKeywords(BUILT_INS).join(\"\\\\b|\"), \"\\\\b)\"),\n PASCAL_CASE_CLASS_NAME_RE,\n ],\n scope: {\n 1: \"keyword\",\n 4: \"title.class\",\n },\n }\n ] };\n\n const CONSTANT_REFERENCE = regex.concat(IDENT_RE, \"\\\\b(?!\\\\()\");\n\n const LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON = { variants: [\n {\n match: [\n regex.concat(\n /::/,\n regex.lookahead(/(?!class\\b)/)\n ),\n CONSTANT_REFERENCE,\n ],\n scope: { 2: \"variable.constant\", },\n },\n {\n match: [\n /::/,\n /class/,\n ],\n scope: { 2: \"variable.language\", },\n },\n {\n match: [\n PASCAL_CASE_CLASS_NAME_RE,\n regex.concat(\n /::/,\n regex.lookahead(/(?!class\\b)/)\n ),\n CONSTANT_REFERENCE,\n ],\n scope: {\n 1: \"title.class\",\n 3: \"variable.constant\",\n },\n },\n {\n match: [\n PASCAL_CASE_CLASS_NAME_RE,\n regex.concat(\n \"::\",\n regex.lookahead(/(?!class\\b)/)\n ),\n ],\n scope: { 1: \"title.class\", },\n },\n {\n match: [\n PASCAL_CASE_CLASS_NAME_RE,\n /::/,\n /class/,\n ],\n scope: {\n 1: \"title.class\",\n 3: \"variable.language\",\n },\n }\n ] };\n\n const NAMED_ARGUMENT = {\n scope: 'attr',\n match: regex.concat(IDENT_RE, regex.lookahead(':'), regex.lookahead(/(?!::)/)),\n };\n const PARAMS_MODE = {\n relevance: 0,\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n contains: [\n NAMED_ARGUMENT,\n VARIABLE,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n NUMBER,\n CONSTRUCTOR_CALL,\n ],\n };\n const FUNCTION_INVOKE = {\n relevance: 0,\n match: [\n /\\b/,\n // to prevent keywords from being confused as the function title\n regex.concat(\"(?!fn\\\\b|function\\\\b|\", normalizeKeywords(KWS).join(\"\\\\b|\"), \"|\", normalizeKeywords(BUILT_INS).join(\"\\\\b|\"), \"\\\\b)\"),\n IDENT_RE,\n regex.concat(WHITESPACE, \"*\"),\n regex.lookahead(/(?=\\()/)\n ],\n scope: { 3: \"title.function.invoke\", },\n contains: [ PARAMS_MODE ]\n };\n PARAMS_MODE.contains.push(FUNCTION_INVOKE);\n\n const ATTRIBUTE_CONTAINS = [\n NAMED_ARGUMENT,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n NUMBER,\n CONSTRUCTOR_CALL,\n ];\n\n const ATTRIBUTES = {\n begin: regex.concat(/#\\[\\s*\\\\?/,\n regex.either(\n PASCAL_CASE_CLASS_NAME_RE,\n UPCASE_NAME_RE\n )\n ),\n beginScope: \"meta\",\n end: /]/,\n endScope: \"meta\",\n keywords: {\n literal: LITERALS,\n keyword: [\n 'new',\n 'array',\n ]\n },\n contains: [\n {\n begin: /\\[/,\n end: /]/,\n keywords: {\n literal: LITERALS,\n keyword: [\n 'new',\n 'array',\n ]\n },\n contains: [\n 'self',\n ...ATTRIBUTE_CONTAINS,\n ]\n },\n ...ATTRIBUTE_CONTAINS,\n {\n scope: 'meta',\n variants: [\n { match: PASCAL_CASE_CLASS_NAME_RE },\n { match: UPCASE_NAME_RE }\n ]\n }\n ]\n };\n\n return {\n case_insensitive: false,\n keywords: KEYWORDS,\n contains: [\n ATTRIBUTES,\n hljs.HASH_COMMENT_MODE,\n hljs.COMMENT('//', '$'),\n hljs.COMMENT(\n '/\\\\*',\n '\\\\*/',\n { contains: [\n {\n scope: 'doctag',\n match: '@[A-Za-z]+'\n }\n ] }\n ),\n {\n match: /__halt_compiler\\(\\);/,\n keywords: '__halt_compiler',\n starts: {\n scope: \"comment\",\n end: hljs.MATCH_NOTHING_RE,\n contains: [\n {\n match: /\\?>/,\n scope: \"meta\",\n endsParent: true\n }\n ]\n }\n },\n PREPROCESSOR,\n {\n scope: 'variable.language',\n match: /\\$this\\b/\n },\n VARIABLE,\n FUNCTION_INVOKE,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n {\n match: [\n /const/,\n /\\s/,\n IDENT_RE,\n ],\n scope: {\n 1: \"keyword\",\n 3: \"variable.constant\",\n },\n },\n CONSTRUCTOR_CALL,\n {\n scope: 'function',\n relevance: 0,\n beginKeywords: 'fn function',\n end: /[;{]/,\n excludeEnd: true,\n illegal: '[$%\\\\[]',\n contains: [\n { beginKeywords: 'use', },\n hljs.UNDERSCORE_TITLE_MODE,\n {\n begin: '=>', // No markup, just a relevance booster\n endsParent: true\n },\n {\n scope: 'params',\n begin: '\\\\(',\n end: '\\\\)',\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n contains: [\n 'self',\n ATTRIBUTES,\n VARIABLE,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n NUMBER\n ]\n },\n ]\n },\n {\n scope: 'class',\n variants: [\n {\n beginKeywords: \"enum\",\n illegal: /[($\"]/\n },\n {\n beginKeywords: \"class interface trait\",\n illegal: /[:($\"]/\n }\n ],\n relevance: 0,\n end: /\\{/,\n excludeEnd: true,\n contains: [\n { beginKeywords: 'extends implements' },\n hljs.UNDERSCORE_TITLE_MODE\n ]\n },\n // both use and namespace still use \"old style\" rules (vs multi-match)\n // because the namespace name can include `\\` and we still want each\n // element to be treated as its own *individual* title\n {\n beginKeywords: 'namespace',\n relevance: 0,\n end: ';',\n illegal: /[.']/,\n contains: [ hljs.inherit(hljs.UNDERSCORE_TITLE_MODE, { scope: \"title.class\" }) ]\n },\n {\n beginKeywords: 'use',\n relevance: 0,\n end: ';',\n contains: [\n // TODO: title.function vs title.class\n {\n match: /\\b(as|const|function)\\b/,\n scope: \"keyword\"\n },\n // TODO: could be title.class or title.function\n hljs.UNDERSCORE_TITLE_MODE\n ]\n },\n STRING,\n NUMBER,\n ]\n };\n}\n\nexport { php as default };\n"],"x_google_ignoreList":[0],"mappings":";AAYA,SAAS,EAAI,GAAM;CACjB,IAAM,IAAQ,EAAK,OAGb,IAAe,0BACf,IAAW,EAAM,OACrB,4CACA,EAAa,EAET,IAA4B,EAAM,OACtC,0EACA,EAAa,EACT,IAAiB,EAAM,OAC3B,UACA,EAAa,EACT,IAAW;EACf,OAAO;EACP,OAAO,SAAS;EACjB,EACK,IAAe;EACnB,OAAO;EACP,UAAU;GACR;IAAE,OAAO;IAAU,WAAW;IAAI;GAClC,EAAE,OAAO,QAAQ;GAEjB;IAAE,OAAO;IAAO,WAAW;IAAK;GAChC,EAAE,OAAO,OAAO;GACjB;EACF,EACK,IAAQ;EACZ,OAAO;EACP,UAAU,CACR,EAAE,OAAO,SAAS,EAClB;GACE,OAAO;GACP,KAAK;GACN,CACF;EACF,EACK,IAAgB,EAAK,QAAQ,EAAK,kBAAkB,EAAE,SAAS,MAAO,CAAC,EACvE,IAAgB,EAAK,QAAQ,EAAK,mBAAmB;EACzD,SAAS;EACT,UAAU,EAAK,kBAAkB,SAAS,OAAO,EAAM;EACxD,CAAC,EAEI,IAAU;EACd,OAAO;EACP,KAAK;EACL,UAAU,EAAK,kBAAkB,SAAS,OAAO,EAAM;EACvD,aAAa,GAAG,MAAS;AAAE,KAAK,KAAK,cAAc,EAAE,MAAM,EAAE;;EAC7D,WAAW,GAAG,MAAS;AAAE,GAAI,EAAK,KAAK,gBAAgB,EAAE,MAAI,EAAK,aAAa;;EAChF,EAEK,IAAS,EAAK,kBAAkB;EACpC,OAAO;EACP,KAAK;EACN,CAAC,EAEI,IAAa,UACb,IAAS;EACb,OAAO;EACP,UAAU;GACR;GACA;GACA;GACA;GACD;EACF,EACK,IAAS;EACb,OAAO;EACP,UAAU;GACR,EAAE,OAAO,+BAA+B;GACxC,EAAE,OAAO,iCAAiC;GAC1C,EAAE,OAAO,6CAA6C;GAEtD,EAAE,OAAO,8EAA8E;GACxF;EACD,WAAW;EACZ,EACK,IAAW;EACf;EACA;EACA;EACD,EACK,IAAM,yqBAoGX,EAEK,IAAY,s2CA+FjB,EAsBK,IAAW;EACf,SAAS;EACT,WAhBgB,MAAU;GAE1B,IAAM,IAAS,EAAE;AASjB,UARA,EAAM,SAAQ,MAAQ;AAEpB,IADA,EAAO,KAAK,EAAK,EACb,EAAK,aAAa,KAAK,IACzB,EAAO,KAAK,EAAK,aAAa,CAAC,GAE/B,EAAO,KAAK,EAAK,aAAa,CAAC;KAEjC,EACK;KAKW,EAAS;EAC3B,UAAU;EACX,EAIK,KAAqB,MAClB,EAAM,KAAI,MACR,EAAK,QAAQ,UAAU,GAAG,CACjC,EAGE,IAAmB,EAAE,UAAU,CACnC;EACE,OAAO;GACL;GACA,EAAM,OAAO,GAAY,IAAI;GAE7B,EAAM,OAAO,OAAO,EAAkB,EAAU,CAAC,KAAK,OAAO,EAAE,OAAO;GACtE;GACD;EACD,OAAO;GACL,GAAG;GACH,GAAG;GACJ;EACF,CACF,EAAE,EAEG,IAAqB,EAAM,OAAO,GAAU,aAAa,EAEzD,IAAsC,EAAE,UAAU;EACtD;GACE,OAAO,CACL,EAAM,OACJ,MACA,EAAM,UAAU,cAAc,CAC/B,EACD,EACD;GACD,OAAO,EAAE,GAAG,qBAAsB;GACnC;EACD;GACE,OAAO,CACL,MACA,QACD;GACD,OAAO,EAAE,GAAG,qBAAsB;GACnC;EACD;GACE,OAAO;IACL;IACA,EAAM,OACJ,MACA,EAAM,UAAU,cAAc,CAC/B;IACD;IACD;GACD,OAAO;IACL,GAAG;IACH,GAAG;IACJ;GACF;EACD;GACE,OAAO,CACL,GACA,EAAM,OACJ,MACA,EAAM,UAAU,cAAc,CAC/B,CACF;GACD,OAAO,EAAE,GAAG,eAAgB;GAC7B;EACD;GACE,OAAO;IACL;IACA;IACA;IACD;GACD,OAAO;IACL,GAAG;IACH,GAAG;IACJ;GACF;EACF,EAAE,EAEG,IAAiB;EACrB,OAAO;EACP,OAAO,EAAM,OAAO,GAAU,EAAM,UAAU,IAAI,EAAE,EAAM,UAAU,SAAS,CAAC;EAC/E,EACK,IAAc;EAClB,WAAW;EACX,OAAO;EACP,KAAK;EACL,UAAU;EACV,UAAU;GACR;GACA;GACA;GACA,EAAK;GACL;GACA;GACA;GACD;EACF,EACK,IAAkB;EACtB,WAAW;EACX,OAAO;GACL;GAEA,EAAM,OAAO,yBAAyB,EAAkB,EAAI,CAAC,KAAK,OAAO,EAAE,KAAK,EAAkB,EAAU,CAAC,KAAK,OAAO,EAAE,OAAO;GAClI;GACA,EAAM,OAAO,GAAY,IAAI;GAC7B,EAAM,UAAU,SAAS;GAC1B;EACD,OAAO,EAAE,GAAG,yBAA0B;EACtC,UAAU,CAAE,EAAa;EAC1B;AACD,GAAY,SAAS,KAAK,EAAgB;CAE1C,IAAM,IAAqB;EACzB;EACA;EACA,EAAK;EACL;EACA;EACA;EACD,EAEK,IAAa;EACjB,OAAO,EAAM,OAAO,aAClB,EAAM,OACJ,GACA,EACD,CACF;EACD,YAAY;EACZ,KAAK;EACL,UAAU;EACV,UAAU;GACR,SAAS;GACT,SAAS,CACP,OACA,QACD;GACF;EACD,UAAU;GACR;IACE,OAAO;IACP,KAAK;IACL,UAAU;KACR,SAAS;KACT,SAAS,CACP,OACA,QACD;KACF;IACD,UAAU,CACR,QACA,GAAG,EACJ;IACF;GACD,GAAG;GACH;IACE,OAAO;IACP,UAAU,CACR,EAAE,OAAO,GAA2B,EACpC,EAAE,OAAO,GAAgB,CAC1B;IACF;GACF;EACF;AAED,QAAO;EACL,kBAAkB;EAClB,UAAU;EACV,UAAU;GACR;GACA,EAAK;GACL,EAAK,QAAQ,MAAM,IAAI;GACvB,EAAK,QACH,QACA,QACA,EAAE,UAAU,CACV;IACE,OAAO;IACP,OAAO;IACR,CACF,EAAE,CACJ;GACD;IACE,OAAO;IACP,UAAU;IACV,QAAQ;KACN,OAAO;KACP,KAAK,EAAK;KACV,UAAU,CACR;MACE,OAAO;MACP,OAAO;MACP,YAAY;MACb,CACF;KACF;IACF;GACD;GACA;IACE,OAAO;IACP,OAAO;IACR;GACD;GACA;GACA;GACA;IACE,OAAO;KACL;KACA;KACA;KACD;IACD,OAAO;KACL,GAAG;KACH,GAAG;KACJ;IACF;GACD;GACA;IACE,OAAO;IACP,WAAW;IACX,eAAe;IACf,KAAK;IACL,YAAY;IACZ,SAAS;IACT,UAAU;KACR,EAAE,eAAe,OAAQ;KACzB,EAAK;KACL;MACE,OAAO;MACP,YAAY;MACb;KACD;MACE,OAAO;MACP,OAAO;MACP,KAAK;MACL,cAAc;MACd,YAAY;MACZ,UAAU;MACV,UAAU;OACR;OACA;OACA;OACA;OACA,EAAK;OACL;OACA;OACD;MACF;KACF;IACF;GACD;IACE,OAAO;IACP,UAAU,CACR;KACE,eAAe;KACf,SAAS;KACV,EACD;KACE,eAAe;KACf,SAAS;KACV,CACF;IACD,WAAW;IACX,KAAK;IACL,YAAY;IACZ,UAAU,CACR,EAAE,eAAe,sBAAsB,EACvC,EAAK,sBACN;IACF;GAID;IACE,eAAe;IACf,WAAW;IACX,KAAK;IACL,SAAS;IACT,UAAU,CAAE,EAAK,QAAQ,EAAK,uBAAuB,EAAE,OAAO,eAAe,CAAC,CAAE;IACjF;GACD;IACE,eAAe;IACf,WAAW;IACX,KAAK;IACL,UAAU,CAER;KACE,OAAO;KACP,OAAO;KACR,EAED,EAAK,sBACN;IACF;GACD;GACA;GACD;EACF"}
@@ -1,3 +1,3 @@
1
1
  const {ensureStyles}=require('./style-runtime.cjs')
2
2
  ensureStyles()
3
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./MPortal-DE3pL2Xl.cjs`),t=require(`./MPopover-BW23_1Dl.cjs`);exports.MPopover=t.t,exports.MPortal=e.t;
3
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./MPortal-Bi24xTGW.cjs`),t=require(`./MPopover-B4IUb9f0.cjs`);exports.MPopover=t.t,exports.MPortal=e.t;
@@ -1,5 +1,5 @@
1
1
  import {ensureStyles} from './style-runtime.js'
2
2
  ensureStyles()
3
- import { t as e } from "./MPortal-Dqlkh3hw.js";
4
- import { t } from "./MPopover-3tjz5lKh.js";
3
+ import { t as e } from "./MPortal-Ba2Sxset.js";
4
+ import { t } from "./MPopover-Cqz5TsHg.js";
5
5
  export { t as MPopover, e as MPortal };
@@ -88,4 +88,4 @@ function p(i, a = Date.now()) {
88
88
  //#endregion
89
89
  export { l as a, u as i, d as n, c as o, p as r, f as t };
90
90
 
91
- //# sourceMappingURL=relativeTime-BqCuaBqb.js.map
91
+ //# sourceMappingURL=relativeTime-Cr-NVzij.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"relativeTime-BqCuaBqb.js","names":[],"sources":["../src/utils/relativeTime.ts"],"sourcesContent":["export type RelativeTimeUnit = Intl.RelativeTimeFormatUnit\n\nexport type RelativeTimeFallbackFormat = 'date' | 'datetime'\n\nexport interface RelativeTimeValue {\n value: number\n unit: RelativeTimeUnit\n}\n\nexport interface FormatRelativeTimeOptions {\n locale?: string\n now?: Date | number\n}\n\nconst SECOND = 1000\nconst MINUTE = 60 * SECOND\nconst HOUR = 60 * MINUTE\nconst DAY = 24 * HOUR\nconst WEEK = 7 * DAY\nconst MONTH = Math.round(30.44 * DAY)\nconst YEAR = Math.round(365.25 * DAY)\n\nconst thresholdMap = {\n s: SECOND,\n m: MINUTE,\n h: HOUR,\n d: DAY,\n w: WEEK,\n mo: MONTH,\n y: YEAR,\n} as const\n\nexport function toDate(value: Date | string | number): Date | null {\n const date = value instanceof Date ? value : new Date(value)\n return Number.isNaN(date.getTime()) ? null : date\n}\n\nexport function parseRelativeThreshold(value?: string | number | null): number | null {\n if (value == null) return null\n if (typeof value === 'number') return value >= 0 ? value : null\n\n const match = value.trim().match(/^(\\d+)\\s*(mo|[smhdwy])$/i)\n if (!match) return null\n\n const amount = Number(match[1])\n const unit = match[2].toLowerCase() as keyof typeof thresholdMap\n\n return amount * thresholdMap[unit]\n}\n\nexport function getRelativeTimeValue(\n value: Date | string | number,\n now: Date | number = Date.now()\n): RelativeTimeValue | null {\n const date = toDate(value)\n const current = toDate(now)\n\n if (!date || !current) return null\n\n const diff = date.getTime() - current.getTime()\n const abs = Math.abs(diff)\n\n if (abs < MINUTE) {\n return {value: Math.round(diff / SECOND), unit: 'second'}\n }\n\n if (abs < HOUR) {\n return {value: Math.round(diff / MINUTE), unit: 'minute'}\n }\n\n if (abs < DAY) {\n return {value: Math.round(diff / HOUR), unit: 'hour'}\n }\n\n if (abs < WEEK) {\n return {value: Math.round(diff / DAY), unit: 'day'}\n }\n\n if (abs < MONTH) {\n return {value: Math.round(diff / WEEK), unit: 'week'}\n }\n\n if (abs < YEAR) {\n return {value: Math.round(diff / MONTH), unit: 'month'}\n }\n\n return {value: Math.round(diff / YEAR), unit: 'year'}\n}\n\nexport function formatRelativeTime(\n value: Date | string | number,\n {locale = 'en', now = Date.now()}: FormatRelativeTimeOptions = {}\n): string | null {\n const relative = getRelativeTimeValue(value, now)\n\n if (!relative) return null\n\n let formatter: Intl.RelativeTimeFormat\n\n try {\n formatter = new Intl.RelativeTimeFormat(locale, {\n numeric: 'auto',\n style: 'long',\n })\n } catch {\n formatter = new Intl.RelativeTimeFormat('en', {\n numeric: 'auto',\n style: 'long',\n })\n }\n\n return formatter.format(relative.value, relative.unit)\n}\n\nexport function formatAbsoluteTime(\n value: Date | string | number,\n locale: string = 'en',\n fallbackFormat: RelativeTimeFallbackFormat = 'date'\n): string | null {\n const date = toDate(value)\n\n if (!date) return null\n\n let formatter: Intl.DateTimeFormat\n\n try {\n formatter = new Intl.DateTimeFormat(locale, {\n dateStyle: 'medium',\n ...(fallbackFormat === 'datetime' ? {timeStyle: 'short'} : {}),\n })\n } catch {\n formatter = new Intl.DateTimeFormat('en', {\n dateStyle: 'medium',\n ...(fallbackFormat === 'datetime' ? {timeStyle: 'short'} : {}),\n })\n }\n\n return formatter.format(date)\n}\n\nexport function getAutoUpdateInterval(value: Date | string | number, now: Date | number = Date.now()): number {\n const date = toDate(value)\n const current = toDate(now)\n\n if (!date || !current) return HOUR\n\n const diff = Math.abs(date.getTime() - current.getTime())\n\n if (diff < MINUTE) return SECOND\n if (diff < HOUR) return MINUTE\n if (diff < DAY) return HOUR\n return DAY\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"relativeTime-Cr-NVzij.js","names":[],"sources":["../src/utils/relativeTime.ts"],"sourcesContent":["export type RelativeTimeUnit = Intl.RelativeTimeFormatUnit\n\nexport type RelativeTimeFallbackFormat = 'date' | 'datetime'\n\nexport interface RelativeTimeValue {\n value: number\n unit: RelativeTimeUnit\n}\n\nexport interface FormatRelativeTimeOptions {\n locale?: string\n now?: Date | number\n}\n\nconst SECOND = 1000\nconst MINUTE = 60 * SECOND\nconst HOUR = 60 * MINUTE\nconst DAY = 24 * HOUR\nconst WEEK = 7 * DAY\nconst MONTH = Math.round(30.44 * DAY)\nconst YEAR = Math.round(365.25 * DAY)\n\nconst thresholdMap = {\n s: SECOND,\n m: MINUTE,\n h: HOUR,\n d: DAY,\n w: WEEK,\n mo: MONTH,\n y: YEAR,\n} as const\n\nexport function toDate(value: Date | string | number): Date | null {\n const date = value instanceof Date ? value : new Date(value)\n return Number.isNaN(date.getTime()) ? null : date\n}\n\nexport function parseRelativeThreshold(value?: string | number | null): number | null {\n if (value == null) return null\n if (typeof value === 'number') return value >= 0 ? value : null\n\n const match = value.trim().match(/^(\\d+)\\s*(mo|[smhdwy])$/i)\n if (!match) return null\n\n const amount = Number(match[1])\n const unit = match[2].toLowerCase() as keyof typeof thresholdMap\n\n return amount * thresholdMap[unit]\n}\n\nexport function getRelativeTimeValue(\n value: Date | string | number,\n now: Date | number = Date.now()\n): RelativeTimeValue | null {\n const date = toDate(value)\n const current = toDate(now)\n\n if (!date || !current) return null\n\n const diff = date.getTime() - current.getTime()\n const abs = Math.abs(diff)\n\n if (abs < MINUTE) {\n return {value: Math.round(diff / SECOND), unit: 'second'}\n }\n\n if (abs < HOUR) {\n return {value: Math.round(diff / MINUTE), unit: 'minute'}\n }\n\n if (abs < DAY) {\n return {value: Math.round(diff / HOUR), unit: 'hour'}\n }\n\n if (abs < WEEK) {\n return {value: Math.round(diff / DAY), unit: 'day'}\n }\n\n if (abs < MONTH) {\n return {value: Math.round(diff / WEEK), unit: 'week'}\n }\n\n if (abs < YEAR) {\n return {value: Math.round(diff / MONTH), unit: 'month'}\n }\n\n return {value: Math.round(diff / YEAR), unit: 'year'}\n}\n\nexport function formatRelativeTime(\n value: Date | string | number,\n {locale = 'en', now = Date.now()}: FormatRelativeTimeOptions = {}\n): string | null {\n const relative = getRelativeTimeValue(value, now)\n\n if (!relative) return null\n\n let formatter: Intl.RelativeTimeFormat\n\n try {\n formatter = new Intl.RelativeTimeFormat(locale, {\n numeric: 'auto',\n style: 'long',\n })\n } catch {\n formatter = new Intl.RelativeTimeFormat('en', {\n numeric: 'auto',\n style: 'long',\n })\n }\n\n return formatter.format(relative.value, relative.unit)\n}\n\nexport function formatAbsoluteTime(\n value: Date | string | number,\n locale: string = 'en',\n fallbackFormat: RelativeTimeFallbackFormat = 'date'\n): string | null {\n const date = toDate(value)\n\n if (!date) return null\n\n let formatter: Intl.DateTimeFormat\n\n try {\n formatter = new Intl.DateTimeFormat(locale, {\n dateStyle: 'medium',\n ...(fallbackFormat === 'datetime' ? {timeStyle: 'short'} : {}),\n })\n } catch {\n formatter = new Intl.DateTimeFormat('en', {\n dateStyle: 'medium',\n ...(fallbackFormat === 'datetime' ? {timeStyle: 'short'} : {}),\n })\n }\n\n return formatter.format(date)\n}\n\nexport function getAutoUpdateInterval(value: Date | string | number, now: Date | number = Date.now()): number {\n const date = toDate(value)\n const current = toDate(now)\n\n if (!date || !current) return HOUR\n\n const diff = Math.abs(date.getTime() - current.getTime())\n\n if (diff < MINUTE) return SECOND\n if (diff < HOUR) return MINUTE\n if (diff < DAY) return HOUR\n return DAY\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  var e=1e3,t=60*e,n=60*t,r=24*n,i=7*r,a=Math.round(30.44*r),o=Math.round(365.25*r),s={s:e,m:t,h:n,d:r,w:i,mo:a,y:o};function c(e){let t=e instanceof Date?e:new Date(e);return Number.isNaN(t.getTime())?null:t}function l(e){if(e==null)return null;if(typeof e==`number`)return e>=0?e:null;let t=e.trim().match(/^(\d+)\s*(mo|[smhdwy])$/i);return t?Number(t[1])*s[t[2].toLowerCase()]:null}function u(s,l=Date.now()){let u=c(s),d=c(l);if(!u||!d)return null;let f=u.getTime()-d.getTime(),p=Math.abs(f);return p<t?{value:Math.round(f/e),unit:`second`}:p<n?{value:Math.round(f/t),unit:`minute`}:p<r?{value:Math.round(f/n),unit:`hour`}:p<i?{value:Math.round(f/r),unit:`day`}:p<a?{value:Math.round(f/i),unit:`week`}:p<o?{value:Math.round(f/a),unit:`month`}:{value:Math.round(f/o),unit:`year`}}function d(e,{locale:t=`en`,now:n=Date.now()}={}){let r=u(e,n);if(!r)return null;let i;try{i=new Intl.RelativeTimeFormat(t,{numeric:`auto`,style:`long`})}catch{i=new Intl.RelativeTimeFormat(`en`,{numeric:`auto`,style:`long`})}return i.format(r.value,r.unit)}function f(e,t=`en`,n=`date`){let r=c(e);if(!r)return null;let i;try{i=new Intl.DateTimeFormat(t,{dateStyle:`medium`,...n===`datetime`?{timeStyle:`short`}:{}})}catch{i=new Intl.DateTimeFormat(`en`,{dateStyle:`medium`,...n===`datetime`?{timeStyle:`short`}:{}})}return i.format(r)}function p(i,a=Date.now()){let o=c(i),s=c(a);if(!o||!s)return n;let l=Math.abs(o.getTime()-s.getTime());return l<t?e:l<n?t:l<r?n:r}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return f}});
2
- //# sourceMappingURL=relativeTime-DUbW4O44.cjs.map
2
+ //# sourceMappingURL=relativeTime-DgYBUaVm.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"relativeTime-DUbW4O44.cjs","names":[],"sources":["../src/utils/relativeTime.ts"],"sourcesContent":["export type RelativeTimeUnit = Intl.RelativeTimeFormatUnit\n\nexport type RelativeTimeFallbackFormat = 'date' | 'datetime'\n\nexport interface RelativeTimeValue {\n value: number\n unit: RelativeTimeUnit\n}\n\nexport interface FormatRelativeTimeOptions {\n locale?: string\n now?: Date | number\n}\n\nconst SECOND = 1000\nconst MINUTE = 60 * SECOND\nconst HOUR = 60 * MINUTE\nconst DAY = 24 * HOUR\nconst WEEK = 7 * DAY\nconst MONTH = Math.round(30.44 * DAY)\nconst YEAR = Math.round(365.25 * DAY)\n\nconst thresholdMap = {\n s: SECOND,\n m: MINUTE,\n h: HOUR,\n d: DAY,\n w: WEEK,\n mo: MONTH,\n y: YEAR,\n} as const\n\nexport function toDate(value: Date | string | number): Date | null {\n const date = value instanceof Date ? value : new Date(value)\n return Number.isNaN(date.getTime()) ? null : date\n}\n\nexport function parseRelativeThreshold(value?: string | number | null): number | null {\n if (value == null) return null\n if (typeof value === 'number') return value >= 0 ? value : null\n\n const match = value.trim().match(/^(\\d+)\\s*(mo|[smhdwy])$/i)\n if (!match) return null\n\n const amount = Number(match[1])\n const unit = match[2].toLowerCase() as keyof typeof thresholdMap\n\n return amount * thresholdMap[unit]\n}\n\nexport function getRelativeTimeValue(\n value: Date | string | number,\n now: Date | number = Date.now()\n): RelativeTimeValue | null {\n const date = toDate(value)\n const current = toDate(now)\n\n if (!date || !current) return null\n\n const diff = date.getTime() - current.getTime()\n const abs = Math.abs(diff)\n\n if (abs < MINUTE) {\n return {value: Math.round(diff / SECOND), unit: 'second'}\n }\n\n if (abs < HOUR) {\n return {value: Math.round(diff / MINUTE), unit: 'minute'}\n }\n\n if (abs < DAY) {\n return {value: Math.round(diff / HOUR), unit: 'hour'}\n }\n\n if (abs < WEEK) {\n return {value: Math.round(diff / DAY), unit: 'day'}\n }\n\n if (abs < MONTH) {\n return {value: Math.round(diff / WEEK), unit: 'week'}\n }\n\n if (abs < YEAR) {\n return {value: Math.round(diff / MONTH), unit: 'month'}\n }\n\n return {value: Math.round(diff / YEAR), unit: 'year'}\n}\n\nexport function formatRelativeTime(\n value: Date | string | number,\n {locale = 'en', now = Date.now()}: FormatRelativeTimeOptions = {}\n): string | null {\n const relative = getRelativeTimeValue(value, now)\n\n if (!relative) return null\n\n let formatter: Intl.RelativeTimeFormat\n\n try {\n formatter = new Intl.RelativeTimeFormat(locale, {\n numeric: 'auto',\n style: 'long',\n })\n } catch {\n formatter = new Intl.RelativeTimeFormat('en', {\n numeric: 'auto',\n style: 'long',\n })\n }\n\n return formatter.format(relative.value, relative.unit)\n}\n\nexport function formatAbsoluteTime(\n value: Date | string | number,\n locale: string = 'en',\n fallbackFormat: RelativeTimeFallbackFormat = 'date'\n): string | null {\n const date = toDate(value)\n\n if (!date) return null\n\n let formatter: Intl.DateTimeFormat\n\n try {\n formatter = new Intl.DateTimeFormat(locale, {\n dateStyle: 'medium',\n ...(fallbackFormat === 'datetime' ? {timeStyle: 'short'} : {}),\n })\n } catch {\n formatter = new Intl.DateTimeFormat('en', {\n dateStyle: 'medium',\n ...(fallbackFormat === 'datetime' ? {timeStyle: 'short'} : {}),\n })\n }\n\n return formatter.format(date)\n}\n\nexport function getAutoUpdateInterval(value: Date | string | number, now: Date | number = Date.now()): number {\n const date = toDate(value)\n const current = toDate(now)\n\n if (!date || !current) return HOUR\n\n const diff = Math.abs(date.getTime() - current.getTime())\n\n if (diff < MINUTE) return SECOND\n if (diff < HOUR) return MINUTE\n if (diff < DAY) return HOUR\n return DAY\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"relativeTime-DgYBUaVm.cjs","names":[],"sources":["../src/utils/relativeTime.ts"],"sourcesContent":["export type RelativeTimeUnit = Intl.RelativeTimeFormatUnit\n\nexport type RelativeTimeFallbackFormat = 'date' | 'datetime'\n\nexport interface RelativeTimeValue {\n value: number\n unit: RelativeTimeUnit\n}\n\nexport interface FormatRelativeTimeOptions {\n locale?: string\n now?: Date | number\n}\n\nconst SECOND = 1000\nconst MINUTE = 60 * SECOND\nconst HOUR = 60 * MINUTE\nconst DAY = 24 * HOUR\nconst WEEK = 7 * DAY\nconst MONTH = Math.round(30.44 * DAY)\nconst YEAR = Math.round(365.25 * DAY)\n\nconst thresholdMap = {\n s: SECOND,\n m: MINUTE,\n h: HOUR,\n d: DAY,\n w: WEEK,\n mo: MONTH,\n y: YEAR,\n} as const\n\nexport function toDate(value: Date | string | number): Date | null {\n const date = value instanceof Date ? value : new Date(value)\n return Number.isNaN(date.getTime()) ? null : date\n}\n\nexport function parseRelativeThreshold(value?: string | number | null): number | null {\n if (value == null) return null\n if (typeof value === 'number') return value >= 0 ? value : null\n\n const match = value.trim().match(/^(\\d+)\\s*(mo|[smhdwy])$/i)\n if (!match) return null\n\n const amount = Number(match[1])\n const unit = match[2].toLowerCase() as keyof typeof thresholdMap\n\n return amount * thresholdMap[unit]\n}\n\nexport function getRelativeTimeValue(\n value: Date | string | number,\n now: Date | number = Date.now()\n): RelativeTimeValue | null {\n const date = toDate(value)\n const current = toDate(now)\n\n if (!date || !current) return null\n\n const diff = date.getTime() - current.getTime()\n const abs = Math.abs(diff)\n\n if (abs < MINUTE) {\n return {value: Math.round(diff / SECOND), unit: 'second'}\n }\n\n if (abs < HOUR) {\n return {value: Math.round(diff / MINUTE), unit: 'minute'}\n }\n\n if (abs < DAY) {\n return {value: Math.round(diff / HOUR), unit: 'hour'}\n }\n\n if (abs < WEEK) {\n return {value: Math.round(diff / DAY), unit: 'day'}\n }\n\n if (abs < MONTH) {\n return {value: Math.round(diff / WEEK), unit: 'week'}\n }\n\n if (abs < YEAR) {\n return {value: Math.round(diff / MONTH), unit: 'month'}\n }\n\n return {value: Math.round(diff / YEAR), unit: 'year'}\n}\n\nexport function formatRelativeTime(\n value: Date | string | number,\n {locale = 'en', now = Date.now()}: FormatRelativeTimeOptions = {}\n): string | null {\n const relative = getRelativeTimeValue(value, now)\n\n if (!relative) return null\n\n let formatter: Intl.RelativeTimeFormat\n\n try {\n formatter = new Intl.RelativeTimeFormat(locale, {\n numeric: 'auto',\n style: 'long',\n })\n } catch {\n formatter = new Intl.RelativeTimeFormat('en', {\n numeric: 'auto',\n style: 'long',\n })\n }\n\n return formatter.format(relative.value, relative.unit)\n}\n\nexport function formatAbsoluteTime(\n value: Date | string | number,\n locale: string = 'en',\n fallbackFormat: RelativeTimeFallbackFormat = 'date'\n): string | null {\n const date = toDate(value)\n\n if (!date) return null\n\n let formatter: Intl.DateTimeFormat\n\n try {\n formatter = new Intl.DateTimeFormat(locale, {\n dateStyle: 'medium',\n ...(fallbackFormat === 'datetime' ? {timeStyle: 'short'} : {}),\n })\n } catch {\n formatter = new Intl.DateTimeFormat('en', {\n dateStyle: 'medium',\n ...(fallbackFormat === 'datetime' ? {timeStyle: 'short'} : {}),\n })\n }\n\n return formatter.format(date)\n}\n\nexport function getAutoUpdateInterval(value: Date | string | number, now: Date | number = Date.now()): number {\n const date = toDate(value)\n const current = toDate(now)\n\n if (!date || !current) return HOUR\n\n const diff = Math.abs(date.getTime() - current.getTime())\n\n if (diff < MINUTE) return SECOND\n if (diff < HOUR) return MINUTE\n if (diff < DAY) return HOUR\n return DAY\n}\n"],"mappings":"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"}