smart-admin-web 10.5.0

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 (718) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +78 -0
  3. package/dist/App.vue.d.ts +3 -0
  4. package/dist/App.vue.js +54 -0
  5. package/dist/App.vue.js.map +1 -0
  6. package/dist/App2.vue.js +5 -0
  7. package/dist/App2.vue.js.map +1 -0
  8. package/dist/_virtual/_plugin-vue_export-helper.js +10 -0
  9. package/dist/_virtual/_plugin-vue_export-helper.js.map +1 -0
  10. package/dist/api/client.d.ts +29 -0
  11. package/dist/api/client.js +139 -0
  12. package/dist/api/client.js.map +1 -0
  13. package/dist/api/index.d.ts +672 -0
  14. package/dist/api/index.js +638 -0
  15. package/dist/api/index.js.map +1 -0
  16. package/dist/api/reauthGate.d.ts +16 -0
  17. package/dist/api/reauthGate.js +21 -0
  18. package/dist/api/reauthGate.js.map +1 -0
  19. package/dist/api/schema.d.ts +10230 -0
  20. package/dist/assets/icons/ph-subset.json.js +16 -0
  21. package/dist/assets/icons/ph-subset.json.js.map +1 -0
  22. package/dist/assets/oauth/dingtalk.svg.js +5 -0
  23. package/dist/assets/oauth/dingtalk.svg.js.map +1 -0
  24. package/dist/assets/oauth/gitee.svg.js +5 -0
  25. package/dist/assets/oauth/gitee.svg.js.map +1 -0
  26. package/dist/assets/oauth/github.svg.js +5 -0
  27. package/dist/assets/oauth/github.svg.js.map +1 -0
  28. package/dist/assets/oauth/qq.svg.js +5 -0
  29. package/dist/assets/oauth/qq.svg.js.map +1 -0
  30. package/dist/assets/oauth/wechat.svg.js +5 -0
  31. package/dist/assets/oauth/wechat.svg.js.map +1 -0
  32. package/dist/assets/oauth/wecom.svg.js +5 -0
  33. package/dist/assets/oauth/wecom.svg.js.map +1 -0
  34. package/dist/assets/svg/star.svg.js +6 -0
  35. package/dist/assets/svg/star.svg.js.map +1 -0
  36. package/dist/components/ApiSelect/index.vue.d.ts +22 -0
  37. package/dist/components/ApiSelect/index.vue.js +50 -0
  38. package/dist/components/ApiSelect/index.vue.js.map +1 -0
  39. package/dist/components/ApiSelect/index2.vue.js +5 -0
  40. package/dist/components/ApiSelect/index2.vue.js.map +1 -0
  41. package/dist/components/AppIcon.vue.d.ts +7 -0
  42. package/dist/components/AppIcon.vue.js +33 -0
  43. package/dist/components/AppIcon.vue.js.map +1 -0
  44. package/dist/components/AppIcon2.vue.js +5 -0
  45. package/dist/components/AppIcon2.vue.js.map +1 -0
  46. package/dist/components/Chart/BarChart.vue.d.ts +13 -0
  47. package/dist/components/Chart/BarChart.vue.js +27 -0
  48. package/dist/components/Chart/BarChart.vue.js.map +1 -0
  49. package/dist/components/Chart/BarChart2.vue.js +5 -0
  50. package/dist/components/Chart/BarChart2.vue.js.map +1 -0
  51. package/dist/components/Chart/LineChart.vue.d.ts +15 -0
  52. package/dist/components/Chart/LineChart.vue.js +33 -0
  53. package/dist/components/Chart/LineChart.vue.js.map +1 -0
  54. package/dist/components/Chart/LineChart2.vue.js +5 -0
  55. package/dist/components/Chart/LineChart2.vue.js.map +1 -0
  56. package/dist/components/Chart/PieChart.vue.d.ts +14 -0
  57. package/dist/components/Chart/PieChart.vue.js +31 -0
  58. package/dist/components/Chart/PieChart.vue.js.map +1 -0
  59. package/dist/components/Chart/PieChart2.vue.js +5 -0
  60. package/dist/components/Chart/PieChart2.vue.js.map +1 -0
  61. package/dist/components/Chart/echarts.d.ts +57 -0
  62. package/dist/components/Chart/echarts.js +47 -0
  63. package/dist/components/Chart/echarts.js.map +1 -0
  64. package/dist/components/Chart/index.vue.d.ts +12 -0
  65. package/dist/components/Chart/index.vue.js +8 -0
  66. package/dist/components/Chart/index.vue.js.map +1 -0
  67. package/dist/components/Chart/index2.vue.js +27 -0
  68. package/dist/components/Chart/index2.vue.js.map +1 -0
  69. package/dist/components/CodeBlock/index.vue.d.ts +17 -0
  70. package/dist/components/CodeBlock/index.vue.js +8 -0
  71. package/dist/components/CodeBlock/index.vue.js.map +1 -0
  72. package/dist/components/CodeBlock/index2.vue.js +48 -0
  73. package/dist/components/CodeBlock/index2.vue.js.map +1 -0
  74. package/dist/components/CronEditor/index.vue.d.ts +15 -0
  75. package/dist/components/CronEditor/index.vue.js +8 -0
  76. package/dist/components/CronEditor/index.vue.js.map +1 -0
  77. package/dist/components/CronEditor/index2.vue.js +528 -0
  78. package/dist/components/CronEditor/index2.vue.js.map +1 -0
  79. package/dist/components/DetailPage/index.vue.d.ts +26 -0
  80. package/dist/components/DetailPage/index.vue.js +8 -0
  81. package/dist/components/DetailPage/index.vue.js.map +1 -0
  82. package/dist/components/DetailPage/index2.vue.js +51 -0
  83. package/dist/components/DetailPage/index2.vue.js.map +1 -0
  84. package/dist/components/DictCheckbox/index.vue.d.ts +6 -0
  85. package/dist/components/DictCheckbox/index.vue.js +43 -0
  86. package/dist/components/DictCheckbox/index.vue.js.map +1 -0
  87. package/dist/components/DictCheckbox/index2.vue.js +5 -0
  88. package/dist/components/DictCheckbox/index2.vue.js.map +1 -0
  89. package/dist/components/DictRadio/index.vue.d.ts +6 -0
  90. package/dist/components/DictRadio/index.vue.js +38 -0
  91. package/dist/components/DictRadio/index.vue.js.map +1 -0
  92. package/dist/components/DictRadio/index2.vue.js +5 -0
  93. package/dist/components/DictRadio/index2.vue.js.map +1 -0
  94. package/dist/components/DictSelect/index.vue.d.ts +6 -0
  95. package/dist/components/DictSelect/index.vue.js +37 -0
  96. package/dist/components/DictSelect/index.vue.js.map +1 -0
  97. package/dist/components/DictSelect/index2.vue.js +5 -0
  98. package/dist/components/DictSelect/index2.vue.js.map +1 -0
  99. package/dist/components/DictTag/index.vue.d.ts +10 -0
  100. package/dist/components/DictTag/index.vue.js +48 -0
  101. package/dist/components/DictTag/index.vue.js.map +1 -0
  102. package/dist/components/DictTag/index2.vue.js +5 -0
  103. package/dist/components/DictTag/index2.vue.js.map +1 -0
  104. package/dist/components/ErrorBoundary/index.vue.d.ts +13 -0
  105. package/dist/components/ErrorBoundary/index.vue.js +8 -0
  106. package/dist/components/ErrorBoundary/index.vue.js.map +1 -0
  107. package/dist/components/ErrorBoundary/index2.vue.js +61 -0
  108. package/dist/components/ErrorBoundary/index2.vue.js.map +1 -0
  109. package/dist/components/ExportColumnsModal/index.vue.d.ts +19 -0
  110. package/dist/components/ExportColumnsModal/index.vue.js +8 -0
  111. package/dist/components/ExportColumnsModal/index.vue.js.map +1 -0
  112. package/dist/components/ExportColumnsModal/index2.vue.js +121 -0
  113. package/dist/components/ExportColumnsModal/index2.vue.js.map +1 -0
  114. package/dist/components/FileUpload/index.vue.d.ts +24 -0
  115. package/dist/components/FileUpload/index.vue.js +42 -0
  116. package/dist/components/FileUpload/index.vue.js.map +1 -0
  117. package/dist/components/FileUpload/index2.vue.js +5 -0
  118. package/dist/components/FileUpload/index2.vue.js.map +1 -0
  119. package/dist/components/FormContainer/index.vue.d.ts +51 -0
  120. package/dist/components/FormContainer/index.vue.js +160 -0
  121. package/dist/components/FormContainer/index.vue.js.map +1 -0
  122. package/dist/components/FormContainer/index3.vue.js +6 -0
  123. package/dist/components/FormContainer/index3.vue.js.map +1 -0
  124. package/dist/components/IconPicker/index.vue.d.ts +18 -0
  125. package/dist/components/IconPicker/index.vue.js +43 -0
  126. package/dist/components/IconPicker/index.vue.js.map +1 -0
  127. package/dist/components/IconPicker/index2.vue.js +5 -0
  128. package/dist/components/IconPicker/index2.vue.js.map +1 -0
  129. package/dist/components/ImportWizard/index.vue.d.ts +39 -0
  130. package/dist/components/ImportWizard/index.vue.js +8 -0
  131. package/dist/components/ImportWizard/index.vue.js.map +1 -0
  132. package/dist/components/ImportWizard/index2.vue.js +634 -0
  133. package/dist/components/ImportWizard/index2.vue.js.map +1 -0
  134. package/dist/components/JsonEditor/index.vue.d.ts +12 -0
  135. package/dist/components/JsonEditor/index.vue.js +87 -0
  136. package/dist/components/JsonEditor/index.vue.js.map +1 -0
  137. package/dist/components/JsonEditor/index2.vue.js +5 -0
  138. package/dist/components/JsonEditor/index2.vue.js.map +1 -0
  139. package/dist/components/MarkdownEditor/MarkdownView.vue.d.ts +6 -0
  140. package/dist/components/MarkdownEditor/MarkdownView.vue.js +33 -0
  141. package/dist/components/MarkdownEditor/MarkdownView.vue.js.map +1 -0
  142. package/dist/components/MarkdownEditor/MarkdownView2.vue.js +5 -0
  143. package/dist/components/MarkdownEditor/MarkdownView2.vue.js.map +1 -0
  144. package/dist/components/MarkdownEditor/index.vue.d.ts +10 -0
  145. package/dist/components/MarkdownEditor/index.vue.js +35 -0
  146. package/dist/components/MarkdownEditor/index.vue.js.map +1 -0
  147. package/dist/components/MarkdownEditor/index2.vue.js +5 -0
  148. package/dist/components/MarkdownEditor/index2.vue.js.map +1 -0
  149. package/dist/components/MenuSearch.vue.d.ts +10 -0
  150. package/dist/components/MenuSearch.vue.js +8 -0
  151. package/dist/components/MenuSearch.vue.js.map +1 -0
  152. package/dist/components/MenuSearch2.vue.js +121 -0
  153. package/dist/components/MenuSearch2.vue.js.map +1 -0
  154. package/dist/components/OrgTreeSelect/index.vue.d.ts +6 -0
  155. package/dist/components/OrgTreeSelect/index.vue.js +42 -0
  156. package/dist/components/OrgTreeSelect/index.vue.js.map +1 -0
  157. package/dist/components/OrgTreeSelect/index2.vue.js +5 -0
  158. package/dist/components/OrgTreeSelect/index2.vue.js.map +1 -0
  159. package/dist/components/PasswordStrength/index.vue.d.ts +6 -0
  160. package/dist/components/PasswordStrength/index.vue.js +8 -0
  161. package/dist/components/PasswordStrength/index.vue.js.map +1 -0
  162. package/dist/components/PasswordStrength/index2.vue.js +91 -0
  163. package/dist/components/PasswordStrength/index2.vue.js.map +1 -0
  164. package/dist/components/ReauthModal.vue.d.ts +3 -0
  165. package/dist/components/ReauthModal.vue.js +8 -0
  166. package/dist/components/ReauthModal.vue.js.map +1 -0
  167. package/dist/components/ReauthModal2.vue.js +139 -0
  168. package/dist/components/ReauthModal2.vue.js.map +1 -0
  169. package/dist/components/RoleSelect/index.vue.d.ts +8 -0
  170. package/dist/components/RoleSelect/index.vue.js +26 -0
  171. package/dist/components/RoleSelect/index.vue.js.map +1 -0
  172. package/dist/components/RoleSelect/index2.vue.js +5 -0
  173. package/dist/components/RoleSelect/index2.vue.js.map +1 -0
  174. package/dist/components/SelectTable/index.vue.d.ts +76 -0
  175. package/dist/components/SelectTable/index.vue.js +8 -0
  176. package/dist/components/SelectTable/index.vue.js.map +1 -0
  177. package/dist/components/SelectTable/index2.vue.js +256 -0
  178. package/dist/components/SelectTable/index2.vue.js.map +1 -0
  179. package/dist/components/SmartLogo.vue.d.ts +8 -0
  180. package/dist/components/SmartLogo.vue.js +8 -0
  181. package/dist/components/SmartLogo.vue.js.map +1 -0
  182. package/dist/components/SmartLogo2.vue.js +74 -0
  183. package/dist/components/SmartLogo2.vue.js.map +1 -0
  184. package/dist/components/StatusSwitch/index.vue.d.ts +21 -0
  185. package/dist/components/StatusSwitch/index.vue.js +45 -0
  186. package/dist/components/StatusSwitch/index.vue.js.map +1 -0
  187. package/dist/components/StatusSwitch/index2.vue.js +5 -0
  188. package/dist/components/StatusSwitch/index2.vue.js.map +1 -0
  189. package/dist/components/TableZoomButton/index.vue.d.ts +13 -0
  190. package/dist/components/TableZoomButton/index.vue.js +42 -0
  191. package/dist/components/TableZoomButton/index.vue.js.map +1 -0
  192. package/dist/components/TableZoomButton/index2.vue.js +5 -0
  193. package/dist/components/TableZoomButton/index2.vue.js.map +1 -0
  194. package/dist/components/UserPicker/index.vue.d.ts +13 -0
  195. package/dist/components/UserPicker/index.vue.js +8 -0
  196. package/dist/components/UserPicker/index.vue.js.map +1 -0
  197. package/dist/components/UserPicker/index2.vue.js +214 -0
  198. package/dist/components/UserPicker/index2.vue.js.map +1 -0
  199. package/dist/components/UserSelect/index.vue.d.ts +9 -0
  200. package/dist/components/UserSelect/index.vue.js +32 -0
  201. package/dist/components/UserSelect/index.vue.js.map +1 -0
  202. package/dist/components/UserSelect/index2.vue.js +5 -0
  203. package/dist/components/UserSelect/index2.vue.js.map +1 -0
  204. package/dist/components/oauth/BrandIcon.vue.d.ts +12 -0
  205. package/dist/components/oauth/BrandIcon.vue.js +8 -0
  206. package/dist/components/oauth/BrandIcon.vue.js.map +1 -0
  207. package/dist/components/oauth/BrandIcon2.vue.js +95 -0
  208. package/dist/components/oauth/BrandIcon2.vue.js.map +1 -0
  209. package/dist/composables/authMenuRoute.d.ts +32 -0
  210. package/dist/composables/authMenuRoute.js +37 -0
  211. package/dist/composables/authMenuRoute.js.map +1 -0
  212. package/dist/composables/clearClientCache.d.ts +10 -0
  213. package/dist/composables/clearClientCache.js +17 -0
  214. package/dist/composables/clearClientCache.js.map +1 -0
  215. package/dist/composables/useAuthMenu.d.ts +3 -0
  216. package/dist/composables/useAuthMenu.js +61 -0
  217. package/dist/composables/useAuthMenu.js.map +1 -0
  218. package/dist/composables/useBatchDelete.d.ts +18 -0
  219. package/dist/composables/useBatchDelete.js +21 -0
  220. package/dist/composables/useBatchDelete.js.map +1 -0
  221. package/dist/composables/useCompactScreen.d.ts +12 -0
  222. package/dist/composables/useCompactScreen.js +17 -0
  223. package/dist/composables/useCompactScreen.js.map +1 -0
  224. package/dist/composables/useConfirm.d.ts +18 -0
  225. package/dist/composables/useConfirm.js +61 -0
  226. package/dist/composables/useConfirm.js.map +1 -0
  227. package/dist/composables/useFullscreenToggle.d.ts +11 -0
  228. package/dist/composables/useFullscreenToggle.js +64 -0
  229. package/dist/composables/useFullscreenToggle.js.map +1 -0
  230. package/dist/composables/useHeaderTools.d.ts +31 -0
  231. package/dist/composables/useHeaderTools.js +15 -0
  232. package/dist/composables/useHeaderTools.js.map +1 -0
  233. package/dist/composables/useLayoutMenu.d.ts +17 -0
  234. package/dist/composables/useLayoutMenu.js +93 -0
  235. package/dist/composables/useLayoutMenu.js.map +1 -0
  236. package/dist/composables/useMenuBadge.d.ts +11 -0
  237. package/dist/composables/useMenuBadge.js +17 -0
  238. package/dist/composables/useMenuBadge.js.map +1 -0
  239. package/dist/composables/useMenuFlat.d.ts +8 -0
  240. package/dist/composables/useMenuFlat.js +29 -0
  241. package/dist/composables/useMenuFlat.js.map +1 -0
  242. package/dist/composables/useModule.d.ts +16 -0
  243. package/dist/composables/useModule.js +44 -0
  244. package/dist/composables/useModule.js.map +1 -0
  245. package/dist/composables/useNoticeAction.d.ts +8 -0
  246. package/dist/composables/useNoticeAction.js +79 -0
  247. package/dist/composables/useNoticeAction.js.map +1 -0
  248. package/dist/composables/usePageTitle.d.ts +1 -0
  249. package/dist/composables/usePageTitle.js +20 -0
  250. package/dist/composables/usePageTitle.js.map +1 -0
  251. package/dist/composables/useRealtime.d.ts +31 -0
  252. package/dist/composables/useRealtime.js +59 -0
  253. package/dist/composables/useRealtime.js.map +1 -0
  254. package/dist/composables/useSite.d.ts +24 -0
  255. package/dist/composables/useSite.js +27 -0
  256. package/dist/composables/useSite.js.map +1 -0
  257. package/dist/composables/useTabTitle.d.ts +1 -0
  258. package/dist/composables/useTabTitle.js +10 -0
  259. package/dist/composables/useTabTitle.js.map +1 -0
  260. package/dist/composables/useTableRowSort.d.ts +20 -0
  261. package/dist/composables/useTableRowSort.js +59 -0
  262. package/dist/composables/useTableRowSort.js.map +1 -0
  263. package/dist/composables/useTableZoom.d.ts +5 -0
  264. package/dist/composables/useTableZoom.js +30 -0
  265. package/dist/composables/useTableZoom.js.map +1 -0
  266. package/dist/composables/useTheme.d.ts +13 -0
  267. package/dist/composables/useTheme.js +30 -0
  268. package/dist/composables/useTheme.js.map +1 -0
  269. package/dist/composables/useVisualViewportHeight.d.ts +3 -0
  270. package/dist/composables/useVisualViewportHeight.js +16 -0
  271. package/dist/composables/useVisualViewportHeight.js.map +1 -0
  272. package/dist/createSmartAdmin.d.ts +56 -0
  273. package/dist/createSmartAdmin.js +76 -0
  274. package/dist/createSmartAdmin.js.map +1 -0
  275. package/dist/directives/auth.d.ts +16 -0
  276. package/dist/directives/auth.js +19 -0
  277. package/dist/directives/auth.js.map +1 -0
  278. package/dist/env.d.ts +10 -0
  279. package/dist/index.d.ts +90 -0
  280. package/dist/index.js +273 -0
  281. package/dist/index.js.map +1 -0
  282. package/dist/layouts/AppHeader.vue.d.ts +12 -0
  283. package/dist/layouts/AppHeader.vue.js +8 -0
  284. package/dist/layouts/AppHeader.vue.js.map +1 -0
  285. package/dist/layouts/AppHeader2.vue.js +352 -0
  286. package/dist/layouts/AppHeader2.vue.js.map +1 -0
  287. package/dist/layouts/LayoutModeCards.vue.d.ts +3 -0
  288. package/dist/layouts/LayoutModeCards.vue.js +8 -0
  289. package/dist/layouts/LayoutModeCards.vue.js.map +1 -0
  290. package/dist/layouts/LayoutModeCards2.vue.js +67 -0
  291. package/dist/layouts/LayoutModeCards2.vue.js.map +1 -0
  292. package/dist/layouts/NoticeBell.vue.d.ts +3 -0
  293. package/dist/layouts/NoticeBell.vue.js +8 -0
  294. package/dist/layouts/NoticeBell.vue.js.map +1 -0
  295. package/dist/layouts/NoticeBell2.vue.js +292 -0
  296. package/dist/layouts/NoticeBell2.vue.js.map +1 -0
  297. package/dist/layouts/PersonalLayout.vue.d.ts +3 -0
  298. package/dist/layouts/PersonalLayout.vue.js +8 -0
  299. package/dist/layouts/PersonalLayout.vue.js.map +1 -0
  300. package/dist/layouts/PersonalLayout2.vue.js +65 -0
  301. package/dist/layouts/PersonalLayout2.vue.js.map +1 -0
  302. package/dist/layouts/SettingRow.vue.d.ts +16 -0
  303. package/dist/layouts/SettingRow.vue.js +8 -0
  304. package/dist/layouts/SettingRow.vue.js.map +1 -0
  305. package/dist/layouts/SettingRow2.vue.js +23 -0
  306. package/dist/layouts/SettingRow2.vue.js.map +1 -0
  307. package/dist/layouts/SettingsDrawer.vue.d.ts +10 -0
  308. package/dist/layouts/SettingsDrawer.vue.js +8 -0
  309. package/dist/layouts/SettingsDrawer.vue.js.map +1 -0
  310. package/dist/layouts/SettingsDrawer2.vue.js +380 -0
  311. package/dist/layouts/SettingsDrawer2.vue.js.map +1 -0
  312. package/dist/layouts/TabsBar.vue.d.ts +3 -0
  313. package/dist/layouts/TabsBar.vue.js +8 -0
  314. package/dist/layouts/TabsBar.vue.js.map +1 -0
  315. package/dist/layouts/TabsBar2.vue.js +132 -0
  316. package/dist/layouts/TabsBar2.vue.js.map +1 -0
  317. package/dist/layouts/components/SideNav.vue.d.ts +15 -0
  318. package/dist/layouts/components/SideNav.vue.js +8 -0
  319. package/dist/layouts/components/SideNav.vue.js.map +1 -0
  320. package/dist/layouts/components/SideNav2.vue.js +49 -0
  321. package/dist/layouts/components/SideNav2.vue.js.map +1 -0
  322. package/dist/layouts/default.vue.d.ts +3 -0
  323. package/dist/layouts/default.vue.js +8 -0
  324. package/dist/layouts/default.vue.js.map +1 -0
  325. package/dist/layouts/default2.vue.js +213 -0
  326. package/dist/layouts/default2.vue.js.map +1 -0
  327. package/dist/lib/chunkReload.d.ts +9 -0
  328. package/dist/lib/chunkReload.js +24 -0
  329. package/dist/lib/chunkReload.js.map +1 -0
  330. package/dist/lib/icons.d.ts +2 -0
  331. package/dist/lib/icons.js +39 -0
  332. package/dist/lib/icons.js.map +1 -0
  333. package/dist/lib/loadingBar.d.ts +7 -0
  334. package/dist/lib/loadingBar.js +18 -0
  335. package/dist/lib/loadingBar.js.map +1 -0
  336. package/dist/lib/markdown.d.ts +8 -0
  337. package/dist/lib/markdown.js +16 -0
  338. package/dist/lib/markdown.js.map +1 -0
  339. package/dist/lib/markdownLinks.d.ts +26 -0
  340. package/dist/lib/markdownLinks.js +21 -0
  341. package/dist/lib/markdownLinks.js.map +1 -0
  342. package/dist/lib/noticeActions.d.ts +13 -0
  343. package/dist/lib/noticeActions.js +16 -0
  344. package/dist/lib/noticeActions.js.map +1 -0
  345. package/dist/lib/runtime.d.ts +21 -0
  346. package/dist/lib/runtime.js +13 -0
  347. package/dist/lib/runtime.js.map +1 -0
  348. package/dist/locales/en-US.d.ts +1358 -0
  349. package/dist/locales/en-US.js +1362 -0
  350. package/dist/locales/en-US.js.map +1 -0
  351. package/dist/locales/index.d.ts +30 -0
  352. package/dist/locales/index.js +46 -0
  353. package/dist/locales/index.js.map +1 -0
  354. package/dist/locales/menuTitle.d.ts +8 -0
  355. package/dist/locales/menuTitle.js +19 -0
  356. package/dist/locales/menuTitle.js.map +1 -0
  357. package/dist/locales/zh-CN.d.ts +1358 -0
  358. package/dist/locales/zh-CN.js +1368 -0
  359. package/dist/locales/zh-CN.js.map +1 -0
  360. package/dist/router/bootFailure.d.ts +8 -0
  361. package/dist/router/bootFailure.js +11 -0
  362. package/dist/router/bootFailure.js.map +1 -0
  363. package/dist/router/detailRoutes.d.ts +2 -0
  364. package/dist/router/detailRoutes.js +19 -0
  365. package/dist/router/detailRoutes.js.map +1 -0
  366. package/dist/router/index.d.ts +3 -0
  367. package/dist/router/index.js +58 -0
  368. package/dist/router/index.js.map +1 -0
  369. package/dist/router/namedPage.d.ts +13 -0
  370. package/dist/router/namedPage.js +12 -0
  371. package/dist/router/namedPage.js.map +1 -0
  372. package/dist/router/routes.d.ts +2 -0
  373. package/dist/router/routes.js +121 -0
  374. package/dist/router/routes.js.map +1 -0
  375. package/dist/router/viewRegistry.d.ts +18 -0
  376. package/dist/router/viewRegistry.js +26 -0
  377. package/dist/router/viewRegistry.js.map +1 -0
  378. package/dist/stores/app.d.ts +83 -0
  379. package/dist/stores/app.js +82 -0
  380. package/dist/stores/app.js.map +1 -0
  381. package/dist/stores/auth.d.ts +106 -0
  382. package/dist/stores/auth.js +59 -0
  383. package/dist/stores/auth.js.map +1 -0
  384. package/dist/stores/dict.d.ts +11 -0
  385. package/dist/stores/dict.js +36 -0
  386. package/dist/stores/dict.js.map +1 -0
  387. package/dist/stores/tabs.d.ts +53 -0
  388. package/dist/stores/tabs.js +88 -0
  389. package/dist/stores/tabs.js.map +1 -0
  390. package/dist/stores/user.d.ts +64 -0
  391. package/dist/stores/user.js +64 -0
  392. package/dist/stores/user.js.map +1 -0
  393. package/dist/style.css +1 -0
  394. package/dist/theme/accents.d.ts +2 -0
  395. package/dist/theme/accents.js +5 -0
  396. package/dist/theme/accents.js.map +1 -0
  397. package/dist/theme/mix.d.ts +26 -0
  398. package/dist/theme/mix.js +43 -0
  399. package/dist/theme/mix.js.map +1 -0
  400. package/dist/theme/naive-theme.d.ts +9 -0
  401. package/dist/theme/naive-theme.js +89 -0
  402. package/dist/theme/naive-theme.js.map +1 -0
  403. package/dist/types/api.d.ts +714 -0
  404. package/dist/types/api.js +15 -0
  405. package/dist/types/api.js.map +1 -0
  406. package/dist/types/menu.d.ts +67 -0
  407. package/dist/types/menu.js +26 -0
  408. package/dist/types/menu.js.map +1 -0
  409. package/dist/utils/chunkUpload.d.ts +6 -0
  410. package/dist/utils/chunkUpload.js +35 -0
  411. package/dist/utils/chunkUpload.js.map +1 -0
  412. package/dist/utils/download.d.ts +8 -0
  413. package/dist/utils/download.js +8 -0
  414. package/dist/utils/download.js.map +1 -0
  415. package/dist/utils/error.d.ts +14 -0
  416. package/dist/utils/error.js +50 -0
  417. package/dist/utils/error.js.map +1 -0
  418. package/dist/utils/format.d.ts +20 -0
  419. package/dist/utils/format.js +19 -0
  420. package/dist/utils/format.js.map +1 -0
  421. package/dist/utils/importDup.d.ts +17 -0
  422. package/dist/utils/importDup.js +18 -0
  423. package/dist/utils/importDup.js.map +1 -0
  424. package/dist/utils/oauthBrand.d.ts +100 -0
  425. package/dist/utils/oauthBrand.js +97 -0
  426. package/dist/utils/oauthBrand.js.map +1 -0
  427. package/dist/utils/tree.d.ts +33 -0
  428. package/dist/utils/tree.js +47 -0
  429. package/dist/utils/tree.js.map +1 -0
  430. package/dist/utils/ua.d.ts +7 -0
  431. package/dist/utils/ua.js +33 -0
  432. package/dist/utils/ua.js.map +1 -0
  433. package/dist/utils/url.d.ts +16 -0
  434. package/dist/utils/url.js +13 -0
  435. package/dist/utils/url.js.map +1 -0
  436. package/dist/views/dashboard/biz.vue.d.ts +3 -0
  437. package/dist/views/dashboard/biz.vue.js +8 -0
  438. package/dist/views/dashboard/biz.vue.js.map +1 -0
  439. package/dist/views/dashboard/biz2.vue.js +136 -0
  440. package/dist/views/dashboard/biz2.vue.js.map +1 -0
  441. package/dist/views/dashboard/workbench.vue.d.ts +3 -0
  442. package/dist/views/dashboard/workbench.vue.js +8 -0
  443. package/dist/views/dashboard/workbench.vue.js.map +1 -0
  444. package/dist/views/dashboard/workbench2.vue.js +195 -0
  445. package/dist/views/dashboard/workbench2.vue.js.map +1 -0
  446. package/dist/views/embed/iframe.vue.d.ts +3 -0
  447. package/dist/views/embed/iframe.vue.js +8 -0
  448. package/dist/views/embed/iframe.vue.js.map +1 -0
  449. package/dist/views/embed/iframe2.vue.js +21 -0
  450. package/dist/views/embed/iframe2.vue.js.map +1 -0
  451. package/dist/views/error/404.vue.d.ts +3 -0
  452. package/dist/views/error/404.vue.js +8 -0
  453. package/dist/views/error/404.vue.js.map +1 -0
  454. package/dist/views/error/4042.vue.js +31 -0
  455. package/dist/views/error/4042.vue.js.map +1 -0
  456. package/dist/views/error/BootError.vue.d.ts +3 -0
  457. package/dist/views/error/BootError.vue.js +8 -0
  458. package/dist/views/error/BootError.vue.js.map +1 -0
  459. package/dist/views/error/BootError2.vue.js +57 -0
  460. package/dist/views/error/BootError2.vue.js.map +1 -0
  461. package/dist/views/error/MissingRoute.vue.d.ts +3 -0
  462. package/dist/views/error/MissingRoute.vue.js +8 -0
  463. package/dist/views/error/MissingRoute.vue.js.map +1 -0
  464. package/dist/views/error/MissingRoute2.vue.js +23 -0
  465. package/dist/views/error/MissingRoute2.vue.js.map +1 -0
  466. package/dist/views/login/LoginForm.vue.d.ts +12 -0
  467. package/dist/views/login/LoginForm.vue.js +8 -0
  468. package/dist/views/login/LoginForm.vue.js.map +1 -0
  469. package/dist/views/login/LoginForm2.vue.js +642 -0
  470. package/dist/views/login/LoginForm2.vue.js.map +1 -0
  471. package/dist/views/login/index.vue.d.ts +3 -0
  472. package/dist/views/login/index.vue.js +8 -0
  473. package/dist/views/login/index.vue.js.map +1 -0
  474. package/dist/views/login/index2.vue.js +79 -0
  475. package/dist/views/login/index2.vue.js.map +1 -0
  476. package/dist/views/login/skins/AuroraGlass.vue.d.ts +3 -0
  477. package/dist/views/login/skins/AuroraGlass.vue.js +8 -0
  478. package/dist/views/login/skins/AuroraGlass.vue.js.map +1 -0
  479. package/dist/views/login/skins/AuroraGlass2.vue.js +80 -0
  480. package/dist/views/login/skins/AuroraGlass2.vue.js.map +1 -0
  481. package/dist/views/login/skins/SplitPanel.vue.d.ts +3 -0
  482. package/dist/views/login/skins/SplitPanel.vue.js +8 -0
  483. package/dist/views/login/skins/SplitPanel.vue.js.map +1 -0
  484. package/dist/views/login/skins/SplitPanel2.vue.js +85 -0
  485. package/dist/views/login/skins/SplitPanel2.vue.js.map +1 -0
  486. package/dist/views/login/skins/Spotlight.vue.d.ts +3 -0
  487. package/dist/views/login/skins/Spotlight.vue.js +8 -0
  488. package/dist/views/login/skins/Spotlight.vue.js.map +1 -0
  489. package/dist/views/login/skins/Spotlight2.vue.js +36 -0
  490. package/dist/views/login/skins/Spotlight2.vue.js.map +1 -0
  491. package/dist/views/login/skins.d.ts +8 -0
  492. package/dist/views/login/skins.js +13 -0
  493. package/dist/views/login/skins.js.map +1 -0
  494. package/dist/views/mfa/bindComplete.d.ts +7 -0
  495. package/dist/views/mfa/bindComplete.js +8 -0
  496. package/dist/views/mfa/bindComplete.js.map +1 -0
  497. package/dist/views/mfa/index.vue.d.ts +3 -0
  498. package/dist/views/mfa/index.vue.js +8 -0
  499. package/dist/views/mfa/index.vue.js.map +1 -0
  500. package/dist/views/mfa/index2.vue.js +425 -0
  501. package/dist/views/mfa/index2.vue.js.map +1 -0
  502. package/dist/views/module/index.vue.d.ts +3 -0
  503. package/dist/views/module/index.vue.js +8 -0
  504. package/dist/views/module/index.vue.js.map +1 -0
  505. package/dist/views/module/index2.vue.js +142 -0
  506. package/dist/views/module/index2.vue.js.map +1 -0
  507. package/dist/views/oauth/callback.vue.d.ts +3 -0
  508. package/dist/views/oauth/callback.vue.js +8 -0
  509. package/dist/views/oauth/callback.vue.js.map +1 -0
  510. package/dist/views/oauth/callback2.vue.js +86 -0
  511. package/dist/views/oauth/callback2.vue.js.map +1 -0
  512. package/dist/views/personal/bindings.vue.d.ts +3 -0
  513. package/dist/views/personal/bindings.vue.js +8 -0
  514. package/dist/views/personal/bindings.vue.js.map +1 -0
  515. package/dist/views/personal/bindings2.vue.js +220 -0
  516. package/dist/views/personal/bindings2.vue.js.map +1 -0
  517. package/dist/views/personal/notice.vue.d.ts +3 -0
  518. package/dist/views/personal/notice.vue.js +5 -0
  519. package/dist/views/personal/notice.vue.js.map +1 -0
  520. package/dist/views/personal/notice2.vue.js +163 -0
  521. package/dist/views/personal/notice2.vue.js.map +1 -0
  522. package/dist/views/personal/password.vue.d.ts +3 -0
  523. package/dist/views/personal/password.vue.js +5 -0
  524. package/dist/views/personal/password.vue.js.map +1 -0
  525. package/dist/views/personal/password2.vue.js +147 -0
  526. package/dist/views/personal/password2.vue.js.map +1 -0
  527. package/dist/views/personal/profile.vue.d.ts +3 -0
  528. package/dist/views/personal/profile.vue.js +8 -0
  529. package/dist/views/personal/profile.vue.js.map +1 -0
  530. package/dist/views/personal/profile2.vue.js +264 -0
  531. package/dist/views/personal/profile2.vue.js.map +1 -0
  532. package/dist/views/personal/security.vue.d.ts +3 -0
  533. package/dist/views/personal/security.vue.js +8 -0
  534. package/dist/views/personal/security.vue.js.map +1 -0
  535. package/dist/views/personal/security2.vue.js +82 -0
  536. package/dist/views/personal/security2.vue.js.map +1 -0
  537. package/dist/views/personal/sessions.vue.d.ts +3 -0
  538. package/dist/views/personal/sessions.vue.js +8 -0
  539. package/dist/views/personal/sessions.vue.js.map +1 -0
  540. package/dist/views/personal/sessions2.vue.js +101 -0
  541. package/dist/views/personal/sessions2.vue.js.map +1 -0
  542. package/dist/views/system/cache/index.vue.d.ts +3 -0
  543. package/dist/views/system/cache/index.vue.js +8 -0
  544. package/dist/views/system/cache/index.vue.js.map +1 -0
  545. package/dist/views/system/cache/index2.vue.js +113 -0
  546. package/dist/views/system/cache/index2.vue.js.map +1 -0
  547. package/dist/views/system/config/components/ConfigFormModal.vue.d.ts +16 -0
  548. package/dist/views/system/config/components/ConfigFormModal.vue.js +5 -0
  549. package/dist/views/system/config/components/ConfigFormModal.vue.js.map +1 -0
  550. package/dist/views/system/config/components/ConfigFormModal2.vue.js +177 -0
  551. package/dist/views/system/config/components/ConfigFormModal2.vue.js.map +1 -0
  552. package/dist/views/system/config/components/ExternalAuthConfig.vue.d.ts +3 -0
  553. package/dist/views/system/config/components/ExternalAuthConfig.vue.js +8 -0
  554. package/dist/views/system/config/components/ExternalAuthConfig.vue.js.map +1 -0
  555. package/dist/views/system/config/components/ExternalAuthConfig2.vue.js +218 -0
  556. package/dist/views/system/config/components/ExternalAuthConfig2.vue.js.map +1 -0
  557. package/dist/views/system/config/components/GroupExtraConfig.vue.d.ts +9 -0
  558. package/dist/views/system/config/components/GroupExtraConfig.vue.js +8 -0
  559. package/dist/views/system/config/components/GroupExtraConfig.vue.js.map +1 -0
  560. package/dist/views/system/config/components/GroupExtraConfig2.vue.js +108 -0
  561. package/dist/views/system/config/components/GroupExtraConfig2.vue.js.map +1 -0
  562. package/dist/views/system/config/components/HighSensConfig.vue.d.ts +3 -0
  563. package/dist/views/system/config/components/HighSensConfig.vue.js +5 -0
  564. package/dist/views/system/config/components/HighSensConfig.vue.js.map +1 -0
  565. package/dist/views/system/config/components/HighSensConfig2.vue.js +134 -0
  566. package/dist/views/system/config/components/HighSensConfig2.vue.js.map +1 -0
  567. package/dist/views/system/config/components/JobConfig.vue.d.ts +3 -0
  568. package/dist/views/system/config/components/JobConfig.vue.js +5 -0
  569. package/dist/views/system/config/components/JobConfig.vue.js.map +1 -0
  570. package/dist/views/system/config/components/JobConfig2.vue.js +116 -0
  571. package/dist/views/system/config/components/JobConfig2.vue.js.map +1 -0
  572. package/dist/views/system/config/components/OtherConfig.vue.d.ts +3 -0
  573. package/dist/views/system/config/components/OtherConfig.vue.js +5 -0
  574. package/dist/views/system/config/components/OtherConfig.vue.js.map +1 -0
  575. package/dist/views/system/config/components/OtherConfig2.vue.js +121 -0
  576. package/dist/views/system/config/components/OtherConfig2.vue.js.map +1 -0
  577. package/dist/views/system/config/components/SecurityConfig.vue.d.ts +3 -0
  578. package/dist/views/system/config/components/SecurityConfig.vue.js +8 -0
  579. package/dist/views/system/config/components/SecurityConfig.vue.js.map +1 -0
  580. package/dist/views/system/config/components/SecurityConfig2.vue.js +456 -0
  581. package/dist/views/system/config/components/SecurityConfig2.vue.js.map +1 -0
  582. package/dist/views/system/config/components/SysBaseConfig.vue.d.ts +3 -0
  583. package/dist/views/system/config/components/SysBaseConfig.vue.js +5 -0
  584. package/dist/views/system/config/components/SysBaseConfig.vue.js.map +1 -0
  585. package/dist/views/system/config/components/SysBaseConfig2.vue.js +107 -0
  586. package/dist/views/system/config/components/SysBaseConfig2.vue.js.map +1 -0
  587. package/dist/views/system/config/components/UploadConfig.vue.d.ts +3 -0
  588. package/dist/views/system/config/components/UploadConfig.vue.js +5 -0
  589. package/dist/views/system/config/components/UploadConfig.vue.js.map +1 -0
  590. package/dist/views/system/config/components/UploadConfig2.vue.js +135 -0
  591. package/dist/views/system/config/components/UploadConfig2.vue.js.map +1 -0
  592. package/dist/views/system/config/groups.d.ts +9 -0
  593. package/dist/views/system/config/groups.js +18 -0
  594. package/dist/views/system/config/groups.js.map +1 -0
  595. package/dist/views/system/config/index.vue.d.ts +3 -0
  596. package/dist/views/system/config/index.vue.js +5 -0
  597. package/dist/views/system/config/index.vue.js.map +1 -0
  598. package/dist/views/system/config/index2.vue.js +127 -0
  599. package/dist/views/system/config/index2.vue.js.map +1 -0
  600. package/dist/views/system/dict/index.vue.d.ts +3 -0
  601. package/dist/views/system/dict/index.vue.js +8 -0
  602. package/dist/views/system/dict/index.vue.js.map +1 -0
  603. package/dist/views/system/dict/index2.vue.js +560 -0
  604. package/dist/views/system/dict/index2.vue.js.map +1 -0
  605. package/dist/views/system/file/index.vue.d.ts +3 -0
  606. package/dist/views/system/file/index.vue.js +5 -0
  607. package/dist/views/system/file/index.vue.js.map +1 -0
  608. package/dist/views/system/file/index2.vue.js +186 -0
  609. package/dist/views/system/file/index2.vue.js.map +1 -0
  610. package/dist/views/system/job/index.vue.d.ts +3 -0
  611. package/dist/views/system/job/index.vue.js +8 -0
  612. package/dist/views/system/job/index.vue.js.map +1 -0
  613. package/dist/views/system/job/index2.vue.js +1167 -0
  614. package/dist/views/system/job/index2.vue.js.map +1 -0
  615. package/dist/views/system/job-log/index.vue.d.ts +3 -0
  616. package/dist/views/system/job-log/index.vue.js +8 -0
  617. package/dist/views/system/job-log/index.vue.js.map +1 -0
  618. package/dist/views/system/job-log/index2.vue.js +411 -0
  619. package/dist/views/system/job-log/index2.vue.js.map +1 -0
  620. package/dist/views/system/job-monitor/index.vue.d.ts +3 -0
  621. package/dist/views/system/job-monitor/index.vue.js +8 -0
  622. package/dist/views/system/job-monitor/index.vue.js.map +1 -0
  623. package/dist/views/system/job-monitor/index2.vue.js +253 -0
  624. package/dist/views/system/job-monitor/index2.vue.js.map +1 -0
  625. package/dist/views/system/log/exception/index.vue.d.ts +3 -0
  626. package/dist/views/system/log/exception/index.vue.js +8 -0
  627. package/dist/views/system/log/exception/index.vue.js.map +1 -0
  628. package/dist/views/system/log/exception/index2.vue.js +216 -0
  629. package/dist/views/system/log/exception/index2.vue.js.map +1 -0
  630. package/dist/views/system/log/login/index.vue.d.ts +3 -0
  631. package/dist/views/system/log/login/index.vue.js +5 -0
  632. package/dist/views/system/log/login/index.vue.js.map +1 -0
  633. package/dist/views/system/log/login/index2.vue.js +113 -0
  634. package/dist/views/system/log/login/index2.vue.js.map +1 -0
  635. package/dist/views/system/log/op/index.vue.d.ts +3 -0
  636. package/dist/views/system/log/op/index.vue.js +8 -0
  637. package/dist/views/system/log/op/index.vue.js.map +1 -0
  638. package/dist/views/system/log/op/index2.vue.js +332 -0
  639. package/dist/views/system/log/op/index2.vue.js.map +1 -0
  640. package/dist/views/system/menu/components/ButtonManager.vue.d.ts +21 -0
  641. package/dist/views/system/menu/components/ButtonManager.vue.js +8 -0
  642. package/dist/views/system/menu/components/ButtonManager.vue.js.map +1 -0
  643. package/dist/views/system/menu/components/ButtonManager2.vue.js +498 -0
  644. package/dist/views/system/menu/components/ButtonManager2.vue.js.map +1 -0
  645. package/dist/views/system/menu/components/MenuFormModal.vue.d.ts +22 -0
  646. package/dist/views/system/menu/components/MenuFormModal.vue.js +8 -0
  647. package/dist/views/system/menu/components/MenuFormModal.vue.js.map +1 -0
  648. package/dist/views/system/menu/components/MenuFormModal2.vue.js +259 -0
  649. package/dist/views/system/menu/components/MenuFormModal2.vue.js.map +1 -0
  650. package/dist/views/system/menu/index.vue.d.ts +3 -0
  651. package/dist/views/system/menu/index.vue.js +8 -0
  652. package/dist/views/system/menu/index.vue.js.map +1 -0
  653. package/dist/views/system/menu/index2.vue.js +391 -0
  654. package/dist/views/system/menu/index2.vue.js.map +1 -0
  655. package/dist/views/system/module/index.vue.d.ts +3 -0
  656. package/dist/views/system/module/index.vue.js +8 -0
  657. package/dist/views/system/module/index.vue.js.map +1 -0
  658. package/dist/views/system/module/index2.vue.js +344 -0
  659. package/dist/views/system/module/index2.vue.js.map +1 -0
  660. package/dist/views/system/monitor/index.vue.d.ts +3 -0
  661. package/dist/views/system/monitor/index.vue.js +8 -0
  662. package/dist/views/system/monitor/index.vue.js.map +1 -0
  663. package/dist/views/system/monitor/index2.vue.js +184 -0
  664. package/dist/views/system/monitor/index2.vue.js.map +1 -0
  665. package/dist/views/system/notice/index.vue.d.ts +3 -0
  666. package/dist/views/system/notice/index.vue.js +8 -0
  667. package/dist/views/system/notice/index.vue.js.map +1 -0
  668. package/dist/views/system/notice/index2.vue.js +401 -0
  669. package/dist/views/system/notice/index2.vue.js.map +1 -0
  670. package/dist/views/system/org/index.vue.d.ts +3 -0
  671. package/dist/views/system/org/index.vue.js +8 -0
  672. package/dist/views/system/org/index.vue.js.map +1 -0
  673. package/dist/views/system/org/index2.vue.js +397 -0
  674. package/dist/views/system/org/index2.vue.js.map +1 -0
  675. package/dist/views/system/position/index.vue.d.ts +3 -0
  676. package/dist/views/system/position/index.vue.js +5 -0
  677. package/dist/views/system/position/index.vue.js.map +1 -0
  678. package/dist/views/system/position/index2.vue.js +211 -0
  679. package/dist/views/system/position/index2.vue.js.map +1 -0
  680. package/dist/views/system/recycle/index.vue.d.ts +3 -0
  681. package/dist/views/system/recycle/index.vue.js +8 -0
  682. package/dist/views/system/recycle/index.vue.js.map +1 -0
  683. package/dist/views/system/recycle/index2.vue.js +121 -0
  684. package/dist/views/system/recycle/index2.vue.js.map +1 -0
  685. package/dist/views/system/role/components/GrantMenuTable.vue.d.ts +18 -0
  686. package/dist/views/system/role/components/GrantMenuTable.vue.js +8 -0
  687. package/dist/views/system/role/components/GrantMenuTable.vue.js.map +1 -0
  688. package/dist/views/system/role/components/GrantMenuTable2.vue.js +212 -0
  689. package/dist/views/system/role/components/GrantMenuTable2.vue.js.map +1 -0
  690. package/dist/views/system/role/components/grantMenuGroups.d.ts +31 -0
  691. package/dist/views/system/role/components/grantMenuGroups.js +76 -0
  692. package/dist/views/system/role/components/grantMenuGroups.js.map +1 -0
  693. package/dist/views/system/role/index.vue.d.ts +3 -0
  694. package/dist/views/system/role/index.vue.js +5 -0
  695. package/dist/views/system/role/index.vue.js.map +1 -0
  696. package/dist/views/system/role/index2.vue.js +476 -0
  697. package/dist/views/system/role/index2.vue.js.map +1 -0
  698. package/dist/views/system/session/index.vue.d.ts +3 -0
  699. package/dist/views/system/session/index.vue.js +5 -0
  700. package/dist/views/system/session/index.vue.js.map +1 -0
  701. package/dist/views/system/session/index2.vue.js +80 -0
  702. package/dist/views/system/session/index2.vue.js.map +1 -0
  703. package/dist/views/system/user/components/ResetPasswordModal.vue.d.ts +10 -0
  704. package/dist/views/system/user/components/ResetPasswordModal.vue.js +8 -0
  705. package/dist/views/system/user/components/ResetPasswordModal.vue.js.map +1 -0
  706. package/dist/views/system/user/components/ResetPasswordModal2.vue.js +111 -0
  707. package/dist/views/system/user/components/ResetPasswordModal2.vue.js.map +1 -0
  708. package/dist/views/system/user/components/UserFormModal.vue.d.ts +30 -0
  709. package/dist/views/system/user/components/UserFormModal.vue.js +8 -0
  710. package/dist/views/system/user/components/UserFormModal.vue.js.map +1 -0
  711. package/dist/views/system/user/components/UserFormModal2.vue.js +415 -0
  712. package/dist/views/system/user/components/UserFormModal2.vue.js.map +1 -0
  713. package/dist/views/system/user/index.vue.d.ts +3 -0
  714. package/dist/views/system/user/index.vue.js +8 -0
  715. package/dist/views/system/user/index.vue.js.map +1 -0
  716. package/dist/views/system/user/index2.vue.js +427 -0
  717. package/dist/views/system/user/index2.vue.js.map +1 -0
  718. package/package.json +99 -0
