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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shikiTokenizerRuntime.js","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":";;;;;AAeA,MAAMA,IAAoB;AAE1B,IAAIC,IAAsC;AAC1C,MAAMC,wBAAsB,IAAA,GACtBC,wBAAmB,IAAA,GAEnBC,IAAiB,OAChBH,MAKHA,IAAcI,EAA0B;AAAA,EACtC,QAAQC,EAAA;AAAA,EACR,OAAO,CAAA;AAAA,EACP,QAAQ,CAAA;AAAC,CACV,IAGIL,IAGHM,IAAkB,CAACC,MAAqB;;AAC5C,QAAMC,KAAiBC,IAAAV,EAAkB,KAAKQ,CAAQ,MAA/B,gBAAAE,EAAmC;AAG1D,SAAO;AAAA,IACL,QAAQD,MAAmB;AAAA,IAC3B,YAJiBA,KAAkBD;AAAA,EAInC;AAEJ,GAEMG,IAAY,OAAOC,MAAkB;AACzC,MAAIT,EAAa,IAAIS,CAAK,EAAG;AAE7B,QAAMC,IAAYC,EAAkB,KAAK,CAACC,MAASA,EAAK,OAAOH,CAAK;AACpE,MAAI,CAACC,EAAW,OAAM,IAAI,MAAM,4BAA4BD,CAAK,EAAE;AAEnE,QAAMR,EAAA,EAAiB,UAAUS,EAAU,QAAQ,GACnDV,EAAa,IAAIS,CAAK;AACxB,GAEMI,IAAe,OAAOR,MAAqB;AAC/C,QAAM,EAAE,YAAAS,EAAA,IAAeV,EAAgBC,CAAQ;AAE/C,MAAIN,EAAgB,IAAIe,CAAU,KAAKC,EAAcD,CAAU,GAAG;AAChE,IAAAf,EAAgB,IAAIe,CAAU;AAC9B;AAAA,EACF;AAEA,QAAME,IAAeC,EAAqB,KAAK,CAACL,MAAA;;AAC9C,WAAAA,EAAK,OAAOE,OAAcP,IAAAK,EAAK,YAAL,gBAAAL,EAAc,SAASO;AAAA,GAClD;AAED,MAAI,CAACE,EAAc,OAAM,IAAI,MAAM,+BAA+BX,CAAQ,EAAE;AAE5E,QAAMJ,EAAA,EAAiB,aAAae,EAAa,QAAQ,GACzDjB,EAAgB,IAAIe,CAAU;AAChC,GAEMI,IAAuB,CAACC,MAC5BA,MAAS,KAAK,KAAK,CAAC,EAAE,MAAAA,GAAM,GAGxBC,IAAe,CACnBC,GACAC,MAC4B;AAC5B,QAAMC,IAAkC,CAAA;AAExC,SAAAF,EAAK,QAAQ,CAACG,GAAOC,MAAe;AAClC,QAAIN,IAAOK,EAAM;AAEjB,QAAIF,KAAUG,MAAe,KAAKN,EAAK,SAAS,GAAG;AACjD,YAAMO,IAAW,CAAC,KAAK,KAAK,KAAK,KAAK,GAAG,GACnCC,IAAc,CAAC,YAAY,WAAW,YAAY,WAAW,WAAW,GACxEC,IAAcF,EAAS,QAAQP,EAAK,MAAM,GAAG,CAAC,CAAC;AAErD,UAAIS,MAAgB,IAAI;AACtB,cAAMC,IAASH,EAASE,CAAW,GAC7BE,IAAgBH,EAAYC,CAAW;AAE7C,YAAI,CAACC,KAAU,CAACC,EAAe;AAE/B,QAAAP,EAAO,KAAK;AAAA,UACV,eAAAO;AAAA,UACA,MAAMD;AAAA,QAAA,CACP,GACDV,IAAOA,EAAK,MAAM,CAAC;AAAA,MACrB;AAAA,IACF;AAEA,IAAIA,MAAS,MACXI,EAAO,KAAK;AAAA,MACV,eAAeQ,EAA0BP,EAAM,KAAK;AAAA,MACpD,MAAAL;AAAA,IAAA,CACD;AAAA,EAEL,CAAC,GAEMI;AACT,GAEaS,IAA+B,OAAO;AAAA,EACjD,MAAAC;AAAA,EACA,UAAA5B;AAAA,EACA,OAAAI;AACF,MAAsE;AACpE,MAAI,CAACJ,EAAU,QAAO4B,EAAK,MAAM;AAAA,CAAI,EAAE,IAAIf,CAAoB;AAE/D,QAAM,EAAE,QAAAI,GAAQ,YAAAR,MAAeV,EAAgBC,CAAQ;AAEvD,eAAMG,EAAUC,CAAK,GACrB,MAAMI,EAAaR,CAAQ,GAEpBJ,EAAA,EAAiB,aAAagC,GAAM;AAAA,IACzC,MAAMnB;AAAA,IACN,OAAAL;AAAA,EAAA,CACD,EAAE,OAAO,IAAI,CAACY,MAASD,EAAaC,GAAMC,CAAM,CAAC;AACpD;"}
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- :root,.bridgerte{--bridgerte-color-primary:#1677ff;--bridgerte-color-text:#1f2329;--bridgerte-color-text-muted:#86909c;--bridgerte-color-bg:#fff;--bridgerte-color-panel:#fff;--bridgerte-color-border:#e5e6eb;--bridgerte-color-active-bg:#e8f3ff;--bridgerte-color-code-bg:#f3f4f6;--bridgerte-color-placeholder:#b7bcc5;--bridgerte-color-disabled:#c9cdd4;--bridgerte-color-danger:#f53f3f;--bridgerte-shadow-panel:0 12px 32px #0f172a24;--bridgerte-shadow-popup:0 10px 24px #0f172a1a;--bridgerte-font-size:15px;--bridgerte-line-height:1.7;--bridgerte-radius:8px;--bridgerte-radius-large:12px;--bridgerte-toolbar-height:42px;--bridgerte-control-height:32px;--bridgerte-control-height-small:28px;--bridgerte-touch-target-size:32px;--bridgerte-hoverbar-button-size:28px;--bridgerte-safe-area-bottom:env(safe-area-inset-bottom,0px);--bridgerte-editor-padding:12px;--bridgerte-z-index-toolbar:20;--bridgerte-code-font-family:"JetBrains Mono", Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;--bridgerte-code-block-control-height:32px;--bridgerte-code-token-text:#000;--bridgerte-code-token-comment:#708090;--bridgerte-code-token-keyword:#a626a4;--bridgerte-code-token-operator:#0184bc;--bridgerte-code-token-function:#4078f2;--bridgerte-code-token-string:#50a14f;--bridgerte-code-token-number:#986801;--bridgerte-code-token-class:#4078f2;--bridgerte-code-token-builtin:#50a14f;--bridgerte-code-token-property:#e45649;--bridgerte-code-token-variable:#e90;--bridgerte-code-token-tag:#c18401;--bridgerte-code-token-punctuation:#999;--bridgerte-code-token-regex:#e90;--bridgerte-code-token-inserted:#690;--bridgerte-code-token-deleted:#905;--bridgerte-media-controls-button-height:28px;--bridgerte-table-controls-button-height:28px;--bridgerte-payload-panel-color-wheel-size:136px;--bridgerte-payload-panel-color-handle-size:14px;--bridgerte-payload-panel-color-swatch-width:22px;--bridgerte-payload-panel-color-swatch-height:40px;--bridgerte-payload-panel-table-cell-size:16px;--bridgerte-payload-panel-title-height:28px;--bridgerte-payload-panel-option-height:28px;--bridgerte-payload-panel-field-height:32px;--bridgerte-todo-marker-hit-size:32px;--bridgerte-todo-marker-size:16px}.bridgerte{width:100%;height:100%;min-height:0;color:var(--bridgerte-color-text);background:var(--bridgerte-color-bg);font-family:inherit;font-size:var(--bridgerte-font-size);line-height:var(--bridgerte-line-height);overflow-wrap:anywhere;outline:none;transition:background-color .16s,color .16s;position:relative}.bridgerte[data-readonly=true]{color:var(--bridgerte-color-text-muted);background:var(--bridgerte-color-panel);cursor:default}.bridgerte__editor{flex-direction:column;width:100%;height:100%;min-height:0;display:flex}.bridgerte__body{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.bridgerte__content{min-height:0;padding:var(--bridgerte-editor-padding);-webkit-tap-highlight-color:transparent;outline:none;flex:1;position:relative;overflow-y:auto}.bridgerte__content[data-empty=true] .bridgerte__paragraph:first-child{margin-top:0}.bridgerte__placeholder{box-sizing:border-box;padding:var(--bridgerte-editor-padding);color:var(--bridgerte-color-placeholder);text-overflow:ellipsis;white-space:nowrap;pointer-events:none;display:none;position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.bridgerte__content[data-empty=true]+.bridgerte__placeholder{display:block}.bridgerte__paragraph{margin:0 0 .75em}.bridgerte__heading{color:var(--bridgerte-color-text);margin:.75em 0;font-weight:700;line-height:1.25}.bridgerte__heading--h1{font-size:32px}.bridgerte__heading--h2{font-size:28px}.bridgerte__heading--h3{font-size:24px}.bridgerte__heading--h4{font-size:21px}.bridgerte__heading--h5{font-size:18px}.bridgerte__heading--h6{font-size:16px}.bridgerte__list{margin:0 0 .75em;padding-left:1.5em}.bridgerte__list-item{margin:.25em 0}.bridgerte__quote{border-left:3px solid var(--bridgerte-color-primary);border-radius:calc(var(--bridgerte-radius) - 2px);color:var(--bridgerte-color-text);background:var(--bridgerte-color-code-bg);margin:.85em 0;padding:.45em .85em}.bridgerte__quote>:last-child{margin-bottom:0}.bridgerte__divider{background:var(--bridgerte-color-border);border:0;height:1px;margin:1em 0}.bridgerte__link{color:var(--bridgerte-color-primary);text-underline-offset:.18em;text-decoration:underline}.bridgerte__text--bold{font-weight:700}.bridgerte__text--italic{font-style:italic}.bridgerte__text--underline{text-underline-offset:.18em;text-decoration-line:underline}.bridgerte__text--strike{text-decoration-line:line-through}.bridgerte__text--underline-strike,.bridgerte__text--underline.bridgerte__text--strike{text-underline-offset:.18em;text-decoration-line:underline line-through}.bridgerte__list--todo{padding-left:0;list-style:none}.bridgerte__list-item--checked,.bridgerte__list-item--unchecked{outline:none;margin-left:.15em;padding-left:2em;list-style:none;position:relative}.bridgerte__list-item--checked:before,.bridgerte__list-item--unchecked:before{top:calc(var(--bridgerte-line-height) * .5em);width:var(--bridgerte-todo-marker-hit-size);height:var(--bridgerte-todo-marker-hit-size);box-sizing:border-box;content:"";border-radius:999px;position:absolute;left:0;transform:translateY(-50%)}.bridgerte__list-item--checked:after,.bridgerte__list-item--unchecked:after{top:calc(var(--bridgerte-line-height) * .5em);width:var(--bridgerte-todo-marker-size);height:var(--bridgerte-todo-marker-size);box-sizing:border-box;border:1px solid var(--bridgerte-color-border);content:"";pointer-events:none;border-radius:999px;position:absolute;left:0;transform:translateY(-50%)}.bridgerte__list-item--checked:focus-visible:after,.bridgerte__list-item--unchecked:focus-visible:after{border-color:var(--bridgerte-color-primary);box-shadow:0 0 0 2px var(--bridgerte-color-active-bg)}.bridgerte__list-item--checked{color:var(--bridgerte-color-text-muted);text-decoration:line-through}.bridgerte__list-item--checked:after{border-color:var(--bridgerte-color-primary);background:radial-gradient(circle at center,var(--bridgerte-color-bg) 0 4px,transparent 4.5px),var(--bridgerte-color-primary)}.bridgerte__code{border-radius:var(--bridgerte-radius);color:var(--bridgerte-color-text);background:var(--bridgerte-color-code-bg);font-family:var(--bridgerte-code-font-family);padding:.12em .3em;font-size:.92em}.bridgerte__code-block{border:1px solid var(--bridgerte-color-border);border-radius:var(--bridgerte-radius-large);color:var(--bridgerte-code-token-text);background:var(--bridgerte-color-code-bg);font-family:var(--bridgerte-code-font-family);line-height:var(--bridgerte-line-height);white-space:pre;margin:12px 0;padding:12px;display:block;overflow:auto}.bridgerte__code-token{color:var(--bridgerte-code-token-text)}.bridgerte__code-token--comment{color:var(--bridgerte-code-token-comment);font-style:italic}.bridgerte__code-token--keyword{color:var(--bridgerte-code-token-keyword)}.bridgerte__code-token--operator{color:var(--bridgerte-code-token-operator)}.bridgerte__code-token--function{color:var(--bridgerte-code-token-function)}.bridgerte__code-token--string,.bridgerte__code-token--attr-value{color:var(--bridgerte-code-token-string)}.bridgerte__code-token--number,.bridgerte__code-token--boolean,.bridgerte__code-token--constant{color:var(--bridgerte-code-token-number)}.bridgerte__code-token--class-name{color:var(--bridgerte-code-token-class)}.bridgerte__code-token--builtin{color:var(--bridgerte-code-token-builtin)}.bridgerte__code-token--property,.bridgerte__code-token--attr,.bridgerte__code-token--attr-name{color:var(--bridgerte-code-token-property)}.bridgerte__code-token--variable{color:var(--bridgerte-code-token-variable)}.bridgerte__code-token--tag,.bridgerte__code-token--selector,.bridgerte__code-token--namespace{color:var(--bridgerte-code-token-tag)}.bridgerte__code-token--punctuation,.bridgerte__code-token--prefix,.bridgerte__code-token--unchanged{color:var(--bridgerte-code-token-punctuation)}.bridgerte__code-token--regex,.bridgerte__code-token--url{color:var(--bridgerte-code-token-regex)}.bridgerte__code-token--inserted{color:var(--bridgerte-code-token-inserted)}.bridgerte__code-token--deleted{color:var(--bridgerte-code-token-deleted)}.bridgerte__code-block-controls-layer{z-index:calc(var(--bridgerte-z-index-toolbar) - 1);pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0}.bridgerte__code-block-controls{border:1px solid var(--bridgerte-color-border);border-radius:var(--bridgerte-radius);color:var(--bridgerte-color-text);background:var(--bridgerte-color-panel);box-shadow:var(--bridgerte-shadow-popup);pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent;align-items:center;gap:2px;padding:4px;display:inline-flex;position:absolute;top:0;left:0}.bridgerte__code-block-control-button{min-height:var(--bridgerte-code-block-control-height);border-radius:calc(var(--bridgerte-radius) - 2px);color:var(--bridgerte-color-text);font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-items:center;gap:8px;padding:0 8px;font-size:12px;line-height:1;display:inline-flex}.bridgerte__code-block-control-button:focus-visible{color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg);box-shadow:0 0 0 2px var(--bridgerte-color-active-bg);outline:none}.bridgerte__code-block-control-arrow{border-top:5px solid var(--bridgerte-color-text-muted);border-left:5px solid #0000;border-right:5px solid #0000;flex:none;width:0;height:0}.bridgerte__code-block-control-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bridgerte__media{width:var(--bridgerte-media-display-width,50%);border:1px solid var(--bridgerte-color-border);border-radius:var(--bridgerte-radius-large);background:var(--bridgerte-color-panel);max-width:100%;margin:12px 0;display:block;overflow:hidden}.bridgerte__media-placeholder{min-height:160px;aspect-ratio:var(--bridgerte-media-aspect-ratio,16 / 9);color:var(--bridgerte-color-text-muted);background:var(--bridgerte-color-code-bg);justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.bridgerte__media-placeholder-icon{border:1px solid var(--bridgerte-color-border);border-radius:calc(var(--bridgerte-radius) - 2px);color:var(--bridgerte-color-text-muted);background:var(--bridgerte-color-bg);padding:2px 6px;font-size:11px;line-height:1.4}.bridgerte__media[data-load-state=loaded] .bridgerte__media-placeholder{display:none}.bridgerte__media[data-load-state=error] .bridgerte__media-placeholder{color:var(--bridgerte-color-danger)}.bridgerte__media[data-align=center]{margin-left:auto;margin-right:auto}.bridgerte__media[data-align=right]{margin-left:auto;margin-right:0}.bridgerte__media-element{width:100%;max-width:100%;height:auto;display:block}.bridgerte__media[data-load-state=loading] .bridgerte__media-element,.bridgerte__media[data-load-state=error] .bridgerte__media-element{opacity:0;width:1px;height:1px}.bridgerte__media[data-load-state=loaded] .bridgerte__media-element,.bridgerte__media:not([data-load-state]) .bridgerte__media-element{opacity:1}.bridgerte__media-status{border-top:1px solid var(--bridgerte-color-border);color:var(--bridgerte-color-text-muted);background:var(--bridgerte-color-bg);padding:8px 10px;font-size:13px}.bridgerte__media[data-status=error] .bridgerte__media-status{color:var(--bridgerte-color-danger)}.bridgerte__media-controls-layer{z-index:calc(var(--bridgerte-z-index-toolbar) - 1);pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0}.bridgerte__media-controls{border:1px solid var(--bridgerte-color-border);border-radius:var(--bridgerte-radius);color:var(--bridgerte-color-text);background:var(--bridgerte-color-panel);box-shadow:var(--bridgerte-shadow-popup);pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent;align-items:center;gap:2px;padding:3px;display:inline-flex;position:absolute;top:0;left:0}.bridgerte__media-controls-button{min-height:var(--bridgerte-media-controls-button-height);border-radius:calc(var(--bridgerte-radius) - 2px);color:var(--bridgerte-color-text);font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-items:center;padding:0 8px;font-size:12px;line-height:1;display:inline-flex}.bridgerte__media-controls-button:focus-visible{color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg);box-shadow:0 0 0 2px var(--bridgerte-color-active-bg);outline:none}.bridgerte__media-controls-button[data-active=true]{color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg)}.bridgerte[data-readonly=true] .bridgerte__media-controls-button{color:var(--bridgerte-color-disabled);cursor:not-allowed}.bridgerte__table-wrapper{box-sizing:border-box;border:1px solid var(--bridgerte-color-border);border-radius:var(--bridgerte-radius-large);background:var(--bridgerte-color-panel);scrollbar-width:thin;margin:12px 0;position:relative;overflow-x:auto}.bridgerte__table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;color:var(--bridgerte-color-text);background:var(--bridgerte-color-bg)}.bridgerte__table-cell{border:0;border-top:1px solid var(--bridgerte-color-border);border-left:1px solid var(--bridgerte-color-border);text-align:center;vertical-align:middle;padding:8px}.bridgerte__table-cell>:first-child{margin-top:0}.bridgerte__table-cell>:last-child{margin-bottom:0}.bridgerte__table-cell:first-child{border-left:0}.bridgerte__table-row:first-of-type .bridgerte__table-cell{border-top:0}.bridgerte__table-cell--header{background:var(--bridgerte-color-code-bg);font-weight:700}.bridgerte__table-controls-layer{z-index:calc(var(--bridgerte-z-index-toolbar) - 1);pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0}.bridgerte__table-controls{border:1px solid var(--bridgerte-color-border);border-radius:var(--bridgerte-radius);color:var(--bridgerte-color-text);background:var(--bridgerte-color-panel);box-shadow:var(--bridgerte-shadow-popup);pointer-events:auto;scrollbar-width:none;touch-action:pan-x;-webkit-tap-highlight-color:transparent;align-items:center;gap:2px;padding:4px;display:inline-flex;position:absolute;top:0;left:0;overflow-x:auto}.bridgerte__table-controls::-webkit-scrollbar{display:none}.bridgerte__table-controls-button{min-height:var(--bridgerte-table-controls-button-height);border-radius:calc(var(--bridgerte-radius) - 2px);color:var(--bridgerte-color-text);font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex:none;align-items:center;padding:0 8px;font-size:12px;line-height:1;display:inline-flex}.bridgerte__table-controls-button:focus-visible{color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg);box-shadow:0 0 0 2px var(--bridgerte-color-active-bg);outline:none}.bridgerte[data-readonly=true] .bridgerte__table-controls-button{color:var(--bridgerte-color-disabled);cursor:not-allowed}.bridgerte__toolbar{z-index:var(--bridgerte-z-index-toolbar);min-height:var(--bridgerte-toolbar-height);border-bottom:1px solid var(--bridgerte-color-border);padding:5px calc(var(--bridgerte-editor-padding) - 2px);color:var(--bridgerte-color-text);background:var(--bridgerte-color-panel);-webkit-tap-highlight-color:transparent;flex-wrap:wrap;align-items:center;gap:4px;display:flex;position:sticky;top:0}.bridgerte__toolbar[data-placement=bottom]{min-height:calc(var(--bridgerte-toolbar-height) + var(--bridgerte-safe-area-bottom));border-top:1px solid var(--bridgerte-color-border);padding-top:5px;padding-bottom:calc(5px + var(--bridgerte-safe-area-bottom));border-bottom:0;top:auto;bottom:0}.bridgerte__toolbar-group{flex:none;align-items:center;gap:2px;display:inline-flex}.bridgerte__toolbar-separator{background:var(--bridgerte-color-border);flex:none;width:1px;height:22px;margin:0 6px}.bridgerte__toolbar-button{border-radius:calc(var(--bridgerte-radius) - 2px);min-width:30px;height:30px;color:var(--bridgerte-color-text);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0 7px;font-family:inherit;font-size:13px;font-weight:600;line-height:1;transition:border-color .12s,background-color .12s,color .12s;display:inline-flex;position:relative}.bridgerte__toolbar-button:focus-visible{border-color:var(--bridgerte-color-primary);box-shadow:0 0 0 2px var(--bridgerte-color-active-bg);outline:none}.bridgerte__toolbar-button[aria-pressed=true],.bridgerte__toolbar-button[data-active=true]{border-color:var(--bridgerte-color-active-bg);color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg)}.bridgerte__toolbar-button:disabled,.bridgerte__toolbar-button[aria-disabled=true]{color:var(--bridgerte-color-disabled);cursor:not-allowed;background:0 0}.bridgerte__toolbar-button>svg,.bridgerte__toolbar-group-indicator>svg{flex:none;display:block}.bridgerte__toolbar-group-button{gap:4px}.bridgerte__toolbar-group-button[data-open=true]{border-color:var(--bridgerte-color-primary);color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg)}.bridgerte__toolbar-group-indicator{justify-content:center;align-items:center;width:12px;height:12px;font-size:11px;line-height:1;display:inline-flex}.bridgerte__toolbar-group-menu{opacity:0;pointer-events:none;gap:2px;min-width:128px;max-height:min(320px,100vh - 24px);padding:4px;transition:opacity .12s,transform .12s;display:grid;position:fixed;overflow:hidden auto;transform:translateY(-2px)}.bridgerte__toolbar-group-menu[data-visible=true]{opacity:1;pointer-events:auto;transform:translateY(0)}.bridgerte__menu-item.bridgerte__toolbar-group-menu-item{border-radius:calc(var(--bridgerte-radius) - 2px);gap:6px;min-height:30px;padding:0 7px;font-size:13px;font-weight:500;line-height:1.15}.bridgerte__toolbar-group-menu-item>svg,.bridgerte__toolbar-group-menu-item>.bridgerte__menu-icon-text{flex:none;width:16px;height:16px}.bridgerte__toolbar-group-menu-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bridgerte__toolbar-tooltip{z-index:calc(var(--bridgerte-z-index-toolbar) + 2);opacity:0;border-radius:calc(var(--bridgerte-radius) - 2px);color:var(--bridgerte-color-bg);background:var(--bridgerte-color-text);box-shadow:var(--bridgerte-shadow-panel);pointer-events:none;white-space:nowrap;padding:5px 7px;font-size:12px;font-weight:500;line-height:1;transition:opacity .12s,transform .12s;position:fixed;transform:translate(-50%,-100%)translateY(2px)}.bridgerte__toolbar-tooltip[data-visible=true]{opacity:1;transform:translate(-50%,-100%)translateY(0)}.bridgerte__panel,.bridgerte__floating-menu{border:1px solid var(--bridgerte-color-border);border-radius:var(--bridgerte-radius);color:var(--bridgerte-color-text);background:var(--bridgerte-color-panel);box-shadow:var(--bridgerte-shadow-panel)}.bridgerte__floating-menu{z-index:calc(var(--bridgerte-z-index-toolbar) + 1);min-width:180px;padding:6px}.bridgerte__menu-item{border-radius:var(--bridgerte-radius);width:100%;min-height:34px;color:var(--bridgerte-color-text);font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-items:center;gap:8px;padding:0 8px;display:flex}.bridgerte__menu-item:focus-visible{color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg);outline:none}.bridgerte__menu-item[data-active=true]{color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg)}.bridgerte__menu-item:disabled,.bridgerte__menu-item[aria-disabled=true]{color:var(--bridgerte-color-disabled);cursor:not-allowed}.bridgerte__menu-icon-text{text-overflow:ellipsis;white-space:nowrap;flex:none;display:inline-block;overflow:hidden}.bridgerte__slash-command-menu{overscroll-behavior:contain;scrollbar-width:thin;touch-action:pan-y;-webkit-overflow-scrolling:touch;gap:2px;width:min(120px,100vw - 24px);min-width:0;max-height:min(232px,100vh - 24px);padding:4px;display:grid;overflow-y:auto}.bridgerte__slash-command-menu[hidden]{display:none}.bridgerte__slash-command-anchor{pointer-events:none;width:1px;position:fixed}.bridgerte__slash-command-item{text-align:left;flex-direction:row;justify-content:flex-start;align-items:center;gap:4px;min-height:30px;padding:0 8px}.bridgerte__slash-command-item-icon{width:18px;height:18px;color:var(--bridgerte-color-text-muted);flex:none;place-items:center;display:inline-grid}.bridgerte__slash-command-item-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:700;line-height:1.2;overflow:hidden}.bridgerte__slash-command-item-description{color:var(--bridgerte-color-text-muted);font-size:12px;line-height:1.2;display:none}.bridgerte__slash-command-status{color:var(--bridgerte-color-text-muted);text-align:center;padding:8px;font-size:13px;line-height:1.3}.bridgerte__mention{border-radius:calc(var(--bridgerte-radius) - 2px);max-width:100%;color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg);white-space:nowrap;align-items:center;padding:0 3px;display:inline-flex}.bridgerte__mention-menu{overscroll-behavior:contain;scrollbar-width:thin;touch-action:pan-y;-webkit-overflow-scrolling:touch;gap:2px;width:min(120px,100vw - 24px);min-width:0;max-height:min(232px,100vh - 24px);padding:4px;display:grid;overflow-y:auto}.bridgerte__mention-menu[hidden]{display:none}.bridgerte__mention-anchor{pointer-events:none;width:1px;position:fixed}.bridgerte__mention-item{text-align:left;flex-direction:row;justify-content:flex-start;align-items:center;gap:4px;min-height:30px;padding:0 8px}.bridgerte__mention-item-avatar,.bridgerte__mention-item-icon{border-radius:50%;flex:none;width:18px;height:18px}.bridgerte__mention-item-avatar{object-fit:cover;background:var(--bridgerte-color-active-bg)}.bridgerte__mention-item-icon{color:var(--bridgerte-color-text-muted);background:var(--bridgerte-color-active-bg);place-items:center;font-size:12px;line-height:1;display:inline-grid}.bridgerte__mention-item-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:700;line-height:1.2;overflow:hidden}.bridgerte__mention-item-description{color:var(--bridgerte-color-text-muted);font-size:12px;line-height:1.2;display:none}.bridgerte__mention-status{color:var(--bridgerte-color-text-muted);text-align:center;padding:8px;font-size:13px;line-height:1.3}.bridgerte__hoverbar{gap:2px;width:max-content;min-width:0;max-width:calc(100vw - 24px);padding:4px;display:flex}.bridgerte__hoverbar[hidden]{display:none}.bridgerte__hoverbar-anchor{pointer-events:none;position:fixed}.bridgerte__hoverbar-separator{width:1px;height:var(--bridgerte-hoverbar-button-size);background:var(--bridgerte-color-border);margin:0 2px}.bridgerte__hoverbar-button{width:var(--bridgerte-hoverbar-button-size);min-width:var(--bridgerte-hoverbar-button-size);height:var(--bridgerte-hoverbar-button-size);border-radius:calc(var(--bridgerte-radius) - 2px);color:var(--bridgerte-color-text-muted);font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;line-height:1;display:inline-flex;overflow:hidden}.bridgerte__hoverbar-button[data-active=true]{color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg)}.bridgerte__hoverbar-button:disabled{color:var(--bridgerte-color-disabled);cursor:not-allowed}.bridgerte__hoverbar-button:focus-visible{box-shadow:0 0 0 2px var(--bridgerte-color-active-bg);outline:none}.bridgerte__hoverbar-button>svg,.bridgerte__hoverbar-button>.bridgerte__menu-icon-text{width:calc(var(--bridgerte-hoverbar-button-size) - 12px);height:calc(var(--bridgerte-hoverbar-button-size) - 12px);flex:none}.bridgerte__dialog-backdrop{z-index:var(--bridgerte-z-index-toolbar);opacity:0;pointer-events:none;background:0 0;position:fixed;top:0;right:0;bottom:0;left:0}.bridgerte__dialog-backdrop[data-visible=true]{opacity:1;pointer-events:auto}.bridgerte__dialog{z-index:calc(var(--bridgerte-z-index-toolbar) + 2);width:min(220px,100vw - 24px);max-height:calc(var(--bridgerte-dialog-visible-height,100vh) - 32px);opacity:0;border:1px solid var(--bridgerte-color-border);border-radius:var(--bridgerte-radius);color:var(--bridgerte-color-text);background:var(--bridgerte-color-panel);box-shadow:var(--bridgerte-shadow-panel);font:inherit;pointer-events:none;transition:opacity .12s,transform .12s;display:grid;position:fixed;top:0;left:0;transform:translateY(-4px)scale(.98)}.bridgerte__dialog[data-visible=true]{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.bridgerte__code-block-menu{width:min(var(--bridgerte-dialog-anchor-width),calc(100vw - 24px));max-height:min(360px,calc(var(--bridgerte-dialog-visible-height,100vh) - 32px));border-color:var(--bridgerte-color-border);background:var(--bridgerte-color-panel);box-shadow:var(--bridgerte-shadow-popup)}.bridgerte__code-block-menu .bridgerte__dialog-content{min-height:0;max-height:inherit;overflow:hidden}.bridgerte__code-block-menu-list{max-height:min(340px,calc(var(--bridgerte-dialog-visible-height,100vh) - 48px));overscroll-behavior:contain;scrollbar-width:thin;touch-action:pan-y;-webkit-overflow-scrolling:touch;gap:2px;padding:8px;display:grid;overflow-y:auto}.bridgerte__code-block-menu-item{min-height:var(--bridgerte-payload-panel-field-height);border-radius:calc(var(--bridgerte-radius) - 2px);padding:0 12px}.bridgerte__payload-panel{padding:6px}.bridgerte__payload-panel-title{min-height:var(--bridgerte-payload-panel-title-height);color:var(--bridgerte-color-text);justify-content:space-between;align-items:center;gap:8px;padding:2px 4px 6px;font-size:13px;font-weight:700;line-height:1.2;display:flex}.bridgerte__payload-panel-clear{color:var(--bridgerte-color-text-muted);font:inherit;text-align:right;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex:none;padding:0;font-size:12px;font-weight:600;line-height:1}.bridgerte__payload-panel-clear:focus-visible{color:var(--bridgerte-color-primary);text-underline-offset:.18em;outline:none;text-decoration:underline}.bridgerte__payload-panel-field{gap:7px;display:grid}.bridgerte__payload-panel-option-list{gap:2px;display:grid}.bridgerte__payload-panel-color-picker{width:calc(var(--bridgerte-payload-panel-color-wheel-size) + var(--bridgerte-payload-panel-color-swatch-width) * 2 + 20px);justify-self:center;place-items:center;max-width:100%;display:grid;position:relative}.bridgerte__payload-panel-color-wheel{width:var(--bridgerte-payload-panel-color-wheel-size);aspect-ratio:1;border:1px solid var(--bridgerte-color-border);background:radial-gradient(circle,var(--bridgerte-color-bg) 0%,transparent 68%),conic-gradient(from 90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);cursor:crosshair;touch-action:none;border-radius:999px;position:relative}.bridgerte__payload-panel-color-wheel:focus-visible{box-shadow:0 0 0 3px var(--bridgerte-color-active-bg);outline:none}.bridgerte__payload-panel-color-wheel-handle{width:var(--bridgerte-payload-panel-color-handle-size);height:var(--bridgerte-payload-panel-color-handle-size);border:2px solid var(--bridgerte-color-bg);box-shadow:0 0 0 1px var(--bridgerte-color-border),var(--bridgerte-shadow-panel);opacity:0;pointer-events:none;border-radius:999px;position:absolute;transform:translate(-50%,-50%)}.bridgerte__payload-panel-color-wheel[data-active=true] .bridgerte__payload-panel-color-wheel-handle{opacity:1}.bridgerte__payload-panel-color-preview{border:1px solid var(--bridgerte-color-border);border-radius:calc(var(--bridgerte-radius) - 2px);min-height:24px;box-shadow:inset 0 0 0 1px var(--bridgerte-color-panel)}.bridgerte__payload-panel-color-preview[data-empty=true]{background:linear-gradient(45deg,transparent 45%,var(--bridgerte-color-border) 45%,var(--bridgerte-color-border) 55%,transparent 55%),linear-gradient(-45deg,transparent 45%,var(--bridgerte-color-border) 45%,var(--bridgerte-color-border) 55%,transparent 55%),var(--bridgerte-color-bg);background-position:50%;background-size:12px 12px}.bridgerte__payload-panel-color-actions{align-items:center;gap:6px;display:flex}.bridgerte__payload-panel-color-actions[data-layout=sides]{pointer-events:none;justify-content:space-between;position:absolute;top:0;right:0;bottom:0;left:0}.bridgerte__payload-panel-color-actions[data-layout=grid]{flex-wrap:wrap;justify-content:center;margin-top:6px}.bridgerte__payload-panel-color-swatch{width:var(--bridgerte-payload-panel-color-swatch-width);height:var(--bridgerte-payload-panel-color-swatch-height);border:1px solid var(--bridgerte-color-border);border-radius:calc(var(--bridgerte-radius) - 2px);background:var(--bridgerte-color-bg);box-shadow:inset 0 0 0 1px var(--bridgerte-color-panel);cursor:pointer;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent;padding:0}.bridgerte__payload-panel-color-swatch:focus-visible{border-color:var(--bridgerte-color-primary);box-shadow:inset 0 0 0 1px var(--bridgerte-color-bg),0 0 0 2px var(--bridgerte-color-active-bg);outline:none}.bridgerte__payload-panel-text-field{color:var(--bridgerte-color-text-muted);gap:5px;font-size:12px;font-weight:600;line-height:1.2;display:grid}.bridgerte__payload-panel-text-input{width:100%;min-height:var(--bridgerte-payload-panel-field-height);border:1px solid var(--bridgerte-color-border);border-radius:calc(var(--bridgerte-radius) - 2px);color:var(--bridgerte-color-text);background:var(--bridgerte-color-bg);font:inherit;-webkit-tap-highlight-color:transparent;padding:0 10px;font-size:13px}.bridgerte__payload-panel-text-input:focus-visible{border-color:var(--bridgerte-color-active-bg);box-shadow:0 0 0 2px var(--bridgerte-color-active-bg);outline:none}.bridgerte__payload-panel-table-grid{grid-template-columns:repeat(var(--bridgerte-payload-panel-table-cols),var(--bridgerte-payload-panel-table-cell-size));touch-action:none;-webkit-tap-highlight-color:transparent;justify-content:center;gap:2px;max-width:100%;padding:2px;display:grid}.bridgerte__payload-panel-table-cell{width:var(--bridgerte-payload-panel-table-cell-size);height:var(--bridgerte-payload-panel-table-cell-size);border:1px solid var(--bridgerte-color-border);border-radius:calc(var(--bridgerte-radius) - 4px);background:var(--bridgerte-color-bg);cursor:pointer;-webkit-tap-highlight-color:transparent;padding:0}.bridgerte__payload-panel-table-cell[data-active=true]{border-color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg)}.bridgerte__payload-panel-table-cell:focus-visible{border-color:var(--bridgerte-color-primary);box-shadow:0 0 0 2px var(--bridgerte-color-active-bg);outline:none}.bridgerte__payload-panel-table-status{min-height:18px;color:var(--bridgerte-color-text-muted);text-align:center;font-size:12px;font-weight:600;line-height:1.5}.bridgerte__payload-panel-submit{min-height:var(--bridgerte-payload-panel-field-height);border:1px solid var(--bridgerte-color-border);border-radius:calc(var(--bridgerte-radius) - 2px);color:var(--bridgerte-color-bg);background:var(--bridgerte-color-primary);font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;padding:0 10px;font-size:13px;font-weight:700}.bridgerte__payload-panel-submit:focus-visible{box-shadow:0 0 0 2px var(--bridgerte-color-active-bg);outline:none}.bridgerte__payload-panel-option{min-height:var(--bridgerte-payload-panel-option-height);border-radius:calc(var(--bridgerte-radius) - 2px);color:var(--bridgerte-color-text);font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-items:center;padding:0 7px;display:flex}.bridgerte__payload-panel-option[data-active=true]{color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg)}.bridgerte__payload-panel-option:focus-visible{color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg);box-shadow:0 0 0 2px var(--bridgerte-color-active-bg);outline:none}@media(hover:hover)and (pointer:fine){.bridgerte__toolbar-button:hover{border-color:var(--bridgerte-color-active-bg);color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg)}.bridgerte__code-block-control-button:hover,.bridgerte__code-block-menu-item:hover,.bridgerte__media-controls-button:hover,.bridgerte__table-controls-button:hover,.bridgerte__hoverbar-button:hover,.bridgerte__payload-panel-option:hover,.bridgerte__mention-item:hover,.bridgerte__slash-command-item:hover,.bridgerte__menu-item:hover{color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg)}.bridgerte__payload-panel-clear:hover{color:var(--bridgerte-color-primary)}.bridgerte__payload-panel-color-wheel:hover{box-shadow:0 0 0 3px var(--bridgerte-color-active-bg)}.bridgerte__payload-panel-table-cell:hover{border-color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg)}.bridgerte__payload-panel-color-swatch:hover{border-color:var(--bridgerte-color-primary);box-shadow:inset 0 0 0 1px var(--bridgerte-color-bg),0 0 0 2px var(--bridgerte-color-active-bg)}.bridgerte__payload-panel-submit:hover{border-color:var(--bridgerte-color-primary);box-shadow:0 0 0 2px var(--bridgerte-color-active-bg)}}@media(hover:none),(pointer:coarse){.bridgerte__toolbar-button:active,.bridgerte__toolbar-button[data-pressed=true]{border-color:var(--bridgerte-color-active-bg);color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg)}.bridgerte__code-block-control-button:active,.bridgerte__code-block-control-button[data-pressed=true],.bridgerte__code-block-menu-item:active,.bridgerte__code-block-menu-item[data-pressed=true],.bridgerte__media-controls-button:active,.bridgerte__media-controls-button[data-pressed=true],.bridgerte__table-controls-button:active,.bridgerte__table-controls-button[data-pressed=true],.bridgerte__hoverbar-button:active,.bridgerte__hoverbar-button[data-pressed=true],.bridgerte__payload-panel-option:active,.bridgerte__payload-panel-option[data-pressed=true],.bridgerte__mention-item:active,.bridgerte__mention-item[data-pressed=true],.bridgerte__slash-command-item:active,.bridgerte__slash-command-item[data-pressed=true],.bridgerte__menu-item[data-pressed=true],.bridgerte__menu-item:active{color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg)}.bridgerte__payload-panel-clear:active,.bridgerte__payload-panel-clear[data-pressed=true]{color:var(--bridgerte-color-primary)}.bridgerte__payload-panel-color-wheel:active,.bridgerte__payload-panel-color-wheel[data-pressed=true]{box-shadow:0 0 0 3px var(--bridgerte-color-active-bg)}.bridgerte__payload-panel-table-cell:active,.bridgerte__payload-panel-table-cell[data-pressed=true]{border-color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg)}.bridgerte__payload-panel-color-swatch:active,.bridgerte__payload-panel-color-swatch[data-pressed=true]{border-color:var(--bridgerte-color-primary);box-shadow:inset 0 0 0 1px var(--bridgerte-color-bg),0 0 0 2px var(--bridgerte-color-active-bg)}.bridgerte__payload-panel-submit:active,.bridgerte__payload-panel-submit[data-pressed=true]{border-color:var(--bridgerte-color-primary);box-shadow:0 0 0 2px var(--bridgerte-color-active-bg)}}@media(max-width:760px){.bridgerte{min-height:220px}.bridgerte__toolbar-button{min-width:38px;height:38px}}
1
+ :root,.bridgerte{--bridgerte-color-primary:#1677ff;--bridgerte-color-text:#1f2329;--bridgerte-color-text-muted:#86909c;--bridgerte-color-bg:#fff;--bridgerte-color-panel:#fff;--bridgerte-color-border:#e5e6eb;--bridgerte-color-active-bg:#e8f3ff;--bridgerte-color-code-bg:#f3f4f6;--bridgerte-color-placeholder:#b7bcc5;--bridgerte-color-disabled:#c9cdd4;--bridgerte-color-danger:#f53f3f;--bridgerte-shadow-panel:0 12px 32px #0f172a24;--bridgerte-shadow-popup:0 10px 24px #0f172a1a;--bridgerte-font-size:15px;--bridgerte-line-height:1.7;--bridgerte-radius:8px;--bridgerte-radius-large:12px;--bridgerte-toolbar-height:42px;--bridgerte-control-height:32px;--bridgerte-control-height-small:28px;--bridgerte-touch-target-size:32px;--bridgerte-hoverbar-button-size:28px;--bridgerte-safe-area-bottom:env(safe-area-inset-bottom,0px);--bridgerte-editor-padding:12px;--bridgerte-z-index-toolbar:20;--bridgerte-code-font-family:"JetBrains Mono", Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;--bridgerte-code-block-control-height:32px;--bridgerte-code-token-text:#000;--bridgerte-code-token-comment:#708090;--bridgerte-code-token-keyword:#a626a4;--bridgerte-code-token-operator:#0184bc;--bridgerte-code-token-function:#4078f2;--bridgerte-code-token-string:#50a14f;--bridgerte-code-token-number:#986801;--bridgerte-code-token-class:#4078f2;--bridgerte-code-token-builtin:#50a14f;--bridgerte-code-token-property:#e45649;--bridgerte-code-token-variable:#e90;--bridgerte-code-token-tag:#c18401;--bridgerte-code-token-punctuation:#999;--bridgerte-code-token-regex:#e90;--bridgerte-code-token-inserted:#690;--bridgerte-code-token-deleted:#905;--bridgerte-media-controls-button-height:28px;--bridgerte-table-controls-button-height:28px;--bridgerte-payload-panel-color-wheel-size:136px;--bridgerte-payload-panel-color-handle-size:14px;--bridgerte-payload-panel-color-swatch-width:22px;--bridgerte-payload-panel-color-swatch-height:40px;--bridgerte-payload-panel-table-cell-size:16px;--bridgerte-payload-panel-title-height:28px;--bridgerte-payload-panel-option-height:28px;--bridgerte-payload-panel-field-height:32px;--bridgerte-todo-marker-hit-size:32px;--bridgerte-todo-marker-size:16px}.bridgerte{width:100%;height:100%;min-height:0;color:var(--bridgerte-color-text);background:var(--bridgerte-color-bg);font-family:inherit;font-size:var(--bridgerte-font-size);line-height:var(--bridgerte-line-height);overflow-wrap:anywhere;outline:none;transition:background-color .16s,color .16s;position:relative}.bridgerte[data-readonly=true]{color:var(--bridgerte-color-text-muted);background:var(--bridgerte-color-panel);cursor:default}.bridgerte__editor{flex-direction:column;width:100%;height:100%;min-height:0;display:flex}.bridgerte__body{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.bridgerte__content{min-height:0;padding:var(--bridgerte-editor-padding);-webkit-tap-highlight-color:transparent;outline:none;flex:1;position:relative;overflow-y:auto}.bridgerte__content[data-empty=true] .bridgerte__paragraph:first-child{margin-top:0}.bridgerte__placeholder{box-sizing:border-box;padding:var(--bridgerte-editor-padding);color:var(--bridgerte-color-placeholder);text-overflow:ellipsis;white-space:nowrap;pointer-events:none;display:none;position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.bridgerte__content[data-empty=true]+.bridgerte__placeholder{display:block}.bridgerte__paragraph{margin:0 0 .75em}.bridgerte__heading{color:var(--bridgerte-color-text);margin:.75em 0;font-weight:700;line-height:1.25}.bridgerte__heading--h1{font-size:32px}.bridgerte__heading--h2{font-size:28px}.bridgerte__heading--h3{font-size:24px}.bridgerte__heading--h4{font-size:21px}.bridgerte__heading--h5{font-size:18px}.bridgerte__heading--h6{font-size:16px}.bridgerte__list{margin:0 0 .75em;padding-left:1.5em}.bridgerte__list-item{margin:.25em 0}.bridgerte__quote{border-left:3px solid var(--bridgerte-color-primary);border-radius:calc(var(--bridgerte-radius) - 2px);color:var(--bridgerte-color-text);background:var(--bridgerte-color-code-bg);margin:.85em 0;padding:.45em .85em}.bridgerte__quote>:last-child{margin-bottom:0}.bridgerte__divider{background:var(--bridgerte-color-border);border:0;height:1px;margin:1em 0}.bridgerte__link{color:var(--bridgerte-color-primary);text-underline-offset:.18em;text-decoration:underline}.bridgerte__text--bold{font-weight:700}.bridgerte__text--italic{font-style:italic}.bridgerte__text--underline{text-underline-offset:.18em;text-decoration-line:underline}.bridgerte__text--strike{text-decoration-line:line-through}.bridgerte__text--underline-strike,.bridgerte__text--underline.bridgerte__text--strike{text-underline-offset:.18em;text-decoration-line:underline line-through}.bridgerte__list--todo{padding-left:0;list-style:none}.bridgerte__list-item--checked,.bridgerte__list-item--unchecked{outline:none;margin-left:.15em;padding-left:2em;list-style:none;position:relative}.bridgerte__list-item--checked:before,.bridgerte__list-item--unchecked:before{top:calc(var(--bridgerte-line-height) * .5em);width:var(--bridgerte-todo-marker-hit-size);height:var(--bridgerte-todo-marker-hit-size);box-sizing:border-box;content:"";border-radius:999px;position:absolute;left:0;transform:translateY(-50%)}.bridgerte__list-item--checked:after,.bridgerte__list-item--unchecked:after{top:calc(var(--bridgerte-line-height) * .5em);width:var(--bridgerte-todo-marker-size);height:var(--bridgerte-todo-marker-size);box-sizing:border-box;border:1px solid var(--bridgerte-color-border);content:"";pointer-events:none;border-radius:999px;position:absolute;left:0;transform:translateY(-50%)}.bridgerte__list-item--checked:focus-visible:after,.bridgerte__list-item--unchecked:focus-visible:after{border-color:var(--bridgerte-color-primary);box-shadow:0 0 0 2px var(--bridgerte-color-active-bg)}.bridgerte__list-item--checked{color:var(--bridgerte-color-text-muted);text-decoration:line-through}.bridgerte__list-item--checked:after{border-color:var(--bridgerte-color-primary);background:radial-gradient(circle at center,var(--bridgerte-color-bg) 0 4px,transparent 4.5px),var(--bridgerte-color-primary)}.bridgerte__code{border-radius:var(--bridgerte-radius);color:var(--bridgerte-color-text);background:var(--bridgerte-color-code-bg);font-family:var(--bridgerte-code-font-family);padding:.12em .3em;font-size:.92em}.bridgerte__code-block{border:1px solid var(--bridgerte-color-border);border-radius:var(--bridgerte-radius-large);color:var(--bridgerte-code-token-text);background:var(--bridgerte-color-code-bg);font-family:var(--bridgerte-code-font-family);line-height:var(--bridgerte-line-height);white-space:pre;margin:12px 0;padding:12px;display:block;overflow:auto}.bridgerte__code-token{color:var(--bridgerte-code-token-text)}.bridgerte__code-token--comment{color:var(--bridgerte-code-token-comment);font-style:italic}.bridgerte__code-token--keyword{color:var(--bridgerte-code-token-keyword)}.bridgerte__code-token--operator{color:var(--bridgerte-code-token-operator)}.bridgerte__code-token--function{color:var(--bridgerte-code-token-function)}.bridgerte__code-token--string,.bridgerte__code-token--attr-value{color:var(--bridgerte-code-token-string)}.bridgerte__code-token--number,.bridgerte__code-token--boolean,.bridgerte__code-token--constant{color:var(--bridgerte-code-token-number)}.bridgerte__code-token--class-name{color:var(--bridgerte-code-token-class)}.bridgerte__code-token--builtin{color:var(--bridgerte-code-token-builtin)}.bridgerte__code-token--property,.bridgerte__code-token--attr,.bridgerte__code-token--attr-name{color:var(--bridgerte-code-token-property)}.bridgerte__code-token--variable{color:var(--bridgerte-code-token-variable)}.bridgerte__code-token--tag,.bridgerte__code-token--selector,.bridgerte__code-token--namespace{color:var(--bridgerte-code-token-tag)}.bridgerte__code-token--punctuation,.bridgerte__code-token--prefix,.bridgerte__code-token--unchanged{color:var(--bridgerte-code-token-punctuation)}.bridgerte__code-token--regex,.bridgerte__code-token--url{color:var(--bridgerte-code-token-regex)}.bridgerte__code-token--inserted{color:var(--bridgerte-code-token-inserted)}.bridgerte__code-token--deleted{color:var(--bridgerte-code-token-deleted)}.bridgerte__code-block-controls-layer{z-index:calc(var(--bridgerte-z-index-toolbar) - 1);pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0}.bridgerte__code-block-controls{border:1px solid var(--bridgerte-color-border);border-radius:var(--bridgerte-radius);color:var(--bridgerte-color-text);background:var(--bridgerte-color-panel);box-shadow:var(--bridgerte-shadow-popup);pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent;align-items:center;gap:2px;padding:4px;display:inline-flex;position:absolute;top:0;left:0}.bridgerte__code-block-control-button{min-height:var(--bridgerte-code-block-control-height);border-radius:calc(var(--bridgerte-radius) - 2px);color:var(--bridgerte-color-text);font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-items:center;gap:8px;padding:0 8px;font-size:12px;line-height:1;display:inline-flex}.bridgerte__code-block-control-button:focus-visible{color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg);box-shadow:0 0 0 2px var(--bridgerte-color-active-bg);outline:none}.bridgerte__code-block-control-arrow{border-top:5px solid var(--bridgerte-color-text-muted);border-left:5px solid #0000;border-right:5px solid #0000;flex:none;width:0;height:0}.bridgerte__code-block-control-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bridgerte__media{width:var(--bridgerte-media-display-width,50%);border:1px solid var(--bridgerte-color-border);border-radius:var(--bridgerte-radius-large);background:var(--bridgerte-color-panel);max-width:100%;margin:12px 0;display:block;overflow:hidden}.bridgerte__media-placeholder{min-height:160px;aspect-ratio:var(--bridgerte-media-aspect-ratio,16 / 9);color:var(--bridgerte-color-text-muted);background:var(--bridgerte-color-code-bg);justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.bridgerte__media-placeholder-icon{border:1px solid var(--bridgerte-color-border);border-radius:calc(var(--bridgerte-radius) - 2px);color:var(--bridgerte-color-text-muted);background:var(--bridgerte-color-bg);padding:2px 6px;font-size:11px;line-height:1.4}.bridgerte__media[data-load-state=loaded] .bridgerte__media-placeholder{display:none}.bridgerte__media[data-load-state=error] .bridgerte__media-placeholder{color:var(--bridgerte-color-danger)}.bridgerte__media[data-align=center]{margin-left:auto;margin-right:auto}.bridgerte__media[data-align=right]{margin-left:auto;margin-right:0}.bridgerte__media-element{width:100%;max-width:100%;height:auto;display:block}.bridgerte__media[data-load-state=loading] .bridgerte__media-element,.bridgerte__media[data-load-state=error] .bridgerte__media-element{opacity:0;width:1px;height:1px}.bridgerte__media[data-load-state=loaded] .bridgerte__media-element,.bridgerte__media:not([data-load-state]) .bridgerte__media-element{opacity:1}.bridgerte__media-status{border-top:1px solid var(--bridgerte-color-border);color:var(--bridgerte-color-text-muted);background:var(--bridgerte-color-bg);padding:8px 10px;font-size:13px}.bridgerte__media[data-status=error] .bridgerte__media-status{color:var(--bridgerte-color-danger)}.bridgerte__media-controls-layer{z-index:calc(var(--bridgerte-z-index-toolbar) - 1);pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0}.bridgerte__media-controls{border:1px solid var(--bridgerte-color-border);border-radius:var(--bridgerte-radius);color:var(--bridgerte-color-text);background:var(--bridgerte-color-panel);box-shadow:var(--bridgerte-shadow-popup);pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent;align-items:center;gap:2px;padding:3px;display:inline-flex;position:absolute;top:0;left:0}.bridgerte__media-controls-button{min-height:var(--bridgerte-media-controls-button-height);border-radius:calc(var(--bridgerte-radius) - 2px);color:var(--bridgerte-color-text);font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-items:center;padding:0 8px;font-size:12px;line-height:1;display:inline-flex}.bridgerte__media-controls-button:focus-visible{color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg);box-shadow:0 0 0 2px var(--bridgerte-color-active-bg);outline:none}.bridgerte__media-controls-button[data-active=true]{color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg)}.bridgerte[data-readonly=true] .bridgerte__media-controls-button{color:var(--bridgerte-color-disabled);cursor:not-allowed}.bridgerte[data-readonly=true] .bridgerte__media-controls-button[data-menu-item-id=media-view]{color:var(--bridgerte-color-text);cursor:pointer}.bridgerte__media-viewer-dialog-backdrop[data-visible=true]{background:#000000a3}.bridgerte__dialog.bridgerte__media-viewer-dialog{width:calc(var(--bridgerte-media-viewer-width,960px) + 8px);max-width:calc(100vw - 24px);height:calc(var(--bridgerte-media-viewer-height,540px) + 8px);max-height:calc(var(--bridgerte-dialog-visible-height,100vh) - 24px);border-radius:var(--bridgerte-radius-large);background:var(--bridgerte-color-panel);box-shadow:var(--bridgerte-shadow-panel);border:0;padding:4px;overflow:hidden;transform:translate(-50%,-50%)scale(.98);top:50%!important;left:50%!important}.bridgerte__dialog.bridgerte__media-viewer-dialog[data-visible=true]{transform:translate(-50%,-50%)scale(1)}.bridgerte__media-viewer-dialog .bridgerte__dialog-content{width:var(--bridgerte-media-viewer-width,960px);height:var(--bridgerte-media-viewer-height,540px);min-height:0;overflow:hidden}.bridgerte__media-viewer{background:0 0;place-items:center;width:100%;height:100%;min-height:0;display:grid}.bridgerte__media-viewer-element{width:var(--bridgerte-media-viewer-width,960px);height:var(--bridgerte-media-viewer-height,540px);border-radius:calc(var(--bridgerte-radius-large) - 2px);object-fit:contain;background:0 0;display:block}.bridgerte__table-wrapper{box-sizing:border-box;border:1px solid var(--bridgerte-color-border);border-radius:var(--bridgerte-radius-large);background:var(--bridgerte-color-panel);scrollbar-width:thin;margin:12px 0;position:relative;overflow-x:auto}.bridgerte__table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;color:var(--bridgerte-color-text);background:var(--bridgerte-color-bg)}.bridgerte__table-cell{border:0;border-top:1px solid var(--bridgerte-color-border);border-left:1px solid var(--bridgerte-color-border);text-align:center;vertical-align:middle;padding:8px}.bridgerte__table-cell>:first-child{margin-top:0}.bridgerte__table-cell>:last-child{margin-bottom:0}.bridgerte__table-cell:first-child{border-left:0}.bridgerte__table-row:first-of-type .bridgerte__table-cell{border-top:0}.bridgerte__table-cell--header{background:var(--bridgerte-color-code-bg);font-weight:700}.bridgerte__table-controls-layer{z-index:calc(var(--bridgerte-z-index-toolbar) - 1);pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0}.bridgerte__table-controls{border:1px solid var(--bridgerte-color-border);border-radius:var(--bridgerte-radius);color:var(--bridgerte-color-text);background:var(--bridgerte-color-panel);box-shadow:var(--bridgerte-shadow-popup);pointer-events:auto;scrollbar-width:none;touch-action:pan-x;-webkit-tap-highlight-color:transparent;align-items:center;gap:2px;padding:4px;display:inline-flex;position:absolute;top:0;left:0;overflow-x:auto}.bridgerte__table-controls::-webkit-scrollbar{display:none}.bridgerte__table-controls-button{min-height:var(--bridgerte-table-controls-button-height);border-radius:calc(var(--bridgerte-radius) - 2px);color:var(--bridgerte-color-text);font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex:none;align-items:center;padding:0 8px;font-size:12px;line-height:1;display:inline-flex}.bridgerte__table-controls-button:focus-visible{color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg);box-shadow:0 0 0 2px var(--bridgerte-color-active-bg);outline:none}.bridgerte[data-readonly=true] .bridgerte__table-controls-button{color:var(--bridgerte-color-disabled);cursor:not-allowed}.bridgerte__toolbar{z-index:var(--bridgerte-z-index-toolbar);min-height:var(--bridgerte-toolbar-height);border-bottom:1px solid var(--bridgerte-color-border);padding:5px calc(var(--bridgerte-editor-padding) - 2px);color:var(--bridgerte-color-text);background:var(--bridgerte-color-panel);-webkit-tap-highlight-color:transparent;flex-wrap:wrap;align-items:center;gap:4px;display:flex;position:sticky;top:0}.bridgerte__toolbar[data-placement=bottom]{min-height:calc(var(--bridgerte-toolbar-height) + var(--bridgerte-safe-area-bottom));border-top:1px solid var(--bridgerte-color-border);padding-top:5px;padding-bottom:calc(5px + var(--bridgerte-safe-area-bottom));border-bottom:0;top:auto;bottom:0}.bridgerte__toolbar-group{flex:none;align-items:center;gap:2px;display:inline-flex}.bridgerte__toolbar-separator{background:var(--bridgerte-color-border);flex:none;width:1px;height:22px;margin:0 6px}.bridgerte__toolbar-button{border-radius:calc(var(--bridgerte-radius) - 2px);min-width:30px;height:30px;color:var(--bridgerte-color-text);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0 7px;font-family:inherit;font-size:13px;font-weight:600;line-height:1;transition:border-color .12s,background-color .12s,color .12s;display:inline-flex;position:relative}.bridgerte__toolbar-button:focus-visible{border-color:var(--bridgerte-color-primary);box-shadow:0 0 0 2px var(--bridgerte-color-active-bg);outline:none}.bridgerte__toolbar-button[aria-pressed=true],.bridgerte__toolbar-button[data-active=true]{border-color:var(--bridgerte-color-active-bg);color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg)}.bridgerte__toolbar-button:disabled,.bridgerte__toolbar-button[aria-disabled=true]{color:var(--bridgerte-color-disabled);cursor:not-allowed;background:0 0}.bridgerte__toolbar-button>svg,.bridgerte__toolbar-group-indicator>svg{flex:none;display:block}.bridgerte__toolbar-group-button{gap:4px}.bridgerte__toolbar-group-button[data-open=true]{border-color:var(--bridgerte-color-primary);color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg)}.bridgerte__toolbar-group-indicator{justify-content:center;align-items:center;width:12px;height:12px;font-size:11px;line-height:1;display:inline-flex}.bridgerte__toolbar-group-menu{opacity:0;pointer-events:none;gap:2px;min-width:128px;max-height:min(320px,100vh - 24px);padding:4px;transition:opacity .12s,transform .12s;display:grid;position:fixed;overflow:hidden auto;transform:translateY(-2px)}.bridgerte__toolbar-group-menu[data-visible=true]{opacity:1;pointer-events:auto;transform:translateY(0)}.bridgerte__menu-item.bridgerte__toolbar-group-menu-item{border-radius:calc(var(--bridgerte-radius) - 2px);gap:6px;min-height:30px;padding:0 7px;font-size:13px;font-weight:500;line-height:1.15}.bridgerte__toolbar-group-menu-item>svg,.bridgerte__toolbar-group-menu-item>.bridgerte__menu-icon-text{flex:none;width:16px;height:16px}.bridgerte__toolbar-group-menu-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bridgerte__toolbar-tooltip{z-index:calc(var(--bridgerte-z-index-toolbar) + 2);opacity:0;border-radius:calc(var(--bridgerte-radius) - 2px);color:var(--bridgerte-color-bg);background:var(--bridgerte-color-text);box-shadow:var(--bridgerte-shadow-panel);pointer-events:none;white-space:nowrap;padding:5px 7px;font-size:12px;font-weight:500;line-height:1;transition:opacity .12s,transform .12s;position:fixed;transform:translate(-50%,-100%)translateY(2px)}.bridgerte__toolbar-tooltip[data-visible=true]{opacity:1;transform:translate(-50%,-100%)translateY(0)}.bridgerte__panel,.bridgerte__floating-menu{border:1px solid var(--bridgerte-color-border);border-radius:var(--bridgerte-radius);color:var(--bridgerte-color-text);background:var(--bridgerte-color-panel);box-shadow:var(--bridgerte-shadow-panel)}.bridgerte__floating-menu{z-index:calc(var(--bridgerte-z-index-toolbar) + 1);min-width:180px;padding:6px}.bridgerte__menu-item{border-radius:var(--bridgerte-radius);width:100%;min-height:34px;color:var(--bridgerte-color-text);font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-items:center;gap:8px;padding:0 8px;display:flex}.bridgerte__menu-item:focus-visible{color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg);outline:none}.bridgerte__menu-item[data-active=true]{color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg)}.bridgerte__menu-item:disabled,.bridgerte__menu-item[aria-disabled=true]{color:var(--bridgerte-color-disabled);cursor:not-allowed}.bridgerte__menu-icon-text{text-overflow:ellipsis;white-space:nowrap;flex:none;display:inline-block;overflow:hidden}.bridgerte__slash-command-menu{overscroll-behavior:contain;scrollbar-width:thin;touch-action:pan-y;-webkit-overflow-scrolling:touch;gap:2px;width:min(120px,100vw - 24px);min-width:0;max-height:min(232px,100vh - 24px);padding:4px;display:grid;overflow-y:auto}.bridgerte__slash-command-menu[hidden]{display:none}.bridgerte__slash-command-anchor{pointer-events:none;width:1px;position:fixed}.bridgerte__slash-command-item{text-align:left;flex-direction:row;justify-content:flex-start;align-items:center;gap:4px;min-height:30px;padding:0 8px}.bridgerte__slash-command-item-icon{width:18px;height:18px;color:var(--bridgerte-color-text-muted);flex:none;place-items:center;display:inline-grid}.bridgerte__slash-command-item-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:700;line-height:1.2;overflow:hidden}.bridgerte__slash-command-item-description{color:var(--bridgerte-color-text-muted);font-size:12px;line-height:1.2;display:none}.bridgerte__slash-command-status{color:var(--bridgerte-color-text-muted);text-align:center;padding:8px;font-size:13px;line-height:1.3}.bridgerte__mention{border-radius:calc(var(--bridgerte-radius) - 2px);max-width:100%;color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg);white-space:nowrap;align-items:center;padding:0 3px;display:inline-flex}.bridgerte__mention-menu{overscroll-behavior:contain;scrollbar-width:thin;touch-action:pan-y;-webkit-overflow-scrolling:touch;gap:2px;width:min(120px,100vw - 24px);min-width:0;max-height:min(232px,100vh - 24px);padding:4px;display:grid;overflow-y:auto}.bridgerte__mention-menu[hidden]{display:none}.bridgerte__mention-anchor{pointer-events:none;width:1px;position:fixed}.bridgerte__mention-item{text-align:left;flex-direction:row;justify-content:flex-start;align-items:center;gap:4px;min-height:30px;padding:0 8px}.bridgerte__mention-item-avatar,.bridgerte__mention-item-icon{border-radius:50%;flex:none;width:18px;height:18px}.bridgerte__mention-item-avatar{object-fit:cover;background:var(--bridgerte-color-active-bg)}.bridgerte__mention-item-icon{color:var(--bridgerte-color-text-muted);background:var(--bridgerte-color-active-bg);place-items:center;font-size:12px;line-height:1;display:inline-grid}.bridgerte__mention-item-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:700;line-height:1.2;overflow:hidden}.bridgerte__mention-item-description{color:var(--bridgerte-color-text-muted);font-size:12px;line-height:1.2;display:none}.bridgerte__mention-status{color:var(--bridgerte-color-text-muted);text-align:center;padding:8px;font-size:13px;line-height:1.3}.bridgerte__hoverbar{gap:2px;width:max-content;min-width:0;max-width:calc(100vw - 24px);padding:4px;display:flex}.bridgerte__hoverbar[hidden]{display:none}.bridgerte__hoverbar-anchor{pointer-events:none;position:fixed}.bridgerte__hoverbar-separator{width:1px;height:var(--bridgerte-hoverbar-button-size);background:var(--bridgerte-color-border);margin:0 2px}.bridgerte__hoverbar-button{width:var(--bridgerte-hoverbar-button-size);min-width:var(--bridgerte-hoverbar-button-size);height:var(--bridgerte-hoverbar-button-size);border-radius:calc(var(--bridgerte-radius) - 2px);color:var(--bridgerte-color-text-muted);font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;line-height:1;display:inline-flex;overflow:hidden}.bridgerte__hoverbar-button[data-active=true]{color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg)}.bridgerte__hoverbar-button:disabled{color:var(--bridgerte-color-disabled);cursor:not-allowed}.bridgerte__hoverbar-button:focus-visible{box-shadow:0 0 0 2px var(--bridgerte-color-active-bg);outline:none}.bridgerte__hoverbar-button>svg,.bridgerte__hoverbar-button>.bridgerte__menu-icon-text{width:calc(var(--bridgerte-hoverbar-button-size) - 12px);height:calc(var(--bridgerte-hoverbar-button-size) - 12px);flex:none}.bridgerte__dialog-backdrop{z-index:var(--bridgerte-z-index-toolbar);opacity:0;pointer-events:none;background:0 0;position:fixed;top:0;right:0;bottom:0;left:0}.bridgerte__dialog-backdrop[data-visible=true]{opacity:1;pointer-events:auto}.bridgerte__dialog{z-index:calc(var(--bridgerte-z-index-toolbar) + 2);width:min(220px,100vw - 24px);max-height:calc(var(--bridgerte-dialog-visible-height,100vh) - 32px);opacity:0;border:1px solid var(--bridgerte-color-border);border-radius:var(--bridgerte-radius);color:var(--bridgerte-color-text);background:var(--bridgerte-color-panel);box-shadow:var(--bridgerte-shadow-panel);font:inherit;pointer-events:none;transition:opacity .12s,transform .12s;display:grid;position:fixed;top:0;left:0;transform:translateY(-4px)scale(.98)}.bridgerte__dialog[data-visible=true]{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.bridgerte__code-block-menu{width:min(var(--bridgerte-dialog-anchor-width),calc(100vw - 24px));max-height:min(360px,calc(var(--bridgerte-dialog-visible-height,100vh) - 32px));border-color:var(--bridgerte-color-border);background:var(--bridgerte-color-panel);box-shadow:var(--bridgerte-shadow-popup)}.bridgerte__code-block-menu .bridgerte__dialog-content{min-height:0;max-height:inherit;overflow:hidden}.bridgerte__code-block-menu-list{max-height:min(340px,calc(var(--bridgerte-dialog-visible-height,100vh) - 48px));overscroll-behavior:contain;scrollbar-width:thin;touch-action:pan-y;-webkit-overflow-scrolling:touch;gap:2px;padding:8px;display:grid;overflow-y:auto}.bridgerte__code-block-menu-item{min-height:var(--bridgerte-payload-panel-field-height);border-radius:calc(var(--bridgerte-radius) - 2px);padding:0 12px}.bridgerte__payload-panel{padding:6px}.bridgerte__payload-panel-title{min-height:var(--bridgerte-payload-panel-title-height);color:var(--bridgerte-color-text);justify-content:space-between;align-items:center;gap:8px;padding:2px 4px 6px;font-size:13px;font-weight:700;line-height:1.2;display:flex}.bridgerte__payload-panel-clear{color:var(--bridgerte-color-text-muted);font:inherit;text-align:right;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex:none;padding:0;font-size:12px;font-weight:600;line-height:1}.bridgerte__payload-panel-clear:focus-visible{color:var(--bridgerte-color-primary);text-underline-offset:.18em;outline:none;text-decoration:underline}.bridgerte__payload-panel-field{gap:7px;display:grid}.bridgerte__payload-panel-option-list{gap:2px;display:grid}.bridgerte__payload-panel-color-picker{width:calc(var(--bridgerte-payload-panel-color-wheel-size) + var(--bridgerte-payload-panel-color-swatch-width) * 2 + 20px);justify-self:center;place-items:center;max-width:100%;display:grid;position:relative}.bridgerte__payload-panel-color-wheel{width:var(--bridgerte-payload-panel-color-wheel-size);aspect-ratio:1;border:1px solid var(--bridgerte-color-border);background:radial-gradient(circle,var(--bridgerte-color-bg) 0%,transparent 68%),conic-gradient(from 90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);cursor:crosshair;touch-action:none;border-radius:999px;position:relative}.bridgerte__payload-panel-color-wheel:focus-visible{box-shadow:0 0 0 3px var(--bridgerte-color-active-bg);outline:none}.bridgerte__payload-panel-color-wheel-handle{width:var(--bridgerte-payload-panel-color-handle-size);height:var(--bridgerte-payload-panel-color-handle-size);border:2px solid var(--bridgerte-color-bg);box-shadow:0 0 0 1px var(--bridgerte-color-border),var(--bridgerte-shadow-panel);opacity:0;pointer-events:none;border-radius:999px;position:absolute;transform:translate(-50%,-50%)}.bridgerte__payload-panel-color-wheel[data-active=true] .bridgerte__payload-panel-color-wheel-handle{opacity:1}.bridgerte__payload-panel-color-preview{border:1px solid var(--bridgerte-color-border);border-radius:calc(var(--bridgerte-radius) - 2px);min-height:24px;box-shadow:inset 0 0 0 1px var(--bridgerte-color-panel)}.bridgerte__payload-panel-color-preview[data-empty=true]{background:linear-gradient(45deg,transparent 45%,var(--bridgerte-color-border) 45%,var(--bridgerte-color-border) 55%,transparent 55%),linear-gradient(-45deg,transparent 45%,var(--bridgerte-color-border) 45%,var(--bridgerte-color-border) 55%,transparent 55%),var(--bridgerte-color-bg);background-position:50%;background-size:12px 12px}.bridgerte__payload-panel-color-actions{align-items:center;gap:6px;display:flex}.bridgerte__payload-panel-color-actions[data-layout=sides]{pointer-events:none;justify-content:space-between;position:absolute;top:0;right:0;bottom:0;left:0}.bridgerte__payload-panel-color-actions[data-layout=grid]{flex-wrap:wrap;justify-content:center;margin-top:6px}.bridgerte__payload-panel-color-swatch{width:var(--bridgerte-payload-panel-color-swatch-width);height:var(--bridgerte-payload-panel-color-swatch-height);border:1px solid var(--bridgerte-color-border);border-radius:calc(var(--bridgerte-radius) - 2px);background:var(--bridgerte-color-bg);box-shadow:inset 0 0 0 1px var(--bridgerte-color-panel);cursor:pointer;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent;padding:0}.bridgerte__payload-panel-color-swatch:focus-visible{border-color:var(--bridgerte-color-primary);box-shadow:inset 0 0 0 1px var(--bridgerte-color-bg),0 0 0 2px var(--bridgerte-color-active-bg);outline:none}.bridgerte__payload-panel-text-field{color:var(--bridgerte-color-text-muted);gap:5px;font-size:12px;font-weight:600;line-height:1.2;display:grid}.bridgerte__payload-panel-text-input{width:100%;min-height:var(--bridgerte-payload-panel-field-height);border:1px solid var(--bridgerte-color-border);border-radius:calc(var(--bridgerte-radius) - 2px);color:var(--bridgerte-color-text);background:var(--bridgerte-color-bg);font:inherit;-webkit-tap-highlight-color:transparent;padding:0 10px;font-size:13px}.bridgerte__payload-panel-text-input:focus-visible{border-color:var(--bridgerte-color-active-bg);box-shadow:0 0 0 2px var(--bridgerte-color-active-bg);outline:none}.bridgerte__payload-panel-table-grid{grid-template-columns:repeat(var(--bridgerte-payload-panel-table-cols),var(--bridgerte-payload-panel-table-cell-size));touch-action:none;-webkit-tap-highlight-color:transparent;justify-content:center;gap:2px;max-width:100%;padding:2px;display:grid}.bridgerte__payload-panel-table-cell{width:var(--bridgerte-payload-panel-table-cell-size);height:var(--bridgerte-payload-panel-table-cell-size);border:1px solid var(--bridgerte-color-border);border-radius:calc(var(--bridgerte-radius) - 4px);background:var(--bridgerte-color-bg);cursor:pointer;-webkit-tap-highlight-color:transparent;padding:0}.bridgerte__payload-panel-table-cell[data-active=true]{border-color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg)}.bridgerte__payload-panel-table-cell:focus-visible{border-color:var(--bridgerte-color-primary);box-shadow:0 0 0 2px var(--bridgerte-color-active-bg);outline:none}.bridgerte__payload-panel-table-status{min-height:18px;color:var(--bridgerte-color-text-muted);text-align:center;font-size:12px;font-weight:600;line-height:1.5}.bridgerte__payload-panel-submit{min-height:var(--bridgerte-payload-panel-field-height);border:1px solid var(--bridgerte-color-border);border-radius:calc(var(--bridgerte-radius) - 2px);color:var(--bridgerte-color-bg);background:var(--bridgerte-color-primary);font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;padding:0 10px;font-size:13px;font-weight:700}.bridgerte__payload-panel-submit:focus-visible{box-shadow:0 0 0 2px var(--bridgerte-color-active-bg);outline:none}.bridgerte__payload-panel-option{min-height:var(--bridgerte-payload-panel-option-height);border-radius:calc(var(--bridgerte-radius) - 2px);color:var(--bridgerte-color-text);font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-items:center;padding:0 7px;display:flex}.bridgerte__payload-panel-option[data-active=true]{color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg)}.bridgerte__payload-panel-option:focus-visible{color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg);box-shadow:0 0 0 2px var(--bridgerte-color-active-bg);outline:none}@media(hover:hover)and (pointer:fine){.bridgerte__toolbar-button:hover{border-color:var(--bridgerte-color-active-bg);color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg)}.bridgerte__code-block-control-button:hover,.bridgerte__code-block-menu-item:hover,.bridgerte__media-controls-button:hover,.bridgerte__table-controls-button:hover,.bridgerte__hoverbar-button:hover,.bridgerte__payload-panel-option:hover,.bridgerte__mention-item:hover,.bridgerte__slash-command-item:hover,.bridgerte__menu-item:hover{color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg)}.bridgerte__payload-panel-clear:hover{color:var(--bridgerte-color-primary)}.bridgerte__payload-panel-color-wheel:hover{box-shadow:0 0 0 3px var(--bridgerte-color-active-bg)}.bridgerte__payload-panel-table-cell:hover{border-color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg)}.bridgerte__payload-panel-color-swatch:hover{border-color:var(--bridgerte-color-primary);box-shadow:inset 0 0 0 1px var(--bridgerte-color-bg),0 0 0 2px var(--bridgerte-color-active-bg)}.bridgerte__payload-panel-submit:hover{border-color:var(--bridgerte-color-primary);box-shadow:0 0 0 2px var(--bridgerte-color-active-bg)}}@media(hover:none),(pointer:coarse){.bridgerte__toolbar-button:active,.bridgerte__toolbar-button[data-pressed=true]{border-color:var(--bridgerte-color-active-bg);color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg)}.bridgerte__code-block-control-button:active,.bridgerte__code-block-control-button[data-pressed=true],.bridgerte__code-block-menu-item:active,.bridgerte__code-block-menu-item[data-pressed=true],.bridgerte__media-controls-button:active,.bridgerte__media-controls-button[data-pressed=true],.bridgerte__table-controls-button:active,.bridgerte__table-controls-button[data-pressed=true],.bridgerte__hoverbar-button:active,.bridgerte__hoverbar-button[data-pressed=true],.bridgerte__payload-panel-option:active,.bridgerte__payload-panel-option[data-pressed=true],.bridgerte__mention-item:active,.bridgerte__mention-item[data-pressed=true],.bridgerte__slash-command-item:active,.bridgerte__slash-command-item[data-pressed=true],.bridgerte__menu-item[data-pressed=true],.bridgerte__menu-item:active{color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg)}.bridgerte__payload-panel-clear:active,.bridgerte__payload-panel-clear[data-pressed=true]{color:var(--bridgerte-color-primary)}.bridgerte__payload-panel-color-wheel:active,.bridgerte__payload-panel-color-wheel[data-pressed=true]{box-shadow:0 0 0 3px var(--bridgerte-color-active-bg)}.bridgerte__payload-panel-table-cell:active,.bridgerte__payload-panel-table-cell[data-pressed=true]{border-color:var(--bridgerte-color-primary);background:var(--bridgerte-color-active-bg)}.bridgerte__payload-panel-color-swatch:active,.bridgerte__payload-panel-color-swatch[data-pressed=true]{border-color:var(--bridgerte-color-primary);box-shadow:inset 0 0 0 1px var(--bridgerte-color-bg),0 0 0 2px var(--bridgerte-color-active-bg)}.bridgerte__payload-panel-submit:active,.bridgerte__payload-panel-submit[data-pressed=true]{border-color:var(--bridgerte-color-primary);box-shadow:0 0 0 2px var(--bridgerte-color-active-bg)}}@media(max-width:760px){.bridgerte{min-height:220px}.bridgerte__toolbar-button{min-width:38px;height:38px}}
package/dist/webview.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-DL8eNafR.cjs");exports.createWebViewBridgeRuntime=e.createWebViewBridgeRuntime;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-CQx3NGKY.cjs");exports.createWebViewBridgeRuntime=e.createWebViewBridgeRuntime;
2
2
  //# sourceMappingURL=webview.cjs.map
package/dist/webview.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
  /**
@@ -972,6 +1092,53 @@ export type PayloadPanelRequestPayload = PayloadPanelOpenRequest & {
972
1092
  id: string;
973
1093
  readonly: boolean;
974
1094
  };
1095
+ export type MenuRequestKind = 'hoverbar' | 'mediaControls' | 'tableControls';
1096
+ export type BaseMenuRequestPayload = {
1097
+ id: string;
1098
+ kind: MenuRequestKind;
1099
+ items: MenuControlDisplayItem[];
1100
+ readonly: boolean;
1101
+ anchorRect?: PayloadPanelOpenRequest['anchorRect'];
1102
+ };
1103
+ export type HoverbarMenuRequestPayload = BaseMenuRequestPayload & {
1104
+ kind: 'hoverbar';
1105
+ commandStates: HoverbarMenuRequest['commandStates'];
1106
+ };
1107
+ export type MediaControlsRequestPayload = BaseMenuRequestPayload & {
1108
+ kind: 'mediaControls';
1109
+ assetId: string;
1110
+ mediaType: MediaControlsRequest['mediaType'];
1111
+ status: string;
1112
+ displayWidthPercent: MediaControlsRequest['displayWidthPercent'];
1113
+ align: MediaControlsRequest['align'];
1114
+ /** 媒体资源 URL,可用于原生侧预览、下载或分享。 */
1115
+ url?: string;
1116
+ title?: string;
1117
+ alt?: string;
1118
+ poster?: string;
1119
+ width?: number;
1120
+ height?: number;
1121
+ duration?: number;
1122
+ mimeType?: string;
1123
+ size?: number;
1124
+ };
1125
+ export type TableControlsRequestPayload = BaseMenuRequestPayload & {
1126
+ kind: 'tableControls';
1127
+ };
1128
+ /**
1129
+ * 编辑器请求原生侧自绘的菜单。
1130
+ *
1131
+ * payload 不携带 submit/cancel 函数;RN/Flutter 通过 editor.menuResolved 或
1132
+ * editor.menuCanceled 把结果回传给 WebView runtime。
1133
+ */
1134
+ export type MenuRequestPayload = HoverbarMenuRequestPayload | MediaControlsRequestPayload | TableControlsRequestPayload;
1135
+ export type MenuResolvedPayload = {
1136
+ requestId: string;
1137
+ menuItemId: string;
1138
+ };
1139
+ export type MenuCanceledPayload = {
1140
+ requestId: string;
1141
+ };
975
1142
  /**
976
1143
  * 编辑器 ready 后回传给原生侧的初始化结果。
977
1144
  */
