bridgerte 0.9.29 → 0.9.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{cpp-BlAh3S4C.js → cpp-BHnz_y9s.js} +22 -15
- package/dist/assets/cpp-BHnz_y9s.js.map +1 -0
- package/dist/assets/{shikiTokenizerWorker-BtjW_v9G.js → shikiTokenizerWorker-PeHJ-0Vz.js} +2603 -4160
- package/dist/assets/shikiTokenizerWorker-PeHJ-0Vz.js.map +1 -0
- package/dist/assets/{vue-DQvlk87_.js → vue-CCSeORDT.js} +31 -27
- package/dist/assets/vue-CCSeORDT.js.map +1 -0
- package/dist/c-CtlmKnPF.cjs +2 -0
- package/dist/c-CtlmKnPF.cjs.map +1 -0
- package/dist/c-eeMepfLm.js +7 -0
- package/dist/c-eeMepfLm.js.map +1 -0
- package/dist/cpp-Bj430S7D.js +23 -0
- package/dist/cpp-Bj430S7D.js.map +1 -0
- package/dist/cpp-CsqzN-Tn.cjs +2 -0
- package/dist/cpp-CsqzN-Tn.cjs.map +1 -0
- package/dist/csharp-B0NQ9EuF.js +7 -0
- package/dist/csharp-B0NQ9EuF.js.map +1 -0
- package/dist/csharp-B_edmmy1.cjs +2 -0
- package/dist/csharp-B_edmmy1.cjs.map +1 -0
- package/dist/css-D2AWYU5W.cjs +2 -0
- package/dist/css-D2AWYU5W.cjs.map +1 -0
- package/dist/css-M7EaDHN_.js +7 -0
- package/dist/css-M7EaDHN_.js.map +1 -0
- package/dist/dart-BoQ-8O4a.js +7 -0
- package/dist/dart-BoQ-8O4a.js.map +1 -0
- package/dist/dart-Csp3JkUK.cjs +2 -0
- package/dist/dart-Csp3JkUK.cjs.map +1 -0
- package/dist/docker-CsHqm9tx.js +7 -0
- package/dist/docker-CsHqm9tx.js.map +1 -0
- package/dist/docker-zJpMwmYa.cjs +2 -0
- package/dist/docker-zJpMwmYa.cjs.map +1 -0
- package/dist/dom.cjs +1 -1
- package/dist/dom.js +2 -2
- package/dist/go-COwv3Jul.cjs +2 -0
- package/dist/go-COwv3Jul.cjs.map +1 -0
- package/dist/go-EbF93JXO.js +7 -0
- package/dist/go-EbF93JXO.js.map +1 -0
- package/dist/html-CPZ3oZQ7.js +11 -0
- package/dist/html-CPZ3oZQ7.js.map +1 -0
- package/dist/html-Dn396zfL.cjs +2 -0
- package/dist/html-Dn396zfL.cjs.map +1 -0
- package/dist/{index-Rj8iV2BH.cjs → index-B1pp2R7F.cjs} +2 -2
- package/dist/{index-Rj8iV2BH.cjs.map → index-B1pp2R7F.cjs.map} +1 -1
- package/dist/{index-DOVOERtQ.js → index-DE0qNycz.js} +2 -2
- package/dist/{index-DOVOERtQ.js.map → index-DE0qNycz.js.map} +1 -1
- package/dist/{index-DtWjQeyt.js → index-DyLgAD7O.js} +2352 -2320
- package/dist/index-DyLgAD7O.js.map +1 -0
- package/dist/index-ELzKORto.cjs +7 -0
- package/dist/index-ELzKORto.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +2 -2
- package/dist/java--6gf61wy.cjs +2 -0
- package/dist/java--6gf61wy.cjs.map +1 -0
- package/dist/java-DY6VlHhP.js +7 -0
- package/dist/java-DY6VlHhP.js.map +1 -0
- package/dist/javascript-C25yR2R2.js +7 -0
- package/dist/javascript-C25yR2R2.js.map +1 -0
- package/dist/javascript-DgmXW4Ha.cjs +2 -0
- package/dist/javascript-DgmXW4Ha.cjs.map +1 -0
- package/dist/json-DxJze_jm.js +7 -0
- package/dist/json-DxJze_jm.js.map +1 -0
- package/dist/json-YkPizm35.cjs +2 -0
- package/dist/json-YkPizm35.cjs.map +1 -0
- package/dist/kotlin-BHZjvNqT.cjs +2 -0
- package/dist/kotlin-BHZjvNqT.cjs.map +1 -0
- package/dist/kotlin-ByBMgTeR.js +7 -0
- package/dist/kotlin-ByBMgTeR.js.map +1 -0
- package/dist/markdown-Byu9Sdmq.cjs +2 -0
- package/dist/markdown-Byu9Sdmq.cjs.map +1 -0
- package/dist/markdown-CrScaQ96.js +7 -0
- package/dist/markdown-CrScaQ96.js.map +1 -0
- package/dist/one-light-Cwg0lqft.cjs +2 -0
- package/dist/one-light-Cwg0lqft.cjs.map +1 -0
- package/dist/one-light-LkMrt1Cf.js +5 -0
- package/dist/one-light-LkMrt1Cf.js.map +1 -0
- package/dist/php-CXJ-LXzY.cjs +2 -0
- package/dist/php-CXJ-LXzY.cjs.map +1 -0
- package/dist/php-YoD6t12T.js +19 -0
- package/dist/php-YoD6t12T.js.map +1 -0
- package/dist/python-BFNSHbwJ.js +7 -0
- package/dist/python-BFNSHbwJ.js.map +1 -0
- package/dist/python-s9jfVbew.cjs +2 -0
- package/dist/python-s9jfVbew.cjs.map +1 -0
- package/dist/rust-CLzF9zIN.js +7 -0
- package/dist/rust-CLzF9zIN.js.map +1 -0
- package/dist/rust-CNeTMPbB.cjs +2 -0
- package/dist/rust-CNeTMPbB.cjs.map +1 -0
- package/dist/shellscript-DYWjN7qW.cjs +2 -0
- package/dist/shellscript-DYWjN7qW.cjs.map +1 -0
- package/dist/shellscript-InADTalH.js +7 -0
- package/dist/shellscript-InADTalH.js.map +1 -0
- package/dist/shikiTokenizerRuntime.cjs +2 -2
- package/dist/shikiTokenizerRuntime.cjs.map +1 -1
- package/dist/shikiTokenizerRuntime.js +171 -54
- package/dist/shikiTokenizerRuntime.js.map +1 -1
- package/dist/sql-CQiJ3SBB.cjs +2 -0
- package/dist/sql-CQiJ3SBB.cjs.map +1 -0
- package/dist/sql-x0HR1zJW.js +7 -0
- package/dist/sql-x0HR1zJW.js.map +1 -0
- package/dist/swift-CNlVGu8A.cjs +2 -0
- package/dist/swift-CNlVGu8A.cjs.map +1 -0
- package/dist/swift-DJpUqPLg.js +7 -0
- package/dist/swift-DJpUqPLg.js.map +1 -0
- package/dist/toml-DY62mUL_.js +7 -0
- package/dist/toml-DY62mUL_.js.map +1 -0
- package/dist/toml-Q64DoSvG.cjs +2 -0
- package/dist/toml-Q64DoSvG.cjs.map +1 -0
- package/dist/tsx-B8rCNbgL.js +7 -0
- package/dist/tsx-B8rCNbgL.js.map +1 -0
- package/dist/tsx-DIpfUf9u.cjs +2 -0
- package/dist/tsx-DIpfUf9u.cjs.map +1 -0
- package/dist/typescript-RycA9KXf.js +7 -0
- package/dist/typescript-RycA9KXf.js.map +1 -0
- package/dist/typescript-b48wo4zk.cjs +2 -0
- package/dist/typescript-b48wo4zk.cjs.map +1 -0
- package/dist/vue-BmIZj4XD.js +34 -0
- package/dist/vue-BmIZj4XD.js.map +1 -0
- package/dist/vue-Df_c8kFf.cjs +2 -0
- package/dist/vue-Df_c8kFf.cjs.map +1 -0
- package/dist/webview.cjs +1 -1
- package/dist/webview.js +1 -1
- package/dist/xml-BpsKWkuV.cjs +2 -0
- package/dist/xml-BpsKWkuV.cjs.map +1 -0
- package/dist/xml-C2J0sS9M.js +9 -0
- package/dist/xml-C2J0sS9M.js.map +1 -0
- package/dist/yaml-DaO7k5B1.js +7 -0
- package/dist/yaml-DaO7k5B1.js.map +1 -0
- package/dist/yaml-XVBmpKh-.cjs +2 -0
- package/dist/yaml-XVBmpKh-.cjs.map +1 -0
- package/package.json +1 -1
- package/dist/assets/abap-5JJ_uXwM.js +0 -8
- package/dist/assets/abap-5JJ_uXwM.js.map +0 -1
- package/dist/assets/actionscript-3-DE1C41bY.js +0 -8
- package/dist/assets/actionscript-3-DE1C41bY.js.map +0 -1
- package/dist/assets/ada-BG05PpOB.js +0 -8
- package/dist/assets/ada-BG05PpOB.js.map +0 -1
- package/dist/assets/andromeeda-BY_rNuBQ.js +0 -5
- package/dist/assets/andromeeda-BY_rNuBQ.js.map +0 -1
- package/dist/assets/angular-html-aal4wZP4.js +0 -42
- package/dist/assets/angular-html-aal4wZP4.js.map +0 -1
- package/dist/assets/angular-ts-DAE48Xv3.js +0 -30
- package/dist/assets/angular-ts-DAE48Xv3.js.map +0 -1
- package/dist/assets/apache-D7jlTOw0.js +0 -8
- package/dist/assets/apache-D7jlTOw0.js.map +0 -1
- package/dist/assets/apex-B5cHO7Zb.js +0 -8
- package/dist/assets/apex-B5cHO7Zb.js.map +0 -1
- package/dist/assets/apl-KqhKRlqN.js +0 -19
- package/dist/assets/apl-KqhKRlqN.js.map +0 -1
- package/dist/assets/applescript-guFn5j4s.js +0 -8
- package/dist/assets/applescript-guFn5j4s.js.map +0 -1
- package/dist/assets/ara-D87wAYhe.js +0 -8
- package/dist/assets/ara-D87wAYhe.js.map +0 -1
- package/dist/assets/asciidoc-DHU272__.js +0 -8
- package/dist/assets/asciidoc-DHU272__.js.map +0 -1
- package/dist/assets/asm-BIl1E4lX.js +0 -8
- package/dist/assets/asm-BIl1E4lX.js.map +0 -1
- package/dist/assets/astro-CoyRAbIC.js +0 -20
- package/dist/assets/astro-CoyRAbIC.js.map +0 -1
- package/dist/assets/aurora-x-C6DmnWDt.js +0 -5
- package/dist/assets/aurora-x-C6DmnWDt.js.map +0 -1
- package/dist/assets/awk-x1P7Yy6J.js +0 -8
- package/dist/assets/awk-x1P7Yy6J.js.map +0 -1
- package/dist/assets/ayu-dark-DwU3UN-n.js +0 -5
- package/dist/assets/ayu-dark-DwU3UN-n.js.map +0 -1
- package/dist/assets/ayu-light-BeSY2ZJx.js +0 -5
- package/dist/assets/ayu-light-BeSY2ZJx.js.map +0 -1
- package/dist/assets/ayu-mirage-EiPwM0mG.js +0 -5
- package/dist/assets/ayu-mirage-EiPwM0mG.js.map +0 -1
- package/dist/assets/ballerina-D1k6pTDA.js +0 -8
- package/dist/assets/ballerina-D1k6pTDA.js.map +0 -1
- package/dist/assets/bat-CKn1WSW3.js +0 -8
- package/dist/assets/bat-CKn1WSW3.js.map +0 -1
- package/dist/assets/beancount-1v_PY4BB.js +0 -8
- package/dist/assets/beancount-1v_PY4BB.js.map +0 -1
- package/dist/assets/berry-ChXc1sMd.js +0 -8
- package/dist/assets/berry-ChXc1sMd.js.map +0 -1
- package/dist/assets/bibtex-YjwILF7F.js +0 -8
- package/dist/assets/bibtex-YjwILF7F.js.map +0 -1
- package/dist/assets/bicep-C0D_R8_K.js +0 -8
- package/dist/assets/bicep-C0D_R8_K.js.map +0 -1
- package/dist/assets/bird2-DDRneDX_.js +0 -8
- package/dist/assets/bird2-DDRneDX_.js.map +0 -1
- package/dist/assets/blade-FnIjT1E3.js +0 -23
- package/dist/assets/blade-FnIjT1E3.js.map +0 -1
- package/dist/assets/bsl-DJzmyrer.js +0 -10
- package/dist/assets/bsl-DJzmyrer.js.map +0 -1
- package/dist/assets/c3-ifVI-lyl.js +0 -8
- package/dist/assets/c3-ifVI-lyl.js.map +0 -1
- package/dist/assets/cadence-4_3YDhNk.js +0 -8
- package/dist/assets/cadence-4_3YDhNk.js.map +0 -1
- package/dist/assets/cairo-CckC4pbv.js +0 -10
- package/dist/assets/cairo-CckC4pbv.js.map +0 -1
- package/dist/assets/catppuccin-frappe-B5VVdV_e.js +0 -5
- package/dist/assets/catppuccin-frappe-B5VVdV_e.js.map +0 -1
- package/dist/assets/catppuccin-latte-D8pvGdu1.js +0 -5
- package/dist/assets/catppuccin-latte-D8pvGdu1.js.map +0 -1
- package/dist/assets/catppuccin-macchiato-HRcjrIrY.js +0 -5
- package/dist/assets/catppuccin-macchiato-HRcjrIrY.js.map +0 -1
- package/dist/assets/catppuccin-mocha-CIwIEnSB.js +0 -5
- package/dist/assets/catppuccin-mocha-CIwIEnSB.js.map +0 -1
- package/dist/assets/clarity-LYkNoMZG.js +0 -8
- package/dist/assets/clarity-LYkNoMZG.js.map +0 -1
- package/dist/assets/clojure-BKPgNuET.js +0 -8
- package/dist/assets/clojure-BKPgNuET.js.map +0 -1
- package/dist/assets/cmake-DKfc4EHO.js +0 -8
- package/dist/assets/cmake-DKfc4EHO.js.map +0 -1
- package/dist/assets/cobol-BitaBRgT.js +0 -14
- package/dist/assets/cobol-BitaBRgT.js.map +0 -1
- package/dist/assets/codeowners-CGzOUqRt.js +0 -8
- package/dist/assets/codeowners-CGzOUqRt.js.map +0 -1
- package/dist/assets/codeql-CB2tU2yr.js +0 -8
- package/dist/assets/codeql-CB2tU2yr.js.map +0 -1
- package/dist/assets/coffee-CZwg37T3.js +0 -10
- package/dist/assets/coffee-CZwg37T3.js.map +0 -1
- package/dist/assets/common-lisp-Dpa6SDDF.js +0 -8
- package/dist/assets/common-lisp-Dpa6SDDF.js.map +0 -1
- package/dist/assets/coq-BcttDLdJ.js +0 -8
- package/dist/assets/coq-BcttDLdJ.js.map +0 -1
- package/dist/assets/cpp-BlAh3S4C.js.map +0 -1
- package/dist/assets/crystal-Bs9TFo_P.js +0 -20
- package/dist/assets/crystal-Bs9TFo_P.js.map +0 -1
- package/dist/assets/csv-DH-1IWvI.js +0 -8
- package/dist/assets/csv-DH-1IWvI.js.map +0 -1
- package/dist/assets/cue-HSbRnhKw.js +0 -8
- package/dist/assets/cue-HSbRnhKw.js.map +0 -1
- package/dist/assets/cypher-DoZ7GUDp.js +0 -8
- package/dist/assets/cypher-DoZ7GUDp.js.map +0 -1
- package/dist/assets/d-CeeVpqRv.js +0 -8
- package/dist/assets/d-CeeVpqRv.js.map +0 -1
- package/dist/assets/dark-plus-BZtx1JS2.js +0 -5
- package/dist/assets/dark-plus-BZtx1JS2.js.map +0 -1
- package/dist/assets/dax-B2DK8VnI.js +0 -8
- package/dist/assets/dax-B2DK8VnI.js.map +0 -1
- package/dist/assets/desktop-C_92N0gp.js +0 -8
- package/dist/assets/desktop-C_92N0gp.js.map +0 -1
- package/dist/assets/diff-CIoVq7iw.js +0 -8
- package/dist/assets/diff-CIoVq7iw.js.map +0 -1
- package/dist/assets/dotenv-CTk-83yR.js +0 -8
- package/dist/assets/dotenv-CTk-83yR.js.map +0 -1
- package/dist/assets/dracula-C90mcX-J.js +0 -5
- package/dist/assets/dracula-C90mcX-J.js.map +0 -1
- package/dist/assets/dracula-soft-CfxSDbho.js +0 -5
- package/dist/assets/dracula-soft-CfxSDbho.js.map +0 -1
- package/dist/assets/dream-maker-BRhjIgJd.js +0 -8
- package/dist/assets/dream-maker-BRhjIgJd.js.map +0 -1
- package/dist/assets/edge-ChLL70qB.js +0 -16
- package/dist/assets/edge-ChLL70qB.js.map +0 -1
- package/dist/assets/elixir-Cn03DtOX.js +0 -12
- package/dist/assets/elixir-Cn03DtOX.js.map +0 -1
- package/dist/assets/elm-BIz5FEly.js +0 -11
- package/dist/assets/elm-BIz5FEly.js.map +0 -1
- package/dist/assets/emacs-lisp-BPa43G0X.js +0 -8
- package/dist/assets/emacs-lisp-BPa43G0X.js.map +0 -1
- package/dist/assets/erb-DnDXmOFA.js +0 -29
- package/dist/assets/erb-DnDXmOFA.js.map +0 -1
- package/dist/assets/erlang-Bs5tgDCH.js +0 -10
- package/dist/assets/erlang-Bs5tgDCH.js.map +0 -1
- package/dist/assets/everforest-dark-WkkMlVdr.js +0 -5
- package/dist/assets/everforest-dark-WkkMlVdr.js.map +0 -1
- package/dist/assets/everforest-light-BnEIoJmx.js +0 -5
- package/dist/assets/everforest-light-BnEIoJmx.js.map +0 -1
- package/dist/assets/fennel-Bcsiz5ip.js +0 -8
- package/dist/assets/fennel-Bcsiz5ip.js.map +0 -1
- package/dist/assets/fish-DHyTDlfQ.js +0 -8
- package/dist/assets/fish-DHyTDlfQ.js.map +0 -1
- package/dist/assets/fluent-4neBKDDj.js +0 -8
- package/dist/assets/fluent-4neBKDDj.js.map +0 -1
- package/dist/assets/fortran-fixed-form-CzBifAhA.js +0 -10
- package/dist/assets/fortran-fixed-form-CzBifAhA.js.map +0 -1
- package/dist/assets/fortran-free-form-CgyZ4k0y.js +0 -8
- package/dist/assets/fortran-free-form-CgyZ4k0y.js.map +0 -1
- package/dist/assets/fsharp-9GbbySMJ.js +0 -10
- package/dist/assets/fsharp-9GbbySMJ.js.map +0 -1
- package/dist/assets/gdresource-DNKHowPg.js +0 -12
- package/dist/assets/gdresource-DNKHowPg.js.map +0 -1
- package/dist/assets/gdscript-BsvbToqr.js +0 -8
- package/dist/assets/gdscript-BsvbToqr.js.map +0 -1
- package/dist/assets/gdshader-OUoLz6Pt.js +0 -8
- package/dist/assets/gdshader-OUoLz6Pt.js.map +0 -1
- package/dist/assets/genie-CCD_4Lwj.js +0 -8
- package/dist/assets/genie-CCD_4Lwj.js.map +0 -1
- package/dist/assets/gherkin-DtBWBYmY.js +0 -8
- package/dist/assets/gherkin-DtBWBYmY.js.map +0 -1
- package/dist/assets/git-commit-CIBsd3Oe.js +0 -10
- package/dist/assets/git-commit-CIBsd3Oe.js.map +0 -1
- package/dist/assets/git-rebase-Bsia5skB.js +0 -10
- package/dist/assets/git-rebase-Bsia5skB.js.map +0 -1
- package/dist/assets/github-dark-Crb_T9c1.js +0 -5
- package/dist/assets/github-dark-Crb_T9c1.js.map +0 -1
- package/dist/assets/github-dark-default-CrymNA3e.js +0 -5
- package/dist/assets/github-dark-default-CrymNA3e.js.map +0 -1
- package/dist/assets/github-dark-dimmed-DVypsQQ6.js +0 -5
- package/dist/assets/github-dark-dimmed-DVypsQQ6.js.map +0 -1
- package/dist/assets/github-dark-high-contrast-oosJriQF.js +0 -5
- package/dist/assets/github-dark-high-contrast-oosJriQF.js.map +0 -1
- package/dist/assets/github-light-DzgloXIJ.js +0 -5
- package/dist/assets/github-light-DzgloXIJ.js.map +0 -1
- package/dist/assets/github-light-default-BUaqj3Kk.js +0 -5
- package/dist/assets/github-light-default-BUaqj3Kk.js.map +0 -1
- package/dist/assets/github-light-high-contrast-Be7TuOaG.js +0 -5
- package/dist/assets/github-light-high-contrast-Be7TuOaG.js.map +0 -1
- package/dist/assets/gleam-Bby7sLtj.js +0 -8
- package/dist/assets/gleam-Bby7sLtj.js.map +0 -1
- package/dist/assets/glimmer-js-K1ky8h51.js +0 -16
- package/dist/assets/glimmer-js-K1ky8h51.js.map +0 -1
- package/dist/assets/glimmer-ts-Glf2iriO.js +0 -16
- package/dist/assets/glimmer-ts-Glf2iriO.js.map +0 -1
- package/dist/assets/glsl-B7qnt91l.js +0 -10
- package/dist/assets/glsl-B7qnt91l.js.map +0 -1
- package/dist/assets/gn-BZhHIoL6.js +0 -8
- package/dist/assets/gn-BZhHIoL6.js.map +0 -1
- package/dist/assets/gnuplot-ko8wwdty.js +0 -8
- package/dist/assets/gnuplot-ko8wwdty.js.map +0 -1
- package/dist/assets/graphql-DkLU_y6F.js +0 -16
- package/dist/assets/graphql-DkLU_y6F.js.map +0 -1
- package/dist/assets/groovy-CnONGBTg.js +0 -8
- package/dist/assets/groovy-CnONGBTg.js.map +0 -1
- package/dist/assets/gruvbox-dark-hard-w2v6PtUq.js +0 -5
- package/dist/assets/gruvbox-dark-hard-w2v6PtUq.js.map +0 -1
- package/dist/assets/gruvbox-dark-medium-BkadlV_U.js +0 -5
- package/dist/assets/gruvbox-dark-medium-BkadlV_U.js.map +0 -1
- package/dist/assets/gruvbox-dark-soft-BHFO6CEk.js +0 -5
- package/dist/assets/gruvbox-dark-soft-BHFO6CEk.js.map +0 -1
- package/dist/assets/gruvbox-light-hard-9A_pD-e-.js +0 -5
- package/dist/assets/gruvbox-light-hard-9A_pD-e-.js.map +0 -1
- package/dist/assets/gruvbox-light-medium-DS4uqfa1.js +0 -5
- package/dist/assets/gruvbox-light-medium-DS4uqfa1.js.map +0 -1
- package/dist/assets/gruvbox-light-soft-qMWiTKK4.js +0 -5
- package/dist/assets/gruvbox-light-soft-qMWiTKK4.js.map +0 -1
- package/dist/assets/hack-gfrPUlig.js +0 -14
- package/dist/assets/hack-gfrPUlig.js.map +0 -1
- package/dist/assets/haml-B4EqXRg_.js +0 -12
- package/dist/assets/haml-B4EqXRg_.js.map +0 -1
- package/dist/assets/handlebars-YxgQMD1d.js +0 -16
- package/dist/assets/handlebars-YxgQMD1d.js.map +0 -1
- package/dist/assets/haskell-2dsAc57b.js +0 -8
- package/dist/assets/haskell-2dsAc57b.js.map +0 -1
- package/dist/assets/haxe-OKRacM9E.js +0 -8
- package/dist/assets/haxe-OKRacM9E.js.map +0 -1
- package/dist/assets/hcl-DWQu2dqK.js +0 -8
- package/dist/assets/hcl-DWQu2dqK.js.map +0 -1
- package/dist/assets/hjson-By_UsfXI.js +0 -8
- package/dist/assets/hjson-By_UsfXI.js.map +0 -1
- package/dist/assets/hlsl-DA61eaD3.js +0 -8
- package/dist/assets/hlsl-DA61eaD3.js.map +0 -1
- package/dist/assets/horizon-BAcSmUQx.js +0 -5
- package/dist/assets/horizon-BAcSmUQx.js.map +0 -1
- package/dist/assets/horizon-bright-BIr1qV5K.js +0 -5
- package/dist/assets/horizon-bright-BIr1qV5K.js.map +0 -1
- package/dist/assets/houston-CK0N9cPp.js +0 -5
- package/dist/assets/houston-CK0N9cPp.js.map +0 -1
- package/dist/assets/html-derivative-DNVkVN8y.js +0 -12
- package/dist/assets/html-derivative-DNVkVN8y.js.map +0 -1
- package/dist/assets/http-CVXrBmpc.js +0 -21
- package/dist/assets/http-CVXrBmpc.js.map +0 -1
- package/dist/assets/hurl-B08iSRaK.js +0 -19
- package/dist/assets/hurl-B08iSRaK.js.map +0 -1
- package/dist/assets/hxml-CwhzGRqU.js +0 -10
- package/dist/assets/hxml-CwhzGRqU.js.map +0 -1
- package/dist/assets/hy-B23VqsRP.js +0 -8
- package/dist/assets/hy-B23VqsRP.js.map +0 -1
- package/dist/assets/imba-C1GSCVFf.js +0 -8
- package/dist/assets/imba-C1GSCVFf.js.map +0 -1
- package/dist/assets/ini-r1O4-awP.js +0 -8
- package/dist/assets/ini-r1O4-awP.js.map +0 -1
- package/dist/assets/jinja-hp_3bha4.js +0 -17
- package/dist/assets/jinja-hp_3bha4.js.map +0 -1
- package/dist/assets/jison-9WPWo0xg.js +0 -10
- package/dist/assets/jison-9WPWo0xg.js.map +0 -1
- package/dist/assets/json5-C8Jm9K5X.js +0 -8
- package/dist/assets/json5-C8Jm9K5X.js.map +0 -1
- package/dist/assets/jsonc-mlgADggJ.js +0 -8
- package/dist/assets/jsonc-mlgADggJ.js.map +0 -1
- package/dist/assets/jsonl-CBj3pbR_.js +0 -8
- package/dist/assets/jsonl-CBj3pbR_.js.map +0 -1
- package/dist/assets/jsonnet-B_sZ3RZB.js +0 -8
- package/dist/assets/jsonnet-B_sZ3RZB.js.map +0 -1
- package/dist/assets/jssm-CvtepJVU.js +0 -8
- package/dist/assets/jssm-CvtepJVU.js.map +0 -1
- package/dist/assets/jsx-BfjkQ0v5.js +0 -8
- package/dist/assets/jsx-BfjkQ0v5.js.map +0 -1
- package/dist/assets/julia-Dnhsueg9.js +0 -21
- package/dist/assets/julia-Dnhsueg9.js.map +0 -1
- package/dist/assets/just-6vIP7wP9.js +0 -35
- package/dist/assets/just-6vIP7wP9.js.map +0 -1
- package/dist/assets/kanagawa-dragon-Dgsvhj-I.js +0 -5
- package/dist/assets/kanagawa-dragon-Dgsvhj-I.js.map +0 -1
- package/dist/assets/kanagawa-lotus-bk4_W8LM.js +0 -5
- package/dist/assets/kanagawa-lotus-bk4_W8LM.js.map +0 -1
- package/dist/assets/kanagawa-wave-CVNUZ7bU.js +0 -5
- package/dist/assets/kanagawa-wave-CVNUZ7bU.js.map +0 -1
- package/dist/assets/kdl-CwdrBlJU.js +0 -8
- package/dist/assets/kdl-CwdrBlJU.js.map +0 -1
- package/dist/assets/kusto-CgER6Sxt.js +0 -8
- package/dist/assets/kusto-CgER6Sxt.js.map +0 -1
- package/dist/assets/laserwave-BU7zaG-q.js +0 -5
- package/dist/assets/laserwave-BU7zaG-q.js.map +0 -1
- package/dist/assets/latex-vw5kx6SC.js +0 -11
- package/dist/assets/latex-vw5kx6SC.js.map +0 -1
- package/dist/assets/lean-Cp_iMYZj.js +0 -8
- package/dist/assets/lean-Cp_iMYZj.js.map +0 -1
- package/dist/assets/less-CFxJbkOX.js +0 -8
- package/dist/assets/less-CFxJbkOX.js.map +0 -1
- package/dist/assets/light-plus-CCnaaxEe.js +0 -5
- package/dist/assets/light-plus-CCnaaxEe.js.map +0 -1
- package/dist/assets/liquid-ME1IH2EZ.js +0 -16
- package/dist/assets/liquid-ME1IH2EZ.js.map +0 -1
- package/dist/assets/llvm-DXF2zqxJ.js +0 -8
- package/dist/assets/llvm-DXF2zqxJ.js.map +0 -1
- package/dist/assets/log-BhdudKf6.js +0 -8
- package/dist/assets/log-BhdudKf6.js.map +0 -1
- package/dist/assets/logo-DdZuFRsA.js +0 -8
- package/dist/assets/logo-DdZuFRsA.js.map +0 -1
- package/dist/assets/lua-CNzUJNrS.js +0 -10
- package/dist/assets/lua-CNzUJNrS.js.map +0 -1
- package/dist/assets/luau-BbRxrK_-.js +0 -8
- package/dist/assets/luau-BbRxrK_-.js.map +0 -1
- package/dist/assets/make-CzMpGB61.js +0 -8
- package/dist/assets/make-CzMpGB61.js.map +0 -1
- package/dist/assets/marko-CDeO252B.js +0 -16
- package/dist/assets/marko-CDeO252B.js.map +0 -1
- package/dist/assets/material-theme-B-3T0qQC.js +0 -5
- package/dist/assets/material-theme-B-3T0qQC.js.map +0 -1
- package/dist/assets/material-theme-darker-DMHCIvq5.js +0 -5
- package/dist/assets/material-theme-darker-DMHCIvq5.js.map +0 -1
- package/dist/assets/material-theme-lighter-CnKSyNS5.js +0 -5
- package/dist/assets/material-theme-lighter-CnKSyNS5.js.map +0 -1
- package/dist/assets/material-theme-ocean-BKq6ZsFv.js +0 -5
- package/dist/assets/material-theme-ocean-BKq6ZsFv.js.map +0 -1
- package/dist/assets/material-theme-palenight-BaYUoLXq.js +0 -5
- package/dist/assets/material-theme-palenight-BaYUoLXq.js.map +0 -1
- package/dist/assets/matlab-CJkuh4eh.js +0 -8
- package/dist/assets/matlab-CJkuh4eh.js.map +0 -1
- package/dist/assets/mdc-DmwRfDxK.js +0 -17
- package/dist/assets/mdc-DmwRfDxK.js.map +0 -1
- package/dist/assets/mdx-DBtujtWe.js +0 -8
- package/dist/assets/mdx-DBtujtWe.js.map +0 -1
- package/dist/assets/mermaid-HX_erI9P.js +0 -8
- package/dist/assets/mermaid-HX_erI9P.js.map +0 -1
- package/dist/assets/min-dark-YawBJZLm.js +0 -5
- package/dist/assets/min-dark-YawBJZLm.js.map +0 -1
- package/dist/assets/min-light-CqsTzpMg.js +0 -5
- package/dist/assets/min-light-CqsTzpMg.js.map +0 -1
- package/dist/assets/mipsasm-CCIl-TEQ.js +0 -8
- package/dist/assets/mipsasm-CCIl-TEQ.js.map +0 -1
- package/dist/assets/mojo-0bwzCFgd.js +0 -8
- package/dist/assets/mojo-0bwzCFgd.js.map +0 -1
- package/dist/assets/monokai-DaNL4wHF.js +0 -5
- package/dist/assets/monokai-DaNL4wHF.js.map +0 -1
- package/dist/assets/moonbit-h33aWjYl.js +0 -8
- package/dist/assets/moonbit-h33aWjYl.js.map +0 -1
- package/dist/assets/move-B0UfBCDq.js +0 -8
- package/dist/assets/move-B0UfBCDq.js.map +0 -1
- package/dist/assets/narrat-yNVO4v0G.js +0 -8
- package/dist/assets/narrat-yNVO4v0G.js.map +0 -1
- package/dist/assets/nextflow-1-7NB-ni.js +0 -10
- package/dist/assets/nextflow-1-7NB-ni.js.map +0 -1
- package/dist/assets/nextflow-groovy-TPtoW2P_.js +0 -8
- package/dist/assets/nextflow-groovy-TPtoW2P_.js.map +0 -1
- package/dist/assets/nginx-C98jlNwk.js +0 -11
- package/dist/assets/nginx-C98jlNwk.js.map +0 -1
- package/dist/assets/night-owl-DEYddbGH.js +0 -5
- package/dist/assets/night-owl-DEYddbGH.js.map +0 -1
- package/dist/assets/night-owl-light-CgPgLhZe.js +0 -5
- package/dist/assets/night-owl-light-CgPgLhZe.js.map +0 -1
- package/dist/assets/nim-C-XJ5M42.js +0 -23
- package/dist/assets/nim-C-XJ5M42.js.map +0 -1
- package/dist/assets/nix-DPigNF-w.js +0 -13
- package/dist/assets/nix-DPigNF-w.js.map +0 -1
- package/dist/assets/nord-CUKU048J.js +0 -5
- package/dist/assets/nord-CUKU048J.js.map +0 -1
- package/dist/assets/nushell-TxwY6Pb5.js +0 -8
- package/dist/assets/nushell-TxwY6Pb5.js.map +0 -1
- package/dist/assets/objective-c-CGXCwEak.js +0 -8
- package/dist/assets/objective-c-CGXCwEak.js.map +0 -1
- package/dist/assets/objective-cpp-C6Ou-DLk.js +0 -8
- package/dist/assets/objective-cpp-C6Ou-DLk.js.map +0 -1
- package/dist/assets/ocaml-B8c2W4N8.js +0 -8
- package/dist/assets/ocaml-B8c2W4N8.js.map +0 -1
- package/dist/assets/odin-CZ4skJts.js +0 -8
- package/dist/assets/odin-CZ4skJts.js.map +0 -1
- package/dist/assets/one-dark-pro-XdKxImzj.js +0 -5
- package/dist/assets/one-dark-pro-XdKxImzj.js.map +0 -1
- package/dist/assets/openscad-jtaZZ0ry.js +0 -8
- package/dist/assets/openscad-jtaZZ0ry.js.map +0 -1
- package/dist/assets/pascal-Dyzoiklv.js +0 -8
- package/dist/assets/pascal-Dyzoiklv.js.map +0 -1
- package/dist/assets/perl-DZBQ1fP7.js +0 -19
- package/dist/assets/perl-DZBQ1fP7.js.map +0 -1
- package/dist/assets/pkl-B7NRYePu.js +0 -8
- package/dist/assets/pkl-B7NRYePu.js.map +0 -1
- package/dist/assets/plastic-lmGvlDWy.js +0 -5
- package/dist/assets/plastic-lmGvlDWy.js.map +0 -1
- package/dist/assets/plsql-ZYRyC0wP.js +0 -8
- package/dist/assets/plsql-ZYRyC0wP.js.map +0 -1
- package/dist/assets/po-CHOVNvtJ.js +0 -8
- package/dist/assets/po-CHOVNvtJ.js.map +0 -1
- package/dist/assets/poimandres-C_MUMTwG.js +0 -5
- package/dist/assets/poimandres-C_MUMTwG.js.map +0 -1
- package/dist/assets/polar-CElS9PCS.js +0 -8
- package/dist/assets/polar-CElS9PCS.js.map +0 -1
- package/dist/assets/postcss-DgldbzUq.js +0 -8
- package/dist/assets/postcss-DgldbzUq.js.map +0 -1
- package/dist/assets/powerquery-B6VmGZs1.js +0 -8
- package/dist/assets/powerquery-B6VmGZs1.js.map +0 -1
- package/dist/assets/powershell-Dp4oaXtH.js +0 -8
- package/dist/assets/powershell-Dp4oaXtH.js.map +0 -1
- package/dist/assets/prisma-CPG4K8GD.js +0 -8
- package/dist/assets/prisma-CPG4K8GD.js.map +0 -1
- package/dist/assets/prolog-BfH16pdb.js +0 -8
- package/dist/assets/prolog-BfH16pdb.js.map +0 -1
- package/dist/assets/proto-DRhBl2v_.js +0 -8
- package/dist/assets/proto-DRhBl2v_.js.map +0 -1
- package/dist/assets/pug-B5ZJTPhc.js +0 -14
- package/dist/assets/pug-B5ZJTPhc.js.map +0 -1
- package/dist/assets/puppet-D93mTCzv.js +0 -8
- package/dist/assets/puppet-D93mTCzv.js.map +0 -1
- package/dist/assets/purescript-BwFPZeJE.js +0 -8
- package/dist/assets/purescript-BwFPZeJE.js.map +0 -1
- package/dist/assets/qml-B7tPv6LL.js +0 -10
- package/dist/assets/qml-B7tPv6LL.js.map +0 -1
- package/dist/assets/qmldir-C_cCg2m9.js +0 -8
- package/dist/assets/qmldir-C_cCg2m9.js.map +0 -1
- package/dist/assets/qss-CXFHvGeG.js +0 -8
- package/dist/assets/qss-CXFHvGeG.js.map +0 -1
- package/dist/assets/r-DW2dRJNU.js +0 -8
- package/dist/assets/r-DW2dRJNU.js.map +0 -1
- package/dist/assets/racket-CElNGJsF.js +0 -8
- package/dist/assets/racket-CElNGJsF.js.map +0 -1
- package/dist/assets/raku-BGNf9XOF.js +0 -8
- package/dist/assets/raku-BGNf9XOF.js.map +0 -1
- package/dist/assets/razor-_hEMrIZE.js +0 -14
- package/dist/assets/razor-_hEMrIZE.js.map +0 -1
- package/dist/assets/red-AJNT05eU.js +0 -5
- package/dist/assets/red-AJNT05eU.js.map +0 -1
- package/dist/assets/reg-B1yGSPeX.js +0 -8
- package/dist/assets/reg-B1yGSPeX.js.map +0 -1
- package/dist/assets/regexp-DpBcpYls.js +0 -8
- package/dist/assets/regexp-DpBcpYls.js.map +0 -1
- package/dist/assets/rel-COHg19E9.js +0 -8
- package/dist/assets/rel-COHg19E9.js.map +0 -1
- package/dist/assets/riscv-DGE7iFEu.js +0 -8
- package/dist/assets/riscv-DGE7iFEu.js.map +0 -1
- package/dist/assets/ron-BU8eWRkc.js +0 -8
- package/dist/assets/ron-BU8eWRkc.js.map +0 -1
- package/dist/assets/rose-pine-BpSSTpDl.js +0 -5
- package/dist/assets/rose-pine-BpSSTpDl.js.map +0 -1
- package/dist/assets/rose-pine-dawn-JuXMWM7e.js +0 -5
- package/dist/assets/rose-pine-dawn-JuXMWM7e.js.map +0 -1
- package/dist/assets/rose-pine-moon-DfNEd67D.js +0 -5
- package/dist/assets/rose-pine-moon-DfNEd67D.js.map +0 -1
- package/dist/assets/rosmsg-DV4uqfTE.js +0 -8
- package/dist/assets/rosmsg-DV4uqfTE.js.map +0 -1
- package/dist/assets/rst-Dwts34Vp.js +0 -38
- package/dist/assets/rst-Dwts34Vp.js.map +0 -1
- package/dist/assets/ruby-BQIBxl9d.js +0 -38
- package/dist/assets/ruby-BQIBxl9d.js.map +0 -1
- package/dist/assets/sas-D42O7b-h.js +0 -10
- package/dist/assets/sas-D42O7b-h.js.map +0 -1
- package/dist/assets/sass-DgfD_AjS.js +0 -8
- package/dist/assets/sass-DgfD_AjS.js.map +0 -1
- package/dist/assets/scala-Bk1H2mSp.js +0 -8
- package/dist/assets/scala-Bk1H2mSp.js.map +0 -1
- package/dist/assets/scheme-CvUmbwed.js +0 -8
- package/dist/assets/scheme-CvUmbwed.js.map +0 -1
- package/dist/assets/scss-CuhcKk0L.js +0 -10
- package/dist/assets/scss-CuhcKk0L.js.map +0 -1
- package/dist/assets/sdbl-CsDj0b2n.js +0 -8
- package/dist/assets/sdbl-CsDj0b2n.js.map +0 -1
- package/dist/assets/shaderlab-BR6dybZt.js +0 -10
- package/dist/assets/shaderlab-BR6dybZt.js.map +0 -1
- package/dist/assets/shellsession-BUDs6Lj1.js +0 -10
- package/dist/assets/shellsession-BUDs6Lj1.js.map +0 -1
- package/dist/assets/shikiTokenizerWorker-BtjW_v9G.js.map +0 -1
- package/dist/assets/slack-dark-DWWJ5rYK.js +0 -5
- package/dist/assets/slack-dark-DWWJ5rYK.js.map +0 -1
- package/dist/assets/slack-ochin-Bq5JRIP5.js +0 -5
- package/dist/assets/slack-ochin-Bq5JRIP5.js.map +0 -1
- package/dist/assets/smalltalk-CepYz02F.js +0 -8
- package/dist/assets/smalltalk-CepYz02F.js.map +0 -1
- package/dist/assets/snazzy-light-CI6w30cq.js +0 -5
- package/dist/assets/snazzy-light-CI6w30cq.js.map +0 -1
- package/dist/assets/solarized-dark-Bgqg9546.js +0 -5
- package/dist/assets/solarized-dark-Bgqg9546.js.map +0 -1
- package/dist/assets/solarized-light-Cfhyx18w.js +0 -5
- package/dist/assets/solarized-light-Cfhyx18w.js.map +0 -1
- package/dist/assets/solidity-Dy7cwWHW.js +0 -8
- package/dist/assets/solidity-Dy7cwWHW.js.map +0 -1
- package/dist/assets/soy-CATG-zBT.js +0 -12
- package/dist/assets/soy-CATG-zBT.js.map +0 -1
- package/dist/assets/sparql-xS45ySCY.js +0 -10
- package/dist/assets/sparql-xS45ySCY.js.map +0 -1
- package/dist/assets/splunk-xsP0MVkt.js +0 -8
- package/dist/assets/splunk-xsP0MVkt.js.map +0 -1
- package/dist/assets/ssh-config-ehSXrtEV.js +0 -8
- package/dist/assets/ssh-config-ehSXrtEV.js.map +0 -1
- package/dist/assets/stata-CQNu_FgQ.js +0 -10
- package/dist/assets/stata-CQNu_FgQ.js.map +0 -1
- package/dist/assets/stylus-BoZJ_eV7.js +0 -8
- package/dist/assets/stylus-BoZJ_eV7.js.map +0 -1
- package/dist/assets/surrealql-BuAG2s0L.js +0 -10
- package/dist/assets/surrealql-BuAG2s0L.js.map +0 -1
- package/dist/assets/svelte-CnoxkKF2.js +0 -16
- package/dist/assets/svelte-CnoxkKF2.js.map +0 -1
- package/dist/assets/synthwave-84-DXKOZPq5.js +0 -5
- package/dist/assets/synthwave-84-DXKOZPq5.js.map +0 -1
- package/dist/assets/system-verilog-BEcmvm6Z.js +0 -8
- package/dist/assets/system-verilog-BEcmvm6Z.js.map +0 -1
- package/dist/assets/systemd-DJzDbKrW.js +0 -8
- package/dist/assets/systemd-DJzDbKrW.js.map +0 -1
- package/dist/assets/talonscript-Djb-VPry.js +0 -8
- package/dist/assets/talonscript-Djb-VPry.js.map +0 -1
- package/dist/assets/tasl-p9F3iH-j.js +0 -8
- package/dist/assets/tasl-p9F3iH-j.js.map +0 -1
- package/dist/assets/tcl-3f-uwoUo.js +0 -8
- package/dist/assets/tcl-3f-uwoUo.js.map +0 -1
- package/dist/assets/templ-B5LeC0kQ.js +0 -14
- package/dist/assets/templ-B5LeC0kQ.js.map +0 -1
- package/dist/assets/terraform-DgWhF4Yd.js +0 -8
- package/dist/assets/terraform-DgWhF4Yd.js.map +0 -1
- package/dist/assets/tex-CxL9S8Wd.js +0 -10
- package/dist/assets/tex-CxL9S8Wd.js.map +0 -1
- package/dist/assets/tokyo-night-BAQ_Myi4.js +0 -5
- package/dist/assets/tokyo-night-BAQ_Myi4.js.map +0 -1
- package/dist/assets/ts-tags-Bvk0ykl-.js +0 -55
- package/dist/assets/ts-tags-Bvk0ykl-.js.map +0 -1
- package/dist/assets/tsv-DY-yErdv.js +0 -8
- package/dist/assets/tsv-DY-yErdv.js.map +0 -1
- package/dist/assets/turtle-zqT8DlFI.js +0 -8
- package/dist/assets/turtle-zqT8DlFI.js.map +0 -1
- package/dist/assets/twig-uAs39d9k.js +0 -37
- package/dist/assets/twig-uAs39d9k.js.map +0 -1
- package/dist/assets/typespec-Kj54qpoq.js +0 -8
- package/dist/assets/typespec-Kj54qpoq.js.map +0 -1
- package/dist/assets/typst-BW5EogfV.js +0 -8
- package/dist/assets/typst-BW5EogfV.js.map +0 -1
- package/dist/assets/v-BMYuw6y3.js +0 -8
- package/dist/assets/v-BMYuw6y3.js.map +0 -1
- package/dist/assets/vala-DZNmMJCf.js +0 -8
- package/dist/assets/vala-DZNmMJCf.js.map +0 -1
- package/dist/assets/vb-6IyLx8lg.js +0 -8
- package/dist/assets/vb-6IyLx8lg.js.map +0 -1
- package/dist/assets/verilog-CBEeotQw.js +0 -8
- package/dist/assets/verilog-CBEeotQw.js.map +0 -1
- package/dist/assets/vesper-B_lKdhLz.js +0 -5
- package/dist/assets/vesper-B_lKdhLz.js.map +0 -1
- package/dist/assets/vhdl-Qbjr_6hW.js +0 -8
- package/dist/assets/vhdl-Qbjr_6hW.js.map +0 -1
- package/dist/assets/viml-Ce8qq_0D.js +0 -8
- package/dist/assets/viml-Ce8qq_0D.js.map +0 -1
- package/dist/assets/vitesse-black-BiRwe6jA.js +0 -5
- package/dist/assets/vitesse-black-BiRwe6jA.js.map +0 -1
- package/dist/assets/vitesse-dark-44qkAq30.js +0 -5
- package/dist/assets/vitesse-dark-44qkAq30.js.map +0 -1
- package/dist/assets/vitesse-light-KXY5XYnn.js +0 -5
- package/dist/assets/vitesse-light-KXY5XYnn.js.map +0 -1
- package/dist/assets/vue-DQvlk87_.js.map +0 -1
- package/dist/assets/vue-html-DiaQkc4E.js +0 -10
- package/dist/assets/vue-html-DiaQkc4E.js.map +0 -1
- package/dist/assets/vue-vine-DgWfDcNr.js +0 -20
- package/dist/assets/vue-vine-DgWfDcNr.js.map +0 -1
- package/dist/assets/vyper-Bq7Z2-Ss.js +0 -8
- package/dist/assets/vyper-Bq7Z2-Ss.js.map +0 -1
- package/dist/assets/wasm-BdTJGc7T.js +0 -8
- package/dist/assets/wasm-BdTJGc7T.js.map +0 -1
- package/dist/assets/wenyan-ZWlLIQIr.js +0 -8
- package/dist/assets/wenyan-ZWlLIQIr.js.map +0 -1
- package/dist/assets/wgsl-C7jKgLAu.js +0 -8
- package/dist/assets/wgsl-C7jKgLAu.js.map +0 -1
- package/dist/assets/wikitext-Bd2wE6rj.js +0 -8
- package/dist/assets/wikitext-Bd2wE6rj.js.map +0 -1
- package/dist/assets/wit-14OfqCWW.js +0 -8
- package/dist/assets/wit-14OfqCWW.js.map +0 -1
- package/dist/assets/wolfram-RapNeSab.js +0 -8
- package/dist/assets/wolfram-RapNeSab.js.map +0 -1
- package/dist/assets/xsl-CfczXwS3.js +0 -11
- package/dist/assets/xsl-CfczXwS3.js.map +0 -1
- package/dist/assets/zenscript-DaonNBty.js +0 -8
- package/dist/assets/zenscript-DaonNBty.js.map +0 -1
- package/dist/assets/zig-DWvk_5e3.js +0 -8
- package/dist/assets/zig-DWvk_5e3.js.map +0 -1
- package/dist/index-CoJWbTaU.cjs +0 -7
- package/dist/index-CoJWbTaU.cjs.map +0 -1
- package/dist/index-DtWjQeyt.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html-Dn396zfL.cjs","sources":["../../../node_modules/.pnpm/@shikijs+langs@4.2.0/node_modules/@shikijs/langs/dist/html.mjs"],"sourcesContent":["import javascript from './javascript.mjs'\nimport css from './css.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"HTML\\\",\\\"injections\\\":{\\\"R:text.html - (comment.block, text.html meta.embedded, meta.tag.*.*.html, meta.tag.*.*.*.html, meta.tag.*.*.*.*.html)\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"<\\\",\\\"name\\\":\\\"invalid.illegal.bad-angle-bracket.html\\\"}]}},\\\"name\\\":\\\"html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#xml-processing\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#doctype\\\"},{\\\"include\\\":\\\"#cdata\\\"},{\\\"include\\\":\\\"#tags-valid\\\"},{\\\"include\\\":\\\"#tags-invalid\\\"},{\\\"include\\\":\\\"#entities\\\"}],\\\"repository\\\":{\\\"attribute\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(s(hape|cope|t(ep|art)|ize(s)?|p(ellcheck|an)|elected|lot|andbox|rc(set|doc|lang)?)|h(ttp-equiv|i(dden|gh)|e(ight|aders)|ref(lang)?)|n(o(nce|validate|module)|ame)|c(h(ecked|arset)|ite|o(nt(ent(editable)?|rols)|ords|l(s(pan)?|or))|lass|rossorigin)|t(ype(mustmatch)?|itle|a(rget|bindex)|ranslate)|i(s(map)?|n(tegrity|putmode)|tem(scope|type|id|prop|ref)|d)|op(timum|en)|d(i(sabled|r(name)?)|ownload|e(coding|f(er|ault))|at(etime|a)|raggable)|usemap|p(ing|oster|la(ysinline|ceholder)|attern|reload)|enctype|value|kind|for(m(novalidate|target|enctype|action|method)?)?|w(idth|rap)|l(ist|o(op|w)|a(ng|bel))|a(s(ync)?|c(ce(sskey|pt(-charset)?)|tion)|uto(c(omplete|apitalize)|play|focus)|l(t|low(usermedia|paymentrequest|fullscreen))|bbr)|r(ows(pan)?|e(versed|quired|ferrerpolicy|l|adonly))|m(in(length)?|u(ted|ltiple)|e(thod|dia)|a(nifest|x(length)?)))(?![-:\\\\\\\\w])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.$1.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-interior\\\"}]},{\\\"begin\\\":\\\"style(?![-:\\\\\\\\w])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.style.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html\\\"}},\\\"end\\\":\\\"(?<=[^=\\\\\\\\s])(?!\\\\\\\\s*=)|(?=/?>)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=[^/<=>`\\\\\\\\s]|/(?!>))\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"meta.embedded.line.css\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"source.css\\\"}},\\\"match\\\":\\\"([^\\\\\\\"'/<=>`\\\\\\\\s]|/(?!>))+\\\",\\\"name\\\":\\\"string.unquoted.html\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"contentName\\\":\\\"source.css\\\",\\\"end\\\":\\\"(\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.css\\\"}},\\\"name\\\":\\\"string.quoted.double.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#entities\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"contentName\\\":\\\"source.css\\\",\\\"end\\\":\\\"(')\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.css\\\"}},\\\"name\\\":\\\"string.quoted.single.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#entities\\\"}]}]},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"invalid.illegal.unexpected-equals-sign.html\\\"}]}]},{\\\"begin\\\":\\\"on(s(croll|t(orage|alled)|u(spend|bmit)|e(curitypolicyviolation|ek(ing|ed)|lect))|hashchange|c(hange|o(ntextmenu|py)|u(t|echange)|l(ick|ose)|an(cel|play(through)?))|t(imeupdate|oggle)|in(put|valid)|o((?:n|ff)line)|d(urationchange|r(op|ag(start|over|e(n(ter|d)|xit)|leave)?)|blclick)|un(handledrejection|load)|p(opstate|lay(ing)?|a(ste|use|ge(show|hide))|rogress)|e(nded|rror|mptied)|volumechange|key(down|up|press)|focus|w(heel|aiting)|l(oad(start|e(nd|d((?:|meta)data)))?|anguagechange)|a(uxclick|fterprint|bort)|r(e(s(ize|et)|jectionhandled)|atechange)|m(ouse(o(ut|ver)|down|up|enter|leave|move)|essage(error)?)|b(efore(unload|print)|lur))(?![-:\\\\\\\\w])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.event-handler.$1.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html\\\"}},\\\"end\\\":\\\"(?<=[^=\\\\\\\\s])(?!\\\\\\\\s*=)|(?=/?>)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=[^/<=>`\\\\\\\\s]|/(?!>))\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"meta.embedded.line.js\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"source.js\\\"},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}},\\\"match\\\":\\\"(([^\\\\\\\"'/<=>`\\\\\\\\s]|/(?!>))+)\\\",\\\"name\\\":\\\"string.unquoted.html\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"contentName\\\":\\\"source.js\\\",\\\"end\\\":\\\"(\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.js\\\"}},\\\"name\\\":\\\"string.quoted.double.html\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}},\\\"match\\\":\\\"([^\\\\\\\\n\\\\\\\"/]|/(?![*/]))+\\\"},{\\\"begin\\\":\\\"//\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\")|\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.double-slash.js\\\"},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\")|\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.js\\\"}},\\\"name\\\":\\\"comment.block.js\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"contentName\\\":\\\"source.js\\\",\\\"end\\\":\\\"(')\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.js\\\"}},\\\"name\\\":\\\"string.quoted.single.html\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}},\\\"match\\\":\\\"([^\\\\\\\\n'/]|/(?![*/]))+\\\"},{\\\"begin\\\":\\\"//\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"end\\\":\\\"(?=')|\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.double-slash.js\\\"},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.js\\\"}},\\\"end\\\":\\\"(?=')|\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.js\\\"}},\\\"name\\\":\\\"comment.block.js\\\"}]}]},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"invalid.illegal.unexpected-equals-sign.html\\\"}]}]},{\\\"begin\\\":\\\"(data-[-a-z]+)(?![-:\\\\\\\\w])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.data-x.$1.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-interior\\\"}]},{\\\"begin\\\":\\\"(align|bgcolor|border)(?![-:\\\\\\\\w])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"invalid.deprecated.entity.other.attribute-name.html\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.$1.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-interior\\\"}]},{\\\"begin\\\":\\\"([^\\\\\\\\x00- \\\\\\\"'/<=>\\\\\\\\x7F-\\\\\\\\x{9F}-\\\\\\\\x{4FFFE}\\\\\\\\x{4FFFF}\\\\\\\\x{5FFFE}\\\\\\\\x{5FFFF}\\\\\\\\x{6FFFE}\\\\\\\\x{6FFFF}\\\\\\\\x{7FFFE}\\\\\\\\x{7FFFF}\\\\\\\\x{8FFFE}\\\\\\\\x{8FFFF}\\\\\\\\x{9FFFE}\\\\\\\\x{9FFFF}\\\\\\\\x{AFFFE}\\\\\\\\x{AFFFF}\\\\\\\\x{BFFFE}\\\\\\\\x{BFFFF}\\\\\\\\x{CFFFE}\\\\\\\\x{CFFFF}\\\\\\\\x{DFFFE}\\\\\\\\x{DFFFF}\\\\\\\\x{EFFFE}\\\\\\\\x{EFFFF}\\\\\\\\x{FFFFE}\\\\\\\\x{FFFFF}\\\\\\\\x{10FFFE}\\\\\\\\x{10FFFF}]+)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.unrecognized.$1.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-interior\\\"}]},{\\\"match\\\":\\\"[^>\\\\\\\\s]+\\\",\\\"name\\\":\\\"invalid.illegal.character-not-allowed-here.html\\\"}]},\\\"attribute-interior\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html\\\"}},\\\"end\\\":\\\"(?<=[^=\\\\\\\\s])(?!\\\\\\\\s*=)|(?=/?>)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"([^\\\\\\\"'/<=>`\\\\\\\\s]|/(?!>))+\\\",\\\"name\\\":\\\"string.unquoted.html\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"string.quoted.double.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#entities\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"string.quoted.single.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#entities\\\"}]},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"invalid.illegal.unexpected-equals-sign.html\\\"}]}]},\\\"cdata\\\":{\\\"begin\\\":\\\"<!\\\\\\\\[CDATA\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"}},\\\"contentName\\\":\\\"string.other.inline-data.html\\\",\\\"end\\\":\\\"]]>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.metadata.cdata.html\\\"},\\\"comment\\\":{\\\"begin\\\":\\\"<!--\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.html\\\"}},\\\"end\\\":\\\"-->\\\",\\\"name\\\":\\\"comment.block.html\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\G-?>\\\",\\\"name\\\":\\\"invalid.illegal.characters-not-allowed-here.html\\\"},{\\\"match\\\":\\\"<!-(?:-(?!>)|(?=-->))\\\",\\\"name\\\":\\\"invalid.illegal.characters-not-allowed-here.html\\\"},{\\\"match\\\":\\\"--!>\\\",\\\"name\\\":\\\"invalid.illegal.characters-not-allowed-here.html\\\"}]},\\\"core-minus-invalid\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#xml-processing\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#doctype\\\"},{\\\"include\\\":\\\"#cdata\\\"},{\\\"include\\\":\\\"#tags-valid\\\"},{\\\"include\\\":\\\"#entities\\\"}]},\\\"doctype\\\":{\\\"begin\\\":\\\"<!(?=(?i:DOCTYPE\\\\\\\\s))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.metadata.doctype.html\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\G(?i:DOCTYPE)\\\",\\\"name\\\":\\\"entity.name.tag.html\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.html\\\"},{\\\"match\\\":\\\"[^>\\\\\\\\s]+\\\",\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}]},\\\"entities\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"},\\\"912\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"}},\\\"match\\\":\\\"(&)(?=[A-Za-z])((a(s(ymp(eq)?|cr|t)|n(d(slope|[dv]|and)?|g(s(t|ph)|zarr|e|le|rt(vb(d)?)?|msd(a([a-h]))?)?)|c(y|irc|d|ute|E)?|tilde|o(pf|gon)|uml|p(id|os|prox(eq)?|[Ee]|acir)?|elig|f(r)?|w((?:con|)int)|l(pha|e(ph|fsym))|acute|ring|grave|m(p|a(cr|lg))|breve)|A(s(sign|cr)|nd|MP|c(y|irc)|tilde|o(pf|gon)|uml|pplyFunction|fr|Elig|lpha|acute|ring|grave|macr|breve))|(B(scr|cy|opf|umpeq|e(cause|ta|rnoullis)|fr|a(ckslash|r(v|wed))|reve)|b(s(cr|im(e)?|ol(hsub|b)?|emi)|n(ot|e(quiv)?)|c(y|ong)|ig(s(tar|qcup)|c(irc|up|ap)|triangle(down|up)|o(times|dot|plus)|uplus|vee|wedge)|o(t(tom)?|pf|wtie|x(h([DUdu])?|times|H([DUdu])?|d([LRlr])|u([LRlr])|plus|D([LRlr])|v([HLRhlr])?|U([LRlr])|V([HLRhlr])?|minus|box))|Not|dquo|u(ll(et)?|mp(e(q)?|E)?)|prime|e(caus(e)?|t(h|ween|a)|psi|rnou|mptyv)|karow|fr|l(ock|k(1([24])|34)|a(nk|ck(square|triangle(down|left|right)?|lozenge)))|a(ck(sim(eq)?|cong|prime|epsilon)|r(vee|wed(ge)?))|r(eve|vbar)|brk(tbrk)?))|(c(s(cr|u(p(e)?|b(e)?))|h(cy|i|eck(mark)?)|ylcty|c(irc|ups(sm)?|edil|a(ps|ron))|tdot|ir(scir|c(eq|le(d(R|circ|S|dash|ast)|arrow(left|right)))?|e|fnint|E|mid)?|o(n(int|g(dot)?)|p(y(sr)?|f|rod)|lon(e(q)?)?|m(p(fn|le(xes|ment))?|ma(t)?))|dot|u(darr([lr])|p(s|c([au]p)|or|dot|brcap)?|e(sc|pr)|vee|wed|larr(p)?|r(vearrow(left|right)|ly(eq(succ|prec)|vee|wedge)|arr(m)?|ren))|e(nt(erdot)?|dil|mptyv)|fr|w((?:con|)int)|lubs(uit)?|a(cute|p(s|c([au]p)|dot|and|brcup)?|r(on|et))|r(oss|arr))|C(scr|hi|c(irc|onint|edil|aron)|ircle(Minus|Times|Dot|Plus)|Hcy|o(n(tourIntegral|int|gruent)|unterClockwiseContourIntegral|p(f|roduct)|lon(e)?)|dot|up(Cap)?|OPY|e(nterDot|dilla)|fr|lo(seCurly((?:Double|)Quote)|ckwiseContourIntegral)|a(yleys|cute|p(italDifferentialD)?)|ross))|(d(s(c([ry])|trok|ol)|har([lr])|c(y|aron)|t(dot|ri(f)?)|i(sin|e|v(ide(ontimes)?|onx)?|am(s|ond(suit)?)?|gamma)|Har|z(cy|igrarr)|o(t(square|plus|eq(dot)?|minus)?|ublebarwedge|pf|wn(harpoon(left|right)|downarrows|arrow)|llar)|d(otseq|a(rr|gger))?|u(har|arr)|jcy|e(lta|g|mptyv)|f(isht|r)|wangle|lc(orn|rop)|a(sh(v)?|leth|rr|gger)|r(c(orn|rop)|bkarow)|b(karow|lac)|Arr)|D(s(cr|trok)|c(y|aron)|Scy|i(fferentialD|a(critical(Grave|Tilde|Do(t|ubleAcute)|Acute)|mond))|o(t(Dot|Equal)?|uble(Right(Tee|Arrow)|ContourIntegral|Do(t|wnArrow)|Up((?:Down|)Arrow)|VerticalBar|L(ong(RightArrow|Left((?:Right|)Arrow))|eft(RightArrow|Tee|Arrow)))|pf|wn(Right(TeeVector|Vector(Bar)?)|Breve|Tee(Arrow)?|arrow|Left(RightVector|TeeVector|Vector(Bar)?)|Arrow(Bar|UpArrow)?))|Zcy|el(ta)?|D(otrahd)?|Jcy|fr|a(shv|rr|gger)))|(e(s(cr|im|dot)|n(sp|g)|c(y|ir(c)?|olon|aron)|t([ah])|o(pf|gon)|dot|u(ro|ml)|p(si(v|lon)?|lus|ar(sl)?)|e|D(D??ot)|q(s(im|lant(less|gtr))|c(irc|olon)|u(iv(DD)?|est|als)|vparsl)|f(Dot|r)|l(s(dot)?|inters|l)?|a(ster|cute)|r(Dot|arr)|g(s(dot)?|rave)?|x(cl|ist|p(onentiale|ectation))|m(sp(1([34]))?|pty(set|v)?|acr))|E(s(cr|im)|c(y|irc|aron)|ta|o(pf|gon)|NG|dot|uml|TH|psilon|qu(ilibrium|al(Tilde)?)|fr|lement|acute|grave|x(ists|ponentialE)|m(pty((?:|Very)SmallSquare)|acr)))|(f(scr|nof|cy|ilig|o(pf|r(k(v)?|all))|jlig|partint|emale|f(ilig|l(l??ig)|r)|l(tns|lig|at)|allingdotseq|r(own|a(sl|c(1([2-68])|78|2([35])|3([458])|45|5([68])))))|F(scr|cy|illed((?:|Very)SmallSquare)|o(uriertrf|pf|rAll)|fr))|(G(scr|c(y|irc|edil)|t|opf|dot|T|Jcy|fr|amma(d)?|reater(Greater|SlantEqual|Tilde|Equal(Less)?|FullEqual|Less)|g|breve)|g(s(cr|im([el])?)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|irc)|t(c(c|ir)|dot|quest|lPar|r(sim|dot|eq(q?less)|less|a(pprox|rr)))?|imel|opf|dot|jcy|e(s(cc|dot(o(l)?)?|l(es)?)?|q(slant|q)?|l)?|v(nE|ertneqq)|fr|E(l)?|l([Eaj])?|a(cute|p|mma(d)?)|rave|g(g)?|breve))|(h(s(cr|trok|lash)|y(phen|bull)|circ|o(ok((?:lef|righ)tarrow)|pf|arr|rbar|mtht)|e(llip|arts(uit)?|rcon)|ks([ew]arow)|fr|a(irsp|lf|r(dcy|r(cir|w)?)|milt)|bar|Arr)|H(s(cr|trok)|circ|ilbertSpace|o(pf|rizontalLine)|ump(DownHump|Equal)|fr|a(cek|t)|ARDcy))|(i(s(cr|in(s(v)?|dot|[Ev])?)|n(care|t(cal|prod|e(rcal|gers)|larhk)?|odot|fin(tie)?)?|c(y|irc)?|t(ilde)?|i(nfin|i(i??nt)|ota)?|o(cy|ta|pf|gon)|u(kcy|ml)|jlig|prod|e(cy|xcl)|quest|f([fr])|acute|grave|m(of|ped|a(cr|th|g(part|e|line))))|I(scr|n(t(e(rsection|gral))?|visible(Comma|Times))|c(y|irc)|tilde|o(ta|pf|gon)|dot|u(kcy|ml)|Ocy|Jlig|fr|Ecy|acute|grave|m(plies|a(cr|ginaryI))?))|(j(s(cr|ercy)|c(y|irc)|opf|ukcy|fr|math)|J(s(cr|ercy)|c(y|irc)|opf|ukcy|fr))|(k(scr|hcy|c(y|edil)|opf|jcy|fr|appa(v)?|green)|K(scr|c(y|edil)|Hcy|opf|Jcy|fr|appa))|(l(s(h|cr|trok|im([eg])?|q(uo(r)?|b)|aquo)|h(ar(d|u(l)?)|blk)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|ub|e(d??il)|aron)|Barr|t(hree|c(c|ir)|imes|dot|quest|larr|r(i([ef])?|Par))?|Har|o(ng(left((?:|right)arrow)|rightarrow|mapsto)|times|z(enge|f)?|oparrow(left|right)|p(f|lus|ar)|w(ast|bar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|r((?:d|us)har))|ur((?:ds|u)har)|jcy|par(lt)?|e(s(s(sim|dot|eq(q?gtr)|approx|gtr)|cc|dot(o(r)?)?|g(es)?)?|q(slant|q)?|ft(harpoon(down|up)|threetimes|leftarrows|arrow(tail)?|right(squigarrow|harpoons|arrow(s)?))|g)?|v(nE|ertneqq)|f(isht|loor|r)|E(g)?|l(hard|corner|tri|arr)?|a(ng(d|le)?|cute|t(e(s)?|ail)?|p|emptyv|quo|rr(sim|hk|tl|pl|fs|lp|b(fs)?)?|gran|mbda)|r(har(d)?|corner|tri|arr|m)|g(E)?|m(idot|oust(ache)?)|b(arr|r(k(sl([du])|e)|ac([ek]))|brk)|A(tail|arr|rr))|L(s(h|cr|trok)|c(y|edil|aron)|t|o(ng(RightArrow|left((?:|right)arrow)|rightarrow|Left((?:Right|)Arrow))|pf|wer((?:Righ|Lef)tArrow))|T|e(ss(Greater|SlantEqual|Tilde|EqualGreater|FullEqual|Less)|ft(Right(Vector|Arrow)|Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|rightarrow|Floor|A(ngleBracket|rrow(RightArrow|Bar)?)))|Jcy|fr|l(eftarrow)?|a(ng|cute|placetrf|rr|mbda)|midot))|(M(scr|cy|inusPlus|opf|u|e(diumSpace|llintrf)|fr|ap)|m(s(cr|tpos)|ho|nplus|c(y|omma)|i(nus(d(u)?|b)?|cro|d(cir|dot|ast)?)|o(dels|pf)|dash|u((?:lti|)map)?|p|easuredangle|DDot|fr|l(cp|dr)|a(cr|p(sto(down|up|left)?)?|l(t(ese)?|e)|rker)))|(n(s(hort(parallel|mid)|c(cue|[er])?|im(e(q)?)?|u(cc(eq)?|p(set(eq(q)?)?|[Ee])?|b(set(eq(q)?)?|[Ee])?)|par|qsu([bp]e)|mid)|Rightarrow|h(par|arr|Arr)|G(t(v)?|g)|c(y|ong(dot)?|up|edil|a(p|ron))|t(ilde|lg|riangle(left(eq)?|right(eq)?)|gl)|i(s(d)?|v)?|o(t(ni(v([abc]))?|in(dot|v([abc])|E)?)?|pf)|dash|u(m(sp|ero)?)?|jcy|p(olint|ar(sl|t|allel)?|r(cue|e(c(eq)?)?)?)|e(s(im|ear)|dot|quiv|ar(hk|r(ow)?)|xist(s)?|Arr)?|v(sim|infin|Harr|dash|Dash|l(t(rie)?|e|Arr)|ap|r(trie|Arr)|g([et]))|fr|w(near|ar(hk|r(ow)?)|Arr)|V([Dd]ash)|l(sim|t(ri(e)?)?|dr|e(s(s)?|q(slant|q)?|ft((?:|right)arrow))?|E|arr|Arr)|a(ng|cute|tur(al(s)?)?|p(id|os|prox|E)?|bla)|r(tri(e)?|ightarrow|arr([cw])?|Arr)|g(sim|t(r)?|e(s|q(slant|q)?)?|E)|mid|L(t(v)?|eft((?:|right)arrow)|l)|b(sp|ump(e)?))|N(scr|c(y|edil|aron)|tilde|o(nBreakingSpace|Break|t(R(ightTriangle(Bar|Equal)?|everseElement)|Greater(Greater|SlantEqual|Tilde|Equal|FullEqual|Less)?|S(u(cceeds(SlantEqual|Tilde|Equal)?|perset(Equal)?|bset(Equal)?)|quareSu(perset(Equal)?|bset(Equal)?))|Hump(DownHump|Equal)|Nested(GreaterGreater|LessLess)|C(ongruent|upCap)|Tilde(Tilde|Equal|FullEqual)?|DoubleVerticalBar|Precedes((?:Slant|)Equal)?|E(qual(Tilde)?|lement|xists)|VerticalBar|Le(ss(Greater|SlantEqual|Tilde|Equal|Less)?|ftTriangle(Bar|Equal)?))?|pf)|u|e(sted(GreaterGreater|LessLess)|wLine|gative(MediumSpace|Thi((?:n|ck)Space)|VeryThinSpace))|Jcy|fr|acute))|(o(s(cr|ol|lash)|h(m|bar)|c(y|ir(c)?)|ti(lde|mes(as)?)|S|int|opf|d(sold|iv|ot|ash|blac)|uml|p(erp|lus|ar)|elig|vbar|f(cir|r)|l(c(ir|ross)|t|ine|arr)|a(st|cute)|r(slope|igof|or|d(er(of)?|[fm])?|v|arr)?|g(t|on|rave)|m(i(nus|cron|d)|ega|acr))|O(s(cr|lash)|c(y|irc)|ti(lde|mes)|opf|dblac|uml|penCurly((?:Double|)Quote)|ver(B(ar|rac(e|ket))|Parenthesis)|fr|Elig|acute|r|grave|m(icron|ega|acr)))|(p(s(cr|i)|h(i(v)?|one|mmat)|cy|i(tchfork|v)?|o(intint|und|pf)|uncsp|er(cnt|tenk|iod|p|mil)|fr|l(us(sim|cir|two|d([ou])|e|acir|mn|b)?|an(ck(h)?|kv))|ar(s(im|l)|t|a(llel)?)?|r(sim|n(sim|E|ap)|cue|ime(s)?|o(d|p(to)?|f(surf|line|alar))|urel|e(c(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?)?|E|ap)?|m)|P(s(cr|i)|hi|cy|i|o(incareplane|pf)|fr|lusMinus|artialD|r(ime|o(duct|portion(al)?)|ecedes(SlantEqual|Tilde|Equal)?)?))|(q(scr|int|opf|u(ot|est(eq)?|at(int|ernions))|prime|fr)|Q(scr|opf|UOT|fr))|(R(s(h|cr)|ho|c(y|edil|aron)|Barr|ight(Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|Floor|A(ngleBracket|rrow(Bar|LeftArrow)?))|o(undImplies|pf)|uleDelayed|e(verse(UpEquilibrium|E(quilibrium|lement)))?|fr|EG|a(ng|cute|rr(tl)?)|rightarrow)|r(s(h|cr|q(uo(r)?|b)|aquo)|h(o(v)?|ar(d|u(l)?))|nmid|c(y|ub|e(d??il)|aron)|Barr|t(hree|imes|ri([ef]|ltri)?)|i(singdotseq|ng|ght(squigarrow|harpoon(down|up)|threetimes|left(harpoons|arrows)|arrow(tail)?|rightarrows))|Har|o(times|p(f|lus|ar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|ldhar)|uluhar|p(polint|ar(gt)?)|e(ct|al(s|ine|part)?|g)|f(isht|loor|r)|l(har|arr|m)|a(ng([de]|le)?|c(ute|e)|t(io(nals)?|ail)|dic|emptyv|quo|rr(sim|hk|c|tl|pl|fs|w|lp|ap|b(fs)?)?)|rarr|x|moust(ache)?|b(arr|r(k(sl([du])|e)|ac([ek]))|brk)|A(tail|arr|rr)))|(s(s(cr|tarf|etmn|mile)|h(y|c(hcy|y)|ort(parallel|mid)|arp)|c(sim|y|n(sim|E|ap)|cue|irc|polint|e(dil)?|E|a(p|ron))?|t(ar(f)?|r(ns|aight(phi|epsilon)))|i(gma([fv])?|m(ne|dot|plus|e(q)?|l(E)?|rarr|g(E)?)?)|zlig|o(pf|ftcy|l(b(ar)?)?)|dot([be])?|u(ng|cc(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?|p(s(im|u([bp])|et(neq(q)?|eq(q)?)?)|hs(ol|ub)|1|n([Ee])|2|d(sub|ot)|3|plus|e(dot)?|E|larr|mult)?|m|b(s(im|u([bp])|et(neq(q)?|eq(q)?)?)|n([Ee])|dot|plus|e(dot)?|E|rarr|mult)?)|pa(des(uit)?|r)|e(swar|ct|tm(n|inus)|ar(hk|r(ow)?)|xt|mi|Arr)|q(su(p(set(eq)?|e)?|b(set(eq)?|e)?)|c(up(s)?|ap(s)?)|u(f|ar([ef]))?)|fr(own)?|w(nwar|ar(hk|r(ow)?)|Arr)|larr|acute|rarr|m(t(e(s)?)?|i(d|le)|eparsl|a(shp|llsetminus))|bquo)|S(scr|hort((?:Right|Down|Up|Left)Arrow)|c(y|irc|edil|aron)?|tar|igma|H(cy|CHcy)|opf|u(c(hThat|ceeds(SlantEqual|Tilde|Equal)?)|p(set|erset(Equal)?)?|m|b(set(Equal)?)?)|OFTcy|q(uare(Su(perset(Equal)?|bset(Equal)?)|Intersection|Union)?|rt)|fr|acute|mallCircle))|(t(s(hcy|c([ry])|trok)|h(i(nsp|ck(sim|approx))|orn|e(ta(sym|v)?|re(4|fore))|k(sim|ap))|c(y|edil|aron)|i(nt|lde|mes(d|b(ar)?)?)|o(sa|p(cir|f(ork)?|bot)?|ea)|dot|prime|elrec|fr|w(ixt|ohead((?:lef|righ)tarrow))|a(u|rget)|r(i(sb|time|dot|plus|e|angle(down|q|left(eq)?|right(eq)?)?|minus)|pezium|ade)|brk)|T(s(cr|trok)|RADE|h(i((?:n|ck)Space)|e(ta|refore))|c(y|edil|aron)|S(H??cy)|ilde(Tilde|Equal|FullEqual)?|HORN|opf|fr|a([bu])|ripleDot))|(u(scr|h(ar([lr])|blk)|c(y|irc)|t(ilde|dot|ri(f)?)|Har|o(pf|gon)|d(har|arr|blac)|u(arr|ml)|p(si(h|lon)?|harpoon(left|right)|downarrow|uparrows|lus|arrow)|f(isht|r)|wangle|l(c(orn(er)?|rop)|tri)|a(cute|rr)|r(c(orn(er)?|rop)|tri|ing)|grave|m(l|acr)|br(cy|eve)|Arr)|U(scr|n(ion(Plus)?|der(B(ar|rac(e|ket))|Parenthesis))|c(y|irc)|tilde|o(pf|gon)|dblac|uml|p(si(lon)?|downarrow|Tee(Arrow)?|per((?:Righ|Lef)tArrow)|DownArrow|Equilibrium|arrow|Arrow(Bar|DownArrow)?)|fr|a(cute|rr(ocir)?)|ring|grave|macr|br(cy|eve)))|(v(s(cr|u(pn([Ee])|bn([Ee])))|nsu([bp])|cy|Bar(v)?|zigzag|opf|dash|prop|e(e(eq|bar)?|llip|r(t|bar))|Dash|fr|ltri|a(ngrt|r(s(igma|u(psetneq(q)?|bsetneq(q)?))|nothing|t(heta|riangle(left|right))|p(hi|i|ropto)|epsilon|kappa|r(ho)?))|rtri|Arr)|V(scr|cy|opf|dash(l)?|e(e|r(yThinSpace|t(ical(Bar|Separator|Tilde|Line))?|bar))|Dash|vdash|fr|bar))|(w(scr|circ|opf|p|e(ierp|d(ge(q)?|bar))|fr|r(eath)?)|W(scr|circ|opf|edge|fr))|(X(scr|i|opf|fr)|x(s(cr|qcup)|h([Aa]rr)|nis|c(irc|up|ap)|i|o(time|dot|p(f|lus))|dtri|u(tri|plus)|vee|fr|wedge|l([Aa]rr)|r([Aa]rr)|map))|(y(scr|c(y|irc)|icy|opf|u(cy|ml)|en|fr|ac(y|ute))|Y(scr|c(y|irc)|opf|uml|Icy|Ucy|fr|acute|Acy))|(z(scr|hcy|c(y|aron)|igrarr|opf|dot|e(ta|etrf)|fr|w(n?j)|acute)|Z(scr|c(y|aron)|Hcy|opf|dot|e(ta|roWidthSpace)|fr|acute)))(;)\\\",\\\"name\\\":\\\"constant.character.entity.named.$2.html\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"}},\\\"match\\\":\\\"(&)#[0-9]+(;)\\\",\\\"name\\\":\\\"constant.character.entity.numeric.decimal.html\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"}},\\\"match\\\":\\\"(&)#[Xx]\\\\\\\\h+(;)\\\",\\\"name\\\":\\\"constant.character.entity.numeric.hexadecimal.html\\\"},{\\\"match\\\":\\\"&(?=[0-9A-Za-z]+;)\\\",\\\"name\\\":\\\"invalid.illegal.ambiguous-ampersand.html\\\"}]},\\\"math\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(<)(math)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)(</)(\\\\\\\\2)\\\\\\\\s*(>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.$2.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.structure.$2.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!>)\\\\\\\\G\\\",\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]}],\\\"repository\\\":{\\\"attribute\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(s(hift|ymmetric|cript(sizemultiplier|level|minsize)|t(ackalign|retchy)|ide|u([bp]scriptshift)|e(parator(s)?|lection)|rc)|h(eight|ref)|n(otation|umalign)|c(haralign|olumn(spa(n|cing)|width|lines|align)|lose|rossout)|i(n(dent(shift(first|last)?|target|align(first|last)?)|fixlinebreakstyle)|d)|o(pen|verflow)|d(i(splay(style)?|r)|e(nomalign|cimalpoint|pth))|position|e(dge|qual(columns|rows))|voffset|f(orm|ence|rame(spacing)?)|width|l(space|ine(thickness|leading|break(style|multchar)?)|o(ngdivstyle|cation)|ength|quote|argeop)|a(c(cent(under)?|tiontype)|l(t(text|img(-(height|valign|width))?)|ign(mentscope)?))|r(space|ow(spa(n|cing)|lines|align)|quote)|groupalign|x(link:href|mlns)|m(in(size|labelspacing)|ovablelimits|a(th(size|color|variant|background)|xsize))|bevelled)(?![-:\\\\\\\\w])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.$1.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-interior\\\"}]},{\\\"begin\\\":\\\"([^\\\\\\\\x00- \\\\\\\"'/<=>\\\\\\\\x7F-\\\\\\\\x{9F}-\\\\\\\\x{4FFFE}\\\\\\\\x{4FFFF}\\\\\\\\x{5FFFE}\\\\\\\\x{5FFFF}\\\\\\\\x{6FFFE}\\\\\\\\x{6FFFF}\\\\\\\\x{7FFFE}\\\\\\\\x{7FFFF}\\\\\\\\x{8FFFE}\\\\\\\\x{8FFFF}\\\\\\\\x{9FFFE}\\\\\\\\x{9FFFF}\\\\\\\\x{AFFFE}\\\\\\\\x{AFFFF}\\\\\\\\x{BFFFE}\\\\\\\\x{BFFFF}\\\\\\\\x{CFFFE}\\\\\\\\x{CFFFF}\\\\\\\\x{DFFFE}\\\\\\\\x{DFFFF}\\\\\\\\x{EFFFE}\\\\\\\\x{EFFFF}\\\\\\\\x{FFFFE}\\\\\\\\x{FFFFF}\\\\\\\\x{10FFFE}\\\\\\\\x{10FFFF}]+)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.unrecognized.$1.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-interior\\\"}]},{\\\"match\\\":\\\"[^>\\\\\\\\s]+\\\",\\\"name\\\":\\\"invalid.illegal.character-not-allowed-here.html\\\"}]},\\\"tags\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#cdata\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.math.$2.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)(annotation|annotation-xml|semantics|menclose|merror|mfenced|mfrac|mpadded|mphantom|mroot|mrow|msqrt|mstyle|mmultiscripts|mover|mprescripts|msub|msubsup|msup|munder|munderover|none|mlabeledtr|mtable|mtd|mtr|mlongdiv|mscarries|mscarry|msgroup|msline|msrow|mstack|maction)(?=\\\\\\\\s|/?>)(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>)\\\",\\\"name\\\":\\\"meta.element.structure.math.$2.html\\\"},{\\\"begin\\\":\\\"(?i)(<)(annotation|annotation-xml|semantics|menclose|merror|mfenced|mfrac|mpadded|mphantom|mroot|mrow|msqrt|mstyle|mmultiscripts|mover|mprescripts|msub|msubsup|msup|munder|munderover|none|mlabeledtr|mtable|mtd|mtr|mlongdiv|mscarries|mscarry|msgroup|msline|msrow|mstack|maction)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.math.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)(</)(\\\\\\\\2)\\\\\\\\s*(>)|(/>)|(?=</\\\\\\\\w+)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.math.$2.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.structure.math.$2.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!>)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.inline.math.$2.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)(m(?:[inos]|space|text|aligngroup|alignmark))(?=\\\\\\\\s|/?>)(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>)\\\",\\\"name\\\":\\\"meta.element.inline.math.$2.html\\\"},{\\\"begin\\\":\\\"(?i)(<)(m(?:[inos]|space|text|aligngroup|alignmark))(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.inline.math.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)(</)(\\\\\\\\2)\\\\\\\\s*(>)|(/>)|(?=</\\\\\\\\w+)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.inline.math.$2.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.inline.math.$2.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!>)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.inline.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.object.math.$2.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)(mglyph)(?=\\\\\\\\s|/?>)(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>)\\\",\\\"name\\\":\\\"meta.element.object.math.$2.html\\\"},{\\\"begin\\\":\\\"(?i)(<)(mglyph)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.object.math.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)(</)(\\\\\\\\2)\\\\\\\\s*(>)|(/>)|(?=</\\\\\\\\w+)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.object.math.$2.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.object.math.$2.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!>)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.object.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.other.invalid.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.unrecognized-tag.html\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)(([:\\\\\\\\w]+))(?=\\\\\\\\s|/?>)(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>)\\\",\\\"name\\\":\\\"meta.element.other.invalid.html\\\"},{\\\"begin\\\":\\\"(?i)(<)((\\\\\\\\w[^>\\\\\\\\s]*))(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.other.invalid.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.unrecognized-tag.html\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)(</)((\\\\\\\\2))\\\\\\\\s*(>)|(/>)|(?=</\\\\\\\\w+)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.other.invalid.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.unrecognized-tag.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.other.invalid.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!>)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.other.invalid.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"include\\\":\\\"#tags-invalid\\\"}]}}},\\\"svg\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(<)(svg)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)(</)(\\\\\\\\2)\\\\\\\\s*(>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.$2.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.structure.$2.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!>)\\\\\\\\G\\\",\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]}],\\\"repository\\\":{\\\"attribute\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(s(hape-rendering|ystemLanguage|cale|t(yle|itchTiles|op-(color|opacity)|dDeviation|em([hv])|artOffset|r(i(ng|kethrough-(thickness|position))|oke(-(opacity|dash(offset|array)|width|line(cap|join)|miterlimit))?))|urfaceScale|p(e(cular(Constant|Exponent)|ed)|acing|readMethod)|eed|lope)|h(oriz-(origin-x|adv-x)|eight|anging|ref(lang)?)|y([12]|ChannelSelector)?|n(umOctaves|ame)|c(y|o(ntentS((?:cript|tyle)Type)|lor(-(interpolation(-filters)?|profile|rendering))?)|ursor|l(ip(-(path|rule)|PathUnits)?|ass)|a(p-height|lcMode)|x)|t(ype|o|ext(-(decoration|anchor|rendering)|Length)|a(rget([XY])?|b(index|leValues))|ransform)|i(n(tercept|2)?|d(eographic)?|mage-rendering)|z(oomAndPan)?|o(p(erator|acity)|ver(flow|line-(thickness|position))|ffset|r(i(ent(ation)?|gin)|der))|d(y|i(splay|visor|ffuseConstant|rection)|ominant-baseline|ur|e(scent|celerate)|x)?|u(1|n(i(code(-(range|bidi))?|ts-per-em)|derline-(thickness|position))|2)|p(ing|oint(s(At([XYZ]))?|er-events)|a(nose-1|t(h(Length)?|tern(ContentUnits|Transform|Units))|int-order)|r(imitiveUnits|eserveA(spectRatio|lpha)))|e(n(d|able-background)|dgeMode|levation|x(ternalResourcesRequired|ponent))|v(i(sibility|ew(Box|Target))|-(hanging|ideographic|alphabetic|mathematical)|e(ctor-effect|r(sion|t-(origin-([xy])|adv-y)))|alues)|k([123]|e(y(Splines|Times|Points)|rn(ing|el(Matrix|UnitLength)))|4)?|f(y|il(ter(Res|Units)?|l(-(opacity|rule))?)|o(nt-(s(t(yle|retch)|ize(-adjust)?)|variant|family|weight)|rmat)|lood-(color|opacity)|r(om)?|x)|w(idth(s)?|ord-spacing|riting-mode)|l(i(ghting-color|mitingConeAngle)|ocal|e(ngthAdjust|tter-spacing)|ang)|a(scent|cc(umulate|ent-height)|ttribute(Name|Type)|zimuth|dditive|utoReverse|l(ignment-baseline|phabetic|lowReorder)|rabic-form|mplitude)|r(y|otate|e(s(tart|ult)|ndering-intent|peat(Count|Dur)|quired(Extensions|Features)|f([XY]|errerPolicy)|l)|adius|x)?|g([12]|lyph(Ref|-(name|orientation-(horizontal|vertical)))|radient(Transform|Units))|x([12]|ChannelSelector|-height|link:(show|href|t(ype|itle)|a(ctuate|rcrole)|role)|ml:(space|lang|base))?|m(in|ode|e(thod|dia)|a(sk((?:Content|)Units)?|thematical|rker(Height|-(start|end|mid)|Units|Width)|x))|b(y|ias|egin|ase(Profile|line-shift|Frequency)|box))(?![-:\\\\\\\\w])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.$1.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-interior\\\"}]},{\\\"begin\\\":\\\"([^\\\\\\\\x00- \\\\\\\"'/<=>\\\\\\\\x7F-\\\\\\\\x{9F}-\\\\\\\\x{4FFFE}\\\\\\\\x{4FFFF}\\\\\\\\x{5FFFE}\\\\\\\\x{5FFFF}\\\\\\\\x{6FFFE}\\\\\\\\x{6FFFF}\\\\\\\\x{7FFFE}\\\\\\\\x{7FFFF}\\\\\\\\x{8FFFE}\\\\\\\\x{8FFFF}\\\\\\\\x{9FFFE}\\\\\\\\x{9FFFF}\\\\\\\\x{AFFFE}\\\\\\\\x{AFFFF}\\\\\\\\x{BFFFE}\\\\\\\\x{BFFFF}\\\\\\\\x{CFFFE}\\\\\\\\x{CFFFF}\\\\\\\\x{DFFFE}\\\\\\\\x{DFFFF}\\\\\\\\x{EFFFE}\\\\\\\\x{EFFFF}\\\\\\\\x{FFFFE}\\\\\\\\x{FFFFF}\\\\\\\\x{10FFFE}\\\\\\\\x{10FFFF}]+)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.unrecognized.$1.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-interior\\\"}]},{\\\"match\\\":\\\"[^>\\\\\\\\s]+\\\",\\\"name\\\":\\\"invalid.illegal.character-not-allowed-here.html\\\"}]},\\\"tags\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#cdata\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.svg.$2.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)(color-profile|desc|metadata|script|style|title)(?=\\\\\\\\s|/?>)(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>)\\\",\\\"name\\\":\\\"meta.element.metadata.svg.$2.html\\\"},{\\\"begin\\\":\\\"(?i)(<)(color-profile|desc|metadata|script|style|title)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.svg.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)(</)(\\\\\\\\2)\\\\\\\\s*(>)|(/>)|(?=</\\\\\\\\w+)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.svg.$2.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.metadata.svg.$2.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!>)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.metadata.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.svg.$2.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)(animateMotion|clipPath|defs|feComponentTransfer|feDiffuseLighting|feMerge|feSpecularLighting|filter|g|hatch|linearGradient|marker|mask|mesh|meshgradient|meshpatch|meshrow|pattern|radialGradient|switch|text|textPath)(?=\\\\\\\\s|/?>)(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>)\\\",\\\"name\\\":\\\"meta.element.structure.svg.$2.html\\\"},{\\\"begin\\\":\\\"(?i)(<)(animateMotion|clipPath|defs|feComponentTransfer|feDiffuseLighting|feMerge|feSpecularLighting|filter|g|hatch|linearGradient|marker|mask|mesh|meshgradient|meshpatch|meshrow|pattern|radialGradient|switch|text|textPath)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.svg.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)(</)(\\\\\\\\2)\\\\\\\\s*(>)|(/>)|(?=</\\\\\\\\w+)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.svg.$2.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.structure.svg.$2.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!>)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.inline.svg.$2.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)(a|animate|discard|feBlend|feColorMatrix|feComposite|feConvolveMatrix|feDisplacementMap|feDistantLight|feDropShadow|feFlood|feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur|feMergeNode|feMorphology|feOffset|fePointLight|feSpotLight|feTile|feTurbulence|hatchPath|mpath|set|solidcolor|stop|tspan)(?=\\\\\\\\s|/?>)(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>)\\\",\\\"name\\\":\\\"meta.element.inline.svg.$2.html\\\"},{\\\"begin\\\":\\\"(?i)(<)(a|animate|discard|feBlend|feColorMatrix|feComposite|feConvolveMatrix|feDisplacementMap|feDistantLight|feDropShadow|feFlood|feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur|feMergeNode|feMorphology|feOffset|fePointLight|feSpotLight|feTile|feTurbulence|hatchPath|mpath|set|solidcolor|stop|tspan)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.inline.svg.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)(</)(\\\\\\\\2)\\\\\\\\s*(>)|(/>)|(?=</\\\\\\\\w+)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.inline.svg.$2.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.inline.svg.$2.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!>)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.inline.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.object.svg.$2.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)(circle|ellipse|feImage|foreignObject|image|line|path|polygon|polyline|rect|symbol|use|view)(?=\\\\\\\\s|/?>)(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>)\\\",\\\"name\\\":\\\"meta.element.object.svg.$2.html\\\"},{\\\"begin\\\":\\\"(?i)(<)(a|circle|ellipse|feImage|foreignObject|image|line|path|polygon|polyline|rect|symbol|use|view)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.object.svg.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)(</)(\\\\\\\\2)\\\\\\\\s*(>)|(/>)|(?=</\\\\\\\\w+)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.object.svg.$2.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.object.svg.$2.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!>)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.object.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.other.svg.$2.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)((altGlyph|altGlyphDef|altGlyphItem|animateColor|animateTransform|cursor|font|font-face|font-face-format|font-face-name|font-face-src|font-face-uri|glyph|glyphRef|hkern|missing-glyph|tref|vkern))(?=\\\\\\\\s|/?>)(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>)\\\",\\\"name\\\":\\\"meta.element.other.svg.$2.html\\\"},{\\\"begin\\\":\\\"(?i)(<)((altGlyph|altGlyphDef|altGlyphItem|animateColor|animateTransform|cursor|font|font-face|font-face-format|font-face-name|font-face-src|font-face-uri|glyph|glyphRef|hkern|missing-glyph|tref|vkern))(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.other.svg.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)(</)((\\\\\\\\2))\\\\\\\\s*(>)|(/>)|(?=</\\\\\\\\w+)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.other.svg.$2.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.other.svg.$2.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!>)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.other.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.other.invalid.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.unrecognized-tag.html\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)(([:\\\\\\\\w]+))(?=\\\\\\\\s|/?>)(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>)\\\",\\\"name\\\":\\\"meta.element.other.invalid.html\\\"},{\\\"begin\\\":\\\"(?i)(<)((\\\\\\\\w[^>\\\\\\\\s]*))(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.other.invalid.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.unrecognized-tag.html\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)(</)((\\\\\\\\2))\\\\\\\\s*(>)|(/>)|(?=</\\\\\\\\w+)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.other.invalid.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.unrecognized-tag.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.other.invalid.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!>)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.other.invalid.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"include\\\":\\\"#tags-invalid\\\"}]}}},\\\"tags-invalid\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(</?)((\\\\\\\\w[^>\\\\\\\\s]*))(?<!/)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.unrecognized-tag.html\\\"}},\\\"end\\\":\\\"((?: ?/)?>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.other.$2.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]}]},\\\"tags-valid\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=<(?i:style)\\\\\\\\b(?!-))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.embedded.leading.html\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)([\\\\\\\\t ]*$\\\\\\\\n?)?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.embedded.trailing.html\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(<)(style)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.style.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"(?i)((<)/)(style)\\\\\\\\s*(>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.style.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"source.css-ignored-vscode\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.embedded.block.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"name\\\":\\\"meta.tag.metadata.style.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?!\\\\\\\\G)\\\",\\\"end\\\":\\\"(?=</(?i:style))\\\",\\\"name\\\":\\\"source.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css\\\"}]}]}]},{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=<(?i:script)\\\\\\\\b(?!-))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.embedded.leading.html\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)([\\\\\\\\t ]*$\\\\\\\\n?)?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.embedded.trailing.html\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)((?i:script))\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.script.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"(/)((?i:script))(>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.script.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.embedded.block.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(>)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.script.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"((<))(?=/(?i:script))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.script.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"source.js-ignored-vscode\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?=</(?i:script))\\\",\\\"name\\\":\\\"source.js\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.js\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"//\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"end\\\":\\\"(?=</script)|\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.double-slash.js\\\"}]},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"end\\\":\\\"\\\\\\\\*/|(?=</script)\\\",\\\"name\\\":\\\"comment.block.js\\\"},{\\\"include\\\":\\\"source.js\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?i:(?=>|type(?=[=\\\\\\\\s])(?!\\\\\\\\s*=\\\\\\\\s*(''|\\\\\\\"\\\\\\\"|([\\\\\\\"']?)(text/(javascript(1\\\\\\\\.[0-5])?|x-javascript|jscript|livescript|(x-)?ecmascript|babel)|application/((?:(x-)?jav|(x-)?ecm)ascript)|module)[\\\\\\\"'>\\\\\\\\s]))))\\\",\\\"name\\\":\\\"meta.tag.metadata.script.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i:(?=type\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)text/(x-handlebars|(x-(handlebars-)?|ng-)?template|html)[\\\\\\\"'>\\\\\\\\s]))\\\",\\\"end\\\":\\\"((<))(?=/(?i:script))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.script.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"text.html.basic\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.metadata.script.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?!\\\\\\\\G)\\\",\\\"end\\\":\\\"(?=</(?i:script))\\\",\\\"name\\\":\\\"text.html.basic\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic\\\"}]}]},{\\\"begin\\\":\\\"(?=(?i:type))\\\",\\\"end\\\":\\\"(<)(?=/(?i:script))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.script.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.metadata.script.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?!\\\\\\\\G)\\\",\\\"end\\\":\\\"(?=</(?i:script))\\\",\\\"name\\\":\\\"source.unknown\\\"}]}]}]}]},{\\\"begin\\\":\\\"(?i)(<)(base|link|meta)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"/?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.metadata.$2.void.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)(noscript|title)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.metadata.$2.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(</)(noscript|title)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.metadata.$2.end.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)(col|hr|input)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"/?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.$2.void.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)(address|article|aside|blockquote|body|button|caption|colgroup|datalist|dd|details|dialog|div|dl|dt|fieldset|figcaption|figure|footer|form|head|header|hgroup|html|h[1-6]|label|legend|li|main|map|menu|meter|nav|ol|optgroup|option|output|p|pre|progress|section|select|slot|summary|table|tbody|td|template|textarea|tfoot|th|thead|tr|ul)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.$2.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(</)(address|article|aside|blockquote|body|button|caption|colgroup|datalist|dd|details|dialog|div|dl|dt|fieldset|figcaption|figure|footer|form|head|header|hgroup|html|h[1-6]|label|legend|li|main|map|menu|meter|nav|ol|optgroup|option|output|p|pre|progress|section|select|slot|summary|table|tbody|td|template|textarea|tfoot|th|thead|tr|ul)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.$2.end.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)(area|br|wbr)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"/?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.inline.$2.void.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)(a|abbr|b|bdi|bdo|cite|code|data|del|dfn|em|i|ins|kbd|mark|q|rp|rt|ruby|s|samp|small|span|strong|sub|sup|time|u|var)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.inline.$2.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(</)(a|abbr|b|bdi|bdo|cite|code|data|del|dfn|em|i|ins|kbd|mark|q|rp|rt|ruby|s|samp|small|span|strong|sub|sup|time|u|var)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.inline.$2.end.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)(embed|img|param|source|track)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"/?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.object.$2.void.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)(audio|canvas|iframe|object|picture|video)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.object.$2.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(</)(audio|canvas|iframe|object|picture|video)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.object.$2.end.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)((basefont|isindex))(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"}},\\\"end\\\":\\\"/?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.metadata.$2.void.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)((center|frameset|noembed|noframes))(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.$2.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(</)((center|frameset|noembed|noframes))(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.$2.end.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)((acronym|big|blink|font|strike|tt|xmp))(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.inline.$2.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(</)((acronym|big|blink|font|strike|tt|xmp))(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.inline.$2.end.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)((frame))(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"}},\\\"end\\\":\\\"/?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.object.$2.void.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)((applet))(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.object.$2.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(</)((applet))(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.object.$2.end.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)((dir|keygen|listing|menuitem|plaintext|spacer))(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.no-longer-supported.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.other.$2.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(</)((dir|keygen|listing|menuitem|plaintext|spacer))(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.no-longer-supported.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.other.$2.end.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#math\\\"},{\\\"include\\\":\\\"#svg\\\"},{\\\"begin\\\":\\\"(<)([A-Za-z][.0-9A-Z_a-z·À-ÖØ-öø-ͽͿ-‿⁀⁰-Ⰰ-、-豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}]*-[-.0-9A-Z_a-z·À-ÖØ-öø-ͽͿ-‿⁀⁰-Ⰰ-、-豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}]*)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"/?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.custom.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(</)([A-Za-z][.0-9A-Z_a-z·À-ÖØ-öø-ͽͿ-‿⁀⁰-Ⰰ-、-豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}]*-[-.0-9A-Z_a-z·À-ÖØ-öø-ͽͿ-‿⁀⁰-Ⰰ-、-豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}]*)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.custom.end.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]}]},\\\"xml-processing\\\":{\\\"begin\\\":\\\"(<\\\\\\\\?)(xml)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"(\\\\\\\\?>)\\\",\\\"name\\\":\\\"meta.tag.metadata.processing.xml.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]}},\\\"scopeName\\\":\\\"text.html.basic\\\",\\\"embeddedLangs\\\":[\\\"javascript\\\",\\\"css\\\"]}\"))\n\nexport default [\n...javascript,\n...css,\nlang\n]\n"],"names":["lang","html","javascript","css"],"mappings":"6JAGMA,EAAO,OAAO,OAAO,KAAK,MAAM,gjvDAA8m4D,CAAC,EAErp4DC,EAAe,CACf,GAAGC,EAAAA,QACH,GAAGC,EAAAA,QACHH,CACA","x_google_ignoreList":[0]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const q=require("./native-spec.cjs"),f=require("./index-
|
|
1
|
+
"use strict";const q=require("./native-spec.cjs"),f=require("./index-ELzKORto.cjs"),O={toolbarGroup:`
|
|
2
2
|
<svg
|
|
3
3
|
aria-hidden="true"
|
|
4
4
|
class="lucide lucide-ellipsis"
|
|
@@ -33,4 +33,4 @@
|
|
|
33
33
|
<path d="m6 9 6 6 6-6" />
|
|
34
34
|
</svg>
|
|
35
35
|
`},V=t=>Array.from(t.querySelectorAll(".bridgerte__toolbar-group-menu-item")).filter(e=>!e.disabled),j=(t,e)=>{const l=V(t)[e];l&&l.focus()},Z=(t,e,i,l,u)=>{var s,d;const n=V(e),r=document.activeElement instanceof HTMLButtonElement?n.indexOf(document.activeElement):-1,m=v=>{var o;if(n.length===0)return;const h=((r>=0?r:0)+v+n.length)%n.length;(o=n[h])==null||o.focus()};switch(t.key){case"ArrowDown":t.preventDefault(),m(1);break;case"ArrowUp":t.preventDefault(),m(-1);break;case"Home":t.preventDefault(),(s=n[0])==null||s.focus();break;case"End":t.preventDefault(),(d=n.at(-1))==null||d.focus();break;case"Enter":case" ":document.activeElement instanceof HTMLButtonElement&&(t.preventDefault(),l(document.activeElement),u(),i.focus());break;case"Escape":t.preventDefault(),i.focus(),u();break}},x="button[data-bridgerte-toolbar-group-id]",tt="button[data-bridgerte-toolbar-item-id]",M=[tt,".bridgerte__toolbar-group-menu-item"].join(","),et=(t,e)=>{const i=t.map(l=>f.getMenuStateForItem(l,e));return{active:i.some(l=>l.active),disabled:i.length>0&&i.every(l=>l.disabled)}},ot=(t,e,i,l,u)=>{const n=f.getMenuStateForItem(e,i),r=document.createElement("button"),m=l[e.icon]??f.defaultMenuIcons[e.icon];r.type="button",r.className="bridgerte__toolbar-button",r.disabled=n.disabled,r.dataset.active=String(n.active),r.dataset.bridgerteToolbarItemId=e.id,r.setAttribute("aria-label",e.label),r.setAttribute("aria-pressed",String(n.active)),u&&(r.dataset.tooltip=e.label),f.appendMenuIcon(r,m,e.label),t.append(r)},nt=(t,e,i,l,u)=>{const n=document.createElement("button"),r=et(e.items,i),m=e.icon?l[e.icon]??f.defaultMenuIcons[e.icon]:O.toolbarGroup,s=document.createElement("span");n.type="button",n.className="bridgerte__toolbar-button bridgerte__toolbar-group-button",n.disabled=r.disabled,n.dataset.active=String(r.active),n.dataset.bridgerteToolbarGroupId=e.key,n.dataset.open="false",n.setAttribute("aria-label",e.title),n.setAttribute("aria-haspopup","menu"),n.setAttribute("aria-expanded","false"),n.setAttribute("aria-pressed",String(r.active)),u&&(n.dataset.tooltip=e.title),f.appendMenuIcon(n,m,e.title),s.className="bridgerte__toolbar-group-indicator",s.setAttribute("aria-hidden","true"),s.innerHTML=O.chevronDown,n.append(s),t.append(n)},rt=(t,e,i,l,u)=>{t.textContent="",e.forEach(n=>{if(n.type==="separator"){const m=document.createElement("span");m.className="bridgerte__toolbar-separator",m.dataset.separatorId=n.key,m.setAttribute("aria-hidden","true"),t.append(m);return}if(n.type==="button"){ot(t,n.item,i,l,u);return}const r=document.createElement("div");r.className="bridgerte__toolbar-group",r.dataset.group=n.key,r.setAttribute("aria-label",n.title),t.append(r),nt(r,n,i,l,u)})},G=(t,e,i,l)=>{if(t.textContent="",!e){t.dataset.visible="false";return}e.items.forEach(u=>{const n=f.getMenuStateForItem(u,i),r=document.createElement("button"),m=l[u.icon]??f.defaultMenuIcons[u.icon],s=document.createElement("span");r.type="button",r.className="bridgerte__menu-item bridgerte__toolbar-group-menu-item",r.disabled=n.disabled,r.dataset.active=String(n.active),r.dataset.bridgerteToolbarItemId=u.id,r.setAttribute("role","menuitem"),r.setAttribute("aria-label",u.label),r.setAttribute("aria-pressed",String(n.active)),f.appendMenuIcon(r,m,u.label),s.className="bridgerte__toolbar-group-menu-label",s.textContent=u.label,r.append(s),t.append(r)}),t.dataset.visible="true",t.style.minWidth=`${e.button.offsetWidth}px`},I=(t,e)=>{t.querySelectorAll(x).forEach(i=>{const l=(e==null?void 0:e.groupKey)===i.dataset.bridgerteToolbarGroupId;i.dataset.open=String(l),i.setAttribute("aria-expanded",String(l))})},X=(t,e)=>t.find(i=>i.type==="group"&&i.key===e),Y=8,_=(t,e)=>e instanceof Node&&t.contains(e),B=(t,e)=>t instanceof Element?t.closest(e):null,at=(t,e,i,l,u)=>{let n=null,r=null;const m=o=>B(o,x)??(_(e,o)?B(o,M):null),s=o=>{m(o.target)&&(o instanceof PointerEvent&&o.pointerType!=="mouse"||o.preventDefault())},d=o=>{const p=o.touches[0],y=B(o.target,x),w=_(e,o.target)?B(o.target,M):null,T=y??w;!T||!p||(n={button:T,kind:y?"group":"menu-item",startX:p.clientX,startY:p.clientY})},v=()=>{n=null},g=o=>{if(!n)return;const p=n,y=o.changedTouches[0],w=m(o.target);if(n=null,!y||w!==p.button)return;const T=Math.abs(y.clientX-p.startX),L=Math.abs(y.clientY-p.startY);if(!(T>Y||L>Y)){if(o.preventDefault(),o.stopPropagation(),r=p.button,p.kind==="group"){i(p.button);return}l(p.button),u()}},h=o=>{_(t,o.target)||_(e,o.target)||u()};return t.addEventListener("pointerdown",s),t.addEventListener("mousedown",s),t.addEventListener("touchstart",d,{passive:!1}),t.addEventListener("touchend",g),t.addEventListener("touchcancel",v),e.addEventListener("pointerdown",s),e.addEventListener("mousedown",s),e.addEventListener("touchstart",d,{passive:!1}),e.addEventListener("touchend",g),e.addEventListener("touchcancel",v),document.addEventListener("pointerdown",h,!0),{consumeSuppressedClick(o){return r!==o?!1:(r=null,!0)},destroy(){t.removeEventListener("pointerdown",s),t.removeEventListener("mousedown",s),t.removeEventListener("touchstart",d),t.removeEventListener("touchend",g),t.removeEventListener("touchcancel",v),e.removeEventListener("pointerdown",s),e.removeEventListener("mousedown",s),e.removeEventListener("touchstart",d),e.removeEventListener("touchend",g),e.removeEventListener("touchcancel",v),document.removeEventListener("pointerdown",h,!0)}}},st=8,it=6,ct=()=>{var t;return typeof window<"u"&&((t=window.matchMedia)==null?void 0:t.call(window,"(hover: hover) and (pointer: fine)").matches)===!0},D=t=>{const e=t instanceof Element?t.closest(M):null;return e instanceof HTMLButtonElement?e:null},U=t=>{const e=t instanceof Element?t.closest(x):null;return e instanceof HTMLButtonElement?e:null};function lt(t,e){const i=e.placement??"top",l=f.resolveMenuSchemaForDom(e.menuSchema??q.defaultMenuSchema,{menuLabels:e.menuLabels,payloadPanelConfig:e.payloadPanelConfig}),u=q.resolveToolbarMenu(e.toolbarConfig,l),n=u.flatMap(a=>a.type==="button"?[a.item]:a.type==="group"?a.items:[]),r=e.icons??{},m=ct(),s=document.createElement("div"),d=document.createElement("div"),v=t.closest(".bridgerte")??t;let g=!1,h=e.editor.getCommandStates(),o=null,p=null;const y=f.bindTouchPressedState(t,{targetSelector:["button[data-bridgerte-toolbar-item-id]","button[data-bridgerte-toolbar-group-id]"].join(",")}),w=f.bindTouchPressedState(d,{targetSelector:".bridgerte__toolbar-group-menu-item"}),T=()=>{v.append(s),v.append(d)},L=()=>{p==null||p.setOpen(!1),p==null||p.destroy(),p=null},H=()=>{o&&(L(),p=f.createFloatingLayer(o.button,d,{placement:i==="bottom"?"top-start":"bottom-start",offset:it,strategy:"fixed"}),p.setOpen(!0))},E=()=>{!o&&!p||(L(),o=null,G(d,o,h,r),I(t,o))},N=a=>{if(!g&&(h=a,o&&L(),rt(t,u,a,r,m),T(),o)){const c=Array.from(t.querySelectorAll(x)).find(Q=>Q.dataset.bridgerteToolbarGroupId===(o==null?void 0:o.groupKey)),b=X(u,o.groupKey);o=c&&b?{groupKey:o.groupKey,button:c,items:b.items}:null,G(d,o,h,r),I(t,o),o&&H()}},W=()=>{g||N(e.editor.getCommandStates())},S=()=>{s.dataset.visible="false",s.textContent=""},z=a=>{const c=a.dataset.tooltip;if(!m||!c)return;const b=a.getBoundingClientRect();s.textContent=c,s.dataset.visible="true",s.style.left=`${b.left+b.width/2}px`,s.style.top=`${b.top-st}px`},F=a=>{const c=D(a.target);c&&z(c)},K=a=>{const c=a.relatedTarget,b=D(a.target);b&&c instanceof Node&&b.contains(c)||S()},C=a=>{if(!(a instanceof HTMLButtonElement)||a.disabled)return;const c=n.find(b=>b.id===a.dataset.bridgerteToolbarItemId);if(c){if(c.payloadPanel){const b=a.getBoundingClientRect();e.editor.requestPayloadPanel({menuId:c.id,command:c.command,panel:c.payloadPanel,currentValues:f.getPayloadPanelCurrentValues(c,e.editor.getCommandStates()),anchorRect:{x:b.left,y:b.top,width:b.width,height:b.height}});return}e.editor.executeCommand(c.command)}},A=(a,c=!1)=>{const b=X(u,a.dataset.bridgerteToolbarGroupId);if(!(!b||a.disabled)){if((o==null?void 0:o.groupKey)===b.key){if(c){j(d,0);return}E();return}o={groupKey:b.key,button:a,items:b.items},S(),G(d,o,h,r),I(t,o),H(),c&&j(d,0)}},k=a=>{const c=U(a.target);if(c){if(a.preventDefault(),a.stopPropagation(),P.consumeSuppressedClick(c))return;A(c);return}const b=D(a.target);b&&(a.preventDefault(),a.stopPropagation(),!P.consumeSuppressedClick(b)&&(C(b),E()))},R=a=>{if(o&&d.contains(document.activeElement)){Z(a,d,o.button,C,E);return}const c=U(a.target);if(c&&(a.key==="Enter"||a.key===" "||a.key==="ArrowDown")){a.preventDefault(),a.stopPropagation(),A(c,!0);return}a.key==="Escape"&&E()};t.classList.add("bridgerte__toolbar"),s.className="bridgerte__toolbar-tooltip",s.dataset.visible="false",d.className="bridgerte__floating-menu bridgerte__toolbar-group-menu",d.dataset.visible="false",d.setAttribute("role","menu"),t.dataset.placement=i,t.setAttribute("role","toolbar"),t.setAttribute("aria-label",i==="bottom"?"BridgeRTE tabbar":"BridgeRTE toolbar"),t.addEventListener("click",k),d.addEventListener("click",k),document.addEventListener("keydown",R),m&&(t.addEventListener("mouseover",F),t.addEventListener("mouseout",K)),t.addEventListener("focusout",S),T();const P=at(t,d,A,C,E),J=e.editor.subscribeCommandStateChange(N);return{update:W,destroy(){g||(g=!0,J(),E(),t.removeEventListener("click",k),d.removeEventListener("click",k),document.removeEventListener("keydown",R),P.destroy(),m&&(t.removeEventListener("mouseover",F),t.removeEventListener("mouseout",K)),y(),w(),t.removeEventListener("focusout",S),s.remove(),d.remove(),t.classList.remove("bridgerte__toolbar"),delete t.dataset.placement,t.textContent="",t.removeAttribute("role"),t.removeAttribute("aria-label"))}}}const ut=/[\u200B-\u200D\uFEFF]/g,dt=["img","video","audio","iframe","table","pre","code","hr","figure","canvas","svg","math",'[data-type="mention"]'].join(","),$=t=>(t==null?void 0:t.replace(ut,"").trim())??"",bt=t=>{if(!$(t))return!1;const e=document.createElement("template");return e.innerHTML=t,!!($(e.content.textContent)||e.content.querySelector(dt))};exports.createRichTextToolbar=lt;exports.hasMeaningfulHtmlContent=bt;
|
|
36
|
-
//# sourceMappingURL=index-
|
|
36
|
+
//# sourceMappingURL=index-B1pp2R7F.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-Rj8iV2BH.cjs","sources":["../../dom/src/menuIcon/uiIcons.ts","../../dom/src/richTextToolbar/groupMenuKeyboard.ts","../../dom/src/richTextToolbar/render.ts","../../dom/src/richTextToolbar/groupMenuInteraction.ts","../../dom/src/richTextToolbar/index.ts","../../dom/src/htmlContent/index.ts"],"sourcesContent":["/**\n * DOM UI chrome icon 表。\n *\n * 这里放 toolbar 收纳入口、下拉箭头这类控件自身图标。它们不属于 `MenuItem.icon`\n * 跨端 schema,也不应该进入 `defaultMenuIcons` 的 schema 对齐检查。\n */\nexport const defaultMenuUiIcons = {\n toolbarGroup: `\n <svg\n aria-hidden=\"true\"\n class=\"lucide lucide-ellipsis\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <circle cx=\"12\" cy=\"12\" r=\"1\" />\n <circle cx=\"19\" cy=\"12\" r=\"1\" />\n <circle cx=\"5\" cy=\"12\" r=\"1\" />\n </svg>\n `,\n chevronDown: `\n <svg\n aria-hidden=\"true\"\n class=\"lucide lucide-chevron-down\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n `\n} as const;\n","export const getEnabledGroupMenuButtons = (menuElement: HTMLElement) => (\n Array.from(\n menuElement.querySelectorAll<HTMLButtonElement>('.bridgerte__toolbar-group-menu-item')\n ).filter((button) => !button.disabled)\n);\n\nexport const focusToolbarGroupMenuItem = (menuElement: HTMLElement, index: number) => {\n const buttons = getEnabledGroupMenuButtons(menuElement);\n const nextButton = buttons[index];\n\n if (nextButton) nextButton.focus();\n};\n\nexport const handleToolbarGroupMenuKeyDown = (\n event: KeyboardEvent,\n menuElement: HTMLElement,\n returnButton: HTMLButtonElement,\n executeToolbarButton: (button: HTMLButtonElement) => void,\n closeGroupMenu: () => void\n) => {\n const buttons = getEnabledGroupMenuButtons(menuElement);\n const activeIndex = document.activeElement instanceof HTMLButtonElement\n ? buttons.indexOf(document.activeElement)\n : -1;\n const focusByOffset = (offset: number) => {\n if (buttons.length === 0) return;\n\n const baseIndex = activeIndex >= 0 ? activeIndex : 0;\n const nextIndex = (baseIndex + offset + buttons.length) % buttons.length;\n\n buttons[nextIndex]?.focus();\n };\n\n /*\n * ARIA menu 语义要求支持 roving focus。这里不改 toolbar 的横向键盘模型,\n * 只在已打开的纵向收纳菜单内处理上下方向、首尾跳转和执行/关闭。\n */\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault();\n focusByOffset(1);\n break;\n case 'ArrowUp':\n event.preventDefault();\n focusByOffset(-1);\n break;\n case 'Home':\n event.preventDefault();\n buttons[0]?.focus();\n break;\n case 'End':\n event.preventDefault();\n buttons.at(-1)?.focus();\n break;\n case 'Enter':\n case ' ':\n if (document.activeElement instanceof HTMLButtonElement) {\n event.preventDefault();\n executeToolbarButton(document.activeElement);\n closeGroupMenu();\n returnButton.focus();\n }\n break;\n case 'Escape':\n event.preventDefault();\n returnButton.focus();\n closeGroupMenu();\n break;\n default:\n break;\n }\n};\n","import type { CommandState } from '@bridgerte/core';\nimport type { MenuItem, ResolvedToolbarItem } from '@bridgerte/native-spec';\nimport {\n appendMenuIcon,\n defaultMenuIcons,\n defaultMenuUiIcons\n} from './icons';\nimport { getMenuStateForItem } from '../menuRuntime';\nimport type {\n RichTextToolbarIcons,\n ToolbarGroupMenuState\n} from './type';\n\nexport const toolbarGroupButtonSelector = 'button[data-bridgerte-toolbar-group-id]';\nexport const toolbarButtonSelector = 'button[data-bridgerte-toolbar-item-id]';\n// 可执行按钮同时覆盖 toolbar 主按钮和 group menu 子项,避免浮层子菜单绕过统一命令入口。\nexport const toolbarExecutableButtonSelector = [\n toolbarButtonSelector,\n '.bridgerte__toolbar-group-menu-item'\n].join(',');\n\nconst getGroupMenuState = (items: MenuItem[], commandStates: CommandState[]) => {\n const itemStates = items.map((item) => getMenuStateForItem(item, commandStates));\n\n return {\n active: itemStates.some((state) => state.active),\n disabled: itemStates.length > 0 && itemStates.every((state) => state.disabled)\n };\n};\n\nconst renderToolbarButton = (\n groupElement: HTMLElement,\n item: MenuItem,\n commandStates: CommandState[],\n icons: RichTextToolbarIcons,\n enableTooltip: boolean\n) => {\n const state = getMenuStateForItem(item, commandStates);\n const button = document.createElement('button');\n // icon 兜底顺序固定为:业务覆盖 > DOM 默认 SVG > label 文本。\n const iconSvg = icons[item.icon] ?? defaultMenuIcons[item.icon];\n\n button.type = 'button';\n button.className = 'bridgerte__toolbar-button';\n button.disabled = state.disabled;\n button.dataset.active = String(state.active);\n button.dataset.bridgerteToolbarItemId = item.id;\n button.setAttribute('aria-label', item.label);\n button.setAttribute('aria-pressed', String(state.active));\n if (enableTooltip) button.dataset.tooltip = item.label;\n\n appendMenuIcon(button, iconSvg, item.label);\n\n groupElement.append(button);\n};\n\nconst renderToolbarGroupButton = (\n groupElement: HTMLElement,\n toolbarItem: Extract<ResolvedToolbarItem, { type: 'group' }>,\n commandStates: CommandState[],\n icons: RichTextToolbarIcons,\n enableTooltip: boolean\n) => {\n const button = document.createElement('button');\n const groupState = getGroupMenuState(toolbarItem.items, commandStates);\n const iconSvg = toolbarItem.icon\n ? icons[toolbarItem.icon] ?? defaultMenuIcons[toolbarItem.icon]\n : defaultMenuUiIcons.toolbarGroup;\n const indicator = document.createElement('span');\n\n button.type = 'button';\n button.className = 'bridgerte__toolbar-button bridgerte__toolbar-group-button';\n button.disabled = groupState.disabled;\n button.dataset.active = String(groupState.active);\n button.dataset.bridgerteToolbarGroupId = toolbarItem.key;\n button.dataset.open = 'false';\n button.setAttribute('aria-label', toolbarItem.title);\n button.setAttribute('aria-haspopup', 'menu');\n button.setAttribute('aria-expanded', 'false');\n button.setAttribute('aria-pressed', String(groupState.active));\n if (enableTooltip) button.dataset.tooltip = toolbarItem.title;\n\n appendMenuIcon(button, iconSvg, toolbarItem.title);\n\n indicator.className = 'bridgerte__toolbar-group-indicator';\n indicator.setAttribute('aria-hidden', 'true');\n indicator.innerHTML = defaultMenuUiIcons.chevronDown;\n button.append(indicator);\n groupElement.append(button);\n};\n\n/**\n * 渲染 toolbar 横向主入口。\n *\n * 字符串菜单直接渲染为按钮,`|` 渲染分割线。\n * 只有用户显式声明的 group 配置才生成收纳入口,避免 schema 隐式改变 DOM 结构。\n */\nexport const renderToolbar = (\n toolbarElement: HTMLElement,\n toolbarItems: ResolvedToolbarItem[],\n commandStates: CommandState[],\n icons: RichTextToolbarIcons,\n enableTooltip: boolean\n) => {\n toolbarElement.textContent = '';\n\n toolbarItems.forEach((toolbarItem) => {\n if (toolbarItem.type === 'separator') {\n const separatorElement = document.createElement('span');\n\n separatorElement.className = 'bridgerte__toolbar-separator';\n separatorElement.dataset.separatorId = toolbarItem.key;\n separatorElement.setAttribute('aria-hidden', 'true');\n toolbarElement.append(separatorElement);\n return;\n }\n\n if (toolbarItem.type === 'button') {\n renderToolbarButton(\n toolbarElement,\n toolbarItem.item,\n commandStates,\n icons,\n enableTooltip\n );\n return;\n }\n\n /*\n * 收纳菜单是用户在 toolbarConfig 里显式声明的结构;普通菜单不会自动生成 DOM 包裹,\n * 显示分组完全交给用户用 group 配置或 `|` 控制。\n */\n const groupElement = document.createElement('div');\n\n groupElement.className = 'bridgerte__toolbar-group';\n groupElement.dataset.group = toolbarItem.key;\n groupElement.setAttribute('aria-label', toolbarItem.title);\n toolbarElement.append(groupElement);\n\n renderToolbarGroupButton(\n groupElement,\n toolbarItem,\n commandStates,\n icons,\n enableTooltip\n );\n });\n};\n\n/**\n * 渲染 group button 打开的纵向收纳菜单。\n *\n * 浮层只展示 MenuItem 子项并复用现有 item id,点击执行仍由 index.ts 统一走 EditorAPI。\n */\nexport const renderToolbarGroupMenu = (\n menuElement: HTMLElement,\n groupMenuState: ToolbarGroupMenuState | null,\n commandStates: CommandState[],\n icons: RichTextToolbarIcons\n) => {\n menuElement.textContent = '';\n\n if (!groupMenuState) {\n menuElement.dataset.visible = 'false';\n return;\n }\n\n groupMenuState.items.forEach((item) => {\n const state = getMenuStateForItem(item, commandStates);\n const button = document.createElement('button');\n const iconSvg = icons[item.icon] ?? defaultMenuIcons[item.icon];\n const labelElement = document.createElement('span');\n\n button.type = 'button';\n button.className = 'bridgerte__menu-item bridgerte__toolbar-group-menu-item';\n button.disabled = state.disabled;\n button.dataset.active = String(state.active);\n button.dataset.bridgerteToolbarItemId = item.id;\n button.setAttribute('role', 'menuitem');\n button.setAttribute('aria-label', item.label);\n button.setAttribute('aria-pressed', String(state.active));\n\n appendMenuIcon(button, iconSvg, item.label);\n labelElement.className = 'bridgerte__toolbar-group-menu-label';\n labelElement.textContent = item.label;\n button.append(labelElement);\n menuElement.append(button);\n });\n\n menuElement.dataset.visible = 'true';\n menuElement.style.minWidth = `${groupMenuState.button.offsetWidth}px`;\n};\n\nexport const syncToolbarGroupButtonState = (\n container: HTMLElement,\n groupMenuState: ToolbarGroupMenuState | null\n) => {\n container.querySelectorAll<HTMLButtonElement>(toolbarGroupButtonSelector).forEach((button) => {\n const open = groupMenuState?.groupKey === button.dataset.bridgerteToolbarGroupId;\n\n button.dataset.open = String(open);\n button.setAttribute('aria-expanded', String(open));\n });\n};\n\nexport const findToolbarGroupMenuItem = (\n toolbarItems: ResolvedToolbarItem[],\n groupKey: string | undefined\n) => toolbarItems.find((item): item is Extract<ResolvedToolbarItem, { type: 'group' }> => (\n item.type === 'group' && item.key === groupKey\n));\n","import {\n toolbarExecutableButtonSelector,\n toolbarGroupButtonSelector\n} from './render';\n\nconst toolbarGroupTouchMoveTolerancePx = 8;\n\nconst isInsideNode = (container: HTMLElement, target: EventTarget | null) => (\n target instanceof Node && container.contains(target)\n);\n\nconst getClosestButton = (\n target: EventTarget | null,\n selector: string\n) => (\n target instanceof Element ? target.closest<HTMLButtonElement>(selector) : null\n);\n\n/**\n * 创建 toolbar 收纳菜单交互控制器。\n *\n * 这个控制器只接管收纳菜单链路:更多入口和收纳菜单项。\n * 普通 toolbar 按钮保留原生 click,避免 H5 横向滚动和点击链路被菜单控制器误拦;\n * 收纳菜单仍在 PC 鼠标按下阶段保护 selection,H5 tap 在 touchend 判定后提交。\n */\nexport const createToolbarGroupMenuInteraction = (\n container: HTMLElement,\n groupMenuElement: HTMLElement,\n toggleGroupMenu: (button: HTMLButtonElement) => void,\n executeToolbarButton: (button: HTMLButtonElement) => void,\n closeGroupMenu: () => void\n) => {\n let pendingTouch: {\n button: HTMLButtonElement;\n kind: 'group' | 'menu-item';\n startX: number;\n startY: number;\n } | null = null;\n let suppressNextClickButton: HTMLButtonElement | null = null;\n\n const getInteractiveButtonFromTarget = (target: EventTarget | null) => (\n getClosestButton(target, toolbarGroupButtonSelector)\n ?? (\n isInsideNode(groupMenuElement, target)\n ? getClosestButton(target, toolbarExecutableButtonSelector)\n : null\n )\n );\n\n const handlePressStart = (event: PointerEvent | MouseEvent) => {\n const button = getInteractiveButtonFromTarget(event.target);\n\n if (!button) return;\n\n /*\n * toolbar 按钮属于编辑器工具区。鼠标按下阶段阻止默认 focus 转移,保留正文\n * selection;触屏不能在这里拦截,否则 H5 横向滚动会被当成按钮按下吞掉。\n */\n if (event instanceof PointerEvent && event.pointerType !== 'mouse') return;\n\n event.preventDefault();\n };\n\n const handleTouchStart = (event: TouchEvent) => {\n const touch = event.touches[0];\n const groupButton = getClosestButton(event.target, toolbarGroupButtonSelector);\n const menuItemButton = isInsideNode(groupMenuElement, event.target)\n ? getClosestButton(event.target, toolbarExecutableButtonSelector)\n : null;\n const button = groupButton ?? menuItemButton;\n\n if (!button || !touch) return;\n\n /*\n * touchstart 只记录候选 tap,不阻止默认行为。移动端需要先让浏览器识别横向滚动;\n * 真正的点击会在 touchend 里按位移阈值提交并拦截尾随 click。\n */\n pendingTouch = {\n button,\n kind: groupButton ? 'group' : 'menu-item',\n startX: touch.clientX,\n startY: touch.clientY\n };\n };\n\n const clearPendingTouch = () => {\n pendingTouch = null;\n };\n\n const handleTouchEnd = (event: TouchEvent) => {\n if (!pendingTouch) return;\n\n const touchState = pendingTouch;\n const touch = event.changedTouches[0];\n const endButton = getInteractiveButtonFromTarget(event.target);\n\n pendingTouch = null;\n if (!touch || endButton !== touchState.button) return;\n\n const deltaX = Math.abs(touch.clientX - touchState.startX);\n const deltaY = Math.abs(touch.clientY - touchState.startY);\n\n if (\n deltaX > toolbarGroupTouchMoveTolerancePx\n || deltaY > toolbarGroupTouchMoveTolerancePx\n ) return;\n\n event.preventDefault();\n event.stopPropagation();\n suppressNextClickButton = touchState.button;\n\n if (touchState.kind === 'group') {\n toggleGroupMenu(touchState.button);\n return;\n }\n\n executeToolbarButton(touchState.button);\n closeGroupMenu();\n };\n\n const handleDocumentPointerDown = (event: PointerEvent) => {\n if (\n isInsideNode(container, event.target)\n || isInsideNode(groupMenuElement, event.target)\n ) return;\n\n closeGroupMenu();\n };\n\n container.addEventListener('pointerdown', handlePressStart);\n container.addEventListener('mousedown', handlePressStart);\n container.addEventListener('touchstart', handleTouchStart, { passive: false });\n container.addEventListener('touchend', handleTouchEnd);\n container.addEventListener('touchcancel', clearPendingTouch);\n groupMenuElement.addEventListener('pointerdown', handlePressStart);\n groupMenuElement.addEventListener('mousedown', handlePressStart);\n groupMenuElement.addEventListener('touchstart', handleTouchStart, { passive: false });\n groupMenuElement.addEventListener('touchend', handleTouchEnd);\n groupMenuElement.addEventListener('touchcancel', clearPendingTouch);\n document.addEventListener('pointerdown', handleDocumentPointerDown, true);\n\n return {\n consumeSuppressedClick(button: HTMLButtonElement) {\n if (suppressNextClickButton !== button) return false;\n\n suppressNextClickButton = null;\n return true;\n },\n destroy() {\n container.removeEventListener('pointerdown', handlePressStart);\n container.removeEventListener('mousedown', handlePressStart);\n container.removeEventListener('touchstart', handleTouchStart);\n container.removeEventListener('touchend', handleTouchEnd);\n container.removeEventListener('touchcancel', clearPendingTouch);\n groupMenuElement.removeEventListener('pointerdown', handlePressStart);\n groupMenuElement.removeEventListener('mousedown', handlePressStart);\n groupMenuElement.removeEventListener('touchstart', handleTouchStart);\n groupMenuElement.removeEventListener('touchend', handleTouchEnd);\n groupMenuElement.removeEventListener('touchcancel', clearPendingTouch);\n document.removeEventListener('pointerdown', handleDocumentPointerDown, true);\n }\n };\n};\n","import type { CommandState } from '@bridgerte/core';\nimport {\n defaultMenuSchema,\n resolveToolbarMenu\n} from '@bridgerte/native-spec';\nimport { createFloatingLayer, type RichTextFloatingLayer } from '../floatingLayer';\nimport { bindTouchPressedState } from '../interactionState';\nimport {\n getPayloadPanelCurrentValues,\n resolveMenuSchemaForDom\n} from '../menuRuntime';\nimport {\n focusToolbarGroupMenuItem,\n handleToolbarGroupMenuKeyDown\n} from './groupMenuKeyboard';\nimport { createToolbarGroupMenuInteraction } from './groupMenuInteraction';\nimport {\n findToolbarGroupMenuItem,\n renderToolbar,\n renderToolbarGroupMenu,\n syncToolbarGroupButtonState,\n toolbarExecutableButtonSelector,\n toolbarGroupButtonSelector\n} from './render';\nimport type {\n RichTextToolbarAPI,\n ToolbarGroupMenuState,\n RichTextToolbarOptions\n} from './type';\n\nconst toolbarTooltipOffsetPx = 8;\nconst toolbarGroupMenuOffsetPx = 6;\n\nexport type * from './type';\n\nconst canUseHoverTooltip = () => (\n typeof window !== 'undefined'\n && window.matchMedia?.('(hover: hover) and (pointer: fine)').matches === true\n);\n\nconst getToolbarButtonFromTarget = (target: EventTarget | null) => {\n /*\n * 图标覆盖常用 SVG,H5 pointer 事件可能落在 svg/path 上。\n * 这里用 Element 而不是 HTMLElement,保证触屏兜底和 click 都能向上命中真实按钮。\n */\n const button = target instanceof Element\n ? target.closest<HTMLButtonElement>(toolbarExecutableButtonSelector)\n : null;\n\n return button instanceof HTMLButtonElement ? button : null;\n};\n\nconst getToolbarGroupButtonFromTarget = (target: EventTarget | null) => {\n const button = target instanceof Element\n ? target.closest<HTMLButtonElement>(toolbarGroupButtonSelector)\n : null;\n\n return button instanceof HTMLButtonElement ? button : null;\n};\n\n/**\n * 创建独立菜单实例。\n *\n * toolbar/tabbar 只订阅 EditorAPI 状态并派发命令,不接触编辑器内部 DOM 或 Lexical 实例。\n */\nexport function createRichTextToolbar(\n container: HTMLElement,\n options: RichTextToolbarOptions\n): RichTextToolbarAPI {\n const placement = options.placement ?? 'top';\n const menuSchema = resolveMenuSchemaForDom(options.menuSchema ?? defaultMenuSchema, {\n menuLabels: options.menuLabels,\n payloadPanelConfig: options.payloadPanelConfig\n });\n const toolbarItems = resolveToolbarMenu(options.toolbarConfig, menuSchema);\n /*\n * click 事件只需要能执行命令的菜单项。分割线和 group 容器是渲染结构,\n * 先在这里摊平,后续点击时就不用理解 toolbarConfig 的展示层级。\n */\n const executableMenuItems = toolbarItems.flatMap((toolbarItem) => (\n toolbarItem.type === 'button' ? [toolbarItem.item]\n : toolbarItem.type === 'group' ? toolbarItem.items\n : []\n ));\n const icons = options.icons ?? {};\n /*\n * tooltip 只属于 PC 精细指针体验。H5 上即使没有原生 title,部分浏览器也会把 hover/mouseover\n * 模拟成首触摸状态,导致第一次点像是只唤醒提示;所以触屏端不写 tooltip 数据也不挂监听。\n */\n const enableTooltip = canUseHoverTooltip();\n const tooltipElement = document.createElement('div');\n const groupMenuElement = document.createElement('div');\n const overlayHost = container.closest('.bridgerte') ?? container;\n let destroyed = false;\n let latestCommandStates = options.editor.getCommandStates();\n let groupMenuState: ToolbarGroupMenuState | null = null;\n let groupMenuFloatingLayer: RichTextFloatingLayer | null = null;\n const clearToolbarPressedState = bindTouchPressedState(container, {\n targetSelector: [\n 'button[data-bridgerte-toolbar-item-id]',\n 'button[data-bridgerte-toolbar-group-id]'\n ].join(',')\n });\n const clearGroupMenuPressedState = bindTouchPressedState(groupMenuElement, {\n targetSelector: '.bridgerte__toolbar-group-menu-item'\n });\n\n const mountToolbarOverlays = () => {\n // 独立 toolbar 可能不在 `.bridgerte` 内,渲染按钮会清空 container,需要把浮层重新挂回去。\n overlayHost.append(tooltipElement);\n overlayHost.append(groupMenuElement);\n };\n\n const closeGroupMenuFloatingLayer = () => {\n groupMenuFloatingLayer?.setOpen(false);\n groupMenuFloatingLayer?.destroy();\n groupMenuFloatingLayer = null;\n };\n\n const openGroupMenuFloatingLayer = () => {\n if (!groupMenuState) return;\n\n closeGroupMenuFloatingLayer();\n /*\n * group menu 和 hoverbar/mention/slash 一样属于轻浮层,必须走 floatingLayer。\n * 这里按 toolbar placement 给出首选方向,真正的翻转、键盘可视区和左右夹紧交给\n * createFloatingLayer 内部的 visualViewport + flip + shift + clamp 统一处理。\n */\n groupMenuFloatingLayer = createFloatingLayer(groupMenuState.button, groupMenuElement, {\n placement: placement === 'bottom' ? 'top-start' : 'bottom-start',\n offset: toolbarGroupMenuOffsetPx,\n strategy: 'fixed'\n });\n groupMenuFloatingLayer.setOpen(true);\n };\n\n const closeGroupMenu = () => {\n if (!groupMenuState && !groupMenuFloatingLayer) return;\n\n closeGroupMenuFloatingLayer();\n groupMenuState = null;\n renderToolbarGroupMenu(groupMenuElement, groupMenuState, latestCommandStates, icons);\n syncToolbarGroupButtonState(container, groupMenuState);\n };\n\n const renderStates = (states: CommandState[]) => {\n if (destroyed) return;\n\n latestCommandStates = states;\n if (groupMenuState) closeGroupMenuFloatingLayer();\n renderToolbar(container, toolbarItems, states, icons, enableTooltip);\n mountToolbarOverlays();\n if (groupMenuState) {\n const nextButton = Array.from(\n container.querySelectorAll<HTMLButtonElement>(toolbarGroupButtonSelector)\n ).find((button) => button.dataset.bridgerteToolbarGroupId === groupMenuState?.groupKey);\n const nextGroupItem = findToolbarGroupMenuItem(toolbarItems, groupMenuState.groupKey);\n\n groupMenuState = nextButton && nextGroupItem\n ? {\n groupKey: groupMenuState.groupKey,\n button: nextButton,\n items: nextGroupItem.items\n }\n : null;\n renderToolbarGroupMenu(groupMenuElement, groupMenuState, latestCommandStates, icons);\n syncToolbarGroupButtonState(container, groupMenuState);\n if (groupMenuState) openGroupMenuFloatingLayer();\n }\n };\n\n const update = () => {\n if (destroyed) return;\n\n renderStates(options.editor.getCommandStates());\n };\n\n const hideTooltip = () => {\n tooltipElement.dataset.visible = 'false';\n tooltipElement.textContent = '';\n };\n\n const showTooltip = (button: HTMLButtonElement) => {\n const tooltipText = button.dataset.tooltip;\n\n if (!enableTooltip || !tooltipText) return;\n\n const buttonRect = button.getBoundingClientRect();\n\n tooltipElement.textContent = tooltipText;\n tooltipElement.dataset.visible = 'true';\n tooltipElement.style.left = `${buttonRect.left + buttonRect.width / 2}px`;\n tooltipElement.style.top = `${buttonRect.top - toolbarTooltipOffsetPx}px`;\n };\n\n const handleTooltipTarget = (event: Event) => {\n const button = getToolbarButtonFromTarget(event.target);\n\n if (button) {\n showTooltip(button);\n }\n };\n\n const handleTooltipLeave = (event: MouseEvent) => {\n const relatedTarget = event.relatedTarget;\n const button = getToolbarButtonFromTarget(event.target);\n\n if (\n button\n && relatedTarget instanceof Node\n && button.contains(relatedTarget)\n ) return;\n\n hideTooltip();\n };\n\n const executeToolbarButton = (button: HTMLButtonElement) => {\n if (!(button instanceof HTMLButtonElement) || button.disabled) return;\n\n const menuItem = executableMenuItems.find((item) => (\n item.id === button.dataset.bridgerteToolbarItemId\n ));\n\n if (!menuItem) return;\n\n if (menuItem.payloadPanel) {\n const buttonRect = button.getBoundingClientRect();\n\n /*\n * 带 payloadPanel 的菜单不直接执行基础 command,而是发起参数请求。\n * DOM 内置面板和业务/RN/Flutter 自绘都走同一个 request,避免后续颜色、\n * 字体、链接等参数菜单各自发明一套协议。\n */\n options.editor.requestPayloadPanel({\n menuId: menuItem.id,\n command: menuItem.command,\n panel: menuItem.payloadPanel,\n currentValues: getPayloadPanelCurrentValues(menuItem, options.editor.getCommandStates()),\n anchorRect: {\n x: buttonRect.left,\n y: buttonRect.top,\n width: buttonRect.width,\n height: buttonRect.height\n }\n });\n return;\n }\n\n options.editor.executeCommand(menuItem.command);\n };\n\n const toggleGroupMenu = (button: HTMLButtonElement, shouldFocusMenu = false) => {\n const groupItem = findToolbarGroupMenuItem(\n toolbarItems,\n button.dataset.bridgerteToolbarGroupId\n );\n\n if (!groupItem || button.disabled) return;\n\n if (groupMenuState?.groupKey === groupItem.key) {\n if (shouldFocusMenu) {\n focusToolbarGroupMenuItem(groupMenuElement, 0);\n return;\n }\n closeGroupMenu();\n return;\n }\n\n groupMenuState = {\n groupKey: groupItem.key,\n button,\n items: groupItem.items\n };\n hideTooltip();\n renderToolbarGroupMenu(groupMenuElement, groupMenuState, latestCommandStates, icons);\n syncToolbarGroupButtonState(container, groupMenuState);\n openGroupMenuFloatingLayer();\n if (shouldFocusMenu) focusToolbarGroupMenuItem(groupMenuElement, 0);\n };\n\n const handleClick = (event: MouseEvent) => {\n const groupButton = getToolbarGroupButtonFromTarget(event.target);\n if (groupButton) {\n event.preventDefault();\n event.stopPropagation();\n if (groupMenuInteraction.consumeSuppressedClick(groupButton)) return;\n\n toggleGroupMenu(groupButton);\n return;\n }\n\n const button = getToolbarButtonFromTarget(event.target);\n if (!button) return;\n\n event.preventDefault();\n event.stopPropagation();\n if (groupMenuInteraction.consumeSuppressedClick(button)) return;\n\n executeToolbarButton(button);\n closeGroupMenu();\n };\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (groupMenuState && groupMenuElement.contains(document.activeElement)) {\n handleToolbarGroupMenuKeyDown(\n event,\n groupMenuElement,\n groupMenuState.button,\n executeToolbarButton,\n closeGroupMenu\n );\n return;\n }\n\n const groupButton = getToolbarGroupButtonFromTarget(event.target);\n if (\n groupButton\n && (event.key === 'Enter' || event.key === ' ' || event.key === 'ArrowDown')\n ) {\n /*\n * 指针点击收纳菜单不能抢编辑器焦点;键盘从入口按钮打开时则进入菜单项,\n * 保留 PC 可访问性和方向键 roving focus。\n */\n event.preventDefault();\n event.stopPropagation();\n toggleGroupMenu(groupButton, true);\n return;\n }\n\n if (event.key !== 'Escape') return;\n\n closeGroupMenu();\n };\n\n container.classList.add('bridgerte__toolbar');\n tooltipElement.className = 'bridgerte__toolbar-tooltip';\n tooltipElement.dataset.visible = 'false';\n groupMenuElement.className = 'bridgerte__floating-menu bridgerte__toolbar-group-menu';\n groupMenuElement.dataset.visible = 'false';\n groupMenuElement.setAttribute('role', 'menu');\n container.dataset.placement = placement;\n container.setAttribute('role', 'toolbar');\n container.setAttribute(\n 'aria-label',\n placement === 'bottom' ? 'BridgeRTE tabbar' : 'BridgeRTE toolbar'\n );\n container.addEventListener('click', handleClick);\n groupMenuElement.addEventListener('click', handleClick);\n document.addEventListener('keydown', handleKeyDown);\n if (enableTooltip) {\n container.addEventListener('mouseover', handleTooltipTarget);\n container.addEventListener('mouseout', handleTooltipLeave);\n }\n container.addEventListener('focusout', hideTooltip);\n // 浮层挂在最近的编辑器根容器下,既能继承变量,也不会操作编辑内容 DOM。\n mountToolbarOverlays();\n const groupMenuInteraction = createToolbarGroupMenuInteraction(\n container,\n groupMenuElement,\n toggleGroupMenu,\n executeToolbarButton,\n closeGroupMenu\n );\n\n // 独立 toolbar 只订阅 public API 状态,不依赖 DOM 编辑器内部实现。\n const unsubscribe = options.editor.subscribeCommandStateChange(renderStates);\n\n return {\n update,\n destroy() {\n if (destroyed) return;\n\n destroyed = true;\n unsubscribe();\n closeGroupMenu();\n container.removeEventListener('click', handleClick);\n groupMenuElement.removeEventListener('click', handleClick);\n document.removeEventListener('keydown', handleKeyDown);\n groupMenuInteraction.destroy();\n if (enableTooltip) {\n container.removeEventListener('mouseover', handleTooltipTarget);\n container.removeEventListener('mouseout', handleTooltipLeave);\n }\n clearToolbarPressedState();\n clearGroupMenuPressedState();\n container.removeEventListener('focusout', hideTooltip);\n tooltipElement.remove();\n groupMenuElement.remove();\n container.classList.remove('bridgerte__toolbar');\n delete container.dataset.placement;\n container.textContent = '';\n container.removeAttribute('role');\n container.removeAttribute('aria-label');\n }\n };\n}\n","const invisibleTextPattern = /[\\u200B-\\u200D\\uFEFF]/g;\n\n/*\n * HTML 片段里这些元素没有 textContent 也应算有效内容。\n * 纯排版容器不放进来,避免 `<p><br></p>`、空列表项这类编辑器占位被误判为非空。\n */\nconst meaningfulHtmlContentSelector = [\n 'img',\n 'video',\n 'audio',\n 'iframe',\n 'table',\n 'pre',\n 'code',\n 'hr',\n 'figure',\n 'canvas',\n 'svg',\n 'math',\n '[data-type=\"mention\"]'\n].join(',');\n\nconst normalizeHtmlText = (text: string | null | undefined): string => (\n text?.replace(invisibleTextPattern, '').trim() ?? ''\n);\n\n/**\n * 判断一段 HTML 片段是否包含可保存的富文本内容。\n *\n * 这个工具会使用浏览器 template 解析 HTML,适合只拿到 HTML 字符串的业务表单;如果已经持有\n * `EditorContent`,优先使用 core 的 `isEditorContentEmpty()`,避免额外 DOM parse。\n */\nexport const hasMeaningfulHtmlContent = (html: string): boolean => {\n if (!normalizeHtmlText(html)) return false;\n\n const template = document.createElement('template');\n\n template.innerHTML = html;\n\n return Boolean(\n normalizeHtmlText(template.content.textContent)\n || template.content.querySelector(meaningfulHtmlContentSelector)\n );\n};\n"],"names":["defaultMenuUiIcons","getEnabledGroupMenuButtons","menuElement","button","focusToolbarGroupMenuItem","index","nextButton","handleToolbarGroupMenuKeyDown","event","returnButton","executeToolbarButton","closeGroupMenu","buttons","activeIndex","focusByOffset","offset","nextIndex","_a","_b","toolbarGroupButtonSelector","toolbarButtonSelector","toolbarExecutableButtonSelector","getGroupMenuState","items","commandStates","itemStates","item","getMenuStateForItem","state","renderToolbarButton","groupElement","icons","enableTooltip","iconSvg","defaultMenuIcons","appendMenuIcon","renderToolbarGroupButton","toolbarItem","groupState","indicator","renderToolbar","toolbarElement","toolbarItems","separatorElement","renderToolbarGroupMenu","groupMenuState","labelElement","syncToolbarGroupButtonState","container","open","findToolbarGroupMenuItem","groupKey","toolbarGroupTouchMoveTolerancePx","isInsideNode","target","getClosestButton","selector","createToolbarGroupMenuInteraction","groupMenuElement","toggleGroupMenu","pendingTouch","suppressNextClickButton","getInteractiveButtonFromTarget","handlePressStart","handleTouchStart","touch","groupButton","menuItemButton","clearPendingTouch","handleTouchEnd","touchState","endButton","deltaX","deltaY","handleDocumentPointerDown","toolbarTooltipOffsetPx","toolbarGroupMenuOffsetPx","canUseHoverTooltip","getToolbarButtonFromTarget","getToolbarGroupButtonFromTarget","createRichTextToolbar","options","placement","menuSchema","resolveMenuSchemaForDom","defaultMenuSchema","resolveToolbarMenu","executableMenuItems","tooltipElement","overlayHost","destroyed","latestCommandStates","groupMenuFloatingLayer","clearToolbarPressedState","bindTouchPressedState","clearGroupMenuPressedState","mountToolbarOverlays","closeGroupMenuFloatingLayer","openGroupMenuFloatingLayer","createFloatingLayer","renderStates","states","nextGroupItem","update","hideTooltip","showTooltip","tooltipText","buttonRect","handleTooltipTarget","handleTooltipLeave","relatedTarget","menuItem","getPayloadPanelCurrentValues","shouldFocusMenu","groupItem","handleClick","groupMenuInteraction","handleKeyDown","unsubscribe","invisibleTextPattern","meaningfulHtmlContentSelector","normalizeHtmlText","text","hasMeaningfulHtmlContent","html","template"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-B1pp2R7F.cjs","sources":["../../dom/src/menuIcon/uiIcons.ts","../../dom/src/richTextToolbar/groupMenuKeyboard.ts","../../dom/src/richTextToolbar/render.ts","../../dom/src/richTextToolbar/groupMenuInteraction.ts","../../dom/src/richTextToolbar/index.ts","../../dom/src/htmlContent/index.ts"],"sourcesContent":["/**\n * DOM UI chrome icon 表。\n *\n * 这里放 toolbar 收纳入口、下拉箭头这类控件自身图标。它们不属于 `MenuItem.icon`\n * 跨端 schema,也不应该进入 `defaultMenuIcons` 的 schema 对齐检查。\n */\nexport const defaultMenuUiIcons = {\n toolbarGroup: `\n <svg\n aria-hidden=\"true\"\n class=\"lucide lucide-ellipsis\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <circle cx=\"12\" cy=\"12\" r=\"1\" />\n <circle cx=\"19\" cy=\"12\" r=\"1\" />\n <circle cx=\"5\" cy=\"12\" r=\"1\" />\n </svg>\n `,\n chevronDown: `\n <svg\n aria-hidden=\"true\"\n class=\"lucide lucide-chevron-down\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n `\n} as const;\n","export const getEnabledGroupMenuButtons = (menuElement: HTMLElement) => (\n Array.from(\n menuElement.querySelectorAll<HTMLButtonElement>('.bridgerte__toolbar-group-menu-item')\n ).filter((button) => !button.disabled)\n);\n\nexport const focusToolbarGroupMenuItem = (menuElement: HTMLElement, index: number) => {\n const buttons = getEnabledGroupMenuButtons(menuElement);\n const nextButton = buttons[index];\n\n if (nextButton) nextButton.focus();\n};\n\nexport const handleToolbarGroupMenuKeyDown = (\n event: KeyboardEvent,\n menuElement: HTMLElement,\n returnButton: HTMLButtonElement,\n executeToolbarButton: (button: HTMLButtonElement) => void,\n closeGroupMenu: () => void\n) => {\n const buttons = getEnabledGroupMenuButtons(menuElement);\n const activeIndex = document.activeElement instanceof HTMLButtonElement\n ? buttons.indexOf(document.activeElement)\n : -1;\n const focusByOffset = (offset: number) => {\n if (buttons.length === 0) return;\n\n const baseIndex = activeIndex >= 0 ? activeIndex : 0;\n const nextIndex = (baseIndex + offset + buttons.length) % buttons.length;\n\n buttons[nextIndex]?.focus();\n };\n\n /*\n * ARIA menu 语义要求支持 roving focus。这里不改 toolbar 的横向键盘模型,\n * 只在已打开的纵向收纳菜单内处理上下方向、首尾跳转和执行/关闭。\n */\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault();\n focusByOffset(1);\n break;\n case 'ArrowUp':\n event.preventDefault();\n focusByOffset(-1);\n break;\n case 'Home':\n event.preventDefault();\n buttons[0]?.focus();\n break;\n case 'End':\n event.preventDefault();\n buttons.at(-1)?.focus();\n break;\n case 'Enter':\n case ' ':\n if (document.activeElement instanceof HTMLButtonElement) {\n event.preventDefault();\n executeToolbarButton(document.activeElement);\n closeGroupMenu();\n returnButton.focus();\n }\n break;\n case 'Escape':\n event.preventDefault();\n returnButton.focus();\n closeGroupMenu();\n break;\n default:\n break;\n }\n};\n","import type { CommandState } from '@bridgerte/core';\nimport type { MenuItem, ResolvedToolbarItem } from '@bridgerte/native-spec';\nimport {\n appendMenuIcon,\n defaultMenuIcons,\n defaultMenuUiIcons\n} from './icons';\nimport { getMenuStateForItem } from '../menuRuntime';\nimport type {\n RichTextToolbarIcons,\n ToolbarGroupMenuState\n} from './type';\n\nexport const toolbarGroupButtonSelector = 'button[data-bridgerte-toolbar-group-id]';\nexport const toolbarButtonSelector = 'button[data-bridgerte-toolbar-item-id]';\n// 可执行按钮同时覆盖 toolbar 主按钮和 group menu 子项,避免浮层子菜单绕过统一命令入口。\nexport const toolbarExecutableButtonSelector = [\n toolbarButtonSelector,\n '.bridgerte__toolbar-group-menu-item'\n].join(',');\n\nconst getGroupMenuState = (items: MenuItem[], commandStates: CommandState[]) => {\n const itemStates = items.map((item) => getMenuStateForItem(item, commandStates));\n\n return {\n active: itemStates.some((state) => state.active),\n disabled: itemStates.length > 0 && itemStates.every((state) => state.disabled)\n };\n};\n\nconst renderToolbarButton = (\n groupElement: HTMLElement,\n item: MenuItem,\n commandStates: CommandState[],\n icons: RichTextToolbarIcons,\n enableTooltip: boolean\n) => {\n const state = getMenuStateForItem(item, commandStates);\n const button = document.createElement('button');\n // icon 兜底顺序固定为:业务覆盖 > DOM 默认 SVG > label 文本。\n const iconSvg = icons[item.icon] ?? defaultMenuIcons[item.icon];\n\n button.type = 'button';\n button.className = 'bridgerte__toolbar-button';\n button.disabled = state.disabled;\n button.dataset.active = String(state.active);\n button.dataset.bridgerteToolbarItemId = item.id;\n button.setAttribute('aria-label', item.label);\n button.setAttribute('aria-pressed', String(state.active));\n if (enableTooltip) button.dataset.tooltip = item.label;\n\n appendMenuIcon(button, iconSvg, item.label);\n\n groupElement.append(button);\n};\n\nconst renderToolbarGroupButton = (\n groupElement: HTMLElement,\n toolbarItem: Extract<ResolvedToolbarItem, { type: 'group' }>,\n commandStates: CommandState[],\n icons: RichTextToolbarIcons,\n enableTooltip: boolean\n) => {\n const button = document.createElement('button');\n const groupState = getGroupMenuState(toolbarItem.items, commandStates);\n const iconSvg = toolbarItem.icon\n ? icons[toolbarItem.icon] ?? defaultMenuIcons[toolbarItem.icon]\n : defaultMenuUiIcons.toolbarGroup;\n const indicator = document.createElement('span');\n\n button.type = 'button';\n button.className = 'bridgerte__toolbar-button bridgerte__toolbar-group-button';\n button.disabled = groupState.disabled;\n button.dataset.active = String(groupState.active);\n button.dataset.bridgerteToolbarGroupId = toolbarItem.key;\n button.dataset.open = 'false';\n button.setAttribute('aria-label', toolbarItem.title);\n button.setAttribute('aria-haspopup', 'menu');\n button.setAttribute('aria-expanded', 'false');\n button.setAttribute('aria-pressed', String(groupState.active));\n if (enableTooltip) button.dataset.tooltip = toolbarItem.title;\n\n appendMenuIcon(button, iconSvg, toolbarItem.title);\n\n indicator.className = 'bridgerte__toolbar-group-indicator';\n indicator.setAttribute('aria-hidden', 'true');\n indicator.innerHTML = defaultMenuUiIcons.chevronDown;\n button.append(indicator);\n groupElement.append(button);\n};\n\n/**\n * 渲染 toolbar 横向主入口。\n *\n * 字符串菜单直接渲染为按钮,`|` 渲染分割线。\n * 只有用户显式声明的 group 配置才生成收纳入口,避免 schema 隐式改变 DOM 结构。\n */\nexport const renderToolbar = (\n toolbarElement: HTMLElement,\n toolbarItems: ResolvedToolbarItem[],\n commandStates: CommandState[],\n icons: RichTextToolbarIcons,\n enableTooltip: boolean\n) => {\n toolbarElement.textContent = '';\n\n toolbarItems.forEach((toolbarItem) => {\n if (toolbarItem.type === 'separator') {\n const separatorElement = document.createElement('span');\n\n separatorElement.className = 'bridgerte__toolbar-separator';\n separatorElement.dataset.separatorId = toolbarItem.key;\n separatorElement.setAttribute('aria-hidden', 'true');\n toolbarElement.append(separatorElement);\n return;\n }\n\n if (toolbarItem.type === 'button') {\n renderToolbarButton(\n toolbarElement,\n toolbarItem.item,\n commandStates,\n icons,\n enableTooltip\n );\n return;\n }\n\n /*\n * 收纳菜单是用户在 toolbarConfig 里显式声明的结构;普通菜单不会自动生成 DOM 包裹,\n * 显示分组完全交给用户用 group 配置或 `|` 控制。\n */\n const groupElement = document.createElement('div');\n\n groupElement.className = 'bridgerte__toolbar-group';\n groupElement.dataset.group = toolbarItem.key;\n groupElement.setAttribute('aria-label', toolbarItem.title);\n toolbarElement.append(groupElement);\n\n renderToolbarGroupButton(\n groupElement,\n toolbarItem,\n commandStates,\n icons,\n enableTooltip\n );\n });\n};\n\n/**\n * 渲染 group button 打开的纵向收纳菜单。\n *\n * 浮层只展示 MenuItem 子项并复用现有 item id,点击执行仍由 index.ts 统一走 EditorAPI。\n */\nexport const renderToolbarGroupMenu = (\n menuElement: HTMLElement,\n groupMenuState: ToolbarGroupMenuState | null,\n commandStates: CommandState[],\n icons: RichTextToolbarIcons\n) => {\n menuElement.textContent = '';\n\n if (!groupMenuState) {\n menuElement.dataset.visible = 'false';\n return;\n }\n\n groupMenuState.items.forEach((item) => {\n const state = getMenuStateForItem(item, commandStates);\n const button = document.createElement('button');\n const iconSvg = icons[item.icon] ?? defaultMenuIcons[item.icon];\n const labelElement = document.createElement('span');\n\n button.type = 'button';\n button.className = 'bridgerte__menu-item bridgerte__toolbar-group-menu-item';\n button.disabled = state.disabled;\n button.dataset.active = String(state.active);\n button.dataset.bridgerteToolbarItemId = item.id;\n button.setAttribute('role', 'menuitem');\n button.setAttribute('aria-label', item.label);\n button.setAttribute('aria-pressed', String(state.active));\n\n appendMenuIcon(button, iconSvg, item.label);\n labelElement.className = 'bridgerte__toolbar-group-menu-label';\n labelElement.textContent = item.label;\n button.append(labelElement);\n menuElement.append(button);\n });\n\n menuElement.dataset.visible = 'true';\n menuElement.style.minWidth = `${groupMenuState.button.offsetWidth}px`;\n};\n\nexport const syncToolbarGroupButtonState = (\n container: HTMLElement,\n groupMenuState: ToolbarGroupMenuState | null\n) => {\n container.querySelectorAll<HTMLButtonElement>(toolbarGroupButtonSelector).forEach((button) => {\n const open = groupMenuState?.groupKey === button.dataset.bridgerteToolbarGroupId;\n\n button.dataset.open = String(open);\n button.setAttribute('aria-expanded', String(open));\n });\n};\n\nexport const findToolbarGroupMenuItem = (\n toolbarItems: ResolvedToolbarItem[],\n groupKey: string | undefined\n) => toolbarItems.find((item): item is Extract<ResolvedToolbarItem, { type: 'group' }> => (\n item.type === 'group' && item.key === groupKey\n));\n","import {\n toolbarExecutableButtonSelector,\n toolbarGroupButtonSelector\n} from './render';\n\nconst toolbarGroupTouchMoveTolerancePx = 8;\n\nconst isInsideNode = (container: HTMLElement, target: EventTarget | null) => (\n target instanceof Node && container.contains(target)\n);\n\nconst getClosestButton = (\n target: EventTarget | null,\n selector: string\n) => (\n target instanceof Element ? target.closest<HTMLButtonElement>(selector) : null\n);\n\n/**\n * 创建 toolbar 收纳菜单交互控制器。\n *\n * 这个控制器只接管收纳菜单链路:更多入口和收纳菜单项。\n * 普通 toolbar 按钮保留原生 click,避免 H5 横向滚动和点击链路被菜单控制器误拦;\n * 收纳菜单仍在 PC 鼠标按下阶段保护 selection,H5 tap 在 touchend 判定后提交。\n */\nexport const createToolbarGroupMenuInteraction = (\n container: HTMLElement,\n groupMenuElement: HTMLElement,\n toggleGroupMenu: (button: HTMLButtonElement) => void,\n executeToolbarButton: (button: HTMLButtonElement) => void,\n closeGroupMenu: () => void\n) => {\n let pendingTouch: {\n button: HTMLButtonElement;\n kind: 'group' | 'menu-item';\n startX: number;\n startY: number;\n } | null = null;\n let suppressNextClickButton: HTMLButtonElement | null = null;\n\n const getInteractiveButtonFromTarget = (target: EventTarget | null) => (\n getClosestButton(target, toolbarGroupButtonSelector)\n ?? (\n isInsideNode(groupMenuElement, target)\n ? getClosestButton(target, toolbarExecutableButtonSelector)\n : null\n )\n );\n\n const handlePressStart = (event: PointerEvent | MouseEvent) => {\n const button = getInteractiveButtonFromTarget(event.target);\n\n if (!button) return;\n\n /*\n * toolbar 按钮属于编辑器工具区。鼠标按下阶段阻止默认 focus 转移,保留正文\n * selection;触屏不能在这里拦截,否则 H5 横向滚动会被当成按钮按下吞掉。\n */\n if (event instanceof PointerEvent && event.pointerType !== 'mouse') return;\n\n event.preventDefault();\n };\n\n const handleTouchStart = (event: TouchEvent) => {\n const touch = event.touches[0];\n const groupButton = getClosestButton(event.target, toolbarGroupButtonSelector);\n const menuItemButton = isInsideNode(groupMenuElement, event.target)\n ? getClosestButton(event.target, toolbarExecutableButtonSelector)\n : null;\n const button = groupButton ?? menuItemButton;\n\n if (!button || !touch) return;\n\n /*\n * touchstart 只记录候选 tap,不阻止默认行为。移动端需要先让浏览器识别横向滚动;\n * 真正的点击会在 touchend 里按位移阈值提交并拦截尾随 click。\n */\n pendingTouch = {\n button,\n kind: groupButton ? 'group' : 'menu-item',\n startX: touch.clientX,\n startY: touch.clientY\n };\n };\n\n const clearPendingTouch = () => {\n pendingTouch = null;\n };\n\n const handleTouchEnd = (event: TouchEvent) => {\n if (!pendingTouch) return;\n\n const touchState = pendingTouch;\n const touch = event.changedTouches[0];\n const endButton = getInteractiveButtonFromTarget(event.target);\n\n pendingTouch = null;\n if (!touch || endButton !== touchState.button) return;\n\n const deltaX = Math.abs(touch.clientX - touchState.startX);\n const deltaY = Math.abs(touch.clientY - touchState.startY);\n\n if (\n deltaX > toolbarGroupTouchMoveTolerancePx\n || deltaY > toolbarGroupTouchMoveTolerancePx\n ) return;\n\n event.preventDefault();\n event.stopPropagation();\n suppressNextClickButton = touchState.button;\n\n if (touchState.kind === 'group') {\n toggleGroupMenu(touchState.button);\n return;\n }\n\n executeToolbarButton(touchState.button);\n closeGroupMenu();\n };\n\n const handleDocumentPointerDown = (event: PointerEvent) => {\n if (\n isInsideNode(container, event.target)\n || isInsideNode(groupMenuElement, event.target)\n ) return;\n\n closeGroupMenu();\n };\n\n container.addEventListener('pointerdown', handlePressStart);\n container.addEventListener('mousedown', handlePressStart);\n container.addEventListener('touchstart', handleTouchStart, { passive: false });\n container.addEventListener('touchend', handleTouchEnd);\n container.addEventListener('touchcancel', clearPendingTouch);\n groupMenuElement.addEventListener('pointerdown', handlePressStart);\n groupMenuElement.addEventListener('mousedown', handlePressStart);\n groupMenuElement.addEventListener('touchstart', handleTouchStart, { passive: false });\n groupMenuElement.addEventListener('touchend', handleTouchEnd);\n groupMenuElement.addEventListener('touchcancel', clearPendingTouch);\n document.addEventListener('pointerdown', handleDocumentPointerDown, true);\n\n return {\n consumeSuppressedClick(button: HTMLButtonElement) {\n if (suppressNextClickButton !== button) return false;\n\n suppressNextClickButton = null;\n return true;\n },\n destroy() {\n container.removeEventListener('pointerdown', handlePressStart);\n container.removeEventListener('mousedown', handlePressStart);\n container.removeEventListener('touchstart', handleTouchStart);\n container.removeEventListener('touchend', handleTouchEnd);\n container.removeEventListener('touchcancel', clearPendingTouch);\n groupMenuElement.removeEventListener('pointerdown', handlePressStart);\n groupMenuElement.removeEventListener('mousedown', handlePressStart);\n groupMenuElement.removeEventListener('touchstart', handleTouchStart);\n groupMenuElement.removeEventListener('touchend', handleTouchEnd);\n groupMenuElement.removeEventListener('touchcancel', clearPendingTouch);\n document.removeEventListener('pointerdown', handleDocumentPointerDown, true);\n }\n };\n};\n","import type { CommandState } from '@bridgerte/core';\nimport {\n defaultMenuSchema,\n resolveToolbarMenu\n} from '@bridgerte/native-spec';\nimport { createFloatingLayer, type RichTextFloatingLayer } from '../floatingLayer';\nimport { bindTouchPressedState } from '../interactionState';\nimport {\n getPayloadPanelCurrentValues,\n resolveMenuSchemaForDom\n} from '../menuRuntime';\nimport {\n focusToolbarGroupMenuItem,\n handleToolbarGroupMenuKeyDown\n} from './groupMenuKeyboard';\nimport { createToolbarGroupMenuInteraction } from './groupMenuInteraction';\nimport {\n findToolbarGroupMenuItem,\n renderToolbar,\n renderToolbarGroupMenu,\n syncToolbarGroupButtonState,\n toolbarExecutableButtonSelector,\n toolbarGroupButtonSelector\n} from './render';\nimport type {\n RichTextToolbarAPI,\n ToolbarGroupMenuState,\n RichTextToolbarOptions\n} from './type';\n\nconst toolbarTooltipOffsetPx = 8;\nconst toolbarGroupMenuOffsetPx = 6;\n\nexport type * from './type';\n\nconst canUseHoverTooltip = () => (\n typeof window !== 'undefined'\n && window.matchMedia?.('(hover: hover) and (pointer: fine)').matches === true\n);\n\nconst getToolbarButtonFromTarget = (target: EventTarget | null) => {\n /*\n * 图标覆盖常用 SVG,H5 pointer 事件可能落在 svg/path 上。\n * 这里用 Element 而不是 HTMLElement,保证触屏兜底和 click 都能向上命中真实按钮。\n */\n const button = target instanceof Element\n ? target.closest<HTMLButtonElement>(toolbarExecutableButtonSelector)\n : null;\n\n return button instanceof HTMLButtonElement ? button : null;\n};\n\nconst getToolbarGroupButtonFromTarget = (target: EventTarget | null) => {\n const button = target instanceof Element\n ? target.closest<HTMLButtonElement>(toolbarGroupButtonSelector)\n : null;\n\n return button instanceof HTMLButtonElement ? button : null;\n};\n\n/**\n * 创建独立菜单实例。\n *\n * toolbar/tabbar 只订阅 EditorAPI 状态并派发命令,不接触编辑器内部 DOM 或 Lexical 实例。\n */\nexport function createRichTextToolbar(\n container: HTMLElement,\n options: RichTextToolbarOptions\n): RichTextToolbarAPI {\n const placement = options.placement ?? 'top';\n const menuSchema = resolveMenuSchemaForDom(options.menuSchema ?? defaultMenuSchema, {\n menuLabels: options.menuLabels,\n payloadPanelConfig: options.payloadPanelConfig\n });\n const toolbarItems = resolveToolbarMenu(options.toolbarConfig, menuSchema);\n /*\n * click 事件只需要能执行命令的菜单项。分割线和 group 容器是渲染结构,\n * 先在这里摊平,后续点击时就不用理解 toolbarConfig 的展示层级。\n */\n const executableMenuItems = toolbarItems.flatMap((toolbarItem) => (\n toolbarItem.type === 'button' ? [toolbarItem.item]\n : toolbarItem.type === 'group' ? toolbarItem.items\n : []\n ));\n const icons = options.icons ?? {};\n /*\n * tooltip 只属于 PC 精细指针体验。H5 上即使没有原生 title,部分浏览器也会把 hover/mouseover\n * 模拟成首触摸状态,导致第一次点像是只唤醒提示;所以触屏端不写 tooltip 数据也不挂监听。\n */\n const enableTooltip = canUseHoverTooltip();\n const tooltipElement = document.createElement('div');\n const groupMenuElement = document.createElement('div');\n const overlayHost = container.closest('.bridgerte') ?? container;\n let destroyed = false;\n let latestCommandStates = options.editor.getCommandStates();\n let groupMenuState: ToolbarGroupMenuState | null = null;\n let groupMenuFloatingLayer: RichTextFloatingLayer | null = null;\n const clearToolbarPressedState = bindTouchPressedState(container, {\n targetSelector: [\n 'button[data-bridgerte-toolbar-item-id]',\n 'button[data-bridgerte-toolbar-group-id]'\n ].join(',')\n });\n const clearGroupMenuPressedState = bindTouchPressedState(groupMenuElement, {\n targetSelector: '.bridgerte__toolbar-group-menu-item'\n });\n\n const mountToolbarOverlays = () => {\n // 独立 toolbar 可能不在 `.bridgerte` 内,渲染按钮会清空 container,需要把浮层重新挂回去。\n overlayHost.append(tooltipElement);\n overlayHost.append(groupMenuElement);\n };\n\n const closeGroupMenuFloatingLayer = () => {\n groupMenuFloatingLayer?.setOpen(false);\n groupMenuFloatingLayer?.destroy();\n groupMenuFloatingLayer = null;\n };\n\n const openGroupMenuFloatingLayer = () => {\n if (!groupMenuState) return;\n\n closeGroupMenuFloatingLayer();\n /*\n * group menu 和 hoverbar/mention/slash 一样属于轻浮层,必须走 floatingLayer。\n * 这里按 toolbar placement 给出首选方向,真正的翻转、键盘可视区和左右夹紧交给\n * createFloatingLayer 内部的 visualViewport + flip + shift + clamp 统一处理。\n */\n groupMenuFloatingLayer = createFloatingLayer(groupMenuState.button, groupMenuElement, {\n placement: placement === 'bottom' ? 'top-start' : 'bottom-start',\n offset: toolbarGroupMenuOffsetPx,\n strategy: 'fixed'\n });\n groupMenuFloatingLayer.setOpen(true);\n };\n\n const closeGroupMenu = () => {\n if (!groupMenuState && !groupMenuFloatingLayer) return;\n\n closeGroupMenuFloatingLayer();\n groupMenuState = null;\n renderToolbarGroupMenu(groupMenuElement, groupMenuState, latestCommandStates, icons);\n syncToolbarGroupButtonState(container, groupMenuState);\n };\n\n const renderStates = (states: CommandState[]) => {\n if (destroyed) return;\n\n latestCommandStates = states;\n if (groupMenuState) closeGroupMenuFloatingLayer();\n renderToolbar(container, toolbarItems, states, icons, enableTooltip);\n mountToolbarOverlays();\n if (groupMenuState) {\n const nextButton = Array.from(\n container.querySelectorAll<HTMLButtonElement>(toolbarGroupButtonSelector)\n ).find((button) => button.dataset.bridgerteToolbarGroupId === groupMenuState?.groupKey);\n const nextGroupItem = findToolbarGroupMenuItem(toolbarItems, groupMenuState.groupKey);\n\n groupMenuState = nextButton && nextGroupItem\n ? {\n groupKey: groupMenuState.groupKey,\n button: nextButton,\n items: nextGroupItem.items\n }\n : null;\n renderToolbarGroupMenu(groupMenuElement, groupMenuState, latestCommandStates, icons);\n syncToolbarGroupButtonState(container, groupMenuState);\n if (groupMenuState) openGroupMenuFloatingLayer();\n }\n };\n\n const update = () => {\n if (destroyed) return;\n\n renderStates(options.editor.getCommandStates());\n };\n\n const hideTooltip = () => {\n tooltipElement.dataset.visible = 'false';\n tooltipElement.textContent = '';\n };\n\n const showTooltip = (button: HTMLButtonElement) => {\n const tooltipText = button.dataset.tooltip;\n\n if (!enableTooltip || !tooltipText) return;\n\n const buttonRect = button.getBoundingClientRect();\n\n tooltipElement.textContent = tooltipText;\n tooltipElement.dataset.visible = 'true';\n tooltipElement.style.left = `${buttonRect.left + buttonRect.width / 2}px`;\n tooltipElement.style.top = `${buttonRect.top - toolbarTooltipOffsetPx}px`;\n };\n\n const handleTooltipTarget = (event: Event) => {\n const button = getToolbarButtonFromTarget(event.target);\n\n if (button) {\n showTooltip(button);\n }\n };\n\n const handleTooltipLeave = (event: MouseEvent) => {\n const relatedTarget = event.relatedTarget;\n const button = getToolbarButtonFromTarget(event.target);\n\n if (\n button\n && relatedTarget instanceof Node\n && button.contains(relatedTarget)\n ) return;\n\n hideTooltip();\n };\n\n const executeToolbarButton = (button: HTMLButtonElement) => {\n if (!(button instanceof HTMLButtonElement) || button.disabled) return;\n\n const menuItem = executableMenuItems.find((item) => (\n item.id === button.dataset.bridgerteToolbarItemId\n ));\n\n if (!menuItem) return;\n\n if (menuItem.payloadPanel) {\n const buttonRect = button.getBoundingClientRect();\n\n /*\n * 带 payloadPanel 的菜单不直接执行基础 command,而是发起参数请求。\n * DOM 内置面板和业务/RN/Flutter 自绘都走同一个 request,避免后续颜色、\n * 字体、链接等参数菜单各自发明一套协议。\n */\n options.editor.requestPayloadPanel({\n menuId: menuItem.id,\n command: menuItem.command,\n panel: menuItem.payloadPanel,\n currentValues: getPayloadPanelCurrentValues(menuItem, options.editor.getCommandStates()),\n anchorRect: {\n x: buttonRect.left,\n y: buttonRect.top,\n width: buttonRect.width,\n height: buttonRect.height\n }\n });\n return;\n }\n\n options.editor.executeCommand(menuItem.command);\n };\n\n const toggleGroupMenu = (button: HTMLButtonElement, shouldFocusMenu = false) => {\n const groupItem = findToolbarGroupMenuItem(\n toolbarItems,\n button.dataset.bridgerteToolbarGroupId\n );\n\n if (!groupItem || button.disabled) return;\n\n if (groupMenuState?.groupKey === groupItem.key) {\n if (shouldFocusMenu) {\n focusToolbarGroupMenuItem(groupMenuElement, 0);\n return;\n }\n closeGroupMenu();\n return;\n }\n\n groupMenuState = {\n groupKey: groupItem.key,\n button,\n items: groupItem.items\n };\n hideTooltip();\n renderToolbarGroupMenu(groupMenuElement, groupMenuState, latestCommandStates, icons);\n syncToolbarGroupButtonState(container, groupMenuState);\n openGroupMenuFloatingLayer();\n if (shouldFocusMenu) focusToolbarGroupMenuItem(groupMenuElement, 0);\n };\n\n const handleClick = (event: MouseEvent) => {\n const groupButton = getToolbarGroupButtonFromTarget(event.target);\n if (groupButton) {\n event.preventDefault();\n event.stopPropagation();\n if (groupMenuInteraction.consumeSuppressedClick(groupButton)) return;\n\n toggleGroupMenu(groupButton);\n return;\n }\n\n const button = getToolbarButtonFromTarget(event.target);\n if (!button) return;\n\n event.preventDefault();\n event.stopPropagation();\n if (groupMenuInteraction.consumeSuppressedClick(button)) return;\n\n executeToolbarButton(button);\n closeGroupMenu();\n };\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (groupMenuState && groupMenuElement.contains(document.activeElement)) {\n handleToolbarGroupMenuKeyDown(\n event,\n groupMenuElement,\n groupMenuState.button,\n executeToolbarButton,\n closeGroupMenu\n );\n return;\n }\n\n const groupButton = getToolbarGroupButtonFromTarget(event.target);\n if (\n groupButton\n && (event.key === 'Enter' || event.key === ' ' || event.key === 'ArrowDown')\n ) {\n /*\n * 指针点击收纳菜单不能抢编辑器焦点;键盘从入口按钮打开时则进入菜单项,\n * 保留 PC 可访问性和方向键 roving focus。\n */\n event.preventDefault();\n event.stopPropagation();\n toggleGroupMenu(groupButton, true);\n return;\n }\n\n if (event.key !== 'Escape') return;\n\n closeGroupMenu();\n };\n\n container.classList.add('bridgerte__toolbar');\n tooltipElement.className = 'bridgerte__toolbar-tooltip';\n tooltipElement.dataset.visible = 'false';\n groupMenuElement.className = 'bridgerte__floating-menu bridgerte__toolbar-group-menu';\n groupMenuElement.dataset.visible = 'false';\n groupMenuElement.setAttribute('role', 'menu');\n container.dataset.placement = placement;\n container.setAttribute('role', 'toolbar');\n container.setAttribute(\n 'aria-label',\n placement === 'bottom' ? 'BridgeRTE tabbar' : 'BridgeRTE toolbar'\n );\n container.addEventListener('click', handleClick);\n groupMenuElement.addEventListener('click', handleClick);\n document.addEventListener('keydown', handleKeyDown);\n if (enableTooltip) {\n container.addEventListener('mouseover', handleTooltipTarget);\n container.addEventListener('mouseout', handleTooltipLeave);\n }\n container.addEventListener('focusout', hideTooltip);\n // 浮层挂在最近的编辑器根容器下,既能继承变量,也不会操作编辑内容 DOM。\n mountToolbarOverlays();\n const groupMenuInteraction = createToolbarGroupMenuInteraction(\n container,\n groupMenuElement,\n toggleGroupMenu,\n executeToolbarButton,\n closeGroupMenu\n );\n\n // 独立 toolbar 只订阅 public API 状态,不依赖 DOM 编辑器内部实现。\n const unsubscribe = options.editor.subscribeCommandStateChange(renderStates);\n\n return {\n update,\n destroy() {\n if (destroyed) return;\n\n destroyed = true;\n unsubscribe();\n closeGroupMenu();\n container.removeEventListener('click', handleClick);\n groupMenuElement.removeEventListener('click', handleClick);\n document.removeEventListener('keydown', handleKeyDown);\n groupMenuInteraction.destroy();\n if (enableTooltip) {\n container.removeEventListener('mouseover', handleTooltipTarget);\n container.removeEventListener('mouseout', handleTooltipLeave);\n }\n clearToolbarPressedState();\n clearGroupMenuPressedState();\n container.removeEventListener('focusout', hideTooltip);\n tooltipElement.remove();\n groupMenuElement.remove();\n container.classList.remove('bridgerte__toolbar');\n delete container.dataset.placement;\n container.textContent = '';\n container.removeAttribute('role');\n container.removeAttribute('aria-label');\n }\n };\n}\n","const invisibleTextPattern = /[\\u200B-\\u200D\\uFEFF]/g;\n\n/*\n * HTML 片段里这些元素没有 textContent 也应算有效内容。\n * 纯排版容器不放进来,避免 `<p><br></p>`、空列表项这类编辑器占位被误判为非空。\n */\nconst meaningfulHtmlContentSelector = [\n 'img',\n 'video',\n 'audio',\n 'iframe',\n 'table',\n 'pre',\n 'code',\n 'hr',\n 'figure',\n 'canvas',\n 'svg',\n 'math',\n '[data-type=\"mention\"]'\n].join(',');\n\nconst normalizeHtmlText = (text: string | null | undefined): string => (\n text?.replace(invisibleTextPattern, '').trim() ?? ''\n);\n\n/**\n * 判断一段 HTML 片段是否包含可保存的富文本内容。\n *\n * 这个工具会使用浏览器 template 解析 HTML,适合只拿到 HTML 字符串的业务表单;如果已经持有\n * `EditorContent`,优先使用 core 的 `isEditorContentEmpty()`,避免额外 DOM parse。\n */\nexport const hasMeaningfulHtmlContent = (html: string): boolean => {\n if (!normalizeHtmlText(html)) return false;\n\n const template = document.createElement('template');\n\n template.innerHTML = html;\n\n return Boolean(\n normalizeHtmlText(template.content.textContent)\n || template.content.querySelector(meaningfulHtmlContentSelector)\n );\n};\n"],"names":["defaultMenuUiIcons","getEnabledGroupMenuButtons","menuElement","button","focusToolbarGroupMenuItem","index","nextButton","handleToolbarGroupMenuKeyDown","event","returnButton","executeToolbarButton","closeGroupMenu","buttons","activeIndex","focusByOffset","offset","nextIndex","_a","_b","toolbarGroupButtonSelector","toolbarButtonSelector","toolbarExecutableButtonSelector","getGroupMenuState","items","commandStates","itemStates","item","getMenuStateForItem","state","renderToolbarButton","groupElement","icons","enableTooltip","iconSvg","defaultMenuIcons","appendMenuIcon","renderToolbarGroupButton","toolbarItem","groupState","indicator","renderToolbar","toolbarElement","toolbarItems","separatorElement","renderToolbarGroupMenu","groupMenuState","labelElement","syncToolbarGroupButtonState","container","open","findToolbarGroupMenuItem","groupKey","toolbarGroupTouchMoveTolerancePx","isInsideNode","target","getClosestButton","selector","createToolbarGroupMenuInteraction","groupMenuElement","toggleGroupMenu","pendingTouch","suppressNextClickButton","getInteractiveButtonFromTarget","handlePressStart","handleTouchStart","touch","groupButton","menuItemButton","clearPendingTouch","handleTouchEnd","touchState","endButton","deltaX","deltaY","handleDocumentPointerDown","toolbarTooltipOffsetPx","toolbarGroupMenuOffsetPx","canUseHoverTooltip","getToolbarButtonFromTarget","getToolbarGroupButtonFromTarget","createRichTextToolbar","options","placement","menuSchema","resolveMenuSchemaForDom","defaultMenuSchema","resolveToolbarMenu","executableMenuItems","tooltipElement","overlayHost","destroyed","latestCommandStates","groupMenuFloatingLayer","clearToolbarPressedState","bindTouchPressedState","clearGroupMenuPressedState","mountToolbarOverlays","closeGroupMenuFloatingLayer","openGroupMenuFloatingLayer","createFloatingLayer","renderStates","states","nextGroupItem","update","hideTooltip","showTooltip","tooltipText","buttonRect","handleTooltipTarget","handleTooltipLeave","relatedTarget","menuItem","getPayloadPanelCurrentValues","shouldFocusMenu","groupItem","handleClick","groupMenuInteraction","handleKeyDown","unsubscribe","invisibleTextPattern","meaningfulHtmlContentSelector","normalizeHtmlText","text","hasMeaningfulHtmlContent","html","template"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defaultMenuSchema as et, resolveToolbarMenu as ot } from "./native-spec.js";
|
|
2
|
-
import { g as H, d as N, e as K, r as nt, f as q, h as rt, c as at } from "./index-
|
|
2
|
+
import { g as H, d as N, e as K, r as nt, f as q, h as rt, c as at } from "./index-DyLgAD7O.js";
|
|
3
3
|
const X = {
|
|
4
4
|
toolbarGroup: `
|
|
5
5
|
<svg
|
|
@@ -334,4 +334,4 @@ export {
|
|
|
334
334
|
Et as c,
|
|
335
335
|
Tt as h
|
|
336
336
|
};
|
|
337
|
-
//# sourceMappingURL=index-
|
|
337
|
+
//# sourceMappingURL=index-DE0qNycz.js.map
|