bridgerte 0.9.22 → 0.9.24

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 (642) hide show
  1. package/README.md +55 -9
  2. package/dist/assets/abap-5JJ_uXwM.js +8 -0
  3. package/dist/assets/abap-5JJ_uXwM.js.map +1 -0
  4. package/dist/assets/actionscript-3-DE1C41bY.js +8 -0
  5. package/dist/assets/actionscript-3-DE1C41bY.js.map +1 -0
  6. package/dist/assets/ada-BG05PpOB.js +8 -0
  7. package/dist/assets/ada-BG05PpOB.js.map +1 -0
  8. package/dist/assets/andromeeda-BY_rNuBQ.js +5 -0
  9. package/dist/assets/andromeeda-BY_rNuBQ.js.map +1 -0
  10. package/dist/assets/angular-html-aal4wZP4.js +42 -0
  11. package/dist/assets/angular-html-aal4wZP4.js.map +1 -0
  12. package/dist/assets/angular-ts-DAE48Xv3.js +30 -0
  13. package/dist/assets/angular-ts-DAE48Xv3.js.map +1 -0
  14. package/dist/assets/apache-D7jlTOw0.js +8 -0
  15. package/dist/assets/apache-D7jlTOw0.js.map +1 -0
  16. package/dist/assets/apex-B5cHO7Zb.js +8 -0
  17. package/dist/assets/apex-B5cHO7Zb.js.map +1 -0
  18. package/dist/assets/apl-KqhKRlqN.js +19 -0
  19. package/dist/assets/apl-KqhKRlqN.js.map +1 -0
  20. package/dist/assets/applescript-guFn5j4s.js +8 -0
  21. package/dist/assets/applescript-guFn5j4s.js.map +1 -0
  22. package/dist/assets/ara-D87wAYhe.js +8 -0
  23. package/dist/assets/ara-D87wAYhe.js.map +1 -0
  24. package/dist/assets/asciidoc-DHU272__.js +8 -0
  25. package/dist/assets/asciidoc-DHU272__.js.map +1 -0
  26. package/dist/assets/asm-BIl1E4lX.js +8 -0
  27. package/dist/assets/asm-BIl1E4lX.js.map +1 -0
  28. package/dist/assets/astro-CoyRAbIC.js +20 -0
  29. package/dist/assets/astro-CoyRAbIC.js.map +1 -0
  30. package/dist/assets/aurora-x-C6DmnWDt.js +5 -0
  31. package/dist/assets/aurora-x-C6DmnWDt.js.map +1 -0
  32. package/dist/assets/awk-x1P7Yy6J.js +8 -0
  33. package/dist/assets/awk-x1P7Yy6J.js.map +1 -0
  34. package/dist/assets/ayu-dark-DwU3UN-n.js +5 -0
  35. package/dist/assets/ayu-dark-DwU3UN-n.js.map +1 -0
  36. package/dist/assets/ayu-light-BeSY2ZJx.js +5 -0
  37. package/dist/assets/ayu-light-BeSY2ZJx.js.map +1 -0
  38. package/dist/assets/ayu-mirage-EiPwM0mG.js +5 -0
  39. package/dist/assets/ayu-mirage-EiPwM0mG.js.map +1 -0
  40. package/dist/assets/ballerina-D1k6pTDA.js +8 -0
  41. package/dist/assets/ballerina-D1k6pTDA.js.map +1 -0
  42. package/dist/assets/bat-CKn1WSW3.js +8 -0
  43. package/dist/assets/bat-CKn1WSW3.js.map +1 -0
  44. package/dist/assets/beancount-1v_PY4BB.js +8 -0
  45. package/dist/assets/beancount-1v_PY4BB.js.map +1 -0
  46. package/dist/assets/berry-ChXc1sMd.js +8 -0
  47. package/dist/assets/berry-ChXc1sMd.js.map +1 -0
  48. package/dist/assets/bibtex-YjwILF7F.js +8 -0
  49. package/dist/assets/bibtex-YjwILF7F.js.map +1 -0
  50. package/dist/assets/bicep-C0D_R8_K.js +8 -0
  51. package/dist/assets/bicep-C0D_R8_K.js.map +1 -0
  52. package/dist/assets/bird2-DDRneDX_.js +8 -0
  53. package/dist/assets/bird2-DDRneDX_.js.map +1 -0
  54. package/dist/assets/blade-FnIjT1E3.js +23 -0
  55. package/dist/assets/blade-FnIjT1E3.js.map +1 -0
  56. package/dist/assets/bsl-DJzmyrer.js +10 -0
  57. package/dist/assets/bsl-DJzmyrer.js.map +1 -0
  58. package/dist/assets/c-xjDmHeY4.js +8 -0
  59. package/dist/assets/c-xjDmHeY4.js.map +1 -0
  60. package/dist/assets/c3-ifVI-lyl.js +8 -0
  61. package/dist/assets/c3-ifVI-lyl.js.map +1 -0
  62. package/dist/assets/cadence-4_3YDhNk.js +8 -0
  63. package/dist/assets/cadence-4_3YDhNk.js.map +1 -0
  64. package/dist/assets/cairo-CckC4pbv.js +10 -0
  65. package/dist/assets/cairo-CckC4pbv.js.map +1 -0
  66. package/dist/assets/catppuccin-frappe-B5VVdV_e.js +5 -0
  67. package/dist/assets/catppuccin-frappe-B5VVdV_e.js.map +1 -0
  68. package/dist/assets/catppuccin-latte-D8pvGdu1.js +5 -0
  69. package/dist/assets/catppuccin-latte-D8pvGdu1.js.map +1 -0
  70. package/dist/assets/catppuccin-macchiato-HRcjrIrY.js +5 -0
  71. package/dist/assets/catppuccin-macchiato-HRcjrIrY.js.map +1 -0
  72. package/dist/assets/catppuccin-mocha-CIwIEnSB.js +5 -0
  73. package/dist/assets/catppuccin-mocha-CIwIEnSB.js.map +1 -0
  74. package/dist/assets/clarity-LYkNoMZG.js +8 -0
  75. package/dist/assets/clarity-LYkNoMZG.js.map +1 -0
  76. package/dist/assets/clojure-BKPgNuET.js +8 -0
  77. package/dist/assets/clojure-BKPgNuET.js.map +1 -0
  78. package/dist/assets/cmake-DKfc4EHO.js +8 -0
  79. package/dist/assets/cmake-DKfc4EHO.js.map +1 -0
  80. package/dist/assets/cobol-BitaBRgT.js +14 -0
  81. package/dist/assets/cobol-BitaBRgT.js.map +1 -0
  82. package/dist/assets/codeowners-CGzOUqRt.js +8 -0
  83. package/dist/assets/codeowners-CGzOUqRt.js.map +1 -0
  84. package/dist/assets/codeql-CB2tU2yr.js +8 -0
  85. package/dist/assets/codeql-CB2tU2yr.js.map +1 -0
  86. package/dist/assets/coffee-CZwg37T3.js +10 -0
  87. package/dist/assets/coffee-CZwg37T3.js.map +1 -0
  88. package/dist/assets/common-lisp-Dpa6SDDF.js +8 -0
  89. package/dist/assets/common-lisp-Dpa6SDDF.js.map +1 -0
  90. package/dist/assets/coq-BcttDLdJ.js +8 -0
  91. package/dist/assets/coq-BcttDLdJ.js.map +1 -0
  92. package/dist/assets/cpp-BlAh3S4C.js +23 -0
  93. package/dist/assets/cpp-BlAh3S4C.js.map +1 -0
  94. package/dist/assets/crystal-Bs9TFo_P.js +20 -0
  95. package/dist/assets/crystal-Bs9TFo_P.js.map +1 -0
  96. package/dist/assets/csharp-DSxyDUiT.js +8 -0
  97. package/dist/assets/csharp-DSxyDUiT.js.map +1 -0
  98. package/dist/assets/css-C_jsWB7w.js +8 -0
  99. package/dist/assets/css-C_jsWB7w.js.map +1 -0
  100. package/dist/assets/csv-DH-1IWvI.js +8 -0
  101. package/dist/assets/csv-DH-1IWvI.js.map +1 -0
  102. package/dist/assets/cue-HSbRnhKw.js +8 -0
  103. package/dist/assets/cue-HSbRnhKw.js.map +1 -0
  104. package/dist/assets/cypher-DoZ7GUDp.js +8 -0
  105. package/dist/assets/cypher-DoZ7GUDp.js.map +1 -0
  106. package/dist/assets/d-CeeVpqRv.js +8 -0
  107. package/dist/assets/d-CeeVpqRv.js.map +1 -0
  108. package/dist/assets/dark-plus-BZtx1JS2.js +5 -0
  109. package/dist/assets/dark-plus-BZtx1JS2.js.map +1 -0
  110. package/dist/assets/dart-CfpH2ytW.js +8 -0
  111. package/dist/assets/dart-CfpH2ytW.js.map +1 -0
  112. package/dist/assets/dax-B2DK8VnI.js +8 -0
  113. package/dist/assets/dax-B2DK8VnI.js.map +1 -0
  114. package/dist/assets/desktop-C_92N0gp.js +8 -0
  115. package/dist/assets/desktop-C_92N0gp.js.map +1 -0
  116. package/dist/assets/diff-CIoVq7iw.js +8 -0
  117. package/dist/assets/diff-CIoVq7iw.js.map +1 -0
  118. package/dist/assets/docker-C_b4d5MG.js +8 -0
  119. package/dist/assets/docker-C_b4d5MG.js.map +1 -0
  120. package/dist/assets/dotenv-CTk-83yR.js +8 -0
  121. package/dist/assets/dotenv-CTk-83yR.js.map +1 -0
  122. package/dist/assets/dracula-C90mcX-J.js +5 -0
  123. package/dist/assets/dracula-C90mcX-J.js.map +1 -0
  124. package/dist/assets/dracula-soft-CfxSDbho.js +5 -0
  125. package/dist/assets/dracula-soft-CfxSDbho.js.map +1 -0
  126. package/dist/assets/dream-maker-BRhjIgJd.js +8 -0
  127. package/dist/assets/dream-maker-BRhjIgJd.js.map +1 -0
  128. package/dist/assets/edge-ChLL70qB.js +16 -0
  129. package/dist/assets/edge-ChLL70qB.js.map +1 -0
  130. package/dist/assets/elixir-Cn03DtOX.js +12 -0
  131. package/dist/assets/elixir-Cn03DtOX.js.map +1 -0
  132. package/dist/assets/elm-BIz5FEly.js +11 -0
  133. package/dist/assets/elm-BIz5FEly.js.map +1 -0
  134. package/dist/assets/emacs-lisp-BPa43G0X.js +8 -0
  135. package/dist/assets/emacs-lisp-BPa43G0X.js.map +1 -0
  136. package/dist/assets/erb-DnDXmOFA.js +29 -0
  137. package/dist/assets/erb-DnDXmOFA.js.map +1 -0
  138. package/dist/assets/erlang-Bs5tgDCH.js +10 -0
  139. package/dist/assets/erlang-Bs5tgDCH.js.map +1 -0
  140. package/dist/assets/everforest-dark-WkkMlVdr.js +5 -0
  141. package/dist/assets/everforest-dark-WkkMlVdr.js.map +1 -0
  142. package/dist/assets/everforest-light-BnEIoJmx.js +5 -0
  143. package/dist/assets/everforest-light-BnEIoJmx.js.map +1 -0
  144. package/dist/assets/fennel-Bcsiz5ip.js +8 -0
  145. package/dist/assets/fennel-Bcsiz5ip.js.map +1 -0
  146. package/dist/assets/fish-DHyTDlfQ.js +8 -0
  147. package/dist/assets/fish-DHyTDlfQ.js.map +1 -0
  148. package/dist/assets/fluent-4neBKDDj.js +8 -0
  149. package/dist/assets/fluent-4neBKDDj.js.map +1 -0
  150. package/dist/assets/fortran-fixed-form-CzBifAhA.js +10 -0
  151. package/dist/assets/fortran-fixed-form-CzBifAhA.js.map +1 -0
  152. package/dist/assets/fortran-free-form-CgyZ4k0y.js +8 -0
  153. package/dist/assets/fortran-free-form-CgyZ4k0y.js.map +1 -0
  154. package/dist/assets/fsharp-9GbbySMJ.js +10 -0
  155. package/dist/assets/fsharp-9GbbySMJ.js.map +1 -0
  156. package/dist/assets/gdresource-DNKHowPg.js +12 -0
  157. package/dist/assets/gdresource-DNKHowPg.js.map +1 -0
  158. package/dist/assets/gdscript-BsvbToqr.js +8 -0
  159. package/dist/assets/gdscript-BsvbToqr.js.map +1 -0
  160. package/dist/assets/gdshader-OUoLz6Pt.js +8 -0
  161. package/dist/assets/gdshader-OUoLz6Pt.js.map +1 -0
  162. package/dist/assets/genie-CCD_4Lwj.js +8 -0
  163. package/dist/assets/genie-CCD_4Lwj.js.map +1 -0
  164. package/dist/assets/gherkin-DtBWBYmY.js +8 -0
  165. package/dist/assets/gherkin-DtBWBYmY.js.map +1 -0
  166. package/dist/assets/git-commit-CIBsd3Oe.js +10 -0
  167. package/dist/assets/git-commit-CIBsd3Oe.js.map +1 -0
  168. package/dist/assets/git-rebase-Bsia5skB.js +10 -0
  169. package/dist/assets/git-rebase-Bsia5skB.js.map +1 -0
  170. package/dist/assets/github-dark-Crb_T9c1.js +5 -0
  171. package/dist/assets/github-dark-Crb_T9c1.js.map +1 -0
  172. package/dist/assets/github-dark-default-CrymNA3e.js +5 -0
  173. package/dist/assets/github-dark-default-CrymNA3e.js.map +1 -0
  174. package/dist/assets/github-dark-dimmed-DVypsQQ6.js +5 -0
  175. package/dist/assets/github-dark-dimmed-DVypsQQ6.js.map +1 -0
  176. package/dist/assets/github-dark-high-contrast-oosJriQF.js +5 -0
  177. package/dist/assets/github-dark-high-contrast-oosJriQF.js.map +1 -0
  178. package/dist/assets/github-light-DzgloXIJ.js +5 -0
  179. package/dist/assets/github-light-DzgloXIJ.js.map +1 -0
  180. package/dist/assets/github-light-default-BUaqj3Kk.js +5 -0
  181. package/dist/assets/github-light-default-BUaqj3Kk.js.map +1 -0
  182. package/dist/assets/github-light-high-contrast-Be7TuOaG.js +5 -0
  183. package/dist/assets/github-light-high-contrast-Be7TuOaG.js.map +1 -0
  184. package/dist/assets/gleam-Bby7sLtj.js +8 -0
  185. package/dist/assets/gleam-Bby7sLtj.js.map +1 -0
  186. package/dist/assets/glimmer-js-K1ky8h51.js +16 -0
  187. package/dist/assets/glimmer-js-K1ky8h51.js.map +1 -0
  188. package/dist/assets/glimmer-ts-Glf2iriO.js +16 -0
  189. package/dist/assets/glimmer-ts-Glf2iriO.js.map +1 -0
  190. package/dist/assets/glsl-B7qnt91l.js +10 -0
  191. package/dist/assets/glsl-B7qnt91l.js.map +1 -0
  192. package/dist/assets/gn-BZhHIoL6.js +8 -0
  193. package/dist/assets/gn-BZhHIoL6.js.map +1 -0
  194. package/dist/assets/gnuplot-ko8wwdty.js +8 -0
  195. package/dist/assets/gnuplot-ko8wwdty.js.map +1 -0
  196. package/dist/assets/go-bOxRwq8F.js +8 -0
  197. package/dist/assets/go-bOxRwq8F.js.map +1 -0
  198. package/dist/assets/graphql-DkLU_y6F.js +16 -0
  199. package/dist/assets/graphql-DkLU_y6F.js.map +1 -0
  200. package/dist/assets/groovy-CnONGBTg.js +8 -0
  201. package/dist/assets/groovy-CnONGBTg.js.map +1 -0
  202. package/dist/assets/gruvbox-dark-hard-w2v6PtUq.js +5 -0
  203. package/dist/assets/gruvbox-dark-hard-w2v6PtUq.js.map +1 -0
  204. package/dist/assets/gruvbox-dark-medium-BkadlV_U.js +5 -0
  205. package/dist/assets/gruvbox-dark-medium-BkadlV_U.js.map +1 -0
  206. package/dist/assets/gruvbox-dark-soft-BHFO6CEk.js +5 -0
  207. package/dist/assets/gruvbox-dark-soft-BHFO6CEk.js.map +1 -0
  208. package/dist/assets/gruvbox-light-hard-9A_pD-e-.js +5 -0
  209. package/dist/assets/gruvbox-light-hard-9A_pD-e-.js.map +1 -0
  210. package/dist/assets/gruvbox-light-medium-DS4uqfa1.js +5 -0
  211. package/dist/assets/gruvbox-light-medium-DS4uqfa1.js.map +1 -0
  212. package/dist/assets/gruvbox-light-soft-qMWiTKK4.js +5 -0
  213. package/dist/assets/gruvbox-light-soft-qMWiTKK4.js.map +1 -0
  214. package/dist/assets/hack-gfrPUlig.js +14 -0
  215. package/dist/assets/hack-gfrPUlig.js.map +1 -0
  216. package/dist/assets/haml-B4EqXRg_.js +12 -0
  217. package/dist/assets/haml-B4EqXRg_.js.map +1 -0
  218. package/dist/assets/handlebars-YxgQMD1d.js +16 -0
  219. package/dist/assets/handlebars-YxgQMD1d.js.map +1 -0
  220. package/dist/assets/haskell-2dsAc57b.js +8 -0
  221. package/dist/assets/haskell-2dsAc57b.js.map +1 -0
  222. package/dist/assets/haxe-OKRacM9E.js +8 -0
  223. package/dist/assets/haxe-OKRacM9E.js.map +1 -0
  224. package/dist/assets/hcl-DWQu2dqK.js +8 -0
  225. package/dist/assets/hcl-DWQu2dqK.js.map +1 -0
  226. package/dist/assets/hjson-By_UsfXI.js +8 -0
  227. package/dist/assets/hjson-By_UsfXI.js.map +1 -0
  228. package/dist/assets/hlsl-DA61eaD3.js +8 -0
  229. package/dist/assets/hlsl-DA61eaD3.js.map +1 -0
  230. package/dist/assets/horizon-BAcSmUQx.js +5 -0
  231. package/dist/assets/horizon-BAcSmUQx.js.map +1 -0
  232. package/dist/assets/horizon-bright-BIr1qV5K.js +5 -0
  233. package/dist/assets/horizon-bright-BIr1qV5K.js.map +1 -0
  234. package/dist/assets/houston-CK0N9cPp.js +5 -0
  235. package/dist/assets/houston-CK0N9cPp.js.map +1 -0
  236. package/dist/assets/html-derivative-DNVkVN8y.js +12 -0
  237. package/dist/assets/html-derivative-DNVkVN8y.js.map +1 -0
  238. package/dist/assets/html-hx4Wfyw6.js +12 -0
  239. package/dist/assets/html-hx4Wfyw6.js.map +1 -0
  240. package/dist/assets/http-CVXrBmpc.js +21 -0
  241. package/dist/assets/http-CVXrBmpc.js.map +1 -0
  242. package/dist/assets/hurl-B08iSRaK.js +19 -0
  243. package/dist/assets/hurl-B08iSRaK.js.map +1 -0
  244. package/dist/assets/hxml-CwhzGRqU.js +10 -0
  245. package/dist/assets/hxml-CwhzGRqU.js.map +1 -0
  246. package/dist/assets/hy-B23VqsRP.js +8 -0
  247. package/dist/assets/hy-B23VqsRP.js.map +1 -0
  248. package/dist/assets/imba-C1GSCVFf.js +8 -0
  249. package/dist/assets/imba-C1GSCVFf.js.map +1 -0
  250. package/dist/assets/ini-r1O4-awP.js +8 -0
  251. package/dist/assets/ini-r1O4-awP.js.map +1 -0
  252. package/dist/assets/java-Bl-5EZmB.js +8 -0
  253. package/dist/assets/java-Bl-5EZmB.js.map +1 -0
  254. package/dist/assets/javascript-Cq55jE6w.js +8 -0
  255. package/dist/assets/javascript-Cq55jE6w.js.map +1 -0
  256. package/dist/assets/jinja-hp_3bha4.js +17 -0
  257. package/dist/assets/jinja-hp_3bha4.js.map +1 -0
  258. package/dist/assets/jison-9WPWo0xg.js +10 -0
  259. package/dist/assets/jison-9WPWo0xg.js.map +1 -0
  260. package/dist/assets/json-CndaR9w5.js +8 -0
  261. package/dist/assets/json-CndaR9w5.js.map +1 -0
  262. package/dist/assets/json5-C8Jm9K5X.js +8 -0
  263. package/dist/assets/json5-C8Jm9K5X.js.map +1 -0
  264. package/dist/assets/jsonc-mlgADggJ.js +8 -0
  265. package/dist/assets/jsonc-mlgADggJ.js.map +1 -0
  266. package/dist/assets/jsonl-CBj3pbR_.js +8 -0
  267. package/dist/assets/jsonl-CBj3pbR_.js.map +1 -0
  268. package/dist/assets/jsonnet-B_sZ3RZB.js +8 -0
  269. package/dist/assets/jsonnet-B_sZ3RZB.js.map +1 -0
  270. package/dist/assets/jssm-CvtepJVU.js +8 -0
  271. package/dist/assets/jssm-CvtepJVU.js.map +1 -0
  272. package/dist/assets/jsx-BfjkQ0v5.js +8 -0
  273. package/dist/assets/jsx-BfjkQ0v5.js.map +1 -0
  274. package/dist/assets/julia-Dnhsueg9.js +21 -0
  275. package/dist/assets/julia-Dnhsueg9.js.map +1 -0
  276. package/dist/assets/just-6vIP7wP9.js +35 -0
  277. package/dist/assets/just-6vIP7wP9.js.map +1 -0
  278. package/dist/assets/kanagawa-dragon-Dgsvhj-I.js +5 -0
  279. package/dist/assets/kanagawa-dragon-Dgsvhj-I.js.map +1 -0
  280. package/dist/assets/kanagawa-lotus-bk4_W8LM.js +5 -0
  281. package/dist/assets/kanagawa-lotus-bk4_W8LM.js.map +1 -0
  282. package/dist/assets/kanagawa-wave-CVNUZ7bU.js +5 -0
  283. package/dist/assets/kanagawa-wave-CVNUZ7bU.js.map +1 -0
  284. package/dist/assets/kdl-CwdrBlJU.js +8 -0
  285. package/dist/assets/kdl-CwdrBlJU.js.map +1 -0
  286. package/dist/assets/kotlin-K4QQzEsQ.js +8 -0
  287. package/dist/assets/kotlin-K4QQzEsQ.js.map +1 -0
  288. package/dist/assets/kusto-CgER6Sxt.js +8 -0
  289. package/dist/assets/kusto-CgER6Sxt.js.map +1 -0
  290. package/dist/assets/laserwave-BU7zaG-q.js +5 -0
  291. package/dist/assets/laserwave-BU7zaG-q.js.map +1 -0
  292. package/dist/assets/latex-vw5kx6SC.js +11 -0
  293. package/dist/assets/latex-vw5kx6SC.js.map +1 -0
  294. package/dist/assets/lean-Cp_iMYZj.js +8 -0
  295. package/dist/assets/lean-Cp_iMYZj.js.map +1 -0
  296. package/dist/assets/less-CFxJbkOX.js +8 -0
  297. package/dist/assets/less-CFxJbkOX.js.map +1 -0
  298. package/dist/assets/light-plus-CCnaaxEe.js +5 -0
  299. package/dist/assets/light-plus-CCnaaxEe.js.map +1 -0
  300. package/dist/assets/liquid-ME1IH2EZ.js +16 -0
  301. package/dist/assets/liquid-ME1IH2EZ.js.map +1 -0
  302. package/dist/assets/llvm-DXF2zqxJ.js +8 -0
  303. package/dist/assets/llvm-DXF2zqxJ.js.map +1 -0
  304. package/dist/assets/log-BhdudKf6.js +8 -0
  305. package/dist/assets/log-BhdudKf6.js.map +1 -0
  306. package/dist/assets/logo-DdZuFRsA.js +8 -0
  307. package/dist/assets/logo-DdZuFRsA.js.map +1 -0
  308. package/dist/assets/lua-CNzUJNrS.js +10 -0
  309. package/dist/assets/lua-CNzUJNrS.js.map +1 -0
  310. package/dist/assets/luau-BbRxrK_-.js +8 -0
  311. package/dist/assets/luau-BbRxrK_-.js.map +1 -0
  312. package/dist/assets/make-CzMpGB61.js +8 -0
  313. package/dist/assets/make-CzMpGB61.js.map +1 -0
  314. package/dist/assets/markdown-BIyFz8QW.js +8 -0
  315. package/dist/assets/markdown-BIyFz8QW.js.map +1 -0
  316. package/dist/assets/marko-CDeO252B.js +16 -0
  317. package/dist/assets/marko-CDeO252B.js.map +1 -0
  318. package/dist/assets/material-theme-B-3T0qQC.js +5 -0
  319. package/dist/assets/material-theme-B-3T0qQC.js.map +1 -0
  320. package/dist/assets/material-theme-darker-DMHCIvq5.js +5 -0
  321. package/dist/assets/material-theme-darker-DMHCIvq5.js.map +1 -0
  322. package/dist/assets/material-theme-lighter-CnKSyNS5.js +5 -0
  323. package/dist/assets/material-theme-lighter-CnKSyNS5.js.map +1 -0
  324. package/dist/assets/material-theme-ocean-BKq6ZsFv.js +5 -0
  325. package/dist/assets/material-theme-ocean-BKq6ZsFv.js.map +1 -0
  326. package/dist/assets/material-theme-palenight-BaYUoLXq.js +5 -0
  327. package/dist/assets/material-theme-palenight-BaYUoLXq.js.map +1 -0
  328. package/dist/assets/matlab-CJkuh4eh.js +8 -0
  329. package/dist/assets/matlab-CJkuh4eh.js.map +1 -0
  330. package/dist/assets/mdc-DmwRfDxK.js +17 -0
  331. package/dist/assets/mdc-DmwRfDxK.js.map +1 -0
  332. package/dist/assets/mdx-DBtujtWe.js +8 -0
  333. package/dist/assets/mdx-DBtujtWe.js.map +1 -0
  334. package/dist/assets/mermaid-HX_erI9P.js +8 -0
  335. package/dist/assets/mermaid-HX_erI9P.js.map +1 -0
  336. package/dist/assets/min-dark-YawBJZLm.js +5 -0
  337. package/dist/assets/min-dark-YawBJZLm.js.map +1 -0
  338. package/dist/assets/min-light-CqsTzpMg.js +5 -0
  339. package/dist/assets/min-light-CqsTzpMg.js.map +1 -0
  340. package/dist/assets/mipsasm-CCIl-TEQ.js +8 -0
  341. package/dist/assets/mipsasm-CCIl-TEQ.js.map +1 -0
  342. package/dist/assets/mojo-0bwzCFgd.js +8 -0
  343. package/dist/assets/mojo-0bwzCFgd.js.map +1 -0
  344. package/dist/assets/monokai-DaNL4wHF.js +5 -0
  345. package/dist/assets/monokai-DaNL4wHF.js.map +1 -0
  346. package/dist/assets/moonbit-h33aWjYl.js +8 -0
  347. package/dist/assets/moonbit-h33aWjYl.js.map +1 -0
  348. package/dist/assets/move-B0UfBCDq.js +8 -0
  349. package/dist/assets/move-B0UfBCDq.js.map +1 -0
  350. package/dist/assets/narrat-yNVO4v0G.js +8 -0
  351. package/dist/assets/narrat-yNVO4v0G.js.map +1 -0
  352. package/dist/assets/nextflow-1-7NB-ni.js +10 -0
  353. package/dist/assets/nextflow-1-7NB-ni.js.map +1 -0
  354. package/dist/assets/nextflow-groovy-TPtoW2P_.js +8 -0
  355. package/dist/assets/nextflow-groovy-TPtoW2P_.js.map +1 -0
  356. package/dist/assets/nginx-C98jlNwk.js +11 -0
  357. package/dist/assets/nginx-C98jlNwk.js.map +1 -0
  358. package/dist/assets/night-owl-DEYddbGH.js +5 -0
  359. package/dist/assets/night-owl-DEYddbGH.js.map +1 -0
  360. package/dist/assets/night-owl-light-CgPgLhZe.js +5 -0
  361. package/dist/assets/night-owl-light-CgPgLhZe.js.map +1 -0
  362. package/dist/assets/nim-C-XJ5M42.js +23 -0
  363. package/dist/assets/nim-C-XJ5M42.js.map +1 -0
  364. package/dist/assets/nix-DPigNF-w.js +13 -0
  365. package/dist/assets/nix-DPigNF-w.js.map +1 -0
  366. package/dist/assets/nord-CUKU048J.js +5 -0
  367. package/dist/assets/nord-CUKU048J.js.map +1 -0
  368. package/dist/assets/nushell-TxwY6Pb5.js +8 -0
  369. package/dist/assets/nushell-TxwY6Pb5.js.map +1 -0
  370. package/dist/assets/objective-c-CGXCwEak.js +8 -0
  371. package/dist/assets/objective-c-CGXCwEak.js.map +1 -0
  372. package/dist/assets/objective-cpp-C6Ou-DLk.js +8 -0
  373. package/dist/assets/objective-cpp-C6Ou-DLk.js.map +1 -0
  374. package/dist/assets/ocaml-B8c2W4N8.js +8 -0
  375. package/dist/assets/ocaml-B8c2W4N8.js.map +1 -0
  376. package/dist/assets/odin-CZ4skJts.js +8 -0
  377. package/dist/assets/odin-CZ4skJts.js.map +1 -0
  378. package/dist/assets/one-dark-pro-XdKxImzj.js +5 -0
  379. package/dist/assets/one-dark-pro-XdKxImzj.js.map +1 -0
  380. package/dist/assets/one-light-BgKiLWqC.js +5 -0
  381. package/dist/assets/one-light-BgKiLWqC.js.map +1 -0
  382. package/dist/assets/openscad-jtaZZ0ry.js +8 -0
  383. package/dist/assets/openscad-jtaZZ0ry.js.map +1 -0
  384. package/dist/assets/pascal-Dyzoiklv.js +8 -0
  385. package/dist/assets/pascal-Dyzoiklv.js.map +1 -0
  386. package/dist/assets/perl-DZBQ1fP7.js +19 -0
  387. package/dist/assets/perl-DZBQ1fP7.js.map +1 -0
  388. package/dist/assets/php-B6rqs9dC.js +21 -0
  389. package/dist/assets/php-B6rqs9dC.js.map +1 -0
  390. package/dist/assets/pkl-B7NRYePu.js +8 -0
  391. package/dist/assets/pkl-B7NRYePu.js.map +1 -0
  392. package/dist/assets/plastic-lmGvlDWy.js +5 -0
  393. package/dist/assets/plastic-lmGvlDWy.js.map +1 -0
  394. package/dist/assets/plsql-ZYRyC0wP.js +8 -0
  395. package/dist/assets/plsql-ZYRyC0wP.js.map +1 -0
  396. package/dist/assets/po-CHOVNvtJ.js +8 -0
  397. package/dist/assets/po-CHOVNvtJ.js.map +1 -0
  398. package/dist/assets/poimandres-C_MUMTwG.js +5 -0
  399. package/dist/assets/poimandres-C_MUMTwG.js.map +1 -0
  400. package/dist/assets/polar-CElS9PCS.js +8 -0
  401. package/dist/assets/polar-CElS9PCS.js.map +1 -0
  402. package/dist/assets/postcss-DgldbzUq.js +8 -0
  403. package/dist/assets/postcss-DgldbzUq.js.map +1 -0
  404. package/dist/assets/powerquery-B6VmGZs1.js +8 -0
  405. package/dist/assets/powerquery-B6VmGZs1.js.map +1 -0
  406. package/dist/assets/powershell-Dp4oaXtH.js +8 -0
  407. package/dist/assets/powershell-Dp4oaXtH.js.map +1 -0
  408. package/dist/assets/prisma-CPG4K8GD.js +8 -0
  409. package/dist/assets/prisma-CPG4K8GD.js.map +1 -0
  410. package/dist/assets/prolog-BfH16pdb.js +8 -0
  411. package/dist/assets/prolog-BfH16pdb.js.map +1 -0
  412. package/dist/assets/proto-DRhBl2v_.js +8 -0
  413. package/dist/assets/proto-DRhBl2v_.js.map +1 -0
  414. package/dist/assets/pug-B5ZJTPhc.js +14 -0
  415. package/dist/assets/pug-B5ZJTPhc.js.map +1 -0
  416. package/dist/assets/puppet-D93mTCzv.js +8 -0
  417. package/dist/assets/puppet-D93mTCzv.js.map +1 -0
  418. package/dist/assets/purescript-BwFPZeJE.js +8 -0
  419. package/dist/assets/purescript-BwFPZeJE.js.map +1 -0
  420. package/dist/assets/python-hNCB2wYL.js +8 -0
  421. package/dist/assets/python-hNCB2wYL.js.map +1 -0
  422. package/dist/assets/qml-B7tPv6LL.js +10 -0
  423. package/dist/assets/qml-B7tPv6LL.js.map +1 -0
  424. package/dist/assets/qmldir-C_cCg2m9.js +8 -0
  425. package/dist/assets/qmldir-C_cCg2m9.js.map +1 -0
  426. package/dist/assets/qss-CXFHvGeG.js +8 -0
  427. package/dist/assets/qss-CXFHvGeG.js.map +1 -0
  428. package/dist/assets/r-DW2dRJNU.js +8 -0
  429. package/dist/assets/r-DW2dRJNU.js.map +1 -0
  430. package/dist/assets/racket-CElNGJsF.js +8 -0
  431. package/dist/assets/racket-CElNGJsF.js.map +1 -0
  432. package/dist/assets/raku-BGNf9XOF.js +8 -0
  433. package/dist/assets/raku-BGNf9XOF.js.map +1 -0
  434. package/dist/assets/razor-_hEMrIZE.js +14 -0
  435. package/dist/assets/razor-_hEMrIZE.js.map +1 -0
  436. package/dist/assets/red-AJNT05eU.js +5 -0
  437. package/dist/assets/red-AJNT05eU.js.map +1 -0
  438. package/dist/assets/reg-B1yGSPeX.js +8 -0
  439. package/dist/assets/reg-B1yGSPeX.js.map +1 -0
  440. package/dist/assets/regexp-DpBcpYls.js +8 -0
  441. package/dist/assets/regexp-DpBcpYls.js.map +1 -0
  442. package/dist/assets/rel-COHg19E9.js +8 -0
  443. package/dist/assets/rel-COHg19E9.js.map +1 -0
  444. package/dist/assets/riscv-DGE7iFEu.js +8 -0
  445. package/dist/assets/riscv-DGE7iFEu.js.map +1 -0
  446. package/dist/assets/ron-BU8eWRkc.js +8 -0
  447. package/dist/assets/ron-BU8eWRkc.js.map +1 -0
  448. package/dist/assets/rose-pine-BpSSTpDl.js +5 -0
  449. package/dist/assets/rose-pine-BpSSTpDl.js.map +1 -0
  450. package/dist/assets/rose-pine-dawn-JuXMWM7e.js +5 -0
  451. package/dist/assets/rose-pine-dawn-JuXMWM7e.js.map +1 -0
  452. package/dist/assets/rose-pine-moon-DfNEd67D.js +5 -0
  453. package/dist/assets/rose-pine-moon-DfNEd67D.js.map +1 -0
  454. package/dist/assets/rosmsg-DV4uqfTE.js +8 -0
  455. package/dist/assets/rosmsg-DV4uqfTE.js.map +1 -0
  456. package/dist/assets/rst-Dwts34Vp.js +38 -0
  457. package/dist/assets/rst-Dwts34Vp.js.map +1 -0
  458. package/dist/assets/ruby-BQIBxl9d.js +38 -0
  459. package/dist/assets/ruby-BQIBxl9d.js.map +1 -0
  460. package/dist/assets/rust-eyDPxu_F.js +8 -0
  461. package/dist/assets/rust-eyDPxu_F.js.map +1 -0
  462. package/dist/assets/sas-D42O7b-h.js +10 -0
  463. package/dist/assets/sas-D42O7b-h.js.map +1 -0
  464. package/dist/assets/sass-DgfD_AjS.js +8 -0
  465. package/dist/assets/sass-DgfD_AjS.js.map +1 -0
  466. package/dist/assets/scala-Bk1H2mSp.js +8 -0
  467. package/dist/assets/scala-Bk1H2mSp.js.map +1 -0
  468. package/dist/assets/scheme-CvUmbwed.js +8 -0
  469. package/dist/assets/scheme-CvUmbwed.js.map +1 -0
  470. package/dist/assets/scss-CuhcKk0L.js +10 -0
  471. package/dist/assets/scss-CuhcKk0L.js.map +1 -0
  472. package/dist/assets/sdbl-CsDj0b2n.js +8 -0
  473. package/dist/assets/sdbl-CsDj0b2n.js.map +1 -0
  474. package/dist/assets/shaderlab-BR6dybZt.js +10 -0
  475. package/dist/assets/shaderlab-BR6dybZt.js.map +1 -0
  476. package/dist/assets/shellscript-BFESB3IN.js +8 -0
  477. package/dist/assets/shellscript-BFESB3IN.js.map +1 -0
  478. package/dist/assets/shellsession-BUDs6Lj1.js +10 -0
  479. package/dist/assets/shellsession-BUDs6Lj1.js.map +1 -0
  480. package/dist/assets/shikiTokenizerWorker-BtjW_v9G.js +9878 -0
  481. package/dist/assets/shikiTokenizerWorker-BtjW_v9G.js.map +1 -0
  482. package/dist/assets/slack-dark-DWWJ5rYK.js +5 -0
  483. package/dist/assets/slack-dark-DWWJ5rYK.js.map +1 -0
  484. package/dist/assets/slack-ochin-Bq5JRIP5.js +5 -0
  485. package/dist/assets/slack-ochin-Bq5JRIP5.js.map +1 -0
  486. package/dist/assets/smalltalk-CepYz02F.js +8 -0
  487. package/dist/assets/smalltalk-CepYz02F.js.map +1 -0
  488. package/dist/assets/snazzy-light-CI6w30cq.js +5 -0
  489. package/dist/assets/snazzy-light-CI6w30cq.js.map +1 -0
  490. package/dist/assets/solarized-dark-Bgqg9546.js +5 -0
  491. package/dist/assets/solarized-dark-Bgqg9546.js.map +1 -0
  492. package/dist/assets/solarized-light-Cfhyx18w.js +5 -0
  493. package/dist/assets/solarized-light-Cfhyx18w.js.map +1 -0
  494. package/dist/assets/solidity-Dy7cwWHW.js +8 -0
  495. package/dist/assets/solidity-Dy7cwWHW.js.map +1 -0
  496. package/dist/assets/soy-CATG-zBT.js +12 -0
  497. package/dist/assets/soy-CATG-zBT.js.map +1 -0
  498. package/dist/assets/sparql-xS45ySCY.js +10 -0
  499. package/dist/assets/sparql-xS45ySCY.js.map +1 -0
  500. package/dist/assets/splunk-xsP0MVkt.js +8 -0
  501. package/dist/assets/splunk-xsP0MVkt.js.map +1 -0
  502. package/dist/assets/sql-kPnl9bgi.js +8 -0
  503. package/dist/assets/sql-kPnl9bgi.js.map +1 -0
  504. package/dist/assets/ssh-config-ehSXrtEV.js +8 -0
  505. package/dist/assets/ssh-config-ehSXrtEV.js.map +1 -0
  506. package/dist/assets/stata-CQNu_FgQ.js +10 -0
  507. package/dist/assets/stata-CQNu_FgQ.js.map +1 -0
  508. package/dist/assets/stylus-BoZJ_eV7.js +8 -0
  509. package/dist/assets/stylus-BoZJ_eV7.js.map +1 -0
  510. package/dist/assets/surrealql-BuAG2s0L.js +10 -0
  511. package/dist/assets/surrealql-BuAG2s0L.js.map +1 -0
  512. package/dist/assets/svelte-CnoxkKF2.js +16 -0
  513. package/dist/assets/svelte-CnoxkKF2.js.map +1 -0
  514. package/dist/assets/swift--o4OYIXX.js +8 -0
  515. package/dist/assets/swift--o4OYIXX.js.map +1 -0
  516. package/dist/assets/synthwave-84-DXKOZPq5.js +5 -0
  517. package/dist/assets/synthwave-84-DXKOZPq5.js.map +1 -0
  518. package/dist/assets/system-verilog-BEcmvm6Z.js +8 -0
  519. package/dist/assets/system-verilog-BEcmvm6Z.js.map +1 -0
  520. package/dist/assets/systemd-DJzDbKrW.js +8 -0
  521. package/dist/assets/systemd-DJzDbKrW.js.map +1 -0
  522. package/dist/assets/talonscript-Djb-VPry.js +8 -0
  523. package/dist/assets/talonscript-Djb-VPry.js.map +1 -0
  524. package/dist/assets/tasl-p9F3iH-j.js +8 -0
  525. package/dist/assets/tasl-p9F3iH-j.js.map +1 -0
  526. package/dist/assets/tcl-3f-uwoUo.js +8 -0
  527. package/dist/assets/tcl-3f-uwoUo.js.map +1 -0
  528. package/dist/assets/templ-B5LeC0kQ.js +14 -0
  529. package/dist/assets/templ-B5LeC0kQ.js.map +1 -0
  530. package/dist/assets/terraform-DgWhF4Yd.js +8 -0
  531. package/dist/assets/terraform-DgWhF4Yd.js.map +1 -0
  532. package/dist/assets/tex-CxL9S8Wd.js +10 -0
  533. package/dist/assets/tex-CxL9S8Wd.js.map +1 -0
  534. package/dist/assets/tokyo-night-BAQ_Myi4.js +5 -0
  535. package/dist/assets/tokyo-night-BAQ_Myi4.js.map +1 -0
  536. package/dist/assets/toml-BnyEyEPT.js +8 -0
  537. package/dist/assets/toml-BnyEyEPT.js.map +1 -0
  538. package/dist/assets/ts-tags-Bvk0ykl-.js +55 -0
  539. package/dist/assets/ts-tags-Bvk0ykl-.js.map +1 -0
  540. package/dist/assets/tsv-DY-yErdv.js +8 -0
  541. package/dist/assets/tsv-DY-yErdv.js.map +1 -0
  542. package/dist/assets/tsx-42HYAIDq.js +8 -0
  543. package/dist/assets/tsx-42HYAIDq.js.map +1 -0
  544. package/dist/assets/turtle-zqT8DlFI.js +8 -0
  545. package/dist/assets/turtle-zqT8DlFI.js.map +1 -0
  546. package/dist/assets/twig-uAs39d9k.js +37 -0
  547. package/dist/assets/twig-uAs39d9k.js.map +1 -0
  548. package/dist/assets/typescript-B2_-ihnN.js +8 -0
  549. package/dist/assets/typescript-B2_-ihnN.js.map +1 -0
  550. package/dist/assets/typespec-Kj54qpoq.js +8 -0
  551. package/dist/assets/typespec-Kj54qpoq.js.map +1 -0
  552. package/dist/assets/typst-BW5EogfV.js +8 -0
  553. package/dist/assets/typst-BW5EogfV.js.map +1 -0
  554. package/dist/assets/v-BMYuw6y3.js +8 -0
  555. package/dist/assets/v-BMYuw6y3.js.map +1 -0
  556. package/dist/assets/vala-DZNmMJCf.js +8 -0
  557. package/dist/assets/vala-DZNmMJCf.js.map +1 -0
  558. package/dist/assets/vb-6IyLx8lg.js +8 -0
  559. package/dist/assets/vb-6IyLx8lg.js.map +1 -0
  560. package/dist/assets/verilog-CBEeotQw.js +8 -0
  561. package/dist/assets/verilog-CBEeotQw.js.map +1 -0
  562. package/dist/assets/vesper-B_lKdhLz.js +5 -0
  563. package/dist/assets/vesper-B_lKdhLz.js.map +1 -0
  564. package/dist/assets/vhdl-Qbjr_6hW.js +8 -0
  565. package/dist/assets/vhdl-Qbjr_6hW.js.map +1 -0
  566. package/dist/assets/viml-Ce8qq_0D.js +8 -0
  567. package/dist/assets/viml-Ce8qq_0D.js.map +1 -0
  568. package/dist/assets/vitesse-black-BiRwe6jA.js +5 -0
  569. package/dist/assets/vitesse-black-BiRwe6jA.js.map +1 -0
  570. package/dist/assets/vitesse-dark-44qkAq30.js +5 -0
  571. package/dist/assets/vitesse-dark-44qkAq30.js.map +1 -0
  572. package/dist/assets/vitesse-light-KXY5XYnn.js +5 -0
  573. package/dist/assets/vitesse-light-KXY5XYnn.js.map +1 -0
  574. package/dist/assets/vue-DQvlk87_.js +41 -0
  575. package/dist/assets/vue-DQvlk87_.js.map +1 -0
  576. package/dist/assets/vue-html-DiaQkc4E.js +10 -0
  577. package/dist/assets/vue-html-DiaQkc4E.js.map +1 -0
  578. package/dist/assets/vue-vine-DgWfDcNr.js +20 -0
  579. package/dist/assets/vue-vine-DgWfDcNr.js.map +1 -0
  580. package/dist/assets/vyper-Bq7Z2-Ss.js +8 -0
  581. package/dist/assets/vyper-Bq7Z2-Ss.js.map +1 -0
  582. package/dist/assets/wasm-BdTJGc7T.js +8 -0
  583. package/dist/assets/wasm-BdTJGc7T.js.map +1 -0
  584. package/dist/assets/wenyan-ZWlLIQIr.js +8 -0
  585. package/dist/assets/wenyan-ZWlLIQIr.js.map +1 -0
  586. package/dist/assets/wgsl-C7jKgLAu.js +8 -0
  587. package/dist/assets/wgsl-C7jKgLAu.js.map +1 -0
  588. package/dist/assets/wikitext-Bd2wE6rj.js +8 -0
  589. package/dist/assets/wikitext-Bd2wE6rj.js.map +1 -0
  590. package/dist/assets/wit-14OfqCWW.js +8 -0
  591. package/dist/assets/wit-14OfqCWW.js.map +1 -0
  592. package/dist/assets/wolfram-RapNeSab.js +8 -0
  593. package/dist/assets/wolfram-RapNeSab.js.map +1 -0
  594. package/dist/assets/xml-Du1cw7kN.js +10 -0
  595. package/dist/assets/xml-Du1cw7kN.js.map +1 -0
  596. package/dist/assets/xsl-CfczXwS3.js +11 -0
  597. package/dist/assets/xsl-CfczXwS3.js.map +1 -0
  598. package/dist/assets/yaml-D_xpd4DU.js +8 -0
  599. package/dist/assets/yaml-D_xpd4DU.js.map +1 -0
  600. package/dist/assets/zenscript-DaonNBty.js +8 -0
  601. package/dist/assets/zenscript-DaonNBty.js.map +1 -0
  602. package/dist/assets/zig-DWvk_5e3.js +8 -0
  603. package/dist/assets/zig-DWvk_5e3.js.map +1 -0
  604. package/dist/bridge.cjs +1 -1
  605. package/dist/bridge.cjs.map +1 -1
  606. package/dist/bridge.d.ts +185 -2
  607. package/dist/bridge.js +3 -0
  608. package/dist/bridge.js.map +1 -1
  609. package/dist/core.d.ts +122 -2
  610. package/dist/dom.cjs +1 -1
  611. package/dist/dom.d.ts +122 -2
  612. package/dist/dom.js +2 -2
  613. package/dist/{index-McnGKzmi.cjs → index-79mXjylo.cjs} +2 -2
  614. package/dist/{index-McnGKzmi.cjs.map → index-79mXjylo.cjs.map} +1 -1
  615. package/dist/{index-DARGQA9p.js → index-BHrFfZ7O.js} +2 -2
  616. package/dist/{index-DARGQA9p.js.map → index-BHrFfZ7O.js.map} +1 -1
  617. package/dist/{index-BiehJaHJ.js → index-CCAOnvex.js} +2666 -2023
  618. package/dist/index-CCAOnvex.js.map +1 -0
  619. package/dist/index-CQx3NGKY.cjs +7 -0
  620. package/dist/index-CQx3NGKY.cjs.map +1 -0
  621. package/dist/index-DF8OhKI4.cjs.map +1 -1
  622. package/dist/index-sbZNOcCB.js.map +1 -1
  623. package/dist/index.cjs +1 -1
  624. package/dist/index.d.ts +189 -2
  625. package/dist/index.js +2 -2
  626. package/dist/native-spec.d.ts +122 -2
  627. package/dist/shikiHighlightData-DU78Iupf.cjs +2 -0
  628. package/dist/shikiHighlightData-DU78Iupf.cjs.map +1 -0
  629. package/dist/shikiHighlightData-Dn-hlfiF.js +28 -0
  630. package/dist/shikiHighlightData-Dn-hlfiF.js.map +1 -0
  631. package/dist/shikiTokenizerRuntime.cjs +3 -0
  632. package/dist/shikiTokenizerRuntime.cjs.map +1 -0
  633. package/dist/shikiTokenizerRuntime.js +72 -0
  634. package/dist/shikiTokenizerRuntime.js.map +1 -0
  635. package/dist/style.css +1 -1
  636. package/dist/webview.cjs +1 -1
  637. package/dist/webview.d.ts +189 -2
  638. package/dist/webview.js +1 -1
  639. package/package.json +7 -3
  640. package/dist/index-BiehJaHJ.js.map +0 -1
  641. package/dist/index-DL8eNafR.cjs +0 -4
  642. package/dist/index-DL8eNafR.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index-DF8OhKI4.cjs","sources":["../../core/src/payloadPanel/index.ts"],"sourcesContent":["import type {\n PayloadPanelConfig,\n PayloadPanelField,\n PayloadPanelFieldConfig,\n PayloadPanelOption,\n PayloadPanelSchema\n} from './type';\n\nexport type * from './type';\n\nconst hasOwnConfigKeys = (config: object | undefined) => (\n config !== undefined && Object.keys(config).length > 0\n);\n\nconst resolveOptionList = (\n options: PayloadPanelOption[],\n config: PayloadPanelFieldConfig\n) => {\n const baseOptions = config.options?.length ? config.options : options;\n const optionByValue = new Map(baseOptions.map((option) => [option.value, option]));\n const includedOptions = config.includeValues?.length\n ? config.includeValues.flatMap((value) => {\n const option = optionByValue.get(value);\n\n return option ? [option] : [];\n })\n : baseOptions;\n const excludeValues = new Set(config.excludeValues ?? []);\n const filteredOptions = includedOptions.filter((option) => !excludeValues.has(option.value));\n const nextOptions = filteredOptions.map((option) => ({\n ...option,\n label: config.optionLabels?.[option.value] ?? option.label,\n value: config.optionValues?.[option.value] ?? option.value\n }));\n\n /*\n * 配置写错时不返回空候选,避免默认 DOM 面板、自绘 request 和原生菜单拿到\n * 无法操作的空列表;业务真要完全隐藏菜单应通过菜单 config 排除入口。\n */\n return nextOptions.length > 0 ? nextOptions : baseOptions;\n};\n\nconst resolveFieldBaseOverride = (\n field: PayloadPanelField,\n config: PayloadPanelFieldConfig\n) => ({\n label: config.label ?? field.label,\n defaultValue: config.defaultValue ?? field.defaultValue,\n placeholder: config.placeholder ?? field.placeholder\n});\n\nconst resolvePayloadPanelField = (\n field: PayloadPanelField,\n config: PayloadPanelFieldConfig | undefined\n): PayloadPanelField => {\n if (!config || !hasOwnConfigKeys(config)) return field;\n\n if (field.type === 'select') {\n return {\n ...field,\n ...resolveFieldBaseOverride(field, config),\n options: resolveOptionList(field.options, config)\n };\n }\n\n if (field.type === 'color') {\n return {\n ...field,\n ...resolveFieldBaseOverride(field, config),\n options: resolveOptionList(field.options ?? [], config)\n };\n }\n\n if (field.type === 'number') {\n return {\n ...field,\n ...resolveFieldBaseOverride(field, config),\n min: config.min ?? field.min,\n max: config.max ?? field.max,\n step: config.step ?? field.step\n };\n }\n\n return {\n ...field,\n ...resolveFieldBaseOverride(field, config)\n };\n};\n\n/**\n * 解析参数面板 schema。\n *\n * 这个纯函数只处理 schema 数据,不理解 DOM、Lexical 或具体命令;toolbar、hoverbar、\n * code block header 和 WebView host request 都应先走这里,保证默认 UI 和业务自绘同源。\n */\nexport const resolvePayloadPanelSchema = (\n panel: PayloadPanelSchema,\n config?: PayloadPanelConfig\n): PayloadPanelSchema => {\n const panelConfig = config?.[panel.id];\n\n if (!panelConfig || !hasOwnConfigKeys(panelConfig)) return panel;\n\n return {\n ...panel,\n title: panelConfig.title ?? panel.title,\n description: panelConfig.description ?? panel.description,\n fields: panel.fields.map((field) => resolvePayloadPanelField(\n field,\n panelConfig.fields?.[field.name]\n ))\n };\n};\n"],"names":["hasOwnConfigKeys","config","resolveOptionList","options","baseOptions","_a","optionByValue","option","includedOptions","_b","value","excludeValues","nextOptions","resolveFieldBaseOverride","field","resolvePayloadPanelField","resolvePayloadPanelSchema","panel","panelConfig"],"mappings":"aAUA,MAAMA,EAAoBC,GACxBA,IAAW,QAAa,OAAO,KAAKA,CAAM,EAAE,OAAS,EAGjDC,EAAoB,CACxBC,EACAF,IACG,SACH,MAAMG,GAAcC,EAAAJ,EAAO,UAAP,MAAAI,EAAgB,OAASJ,EAAO,QAAUE,EACxDG,EAAgB,IAAI,IAAIF,EAAY,IAAKG,GAAW,CAACA,EAAO,MAAOA,CAAM,CAAC,CAAC,EAC3EC,GAAkBC,EAAAR,EAAO,gBAAP,MAAAQ,EAAsB,OAC1CR,EAAO,cAAc,QAASS,GAAU,CACxC,MAAMH,EAASD,EAAc,IAAII,CAAK,EAEtC,OAAOH,EAAS,CAACA,CAAM,EAAI,CAAA,CAC7B,CAAC,EACCH,EACEO,EAAgB,IAAI,IAAIV,EAAO,eAAiB,CAAA,CAAE,EAElDW,EADkBJ,EAAgB,OAAQD,GAAW,CAACI,EAAc,IAAIJ,EAAO,KAAK,CAAC,EACvD,IAAKA,GAAA,SAAY,OACnD,GAAGA,EACH,QAAOF,EAAAJ,EAAO,eAAP,YAAAI,EAAsBE,EAAO,SAAUA,EAAO,MACrD,QAAOE,EAAAR,EAAO,eAAP,YAAAQ,EAAsBF,EAAO,SAAUA,EAAO,KAAA,EACrD,EAMF,OAAOK,EAAY,OAAS,EAAIA,EAAcR,CAChD,EAEMS,EAA2B,CAC/BC,EACAb,KACI,CACJ,MAAOA,EAAO,OAASa,EAAM,MAC7B,aAAcb,EAAO,cAAgBa,EAAM,aAC3C,YAAab,EAAO,aAAea,EAAM,WAC3C,GAEMC,EAA2B,CAC/BD,EACAb,IAEI,CAACA,GAAU,CAACD,EAAiBC,CAAM,EAAUa,EAE7CA,EAAM,OAAS,SACV,CACL,GAAGA,EACH,GAAGD,EAAyBC,EAAOb,CAAM,EACzC,QAASC,EAAkBY,EAAM,QAASb,CAAM,CAAA,EAIhDa,EAAM,OAAS,QACV,CACL,GAAGA,EACH,GAAGD,EAAyBC,EAAOb,CAAM,EACzC,QAASC,EAAkBY,EAAM,SAAW,CAAA,EAAIb,CAAM,CAAA,EAItDa,EAAM,OAAS,SACV,CACL,GAAGA,EACH,GAAGD,EAAyBC,EAAOb,CAAM,EACzC,IAAKA,EAAO,KAAOa,EAAM,IACzB,IAAKb,EAAO,KAAOa,EAAM,IACzB,KAAMb,EAAO,MAAQa,EAAM,IAAA,EAIxB,CACL,GAAGA,EACH,GAAGD,EAAyBC,EAAOb,CAAM,CAAA,EAUhCe,EAA4B,CACvCC,EACAhB,IACuB,CACvB,MAAMiB,EAAcjB,GAAA,YAAAA,EAASgB,EAAM,IAEnC,MAAI,CAACC,GAAe,CAAClB,EAAiBkB,CAAW,EAAUD,EAEpD,CACL,GAAGA,EACH,MAAOC,EAAY,OAASD,EAAM,MAClC,YAAaC,EAAY,aAAeD,EAAM,YAC9C,OAAQA,EAAM,OAAO,IAAKH,GAAA,OAAU,OAAAC,EAClCD,GACAT,EAAAa,EAAY,SAAZ,YAAAb,EAAqBS,EAAM,KAAI,EAChC,CAAA,CAEL"}
