@8wave/ai-elements 0.69.0 → 0.70.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (427) hide show
  1. package/README.md +30 -5
  2. package/dist/_chunks/{PkStreamingMarkdown-C0BpOvli.js → PkStreamingMarkdown-CCD_gifi.js} +2 -2
  3. package/dist/_chunks/{PkStreamingMarkdown-C0BpOvli.js.map → PkStreamingMarkdown-CCD_gifi.js.map} +1 -1
  4. package/dist/_chunks/{PkToolShowArtifact-DzNIkKvZ.js → PkToolShowArtifact-BZ9-wuXH.js} +12 -11
  5. package/dist/_chunks/PkToolShowArtifact-BZ9-wuXH.js.map +1 -0
  6. package/dist/_chunks/{PkToolShowCalendarEvent-Dolb7MTf.js → PkToolShowCalendarEvent-BFHzjM9E.js} +2 -2
  7. package/dist/_chunks/{PkToolShowCalendarEvent-Dolb7MTf.js.map → PkToolShowCalendarEvent-BFHzjM9E.js.map} +1 -1
  8. package/dist/_chunks/{PkToolShowComparison-BWwQPM6d.js → PkToolShowComparison-D-cY7yXE.js} +1 -1
  9. package/dist/_chunks/{PkToolShowComparison-BWwQPM6d.js.map → PkToolShowComparison-D-cY7yXE.js.map} +1 -1
  10. package/dist/_chunks/PkToolShowContactForm-B5Zuup-c.js +2 -0
  11. package/dist/_chunks/PkToolShowContactForm-izy_eJOv.js +1102 -0
  12. package/dist/_chunks/PkToolShowContactForm-izy_eJOv.js.map +1 -0
  13. package/dist/_chunks/{PkToolShowEmail-BrBJY7Op.js → PkToolShowEmail-BhGdH4Ig.js} +1 -1
  14. package/dist/_chunks/{PkToolShowEmail-BrBJY7Op.js.map → PkToolShowEmail-BhGdH4Ig.js.map} +1 -1
  15. package/dist/_chunks/{PkToolShowImageGallery-dnCkJaK8.js → PkToolShowImageGallery-CiN2M02m.js} +3 -3
  16. package/dist/_chunks/{PkToolShowImageGallery-dnCkJaK8.js.map → PkToolShowImageGallery-CiN2M02m.js.map} +1 -1
  17. package/dist/_chunks/PkToolShowLocation-CbaF2oBf.js +2 -0
  18. package/dist/_chunks/PkToolShowLocation-gQtxMrSM.js +4996 -0
  19. package/dist/_chunks/PkToolShowLocation-gQtxMrSM.js.map +1 -0
  20. package/dist/_chunks/{PkToolShowMessage-D0hwYIlo.js → PkToolShowMessage-5Luc042T.js} +1 -1
  21. package/dist/_chunks/{PkToolShowMessage-D0hwYIlo.js.map → PkToolShowMessage-5Luc042T.js.map} +1 -1
  22. package/dist/_chunks/PkToolShowMultipleChoice-DgfLPaKE.js +2 -0
  23. package/dist/_chunks/PkToolShowMultipleChoice-WBsP83PW.js +44 -0
  24. package/dist/_chunks/PkToolShowMultipleChoice-WBsP83PW.js.map +1 -0
  25. package/dist/_chunks/{PkToolShowProductList-C-t2Q6vG.js → PkToolShowProductList-BSLTdM8w.js} +2 -2
  26. package/dist/_chunks/{PkToolShowProductList-C-t2Q6vG.js.map → PkToolShowProductList-BSLTdM8w.js.map} +1 -1
  27. package/dist/_chunks/{PkToolShowQrCode-pX-2NQ0q.js → PkToolShowQrCode-DLSOtaV9.js} +1 -1
  28. package/dist/_chunks/{PkToolShowQrCode-pX-2NQ0q.js.map → PkToolShowQrCode-DLSOtaV9.js.map} +1 -1
  29. package/dist/_chunks/PkToolShowSources-BZyYFWu6.js +490 -0
  30. package/dist/_chunks/PkToolShowSources-BZyYFWu6.js.map +1 -0
  31. package/dist/_chunks/PkToolShowSources-C0Edf43F.js +2 -0
  32. package/dist/_chunks/PkToolShowSuggestedReply-CMIWzymE.js +2 -0
  33. package/dist/_chunks/PkToolShowSuggestedReply-PyXHjIMg.js +40 -0
  34. package/dist/_chunks/PkToolShowSuggestedReply-PyXHjIMg.js.map +1 -0
  35. package/dist/_chunks/{PkToolShowWeather-BlxQ4-di.js → PkToolShowWeather-BmB6I1CQ.js} +1 -1
  36. package/dist/_chunks/{PkToolShowWeather-BlxQ4-di.js.map → PkToolShowWeather-BmB6I1CQ.js.map} +1 -1
  37. package/dist/_chunks/{PkToolShowWebPages-CflGTyAq.js → PkToolShowWebPages-BQEuy2SB.js} +3 -3
  38. package/dist/_chunks/{PkToolShowWebPages-CflGTyAq.js.map → PkToolShowWebPages-BQEuy2SB.js.map} +1 -1
  39. package/dist/_chunks/{PkUrl-BiCK2gUF.js → PkUrl-DbCzf0TH.js} +5 -8
  40. package/dist/_chunks/{PkUrl-BiCK2gUF.js.map → PkUrl-DbCzf0TH.js.map} +1 -1
  41. package/dist/_chunks/{VvCheckbox.es-BB__5AQf.js → VvCheckbox.es-xoDP7xfG.js} +1 -1
  42. package/dist/_chunks/{VvCheckbox.es-BB__5AQf.js.map → VvCheckbox.es-xoDP7xfG.js.map} +1 -1
  43. package/dist/_chunks/{VvCheckboxGroup.es-B8vNssFt.js → VvCheckboxGroup.es-CqmkSf32.js} +1 -1
  44. package/dist/_chunks/{VvCheckboxGroup.es-B8vNssFt.js.map → VvCheckboxGroup.es-CqmkSf32.js.map} +1 -1
  45. package/dist/_chunks/{VvCombobox.es-B3EXD0qk.js → VvCombobox.es-8c5A9J7u.js} +1 -1
  46. package/dist/_chunks/{VvCombobox.es-B3EXD0qk.js.map → VvCombobox.es-8c5A9J7u.js.map} +1 -1
  47. package/dist/_chunks/{VvInputText.es-Dz2nJhHg.js → VvInputText.es-C3DasKVI.js} +1 -1
  48. package/dist/_chunks/{VvInputText.es-Dz2nJhHg.js.map → VvInputText.es-C3DasKVI.js.map} +1 -1
  49. package/dist/_chunks/{VvRadio.es-CBNUR8-A.js → VvRadio.es-DWCbGLSw.js} +1 -1
  50. package/dist/_chunks/{VvRadio.es-CBNUR8-A.js.map → VvRadio.es-DWCbGLSw.js.map} +1 -1
  51. package/dist/_chunks/{VvRadioGroup.es-C3cxLQie.js → VvRadioGroup.es-DeZPOSLg.js} +1 -1
  52. package/dist/_chunks/{VvRadioGroup.es-C3cxLQie.js.map → VvRadioGroup.es-DeZPOSLg.js.map} +1 -1
  53. package/dist/_chunks/{VvSelect.es-DhnVYyFM.js → VvSelect.es-Cbdxv0hL.js} +1 -1
  54. package/dist/_chunks/{VvSelect.es-DhnVYyFM.js.map → VvSelect.es-Cbdxv0hL.js.map} +1 -1
  55. package/dist/_chunks/{VvTextarea.es-CqwOOwHn.js → VvTextarea.es-G6PqQj_w.js} +1 -1
  56. package/dist/_chunks/{VvTextarea.es-CqwOOwHn.js.map → VvTextarea.es-G6PqQj_w.js.map} +1 -1
  57. package/dist/_chunks/_plugin-vue_export-helper-C6kC663S.js +8 -0
  58. package/dist/_chunks/marker-icon-2x-B5zK5Qr3.js +7 -0
  59. package/dist/_chunks/marker-icon-2x-B5zK5Qr3.js.map +1 -0
  60. package/dist/_chunks/marker-icon-C9YVKiza.js +7 -0
  61. package/dist/_chunks/marker-icon-C9YVKiza.js.map +1 -0
  62. package/dist/_chunks/marker-shadow-C69K8Z1K.js +7 -0
  63. package/dist/_chunks/marker-shadow-C69K8Z1K.js.map +1 -0
  64. package/dist/_chunks/schemas-BzxsvNFR.js +3117 -0
  65. package/dist/_chunks/schemas-BzxsvNFR.js.map +1 -0
  66. package/dist/_chunks/{src-BRYn66N3.js → src-B7wQQMx2.js} +1 -1
  67. package/dist/_chunks/{src-BRYn66N3.js.map → src-B7wQQMx2.js.map} +1 -1
  68. package/dist/_chunks/{useLightbox-RmU8z981.js → useLightbox-krdR1Z0n.js} +2 -2
  69. package/dist/_chunks/{useLightbox-RmU8z981.js.map → useLightbox-krdR1Z0n.js.map} +1 -1
  70. package/dist/ai-elements.es.js +7433 -12095
  71. package/dist/ai-elements.es.js.map +1 -1
  72. package/dist-vue/PkChatbot.js +1 -1
  73. package/dist-vue/PkChatbotError.js +1 -1
  74. package/dist-vue/PkChatbotFeedbackForm.js +1 -1
  75. package/dist-vue/PkChatbotFilePreview.js +1 -1
  76. package/dist-vue/PkChatbotInput.js +1 -1
  77. package/dist-vue/PkChatbotMessages.js +1 -1
  78. package/dist-vue/PkChatbotViewChat.js +1 -1
  79. package/dist-vue/PkChatbotViewConversations.js +1 -1
  80. package/dist-vue/PkChatbotViewProfile.js +1 -1
  81. package/dist-vue/_chunks/Media-COOsOMMv.js +120 -0
  82. package/dist-vue/_chunks/Media-COOsOMMv.js.map +1 -0
  83. package/dist-vue/_chunks/{PkChatbot-Cy7p5UI_.js → PkChatbot-h7EIb9Y5.js} +61 -60
  84. package/dist-vue/_chunks/{PkChatbot-Cy7p5UI_.js.map → PkChatbot-h7EIb9Y5.js.map} +1 -1
  85. package/dist-vue/_chunks/{PkChatbotError-DOkNTDsc.js → PkChatbotError-CBQaRNse.js} +1 -1
  86. package/dist-vue/_chunks/{PkChatbotError-DOkNTDsc.js.map → PkChatbotError-CBQaRNse.js.map} +1 -1
  87. package/dist-vue/_chunks/PkChatbotFeedbackForm-C5QLJeUc.js +91 -0
  88. package/dist-vue/_chunks/PkChatbotFeedbackForm-C5QLJeUc.js.map +1 -0
  89. package/dist-vue/_chunks/{PkChatbotFilePreview-zHYZ0F7j.js → PkChatbotFilePreview-0ow1cjom.js} +2 -2
  90. package/dist-vue/_chunks/{PkChatbotFilePreview-zHYZ0F7j.js.map → PkChatbotFilePreview-0ow1cjom.js.map} +1 -1
  91. package/dist-vue/_chunks/{PkChatbotInput-CXydKByS.js → PkChatbotInput-DjUU_5_9.js} +3 -3
  92. package/dist-vue/_chunks/{PkChatbotInput-CXydKByS.js.map → PkChatbotInput-DjUU_5_9.js.map} +1 -1
  93. package/dist-vue/_chunks/{PkChatbotMessages-C7-ZtU0-.js → PkChatbotMessages-DJngZXIX.js} +130 -121
  94. package/dist-vue/_chunks/PkChatbotMessages-DJngZXIX.js.map +1 -0
  95. package/dist-vue/_chunks/PkChatbotViewChat-LdHOe19w.js +246 -0
  96. package/dist-vue/_chunks/PkChatbotViewChat-LdHOe19w.js.map +1 -0
  97. package/dist-vue/_chunks/{PkChatbotViewConversations-Ct0TbDrg.js → PkChatbotViewConversations-BAU8tPTf.js} +4 -4
  98. package/dist-vue/_chunks/{PkChatbotViewConversations-Ct0TbDrg.js.map → PkChatbotViewConversations-BAU8tPTf.js.map} +1 -1
  99. package/dist-vue/_chunks/{PkChatbotViewProfile-BhdCxVSX.js → PkChatbotViewProfile-B_TpBkAf.js} +2 -2
  100. package/dist-vue/_chunks/{PkChatbotViewProfile-BhdCxVSX.js.map → PkChatbotViewProfile-B_TpBkAf.js.map} +1 -1
  101. package/dist-vue/_chunks/{PkRelativeTime-Bzh37jv5.js → PkRelativeTime-ivIkVQRR.js} +1 -1
  102. package/dist-vue/_chunks/{PkRelativeTime-Bzh37jv5.js.map → PkRelativeTime-ivIkVQRR.js.map} +1 -1
  103. package/dist-vue/_chunks/{PkStreamingMarkdown-C-XHB63C.js → PkStreamingMarkdown-CGEZEVZF.js} +2 -2
  104. package/dist-vue/_chunks/{PkStreamingMarkdown-C-XHB63C.js.map → PkStreamingMarkdown-CGEZEVZF.js.map} +1 -1
  105. package/dist-vue/_chunks/{PkToolShowArtifact-pTS7wzhw.js → PkToolShowArtifact-D1PnI-E1.js} +14 -13
  106. package/dist-vue/_chunks/PkToolShowArtifact-D1PnI-E1.js.map +1 -0
  107. package/dist-vue/_chunks/{PkToolShowCalendarEvent-DQ--fzwb.js → PkToolShowCalendarEvent-HiRf_hSv.js} +3 -3
  108. package/dist-vue/_chunks/{PkToolShowCalendarEvent-DQ--fzwb.js.map → PkToolShowCalendarEvent-HiRf_hSv.js.map} +1 -1
  109. package/dist-vue/_chunks/{PkToolShowComparison-CzRUrjbP.js → PkToolShowComparison-Bll3lc1g.js} +2 -2
  110. package/dist-vue/_chunks/{PkToolShowComparison-CzRUrjbP.js.map → PkToolShowComparison-Bll3lc1g.js.map} +1 -1
  111. package/dist-vue/_chunks/PkToolShowContactForm-DQDXyNco.js +130 -0
  112. package/dist-vue/_chunks/PkToolShowContactForm-DQDXyNco.js.map +1 -0
  113. package/dist-vue/_chunks/{PkToolShowEmail-htn0ivwY.js → PkToolShowEmail-DzYBtaIE.js} +2 -2
  114. package/dist-vue/_chunks/{PkToolShowEmail-htn0ivwY.js.map → PkToolShowEmail-DzYBtaIE.js.map} +1 -1
  115. package/dist-vue/_chunks/{PkToolShowImageGallery-CpU183SC.js → PkToolShowImageGallery-BQtLChsM.js} +4 -4
  116. package/dist-vue/_chunks/{PkToolShowImageGallery-CpU183SC.js.map → PkToolShowImageGallery-BQtLChsM.js.map} +1 -1
  117. package/dist-vue/_chunks/PkToolShowLocation-CaG0Txb6.js +148 -0
  118. package/dist-vue/_chunks/PkToolShowLocation-CaG0Txb6.js.map +1 -0
  119. package/dist-vue/_chunks/{PkToolShowMessage-DtGDm3pq.js → PkToolShowMessage-C4os87fJ.js} +2 -2
  120. package/dist-vue/_chunks/{PkToolShowMessage-DtGDm3pq.js.map → PkToolShowMessage-C4os87fJ.js.map} +1 -1
  121. package/dist-vue/_chunks/PkToolShowMultipleChoice-DB5ZvvhS.js +45 -0
  122. package/dist-vue/_chunks/PkToolShowMultipleChoice-DB5ZvvhS.js.map +1 -0
  123. package/dist-vue/_chunks/{PkToolShowProductList-BlkUdbtV.js → PkToolShowProductList-BR14mmfl.js} +3 -3
  124. package/dist-vue/_chunks/{PkToolShowProductList-BlkUdbtV.js.map → PkToolShowProductList-BR14mmfl.js.map} +1 -1
  125. package/dist-vue/_chunks/{PkToolShowQrCode-BUyhM_MN.js → PkToolShowQrCode-CTfDrItd.js} +2 -2
  126. package/dist-vue/_chunks/{PkToolShowQrCode-BUyhM_MN.js.map → PkToolShowQrCode-CTfDrItd.js.map} +1 -1
  127. package/dist-vue/_chunks/PkToolShowSources-B_UfP0QT.js +377 -0
  128. package/dist-vue/_chunks/PkToolShowSources-B_UfP0QT.js.map +1 -0
  129. package/dist-vue/_chunks/PkToolShowSuggestedReply-BVa6p4DJ.js +40 -0
  130. package/dist-vue/_chunks/PkToolShowSuggestedReply-BVa6p4DJ.js.map +1 -0
  131. package/dist-vue/_chunks/{PkToolShowWeather-iAV7Hn_J.js → PkToolShowWeather-D3MyAnH4.js} +1 -1
  132. package/dist-vue/_chunks/{PkToolShowWeather-iAV7Hn_J.js.map → PkToolShowWeather-D3MyAnH4.js.map} +1 -1
  133. package/dist-vue/_chunks/{PkToolShowWebPages-BQp9A4vb.js → PkToolShowWebPages-0pwK7psA.js} +4 -4
  134. package/dist-vue/_chunks/{PkToolShowWebPages-BQp9A4vb.js.map → PkToolShowWebPages-0pwK7psA.js.map} +1 -1
  135. package/dist-vue/_chunks/{PkUrl-C9annqfF.js → PkUrl-tuHTaGCy.js} +1 -1
  136. package/dist-vue/_chunks/{PkUrl-C9annqfF.js.map → PkUrl-tuHTaGCy.js.map} +1 -1
  137. package/dist-vue/_chunks/{ZodError-B3AvmUCJ.js → ZodError-DkVfTODd.js} +1 -1
  138. package/dist-vue/_chunks/{ZodError-B3AvmUCJ.js.map → ZodError-DkVfTODd.js.map} +1 -1
  139. package/dist-vue/_chunks/{apl-Bkqrrr3v.js → apl-j-tvtpTP.js} +1 -1
  140. package/dist-vue/_chunks/{apl-Bkqrrr3v.js.map → apl-j-tvtpTP.js.map} +1 -1
  141. package/dist-vue/_chunks/{asciiarmor-DMBg7NdB.js → asciiarmor-JNKKTtQt.js} +1 -1
  142. package/dist-vue/_chunks/{asciiarmor-DMBg7NdB.js.map → asciiarmor-JNKKTtQt.js.map} +1 -1
  143. package/dist-vue/_chunks/{asn1-WRfjxqL1.js → asn1-DBQ_amwa.js} +1 -1
  144. package/dist-vue/_chunks/{asn1-WRfjxqL1.js.map → asn1-DBQ_amwa.js.map} +1 -1
  145. package/dist-vue/_chunks/{asterisk-DYv-EHWB.js → asterisk-Di3iYNR-.js} +1 -1
  146. package/dist-vue/_chunks/{asterisk-DYv-EHWB.js.map → asterisk-Di3iYNR-.js.map} +1 -1
  147. package/dist-vue/_chunks/{brainfuck-hzOnKOH7.js → brainfuck-D8mwwQut.js} +1 -1
  148. package/dist-vue/_chunks/{brainfuck-hzOnKOH7.js.map → brainfuck-D8mwwQut.js.map} +1 -1
  149. package/dist-vue/_chunks/{clike-r66wHNGT.js → clike-I6ihTsJ5.js} +1 -1
  150. package/dist-vue/_chunks/{clike-r66wHNGT.js.map → clike-I6ihTsJ5.js.map} +1 -1
  151. package/dist-vue/_chunks/{clojure-BDb_WsAm.js → clojure-CGENQS-R.js} +1 -1
  152. package/dist-vue/_chunks/{clojure-BDb_WsAm.js.map → clojure-CGENQS-R.js.map} +1 -1
  153. package/dist-vue/_chunks/{cmake-Curqstum.js → cmake-D2jqXHLk.js} +1 -1
  154. package/dist-vue/_chunks/{cmake-Curqstum.js.map → cmake-D2jqXHLk.js.map} +1 -1
  155. package/dist-vue/_chunks/{cobol-BAx4MdII.js → cobol-Db3IHNru.js} +1 -1
  156. package/dist-vue/_chunks/{cobol-BAx4MdII.js.map → cobol-Db3IHNru.js.map} +1 -1
  157. package/dist-vue/_chunks/{coffeescript-jbcF4nR3.js → coffeescript-B4Rd3RcP.js} +1 -1
  158. package/dist-vue/_chunks/{coffeescript-jbcF4nR3.js.map → coffeescript-B4Rd3RcP.js.map} +1 -1
  159. package/dist-vue/_chunks/{commonlisp-BXKJxcTF.js → commonlisp-B-ehiawF.js} +1 -1
  160. package/dist-vue/_chunks/{commonlisp-BXKJxcTF.js.map → commonlisp-B-ehiawF.js.map} +1 -1
  161. package/dist-vue/_chunks/createChatbotApiClient-C520OTrB.js +521 -0
  162. package/dist-vue/_chunks/createChatbotApiClient-C520OTrB.js.map +1 -0
  163. package/dist-vue/_chunks/{crystal-Dq4io9oq.js → crystal-Bj2fwY3J.js} +1 -1
  164. package/dist-vue/_chunks/{crystal-Dq4io9oq.js.map → crystal-Bj2fwY3J.js.map} +1 -1
  165. package/dist-vue/_chunks/{css-Bd9Y1kSi.js → css-CDqbdUZS.js} +1 -1
  166. package/dist-vue/_chunks/{css-Bd9Y1kSi.js.map → css-CDqbdUZS.js.map} +1 -1
  167. package/dist-vue/_chunks/{cypher-D14rILSd.js → cypher-BPgl78lW.js} +1 -1
  168. package/dist-vue/_chunks/{cypher-D14rILSd.js.map → cypher-BPgl78lW.js.map} +1 -1
  169. package/dist-vue/_chunks/{d-B-E6YUkN.js → d-_9PAw1JO.js} +1 -1
  170. package/dist-vue/_chunks/{d-B-E6YUkN.js.map → d-_9PAw1JO.js.map} +1 -1
  171. package/dist-vue/_chunks/{diff-BPPcQvHC.js → diff-C_qwk3ek.js} +1 -1
  172. package/dist-vue/_chunks/{diff-BPPcQvHC.js.map → diff-C_qwk3ek.js.map} +1 -1
  173. package/dist-vue/_chunks/{dist-CJYiwDlx.js → dist-2RCoY9yL.js} +2 -2
  174. package/dist-vue/_chunks/{dist-CJYiwDlx.js.map → dist-2RCoY9yL.js.map} +1 -1
  175. package/dist-vue/_chunks/{dist-DEe8jwtO.js → dist-B504iqq4.js} +3 -3
  176. package/dist-vue/_chunks/{dist-DEe8jwtO.js.map → dist-B504iqq4.js.map} +1 -1
  177. package/dist-vue/_chunks/{dist-BHuX2VvC.js → dist-BbACD7ZF.js} +3 -3
  178. package/dist-vue/_chunks/{dist-BHuX2VvC.js.map → dist-BbACD7ZF.js.map} +1 -1
  179. package/dist-vue/_chunks/{dist-Bh5Q6aSI2.js → dist-BfWfkbOA.js} +2 -2
  180. package/dist-vue/_chunks/dist-BfWfkbOA.js.map +1 -0
  181. package/dist-vue/_chunks/{dist-Qq_6SbFF.js → dist-BnR5Kl9J.js} +3 -3
  182. package/dist-vue/_chunks/{dist-Qq_6SbFF.js.map → dist-BnR5Kl9J.js.map} +1 -1
  183. package/dist-vue/_chunks/{dist-KPI2eL8F.js → dist-Bx_jrcne.js} +2 -2
  184. package/dist-vue/_chunks/{dist-KPI2eL8F.js.map → dist-Bx_jrcne.js.map} +1 -1
  185. package/dist-vue/_chunks/{dist-CAXUIcdd.js → dist-C4DKJxXu.js} +4 -4
  186. package/dist-vue/_chunks/{dist-CAXUIcdd.js.map → dist-C4DKJxXu.js.map} +1 -1
  187. package/dist-vue/_chunks/{dist-CAZOa5qs2.js → dist-C9oRomIQ.js} +3 -3
  188. package/dist-vue/_chunks/dist-C9oRomIQ.js.map +1 -0
  189. package/dist-vue/_chunks/{dist-DfEAZDKB.js → dist-COvC03Xx.js} +3 -3
  190. package/dist-vue/_chunks/{dist-DfEAZDKB.js.map → dist-COvC03Xx.js.map} +1 -1
  191. package/dist-vue/_chunks/{dist-D-VT7gvP.js → dist-CwB_dFae.js} +3 -3
  192. package/dist-vue/_chunks/{dist-D-VT7gvP.js.map → dist-CwB_dFae.js.map} +1 -1
  193. package/dist-vue/_chunks/{dist-BaIe783A.js → dist-Cz8slHpf.js} +2 -2
  194. package/dist-vue/_chunks/{dist-BaIe783A.js.map → dist-Cz8slHpf.js.map} +1 -1
  195. package/dist-vue/_chunks/{dist-DV82RztV.js → dist-D-G-983p.js} +3 -3
  196. package/dist-vue/_chunks/{dist-DV82RztV.js.map → dist-D-G-983p.js.map} +1 -1
  197. package/dist-vue/_chunks/{dist-BNLIqE7O.js → dist-DGsr6BFK.js} +2 -2
  198. package/dist-vue/_chunks/{dist-BNLIqE7O.js.map → dist-DGsr6BFK.js.map} +1 -1
  199. package/dist-vue/_chunks/{dist-DMP9Xsk0.js → dist-DJFxbNlz.js} +2 -2
  200. package/dist-vue/_chunks/{dist-DMP9Xsk0.js.map → dist-DJFxbNlz.js.map} +1 -1
  201. package/dist-vue/_chunks/{dist-bUGhZmKp.js → dist-DKeYnhzh.js} +5 -5
  202. package/dist-vue/_chunks/{dist-bUGhZmKp.js.map → dist-DKeYnhzh.js.map} +1 -1
  203. package/dist-vue/_chunks/{dist--mE2E_mM.js → dist-DL84m6GA.js} +1 -1
  204. package/dist-vue/_chunks/{dist--mE2E_mM.js.map → dist-DL84m6GA.js.map} +1 -1
  205. package/dist-vue/_chunks/{dist-QbFF3eM_.js → dist-DS-IY-lt.js} +4 -4
  206. package/dist-vue/_chunks/{dist-QbFF3eM_.js.map → dist-DS-IY-lt.js.map} +1 -1
  207. package/dist-vue/_chunks/{dist-s_XUA-aw.js → dist-DZloX6N0.js} +3 -3
  208. package/dist-vue/_chunks/{dist-s_XUA-aw.js.map → dist-DZloX6N0.js.map} +1 -1
  209. package/dist-vue/_chunks/{dist-jVwgEJDw.js → dist-DapfuoOT.js} +3 -3
  210. package/dist-vue/_chunks/{dist-jVwgEJDw.js.map → dist-DapfuoOT.js.map} +1 -1
  211. package/dist-vue/_chunks/{dist-BWXfA4NS.js → dist-DmUxIVrQ.js} +5 -5
  212. package/dist-vue/_chunks/{dist-BWXfA4NS.js.map → dist-DmUxIVrQ.js.map} +1 -1
  213. package/dist-vue/_chunks/{dist-BQRG0D3Y.js → dist-LX3EryGA.js} +2 -2
  214. package/dist-vue/_chunks/{dist-BQRG0D3Y.js.map → dist-LX3EryGA.js.map} +1 -1
  215. package/dist-vue/_chunks/{dist-afJW4ohP2.js → dist-Z_cFz9nA.js} +2 -2
  216. package/dist-vue/_chunks/dist-Z_cFz9nA.js.map +1 -0
  217. package/dist-vue/_chunks/{dist-DVM_p-M1.js → dist-mJVylhvZ.js} +4 -4
  218. package/dist-vue/_chunks/{dist-DVM_p-M1.js.map → dist-mJVylhvZ.js.map} +1 -1
  219. package/dist-vue/_chunks/{dockerfile-CGxYmrOo.js → dockerfile-nMSg2tXY.js} +2 -2
  220. package/dist-vue/_chunks/{dockerfile-CGxYmrOo.js.map → dockerfile-nMSg2tXY.js.map} +1 -1
  221. package/dist-vue/_chunks/{dtd-ztbg9nev.js → dtd-BhtRjlzo.js} +1 -1
  222. package/dist-vue/_chunks/{dtd-ztbg9nev.js.map → dtd-BhtRjlzo.js.map} +1 -1
  223. package/dist-vue/_chunks/{dylan-Do2p-AA-.js → dylan-DyLL0Sxl.js} +1 -1
  224. package/dist-vue/_chunks/{dylan-Do2p-AA-.js.map → dylan-DyLL0Sxl.js.map} +1 -1
  225. package/dist-vue/_chunks/{ebnf-ChJPn51D.js → ebnf-DcBh-k1T.js} +1 -1
  226. package/dist-vue/_chunks/{ebnf-ChJPn51D.js.map → ebnf-DcBh-k1T.js.map} +1 -1
  227. package/dist-vue/_chunks/{ecl-ztl4D9j5.js → ecl-C-A1gGx7.js} +1 -1
  228. package/dist-vue/_chunks/{ecl-ztl4D9j5.js.map → ecl-C-A1gGx7.js.map} +1 -1
  229. package/dist-vue/_chunks/{eiffel-BYAAf3D8.js → eiffel-DwgfvIBI.js} +1 -1
  230. package/dist-vue/_chunks/{eiffel-BYAAf3D8.js.map → eiffel-DwgfvIBI.js.map} +1 -1
  231. package/dist-vue/_chunks/{elm-DFquGUxW.js → elm-RPF69bOV.js} +1 -1
  232. package/dist-vue/_chunks/{elm-DFquGUxW.js.map → elm-RPF69bOV.js.map} +1 -1
  233. package/dist-vue/_chunks/{erlang-BIndT8-8.js → erlang-BvNh96Ir.js} +1 -1
  234. package/dist-vue/_chunks/{erlang-BIndT8-8.js.map → erlang-BvNh96Ir.js.map} +1 -1
  235. package/dist-vue/_chunks/{factor-DqGzyyvS.js → factor-B_mOIxzF.js} +2 -2
  236. package/dist-vue/_chunks/{factor-DqGzyyvS.js.map → factor-B_mOIxzF.js.map} +1 -1
  237. package/dist-vue/_chunks/{fcl-MTt_AC1b.js → fcl-C9ulsEA4.js} +1 -1
  238. package/dist-vue/_chunks/{fcl-MTt_AC1b.js.map → fcl-C9ulsEA4.js.map} +1 -1
  239. package/dist-vue/_chunks/{forth-BPoSoJYE.js → forth-CFaZGhGS.js} +1 -1
  240. package/dist-vue/_chunks/{forth-BPoSoJYE.js.map → forth-CFaZGhGS.js.map} +1 -1
  241. package/dist-vue/_chunks/{fortran-BmHZEBN4.js → fortran-Cjm6fEBu.js} +1 -1
  242. package/dist-vue/_chunks/{fortran-BmHZEBN4.js.map → fortran-Cjm6fEBu.js.map} +1 -1
  243. package/dist-vue/_chunks/{gas-7ZHFSr9Y.js → gas-C3adNyJH.js} +1 -1
  244. package/dist-vue/_chunks/{gas-7ZHFSr9Y.js.map → gas-C3adNyJH.js.map} +1 -1
  245. package/dist-vue/_chunks/{gherkin-DiGPpFIT.js → gherkin-DFFRCqQB.js} +1 -1
  246. package/dist-vue/_chunks/{gherkin-DiGPpFIT.js.map → gherkin-DFFRCqQB.js.map} +1 -1
  247. package/dist-vue/_chunks/{groovy-DdKIH6vq.js → groovy-BHcqGGgZ.js} +1 -1
  248. package/dist-vue/_chunks/{groovy-DdKIH6vq.js.map → groovy-BHcqGGgZ.js.map} +1 -1
  249. package/dist-vue/_chunks/{haskell-DAISwZqR.js → haskell-BB45MUCR.js} +1 -1
  250. package/dist-vue/_chunks/{haskell-DAISwZqR.js.map → haskell-BB45MUCR.js.map} +1 -1
  251. package/dist-vue/_chunks/{haxe-CcCnoX02.js → haxe-QBohTRDI.js} +1 -1
  252. package/dist-vue/_chunks/{haxe-CcCnoX02.js.map → haxe-QBohTRDI.js.map} +1 -1
  253. package/dist-vue/_chunks/{http-Dy51A1Ji.js → http-HqJENFoz.js} +1 -1
  254. package/dist-vue/_chunks/{http-Dy51A1Ji.js.map → http-HqJENFoz.js.map} +1 -1
  255. package/dist-vue/_chunks/{idl-Cf5JG3Ez.js → idl-DZZwNvlw.js} +1 -1
  256. package/dist-vue/_chunks/{idl-Cf5JG3Ez.js.map → idl-DZZwNvlw.js.map} +1 -1
  257. package/dist-vue/_chunks/index.es-CikrfdXD.js +950 -0
  258. package/dist-vue/_chunks/index.es-CikrfdXD.js.map +1 -0
  259. package/dist-vue/_chunks/{javascript-CzLVX0gM.js → javascript-C85sLH7Y.js} +1 -1
  260. package/dist-vue/_chunks/{javascript-CzLVX0gM.js.map → javascript-C85sLH7Y.js.map} +1 -1
  261. package/dist-vue/_chunks/{julia-B2PXBujh.js → julia-ChIE7-ml.js} +1 -1
  262. package/dist-vue/_chunks/{julia-B2PXBujh.js.map → julia-ChIE7-ml.js.map} +1 -1
  263. package/dist-vue/_chunks/{livescript-2I87cCXG.js → livescript-BCs3u_kv.js} +1 -1
  264. package/dist-vue/_chunks/{livescript-2I87cCXG.js.map → livescript-BCs3u_kv.js.map} +1 -1
  265. package/dist-vue/_chunks/{lua-C3mMI1er.js → lua-DzZVFmfH.js} +1 -1
  266. package/dist-vue/_chunks/{lua-C3mMI1er.js.map → lua-DzZVFmfH.js.map} +1 -1
  267. package/dist-vue/_chunks/{mathematica-fQn4Bu4o.js → mathematica-Zz2lXOfW.js} +1 -1
  268. package/dist-vue/_chunks/{mathematica-fQn4Bu4o.js.map → mathematica-Zz2lXOfW.js.map} +1 -1
  269. package/dist-vue/_chunks/{mbox-DKAPFpEV.js → mbox-CuPDY4hp.js} +1 -1
  270. package/dist-vue/_chunks/{mbox-DKAPFpEV.js.map → mbox-CuPDY4hp.js.map} +1 -1
  271. package/dist-vue/_chunks/{mirc-BjO0qN2s.js → mirc-DwrsqNtD.js} +1 -1
  272. package/dist-vue/_chunks/{mirc-BjO0qN2s.js.map → mirc-DwrsqNtD.js.map} +1 -1
  273. package/dist-vue/_chunks/{mllike-BlZyj79n.js → mllike-76cVByXA.js} +1 -1
  274. package/dist-vue/_chunks/{mllike-BlZyj79n.js.map → mllike-76cVByXA.js.map} +1 -1
  275. package/dist-vue/_chunks/{modelica-QjIv2_JC.js → modelica-kytS8Bwg.js} +1 -1
  276. package/dist-vue/_chunks/{modelica-QjIv2_JC.js.map → modelica-kytS8Bwg.js.map} +1 -1
  277. package/dist-vue/_chunks/{mscgen-LfC5dXDe.js → mscgen-CoPuHfjN.js} +1 -1
  278. package/dist-vue/_chunks/{mscgen-LfC5dXDe.js.map → mscgen-CoPuHfjN.js.map} +1 -1
  279. package/dist-vue/_chunks/{mumps-Dv1DAXnR.js → mumps-B2uz6FeJ.js} +1 -1
  280. package/dist-vue/_chunks/{mumps-Dv1DAXnR.js.map → mumps-B2uz6FeJ.js.map} +1 -1
  281. package/dist-vue/_chunks/{nginx-3DgpfXl3.js → nginx-BSBpB1IU.js} +1 -1
  282. package/dist-vue/_chunks/{nginx-3DgpfXl3.js.map → nginx-BSBpB1IU.js.map} +1 -1
  283. package/dist-vue/_chunks/{nsis-K3Sov04-.js → nsis-R5ELJwT9.js} +2 -2
  284. package/dist-vue/_chunks/{nsis-K3Sov04-.js.map → nsis-R5ELJwT9.js.map} +1 -1
  285. package/dist-vue/_chunks/{ntriples-BEnyXf7m.js → ntriples-CAwEARBj.js} +1 -1
  286. package/dist-vue/_chunks/{ntriples-BEnyXf7m.js.map → ntriples-CAwEARBj.js.map} +1 -1
  287. package/dist-vue/_chunks/{octave-CyLDdHqN.js → octave-Ufq41PR2.js} +1 -1
  288. package/dist-vue/_chunks/{octave-CyLDdHqN.js.map → octave-Ufq41PR2.js.map} +1 -1
  289. package/dist-vue/_chunks/{oz-D5CDtCy5.js → oz-gzP8z3Q6.js} +1 -1
  290. package/dist-vue/_chunks/{oz-D5CDtCy5.js.map → oz-gzP8z3Q6.js.map} +1 -1
  291. package/dist-vue/_chunks/{pascal-BSLSyZrm.js → pascal-Ccg4lI6j.js} +1 -1
  292. package/dist-vue/_chunks/{pascal-BSLSyZrm.js.map → pascal-Ccg4lI6j.js.map} +1 -1
  293. package/dist-vue/_chunks/{perl-DBW5T0Wn.js → perl-64iNbjRD.js} +1 -1
  294. package/dist-vue/_chunks/{perl-DBW5T0Wn.js.map → perl-64iNbjRD.js.map} +1 -1
  295. package/dist-vue/_chunks/{pig-C5Bshhgj.js → pig-CsJsXnem.js} +1 -1
  296. package/dist-vue/_chunks/{pig-C5Bshhgj.js.map → pig-CsJsXnem.js.map} +1 -1
  297. package/dist-vue/_chunks/{powershell-BEB8cXp1.js → powershell-CPnsuu0v.js} +1 -1
  298. package/dist-vue/_chunks/{powershell-BEB8cXp1.js.map → powershell-CPnsuu0v.js.map} +1 -1
  299. package/dist-vue/_chunks/{properties-Dywxo8ET.js → properties-CEGInQuZ.js} +1 -1
  300. package/dist-vue/_chunks/{properties-Dywxo8ET.js.map → properties-CEGInQuZ.js.map} +1 -1
  301. package/dist-vue/_chunks/{protobuf-236BAJ7w.js → protobuf-BGU8l-K6.js} +1 -1
  302. package/dist-vue/_chunks/{protobuf-236BAJ7w.js.map → protobuf-BGU8l-K6.js.map} +1 -1
  303. package/dist-vue/_chunks/{pug-cbZddqK7.js → pug-DMZOuiBR.js} +2 -2
  304. package/dist-vue/_chunks/{pug-cbZddqK7.js.map → pug-DMZOuiBR.js.map} +1 -1
  305. package/dist-vue/_chunks/{puppet-C2NL98jI.js → puppet-CT38RAOR.js} +1 -1
  306. package/dist-vue/_chunks/{puppet-C2NL98jI.js.map → puppet-CT38RAOR.js.map} +1 -1
  307. package/dist-vue/_chunks/{python-CwQbjwek.js → python-BmpRibCQ.js} +1 -1
  308. package/dist-vue/_chunks/{python-CwQbjwek.js.map → python-BmpRibCQ.js.map} +1 -1
  309. package/dist-vue/_chunks/{q-BSTDwNDO.js → q-CtSYDlyO.js} +1 -1
  310. package/dist-vue/_chunks/{q-BSTDwNDO.js.map → q-CtSYDlyO.js.map} +1 -1
  311. package/dist-vue/_chunks/{r-DFZgsfAZ.js → r-oVGiwSoK.js} +1 -1
  312. package/dist-vue/_chunks/{r-DFZgsfAZ.js.map → r-oVGiwSoK.js.map} +1 -1
  313. package/dist-vue/_chunks/{rpm-C0LbsDPX.js → rpm-B5gOa5-q.js} +1 -1
  314. package/dist-vue/_chunks/{rpm-C0LbsDPX.js.map → rpm-B5gOa5-q.js.map} +1 -1
  315. package/dist-vue/_chunks/{ruby-Bier99ao.js → ruby-34fuN336.js} +1 -1
  316. package/dist-vue/_chunks/{ruby-Bier99ao.js.map → ruby-34fuN336.js.map} +1 -1
  317. package/dist-vue/_chunks/{sas-VrUpo2iQ.js → sas-BlnUKWuD.js} +1 -1
  318. package/dist-vue/_chunks/{sas-VrUpo2iQ.js.map → sas-BlnUKWuD.js.map} +1 -1
  319. package/dist-vue/_chunks/{scheme-D6LSF3th.js → scheme-Ba-z_mxe.js} +1 -1
  320. package/dist-vue/_chunks/{scheme-D6LSF3th.js.map → scheme-Ba-z_mxe.js.map} +1 -1
  321. package/dist-vue/_chunks/{shell-Pil6sZYj.js → shell-B-EgOeQy.js} +1 -1
  322. package/dist-vue/_chunks/{shell-Pil6sZYj.js.map → shell-B-EgOeQy.js.map} +1 -1
  323. package/dist-vue/_chunks/{sieve-BP6vUMh6.js → sieve-DsG7bfYX.js} +1 -1
  324. package/dist-vue/_chunks/{sieve-BP6vUMh6.js.map → sieve-DsG7bfYX.js.map} +1 -1
  325. package/dist-vue/_chunks/{simple-mode-BG7WQO3g.js → simple-mode-wQYx-pPa.js} +1 -1
  326. package/dist-vue/_chunks/{simple-mode-BG7WQO3g.js.map → simple-mode-wQYx-pPa.js.map} +1 -1
  327. package/dist-vue/_chunks/{smalltalk-BnTD_-u6.js → smalltalk-ChZvyDpP.js} +1 -1
  328. package/dist-vue/_chunks/{smalltalk-BnTD_-u6.js.map → smalltalk-ChZvyDpP.js.map} +1 -1
  329. package/dist-vue/_chunks/{solr-VuxI6OR2.js → solr-Dqcv2AYp.js} +1 -1
  330. package/dist-vue/_chunks/{solr-VuxI6OR2.js.map → solr-Dqcv2AYp.js.map} +1 -1
  331. package/dist-vue/_chunks/{sparql-7LilzgeP.js → sparql-DqMXm2dv.js} +1 -1
  332. package/dist-vue/_chunks/{sparql-7LilzgeP.js.map → sparql-DqMXm2dv.js.map} +1 -1
  333. package/dist-vue/_chunks/{spreadsheet-CMp1pfGY.js → spreadsheet-DZEh4bps.js} +1 -1
  334. package/dist-vue/_chunks/{spreadsheet-CMp1pfGY.js.map → spreadsheet-DZEh4bps.js.map} +1 -1
  335. package/dist-vue/_chunks/{sql-7pX-pbPB.js → sql-MyS5CFp1.js} +1 -1
  336. package/dist-vue/_chunks/{sql-7pX-pbPB.js.map → sql-MyS5CFp1.js.map} +1 -1
  337. package/dist-vue/_chunks/{src-DjRNH9vV.js → src-BteqqLGW.js} +1 -1
  338. package/dist-vue/_chunks/{src-DjRNH9vV.js.map → src-BteqqLGW.js.map} +1 -1
  339. package/dist-vue/_chunks/{stex-Bb7D4YTq.js → stex-CuUykOIw.js} +1 -1
  340. package/dist-vue/_chunks/{stex-Bb7D4YTq.js.map → stex-CuUykOIw.js.map} +1 -1
  341. package/dist-vue/_chunks/{stylus-DtQ7d5hI.js → stylus-BIh9GBXG.js} +1 -1
  342. package/dist-vue/_chunks/{stylus-DtQ7d5hI.js.map → stylus-BIh9GBXG.js.map} +1 -1
  343. package/dist-vue/_chunks/{swift-BUw5YtkI.js → swift-En1d22e-.js} +1 -1
  344. package/dist-vue/_chunks/{swift-BUw5YtkI.js.map → swift-En1d22e-.js.map} +1 -1
  345. package/dist-vue/_chunks/{tcl-DXJDyEhN.js → tcl-CA3XR2Sh.js} +1 -1
  346. package/dist-vue/_chunks/{tcl-DXJDyEhN.js.map → tcl-CA3XR2Sh.js.map} +1 -1
  347. package/dist-vue/_chunks/{textile-CFJlGF4J.js → textile-CKe5SU6F.js} +1 -1
  348. package/dist-vue/_chunks/{textile-CFJlGF4J.js.map → textile-CKe5SU6F.js.map} +1 -1
  349. package/dist-vue/_chunks/{tiddlywiki-BcfgI-U0.js → tiddlywiki-UOzNZSPW.js} +1 -1
  350. package/dist-vue/_chunks/{tiddlywiki-BcfgI-U0.js.map → tiddlywiki-UOzNZSPW.js.map} +1 -1
  351. package/dist-vue/_chunks/{tiki-Ck3ovlwE.js → tiki-CTiuYP9v.js} +1 -1
  352. package/dist-vue/_chunks/{tiki-Ck3ovlwE.js.map → tiki-CTiuYP9v.js.map} +1 -1
  353. package/dist-vue/_chunks/{toml-Cj82erLE.js → toml-DDNufn3M.js} +1 -1
  354. package/dist-vue/_chunks/{toml-Cj82erLE.js.map → toml-DDNufn3M.js.map} +1 -1
  355. package/dist-vue/_chunks/{troff-CizaXfug.js → troff-DW8Y_3S4.js} +1 -1
  356. package/dist-vue/_chunks/{troff-CizaXfug.js.map → troff-DW8Y_3S4.js.map} +1 -1
  357. package/dist-vue/_chunks/{ttcn-mPO-QsiQ.js → ttcn-C-DIoNCg.js} +1 -1
  358. package/dist-vue/_chunks/{ttcn-mPO-QsiQ.js.map → ttcn-C-DIoNCg.js.map} +1 -1
  359. package/dist-vue/_chunks/{ttcn-cfg-c_AW8b7V.js → ttcn-cfg-B4ziRnM-.js} +1 -1
  360. package/dist-vue/_chunks/{ttcn-cfg-c_AW8b7V.js.map → ttcn-cfg-B4ziRnM-.js.map} +1 -1
  361. package/dist-vue/_chunks/{turtle-BF5AsFbP.js → turtle-CARqpYpc.js} +1 -1
  362. package/dist-vue/_chunks/{turtle-BF5AsFbP.js.map → turtle-CARqpYpc.js.map} +1 -1
  363. package/dist-vue/_chunks/{useChatbotStore-ys9uGP5v.js → useChatbotStore-C9xj40sY.js} +24 -24
  364. package/dist-vue/_chunks/{useChatbotStore-ys9uGP5v.js.map → useChatbotStore-C9xj40sY.js.map} +1 -1
  365. package/dist-vue/_chunks/{useLightbox-CRpWDdlN.js → useLightbox-CsBDIq4B.js} +2 -2
  366. package/dist-vue/_chunks/{useLightbox-CRpWDdlN.js.map → useLightbox-CsBDIq4B.js.map} +1 -1
  367. package/dist-vue/_chunks/useSafeLocalStorage-C1GCM7nD.js +15 -0
  368. package/dist-vue/_chunks/useSafeLocalStorage-C1GCM7nD.js.map +1 -0
  369. package/dist-vue/_chunks/{utils-DBd_X5-V.js → utils-D1pBqT-n.js} +2 -2
  370. package/dist-vue/_chunks/{utils-DBd_X5-V.js.map → utils-D1pBqT-n.js.map} +1 -1
  371. package/dist-vue/_chunks/{vb-CeqEYgxc.js → vb-jy9Yl8VS.js} +1 -1
  372. package/dist-vue/_chunks/{vb-CeqEYgxc.js.map → vb-jy9Yl8VS.js.map} +1 -1
  373. package/dist-vue/_chunks/{vbscript-Dy7to0l6.js → vbscript-srk6lbz5.js} +1 -1
  374. package/dist-vue/_chunks/{vbscript-Dy7to0l6.js.map → vbscript-srk6lbz5.js.map} +1 -1
  375. package/dist-vue/_chunks/{velocity-CKubdsu-.js → velocity-DYmMYLwp.js} +1 -1
  376. package/dist-vue/_chunks/{velocity-CKubdsu-.js.map → velocity-DYmMYLwp.js.map} +1 -1
  377. package/dist-vue/_chunks/{verilog-BhlfpzOZ.js → verilog-UsIZeNkB.js} +1 -1
  378. package/dist-vue/_chunks/{verilog-BhlfpzOZ.js.map → verilog-UsIZeNkB.js.map} +1 -1
  379. package/dist-vue/_chunks/{vhdl-8WXkWtGM.js → vhdl-DNCP7Bn1.js} +1 -1
  380. package/dist-vue/_chunks/{vhdl-8WXkWtGM.js.map → vhdl-DNCP7Bn1.js.map} +1 -1
  381. package/dist-vue/_chunks/{webidl-Jc36v0Y0.js → webidl-DOqqk_0y.js} +1 -1
  382. package/dist-vue/_chunks/{webidl-Jc36v0Y0.js.map → webidl-DOqqk_0y.js.map} +1 -1
  383. package/dist-vue/_chunks/{xquery-H0oz85f3.js → xquery-DJDJrmLG.js} +1 -1
  384. package/dist-vue/_chunks/{xquery-H0oz85f3.js.map → xquery-DJDJrmLG.js.map} +1 -1
  385. package/dist-vue/_chunks/{yacas-BdW11VL8.js → yacas-BSgkPzcj.js} +1 -1
  386. package/dist-vue/_chunks/{yacas-BdW11VL8.js.map → yacas-BSgkPzcj.js.map} +1 -1
  387. package/dist-vue/_chunks/{z80-GK9AbKDL.js → z80-C0-Mg9L3.js} +1 -1
  388. package/dist-vue/_chunks/{z80-GK9AbKDL.js.map → z80-C0-Mg9L3.js.map} +1 -1
  389. package/dist-vue/api.js +1 -1
  390. package/dist-vue/apps/web-component/src/composables/useChatbotAuth.d.ts +2 -1
  391. package/dist-vue/composables.js +92 -80
  392. package/dist-vue/composables.js.map +1 -1
  393. package/dist-vue/index.js +874 -857
  394. package/dist-vue/index.js.map +1 -1
  395. package/dist-vue/locales.js +1 -0
  396. package/dist-vue/packages/ability/src/types.d.ts +3 -1
  397. package/dist-vue/packages/components/src/chat/PkChatbotMessages.d.ts +10 -3
  398. package/dist-vue/packages/components/src/chat/PkCopyBlock.d.ts +4 -2
  399. package/dist-vue/packages/components/src/chat/PkMessageParts.d.ts +5 -1
  400. package/dist-vue/packages/components/src/chat/PkToolShowLocation.d.ts +5 -0
  401. package/dist-vue/packages/components/src/index.d.ts +2 -1
  402. package/dist-vue/packages/composable/src/chatbot/api/createChatbotApiClient.d.ts +5 -0
  403. package/dist-vue/packages/composable/src/index.d.ts +1 -0
  404. package/dist-vue/packages/composable/src/useSafeLocalStorage.d.ts +7 -0
  405. package/dist-vue/packages/models/src/schema/AgentEndpoint.d.ts +108 -0
  406. package/dist-vue/packages/models/src/schema/AgentEndpointLog.d.ts +48 -0
  407. package/dist-vue/packages/models/src/schema/index.d.ts +2 -0
  408. package/dist-vue/style.css +1 -1
  409. package/package.json +3 -2
  410. package/dist/_chunks/PkToolShowArtifact-DzNIkKvZ.js.map +0 -1
  411. package/dist/_chunks/PkToolShowLocation-BsBiA4jV.js +0 -134
  412. package/dist/_chunks/PkToolShowLocation-BsBiA4jV.js.map +0 -1
  413. package/dist/_chunks/vue-leaflet.es-BT-uRmMx.js +0 -1738
  414. package/dist/_chunks/vue-leaflet.es-BT-uRmMx.js.map +0 -1
  415. package/dist-vue/_chunks/PkChatbotFeedbackForm-Dl1pWKbb.js +0 -1035
  416. package/dist-vue/_chunks/PkChatbotFeedbackForm-Dl1pWKbb.js.map +0 -1
  417. package/dist-vue/_chunks/PkChatbotMessages-C7-ZtU0-.js.map +0 -1
  418. package/dist-vue/_chunks/PkChatbotViewChat-EWotdJkz.js +0 -792
  419. package/dist-vue/_chunks/PkChatbotViewChat-EWotdJkz.js.map +0 -1
  420. package/dist-vue/_chunks/PkToolShowArtifact-pTS7wzhw.js.map +0 -1
  421. package/dist-vue/_chunks/PkToolShowLocation-DSZvW68g.js +0 -135
  422. package/dist-vue/_chunks/PkToolShowLocation-DSZvW68g.js.map +0 -1
  423. package/dist-vue/_chunks/createChatbotApiClient-BJL1_AVi.js +0 -630
  424. package/dist-vue/_chunks/createChatbotApiClient-BJL1_AVi.js.map +0 -1
  425. package/dist-vue/_chunks/dist-Bh5Q6aSI2.js.map +0 -1
  426. package/dist-vue/_chunks/dist-CAZOa5qs2.js.map +0 -1
  427. package/dist-vue/_chunks/dist-afJW4ohP2.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { y as e } from "./src-DjRNH9vV.js";
