smart-admin-web 10.15.0 → 10.20.1

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 (432) hide show
  1. package/README.md +1 -1
  2. package/dist/api/index.d.ts +4 -2
  3. package/dist/api/index.js +1 -1
  4. package/dist/api/index.js.map +1 -1
  5. package/dist/api/schema.d.ts +39 -5
  6. package/dist/assets/icons/ph-subset.json.js +5 -5
  7. package/dist/components/AppIcon.vue.js +9 -9
  8. package/dist/components/AppIcon.vue.js.map +1 -1
  9. package/dist/components/AppWatermark.vue.d.ts +14 -0
  10. package/dist/components/AppWatermark.vue.js +38 -0
  11. package/dist/components/AppWatermark.vue.js.map +1 -0
  12. package/dist/components/AppWatermark2.vue.js +5 -0
  13. package/dist/components/AppWatermark2.vue.js.map +1 -0
  14. package/dist/components/Chart/PieChart.vue.d.ts +1 -1
  15. package/dist/components/Chart/echarts.js +15 -20
  16. package/dist/components/Chart/echarts.js.map +1 -1
  17. package/dist/components/CronEditor/index.vue.js +1 -1
  18. package/dist/components/CronEditor/index2.vue.js +2 -1
  19. package/dist/components/CronEditor/index2.vue.js.map +1 -1
  20. package/dist/components/DetailPage/index.vue.js +2 -2
  21. package/dist/components/DetailPage/index2.vue.js.map +1 -1
  22. package/dist/components/DictTag/index.vue.js.map +1 -1
  23. package/dist/components/ErrorBoundary/index.vue.js +2 -2
  24. package/dist/components/ErrorBoundary/index2.vue.js +1 -1
  25. package/dist/components/ErrorBoundary/index2.vue.js.map +1 -1
  26. package/dist/components/FormContainer/index.vue.js +91 -56
  27. package/dist/components/FormContainer/index.vue.js.map +1 -1
  28. package/dist/components/ImportWizard/index.vue.js +1 -1
  29. package/dist/components/ImportWizard/index2.vue.js +44 -41
  30. package/dist/components/ImportWizard/index2.vue.js.map +1 -1
  31. package/dist/components/MenuSearch.vue.js +2 -2
  32. package/dist/components/MenuSearch2.vue.js +19 -18
  33. package/dist/components/MenuSearch2.vue.js.map +1 -1
  34. package/dist/components/PasswordStrength/index.vue.js +2 -2
  35. package/dist/components/PasswordStrength/index2.vue.js +20 -18
  36. package/dist/components/PasswordStrength/index2.vue.js.map +1 -1
  37. package/dist/components/TableTotal/index.vue.d.ts +6 -0
  38. package/dist/components/{SelectTable → TableTotal}/index.vue.js +1 -1
  39. package/dist/components/TableTotal/index2.vue.js +16 -0
  40. package/dist/components/TableTotal/index2.vue.js.map +1 -0
  41. package/dist/components/TableZoomButton/index.vue.js.map +1 -1
  42. package/dist/components/UserPicker/index.vue.js +2 -2
  43. package/dist/components/UserPicker/index2.vue.js +176 -117
  44. package/dist/components/UserPicker/index2.vue.js.map +1 -1
  45. package/dist/composables/useBatchDelete.js.map +1 -1
  46. package/dist/composables/useLayoutMenu.js +17 -16
  47. package/dist/composables/useLayoutMenu.js.map +1 -1
  48. package/dist/composables/useModule.js +39 -29
  49. package/dist/composables/useModule.js.map +1 -1
  50. package/dist/composables/useShellBreakpoint.d.ts +19 -0
  51. package/dist/composables/useShellBreakpoint.js +37 -0
  52. package/dist/composables/useShellBreakpoint.js.map +1 -0
  53. package/dist/composables/useSite.d.ts +15 -0
  54. package/dist/composables/useSite.js +16 -14
  55. package/dist/composables/useSite.js.map +1 -1
  56. package/dist/composables/useTabTitle.js.map +1 -1
  57. package/dist/composables/useTableTitle.d.ts +6 -0
  58. package/dist/composables/useTableTitle.js +11 -0
  59. package/dist/composables/useTableTitle.js.map +1 -0
  60. package/dist/composables/useTableZoom.d.ts +5 -0
  61. package/dist/composables/useTableZoom.js.map +1 -1
  62. package/dist/composables/useTheme.d.ts +2 -2
  63. package/dist/composables/useTheme.js +23 -20
  64. package/dist/composables/useTheme.js.map +1 -1
  65. package/dist/createSmartAdmin.d.ts +12 -2
  66. package/dist/createSmartAdmin.js +72 -60
  67. package/dist/createSmartAdmin.js.map +1 -1
  68. package/dist/index.d.ts +5 -2
  69. package/dist/index.js +219 -205
  70. package/dist/index.js.map +1 -1
  71. package/dist/layouts/AccentPicker.vue.js +8 -0
  72. package/dist/layouts/AccentPicker.vue.js.map +1 -0
  73. package/dist/layouts/AccentPicker2.vue.js +131 -0
  74. package/dist/layouts/AccentPicker2.vue.js.map +1 -0
  75. package/dist/layouts/AppHeader.vue.d.ts +8 -1
  76. package/dist/layouts/AppHeader.vue.js +2 -2
  77. package/dist/layouts/AppHeader2.vue.js +317 -235
  78. package/dist/layouts/AppHeader2.vue.js.map +1 -1
  79. package/dist/layouts/NoticeBell.vue.js +2 -2
  80. package/dist/layouts/NoticeBell2.vue.js +19 -18
  81. package/dist/layouts/NoticeBell2.vue.js.map +1 -1
  82. package/dist/layouts/PersonalLayout.vue.js +2 -2
  83. package/dist/layouts/PersonalLayout2.vue.js +69 -47
  84. package/dist/layouts/PersonalLayout2.vue.js.map +1 -1
  85. package/dist/layouts/SettingsDrawer.vue.js +3 -3
  86. package/dist/layouts/SettingsDrawer2.vue.js +261 -325
  87. package/dist/layouts/SettingsDrawer2.vue.js.map +1 -1
  88. package/dist/layouts/TabsBar.vue.js +2 -2
  89. package/dist/layouts/TabsBar2.vue.js +97 -69
  90. package/dist/layouts/TabsBar2.vue.js.map +1 -1
  91. package/dist/layouts/components/SideNav.vue.d.ts +3 -0
  92. package/dist/layouts/components/SideNav.vue.js +1 -1
  93. package/dist/layouts/components/SideNav2.vue.js +54 -26
  94. package/dist/layouts/components/SideNav2.vue.js.map +1 -1
  95. package/dist/layouts/default.vue.js +1 -1
  96. package/dist/layouts/default2.vue.js +170 -140
  97. package/dist/layouts/default2.vue.js.map +1 -1
  98. package/dist/lib/loginHero.d.ts +2 -2
  99. package/dist/lib/loginHero.js.map +1 -1
  100. package/dist/lib/runtime.js +1 -1
  101. package/dist/lib/watermark.d.ts +110 -0
  102. package/dist/lib/watermark.js +151 -0
  103. package/dist/lib/watermark.js.map +1 -0
  104. package/dist/locales/en-US.d.ts +221 -15
  105. package/dist/locales/en-US.js +230 -21
  106. package/dist/locales/en-US.js.map +1 -1
  107. package/dist/locales/kernelMenuTitles.d.ts +1 -0
  108. package/dist/locales/kernelMenuTitles.js +128 -0
  109. package/dist/locales/kernelMenuTitles.js.map +1 -0
  110. package/dist/locales/menuTitle.d.ts +3 -0
  111. package/dist/locales/menuTitle.js +14 -12
  112. package/dist/locales/menuTitle.js.map +1 -1
  113. package/dist/locales/zh-CN.d.ts +221 -15
  114. package/dist/locales/zh-CN.js +238 -28
  115. package/dist/locales/zh-CN.js.map +1 -1
  116. package/dist/router/index.js +41 -32
  117. package/dist/router/index.js.map +1 -1
  118. package/dist/router/namedPage.d.ts +4 -0
  119. package/dist/router/namedPage.js +7 -7
  120. package/dist/router/namedPage.js.map +1 -1
  121. package/dist/router/viewRegistry.js +8 -8
  122. package/dist/router/viewRegistry.js.map +1 -1
  123. package/dist/stores/app.d.ts +0 -12
  124. package/dist/stores/app.js +11 -12
  125. package/dist/stores/app.js.map +1 -1
  126. package/dist/stores/tabs.js.map +1 -1
  127. package/dist/stores/user.d.ts +10 -0
  128. package/dist/stores/user.js.map +1 -1
  129. package/dist/style.css +1 -1
  130. package/dist/theme/accentTokens.d.ts +27 -0
  131. package/dist/theme/accentTokens.js +54 -0
  132. package/dist/theme/accentTokens.js.map +1 -0
  133. package/dist/theme/accents.d.ts +21 -1
  134. package/dist/theme/accents.js +11 -2
  135. package/dist/theme/accents.js.map +1 -1
  136. package/dist/theme/mix.d.ts +58 -7
  137. package/dist/theme/mix.js +115 -30
  138. package/dist/theme/mix.js.map +1 -1
  139. package/dist/theme/naive-theme.d.ts +5 -2
  140. package/dist/theme/naive-theme.js +407 -75
  141. package/dist/theme/naive-theme.js.map +1 -1
  142. package/dist/utils/jwt.d.ts +8 -0
  143. package/dist/utils/jwt.js +14 -0
  144. package/dist/utils/jwt.js.map +1 -0
  145. package/dist/utils/menuIcon.d.ts +2 -0
  146. package/dist/utils/menuIcon.js +8 -0
  147. package/dist/utils/menuIcon.js.map +1 -0
  148. package/dist/utils/oauthBrand.js.map +1 -1
  149. package/dist/utils/tableFilter.d.ts +88 -0
  150. package/dist/utils/tableFilter.js +116 -0
  151. package/dist/utils/tableFilter.js.map +1 -0
  152. package/dist/utils/tableToolbar.d.ts +18 -0
  153. package/dist/utils/tableToolbar.js +11 -0
  154. package/dist/utils/tableToolbar.js.map +1 -0
  155. package/dist/utils/treeFilter.d.ts +20 -0
  156. package/dist/utils/treeFilter.js +24 -0
  157. package/dist/utils/treeFilter.js.map +1 -0
  158. package/dist/views/dashboard/ShortcutPicker.vue.js +1 -1
  159. package/dist/views/dashboard/ShortcutPicker2.vue.js +73 -48
  160. package/dist/views/dashboard/ShortcutPicker2.vue.js.map +1 -1
  161. package/dist/views/dashboard/biz.vue.js +1 -1
  162. package/dist/views/dashboard/biz2.vue.js +310 -257
  163. package/dist/views/dashboard/biz2.vue.js.map +1 -1
  164. package/dist/views/dashboard/workbench.vue.js +2 -2
  165. package/dist/views/dashboard/workbench2.vue.js +141 -155
  166. package/dist/views/dashboard/workbench2.vue.js.map +1 -1
  167. package/dist/views/embed/iframe.vue.js +2 -2
  168. package/dist/views/embed/iframe2.vue.js +22 -15
  169. package/dist/views/embed/iframe2.vue.js.map +1 -1
  170. package/dist/views/error/404.vue.js +2 -2
  171. package/dist/views/error/4042.vue.js +33 -24
  172. package/dist/views/error/4042.vue.js.map +1 -1
  173. package/dist/views/error/BootError.vue.js +1 -1
  174. package/dist/views/error/BootError2.vue.js +59 -48
  175. package/dist/views/error/BootError2.vue.js.map +1 -1
  176. package/dist/views/error/MissingRoute.vue.js +2 -2
  177. package/dist/views/error/MissingRoute2.vue.js +34 -15
  178. package/dist/views/error/MissingRoute2.vue.js.map +1 -1
  179. package/dist/views/login/LoginForm.vue.d.ts +7 -1
  180. package/dist/views/login/LoginForm.vue.js +2 -2
  181. package/dist/views/login/LoginForm2.vue.js +580 -488
  182. package/dist/views/login/LoginForm2.vue.js.map +1 -1
  183. package/dist/views/login/components/LoginDesk.vue.d.ts +36 -0
  184. package/dist/views/login/components/LoginDesk.vue.js +9 -0
  185. package/dist/views/login/components/LoginDesk.vue.js.map +1 -0
  186. package/dist/views/login/components/LoginDesk2.vue.js +100 -0
  187. package/dist/views/login/components/LoginDesk2.vue.js.map +1 -0
  188. package/dist/views/login/components/LoginHeroPanel.vue.js +3 -3
  189. package/dist/views/login/components/LoginHeroPanel2.vue.js +34 -39
  190. package/dist/views/login/components/LoginHeroPanel2.vue.js.map +1 -1
  191. package/dist/views/login/index.vue.js +1 -1
  192. package/dist/views/login/index2.vue.js +141 -71
  193. package/dist/views/login/index2.vue.js.map +1 -1
  194. package/dist/views/login/layout.d.ts +11 -0
  195. package/dist/views/login/layout.js +27 -0
  196. package/dist/views/login/layout.js.map +1 -0
  197. package/dist/views/mfa/index.vue.js +2 -2
  198. package/dist/views/mfa/index2.vue.js +367 -321
  199. package/dist/views/mfa/index2.vue.js.map +1 -1
  200. package/dist/views/module/index.vue.js +2 -2
  201. package/dist/views/module/index2.vue.js +132 -99
  202. package/dist/views/module/index2.vue.js.map +1 -1
  203. package/dist/views/oauth/callback.vue.js +2 -2
  204. package/dist/views/oauth/callback2.vue.js +65 -51
  205. package/dist/views/oauth/callback2.vue.js.map +1 -1
  206. package/dist/views/personal/bindings.vue.js +2 -2
  207. package/dist/views/personal/bindings2.vue.js +98 -94
  208. package/dist/views/personal/bindings2.vue.js.map +1 -1
  209. package/dist/views/personal/notice2.vue.js +103 -76
  210. package/dist/views/personal/notice2.vue.js.map +1 -1
  211. package/dist/views/personal/password2.vue.js +47 -40
  212. package/dist/views/personal/password2.vue.js.map +1 -1
  213. package/dist/views/personal/profile.vue.js +3 -3
  214. package/dist/views/personal/profile2.vue.js +24 -18
  215. package/dist/views/personal/profile2.vue.js.map +1 -1
  216. package/dist/views/personal/security.vue.js +2 -2
  217. package/dist/views/personal/security2.vue.js +65 -53
  218. package/dist/views/personal/security2.vue.js.map +1 -1
  219. package/dist/views/personal/sessions.vue.js +2 -2
  220. package/dist/views/personal/sessions2.vue.js +67 -62
  221. package/dist/views/personal/sessions2.vue.js.map +1 -1
  222. package/dist/views/system/ai-model/components/ProviderCard.vue.js +2 -2
  223. package/dist/views/system/ai-model/components/ProviderCard2.vue.js +142 -130
  224. package/dist/views/system/ai-model/components/ProviderCard2.vue.js.map +1 -1
  225. package/dist/views/system/ai-model/components/ProviderForm.vue.js +2 -2
  226. package/dist/views/system/ai-model/components/ProviderForm2.vue.js +71 -70
  227. package/dist/views/system/ai-model/components/ProviderForm2.vue.js.map +1 -1
  228. package/dist/views/system/ai-model/index.vue.js +2 -2
  229. package/dist/views/system/ai-model/index2.vue.js +99 -99
  230. package/dist/views/system/ai-model/index2.vue.js.map +1 -1
  231. package/dist/views/system/ai-model/presets.d.ts +1 -1
  232. package/dist/views/system/ai-model/presets.js +18 -18
  233. package/dist/views/system/ai-model/presets.js.map +1 -1
  234. package/dist/views/system/ai-usage/index.vue.js +2 -2
  235. package/dist/views/system/ai-usage/index2.vue.js +356 -258
  236. package/dist/views/system/ai-usage/index2.vue.js.map +1 -1
  237. package/dist/views/system/api-docs/index.vue.js +5 -2
  238. package/dist/views/system/api-docs/index.vue.js.map +1 -1
  239. package/dist/views/system/api-docs/index2.vue.js +92 -42
  240. package/dist/views/system/api-docs/index2.vue.js.map +1 -1
  241. package/dist/views/system/cache/index.vue.js +2 -2
  242. package/dist/views/system/cache/index2.vue.js +74 -80
  243. package/dist/views/system/cache/index2.vue.js.map +1 -1
  244. package/dist/views/system/config/components/AdminMock.vue.js +2 -2
  245. package/dist/views/system/config/components/AdminMock2.vue.js +60 -43
  246. package/dist/views/system/config/components/AdminMock2.vue.js.map +1 -1
  247. package/dist/views/system/config/components/AdvancedSection.vue.js +5 -2
  248. package/dist/views/system/config/components/AdvancedSection.vue.js.map +1 -1
  249. package/dist/views/system/config/components/AdvancedSection2.vue.js +98 -70
  250. package/dist/views/system/config/components/AdvancedSection2.vue.js.map +1 -1
  251. package/dist/views/system/config/components/BrandSection.vue.js +2 -2
  252. package/dist/views/system/config/components/BrandSection2.vue.js +121 -119
  253. package/dist/views/system/config/components/BrandSection2.vue.js.map +1 -1
  254. package/dist/views/system/config/components/CfgGroup.vue.js +3 -3
  255. package/dist/views/system/config/components/CfgGroup2.vue.js.map +1 -1
  256. package/dist/views/system/config/components/CfgRow.vue.js +1 -1
  257. package/dist/views/system/config/components/CfgRow2.vue.js +24 -23
  258. package/dist/views/system/config/components/CfgRow2.vue.js.map +1 -1
  259. package/dist/views/system/config/components/CfgSegment.vue.js +1 -1
  260. package/dist/views/system/config/components/CfgSegment2.vue.js +16 -15
  261. package/dist/views/system/config/components/CfgSegment2.vue.js.map +1 -1
  262. package/dist/views/system/config/components/ConfigFormModal.vue.js +2 -2
  263. package/dist/views/system/config/components/ConfigFormModal2.vue.js +35 -33
  264. package/dist/views/system/config/components/ConfigFormModal2.vue.js.map +1 -1
  265. package/dist/views/system/config/components/JobSection.vue.js +2 -2
  266. package/dist/views/system/config/components/JobSection2.vue.js +46 -44
  267. package/dist/views/system/config/components/JobSection2.vue.js.map +1 -1
  268. package/dist/views/system/config/components/LoginMock.vue.js +3 -3
  269. package/dist/views/system/config/components/LoginMock2.vue.js +83 -72
  270. package/dist/views/system/config/components/LoginMock2.vue.js.map +1 -1
  271. package/dist/views/system/config/components/LogoCropper.vue.js +1 -1
  272. package/dist/views/system/config/components/LogoCropper2.vue.js.map +1 -1
  273. package/dist/views/system/config/components/LogoEditor.vue.js +2 -2
  274. package/dist/views/system/config/components/LogoEditor2.vue.js +11 -13
  275. package/dist/views/system/config/components/LogoEditor2.vue.js.map +1 -1
  276. package/dist/views/system/config/components/ProviderSheet.vue.js +3 -3
  277. package/dist/views/system/config/components/ProviderSheet2.vue.js.map +1 -1
  278. package/dist/views/system/config/components/SectionLayout.vue.d.ts +4 -2
  279. package/dist/views/system/config/components/SectionLayout.vue.js +2 -2
  280. package/dist/views/system/config/components/SectionLayout2.vue.js +51 -27
  281. package/dist/views/system/config/components/SectionLayout2.vue.js.map +1 -1
  282. package/dist/views/system/config/components/SecuritySection.vue.js +2 -2
  283. package/dist/views/system/config/components/SecuritySection2.vue.js +207 -206
  284. package/dist/views/system/config/components/SecuritySection2.vue.js.map +1 -1
  285. package/dist/views/system/config/components/SensitiveSection.vue.js +2 -2
  286. package/dist/views/system/config/components/SensitiveSection2.vue.js +107 -102
  287. package/dist/views/system/config/components/SensitiveSection2.vue.js.map +1 -1
  288. package/dist/views/system/config/components/UploadSection.vue.js +2 -2
  289. package/dist/views/system/config/components/UploadSection2.vue.js +86 -77
  290. package/dist/views/system/config/components/UploadSection2.vue.js.map +1 -1
  291. package/dist/views/system/config/components/WatermarkSection.vue.js +8 -0
  292. package/dist/views/system/config/components/WatermarkSection.vue.js.map +1 -0
  293. package/dist/views/system/config/components/WatermarkSection2.vue.js +284 -0
  294. package/dist/views/system/config/components/WatermarkSection2.vue.js.map +1 -0
  295. package/dist/views/system/config/draft.d.ts +2 -2
  296. package/dist/views/system/config/draft.js.map +1 -1
  297. package/dist/views/system/config/groups.d.ts +4 -1
  298. package/dist/views/system/config/groups.js +54 -49
  299. package/dist/views/system/config/groups.js.map +1 -1
  300. package/dist/views/system/config/index.vue.js +3 -2
  301. package/dist/views/system/config/index.vue.js.map +1 -1
  302. package/dist/views/system/config/index2.vue.js +173 -148
  303. package/dist/views/system/config/index2.vue.js.map +1 -1
  304. package/dist/views/system/config/layoutMode.d.ts +23 -0
  305. package/dist/views/system/config/layoutMode.js +28 -0
  306. package/dist/views/system/config/layoutMode.js.map +1 -0
  307. package/dist/views/system/dict/index.vue.js +2 -2
  308. package/dist/views/system/dict/index2.vue.js +471 -366
  309. package/dist/views/system/dict/index2.vue.js.map +1 -1
  310. package/dist/views/system/file/index2.vue.js +91 -76
  311. package/dist/views/system/file/index2.vue.js.map +1 -1
  312. package/dist/views/system/job/index.vue.js +3 -3
  313. package/dist/views/system/job/index2.vue.js +897 -828
  314. package/dist/views/system/job/index2.vue.js.map +1 -1
  315. package/dist/views/system/job-log/components/AttemptTable.vue.d.ts +8 -0
  316. package/dist/views/system/job-log/components/AttemptTable.vue.js +5 -0
  317. package/dist/views/system/job-log/components/AttemptTable.vue.js.map +1 -0
  318. package/dist/views/system/job-log/components/AttemptTable2.vue.js +54 -0
  319. package/dist/views/system/job-log/components/AttemptTable2.vue.js.map +1 -0
  320. package/dist/views/system/job-log/index.vue.js +2 -2
  321. package/dist/views/system/job-log/index2.vue.js +193 -207
  322. package/dist/views/system/job-log/index2.vue.js.map +1 -1
  323. package/dist/views/system/job-log/runStatus.d.ts +13 -0
  324. package/dist/views/system/job-log/runStatus.js +26 -0
  325. package/dist/views/system/job-log/runStatus.js.map +1 -0
  326. package/dist/views/system/job-monitor/index.vue.js +2 -2
  327. package/dist/views/system/job-monitor/index2.vue.js +172 -180
  328. package/dist/views/system/job-monitor/index2.vue.js.map +1 -1
  329. package/dist/views/system/log/exception/index.vue.js +2 -2
  330. package/dist/views/system/log/exception/index2.vue.js +135 -96
  331. package/dist/views/system/log/exception/index2.vue.js.map +1 -1
  332. package/dist/views/system/log/login/index2.vue.js +62 -41
  333. package/dist/views/system/log/login/index2.vue.js.map +1 -1
  334. package/dist/views/system/log/op/index.vue.js +2 -2
  335. package/dist/views/system/log/op/index2.vue.js +200 -162
  336. package/dist/views/system/log/op/index2.vue.js.map +1 -1
  337. package/dist/views/system/menu/components/ButtonManager.vue.js +2 -2
  338. package/dist/views/system/menu/components/ButtonManager2.vue.js +206 -190
  339. package/dist/views/system/menu/components/ButtonManager2.vue.js.map +1 -1
  340. package/dist/views/system/menu/components/MenuFormModal.vue.js +2 -2
  341. package/dist/views/system/menu/components/MenuFormModal2.vue.js +127 -118
  342. package/dist/views/system/menu/components/MenuFormModal2.vue.js.map +1 -1
  343. package/dist/views/system/menu/index.vue.js +1 -1
  344. package/dist/views/system/menu/index2.vue.js +216 -183
  345. package/dist/views/system/menu/index2.vue.js.map +1 -1
  346. package/dist/views/system/module/index.vue.js +1 -1
  347. package/dist/views/system/module/index2.vue.js +177 -144
  348. package/dist/views/system/module/index2.vue.js.map +1 -1
  349. package/dist/views/system/monitor/index.vue.js +2 -2
  350. package/dist/views/system/monitor/index2.vue.js +134 -149
  351. package/dist/views/system/monitor/index2.vue.js.map +1 -1
  352. package/dist/views/system/notice/index.vue.js +1 -1
  353. package/dist/views/system/notice/index2.vue.js +209 -181
  354. package/dist/views/system/notice/index2.vue.js.map +1 -1
  355. package/dist/views/system/org/index.vue.js +1 -1
  356. package/dist/views/system/org/index2.vue.js +278 -248
  357. package/dist/views/system/org/index2.vue.js.map +1 -1
  358. package/dist/views/system/position/index.vue.js +5 -2
  359. package/dist/views/system/position/index.vue.js.map +1 -1
  360. package/dist/views/system/position/index2.vue.js +128 -92
  361. package/dist/views/system/position/index2.vue.js.map +1 -1
  362. package/dist/views/system/recycle/index.vue.js +2 -2
  363. package/dist/views/system/recycle/index2.vue.js +90 -67
  364. package/dist/views/system/recycle/index2.vue.js.map +1 -1
  365. package/dist/views/system/role/components/GrantMenuSheet.vue.d.ts +20 -0
  366. package/dist/views/system/role/components/GrantMenuSheet.vue.js +8 -0
  367. package/dist/views/system/role/components/GrantMenuSheet.vue.js.map +1 -0
  368. package/dist/views/system/role/components/GrantMenuSheet2.vue.js +117 -0
  369. package/dist/views/system/role/components/GrantMenuSheet2.vue.js.map +1 -0
  370. package/dist/views/system/role/components/GrantMenuTable.vue.d.ts +6 -4
  371. package/dist/views/system/role/components/GrantMenuTable.vue.js +2 -2
  372. package/dist/views/system/role/components/GrantMenuTable2.vue.js +279 -177
  373. package/dist/views/system/role/components/GrantMenuTable2.vue.js.map +1 -1
  374. package/dist/views/system/role/components/MatchText.vue.d.ts +7 -0
  375. package/dist/views/system/role/components/MatchText.vue.js +8 -0
  376. package/dist/views/system/role/components/MatchText.vue.js.map +1 -0
  377. package/dist/views/system/role/components/MatchText2.vue.js +29 -0
  378. package/dist/views/system/role/components/MatchText2.vue.js.map +1 -0
  379. package/dist/views/system/role/components/grantMenuGroups.d.ts +36 -0
  380. package/dist/views/system/role/components/grantMenuGroups.js +110 -48
  381. package/dist/views/system/role/components/grantMenuGroups.js.map +1 -1
  382. package/dist/views/system/role/index.vue.js +5 -2
  383. package/dist/views/system/role/index.vue.js.map +1 -1
  384. package/dist/views/system/role/index2.vue.js +181 -165
  385. package/dist/views/system/role/index2.vue.js.map +1 -1
  386. package/dist/views/system/session/index2.vue.js +75 -49
  387. package/dist/views/system/session/index2.vue.js.map +1 -1
  388. package/dist/views/system/user/components/ResetPasswordModal.vue.js +2 -2
  389. package/dist/views/system/user/components/ResetPasswordModal2.vue.js +2 -0
  390. package/dist/views/system/user/components/ResetPasswordModal2.vue.js.map +1 -1
  391. package/dist/views/system/user/components/UserFormModal.vue.js +2 -2
  392. package/dist/views/system/user/components/UserFormModal2.vue.js +77 -76
  393. package/dist/views/system/user/components/UserFormModal2.vue.js.map +1 -1
  394. package/dist/views/system/user/index.vue.js +2 -2
  395. package/dist/views/system/user/index2.vue.js +362 -275
  396. package/dist/views/system/user/index2.vue.js.map +1 -1
  397. package/package.json +3 -5
  398. package/dist/components/SelectTable/index.vue.d.ts +0 -76
  399. package/dist/components/SelectTable/index2.vue.js +0 -256
  400. package/dist/components/SelectTable/index2.vue.js.map +0 -1
  401. package/dist/composables/useTableRowSort.d.ts +0 -20
  402. package/dist/composables/useTableRowSort.js +0 -59
  403. package/dist/composables/useTableRowSort.js.map +0 -1
  404. package/dist/layouts/LayoutModeCards.vue.js +0 -8
  405. package/dist/layouts/LayoutModeCards.vue.js.map +0 -1
  406. package/dist/layouts/LayoutModeCards2.vue.js +0 -67
  407. package/dist/layouts/LayoutModeCards2.vue.js.map +0 -1
  408. package/dist/layouts/SettingRow.vue.d.ts +0 -16
  409. package/dist/layouts/SettingRow.vue.js +0 -8
  410. package/dist/layouts/SettingRow.vue.js.map +0 -1
  411. package/dist/layouts/SettingRow2.vue.js +0 -23
  412. package/dist/layouts/SettingRow2.vue.js.map +0 -1
  413. package/dist/views/login/skins/AuroraGlass.vue.js +0 -8
  414. package/dist/views/login/skins/AuroraGlass.vue.js.map +0 -1
  415. package/dist/views/login/skins/AuroraGlass2.vue.js +0 -80
  416. package/dist/views/login/skins/AuroraGlass2.vue.js.map +0 -1
  417. package/dist/views/login/skins/SplitPanel.vue.d.ts +0 -3
  418. package/dist/views/login/skins/SplitPanel.vue.js +0 -8
  419. package/dist/views/login/skins/SplitPanel.vue.js.map +0 -1
  420. package/dist/views/login/skins/SplitPanel2.vue.js +0 -65
  421. package/dist/views/login/skins/SplitPanel2.vue.js.map +0 -1
  422. package/dist/views/login/skins/Spotlight.vue.d.ts +0 -3
  423. package/dist/views/login/skins/Spotlight.vue.js +0 -8
  424. package/dist/views/login/skins/Spotlight.vue.js.map +0 -1
  425. package/dist/views/login/skins/Spotlight2.vue.js +0 -36
  426. package/dist/views/login/skins/Spotlight2.vue.js.map +0 -1
  427. package/dist/views/login/skins.d.ts +0 -8
  428. package/dist/views/login/skins.js +0 -13
  429. package/dist/views/login/skins.js.map +0 -1
  430. /package/dist/components/{SelectTable → TableTotal}/index.vue.js.map +0 -0
  431. /package/dist/layouts/{LayoutModeCards.vue.d.ts → AccentPicker.vue.d.ts} +0 -0
  432. /package/dist/views/{login/skins/AuroraGlass.vue.d.ts → system/config/components/WatermarkSection.vue.d.ts} +0 -0