1
+ {"version":3,"file":"index-DF8OhKI4.cjs","sources":["../../core/src/payloadPanel/index.ts"],"sourcesContent":["import type {\n PayloadPanelConfig,\n PayloadPanelField,\n PayloadPanelFieldConfig,\n PayloadPanelOption,\n PayloadPanelSchema\n} from './type';\n\nexport type * from './type';\n\nconst hasOwnConfigKeys = (config: object | undefined) => (\n config !== undefined && Object.keys(config).length > 0\n);\n\nconst resolveOptionList = (\n options: PayloadPanelOption[],\n config: PayloadPanelFieldConfig\n) => {\n const baseOptions = config.options?.length ? config.options : options;\n const optionByValue = new Map(baseOptions.map((option) => [option.value, option]));\n const includedOptions = config.includeValues?.length\n ? config.includeValues.flatMap((value) => {\n const option = optionByValue.get(value);\n\n return option ? [option] : [];\n })\n : baseOptions;\n const excludeValues = new Set(config.excludeValues ?? []);\n const filteredOptions = includedOptions.filter((option) => !excludeValues.has(option.value));\n const nextOptions = filteredOptions.map((option) => ({\n ...option,\n label: config.optionLabels?.[option.value] ?? option.label,\n value: config.optionValues?.[option.value] ?? option.value\n }));\n\n /*\n * 配置写错时不返回空候选,避免默认 DOM 面板、自绘 request 和原生菜单拿到\n * 无法操作的空列表;业务真要完全隐藏菜单应通过菜单 config 排除入口。\n */\n return nextOptions.length > 0 ? nextOptions : baseOptions;\n};\n\nconst resolveFieldBaseOverride = (\n field: PayloadPanelField,\n config: PayloadPanelFieldConfig\n) => ({\n label: config.label ?? field.label,\n defaultValue: config.defaultValue ?? field.defaultValue,\n placeholder: config.placeholder ?? field.placeholder\n});\n\nconst resolvePayloadPanelField = (\n field: PayloadPanelField,\n config: PayloadPanelFieldConfig | undefined\n): PayloadPanelField => {\n if (!config || !hasOwnConfigKeys(config)) return field;\n\n if (field.type === 'select') {\n return {\n ...field,\n ...resolveFieldBaseOverride(field, config),\n options: resolveOptionList(field.options, config)\n };\n }\n\n if (field.type === 'color') {\n return {\n ...field,\n ...resolveFieldBaseOverride(field, config),\n options: resolveOptionList(field.options ?? [], config)\n };\n }\n\n if (field.type === 'number') {\n return {\n ...field,\n ...resolveFieldBaseOverride(field, config),\n min: config.min ?? field.min,\n max: config.max ?? field.max,\n step: config.step ?? field.step\n };\n }\n\n return {\n ...field,\n ...resolveFieldBaseOverride(field, config)\n };\n};\n\n/**\n * 解析参数面板 schema。\n *\n * 这个纯函数只处理 schema 数据,不理解 DOM、Lexical 或具体命令;toolbar、hoverbar、\n * code block 语言 controls 和 WebView host request 都应先走这里,保证默认 UI 和业务自绘同源。\n */\nexport const resolvePayloadPanelSchema = (\n panel: PayloadPanelSchema,\n config?: PayloadPanelConfig\n): PayloadPanelSchema => {\n const panelConfig = config?.[panel.id];\n\n if (!panelConfig || !hasOwnConfigKeys(panelConfig)) return panel;\n\n return {\n ...panel,\n title: panelConfig.title ?? panel.title,\n description: panelConfig.description ?? panel.description,\n fields: panel.fields.map((field) => resolvePayloadPanelField(\n field,\n panelConfig.fields?.[field.name]\n ))\n };\n};\n"],"names":["hasOwnConfigKeys","config","resolveOptionList","options","baseOptions","_a","optionByValue","option","includedOptions","_b","value","excludeValues","nextOptions","resolveFieldBaseOverride","field","resolvePayloadPanelField","resolvePayloadPanelSchema","panel","panelConfig"],"mappings":"aAUA,MAAMA,EAAoBC,GACxBA,IAAW,QAAa,OAAO,KAAKA,CAAM,EAAE,OAAS,EAGjDC,EAAoB,CACxBC,EACAF,IACG,SACH,MAAMG,GAAcC,EAAAJ,EAAO,UAAP,MAAAI,EAAgB,OAASJ,EAAO,QAAUE,EACxDG,EAAgB,IAAI,IAAIF,EAAY,IAAKG,GAAW,CAACA,EAAO,MAAOA,CAAM,CAAC,CAAC,EAC3EC,GAAkBC,EAAAR,EAAO,gBAAP,MAAAQ,EAAsB,OAC1CR,EAAO,cAAc,QAASS,GAAU,CACxC,MAAMH,EAASD,EAAc,IAAII,CAAK,EAEtC,OAAOH,EAAS,CAACA,CAAM,EAAI,CAAA,CAC7B,CAAC,EACCH,EACEO,EAAgB,IAAI,IAAIV,EAAO,eAAiB,CAAA,CAAE,EAElDW,EADkBJ,EAAgB,OAAQD,GAAW,CAACI,EAAc,IAAIJ,EAAO,KAAK,CAAC,EACvD,IAAKA,GAAA,SAAY,OACnD,GAAGA,EACH,QAAOF,EAAAJ,EAAO,eAAP,YAAAI,EAAsBE,EAAO,SAAUA,EAAO,MACrD,QAAOE,EAAAR,EAAO,eAAP,YAAAQ,EAAsBF,EAAO,SAAUA,EAAO,KAAA,EACrD,EAMF,OAAOK,EAAY,OAAS,EAAIA,EAAcR,CAChD,EAEMS,EAA2B,CAC/BC,EACAb,KACI,CACJ,MAAOA,EAAO,OAASa,EAAM,MAC7B,aAAcb,EAAO,cAAgBa,EAAM,aAC3C,YAAab,EAAO,aAAea,EAAM,WAC3C,GAEMC,EAA2B,CAC/BD,EACAb,IAEI,CAACA,GAAU,CAACD,EAAiBC,CAAM,EAAUa,EAE7CA,EAAM,OAAS,SACV,CACL,GAAGA,EACH,GAAGD,EAAyBC,EAAOb,CAAM,EACzC,QAASC,EAAkBY,EAAM,QAASb,CAAM,CAAA,EAIhDa,EAAM,OAAS,QACV,CACL,GAAGA,EACH,GAAGD,EAAyBC,EAAOb,CAAM,EACzC,QAASC,EAAkBY,EAAM,SAAW,CAAA,EAAIb,CAAM,CAAA,EAItDa,EAAM,OAAS,SACV,CACL,GAAGA,EACH,GAAGD,EAAyBC,EAAOb,CAAM,EACzC,IAAKA,EAAO,KAAOa,EAAM,IACzB,IAAKb,EAAO,KAAOa,EAAM,IACzB,KAAMb,EAAO,MAAQa,EAAM,IAAA,EAIxB,CACL,GAAGA,EACH,GAAGD,EAAyBC,EAAOb,CAAM,CAAA,EAUhCe,EAA4B,CACvCC,EACAhB,IACuB,CACvB,MAAMiB,EAAcjB,GAAA,YAAAA,EAASgB,EAAM,IAEnC,MAAI,CAACC,GAAe,CAAClB,EAAiBkB,CAAW,EAAUD,EAEpD,CACL,GAAGA,EACH,MAAOC,EAAY,OAASD,EAAM,MAClC,YAAaC,EAAY,aAAeD,EAAM,YAC9C,OAAQA,EAAM,OAAO,IAAKH,GAAA,OAAU,OAAAC,EAClCD,GACAT,EAAAa,EAAY,SAAZ,YAAAb,EAAqBS,EAAM,KAAI,EAChC,CAAA,CAEL"}
@@ -1 +1 @@
1
- {"version":3,"file":"index-sbZNOcCB.js","sources":["../../core/src/payloadPanel/index.ts"],"sourcesContent":["import type {\n PayloadPanelConfig,\n PayloadPanelField,\n PayloadPanelFieldConfig,\n PayloadPanelOption,\n PayloadPanelSchema\n} from './type';\n\nexport type * from './type';\n\nconst hasOwnConfigKeys = (config: object | undefined) => (\n config !== undefined && Object.keys(config).length > 0\n);\n\nconst resolveOptionList = (\n options: PayloadPanelOption[],\n config: PayloadPanelFieldConfig\n) => {\n const baseOptions = config.options?.length ? config.options : options;\n const optionByValue = new Map(baseOptions.map((option) => [option.value, option]));\n const includedOptions = config.includeValues?.length\n ? config.includeValues.flatMap((value) => {\n const option = optionByValue.get(value);\n\n return option ? [option] : [];\n })\n : baseOptions;\n const excludeValues = new Set(config.excludeValues ?? []);\n const filteredOptions = includedOptions.filter((option) => !excludeValues.has(option.value));\n const nextOptions = filteredOptions.map((option) => ({\n ...option,\n label: config.optionLabels?.[option.value] ?? option.label,\n value: config.optionValues?.[option.value] ?? option.value\n }));\n\n /*\n * 配置写错时不返回空候选,避免默认 DOM 面板、自绘 request 和原生菜单拿到\n * 无法操作的空列表;业务真要完全隐藏菜单应通过菜单 config 排除入口。\n */\n return nextOptions.length > 0 ? nextOptions : baseOptions;\n};\n\nconst resolveFieldBaseOverride = (\n field: PayloadPanelField,\n config: PayloadPanelFieldConfig\n) => ({\n label: config.label ?? field.label,\n defaultValue: config.defaultValue ?? field.defaultValue,\n placeholder: config.placeholder ?? field.placeholder\n});\n\nconst resolvePayloadPanelField = (\n field: PayloadPanelField,\n config: PayloadPanelFieldConfig | undefined\n): PayloadPanelField => {\n if (!config || !hasOwnConfigKeys(config)) return field;\n\n if (field.type === 'select') {\n return {\n ...field,\n ...resolveFieldBaseOverride(field, config),\n options: resolveOptionList(field.options, config)\n };\n }\n\n if (field.type === 'color') {\n return {\n ...field,\n ...resolveFieldBaseOverride(field, config),\n options: resolveOptionList(field.options ?? [], config)\n };\n }\n\n if (field.type === 'number') {\n return {\n ...field,\n ...resolveFieldBaseOverride(field, config),\n min: config.min ?? field.min,\n max: config.max ?? field.max,\n step: config.step ?? field.step\n };\n }\n\n return {\n ...field,\n ...resolveFieldBaseOverride(field, config)\n };\n};\n\n/**\n * 解析参数面板 schema。\n *\n * 这个纯函数只处理 schema 数据,不理解 DOM、Lexical 或具体命令;toolbar、hoverbar、\n * code block header 和 WebView host request 都应先走这里,保证默认 UI 和业务自绘同源。\n */\nexport const resolvePayloadPanelSchema = (\n panel: PayloadPanelSchema,\n config?: PayloadPanelConfig\n): PayloadPanelSchema => {\n const panelConfig = config?.[panel.id];\n\n if (!panelConfig || !hasOwnConfigKeys(panelConfig)) return panel;\n\n return {\n ...panel,\n title: panelConfig.title ?? panel.title,\n description: panelConfig.description ?? panel.description,\n fields: panel.fields.map((field) => resolvePayloadPanelField(\n field,\n panelConfig.fields?.[field.name]\n ))\n };\n};\n"],"names":["hasOwnConfigKeys","config","resolveOptionList","options","_a","_b","baseOptions","optionByValue","option","includedOptions","value","excludeValues","nextOptions","resolveFieldBaseOverride","field","resolvePayloadPanelField","resolvePayloadPanelSchema","panel","panelConfig"],"mappings":"AAUA,MAAMA,IAAmB,CAACC,MACxBA,MAAW,UAAa,OAAO,KAAKA,CAAM,EAAE,SAAS,GAGjDC,IAAoB,CACxBC,GACAF,MACG;AAPL,MAAAG,GAAAC;AAQE,QAAMC,KAAcF,IAAAH,EAAO,YAAP,QAAAG,EAAgB,SAASH,EAAO,UAAUE,GACxDI,IAAgB,IAAI,IAAID,EAAY,IAAI,CAACE,MAAW,CAACA,EAAO,OAAOA,CAAM,CAAC,CAAC,GAC3EC,KAAkBJ,IAAAJ,EAAO,kBAAP,QAAAI,EAAsB,SAC1CJ,EAAO,cAAc,QAAQ,CAACS,MAAU;AACxC,UAAMF,IAASD,EAAc,IAAIG,CAAK;AAEtC,WAAOF,IAAS,CAACA,CAAM,IAAI,CAAA;AAAA,EAC7B,CAAC,IACCF,GACEK,IAAgB,IAAI,IAAIV,EAAO,iBAAiB,CAAA,CAAE,GAElDW,IADkBH,EAAgB,OAAO,CAACD,MAAW,CAACG,EAAc,IAAIH,EAAO,KAAK,CAAC,EACvD,IAAI,CAACA,MAAA;AAnB3C,QAAAJ,GAAAC;AAmBuD;AAAA,MACnD,GAAGG;AAAA,MACH,SAAOJ,IAAAH,EAAO,iBAAP,gBAAAG,EAAsBI,EAAO,WAAUA,EAAO;AAAA,MACrD,SAAOH,IAAAJ,EAAO,iBAAP,gBAAAI,EAAsBG,EAAO,WAAUA,EAAO;AAAA,IAAA;AAAA,GACrD;AAMF,SAAOI,EAAY,SAAS,IAAIA,IAAcN;AAChD,GAEMO,IAA2B,CAC/BC,GACAb,OACI;AAAA,EACJ,OAAOA,EAAO,SAASa,EAAM;AAAA,EAC7B,cAAcb,EAAO,gBAAgBa,EAAM;AAAA,EAC3C,aAAab,EAAO,eAAea,EAAM;AAC3C,IAEMC,IAA2B,CAC/BD,GACAb,MAEI,CAACA,KAAU,CAACD,EAAiBC,CAAM,IAAUa,IAE7CA,EAAM,SAAS,WACV;AAAA,EACL,GAAGA;AAAA,EACH,GAAGD,EAAyBC,GAAOb,CAAM;AAAA,EACzC,SAASC,EAAkBY,EAAM,SAASb,CAAM;AAAA,IAIhDa,EAAM,SAAS,UACV;AAAA,EACL,GAAGA;AAAA,EACH,GAAGD,EAAyBC,GAAOb,CAAM;AAAA,EACzC,SAASC,EAAkBY,EAAM,WAAW,CAAA,GAAIb,CAAM;AAAA,IAItDa,EAAM,SAAS,WACV;AAAA,EACL,GAAGA;AAAA,EACH,GAAGD,EAAyBC,GAAOb,CAAM;AAAA,EACzC,KAAKA,EAAO,OAAOa,EAAM;AAAA,EACzB,KAAKb,EAAO,OAAOa,EAAM;AAAA,EACzB,MAAMb,EAAO,QAAQa,EAAM;AAAA,IAIxB;AAAA,EACL,GAAGA;AAAA,EACH,GAAGD,EAAyBC,GAAOb,CAAM;AAAA,GAUhCe,IAA4B,CACvCC,GACAhB,MACuB;AACvB,QAAMiB,IAAcjB,KAAA,gBAAAA,EAASgB,EAAM;AAEnC,SAAI,CAACC,KAAe,CAAClB,EAAiBkB,CAAW,IAAUD,IAEpD;AAAA,IACL,GAAGA;AAAA,IACH,OAAOC,EAAY,SAASD,EAAM;AAAA,IAClC,aAAaC,EAAY,eAAeD,EAAM;AAAA,IAC9C,QAAQA,EAAM,OAAO,IAAI,CAACH,MAAA;AAjG9B,UAAAV;AAiGwC,aAAAW;AAAA,QAClCD;AAAA,SACAV,IAAAc,EAAY,WAAZ,gBAAAd,EAAqBU,EAAM;AAAA,MAAI;AAAA,KAChC;AAAA,EAAA;AAEL;"}
1
+ {"version":3,"file":"index-sbZNOcCB.js","sources":["../../core/src/payloadPanel/index.ts"],"sourcesContent":["import type {\n PayloadPanelConfig,\n PayloadPanelField,\n PayloadPanelFieldConfig,\n PayloadPanelOption,\n PayloadPanelSchema\n} from './type';\n\nexport type * from './type';\n\nconst hasOwnConfigKeys = (config: object | undefined) => (\n config !== undefined && Object.keys(config).length > 0\n);\n\nconst resolveOptionList = (\n options: PayloadPanelOption[],\n config: PayloadPanelFieldConfig\n) => {\n const baseOptions = config.options?.length ? config.options : options;\n const optionByValue = new Map(baseOptions.map((option) => [option.value, option]));\n const includedOptions = config.includeValues?.length\n ? config.includeValues.flatMap((value) => {\n const option = optionByValue.get(value);\n\n return option ? [option] : [];\n })\n : baseOptions;\n const excludeValues = new Set(config.excludeValues ?? []);\n const filteredOptions = includedOptions.filter((option) => !excludeValues.has(option.value));\n const nextOptions = filteredOptions.map((option) => ({\n ...option,\n label: config.optionLabels?.[option.value] ?? option.label,\n value: config.optionValues?.[option.value] ?? option.value\n }));\n\n /*\n * 配置写错时不返回空候选,避免默认 DOM 面板、自绘 request 和原生菜单拿到\n * 无法操作的空列表;业务真要完全隐藏菜单应通过菜单 config 排除入口。\n */\n return nextOptions.length > 0 ? nextOptions : baseOptions;\n};\n\nconst resolveFieldBaseOverride = (\n field: PayloadPanelField,\n config: PayloadPanelFieldConfig\n) => ({\n label: config.label ?? field.label,\n defaultValue: config.defaultValue ?? field.defaultValue,\n placeholder: config.placeholder ?? field.placeholder\n});\n\nconst resolvePayloadPanelField = (\n field: PayloadPanelField,\n config: PayloadPanelFieldConfig | undefined\n): PayloadPanelField => {\n if (!config || !hasOwnConfigKeys(config)) return field;\n\n if (field.type === 'select') {\n return {\n ...field,\n ...resolveFieldBaseOverride(field, config),\n options: resolveOptionList(field.options, config)\n };\n }\n\n if (field.type === 'color') {\n return {\n ...field,\n ...resolveFieldBaseOverride(field, config),\n options: resolveOptionList(field.options ?? [], config)\n };\n }\n\n if (field.type === 'number') {\n return {\n ...field,\n ...resolveFieldBaseOverride(field, config),\n min: config.min ?? field.min,\n max: config.max ?? field.max,\n step: config.step ?? field.step\n };\n }\n\n return {\n ...field,\n ...resolveFieldBaseOverride(field, config)\n };\n};\n\n/**\n * 解析参数面板 schema。\n *\n * 这个纯函数只处理 schema 数据,不理解 DOM、Lexical 或具体命令;toolbar、hoverbar、\n * code block 语言 controls 和 WebView host request 都应先走这里,保证默认 UI 和业务自绘同源。\n */\nexport const resolvePayloadPanelSchema = (\n panel: PayloadPanelSchema,\n config?: PayloadPanelConfig\n): PayloadPanelSchema => {\n const panelConfig = config?.[panel.id];\n\n if (!panelConfig || !hasOwnConfigKeys(panelConfig)) return panel;\n\n return {\n ...panel,\n title: panelConfig.title ?? panel.title,\n description: panelConfig.description ?? panel.description,\n fields: panel.fields.map((field) => resolvePayloadPanelField(\n field,\n panelConfig.fields?.[field.name]\n ))\n };\n};\n"],"names":["hasOwnConfigKeys","config","resolveOptionList","options","_a","_b","baseOptions","optionByValue","option","includedOptions","value","excludeValues","nextOptions","resolveFieldBaseOverride","field","resolvePayloadPanelField","resolvePayloadPanelSchema","panel","panelConfig"],"mappings":"AAUA,MAAMA,IAAmB,CAACC,MACxBA,MAAW,UAAa,OAAO,KAAKA,CAAM,EAAE,SAAS,GAGjDC,IAAoB,CACxBC,GACAF,MACG;AAPL,MAAAG,GAAAC;AAQE,QAAMC,KAAcF,IAAAH,EAAO,YAAP,QAAAG,EAAgB,SAASH,EAAO,UAAUE,GACxDI,IAAgB,IAAI,IAAID,EAAY,IAAI,CAACE,MAAW,CAACA,EAAO,OAAOA,CAAM,CAAC,CAAC,GAC3EC,KAAkBJ,IAAAJ,EAAO,kBAAP,QAAAI,EAAsB,SAC1CJ,EAAO,cAAc,QAAQ,CAACS,MAAU;AACxC,UAAMF,IAASD,EAAc,IAAIG,CAAK;AAEtC,WAAOF,IAAS,CAACA,CAAM,IAAI,CAAA;AAAA,EAC7B,CAAC,IACCF,GACEK,IAAgB,IAAI,IAAIV,EAAO,iBAAiB,CAAA,CAAE,GAElDW,IADkBH,EAAgB,OAAO,CAACD,MAAW,CAACG,EAAc,IAAIH,EAAO,KAAK,CAAC,EACvD,IAAI,CAACA,MAAA;AAnB3C,QAAAJ,GAAAC;AAmBuD;AAAA,MACnD,GAAGG;AAAA,MACH,SAAOJ,IAAAH,EAAO,iBAAP,gBAAAG,EAAsBI,EAAO,WAAUA,EAAO;AAAA,MACrD,SAAOH,IAAAJ,EAAO,iBAAP,gBAAAI,EAAsBG,EAAO,WAAUA,EAAO;AAAA,IAAA;AAAA,GACrD;AAMF,SAAOI,EAAY,SAAS,IAAIA,IAAcN;AAChD,GAEMO,IAA2B,CAC/BC,GACAb,OACI;AAAA,EACJ,OAAOA,EAAO,SAASa,EAAM;AAAA,EAC7B,cAAcb,EAAO,gBAAgBa,EAAM;AAAA,EAC3C,aAAab,EAAO,eAAea,EAAM;AAC3C,IAEMC,IAA2B,CAC/BD,GACAb,MAEI,CAACA,KAAU,CAACD,EAAiBC,CAAM,IAAUa,IAE7CA,EAAM,SAAS,WACV;AAAA,EACL,GAAGA;AAAA,EACH,GAAGD,EAAyBC,GAAOb,CAAM;AAAA,EACzC,SAASC,EAAkBY,EAAM,SAASb,CAAM;AAAA,IAIhDa,EAAM,SAAS,UACV;AAAA,EACL,GAAGA;AAAA,EACH,GAAGD,EAAyBC,GAAOb,CAAM;AAAA,EACzC,SAASC,EAAkBY,EAAM,WAAW,CAAA,GAAIb,CAAM;AAAA,IAItDa,EAAM,SAAS,WACV;AAAA,EACL,GAAGA;AAAA,EACH,GAAGD,EAAyBC,GAAOb,CAAM;AAAA,EACzC,KAAKA,EAAO,OAAOa,EAAM;AAAA,EACzB,KAAKb,EAAO,OAAOa,EAAM;AAAA,EACzB,MAAMb,EAAO,QAAQa,EAAM;AAAA,IAIxB;AAAA,EACL,GAAGA;AAAA,EACH,GAAGD,EAAyBC,GAAOb,CAAM;AAAA,GAUhCe,IAA4B,CACvCC,GACAhB,MACuB;AACvB,QAAMiB,IAAcjB,KAAA,gBAAAA,EAASgB,EAAM;AAEnC,SAAI,CAACC,KAAe,CAAClB,EAAiBkB,CAAW,IAAUD,IAEpD;AAAA,IACL,GAAGA;AAAA,IACH,OAAOC,EAAY,SAASD,EAAM;AAAA,IAClC,aAAaC,EAAY,eAAeD,EAAM;AAAA,IAC9C,QAAQA,EAAM,OAAO,IAAI,CAACH,MAAA;AAjG9B,UAAAV;AAiGwC,aAAAW;AAAA,QAClCD;AAAA,SACAV,IAAAc,EAAY,WAAZ,gBAAAd,EAAqBU,EAAM;AAAA,MAAI;AAAA,KAChC;AAAA,EAAA;AAEL;"}
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./index-GaS65GL0.cjs"),a=require("./bridge.cjs"),e=require("./native-spec.cjs"),n=require("./index-DL8eNafR.cjs"),o=require("./index-McnGKzmi.cjs"),r=require("./core.cjs"),i=require("./index-DF8OhKI4.cjs");exports.BRIDGERTE_CONTENT_VERSION=t.BRIDGERTE_CONTENT_VERSION;exports.BRIDGERTE_TABLE_INSERT_MAX_COLS=t.BRIDGERTE_TABLE_INSERT_MAX_COLS;exports.BRIDGERTE_TABLE_INSERT_MAX_ROWS=t.BRIDGERTE_TABLE_INSERT_MAX_ROWS;exports.BRIDGE_CONTENT_CHANGE_DEBOUNCE_MS=a.BRIDGE_CONTENT_CHANGE_DEBOUNCE_MS;exports.BRIDGE_HEIGHT_CHANGE_THROTTLE_MS=a.BRIDGE_HEIGHT_CHANGE_THROTTLE_MS;exports.defaultBridgeEventTiming=a.defaultBridgeEventTiming;exports.isBridgeMessage=a.isBridgeMessage;exports.codeBlockLanguagePanel=e.codeBlockLanguagePanel;exports.codeBlockLanguagePayloadPanel=e.codeBlockLanguagePayloadPanel;exports.createDisabledCommandStates=e.createDisabledCommandStates;exports.defaultMenuSchema=e.defaultMenuSchema;exports.defaultToolbarConfig=e.defaultToolbarConfig;exports.getCommandStateMatchValue=e.getCommandStateMatchValue;exports.isCommandStateForCommand=e.isCommandStateForCommand;exports.isMenuItemCommandState=e.isMenuItemCommandState;exports.resolveToolbarMenu=e.resolveToolbarMenu;exports.tableHeaderMenuItems=e.tableHeaderMenuItems;exports.createFloatingLayer=n.createFloatingLayer;exports.createRichTextEditor=n.createRichTextEditor;exports.createWebViewBridgeRuntime=n.createWebViewBridgeRuntime;exports.createRichTextToolbar=o.createRichTextToolbar;exports.hasMeaningfulHtmlContent=o.hasMeaningfulHtmlContent;exports.isEditorContentEmpty=r.isEditorContentEmpty;exports.resolvePayloadPanelSchema=i.resolvePayloadPanelSchema;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./index-GaS65GL0.cjs"),a=require("./bridge.cjs"),e=require("./native-spec.cjs"),n=require("./index-CQx3NGKY.cjs"),o=require("./index-79mXjylo.cjs"),r=require("./core.cjs"),i=require("./index-DF8OhKI4.cjs");exports.BRIDGERTE_CONTENT_VERSION=t.BRIDGERTE_CONTENT_VERSION;exports.BRIDGERTE_TABLE_INSERT_MAX_COLS=t.BRIDGERTE_TABLE_INSERT_MAX_COLS;exports.BRIDGERTE_TABLE_INSERT_MAX_ROWS=t.BRIDGERTE_TABLE_INSERT_MAX_ROWS;exports.BRIDGE_CONTENT_CHANGE_DEBOUNCE_MS=a.BRIDGE_CONTENT_CHANGE_DEBOUNCE_MS;exports.BRIDGE_HEIGHT_CHANGE_THROTTLE_MS=a.BRIDGE_HEIGHT_CHANGE_THROTTLE_MS;exports.defaultBridgeEventTiming=a.defaultBridgeEventTiming;exports.isBridgeMessage=a.isBridgeMessage;exports.codeBlockLanguagePanel=e.codeBlockLanguagePanel;exports.codeBlockLanguagePayloadPanel=e.codeBlockLanguagePayloadPanel;exports.createDisabledCommandStates=e.createDisabledCommandStates;exports.defaultMenuSchema=e.defaultMenuSchema;exports.defaultToolbarConfig=e.defaultToolbarConfig;exports.getCommandStateMatchValue=e.getCommandStateMatchValue;exports.isCommandStateForCommand=e.isCommandStateForCommand;exports.isMenuItemCommandState=e.isMenuItemCommandState;exports.resolveToolbarMenu=e.resolveToolbarMenu;exports.tableHeaderMenuItems=e.tableHeaderMenuItems;exports.createFloatingLayer=n.createFloatingLayer;exports.createRichTextEditor=n.createRichTextEditor;exports.createWebViewBridgeRuntime=n.createWebViewBridgeRuntime;exports.createRichTextToolbar=o.createRichTextToolbar;exports.hasMeaningfulHtmlContent=o.hasMeaningfulHtmlContent;exports.isEditorContentEmpty=r.isEditorContentEmpty;exports.resolvePayloadPanelSchema=i.resolvePayloadPanelSchema;
2
2
  //# sourceMappingURL=index.cjs.map
