@pubinfo/core 2.0.12 → 2.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (376) hide show
  1. package/dist/{AppSetting-B3jGWi0s.js → AppSetting-Df8mPhxN.js} +34 -34
  2. package/dist/{HCheckList.vue_vue_type_script_setup_true_lang-D2OA6DQk.js → HCheckList.vue_vue_type_script_setup_true_lang-CD2VmdPG.js} +7 -6
  3. package/dist/{HToggle-wdIhtmUo.js → HToggle-CcxWxVmB.js} +1 -1
  4. package/dist/HeaderThinMenu-BMjyPDYS.js +4 -0
  5. package/dist/{PreferencesContent-BKKNflrp.js → PreferencesContent-Bu8-g2qs.js} +117 -117
  6. package/dist/{SettingBreadcrumb-DugZlP9x.js → SettingBreadcrumb-CTLEf4nt.js} +7 -7
  7. package/dist/{SettingCopyright-D6WXUaya.js → SettingCopyright-B_ZS9FXO.js} +5 -5
  8. package/dist/{SettingEnableTransition-Cl7uPofT.js → SettingEnableTransition-DgZyY8Rh.js} +16 -16
  9. package/dist/{SettingHome-Cbzfn9ko.js → SettingHome-BN6WzWxX.js} +10 -10
  10. package/dist/{SettingMenu-BfHW7kFB.js → SettingMenu-CNgEpRN_.js} +14 -14
  11. package/dist/{SettingMode-D4UfX577.js → SettingMode-B_Sf7CqN.js} +4 -4
  12. package/dist/{SettingNavSearch-B9_82zYn.js → SettingNavSearch-SQuD6lr7.js} +8 -8
  13. package/dist/{SettingOther-BcCr5K4d.js → SettingOther-CrgOHNra.js} +16 -16
  14. package/dist/{SettingPage-T9eoEZks.js → SettingPage-B4hfRME8.js} +4 -4
  15. package/dist/{SettingTabbar-DAnxa039.js → SettingTabbar-7EcsmyZo.js} +12 -12
  16. package/dist/{SettingThemes-D7JBXPTs.js → SettingThemes-CVjQoEk4.js} +9 -9
  17. package/dist/{SettingToolbar-DMiyIQkh.js → SettingToolbar-Bls_SdlL.js} +12 -12
  18. package/dist/{SettingTopbar-BX1DcBp9.js → SettingTopbar-jqUqG5vW.js} +10 -10
  19. package/dist/{SettingWidthMode-h2-4_TUO.js → SettingWidthMode-8LFo6UKy.js} +9 -9
  20. package/dist/abap-Y8Dl9g_6.js +6 -0
  21. package/dist/actionscript-3-DZzbMeqX.js +6 -0
  22. package/dist/ada-vP6ak0IW.js +6 -0
  23. package/dist/andromeeda-BIpZ7gaU.js +4 -0
  24. package/dist/angular-html-BmadGEgW.js +32 -0
  25. package/dist/angular-ts-D-QQnnGT.js +21 -0
  26. package/dist/apache-BUjz-sD2.js +6 -0
  27. package/dist/apex-D_wPycVx.js +6 -0
  28. package/dist/apl-sitt7C8I.js +16 -0
  29. package/dist/applescript-BPx7YFFu.js +6 -0
  30. package/dist/ara-Z2fSOxSw.js +6 -0
  31. package/dist/asciidoc-B-pCoB3G.js +6 -0
  32. package/dist/asm-BTWLY5ym.js +6 -0
  33. package/dist/astro-DHnp0xIo.js +18 -0
  34. package/dist/aurora-x-BwoVEUWZ.js +4 -0
  35. package/dist/awk-Fb0P9dkn.js +6 -0
  36. package/dist/ayu-dark-CxPZkpb2.js +4 -0
  37. package/dist/ballerina-oZK-YekG.js +6 -0
  38. package/dist/bat-0FvbqU9S.js +6 -0
  39. package/dist/beancount-DEfTbbFX.js +6 -0
  40. package/dist/berry-PwsHPR_K.js +6 -0
  41. package/dist/bibtex-EULQRLY5.js +6 -0
  42. package/dist/bicep-DFU2oTl7.js +6 -0
  43. package/dist/blade-OPzGcV14.js +20 -0
  44. package/dist/bsl-NkNNwerW.js +8 -0
  45. package/dist/built-in/layout-component/components/ui/HDialog.vue.d.ts +2 -2
  46. package/dist/built-in/layout-component/components/ui/HSlideover.vue.d.ts +2 -2
  47. package/dist/c-eeMepfLm.js +6 -0
  48. package/dist/cadence-DMRWHJp4.js +6 -0
  49. package/dist/cairo-DM6WF2e3.js +8 -0
  50. package/dist/catppuccin-frappe-5udUqgsX.js +4 -0
  51. package/dist/catppuccin-latte-ufkS-HWv.js +4 -0
  52. package/dist/catppuccin-macchiato-DzL2LPek.js +4 -0
  53. package/dist/catppuccin-mocha-DDDDwkUT.js +4 -0
  54. package/dist/clarity-BseSxcHx.js +6 -0
  55. package/dist/clojure-CXJfHrL3.js +6 -0
  56. package/dist/cmake-BJz8BOTU.js +6 -0
  57. package/dist/cobol-R4Vn9a46.js +10 -0
  58. package/dist/codeowners-Bt9yU6NX.js +6 -0
  59. package/dist/codeql-DHkodjjI.js +6 -0
  60. package/dist/coffee-Dl27lzbd.js +8 -0
  61. package/dist/common-lisp-EVqT9Zhp.js +6 -0
  62. package/dist/coq-B0L9upzn.js +6 -0
  63. package/dist/core/ctx.d.ts +1 -0
  64. package/dist/core/interface.d.ts +4 -2
  65. package/dist/cpp-Cj177cuW.js +18 -0
  66. package/dist/crystal-ymVvJzbZ.js +18 -0
  67. package/dist/csharp-DmxfTLWR.js +6 -0
  68. package/dist/css-CECN5uSL.js +6 -0
  69. package/dist/csv-CmYOceLb.js +6 -0
  70. package/dist/cue-ZzumE7IT.js +6 -0
  71. package/dist/cypher-jpdmjtA6.js +6 -0
  72. package/dist/d-CBagWSwH.js +6 -0
  73. package/dist/dark-plus-pUHDTVV0.js +4 -0
  74. package/dist/dart-6ObCrKr9.js +6 -0
  75. package/dist/dax-CcDT-8dH.js +6 -0
  76. package/dist/desktop-B93p9R9O.js +6 -0
  77. package/dist/diff-BxzP2J8R.js +6 -0
  78. package/dist/docker-CsHqm9tx.js +6 -0
  79. package/dist/dotenv-BMjVjUL1.js +6 -0
  80. package/dist/dracula-BtZx2Kac.js +4 -0
  81. package/dist/dracula-soft-BKa-aqBv.js +4 -0
  82. package/dist/dream-maker-PAx17jaB.js +6 -0
  83. package/dist/edge-_LvgTcmu.js +12 -0
  84. package/dist/elixir-BTCUAmQk.js +8 -0
  85. package/dist/elm-BtNbw_Cd.js +8 -0
  86. package/dist/emacs-lisp-Cfxdx5D-.js +6 -0
  87. package/dist/erb-D0PIpZCP.js +10 -0
  88. package/dist/erlang-DNcDT8Hi.js +8 -0
  89. package/dist/everforest-dark-DMCBqXCK.js +4 -0
  90. package/dist/everforest-light-BbXl82Em.js +4 -0
  91. package/dist/features/components/PartyLogin/MethodSelect.vue.d.ts +10 -0
  92. package/dist/features/components/PartyLogin/Modal.vue.d.ts +31 -0
  93. package/dist/features/components/PartyLogin/ParamsItem.vue.d.ts +94 -0
  94. package/dist/features/components/PartyLogin/ParamsPanel.vue.d.ts +13 -0
  95. package/dist/features/components/PartyLogin/RequestFieldSelector.vue.d.ts +18 -0
  96. package/dist/features/components/PartyLogin/SystemFieldSelector.vue.d.ts +15 -0
  97. package/dist/features/components/PartyLogin/steps/One.vue.d.ts +28 -0
  98. package/dist/features/components/PartyLogin/steps/Two.vue.d.ts +14 -0
  99. package/dist/features/components/PartyLogin/type.d.ts +37 -0
  100. package/dist/features/components/PartyLogin/usePartyRequest.d.ts +21 -0
  101. package/dist/features/components/PubinfoIcon/props.d.ts +7 -0
  102. package/dist/features/components/index.d.ts +1 -0
  103. package/dist/features/composables/partyLogin.d.ts +13 -0
  104. package/dist/features/stores/modules/menu.d.ts +1 -0
  105. package/dist/features/stores/modules/route.d.ts +9 -0
  106. package/dist/features/stores/utils/routerHelper.d.ts +2 -1
  107. package/dist/fennel-N4WcXuKx.js +6 -0
  108. package/dist/fish-B6QqlqeT.js +6 -0
  109. package/dist/fluent-BMXUxfv1.js +6 -0
  110. package/dist/fortran-fixed-form-DUsA-VGo.js +8 -0
  111. package/dist/fortran-free-form-DPIT_jbP.js +6 -0
  112. package/dist/fsharp-Pr2u3cIG.js +8 -0
  113. package/dist/gdresource-BwtMIoBm.js +10 -0
  114. package/dist/gdscript-BifyeYhI.js +6 -0
  115. package/dist/gdshader-Bk8fF6yr.js +6 -0
  116. package/dist/genie-DzUvd7U9.js +6 -0
  117. package/dist/gherkin-DHRaV0YP.js +6 -0
  118. package/dist/git-commit-Bd32YZ0K.js +8 -0
  119. package/dist/git-rebase-ZWUFO_T4.js +8 -0
  120. package/dist/github-dark-DenFmJkN.js +4 -0
  121. package/dist/github-dark-default-BJPUVz4H.js +4 -0
  122. package/dist/github-dark-dimmed-DUshB20C.js +4 -0
  123. package/dist/github-dark-high-contrast-D3aGCnF8.js +4 -0
  124. package/dist/github-light-JYsPkUQd.js +4 -0
  125. package/dist/github-light-default-D99KPAby.js +4 -0
  126. package/dist/github-light-high-contrast-BbmZE-Mp.js +4 -0
  127. package/dist/gleam-Bv284lvN.js +6 -0
  128. package/dist/glimmer-js-CkxRszZZ.js +14 -0
  129. package/dist/glimmer-ts-Bi6BYQCn.js +14 -0
  130. package/dist/glsl-CkUcVZNK.js +8 -0
  131. package/dist/gnuplot-yPG9-sE_.js +6 -0
  132. package/dist/go-ChxJuLYK.js +6 -0
  133. package/dist/graphql-BLaPX4fU.js +14 -0
  134. package/dist/groovy-CJQTphOW.js +6 -0
  135. package/dist/gruvbox-dark-hard-C2ND4cMr.js +4 -0
  136. package/dist/gruvbox-dark-medium-C8k4c8au.js +4 -0
  137. package/dist/gruvbox-dark-soft-xx9Q6FaG.js +4 -0
  138. package/dist/gruvbox-light-hard-BpUXv5in.js +4 -0
  139. package/dist/gruvbox-light-medium-D3XFCoU1.js +4 -0
  140. package/dist/gruvbox-light-soft-u7hpfz6Z.js +4 -0
  141. package/dist/hack-Bx1jMtBC.js +10 -0
  142. package/dist/haml-6FagfhCM.js +10 -0
  143. package/dist/handlebars-Bd5Y4M6I.js +14 -0
  144. package/dist/haskell-WeIwNIP6.js +6 -0
  145. package/dist/haxe-TztHsm5T.js +6 -0
  146. package/dist/hcl-D438OF-I.js +6 -0
  147. package/dist/hjson-DYBUbqOl.js +6 -0
  148. package/dist/hlsl-Bk8TCZNL.js +6 -0
  149. package/dist/houston-BDYrDoDW.js +4 -0
  150. package/dist/html-7XVNRwN7.js +10 -0
  151. package/dist/html-derivative-BNxZ5Yf6.js +8 -0
  152. package/dist/http-WC357zBG.js +14 -0
  153. package/dist/hxml-GbqSQCLa.js +8 -0
  154. package/dist/hy-Brt5EZ7-.js +6 -0
  155. package/dist/imba-CimUv-Uh.js +6 -0
  156. package/dist/{index-BAIUGhyE.js → index-BX0RSX9i.js} +5 -5
  157. package/dist/index-Bl4PBBmY.js +2827 -0
  158. package/dist/{index-CfPeR7ym.js → index-C6HIzbdv.js} +1 -1
  159. package/dist/index-CUbMQSBZ.js +4 -0
  160. package/dist/{index-BqHnVVhW.js → index-Cc8zVLOC.js} +11 -10
  161. package/dist/{index-D77TmeiT.js → index-Cjl98Ty_.js} +7 -7
  162. package/dist/{index-Q4dgy_3e.js → index-Dalsj2EI.js} +58900 -33442
  163. package/dist/index-Dw9-vGGZ.js +24519 -0
  164. package/dist/index.js +59 -58
  165. package/dist/ini-BZIuRIvJ.js +6 -0
  166. package/dist/java-DY6VlHhP.js +6 -0
  167. package/dist/javascript-Dp1Jmi5H.js +6 -0
  168. package/dist/jinja-WEhOU5ES.js +11 -0
  169. package/dist/jison-c2JI40PB.js +8 -0
  170. package/dist/json-DxJze_jm.js +6 -0
  171. package/dist/json5-BT4Fjg39.js +6 -0
  172. package/dist/jsonc-CHjZD8gR.js +6 -0
  173. package/dist/jsonl-BGuvDmy9.js +6 -0
  174. package/dist/jsonnet-Bx2cfsXg.js +6 -0
  175. package/dist/jssm-BcADi6EI.js +6 -0
  176. package/dist/jsx-BtKADgXT.js +6 -0
  177. package/dist/julia-DcoDQokW.js +16 -0
  178. package/dist/kanagawa-dragon-CiKur4Hl.js +4 -0
  179. package/dist/kanagawa-lotus-BKu-smKu.js +4 -0
  180. package/dist/kanagawa-wave-CQwozSzG.js +4 -0
  181. package/dist/kotlin-ByBMgTeR.js +6 -0
  182. package/dist/kusto-VWFLl2T0.js +6 -0
  183. package/dist/laserwave-6a00oqik.js +4 -0
  184. package/dist/latex-MZCpjnva.js +8 -0
  185. package/dist/lean-DXqEE_d1.js +6 -0
  186. package/dist/less-B1GLI2Di.js +6 -0
  187. package/dist/light-plus-CZuVqSLX.js +4 -0
  188. package/dist/liquid-3HHuHOZ2.js +14 -0
  189. package/dist/llvm-6RQLId6G.js +6 -0
  190. package/dist/log-Al8wyEFV.js +6 -0
  191. package/dist/logo-DBa4JDzV.js +6 -0
  192. package/dist/lua-kX5WP_P5.js +8 -0
  193. package/dist/luau-DtBSxLyz.js +6 -0
  194. package/dist/make-CsMclxtr.js +6 -0
  195. package/dist/markdown-CrScaQ96.js +6 -0
  196. package/dist/marko-DDi9qpQP.js +14 -0
  197. package/dist/material-theme-D6KBX41T.js +4 -0
  198. package/dist/material-theme-darker-CkRroheE.js +4 -0
  199. package/dist/material-theme-lighter-BUBw43Yz.js +4 -0
  200. package/dist/material-theme-ocean-ClGX14Ja.js +4 -0
  201. package/dist/material-theme-palenight-C1RVm8K1.js +4 -0
  202. package/dist/matlab-BOAaUVP0.js +6 -0
  203. package/dist/mdc-FI2x3BiY.js +12 -0
  204. package/dist/mdx-BOhZZUJ8.js +6 -0
  205. package/dist/mermaid-B0ixDHKN.js +6 -0
  206. package/dist/min-dark-C7ak0t6c.js +4 -0
  207. package/dist/min-light-CKFxVcPp.js +4 -0
  208. package/dist/mipsasm-CTx18fBl.js +6 -0
  209. package/dist/mojo-BD611d7o.js +6 -0
  210. package/dist/monokai-C1KBYcO0.js +4 -0
  211. package/dist/move-DSb5dTSj.js +6 -0
  212. package/dist/narrat-DmhDCBs-.js +6 -0
  213. package/dist/nextflow-BAAEJxI_.js +6 -0
  214. package/dist/nginx-5vhPAEw3.js +8 -0
  215. package/dist/night-owl-Bm2rzalh.js +4 -0
  216. package/dist/nim-BhS8gg0S.js +20 -0
  217. package/dist/nix-ceY58Dty.js +6 -0
  218. package/dist/nord-CC5OiUXg.js +4 -0
  219. package/dist/nushell-CQi4NV-2.js +6 -0
  220. package/dist/objective-c-Itk8tzmv.js +6 -0
  221. package/dist/objective-cpp-DGt5UKRO.js +6 -0
  222. package/dist/ocaml-eSVK32Eg.js +6 -0
  223. package/dist/one-dark-pro-DTA3VF0_.js +4 -0
  224. package/dist/one-light-D9sNaUtq.js +4 -0
  225. package/dist/pascal-xy8pJNns.js +6 -0
  226. package/dist/perl-BoEn6HmT.js +16 -0
  227. package/dist/php-BRU9zhoN.js +18 -0
  228. package/dist/pick-Cghe_Z7L.js +12 -0
  229. package/dist/plastic-CSTz3KZp.js +4 -0
  230. package/dist/plsql-pVbGZfOv.js +6 -0
  231. package/dist/po-BNfHvqmm.js +6 -0
  232. package/dist/poimandres-C-VADXHD.js +4 -0
  233. package/dist/polar-CAZahv3u.js +6 -0
  234. package/dist/postcss-05aHdL-n.js +6 -0
  235. package/dist/powerquery-DI9HkTvs.js +6 -0
  236. package/dist/powershell-Clc4ydu-.js +6 -0
  237. package/dist/prisma-FZjmVtSl.js +6 -0
  238. package/dist/prolog-C5-yg4TO.js +6 -0
  239. package/dist/proto-MmCPeFAD.js +6 -0
  240. package/dist/pug-CJWI-qSo.js +12 -0
  241. package/dist/puppet-CUJHmnxV.js +6 -0
  242. package/dist/purescript-rUfGld-4.js +6 -0
  243. package/dist/python-BFNSHbwJ.js +6 -0
  244. package/dist/qml-D3ATcgGh.js +8 -0
  245. package/dist/qmldir-BInDYbpo.js +6 -0
  246. package/dist/qss-AeJTysr_.js +6 -0
  247. package/dist/r-Bm0uF0U2.js +6 -0
  248. package/dist/racket-B83wSAja.js +6 -0
  249. package/dist/raku-nEQ4ZJJ7.js +6 -0
  250. package/dist/razor-BPFYEoc9.js +10 -0
  251. package/dist/red-7y8PH7HH.js +4 -0
  252. package/dist/reg-m_s_Kiip.js +6 -0
  253. package/dist/regexp-BazyLpPg.js +6 -0
  254. package/dist/rel-BcRfyd6Q.js +6 -0
  255. package/dist/riscv-Ce8MAQLP.js +6 -0
  256. package/dist/rose-pine-Cr4kwgAY.js +4 -0
  257. package/dist/rose-pine-dawn-ClRRUdXX.js +4 -0
  258. package/dist/rose-pine-moon-ucNn3Gm8.js +4 -0
  259. package/dist/rst-B6mPMsKo.js +22 -0
  260. package/dist/ruby-DInklMmU.js +30 -0
  261. package/dist/rust-CLzF9zIN.js +6 -0
  262. package/dist/sas-fpEvgATw.js +8 -0
  263. package/dist/sass-DxHp5rTx.js +6 -0
  264. package/dist/scala-D4grkFkl.js +6 -0
  265. package/dist/scheme-BCRWuEm4.js +6 -0
  266. package/dist/scss-B1FaCqwR.js +8 -0
  267. package/dist/sdbl-B7T8abf4.js +6 -0
  268. package/dist/shaderlab-Cr62-Wb4.js +8 -0
  269. package/dist/shellscript-InADTalH.js +6 -0
  270. package/dist/shellsession-DiDJNQdy.js +8 -0
  271. package/dist/slack-dark-i7wN4OET.js +4 -0
  272. package/dist/slack-ochin-ndHf0LoP.js +4 -0
  273. package/dist/smalltalk-BlI1_OkM.js +6 -0
  274. package/dist/snazzy-light-BlSJXAu4.js +4 -0
  275. package/dist/solarized-dark-UTmkh7lw.js +4 -0
  276. package/dist/solarized-light-BheCkDPT.js +4 -0
  277. package/dist/solidity-CneOhxmR.js +6 -0
  278. package/dist/soy-LybuU3Y_.js +8 -0
  279. package/dist/sparql-B0KWFEri.js +8 -0
  280. package/dist/splunk-CRXR8A9s.js +6 -0
  281. package/dist/sql-Cn_v3PB0.js +6 -0
  282. package/dist/ssh-config-DP-hNVbF.js +6 -0
  283. package/dist/stata-B8c5fTjX.js +8 -0
  284. package/dist/style.css +1 -1
  285. package/dist/stylus-CyKEU1Ej.js +6 -0
  286. package/dist/svelte-BjDUPxZ1.js +14 -0
  287. package/dist/swift-9UzSvamq.js +6 -0
  288. package/dist/synthwave-84-NU3C_KFZ.js +4 -0
  289. package/dist/system-verilog-BCm7smPJ.js +6 -0
  290. package/dist/systemd-C-4qm6XH.js +6 -0
  291. package/dist/talonscript-CFF3LF_O.js +6 -0
  292. package/dist/tasl-Cg_WBUAe.js +6 -0
  293. package/dist/tcl-DN7buRTF.js +6 -0
  294. package/dist/templ-Brj2RH7A.js +12 -0
  295. package/dist/terraform-DGvcn9zM.js +6 -0
  296. package/dist/tex-CmrLTxbG.js +8 -0
  297. package/dist/tokyo-night-DP4TmcQl.js +4 -0
  298. package/dist/toml-DY62mUL_.js +6 -0
  299. package/dist/ts-tags-CZMzuZh-.js +41 -0
  300. package/dist/tsv-BtvSkaG0.js +6 -0
  301. package/dist/tsx-B8rCNbgL.js +6 -0
  302. package/dist/turtle-_H59FV7D.js +6 -0
  303. package/dist/twig-GjIxYqCX.js +18 -0
  304. package/dist/typescript-mg6ATTE8.js +6 -0
  305. package/dist/typespec-Djmco60m.js +6 -0
  306. package/dist/typst-D_1QKWns.js +6 -0
  307. package/dist/v-BW14IZv7.js +6 -0
  308. package/dist/vala-uxaPR7d1.js +6 -0
  309. package/dist/vb-D8_c5-KN.js +6 -0
  310. package/dist/verilog-B-bybjPF.js +6 -0
  311. package/dist/vesper-BckBta1U.js +4 -0
  312. package/dist/vhdl-CUlNa8ac.js +6 -0
  313. package/dist/viml-DsfA-sWm.js +6 -0
  314. package/dist/vitesse-black-BoGvW84i.js +4 -0
  315. package/dist/vitesse-dark-Cym-eLtO.js +4 -0
  316. package/dist/vitesse-light-CcmG315c.js +4 -0
  317. package/dist/vue-D-ba2-Rx.js +31 -0
  318. package/dist/vue-html-Dn2ZoOSz.js +10 -0
  319. package/dist/vue-vine-Jmfkm6lF.js +20 -0
  320. package/dist/vyper-CPQuu50u.js +6 -0
  321. package/dist/wasm-BBXxrAl7.js +6 -0
  322. package/dist/wasm-DQxwEHae.js +7 -0
  323. package/dist/wenyan-pbVjoM9_.js +6 -0
  324. package/dist/wgsl-DY4iK1q1.js +6 -0
  325. package/dist/wikitext-Z-MoUasO.js +6 -0
  326. package/dist/wit-CQMQOlTg.js +6 -0
  327. package/dist/wolfram-Dz4KXISs.js +6 -0
  328. package/dist/xml-C2J0sS9M.js +8 -0
  329. package/dist/xsl-BmSZphgC.js +8 -0
  330. package/dist/yaml-DaO7k5B1.js +6 -0
  331. package/dist/zenscript-CxBjpf9c.js +6 -0
  332. package/dist/zig-Vm0PO9wB.js +6 -0
  333. package/package.json +7 -5
  334. package/src/built-in/layout-component/components/Content/IframeView.vue +28 -2
  335. package/src/built-in/layout-component/components/Header/HeaderFullMenu/index.vue +2 -1
  336. package/src/built-in/layout-component/components/Header/index.vue +9 -2
  337. package/src/built-in/layout-component/components/Menu/index.vue +13 -2
  338. package/src/built-in/layout-component/components/Menu/item.vue +2 -0
  339. package/src/built-in/layout-component/components/Sidebar/SubSidebar.vue +6 -2
  340. package/src/built-in/layout-component/components/Topbar/Tabbar/index.vue +2 -0
  341. package/src/built-in/layout-component/components/Topbar/index.vue +21 -7
  342. package/src/built-in/layout-component/composables/useContext.ts +1 -1
  343. package/src/core/create.ts +3 -0
  344. package/src/core/ctx.ts +14 -0
  345. package/src/core/interface.ts +5 -2
  346. package/src/features/components/PartyLogin/MethodSelect.vue +32 -0
  347. package/src/features/components/PartyLogin/Modal.vue +370 -0
  348. package/src/features/components/PartyLogin/ParamsItem.vue +196 -0
  349. package/src/features/components/PartyLogin/ParamsPanel.vue +61 -0
  350. package/src/features/components/PartyLogin/README.md +621 -0
  351. package/src/features/components/PartyLogin/RequestFieldSelector.vue +205 -0
  352. package/src/features/components/PartyLogin/SystemFieldSelector.vue +213 -0
  353. package/src/features/components/PartyLogin/steps/One.vue +212 -0
  354. package/src/features/components/PartyLogin/steps/Two.vue +86 -0
  355. package/src/features/components/PartyLogin/type.ts +43 -0
  356. package/src/features/components/PartyLogin/usePartyRequest.ts +244 -0
  357. package/src/features/components/PubinfoIcon/index.vue +26 -4
  358. package/src/features/components/PubinfoIcon/props.ts +7 -0
  359. package/src/features/components/index.ts +2 -1
  360. package/src/features/composables/partyLogin.ts +423 -0
  361. package/src/features/settings/index.ts +0 -1
  362. package/src/features/stores/modules/menu.ts +10 -20
  363. package/src/features/stores/modules/route.ts +140 -39
  364. package/src/features/stores/utils/routerHelper.ts +8 -23
  365. package/types/components.d.ts +11 -0
  366. package/types/menu.d.ts +2 -0
  367. package/types/settings.d.ts +0 -6
  368. package/types/vue-router.d.ts +5 -1
  369. package/dist/HeaderThinMenu-CzAyTOhQ.js +0 -4
  370. package/dist/colors-CIY2S0v0.js +0 -25
  371. package/dist/features/components/MicroAppContainer/index.vue.d.ts +0 -2
  372. package/dist/index-7WoSPUpd.js +0 -8135
  373. package/dist/index-B041J475.js +0 -271
  374. package/dist/index-Bk-Yxmj1.js +0 -4
  375. package/dist/index-LOaJK4GI.js +0 -35319
  376. package/dist/pick-Drqqoyjl.js +0 -12