@@ -1,642 +1,734 @@
1
- import { defineComponent as He, computed as k, ref as f, reactive as j, onBeforeUnmount as De, onMounted as Ke, h as ae, openBlock as i, createElementBlock as d, createVNode as l, createElementVNode as s, toDisplayString as c, unref as e, createCommentVNode as m, createBlock as M, withCtx as r, createTextVNode as G, Fragment as P, withKeys as W, normalizeClass as Ve, withModifiers as Y, normalizeStyle as le, renderList as Oe } from "vue";
2
- import { useRouter as je, useRoute as Ge } from "vue-router";
3
- import { useMessage as We, NAlert as Ye, NForm as ie, NFormItem as N, NInput as A, NCheckbox as $e, NDropdown as Je, NModal as ye } from "naive-ui";
4
- import { Icon as _ } from "@iconify/vue";
5
- import { useI18n as Qe } from "vue-i18n";
6
- import { externalAuthApi as se, authApi as q, ApiError as ce } from "../../api/index.js";
7
- import { useUserStore as Xe } from "../../stores/user.js";
8
- import { useAuthStore as Ze } from "../../stores/auth.js";
9
- import { useAppStore as eo } from "../../stores/app.js";
10
- import { useSite as oo } from "../../composables/useSite.js";
11
- import { resetRouter as to } from "../../router/index.js";
12
- import { glowSh as no, btnGrad as ao } from "../../theme/mix.js";
13
- import { translateError as T } from "../../utils/error.js";
14
- import { splitLoginProviders as lo, claimWeComAutoLogin as io } from "../../utils/oauthBrand.js";
15
- import so from "../../components/SmartLogo.vue.js";
16
- import { runtime as we } from "../../lib/runtime.js";
17
- import be from "../../components/oauth/BrandIcon.vue.js";
18
- const co = { class: "login-form" }, ro = {
1
+ import { defineComponent as Ve, computed as _, ref as h, reactive as Y, onBeforeUnmount as Ge, onMounted as $e, h as ie, openBlock as s, createElementBlock as u, withModifiers as ye, normalizeClass as we, createVNode as n, createElementVNode as p, toDisplayString as r, unref as e, createCommentVNode as w, createBlock as A, withCtx as l, createTextVNode as v, Transition as je, Fragment as q, withKeys as J, renderList as We, nextTick as Ye } from "vue";
2
+ import { useRouter as Je, useRoute as Qe } from "vue-router";
3
+ import { useMessage as Xe, NAlert as Ze, NForm as se, NFormItem as M, NInput as B, NButton as S, NCheckbox as et, NDropdown as tt, NModal as ke } from "naive-ui";
4
+ import { Icon as I } from "@iconify/vue";
5
+ import { useI18n as ot } from "vue-i18n";
6
+ import { externalAuthApi as re, authApi as U, ApiError as ce } from "../../api/index.js";
7
+ import { useUserStore as at } from "../../stores/user.js";
8
+ import { useAuthStore as nt } from "../../stores/auth.js";
9
+ import { useSite as lt } from "../../composables/useSite.js";
10
+ import { resetRouter as it } from "../../router/index.js";
11
+ import { translateError as z } from "../../utils/error.js";
12
+ import { splitLoginProviders as st, claimWeComAutoLogin as rt } from "../../utils/oauthBrand.js";
13
+ import ct from "../../components/SmartLogo.vue.js";
14
+ import { runtime as be } from "../../lib/runtime.js";
15
+ import Ce from "../../components/oauth/BrandIcon.vue.js";
16
+ const ut = {
19
17
  key: 0,
20
18
  class: "lf-brand"
21
- }, uo = { class: "lf-word" }, po = {
19
+ }, dt = { class: "lf-word" }, pt = {
22
20
  key: 0,
23
21
  class: "lf-title"
24
- }, ho = { class: "lf-hint-line" }, vo = { class: "row lf-between" }, fo = ["disabled"], go = {
22
+ }, ht = { class: "lf-hint-line" }, ft = { class: "row lf-between" }, gt = {
25
23
  key: 0,
26
24
  class: "lf-title"
27
- }, mo = { class: "lf-hint-line" }, yo = { class: "row lf-between" }, wo = ["disabled"], bo = {
25
+ }, vt = { class: "lf-hint-line" }, mt = { class: "row lf-between" }, yt = {
28
26
  key: 0,
29
27
  class: "lf-title"
30
- }, ko = { class: "lf-captcha" }, Co = ["title", "innerHTML"], _o = { class: "lf-captcha" }, So = ["disabled"], Io = { class: "row lf-between" }, Lo = { key: 1 }, xo = ["disabled"], Po = { class: "lf-divider" }, No = { class: "lf-sso" }, Ao = ["href", "title", "aria-label"], qo = ["title", "aria-label"], To = {
31
- key: 5,
28
+ }, wt = {
29
+ key: 1,
30
+ class: "lf-greet"
31
+ }, kt = { class: "lf-captcha" }, bt = ["title", "aria-label", "innerHTML"], Ct = { class: "lf-captcha" }, _t = { class: "row lf-between" }, St = { key: 1 }, xt = { class: "lf-divider" }, It = { class: "lf-sso" }, Lt = ["href", "title", "aria-label"], Pt = ["title", "aria-label"], Nt = {
32
+ key: 2,
32
33
  class: "lf-foot"
33
- }, Mo = ["href"], Uo = {
34
+ }, Tt = ["href"], At = {
34
35
  key: 0,
35
36
  class: "lf-ver"
36
- }, Xo = /* @__PURE__ */ He({
37
+ }, qt = "(prefers-reduced-motion: reduce)", Wt = /* @__PURE__ */ Ve({
37
38
  __name: "LoginForm",
38
39
  props: {
39
40
  showLogo: { type: Boolean, default: !0 },
40
41
  showTitle: { type: Boolean, default: !0 },
42
+ showGreeting: { type: Boolean, default: !1 },
41
43
  showFooter: { type: Boolean, default: !0 }
42
44
  },
43
- setup(U) {
44
- const R = je(), S = Ge(), u = We(), { t } = Qe(), re = Xe(), ke = Ze(), ue = eo(), { site: C, appVersion: de, loadSite: Ce } = oo(), _e = (/* @__PURE__ */ new Date()).getFullYear(), $ = k(
45
- () => typeof S.query.pendingLink == "string" ? S.query.pendingLink : ""
46
- ), Se = k(
47
- () => typeof S.query.provider == "string" ? S.query.provider : ""
48
- ), pe = k(
49
- () => typeof S.query.displayName == "string" ? S.query.displayName : ""
50
- ), B = f(!1), E = f(!1), F = f(""), h = j(
51
- we.dev && !$.value ? { account: "superAdmin", password: "Aa123456", remember: !0 } : {
52
- account: we.dev ? "superAdmin" : "",
45
+ emits: ["leave"],
46
+ setup(x, { emit: _e }) {
47
+ const ue = _e, F = Je(), L = Qe(), c = Xe(), { t: o } = ot(), de = at(), Se = nt(), { site: C, appVersion: pe, loadSite: xe } = lt(), Ie = (/* @__PURE__ */ new Date()).getFullYear(), Q = _(
48
+ () => typeof L.query.pendingLink == "string" ? L.query.pendingLink : ""
49
+ ), Le = _(
50
+ () => typeof L.query.provider == "string" ? L.query.provider : ""
51
+ ), he = _(
52
+ () => typeof L.query.displayName == "string" ? L.query.displayName : ""
53
+ ), R = h(!1), D = h(!1), H = h(""), f = Y(
54
+ be.dev && !Q.value ? { account: "superAdmin", password: "Aa123456", remember: !0 } : {
55
+ account: be.dev ? "superAdmin" : "",
53
56
  password: "",
54
57
  remember: !0
55
58
  }
56
- ), v = f(!1), p = f("account"), y = j({ phone: "", code: "" }), g = j({ challengeId: "", phoneMask: "", code: "" }), w = j({ challengeId: "", code: "" }), z = f(!1), J = f(""), b = f(0);
57
- let H;
58
- function Q(o) {
59
- b.value = o, window.clearInterval(H), H = window.setInterval(() => {
60
- b.value -= 1, b.value <= 0 && window.clearInterval(H);
59
+ ), g = h(!1), d = h("account"), k = Y({ phone: "", code: "" }), m = Y({ challengeId: "", phoneMask: "", code: "" }), b = Y({ challengeId: "", code: "" }), E = h(!1), X = h(""), y = h(0);
60
+ let O;
61
+ function Z(t) {
62
+ y.value = t, window.clearInterval(O), O = window.setInterval(() => {
63
+ y.value -= 1, y.value <= 0 && window.clearInterval(O);
61
64
  }, 1e3);
62
65
  }
63
- De(() => window.clearInterval(H));
64
- const I = f(!1), X = f(""), he = f(""), L = f(""), ve = f("char"), Ie = k(
65
- () => ve.value === "math" ? t("login.captchaMathPlaceholder") : t("login.captchaPlaceholder")
66
+ Ge(() => window.clearInterval(O));
67
+ const P = h(!1), ee = h(""), te = h(""), N = h(""), fe = h("char"), Pe = _(
68
+ () => fe.value === "math" ? o("login.captchaMathPlaceholder") : o("login.captchaPlaceholder")
66
69
  );
67
- async function Z() {
70
+ async function oe() {
68
71
  try {
69
- const o = await q.captcha();
70
- X.value = o.captchaId, he.value = o.svg, ve.value = o.type || "char";
72
+ const t = await U.captcha();
73
+ ee.value = t.captchaId, te.value = t.svg, fe.value = t.type || "char";
71
74
  } catch {
72
75
  }
73
76
  }
74
- async function fe() {
75
- I.value && (L.value = "", await Z());
77
+ async function ge() {
78
+ P.value && (N.value = "", await oe());
76
79
  }
77
- Ke(async () => {
78
- await Ce(), C.captchaEnabled && (I.value = !0, await Z()), xe();
79
- const o = R.currentRoute.value.query, n = typeof o.totpChallenge == "string" ? o.totpChallenge : "";
80
- n && (w.challengeId = n, w.code = "", p.value = "totp");
80
+ $e(async () => {
81
+ await xe(), C.captchaEnabled && (P.value = !0, await oe()), Te();
82
+ const t = F.currentRoute.value.query, a = typeof t.totpChallenge == "string" ? t.totpChallenge : "";
83
+ a && (b.challengeId = a, b.code = "", d.value = "totp");
81
84
  });
82
- const ee = k(() => ({
83
- background: ao(ue.accent),
84
- boxShadow: no(ue.accent)
85
- })), D = f([]), K = k(() => {
86
- const o = Se.value;
87
- if (!o) return t("oauth.thirdParty");
88
- const n = D.value.find((O) => O.code === o);
89
- return (n == null ? void 0 : n.displayName) || o;
90
- }), ge = k(
91
- () => D.value
92
- ), oe = k(
93
- () => lo(ge.value)
94
- ), Le = k(
95
- () => oe.value.overflow.map((o) => ({
96
- key: o.code,
97
- label: () => ae(
85
+ const K = h([]), V = _(() => {
86
+ const t = Le.value;
87
+ if (!t) return o("oauth.thirdParty");
88
+ const a = K.value.find((W) => W.code === t);
89
+ return (a == null ? void 0 : a.displayName) || t;
90
+ }), ve = _(
91
+ () => K.value
92
+ ), ae = _(
93
+ () => st(ve.value)
94
+ ), Ne = _(
95
+ () => ae.value.overflow.map((t) => ({
96
+ key: t.code,
97
+ label: () => ie(
98
98
  "span",
99
99
  {
100
100
  class: "lf-sso-menu-item",
101
101
  style: { display: "inline-flex", alignItems: "center", gap: "8px" }
102
102
  },
103
- [ae(be, { code: o.code, icon: o.icon, size: 20 }), ae("span", null, o.displayName)]
103
+ [ie(Ce, { code: t.code, icon: t.icon, size: 20 }), ie("span", null, t.displayName)]
104
104
  )
105
105
  }))
106
106
  );
107
- async function xe() {
107
+ async function Te() {
108
108
  try {
109
- D.value = await se.providers();
109
+ K.value = await re.providers();
110
110
  } catch {
111
111
  return;
112
112
  }
113
- const o = S.query;
114
- !o.pendingLink && !o.totpChallenge && io({
113
+ const t = L.query;
114
+ !t.pendingLink && !t.totpChallenge && rt({
115
115
  userAgent: navigator.userAgent,
116
- providers: D.value,
116
+ providers: K.value,
117
117
  storage: sessionStorage
118
- }) && (window.location.href = te("wecom"));
118
+ }) && (window.location.href = ne("wecom"));
119
119
  }
120
- function te(o) {
121
- return se.authorizeUrl(o);
120
+ function ne(t) {
121
+ return re.authorizeUrl(t);
122
122
  }
123
- function Pe(o) {
124
- window.location.href = te(String(o));
123
+ function Ae(t) {
124
+ window.location.href = ne(String(t));
125
125
  }
126
- async function ne() {
127
- await R.replace("/");
126
+ async function le() {
127
+ await F.replace("/");
128
128
  }
129
- async function V(o) {
130
- to(), ke.reset(), re.setSession(o);
131
- const n = $.value;
132
- if (n) {
133
- F.value = n, B.value = !0;
129
+ const G = h(!1);
130
+ async function $() {
131
+ G.value = !1, await Ye(), requestAnimationFrame(() => {
132
+ G.value = !0;
133
+ });
134
+ }
135
+ async function qe() {
136
+ var t;
137
+ ue("leave", !0), (t = window.matchMedia) != null && t.call(window, qt).matches || await new Promise((a) => setTimeout(a, 320)), await le(), ue("leave", !1);
138
+ }
139
+ async function j(t) {
140
+ it(), Se.reset(), de.setSession(t);
141
+ const a = Q.value;
142
+ if (a) {
143
+ H.value = a, R.value = !0;
134
144
  return;
135
145
  }
136
- u.success(t("login.success")), await ne();
146
+ c.success(o("login.success")), await qe();
137
147
  }
138
- const Ne = k(
139
- () => pe.value ? t("oauth.pendingLinkIdentity", { display: pe.value }) : ""
148
+ const Me = _(
149
+ () => he.value ? o("oauth.pendingLinkIdentity", { display: he.value }) : ""
140
150
  );
141
- async function Ae() {
142
- if (!E.value) {
143
- E.value = !0;
151
+ async function Be() {
152
+ if (!D.value) {
153
+ D.value = !0;
144
154
  try {
145
- await se.claimPendingLink(F.value), u.success(t("oauth.pendingLinkSuccess", { name: K.value }));
146
- } catch (o) {
147
- u.warning(T(o));
155
+ await re.claimPendingLink(H.value), c.success(o("oauth.pendingLinkSuccess", { name: V.value }));
156
+ } catch (t) {
157
+ c.warning(z(t));
148
158
  } finally {
149
- E.value = !1, B.value = !1, F.value = "";
159
+ D.value = !1, R.value = !1, H.value = "";
150
160
  }
151
- await ne();
161
+ await le();
152
162
  }
153
163
  }
154
- async function qe() {
155
- B.value = !1, F.value = "", u.success(t("login.success")), await ne();
164
+ async function Ue() {
165
+ R.value = !1, H.value = "", c.success(o("login.success")), await le();
156
166
  }
157
- async function x() {
158
- if (p.value === "mfa") return Be();
159
- if (p.value === "totp") return ze();
160
- if (p.value === "sms") return Fe();
161
- if (!h.account || !h.password) {
162
- u.warning(t("login.required"));
167
+ async function T() {
168
+ if (d.value === "mfa") return Fe();
169
+ if (d.value === "totp") return De();
170
+ if (d.value === "sms") return Ke();
171
+ if (!f.account || !f.password) {
172
+ c.warning(o("login.required"));
163
173
  return;
164
174
  }
165
- if (I.value && !L.value) {
166
- u.warning(t("login.captchaRequired"));
175
+ if (P.value && !N.value) {
176
+ c.warning(o("login.captchaRequired"));
167
177
  return;
168
178
  }
169
- v.value = !0;
179
+ g.value = !0;
170
180
  try {
171
- const o = await q.login({
172
- account: h.account,
173
- password: h.password,
174
- ...I.value ? { captchaId: X.value, captchaCode: L.value } : {}
181
+ const t = await U.login({
182
+ account: f.account,
183
+ password: f.password,
184
+ ...P.value ? { captchaId: ee.value, captchaCode: N.value } : {}
175
185
  });
176
- await V(o);
177
- } catch (o) {
178
- o instanceof ce && o.code === 40018 && o.args ? (w.challengeId = String(o.args.challengeId ?? ""), w.code = "", p.value = "totp") : o instanceof ce && o.code === 40020 ? (J.value = h.account.trim(), z.value = !0) : o instanceof ce && o.code === 40009 && o.args ? (g.challengeId = String(o.args.challengeId ?? ""), g.phoneMask = String(o.args.phoneMask ?? ""), g.code = "", p.value = "mfa", Q(Number(o.args.resendSeconds ?? 60))) : u.error(T(o)), await fe();
186
+ await j(t);
187
+ } catch (t) {
188
+ t instanceof ce && t.code === 40018 && t.args ? (b.challengeId = String(t.args.challengeId ?? ""), b.code = "", d.value = "totp") : t instanceof ce && t.code === 40020 ? (X.value = f.account.trim(), E.value = !0) : t instanceof ce && t.code === 40009 && t.args ? (m.challengeId = String(t.args.challengeId ?? ""), m.phoneMask = String(t.args.phoneMask ?? ""), m.code = "", d.value = "mfa", Z(Number(t.args.resendSeconds ?? 60))) : (c.error(z(t)), $()), await ge();
179
189
  } finally {
180
- v.value = !1;
190
+ g.value = !1;
181
191
  }
182
192
  }
183
- function Te() {
184
- z.value = !1;
193
+ function ze() {
194
+ E.value = !1;
185
195
  }
186
- function Me() {
187
- const o = J.value || h.account.trim();
188
- z.value = !1, R.push({ path: "/mfa/bind", query: o ? { account: o } : {} });
196
+ function Re() {
197
+ const t = X.value || f.account.trim();
198
+ E.value = !1, F.push({ path: "/mfa/bind", query: t ? { account: t } : {} });
189
199
  }
190
- function Ue() {
191
- const o = h.account.trim() || J.value;
192
- R.push({
200
+ function Ee() {
201
+ const t = f.account.trim() || X.value;
202
+ F.push({
193
203
  path: "/mfa/bind",
194
- query: { ...o ? { account: o } : {}, mode: "recovery" }
204
+ query: { ...t ? { account: t } : {}, mode: "recovery" }
195
205
  });
196
206
  }
197
- async function Be() {
198
- if (!g.code) {
199
- u.warning(t("login.smsCodePlaceholder"));
207
+ async function Fe() {
208
+ if (!m.code) {
209
+ c.warning(o("login.smsCodePlaceholder"));
200
210
  return;
201
211
  }
202
- v.value = !0;
212
+ g.value = !0;
203
213
  try {
204
- await V(
205
- await q.smsChallengeLogin({ challengeId: g.challengeId, code: g.code })
214
+ await j(
215
+ await U.smsChallengeLogin({ challengeId: m.challengeId, code: m.code })
206
216
  );
207
- } catch (o) {
208
- u.error(T(o));
217
+ } catch (t) {
218
+ c.error(z(t)), $();
209
219
  } finally {
210
- v.value = !1;
220
+ g.value = !1;
211
221
  }
212
222
  }
213
- async function ze() {
214
- if (!w.code) {
215
- u.warning(t("login.totpPlaceholder"));
223
+ async function De() {
224
+ if (!b.code) {
225
+ c.warning(o("login.totpPlaceholder"));
216
226
  return;
217
227
  }
218
- v.value = !0;
228
+ g.value = !0;
219
229
  try {
220
- await V(
221
- await q.totpChallengeLogin({ challengeId: w.challengeId, code: w.code })
230
+ await j(
231
+ await U.totpChallengeLogin({ challengeId: b.challengeId, code: b.code })
222
232
  );
223
- } catch (o) {
224
- u.error(T(o));
233
+ } catch (t) {
234
+ c.error(z(t)), $();
225
235
  } finally {
226
- v.value = !1;
236
+ g.value = !1;
227
237
  }
228
238
  }
229
- async function Re() {
230
- if (!(b.value > 0))
239
+ async function He() {
240
+ if (!(y.value > 0))
231
241
  try {
232
- const o = await q.smsChallengeResend({ challengeId: g.challengeId });
233
- u.success(t("login.smsSent")), Q(o.resendSeconds);
234
- } catch (o) {
235
- u.error(T(o));
242
+ const t = await U.smsChallengeResend({ challengeId: m.challengeId });
243
+ c.success(o("login.smsSent")), Z(t.resendSeconds);
244
+ } catch (t) {
245
+ c.error(z(t));
236
246
  }
237
247
  }
238
248
  function me() {
239
- p.value = "account", g.challengeId = "", g.code = "", w.challengeId = "", w.code = "";
249
+ d.value = "account", m.challengeId = "", m.code = "", b.challengeId = "", b.code = "";
240
250
  }
241
- async function Ee() {
242
- if (!(b.value > 0)) {
243
- if (!y.phone) {
244
- u.warning(t("login.phonePlaceholder"));
251
+ async function Oe() {
252
+ if (!(y.value > 0)) {
253
+ if (!k.phone) {
254
+ c.warning(o("login.phonePlaceholder"));
245
255
  return;
246
256
  }
247
- if (I.value && !L.value) {
248
- u.warning(t("login.captchaRequired"));
257
+ if (P.value && !N.value) {
258
+ c.warning(o("login.captchaRequired"));
249
259
  return;
250
260
  }
251
261
  try {
252
- const o = await q.smsLoginSend({
253
- phone: y.phone,
254
- ...I.value ? { captchaId: X.value, captchaCode: L.value } : {}
262
+ const t = await U.smsLoginSend({
263
+ phone: k.phone,
264
+ ...P.value ? { captchaId: ee.value, captchaCode: N.value } : {}
255
265
  });
256
- u.success(t("login.smsSent")), Q(o.resendSeconds);
257
- } catch (o) {
258
- u.error(T(o));
266
+ c.success(o("login.smsSent")), Z(t.resendSeconds);
267
+ } catch (t) {
268
+ c.error(z(t));
259
269
  }
260
- await fe();
270
+ await ge();
261
271
  }
262
272
  }
263
- async function Fe() {
264
- if (!y.phone || !y.code) {
265
- u.warning(t("login.smsRequired"));
273
+ async function Ke() {
274
+ if (!k.phone || !k.code) {
275
+ c.warning(o("login.smsRequired"));
266
276
  return;
267
277
  }
268
- v.value = !0;
278
+ g.value = !0;
269
279
  try {
270
- await V(await q.smsLogin({ phone: y.phone, code: y.code }));
271
- } catch (o) {
272
- u.error(T(o));
280
+ await j(await U.smsLogin({ phone: k.phone, code: k.code }));
281
+ } catch (t) {
282
+ c.error(z(t)), $();
273
283
  } finally {
274
- v.value = !1;
284
+ g.value = !1;
275
285
  }
276
286
  }
277
- return (o, n) => {
278
- var O;
279
- return i(), d("div", co, [
280
- U.showLogo ? (i(), d("div", ro, [
281
- l(so, { size: 34 }),
282
- s("span", uo, c(e(C).title), 1)
283
- ])) : m("", !0),
284
- $.value ? (i(), M(e(Ye), {
287
+ return (t, a) => {
288
+ var W;
289
+ return s(), u("div", {
290
+ class: we(["login-form", { shake: G.value }]),
291
+ onAnimationend: a[12] || (a[12] = ye((i) => G.value = !1, ["self"]))
292
+ }, [
293
+ x.showLogo ? (s(), u("div", ut, [
294
+ n(ct, { size: 34 }),
295
+ p("span", dt, r(e(C).title), 1)
296
+ ])) : w("", !0),
297
+ Q.value ? (s(), A(e(Ze), {
285
298
  key: 1,
286
299
  type: "info",
287
300
  bordered: !1,
288
301
  class: "lf-pending-alert",
289
- title: e(t)("oauth.pendingLinkTitle", { name: K.value })
302
+ title: e(o)("oauth.pendingLinkTitle", { name: V.value })
290
303
  }, {
291
- default: r(() => [
292
- G(c(e(t)("oauth.pendingLinkHint", { name: K.value })), 1)
304
+ default: l(() => [
305
+ v(r(e(o)("oauth.pendingLinkHint", { name: V.value })), 1)
293
306
  ]),
294
307
  _: 1
295
- }, 8, ["title"])) : m("", !0),
296
- p.value === "mfa" ? (i(), d(P, { key: 2 }, [
297
- U.showTitle ? (i(), d("h2", po, c(e(t)("login.mfaTitle", { phone: g.phoneMask })), 1)) : m("", !0),
298
- s("p", ho, c(e(t)("login.mfaSub")), 1),
299
- l(e(ie), {
300
- onKeyup: W(x, ["enter"])
301
- }, {
302
- default: r(() => [
303
- l(e(N), {
304
- label: e(t)("login.smsCode"),
305
- path: "code"
306
- }, {
307
- default: r(() => [
308
- l(e(A), {
309
- value: g.code,
310
- "onUpdate:value": n[0] || (n[0] = (a) => g.code = a),
311
- placeholder: e(t)("login.smsCodePlaceholder"),
312
- size: "large",
313
- maxlength: 6
314
- }, {
315
- prefix: r(() => [
316
- l(e(_), { icon: "ph:chat-circle-text" })
317
- ]),
318
- _: 1
319
- }, 8, ["value", "placeholder"])
320
- ]),
321
- _: 1
322
- }, 8, ["label"]),
323
- s("div", vo, [
324
- s("a", {
325
- class: "lf-link",
326
- onClick: me
327
- }, c(e(t)("login.backToPassword")), 1),
328
- s("a", {
329
- class: Ve(["lf-link", { "lf-link-disabled": b.value > 0 }]),
330
- onClick: Re
331
- }, c(b.value > 0 ? e(t)("login.resendAfter", { s: b.value }) : e(t)("login.sendCode")), 3)
332
- ]),
333
- s("button", {
334
- class: "hero-btn",
335
- type: "button",
336
- style: le(ee.value),
337
- disabled: v.value,
338
- onClick: Y(x, ["prevent"])
339
- }, c(v.value ? e(t)("common.loading") : e(t)("login.submit")), 13, fo)
340
- ]),
341
- _: 1
342
- })
343
- ], 64)) : p.value === "totp" ? (i(), d(P, { key: 3 }, [
344
- U.showTitle ? (i(), d("h2", go, c(e(t)("login.totpTitle")), 1)) : m("", !0),
345
- s("p", mo, c(e(t)("login.totpSub")), 1),
346
- l(e(ie), {
347
- onKeyup: W(x, ["enter"])
348
- }, {
349
- default: r(() => [
350
- l(e(N), {
351
- label: e(t)("login.totpCode"),
352
- path: "code"
353
- }, {
354
- default: r(() => [
355
- l(e(A), {
356
- value: w.code,
357
- "onUpdate:value": n[1] || (n[1] = (a) => w.code = a),
358
- placeholder: e(t)("login.totpPlaceholder"),
359
- size: "large",
360
- maxlength: 6
361
- }, {
362
- prefix: r(() => [
363
- l(e(_), { icon: "ph:shield-check" })
364
- ]),
365
- _: 1
366
- }, 8, ["value", "placeholder"])
367
- ]),
368
- _: 1
369
- }, 8, ["label"]),
370
- s("div", yo, [
371
- s("a", {
372
- class: "lf-link",
373
- onClick: me
374
- }, c(e(t)("login.backToPassword")), 1),
375
- s("a", {
376
- class: "lf-link",
377
- onClick: Ue
378
- }, c(e(t)("login.useRecovery")), 1)
379
- ]),
380
- s("button", {
381
- class: "hero-btn",
382
- type: "button",
383
- style: le(ee.value),
384
- disabled: v.value,
385
- onClick: Y(x, ["prevent"])
386
- }, c(v.value ? e(t)("common.loading") : e(t)("login.submit")), 13, wo)
387
- ]),
388
- _: 1
389
- })
390
- ], 64)) : (i(), d(P, { key: 4 }, [
391
- U.showTitle ? (i(), d("h2", bo, c(e(t)("login.title")), 1)) : m("", !0),
392
- l(e(ie), {
393
- model: p.value === "account" ? h : y,
394
- onKeyup: W(x, ["enter"])
395
- }, {
396
- default: r(() => [
397
- p.value === "account" ? (i(), d(P, { key: 0 }, [
398
- l(e(N), {
399
- label: e(t)("login.account"),
400
- path: "account"
308
+ }, 8, ["title"])) : w("", !0),
309
+ n(je, {
310
+ name: "lf-swap",
311
+ mode: "out-in"
312
+ }, {
313
+ default: l(() => [
314
+ (s(), u("div", {
315
+ key: d.value,
316
+ class: "lf-body"
317
+ }, [
318
+ d.value === "mfa" ? (s(), u(q, { key: 0 }, [
319
+ x.showTitle || x.showGreeting ? (s(), u("h2", pt, r(e(o)("login.mfaTitle", { phone: m.phoneMask })), 1)) : w("", !0),
320
+ p("p", ht, r(e(o)("login.mfaSub")), 1),
321
+ n(e(se), {
322
+ "show-feedback": !1,
323
+ onKeyup: J(T, ["enter"])
401
324
  }, {
402
- default: r(() => [
403
- l(e(A), {
404
- value: h.account,
405
- "onUpdate:value": n[2] || (n[2] = (a) => h.account = a),
406
- placeholder: e(t)("login.accountPlaceholder"),
407
- size: "large"
325
+ default: l(() => [
326
+ n(e(M), {
327
+ label: e(o)("login.smsCode"),
328
+ path: "code"
329
+ }, {
330
+ default: l(() => [
331
+ n(e(B), {
332
+ value: m.code,
333
+ "onUpdate:value": a[0] || (a[0] = (i) => m.code = i),
334
+ placeholder: e(o)("login.smsCodePlaceholder"),
335
+ size: "large",
336
+ maxlength: 6
337
+ }, {
338
+ prefix: l(() => [
339
+ n(e(I), { icon: "ph:chat-circle-text" })
340
+ ]),
341
+ _: 1
342
+ }, 8, ["value", "placeholder"])
343
+ ]),
344
+ _: 1
345
+ }, 8, ["label"]),
346
+ p("div", ft, [
347
+ n(e(S), {
348
+ text: "",
349
+ type: "primary",
350
+ onClick: me
351
+ }, {
352
+ default: l(() => [
353
+ v(r(e(o)("login.backToPassword")), 1)
354
+ ]),
355
+ _: 1
356
+ }),
357
+ n(e(S), {
358
+ text: "",
359
+ type: y.value > 0 ? "default" : "primary",
360
+ disabled: y.value > 0,
361
+ onClick: He
362
+ }, {
363
+ default: l(() => [
364
+ v(r(y.value > 0 ? e(o)("login.resendAfter", { s: y.value }) : e(o)("login.sendCode")), 1)
365
+ ]),
366
+ _: 1
367
+ }, 8, ["type", "disabled"])
368
+ ]),
369
+ n(e(S), {
370
+ class: "hero-btn cta",
371
+ type: "primary",
372
+ size: "large",
373
+ block: "",
374
+ "attr-type": "button",
375
+ loading: g.value,
376
+ onClick: T
408
377
  }, {
409
- prefix: r(() => [
410
- l(e(_), { icon: "ph:user" })
378
+ default: l(() => [
379
+ v(r(g.value ? e(o)("common.loading") : e(o)("login.submit")), 1)
411
380
  ]),
412
381
  _: 1
413
- }, 8, ["value", "placeholder"])
382
+ }, 8, ["loading"])
414
383
  ]),
415
384
  _: 1
416
- }, 8, ["label"]),
417
- l(e(N), {
418
- label: e(t)("login.password"),
419
- path: "password"
385
+ })
386
+ ], 64)) : d.value === "totp" ? (s(), u(q, { key: 1 }, [
387
+ x.showTitle || x.showGreeting ? (s(), u("h2", gt, r(e(o)("login.totpTitle")), 1)) : w("", !0),
388
+ p("p", vt, r(e(o)("login.totpSub")), 1),
389
+ n(e(se), {
390
+ "show-feedback": !1,
391
+ onKeyup: J(T, ["enter"])
420
392
  }, {
421
- default: r(() => [
422
- l(e(A), {
423
- value: h.password,
424
- "onUpdate:value": n[3] || (n[3] = (a) => h.password = a),
425
- type: "password",
426
- "show-password-on": "click",
427
- placeholder: e(t)("login.passwordPlaceholder"),
428
- size: "large"
393
+ default: l(() => [
394
+ n(e(M), {
395
+ label: e(o)("login.totpCode"),
396
+ path: "code"
429
397
  }, {
430
- prefix: r(() => [
431
- l(e(_), { icon: "ph:lock" })
398
+ default: l(() => [
399
+ n(e(B), {
400
+ value: b.code,
401
+ "onUpdate:value": a[1] || (a[1] = (i) => b.code = i),
402
+ placeholder: e(o)("login.totpPlaceholder"),
403
+ size: "large",
404
+ maxlength: 6
405
+ }, {
406
+ prefix: l(() => [
407
+ n(e(I), { icon: "ph:shield-check" })
408
+ ]),
409
+ _: 1
410
+ }, 8, ["value", "placeholder"])
432
411
  ]),
433
412
  _: 1
434
- }, 8, ["value", "placeholder"])
435
- ]),
436
- _: 1
437
- }, 8, ["label"])
438
- ], 64)) : (i(), M(e(N), {
439
- key: 1,
440
- label: e(t)("login.phone"),
441
- path: "phone"
442
- }, {
443
- default: r(() => [
444
- l(e(A), {
445
- value: y.phone,
446
- "onUpdate:value": n[4] || (n[4] = (a) => y.phone = a),
447
- placeholder: e(t)("login.phonePlaceholder"),
448
- size: "large",
449
- maxlength: 20
450
- }, {
451
- prefix: r(() => [
452
- l(e(_), { icon: "ph:device-mobile" })
413
+ }, 8, ["label"]),
414
+ p("div", mt, [
415
+ n(e(S), {
416
+ text: "",
417
+ type: "primary",
418
+ onClick: me
419
+ }, {
420
+ default: l(() => [
421
+ v(r(e(o)("login.backToPassword")), 1)
422
+ ]),
423
+ _: 1
424
+ }),
425
+ n(e(S), {
426
+ text: "",
427
+ type: "primary",
428
+ onClick: Ee
429
+ }, {
430
+ default: l(() => [
431
+ v(r(e(o)("login.useRecovery")), 1)
432
+ ]),
433
+ _: 1
434
+ })
453
435
  ]),
454
- _: 1
455
- }, 8, ["value", "placeholder"])
456
- ]),
457
- _: 1
458
- }, 8, ["label"])),
459
- I.value ? (i(), M(e(N), {
460
- key: 2,
461
- label: e(t)("login.captcha"),
462
- path: "captcha"
463
- }, {
464
- default: r(() => [
465
- s("div", ko, [
466
- l(e(A), {
467
- value: L.value,
468
- "onUpdate:value": n[5] || (n[5] = (a) => L.value = a),
469
- placeholder: Ie.value,
436
+ n(e(S), {
437
+ class: "hero-btn cta",
438
+ type: "primary",
470
439
  size: "large",
471
- onKeyup: W(x, ["enter"])
440
+ block: "",
441
+ "attr-type": "button",
442
+ loading: g.value,
443
+ onClick: T
472
444
  }, {
473
- prefix: r(() => [
474
- l(e(_), { icon: "ph:shield-check" })
445
+ default: l(() => [
446
+ v(r(g.value ? e(o)("common.loading") : e(o)("login.submit")), 1)
475
447
  ]),
476
448
  _: 1
477
- }, 8, ["value", "placeholder"]),
478
- s("button", {
479
- type: "button",
480
- class: "lf-captcha-img",
481
- title: e(t)("login.captchaPlaceholder"),
482
- onClick: Z,
483
- innerHTML: he.value
484
- }, null, 8, Co)
485
- ])
486
- ]),
487
- _: 1
488
- }, 8, ["label"])) : m("", !0),
489
- p.value === "sms" ? (i(), M(e(N), {
490
- key: 3,
491
- label: e(t)("login.smsCode"),
492
- path: "code"
493
- }, {
494
- default: r(() => [
495
- s("div", _o, [
496
- l(e(A), {
497
- value: y.code,
498
- "onUpdate:value": n[6] || (n[6] = (a) => y.code = a),
499
- placeholder: e(t)("login.smsCodePlaceholder"),
449
+ }, 8, ["loading"])
450
+ ]),
451
+ _: 1
452
+ })
453
+ ], 64)) : (s(), u(q, { key: 2 }, [
454
+ x.showTitle ? (s(), u("h2", yt, r(e(o)("login.title")), 1)) : x.showGreeting ? (s(), u("div", wt, [
455
+ p("h1", null, r(e(o)("login.welcome")), 1),
456
+ p("p", null, r(e(o)("login.welcomeSub")), 1)
457
+ ])) : w("", !0),
458
+ n(e(se), {
459
+ model: d.value === "account" ? f : k,
460
+ "show-feedback": !1,
461
+ onKeyup: J(T, ["enter"])
462
+ }, {
463
+ default: l(() => [
464
+ d.value === "account" ? (s(), u(q, { key: 0 }, [
465
+ n(e(M), {
466
+ label: e(o)("login.account"),
467
+ path: "account"
468
+ }, {
469
+ default: l(() => [
470
+ n(e(B), {
471
+ value: f.account,
472
+ "onUpdate:value": a[2] || (a[2] = (i) => f.account = i),
473
+ placeholder: e(o)("login.accountPlaceholder"),
474
+ size: "large"
475
+ }, {
476
+ prefix: l(() => [
477
+ n(e(I), { icon: "ph:user" })
478
+ ]),
479
+ _: 1
480
+ }, 8, ["value", "placeholder"])
481
+ ]),
482
+ _: 1
483
+ }, 8, ["label"]),
484
+ n(e(M), {
485
+ label: e(o)("login.password"),
486
+ path: "password"
487
+ }, {
488
+ default: l(() => [
489
+ n(e(B), {
490
+ value: f.password,
491
+ "onUpdate:value": a[3] || (a[3] = (i) => f.password = i),
492
+ type: "password",
493
+ "show-password-on": "click",
494
+ placeholder: e(o)("login.passwordPlaceholder"),
495
+ size: "large"
496
+ }, {
497
+ prefix: l(() => [
498
+ n(e(I), { icon: "ph:lock" })
499
+ ]),
500
+ _: 1
501
+ }, 8, ["value", "placeholder"])
502
+ ]),
503
+ _: 1
504
+ }, 8, ["label"])
505
+ ], 64)) : (s(), A(e(M), {
506
+ key: 1,
507
+ label: e(o)("login.phone"),
508
+ path: "phone"
509
+ }, {
510
+ default: l(() => [
511
+ n(e(B), {
512
+ value: k.phone,
513
+ "onUpdate:value": a[4] || (a[4] = (i) => k.phone = i),
514
+ placeholder: e(o)("login.phonePlaceholder"),
515
+ size: "large",
516
+ maxlength: 20
517
+ }, {
518
+ prefix: l(() => [
519
+ n(e(I), { icon: "ph:device-mobile" })
520
+ ]),
521
+ _: 1
522
+ }, 8, ["value", "placeholder"])
523
+ ]),
524
+ _: 1
525
+ }, 8, ["label"])),
526
+ P.value ? (s(), A(e(M), {
527
+ key: 2,
528
+ label: e(o)("login.captcha"),
529
+ path: "captcha"
530
+ }, {
531
+ default: l(() => [
532
+ p("div", kt, [
533
+ n(e(B), {
534
+ value: N.value,
535
+ "onUpdate:value": a[5] || (a[5] = (i) => N.value = i),
536
+ placeholder: Pe.value,
537
+ size: "large",
538
+ onKeyup: J(T, ["enter"])
539
+ }, {
540
+ prefix: l(() => [
541
+ n(e(I), { icon: "ph:shield-check" })
542
+ ]),
543
+ _: 1
544
+ }, 8, ["value", "placeholder"]),
545
+ p("button", {
546
+ type: "button",
547
+ class: we(["lf-captcha-img", { empty: !te.value }]),
548
+ title: e(o)("login.captchaPlaceholder"),
549
+ "aria-label": e(o)("login.captchaPlaceholder"),
550
+ onClick: oe,
551
+ innerHTML: te.value
552
+ }, null, 10, bt)
553
+ ])
554
+ ]),
555
+ _: 1
556
+ }, 8, ["label"])) : w("", !0),
557
+ d.value === "sms" ? (s(), A(e(M), {
558
+ key: 3,
559
+ label: e(o)("login.smsCode"),
560
+ path: "code"
561
+ }, {
562
+ default: l(() => [
563
+ p("div", Ct, [
564
+ n(e(B), {
565
+ value: k.code,
566
+ "onUpdate:value": a[6] || (a[6] = (i) => k.code = i),
567
+ placeholder: e(o)("login.smsCodePlaceholder"),
568
+ size: "large",
569
+ maxlength: 6
570
+ }, {
571
+ prefix: l(() => [
572
+ n(e(I), { icon: "ph:chat-circle-text" })
573
+ ]),
574
+ _: 1
575
+ }, 8, ["value", "placeholder"]),
576
+ n(e(S), {
577
+ class: "lf-send-btn",
578
+ secondary: "",
579
+ size: "large",
580
+ "attr-type": "button",
581
+ disabled: y.value > 0,
582
+ onClick: Oe
583
+ }, {
584
+ default: l(() => [
585
+ v(r(y.value > 0 ? e(o)("login.resendAfter", { s: y.value }) : e(o)("login.sendCode")), 1)
586
+ ]),
587
+ _: 1
588
+ }, 8, ["disabled"])
589
+ ])
590
+ ]),
591
+ _: 1
592
+ }, 8, ["label"])) : w("", !0),
593
+ p("div", _t, [
594
+ d.value === "account" ? (s(), A(e(et), {
595
+ key: 0,
596
+ checked: f.remember,
597
+ "onUpdate:checked": a[7] || (a[7] = (i) => f.remember = i)
598
+ }, {
599
+ default: l(() => [
600
+ v(r(e(o)("login.remember")), 1)
601
+ ]),
602
+ _: 1
603
+ }, 8, ["checked"])) : (s(), u("span", St)),
604
+ e(C).smsLoginEnabled ? (s(), A(e(S), {
605
+ key: 2,
606
+ text: "",
607
+ type: "primary",
608
+ onClick: a[8] || (a[8] = (i) => d.value = d.value === "account" ? "sms" : "account")
609
+ }, {
610
+ default: l(() => [
611
+ v(r(d.value === "account" ? e(o)("login.smsLogin") : e(o)("login.accountLogin")), 1)
612
+ ]),
613
+ _: 1
614
+ })) : w("", !0)
615
+ ]),
616
+ n(e(S), {
617
+ class: "hero-btn cta",
618
+ type: "primary",
500
619
  size: "large",
501
- maxlength: 6
620
+ block: "",
621
+ "attr-type": "button",
622
+ loading: g.value,
623
+ onClick: T
502
624
  }, {
503
- prefix: r(() => [
504
- l(e(_), { icon: "ph:chat-circle-text" })
625
+ default: l(() => [
626
+ v(r(g.value ? e(o)("common.loading") : e(o)("login.submit")), 1)
505
627
  ]),
506
628
  _: 1
507
- }, 8, ["value", "placeholder"]),
508
- s("button", {
509
- type: "button",
510
- class: "lf-send-btn",
511
- disabled: b.value > 0,
512
- onClick: Ee
513
- }, c(b.value > 0 ? e(t)("login.resendAfter", { s: b.value }) : e(t)("login.sendCode")), 9, So)
514
- ])
515
- ]),
516
- _: 1
517
- }, 8, ["label"])) : m("", !0),
518
- s("div", Io, [
519
- p.value === "account" ? (i(), M(e($e), {
520
- key: 0,
521
- checked: h.remember,
522
- "onUpdate:checked": n[7] || (n[7] = (a) => h.remember = a)
523
- }, {
524
- default: r(() => [
525
- G(c(e(t)("login.remember")), 1)
629
+ }, 8, ["loading"])
526
630
  ]),
527
631
  _: 1
528
- }, 8, ["checked"])) : (i(), d("span", Lo)),
529
- e(C).smsLoginEnabled ? (i(), d("a", {
530
- key: 2,
531
- class: "lf-link",
532
- onClick: n[8] || (n[8] = (a) => p.value = p.value === "account" ? "sms" : "account")
533
- }, c(p.value === "account" ? e(t)("login.smsLogin") : e(t)("login.accountLogin")), 1)) : m("", !0)
534
- ]),
535
- s("button", {
536
- class: "hero-btn",
537
- type: "button",
538
- style: le(ee.value),
539
- disabled: v.value,
540
- onClick: Y(x, ["prevent"])
541
- }, c(v.value ? e(t)("common.loading") : e(t)("login.submit")), 13, xo)
542
- ]),
543
- _: 1
544
- }, 8, ["model"]),
545
- ge.value.length ? (i(), d(P, { key: 1 }, [
546
- s("div", Po, [
547
- s("span", null, c(e(t)("login.otherMethods")), 1)
548
- ]),
549
- s("div", No, [
550
- (i(!0), d(P, null, Oe(oe.value.visible, (a) => (i(), d("a", {
551
- key: a.code,
552
- class: "lf-sso-btn",
553
- href: te(a.code),
554
- title: a.displayName,
555
- "aria-label": a.displayName
556
- }, [
557
- l(be, {
558
- code: a.code,
559
- icon: a.icon,
560
- size: 32
561
- }, null, 8, ["code", "icon"])
562
- ], 8, Ao))), 128)),
563
- oe.value.overflow.length ? (i(), M(e(Je), {
564
- key: 0,
565
- trigger: "click",
566
- options: Le.value,
567
- onSelect: Pe
568
- }, {
569
- default: r(() => [
570
- s("a", {
571
- class: "lf-sso-btn lf-sso-more",
572
- href: "javascript:void(0)",
573
- role: "button",
574
- title: e(t)("login.moreMethods"),
575
- "aria-label": e(t)("login.moreMethods"),
576
- onClick: n[9] || (n[9] = Y(() => {
577
- }, ["prevent"]))
578
- }, [
579
- l(e(_), {
580
- icon: "ph:dots-three-bold",
581
- width: 18
582
- })
583
- ], 8, qo)
584
- ]),
585
- _: 1
586
- }, 8, ["options"])) : m("", !0)
587
- ])
588
- ], 64)) : m("", !0)
589
- ], 64)),
590
- U.showFooter ? (i(), d("footer", To, [
591
- s("span", null, [
592
- G(" © " + c(e(_e)) + " ", 1),
593
- e(C).copyrightUrl ? (i(), d("a", {
632
+ }, 8, ["model"]),
633
+ ve.value.length ? (s(), u(q, { key: 2 }, [
634
+ p("div", xt, [
635
+ p("span", null, r(e(o)("login.otherMethods")), 1)
636
+ ]),
637
+ p("div", It, [
638
+ (s(!0), u(q, null, We(ae.value.visible, (i) => (s(), u("a", {
639
+ key: i.code,
640
+ class: "lf-sso-btn",
641
+ href: ne(i.code),
642
+ title: i.displayName,
643
+ "aria-label": i.displayName
644
+ }, [
645
+ n(Ce, {
646
+ code: i.code,
647
+ icon: i.icon,
648
+ size: 28
649
+ }, null, 8, ["code", "icon"])
650
+ ], 8, Lt))), 128)),
651
+ ae.value.overflow.length ? (s(), A(e(tt), {
652
+ key: 0,
653
+ trigger: "click",
654
+ options: Ne.value,
655
+ onSelect: Ae
656
+ }, {
657
+ default: l(() => [
658
+ p("a", {
659
+ class: "lf-sso-btn lf-sso-more",
660
+ href: "javascript:void(0)",
661
+ role: "button",
662
+ title: e(o)("login.moreMethods"),
663
+ "aria-label": e(o)("login.moreMethods"),
664
+ onClick: a[9] || (a[9] = ye(() => {
665
+ }, ["prevent"]))
666
+ }, [
667
+ n(e(I), {
668
+ icon: "ph:dots-three",
669
+ width: 18
670
+ })
671
+ ], 8, Pt)
672
+ ]),
673
+ _: 1
674
+ }, 8, ["options"])) : w("", !0)
675
+ ])
676
+ ], 64)) : w("", !0)
677
+ ], 64))
678
+ ]))
679
+ ]),
680
+ _: 1
681
+ }),
682
+ x.showFooter ? (s(), u("footer", Nt, [
683
+ p("span", null, [
684
+ v(" © " + r(e(Ie)) + " ", 1),
685
+ e(C).copyrightUrl ? (s(), u("a", {
594
686
  key: 0,
595
687
  href: e(C).copyrightUrl,
596
688
  target: "_blank",
597
689
  rel: "noopener"
598
- }, c(e(C).copyright || e(C).title), 9, Mo)) : (i(), d(P, { key: 1 }, [
599
- G(c(e(C).copyright || e(C).title), 1)
690
+ }, r(e(C).copyright || e(C).title), 9, Tt)) : (s(), u(q, { key: 1 }, [
691
+ v(r(e(C).copyright || e(C).title), 1)
600
692
  ], 64))
601
693
  ]),
602
- e(de) ? (i(), d("span", Uo, "v" + c(e(de)), 1)) : m("", !0)
603
- ])) : m("", !0),
604
- l(e(ye), {
605
- show: z.value,
606
- "onUpdate:show": n[10] || (n[10] = (a) => z.value = a),
694
+ e(pe) ? (s(), u("span", At, "v" + r(e(pe)), 1)) : w("", !0)
695
+ ])) : w("", !0),
696
+ n(e(ke), {
697
+ show: E.value,
698
+ "onUpdate:show": a[10] || (a[10] = (i) => E.value = i),
607
699
  preset: "dialog",
608
700
  type: "warning",
609
- title: e(t)("login.totpBindTitle"),
610
- content: e(t)("login.totpBindSub"),
611
- "positive-text": e(t)("login.setupAuthenticator"),
612
- "negative-text": e(t)("common.cancel"),
613
- onPositiveClick: Me,
614
- onNegativeClick: Te
701
+ title: e(o)("login.totpBindTitle"),
702
+ content: e(o)("login.totpBindSub"),
703
+ "positive-text": e(o)("login.setupAuthenticator"),
704
+ "negative-text": e(o)("common.cancel"),
705
+ onPositiveClick: Re,
706
+ onNegativeClick: ze
615
707
  }, null, 8, ["show", "title", "content", "positive-text", "negative-text"]),
616
- l(e(ye), {
617
- show: B.value,
618
- "onUpdate:show": n[11] || (n[11] = (a) => B.value = a),
708
+ n(e(ke), {
709
+ show: R.value,
710
+ "onUpdate:show": a[11] || (a[11] = (i) => R.value = i),
619
711
  preset: "dialog",
620
712
  type: "info",
621
- title: e(t)("oauth.pendingLinkConfirmTitle"),
622
- content: e(t)("oauth.pendingLinkConfirmContent", {
623
- name: K.value,
624
- identity: Ne.value,
625
- account: ((O = e(re).userInfo) == null ? void 0 : O.account) ?? ""
713
+ title: e(o)("oauth.pendingLinkConfirmTitle"),
714
+ content: e(o)("oauth.pendingLinkConfirmContent", {
715
+ name: V.value,
716
+ identity: Me.value,
717
+ account: ((W = e(de).userInfo) == null ? void 0 : W.account) ?? ""
626
718
  }),
627
- "positive-text": e(t)("oauth.pendingLinkConfirmOk"),
628
- "negative-text": e(t)("oauth.pendingLinkConfirmSkip"),
629
- loading: E.value,
719
+ "positive-text": e(o)("oauth.pendingLinkConfirmOk"),
720
+ "negative-text": e(o)("oauth.pendingLinkConfirmSkip"),
721
+ loading: D.value,
630
722
  closable: !1,
631
723
  "mask-closable": !1,
632
- onPositiveClick: Ae,
633
- onNegativeClick: qe
724
+ onPositiveClick: Be,
725
+ onNegativeClick: Ue
634
726
  }, null, 8, ["show", "title", "content", "positive-text", "negative-text", "loading"])
635
- ]);
727
+ ], 34);
636
728
  };
637
729
  }
638
730
  });
639
731
  export {
640
- Xo as default
732
+ Wt as default
641
733
  };
642
734
  //# sourceMappingURL=LoginForm2.vue.js.map