package/dist/index.d.ts CHANGED
@@ -455,6 +455,9 @@ export type EditorCommand = {
455
455
  type: 'media.pickImage';
456
456
  } | {
457
457
  type: 'media.pickVideo';
458
+ } | {
459
+ type: 'media.view';
460
+ assetId: string;
458
461
  } | {
459
462
  type: 'media.retry';
460
463
  assetId: string;
@@ -677,7 +680,7 @@ export type PayloadPanelSchemaConfig = {
677
680
  /**
678
681
  * 参数面板配置表。
679
682
  *
680
- * 第一层 key 使用 `PayloadPanelSchema.id`,让 toolbar、hoverbar、code block header
683
+ * 第一层 key 使用 `PayloadPanelSchema.id`,让 toolbar、hoverbar、code block 语言 controls
681
684
  * WebView 和业务自绘都能对同一份 panel schema 做一致裁剪。
682
685
  */
683
686
  export type PayloadPanelConfig = Record<string, PayloadPanelSchemaConfig>;
@@ -723,7 +726,7 @@ export type PayloadPanelRequest = PayloadPanelOpenRequest & {
723
726
  * 解析参数面板 schema。
724
727
  *
725
728
  * 这个纯函数只处理 schema 数据,不理解 DOM、Lexical 或具体命令;toolbar、hoverbar、
726
- * code block header 和 WebView host request 都应先走这里,保证默认 UI 和业务自绘同源。
729
+ * code block 语言 controls 和 WebView host request 都应先走这里,保证默认 UI 和业务自绘同源。
727
730
  */
728
731
  export declare const resolvePayloadPanelSchema: (panel: PayloadPanelSchema, config?: PayloadPanelConfig) => PayloadPanelSchema;
729
732
 
@@ -758,6 +761,103 @@ export type FloatingMenusConfig = {
758
761
  * 原生菜单可以忽略这个字段并用同一个 key 映射平台 icon。
759
762
  */
760
763
  export type RichTextEditorIcons = Partial<Record<string, string>>;
764
+ /**
765
+ * 自绘菜单提交目标。
766
+ *
767
+ * 业务侧通常只需要回传 `MenuItem.id`;保留完整 `MenuItem` 是为了 PC/H5 自绘层在同进程内
768
+ * 直接复用 request.items 中的对象,WebView bridge 仍只通过 id 回传。
769
+ */
770
+ export type MenuControlSubmitTarget = string | MenuItem;
771
+ export type MenuControlButtonItem = {
772
+ type: 'button';
773
+ item: MenuItem;
774
+ active: boolean;
775
+ disabled: boolean;
776
+ };
777
+ export type MenuControlSeparatorItem = {
778
+ type: 'separator';
779
+ key: string;
780
+ };
781
+ export type MenuControlGroupItem = {
782
+ type: 'group';
783
+ key: string;
784
+ title: string;
785
+ icon?: string;
786
+ items: MenuControlButtonItem[];
787
+ };
788
+ /**
789
+ * 自绘菜单的跨端显示协议。
790
+ *
791
+ * DOM 默认 UI、PC/H5 自绘和 RN/Flutter 原生菜单都消费解析后的同一份结构;
792
+ * 这里不携带 DOM 节点、SVG 字符串或定位实现,只保留 schema/config 解析结果和状态。
793
+ */
794
+ export type MenuControlDisplayItem = MenuControlButtonItem | MenuControlSeparatorItem | MenuControlGroupItem;
795
+ export type HoverbarMenuRequest = {
796
+ id: string;
797
+ items: MenuControlDisplayItem[];
798
+ commandStates: CommandState[];
799
+ readonly: boolean;
800
+ anchorRect?: PayloadPanelOpenRequest['anchorRect'];
801
+ /**
802
+ * 订阅这次菜单请求被编辑器侧关闭或替换。
803
+ *
804
+ * 宿主自绘菜单可以据此清理自己的浮层;WebView runtime 也用它通知 RN/Flutter
805
+ * 旧 request 已失效,避免晚到提交命中悬空菜单。
806
+ */
807
+ subscribeDismiss(listener: () => void): () => void;
808
+ submit(target: MenuControlSubmitTarget): void;
809
+ cancel(): void;
810
+ };
811
+ export type MediaControlsRequest = {
812
+ id: string;
813
+ assetId: string;
814
+ mediaType: 'image' | 'video';
815
+ status: string;
816
+ displayWidthPercent: MediaDisplayWidthPercent;
817
+ align: MediaAlign;
818
+ items: MenuControlDisplayItem[];
819
+ readonly: boolean;
820
+ anchorRect?: PayloadPanelOpenRequest['anchorRect'];
821
+ /**
822
+ * 媒体资源 URL。
823
+ *
824
+ * 从 DOM 读取,可用于业务自绘层的预览、下载或分享。
825
+ */
826
+ url?: string;
827
+ title?: string;
828
+ alt?: string;
829
+ poster?: string;
830
+ width?: number;
831
+ height?: number;
832
+ /** 视频时长(秒),仅 video 节点 loadedmetadata 后可读。 */
833
+ duration?: number;
834
+ /** 媒体 MIME 类型,DOM 不保证一定可读。 */
835
+ mimeType?: string;
836
+ /** 文件大小(字节),DOM 不保证一定可读。 */
837
+ size?: number;
838
+ /**
839
+ * 订阅这次菜单请求被编辑器侧关闭或替换。
840
+ *
841
+ * 媒体节点切换、点击正文或节点销毁都会让旧自绘菜单失效;监听方需要同步关闭外部 UI。
842
+ */
843
+ subscribeDismiss(listener: () => void): () => void;
844
+ submit(target: MenuControlSubmitTarget): void;
845
+ cancel(): void;
846
+ };
847
+ export type TableControlsRequest = {
848
+ id: string;
849
+ items: MenuControlDisplayItem[];
850
+ readonly: boolean;
851
+ anchorRect?: PayloadPanelOpenRequest['anchorRect'];
852
+ /**
853
+ * 订阅这次菜单请求被编辑器侧关闭或替换。
854
+ *
855
+ * 表格激活态变化时会触发 dismiss,保证业务自绘和 DOM 内部 controls 生命周期一致。
856
+ */
857
+ subscribeDismiss(listener: () => void): () => void;
858
+ submit(target: MenuControlSubmitTarget): void;
859
+ cancel(): void;
860
+ };
761
861
  export type RichTextEditorOptions = {
762
862
  value?: Partial<EditorContent>;
763
863
  readonly?: boolean;
@@ -847,6 +947,26 @@ export type RichTextEditorOptions = {
847
947
  slashCommandProvider?: SlashCommandProvider;
848
948
  slashCommandMenuConfig?: SlashCommandMenuConfig;
849
949
  onSlashCommandMenuRequest?: (request: SlashCommandMenuRequest) => boolean | void;
950
+ /**
951
+ * 选中文本 hoverbar 自绘接管。
952
+ *
953
+ * 返回 true 时 DOM 不渲染默认 hoverbar;业务侧需要调用 request.submit(id) 执行菜单,
954
+ * 或调用 request.cancel() 关闭这次自绘菜单。
955
+ */
956
+ onHoverbarMenuRequest?: (request: HoverbarMenuRequest) => boolean | void;
957
+ /**
958
+ * 图片/视频 overlay controls 自绘接管。
959
+ *
960
+ * 返回 true 时 DOM 不渲染默认媒体浮条;同一份 items 可用于 PC/H5 浮窗或 RN/Flutter
961
+ * 原生面板,提交时回传菜单 id 即可。
962
+ */
963
+ onMediaControlsRequest?: (request: MediaControlsRequest) => boolean | void;
964
+ /**
965
+ * 表格 controls 自绘接管。
966
+ *
967
+ * 返回 true 时 DOM 不渲染默认表格浮条,业务菜单提交后仍复用 BridgeRTE 内部表格命令执行。
968
+ */
969
+ onTableControlsRequest?: (request: TableControlsRequest) => boolean | void;
850
970
  placeholder?: string;
851
971
  maxLength?: number;
852
972
  /**
@@ -1052,6 +1172,53 @@ export type PayloadPanelRequestPayload = PayloadPanelOpenRequest & {
1052
1172
  id: string;
1053
1173
  readonly: boolean;
1054
1174
  };
1175
+ export type MenuRequestKind = 'hoverbar' | 'mediaControls' | 'tableControls';
1176
+ export type BaseMenuRequestPayload = {
1177
+ id: string;
1178
+ kind: MenuRequestKind;
1179
+ items: MenuControlDisplayItem[];
1180
+ readonly: boolean;
1181
+ anchorRect?: PayloadPanelOpenRequest['anchorRect'];
1182
+ };
1183
+ export type HoverbarMenuRequestPayload = BaseMenuRequestPayload & {
1184
+ kind: 'hoverbar';
1185
+ commandStates: HoverbarMenuRequest['commandStates'];
1186
+ };
1187
+ export type MediaControlsRequestPayload = BaseMenuRequestPayload & {
1188
+ kind: 'mediaControls';
1189
+ assetId: string;
1190
+ mediaType: MediaControlsRequest['mediaType'];
1191
+ status: string;
1192
+ displayWidthPercent: MediaControlsRequest['displayWidthPercent'];
1193
+ align: MediaControlsRequest['align'];
1194
+ /** 媒体资源 URL,可用于原生侧预览、下载或分享。 */
1195
+ url?: string;
1196
+ title?: string;
1197
+ alt?: string;
1198
+ poster?: string;
1199
+ width?: number;
1200
+ height?: number;
1201
+ duration?: number;
1202
+ mimeType?: string;
1203
+ size?: number;
1204
+ };
1205
+ export type TableControlsRequestPayload = BaseMenuRequestPayload & {
1206
+ kind: 'tableControls';
1207
+ };
1208
+ /**
1209
+ * 编辑器请求原生侧自绘的菜单。
1210
+ *
1211
+ * payload 不携带 submit/cancel 函数;RN/Flutter 通过 editor.menuResolved 或
1212
+ * editor.menuCanceled 把结果回传给 WebView runtime。
1213
+ */
1214
+ export type MenuRequestPayload = HoverbarMenuRequestPayload | MediaControlsRequestPayload | TableControlsRequestPayload;
1215
+ export type MenuResolvedPayload = {
1216
+ requestId: string;
1217
+ menuItemId: string;
1218
+ };
1219
+ export type MenuCanceledPayload = {
1220
+ requestId: string;
1221
+ };
1055
1222
  /**
1056
1223
  * 编辑器 ready 后回传给原生侧的初始化结果。
1057
1224
  */
@@ -1092,6 +1259,14 @@ export type NativeToEditorMessage = {
1092
1259
  id: string;
1093
1260
  type: 'editor.payloadPanelCanceled';
1094
1261
  payload: PayloadPanelCanceledPayload;
1262
+ } | {
1263
+ id: string;
1264
+ type: 'editor.menuResolved';
1265
+ payload: MenuResolvedPayload;
1266
+ } | {
1267
+ id: string;
1268
+ type: 'editor.menuCanceled';
1269
+ payload: MenuCanceledPayload;
1095
1270
  } | {
1096
1271
  id: string;
1097
1272
  type: 'editor.uploadResolved';
@@ -1128,6 +1303,14 @@ export type EditorToNativeMessage = {
1128
1303
  id?: string;
1129
1304
  type: 'editor.payloadPanelRequest';
1130
1305
  payload: PayloadPanelRequestPayload;
1306
+ } | {
1307
+ id?: string;
1308
+ type: 'editor.menuRequest';
1309
+ payload: MenuRequestPayload;
1310
+ } | {
1311
+ id?: string;
1312
+ type: 'editor.menuCanceled';
1313
+ payload: MenuCanceledPayload;
1131
1314
  } | {
1132
1315
  id?: string;
1133
1316
  type: 'editor.uploadRequest';
@@ -1324,6 +1507,10 @@ export type PendingNativeUpload = {
1324
1507
  export type PendingNativePayloadPanelRequest = {
1325
1508
  request: PayloadPanelRequest;
1326
1509
  };
1510
+ export type PendingNativeMenuRequest = {
1511
+ request: HoverbarMenuRequest | MediaControlsRequest | TableControlsRequest;
1512
+ unsubscribeDismiss: () => void;
1513
+ };
1327
1514
  /**
1328
1515
  * 原生上传完成消息。
1329
1516
  *
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { B as t, a as o, b as r } from "./index-CuNKUHed.js";
2
2
  import { BRIDGE_CONTENT_CHANGE_DEBOUNCE_MS as n, BRIDGE_HEIGHT_CHANGE_THROTTLE_MS as E, defaultBridgeEventTiming as l, isBridgeMessage as s } from "./bridge.js";
3
3
  import { codeBlockLanguagePanel as d, codeBlockLanguagePayloadPanel as i, createDisabledCommandStates as _, defaultMenuSchema as c, defaultToolbarConfig as R, getCommandStateMatchValue as B, isCommandStateForCommand as C, isMenuItemCommandState as g, resolveToolbarMenu as S, tableHeaderMenuItems as f } from "./native-spec.js";
4
- import { c as I, a as M, b as N } from "./index-BiehJaHJ.js";
5
- import { c as b, h as p } from "./index-DARGQA9p.js";
4
+ import { c as I, a as M, b as N } from "./index-CCAOnvex.js";
5
+ import { c as b, h as p } from "./index-BHrFfZ7O.js";
6
6
  import { isEditorContentEmpty as h } from "./core.js";
7
7
  import { r as H } from "./index-sbZNOcCB.js";
8
8
  export {
@@ -455,6 +455,9 @@ export type EditorCommand = {
455
455
  type: 'media.pickImage';
456
456
  } | {
457
457
  type: 'media.pickVideo';
458
+ } | {
459
+ type: 'media.view';
460
+ assetId: string;
458
461
  } | {
459
462
  type: 'media.retry';
460
463
  assetId: string;
@@ -677,7 +680,7 @@ export type PayloadPanelSchemaConfig = {
677
680
  /**
678
681
  * 参数面板配置表。
679
682
  *
680
- * 第一层 key 使用 `PayloadPanelSchema.id`,让 toolbar、hoverbar、code block header
683
+ * 第一层 key 使用 `PayloadPanelSchema.id`,让 toolbar、hoverbar、code block 语言 controls
681
684
  * WebView 和业务自绘都能对同一份 panel schema 做一致裁剪。
682
685
  */
683
686
  export type PayloadPanelConfig = Record<string, PayloadPanelSchemaConfig>;
@@ -723,7 +726,7 @@ export type PayloadPanelRequest = PayloadPanelOpenRequest & {
723
726
  * 解析参数面板 schema。
724
727
  *
725
728
  * 这个纯函数只处理 schema 数据,不理解 DOM、Lexical 或具体命令;toolbar、hoverbar、
726
- * code block header 和 WebView host request 都应先走这里,保证默认 UI 和业务自绘同源。
729
+ * code block 语言 controls 和 WebView host request 都应先走这里,保证默认 UI 和业务自绘同源。
727
730
  */
728
731
  export declare const resolvePayloadPanelSchema: (panel: PayloadPanelSchema, config?: PayloadPanelConfig) => PayloadPanelSchema;
729
732
 
@@ -758,6 +761,103 @@ export type FloatingMenusConfig = {
758
761
  * 原生菜单可以忽略这个字段并用同一个 key 映射平台 icon。
759
762
  */
760
763
  export type RichTextEditorIcons = Partial<Record<string, string>>;
764
+ /**
765
+ * 自绘菜单提交目标。
766
+ *
767
+ * 业务侧通常只需要回传 `MenuItem.id`;保留完整 `MenuItem` 是为了 PC/H5 自绘层在同进程内
768
+ * 直接复用 request.items 中的对象,WebView bridge 仍只通过 id 回传。
769
+ */
770
+ export type MenuControlSubmitTarget = string | MenuItem;
771
+ export type MenuControlButtonItem = {
772
+ type: 'button';
773
+ item: MenuItem;
774
+ active: boolean;
775
+ disabled: boolean;
776
+ };
777
+ export type MenuControlSeparatorItem = {
778
+ type: 'separator';
779
+ key: string;
780
+ };
781
+ export type MenuControlGroupItem = {
782
+ type: 'group';
783
+ key: string;
784
+ title: string;
785
+ icon?: string;
786
+ items: MenuControlButtonItem[];
787
+ };
788
+ /**
789
+ * 自绘菜单的跨端显示协议。
790
+ *
791
+ * DOM 默认 UI、PC/H5 自绘和 RN/Flutter 原生菜单都消费解析后的同一份结构;
792
+ * 这里不携带 DOM 节点、SVG 字符串或定位实现,只保留 schema/config 解析结果和状态。
793
+ */
794
+ export type MenuControlDisplayItem = MenuControlButtonItem | MenuControlSeparatorItem | MenuControlGroupItem;
795
+ export type HoverbarMenuRequest = {
796
+ id: string;
797
+ items: MenuControlDisplayItem[];
798
+ commandStates: CommandState[];
799
+ readonly: boolean;
800
+ anchorRect?: PayloadPanelOpenRequest['anchorRect'];
801
+ /**
802
+ * 订阅这次菜单请求被编辑器侧关闭或替换。
803
+ *
804
+ * 宿主自绘菜单可以据此清理自己的浮层;WebView runtime 也用它通知 RN/Flutter
805
+ * 旧 request 已失效,避免晚到提交命中悬空菜单。
806
+ */
807
+ subscribeDismiss(listener: () => void): () => void;
808
+ submit(target: MenuControlSubmitTarget): void;
809
+ cancel(): void;
810
+ };
811
+ export type MediaControlsRequest = {
812
+ id: string;
813
+ assetId: string;
814
+ mediaType: 'image' | 'video';
815
+ status: string;
816
+ displayWidthPercent: MediaDisplayWidthPercent;
817
+ align: MediaAlign;
818
+ items: MenuControlDisplayItem[];
819
+ readonly: boolean;
820
+ anchorRect?: PayloadPanelOpenRequest['anchorRect'];
821
+ /**
822
+ * 媒体资源 URL。
823
+ *
824
+ * 从 DOM 读取,可用于业务自绘层的预览、下载或分享。
825
+ */
826
+ url?: string;
827
+ title?: string;
828
+ alt?: string;
829
+ poster?: string;
830
+ width?: number;
831
+ height?: number;
832
+ /** 视频时长(秒),仅 video 节点 loadedmetadata 后可读。 */
833
+ duration?: number;
834
+ /** 媒体 MIME 类型,DOM 不保证一定可读。 */
835
+ mimeType?: string;
836
+ /** 文件大小(字节),DOM 不保证一定可读。 */
837
+ size?: number;
838
+ /**
839
+ * 订阅这次菜单请求被编辑器侧关闭或替换。
840
+ *
841
+ * 媒体节点切换、点击正文或节点销毁都会让旧自绘菜单失效;监听方需要同步关闭外部 UI。
842
+ */
843
+ subscribeDismiss(listener: () => void): () => void;
844
+ submit(target: MenuControlSubmitTarget): void;
845
+ cancel(): void;
846
+ };
847
+ export type TableControlsRequest = {
848
+ id: string;
849
+ items: MenuControlDisplayItem[];
850
+ readonly: boolean;
851
+ anchorRect?: PayloadPanelOpenRequest['anchorRect'];
852
+ /**
853
+ * 订阅这次菜单请求被编辑器侧关闭或替换。
854
+ *
855
+ * 表格激活态变化时会触发 dismiss,保证业务自绘和 DOM 内部 controls 生命周期一致。
856
+ */
857
+ subscribeDismiss(listener: () => void): () => void;
858
+ submit(target: MenuControlSubmitTarget): void;
859
+ cancel(): void;
860
+ };
761
861
  export type RichTextEditorOptions = {
762
862
  value?: Partial<EditorContent>;
763
863
  readonly?: boolean;
@@ -847,6 +947,26 @@ export type RichTextEditorOptions = {
847
947
  slashCommandProvider?: SlashCommandProvider;
848
948
  slashCommandMenuConfig?: SlashCommandMenuConfig;
849
949
  onSlashCommandMenuRequest?: (request: SlashCommandMenuRequest) => boolean | void;
950
+ /**
951
+ * 选中文本 hoverbar 自绘接管。
952
+ *
953
+ * 返回 true 时 DOM 不渲染默认 hoverbar;业务侧需要调用 request.submit(id) 执行菜单,
954
+ * 或调用 request.cancel() 关闭这次自绘菜单。
955
+ */
956
+ onHoverbarMenuRequest?: (request: HoverbarMenuRequest) => boolean | void;
957
+ /**
958
+ * 图片/视频 overlay controls 自绘接管。
959
+ *
960
+ * 返回 true 时 DOM 不渲染默认媒体浮条;同一份 items 可用于 PC/H5 浮窗或 RN/Flutter
961
+ * 原生面板,提交时回传菜单 id 即可。
962
+ */
963
+ onMediaControlsRequest?: (request: MediaControlsRequest) => boolean | void;
964
+ /**
965
+ * 表格 controls 自绘接管。
966
+ *
967
+ * 返回 true 时 DOM 不渲染默认表格浮条,业务菜单提交后仍复用 BridgeRTE 内部表格命令执行。
968
+ */
969
+ onTableControlsRequest?: (request: TableControlsRequest) => boolean | void;
850
970
  placeholder?: string;
851
971
  maxLength?: number;
852
972
  /**
@@ -0,0 +1,2 @@
1
+ "use strict";const g="one-light",t={keyword:"#a626a4",function:"#4078f2",operator:"#0184bc",tag:"#c18401",property:"#e45649",string:"#50a14f",attrName:"#986801"},i={[t.keyword]:"keyword",[t.function]:"function",[t.operator]:"operator",[t.tag]:"tag",[t.property]:"property",[t.string]:"string",[t.attrName]:"attr-name"},h=e=>e?i[e.toLowerCase()]:void 0,n=e=>{let o=0;for(let r=0;r<e.length;r+=1)o=Math.imul(o^e.charCodeAt(r),16777619);return(o>>>0).toString(36)};exports.bridgeCodeHighlightTheme=g;exports.getCodeHighlightCodeHash=n;exports.getHighlightTypeFromColor=h;
2
+ //# sourceMappingURL=shikiHighlightData-DU78Iupf.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shikiHighlightData-DU78Iupf.cjs","sources":["../../dom/src/codeHighlight/shikiHighlightData.ts"],"sourcesContent":["export const bridgeCodeHighlightTheme = 'one-light';\n\n/*\n * Shiki one-light 输出的是主题色 inline style;这里把色值集中为语义常量,\n * 避免导出 HTML 时把主题色 inline style 当成内容协议持久化。\n */\nconst oneLightColorByHighlightType = {\n keyword: '#a626a4',\n function: '#4078f2',\n operator: '#0184bc',\n tag: '#c18401',\n property: '#e45649',\n string: '#50a14f',\n attrName: '#986801'\n} as const;\n\nconst codeHighlightTypeByOneLightColor: Record<string, string | undefined> = {\n [oneLightColorByHighlightType.keyword]: 'keyword',\n [oneLightColorByHighlightType.function]: 'function',\n [oneLightColorByHighlightType.operator]: 'operator',\n [oneLightColorByHighlightType.tag]: 'tag',\n [oneLightColorByHighlightType.property]: 'property',\n [oneLightColorByHighlightType.string]: 'string',\n [oneLightColorByHighlightType.attrName]: 'attr-name'\n};\n\nexport const getHighlightTypeFromColor = (color: string | undefined) => (\n color ? codeHighlightTypeByOneLightColor[color.toLowerCase()] : undefined\n);\n\nexport const getHighlightTypeFromStyle = (style: string) => {\n const [, color] = style.match(/(?:^|;)color:\\s*(#[0-9a-f]{3,8})/i) ?? [];\n\n return getHighlightTypeFromColor(color);\n};\n\n/*\n * code hash 只用于长代码任务签名去重,不承担安全用途。这里用稳定的 32 位滚动 hash,\n * 避免把完整 code 拼进 pending task signature 造成重复大字符串分配。\n */\nexport const getCodeHighlightCodeHash = (code: string) => {\n let hash = 0;\n\n for (let index = 0; index < code.length; index += 1) {\n hash = Math.imul(hash ^ code.charCodeAt(index), 16777619);\n }\n\n return (hash >>> 0).toString(36);\n};\n"],"names":["bridgeCodeHighlightTheme","oneLightColorByHighlightType","codeHighlightTypeByOneLightColor","getHighlightTypeFromColor","color","getCodeHighlightCodeHash","code","hash","index"],"mappings":"aAAO,MAAMA,EAA2B,YAMlCC,EAA+B,CACnC,QAAS,UACT,SAAU,UACV,SAAU,UACV,IAAK,UACL,SAAU,UACV,OAAQ,UACR,SAAU,SACZ,EAEMC,EAAuE,CAC3E,CAACD,EAA6B,OAAO,EAAG,UACxC,CAACA,EAA6B,QAAQ,EAAG,WACzC,CAACA,EAA6B,QAAQ,EAAG,WACzC,CAACA,EAA6B,GAAG,EAAG,MACpC,CAACA,EAA6B,QAAQ,EAAG,WACzC,CAACA,EAA6B,MAAM,EAAG,SACvC,CAACA,EAA6B,QAAQ,EAAG,WAC3C,EAEaE,EAA6BC,GACxCA,EAAQF,EAAiCE,EAAM,YAAA,CAAa,EAAI,OAarDC,EAA4BC,GAAiB,CACxD,IAAIC,EAAO,EAEX,QAASC,EAAQ,EAAGA,EAAQF,EAAK,OAAQE,GAAS,EAChDD,EAAO,KAAK,KAAKA,EAAOD,EAAK,WAAWE,CAAK,EAAG,QAAQ,EAG1D,OAAQD,IAAS,GAAG,SAAS,EAAE,CACjC"}
@@ -0,0 +1,28 @@
1
+ const a = "one-light", t = {
2
+ keyword: "#a626a4",
3
+ function: "#4078f2",
4
+ operator: "#0184bc",
5
+ tag: "#c18401",
6
+ property: "#e45649",
7
+ string: "#50a14f",
8
+ attrName: "#986801"
9
+ }, g = {
10
+ [t.keyword]: "keyword",
11
+ [t.function]: "function",
12
+ [t.operator]: "operator",
13
+ [t.tag]: "tag",
14
+ [t.property]: "property",
15
+ [t.string]: "string",
16
+ [t.attrName]: "attr-name"
17
+ }, i = (o) => o ? g[o.toLowerCase()] : void 0, n = (o) => {
18
+ let e = 0;
19
+ for (let r = 0; r < o.length; r += 1)
20
+ e = Math.imul(e ^ o.charCodeAt(r), 16777619);
21
+ return (e >>> 0).toString(36);
22
+ };
23
+ export {
24
+ n as a,
25
+ a as b,
26
+ i as g
27
+ };
28
+ //# sourceMappingURL=shikiHighlightData-Dn-hlfiF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shikiHighlightData-Dn-hlfiF.js","sources":["../../dom/src/codeHighlight/shikiHighlightData.ts"],"sourcesContent":["export const bridgeCodeHighlightTheme = 'one-light';\n\n/*\n * Shiki one-light 输出的是主题色 inline style;这里把色值集中为语义常量,\n * 避免导出 HTML 时把主题色 inline style 当成内容协议持久化。\n */\nconst oneLightColorByHighlightType = {\n keyword: '#a626a4',\n function: '#4078f2',\n operator: '#0184bc',\n tag: '#c18401',\n property: '#e45649',\n string: '#50a14f',\n attrName: '#986801'\n} as const;\n\nconst codeHighlightTypeByOneLightColor: Record<string, string | undefined> = {\n [oneLightColorByHighlightType.keyword]: 'keyword',\n [oneLightColorByHighlightType.function]: 'function',\n [oneLightColorByHighlightType.operator]: 'operator',\n [oneLightColorByHighlightType.tag]: 'tag',\n [oneLightColorByHighlightType.property]: 'property',\n [oneLightColorByHighlightType.string]: 'string',\n [oneLightColorByHighlightType.attrName]: 'attr-name'\n};\n\nexport const getHighlightTypeFromColor = (color: string | undefined) => (\n color ? codeHighlightTypeByOneLightColor[color.toLowerCase()] : undefined\n);\n\nexport const getHighlightTypeFromStyle = (style: string) => {\n const [, color] = style.match(/(?:^|;)color:\\s*(#[0-9a-f]{3,8})/i) ?? [];\n\n return getHighlightTypeFromColor(color);\n};\n\n/*\n * code hash 只用于长代码任务签名去重,不承担安全用途。这里用稳定的 32 位滚动 hash,\n * 避免把完整 code 拼进 pending task signature 造成重复大字符串分配。\n */\nexport const getCodeHighlightCodeHash = (code: string) => {\n let hash = 0;\n\n for (let index = 0; index < code.length; index += 1) {\n hash = Math.imul(hash ^ code.charCodeAt(index), 16777619);\n }\n\n return (hash >>> 0).toString(36);\n};\n"],"names":["bridgeCodeHighlightTheme","oneLightColorByHighlightType","codeHighlightTypeByOneLightColor","getHighlightTypeFromColor","color","getCodeHighlightCodeHash","code","hash","index"],"mappings":"AAAO,MAAMA,IAA2B,aAMlCC,IAA+B;AAAA,EACnC,SAAS;AAAA,EACT,UAAU;AAAA,EACV,UAAU;AAAA,EACV,KAAK;AAAA,EACL,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,UAAU;AACZ,GAEMC,IAAuE;AAAA,EAC3E,CAACD,EAA6B,OAAO,GAAG;AAAA,EACxC,CAACA,EAA6B,QAAQ,GAAG;AAAA,EACzC,CAACA,EAA6B,QAAQ,GAAG;AAAA,EACzC,CAACA,EAA6B,GAAG,GAAG;AAAA,EACpC,CAACA,EAA6B,QAAQ,GAAG;AAAA,EACzC,CAACA,EAA6B,MAAM,GAAG;AAAA,EACvC,CAACA,EAA6B,QAAQ,GAAG;AAC3C,GAEaE,IAA4B,CAACC,MACxCA,IAAQF,EAAiCE,EAAM,YAAA,CAAa,IAAI,QAarDC,IAA2B,CAACC,MAAiB;AACxD,MAAIC,IAAO;AAEX,WAASC,IAAQ,GAAGA,IAAQF,EAAK,QAAQE,KAAS;AAChD,IAAAD,IAAO,KAAK,KAAKA,IAAOD,EAAK,WAAWE,CAAK,GAAG,QAAQ;AAG1D,UAAQD,MAAS,GAAG,SAAS,EAAE;AACjC;"}
@@ -0,0 +1,3 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("@shikijs/core"),m=require("@shikijs/engine-javascript"),w=require("shiki/langs"),x=require("shiki/themes"),y=require("./shikiHighlightData-DU78Iupf.cjs"),L=/^diff-([\w-]+)/i;let r=null;const g=new Set,u=new Set,c=()=>(r||(r=f.createHighlighterCoreSync({engine:m.createJavaScriptRegexEngine(),langs:[],themes:[]})),r),p=e=>{var i;const n=(i=L.exec(e))==null?void 0:i[1];return{isDiff:n!==void 0,languageId:n??e}},I=async e=>{if(u.has(e))return;const n=x.bundledThemesInfo.find(t=>t.id===e);if(!n)throw new Error(`Unsupported Shiki theme: ${e}`);await c().loadTheme(n.import()),u.add(e)},S=async e=>{const{languageId:n}=p(e);if(g.has(n)||f.isSpecialLang(n)){g.add(n);return}const t=w.bundledLanguagesInfo.find(i=>{var s;return i.id===n||((s=i.aliases)==null?void 0:s.includes(n))});if(!t)throw new Error(`Unsupported Shiki language: ${e}`);await c().loadLanguage(t.import()),g.add(n)},k=e=>e===""?[]:[{text:e}],q=(e,n)=>{const t=[];return e.forEach((i,s)=>{let o=i.content;if(n&&s===0&&o.length>0){const d=["+","-",">","<"," "],T=["inserted","deleted","inserted","deleted","unchanged"],a=d.indexOf(o.slice(0,1));if(a!==-1){const l=d[a],h=T[a];if(!l||!h)return;t.push({highlightType:h,text:l}),o=o.slice(1)}}o!==""&&t.push({highlightType:y.getHighlightTypeFromColor(i.color),text:o})}),t},H=async({code:e,language:n,theme:t})=>{if(!n)return e.split(`
2
+ `).map(k);const{isDiff:i,languageId:s}=p(n);return await I(t),await S(n),c().codeToTokens(e,{lang:s,theme:t}).tokens.map(o=>q(o,i))};exports.tokenizeCodeHighlightRequest=H;
3
+ //# sourceMappingURL=shikiTokenizerRuntime.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shikiTokenizerRuntime.cjs","sources":["../../dom/src/codeHighlight/shikiTokenizerRuntime.ts"],"sourcesContent":["import {\n createHighlighterCoreSync,\n isSpecialLang,\n type HighlighterCore\n} from '@shikijs/core';\nimport { createJavaScriptRegexEngine } from '@shikijs/engine-javascript';\nimport { bundledLanguagesInfo } from 'shiki/langs';\nimport { bundledThemesInfo } from 'shiki/themes';\nimport type { ThemedToken } from '@shikijs/types';\nimport type {\n CodeHighlightWorkerLine,\n CodeHighlightWorkerRequest\n} from './runtime/type';\nimport { getHighlightTypeFromColor } from './shikiHighlightData';\n\nconst diffLanguageRegex = /^diff-([\\w-]+)/i;\n\nlet highlighter: HighlighterCore | null = null;\nconst loadedLanguages = new Set<string>();\nconst loadedThemes = new Set<string>();\n\nconst getHighlighter = () => {\n if (!highlighter) {\n /*\n * Shiki runtime 可以在 worker 或 worker 失败后的 fallback chunk 中运行。\n * 主编辑器入口不静态 import 这个模块,避免普通编辑器初始化就拉 grammar/theme 运行时。\n */\n highlighter = createHighlighterCoreSync({\n engine: createJavaScriptRegexEngine(),\n langs: [],\n themes: []\n });\n }\n\n return highlighter;\n};\n\nconst resolveLanguage = (language: string) => {\n const diffedLanguage = diffLanguageRegex.exec(language)?.[1];\n const languageId = diffedLanguage ?? language;\n\n return {\n isDiff: diffedLanguage !== undefined,\n languageId\n };\n};\n\nconst loadTheme = async (theme: string) => {\n if (loadedThemes.has(theme)) return;\n\n const themeInfo = bundledThemesInfo.find((info) => info.id === theme);\n if (!themeInfo) throw new Error(`Unsupported Shiki theme: ${theme}`);\n\n await getHighlighter().loadTheme(themeInfo.import());\n loadedThemes.add(theme);\n};\n\nconst loadLanguage = async (language: string) => {\n const { languageId } = resolveLanguage(language);\n\n if (loadedLanguages.has(languageId) || isSpecialLang(languageId)) {\n loadedLanguages.add(languageId);\n return;\n }\n\n const languageInfo = bundledLanguagesInfo.find((info) => (\n info.id === languageId || info.aliases?.includes(languageId)\n ));\n\n if (!languageInfo) throw new Error(`Unsupported Shiki language: ${language}`);\n\n await getHighlighter().loadLanguage(languageInfo.import());\n loadedLanguages.add(languageId);\n};\n\nconst createPlainTokenLine = (text: string): CodeHighlightWorkerLine => (\n text === '' ? [] : [{ text }]\n);\n\nconst mapTokenLine = (\n line: ThemedToken[],\n isDiff: boolean\n): CodeHighlightWorkerLine => {\n const result: CodeHighlightWorkerLine = [];\n\n line.forEach((token, tokenIndex) => {\n let text = token.content;\n\n if (isDiff && tokenIndex === 0 && text.length > 0) {\n const prefixes = ['+', '-', '>', '<', ' '];\n const prefixTypes = ['inserted', 'deleted', 'inserted', 'deleted', 'unchanged'];\n const prefixIndex = prefixes.indexOf(text.slice(0, 1));\n\n if (prefixIndex !== -1) {\n const prefix = prefixes[prefixIndex];\n const highlightType = prefixTypes[prefixIndex];\n\n if (!prefix || !highlightType) return;\n\n result.push({\n highlightType,\n text: prefix\n });\n text = text.slice(1);\n }\n }\n\n if (text !== '') {\n result.push({\n highlightType: getHighlightTypeFromColor(token.color),\n text\n });\n }\n });\n\n return result;\n};\n\nexport const tokenizeCodeHighlightRequest = async ({\n code,\n language,\n theme\n}: CodeHighlightWorkerRequest): Promise<CodeHighlightWorkerLine[]> => {\n if (!language) return code.split('\\n').map(createPlainTokenLine);\n\n const { isDiff, languageId } = resolveLanguage(language);\n\n await loadTheme(theme);\n await loadLanguage(language);\n\n return getHighlighter().codeToTokens(code, {\n lang: languageId,\n theme\n }).tokens.map((line) => mapTokenLine(line, isDiff));\n};\n"],"names":["diffLanguageRegex","highlighter","loadedLanguages","loadedThemes","getHighlighter","createHighlighterCoreSync","createJavaScriptRegexEngine","resolveLanguage","language","diffedLanguage","_a","loadTheme","theme","themeInfo","bundledThemesInfo","info","loadLanguage","languageId","isSpecialLang","languageInfo","bundledLanguagesInfo","createPlainTokenLine","text","mapTokenLine","line","isDiff","result","token","tokenIndex","prefixes","prefixTypes","prefixIndex","prefix","highlightType","getHighlightTypeFromColor","tokenizeCodeHighlightRequest","code"],"mappings":"2PAeMA,EAAoB,kBAE1B,IAAIC,EAAsC,KAC1C,MAAMC,MAAsB,IACtBC,MAAmB,IAEnBC,EAAiB,KAChBH,IAKHA,EAAcI,EAAAA,0BAA0B,CACtC,OAAQC,EAAAA,4BAAA,EACR,MAAO,CAAA,EACP,OAAQ,CAAA,CAAC,CACV,GAGIL,GAGHM,EAAmBC,GAAqB,OAC5C,MAAMC,GAAiBC,EAAAV,EAAkB,KAAKQ,CAAQ,IAA/B,YAAAE,EAAmC,GAG1D,MAAO,CACL,OAAQD,IAAmB,OAC3B,WAJiBA,GAAkBD,CAInC,CAEJ,EAEMG,EAAY,MAAOC,GAAkB,CACzC,GAAIT,EAAa,IAAIS,CAAK,EAAG,OAE7B,MAAMC,EAAYC,EAAAA,kBAAkB,KAAMC,GAASA,EAAK,KAAOH,CAAK,EACpE,GAAI,CAACC,EAAW,MAAM,IAAI,MAAM,4BAA4BD,CAAK,EAAE,EAEnE,MAAMR,EAAA,EAAiB,UAAUS,EAAU,QAAQ,EACnDV,EAAa,IAAIS,CAAK,CACxB,EAEMI,EAAe,MAAOR,GAAqB,CAC/C,KAAM,CAAE,WAAAS,CAAA,EAAeV,EAAgBC,CAAQ,EAE/C,GAAIN,EAAgB,IAAIe,CAAU,GAAKC,EAAAA,cAAcD,CAAU,EAAG,CAChEf,EAAgB,IAAIe,CAAU,EAC9B,MACF,CAEA,MAAME,EAAeC,EAAAA,qBAAqB,KAAML,GAAA,OAC9C,OAAAA,EAAK,KAAOE,KAAcP,EAAAK,EAAK,UAAL,YAAAL,EAAc,SAASO,IAClD,EAED,GAAI,CAACE,EAAc,MAAM,IAAI,MAAM,+BAA+BX,CAAQ,EAAE,EAE5E,MAAMJ,EAAA,EAAiB,aAAae,EAAa,QAAQ,EACzDjB,EAAgB,IAAIe,CAAU,CAChC,EAEMI,EAAwBC,GAC5BA,IAAS,GAAK,GAAK,CAAC,CAAE,KAAAA,EAAM,EAGxBC,EAAe,CACnBC,EACAC,IAC4B,CAC5B,MAAMC,EAAkC,CAAA,EAExC,OAAAF,EAAK,QAAQ,CAACG,EAAOC,IAAe,CAClC,IAAIN,EAAOK,EAAM,QAEjB,GAAIF,GAAUG,IAAe,GAAKN,EAAK,OAAS,EAAG,CACjD,MAAMO,EAAW,CAAC,IAAK,IAAK,IAAK,IAAK,GAAG,EACnCC,EAAc,CAAC,WAAY,UAAW,WAAY,UAAW,WAAW,EACxEC,EAAcF,EAAS,QAAQP,EAAK,MAAM,EAAG,CAAC,CAAC,EAErD,GAAIS,IAAgB,GAAI,CACtB,MAAMC,EAASH,EAASE,CAAW,EAC7BE,EAAgBH,EAAYC,CAAW,EAE7C,GAAI,CAACC,GAAU,CAACC,EAAe,OAE/BP,EAAO,KAAK,CACV,cAAAO,EACA,KAAMD,CAAA,CACP,EACDV,EAAOA,EAAK,MAAM,CAAC,CACrB,CACF,CAEIA,IAAS,IACXI,EAAO,KAAK,CACV,cAAeQ,EAAAA,0BAA0BP,EAAM,KAAK,EACpD,KAAAL,CAAA,CACD,CAEL,CAAC,EAEMI,CACT,EAEaS,EAA+B,MAAO,CACjD,KAAAC,EACA,SAAA5B,EACA,MAAAI,CACF,IAAsE,CACpE,GAAI,CAACJ,EAAU,OAAO4B,EAAK,MAAM;AAAA,CAAI,EAAE,IAAIf,CAAoB,EAE/D,KAAM,CAAE,OAAAI,EAAQ,WAAAR,GAAeV,EAAgBC,CAAQ,EAEvD,aAAMG,EAAUC,CAAK,EACrB,MAAMI,EAAaR,CAAQ,EAEpBJ,EAAA,EAAiB,aAAagC,EAAM,CACzC,KAAMnB,EACN,MAAAL,CAAA,CACD,EAAE,OAAO,IAAKY,GAASD,EAAaC,EAAMC,CAAM,CAAC,CACpD"}
@@ -0,0 +1,72 @@
1
+ import { isSpecialLang as m, createHighlighterCoreSync as T } from "@shikijs/core";
2
+ import { createJavaScriptRegexEngine as w } from "@shikijs/engine-javascript";
3
+ import { bundledLanguagesInfo as x } from "shiki/langs";
4
+ import { bundledThemesInfo as L } from "shiki/themes";
5
+ import { g as I } from "./shikiHighlightData-Dn-hlfiF.js";
6
+ const y = /^diff-([\w-]+)/i;
7
+ let s = null;
8
+ const d = /* @__PURE__ */ new Set(), h = /* @__PURE__ */ new Set(), g = () => (s || (s = T({
9
+ engine: w(),
10
+ langs: [],
11
+ themes: []
12
+ })), s), p = (e) => {
13
+ var i;
14
+ const n = (i = y.exec(e)) == null ? void 0 : i[1];
15
+ return {
16
+ isDiff: n !== void 0,
17
+ languageId: n ?? e
18
+ };
19
+ }, S = async (e) => {
20
+ if (h.has(e)) return;
21
+ const n = L.find((t) => t.id === e);
22
+ if (!n) throw new Error(`Unsupported Shiki theme: ${e}`);
23
+ await g().loadTheme(n.import()), h.add(e);
24
+ }, k = async (e) => {
25
+ const { languageId: n } = p(e);
26
+ if (d.has(n) || m(n)) {
27
+ d.add(n);
28
+ return;
29
+ }
30
+ const t = x.find((i) => {
31
+ var r;
32
+ return i.id === n || ((r = i.aliases) == null ? void 0 : r.includes(n));
33
+ });
34
+ if (!t) throw new Error(`Unsupported Shiki language: ${e}`);
35
+ await g().loadLanguage(t.import()), d.add(n);
36
+ }, E = (e) => e === "" ? [] : [{ text: e }], H = (e, n) => {
37
+ const t = [];
38
+ return e.forEach((i, r) => {
39
+ let o = i.content;
40
+ if (n && r === 0 && o.length > 0) {
41
+ const c = ["+", "-", ">", "<", " "], u = ["inserted", "deleted", "inserted", "deleted", "unchanged"], a = c.indexOf(o.slice(0, 1));
42
+ if (a !== -1) {
43
+ const l = c[a], f = u[a];
44
+ if (!l || !f) return;
45
+ t.push({
46
+ highlightType: f,
47
+ text: l
48
+ }), o = o.slice(1);
49
+ }
50
+ }
51
+ o !== "" && t.push({
52
+ highlightType: I(i.color),
53
+ text: o
54
+ });
55
+ }), t;
56
+ }, U = async ({
57
+ code: e,
58
+ language: n,
59
+ theme: t
60
+ }) => {
61
+ if (!n) return e.split(`
62
+ `).map(E);
63
+ const { isDiff: i, languageId: r } = p(n);
64
+ return await S(t), await k(n), g().codeToTokens(e, {
65
+ lang: r,
66
+ theme: t
67
+ }).tokens.map((o) => H(o, i));
68
+ };
69
+ export {
70
+ U as tokenizeCodeHighlightRequest
71
+ };
72
+ //# sourceMappingURL=shikiTokenizerRuntime.js.map