@@ -0,0 +1,423 @@
1
+ import type { PartyLoginConfig, PartyLoginParamItem } from '../components/PartyLogin/type';
2
+ import { ref } from 'vue';
3
+ import {
4
+ useFavoritesStore,
5
+ useIframeStore,
6
+ useKeepAliveStore,
7
+ useMenuStore,
8
+ useRouteStore,
9
+ useSettingsStore,
10
+ useTabbarStore,
11
+ useUserStore,
12
+ } from '@/features/stores';
13
+
14
+ // Store 名称映射表
15
+ const STORE_MAP: Record<string, () => any> = {
16
+ user: useUserStore,
17
+ settings: useSettingsStore,
18
+ menu: useMenuStore,
19
+ route: useRouteStore,
20
+ tabbar: useTabbarStore,
21
+ iframe: useIframeStore,
22
+ keepAlive: useKeepAliveStore,
23
+ favorites: useFavoritesStore,
24
+ };
25
+
26
+ /**
27
+ * 根据路径获取对象的嵌套值
28
+ * @param obj 目标对象
29
+ * @param path 路径字符串,用 . 分隔,如 'user.token'
30
+ */
31
+ function getNestedValue(obj: any, path: string): any {
32
+ if (!obj || !path) {
33
+ return '';
34
+ }
35
+
36
+ const keys = path.split('.');
37
+ let result = obj;
38
+
39
+ for (const key of keys) {
40
+ if (result && typeof result === 'object' && key in result) {
41
+ result = result[key];
42
+ }
43
+ else {
44
+ return '';
45
+ }
46
+ }
47
+
48
+ return result ?? '';
49
+ }
50
+
51
+ /**
52
+ * 解析参数值
53
+ *
54
+ * @param item 参数项
55
+ * @param previousResponse 上一步请求的响应数据(仅用于 request 类型)
56
+ *
57
+ * @description
58
+ * 支持的参数类型:
59
+ *
60
+ * 1. **string/number**: 直接使用配置的值
61
+ * - 示例: `{ key: "name", type: "string", value: "张三" }`
62
+ *
63
+ * 2. **boolean**: 值为 'true' 或 'false' 字符串
64
+ * - 示例: `{ key: "enabled", type: "boolean", value: "true" }`
65
+ *
66
+ * 3. **system**: 从 Pinia Store 中获取值
67
+ * - 格式: `"storeName:path.to.field"`
68
+ * - 示例: `{ key: "authorization", type: "system", field: "user:user.token" }`
69
+ * → 解析为: `userStore.user.token`
70
+ * - 可用的 store 名称: user, settings, menu, route, tabbar, iframe, keepAlive, favorites
71
+ *
72
+ * 4. **request**: 从上一步请求响应中获取值
73
+ * - 格式: `"path.to.field"`
74
+ * - 示例: `{ key: "wd", type: "request", field: "data.name" }`
75
+ * → 解析为: `previousResponse.data.name`
76
+ *
77
+ * @example
78
+ * // System 类型 - 从 userStore 获取 token
79
+ * const item1 = {
80
+ * key: "authorization",
81
+ * type: "system",
82
+ * field: "user:user.token"
83
+ * };
84
+ * // 结果: userStore.user.token 的值
85
+ *
86
+ * @example
87
+ * // Request 类型 - 从响应数据获取
88
+ * const item2 = {
89
+ * key: "name",
90
+ * type: "request",
91
+ * field: "data.result.userName"
92
+ * };
93
+ * // 结果: previousResponse.data.result.userName 的值
94
+ */
95
+ function resolveParamValue(
96
+ item: PartyLoginParamItem,
97
+ previousResponse?: Record<string, any>,
98
+ ): string | number | boolean {
99
+ switch (item.type) {
100
+ case 'string':
101
+ case 'number':
102
+ return item.value ?? '';
103
+ case 'boolean':
104
+ return item.value === 'true';
105
+ case 'system': {
106
+ // 从 pinia store 中获取系统数据
107
+ // 格式: "storeName:path.to.field"
108
+ // 例如: "user:user.token" -> userStore.user.token
109
+ if (!item.field) {
110
+ return '';
111
+ }
112
+
113
+ const [storeName, fieldPath] = item.field.split(':');
114
+ if (!storeName || !fieldPath) {
115
+ return '';
116
+ }
117
+
118
+ try {
119
+ const useStore = STORE_MAP[storeName];
120
+ if (!useStore) {
121
+ console.warn(`Store "${storeName}" not found in STORE_MAP`);
122
+ return '';
123
+ }
124
+
125
+ const store = useStore();
126
+ return getNestedValue(store, fieldPath);
127
+ }
128
+ catch (error) {
129
+ console.error(`Error accessing store field ${item.field}:`, error);
130
+ return '';
131
+ }
132
+ }
133
+ case 'request':
134
+ // 从上一步请求响应中获取值
135
+ // 格式: "path.to.field"
136
+ // 例如: "data.name" -> previousResponse.data.name
137
+ if (!item.field || !previousResponse) {
138
+ return '';
139
+ }
140
+ return getNestedValue(previousResponse, item.field);
141
+ default:
142
+ return item.value ?? '';
143
+ }
144
+ }
145
+
146
+ /**
147
+ * 构建请求参数
148
+ * @param params 参数配置数组
149
+ * @param previousResponse 上一步请求的响应数据
150
+ */
151
+ function buildParams(
152
+ params: PartyLoginParamItem[],
153
+ previousResponse?: Record<string, any>,
154
+ ): Record<string, any> {
155
+ const result: Record<string, any> = {};
156
+
157
+ params.forEach((item) => {
158
+ if (item.key) {
159
+ result[item.key] = resolveParamValue(item, previousResponse);
160
+ }
161
+ });
162
+
163
+ return result;
164
+ }
165
+
166
+ /**
167
+ * 拼接 OAuth URL
168
+ * @param baseUrl OAuth 基础 URL
169
+ * @param params OAuth 参数配置
170
+ * @param previousResponse 上一步请求的响应数据
171
+ */
172
+ function buildOAuthUrl(
173
+ baseUrl: string,
174
+ params: PartyLoginParamItem[],
175
+ previousResponse?: Record<string, any>,
176
+ ): string {
177
+ const queryParams = buildParams(params, previousResponse);
178
+
179
+ const url = new URL(baseUrl);
180
+ Object.entries(queryParams).forEach(([key, value]) => {
181
+ url.searchParams.append(key, String(value));
182
+ });
183
+
184
+ // 解码 URL,将编码的中文转换为可读形式
185
+ return decodeURIComponent(url.toString());
186
+ }
187
+
188
+ /**
189
+ * 构建查询字符串
190
+ */
191
+ function buildQueryString(queryObj: Record<string, any>): string {
192
+ const params = new URLSearchParams();
193
+ Object.entries(queryObj).forEach(([key, value]) => {
194
+ if (value != null) {
195
+ params.append(key, String(value));
196
+ }
197
+ });
198
+ return params.toString();
199
+ }
200
+
201
+ /**
202
+ * 序列化请求体
203
+ */
204
+ function serializeBody(
205
+ bodyObj: Record<string, any>,
206
+ headers: Record<string, string>,
207
+ ): string | FormData | undefined {
208
+ const contentType = headers['Content-Type'] || headers['content-type'] || 'application/json';
209
+
210
+ if (!bodyObj || Object.keys(bodyObj).length === 0) {
211
+ return undefined;
212
+ }
213
+
214
+ const type = contentType.split(';')[0].trim().toLowerCase();
215
+
216
+ if (type === 'application/json') {
217
+ return JSON.stringify(bodyObj);
218
+ }
219
+
220
+ if (type === 'application/x-www-form-urlencoded') {
221
+ const params = new URLSearchParams();
222
+ Object.entries(bodyObj).forEach(([key, value]) => {
223
+ if (value != null) {
224
+ params.append(key, String(value));
225
+ }
226
+ });
227
+ return params.toString();
228
+ }
229
+
230
+ if (type === 'multipart/form-data') {
231
+ const formData = new FormData();
232
+ Object.entries(bodyObj).forEach(([key, value]) => {
233
+ if (value != null) {
234
+ formData.append(key, value as any);
235
+ }
236
+ });
237
+ // 移除 Content-Type,让浏览器自动设置
238
+ delete headers['Content-Type'];
239
+ delete headers['content-type'];
240
+ return formData;
241
+ }
242
+
243
+ return JSON.stringify(bodyObj);
244
+ }
245
+
246
+ /**
247
+ * 深度解析 JSON 字符串
248
+ */
249
+ function deepParseJSON(obj: any): any {
250
+ if (obj === null || obj === undefined) {
251
+ return obj;
252
+ }
253
+
254
+ if (typeof obj === 'string') {
255
+ try {
256
+ const parsed = JSON.parse(obj);
257
+ return deepParseJSON(parsed);
258
+ }
259
+ catch {
260
+ return obj;
261
+ }
262
+ }
263
+
264
+ if (Array.isArray(obj)) {
265
+ return obj.map(item => deepParseJSON(item));
266
+ }
267
+
268
+ if (typeof obj === 'object') {
269
+ const result: Record<string, any> = {};
270
+ for (const key in obj) {
271
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
272
+ result[key] = deepParseJSON(obj[key]);
273
+ }
274
+ }
275
+ return result;
276
+ }
277
+
278
+ return obj;
279
+ }
280
+
281
+ /**
282
+ * Party Login Hook
283
+ * 处理第三方登录的多步骤流程
284
+ * @param config Party Login 配置
285
+ * @param targetUrl 目标跳转 URL (来自 meta.link 或 meta.iframe)
286
+ */
287
+ export async function usePartyLogin(config: PartyLoginConfig, targetUrl: string) {
288
+ const url = ref<string>('');
289
+ const loading = ref(false);
290
+ const error = ref<Error | null>(null);
291
+
292
+ /**
293
+ * 执行第一步请求并生成第二步 URL
294
+ */
295
+ async function execute() {
296
+ if (!config || config.length < 2) {
297
+ throw new Error('PartyLogin config must have at least 2 steps');
298
+ }
299
+
300
+ if (!targetUrl) {
301
+ throw new Error('Target URL is required for OAuth redirect');
302
+ }
303
+
304
+ const step1 = config.find(step => step.step === 1);
305
+ const step2 = config.find(step => step.step === 2);
306
+
307
+ if (!step1 || !step2) {
308
+ throw new Error('Step 1 and Step 2 configurations are required');
309
+ }
310
+
311
+ // 第一步必须有 request 配置
312
+ if (!step1.request) {
313
+ throw new Error('Step 1 must have request configuration');
314
+ }
315
+
316
+ // 第二步必须有 oauth 配置
317
+ if (!step2.oauth) {
318
+ throw new Error('Step 2 must have OAuth configuration');
319
+ }
320
+
321
+ const { url: requestUrl, method, params } = step1.request;
322
+
323
+ // 构建第一步请求的各类参数(此时还没有 previousResponse,所以传 undefined)
324
+ const queryParams = params.query ? buildParams(params.query) : {};
325
+ const bodyParams = params.body ? buildParams(params.body) : {};
326
+ const headerParams = params.header ? buildParams(params.header) : {};
327
+ const cookieParams = params.cookie ? buildParams(params.cookie) : {};
328
+
329
+ // 构建请求头
330
+ const headers: Record<string, string> = {};
331
+ Object.entries(headerParams).forEach(([key, value]) => {
332
+ headers[key] = String(value);
333
+ });
334
+
335
+ // 处理 Cookie
336
+ const cookiePairs = Object.entries(cookieParams).map(([key, value]) => `${key}=${value}`);
337
+ if (cookiePairs.length > 0) {
338
+ headers.Cookie = cookiePairs.join('; ');
339
+ }
340
+
341
+ // 构建完整的 URL(带查询参数)
342
+ let finalUrl = requestUrl;
343
+ const queryString = buildQueryString(queryParams);
344
+ if (queryString) {
345
+ finalUrl = `${requestUrl}${requestUrl.includes('?') ? '&' : '?'}${queryString}`;
346
+ }
347
+
348
+ // 构建请求体
349
+ let requestBody: string | FormData | undefined;
350
+ if (!['GET', 'HEAD'].includes(method)) {
351
+ // 如果没有设置 Content-Type,默认使用 application/json
352
+ if (!headers['Content-Type'] && !headers['content-type']) {
353
+ headers['Content-Type'] = 'application/json';
354
+ }
355
+ requestBody = serializeBody(bodyParams, headers);
356
+ }
357
+
358
+ // 发送第一步请求
359
+ loading.value = true;
360
+ error.value = null;
361
+
362
+ try {
363
+ const response = await fetch(finalUrl, {
364
+ method,
365
+ headers,
366
+ body: requestBody,
367
+ credentials: cookiePairs.length > 0 ? 'include' : 'same-origin',
368
+ mode: 'cors',
369
+ });
370
+
371
+ if (!response.ok) {
372
+ throw new Error(`HTTP ${response.status}: ${response.statusText}`);
373
+ }
374
+
375
+ // 解析响应数据
376
+ const contentType = response.headers.get('content-type') || '';
377
+ let responseData: Record<string, any> = {};
378
+
379
+ if (contentType.includes('application/json')) {
380
+ const jsonData = await response.json();
381
+ responseData = deepParseJSON(jsonData);
382
+ }
383
+ else {
384
+ const text = await response.text();
385
+ try {
386
+ const jsonData = JSON.parse(text);
387
+ responseData = deepParseJSON(jsonData);
388
+ }
389
+ catch {
390
+ // 如果不是 JSON,将文本作为 data 字段
391
+ responseData = { data: text };
392
+ }
393
+ }
394
+
395
+ // 拼接第二步的 OAuth URL
396
+ const oauthUrl = buildOAuthUrl(
397
+ targetUrl,
398
+ step2.oauth.params,
399
+ responseData,
400
+ );
401
+
402
+ url.value = oauthUrl;
403
+ return oauthUrl;
404
+ }
405
+ catch (err: any) {
406
+ error.value = new Error(`第一步请求失败: ${err?.message || String(err)}`);
407
+ throw error.value;
408
+ }
409
+ finally {
410
+ loading.value = false;
411
+ }
412
+ }
413
+
414
+ // 自动执行
415
+ await execute();
416
+
417
+ return {
418
+ url,
419
+ loading,
420
+ error,
421
+ execute,
422
+ };
423
+ }
@@ -13,7 +13,6 @@ let globalSettings: RequiredDeep<Settings.all> = {
13
13
  enableDynamicTitle: true,
14
14
  storagePrefix: 'wsy_rbac',
15
15
  // enableWatermark: false,
16
- enableErrorLog: false,
17
16
  enableUserPreferences: true,
18
17
  enableSettingPreferences: true,
19
18
  enableAppSetting: true,
@@ -4,13 +4,15 @@ import { computedAsync } from '@vueuse/core';
4
4
  import { get, isNumber } from 'lodash-es';
5
5
  import { match } from 'path-to-regexp';
6
6
  import { defineStore } from 'pinia';
7
- import { hooks } from '@/core/ctx';
7
+ import { callHookAsync } from '@/core/ctx';
8
8
  import { useWarn } from '@/features/composables';
9
9
  import { resolveRoutePath } from '@/utils';
10
10
  import { STORE_NAME } from '../enum';
11
11
  import useRouteStore from './route';
12
12
  import useSettingsStore from './settings';
13
13
 
14
+ export type MenuData = Menu.recordMainRaw;
15
+
14
16
  /**
15
17
  * 用于管理与菜单相关数据的自定义存储。
16
18
  *
@@ -21,7 +23,7 @@ const useMenuStore = defineStore(
21
23
  () => {
22
24
  const settingsStore = useSettingsStore();
23
25
  const routeStore = useRouteStore();
24
- const menus = ref<Menu.recordMainRaw[]>([{
26
+ const menus = ref<MenuData[]>([{
25
27
  meta: {},
26
28
  children: [],
27
29
  }]);
@@ -61,9 +63,9 @@ const useMenuStore = defineStore(
61
63
  * 获取所有菜单项
62
64
  * @returns 所有菜单项的数组
63
65
  */
64
- const allMenus = computedAsync<Menu.recordMainRaw[]>(
66
+ const allMenus = computedAsync<MenuData[]>(
65
67
  async () => {
66
- let returnMenus: Menu.recordMainRaw[] = [{
68
+ let returnMenus: MenuData[] = [{
67
69
  meta: {},
68
70
  children: [],
69
71
  }];
@@ -80,33 +82,21 @@ const useMenuStore = defineStore(
80
82
  });
81
83
  }
82
84
  else {
83
- returnMenus = routeStore.routes as Menu.recordMainRaw[];
85
+ returnMenus = routeStore.routes as MenuData[];
84
86
  }
85
87
 
86
88
  returnMenus.forEach(item => convertToFullPath(item.children));
87
89
 
88
- const transformedMenus = await hooks.callHookWith(
89
- async (hookFns, args) => {
90
- let res = args[0];
91
- for (const fn of hookFns) {
92
- res = await fn(res);
93
- }
94
- return res as Menu.recordMainRaw[];
95
- },
96
- 'menu:transform',
97
- returnMenus,
98
- );
99
-
100
- return transformedMenus;
90
+ return await callHookAsync<MenuData[]>('menu:transform', returnMenus);
101
91
  },
102
92
  [],
103
93
  );
104
94
 
105
95
  /**
106
96
  * 侧边栏菜单的计算属性。
107
- * @returns {Menu.recordMainRaw['children']} 当前活动菜单的子菜单,如果没有菜单则返回空数组。
97
+ * @returns {MenuData['children']} 当前活动菜单的子菜单,如果没有菜单则返回空数组。
108
98
  */
109
- const sidebarMenus = computed<Menu.recordMainRaw['children']>(() => {
99
+ const sidebarMenus = computed<MenuData['children']>(() => {
110
100
  const tempAllMenus = allMenus.value.filter(item => !get(item, 'meta.isDev', false));
111
101
  if (tempAllMenus.length > 0) {
112
102
  if (tempAllMenus.length > 1) {