@e-xi/xion 0.0.6

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 (542) hide show
  1. package/README.md +1 -0
  2. package/dist/bin/icon-generator.d.ts +22 -0
  3. package/dist/bin/index.d.ts +5 -0
  4. package/dist/bin/index.js +92 -0
  5. package/dist/bin/logo-generator.d.ts +22 -0
  6. package/dist/chunk-files/chunk-34OODP7M.js +147 -0
  7. package/dist/chunk-files/chunk-3KBZWBNP.js +51 -0
  8. package/dist/chunk-files/chunk-3R6EJDYR.js +10 -0
  9. package/dist/chunk-files/chunk-3RVKOFMP.js +68 -0
  10. package/dist/chunk-files/chunk-3S5OTD47.js +35 -0
  11. package/dist/chunk-files/chunk-3XB4IEWO.js +195 -0
  12. package/dist/chunk-files/chunk-3XOVD6UX.js +8 -0
  13. package/dist/chunk-files/chunk-4HEDNQUP.js +426 -0
  14. package/dist/chunk-files/chunk-4SSGMLEE.js +934 -0
  15. package/dist/chunk-files/chunk-5PKWVAQP.js +92 -0
  16. package/dist/chunk-files/chunk-6BOPFOZD.js +19 -0
  17. package/dist/chunk-files/chunk-6FDO72PN.js +25 -0
  18. package/dist/chunk-files/chunk-6X74EPRM.js +0 -0
  19. package/dist/chunk-files/chunk-B2FI5WI5.js +67 -0
  20. package/dist/chunk-files/chunk-B7DTBTWQ.js +74 -0
  21. package/dist/chunk-files/chunk-BFD2LHLK.js +60 -0
  22. package/dist/chunk-files/chunk-BJOPQNB2.js +319 -0
  23. package/dist/chunk-files/chunk-BMOLIJ3W.js +89 -0
  24. package/dist/chunk-files/chunk-BPTFUGTP.js +97 -0
  25. package/dist/chunk-files/chunk-CSUNGWAE.js +405 -0
  26. package/dist/chunk-files/chunk-D5ZV4VMI.js +627 -0
  27. package/dist/chunk-files/chunk-DD6WZ4NY.js +841 -0
  28. package/dist/chunk-files/chunk-DEODEAKM.js +19 -0
  29. package/dist/chunk-files/chunk-DRMV3M5V.js +1970 -0
  30. package/dist/chunk-files/chunk-EQTU45UO.js +21 -0
  31. package/dist/chunk-files/chunk-F7YTK2MY.js +154 -0
  32. package/dist/chunk-files/chunk-FMQTZ3QV.js +17 -0
  33. package/dist/chunk-files/chunk-FPN7JYR4.js +67 -0
  34. package/dist/chunk-files/chunk-FULHNQ4O.js +1243 -0
  35. package/dist/chunk-files/chunk-GN2FNR3Z.js +259 -0
  36. package/dist/chunk-files/chunk-GROGDGEL.js +177 -0
  37. package/dist/chunk-files/chunk-GUOSVDXA.js +34 -0
  38. package/dist/chunk-files/chunk-HT5V5A7S.js +6 -0
  39. package/dist/chunk-files/chunk-ID3YDA2K.js +19 -0
  40. package/dist/chunk-files/chunk-IH3R2NDR.js +230 -0
  41. package/dist/chunk-files/chunk-IMGYTSWY.js +261 -0
  42. package/dist/chunk-files/chunk-J34MOWJP.js +26 -0
  43. package/dist/chunk-files/chunk-KFK47PDH.js +77 -0
  44. package/dist/chunk-files/chunk-KFV4GXVE.js +11 -0
  45. package/dist/chunk-files/chunk-LFHJJQW3.js +723 -0
  46. package/dist/chunk-files/chunk-LQ67F6EY.js +32 -0
  47. package/dist/chunk-files/chunk-MJ6Q3TIX.js +703 -0
  48. package/dist/chunk-files/chunk-OUFO3LM4.js +135 -0
  49. package/dist/chunk-files/chunk-P4CX6I4J.js +14 -0
  50. package/dist/chunk-files/chunk-PL5KNBCY.js +78 -0
  51. package/dist/chunk-files/chunk-PVWRRUOK.js +11 -0
  52. package/dist/chunk-files/chunk-Q7LCZIQP.js +15 -0
  53. package/dist/chunk-files/chunk-Q7YMMN7J.js +220 -0
  54. package/dist/chunk-files/chunk-RAVPJRBA.js +118 -0
  55. package/dist/chunk-files/chunk-RN7AI33H.js +26 -0
  56. package/dist/chunk-files/chunk-RODB64YF.js +148 -0
  57. package/dist/chunk-files/chunk-SVTZ4T6S.js +10 -0
  58. package/dist/chunk-files/chunk-T3QCAOCO.js +20 -0
  59. package/dist/chunk-files/chunk-U4XEWVBH.js +19 -0
  60. package/dist/chunk-files/chunk-UCMR6V67.js +746 -0
  61. package/dist/chunk-files/chunk-UFYEZIUE.js +1269 -0
  62. package/dist/chunk-files/chunk-UIJUY7QZ.js +18 -0
  63. package/dist/chunk-files/chunk-VGDNICVG.js +67 -0
  64. package/dist/chunk-files/chunk-W2I3I7U7.js +35 -0
  65. package/dist/chunk-files/chunk-WGYOMA43.js +33 -0
  66. package/dist/chunk-files/chunk-WKVLVI6N.js +44 -0
  67. package/dist/chunk-files/chunk-WOJ2UKI7.js +11 -0
  68. package/dist/chunk-files/chunk-Y3OEXVQ2.js +59 -0
  69. package/dist/chunk-files/chunk-YLZRRUY7.js +6 -0
  70. package/dist/chunk-files/chunk-YTHS2ZV7.js +51 -0
  71. package/dist/chunk-files/chunk-YXAEUJKJ.js +331 -0
  72. package/dist/chunk-files/chunk-YZOJOLFL.js +121 -0
  73. package/dist/main/app/app-lifecycle-abstract.d.ts +190 -0
  74. package/dist/main/app/app-lifecycle.d.ts +7 -0
  75. package/dist/main/app/icons/icon.ico +0 -0
  76. package/dist/main/app/index.d.ts +8 -0
  77. package/dist/main/app/index.js +1226 -0
  78. package/dist/main/app/types/app.d.ts +74 -0
  79. package/dist/main/app/xo-app-abstract.d.ts +464 -0
  80. package/dist/main/app/xo-app.d.ts +23 -0
  81. package/dist/main/auth/index.d.ts +8 -0
  82. package/dist/main/auth/index.js +109 -0
  83. package/dist/main/auth/jwt-auth-manager.d.ts +302 -0
  84. package/dist/main/auth/jwt-auth-provider-abstract.d.ts +100 -0
  85. package/dist/main/auth/jwt-auth-refresh-rejected-error.d.ts +12 -0
  86. package/dist/main/auth/jwt-auth-session-changed-error.d.ts +12 -0
  87. package/dist/main/auth/types/jwt-auth-manager.d.ts +13 -0
  88. package/dist/main/banner/banner-abstract.d.ts +38 -0
  89. package/dist/main/banner/banner-manager.d.ts +20 -0
  90. package/dist/main/banner/index.d.ts +6 -0
  91. package/dist/main/banner/index.js +10 -0
  92. package/dist/main/banner/types/banner.d.ts +17 -0
  93. package/dist/main/config/app-config.d.ts +6 -0
  94. package/dist/main/config/index.d.ts +13 -0
  95. package/dist/main/config/index.js +33 -0
  96. package/dist/main/config/logger-config.d.ts +6 -0
  97. package/dist/main/config/remote-service-config.d.ts +6 -0
  98. package/dist/main/config/tray-config.d.ts +6 -0
  99. package/dist/main/config/types/app.d.ts +38 -0
  100. package/dist/main/config/types/logger.d.ts +82 -0
  101. package/dist/main/config/types/window.d.ts +35 -0
  102. package/dist/main/config/updater-config.d.ts +6 -0
  103. package/dist/main/config/window/main-window-config.d.ts +6 -0
  104. package/dist/main/config/window/setting-window-config.d.ts +6 -0
  105. package/dist/main/file-association/file-association-handlers-abstract.d.ts +23 -0
  106. package/dist/main/file-association/file-association-manager-abstract.d.ts +87 -0
  107. package/dist/main/file-association/file-association-manager.d.ts +13 -0
  108. package/dist/main/file-association/handlers/app-file-association-handlers.d.ts +12 -0
  109. package/dist/main/file-association/index.d.ts +8 -0
  110. package/dist/main/file-association/index.js +13 -0
  111. package/dist/main/file-association/types/file-association.d.ts +31 -0
  112. package/dist/main/ipc/handlers/app-handlers.d.ts +13 -0
  113. package/dist/main/ipc/handlers/auth-handlers.d.ts +12 -0
  114. package/dist/main/ipc/handlers/clipboard-handlers.d.ts +13 -0
  115. package/dist/main/ipc/handlers/contex-menu-handlers.d.ts +13 -0
  116. package/dist/main/ipc/handlers/dialog-handlers.d.ts +13 -0
  117. package/dist/main/ipc/handlers/file-handlers.d.ts +13 -0
  118. package/dist/main/ipc/handlers/log-handlers.d.ts +45 -0
  119. package/dist/main/ipc/handlers/remote-service-handlers.d.ts +13 -0
  120. package/dist/main/ipc/handlers/shell-handlers.d.ts +13 -0
  121. package/dist/main/ipc/handlers/theme-handlers.d.ts +13 -0
  122. package/dist/main/ipc/handlers/updater-handlers.d.ts +13 -0
  123. package/dist/main/ipc/handlers/window-handlers.d.ts +13 -0
  124. package/dist/main/ipc/index.d.ts +20 -0
  125. package/dist/main/ipc/index.js +60 -0
  126. package/dist/main/ipc/ipc-handlers-abstract.d.ts +23 -0
  127. package/dist/main/ipc/ipc-manager-abstract.d.ts +46 -0
  128. package/dist/main/ipc/ipc-manager.d.ts +13 -0
  129. package/dist/main/ipc/types/ipc-handler.d.ts +22 -0
  130. package/dist/main/ipc/utils/ipc-handler-util.d.ts +24 -0
  131. package/dist/main/logger/index.d.ts +4 -0
  132. package/dist/main/logger/index.js +13 -0
  133. package/dist/main/logger/xo-logger.d.ts +113 -0
  134. package/dist/main/menu/consts/menu-type.d.ts +1 -0
  135. package/dist/main/menu/index.d.ts +8 -0
  136. package/dist/main/menu/index.js +28 -0
  137. package/dist/main/menu/menu-items.d.ts +192 -0
  138. package/dist/main/menu/menu-manager-abstract.d.ts +273 -0
  139. package/dist/main/menu/menu-manager.d.ts +12 -0
  140. package/dist/main/menu/types/menu.d.ts +101 -0
  141. package/dist/main/mode/app-mode.d.ts +32 -0
  142. package/dist/main/mode/index.d.ts +5 -0
  143. package/dist/main/mode/index.js +9 -0
  144. package/dist/main/mode/types/mode.d.ts +25 -0
  145. package/dist/main/protocol/consts/protocol-keys.d.ts +10 -0
  146. package/dist/main/protocol/handlers/app-protocol-handlers.d.ts +12 -0
  147. package/dist/main/protocol/index.d.ts +9 -0
  148. package/dist/main/protocol/index.js +15 -0
  149. package/dist/main/protocol/protocol-handlers-abstract.d.ts +23 -0
  150. package/dist/main/protocol/protocol-manager-abstract.d.ts +85 -0
  151. package/dist/main/protocol/protocol-manager.d.ts +13 -0
  152. package/dist/main/protocol/types/protocol.d.ts +33 -0
  153. package/dist/main/remote-service/consts/remote-service-methods.d.ts +5 -0
  154. package/dist/main/remote-service/index.d.ts +7 -0
  155. package/dist/main/remote-service/index.js +17 -0
  156. package/dist/main/remote-service/remote-service-manager-abstract.d.ts +303 -0
  157. package/dist/main/remote-service/remote-service-manager.d.ts +7 -0
  158. package/dist/main/remote-service/types/remote-service.d.ts +9 -0
  159. package/dist/main/renderer-protocol/handlers/renderer-remote-service-protocol-handlers.d.ts +130 -0
  160. package/dist/main/renderer-protocol/handlers/renderer-root-protocol-handlers.d.ts +65 -0
  161. package/dist/main/renderer-protocol/index.d.ts +9 -0
  162. package/dist/main/renderer-protocol/index.js +18 -0
  163. package/dist/main/renderer-protocol/renderer-protocol-handlers-abstract.d.ts +23 -0
  164. package/dist/main/renderer-protocol/renderer-protocol-manager-abstract.d.ts +78 -0
  165. package/dist/main/renderer-protocol/renderer-protocol-manager.d.ts +13 -0
  166. package/dist/main/renderer-protocol/types/renderer-protocol.d.ts +34 -0
  167. package/dist/main/shortcut/handlers/app-shortcut-handlers.d.ts +11 -0
  168. package/dist/main/shortcut/handlers/window-shortcut-handlers.d.ts +11 -0
  169. package/dist/main/shortcut/index.d.ts +9 -0
  170. package/dist/main/shortcut/index.js +17 -0
  171. package/dist/main/shortcut/shortcut-handlers-abstract.d.ts +18 -0
  172. package/dist/main/shortcut/shortcut-manager-abstract.d.ts +121 -0
  173. package/dist/main/shortcut/shortcut-manager.d.ts +12 -0
  174. package/dist/main/shortcut/types/shortcut.d.ts +50 -0
  175. package/dist/main/store/app-store.d.ts +179 -0
  176. package/dist/main/store/index.d.ts +7 -0
  177. package/dist/main/store/index.js +13 -0
  178. package/dist/main/store/jwt-auth-store.d.ts +36 -0
  179. package/dist/main/store/types/app-store.d.ts +46 -0
  180. package/dist/main/store/types/jwt-auth-store.d.ts +14 -0
  181. package/dist/main/theme/consts/theme-sources.d.ts +10 -0
  182. package/dist/main/theme/index.d.ts +7 -0
  183. package/dist/main/theme/index.js +16 -0
  184. package/dist/main/theme/theme-manager-abstract.d.ts +93 -0
  185. package/dist/main/theme/theme-manager.d.ts +7 -0
  186. package/dist/main/theme/types/theme.d.ts +38 -0
  187. package/dist/main/tray/consts/tray-animation-name.d.ts +1 -0
  188. package/dist/main/tray/consts/tray-icon-name.d.ts +1 -0
  189. package/dist/main/tray/icons/blur.ico +0 -0
  190. package/dist/main/tray/icons/error.ico +0 -0
  191. package/dist/main/tray/icons/focus.ico +0 -0
  192. package/dist/main/tray/icons/none.ico +0 -0
  193. package/dist/main/tray/icons/offline.ico +0 -0
  194. package/dist/main/tray/icons/online.ico +0 -0
  195. package/dist/main/tray/icons/success.ico +0 -0
  196. package/dist/main/tray/index.d.ts +11 -0
  197. package/dist/main/tray/index.js +27 -0
  198. package/dist/main/tray/tray-animation.d.ts +48 -0
  199. package/dist/main/tray/tray-icon.d.ts +51 -0
  200. package/dist/main/tray/tray-lifecycle-abstract.d.ts +154 -0
  201. package/dist/main/tray/tray-lifecycle.d.ts +7 -0
  202. package/dist/main/tray/tray-manager.d.ts +173 -0
  203. package/dist/main/tray/types/tray.d.ts +81 -0
  204. package/dist/main/updater/dev-app-update.yml +5 -0
  205. package/dist/main/updater/index.d.ts +6 -0
  206. package/dist/main/updater/index.js +20 -0
  207. package/dist/main/updater/types/updater.d.ts +167 -0
  208. package/dist/main/updater/updater-manager-abstract.d.ts +237 -0
  209. package/dist/main/updater/updater-manager.d.ts +7 -0
  210. package/dist/main/utils/file-association-util.d.ts +43 -0
  211. package/dist/main/utils/index.d.ts +14 -0
  212. package/dist/main/utils/index.js +105 -0
  213. package/dist/main/utils/menu-util.d.ts +12 -0
  214. package/dist/main/utils/protocol-util.d.ts +49 -0
  215. package/dist/main/utils/runtime-config-util.d.ts +75 -0
  216. package/dist/main/utils/shortcut-util.d.ts +38 -0
  217. package/dist/main/utils/tray-util.d.ts +18 -0
  218. package/dist/main/utils/window-util.d.ts +55 -0
  219. package/dist/main/utils/xo-app-root-util.d.ts +30 -0
  220. package/dist/main/utils/xo-app-util.d.ts +24 -0
  221. package/dist/main/utils/xo-path-util.d.ts +59 -0
  222. package/dist/main/utils/xo-util.d.ts +17 -0
  223. package/dist/main/window/index.d.ts +10 -0
  224. package/dist/main/window/index.js +36 -0
  225. package/dist/main/window/main/main-window-lifecycle.d.ts +7 -0
  226. package/dist/main/window/main/main-window-type.d.ts +5 -0
  227. package/dist/main/window/setting/setting-window-lifecycle.d.ts +7 -0
  228. package/dist/main/window/setting/setting-window-type.d.ts +5 -0
  229. package/dist/main/window/types/window.d.ts +86 -0
  230. package/dist/main/window/window-lifecycle-abstract.d.ts +514 -0
  231. package/dist/main/window/window-manager.d.ts +422 -0
  232. package/dist/preload/bridge/bridge-abstract.d.ts +11 -0
  233. package/dist/preload/bridge/bridge.d.ts +35 -0
  234. package/dist/preload/bridge/index.d.ts +6 -0
  235. package/dist/preload/bridge/index.js +117 -0
  236. package/dist/preload/bridge/preload.cjs +1706 -0
  237. package/dist/preload/bridge/preload.internal.d.ts +1 -0
  238. package/dist/preload/bridge/types/bridge.d.ts +19 -0
  239. package/dist/preload/bridges/app/app-bridge.d.ts +142 -0
  240. package/dist/preload/bridges/app/types/app.d.ts +65 -0
  241. package/dist/preload/bridges/auth/auth-bridge.d.ts +36 -0
  242. package/dist/preload/bridges/auth/types/auth.d.ts +23 -0
  243. package/dist/preload/bridges/clipboard/clipboard-bridge.d.ts +37 -0
  244. package/dist/preload/bridges/clipboard/types/clipboard.d.ts +23 -0
  245. package/dist/preload/bridges/context-menu/context-menu-bridge.d.ts +27 -0
  246. package/dist/preload/bridges/context-menu/types/context-menu.d.ts +19 -0
  247. package/dist/preload/bridges/dialog/dialog-bridge.d.ts +30 -0
  248. package/dist/preload/bridges/dialog/types/dialog.d.ts +41 -0
  249. package/dist/preload/bridges/file/file-bridge.d.ts +34 -0
  250. package/dist/preload/bridges/file/types/file.d.ts +21 -0
  251. package/dist/preload/bridges/index.d.ts +29 -0
  252. package/dist/preload/bridges/index.js +40 -0
  253. package/dist/preload/bridges/ipc/ipc-bridge.d.ts +43 -0
  254. package/dist/preload/bridges/ipc/types/ipc.d.ts +23 -0
  255. package/dist/preload/bridges/log/log-bridge.d.ts +52 -0
  256. package/dist/preload/bridges/log/types/log.d.ts +20 -0
  257. package/dist/preload/bridges/remote-service/remote-service-bridge.d.ts +55 -0
  258. package/dist/preload/bridges/remote-service/types/remote-service.d.ts +29 -0
  259. package/dist/preload/bridges/shell/shell-bridge.d.ts +27 -0
  260. package/dist/preload/bridges/shell/types/shell.d.ts +19 -0
  261. package/dist/preload/bridges/theme/theme-bridge.d.ts +32 -0
  262. package/dist/preload/bridges/theme/types/theme.d.ts +21 -0
  263. package/dist/preload/bridges/updater/types/updater.d.ts +35 -0
  264. package/dist/preload/bridges/updater/updater-bridge.d.ts +66 -0
  265. package/dist/preload/bridges/window/internal/route-redirect-buffer.d.ts +36 -0
  266. package/dist/preload/bridges/window/types/window.d.ts +53 -0
  267. package/dist/preload/bridges/window/window-bridge.d.ts +118 -0
  268. package/dist/preload/utils/bridge-util.d.ts +43 -0
  269. package/dist/preload/utils/index.d.ts +4 -0
  270. package/dist/preload/utils/index.js +7 -0
  271. package/dist/renderer/app/bootstrap-renderer.d.ts +6 -0
  272. package/dist/renderer/app/index.d.ts +5 -0
  273. package/dist/renderer/app/index.js +164 -0
  274. package/dist/renderer/app/styles-element-plus.internal.d.ts +2 -0
  275. package/dist/renderer/app/styles-xion.internal.d.ts +2 -0
  276. package/dist/renderer/app/types/app.d.ts +51 -0
  277. package/dist/renderer/components/captcha/internal/captcha-controller.d.ts +280 -0
  278. package/dist/renderer/components/captcha/internal/captcha-css-property.d.ts +25 -0
  279. package/dist/renderer/components/captcha/internal/captcha-defaults.d.ts +33 -0
  280. package/dist/renderer/components/captcha/internal/captcha-errors.d.ts +21 -0
  281. package/dist/renderer/components/captcha/internal/captcha-helper.d.ts +72 -0
  282. package/dist/renderer/components/captcha/internal/captcha-injector.d.ts +16 -0
  283. package/dist/renderer/components/captcha/internal/captcha-runtime-types.d.ts +153 -0
  284. package/dist/renderer/components/captcha/internal/captcha-service.d.ts +22 -0
  285. package/dist/renderer/components/captcha/internal/captcha-slide-types.d.ts +62 -0
  286. package/dist/renderer/components/captcha/internal/captcha-ui-patch.d.ts +43 -0
  287. package/dist/renderer/components/captcha/internal/captcha-wasm-loader.d.ts +36 -0
  288. package/dist/renderer/components/captcha/style/index.less +132 -0
  289. package/dist/renderer/components/captcha/types/captcha.d.ts +132 -0
  290. package/dist/renderer/components/captcha/xo-captcha-host.vue +151 -0
  291. package/dist/renderer/components/captcha/xo-captcha.vue +83 -0
  292. package/dist/renderer/components/captcha.d.ts +40 -0
  293. package/dist/renderer/components/context-menu/types/context-menu.d.ts +55 -0
  294. package/dist/renderer/components/context-menu/xo-context-menu-items.vue +112 -0
  295. package/dist/renderer/components/context-menu/xo-context-menu.vue +356 -0
  296. package/dist/renderer/components/context-menu.d.ts +32 -0
  297. package/dist/renderer/components/divider/types/divider.d.ts +31 -0
  298. package/dist/renderer/components/divider/xo-divider.vue +176 -0
  299. package/dist/renderer/components/form/types/form-flex-row.d.ts +21 -0
  300. package/dist/renderer/components/form/types/form-flex.d.ts +49 -0
  301. package/dist/renderer/components/form/xo-form-flex-row.vue +122 -0
  302. package/dist/renderer/components/form/xo-form-flex.vue +115 -0
  303. package/dist/renderer/components/index.d.ts +70 -0
  304. package/dist/renderer/components/index.js +1282 -0
  305. package/dist/renderer/components/layouts/types/app-layout.d.ts +29 -0
  306. package/dist/renderer/components/layouts/types/mini-layout.d.ts +23 -0
  307. package/dist/renderer/components/layouts/types/simple-layout.d.ts +17 -0
  308. package/dist/renderer/components/layouts/xo-app-layout.vue +350 -0
  309. package/dist/renderer/components/layouts/xo-mini-layout.vue +207 -0
  310. package/dist/renderer/components/layouts/xo-simple-layout.vue +43 -0
  311. package/dist/renderer/components/pages/types/app-page.d.ts +25 -0
  312. package/dist/renderer/components/pages/types/bootstrap-page.d.ts +35 -0
  313. package/dist/renderer/components/pages/types/dynamic-page.d.ts +20 -0
  314. package/dist/renderer/components/pages/types/settings-page.d.ts +23 -0
  315. package/dist/renderer/components/pages/xo-app-page.vue +230 -0
  316. package/dist/renderer/components/pages/xo-bootstrap-page.vue +93 -0
  317. package/dist/renderer/components/pages/xo-dynamic-page.vue +28 -0
  318. package/dist/renderer/components/pages/xo-settings-page.vue +143 -0
  319. package/dist/renderer/components/radio-group/types/radio-group.d.ts +30 -0
  320. package/dist/renderer/components/radio-group/xo-radio-group.vue +38 -0
  321. package/dist/renderer/components/service-status-bar/types/service-status-bar.d.ts +65 -0
  322. package/dist/renderer/components/service-status-bar/xo-service-status-bar.vue +193 -0
  323. package/dist/renderer/components/settings-components/types/setting-app-opacity.d.ts +19 -0
  324. package/dist/renderer/components/settings-components/types/setting-log-level.d.ts +23 -0
  325. package/dist/renderer/components/settings-components/types/setting-shortcut-keys-record-for-form-flex-rows.d.ts +47 -0
  326. package/dist/renderer/components/settings-components/types/setting-shortcut-keys-record.d.ts +23 -0
  327. package/dist/renderer/components/settings-components/types/setting-window-material.d.ts +23 -0
  328. package/dist/renderer/components/settings-components/xo-setting-app-opacity.vue +105 -0
  329. package/dist/renderer/components/settings-components/xo-setting-log-level.vue +84 -0
  330. package/dist/renderer/components/settings-components/xo-setting-shortcut-keys-record-for-form-flex-rows.vue +37 -0
  331. package/dist/renderer/components/settings-components/xo-setting-shortcut-keys-record.vue +74 -0
  332. package/dist/renderer/components/settings-components/xo-setting-window-material.vue +83 -0
  333. package/dist/renderer/components/settings-pages/types/setting-page-folder.d.ts +41 -0
  334. package/dist/renderer/components/settings-pages/types/setting-page-general.d.ts +23 -0
  335. package/dist/renderer/components/settings-pages/types/setting-page-remote-service.d.ts +19 -0
  336. package/dist/renderer/components/settings-pages/types/setting-page-updater.d.ts +27 -0
  337. package/dist/renderer/components/settings-pages/xo-setting-page-folder.vue +137 -0
  338. package/dist/renderer/components/settings-pages/xo-setting-page-general.vue +255 -0
  339. package/dist/renderer/components/settings-pages/xo-setting-page-remote-service.vue +183 -0
  340. package/dist/renderer/components/settings-pages/xo-setting-page-updater.vue +350 -0
  341. package/dist/renderer/components/shortcut-keys-record/types/shortcut-keys-record.d.ts +25 -0
  342. package/dist/renderer/components/shortcut-keys-record/xo-shortcut-keys-record.vue +161 -0
  343. package/dist/renderer/components/side-bar/types/sidebar-logo.d.ts +39 -0
  344. package/dist/renderer/components/side-bar/xo-sidebar-logo.vue +133 -0
  345. package/dist/renderer/components/spacing-line/types/spacing-line.d.ts +17 -0
  346. package/dist/renderer/components/spacing-line/xo-spacing-line.vue +53 -0
  347. package/dist/renderer/components/theme-switch/types/theme-switch-mini.d.ts +21 -0
  348. package/dist/renderer/components/theme-switch/types/theme-switch.d.ts +45 -0
  349. package/dist/renderer/components/theme-switch/xo-theme-switch-mini.vue +93 -0
  350. package/dist/renderer/components/theme-switch/xo-theme-switch.vue +200 -0
  351. package/dist/renderer/components/title-bar/types/title-bar.d.ts +58 -0
  352. package/dist/renderer/components/title-bar/xo-title-bar.vue +364 -0
  353. package/dist/renderer/components/types/sidebar-menu.d.ts +37 -0
  354. package/dist/renderer/components/types/vue.d.ts +9 -0
  355. package/dist/renderer/components/updater/types/updater.d.ts +97 -0
  356. package/dist/renderer/components/updater/xo-updater.vue +1190 -0
  357. package/dist/renderer/components/window-control/types/window-control.d.ts +17 -0
  358. package/dist/renderer/components/window-control/xo-window-control.vue +193 -0
  359. package/dist/renderer/composables/index.d.ts +7 -0
  360. package/dist/renderer/composables/index.js +570 -0
  361. package/dist/renderer/composables/use-xo-boolean.d.ts +14 -0
  362. package/dist/renderer/composables/use-xo-data-loader.d.ts +73 -0
  363. package/dist/renderer/composables/use-xo-form-control.d.ts +84 -0
  364. package/dist/renderer/composables/use-xo-updater-action.d.ts +25 -0
  365. package/dist/renderer/global/index.d.ts +4 -0
  366. package/dist/renderer/global/index.js +0 -0
  367. package/dist/renderer/global/types/window.d.ts +21 -0
  368. package/dist/renderer/icons/demo.css +539 -0
  369. package/dist/renderer/icons/iconfont.css +490 -0
  370. package/dist/renderer/services/index.d.ts +6 -0
  371. package/dist/renderer/services/index.js +444 -0
  372. package/dist/renderer/services/orval-axios-mutator.d.ts +9 -0
  373. package/dist/renderer/services/types/xo-api.d.ts +92 -0
  374. package/dist/renderer/services/xo-api-requester.d.ts +129 -0
  375. package/dist/renderer/store/app/app-store.d.ts +68 -0
  376. package/dist/renderer/store/auth/auth-store.d.ts +43 -0
  377. package/dist/renderer/store/index.d.ts +9 -0
  378. package/dist/renderer/store/index.js +595 -0
  379. package/dist/renderer/store/remote-service/remote-service-store.d.ts +52 -0
  380. package/dist/renderer/store/theme/theme-store.d.ts +52 -0
  381. package/dist/renderer/store/updater/updater-store.d.ts +88 -0
  382. package/dist/renderer/store/window/window-store.d.ts +58 -0
  383. package/dist/renderer/styles/css/element-plus.less +280 -0
  384. package/dist/renderer/styles/css/iconfont-patch.less +6 -0
  385. package/dist/renderer/styles/css/reset.less +83 -0
  386. package/dist/renderer/styles/css/scrollbar.less +56 -0
  387. package/dist/renderer/styles/index.less +35 -0
  388. package/dist/renderer/styles/mixin.less +144 -0
  389. package/dist/renderer/styles/var/element-plus/dark.less +32 -0
  390. package/dist/renderer/styles/var/element-plus/root.less +88 -0
  391. package/dist/renderer/styles/var/global/dark.less +10 -0
  392. package/dist/renderer/styles/var/global/root.less +46 -0
  393. package/dist/renderer/styles/var/layout/dark.less +7 -0
  394. package/dist/renderer/styles/var/layout/root.less +9 -0
  395. package/dist/renderer/styles/var/scrollbar/dark.less +13 -0
  396. package/dist/renderer/styles/var/scrollbar/root.less +35 -0
  397. package/dist/renderer/utils/auth-route-util.d.ts +117 -0
  398. package/dist/renderer/utils/context-util.d.ts +13 -0
  399. package/dist/renderer/utils/error-util.d.ts +12 -0
  400. package/dist/renderer/utils/index.d.ts +14 -0
  401. package/dist/renderer/utils/index.js +1522 -0
  402. package/dist/renderer/utils/keyboard-util.d.ts +86 -0
  403. package/dist/renderer/utils/message-util.d.ts +161 -0
  404. package/dist/renderer/utils/renderer-log-util.d.ts +44 -0
  405. package/dist/renderer/utils/renderer-util.d.ts +37 -0
  406. package/dist/renderer/utils/router-util.d.ts +186 -0
  407. package/dist/renderer/utils/shortcut-util.d.ts +20 -0
  408. package/dist/renderer/utils/storage-util.d.ts +85 -0
  409. package/dist/renderer/utils/types/vue-router.d.ts +17 -0
  410. package/dist/shared/app/consts/app-launch-mode.d.ts +9 -0
  411. package/dist/shared/app/consts/update-mode.d.ts +8 -0
  412. package/dist/shared/app/consts/window-close-behavior.d.ts +8 -0
  413. package/dist/shared/app/consts/window-material.d.ts +8 -0
  414. package/dist/shared/app/consts/xion-name.d.ts +5 -0
  415. package/dist/shared/app/electron-app-config.d.ts +5 -0
  416. package/dist/shared/app/index.d.ts +16 -0
  417. package/dist/shared/app/index.js +30 -0
  418. package/dist/shared/app/types/app-info.d.ts +32 -0
  419. package/dist/shared/app/types/app-launch-mode.d.ts +13 -0
  420. package/dist/shared/app/types/app-paths.d.ts +27 -0
  421. package/dist/shared/app/types/general-settings.d.ts +27 -0
  422. package/dist/shared/app/types/on-window-close.d.ts +13 -0
  423. package/dist/shared/app/types/update-mode.d.ts +13 -0
  424. package/dist/shared/app/types/window-material.d.ts +2 -0
  425. package/dist/shared/auth/const/auth-status.d.ts +2 -0
  426. package/dist/shared/auth/index.d.ts +5 -0
  427. package/dist/shared/auth/index.js +5 -0
  428. package/dist/shared/auth/types/auth.d.ts +78 -0
  429. package/dist/shared/color/consts/color.d.ts +5 -0
  430. package/dist/shared/color/index.d.ts +5 -0
  431. package/dist/shared/color/index.js +6 -0
  432. package/dist/shared/color/types/color.d.ts +26 -0
  433. package/dist/shared/electron-builder/index.d.ts +4 -0
  434. package/dist/shared/electron-builder/index.js +0 -0
  435. package/dist/shared/electron-builder/types/electron-builder-options.d.ts +34 -0
  436. package/dist/shared/errors/index.d.ts +4 -0
  437. package/dist/shared/errors/index.js +10 -0
  438. package/dist/shared/errors/ipc-invoke-error.d.ts +32 -0
  439. package/dist/shared/ipc/channels/app-channels.d.ts +56 -0
  440. package/dist/shared/ipc/channels/auth-channels.d.ts +14 -0
  441. package/dist/shared/ipc/channels/clipboard-channels.d.ts +14 -0
  442. package/dist/shared/ipc/channels/context-menu-channels.d.ts +10 -0
  443. package/dist/shared/ipc/channels/dialog-channels.d.ts +12 -0
  444. package/dist/shared/ipc/channels/file-channels.d.ts +12 -0
  445. package/dist/shared/ipc/channels/log-channels.d.ts +14 -0
  446. package/dist/shared/ipc/channels/remote-service-channels.d.ts +20 -0
  447. package/dist/shared/ipc/channels/shell-channels.d.ts +10 -0
  448. package/dist/shared/ipc/channels/theme-channels.d.ts +12 -0
  449. package/dist/shared/ipc/channels/updater-channels.d.ts +26 -0
  450. package/dist/shared/ipc/channels/window-channels.d.ts +44 -0
  451. package/dist/shared/ipc/consts/ipc-channel.d.ts +1 -0
  452. package/dist/shared/ipc/index.d.ts +19 -0
  453. package/dist/shared/ipc/index.js +46 -0
  454. package/dist/shared/ipc/ipc-result.d.ts +20 -0
  455. package/dist/shared/ipc/types/ipc-logger.d.ts +27 -0
  456. package/dist/shared/ipc/types/ipc.d.ts +61 -0
  457. package/dist/shared/logger/consts/log-levels.d.ts +14 -0
  458. package/dist/shared/logger/index.d.ts +4 -0
  459. package/dist/shared/logger/index.js +10 -0
  460. package/dist/shared/menu/consts/menu-command.d.ts +1 -0
  461. package/dist/shared/menu/index.d.ts +6 -0
  462. package/dist/shared/menu/index.js +10 -0
  463. package/dist/shared/menu/menu-command.d.ts +24 -0
  464. package/dist/shared/menu/types/menu.d.ts +72 -0
  465. package/dist/shared/mode/consts/command.d.ts +10 -0
  466. package/dist/shared/mode/consts/mode.d.ts +22 -0
  467. package/dist/shared/mode/index.d.ts +5 -0
  468. package/dist/shared/mode/index.js +18 -0
  469. package/dist/shared/remote-service/const/remote-service.d.ts +8 -0
  470. package/dist/shared/remote-service/index.d.ts +5 -0
  471. package/dist/shared/remote-service/index.js +38 -0
  472. package/dist/shared/remote-service/types/remote-service.d.ts +146 -0
  473. package/dist/shared/renderer/index.d.ts +7 -0
  474. package/dist/shared/renderer/index.js +0 -0
  475. package/dist/shared/renderer/types/element-plus.d.ts +20 -0
  476. package/dist/shared/renderer/types/input.d.ts +11 -0
  477. package/dist/shared/renderer/types/options.d.ts +22 -0
  478. package/dist/shared/renderer/types/switch.d.ts +11 -0
  479. package/dist/shared/renderer-protocol/consts/renderer-protocol-keys.d.ts +10 -0
  480. package/dist/shared/renderer-protocol/index.d.ts +5 -0
  481. package/dist/shared/renderer-protocol/index.js +6 -0
  482. package/dist/shared/renderer-protocol/types/renderer-protocol.d.ts +7 -0
  483. package/dist/shared/runtime/index.d.ts +4 -0
  484. package/dist/shared/runtime/index.js +0 -0
  485. package/dist/shared/runtime/types/runtime.d.ts +20 -0
  486. package/dist/shared/shortcut/consts/shortcut-handler-ids.d.ts +9 -0
  487. package/dist/shared/shortcut/consts/shortcut-id.d.ts +1 -0
  488. package/dist/shared/shortcut/index.d.ts +6 -0
  489. package/dist/shared/shortcut/index.js +10 -0
  490. package/dist/shared/shortcut/types/shortcut.d.ts +13 -0
  491. package/dist/shared/utils/bytes-util.d.ts +16 -0
  492. package/dist/shared/utils/index.d.ts +15 -0
  493. package/dist/shared/utils/index.js +42 -0
  494. package/dist/shared/utils/ipc-util.d.ts +12 -0
  495. package/dist/shared/utils/log-util.d.ts +33 -0
  496. package/dist/shared/utils/menu-util.d.ts +12 -0
  497. package/dist/shared/utils/number-util.d.ts +12 -0
  498. package/dist/shared/utils/object-util.d.ts +88 -0
  499. package/dist/shared/utils/regexp-util.d.ts +22 -0
  500. package/dist/shared/utils/shortcut-util.d.ts +12 -0
  501. package/dist/shared/utils/string-util.d.ts +14 -0
  502. package/dist/shared/utils/time-util.d.ts +32 -0
  503. package/dist/shared/utils/validator-util.d.ts +12 -0
  504. package/dist/shared/utils/window-shared-util.d.ts +26 -0
  505. package/dist/shared/window/consts/window-record-id.d.ts +2 -0
  506. package/dist/shared/window/consts/window-type-name.d.ts +1 -0
  507. package/dist/shared/window/identity/main-window-identity.d.ts +5 -0
  508. package/dist/shared/window/identity/setting-window-identity.d.ts +5 -0
  509. package/dist/shared/window/index.d.ts +8 -0
  510. package/dist/shared/window/index.js +23 -0
  511. package/dist/shared/window/types/window.d.ts +84 -0
  512. package/dist/types/index.d.ts +102 -0
  513. package/dist/types/index.js +0 -0
  514. package/dist/vite/build/build-chunk.d.ts +53 -0
  515. package/dist/vite/build/build-csp-update.d.ts +80 -0
  516. package/dist/vite/build/build-obfuscation.d.ts +33 -0
  517. package/dist/vite/build/component-map.d.ts +38 -0
  518. package/dist/vite/build/component-resolver.d.ts +6 -0
  519. package/dist/vite/build/index.d.ts +9 -0
  520. package/dist/vite/build/index.js +18 -0
  521. package/dist/vite/build/types/build.d.ts +13 -0
  522. package/dist/vite/config/electron-app-config.d.ts +6 -0
  523. package/dist/vite/config/electron-builder-config.d.ts +8 -0
  524. package/dist/vite/config/electron-vite-config.d.ts +9 -0
  525. package/dist/vite/config/index.d.ts +11 -0
  526. package/dist/vite/config/index.js +2259 -0
  527. package/dist/vite/config/types/electron-app-options.d.ts +22 -0
  528. package/dist/vite/config/types/electron-builder-options.d.ts +16 -0
  529. package/dist/vite/config/types/electron-vite-options.d.ts +43 -0
  530. package/dist/vite/config/types/vite-obfuscation.d.ts +36 -0
  531. package/dist/vite/config/vite-obfuscation-config.d.ts +6 -0
  532. package/dist/vite/mode/index.d.ts +4 -0
  533. package/dist/vite/mode/index.js +8 -0
  534. package/dist/vite/mode/vite-mode.d.ts +37 -0
  535. package/dist/vite/orval/index.d.ts +4 -0
  536. package/dist/vite/orval/index.js +75 -0
  537. package/dist/vite/orval/orval-global-types.d.ts +23 -0
  538. package/dist/vite/utils/file-write-vite-util.d.ts +30 -0
  539. package/dist/vite/utils/index.d.ts +5 -0
  540. package/dist/vite/utils/index.js +10 -0
  541. package/dist/vite/utils/runtime-config-vite-util.d.ts +39 -0
  542. package/package.json +287 -0