@@ -1012,6 +1179,14 @@ export type NativeToEditorMessage = {
1012
1179
  id: string;
1013
1180
  type: 'editor.payloadPanelCanceled';
1014
1181
  payload: PayloadPanelCanceledPayload;
1182
+ } | {
1183
+ id: string;
1184
+ type: 'editor.menuResolved';
1185
+ payload: MenuResolvedPayload;
1186
+ } | {
1187
+ id: string;
1188
+ type: 'editor.menuCanceled';
1189
+ payload: MenuCanceledPayload;
1015
1190
  } | {
1016
1191
  id: string;
1017
1192
  type: 'editor.uploadResolved';
@@ -1048,6 +1223,14 @@ export type EditorToNativeMessage = {
1048
1223
  id?: string;
1049
1224
  type: 'editor.payloadPanelRequest';
1050
1225
  payload: PayloadPanelRequestPayload;
1226
+ } | {
1227
+ id?: string;
1228
+ type: 'editor.menuRequest';
1229
+ payload: MenuRequestPayload;
1230
+ } | {
1231
+ id?: string;
1232
+ type: 'editor.menuCanceled';
1233
+ payload: MenuCanceledPayload;
1051
1234
  } | {
1052
1235
  id?: string;
1053
1236
  type: 'editor.uploadRequest';
@@ -1126,6 +1309,10 @@ export type PendingNativeUpload = {
1126
1309
  export type PendingNativePayloadPanelRequest = {
1127
1310
  request: PayloadPanelRequest;
1128
1311
  };
1312
+ export type PendingNativeMenuRequest = {
1313
+ request: HoverbarMenuRequest | MediaControlsRequest | TableControlsRequest;
1314
+ unsubscribeDismiss: () => void;
1315
+ };
1129
1316
  /**
1130
1317
  * 原生上传完成消息。
1131
1318
  *
package/dist/webview.js CHANGED
@@ -1,4 +1,4 @@
1
- import { b as i } from "./index-BiehJaHJ.js";
1
+ import { b as i } from "./index-CCAOnvex.js";
2
2
  export {
3
3
  i as createWebViewBridgeRuntime
4
4
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bridgerte",
3
- "version": "0.9.22",
3
+ "version": "0.9.24",
4
4
  "description": "Cross-platform rich text editor with WebView bridge support.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -54,7 +54,7 @@
54
54
  "dependencies": {
55
55
  "@floating-ui/dom": "^1.7.0",
56
56
  "@lexical/code": "^0.45.0",
57
- "@lexical/code-shiki": "0.45.0",
57
+ "@lexical/code-core": "0.45.0",
58
58
  "@lexical/history": "^0.45.0",
59
59
  "@lexical/html": "^0.45.0",
60
60
  "@lexical/link": "^0.45.0",
@@ -63,7 +63,11 @@
63
63
  "@lexical/selection": "^0.45.0",
64
64
  "@lexical/table": "^0.45.0",
65
65
  "@lexical/utils": "^0.45.0",
66
- "lexical": "^0.45.0"
66
+ "@shikijs/core": "4.2.0",
67
+ "@shikijs/engine-javascript": "4.2.0",
68
+ "@shikijs/types": "4.2.0",
69
+ "lexical": "^0.45.0",
70
+ "shiki": "4.2.0"
67
71
  },
68
72
  "keywords": [
69
73
  "rich-text-editor",