@@ -0,0 +1,256 @@
1
+ import { defineComponent as _, useModel as C, ref as b, reactive as T, computed as F, watch as I, openBlock as y, createElementBlock as E, Fragment as q, createBlock as P, unref as u, withCtx as n, createVNode as i, createCommentVNode as L, normalizeStyle as ee, createElementVNode as le, withKeys as O, renderList as ae, createTextVNode as B, toDisplayString as M, mergeModels as A } from "vue";
2
+ import { useMessage as te, NInput as U, NModal as oe, NButton as x, NDataTable as ue, NSpace as ne } from "naive-ui";
3
+ import { useI18n as ie } from "vue-i18n";
4
+ import V from "../AppIcon.vue.js";
5
+ import { translateError as re } from "../../utils/error.js";
6
+ const se = { class: "select-table" }, ce = {
7
+ key: 0,
8
+ class: "select-table-search"
9
+ }, pe = /* @__PURE__ */ _({
10
+ __name: "index",
11
+ props: /* @__PURE__ */ A({
12
+ title: {},
13
+ placeholder: { default: "" },
14
+ disabled: { type: Boolean, default: !1 },
15
+ columns: {},
16
+ searchFields: { default: () => [] },
17
+ keywordSearch: { type: Boolean, default: !1 },
18
+ keywordSearchPlaceholder: { default: "" },
19
+ keywordParam: { default: "keyword" },
20
+ fetcher: {},
21
+ rowKey: {},
22
+ label: {},
23
+ multiple: { type: Boolean, default: !1 },
24
+ displaySelected: { type: Boolean, default: !0 },
25
+ triggerVisible: { type: Boolean, default: !0 },
26
+ width: { default: 860 },
27
+ pageSize: { default: 10 },
28
+ paginated: { type: Boolean, default: !0 },
29
+ unpagedSize: { default: 200 }
30
+ }, {
31
+ value: { default: null },
32
+ valueModifiers: {},
33
+ selected: { default: null },
34
+ selectedModifiers: {},
35
+ values: { default: () => [] },
36
+ valuesModifiers: {},
37
+ selecteds: { default: () => [] },
38
+ selectedsModifiers: {}
39
+ }),
40
+ emits: /* @__PURE__ */ A(["confirm"], ["update:value", "update:selected", "update:values", "update:selecteds"]),
41
+ setup(t, { expose: G, emit: H }) {
42
+ const p = C(t, "value"), h = C(t, "selected"), r = C(t, "values"), K = C(t, "selecteds"), R = H, e = t, { t: w } = ie(), J = te(), d = b(!1), N = b(!1), g = b([]), f = b(null), v = T({}), k = b(""), Q = F(
43
+ () => e.multiple ? e.displaySelected ? K.value.map((a) => e.label(a)).join(", ") : "" : h.value ? e.label(h.value) : ""
44
+ ), $ = F(
45
+ () => g.value.find((a) => e.rowKey(a) === f.value) ?? null
46
+ ), W = F(() => r.value.length > 0), s = T({
47
+ page: 1,
48
+ pageSize: e.pageSize,
49
+ itemCount: 0,
50
+ showSizePicker: !0,
51
+ pageSizes: [10, 20, 50],
52
+ onChange: (a) => {
53
+ s.page = a, z();
54
+ },
55
+ onUpdatePageSize: (a) => {
56
+ s.pageSize = a, s.page = 1, z();
57
+ }
58
+ });
59
+ I(
60
+ () => e.searchFields,
61
+ (a) => {
62
+ a.forEach((o) => {
63
+ v[o.key] == null && (v[o.key] = "");
64
+ });
65
+ },
66
+ { immediate: !0 }
67
+ ), I(h, (a) => {
68
+ a && (p.value = e.rowKey(a));
69
+ });
70
+ async function z() {
71
+ N.value = !0;
72
+ try {
73
+ const a = e.keywordSearch ? k.value.trim() ? { [e.keywordParam]: k.value.trim() } : {} : Object.fromEntries(
74
+ e.searchFields.map((l) => {
75
+ var m;
76
+ return [l.key, (m = v[l.key]) == null ? void 0 : m.trim()];
77
+ }).filter((l) => !!l[1])
78
+ ), o = await e.fetcher({
79
+ page: e.paginated ? s.page ?? 1 : 1,
80
+ pageSize: e.paginated ? s.pageSize ?? e.pageSize : e.unpagedSize,
81
+ ...a
82
+ });
83
+ g.value = o.items, s.itemCount = o.total, g.value.some((l) => e.rowKey(l) === f.value) || (f.value = p.value);
84
+ } catch (a) {
85
+ J.error(re(a));
86
+ } finally {
87
+ N.value = !1;
88
+ }
89
+ }
90
+ function j() {
91
+ e.disabled || (f.value = p.value, d.value = !0, z());
92
+ }
93
+ G({ open: j });
94
+ function S() {
95
+ s.page = 1, z();
96
+ }
97
+ function X() {
98
+ if (e.keywordSearch) {
99
+ k.value = "", S();
100
+ return;
101
+ }
102
+ e.searchFields.forEach((a) => {
103
+ v[a.key] = "";
104
+ }), S();
105
+ }
106
+ function Y(a) {
107
+ r.value = a;
108
+ }
109
+ function D(a = $.value) {
110
+ if (e.multiple) {
111
+ const o = new Map(g.value.map((c) => [e.rowKey(c), c])), l = K.value.filter(
112
+ (c) => r.value.includes(e.rowKey(c)) && !o.has(e.rowKey(c))
113
+ ), m = r.value.map((c) => o.get(c)).filter(Boolean);
114
+ K.value = [...l, ...m], R("confirm"), d.value = !1;
115
+ return;
116
+ }
117
+ a && (p.value = e.rowKey(a), h.value = a, R("confirm"), d.value = !1);
118
+ }
119
+ function Z() {
120
+ e.multiple ? (r.value = [], K.value = []) : (p.value = null, h.value = null);
121
+ }
122
+ return (a, o) => (y(), E(q, null, [
123
+ t.triggerVisible ? (y(), P(u(U), {
124
+ key: 0,
125
+ value: Q.value,
126
+ placeholder: t.placeholder || t.title,
127
+ disabled: t.disabled,
128
+ readonly: "",
129
+ clearable: "",
130
+ onClick: j,
131
+ onClear: Z
132
+ }, {
133
+ suffix: n(() => [
134
+ i(V, {
135
+ icon: "ph:magnifying-glass",
136
+ size: 16
137
+ })
138
+ ]),
139
+ _: 1
140
+ }, 8, ["value", "placeholder", "disabled"])) : L("", !0),
141
+ i(u(oe), {
142
+ show: d.value,
143
+ "onUpdate:show": o[4] || (o[4] = (l) => d.value = l),
144
+ preset: "card",
145
+ title: t.title,
146
+ style: ee({ width: `${t.width}px` }),
147
+ "mask-closable": !1
148
+ }, {
149
+ footer: n(() => [
150
+ i(u(ne), { justify: "end" }, {
151
+ default: n(() => [
152
+ i(u(x), {
153
+ onClick: o[2] || (o[2] = (l) => d.value = !1)
154
+ }, {
155
+ default: n(() => [
156
+ B(M(u(w)("common.cancel")), 1)
157
+ ]),
158
+ _: 1
159
+ }),
160
+ i(u(x), {
161
+ type: "primary",
162
+ disabled: e.multiple ? !W.value : !$.value,
163
+ onClick: o[3] || (o[3] = (l) => D())
164
+ }, {
165
+ default: n(() => [
166
+ B(M(u(w)("common.confirm")), 1)
167
+ ]),
168
+ _: 1
169
+ }, 8, ["disabled"])
170
+ ]),
171
+ _: 1
172
+ })
173
+ ]),
174
+ default: n(() => [
175
+ le("div", se, [
176
+ t.keywordSearch || t.searchFields.length ? (y(), E("div", ce, [
177
+ t.keywordSearch ? (y(), P(u(U), {
178
+ key: 0,
179
+ value: k.value,
180
+ "onUpdate:value": o[0] || (o[0] = (l) => k.value = l),
181
+ class: "keyword-input",
182
+ clearable: "",
183
+ placeholder: t.keywordSearchPlaceholder || u(w)("common.search"),
184
+ onKeyup: O(S, ["enter"])
185
+ }, null, 8, ["value", "placeholder"])) : (y(!0), E(q, { key: 1 }, ae(t.searchFields, (l) => (y(), P(u(U), {
186
+ key: l.key,
187
+ value: v[l.key],
188
+ "onUpdate:value": (m) => v[l.key] = m,
189
+ clearable: "",
190
+ placeholder: l.placeholder || l.label,
191
+ onKeyup: O(S, ["enter"])
192
+ }, null, 8, ["value", "onUpdate:value", "placeholder"]))), 128)),
193
+ i(u(x), {
194
+ type: "primary",
195
+ onClick: S
196
+ }, {
197
+ icon: n(() => [
198
+ i(V, {
199
+ icon: "ph:magnifying-glass",
200
+ size: 16
201
+ })
202
+ ]),
203
+ default: n(() => [
204
+ B(" " + M(u(w)("common.search")), 1)
205
+ ]),
206
+ _: 1
207
+ }),
208
+ i(u(x), { onClick: X }, {
209
+ icon: n(() => [
210
+ i(V, {
211
+ icon: "ph:arrow-counter-clockwise",
212
+ size: 16
213
+ })
214
+ ]),
215
+ default: n(() => [
216
+ B(" " + M(u(w)("common.reset")), 1)
217
+ ]),
218
+ _: 1
219
+ })
220
+ ])) : L("", !0),
221
+ i(u(ue), {
222
+ class: "select-table-grid",
223
+ columns: t.columns,
224
+ data: g.value,
225
+ loading: N.value,
226
+ "row-key": t.rowKey,
227
+ "checked-row-keys": e.multiple ? r.value : void 0,
228
+ "onUpdate:checkedRowKeys": o[1] || (o[1] = (l) => {
229
+ e.multiple && Y(l);
230
+ }),
231
+ "row-props": (l) => ({
232
+ style: "cursor: pointer",
233
+ onClick: () => {
234
+ e.multiple || (f.value = t.rowKey(l));
235
+ },
236
+ onDblclick: () => {
237
+ e.multiple && !r.value.includes(t.rowKey(l)) && (r.value = [...r.value, t.rowKey(l)]), D(l);
238
+ }
239
+ }),
240
+ "row-class-name": (l) => t.rowKey(l) === f.value ? "select-table-row-selected" : "",
241
+ pagination: t.paginated ? s : !1,
242
+ "max-height": 430,
243
+ size: "small",
244
+ remote: ""
245
+ }, null, 8, ["columns", "data", "loading", "row-key", "checked-row-keys", "row-props", "row-class-name", "pagination"])
246
+ ])
247
+ ]),
248
+ _: 1
249
+ }, 8, ["show", "title", "style"])
250
+ ], 64));
251
+ }
252
+ });
253
+ export {
254
+ pe as default
255
+ };
256
+ //# sourceMappingURL=index2.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index2.vue.js","sources":["../../../src/components/SelectTable/index.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, reactive, ref, watch } from 'vue'\nimport {\n NButton,\n NDataTable,\n NInput,\n NModal,\n NSpace,\n useMessage,\n type DataTableColumns,\n type PaginationProps,\n} from 'naive-ui'\nimport { useI18n } from 'vue-i18n'\nimport AppIcon from '#/components/AppIcon.vue'\nimport { translateError } from '#/utils/error'\n\ntype RowKey = string | number\ntype SelectTableRow = any\ntype PageResult = { items: SelectTableRow[]; total: number }\n\ninterface SelectTableSearchField {\n key: string\n label: string\n placeholder?: string\n}\n\nconst value = defineModel<any | null>('value', { default: null })\nconst selected = defineModel<SelectTableRow | null>('selected', { default: null })\nconst values = defineModel<RowKey[]>('values', { default: () => [] })\nconst selecteds = defineModel<SelectTableRow[]>('selecteds', { default: () => [] })\nconst emit = defineEmits<{ confirm: [] }>()\n\nconst props = withDefaults(\n defineProps<{\n title: string\n placeholder?: string\n disabled?: boolean\n columns: DataTableColumns<SelectTableRow>\n searchFields?: SelectTableSearchField[]\n keywordSearch?: boolean\n keywordSearchPlaceholder?: string\n keywordParam?: string\n fetcher: (\n params: { page: number; pageSize: number } & Record<string, unknown>,\n ) => Promise<PageResult>\n rowKey: (row: SelectTableRow) => RowKey\n label: (row: SelectTableRow) => string\n multiple?: boolean\n displaySelected?: boolean\n triggerVisible?: boolean\n width?: number\n pageSize?: number\n /** false = 不分页:一次取 unpagedSize 条,表体内滚动。数据量小的档案(岗位、字典项…)这样翻找更快 */\n paginated?: boolean\n /** 不分页时单次拉取的上限,超过它的数据仍需靠查询框收窄 */\n unpagedSize?: number\n }>(),\n {\n placeholder: '',\n disabled: false,\n searchFields: () => [],\n keywordSearch: false,\n keywordSearchPlaceholder: '',\n keywordParam: 'keyword',\n width: 860,\n pageSize: 10,\n multiple: false,\n displaySelected: true,\n triggerVisible: true,\n paginated: true,\n unpagedSize: 200,\n },\n)\n\nconst { t } = useI18n()\nconst message = useMessage()\nconst show = ref(false)\nconst loading = ref(false)\nconst rows = ref<SelectTableRow[]>([])\nconst selectedKey = ref<RowKey | null>(null)\nconst query = reactive<Record<string, string>>({})\nconst keyword = ref('')\n\nconst displayText = computed(() =>\n props.multiple\n ? props.displaySelected\n ? selecteds.value.map(row => props.label(row)).join(', ')\n : ''\n : selected.value\n ? props.label(selected.value)\n : '',\n)\nconst currentRow = computed(\n () => rows.value.find(row => props.rowKey(row) === selectedKey.value) ?? null,\n)\nconst hasMultipleSelection = computed(() => values.value.length > 0)\n\nconst pagination = reactive<PaginationProps>({\n page: 1,\n pageSize: props.pageSize,\n itemCount: 0,\n showSizePicker: true,\n pageSizes: [10, 20, 50],\n onChange: page => {\n pagination.page = page\n void load()\n },\n onUpdatePageSize: pageSize => {\n pagination.pageSize = pageSize\n pagination.page = 1\n void load()\n },\n})\n\nwatch(\n () => props.searchFields,\n fields => {\n fields.forEach(field => {\n if (query[field.key] == null) query[field.key] = ''\n })\n },\n { immediate: true },\n)\n\nwatch(selected, next => {\n if (next) value.value = props.rowKey(next)\n})\n\nasync function load() {\n loading.value = true\n try {\n const filters = props.keywordSearch\n ? keyword.value.trim()\n ? { [props.keywordParam]: keyword.value.trim() }\n : {}\n : Object.fromEntries(\n props.searchFields\n .map(field => [field.key, query[field.key]?.trim()])\n .filter((entry): entry is [string, string] => Boolean(entry[1])),\n )\n const page = await props.fetcher({\n page: props.paginated ? (pagination.page ?? 1) : 1,\n pageSize: props.paginated ? (pagination.pageSize ?? props.pageSize) : props.unpagedSize,\n ...filters,\n })\n rows.value = page.items\n pagination.itemCount = page.total\n if (!rows.value.some(row => props.rowKey(row) === selectedKey.value))\n selectedKey.value = value.value\n } catch (e) {\n message.error(translateError(e))\n } finally {\n loading.value = false\n }\n}\n\nfunction open() {\n if (props.disabled) return\n selectedKey.value = value.value\n show.value = true\n void load()\n}\n\ndefineExpose({ open })\n\nfunction search() {\n pagination.page = 1\n void load()\n}\n\nfunction reset() {\n if (props.keywordSearch) {\n keyword.value = ''\n search()\n return\n }\n props.searchFields.forEach(field => {\n query[field.key] = ''\n })\n search()\n}\n\nfunction updateCheckedKeys(keys: RowKey[]) {\n values.value = keys\n}\n\nfunction confirm(row = currentRow.value) {\n if (props.multiple) {\n const currentRows = new Map(rows.value.map(item => [props.rowKey(item), item]))\n const preservedRows = selecteds.value.filter(\n item => values.value.includes(props.rowKey(item)) && !currentRows.has(props.rowKey(item)),\n )\n const pickedRows = values.value.map(key => currentRows.get(key)).filter(Boolean)\n selecteds.value = [...preservedRows, ...pickedRows]\n emit('confirm')\n show.value = false\n return\n }\n if (!row) return\n value.value = props.rowKey(row)\n selected.value = row\n emit('confirm')\n show.value = false\n}\n\nfunction clear() {\n if (props.multiple) {\n values.value = []\n selecteds.value = []\n } else {\n value.value = null\n selected.value = null\n }\n}\n</script>\n\n<template>\n <n-input\n v-if=\"triggerVisible\"\n :value=\"displayText\"\n :placeholder=\"placeholder || title\"\n :disabled=\"disabled\"\n readonly\n clearable\n @click=\"open\"\n @clear=\"clear\"\n >\n <template #suffix>\n <AppIcon icon=\"ph:magnifying-glass\" :size=\"16\" />\n </template>\n </n-input>\n\n <n-modal\n v-model:show=\"show\"\n preset=\"card\"\n :title=\"title\"\n :style=\"{ width: `${width}px` }\"\n :mask-closable=\"false\"\n >\n <div class=\"select-table\">\n <!-- 用普通 flex 容器而不是 n-space:查询框要吃掉整行剩余宽度(占位文案可能很长),\n n-space 会把每个子项包一层内容宽度的 div,撑不开。 -->\n <div v-if=\"keywordSearch || searchFields.length\" class=\"select-table-search\">\n <n-input\n v-if=\"keywordSearch\"\n v-model:value=\"keyword\"\n class=\"keyword-input\"\n clearable\n :placeholder=\"keywordSearchPlaceholder || t('common.search')\"\n @keyup.enter=\"search\"\n />\n <template v-else>\n <n-input\n v-for=\"field in searchFields\"\n :key=\"field.key\"\n v-model:value=\"query[field.key]\"\n clearable\n :placeholder=\"field.placeholder || field.label\"\n @keyup.enter=\"search\"\n />\n </template>\n <n-button type=\"primary\" @click=\"search\">\n <template #icon><AppIcon icon=\"ph:magnifying-glass\" :size=\"16\" /></template>\n {{ t('common.search') }}\n </n-button>\n <n-button @click=\"reset\">\n <template #icon><AppIcon icon=\"ph:arrow-counter-clockwise\" :size=\"16\" /></template>\n {{ t('common.reset') }}\n </n-button>\n </div>\n\n <n-data-table\n class=\"select-table-grid\"\n :columns=\"columns\"\n :data=\"rows\"\n :loading=\"loading\"\n :row-key=\"rowKey\"\n :checked-row-keys=\"props.multiple ? values : undefined\"\n @update:checked-row-keys=\"\n keys => {\n if (props.multiple) updateCheckedKeys(keys as RowKey[])\n }\n \"\n :row-props=\"\n (row: SelectTableRow) => ({\n style: 'cursor: pointer',\n onClick: () => {\n if (!props.multiple) selectedKey = rowKey(row)\n },\n onDblclick: () => {\n if (props.multiple && !values.includes(rowKey(row))) values = [...values, rowKey(row)]\n confirm(row)\n },\n })\n \"\n :row-class-name=\"\n (row: SelectTableRow) => (rowKey(row) === selectedKey ? 'select-table-row-selected' : '')\n \"\n :pagination=\"paginated ? pagination : false\"\n :max-height=\"430\"\n size=\"small\"\n remote\n />\n </div>\n\n <template #footer>\n <n-space justify=\"end\">\n <n-button @click=\"show = false\">{{ t('common.cancel') }}</n-button>\n <n-button\n type=\"primary\"\n :disabled=\"props.multiple ? !hasMultipleSelection : !currentRow\"\n @click=\"confirm()\"\n >\n {{ t('common.confirm') }}\n </n-button>\n </n-space>\n </template>\n </n-modal>\n</template>\n\n<style scoped>\n.select-table {\n height: 520px;\n min-height: 0;\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n.select-table-search {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 8px;\n}\n/* 多字段模式:每个框放得下「编号」这类字段名占位 */\n.select-table-search :deep(.n-input) {\n flex: 0 1 200px;\n}\n/* 单框模糊查询:占位文案是「请输入编号或名称」这种整句,英文更长,\n 所以让它吃掉整行剩余宽度,而不是写死一个迟早不够用的像素值。 */\n.select-table-search .keyword-input {\n flex: 1 1 320px;\n min-width: 260px;\n}\n.select-table-search :deep(.n-button) {\n flex: none;\n}\n.select-table-grid {\n flex: 1;\n min-height: 0;\n}\n:deep(.select-table-row-selected td) {\n background-color: var(--table-selected-bg);\n}\n</style>\n"],"names":["value","_useModel","__props","selected","values","selecteds","emit","__emit","props","t","useI18n","message","useMessage","show","ref","loading","rows","selectedKey","query","reactive","keyword","displayText","computed","row","currentRow","hasMultipleSelection","pagination","page","load","pageSize","watch","fields","field","next","filters","_a","entry","e","translateError","open","__expose","search","reset","updateCheckedKeys","keys","confirm","currentRows","item","preservedRows","pickedRows","key","clear","_createBlock","_unref","NInput","_createVNode","AppIcon","NModal","$event","NSpace","NButton","_createElementVNode","_hoisted_1","_openBlock","_createElementBlock","_hoisted_2","_Fragment","_renderList","_createTextVNode","NDataTable","_cache"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ type __VLS_Props = {
2
+ size?: number;
3
+ };
4
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
5
+ size: number;
6
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
7
+ declare const _default: typeof __VLS_export;
8
+ export default _default;
@@ -0,0 +1,8 @@
1
+ import o from "./SmartLogo2.vue.js";
2
+ /* empty css */
3
+ import t from "../_virtual/_plugin-vue_export-helper.js";
4
+ const p = /* @__PURE__ */ t(o, [["__scopeId", "data-v-88ac0194"]]);
5
+ export {
6
+ p as default
7
+ };
8
+ //# sourceMappingURL=SmartLogo.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SmartLogo.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,74 @@
1
+ import { defineComponent as y, computed as o, openBlock as s, createElementBlock as n, unref as f, normalizeStyle as h, createBlock as k, resolveDynamicComponent as x, createStaticVNode as u, createElementVNode as e, createCommentVNode as _ } from "vue";
2
+ import { useAppStore as F } from "../stores/app.js";
3
+ import { useSite as E } from "../composables/useSite.js";
4
+ import { runtime as w } from "../lib/runtime.js";
5
+ const D = ["src", "alt"], z = ["width", "height"], L = ["fill"], S = {
6
+ key: 0,
7
+ width: "120",
8
+ height: "120",
9
+ rx: "27",
10
+ fill: "url(#sa-logo-glow)"
11
+ }, C = ["stroke"], G = ["stroke"], M = ["fill"], b = ["fill"], j = /* @__PURE__ */ y({
12
+ __name: "SmartLogo",
13
+ props: {
14
+ size: { default: 28 }
15
+ },
16
+ setup(g) {
17
+ const a = g, l = F(), { site: c } = E(), t = w.brand.logo, d = o(() => c.logo || (typeof t == "string" ? t : "")), p = o(
18
+ () => !c.logo && t && typeof t != "string" ? t : null
19
+ ), m = o(() => l.isDark ? "#0F1222" : "url(#sa-logo-tile)"), i = o(() => l.isDark ? "url(#sa-logo-mark)" : "#FFFFFF"), v = o(() => l.isDark ? "#22D3EE" : "#A5F3FC");
20
+ return (B, r) => d.value ? (s(), n("img", {
21
+ key: 0,
22
+ src: d.value,
23
+ style: h({ height: `${a.size}px` }),
24
+ alt: f(c).title,
25
+ class: "site-logo"
26
+ }, null, 12, D)) : p.value ? (s(), k(x(p.value), {
27
+ key: 1,
28
+ size: a.size
29
+ }, null, 8, ["size"])) : (s(), n("svg", {
30
+ key: 2,
31
+ width: a.size,
32
+ height: a.size,
33
+ viewBox: "0 0 120 120",
34
+ role: "img",
35
+ "aria-label": "SmartAdmin"
36
+ }, [
37
+ r[1] || (r[1] = u('<defs data-v-88ac0194><linearGradient id="sa-logo-tile" gradientUnits="userSpaceOnUse" x1="0" y1="0" x2="120" y2="120" data-v-88ac0194><stop offset="0" stop-color="#7C83FF" data-v-88ac0194></stop><stop offset="1" stop-color="#4B52E6" data-v-88ac0194></stop></linearGradient><linearGradient id="sa-logo-mark" x1="0" y1="0" x2="1" y2="1" data-v-88ac0194><stop offset="0" stop-color="#646CFF" data-v-88ac0194></stop><stop offset="1" stop-color="#22D3EE" data-v-88ac0194></stop></linearGradient><radialGradient id="sa-logo-glow" cx="0.5" cy="0.45" r="0.55" data-v-88ac0194><stop offset="0" stop-color="#22D3EE" stop-opacity="0.26" data-v-88ac0194></stop><stop offset="1" stop-color="#22D3EE" stop-opacity="0" data-v-88ac0194></stop></radialGradient></defs>', 1)),
38
+ e("rect", {
39
+ width: "120",
40
+ height: "120",
41
+ rx: "27",
42
+ fill: m.value
43
+ }, null, 8, L),
44
+ f(l).isDark ? (s(), n("rect", S)) : _("", !0),
45
+ e("polygon", {
46
+ points: "60,20 94.6,40 94.6,80 60,100 25.4,80 25.4,40",
47
+ fill: "none",
48
+ stroke: i.value,
49
+ "stroke-width": "11",
50
+ "stroke-linejoin": "round"
51
+ }, null, 8, C),
52
+ e("path", {
53
+ d: "M60 60L60 39M60 60L78.2 49.5M60 60L78.2 70.5M60 60L60 81M60 60L41.8 70.5M60 60L41.8 49.5",
54
+ fill: "none",
55
+ stroke: i.value,
56
+ "stroke-width": "3.5",
57
+ "stroke-linecap": "round"
58
+ }, null, 8, G),
59
+ e("g", { fill: i.value }, [...r[0] || (r[0] = [
60
+ u('<circle cx="60" cy="39" r="5" data-v-88ac0194></circle><circle cx="78.2" cy="49.5" r="5" data-v-88ac0194></circle><circle cx="78.2" cy="70.5" r="5" data-v-88ac0194></circle><circle cx="60" cy="81" r="5" data-v-88ac0194></circle><circle cx="41.8" cy="70.5" r="5" data-v-88ac0194></circle><circle cx="41.8" cy="49.5" r="5" data-v-88ac0194></circle>', 6)
61
+ ])], 8, M),
62
+ e("circle", {
63
+ cx: "60",
64
+ cy: "60",
65
+ r: "8.5",
66
+ fill: v.value
67
+ }, null, 8, b)
68
+ ], 8, z));
69
+ }
70
+ });
71
+ export {
72
+ j as default
73
+ };
74
+ //# sourceMappingURL=SmartLogo2.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SmartLogo2.vue.js","sources":["../../src/components/SmartLogo.vue"],"sourcesContent":["<script setup lang=\"ts\">\n// 站点徽标,侧栏/顶栏/登录页/应用选择页共用,品牌只在这一处生效。取值顺序:\n// 1) 后台「站点 logo」配置(sys.site.logo)有图片地址 → <img>;\n// 2) createSmartAdmin({ brand: { logo } }) 传的组件或图片地址(sys.site.logo 为空时使用);\n// 3) 内置 SmartAdmin 矢量标(Neural Hex:装甲六边形壳 + 7 节点神经网络,中心点亮)。内联 SVG、固定品牌配色\n// (不随 accent 变——品牌身份固定 #646CFF);明暗两版切换,与模板 public/smart-logo.svg、smart-logo-dark.svg 是同一几何,改图形要三处同步。\nimport { computed } from 'vue'\nimport { useAppStore } from '#/stores/app'\nimport { useSite } from '#/composables/useSite'\nimport { runtime } from '#/lib/runtime'\n\nconst props = withDefaults(defineProps<{ size?: number }>(), { size: 28 })\nconst app = useAppStore()\nconst { site } = useSite()\n\nconst brandLogo = runtime.brand.logo\nconst imgSrc = computed(() => site.logo || (typeof brandLogo === 'string' ? brandLogo : ''))\nconst brandComponent = computed(() =>\n !site.logo && brandLogo && typeof brandLogo !== 'string' ? brandLogo : null,\n)\n\n// 浅色:靛蓝渐变底 + 白色图形 + 浅青核心;深色:近黑底(带青色微光)+ 靛蓝→青渐变图形 + 青色核心\nconst bg = computed(() => (app.isDark ? '#0F1222' : 'url(#sa-logo-tile)'))\nconst stroke = computed(() => (app.isDark ? 'url(#sa-logo-mark)' : '#FFFFFF'))\nconst core = computed(() => (app.isDark ? '#22D3EE' : '#A5F3FC'))\n</script>\n\n<template>\n <!-- 配置的 logo 可能是横版:定高、宽度随比例,容器窄时被 max-width 收住 -->\n <img\n v-if=\"imgSrc\"\n :src=\"imgSrc\"\n :style=\"{ height: `${props.size}px` }\"\n :alt=\"site.title\"\n class=\"site-logo\"\n />\n <component :is=\"brandComponent\" v-else-if=\"brandComponent\" :size=\"props.size\" />\n <svg\n v-else\n :width=\"props.size\"\n :height=\"props.size\"\n viewBox=\"0 0 120 120\"\n role=\"img\"\n aria-label=\"SmartAdmin\"\n >\n <defs>\n <linearGradient\n id=\"sa-logo-tile\"\n gradientUnits=\"userSpaceOnUse\"\n x1=\"0\"\n y1=\"0\"\n x2=\"120\"\n y2=\"120\"\n >\n <stop offset=\"0\" stop-color=\"#7C83FF\" />\n <stop offset=\"1\" stop-color=\"#4B52E6\" />\n </linearGradient>\n <linearGradient id=\"sa-logo-mark\" x1=\"0\" y1=\"0\" x2=\"1\" y2=\"1\">\n <stop offset=\"0\" stop-color=\"#646CFF\" />\n <stop offset=\"1\" stop-color=\"#22D3EE\" />\n </linearGradient>\n <radialGradient id=\"sa-logo-glow\" cx=\"0.5\" cy=\"0.45\" r=\"0.55\">\n <stop offset=\"0\" stop-color=\"#22D3EE\" stop-opacity=\"0.26\" />\n <stop offset=\"1\" stop-color=\"#22D3EE\" stop-opacity=\"0\" />\n </radialGradient>\n </defs>\n <rect width=\"120\" height=\"120\" rx=\"27\" :fill=\"bg\" />\n <rect v-if=\"app.isDark\" width=\"120\" height=\"120\" rx=\"27\" fill=\"url(#sa-logo-glow)\" />\n <polygon\n points=\"60,20 94.6,40 94.6,80 60,100 25.4,80 25.4,40\"\n fill=\"none\"\n :stroke=\"stroke\"\n stroke-width=\"11\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M60 60L60 39M60 60L78.2 49.5M60 60L78.2 70.5M60 60L60 81M60 60L41.8 70.5M60 60L41.8 49.5\"\n fill=\"none\"\n :stroke=\"stroke\"\n stroke-width=\"3.5\"\n stroke-linecap=\"round\"\n />\n <g :fill=\"stroke\">\n <circle cx=\"60\" cy=\"39\" r=\"5\" />\n <circle cx=\"78.2\" cy=\"49.5\" r=\"5\" />\n <circle cx=\"78.2\" cy=\"70.5\" r=\"5\" />\n <circle cx=\"60\" cy=\"81\" r=\"5\" />\n <circle cx=\"41.8\" cy=\"70.5\" r=\"5\" />\n <circle cx=\"41.8\" cy=\"49.5\" r=\"5\" />\n </g>\n <circle cx=\"60\" cy=\"60\" r=\"8.5\" :fill=\"core\" />\n </svg>\n</template>\n\n<style scoped>\n.site-logo {\n display: block;\n width: auto;\n max-width: 100%;\n object-fit: contain;\n}\n</style>\n"],"names":["props","__props","app","useAppStore","site","useSite","brandLogo","runtime","imgSrc","computed","brandComponent","bg","stroke","core","_createElementBlock","_normalizeStyle","_unref","_openBlock","_createBlock","_resolveDynamicComponent","_createElementVNode","_hoisted_4","_cache"],"mappings":";;;;;;;;;;;;;;;;AAWA,UAAMA,IAAQC,GACRC,IAAMC,EAAA,GACN,EAAE,MAAAC,EAAA,IAASC,EAAA,GAEXC,IAAYC,EAAQ,MAAM,MAC1BC,IAASC,EAAS,MAAML,EAAK,SAAS,OAAOE,KAAc,WAAWA,IAAY,GAAG,GACrFI,IAAiBD;AAAA,MAAS,MAC9B,CAACL,EAAK,QAAQE,KAAa,OAAOA,KAAc,WAAWA,IAAY;AAAA,IAAA,GAInEK,IAAKF,EAAS,MAAOP,EAAI,SAAS,YAAY,oBAAqB,GACnEU,IAASH,EAAS,MAAOP,EAAI,SAAS,uBAAuB,SAAU,GACvEW,IAAOJ,EAAS,MAAOP,EAAI,SAAS,YAAY,SAAU;qBAMtDM,EAAA,cADRM,EAME,OAAA;AAAA;MAJC,KAAKN,EAAA;AAAA,MACL,OAAKO,EAAA,EAAA,QAAA,GAAef,EAAM,IAAI,MAAA;AAAA,MAC9B,KAAKgB,EAAAZ,CAAA,EAAK;AAAA,MACX,OAAM;AAAA,IAAA,mBAEmCM,EAAA,SAA3CO,EAAA,GAAAC,EAAgFC,EAAhET,EAAA,KAAc,GAAA;AAAA;MAA8B,MAAMV,EAAM;AAAA,IAAA,+BACxEc,EAsDM,OAAA;AAAA;MApDH,OAAOd,EAAM;AAAA,MACb,QAAQA,EAAM;AAAA,MACf,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,cAAW;AAAA,IAAA;;MAuBXoB,EAAoD,QAAA;AAAA,QAA9C,OAAM;AAAA,QAAM,QAAO;AAAA,QAAM,IAAG;AAAA,QAAM,MAAMT,EAAA;AAAA,MAAA;MAClCK,EAAAd,CAAA,EAAI,UAAhBe,EAAA,GAAAH,EAAqF,QAArFO,CAAqF;MACrFD,EAME,WAAA;AAAA,QALA,QAAO;AAAA,QACP,MAAK;AAAA,QACJ,QAAQR,EAAA;AAAA,QACT,gBAAa;AAAA,QACb,mBAAgB;AAAA,MAAA;MAElBQ,EAME,QAAA;AAAA,QALA,GAAE;AAAA,QACF,MAAK;AAAA,QACJ,QAAQR,EAAA;AAAA,QACT,gBAAa;AAAA,QACb,kBAAe;AAAA,MAAA;MAEjBQ,EAOI,KAAA,EAPA,MAAMR,EAAA,MAAA,GAAM,CAAA,GAAAU,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA;;MAQhBF,EAA+C,UAAA;AAAA,QAAvC,IAAG;AAAA,QAAK,IAAG;AAAA,QAAK,GAAE;AAAA,QAAO,MAAMP,EAAA;AAAA,MAAA;;;;"}
@@ -0,0 +1,21 @@
1
+ type __VLS_Props = {
2
+ value: boolean;
3
+ /** 更新请求;resolve 即成功 */
4
+ request: (next: boolean) => Promise<unknown>;
5
+ /** 提供则切换前先 dialog 二次确认;函数形态按目标态出文案,返回空值(null/'')则本次跳过确认 */
6
+ confirm?: string | ((next: boolean) => string | null | undefined);
7
+ /** 无权限等场景由业务置灰(行内比移除 DOM 更合适) */
8
+ disabled?: boolean;
9
+ size?: 'small' | 'medium';
10
+ /** false = 成功不弹 toast */
11
+ successMsg?: string | false;
12
+ };
13
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
14
+ "update:value": (v: boolean) => any;
15
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
16
+ "onUpdate:value"?: ((v: boolean) => any) | undefined;
17
+ }>, {
18
+ size: "small" | "medium";
19
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
20
+ declare const _default: typeof __VLS_export;
21
+ export default _default;
@@ -0,0 +1,45 @@
1
+ import { defineComponent as f, ref as m, openBlock as d, createBlock as p, unref as v } from "vue";
2
+ import { useMessage as g, NSwitch as y } from "naive-ui";
3
+ import { useI18n as B } from "vue-i18n";
4
+ import { useConfirm as b } from "../../composables/useConfirm.js";
5
+ import { translateError as z } from "../../utils/error.js";
6
+ const C = /* @__PURE__ */ f({
7
+ __name: "index",
8
+ props: {
9
+ value: { type: Boolean },
10
+ request: {},
11
+ confirm: {},
12
+ disabled: { type: Boolean },
13
+ size: { default: "small" },
14
+ successMsg: { type: [String, Boolean] }
15
+ },
16
+ emits: ["update:value"],
17
+ setup(a, { emit: c }) {
18
+ const e = a, i = c, { t: r } = B(), { ask: l } = b(), n = g(), o = m(!1);
19
+ async function u(t) {
20
+ if (e.confirm) {
21
+ const s = typeof e.confirm == "function" ? e.confirm(t) : e.confirm;
22
+ if (s && !await l({ content: s })) return;
23
+ }
24
+ o.value = !0;
25
+ try {
26
+ await e.request(t), i("update:value", t), e.successMsg !== !1 && n.success(e.successMsg ?? r("common.success"));
27
+ } catch (s) {
28
+ n.error(z(s));
29
+ } finally {
30
+ o.value = !1;
31
+ }
32
+ }
33
+ return (t, s) => (d(), p(v(y), {
34
+ value: a.value,
35
+ loading: o.value,
36
+ disabled: a.disabled || o.value,
37
+ size: a.size,
38
+ "onUpdate:value": u
39
+ }, null, 8, ["value", "loading", "disabled", "size"]));
40
+ }
41
+ });
42
+ export {
43
+ C as default
44
+ };
45
+ //# sourceMappingURL=index.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.vue.js","sources":["../../../src/components/StatusSwitch/index.vue"],"sourcesContent":["<script setup lang=\"ts\">\n// 表格行内启停开关:悲观更新——点击不先翻转,请求成功才 emit;失败不 emit = UI 保持原值即回滚,\n// 没有「闪一下又弹回」的错误视觉;loading 期间 n-switch 自锁防连点。\n// 后端无独立启停端点 → request 由业务传全量 update(行数据转 Input 后改 enabled)。\nimport { ref } from 'vue'\nimport { NSwitch, useMessage } from 'naive-ui'\nimport { useI18n } from 'vue-i18n'\nimport { useConfirm } from '#/composables/useConfirm'\nimport { translateError } from '#/utils/error'\n\nconst props = withDefaults(\n defineProps<{\n value: boolean\n /** 更新请求;resolve 即成功 */\n request: (next: boolean) => Promise<unknown>\n /** 提供则切换前先 dialog 二次确认;函数形态按目标态出文案,返回空值(null/'')则本次跳过确认 */\n confirm?: string | ((next: boolean) => string | null | undefined)\n /** 无权限等场景由业务置灰(行内比移除 DOM 更合适) */\n disabled?: boolean\n size?: 'small' | 'medium'\n /** false = 成功不弹 toast */\n successMsg?: string | false\n }>(),\n { size: 'small' },\n)\nconst emit = defineEmits<{ (e: 'update:value', v: boolean): void }>()\n\nconst { t } = useI18n()\nconst { ask } = useConfirm() // h() 渲染进表格列也在 App.vue Provider 树内,inject 可用\nconst message = useMessage()\nconst loading = ref(false)\n\nasync function onUpdate(next: boolean) {\n if (props.confirm) {\n const content = typeof props.confirm === 'function' ? props.confirm(next) : props.confirm\n if (content && !(await ask({ content }))) return\n }\n loading.value = true\n try {\n await props.request(next)\n emit('update:value', next)\n if (props.successMsg !== false) message.success(props.successMsg ?? t('common.success'))\n } catch (e) {\n message.error(translateError(e)) // 不 emit → 值从未变过,零成本回滚\n } finally {\n loading.value = false\n }\n}\n</script>\n\n<template>\n <n-switch\n :value=\"value\"\n :loading=\"loading\"\n :disabled=\"disabled || loading\"\n :size=\"size\"\n @update:value=\"onUpdate\"\n />\n</template>\n"],"names":["props","__props","emit","__emit","t","useI18n","ask","useConfirm","message","useMessage","loading","ref","onUpdate","next","content","e","translateError","_createBlock","_unref","NSwitch"],"mappings":";;;;;;;;;;;;;;;;;AAUA,UAAMA,IAAQC,GAeRC,IAAOC,GAEP,EAAE,GAAAC,EAAA,IAAMC,EAAA,GACR,EAAE,KAAAC,EAAA,IAAQC,EAAA,GACVC,IAAUC,EAAA,GACVC,IAAUC,EAAI,EAAK;AAEzB,mBAAeC,EAASC,GAAe;AACrC,UAAIb,EAAM,SAAS;AACjB,cAAMc,IAAU,OAAOd,EAAM,WAAY,aAAaA,EAAM,QAAQa,CAAI,IAAIb,EAAM;AAClF,YAAIc,KAAW,CAAE,MAAMR,EAAI,EAAE,SAAAQ,EAAA,CAAS,EAAI;AAAA,MAC5C;AACA,MAAAJ,EAAQ,QAAQ;AAChB,UAAI;AACF,cAAMV,EAAM,QAAQa,CAAI,GACxBX,EAAK,gBAAgBW,CAAI,GACrBb,EAAM,eAAe,MAAOQ,EAAQ,QAAQR,EAAM,cAAcI,EAAE,gBAAgB,CAAC;AAAA,MACzF,SAASW,GAAG;AACV,QAAAP,EAAQ,MAAMQ,EAAeD,CAAC,CAAC;AAAA,MACjC,UAAA;AACE,QAAAL,EAAQ,QAAQ;AAAA,MAClB;AAAA,IACF;2BAIEO,EAMEC,EAAAC,CAAA,GAAA;AAAA,MALC,OAAOlB,EAAA;AAAA,MACP,SAASS,EAAA;AAAA,MACT,UAAUT,EAAA,YAAYS,EAAA;AAAA,MACtB,MAAMT,EAAA;AAAA,MACN,kBAAcW;AAAA,IAAA;;;"}
@@ -0,0 +1,5 @@
1
+ import f from "./index.vue.js";
2
+ export {
3
+ f as default
4
+ };
5
+ //# sourceMappingURL=index2.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index2.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,13 @@
1
+ type __VLS_Props = {
2
+ zoomed: boolean;
3
+ size?: 'tiny' | 'small' | 'medium' | 'large';
4
+ };
5
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
6
+ toggle: () => any;
7
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
8
+ onToggle?: (() => any) | undefined;
9
+ }>, {
10
+ size: "tiny" | "small" | "medium" | "large";
11
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
12
+ declare const _default: typeof __VLS_export;
13
+ export default _default;
@@ -0,0 +1,42 @@
1
+ import { defineComponent as a, openBlock as m, createBlock as c, unref as e, withCtx as i, createTextVNode as u, toDisplayString as d, createVNode as r } from "vue";
2
+ import { NTooltip as s, NButton as z } from "naive-ui";
3
+ import { useI18n as f } from "vue-i18n";
4
+ import p from "../AppIcon.vue.js";
5
+ const N = /* @__PURE__ */ a({
6
+ __name: "index",
7
+ props: {
8
+ zoomed: { type: Boolean },
9
+ size: { default: "small" }
10
+ },
11
+ emits: ["toggle"],
12
+ setup(o) {
13
+ const { t } = f();
14
+ return (l, n) => (m(), c(e(s), null, {
15
+ trigger: i(() => [
16
+ r(e(z), {
17
+ size: o.size,
18
+ circle: "",
19
+ quaternary: "",
20
+ type: o.zoomed ? "primary" : "default",
21
+ "aria-label": o.zoomed ? e(t)("table.zoomExit") : e(t)("table.zoom"),
22
+ onClick: n[0] || (n[0] = (g) => l.$emit("toggle"))
23
+ }, {
24
+ icon: i(() => [
25
+ r(p, {
26
+ icon: o.zoomed ? "ph:corners-in" : "ph:corners-out"
27
+ }, null, 8, ["icon"])
28
+ ]),
29
+ _: 1
30
+ }, 8, ["size", "type", "aria-label"])
31
+ ]),
32
+ default: i(() => [
33
+ u(" " + d(o.zoomed ? e(t)("table.zoomExit") : e(t)("table.zoom")), 1)
34
+ ]),
35
+ _: 1
36
+ }));
37
+ }
38
+ });
39
+ export {
40
+ N as default
41
+ };
42
+ //# sourceMappingURL=index.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.vue.js","sources":["../../../src/components/TableZoomButton/index.vue"],"sourcesContent":["<script setup lang=\"ts\">\n// 表格「放大 / 还原」按钮。与 SmartTable 工具栏自带的刷新 / 密度 / 列设置同形态(circle quaternary + tooltip),\n// 放大态换收起图标并染主色 —— 不要写成带文字的 secondary 按钮,那在工具栏里一眼就是外来户。\n//\n// 状态由调用方的 useTableZoom() 持有(一块表一份实例),这里只负责外观与触发。\n// 按钮必须和表格一起进 Teleport 容器:留在 n-card 的 #header-extra 里,放大后会被遮罩盖住,\n// 还原按钮点不到,只能按 Esc。用法见 skills/create-page-variant.md 变体五。\nimport { NButton, NTooltip } from 'naive-ui'\nimport { useI18n } from 'vue-i18n'\nimport AppIcon from '#/components/AppIcon.vue'\n\nwithDefaults(defineProps<{ zoomed: boolean; size?: 'tiny' | 'small' | 'medium' | 'large' }>(), {\n size: 'small',\n})\ndefineEmits<{ toggle: [] }>()\n\nconst { t } = useI18n()\n</script>\n\n<template>\n <n-tooltip>\n <template #trigger>\n <n-button\n :size=\"size\"\n circle\n quaternary\n :type=\"zoomed ? 'primary' : 'default'\"\n :aria-label=\"zoomed ? t('table.zoomExit') : t('table.zoom')\"\n @click=\"$emit('toggle')\"\n >\n <template #icon>\n <AppIcon :icon=\"zoomed ? 'ph:corners-in' : 'ph:corners-out'\" />\n </template>\n </n-button>\n </template>\n {{ zoomed ? t('table.zoomExit') : t('table.zoom') }}\n </n-tooltip>\n</template>\n"],"names":["useI18n","_createBlock","_unref","NTooltip","_createVNode","NButton","__props","$emit","AppIcon","_createTextVNode","_toDisplayString"],"mappings":";;;;;;;;;;;;AAgBA,UAAM,EAAE,EAAA,IAAMA,EAAA;2BAIZC,EAgBYC,EAAAC,CAAA,GAAA,MAAA;AAAA,MAfC,WACT,MAWW;AAAA,QAXXC,EAWWF,EAAAG,CAAA,GAAA;AAAA,UAVR,MAAMC,EAAA;AAAA,UACP,QAAA;AAAA,UACA,YAAA;AAAA,UACC,MAAMA,EAAA,SAAM,YAAA;AAAA,UACZ,cAAYA,EAAA,SAASJ,EAAA,CAAA,sBAAsBA,EAAA,CAAA,EAAC,YAAA;AAAA,UAC5C,gCAAOK,EAAAA,MAAK,QAAA;AAAA,QAAA;UAEF,QACT,MAA+D;AAAA,YAA/DH,EAA+DI,GAAA;AAAA,cAArD,MAAMF,EAAA,SAAM,kBAAA;AAAA,YAAA;;;;;iBAGjB,MACX;AAAA,QADWG,EAAA,MACXC,EAAGJ,EAAA,SAASJ,EAAA,CAAA,sBAAsBA,EAAA,CAAA,EAAC,YAAA,CAAA,GAAA,CAAA;AAAA,MAAA;;;;;"}
@@ -0,0 +1,5 @@
1
+ import f from "./index.vue.js";
2
+ export {
3
+ f as default
4
+ };
5
+ //# sourceMappingURL=index2.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index2.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,13 @@
1
+ type __VLS_Props = {
2
+ excludeIds?: number[];
3
+ };
4
+ declare function open(ids?: number[]): Promise<void>;
5
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {
6
+ open: typeof open;
7
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
8
+ confirm: (ids: number[]) => any;
9
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
10
+ onConfirm?: ((ids: number[]) => any) | undefined;
11
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
12
+ declare const _default: typeof __VLS_export;
13
+ export default _default;
@@ -0,0 +1,8 @@
1
+ import o from "./index2.vue.js";
2
+ /* empty css */
3
+ import r from "../../_virtual/_plugin-vue_export-helper.js";
4
+ const p = /* @__PURE__ */ r(o, [["__scopeId", "data-v-41b95328"]]);
5
+ export {
6
+ p as default
7
+ };
8
+ //# sourceMappingURL=index.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}