1
+ import { y as e } from "./src-BteqqLGW.js";
2
2
  import { onBeforeUnmount as t, ref as n, shallowRef as r } from "vue";
3
3
  //#region ../../packages/components/src/composables/useLightbox.ts
4
4
  var i = "https://cdn.jsdelivr.net/npm/photoswipe@5/dist/photoswipe.css", a = {
@@ -110,4 +110,4 @@ function p() {
110
110
  //#endregion
111
111
  export { o as n, s as t };
112
112
 
113
- //# sourceMappingURL=useLightbox-CRpWDdlN.js.map
113
+ //# sourceMappingURL=useLightbox-CsBDIq4B.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useLightbox-CRpWDdlN.js","names":[],"sources":["../../../../packages/components/src/composables/useLightbox.ts"],"sourcesContent":["import {\n onBeforeUnmount,\n ref,\n shallowRef,\n type Ref,\n type ShallowRef,\n} from 'vue'\nimport type PhotoSwipeLightbox from 'photoswipe/lightbox'\nimport type PhotoSwipe from 'photoswipe'\nimport { loadCdnCss } from 'utils'\n\nconst PHOTOSWIPE_CSS =\n 'https://cdn.jsdelivr.net/npm/photoswipe@5/dist/photoswipe.css'\n\nconst DEFAULT_IMAGE_SIZE = { width: 1200, height: 800 }\n\nexport interface LightboxImage {\n url: string\n caption?: string\n alt?: string\n /** Natural width in px — used by PhotoSwipe for proper sizing. */\n width?: number\n /** Natural height in px — used by PhotoSwipe for proper sizing. */\n height?: number\n}\n\nexport interface LightboxOptions {\n /** Container element whose child anchors are the gallery items */\n gallery: Ref<HTMLElement | undefined>\n /** CSS selector for gallery items inside the container (default: `'a[data-pswp-src]'`) */\n children?: string\n loop?: boolean\n /** Show a download button in the lightbox toolbar */\n downloadable?: boolean\n /** Show an open-in-new-tab button in the lightbox toolbar */\n openInNewTab?: boolean\n}\n\nexport interface UseLightboxReturn {\n lightbox: ShallowRef<PhotoSwipeLightbox | null>\n /** Initialises PhotoSwipe. Call this inside `onMounted`. */\n init: () => Promise<void>\n}\n\n/**\n * Encapsulates PhotoSwipe 5 initialisation, toolbar customisation, and lifecycle cleanup.\n * CSS is injected into `document.head` so the overlay works in both regular DOM and Shadow DOM.\n *\n * Usage:\n * ```ts\n * const { init } = useLightbox({ gallery: galleryRef, downloadable: true })\n * onMounted(init)\n * ```\n */\nexport function useLightbox(options: LightboxOptions): UseLightboxReturn {\n const {\n gallery,\n children = 'a[data-pswp-src]',\n loop = true,\n downloadable = true,\n openInNewTab = true,\n } = options\n\n const lightbox = shallowRef<PhotoSwipeLightbox | null>(null)\n\n const init = async () => {\n if (!gallery.value) {\n return\n }\n\n // PhotoSwipe renders its overlay into document.body, so CSS must be in\n // document.head — not inside a shadow root.\n loadCdnCss(PHOTOSWIPE_CSS)\n injectPhotoSwipeOverrides()\n\n const { default: PhotoSwipeLightbox } =\n await import('photoswipe/lightbox')\n\n lightbox.value = new PhotoSwipeLightbox({\n gallery: gallery.value,\n children,\n pswpModule: () => import('photoswipe'),\n loop,\n arrowPrevSVG:\n '<svg aria-hidden=\"true\" class=\"pswp__icn\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path fill=\"#ffffff\" d=\"m10.828 12l4.95 4.95l-1.414 1.415L8 12l6.364-6.364l1.414 1.414z\"/></svg>',\n arrowNextSVG:\n '<svg aria-hidden=\"true\" class=\"pswp__icn\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path fill=\"#ffffff\" d=\"m13.172 12l-4.95-4.95l1.414-1.413L16 12l-6.364 6.364l-1.414-1.415z\"/></svg>',\n closeSVG:\n '<svg aria-hidden=\"true\" class=\"pswp__icn\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path fill=\"#ffffff\" d=\"m12 10.587l4.95-4.95l1.414 1.414l-4.95 4.95l4.95 4.95l-1.415 1.414l-4.95-4.95l-4.949 4.95l-1.414-1.415l4.95-4.95l-4.95-4.95L7.05 5.638z\"/></svg>',\n zoomSVG:\n '<svg aria-hidden=\"true\" class=\"pswp__icn\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><g class=\"pswp__icn--zoom-in\"><path fill=\"#ffffff\" d=\"m18.031 16.617l4.283 4.282l-1.415 1.415l-4.282-4.283A8.96 8.96 0 0 1 11 20c-4.968 0-9-4.032-9-9s4.032-9 9-9s9 4.032 9 9a8.96 8.96 0 0 1-1.969 5.617m-2.006-.742A6.98 6.98 0 0 0 18 11c0-3.867-3.133-7-7-7s-7 3.133-7 7s3.133 7 7 7a6.98 6.98 0 0 0 4.875-1.975zM10 10V7h2v3h3v2h-3v3h-2v-3H7v-2z\"/></g><g class=\"pswp__icn--zoom-out\"><path fill=\"#ffffff\" d=\"m18.031 16.617l4.283 4.282l-1.415 1.415l-4.282-4.283A8.96 8.96 0 0 1 11 20c-4.968 0-9-4.032-9-9s4.032-9 9-9s9 4.032 9 9a8.96 8.96 0 0 1-1.969 5.617m-2.006-.742A6.98 6.98 0 0 0 18 11c0-3.867-3.133-7-7-7s-7 3.133-7 7s3.133 7 7 7a6.98 6.98 0 0 0 4.875-1.975zM7 10h8v2H7z\"/></g></svg>',\n })\n\n if (openInNewTab || downloadable) {\n lightbox.value.on('uiRegister', () => {\n const ui = lightbox.value!.pswp?.ui\n if (!ui) {\n return\n }\n\n if (openInNewTab) {\n ui.registerElement({\n name: 'open-in-new-tab-button',\n order: 8,\n isButton: true,\n html: '<svg aria-hidden=\"true\" class=\"pswp__icn\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path fill=\"#ffffff\" d=\"M10 6v2H5v11h11v-5h2v6a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1zm11-3v8h-2V6.413l-7.793 7.794l-1.414-1.414L17.585 5H13V3z\"/></svg>',\n title: 'Open in new tab',\n onClick: (_, __, pswp) => {\n const url = getCurrentSlideUrl(pswp)\n if (url) {\n window.open(\n url,\n '_blank',\n 'noopener,noreferrer',\n )\n }\n },\n })\n }\n\n if (downloadable) {\n ui.registerElement({\n name: 'download-button',\n order: 9,\n isButton: true,\n html: '<svg aria-hidden=\"true\" class=\"pswp__icn\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path fill=\"#ffffff\" d=\"M3 19h18v2H3zm10-5.828L19.071 7.1l1.414 1.414L12 17L3.515 8.515L4.929 7.1L11 13.173V2h2z\"/></svg>',\n title: 'Download',\n onClick: (_, __, pswp) => {\n const url = getCurrentSlideUrl(pswp)\n if (url) {\n downloadImage(url)\n }\n },\n })\n }\n })\n }\n\n lightbox.value.init()\n }\n\n onBeforeUnmount(() => {\n lightbox.value?.destroy()\n lightbox.value = null\n })\n\n return { lightbox, init }\n}\n\n// ---------------------------------------------------------------------------\n// Image size preloading\n// ---------------------------------------------------------------------------\n\nexport interface UseImageSizesReturn {\n preload: (\n images: Array<{ url: string; width?: number; height?: number }>,\n ) => void\n getSize: (url: string) => { width: number; height: number }\n}\n\n/**\n * Preloads natural image dimensions so PhotoSwipe can size its slides correctly.\n * When `width`/`height` are already provided they are used as-is;\n * otherwise the image is loaded in the background to read `naturalWidth`/`naturalHeight`.\n */\nexport function useImageSizes(): UseImageSizesReturn {\n const sizes = ref(new Map<string, { width: number; height: number }>())\n\n const preload = (\n images: Array<{ url: string; width?: number; height?: number }>,\n ) => {\n for (const image of images) {\n if (image.width && image.height) {\n sizes.value.set(image.url, {\n width: image.width,\n height: image.height,\n })\n continue\n }\n const img = new Image()\n img.onload = () => {\n sizes.value.set(image.url, {\n width: img.naturalWidth,\n height: img.naturalHeight,\n })\n }\n img.src = image.url\n }\n }\n\n const getSize = (url: string) => sizes.value.get(url) ?? DEFAULT_IMAGE_SIZE\n\n return { preload, getSize }\n}\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\nfunction getCurrentSlideUrl(pswp: PhotoSwipe): string | undefined {\n return (\n pswp.currSlide?.data?.src ??\n pswp.currSlide?.data?.element\n ?.querySelector('img')\n ?.getAttribute('src') ??\n undefined\n )\n}\n\n/**\n * Triggers a client-side download for an image URL.\n *\n * For backend media URLs (.../media/:file/view), navigates to the\n * corresponding /download endpoint which redirects to an Azure SAS URL\n * with `Content-Disposition: attachment` — no CORS issues.\n *\n * For blob: URLs (in-session uploads), uses the fetch → blob approach.\n *\n * Falls back to opening in a new tab for all other cases.\n */\nfunction downloadImage(url: string): void {\n const downloadUrl = toDownloadUrl(url)\n\n const anchor = document.createElement('a')\n anchor.href = downloadUrl\n anchor.target = '_blank'\n anchor.rel = 'noopener noreferrer'\n // `download` attribute works for same-origin and blob: URLs; for\n // cross-origin it is ignored but the browser still follows Content-Disposition.\n anchor.download = getFilenameFromUrl(url)\n document.body.appendChild(anchor)\n anchor.click()\n document.body.removeChild(anchor)\n}\n\n/**\n * Converts a `/view` media URL to its `/download` counterpart.\n * Leaves blob: and all other URLs untouched.\n */\nfunction toDownloadUrl(url: string): string {\n return url.replace(/\\/view(\\?|$)/, '/download$1')\n}\n\nfunction getFilenameFromUrl(url: string): string {\n try {\n const pathname = new URL(url).pathname\n const name = pathname.split('/').pop()\n return name && name.includes('.') ? name : 'image'\n } catch {\n return 'image'\n }\n}\n\nlet overridesInjected = false\n\n/**\n * Injects a one-time `<style>` into `document.head` that raises\n * PhotoSwipe's z-index above any host UI (e.g. floating chat widgets\n * that use `z-index: 2147483647`).\n */\nfunction injectPhotoSwipeOverrides(): void {\n if (overridesInjected) {\n return\n }\n overridesInjected = true\n const style = document.createElement('style')\n style.textContent = [\n '.pswp { z-index: 2147483647 !important; }',\n '.pswp__icn { width: 20px; height: 20px; }',\n '.pswp__button { width: 40px; height: 40px; }',\n '.pswp__icn--zoom-out { display: none; }',\n '.pswp--zoomed-in .pswp__icn--zoom-in { display: none; }',\n '.pswp--zoomed-in .pswp__icn--zoom-out { display: block; }',\n ].join(' ')\n document.head.appendChild(style)\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useLightbox-CsBDIq4B.js","names":[],"sources":["../../../../packages/components/src/composables/useLightbox.ts"],"sourcesContent":["import {\n onBeforeUnmount,\n ref,\n shallowRef,\n type Ref,\n type ShallowRef,\n} from 'vue'\nimport type PhotoSwipeLightbox from 'photoswipe/lightbox'\nimport type PhotoSwipe from 'photoswipe'\nimport { loadCdnCss } from 'utils'\n\nconst PHOTOSWIPE_CSS =\n 'https://cdn.jsdelivr.net/npm/photoswipe@5/dist/photoswipe.css'\n\nconst DEFAULT_IMAGE_SIZE = { width: 1200, height: 800 }\n\nexport interface LightboxImage {\n url: string\n caption?: string\n alt?: string\n /** Natural width in px — used by PhotoSwipe for proper sizing. */\n width?: number\n /** Natural height in px — used by PhotoSwipe for proper sizing. */\n height?: number\n}\n\nexport interface LightboxOptions {\n /** Container element whose child anchors are the gallery items */\n gallery: Ref<HTMLElement | undefined>\n /** CSS selector for gallery items inside the container (default: `'a[data-pswp-src]'`) */\n children?: string\n loop?: boolean\n /** Show a download button in the lightbox toolbar */\n downloadable?: boolean\n /** Show an open-in-new-tab button in the lightbox toolbar */\n openInNewTab?: boolean\n}\n\nexport interface UseLightboxReturn {\n lightbox: ShallowRef<PhotoSwipeLightbox | null>\n /** Initialises PhotoSwipe. Call this inside `onMounted`. */\n init: () => Promise<void>\n}\n\n/**\n * Encapsulates PhotoSwipe 5 initialisation, toolbar customisation, and lifecycle cleanup.\n * CSS is injected into `document.head` so the overlay works in both regular DOM and Shadow DOM.\n *\n * Usage:\n * ```ts\n * const { init } = useLightbox({ gallery: galleryRef, downloadable: true })\n * onMounted(init)\n * ```\n */\nexport function useLightbox(options: LightboxOptions): UseLightboxReturn {\n const {\n gallery,\n children = 'a[data-pswp-src]',\n loop = true,\n downloadable = true,\n openInNewTab = true,\n } = options\n\n const lightbox = shallowRef<PhotoSwipeLightbox | null>(null)\n\n const init = async () => {\n if (!gallery.value) {\n return\n }\n\n // PhotoSwipe renders its overlay into document.body, so CSS must be in\n // document.head — not inside a shadow root.\n loadCdnCss(PHOTOSWIPE_CSS)\n injectPhotoSwipeOverrides()\n\n const { default: PhotoSwipeLightbox } =\n await import('photoswipe/lightbox')\n\n lightbox.value = new PhotoSwipeLightbox({\n gallery: gallery.value,\n children,\n pswpModule: () => import('photoswipe'),\n loop,\n arrowPrevSVG:\n '<svg aria-hidden=\"true\" class=\"pswp__icn\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path fill=\"#ffffff\" d=\"m10.828 12l4.95 4.95l-1.414 1.415L8 12l6.364-6.364l1.414 1.414z\"/></svg>',\n arrowNextSVG:\n '<svg aria-hidden=\"true\" class=\"pswp__icn\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path fill=\"#ffffff\" d=\"m13.172 12l-4.95-4.95l1.414-1.413L16 12l-6.364 6.364l-1.414-1.415z\"/></svg>',\n closeSVG:\n '<svg aria-hidden=\"true\" class=\"pswp__icn\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path fill=\"#ffffff\" d=\"m12 10.587l4.95-4.95l1.414 1.414l-4.95 4.95l4.95 4.95l-1.415 1.414l-4.95-4.95l-4.949 4.95l-1.414-1.415l4.95-4.95l-4.95-4.95L7.05 5.638z\"/></svg>',\n zoomSVG:\n '<svg aria-hidden=\"true\" class=\"pswp__icn\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><g class=\"pswp__icn--zoom-in\"><path fill=\"#ffffff\" d=\"m18.031 16.617l4.283 4.282l-1.415 1.415l-4.282-4.283A8.96 8.96 0 0 1 11 20c-4.968 0-9-4.032-9-9s4.032-9 9-9s9 4.032 9 9a8.96 8.96 0 0 1-1.969 5.617m-2.006-.742A6.98 6.98 0 0 0 18 11c0-3.867-3.133-7-7-7s-7 3.133-7 7s3.133 7 7 7a6.98 6.98 0 0 0 4.875-1.975zM10 10V7h2v3h3v2h-3v3h-2v-3H7v-2z\"/></g><g class=\"pswp__icn--zoom-out\"><path fill=\"#ffffff\" d=\"m18.031 16.617l4.283 4.282l-1.415 1.415l-4.282-4.283A8.96 8.96 0 0 1 11 20c-4.968 0-9-4.032-9-9s4.032-9 9-9s9 4.032 9 9a8.96 8.96 0 0 1-1.969 5.617m-2.006-.742A6.98 6.98 0 0 0 18 11c0-3.867-3.133-7-7-7s-7 3.133-7 7s3.133 7 7 7a6.98 6.98 0 0 0 4.875-1.975zM7 10h8v2H7z\"/></g></svg>',\n })\n\n if (openInNewTab || downloadable) {\n lightbox.value.on('uiRegister', () => {\n const ui = lightbox.value!.pswp?.ui\n if (!ui) {\n return\n }\n\n if (openInNewTab) {\n ui.registerElement({\n name: 'open-in-new-tab-button',\n order: 8,\n isButton: true,\n html: '<svg aria-hidden=\"true\" class=\"pswp__icn\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path fill=\"#ffffff\" d=\"M10 6v2H5v11h11v-5h2v6a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1zm11-3v8h-2V6.413l-7.793 7.794l-1.414-1.414L17.585 5H13V3z\"/></svg>',\n title: 'Open in new tab',\n onClick: (_, __, pswp) => {\n const url = getCurrentSlideUrl(pswp)\n if (url) {\n window.open(\n url,\n '_blank',\n 'noopener,noreferrer',\n )\n }\n },\n })\n }\n\n if (downloadable) {\n ui.registerElement({\n name: 'download-button',\n order: 9,\n isButton: true,\n html: '<svg aria-hidden=\"true\" class=\"pswp__icn\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path fill=\"#ffffff\" d=\"M3 19h18v2H3zm10-5.828L19.071 7.1l1.414 1.414L12 17L3.515 8.515L4.929 7.1L11 13.173V2h2z\"/></svg>',\n title: 'Download',\n onClick: (_, __, pswp) => {\n const url = getCurrentSlideUrl(pswp)\n if (url) {\n downloadImage(url)\n }\n },\n })\n }\n })\n }\n\n lightbox.value.init()\n }\n\n onBeforeUnmount(() => {\n lightbox.value?.destroy()\n lightbox.value = null\n })\n\n return { lightbox, init }\n}\n\n// ---------------------------------------------------------------------------\n// Image size preloading\n// ---------------------------------------------------------------------------\n\nexport interface UseImageSizesReturn {\n preload: (\n images: Array<{ url: string; width?: number; height?: number }>,\n ) => void\n getSize: (url: string) => { width: number; height: number }\n}\n\n/**\n * Preloads natural image dimensions so PhotoSwipe can size its slides correctly.\n * When `width`/`height` are already provided they are used as-is;\n * otherwise the image is loaded in the background to read `naturalWidth`/`naturalHeight`.\n */\nexport function useImageSizes(): UseImageSizesReturn {\n const sizes = ref(new Map<string, { width: number; height: number }>())\n\n const preload = (\n images: Array<{ url: string; width?: number; height?: number }>,\n ) => {\n for (const image of images) {\n if (image.width && image.height) {\n sizes.value.set(image.url, {\n width: image.width,\n height: image.height,\n })\n continue\n }\n const img = new Image()\n img.onload = () => {\n sizes.value.set(image.url, {\n width: img.naturalWidth,\n height: img.naturalHeight,\n })\n }\n img.src = image.url\n }\n }\n\n const getSize = (url: string) => sizes.value.get(url) ?? DEFAULT_IMAGE_SIZE\n\n return { preload, getSize }\n}\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\nfunction getCurrentSlideUrl(pswp: PhotoSwipe): string | undefined {\n return (\n pswp.currSlide?.data?.src ??\n pswp.currSlide?.data?.element\n ?.querySelector('img')\n ?.getAttribute('src') ??\n undefined\n )\n}\n\n/**\n * Triggers a client-side download for an image URL.\n *\n * For backend media URLs (.../media/:file/view), navigates to the\n * corresponding /download endpoint which redirects to an Azure SAS URL\n * with `Content-Disposition: attachment` — no CORS issues.\n *\n * For blob: URLs (in-session uploads), uses the fetch → blob approach.\n *\n * Falls back to opening in a new tab for all other cases.\n */\nfunction downloadImage(url: string): void {\n const downloadUrl = toDownloadUrl(url)\n\n const anchor = document.createElement('a')\n anchor.href = downloadUrl\n anchor.target = '_blank'\n anchor.rel = 'noopener noreferrer'\n // `download` attribute works for same-origin and blob: URLs; for\n // cross-origin it is ignored but the browser still follows Content-Disposition.\n anchor.download = getFilenameFromUrl(url)\n document.body.appendChild(anchor)\n anchor.click()\n document.body.removeChild(anchor)\n}\n\n/**\n * Converts a `/view` media URL to its `/download` counterpart.\n * Leaves blob: and all other URLs untouched.\n */\nfunction toDownloadUrl(url: string): string {\n return url.replace(/\\/view(\\?|$)/, '/download$1')\n}\n\nfunction getFilenameFromUrl(url: string): string {\n try {\n const pathname = new URL(url).pathname\n const name = pathname.split('/').pop()\n return name && name.includes('.') ? name : 'image'\n } catch {\n return 'image'\n }\n}\n\nlet overridesInjected = false\n\n/**\n * Injects a one-time `<style>` into `document.head` that raises\n * PhotoSwipe's z-index above any host UI (e.g. floating chat widgets\n * that use `z-index: 2147483647`).\n */\nfunction injectPhotoSwipeOverrides(): void {\n if (overridesInjected) {\n return\n }\n overridesInjected = true\n const style = document.createElement('style')\n style.textContent = [\n '.pswp { z-index: 2147483647 !important; }',\n '.pswp__icn { width: 20px; height: 20px; }',\n '.pswp__button { width: 40px; height: 40px; }',\n '.pswp__icn--zoom-out { display: none; }',\n '.pswp--zoomed-in .pswp__icn--zoom-in { display: none; }',\n '.pswp--zoomed-in .pswp__icn--zoom-out { display: block; }',\n ].join(' ')\n document.head.appendChild(style)\n}\n"],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { h as e } from "./src-BteqqLGW.js";
2
+ import { ref as t } from "vue";
3
+ import { useLocalStorage as n } from "@vueuse/core";
4
+ //#region ../../packages/composable/src/useSafeLocalStorage.ts
5
+ function r(r, i) {
6
+ try {
7
+ return window.localStorage.getItem(""), n(r, i);
8
+ } catch (n) {
9
+ return e.warn("[useSafeLocalStorage] localStorage blocked, falling back to in-memory ref", n), t(i);
10
+ }
11
+ }
12
+ //#endregion
13
+ export { r as t };
14
+
15
+ //# sourceMappingURL=useSafeLocalStorage-C1GCM7nD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSafeLocalStorage-C1GCM7nD.js","names":[],"sources":["../../../../packages/composable/src/useSafeLocalStorage.ts"],"sourcesContent":["import type { MaybeRefOrGetter, Ref } from 'vue'\nimport { ref } from 'vue'\nimport { useLocalStorage } from '@vueuse/core'\nimport { logger } from 'utils'\n\n/**\n * Wrapper around VueUse's `useLocalStorage` that catches `SecurityError`\n * thrown when storage access is blocked (cross-origin iframes, tracking\n * protection, sandboxed contexts). Falls back to a plain in-memory `ref`.\n */\nexport function useSafeLocalStorage<T>(\n key: MaybeRefOrGetter<string>,\n initialValue: T,\n): Ref<T> {\n try {\n // Probe: if localStorage is blocked, this throws immediately\n window.localStorage.getItem('')\n return useLocalStorage<T>(key, initialValue)\n } catch (error) {\n logger.warn(\n '[useSafeLocalStorage] localStorage blocked, falling back to in-memory ref',\n error,\n )\n return ref(initialValue) as Ref<T>\n }\n}\n"],"mappings":";;;;AAUA,SAAgB,EACZ,GACA,GACM;AACN,KAAI;AAGA,SADA,OAAO,aAAa,QAAQ,GAAG,EACxB,EAAmB,GAAK,EAAa;UACvC,GAAO;AAKZ,SAJA,EAAO,KACH,6EACA,EACH,EACM,EAAI,EAAa"}
@@ -1,4 +1,4 @@
1
- import { d as e, f as t, p as n } from "./src-DjRNH9vV.js";
1
+ import { d as e, f as t, p as n } from "./src-BteqqLGW.js";
2
2
  //#region ../../packages/components/src/chat/utils.ts
3
3
  function r(e) {
4
4
  return e && "state" in e ? e.state === "streaming" || e.state === "input-streaming" : !1;
@@ -29,4 +29,4 @@ function l(t, r) {
29
29
  //#endregion
30
30
  export { r as a, a as i, i as n, s as o, l as r, c as t };
31
31
 
32
- //# sourceMappingURL=utils-DBd_X5-V.js.map
32
+ //# sourceMappingURL=utils-D1pBqT-n.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils-DBd_X5-V.js","names":[],"sources":["../../../../packages/components/src/chat/utils.ts"],"sourcesContent":["import type { UIMessage } from 'ai'\nimport {\n isTextPart,\n isFilePart,\n isToolPart,\n isReasoningPart,\n hasPartText,\n hasTextPart,\n getTextPart,\n getMessageText,\n} from 'utils'\n\nexport {\n isTextPart,\n isFilePart,\n isToolPart,\n isReasoningPart,\n hasPartText,\n hasTextPart,\n getTextPart,\n getMessageText,\n}\n\nexport function isStreamingPart(\n part: UIMessage['parts'][number] | null | undefined,\n): part is Extract<UIMessage['parts'][number], { streaming?: boolean }> {\n if (!part) return false\n if ('state' in part) {\n return part.state === 'streaming' || part.state === 'input-streaming'\n }\n return false\n}\n\nexport function getPartState(\n part: UIMessage['parts'][number] | null | undefined,\n): string | undefined {\n if (!part) return undefined\n if ('state' in part) {\n return part.state\n }\n return undefined\n}\n\nexport function isLoadingState(state?: string): boolean {\n if (!state) return false\n return ['streaming'].includes(state)\n}\n\nexport function getContrast(hexcolor: string = '000000'): 'black' | 'white' {\n let hex = hexcolor.replace('#', '')\n\n // Expand 3-character hex to 6-character (e.g., #ccc -> #cccccc)\n if (hex.length === 3) {\n hex = hex\n .split('')\n .map((char) => char + char)\n .join('')\n }\n\n // WCAG relative luminance\n const r = parseInt(hex.substring(0, 2), 16) / 255\n const g = parseInt(hex.substring(2, 4), 16) / 255\n const b = parseInt(hex.substring(4, 6), 16) / 255\n\n const linearize = (c: number) =>\n c <= 0.03928 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4\n\n const luminance =\n 0.2126 * linearize(r) + 0.7152 * linearize(g) + 0.0722 * linearize(b)\n\n return luminance > 0.179 ? 'black' : 'white'\n}\n\n/**\n * Resolves the contrast color based on the user's `textColor` preference.\n * Falls back to WCAG auto-detection via `getContrast` when set to `'auto'` or `undefined`.\n */\nexport function resolveContrastColor(\n textColor: 'auto' | 'white' | 'black' | undefined,\n mainColor: string | undefined,\n): 'black' | 'white' {\n if (textColor === 'white' || textColor === 'black') {\n return textColor\n }\n return getContrast(mainColor)\n}\n\n// Get part icon\nexport function getPartIcon(\n part?: UIMessage['parts'][number] | null,\n): string | undefined {\n if (isToolPart(part)) {\n if (part.type.includes('tool-subagent')) {\n return 'ri:robot-2-line'\n }\n if (part.type.includes('tool-mcp')) {\n return 'octicon:mcp-16'\n }\n if (part.type === 'tool-retrieveRevisedAnswers') {\n return 'ri:file-edit-line'\n }\n if (part.type === 'tool-searchInKnowledgeBase') {\n return 'ri:search-line'\n }\n if (part.type === 'tool-showMultipleChoice') {\n return 'ri:checkbox-multiple-line'\n }\n if (part.type === 'tool-showArtifact') {\n return 'ri:file-code-line'\n }\n if (part.type === 'tool-showEmail') {\n return 'ri:mail-line'\n }\n if (part.type === 'tool-showMessage') {\n return 'ri:chat-1-line'\n }\n if (part.type === 'tool-showWebPages') {\n return 'ri:pages-line'\n }\n if (part.type === 'tool-showProductList') {\n return 'ri:shopping-bag-line'\n }\n if (part.type === 'tool-showContactForm') {\n return 'ri:send-plane-2-line'\n }\n if (part.type === 'tool-showCalendarEvent') {\n return 'ri:calendar-event-line'\n }\n if (part.type === 'tool-showComparison') {\n return 'ri:scales-line'\n }\n if (part.type === 'tool-showLocation') {\n return 'ri:map-pin-line'\n }\n if (part.type === 'tool-showQrCode') {\n return 'ri:qr-code-line'\n }\n if (part.type === 'tool-showImageGallery') {\n return 'ri:image-line'\n }\n if (part.type === 'tool-showSuggestedReply') {\n return 'ri:corner-down-right-line'\n }\n if (part.type === 'tool-requestGeolocation') {\n return 'ri:map-pin-user-line'\n }\n return 'ri:tools-line'\n }\n if (isReasoningPart(part)) {\n return 'ri:lightbulb-line'\n }\n if (isTextPart(part)) {\n return 'ri:double-quotes-r'\n }\n return undefined\n}\n\n// Get part label\nexport function getToolPartLabel(\n $t: (key: string) => string,\n part?: UIMessage['parts'][number] | null,\n): string | undefined {\n if (isToolPart(part)) {\n if (part.type === 'tool-retrieveRevisedAnswers') {\n return $t(`messagePart.revisedAnswers`)\n }\n if (part.type === 'tool-searchInKnowledgeBase') {\n return $t(`messagePart.searchingDocuments`)\n }\n if (part.type === 'tool-showMultipleChoice') {\n return $t(`messagePart.showMultipleChoice`)\n }\n if (part.type === 'tool-showArtifact') {\n return $t(`messagePart.showArtifact`)\n }\n if (part.type === 'tool-showEmail') {\n return $t(`messagePart.showEmail`)\n }\n if (part.type === 'tool-showMessage') {\n return $t(`messagePart.showMessage`)\n }\n if (part.type === 'tool-showWebPages') {\n return $t(`messagePart.showWebPages`)\n }\n if (part.type === 'tool-showProducts') {\n return $t(`messagePart.showProducts`)\n }\n if (part.type === 'tool-showContactForm') {\n return $t(`messagePart.showContactForm`)\n }\n if (part.type === 'tool-showCalendarEvent') {\n return $t(`messagePart.showCalendarEvent`)\n }\n if (part.type === 'tool-showComparison') {\n return $t(`messagePart.showComparison`)\n }\n if (part.type === 'tool-showLocation') {\n return $t(`messagePart.showLocation`)\n }\n if (part.type === 'tool-showQrCode') {\n return $t(`messagePart.showQrCode`)\n }\n if (part.type === 'tool-showImageGallery') {\n return $t(`messagePart.showImageGallery`)\n }\n if (part.type === 'tool-showSuggestedReply') {\n return $t(`messagePart.showSuggestedReply`)\n }\n if (part.type === 'tool-requestGeolocation') {\n return $t(`messagePart.requestGeolocation`)\n }\n return $t(`messagePart.tool`)\n }\n if (isReasoningPart(part)) {\n return $t(`messagePart.reasoning`)\n }\n return $t(`messagePart.streaming`)\n}\n"],"mappings":";;AAuBA,SAAgB,EACZ,GACoE;AAKpE,QAJK,KACD,WAAW,IACJ,EAAK,UAAU,eAAe,EAAK,UAAU,oBAEjD;;AAGX,SAAgB,EACZ,GACkB;AACb,UACD,WAAW,EACX,QAAO,EAAK;;AAKpB,SAAgB,EAAe,GAAyB;AAEpD,QADK,IACE,CAAC,YAAY,CAAC,SAAS,EAAM,GADjB;;AAIvB,SAAgB,EAAY,IAAmB,UAA6B;CACxE,IAAI,IAAM,EAAS,QAAQ,KAAK,GAAG;AAGnC,CAAI,EAAI,WAAW,MACf,IAAM,EACD,MAAM,GAAG,CACT,KAAK,MAAS,IAAO,EAAK,CAC1B,KAAK,GAAG;CAIjB,IAAM,IAAI,SAAS,EAAI,UAAU,GAAG,EAAE,EAAE,GAAG,GAAG,KACxC,IAAI,SAAS,EAAI,UAAU,GAAG,EAAE,EAAE,GAAG,GAAG,KACxC,IAAI,SAAS,EAAI,UAAU,GAAG,EAAE,EAAE,GAAG,GAAG,KAExC,KAAa,MACf,KAAK,SAAU,IAAI,UAAU,IAAI,QAAS,UAAU;AAKxD,QAFI,QAAS,EAAU,EAAE,GAAG,QAAS,EAAU,EAAE,GAAG,QAAS,EAAU,EAAE,GAEtD,OAAQ,UAAU;;AAOzC,SAAgB,EACZ,GACA,GACiB;AAIjB,QAHI,MAAc,WAAW,MAAc,UAChC,IAEJ,EAAY,EAAU;;AAIjC,SAAgB,EACZ,GACkB;AAClB,KAAI,EAAW,EAAK,CAuDhB,QAtDI,EAAK,KAAK,SAAS,gBAAgB,GAC5B,oBAEP,EAAK,KAAK,SAAS,WAAW,GACvB,mBAEP,EAAK,SAAS,gCACP,sBAEP,EAAK,SAAS,+BACP,mBAEP,EAAK,SAAS,4BACP,8BAEP,EAAK,SAAS,sBACP,sBAEP,EAAK,SAAS,mBACP,iBAEP,EAAK,SAAS,qBACP,mBAEP,EAAK,SAAS,sBACP,kBAEP,EAAK,SAAS,yBACP,yBAEP,EAAK,SAAS,yBACP,yBAEP,EAAK,SAAS,2BACP,2BAEP,EAAK,SAAS,wBACP,mBAEP,EAAK,SAAS,sBACP,oBAEP,EAAK,SAAS,oBACP,oBAEP,EAAK,SAAS,0BACP,kBAEP,EAAK,SAAS,4BACP,8BAEP,EAAK,SAAS,4BACP,yBAEJ;AAEX,KAAI,EAAgB,EAAK,CACrB,QAAO;AAEX,KAAI,EAAW,EAAK,CAChB,QAAO;;AAMf,SAAgB,EACZ,GACA,GACkB;AAuDlB,QAtDI,EAAW,EAAK,GACZ,EAAK,SAAS,gCACP,EAAG,6BAA6B,GAEvC,EAAK,SAAS,+BACP,EAAG,iCAAiC,GAE3C,EAAK,SAAS,4BACP,EAAG,iCAAiC,GAE3C,EAAK,SAAS,sBACP,EAAG,2BAA2B,GAErC,EAAK,SAAS,mBACP,EAAG,wBAAwB,GAElC,EAAK,SAAS,qBACP,EAAG,0BAA0B,GAEpC,EAAK,SAAS,sBACP,EAAG,2BAA2B,GAErC,EAAK,SAAS,sBACP,EAAG,2BAA2B,GAErC,EAAK,SAAS,yBACP,EAAG,8BAA8B,GAExC,EAAK,SAAS,2BACP,EAAG,gCAAgC,GAE1C,EAAK,SAAS,wBACP,EAAG,6BAA6B,GAEvC,EAAK,SAAS,sBACP,EAAG,2BAA2B,GAErC,EAAK,SAAS,oBACP,EAAG,yBAAyB,GAEnC,EAAK,SAAS,0BACP,EAAG,+BAA+B,GAEzC,EAAK,SAAS,4BACP,EAAG,iCAAiC,GAE3C,EAAK,SAAS,4BACP,EAAG,iCAAiC,GAExC,EAAG,mBAAmB,GAE7B,EAAgB,EAAK,GACd,EAAG,wBAAwB,GAE/B,EAAG,wBAAwB"}
1
+ {"version":3,"file":"utils-D1pBqT-n.js","names":[],"sources":["../../../../packages/components/src/chat/utils.ts"],"sourcesContent":["import type { UIMessage } from 'ai'\nimport {\n isTextPart,\n isFilePart,\n isToolPart,\n isReasoningPart,\n hasPartText,\n hasTextPart,\n getTextPart,\n getMessageText,\n} from 'utils'\n\nexport {\n isTextPart,\n isFilePart,\n isToolPart,\n isReasoningPart,\n hasPartText,\n hasTextPart,\n getTextPart,\n getMessageText,\n}\n\nexport function isStreamingPart(\n part: UIMessage['parts'][number] | null | undefined,\n): part is Extract<UIMessage['parts'][number], { streaming?: boolean }> {\n if (!part) return false\n if ('state' in part) {\n return part.state === 'streaming' || part.state === 'input-streaming'\n }\n return false\n}\n\nexport function getPartState(\n part: UIMessage['parts'][number] | null | undefined,\n): string | undefined {\n if (!part) return undefined\n if ('state' in part) {\n return part.state\n }\n return undefined\n}\n\nexport function isLoadingState(state?: string): boolean {\n if (!state) return false\n return ['streaming'].includes(state)\n}\n\nexport function getContrast(hexcolor: string = '000000'): 'black' | 'white' {\n let hex = hexcolor.replace('#', '')\n\n // Expand 3-character hex to 6-character (e.g., #ccc -> #cccccc)\n if (hex.length === 3) {\n hex = hex\n .split('')\n .map((char) => char + char)\n .join('')\n }\n\n // WCAG relative luminance\n const r = parseInt(hex.substring(0, 2), 16) / 255\n const g = parseInt(hex.substring(2, 4), 16) / 255\n const b = parseInt(hex.substring(4, 6), 16) / 255\n\n const linearize = (c: number) =>\n c <= 0.03928 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4\n\n const luminance =\n 0.2126 * linearize(r) + 0.7152 * linearize(g) + 0.0722 * linearize(b)\n\n return luminance > 0.179 ? 'black' : 'white'\n}\n\n/**\n * Resolves the contrast color based on the user's `textColor` preference.\n * Falls back to WCAG auto-detection via `getContrast` when set to `'auto'` or `undefined`.\n */\nexport function resolveContrastColor(\n textColor: 'auto' | 'white' | 'black' | undefined,\n mainColor: string | undefined,\n): 'black' | 'white' {\n if (textColor === 'white' || textColor === 'black') {\n return textColor\n }\n return getContrast(mainColor)\n}\n\n// Get part icon\nexport function getPartIcon(\n part?: UIMessage['parts'][number] | null,\n): string | undefined {\n if (isToolPart(part)) {\n if (part.type.includes('tool-subagent')) {\n return 'ri:robot-2-line'\n }\n if (part.type.includes('tool-mcp')) {\n return 'octicon:mcp-16'\n }\n if (part.type === 'tool-retrieveRevisedAnswers') {\n return 'ri:file-edit-line'\n }\n if (part.type === 'tool-searchInKnowledgeBase') {\n return 'ri:search-line'\n }\n if (part.type === 'tool-showMultipleChoice') {\n return 'ri:checkbox-multiple-line'\n }\n if (part.type === 'tool-showArtifact') {\n return 'ri:file-code-line'\n }\n if (part.type === 'tool-showEmail') {\n return 'ri:mail-line'\n }\n if (part.type === 'tool-showMessage') {\n return 'ri:chat-1-line'\n }\n if (part.type === 'tool-showWebPages') {\n return 'ri:pages-line'\n }\n if (part.type === 'tool-showProductList') {\n return 'ri:shopping-bag-line'\n }\n if (part.type === 'tool-showContactForm') {\n return 'ri:send-plane-2-line'\n }\n if (part.type === 'tool-showCalendarEvent') {\n return 'ri:calendar-event-line'\n }\n if (part.type === 'tool-showComparison') {\n return 'ri:scales-line'\n }\n if (part.type === 'tool-showLocation') {\n return 'ri:map-pin-line'\n }\n if (part.type === 'tool-showQrCode') {\n return 'ri:qr-code-line'\n }\n if (part.type === 'tool-showImageGallery') {\n return 'ri:image-line'\n }\n if (part.type === 'tool-showSuggestedReply') {\n return 'ri:corner-down-right-line'\n }\n if (part.type === 'tool-requestGeolocation') {\n return 'ri:map-pin-user-line'\n }\n return 'ri:tools-line'\n }\n if (isReasoningPart(part)) {\n return 'ri:lightbulb-line'\n }\n if (isTextPart(part)) {\n return 'ri:double-quotes-r'\n }\n return undefined\n}\n\n// Get part label\nexport function getToolPartLabel(\n $t: (key: string) => string,\n part?: UIMessage['parts'][number] | null,\n): string | undefined {\n if (isToolPart(part)) {\n if (part.type === 'tool-retrieveRevisedAnswers') {\n return $t(`messagePart.revisedAnswers`)\n }\n if (part.type === 'tool-searchInKnowledgeBase') {\n return $t(`messagePart.searchingDocuments`)\n }\n if (part.type === 'tool-showMultipleChoice') {\n return $t(`messagePart.showMultipleChoice`)\n }\n if (part.type === 'tool-showArtifact') {\n return $t(`messagePart.showArtifact`)\n }\n if (part.type === 'tool-showEmail') {\n return $t(`messagePart.showEmail`)\n }\n if (part.type === 'tool-showMessage') {\n return $t(`messagePart.showMessage`)\n }\n if (part.type === 'tool-showWebPages') {\n return $t(`messagePart.showWebPages`)\n }\n if (part.type === 'tool-showProducts') {\n return $t(`messagePart.showProducts`)\n }\n if (part.type === 'tool-showContactForm') {\n return $t(`messagePart.showContactForm`)\n }\n if (part.type === 'tool-showCalendarEvent') {\n return $t(`messagePart.showCalendarEvent`)\n }\n if (part.type === 'tool-showComparison') {\n return $t(`messagePart.showComparison`)\n }\n if (part.type === 'tool-showLocation') {\n return $t(`messagePart.showLocation`)\n }\n if (part.type === 'tool-showQrCode') {\n return $t(`messagePart.showQrCode`)\n }\n if (part.type === 'tool-showImageGallery') {\n return $t(`messagePart.showImageGallery`)\n }\n if (part.type === 'tool-showSuggestedReply') {\n return $t(`messagePart.showSuggestedReply`)\n }\n if (part.type === 'tool-requestGeolocation') {\n return $t(`messagePart.requestGeolocation`)\n }\n return $t(`messagePart.tool`)\n }\n if (isReasoningPart(part)) {\n return $t(`messagePart.reasoning`)\n }\n return $t(`messagePart.streaming`)\n}\n"],"mappings":";;AAuBA,SAAgB,EACZ,GACoE;AAKpE,QAJK,KACD,WAAW,IACJ,EAAK,UAAU,eAAe,EAAK,UAAU,oBAEjD;;AAGX,SAAgB,EACZ,GACkB;AACb,UACD,WAAW,EACX,QAAO,EAAK;;AAKpB,SAAgB,EAAe,GAAyB;AAEpD,QADK,IACE,CAAC,YAAY,CAAC,SAAS,EAAM,GADjB;;AAIvB,SAAgB,EAAY,IAAmB,UAA6B;CACxE,IAAI,IAAM,EAAS,QAAQ,KAAK,GAAG;AAGnC,CAAI,EAAI,WAAW,MACf,IAAM,EACD,MAAM,GAAG,CACT,KAAK,MAAS,IAAO,EAAK,CAC1B,KAAK,GAAG;CAIjB,IAAM,IAAI,SAAS,EAAI,UAAU,GAAG,EAAE,EAAE,GAAG,GAAG,KACxC,IAAI,SAAS,EAAI,UAAU,GAAG,EAAE,EAAE,GAAG,GAAG,KACxC,IAAI,SAAS,EAAI,UAAU,GAAG,EAAE,EAAE,GAAG,GAAG,KAExC,KAAa,MACf,KAAK,SAAU,IAAI,UAAU,IAAI,QAAS,UAAU;AAKxD,QAFI,QAAS,EAAU,EAAE,GAAG,QAAS,EAAU,EAAE,GAAG,QAAS,EAAU,EAAE,GAEtD,OAAQ,UAAU;;AAOzC,SAAgB,EACZ,GACA,GACiB;AAIjB,QAHI,MAAc,WAAW,MAAc,UAChC,IAEJ,EAAY,EAAU;;AAIjC,SAAgB,EACZ,GACkB;AAClB,KAAI,EAAW,EAAK,CAuDhB,QAtDI,EAAK,KAAK,SAAS,gBAAgB,GAC5B,oBAEP,EAAK,KAAK,SAAS,WAAW,GACvB,mBAEP,EAAK,SAAS,gCACP,sBAEP,EAAK,SAAS,+BACP,mBAEP,EAAK,SAAS,4BACP,8BAEP,EAAK,SAAS,sBACP,sBAEP,EAAK,SAAS,mBACP,iBAEP,EAAK,SAAS,qBACP,mBAEP,EAAK,SAAS,sBACP,kBAEP,EAAK,SAAS,yBACP,yBAEP,EAAK,SAAS,yBACP,yBAEP,EAAK,SAAS,2BACP,2BAEP,EAAK,SAAS,wBACP,mBAEP,EAAK,SAAS,sBACP,oBAEP,EAAK,SAAS,oBACP,oBAEP,EAAK,SAAS,0BACP,kBAEP,EAAK,SAAS,4BACP,8BAEP,EAAK,SAAS,4BACP,yBAEJ;AAEX,KAAI,EAAgB,EAAK,CACrB,QAAO;AAEX,KAAI,EAAW,EAAK,CAChB,QAAO;;AAMf,SAAgB,EACZ,GACA,GACkB;AAuDlB,QAtDI,EAAW,EAAK,GACZ,EAAK,SAAS,gCACP,EAAG,6BAA6B,GAEvC,EAAK,SAAS,+BACP,EAAG,iCAAiC,GAE3C,EAAK,SAAS,4BACP,EAAG,iCAAiC,GAE3C,EAAK,SAAS,sBACP,EAAG,2BAA2B,GAErC,EAAK,SAAS,mBACP,EAAG,wBAAwB,GAElC,EAAK,SAAS,qBACP,EAAG,0BAA0B,GAEpC,EAAK,SAAS,sBACP,EAAG,2BAA2B,GAErC,EAAK,SAAS,sBACP,EAAG,2BAA2B,GAErC,EAAK,SAAS,yBACP,EAAG,8BAA8B,GAExC,EAAK,SAAS,2BACP,EAAG,gCAAgC,GAE1C,EAAK,SAAS,wBACP,EAAG,6BAA6B,GAEvC,EAAK,SAAS,sBACP,EAAG,2BAA2B,GAErC,EAAK,SAAS,oBACP,EAAG,yBAAyB,GAEnC,EAAK,SAAS,0BACP,EAAG,+BAA+B,GAEzC,EAAK,SAAS,4BACP,EAAG,iCAAiC,GAE3C,EAAK,SAAS,4BACP,EAAG,iCAAiC,GAExC,EAAG,mBAAmB,GAE7B,EAAgB,EAAK,GACd,EAAG,wBAAwB,GAE/B,EAAG,wBAAwB"}
@@ -108,4 +108,4 @@ var k = {
108
108
  //#endregion
109
109
  export { k as vb };
110
110
 
111
- //# sourceMappingURL=vb-CeqEYgxc.js.map
111
+ //# sourceMappingURL=vb-jy9Yl8VS.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vb-CeqEYgxc.js","names":[],"sources":["../../../../node_modules/.pnpm/@codemirror+legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/vb.js"],"sourcesContent":["var ERRORCLASS = 'error';\n\nfunction wordRegexp(words) {\n return new RegExp(\"^((\" + words.join(\")|(\") + \"))\\\\b\", \"i\");\n}\n\nvar singleOperators = new RegExp(\"^[\\\\+\\\\-\\\\*/%&\\\\\\\\|\\\\^~<>!]\");\nvar singleDelimiters = new RegExp('^[\\\\(\\\\)\\\\[\\\\]\\\\{\\\\}@,:`=;\\\\.]');\nvar doubleOperators = new RegExp(\"^((==)|(<>)|(<=)|(>=)|(<>)|(<<)|(>>)|(//)|(\\\\*\\\\*))\");\nvar doubleDelimiters = new RegExp(\"^((\\\\+=)|(\\\\-=)|(\\\\*=)|(%=)|(/=)|(&=)|(\\\\|=)|(\\\\^=))\");\nvar tripleDelimiters = new RegExp(\"^((//=)|(>>=)|(<<=)|(\\\\*\\\\*=))\");\nvar identifiers = new RegExp(\"^[_A-Za-z][_A-Za-z0-9]*\");\n\nvar openingKeywords = ['class','module', 'sub','enum','select','while','if','function', 'get','set','property', 'try', 'structure', 'synclock', 'using', 'with'];\nvar middleKeywords = ['else','elseif','case', 'catch', 'finally'];\nvar endKeywords = ['next','loop'];\n\nvar operatorKeywords = ['and', \"andalso\", 'or', 'orelse', 'xor', 'in', 'not', 'is', 'isnot', 'like'];\nvar wordOperators = wordRegexp(operatorKeywords);\n\nvar commonKeywords = [\"#const\", \"#else\", \"#elseif\", \"#end\", \"#if\", \"#region\", \"addhandler\", \"addressof\", \"alias\", \"as\", \"byref\", \"byval\", \"cbool\", \"cbyte\", \"cchar\", \"cdate\", \"cdbl\", \"cdec\", \"cint\", \"clng\", \"cobj\", \"compare\", \"const\", \"continue\", \"csbyte\", \"cshort\", \"csng\", \"cstr\", \"cuint\", \"culng\", \"cushort\", \"declare\", \"default\", \"delegate\", \"dim\", \"directcast\", \"each\", \"erase\", \"error\", \"event\", \"exit\", \"explicit\", \"false\", \"for\", \"friend\", \"gettype\", \"goto\", \"handles\", \"implements\", \"imports\", \"infer\", \"inherits\", \"interface\", \"isfalse\", \"istrue\", \"lib\", \"me\", \"mod\", \"mustinherit\", \"mustoverride\", \"my\", \"mybase\", \"myclass\", \"namespace\", \"narrowing\", \"new\", \"nothing\", \"notinheritable\", \"notoverridable\", \"of\", \"off\", \"on\", \"operator\", \"option\", \"optional\", \"out\", \"overloads\", \"overridable\", \"overrides\", \"paramarray\", \"partial\", \"private\", \"protected\", \"public\", \"raiseevent\", \"readonly\", \"redim\", \"removehandler\", \"resume\", \"return\", \"shadows\", \"shared\", \"static\", \"step\", \"stop\", \"strict\", \"then\", \"throw\", \"to\", \"true\", \"trycast\", \"typeof\", \"until\", \"until\", \"when\", \"widening\", \"withevents\", \"writeonly\"];\n\nvar commontypes = ['object', 'boolean', 'char', 'string', 'byte', 'sbyte', 'short', 'ushort', 'int16', 'uint16', 'integer', 'uinteger', 'int32', 'uint32', 'long', 'ulong', 'int64', 'uint64', 'decimal', 'single', 'double', 'float', 'date', 'datetime', 'intptr', 'uintptr'];\n\nvar keywords = wordRegexp(commonKeywords);\nvar types = wordRegexp(commontypes);\nvar stringPrefixes = '\"';\n\nvar opening = wordRegexp(openingKeywords);\nvar middle = wordRegexp(middleKeywords);\nvar closing = wordRegexp(endKeywords);\nvar doubleClosing = wordRegexp(['end']);\nvar doOpening = wordRegexp(['do']);\n\nvar indentInfo = null;\n\nfunction indent(_stream, state) {\n state.currentIndent++;\n}\n\nfunction dedent(_stream, state) {\n state.currentIndent--;\n}\n// tokenizers\nfunction tokenBase(stream, state) {\n if (stream.eatSpace()) {\n return null;\n }\n\n var ch = stream.peek();\n\n // Handle Comments\n if (ch === \"'\") {\n stream.skipToEnd();\n return 'comment';\n }\n\n\n // Handle Number Literals\n if (stream.match(/^((&H)|(&O))?[0-9\\.a-f]/i, false)) {\n var floatLiteral = false;\n // Floats\n if (stream.match(/^\\d*\\.\\d+F?/i)) { floatLiteral = true; }\n else if (stream.match(/^\\d+\\.\\d*F?/)) { floatLiteral = true; }\n else if (stream.match(/^\\.\\d+F?/)) { floatLiteral = true; }\n\n if (floatLiteral) {\n // Float literals may be \"imaginary\"\n stream.eat(/J/i);\n return 'number';\n }\n // Integers\n var intLiteral = false;\n // Hex\n if (stream.match(/^&H[0-9a-f]+/i)) { intLiteral = true; }\n // Octal\n else if (stream.match(/^&O[0-7]+/i)) { intLiteral = true; }\n // Decimal\n else if (stream.match(/^[1-9]\\d*F?/)) {\n // Decimal literals may be \"imaginary\"\n stream.eat(/J/i);\n // TODO - Can you have imaginary longs?\n intLiteral = true;\n }\n // Zero by itself with no other piece of number.\n else if (stream.match(/^0(?![\\dx])/i)) { intLiteral = true; }\n if (intLiteral) {\n // Integer literals may be \"long\"\n stream.eat(/L/i);\n return 'number';\n }\n }\n\n // Handle Strings\n if (stream.match(stringPrefixes)) {\n state.tokenize = tokenStringFactory(stream.current());\n return state.tokenize(stream, state);\n }\n\n // Handle operators and Delimiters\n if (stream.match(tripleDelimiters) || stream.match(doubleDelimiters)) {\n return null;\n }\n if (stream.match(doubleOperators)\n || stream.match(singleOperators)\n || stream.match(wordOperators)) {\n return 'operator';\n }\n if (stream.match(singleDelimiters)) {\n return null;\n }\n if (stream.match(doOpening)) {\n indent(stream,state);\n state.doInCurrentLine = true;\n return 'keyword';\n }\n if (stream.match(opening)) {\n if (! state.doInCurrentLine)\n indent(stream,state);\n else\n state.doInCurrentLine = false;\n return 'keyword';\n }\n if (stream.match(middle)) {\n return 'keyword';\n }\n\n if (stream.match(doubleClosing)) {\n dedent(stream,state);\n dedent(stream,state);\n return 'keyword';\n }\n if (stream.match(closing)) {\n dedent(stream,state);\n return 'keyword';\n }\n\n if (stream.match(types)) {\n return 'keyword';\n }\n\n if (stream.match(keywords)) {\n return 'keyword';\n }\n\n if (stream.match(identifiers)) {\n return 'variable';\n }\n\n // Handle non-detected items\n stream.next();\n return ERRORCLASS;\n}\n\nfunction tokenStringFactory(delimiter) {\n var singleline = delimiter.length == 1;\n var OUTCLASS = 'string';\n\n return function(stream, state) {\n while (!stream.eol()) {\n stream.eatWhile(/[^'\"]/);\n if (stream.match(delimiter)) {\n state.tokenize = tokenBase;\n return OUTCLASS;\n } else {\n stream.eat(/['\"]/);\n }\n }\n if (singleline) {\n state.tokenize = tokenBase;\n }\n return OUTCLASS;\n };\n}\n\n\nfunction tokenLexer(stream, state) {\n var style = state.tokenize(stream, state);\n var current = stream.current();\n\n // Handle '.' connected identifiers\n if (current === '.') {\n style = state.tokenize(stream, state);\n if (style === 'variable') {\n return 'variable';\n } else {\n return ERRORCLASS;\n }\n }\n\n\n var delimiter_index = '[({'.indexOf(current);\n if (delimiter_index !== -1) {\n indent(stream, state );\n }\n if (indentInfo === 'dedent') {\n if (dedent(stream, state)) {\n return ERRORCLASS;\n }\n }\n delimiter_index = '])}'.indexOf(current);\n if (delimiter_index !== -1) {\n if (dedent(stream, state)) {\n return ERRORCLASS;\n }\n }\n\n return style;\n}\n\nexport const vb = {\n name: \"vb\",\n\n startState: function() {\n return {\n tokenize: tokenBase,\n lastToken: null,\n currentIndent: 0,\n nextLineIndent: 0,\n doInCurrentLine: false\n\n\n };\n },\n\n token: function(stream, state) {\n if (stream.sol()) {\n state.currentIndent += state.nextLineIndent;\n state.nextLineIndent = 0;\n state.doInCurrentLine = 0;\n }\n var style = tokenLexer(stream, state);\n\n state.lastToken = {style:style, content: stream.current()};\n\n\n\n return style;\n },\n\n indent: function(state, textAfter, cx) {\n var trueText = textAfter.replace(/^\\s+|\\s+$/g, '') ;\n if (trueText.match(closing) || trueText.match(doubleClosing) || trueText.match(middle)) return cx.unit*(state.currentIndent-1);\n if(state.currentIndent < 0) return 0;\n return state.currentIndent * cx.unit;\n },\n\n languageData: {\n closeBrackets: {brackets: [\"(\", \"[\", \"{\", '\"']},\n commentTokens: {line: \"'\"},\n autocomplete: openingKeywords.concat(middleKeywords).concat(endKeywords)\n .concat(operatorKeywords).concat(commonKeywords).concat(commontypes)\n }\n};\n"],"x_google_ignoreList":[0],"mappings":";AAAA,IAAI,IAAa;AAEjB,SAAS,EAAW,GAAO;AACzB,QAAW,OAAO,QAAQ,EAAM,KAAK,MAAM,GAAG,SAAS,IAAI;;AAG7D,IAAI,IAAkB,gBAAI,OAAO,8BAA8B,EAC3D,IAAmB,gBAAI,OAAO,iCAAiC,EAC/D,IAAkB,gBAAI,OAAO,sDAAsD,EACnF,IAAmB,gBAAI,OAAO,uDAAuD,EACrF,IAAmB,gBAAI,OAAO,iCAAiC,EAC/D,IAAc,gBAAI,OAAO,0BAA0B,EAEnD,IAAkB;CAAC;CAAQ;CAAU;CAAM;CAAO;CAAS;CAAQ;CAAK;CAAY;CAAM;CAAM;CAAY;CAAO;CAAa;CAAY;CAAS;CAAO,EAC5J,IAAiB;CAAC;CAAO;CAAS;CAAQ;CAAS;CAAU,EAC7D,IAAc,CAAC,QAAO,OAAO,EAE7B,IAAmB;CAAC;CAAO;CAAW;CAAM;CAAU;CAAO;CAAM;CAAO;CAAM;CAAS;CAAO,EAChG,IAAgB,EAAW,EAAiB,EAE5C,IAAiB,myBAA2kC,EAE5lC,IAAc,2MAA6P,EAE3Q,IAAW,EAAW,EAAe,EACrC,IAAQ,EAAW,EAAY,EAC/B,IAAiB,MAEjB,IAAU,EAAW,EAAgB,EACrC,IAAS,EAAW,EAAe,EACnC,IAAU,EAAW,EAAY,EACjC,IAAgB,EAAW,CAAC,MAAM,CAAC,EACnC,IAAY,EAAW,CAAC,KAAK,CAAC,EAE9B,IAAa;AAEjB,SAAS,EAAO,GAAS,GAAO;AAC9B,GAAM;;AAGR,SAAS,EAAO,GAAS,GAAO;AAC9B,GAAM;;AAGR,SAAS,EAAU,GAAQ,GAAO;AAChC,KAAI,EAAO,UAAU,CACnB,QAAO;AAMT,KAHS,EAAO,MAAM,KAGX,IAET,QADA,EAAO,WAAW,EACX;AAKT,KAAI,EAAO,MAAM,4BAA4B,GAAM,EAAE;EACnD,IAAI,IAAe;AAMnB,OAJI,EAAO,MAAM,eAAe,IACvB,EAAO,MAAM,cAAc,IAC3B,EAAO,MAAM,WAAW,MAFG,IAAe,KAI/C,EAGF,QADA,EAAO,IAAI,KAAK,EACT;EAGT,IAAI,IAAa;AAcjB,MAZI,EAAO,MAAM,gBAAgB,IAExB,EAAO,MAAM,aAAa,GAFE,IAAa,KAIzC,EAAO,MAAM,cAAc,IAElC,EAAO,IAAI,KAAK,EAEhB,IAAa,MAGN,EAAO,MAAM,eAAe,KAAI,IAAa,KAClD,EAGF,QADA,EAAO,IAAI,KAAK,EACT;;AA8DX,QAzDI,EAAO,MAAM,EAAe,IAC9B,EAAM,WAAW,EAAmB,EAAO,SAAS,CAAC,EAC9C,EAAM,SAAS,GAAQ,EAAM,IAIlC,EAAO,MAAM,EAAiB,IAAI,EAAO,MAAM,EAAiB,GAC3D,OAEL,EAAO,MAAM,EAAgB,IAC1B,EAAO,MAAM,EAAgB,IAC7B,EAAO,MAAM,EAAc,GACzB,aAEL,EAAO,MAAM,EAAiB,GACzB,OAEL,EAAO,MAAM,EAAU,IACzB,EAAO,GAAO,EAAM,EACpB,EAAM,kBAAkB,IACjB,aAEL,EAAO,MAAM,EAAQ,IACjB,EAAM,kBAGV,EAAM,kBAAkB,KAFxB,EAAO,GAAO,EAAM,EAGf,aAEL,EAAO,MAAM,EAAO,GACf,YAGL,EAAO,MAAM,EAAc,IAC7B,EAAO,GAAO,EAAM,EACpB,EAAO,GAAO,EAAM,EACb,aAEL,EAAO,MAAM,EAAQ,IACvB,EAAO,GAAO,EAAM,EACb,aAGL,EAAO,MAAM,EAAM,IAInB,EAAO,MAAM,EAAS,GACjB,YAGL,EAAO,MAAM,EAAY,GACpB,cAIT,EAAO,MAAM,EACN;;AAGT,SAAS,EAAmB,GAAW;CACrC,IAAI,IAAa,EAAU,UAAU,GACjC,IAAW;AAEf,QAAO,SAAS,GAAQ,GAAO;AAC7B,SAAO,CAAC,EAAO,KAAK,GAAE;AAEpB,OADA,EAAO,SAAS,QAAQ,EACpB,EAAO,MAAM,EAAU,CAEzB,QADA,EAAM,WAAW,GACV;AAEP,KAAO,IAAI,OAAO;;AAMtB,SAHI,MACF,EAAM,WAAW,IAEZ;;;AAKX,SAAS,EAAW,GAAQ,GAAO;CACjC,IAAI,IAAQ,EAAM,SAAS,GAAQ,EAAM,EACrC,IAAU,EAAO,SAAS;AAG9B,KAAI,MAAY,IAKZ,QAJF,IAAQ,EAAM,SAAS,GAAQ,EAAM,EACjC,MAAU,aACL,aAEA;CAKX,IAAI,IAAkB,MAAM,QAAQ,EAAQ;AAgB5C,QAfI,MAAoB,MACtB,EAAO,GAAQ,EAAO,EAEpB,MAAe,YACb,EAAO,GAAQ,EAAM,KAI3B,IAAkB,MAAM,QAAQ,EAAQ,EACpC,MAAoB,MAClB,EAAO,GAAQ,EAAM,IAChB,IAIJ;;AAGT,IAAa,IAAK;CAChB,MAAM;CAEN,YAAY,WAAW;AACrB,SAAO;GACL,UAAU;GACV,WAAW;GACX,eAAe;GACf,gBAAgB;GAChB,iBAAiB;GAGlB;;CAGH,OAAO,SAAS,GAAQ,GAAO;AAC7B,EAAI,EAAO,KAAK,KACd,EAAM,iBAAiB,EAAM,gBAC7B,EAAM,iBAAiB,GACvB,EAAM,kBAAkB;EAE1B,IAAI,IAAQ,EAAW,GAAQ,EAAM;AAMrC,SAJA,EAAM,YAAY;GAAO;GAAO,SAAS,EAAO,SAAS;GAAC,EAInD;;CAGT,QAAQ,SAAS,GAAO,GAAW,GAAI;EACrC,IAAI,IAAW,EAAU,QAAQ,cAAc,GAAG;AAGlD,SAFI,EAAS,MAAM,EAAQ,IAAI,EAAS,MAAM,EAAc,IAAI,EAAS,MAAM,EAAO,GAAS,EAAG,QAAM,EAAM,gBAAc,KACzH,EAAM,gBAAgB,IAAU,IAC5B,EAAM,gBAAgB,EAAG;;CAGlC,cAAc;EACZ,eAAe,EAAC,UAAU;GAAC;GAAK;GAAK;GAAK;GAAI,EAAC;EAC/C,eAAe,EAAC,MAAM,KAAI;EAC1B,cAAc,EAAgB,OAAO,EAAe,CAAC,OAAO,EAAY,CACrE,OAAO,EAAiB,CAAC,OAAO,EAAe,CAAC,OAAO,EAAY;EACvE;CACF"}
1
+ {"version":3,"file":"vb-jy9Yl8VS.js","names":[],"sources":["../../../../node_modules/.pnpm/@codemirror+legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/vb.js"],"sourcesContent":["var ERRORCLASS = 'error';\n\nfunction wordRegexp(words) {\n return new RegExp(\"^((\" + words.join(\")|(\") + \"))\\\\b\", \"i\");\n}\n\nvar singleOperators = new RegExp(\"^[\\\\+\\\\-\\\\*/%&\\\\\\\\|\\\\^~<>!]\");\nvar singleDelimiters = new RegExp('^[\\\\(\\\\)\\\\[\\\\]\\\\{\\\\}@,:`=;\\\\.]');\nvar doubleOperators = new RegExp(\"^((==)|(<>)|(<=)|(>=)|(<>)|(<<)|(>>)|(//)|(\\\\*\\\\*))\");\nvar doubleDelimiters = new RegExp(\"^((\\\\+=)|(\\\\-=)|(\\\\*=)|(%=)|(/=)|(&=)|(\\\\|=)|(\\\\^=))\");\nvar tripleDelimiters = new RegExp(\"^((//=)|(>>=)|(<<=)|(\\\\*\\\\*=))\");\nvar identifiers = new RegExp(\"^[_A-Za-z][_A-Za-z0-9]*\");\n\nvar openingKeywords = ['class','module', 'sub','enum','select','while','if','function', 'get','set','property', 'try', 'structure', 'synclock', 'using', 'with'];\nvar middleKeywords = ['else','elseif','case', 'catch', 'finally'];\nvar endKeywords = ['next','loop'];\n\nvar operatorKeywords = ['and', \"andalso\", 'or', 'orelse', 'xor', 'in', 'not', 'is', 'isnot', 'like'];\nvar wordOperators = wordRegexp(operatorKeywords);\n\nvar commonKeywords = [\"#const\", \"#else\", \"#elseif\", \"#end\", \"#if\", \"#region\", \"addhandler\", \"addressof\", \"alias\", \"as\", \"byref\", \"byval\", \"cbool\", \"cbyte\", \"cchar\", \"cdate\", \"cdbl\", \"cdec\", \"cint\", \"clng\", \"cobj\", \"compare\", \"const\", \"continue\", \"csbyte\", \"cshort\", \"csng\", \"cstr\", \"cuint\", \"culng\", \"cushort\", \"declare\", \"default\", \"delegate\", \"dim\", \"directcast\", \"each\", \"erase\", \"error\", \"event\", \"exit\", \"explicit\", \"false\", \"for\", \"friend\", \"gettype\", \"goto\", \"handles\", \"implements\", \"imports\", \"infer\", \"inherits\", \"interface\", \"isfalse\", \"istrue\", \"lib\", \"me\", \"mod\", \"mustinherit\", \"mustoverride\", \"my\", \"mybase\", \"myclass\", \"namespace\", \"narrowing\", \"new\", \"nothing\", \"notinheritable\", \"notoverridable\", \"of\", \"off\", \"on\", \"operator\", \"option\", \"optional\", \"out\", \"overloads\", \"overridable\", \"overrides\", \"paramarray\", \"partial\", \"private\", \"protected\", \"public\", \"raiseevent\", \"readonly\", \"redim\", \"removehandler\", \"resume\", \"return\", \"shadows\", \"shared\", \"static\", \"step\", \"stop\", \"strict\", \"then\", \"throw\", \"to\", \"true\", \"trycast\", \"typeof\", \"until\", \"until\", \"when\", \"widening\", \"withevents\", \"writeonly\"];\n\nvar commontypes = ['object', 'boolean', 'char', 'string', 'byte', 'sbyte', 'short', 'ushort', 'int16', 'uint16', 'integer', 'uinteger', 'int32', 'uint32', 'long', 'ulong', 'int64', 'uint64', 'decimal', 'single', 'double', 'float', 'date', 'datetime', 'intptr', 'uintptr'];\n\nvar keywords = wordRegexp(commonKeywords);\nvar types = wordRegexp(commontypes);\nvar stringPrefixes = '\"';\n\nvar opening = wordRegexp(openingKeywords);\nvar middle = wordRegexp(middleKeywords);\nvar closing = wordRegexp(endKeywords);\nvar doubleClosing = wordRegexp(['end']);\nvar doOpening = wordRegexp(['do']);\n\nvar indentInfo = null;\n\nfunction indent(_stream, state) {\n state.currentIndent++;\n}\n\nfunction dedent(_stream, state) {\n state.currentIndent--;\n}\n// tokenizers\nfunction tokenBase(stream, state) {\n if (stream.eatSpace()) {\n return null;\n }\n\n var ch = stream.peek();\n\n // Handle Comments\n if (ch === \"'\") {\n stream.skipToEnd();\n return 'comment';\n }\n\n\n // Handle Number Literals\n if (stream.match(/^((&H)|(&O))?[0-9\\.a-f]/i, false)) {\n var floatLiteral = false;\n // Floats\n if (stream.match(/^\\d*\\.\\d+F?/i)) { floatLiteral = true; }\n else if (stream.match(/^\\d+\\.\\d*F?/)) { floatLiteral = true; }\n else if (stream.match(/^\\.\\d+F?/)) { floatLiteral = true; }\n\n if (floatLiteral) {\n // Float literals may be \"imaginary\"\n stream.eat(/J/i);\n return 'number';\n }\n // Integers\n var intLiteral = false;\n // Hex\n if (stream.match(/^&H[0-9a-f]+/i)) { intLiteral = true; }\n // Octal\n else if (stream.match(/^&O[0-7]+/i)) { intLiteral = true; }\n // Decimal\n else if (stream.match(/^[1-9]\\d*F?/)) {\n // Decimal literals may be \"imaginary\"\n stream.eat(/J/i);\n // TODO - Can you have imaginary longs?\n intLiteral = true;\n }\n // Zero by itself with no other piece of number.\n else if (stream.match(/^0(?![\\dx])/i)) { intLiteral = true; }\n if (intLiteral) {\n // Integer literals may be \"long\"\n stream.eat(/L/i);\n return 'number';\n }\n }\n\n // Handle Strings\n if (stream.match(stringPrefixes)) {\n state.tokenize = tokenStringFactory(stream.current());\n return state.tokenize(stream, state);\n }\n\n // Handle operators and Delimiters\n if (stream.match(tripleDelimiters) || stream.match(doubleDelimiters)) {\n return null;\n }\n if (stream.match(doubleOperators)\n || stream.match(singleOperators)\n || stream.match(wordOperators)) {\n return 'operator';\n }\n if (stream.match(singleDelimiters)) {\n return null;\n }\n if (stream.match(doOpening)) {\n indent(stream,state);\n state.doInCurrentLine = true;\n return 'keyword';\n }\n if (stream.match(opening)) {\n if (! state.doInCurrentLine)\n indent(stream,state);\n else\n state.doInCurrentLine = false;\n return 'keyword';\n }\n if (stream.match(middle)) {\n return 'keyword';\n }\n\n if (stream.match(doubleClosing)) {\n dedent(stream,state);\n dedent(stream,state);\n return 'keyword';\n }\n if (stream.match(closing)) {\n dedent(stream,state);\n return 'keyword';\n }\n\n if (stream.match(types)) {\n return 'keyword';\n }\n\n if (stream.match(keywords)) {\n return 'keyword';\n }\n\n if (stream.match(identifiers)) {\n return 'variable';\n }\n\n // Handle non-detected items\n stream.next();\n return ERRORCLASS;\n}\n\nfunction tokenStringFactory(delimiter) {\n var singleline = delimiter.length == 1;\n var OUTCLASS = 'string';\n\n return function(stream, state) {\n while (!stream.eol()) {\n stream.eatWhile(/[^'\"]/);\n if (stream.match(delimiter)) {\n state.tokenize = tokenBase;\n return OUTCLASS;\n } else {\n stream.eat(/['\"]/);\n }\n }\n if (singleline) {\n state.tokenize = tokenBase;\n }\n return OUTCLASS;\n };\n}\n\n\nfunction tokenLexer(stream, state) {\n var style = state.tokenize(stream, state);\n var current = stream.current();\n\n // Handle '.' connected identifiers\n if (current === '.') {\n style = state.tokenize(stream, state);\n if (style === 'variable') {\n return 'variable';\n } else {\n return ERRORCLASS;\n }\n }\n\n\n var delimiter_index = '[({'.indexOf(current);\n if (delimiter_index !== -1) {\n indent(stream, state );\n }\n if (indentInfo === 'dedent') {\n if (dedent(stream, state)) {\n return ERRORCLASS;\n }\n }\n delimiter_index = '])}'.indexOf(current);\n if (delimiter_index !== -1) {\n if (dedent(stream, state)) {\n return ERRORCLASS;\n }\n }\n\n return style;\n}\n\nexport const vb = {\n name: \"vb\",\n\n startState: function() {\n return {\n tokenize: tokenBase,\n lastToken: null,\n currentIndent: 0,\n nextLineIndent: 0,\n doInCurrentLine: false\n\n\n };\n },\n\n token: function(stream, state) {\n if (stream.sol()) {\n state.currentIndent += state.nextLineIndent;\n state.nextLineIndent = 0;\n state.doInCurrentLine = 0;\n }\n var style = tokenLexer(stream, state);\n\n state.lastToken = {style:style, content: stream.current()};\n\n\n\n return style;\n },\n\n indent: function(state, textAfter, cx) {\n var trueText = textAfter.replace(/^\\s+|\\s+$/g, '') ;\n if (trueText.match(closing) || trueText.match(doubleClosing) || trueText.match(middle)) return cx.unit*(state.currentIndent-1);\n if(state.currentIndent < 0) return 0;\n return state.currentIndent * cx.unit;\n },\n\n languageData: {\n closeBrackets: {brackets: [\"(\", \"[\", \"{\", '\"']},\n commentTokens: {line: \"'\"},\n autocomplete: openingKeywords.concat(middleKeywords).concat(endKeywords)\n .concat(operatorKeywords).concat(commonKeywords).concat(commontypes)\n }\n};\n"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -208,4 +208,4 @@ e({ isASP: !0 });
208
208
  //#endregion
209
209
  export { t as vbScript };
210
210
 
211
- //# sourceMappingURL=vbscript-Dy7to0l6.js.map
211
+ //# sourceMappingURL=vbscript-srk6lbz5.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vbscript-Dy7to0l6.js","names":[],"sources":["../../../../node_modules/.pnpm/@codemirror+legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/vbscript.js"],"sourcesContent":["function mkVBScript(parserConf) {\n var ERRORCLASS = 'error';\n\n function wordRegexp(words) {\n return new RegExp(\"^((\" + words.join(\")|(\") + \"))\\\\b\", \"i\");\n }\n\n var singleOperators = new RegExp(\"^[\\\\+\\\\-\\\\*/&\\\\\\\\\\\\^<>=]\");\n var doubleOperators = new RegExp(\"^((<>)|(<=)|(>=))\");\n var singleDelimiters = new RegExp('^[\\\\.,]');\n var brackets = new RegExp('^[\\\\(\\\\)]');\n var identifiers = new RegExp(\"^[A-Za-z][_A-Za-z0-9]*\");\n\n var openingKeywords = ['class','sub','select','while','if','function', 'property', 'with', 'for'];\n var middleKeywords = ['else','elseif','case'];\n var endKeywords = ['next','loop','wend'];\n\n var wordOperators = wordRegexp(['and', 'or', 'not', 'xor', 'is', 'mod', 'eqv', 'imp']);\n var commonkeywords = ['dim', 'redim', 'then', 'until', 'randomize',\n 'byval','byref','new','property', 'exit', 'in',\n 'const','private', 'public',\n 'get','set','let', 'stop', 'on error resume next', 'on error goto 0', 'option explicit', 'call', 'me'];\n\n //This list was from: http://msdn.microsoft.com/en-us/library/f8tbc79x(v=vs.84).aspx\n var atomWords = ['true', 'false', 'nothing', 'empty', 'null'];\n //This list was from: http://msdn.microsoft.com/en-us/library/3ca8tfek(v=vs.84).aspx\n var builtinFuncsWords = ['abs', 'array', 'asc', 'atn', 'cbool', 'cbyte', 'ccur', 'cdate', 'cdbl', 'chr', 'cint', 'clng', 'cos', 'csng', 'cstr', 'date', 'dateadd', 'datediff', 'datepart',\n 'dateserial', 'datevalue', 'day', 'escape', 'eval', 'execute', 'exp', 'filter', 'formatcurrency', 'formatdatetime', 'formatnumber', 'formatpercent', 'getlocale', 'getobject',\n 'getref', 'hex', 'hour', 'inputbox', 'instr', 'instrrev', 'int', 'fix', 'isarray', 'isdate', 'isempty', 'isnull', 'isnumeric', 'isobject', 'join', 'lbound', 'lcase', 'left',\n 'len', 'loadpicture', 'log', 'ltrim', 'rtrim', 'trim', 'maths', 'mid', 'minute', 'month', 'monthname', 'msgbox', 'now', 'oct', 'replace', 'rgb', 'right', 'rnd', 'round',\n 'scriptengine', 'scriptenginebuildversion', 'scriptenginemajorversion', 'scriptengineminorversion', 'second', 'setlocale', 'sgn', 'sin', 'space', 'split', 'sqr', 'strcomp',\n 'string', 'strreverse', 'tan', 'time', 'timer', 'timeserial', 'timevalue', 'typename', 'ubound', 'ucase', 'unescape', 'vartype', 'weekday', 'weekdayname', 'year'];\n\n //This list was from: http://msdn.microsoft.com/en-us/library/ydz4cfk3(v=vs.84).aspx\n var builtinConsts = ['vbBlack', 'vbRed', 'vbGreen', 'vbYellow', 'vbBlue', 'vbMagenta', 'vbCyan', 'vbWhite', 'vbBinaryCompare', 'vbTextCompare',\n 'vbSunday', 'vbMonday', 'vbTuesday', 'vbWednesday', 'vbThursday', 'vbFriday', 'vbSaturday', 'vbUseSystemDayOfWeek', 'vbFirstJan1', 'vbFirstFourDays', 'vbFirstFullWeek',\n 'vbGeneralDate', 'vbLongDate', 'vbShortDate', 'vbLongTime', 'vbShortTime', 'vbObjectError',\n 'vbOKOnly', 'vbOKCancel', 'vbAbortRetryIgnore', 'vbYesNoCancel', 'vbYesNo', 'vbRetryCancel', 'vbCritical', 'vbQuestion', 'vbExclamation', 'vbInformation', 'vbDefaultButton1', 'vbDefaultButton2',\n 'vbDefaultButton3', 'vbDefaultButton4', 'vbApplicationModal', 'vbSystemModal', 'vbOK', 'vbCancel', 'vbAbort', 'vbRetry', 'vbIgnore', 'vbYes', 'vbNo',\n 'vbCr', 'VbCrLf', 'vbFormFeed', 'vbLf', 'vbNewLine', 'vbNullChar', 'vbNullString', 'vbTab', 'vbVerticalTab', 'vbUseDefault', 'vbTrue', 'vbFalse',\n 'vbEmpty', 'vbNull', 'vbInteger', 'vbLong', 'vbSingle', 'vbDouble', 'vbCurrency', 'vbDate', 'vbString', 'vbObject', 'vbError', 'vbBoolean', 'vbVariant', 'vbDataObject', 'vbDecimal', 'vbByte', 'vbArray'];\n //This list was from: http://msdn.microsoft.com/en-us/library/hkc375ea(v=vs.84).aspx\n var builtinObjsWords = ['WScript', 'err', 'debug', 'RegExp'];\n var knownProperties = ['description', 'firstindex', 'global', 'helpcontext', 'helpfile', 'ignorecase', 'length', 'number', 'pattern', 'source', 'value', 'count'];\n var knownMethods = ['clear', 'execute', 'raise', 'replace', 'test', 'write', 'writeline', 'close', 'open', 'state', 'eof', 'update', 'addnew', 'end', 'createobject', 'quit'];\n\n var aspBuiltinObjsWords = ['server', 'response', 'request', 'session', 'application'];\n var aspKnownProperties = ['buffer', 'cachecontrol', 'charset', 'contenttype', 'expires', 'expiresabsolute', 'isclientconnected', 'pics', 'status', //response\n 'clientcertificate', 'cookies', 'form', 'querystring', 'servervariables', 'totalbytes', //request\n 'contents', 'staticobjects', //application\n 'codepage', 'lcid', 'sessionid', 'timeout', //session\n 'scripttimeout']; //server\n var aspKnownMethods = ['addheader', 'appendtolog', 'binarywrite', 'end', 'flush', 'redirect', //response\n 'binaryread', //request\n 'remove', 'removeall', 'lock', 'unlock', //application\n 'abandon', //session\n 'getlasterror', 'htmlencode', 'mappath', 'transfer', 'urlencode']; //server\n\n var knownWords = knownMethods.concat(knownProperties);\n\n builtinObjsWords = builtinObjsWords.concat(builtinConsts);\n\n if (parserConf.isASP){\n builtinObjsWords = builtinObjsWords.concat(aspBuiltinObjsWords);\n knownWords = knownWords.concat(aspKnownMethods, aspKnownProperties);\n };\n\n var keywords = wordRegexp(commonkeywords);\n var atoms = wordRegexp(atomWords);\n var builtinFuncs = wordRegexp(builtinFuncsWords);\n var builtinObjs = wordRegexp(builtinObjsWords);\n var known = wordRegexp(knownWords);\n var stringPrefixes = '\"';\n\n var opening = wordRegexp(openingKeywords);\n var middle = wordRegexp(middleKeywords);\n var closing = wordRegexp(endKeywords);\n var doubleClosing = wordRegexp(['end']);\n var doOpening = wordRegexp(['do']);\n var noIndentWords = wordRegexp(['on error resume next', 'exit']);\n var comment = wordRegexp(['rem']);\n\n\n function indent(_stream, state) {\n state.currentIndent++;\n }\n\n function dedent(_stream, state) {\n state.currentIndent--;\n }\n // tokenizers\n function tokenBase(stream, state) {\n if (stream.eatSpace()) {\n return null\n //return null;\n }\n\n var ch = stream.peek();\n\n // Handle Comments\n if (ch === \"'\") {\n stream.skipToEnd();\n return 'comment';\n }\n if (stream.match(comment)){\n stream.skipToEnd();\n return 'comment';\n }\n\n\n // Handle Number Literals\n if (stream.match(/^((&H)|(&O))?[0-9\\.]/i, false) && !stream.match(/^((&H)|(&O))?[0-9\\.]+[a-z_]/i, false)) {\n var floatLiteral = false;\n // Floats\n if (stream.match(/^\\d*\\.\\d+/i)) { floatLiteral = true; }\n else if (stream.match(/^\\d+\\.\\d*/)) { floatLiteral = true; }\n else if (stream.match(/^\\.\\d+/)) { floatLiteral = true; }\n\n if (floatLiteral) {\n // Float literals may be \"imaginary\"\n stream.eat(/J/i);\n return 'number';\n }\n // Integers\n var intLiteral = false;\n // Hex\n if (stream.match(/^&H[0-9a-f]+/i)) { intLiteral = true; }\n // Octal\n else if (stream.match(/^&O[0-7]+/i)) { intLiteral = true; }\n // Decimal\n else if (stream.match(/^[1-9]\\d*F?/)) {\n // Decimal literals may be \"imaginary\"\n stream.eat(/J/i);\n // TODO - Can you have imaginary longs?\n intLiteral = true;\n }\n // Zero by itself with no other piece of number.\n else if (stream.match(/^0(?![\\dx])/i)) { intLiteral = true; }\n if (intLiteral) {\n // Integer literals may be \"long\"\n stream.eat(/L/i);\n return 'number';\n }\n }\n\n // Handle Strings\n if (stream.match(stringPrefixes)) {\n state.tokenize = tokenStringFactory(stream.current());\n return state.tokenize(stream, state);\n }\n\n // Handle operators and Delimiters\n if (stream.match(doubleOperators)\n || stream.match(singleOperators)\n || stream.match(wordOperators)) {\n return 'operator';\n }\n if (stream.match(singleDelimiters)) {\n return null;\n }\n\n if (stream.match(brackets)) {\n return \"bracket\";\n }\n\n if (stream.match(noIndentWords)) {\n state.doInCurrentLine = true;\n\n return 'keyword';\n }\n\n if (stream.match(doOpening)) {\n indent(stream,state);\n state.doInCurrentLine = true;\n\n return 'keyword';\n }\n if (stream.match(opening)) {\n if (! state.doInCurrentLine)\n indent(stream,state);\n else\n state.doInCurrentLine = false;\n\n return 'keyword';\n }\n if (stream.match(middle)) {\n return 'keyword';\n }\n\n\n if (stream.match(doubleClosing)) {\n dedent(stream,state);\n dedent(stream,state);\n\n return 'keyword';\n }\n if (stream.match(closing)) {\n if (! state.doInCurrentLine)\n dedent(stream,state);\n else\n state.doInCurrentLine = false;\n\n return 'keyword';\n }\n\n if (stream.match(keywords)) {\n return 'keyword';\n }\n\n if (stream.match(atoms)) {\n return 'atom';\n }\n\n if (stream.match(known)) {\n return 'variableName.special';\n }\n\n if (stream.match(builtinFuncs)) {\n return 'builtin';\n }\n\n if (stream.match(builtinObjs)){\n return 'builtin';\n }\n\n if (stream.match(identifiers)) {\n return 'variable';\n }\n\n // Handle non-detected items\n stream.next();\n return ERRORCLASS;\n }\n\n function tokenStringFactory(delimiter) {\n var singleline = delimiter.length == 1;\n var OUTCLASS = 'string';\n\n return function(stream, state) {\n while (!stream.eol()) {\n stream.eatWhile(/[^'\"]/);\n if (stream.match(delimiter)) {\n state.tokenize = tokenBase;\n return OUTCLASS;\n } else {\n stream.eat(/['\"]/);\n }\n }\n if (singleline) {\n state.tokenize = tokenBase;\n }\n return OUTCLASS;\n };\n }\n\n\n function tokenLexer(stream, state) {\n var style = state.tokenize(stream, state);\n var current = stream.current();\n\n // Handle '.' connected identifiers\n if (current === '.') {\n style = state.tokenize(stream, state);\n\n current = stream.current();\n if (style && (style.substr(0, 8) === 'variable' || style==='builtin' || style==='keyword')){//|| knownWords.indexOf(current.substring(1)) > -1) {\n if (style === 'builtin' || style === 'keyword') style='variable';\n if (knownWords.indexOf(current.substr(1)) > -1) style='keyword';\n\n return style;\n } else {\n return ERRORCLASS;\n }\n }\n\n return style;\n }\n\n return {\n name: \"vbscript\",\n startState: function() {\n return {\n tokenize: tokenBase,\n lastToken: null,\n currentIndent: 0,\n nextLineIndent: 0,\n doInCurrentLine: false,\n ignoreKeyword: false\n\n\n };\n },\n\n token: function(stream, state) {\n if (stream.sol()) {\n state.currentIndent += state.nextLineIndent;\n state.nextLineIndent = 0;\n state.doInCurrentLine = 0;\n }\n var style = tokenLexer(stream, state);\n\n state.lastToken = {style:style, content: stream.current()};\n\n if (style===null) style=null;\n\n return style;\n },\n\n indent: function(state, textAfter, cx) {\n var trueText = textAfter.replace(/^\\s+|\\s+$/g, '') ;\n if (trueText.match(closing) || trueText.match(doubleClosing) || trueText.match(middle)) return cx.unit*(state.currentIndent-1);\n if(state.currentIndent < 0) return 0;\n return state.currentIndent * cx.unit\n }\n\n };\n};\n\nexport const vbScript = mkVBScript({})\nexport const vbScriptASP = mkVBScript({isASP: true})\n"],"x_google_ignoreList":[0],"mappings":"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"}
1
+ {"version":3,"file":"vbscript-srk6lbz5.js","names":[],"sources":["../../../../node_modules/.pnpm/@codemirror+legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/vbscript.js"],"sourcesContent":["function mkVBScript(parserConf) {\n var ERRORCLASS = 'error';\n\n function wordRegexp(words) {\n return new RegExp(\"^((\" + words.join(\")|(\") + \"))\\\\b\", \"i\");\n }\n\n var singleOperators = new RegExp(\"^[\\\\+\\\\-\\\\*/&\\\\\\\\\\\\^<>=]\");\n var doubleOperators = new RegExp(\"^((<>)|(<=)|(>=))\");\n var singleDelimiters = new RegExp('^[\\\\.,]');\n var brackets = new RegExp('^[\\\\(\\\\)]');\n var identifiers = new RegExp(\"^[A-Za-z][_A-Za-z0-9]*\");\n\n var openingKeywords = ['class','sub','select','while','if','function', 'property', 'with', 'for'];\n var middleKeywords = ['else','elseif','case'];\n var endKeywords = ['next','loop','wend'];\n\n var wordOperators = wordRegexp(['and', 'or', 'not', 'xor', 'is', 'mod', 'eqv', 'imp']);\n var commonkeywords = ['dim', 'redim', 'then', 'until', 'randomize',\n 'byval','byref','new','property', 'exit', 'in',\n 'const','private', 'public',\n 'get','set','let', 'stop', 'on error resume next', 'on error goto 0', 'option explicit', 'call', 'me'];\n\n //This list was from: http://msdn.microsoft.com/en-us/library/f8tbc79x(v=vs.84).aspx\n var atomWords = ['true', 'false', 'nothing', 'empty', 'null'];\n //This list was from: http://msdn.microsoft.com/en-us/library/3ca8tfek(v=vs.84).aspx\n var builtinFuncsWords = ['abs', 'array', 'asc', 'atn', 'cbool', 'cbyte', 'ccur', 'cdate', 'cdbl', 'chr', 'cint', 'clng', 'cos', 'csng', 'cstr', 'date', 'dateadd', 'datediff', 'datepart',\n 'dateserial', 'datevalue', 'day', 'escape', 'eval', 'execute', 'exp', 'filter', 'formatcurrency', 'formatdatetime', 'formatnumber', 'formatpercent', 'getlocale', 'getobject',\n 'getref', 'hex', 'hour', 'inputbox', 'instr', 'instrrev', 'int', 'fix', 'isarray', 'isdate', 'isempty', 'isnull', 'isnumeric', 'isobject', 'join', 'lbound', 'lcase', 'left',\n 'len', 'loadpicture', 'log', 'ltrim', 'rtrim', 'trim', 'maths', 'mid', 'minute', 'month', 'monthname', 'msgbox', 'now', 'oct', 'replace', 'rgb', 'right', 'rnd', 'round',\n 'scriptengine', 'scriptenginebuildversion', 'scriptenginemajorversion', 'scriptengineminorversion', 'second', 'setlocale', 'sgn', 'sin', 'space', 'split', 'sqr', 'strcomp',\n 'string', 'strreverse', 'tan', 'time', 'timer', 'timeserial', 'timevalue', 'typename', 'ubound', 'ucase', 'unescape', 'vartype', 'weekday', 'weekdayname', 'year'];\n\n //This list was from: http://msdn.microsoft.com/en-us/library/ydz4cfk3(v=vs.84).aspx\n var builtinConsts = ['vbBlack', 'vbRed', 'vbGreen', 'vbYellow', 'vbBlue', 'vbMagenta', 'vbCyan', 'vbWhite', 'vbBinaryCompare', 'vbTextCompare',\n 'vbSunday', 'vbMonday', 'vbTuesday', 'vbWednesday', 'vbThursday', 'vbFriday', 'vbSaturday', 'vbUseSystemDayOfWeek', 'vbFirstJan1', 'vbFirstFourDays', 'vbFirstFullWeek',\n 'vbGeneralDate', 'vbLongDate', 'vbShortDate', 'vbLongTime', 'vbShortTime', 'vbObjectError',\n 'vbOKOnly', 'vbOKCancel', 'vbAbortRetryIgnore', 'vbYesNoCancel', 'vbYesNo', 'vbRetryCancel', 'vbCritical', 'vbQuestion', 'vbExclamation', 'vbInformation', 'vbDefaultButton1', 'vbDefaultButton2',\n 'vbDefaultButton3', 'vbDefaultButton4', 'vbApplicationModal', 'vbSystemModal', 'vbOK', 'vbCancel', 'vbAbort', 'vbRetry', 'vbIgnore', 'vbYes', 'vbNo',\n 'vbCr', 'VbCrLf', 'vbFormFeed', 'vbLf', 'vbNewLine', 'vbNullChar', 'vbNullString', 'vbTab', 'vbVerticalTab', 'vbUseDefault', 'vbTrue', 'vbFalse',\n 'vbEmpty', 'vbNull', 'vbInteger', 'vbLong', 'vbSingle', 'vbDouble', 'vbCurrency', 'vbDate', 'vbString', 'vbObject', 'vbError', 'vbBoolean', 'vbVariant', 'vbDataObject', 'vbDecimal', 'vbByte', 'vbArray'];\n //This list was from: http://msdn.microsoft.com/en-us/library/hkc375ea(v=vs.84).aspx\n var builtinObjsWords = ['WScript', 'err', 'debug', 'RegExp'];\n var knownProperties = ['description', 'firstindex', 'global', 'helpcontext', 'helpfile', 'ignorecase', 'length', 'number', 'pattern', 'source', 'value', 'count'];\n var knownMethods = ['clear', 'execute', 'raise', 'replace', 'test', 'write', 'writeline', 'close', 'open', 'state', 'eof', 'update', 'addnew', 'end', 'createobject', 'quit'];\n\n var aspBuiltinObjsWords = ['server', 'response', 'request', 'session', 'application'];\n var aspKnownProperties = ['buffer', 'cachecontrol', 'charset', 'contenttype', 'expires', 'expiresabsolute', 'isclientconnected', 'pics', 'status', //response\n 'clientcertificate', 'cookies', 'form', 'querystring', 'servervariables', 'totalbytes', //request\n 'contents', 'staticobjects', //application\n 'codepage', 'lcid', 'sessionid', 'timeout', //session\n 'scripttimeout']; //server\n var aspKnownMethods = ['addheader', 'appendtolog', 'binarywrite', 'end', 'flush', 'redirect', //response\n 'binaryread', //request\n 'remove', 'removeall', 'lock', 'unlock', //application\n 'abandon', //session\n 'getlasterror', 'htmlencode', 'mappath', 'transfer', 'urlencode']; //server\n\n var knownWords = knownMethods.concat(knownProperties);\n\n builtinObjsWords = builtinObjsWords.concat(builtinConsts);\n\n if (parserConf.isASP){\n builtinObjsWords = builtinObjsWords.concat(aspBuiltinObjsWords);\n knownWords = knownWords.concat(aspKnownMethods, aspKnownProperties);\n };\n\n var keywords = wordRegexp(commonkeywords);\n var atoms = wordRegexp(atomWords);\n var builtinFuncs = wordRegexp(builtinFuncsWords);\n var builtinObjs = wordRegexp(builtinObjsWords);\n var known = wordRegexp(knownWords);\n var stringPrefixes = '\"';\n\n var opening = wordRegexp(openingKeywords);\n var middle = wordRegexp(middleKeywords);\n var closing = wordRegexp(endKeywords);\n var doubleClosing = wordRegexp(['end']);\n var doOpening = wordRegexp(['do']);\n var noIndentWords = wordRegexp(['on error resume next', 'exit']);\n var comment = wordRegexp(['rem']);\n\n\n function indent(_stream, state) {\n state.currentIndent++;\n }\n\n function dedent(_stream, state) {\n state.currentIndent--;\n }\n // tokenizers\n function tokenBase(stream, state) {\n if (stream.eatSpace()) {\n return null\n //return null;\n }\n\n var ch = stream.peek();\n\n // Handle Comments\n if (ch === \"'\") {\n stream.skipToEnd();\n return 'comment';\n }\n if (stream.match(comment)){\n stream.skipToEnd();\n return 'comment';\n }\n\n\n // Handle Number Literals\n if (stream.match(/^((&H)|(&O))?[0-9\\.]/i, false) && !stream.match(/^((&H)|(&O))?[0-9\\.]+[a-z_]/i, false)) {\n var floatLiteral = false;\n // Floats\n if (stream.match(/^\\d*\\.\\d+/i)) { floatLiteral = true; }\n else if (stream.match(/^\\d+\\.\\d*/)) { floatLiteral = true; }\n else if (stream.match(/^\\.\\d+/)) { floatLiteral = true; }\n\n if (floatLiteral) {\n // Float literals may be \"imaginary\"\n stream.eat(/J/i);\n return 'number';\n }\n // Integers\n var intLiteral = false;\n // Hex\n if (stream.match(/^&H[0-9a-f]+/i)) { intLiteral = true; }\n // Octal\n else if (stream.match(/^&O[0-7]+/i)) { intLiteral = true; }\n // Decimal\n else if (stream.match(/^[1-9]\\d*F?/)) {\n // Decimal literals may be \"imaginary\"\n stream.eat(/J/i);\n // TODO - Can you have imaginary longs?\n intLiteral = true;\n }\n // Zero by itself with no other piece of number.\n else if (stream.match(/^0(?![\\dx])/i)) { intLiteral = true; }\n if (intLiteral) {\n // Integer literals may be \"long\"\n stream.eat(/L/i);\n return 'number';\n }\n }\n\n // Handle Strings\n if (stream.match(stringPrefixes)) {\n state.tokenize = tokenStringFactory(stream.current());\n return state.tokenize(stream, state);\n }\n\n // Handle operators and Delimiters\n if (stream.match(doubleOperators)\n || stream.match(singleOperators)\n || stream.match(wordOperators)) {\n return 'operator';\n }\n if (stream.match(singleDelimiters)) {\n return null;\n }\n\n if (stream.match(brackets)) {\n return \"bracket\";\n }\n\n if (stream.match(noIndentWords)) {\n state.doInCurrentLine = true;\n\n return 'keyword';\n }\n\n if (stream.match(doOpening)) {\n indent(stream,state);\n state.doInCurrentLine = true;\n\n return 'keyword';\n }\n if (stream.match(opening)) {\n if (! state.doInCurrentLine)\n indent(stream,state);\n else\n state.doInCurrentLine = false;\n\n return 'keyword';\n }\n if (stream.match(middle)) {\n return 'keyword';\n }\n\n\n if (stream.match(doubleClosing)) {\n dedent(stream,state);\n dedent(stream,state);\n\n return 'keyword';\n }\n if (stream.match(closing)) {\n if (! state.doInCurrentLine)\n dedent(stream,state);\n else\n state.doInCurrentLine = false;\n\n return 'keyword';\n }\n\n if (stream.match(keywords)) {\n return 'keyword';\n }\n\n if (stream.match(atoms)) {\n return 'atom';\n }\n\n if (stream.match(known)) {\n return 'variableName.special';\n }\n\n if (stream.match(builtinFuncs)) {\n return 'builtin';\n }\n\n if (stream.match(builtinObjs)){\n return 'builtin';\n }\n\n if (stream.match(identifiers)) {\n return 'variable';\n }\n\n // Handle non-detected items\n stream.next();\n return ERRORCLASS;\n }\n\n function tokenStringFactory(delimiter) {\n var singleline = delimiter.length == 1;\n var OUTCLASS = 'string';\n\n return function(stream, state) {\n while (!stream.eol()) {\n stream.eatWhile(/[^'\"]/);\n if (stream.match(delimiter)) {\n state.tokenize = tokenBase;\n return OUTCLASS;\n } else {\n stream.eat(/['\"]/);\n }\n }\n if (singleline) {\n state.tokenize = tokenBase;\n }\n return OUTCLASS;\n };\n }\n\n\n function tokenLexer(stream, state) {\n var style = state.tokenize(stream, state);\n var current = stream.current();\n\n // Handle '.' connected identifiers\n if (current === '.') {\n style = state.tokenize(stream, state);\n\n current = stream.current();\n if (style && (style.substr(0, 8) === 'variable' || style==='builtin' || style==='keyword')){//|| knownWords.indexOf(current.substring(1)) > -1) {\n if (style === 'builtin' || style === 'keyword') style='variable';\n if (knownWords.indexOf(current.substr(1)) > -1) style='keyword';\n\n return style;\n } else {\n return ERRORCLASS;\n }\n }\n\n return style;\n }\n\n return {\n name: \"vbscript\",\n startState: function() {\n return {\n tokenize: tokenBase,\n lastToken: null,\n currentIndent: 0,\n nextLineIndent: 0,\n doInCurrentLine: false,\n ignoreKeyword: false\n\n\n };\n },\n\n token: function(stream, state) {\n if (stream.sol()) {\n state.currentIndent += state.nextLineIndent;\n state.nextLineIndent = 0;\n state.doInCurrentLine = 0;\n }\n var style = tokenLexer(stream, state);\n\n state.lastToken = {style:style, content: stream.current()};\n\n if (style===null) style=null;\n\n return style;\n },\n\n indent: function(state, textAfter, cx) {\n var trueText = textAfter.replace(/^\\s+|\\s+$/g, '') ;\n if (trueText.match(closing) || trueText.match(doubleClosing) || trueText.match(middle)) return cx.unit*(state.currentIndent-1);\n if(state.currentIndent < 0) return 0;\n return state.currentIndent * cx.unit\n }\n\n };\n};\n\nexport const vbScript = mkVBScript({})\nexport const vbScriptASP = mkVBScript({isASP: true})\n"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -89,4 +89,4 @@ var u = {
89
89
  //#endregion
90
90
  export { u as velocity };
91
91
 
92
- //# sourceMappingURL=velocity-CKubdsu-.js.map
92
+ //# sourceMappingURL=velocity-DYmMYLwp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"velocity-CKubdsu-.js","names":[],"sources":["../../../../node_modules/.pnpm/@codemirror+legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/velocity.js"],"sourcesContent":["function parseWords(str) {\n var obj = {}, words = str.split(\" \");\n for (var i = 0; i < words.length; ++i) obj[words[i]] = true;\n return obj;\n}\n\nvar keywords = parseWords(\"#end #else #break #stop #[[ #]] \" +\n \"#{end} #{else} #{break} #{stop}\");\nvar functions = parseWords(\"#if #elseif #foreach #set #include #parse #macro #define #evaluate \" +\n \"#{if} #{elseif} #{foreach} #{set} #{include} #{parse} #{macro} #{define} #{evaluate}\");\nvar specials = parseWords(\"$foreach.count $foreach.hasNext $foreach.first $foreach.last $foreach.topmost $foreach.parent.count $foreach.parent.hasNext $foreach.parent.first $foreach.parent.last $foreach.parent $velocityCount $!bodyContent $bodyContent\");\nvar isOperatorChar = /[+\\-*&%=<>!?:\\/|]/;\n\nfunction chain(stream, state, f) {\n state.tokenize = f;\n return f(stream, state);\n}\nfunction tokenBase(stream, state) {\n var beforeParams = state.beforeParams;\n state.beforeParams = false;\n var ch = stream.next();\n // start of unparsed string?\n if ((ch == \"'\") && !state.inString && state.inParams) {\n state.lastTokenWasBuiltin = false;\n return chain(stream, state, tokenString(ch));\n }\n // start of parsed string?\n else if ((ch == '\"')) {\n state.lastTokenWasBuiltin = false;\n if (state.inString) {\n state.inString = false;\n return \"string\";\n }\n else if (state.inParams)\n return chain(stream, state, tokenString(ch));\n }\n // is it one of the special signs []{}().,;? Separator?\n else if (/[\\[\\]{}\\(\\),;\\.]/.test(ch)) {\n if (ch == \"(\" && beforeParams)\n state.inParams = true;\n else if (ch == \")\") {\n state.inParams = false;\n state.lastTokenWasBuiltin = true;\n }\n return null;\n }\n // start of a number value?\n else if (/\\d/.test(ch)) {\n state.lastTokenWasBuiltin = false;\n stream.eatWhile(/[\\w\\.]/);\n return \"number\";\n }\n // multi line comment?\n else if (ch == \"#\" && stream.eat(\"*\")) {\n state.lastTokenWasBuiltin = false;\n return chain(stream, state, tokenComment);\n }\n // unparsed content?\n else if (ch == \"#\" && stream.match(/ *\\[ *\\[/)) {\n state.lastTokenWasBuiltin = false;\n return chain(stream, state, tokenUnparsed);\n }\n // single line comment?\n else if (ch == \"#\" && stream.eat(\"#\")) {\n state.lastTokenWasBuiltin = false;\n stream.skipToEnd();\n return \"comment\";\n }\n // variable?\n else if (ch == \"$\") {\n stream.eat(\"!\");\n stream.eatWhile(/[\\w\\d\\$_\\.{}-]/);\n // is it one of the specials?\n if (specials && specials.propertyIsEnumerable(stream.current())) {\n return \"keyword\";\n }\n else {\n state.lastTokenWasBuiltin = true;\n state.beforeParams = true;\n return \"builtin\";\n }\n }\n // is it a operator?\n else if (isOperatorChar.test(ch)) {\n state.lastTokenWasBuiltin = false;\n stream.eatWhile(isOperatorChar);\n return \"operator\";\n }\n else {\n // get the whole word\n stream.eatWhile(/[\\w\\$_{}@]/);\n var word = stream.current();\n // is it one of the listed keywords?\n if (keywords && keywords.propertyIsEnumerable(word))\n return \"keyword\";\n // is it one of the listed functions?\n if (functions && functions.propertyIsEnumerable(word) ||\n (stream.current().match(/^#@?[a-z0-9_]+ *$/i) && stream.peek()==\"(\") &&\n !(functions && functions.propertyIsEnumerable(word.toLowerCase()))) {\n state.beforeParams = true;\n state.lastTokenWasBuiltin = false;\n return \"keyword\";\n }\n if (state.inString) {\n state.lastTokenWasBuiltin = false;\n return \"string\";\n }\n if (stream.pos > word.length && stream.string.charAt(stream.pos-word.length-1)==\".\" && state.lastTokenWasBuiltin)\n return \"builtin\";\n // default: just a \"word\"\n state.lastTokenWasBuiltin = false;\n return null;\n }\n}\n\nfunction tokenString(quote) {\n return function(stream, state) {\n var escaped = false, next, end = false;\n while ((next = stream.next()) != null) {\n if ((next == quote) && !escaped) {\n end = true;\n break;\n }\n if (quote=='\"' && stream.peek() == '$' && !escaped) {\n state.inString = true;\n end = true;\n break;\n }\n escaped = !escaped && next == \"\\\\\";\n }\n if (end) state.tokenize = tokenBase;\n return \"string\";\n };\n}\n\nfunction tokenComment(stream, state) {\n var maybeEnd = false, ch;\n while (ch = stream.next()) {\n if (ch == \"#\" && maybeEnd) {\n state.tokenize = tokenBase;\n break;\n }\n maybeEnd = (ch == \"*\");\n }\n return \"comment\";\n}\n\nfunction tokenUnparsed(stream, state) {\n var maybeEnd = 0, ch;\n while (ch = stream.next()) {\n if (ch == \"#\" && maybeEnd == 2) {\n state.tokenize = tokenBase;\n break;\n }\n if (ch == \"]\")\n maybeEnd++;\n else if (ch != \" \")\n maybeEnd = 0;\n }\n return \"meta\";\n}\n// Interface\n\nexport const velocity = {\n name: \"velocity\",\n\n startState: function() {\n return {\n tokenize: tokenBase,\n beforeParams: false,\n inParams: false,\n inString: false,\n lastTokenWasBuiltin: false\n };\n },\n\n token: function(stream, state) {\n if (stream.eatSpace()) return null;\n return state.tokenize(stream, state);\n },\n languageData: {\n commentTokens: {line: \"##\", block: {open: \"#*\", close: \"*#\"}}\n }\n};\n"],"x_google_ignoreList":[0],"mappings":"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"}
1
+ {"version":3,"file":"velocity-DYmMYLwp.js","names":[],"sources":["../../../../node_modules/.pnpm/@codemirror+legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/velocity.js"],"sourcesContent":["function parseWords(str) {\n var obj = {}, words = str.split(\" \");\n for (var i = 0; i < words.length; ++i) obj[words[i]] = true;\n return obj;\n}\n\nvar keywords = parseWords(\"#end #else #break #stop #[[ #]] \" +\n \"#{end} #{else} #{break} #{stop}\");\nvar functions = parseWords(\"#if #elseif #foreach #set #include #parse #macro #define #evaluate \" +\n \"#{if} #{elseif} #{foreach} #{set} #{include} #{parse} #{macro} #{define} #{evaluate}\");\nvar specials = parseWords(\"$foreach.count $foreach.hasNext $foreach.first $foreach.last $foreach.topmost $foreach.parent.count $foreach.parent.hasNext $foreach.parent.first $foreach.parent.last $foreach.parent $velocityCount $!bodyContent $bodyContent\");\nvar isOperatorChar = /[+\\-*&%=<>!?:\\/|]/;\n\nfunction chain(stream, state, f) {\n state.tokenize = f;\n return f(stream, state);\n}\nfunction tokenBase(stream, state) {\n var beforeParams = state.beforeParams;\n state.beforeParams = false;\n var ch = stream.next();\n // start of unparsed string?\n if ((ch == \"'\") && !state.inString && state.inParams) {\n state.lastTokenWasBuiltin = false;\n return chain(stream, state, tokenString(ch));\n }\n // start of parsed string?\n else if ((ch == '\"')) {\n state.lastTokenWasBuiltin = false;\n if (state.inString) {\n state.inString = false;\n return \"string\";\n }\n else if (state.inParams)\n return chain(stream, state, tokenString(ch));\n }\n // is it one of the special signs []{}().,;? Separator?\n else if (/[\\[\\]{}\\(\\),;\\.]/.test(ch)) {\n if (ch == \"(\" && beforeParams)\n state.inParams = true;\n else if (ch == \")\") {\n state.inParams = false;\n state.lastTokenWasBuiltin = true;\n }\n return null;\n }\n // start of a number value?\n else if (/\\d/.test(ch)) {\n state.lastTokenWasBuiltin = false;\n stream.eatWhile(/[\\w\\.]/);\n return \"number\";\n }\n // multi line comment?\n else if (ch == \"#\" && stream.eat(\"*\")) {\n state.lastTokenWasBuiltin = false;\n return chain(stream, state, tokenComment);\n }\n // unparsed content?\n else if (ch == \"#\" && stream.match(/ *\\[ *\\[/)) {\n state.lastTokenWasBuiltin = false;\n return chain(stream, state, tokenUnparsed);\n }\n // single line comment?\n else if (ch == \"#\" && stream.eat(\"#\")) {\n state.lastTokenWasBuiltin = false;\n stream.skipToEnd();\n return \"comment\";\n }\n // variable?\n else if (ch == \"$\") {\n stream.eat(\"!\");\n stream.eatWhile(/[\\w\\d\\$_\\.{}-]/);\n // is it one of the specials?\n if (specials && specials.propertyIsEnumerable(stream.current())) {\n return \"keyword\";\n }\n else {\n state.lastTokenWasBuiltin = true;\n state.beforeParams = true;\n return \"builtin\";\n }\n }\n // is it a operator?\n else if (isOperatorChar.test(ch)) {\n state.lastTokenWasBuiltin = false;\n stream.eatWhile(isOperatorChar);\n return \"operator\";\n }\n else {\n // get the whole word\n stream.eatWhile(/[\\w\\$_{}@]/);\n var word = stream.current();\n // is it one of the listed keywords?\n if (keywords && keywords.propertyIsEnumerable(word))\n return \"keyword\";\n // is it one of the listed functions?\n if (functions && functions.propertyIsEnumerable(word) ||\n (stream.current().match(/^#@?[a-z0-9_]+ *$/i) && stream.peek()==\"(\") &&\n !(functions && functions.propertyIsEnumerable(word.toLowerCase()))) {\n state.beforeParams = true;\n state.lastTokenWasBuiltin = false;\n return \"keyword\";\n }\n if (state.inString) {\n state.lastTokenWasBuiltin = false;\n return \"string\";\n }\n if (stream.pos > word.length && stream.string.charAt(stream.pos-word.length-1)==\".\" && state.lastTokenWasBuiltin)\n return \"builtin\";\n // default: just a \"word\"\n state.lastTokenWasBuiltin = false;\n return null;\n }\n}\n\nfunction tokenString(quote) {\n return function(stream, state) {\n var escaped = false, next, end = false;\n while ((next = stream.next()) != null) {\n if ((next == quote) && !escaped) {\n end = true;\n break;\n }\n if (quote=='\"' && stream.peek() == '$' && !escaped) {\n state.inString = true;\n end = true;\n break;\n }\n escaped = !escaped && next == \"\\\\\";\n }\n if (end) state.tokenize = tokenBase;\n return \"string\";\n };\n}\n\nfunction tokenComment(stream, state) {\n var maybeEnd = false, ch;\n while (ch = stream.next()) {\n if (ch == \"#\" && maybeEnd) {\n state.tokenize = tokenBase;\n break;\n }\n maybeEnd = (ch == \"*\");\n }\n return \"comment\";\n}\n\nfunction tokenUnparsed(stream, state) {\n var maybeEnd = 0, ch;\n while (ch = stream.next()) {\n if (ch == \"#\" && maybeEnd == 2) {\n state.tokenize = tokenBase;\n break;\n }\n if (ch == \"]\")\n maybeEnd++;\n else if (ch != \" \")\n maybeEnd = 0;\n }\n return \"meta\";\n}\n// Interface\n\nexport const velocity = {\n name: \"velocity\",\n\n startState: function() {\n return {\n tokenize: tokenBase,\n beforeParams: false,\n inParams: false,\n inString: false,\n lastTokenWasBuiltin: false\n };\n },\n\n token: function(stream, state) {\n if (stream.eatSpace()) return null;\n return state.tokenize(stream, state);\n },\n languageData: {\n commentTokens: {line: \"##\", block: {open: \"#*\", close: \"*#\"}}\n }\n};\n"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -218,4 +218,4 @@ e({ hooks: {
218
218
  //#endregion
219
219
  export { t as verilog };
220
220
 
221
- //# sourceMappingURL=verilog-BhlfpzOZ.js.map
221
+ //# sourceMappingURL=verilog-UsIZeNkB.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"verilog-BhlfpzOZ.js","names":[],"sources":["../../../../node_modules/.pnpm/@codemirror+legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/verilog.js"],"sourcesContent":["function mkVerilog(parserConfig) {\n\n var statementIndentUnit = parserConfig.statementIndentUnit,\n dontAlignCalls = parserConfig.dontAlignCalls,\n noIndentKeywords = parserConfig.noIndentKeywords || [],\n multiLineStrings = parserConfig.multiLineStrings,\n hooks = parserConfig.hooks || {};\n\n function words(str) {\n var obj = {}, words = str.split(\" \");\n for (var i = 0; i < words.length; ++i) obj[words[i]] = true;\n return obj;\n }\n\n /**\n * Keywords from IEEE 1800-2012\n */\n var keywords = words(\n \"accept_on alias always always_comb always_ff always_latch and assert assign assume automatic before begin bind \" +\n \"bins binsof bit break buf bufif0 bufif1 byte case casex casez cell chandle checker class clocking cmos config \" +\n \"const constraint context continue cover covergroup coverpoint cross deassign default defparam design disable \" +\n \"dist do edge else end endcase endchecker endclass endclocking endconfig endfunction endgenerate endgroup \" +\n \"endinterface endmodule endpackage endprimitive endprogram endproperty endspecify endsequence endtable endtask \" +\n \"enum event eventually expect export extends extern final first_match for force foreach forever fork forkjoin \" +\n \"function generate genvar global highz0 highz1 if iff ifnone ignore_bins illegal_bins implements implies import \" +\n \"incdir include initial inout input inside instance int integer interconnect interface intersect join join_any \" +\n \"join_none large let liblist library local localparam logic longint macromodule matches medium modport module \" +\n \"nand negedge nettype new nexttime nmos nor noshowcancelled not notif0 notif1 null or output package packed \" +\n \"parameter pmos posedge primitive priority program property protected pull0 pull1 pulldown pullup \" +\n \"pulsestyle_ondetect pulsestyle_onevent pure rand randc randcase randsequence rcmos real realtime ref reg \" +\n \"reject_on release repeat restrict return rnmos rpmos rtran rtranif0 rtranif1 s_always s_eventually s_nexttime \" +\n \"s_until s_until_with scalared sequence shortint shortreal showcancelled signed small soft solve specify \" +\n \"specparam static string strong strong0 strong1 struct super supply0 supply1 sync_accept_on sync_reject_on \" +\n \"table tagged task this throughout time timeprecision timeunit tran tranif0 tranif1 tri tri0 tri1 triand trior \" +\n \"trireg type typedef union unique unique0 unsigned until until_with untyped use uwire var vectored virtual void \" +\n \"wait wait_order wand weak weak0 weak1 while wildcard wire with within wor xnor xor\");\n\n /** Operators from IEEE 1800-2012\n unary_operator ::=\n + | - | ! | ~ | & | ~& | | | ~| | ^ | ~^ | ^~\n binary_operator ::=\n + | - | * | / | % | == | != | === | !== | ==? | !=? | && | || | **\n | < | <= | > | >= | & | | | ^ | ^~ | ~^ | >> | << | >>> | <<<\n | -> | <->\n inc_or_dec_operator ::= ++ | --\n unary_module_path_operator ::=\n ! | ~ | & | ~& | | | ~| | ^ | ~^ | ^~\n binary_module_path_operator ::=\n == | != | && | || | & | | | ^ | ^~ | ~^\n */\n var isOperatorChar = /[\\+\\-\\*\\/!~&|^%=?:]/;\n var isBracketChar = /[\\[\\]{}()]/;\n\n var unsignedNumber = /\\d[0-9_]*/;\n var decimalLiteral = /\\d*\\s*'s?d\\s*\\d[0-9_]*/i;\n var binaryLiteral = /\\d*\\s*'s?b\\s*[xz01][xz01_]*/i;\n var octLiteral = /\\d*\\s*'s?o\\s*[xz0-7][xz0-7_]*/i;\n var hexLiteral = /\\d*\\s*'s?h\\s*[0-9a-fxz?][0-9a-fxz?_]*/i;\n var realLiteral = /(\\d[\\d_]*(\\.\\d[\\d_]*)?E-?[\\d_]+)|(\\d[\\d_]*\\.\\d[\\d_]*)/i;\n\n var closingBracketOrWord = /^((\\w+)|[)}\\]])/;\n var closingBracket = /[)}\\]]/;\n\n var curPunc;\n var curKeyword;\n\n // Block openings which are closed by a matching keyword in the form of (\"end\" + keyword)\n // E.g. \"task\" => \"endtask\"\n var blockKeywords = words(\n \"case checker class clocking config function generate interface module package \" +\n \"primitive program property specify sequence table task\"\n );\n\n // Opening/closing pairs\n var openClose = {};\n for (var keyword in blockKeywords) {\n openClose[keyword] = \"end\" + keyword;\n }\n openClose[\"begin\"] = \"end\";\n openClose[\"casex\"] = \"endcase\";\n openClose[\"casez\"] = \"endcase\";\n openClose[\"do\" ] = \"while\";\n openClose[\"fork\" ] = \"join;join_any;join_none\";\n openClose[\"covergroup\"] = \"endgroup\";\n\n for (var i in noIndentKeywords) {\n var keyword = noIndentKeywords[i];\n if (openClose[keyword]) {\n openClose[keyword] = undefined;\n }\n }\n\n // Keywords which open statements that are ended with a semi-colon\n var statementKeywords = words(\"always always_comb always_ff always_latch assert assign assume else export for foreach forever if import initial repeat while\");\n\n function tokenBase(stream, state) {\n var ch = stream.peek(), style;\n if (hooks[ch] && (style = hooks[ch](stream, state)) != false) return style;\n if (hooks.tokenBase && (style = hooks.tokenBase(stream, state)) != false)\n return style;\n\n if (/[,;:\\.]/.test(ch)) {\n curPunc = stream.next();\n return null;\n }\n if (isBracketChar.test(ch)) {\n curPunc = stream.next();\n return \"bracket\";\n }\n // Macros (tick-defines)\n if (ch == '`') {\n stream.next();\n if (stream.eatWhile(/[\\w\\$_]/)) {\n return \"def\";\n } else {\n return null;\n }\n }\n // System calls\n if (ch == '$') {\n stream.next();\n if (stream.eatWhile(/[\\w\\$_]/)) {\n return \"meta\";\n } else {\n return null;\n }\n }\n // Time literals\n if (ch == '#') {\n stream.next();\n stream.eatWhile(/[\\d_.]/);\n return \"def\";\n }\n // Strings\n if (ch == '\"') {\n stream.next();\n state.tokenize = tokenString(ch);\n return state.tokenize(stream, state);\n }\n // Comments\n if (ch == \"/\") {\n stream.next();\n if (stream.eat(\"*\")) {\n state.tokenize = tokenComment;\n return tokenComment(stream, state);\n }\n if (stream.eat(\"/\")) {\n stream.skipToEnd();\n return \"comment\";\n }\n stream.backUp(1);\n }\n\n // Numeric literals\n if (stream.match(realLiteral) ||\n stream.match(decimalLiteral) ||\n stream.match(binaryLiteral) ||\n stream.match(octLiteral) ||\n stream.match(hexLiteral) ||\n stream.match(unsignedNumber) ||\n stream.match(realLiteral)) {\n return \"number\";\n }\n\n // Operators\n if (stream.eatWhile(isOperatorChar)) {\n return \"meta\";\n }\n\n // Keywords / plain variables\n if (stream.eatWhile(/[\\w\\$_]/)) {\n var cur = stream.current();\n if (keywords[cur]) {\n if (openClose[cur]) {\n curPunc = \"newblock\";\n }\n if (statementKeywords[cur]) {\n curPunc = \"newstatement\";\n }\n curKeyword = cur;\n return \"keyword\";\n }\n return \"variable\";\n }\n\n stream.next();\n return null;\n }\n\n function tokenString(quote) {\n return function(stream, state) {\n var escaped = false, next, end = false;\n while ((next = stream.next()) != null) {\n if (next == quote && !escaped) {end = true; break;}\n escaped = !escaped && next == \"\\\\\";\n }\n if (end || !(escaped || multiLineStrings))\n state.tokenize = tokenBase;\n return \"string\";\n };\n }\n\n function tokenComment(stream, state) {\n var maybeEnd = false, ch;\n while (ch = stream.next()) {\n if (ch == \"/\" && maybeEnd) {\n state.tokenize = tokenBase;\n break;\n }\n maybeEnd = (ch == \"*\");\n }\n return \"comment\";\n }\n\n function Context(indented, column, type, align, prev) {\n this.indented = indented;\n this.column = column;\n this.type = type;\n this.align = align;\n this.prev = prev;\n }\n function pushContext(state, col, type) {\n var indent = state.indented;\n var c = new Context(indent, col, type, null, state.context);\n return state.context = c;\n }\n function popContext(state) {\n var t = state.context.type;\n if (t == \")\" || t == \"]\" || t == \"}\") {\n state.indented = state.context.indented;\n }\n return state.context = state.context.prev;\n }\n\n function isClosing(text, contextClosing) {\n if (text == contextClosing) {\n return true;\n } else {\n // contextClosing may be multiple keywords separated by ;\n var closingKeywords = contextClosing.split(\";\");\n for (var i in closingKeywords) {\n if (text == closingKeywords[i]) {\n return true;\n }\n }\n return false;\n }\n }\n\n function buildElectricInputRegEx() {\n // Reindentation should occur on any bracket char: {}()[]\n // or on a match of any of the block closing keywords, at\n // the end of a line\n var allClosings = [];\n for (var i in openClose) {\n if (openClose[i]) {\n var closings = openClose[i].split(\";\");\n for (var j in closings) {\n allClosings.push(closings[j]);\n }\n }\n }\n var re = new RegExp(\"[{}()\\\\[\\\\]]|(\" + allClosings.join(\"|\") + \")$\");\n return re;\n }\n\n // Interface\n return {\n name: \"verilog\",\n\n startState: function(indentUnit) {\n var state = {\n tokenize: null,\n context: new Context(-indentUnit, 0, \"top\", false),\n indented: 0,\n startOfLine: true\n };\n if (hooks.startState) hooks.startState(state);\n return state;\n },\n\n token: function(stream, state) {\n var ctx = state.context;\n if (stream.sol()) {\n if (ctx.align == null) ctx.align = false;\n state.indented = stream.indentation();\n state.startOfLine = true;\n }\n if (hooks.token) {\n // Call hook, with an optional return value of a style to override verilog styling.\n var style = hooks.token(stream, state);\n if (style !== undefined) {\n return style;\n }\n }\n if (stream.eatSpace()) return null;\n curPunc = null;\n curKeyword = null;\n var style = (state.tokenize || tokenBase)(stream, state);\n if (style == \"comment\" || style == \"meta\" || style == \"variable\") return style;\n if (ctx.align == null) ctx.align = true;\n\n if (curPunc == ctx.type) {\n popContext(state);\n } else if ((curPunc == \";\" && ctx.type == \"statement\") ||\n (ctx.type && isClosing(curKeyword, ctx.type))) {\n ctx = popContext(state);\n while (ctx && ctx.type == \"statement\") ctx = popContext(state);\n } else if (curPunc == \"{\") {\n pushContext(state, stream.column(), \"}\");\n } else if (curPunc == \"[\") {\n pushContext(state, stream.column(), \"]\");\n } else if (curPunc == \"(\") {\n pushContext(state, stream.column(), \")\");\n } else if (ctx && ctx.type == \"endcase\" && curPunc == \":\") {\n pushContext(state, stream.column(), \"statement\");\n } else if (curPunc == \"newstatement\") {\n pushContext(state, stream.column(), \"statement\");\n } else if (curPunc == \"newblock\") {\n if (curKeyword == \"function\" && ctx && (ctx.type == \"statement\" || ctx.type == \"endgroup\")) {\n // The 'function' keyword can appear in some other contexts where it actually does not\n // indicate a function (import/export DPI and covergroup definitions).\n // Do nothing in this case\n } else if (curKeyword == \"task\" && ctx && ctx.type == \"statement\") {\n // Same thing for task\n } else {\n var close = openClose[curKeyword];\n pushContext(state, stream.column(), close);\n }\n }\n\n state.startOfLine = false;\n return style;\n },\n\n indent: function(state, textAfter, cx) {\n if (state.tokenize != tokenBase && state.tokenize != null) return null;\n if (hooks.indent) {\n var fromHook = hooks.indent(state);\n if (fromHook >= 0) return fromHook;\n }\n var ctx = state.context, firstChar = textAfter && textAfter.charAt(0);\n if (ctx.type == \"statement\" && firstChar == \"}\") ctx = ctx.prev;\n var closing = false;\n var possibleClosing = textAfter.match(closingBracketOrWord);\n if (possibleClosing)\n closing = isClosing(possibleClosing[0], ctx.type);\n if (ctx.type == \"statement\") return ctx.indented + (firstChar == \"{\" ? 0 : statementIndentUnit || cx.unit);\n else if (closingBracket.test(ctx.type) && ctx.align && !dontAlignCalls) return ctx.column + (closing ? 0 : 1);\n else if (ctx.type == \")\" && !closing) return ctx.indented + (statementIndentUnit || cx.unit);\n else return ctx.indented + (closing ? 0 : cx.unit);\n },\n\n languageData: {\n indentOnInput: buildElectricInputRegEx(),\n commentTokens: {line: \"//\", block: {open: \"/*\", close: \"*/\"}}\n }\n };\n};\n\nexport const verilog = mkVerilog({})\n\n// TL-Verilog mode.\n// See tl-x.org for language spec.\n// See the mode in action at makerchip.com.\n// Contact: steve.hoover@redwoodeda.com\n\n// TLV Identifier prefixes.\n// Note that sign is not treated separately, so \"+/-\" versions of numeric identifiers\n// are included.\nvar tlvIdentifierStyle = {\n \"|\": \"link\",\n \">\": \"property\", // Should condition this off for > TLV 1c.\n \"$\": \"variable\",\n \"$$\": \"variable\",\n \"?$\": \"qualifier\",\n \"?*\": \"qualifier\",\n \"-\": \"contentSeparator\",\n \"/\": \"property\",\n \"/-\": \"property\",\n \"@\": \"variableName.special\",\n \"@-\": \"variableName.special\",\n \"@++\": \"variableName.special\",\n \"@+=\": \"variableName.special\",\n \"@+=-\": \"variableName.special\",\n \"@--\": \"variableName.special\",\n \"@-=\": \"variableName.special\",\n \"%+\": \"tag\",\n \"%-\": \"tag\",\n \"%\": \"tag\",\n \">>\": \"tag\",\n \"<<\": \"tag\",\n \"<>\": \"tag\",\n \"#\": \"tag\", // Need to choose a style for this.\n \"^\": \"attribute\",\n \"^^\": \"attribute\",\n \"^!\": \"attribute\",\n \"*\": \"variable\",\n \"**\": \"variable\",\n \"\\\\\": \"keyword\",\n \"\\\"\": \"comment\"\n};\n\n// Lines starting with these characters define scope (result in indentation).\nvar tlvScopePrefixChars = {\n \"/\": \"beh-hier\",\n \">\": \"beh-hier\",\n \"-\": \"phys-hier\",\n \"|\": \"pipe\",\n \"?\": \"when\",\n \"@\": \"stage\",\n \"\\\\\": \"keyword\"\n};\nvar tlvIndentUnit = 3;\nvar tlvTrackStatements = false;\nvar tlvIdentMatch = /^([~!@#\\$%\\^&\\*-\\+=\\?\\/\\\\\\|'\"<>]+)([\\d\\w_]*)/; // Matches an identifier.\n// Note that ':' is excluded, because of it's use in [:].\nvar tlvLineIndentationMatch = /^[! ] */;\nvar tlvCommentMatch = /^\\/[\\/\\*]/;\n\nexport const tlv = mkVerilog({\n hooks: {\n electricInput: false,\n\n // Return undefined for verilog tokenizing, or style for TLV token (null not used).\n // Standard CM styles are used for most formatting, but some TL-Verilog-specific highlighting\n // can be enabled with the definition of cm-tlv-* styles, including highlighting for:\n // - M4 tokens\n // - TLV scope indentation\n // - Statement delimitation (enabled by tlvTrackStatements)\n token: function(stream, state) {\n var style = undefined;\n var match; // Return value of pattern matches.\n\n // Set highlighting mode based on code region (TLV or SV).\n if (stream.sol() && ! state.tlvInBlockComment) {\n // Process region.\n if (stream.peek() == '\\\\') {\n style = \"def\";\n stream.skipToEnd();\n if (stream.string.match(/\\\\SV/)) {\n state.tlvCodeActive = false;\n } else if (stream.string.match(/\\\\TLV/)){\n state.tlvCodeActive = true;\n }\n }\n // Correct indentation in the face of a line prefix char.\n if (state.tlvCodeActive && stream.pos == 0 &&\n (state.indented == 0) && (match = stream.match(tlvLineIndentationMatch, false))) {\n state.indented = match[0].length;\n }\n\n // Compute indentation state:\n // o Auto indentation on next line\n // o Indentation scope styles\n var indented = state.indented;\n var depth = indented / tlvIndentUnit;\n if (depth <= state.tlvIndentationStyle.length) {\n // not deeper than current scope\n\n var blankline = stream.string.length == indented;\n var chPos = depth * tlvIndentUnit;\n if (chPos < stream.string.length) {\n var bodyString = stream.string.slice(chPos);\n var ch = bodyString[0];\n if (tlvScopePrefixChars[ch] && ((match = bodyString.match(tlvIdentMatch)) &&\n tlvIdentifierStyle[match[1]])) {\n // This line begins scope.\n // Next line gets indented one level.\n indented += tlvIndentUnit;\n // Style the next level of indentation (except non-region keyword identifiers,\n // which are statements themselves)\n if (!(ch == \"\\\\\" && chPos > 0)) {\n state.tlvIndentationStyle[depth] = tlvScopePrefixChars[ch];\n if (tlvTrackStatements) {state.statementComment = false;}\n depth++;\n }\n }\n }\n // Clear out deeper indentation levels unless line is blank.\n if (!blankline) {\n while (state.tlvIndentationStyle.length > depth) {\n state.tlvIndentationStyle.pop();\n }\n }\n }\n // Set next level of indentation.\n state.tlvNextIndent = indented;\n }\n\n if (state.tlvCodeActive) {\n // Highlight as TLV.\n\n var beginStatement = false;\n if (tlvTrackStatements) {\n // This starts a statement if the position is at the scope level\n // and we're not within a statement leading comment.\n beginStatement =\n (stream.peek() != \" \") && // not a space\n (style === undefined) && // not a region identifier\n !state.tlvInBlockComment && // not in block comment\n //!stream.match(tlvCommentMatch, false) && // not comment start\n (stream.column() == state.tlvIndentationStyle.length * tlvIndentUnit); // at scope level\n if (beginStatement) {\n if (state.statementComment) {\n // statement already started by comment\n beginStatement = false;\n }\n state.statementComment =\n stream.match(tlvCommentMatch, false); // comment start\n }\n }\n\n var match;\n if (style !== undefined) {\n } else if (state.tlvInBlockComment) {\n // In a block comment.\n if (stream.match(/^.*?\\*\\//)) {\n // Exit block comment.\n state.tlvInBlockComment = false;\n if (tlvTrackStatements && !stream.eol()) {\n // Anything after comment is assumed to be real statement content.\n state.statementComment = false;\n }\n } else {\n stream.skipToEnd();\n }\n style = \"comment\";\n } else if ((match = stream.match(tlvCommentMatch)) && !state.tlvInBlockComment) {\n // Start comment.\n if (match[0] == \"//\") {\n // Line comment.\n stream.skipToEnd();\n } else {\n // Block comment.\n state.tlvInBlockComment = true;\n }\n style = \"comment\";\n } else if (match = stream.match(tlvIdentMatch)) {\n // looks like an identifier (or identifier prefix)\n var prefix = match[1];\n var mnemonic = match[2];\n if (// is identifier prefix\n tlvIdentifierStyle.hasOwnProperty(prefix) &&\n // has mnemonic or we're at the end of the line (maybe it hasn't been typed yet)\n (mnemonic.length > 0 || stream.eol())) {\n style = tlvIdentifierStyle[prefix];\n } else {\n // Just swallow one character and try again.\n // This enables subsequent identifier match with preceding symbol character, which\n // is legal within a statement. (Eg, !$reset). It also enables detection of\n // comment start with preceding symbols.\n stream.backUp(stream.current().length - 1);\n }\n } else if (stream.match(/^\\t+/)) {\n // Highlight tabs, which are illegal.\n style = \"invalid\";\n } else if (stream.match(/^[\\[\\]{}\\(\\);\\:]+/)) {\n // [:], (), {}, ;.\n style = \"meta\";\n } else if (match = stream.match(/^[mM]4([\\+_])?[\\w\\d_]*/)) {\n // m4 pre proc\n style = (match[1] == \"+\") ? \"keyword.special\" : \"keyword\";\n } else if (stream.match(/^ +/)){\n // Skip over spaces.\n if (stream.eol()) {\n // Trailing spaces.\n style = \"error\";\n }\n } else if (stream.match(/^[\\w\\d_]+/)) {\n // alpha-numeric token.\n style = \"number\";\n } else {\n // Eat the next char w/ no formatting.\n stream.next();\n }\n } else {\n if (stream.match(/^[mM]4([\\w\\d_]*)/)) {\n // m4 pre proc\n style = \"keyword\";\n }\n }\n return style;\n },\n\n indent: function(state) {\n return (state.tlvCodeActive == true) ? state.tlvNextIndent : -1;\n },\n\n startState: function(state) {\n state.tlvIndentationStyle = []; // Styles to use for each level of indentation.\n state.tlvCodeActive = true; // True when we're in a TLV region (and at beginning of file).\n state.tlvNextIndent = -1; // The number of spaces to autoindent the next line if tlvCodeActive.\n state.tlvInBlockComment = false; // True inside /**/ comment.\n if (tlvTrackStatements) {\n state.statementComment = false; // True inside a statement's header comment.\n }\n }\n\n }\n});\n"],"x_google_ignoreList":[0],"mappings":"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"}
1
+ {"version":3,"file":"verilog-UsIZeNkB.js","names":[],"sources":["../../../../node_modules/.pnpm/@codemirror+legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/verilog.js"],"sourcesContent":["function mkVerilog(parserConfig) {\n\n var statementIndentUnit = parserConfig.statementIndentUnit,\n dontAlignCalls = parserConfig.dontAlignCalls,\n noIndentKeywords = parserConfig.noIndentKeywords || [],\n multiLineStrings = parserConfig.multiLineStrings,\n hooks = parserConfig.hooks || {};\n\n function words(str) {\n var obj = {}, words = str.split(\" \");\n for (var i = 0; i < words.length; ++i) obj[words[i]] = true;\n return obj;\n }\n\n /**\n * Keywords from IEEE 1800-2012\n */\n var keywords = words(\n \"accept_on alias always always_comb always_ff always_latch and assert assign assume automatic before begin bind \" +\n \"bins binsof bit break buf bufif0 bufif1 byte case casex casez cell chandle checker class clocking cmos config \" +\n \"const constraint context continue cover covergroup coverpoint cross deassign default defparam design disable \" +\n \"dist do edge else end endcase endchecker endclass endclocking endconfig endfunction endgenerate endgroup \" +\n \"endinterface endmodule endpackage endprimitive endprogram endproperty endspecify endsequence endtable endtask \" +\n \"enum event eventually expect export extends extern final first_match for force foreach forever fork forkjoin \" +\n \"function generate genvar global highz0 highz1 if iff ifnone ignore_bins illegal_bins implements implies import \" +\n \"incdir include initial inout input inside instance int integer interconnect interface intersect join join_any \" +\n \"join_none large let liblist library local localparam logic longint macromodule matches medium modport module \" +\n \"nand negedge nettype new nexttime nmos nor noshowcancelled not notif0 notif1 null or output package packed \" +\n \"parameter pmos posedge primitive priority program property protected pull0 pull1 pulldown pullup \" +\n \"pulsestyle_ondetect pulsestyle_onevent pure rand randc randcase randsequence rcmos real realtime ref reg \" +\n \"reject_on release repeat restrict return rnmos rpmos rtran rtranif0 rtranif1 s_always s_eventually s_nexttime \" +\n \"s_until s_until_with scalared sequence shortint shortreal showcancelled signed small soft solve specify \" +\n \"specparam static string strong strong0 strong1 struct super supply0 supply1 sync_accept_on sync_reject_on \" +\n \"table tagged task this throughout time timeprecision timeunit tran tranif0 tranif1 tri tri0 tri1 triand trior \" +\n \"trireg type typedef union unique unique0 unsigned until until_with untyped use uwire var vectored virtual void \" +\n \"wait wait_order wand weak weak0 weak1 while wildcard wire with within wor xnor xor\");\n\n /** Operators from IEEE 1800-2012\n unary_operator ::=\n + | - | ! | ~ | & | ~& | | | ~| | ^ | ~^ | ^~\n binary_operator ::=\n + | - | * | / | % | == | != | === | !== | ==? | !=? | && | || | **\n | < | <= | > | >= | & | | | ^ | ^~ | ~^ | >> | << | >>> | <<<\n | -> | <->\n inc_or_dec_operator ::= ++ | --\n unary_module_path_operator ::=\n ! | ~ | & | ~& | | | ~| | ^ | ~^ | ^~\n binary_module_path_operator ::=\n == | != | && | || | & | | | ^ | ^~ | ~^\n */\n var isOperatorChar = /[\\+\\-\\*\\/!~&|^%=?:]/;\n var isBracketChar = /[\\[\\]{}()]/;\n\n var unsignedNumber = /\\d[0-9_]*/;\n var decimalLiteral = /\\d*\\s*'s?d\\s*\\d[0-9_]*/i;\n var binaryLiteral = /\\d*\\s*'s?b\\s*[xz01][xz01_]*/i;\n var octLiteral = /\\d*\\s*'s?o\\s*[xz0-7][xz0-7_]*/i;\n var hexLiteral = /\\d*\\s*'s?h\\s*[0-9a-fxz?][0-9a-fxz?_]*/i;\n var realLiteral = /(\\d[\\d_]*(\\.\\d[\\d_]*)?E-?[\\d_]+)|(\\d[\\d_]*\\.\\d[\\d_]*)/i;\n\n var closingBracketOrWord = /^((\\w+)|[)}\\]])/;\n var closingBracket = /[)}\\]]/;\n\n var curPunc;\n var curKeyword;\n\n // Block openings which are closed by a matching keyword in the form of (\"end\" + keyword)\n // E.g. \"task\" => \"endtask\"\n var blockKeywords = words(\n \"case checker class clocking config function generate interface module package \" +\n \"primitive program property specify sequence table task\"\n );\n\n // Opening/closing pairs\n var openClose = {};\n for (var keyword in blockKeywords) {\n openClose[keyword] = \"end\" + keyword;\n }\n openClose[\"begin\"] = \"end\";\n openClose[\"casex\"] = \"endcase\";\n openClose[\"casez\"] = \"endcase\";\n openClose[\"do\" ] = \"while\";\n openClose[\"fork\" ] = \"join;join_any;join_none\";\n openClose[\"covergroup\"] = \"endgroup\";\n\n for (var i in noIndentKeywords) {\n var keyword = noIndentKeywords[i];\n if (openClose[keyword]) {\n openClose[keyword] = undefined;\n }\n }\n\n // Keywords which open statements that are ended with a semi-colon\n var statementKeywords = words(\"always always_comb always_ff always_latch assert assign assume else export for foreach forever if import initial repeat while\");\n\n function tokenBase(stream, state) {\n var ch = stream.peek(), style;\n if (hooks[ch] && (style = hooks[ch](stream, state)) != false) return style;\n if (hooks.tokenBase && (style = hooks.tokenBase(stream, state)) != false)\n return style;\n\n if (/[,;:\\.]/.test(ch)) {\n curPunc = stream.next();\n return null;\n }\n if (isBracketChar.test(ch)) {\n curPunc = stream.next();\n return \"bracket\";\n }\n // Macros (tick-defines)\n if (ch == '`') {\n stream.next();\n if (stream.eatWhile(/[\\w\\$_]/)) {\n return \"def\";\n } else {\n return null;\n }\n }\n // System calls\n if (ch == '$') {\n stream.next();\n if (stream.eatWhile(/[\\w\\$_]/)) {\n return \"meta\";\n } else {\n return null;\n }\n }\n // Time literals\n if (ch == '#') {\n stream.next();\n stream.eatWhile(/[\\d_.]/);\n return \"def\";\n }\n // Strings\n if (ch == '\"') {\n stream.next();\n state.tokenize = tokenString(ch);\n return state.tokenize(stream, state);\n }\n // Comments\n if (ch == \"/\") {\n stream.next();\n if (stream.eat(\"*\")) {\n state.tokenize = tokenComment;\n return tokenComment(stream, state);\n }\n if (stream.eat(\"/\")) {\n stream.skipToEnd();\n return \"comment\";\n }\n stream.backUp(1);\n }\n\n // Numeric literals\n if (stream.match(realLiteral) ||\n stream.match(decimalLiteral) ||\n stream.match(binaryLiteral) ||\n stream.match(octLiteral) ||\n stream.match(hexLiteral) ||\n stream.match(unsignedNumber) ||\n stream.match(realLiteral)) {\n return \"number\";\n }\n\n // Operators\n if (stream.eatWhile(isOperatorChar)) {\n return \"meta\";\n }\n\n // Keywords / plain variables\n if (stream.eatWhile(/[\\w\\$_]/)) {\n var cur = stream.current();\n if (keywords[cur]) {\n if (openClose[cur]) {\n curPunc = \"newblock\";\n }\n if (statementKeywords[cur]) {\n curPunc = \"newstatement\";\n }\n curKeyword = cur;\n return \"keyword\";\n }\n return \"variable\";\n }\n\n stream.next();\n return null;\n }\n\n function tokenString(quote) {\n return function(stream, state) {\n var escaped = false, next, end = false;\n while ((next = stream.next()) != null) {\n if (next == quote && !escaped) {end = true; break;}\n escaped = !escaped && next == \"\\\\\";\n }\n if (end || !(escaped || multiLineStrings))\n state.tokenize = tokenBase;\n return \"string\";\n };\n }\n\n function tokenComment(stream, state) {\n var maybeEnd = false, ch;\n while (ch = stream.next()) {\n if (ch == \"/\" && maybeEnd) {\n state.tokenize = tokenBase;\n break;\n }\n maybeEnd = (ch == \"*\");\n }\n return \"comment\";\n }\n\n function Context(indented, column, type, align, prev) {\n this.indented = indented;\n this.column = column;\n this.type = type;\n this.align = align;\n this.prev = prev;\n }\n function pushContext(state, col, type) {\n var indent = state.indented;\n var c = new Context(indent, col, type, null, state.context);\n return state.context = c;\n }\n function popContext(state) {\n var t = state.context.type;\n if (t == \")\" || t == \"]\" || t == \"}\") {\n state.indented = state.context.indented;\n }\n return state.context = state.context.prev;\n }\n\n function isClosing(text, contextClosing) {\n if (text == contextClosing) {\n return true;\n } else {\n // contextClosing may be multiple keywords separated by ;\n var closingKeywords = contextClosing.split(\";\");\n for (var i in closingKeywords) {\n if (text == closingKeywords[i]) {\n return true;\n }\n }\n return false;\n }\n }\n\n function buildElectricInputRegEx() {\n // Reindentation should occur on any bracket char: {}()[]\n // or on a match of any of the block closing keywords, at\n // the end of a line\n var allClosings = [];\n for (var i in openClose) {\n if (openClose[i]) {\n var closings = openClose[i].split(\";\");\n for (var j in closings) {\n allClosings.push(closings[j]);\n }\n }\n }\n var re = new RegExp(\"[{}()\\\\[\\\\]]|(\" + allClosings.join(\"|\") + \")$\");\n return re;\n }\n\n // Interface\n return {\n name: \"verilog\",\n\n startState: function(indentUnit) {\n var state = {\n tokenize: null,\n context: new Context(-indentUnit, 0, \"top\", false),\n indented: 0,\n startOfLine: true\n };\n if (hooks.startState) hooks.startState(state);\n return state;\n },\n\n token: function(stream, state) {\n var ctx = state.context;\n if (stream.sol()) {\n if (ctx.align == null) ctx.align = false;\n state.indented = stream.indentation();\n state.startOfLine = true;\n }\n if (hooks.token) {\n // Call hook, with an optional return value of a style to override verilog styling.\n var style = hooks.token(stream, state);\n if (style !== undefined) {\n return style;\n }\n }\n if (stream.eatSpace()) return null;\n curPunc = null;\n curKeyword = null;\n var style = (state.tokenize || tokenBase)(stream, state);\n if (style == \"comment\" || style == \"meta\" || style == \"variable\") return style;\n if (ctx.align == null) ctx.align = true;\n\n if (curPunc == ctx.type) {\n popContext(state);\n } else if ((curPunc == \";\" && ctx.type == \"statement\") ||\n (ctx.type && isClosing(curKeyword, ctx.type))) {\n ctx = popContext(state);\n while (ctx && ctx.type == \"statement\") ctx = popContext(state);\n } else if (curPunc == \"{\") {\n pushContext(state, stream.column(), \"}\");\n } else if (curPunc == \"[\") {\n pushContext(state, stream.column(), \"]\");\n } else if (curPunc == \"(\") {\n pushContext(state, stream.column(), \")\");\n } else if (ctx && ctx.type == \"endcase\" && curPunc == \":\") {\n pushContext(state, stream.column(), \"statement\");\n } else if (curPunc == \"newstatement\") {\n pushContext(state, stream.column(), \"statement\");\n } else if (curPunc == \"newblock\") {\n if (curKeyword == \"function\" && ctx && (ctx.type == \"statement\" || ctx.type == \"endgroup\")) {\n // The 'function' keyword can appear in some other contexts where it actually does not\n // indicate a function (import/export DPI and covergroup definitions).\n // Do nothing in this case\n } else if (curKeyword == \"task\" && ctx && ctx.type == \"statement\") {\n // Same thing for task\n } else {\n var close = openClose[curKeyword];\n pushContext(state, stream.column(), close);\n }\n }\n\n state.startOfLine = false;\n return style;\n },\n\n indent: function(state, textAfter, cx) {\n if (state.tokenize != tokenBase && state.tokenize != null) return null;\n if (hooks.indent) {\n var fromHook = hooks.indent(state);\n if (fromHook >= 0) return fromHook;\n }\n var ctx = state.context, firstChar = textAfter && textAfter.charAt(0);\n if (ctx.type == \"statement\" && firstChar == \"}\") ctx = ctx.prev;\n var closing = false;\n var possibleClosing = textAfter.match(closingBracketOrWord);\n if (possibleClosing)\n closing = isClosing(possibleClosing[0], ctx.type);\n if (ctx.type == \"statement\") return ctx.indented + (firstChar == \"{\" ? 0 : statementIndentUnit || cx.unit);\n else if (closingBracket.test(ctx.type) && ctx.align && !dontAlignCalls) return ctx.column + (closing ? 0 : 1);\n else if (ctx.type == \")\" && !closing) return ctx.indented + (statementIndentUnit || cx.unit);\n else return ctx.indented + (closing ? 0 : cx.unit);\n },\n\n languageData: {\n indentOnInput: buildElectricInputRegEx(),\n commentTokens: {line: \"//\", block: {open: \"/*\", close: \"*/\"}}\n }\n };\n};\n\nexport const verilog = mkVerilog({})\n\n// TL-Verilog mode.\n// See tl-x.org for language spec.\n// See the mode in action at makerchip.com.\n// Contact: steve.hoover@redwoodeda.com\n\n// TLV Identifier prefixes.\n// Note that sign is not treated separately, so \"+/-\" versions of numeric identifiers\n// are included.\nvar tlvIdentifierStyle = {\n \"|\": \"link\",\n \">\": \"property\", // Should condition this off for > TLV 1c.\n \"$\": \"variable\",\n \"$$\": \"variable\",\n \"?$\": \"qualifier\",\n \"?*\": \"qualifier\",\n \"-\": \"contentSeparator\",\n \"/\": \"property\",\n \"/-\": \"property\",\n \"@\": \"variableName.special\",\n \"@-\": \"variableName.special\",\n \"@++\": \"variableName.special\",\n \"@+=\": \"variableName.special\",\n \"@+=-\": \"variableName.special\",\n \"@--\": \"variableName.special\",\n \"@-=\": \"variableName.special\",\n \"%+\": \"tag\",\n \"%-\": \"tag\",\n \"%\": \"tag\",\n \">>\": \"tag\",\n \"<<\": \"tag\",\n \"<>\": \"tag\",\n \"#\": \"tag\", // Need to choose a style for this.\n \"^\": \"attribute\",\n \"^^\": \"attribute\",\n \"^!\": \"attribute\",\n \"*\": \"variable\",\n \"**\": \"variable\",\n \"\\\\\": \"keyword\",\n \"\\\"\": \"comment\"\n};\n\n// Lines starting with these characters define scope (result in indentation).\nvar tlvScopePrefixChars = {\n \"/\": \"beh-hier\",\n \">\": \"beh-hier\",\n \"-\": \"phys-hier\",\n \"|\": \"pipe\",\n \"?\": \"when\",\n \"@\": \"stage\",\n \"\\\\\": \"keyword\"\n};\nvar tlvIndentUnit = 3;\nvar tlvTrackStatements = false;\nvar tlvIdentMatch = /^([~!@#\\$%\\^&\\*-\\+=\\?\\/\\\\\\|'\"<>]+)([\\d\\w_]*)/; // Matches an identifier.\n// Note that ':' is excluded, because of it's use in [:].\nvar tlvLineIndentationMatch = /^[! ] */;\nvar tlvCommentMatch = /^\\/[\\/\\*]/;\n\nexport const tlv = mkVerilog({\n hooks: {\n electricInput: false,\n\n // Return undefined for verilog tokenizing, or style for TLV token (null not used).\n // Standard CM styles are used for most formatting, but some TL-Verilog-specific highlighting\n // can be enabled with the definition of cm-tlv-* styles, including highlighting for:\n // - M4 tokens\n // - TLV scope indentation\n // - Statement delimitation (enabled by tlvTrackStatements)\n token: function(stream, state) {\n var style = undefined;\n var match; // Return value of pattern matches.\n\n // Set highlighting mode based on code region (TLV or SV).\n if (stream.sol() && ! state.tlvInBlockComment) {\n // Process region.\n if (stream.peek() == '\\\\') {\n style = \"def\";\n stream.skipToEnd();\n if (stream.string.match(/\\\\SV/)) {\n state.tlvCodeActive = false;\n } else if (stream.string.match(/\\\\TLV/)){\n state.tlvCodeActive = true;\n }\n }\n // Correct indentation in the face of a line prefix char.\n if (state.tlvCodeActive && stream.pos == 0 &&\n (state.indented == 0) && (match = stream.match(tlvLineIndentationMatch, false))) {\n state.indented = match[0].length;\n }\n\n // Compute indentation state:\n // o Auto indentation on next line\n // o Indentation scope styles\n var indented = state.indented;\n var depth = indented / tlvIndentUnit;\n if (depth <= state.tlvIndentationStyle.length) {\n // not deeper than current scope\n\n var blankline = stream.string.length == indented;\n var chPos = depth * tlvIndentUnit;\n if (chPos < stream.string.length) {\n var bodyString = stream.string.slice(chPos);\n var ch = bodyString[0];\n if (tlvScopePrefixChars[ch] && ((match = bodyString.match(tlvIdentMatch)) &&\n tlvIdentifierStyle[match[1]])) {\n // This line begins scope.\n // Next line gets indented one level.\n indented += tlvIndentUnit;\n // Style the next level of indentation (except non-region keyword identifiers,\n // which are statements themselves)\n if (!(ch == \"\\\\\" && chPos > 0)) {\n state.tlvIndentationStyle[depth] = tlvScopePrefixChars[ch];\n if (tlvTrackStatements) {state.statementComment = false;}\n depth++;\n }\n }\n }\n // Clear out deeper indentation levels unless line is blank.\n if (!blankline) {\n while (state.tlvIndentationStyle.length > depth) {\n state.tlvIndentationStyle.pop();\n }\n }\n }\n // Set next level of indentation.\n state.tlvNextIndent = indented;\n }\n\n if (state.tlvCodeActive) {\n // Highlight as TLV.\n\n var beginStatement = false;\n if (tlvTrackStatements) {\n // This starts a statement if the position is at the scope level\n // and we're not within a statement leading comment.\n beginStatement =\n (stream.peek() != \" \") && // not a space\n (style === undefined) && // not a region identifier\n !state.tlvInBlockComment && // not in block comment\n //!stream.match(tlvCommentMatch, false) && // not comment start\n (stream.column() == state.tlvIndentationStyle.length * tlvIndentUnit); // at scope level\n if (beginStatement) {\n if (state.statementComment) {\n // statement already started by comment\n beginStatement = false;\n }\n state.statementComment =\n stream.match(tlvCommentMatch, false); // comment start\n }\n }\n\n var match;\n if (style !== undefined) {\n } else if (state.tlvInBlockComment) {\n // In a block comment.\n if (stream.match(/^.*?\\*\\//)) {\n // Exit block comment.\n state.tlvInBlockComment = false;\n if (tlvTrackStatements && !stream.eol()) {\n // Anything after comment is assumed to be real statement content.\n state.statementComment = false;\n }\n } else {\n stream.skipToEnd();\n }\n style = \"comment\";\n } else if ((match = stream.match(tlvCommentMatch)) && !state.tlvInBlockComment) {\n // Start comment.\n if (match[0] == \"//\") {\n // Line comment.\n stream.skipToEnd();\n } else {\n // Block comment.\n state.tlvInBlockComment = true;\n }\n style = \"comment\";\n } else if (match = stream.match(tlvIdentMatch)) {\n // looks like an identifier (or identifier prefix)\n var prefix = match[1];\n var mnemonic = match[2];\n if (// is identifier prefix\n tlvIdentifierStyle.hasOwnProperty(prefix) &&\n // has mnemonic or we're at the end of the line (maybe it hasn't been typed yet)\n (mnemonic.length > 0 || stream.eol())) {\n style = tlvIdentifierStyle[prefix];\n } else {\n // Just swallow one character and try again.\n // This enables subsequent identifier match with preceding symbol character, which\n // is legal within a statement. (Eg, !$reset). It also enables detection of\n // comment start with preceding symbols.\n stream.backUp(stream.current().length - 1);\n }\n } else if (stream.match(/^\\t+/)) {\n // Highlight tabs, which are illegal.\n style = \"invalid\";\n } else if (stream.match(/^[\\[\\]{}\\(\\);\\:]+/)) {\n // [:], (), {}, ;.\n style = \"meta\";\n } else if (match = stream.match(/^[mM]4([\\+_])?[\\w\\d_]*/)) {\n // m4 pre proc\n style = (match[1] == \"+\") ? \"keyword.special\" : \"keyword\";\n } else if (stream.match(/^ +/)){\n // Skip over spaces.\n if (stream.eol()) {\n // Trailing spaces.\n style = \"error\";\n }\n } else if (stream.match(/^[\\w\\d_]+/)) {\n // alpha-numeric token.\n style = \"number\";\n } else {\n // Eat the next char w/ no formatting.\n stream.next();\n }\n } else {\n if (stream.match(/^[mM]4([\\w\\d_]*)/)) {\n // m4 pre proc\n style = \"keyword\";\n }\n }\n return style;\n },\n\n indent: function(state) {\n return (state.tlvCodeActive == true) ? state.tlvNextIndent : -1;\n },\n\n startState: function(state) {\n state.tlvIndentationStyle = []; // Styles to use for each level of indentation.\n state.tlvCodeActive = true; // True when we're in a TLV region (and at beginning of file).\n state.tlvNextIndent = -1; // The number of spaces to autoindent the next line if tlvCodeActive.\n state.tlvInBlockComment = false; // True inside /**/ comment.\n if (tlvTrackStatements) {\n state.statementComment = false; // True inside a statement's header comment.\n }\n }\n\n }\n});\n"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -102,4 +102,4 @@ var h = {
102
102
  //#endregion
103
103
  export { h as vhdl };
104
104
 
105
- //# sourceMappingURL=vhdl-8WXkWtGM.js.map
105
+ //# sourceMappingURL=vhdl-DNCP7Bn1.js.map