@@ -0,0 +1,570 @@
1
+ // src/renderer/composables/use-xo-boolean.ts
2
+ import { reactive } from "vue";
3
+ function useXoBoolean(initialValue = false) {
4
+ const state = reactive({
5
+ value: initialValue,
6
+ get isTrue() {
7
+ return this.value;
8
+ },
9
+ set isTrue(value) {
10
+ this.value = value;
11
+ },
12
+ get isFalse() {
13
+ return !this.value;
14
+ },
15
+ set isFalse(value) {
16
+ this.value = !value;
17
+ },
18
+ setTrue: () => {
19
+ state.value = true;
20
+ },
21
+ setFalse: () => {
22
+ state.value = false;
23
+ }
24
+ });
25
+ return state;
26
+ }
27
+
28
+ // src/renderer/utils/message-util.ts
29
+ import { ElMessage, ElMessageBox, ElNotification } from "element-plus";
30
+ var MessageUtil = class _MessageUtil {
31
+ //<editor-fold desc="Message">
32
+ /**
33
+ * 默认消息配置
34
+ * @type {XoMessageOptions}
35
+ * @private
36
+ */
37
+ static defaultOptions = {
38
+ duration: 3e3,
39
+ grouping: true,
40
+ offset: 16
41
+ };
42
+ /**
43
+ * 打开消息
44
+ * @param {MessageOptions} options 消息配置
45
+ * @returns {MessageHandler}
46
+ */
47
+ static open(options) {
48
+ const placement = options.placement ?? _MessageUtil.defaultOptions.placement ?? "top";
49
+ const defaultOffset = _MessageUtil.defaultOptions.offset ?? 16;
50
+ const offset = placement.startsWith("bottom") ? defaultOffset : defaultOffset + (window.xionTitleBar?.height ?? 0);
51
+ return ElMessage({
52
+ ..._MessageUtil.defaultOptions,
53
+ ...options,
54
+ offset: options.offset ?? offset
55
+ });
56
+ }
57
+ /**
58
+ * 显示指定类型消息
59
+ * @param {MessageType} type 消息类型
60
+ * @param {XoMessageContent} message 消息内容
61
+ * @param {XoMessageOptions} options 消息配置
62
+ * @returns {MessageHandler}
63
+ * @private
64
+ */
65
+ static show(type, message, options) {
66
+ return _MessageUtil.open({
67
+ ...options,
68
+ type,
69
+ message
70
+ });
71
+ }
72
+ /**
73
+ * 成功消息
74
+ * @param {XoMessageContent} message 消息内容
75
+ * @param {XoMessageOptions} options 消息配置
76
+ * @returns {MessageHandler}
77
+ */
78
+ static success(message, options = {}) {
79
+ return _MessageUtil.show("success", message, options);
80
+ }
81
+ /**
82
+ * 主要消息
83
+ * @param {XoMessageContent} message 消息内容
84
+ * @param {XoMessageOptions} options 消息配置
85
+ * @returns {MessageHandler}
86
+ */
87
+ static primary(message, options = {}) {
88
+ return _MessageUtil.show("primary", message, options);
89
+ }
90
+ /**
91
+ * 信息消息
92
+ * @param {XoMessageContent} message 消息内容
93
+ * @param {XoMessageOptions} options 消息配置
94
+ * @returns {MessageHandler}
95
+ */
96
+ static info(message, options = {}) {
97
+ return _MessageUtil.show("info", message, options);
98
+ }
99
+ /**
100
+ * 警告消息
101
+ * @param {XoMessageContent} message 消息内容
102
+ * @param {XoMessageOptions} options 消息配置
103
+ * @returns {MessageHandler}
104
+ */
105
+ static warning(message, options = {}) {
106
+ return _MessageUtil.show("warning", message, options);
107
+ }
108
+ /**
109
+ * 错误消息
110
+ * @param {unknown} error 错误
111
+ * @param {string | XoMessageOptions} fallbackOptions 兜底消息或消息配置
112
+ * @param {XoMessageOptions} options 消息配置
113
+ * @returns {MessageHandler}
114
+ */
115
+ static error(error, fallbackOptions = "\u64CD\u4F5C\u5931\u8D25", options = {}) {
116
+ const fallback = typeof fallbackOptions === "string" ? fallbackOptions : "\u64CD\u4F5C\u5931\u8D25";
117
+ const config = typeof fallbackOptions === "string" ? options : fallbackOptions;
118
+ return _MessageUtil.show("error", _MessageUtil.parseErrorMessage(error, fallback), config);
119
+ }
120
+ /**
121
+ * 关闭全部消息
122
+ * @param {MessageType} type 消息类型
123
+ */
124
+ static closeAll(type) {
125
+ ElMessage.closeAll(type);
126
+ }
127
+ /**
128
+ * 解析错误消息
129
+ * @param {unknown} error 错误
130
+ * @param {string} fallback 兜底消息
131
+ * @returns {string}
132
+ * @private
133
+ */
134
+ static parseErrorMessage(error, fallback) {
135
+ if (typeof error === "string") {
136
+ return error.trim() || fallback;
137
+ }
138
+ if (error instanceof Error) {
139
+ return error.message || fallback;
140
+ }
141
+ if (_MessageUtil.isMessageObject(error)) {
142
+ return error.message.trim() || fallback;
143
+ }
144
+ return fallback;
145
+ }
146
+ /**
147
+ * 判断是否为包含 message 的对象
148
+ * @param {unknown} value 值
149
+ * @returns {value is {message: string}}
150
+ * @private
151
+ */
152
+ static isMessageObject(value) {
153
+ return typeof value === "object" && value !== null && "message" in value && typeof value.message === "string";
154
+ }
155
+ //</editor-fold>
156
+ //<editor-fold desc="Notification">
157
+ /**
158
+ * 打开通知
159
+ * @param {NotificationOptions} options 通知配置
160
+ * @returns {NotificationHandle}
161
+ */
162
+ static notify(options) {
163
+ const position = options.position ?? "top-right";
164
+ const offset = position.startsWith("bottom") ? 0 : window.xionTitleBar?.height ?? 0;
165
+ return ElNotification({
166
+ ...options,
167
+ offset: options.offset ?? offset
168
+ });
169
+ }
170
+ /**
171
+ * 关闭全部通知
172
+ */
173
+ static closeAllNotifications() {
174
+ ElNotification.closeAll();
175
+ }
176
+ //</editor-fold>
177
+ //<editor-fold desc="MessageBox">
178
+ /**
179
+ * 默认消息弹窗配置
180
+ * @type {XoMessageBoxOptions}
181
+ * @private
182
+ */
183
+ static defaultBoxOptions = {
184
+ confirmButtonText: "\u786E\u5B9A",
185
+ cancelButtonText: "\u53D6\u6D88"
186
+ };
187
+ /**
188
+ * 警告弹窗
189
+ * @param {XoMessageBoxContent} message 消息内容
190
+ * @param {string | XoMessageBoxOptions} titleOptions 标题
191
+ * @param {XoMessageBoxOptions} options 消息弹窗配置
192
+ * @returns {Promise<void>}
193
+ */
194
+ static async alert(message, titleOptions = "\u63D0\u793A", options = {}) {
195
+ const title = typeof titleOptions === "string" ? titleOptions : "\u63D0\u793A";
196
+ const config = typeof titleOptions === "string" ? options : titleOptions;
197
+ try {
198
+ await ElMessageBox.alert(message, title, {
199
+ ..._MessageUtil.defaultBoxOptions,
200
+ ...config
201
+ });
202
+ } catch (reason) {
203
+ if (!_MessageUtil.isBoxDismissed(reason)) {
204
+ throw reason;
205
+ }
206
+ }
207
+ }
208
+ /**
209
+ * 确认弹窗
210
+ * @param {XoMessageBoxContent} message 消息内容
211
+ * @param {string | XoMessageBoxOptions} titleOptions 标题
212
+ * @param {XoMessageBoxOptions} options 消息弹窗配置
213
+ * @returns {Promise<boolean>} 是否确认
214
+ */
215
+ static async confirm(message, titleOptions = "\u63D0\u793A", options = {}) {
216
+ const title = typeof titleOptions === "string" ? titleOptions : "\u63D0\u793A";
217
+ const config = typeof titleOptions === "string" ? options : titleOptions;
218
+ try {
219
+ await ElMessageBox.confirm(message, title, {
220
+ ..._MessageUtil.defaultBoxOptions,
221
+ ...config
222
+ });
223
+ return true;
224
+ } catch (reason) {
225
+ if (_MessageUtil.isBoxDismissed(reason)) {
226
+ return false;
227
+ }
228
+ throw reason;
229
+ }
230
+ }
231
+ /**
232
+ * 输入弹窗
233
+ * @param {XoMessageBoxContent} message 消息内容
234
+ * @param {string | XoMessageBoxOptions} titleOptions 标题
235
+ * @param {XoMessageBoxOptions} options 消息弹窗配置
236
+ * @returns {Promise<string | undefined>} 输入值,取消或关闭时返回 undefined
237
+ */
238
+ static async prompt(message, titleOptions = "\u63D0\u793A", options = {}) {
239
+ const title = typeof titleOptions === "string" ? titleOptions : "\u63D0\u793A";
240
+ const config = typeof titleOptions === "string" ? options : titleOptions;
241
+ try {
242
+ const { value } = await ElMessageBox.prompt(message, title, {
243
+ ..._MessageUtil.defaultBoxOptions,
244
+ ...config
245
+ });
246
+ return value;
247
+ } catch (reason) {
248
+ if (_MessageUtil.isBoxDismissed(reason)) {
249
+ return void 0;
250
+ }
251
+ throw reason;
252
+ }
253
+ }
254
+ //</editor-fold>
255
+ /**
256
+ * 关闭当前消息弹窗
257
+ */
258
+ static closeBox() {
259
+ ElMessageBox.close();
260
+ }
261
+ /**
262
+ * 判断消息弹窗是否被取消或关闭
263
+ * @param {unknown} reason Promise 拒绝原因
264
+ * @returns {boolean}
265
+ * @private
266
+ */
267
+ static isBoxDismissed(reason) {
268
+ return reason === "cancel" || reason === "close";
269
+ }
270
+ //</editor-fold>
271
+ };
272
+
273
+ // src/shared/utils/log-util.ts
274
+ var MaxMessageLength = 16 * 1024;
275
+ var MaxValueLength = 8 * 1024;
276
+ var MaxDataItems = 100;
277
+ var MaxCollectionItems = 100;
278
+ var MaxDepth = 10;
279
+ var MaxNodes = 500;
280
+ var LogUtil = class _LogUtil {
281
+ /**
282
+ * 标准化渲染进程日志请求
283
+ * @param {unknown} message 日志消息
284
+ * @param {unknown} data 附加数据
285
+ * @returns {XoIpcLogger.Request}
286
+ */
287
+ static normalizeRequest(message, data) {
288
+ const budget = { remaining: MaxNodes };
289
+ const seen = /* @__PURE__ */ new WeakSet();
290
+ return {
291
+ message: _LogUtil.normalizeText(typeof message === "string" ? message : String(message ?? ""), MaxMessageLength),
292
+ data: (Array.isArray(data) ? data : []).slice(0, MaxDataItems).map((value) => _LogUtil.normalizeValue(value, 0, seen, budget))
293
+ };
294
+ }
295
+ /**
296
+ * 标准化日志值
297
+ * @param {unknown} value 原始值
298
+ * @param {number} depth 当前深度
299
+ * @param {WeakSet<object>} seen 已处理对象
300
+ * @param {NormalizeBudget} budget 处理预算
301
+ * @param {boolean} preserveNewlines 是否保留换行
302
+ * @returns {XoIpcLogger.Value}
303
+ * @private
304
+ */
305
+ static normalizeValue(value, depth, seen, budget, preserveNewlines = false) {
306
+ if (budget.remaining <= 0) return "[Truncated]";
307
+ budget.remaining--;
308
+ if (value === null) return null;
309
+ if (typeof value === "string") return _LogUtil.normalizeText(value, MaxValueLength, preserveNewlines);
310
+ if (typeof value === "boolean") return value;
311
+ if (typeof value === "number") return Number.isFinite(value) ? value : String(value);
312
+ if (typeof value === "bigint") return `${value}n`;
313
+ if (typeof value === "undefined") return "[undefined]";
314
+ if (typeof value === "symbol") return `[Symbol ${value.description ?? ""}]`;
315
+ if (typeof value === "function") return `[Function ${value.name || "anonymous"}]`;
316
+ if (value instanceof Date) {
317
+ return Number.isNaN(value.getTime()) ? "[Invalid Date]" : value.toISOString();
318
+ }
319
+ if (value instanceof Error) {
320
+ return {
321
+ name: _LogUtil.normalizeText(value.name, MaxValueLength),
322
+ message: _LogUtil.normalizeText(value.message, MaxValueLength),
323
+ stack: _LogUtil.normalizeText(value.stack ?? "", MaxValueLength, true)
324
+ };
325
+ }
326
+ if (depth >= MaxDepth) return "[Max Depth]";
327
+ if (seen.has(value)) return "[Circular]";
328
+ seen.add(value);
329
+ try {
330
+ if (Array.isArray(value)) {
331
+ return value.slice(0, MaxCollectionItems).map((item) => _LogUtil.normalizeValue(item, depth + 1, seen, budget));
332
+ }
333
+ return Object.fromEntries(
334
+ Object.entries(value).slice(0, MaxCollectionItems).map(([key, item]) => [
335
+ _LogUtil.normalizeText(key, 128),
336
+ _LogUtil.normalizeValue(item, depth + 1, seen, budget, key === "stack")
337
+ ])
338
+ );
339
+ } catch {
340
+ return "[Unserializable Object]";
341
+ } finally {
342
+ seen.delete(value);
343
+ }
344
+ }
345
+ /**
346
+ * 清理日志文本中的控制字符并限制长度
347
+ * @param {string} text 原始文本
348
+ * @param {number} maxLength 最大长度
349
+ * @param {boolean} preserveNewlines 是否保留换行
350
+ * @returns {string}
351
+ * @private
352
+ */
353
+ static normalizeText(text, maxLength, preserveNewlines = false) {
354
+ const normalized = preserveNewlines ? text.replace(/\r\n?/g, "\n") : text.replace(/\r\n?|\n/g, "\\n");
355
+ return normalized.replace(/[\u0000-\u0008\u000B\u000C\u000E-\u001F\u007F]/g, "").slice(0, maxLength);
356
+ }
357
+ };
358
+
359
+ // src/renderer/utils/renderer-log-util.ts
360
+ var RendererLogUtil = class _RendererLogUtil {
361
+ /**
362
+ * 写入 debug 日志
363
+ * @param {string} message 日志消息
364
+ * @param {unknown[]} data 附加数据
365
+ * @returns {Promise<void>}
366
+ */
367
+ static async debug(message, ...data) {
368
+ await _RendererLogUtil.write("debug", message, data);
369
+ }
370
+ /**
371
+ * 写入 info 日志
372
+ * @param {string} message 日志消息
373
+ * @param {unknown[]} data 附加数据
374
+ * @returns {Promise<void>}
375
+ */
376
+ static async info(message, ...data) {
377
+ await _RendererLogUtil.write("info", message, data);
378
+ }
379
+ /**
380
+ * 写入 warn 日志
381
+ * @param {string} message 日志消息
382
+ * @param {unknown[]} data 附加数据
383
+ * @returns {Promise<void>}
384
+ */
385
+ static async warn(message, ...data) {
386
+ await _RendererLogUtil.write("warn", message, data);
387
+ }
388
+ /**
389
+ * 写入 error 日志
390
+ * @param {string} message 日志消息
391
+ * @param {unknown[]} data 附加数据
392
+ * @returns {Promise<void>}
393
+ */
394
+ static async error(message, ...data) {
395
+ await _RendererLogUtil.write("error", message, data);
396
+ }
397
+ /**
398
+ * 标准化并写入日志
399
+ * @param {XoIpcLogger.Level} level 日志等级
400
+ * @param {string} message 日志消息
401
+ * @param {unknown[]} data 附加数据
402
+ * @returns {Promise<void>}
403
+ * @private
404
+ */
405
+ static async write(level, message, data) {
406
+ const normalized = LogUtil.normalizeRequest(message, data);
407
+ await window.xion.log[level](normalized.message, ...normalized.data);
408
+ }
409
+ };
410
+
411
+ // src/renderer/composables/use-xo-data-loader.ts
412
+ import { reactive as reactive2, toRaw } from "vue";
413
+ function useXoDataLoader(options) {
414
+ let loadingCount = 0;
415
+ const loadRequest = options.request;
416
+ const formData = options.form?.();
417
+ const submitRequest = options.onSubmit;
418
+ const loader = reactive2({
419
+ loading: false,
420
+ loaded: false,
421
+ inputWidth: options.inputWidth ?? 200,
422
+ bottomGap: options.bottomGap ?? 20,
423
+ formData,
424
+ submitting: false,
425
+ // 加载处理器
426
+ load: async () => {
427
+ if (loader.loading && options.allowRepeatedLoad !== true) {
428
+ MessageUtil.warning(options.repeatedLoadWarning ?? "\u5DF2\u5FFD\u7565\u91CD\u590D\u8BF7\u6C42...");
429
+ return void 0;
430
+ }
431
+ loadingCount++;
432
+ loader.loading = true;
433
+ loader.loaded = false;
434
+ try {
435
+ const results = typeof loadRequest === "function" ? await loadRequest() : await Promise.all(loadRequest.map((request) => request()));
436
+ await options.onLoadSuccess?.(results, loader.formData);
437
+ return results;
438
+ } catch (error) {
439
+ MessageUtil.error(error, options.loadErrorMessage ?? "\u52A0\u8F7D\u5931\u8D25");
440
+ void RendererLogUtil.error(`${options.name ? `[${options.name}] ` : ""}${options.loadErrorLogMessage ?? "\u6570\u636E\u52A0\u8F7D\u5931\u8D25"}`, error);
441
+ await options.onLoadError?.(error);
442
+ return void 0;
443
+ } finally {
444
+ loadingCount--;
445
+ loader.loading = loadingCount > 0;
446
+ loader.loaded = loadingCount === 0;
447
+ await options.onLoadComplete?.();
448
+ }
449
+ },
450
+ // 表单提交处理器
451
+ submit: async () => {
452
+ if (!options.form || !submitRequest || loader.submitting) {
453
+ return void 0;
454
+ }
455
+ loader.submitting = true;
456
+ try {
457
+ const result = await submitRequest(toRaw(loader.formData));
458
+ await options.onSubmitSuccess?.(result, loader.formData);
459
+ return result;
460
+ } catch (error) {
461
+ MessageUtil.error(error, options.submitErrorMessage ?? "\u63D0\u4EA4\u5931\u8D25");
462
+ void RendererLogUtil.error(`${options.name ? `[${options.name}] ` : ""}${options.submitErrorLogMessage ?? "\u8868\u5355\u63D0\u4EA4\u5931\u8D25"}`, error);
463
+ await options.onSubmitError?.(error, loader.formData);
464
+ return void 0;
465
+ } finally {
466
+ loader.submitting = false;
467
+ await options.onSubmitComplete?.(loader.formData);
468
+ }
469
+ }
470
+ });
471
+ return loader;
472
+ }
473
+
474
+ // src/renderer/composables/use-xo-form-control.ts
475
+ import { reactive as reactive3 } from "vue";
476
+ function useXoInput(option) {
477
+ return reactive3({
478
+ model: option.model,
479
+ onChange: (value, evt) => {
480
+ option.onChange?.(value, evt);
481
+ }
482
+ });
483
+ }
484
+ function useXoInputOtp(option) {
485
+ return reactive3({
486
+ model: option.model,
487
+ onChange: (value) => {
488
+ option.onChange?.(value);
489
+ }
490
+ });
491
+ }
492
+ function useXoInputTag(option) {
493
+ return reactive3({
494
+ model: option.model,
495
+ onChange: (value) => {
496
+ option.onChange?.(value ?? []);
497
+ }
498
+ });
499
+ }
500
+ function useXoInputNumber(option) {
501
+ return reactive3({
502
+ model: option.model,
503
+ onChange: (cur, prev) => {
504
+ option.onChange?.(cur, prev);
505
+ }
506
+ });
507
+ }
508
+ function useXoSwitch(option) {
509
+ const onChange = (value) => {
510
+ option.onChange?.(value);
511
+ };
512
+ return reactive3({
513
+ model: option.model,
514
+ onChange
515
+ });
516
+ }
517
+ function useXoRadioGroup(option) {
518
+ const onChange = (value) => {
519
+ if (option.options.some((item) => Object.is(item.value, value))) {
520
+ option.onChange?.(value);
521
+ }
522
+ };
523
+ return reactive3({
524
+ model: option.model,
525
+ options: option.options,
526
+ onChange
527
+ });
528
+ }
529
+
530
+ // src/renderer/composables/use-xo-updater-action.ts
531
+ import { reactive as reactive4 } from "vue";
532
+ function useXoUpdaterAction(options) {
533
+ const action = reactive4({
534
+ loading: false,
535
+ run: async () => {
536
+ if (action.loading) {
537
+ return void 0;
538
+ }
539
+ action.loading = true;
540
+ let result;
541
+ let error;
542
+ try {
543
+ await options.before?.();
544
+ result = await options.execute();
545
+ return result;
546
+ } catch (caught) {
547
+ error = caught;
548
+ throw caught;
549
+ } finally {
550
+ try {
551
+ await options.after?.(result, error);
552
+ } finally {
553
+ action.loading = false;
554
+ }
555
+ }
556
+ }
557
+ });
558
+ return action;
559
+ }
560
+ export {
561
+ useXoBoolean,
562
+ useXoDataLoader,
563
+ useXoInput,
564
+ useXoInputNumber,
565
+ useXoInputOtp,
566
+ useXoInputTag,
567
+ useXoRadioGroup,
568
+ useXoSwitch,
569
+ useXoUpdaterAction
570
+ };
@@ -0,0 +1,14 @@
1
+ import { type Reactive } from 'vue';
2
+ export interface XoBoolean {
3
+ value: boolean;
4
+ isTrue: boolean;
5
+ isFalse: boolean;
6
+ setTrue: () => void;
7
+ setFalse: () => void;
8
+ }
9
+ /**
10
+ * 布尔值控制组合式函数
11
+ * @param {boolean} initialValue 初始值
12
+ * @returns {Reactive<XoBoolean>}
13
+ */
14
+ export declare function useXoBoolean(initialValue?: boolean): Reactive<XoBoolean>;
@@ -0,0 +1,73 @@
1
+ /**
2
+ * 数据加载结果
3
+ * @template LReq 加载请求类型或请求列表类型
4
+ * @template LRes 加载结果类型
5
+ * @template K 加载请求索引类型
6
+ */
7
+ type DataLoadResults<LReq extends readonly DataLoadRequest[]> = {
8
+ -readonly [K in keyof LReq]: LReq[K] extends DataLoadRequest<infer LRes> ? LRes : never;
9
+ };
10
+ /**
11
+ * 数据加载参数对应的结果
12
+ * @template LReq 加载请求类型或请求列表类型
13
+ * @template LRes 加载结果类型
14
+ */
15
+ type DataLoadResult<LReq extends DataLoadRequest | readonly DataLoadRequest[]> = LReq extends DataLoadRequest<infer LRes> ? LRes : LReq extends readonly DataLoadRequest[] ? DataLoadResults<LReq> : never;
16
+ /**
17
+ * 数据加载请求
18
+ * @template R 加载结果类型
19
+ * .e.g. const request: DataLoadRequest<User[]> = async () => await api.getUsers()
20
+ */
21
+ export type DataLoadRequest<R = unknown> = () => Promise<R>;
22
+ /**
23
+ * 数据加载器配置
24
+ * @template LR 加载请求类型或请求列表类型
25
+ * @template FD 表单数据类型
26
+ * @template FR 表单提交结果类型
27
+ */
28
+ export interface DataLoaderOptions<LR extends DataLoadRequest | readonly DataLoadRequest[], FD = undefined, FR = unknown> {
29
+ name?: string;
30
+ request: LR;
31
+ allowRepeatedLoad?: boolean;
32
+ repeatedLoadWarning?: string;
33
+ inputWidth?: number;
34
+ bottomGap?: number;
35
+ loadErrorMessage?: string;
36
+ loadErrorLogMessage?: string;
37
+ onLoadSuccess?: (results: DataLoadResult<LR>, formData: FD) => void | Promise<void>;
38
+ onLoadError?: (error: unknown) => void | Promise<void>;
39
+ onLoadComplete?: () => void | Promise<void>;
40
+ form?: () => FD;
41
+ onSubmit?: (formData: FD) => Promise<FR>;
42
+ onSubmitSuccess?: (result: FR, formData: FD) => void | Promise<void>;
43
+ onSubmitError?: (error: unknown, formData: FD) => void | Promise<void>;
44
+ onSubmitComplete?: (formData: FD) => void | Promise<void>;
45
+ submitErrorMessage?: string;
46
+ submitErrorLogMessage?: string;
47
+ }
48
+ /**
49
+ * 数据加载状态
50
+ * @template LR 加载请求类型或请求列表类型
51
+ * @template FD 表单数据类型
52
+ * @template FR 表单提交结果类型
53
+ */
54
+ export interface DataLoader<LR, FD = undefined, FR = unknown> {
55
+ loading: boolean;
56
+ loaded: boolean;
57
+ inputWidth: number;
58
+ bottomGap: number;
59
+ formData: FD;
60
+ submitting: boolean;
61
+ load: () => Promise<LR | undefined>;
62
+ submit: () => Promise<FR | undefined>;
63
+ }
64
+ /**
65
+ * 数据加载器组合式函数
66
+ * @template LR 加载请求类型或请求列表类型
67
+ * @template FD 表单数据类型
68
+ * @template FR 表单提交结果类型
69
+ * @param {DataLoaderOptions<LR, FD, FR>} options 选项
70
+ * @returns {DataLoader<DataLoadResult<LR>, FD, FR>}
71
+ */
72
+ export declare function useXoDataLoader<const LR extends DataLoadRequest | readonly DataLoadRequest[], FD = undefined, FR = unknown>(options: DataLoaderOptions<LR, FD, FR>): DataLoader<DataLoadResult<LR>, FD, FR>;
73
+ export {};