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.
- package/LICENSE +201 -0
- package/README.md +78 -0
- package/dist/App.vue.d.ts +3 -0
- package/dist/App.vue.js +54 -0
- package/dist/App.vue.js.map +1 -0
- package/dist/App2.vue.js +5 -0
- package/dist/App2.vue.js.map +1 -0
- package/dist/_virtual/_plugin-vue_export-helper.js +10 -0
- package/dist/_virtual/_plugin-vue_export-helper.js.map +1 -0
- package/dist/api/client.d.ts +29 -0
- package/dist/api/client.js +139 -0
- package/dist/api/client.js.map +1 -0
- package/dist/api/index.d.ts +672 -0
- package/dist/api/index.js +638 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/reauthGate.d.ts +16 -0
- package/dist/api/reauthGate.js +21 -0
- package/dist/api/reauthGate.js.map +1 -0
- package/dist/api/schema.d.ts +10230 -0
- package/dist/assets/icons/ph-subset.json.js +16 -0
- package/dist/assets/icons/ph-subset.json.js.map +1 -0
- package/dist/assets/oauth/dingtalk.svg.js +5 -0
- package/dist/assets/oauth/dingtalk.svg.js.map +1 -0
- package/dist/assets/oauth/gitee.svg.js +5 -0
- package/dist/assets/oauth/gitee.svg.js.map +1 -0
- package/dist/assets/oauth/github.svg.js +5 -0
- package/dist/assets/oauth/github.svg.js.map +1 -0
- package/dist/assets/oauth/qq.svg.js +5 -0
- package/dist/assets/oauth/qq.svg.js.map +1 -0
- package/dist/assets/oauth/wechat.svg.js +5 -0
- package/dist/assets/oauth/wechat.svg.js.map +1 -0
- package/dist/assets/oauth/wecom.svg.js +5 -0
- package/dist/assets/oauth/wecom.svg.js.map +1 -0
- package/dist/assets/svg/star.svg.js +6 -0
- package/dist/assets/svg/star.svg.js.map +1 -0
- package/dist/components/ApiSelect/index.vue.d.ts +22 -0
- package/dist/components/ApiSelect/index.vue.js +50 -0
- package/dist/components/ApiSelect/index.vue.js.map +1 -0
- package/dist/components/ApiSelect/index2.vue.js +5 -0
- package/dist/components/ApiSelect/index2.vue.js.map +1 -0
- package/dist/components/AppIcon.vue.d.ts +7 -0
- package/dist/components/AppIcon.vue.js +33 -0
- package/dist/components/AppIcon.vue.js.map +1 -0
- package/dist/components/AppIcon2.vue.js +5 -0
- package/dist/components/AppIcon2.vue.js.map +1 -0
- package/dist/components/Chart/BarChart.vue.d.ts +13 -0
- package/dist/components/Chart/BarChart.vue.js +27 -0
- package/dist/components/Chart/BarChart.vue.js.map +1 -0
- package/dist/components/Chart/BarChart2.vue.js +5 -0
- package/dist/components/Chart/BarChart2.vue.js.map +1 -0
- package/dist/components/Chart/LineChart.vue.d.ts +15 -0
- package/dist/components/Chart/LineChart.vue.js +33 -0
- package/dist/components/Chart/LineChart.vue.js.map +1 -0
- package/dist/components/Chart/LineChart2.vue.js +5 -0
- package/dist/components/Chart/LineChart2.vue.js.map +1 -0
- package/dist/components/Chart/PieChart.vue.d.ts +14 -0
- package/dist/components/Chart/PieChart.vue.js +31 -0
- package/dist/components/Chart/PieChart.vue.js.map +1 -0
- package/dist/components/Chart/PieChart2.vue.js +5 -0
- package/dist/components/Chart/PieChart2.vue.js.map +1 -0
- package/dist/components/Chart/echarts.d.ts +57 -0
- package/dist/components/Chart/echarts.js +47 -0
- package/dist/components/Chart/echarts.js.map +1 -0
- package/dist/components/Chart/index.vue.d.ts +12 -0
- package/dist/components/Chart/index.vue.js +8 -0
- package/dist/components/Chart/index.vue.js.map +1 -0
- package/dist/components/Chart/index2.vue.js +27 -0
- package/dist/components/Chart/index2.vue.js.map +1 -0
- package/dist/components/CodeBlock/index.vue.d.ts +17 -0
- package/dist/components/CodeBlock/index.vue.js +8 -0
- package/dist/components/CodeBlock/index.vue.js.map +1 -0
- package/dist/components/CodeBlock/index2.vue.js +48 -0
- package/dist/components/CodeBlock/index2.vue.js.map +1 -0
- package/dist/components/CronEditor/index.vue.d.ts +15 -0
- package/dist/components/CronEditor/index.vue.js +8 -0
- package/dist/components/CronEditor/index.vue.js.map +1 -0
- package/dist/components/CronEditor/index2.vue.js +528 -0
- package/dist/components/CronEditor/index2.vue.js.map +1 -0
- package/dist/components/DetailPage/index.vue.d.ts +26 -0
- package/dist/components/DetailPage/index.vue.js +8 -0
- package/dist/components/DetailPage/index.vue.js.map +1 -0
- package/dist/components/DetailPage/index2.vue.js +51 -0
- package/dist/components/DetailPage/index2.vue.js.map +1 -0
- package/dist/components/DictCheckbox/index.vue.d.ts +6 -0
- package/dist/components/DictCheckbox/index.vue.js +43 -0
- package/dist/components/DictCheckbox/index.vue.js.map +1 -0
- package/dist/components/DictCheckbox/index2.vue.js +5 -0
- package/dist/components/DictCheckbox/index2.vue.js.map +1 -0
- package/dist/components/DictRadio/index.vue.d.ts +6 -0
- package/dist/components/DictRadio/index.vue.js +38 -0
- package/dist/components/DictRadio/index.vue.js.map +1 -0
- package/dist/components/DictRadio/index2.vue.js +5 -0
- package/dist/components/DictRadio/index2.vue.js.map +1 -0
- package/dist/components/DictSelect/index.vue.d.ts +6 -0
- package/dist/components/DictSelect/index.vue.js +37 -0
- package/dist/components/DictSelect/index.vue.js.map +1 -0
- package/dist/components/DictSelect/index2.vue.js +5 -0
- package/dist/components/DictSelect/index2.vue.js.map +1 -0
- package/dist/components/DictTag/index.vue.d.ts +10 -0
- package/dist/components/DictTag/index.vue.js +48 -0
- package/dist/components/DictTag/index.vue.js.map +1 -0
- package/dist/components/DictTag/index2.vue.js +5 -0
- package/dist/components/DictTag/index2.vue.js.map +1 -0
- package/dist/components/ErrorBoundary/index.vue.d.ts +13 -0
- package/dist/components/ErrorBoundary/index.vue.js +8 -0
- package/dist/components/ErrorBoundary/index.vue.js.map +1 -0
- package/dist/components/ErrorBoundary/index2.vue.js +61 -0
- package/dist/components/ErrorBoundary/index2.vue.js.map +1 -0
- package/dist/components/ExportColumnsModal/index.vue.d.ts +19 -0
- package/dist/components/ExportColumnsModal/index.vue.js +8 -0
- package/dist/components/ExportColumnsModal/index.vue.js.map +1 -0
- package/dist/components/ExportColumnsModal/index2.vue.js +121 -0
- package/dist/components/ExportColumnsModal/index2.vue.js.map +1 -0
- package/dist/components/FileUpload/index.vue.d.ts +24 -0
- package/dist/components/FileUpload/index.vue.js +42 -0
- package/dist/components/FileUpload/index.vue.js.map +1 -0
- package/dist/components/FileUpload/index2.vue.js +5 -0
- package/dist/components/FileUpload/index2.vue.js.map +1 -0
- package/dist/components/FormContainer/index.vue.d.ts +51 -0
- package/dist/components/FormContainer/index.vue.js +160 -0
- package/dist/components/FormContainer/index.vue.js.map +1 -0
- package/dist/components/FormContainer/index3.vue.js +6 -0
- package/dist/components/FormContainer/index3.vue.js.map +1 -0
- package/dist/components/IconPicker/index.vue.d.ts +18 -0
- package/dist/components/IconPicker/index.vue.js +43 -0
- package/dist/components/IconPicker/index.vue.js.map +1 -0
- package/dist/components/IconPicker/index2.vue.js +5 -0
- package/dist/components/IconPicker/index2.vue.js.map +1 -0
- package/dist/components/ImportWizard/index.vue.d.ts +39 -0
- package/dist/components/ImportWizard/index.vue.js +8 -0
- package/dist/components/ImportWizard/index.vue.js.map +1 -0
- package/dist/components/ImportWizard/index2.vue.js +634 -0
- package/dist/components/ImportWizard/index2.vue.js.map +1 -0
- package/dist/components/JsonEditor/index.vue.d.ts +12 -0
- package/dist/components/JsonEditor/index.vue.js +87 -0
- package/dist/components/JsonEditor/index.vue.js.map +1 -0
- package/dist/components/JsonEditor/index2.vue.js +5 -0
- package/dist/components/JsonEditor/index2.vue.js.map +1 -0
- package/dist/components/MarkdownEditor/MarkdownView.vue.d.ts +6 -0
- package/dist/components/MarkdownEditor/MarkdownView.vue.js +33 -0
- package/dist/components/MarkdownEditor/MarkdownView.vue.js.map +1 -0
- package/dist/components/MarkdownEditor/MarkdownView2.vue.js +5 -0
- package/dist/components/MarkdownEditor/MarkdownView2.vue.js.map +1 -0
- package/dist/components/MarkdownEditor/index.vue.d.ts +10 -0
- package/dist/components/MarkdownEditor/index.vue.js +35 -0
- package/dist/components/MarkdownEditor/index.vue.js.map +1 -0
- package/dist/components/MarkdownEditor/index2.vue.js +5 -0
- package/dist/components/MarkdownEditor/index2.vue.js.map +1 -0
- package/dist/components/MenuSearch.vue.d.ts +10 -0
- package/dist/components/MenuSearch.vue.js +8 -0
- package/dist/components/MenuSearch.vue.js.map +1 -0
- package/dist/components/MenuSearch2.vue.js +121 -0
- package/dist/components/MenuSearch2.vue.js.map +1 -0
- package/dist/components/OrgTreeSelect/index.vue.d.ts +6 -0
- package/dist/components/OrgTreeSelect/index.vue.js +42 -0
- package/dist/components/OrgTreeSelect/index.vue.js.map +1 -0
- package/dist/components/OrgTreeSelect/index2.vue.js +5 -0
- package/dist/components/OrgTreeSelect/index2.vue.js.map +1 -0
- package/dist/components/PasswordStrength/index.vue.d.ts +6 -0
- package/dist/components/PasswordStrength/index.vue.js +8 -0
- package/dist/components/PasswordStrength/index.vue.js.map +1 -0
- package/dist/components/PasswordStrength/index2.vue.js +91 -0
- package/dist/components/PasswordStrength/index2.vue.js.map +1 -0
- package/dist/components/ReauthModal.vue.d.ts +3 -0
- package/dist/components/ReauthModal.vue.js +8 -0
- package/dist/components/ReauthModal.vue.js.map +1 -0
- package/dist/components/ReauthModal2.vue.js +139 -0
- package/dist/components/ReauthModal2.vue.js.map +1 -0
- package/dist/components/RoleSelect/index.vue.d.ts +8 -0
- package/dist/components/RoleSelect/index.vue.js +26 -0
- package/dist/components/RoleSelect/index.vue.js.map +1 -0
- package/dist/components/RoleSelect/index2.vue.js +5 -0
- package/dist/components/RoleSelect/index2.vue.js.map +1 -0
- package/dist/components/SelectTable/index.vue.d.ts +76 -0
- package/dist/components/SelectTable/index.vue.js +8 -0
- package/dist/components/SelectTable/index.vue.js.map +1 -0
- package/dist/components/SelectTable/index2.vue.js +256 -0
- package/dist/components/SelectTable/index2.vue.js.map +1 -0
- package/dist/components/SmartLogo.vue.d.ts +8 -0
- package/dist/components/SmartLogo.vue.js +8 -0
- package/dist/components/SmartLogo.vue.js.map +1 -0
- package/dist/components/SmartLogo2.vue.js +74 -0
- package/dist/components/SmartLogo2.vue.js.map +1 -0
- package/dist/components/StatusSwitch/index.vue.d.ts +21 -0
- package/dist/components/StatusSwitch/index.vue.js +45 -0
- package/dist/components/StatusSwitch/index.vue.js.map +1 -0
- package/dist/components/StatusSwitch/index2.vue.js +5 -0
- package/dist/components/StatusSwitch/index2.vue.js.map +1 -0
- package/dist/components/TableZoomButton/index.vue.d.ts +13 -0
- package/dist/components/TableZoomButton/index.vue.js +42 -0
- package/dist/components/TableZoomButton/index.vue.js.map +1 -0
- package/dist/components/TableZoomButton/index2.vue.js +5 -0
- package/dist/components/TableZoomButton/index2.vue.js.map +1 -0
- package/dist/components/UserPicker/index.vue.d.ts +13 -0
- package/dist/components/UserPicker/index.vue.js +8 -0
- package/dist/components/UserPicker/index.vue.js.map +1 -0
- package/dist/components/UserPicker/index2.vue.js +214 -0
- package/dist/components/UserPicker/index2.vue.js.map +1 -0
- package/dist/components/UserSelect/index.vue.d.ts +9 -0
- package/dist/components/UserSelect/index.vue.js +32 -0
- package/dist/components/UserSelect/index.vue.js.map +1 -0
- package/dist/components/UserSelect/index2.vue.js +5 -0
- package/dist/components/UserSelect/index2.vue.js.map +1 -0
- package/dist/components/oauth/BrandIcon.vue.d.ts +12 -0
- package/dist/components/oauth/BrandIcon.vue.js +8 -0
- package/dist/components/oauth/BrandIcon.vue.js.map +1 -0
- package/dist/components/oauth/BrandIcon2.vue.js +95 -0
- package/dist/components/oauth/BrandIcon2.vue.js.map +1 -0
- package/dist/composables/authMenuRoute.d.ts +32 -0
- package/dist/composables/authMenuRoute.js +37 -0
- package/dist/composables/authMenuRoute.js.map +1 -0
- package/dist/composables/clearClientCache.d.ts +10 -0
- package/dist/composables/clearClientCache.js +17 -0
- package/dist/composables/clearClientCache.js.map +1 -0
- package/dist/composables/useAuthMenu.d.ts +3 -0
- package/dist/composables/useAuthMenu.js +61 -0
- package/dist/composables/useAuthMenu.js.map +1 -0
- package/dist/composables/useBatchDelete.d.ts +18 -0
- package/dist/composables/useBatchDelete.js +21 -0
- package/dist/composables/useBatchDelete.js.map +1 -0
- package/dist/composables/useCompactScreen.d.ts +12 -0
- package/dist/composables/useCompactScreen.js +17 -0
- package/dist/composables/useCompactScreen.js.map +1 -0
- package/dist/composables/useConfirm.d.ts +18 -0
- package/dist/composables/useConfirm.js +61 -0
- package/dist/composables/useConfirm.js.map +1 -0
- package/dist/composables/useFullscreenToggle.d.ts +11 -0
- package/dist/composables/useFullscreenToggle.js +64 -0
- package/dist/composables/useFullscreenToggle.js.map +1 -0
- package/dist/composables/useHeaderTools.d.ts +31 -0
- package/dist/composables/useHeaderTools.js +15 -0
- package/dist/composables/useHeaderTools.js.map +1 -0
- package/dist/composables/useLayoutMenu.d.ts +17 -0
- package/dist/composables/useLayoutMenu.js +93 -0
- package/dist/composables/useLayoutMenu.js.map +1 -0
- package/dist/composables/useMenuBadge.d.ts +11 -0
- package/dist/composables/useMenuBadge.js +17 -0
- package/dist/composables/useMenuBadge.js.map +1 -0
- package/dist/composables/useMenuFlat.d.ts +8 -0
- package/dist/composables/useMenuFlat.js +29 -0
- package/dist/composables/useMenuFlat.js.map +1 -0
- package/dist/composables/useModule.d.ts +16 -0
- package/dist/composables/useModule.js +44 -0
- package/dist/composables/useModule.js.map +1 -0
- package/dist/composables/useNoticeAction.d.ts +8 -0
- package/dist/composables/useNoticeAction.js +79 -0
- package/dist/composables/useNoticeAction.js.map +1 -0
- package/dist/composables/usePageTitle.d.ts +1 -0
- package/dist/composables/usePageTitle.js +20 -0
- package/dist/composables/usePageTitle.js.map +1 -0
- package/dist/composables/useRealtime.d.ts +31 -0
- package/dist/composables/useRealtime.js +59 -0
- package/dist/composables/useRealtime.js.map +1 -0
- package/dist/composables/useSite.d.ts +24 -0
- package/dist/composables/useSite.js +27 -0
- package/dist/composables/useSite.js.map +1 -0
- package/dist/composables/useTabTitle.d.ts +1 -0
- package/dist/composables/useTabTitle.js +10 -0
- package/dist/composables/useTabTitle.js.map +1 -0
- package/dist/composables/useTableRowSort.d.ts +20 -0
- package/dist/composables/useTableRowSort.js +59 -0
- package/dist/composables/useTableRowSort.js.map +1 -0
- package/dist/composables/useTableZoom.d.ts +5 -0
- package/dist/composables/useTableZoom.js +30 -0
- package/dist/composables/useTableZoom.js.map +1 -0
- package/dist/composables/useTheme.d.ts +13 -0
- package/dist/composables/useTheme.js +30 -0
- package/dist/composables/useTheme.js.map +1 -0
- package/dist/composables/useVisualViewportHeight.d.ts +3 -0
- package/dist/composables/useVisualViewportHeight.js +16 -0
- package/dist/composables/useVisualViewportHeight.js.map +1 -0
- package/dist/createSmartAdmin.d.ts +56 -0
- package/dist/createSmartAdmin.js +76 -0
- package/dist/createSmartAdmin.js.map +1 -0
- package/dist/directives/auth.d.ts +16 -0
- package/dist/directives/auth.js +19 -0
- package/dist/directives/auth.js.map +1 -0
- package/dist/env.d.ts +10 -0
- package/dist/index.d.ts +90 -0
- package/dist/index.js +273 -0
- package/dist/index.js.map +1 -0
- package/dist/layouts/AppHeader.vue.d.ts +12 -0
- package/dist/layouts/AppHeader.vue.js +8 -0
- package/dist/layouts/AppHeader.vue.js.map +1 -0
- package/dist/layouts/AppHeader2.vue.js +352 -0
- package/dist/layouts/AppHeader2.vue.js.map +1 -0
- package/dist/layouts/LayoutModeCards.vue.d.ts +3 -0
- package/dist/layouts/LayoutModeCards.vue.js +8 -0
- package/dist/layouts/LayoutModeCards.vue.js.map +1 -0
- package/dist/layouts/LayoutModeCards2.vue.js +67 -0
- package/dist/layouts/LayoutModeCards2.vue.js.map +1 -0
- package/dist/layouts/NoticeBell.vue.d.ts +3 -0
- package/dist/layouts/NoticeBell.vue.js +8 -0
- package/dist/layouts/NoticeBell.vue.js.map +1 -0
- package/dist/layouts/NoticeBell2.vue.js +292 -0
- package/dist/layouts/NoticeBell2.vue.js.map +1 -0
- package/dist/layouts/PersonalLayout.vue.d.ts +3 -0
- package/dist/layouts/PersonalLayout.vue.js +8 -0
- package/dist/layouts/PersonalLayout.vue.js.map +1 -0
- package/dist/layouts/PersonalLayout2.vue.js +65 -0
- package/dist/layouts/PersonalLayout2.vue.js.map +1 -0
- package/dist/layouts/SettingRow.vue.d.ts +16 -0
- package/dist/layouts/SettingRow.vue.js +8 -0
- package/dist/layouts/SettingRow.vue.js.map +1 -0
- package/dist/layouts/SettingRow2.vue.js +23 -0
- package/dist/layouts/SettingRow2.vue.js.map +1 -0
- package/dist/layouts/SettingsDrawer.vue.d.ts +10 -0
- package/dist/layouts/SettingsDrawer.vue.js +8 -0
- package/dist/layouts/SettingsDrawer.vue.js.map +1 -0
- package/dist/layouts/SettingsDrawer2.vue.js +380 -0
- package/dist/layouts/SettingsDrawer2.vue.js.map +1 -0
- package/dist/layouts/TabsBar.vue.d.ts +3 -0
- package/dist/layouts/TabsBar.vue.js +8 -0
- package/dist/layouts/TabsBar.vue.js.map +1 -0
- package/dist/layouts/TabsBar2.vue.js +132 -0
- package/dist/layouts/TabsBar2.vue.js.map +1 -0
- package/dist/layouts/components/SideNav.vue.d.ts +15 -0
- package/dist/layouts/components/SideNav.vue.js +8 -0
- package/dist/layouts/components/SideNav.vue.js.map +1 -0
- package/dist/layouts/components/SideNav2.vue.js +49 -0
- package/dist/layouts/components/SideNav2.vue.js.map +1 -0
- package/dist/layouts/default.vue.d.ts +3 -0
- package/dist/layouts/default.vue.js +8 -0
- package/dist/layouts/default.vue.js.map +1 -0
- package/dist/layouts/default2.vue.js +213 -0
- package/dist/layouts/default2.vue.js.map +1 -0
- package/dist/lib/chunkReload.d.ts +9 -0
- package/dist/lib/chunkReload.js +24 -0
- package/dist/lib/chunkReload.js.map +1 -0
- package/dist/lib/icons.d.ts +2 -0
- package/dist/lib/icons.js +39 -0
- package/dist/lib/icons.js.map +1 -0
- package/dist/lib/loadingBar.d.ts +7 -0
- package/dist/lib/loadingBar.js +18 -0
- package/dist/lib/loadingBar.js.map +1 -0
- package/dist/lib/markdown.d.ts +8 -0
- package/dist/lib/markdown.js +16 -0
- package/dist/lib/markdown.js.map +1 -0
- package/dist/lib/markdownLinks.d.ts +26 -0
- package/dist/lib/markdownLinks.js +21 -0
- package/dist/lib/markdownLinks.js.map +1 -0
- package/dist/lib/noticeActions.d.ts +13 -0
- package/dist/lib/noticeActions.js +16 -0
- package/dist/lib/noticeActions.js.map +1 -0
- package/dist/lib/runtime.d.ts +21 -0
- package/dist/lib/runtime.js +13 -0
- package/dist/lib/runtime.js.map +1 -0
- package/dist/locales/en-US.d.ts +1358 -0
- package/dist/locales/en-US.js +1362 -0
- package/dist/locales/en-US.js.map +1 -0
- package/dist/locales/index.d.ts +30 -0
- package/dist/locales/index.js +46 -0
- package/dist/locales/index.js.map +1 -0
- package/dist/locales/menuTitle.d.ts +8 -0
- package/dist/locales/menuTitle.js +19 -0
- package/dist/locales/menuTitle.js.map +1 -0
- package/dist/locales/zh-CN.d.ts +1358 -0
- package/dist/locales/zh-CN.js +1368 -0
- package/dist/locales/zh-CN.js.map +1 -0
- package/dist/router/bootFailure.d.ts +8 -0
- package/dist/router/bootFailure.js +11 -0
- package/dist/router/bootFailure.js.map +1 -0
- package/dist/router/detailRoutes.d.ts +2 -0
- package/dist/router/detailRoutes.js +19 -0
- package/dist/router/detailRoutes.js.map +1 -0
- package/dist/router/index.d.ts +3 -0
- package/dist/router/index.js +58 -0
- package/dist/router/index.js.map +1 -0
- package/dist/router/namedPage.d.ts +13 -0
- package/dist/router/namedPage.js +12 -0
- package/dist/router/namedPage.js.map +1 -0
- package/dist/router/routes.d.ts +2 -0
- package/dist/router/routes.js +121 -0
- package/dist/router/routes.js.map +1 -0
- package/dist/router/viewRegistry.d.ts +18 -0
- package/dist/router/viewRegistry.js +26 -0
- package/dist/router/viewRegistry.js.map +1 -0
- package/dist/stores/app.d.ts +83 -0
- package/dist/stores/app.js +82 -0
- package/dist/stores/app.js.map +1 -0
- package/dist/stores/auth.d.ts +106 -0
- package/dist/stores/auth.js +59 -0
- package/dist/stores/auth.js.map +1 -0
- package/dist/stores/dict.d.ts +11 -0
- package/dist/stores/dict.js +36 -0
- package/dist/stores/dict.js.map +1 -0
- package/dist/stores/tabs.d.ts +53 -0
- package/dist/stores/tabs.js +88 -0
- package/dist/stores/tabs.js.map +1 -0
- package/dist/stores/user.d.ts +64 -0
- package/dist/stores/user.js +64 -0
- package/dist/stores/user.js.map +1 -0
- package/dist/style.css +1 -0
- package/dist/theme/accents.d.ts +2 -0
- package/dist/theme/accents.js +5 -0
- package/dist/theme/accents.js.map +1 -0
- package/dist/theme/mix.d.ts +26 -0
- package/dist/theme/mix.js +43 -0
- package/dist/theme/mix.js.map +1 -0
- package/dist/theme/naive-theme.d.ts +9 -0
- package/dist/theme/naive-theme.js +89 -0
- package/dist/theme/naive-theme.js.map +1 -0
- package/dist/types/api.d.ts +714 -0
- package/dist/types/api.js +15 -0
- package/dist/types/api.js.map +1 -0
- package/dist/types/menu.d.ts +67 -0
- package/dist/types/menu.js +26 -0
- package/dist/types/menu.js.map +1 -0
- package/dist/utils/chunkUpload.d.ts +6 -0
- package/dist/utils/chunkUpload.js +35 -0
- package/dist/utils/chunkUpload.js.map +1 -0
- package/dist/utils/download.d.ts +8 -0
- package/dist/utils/download.js +8 -0
- package/dist/utils/download.js.map +1 -0
- package/dist/utils/error.d.ts +14 -0
- package/dist/utils/error.js +50 -0
- package/dist/utils/error.js.map +1 -0
- package/dist/utils/format.d.ts +20 -0
- package/dist/utils/format.js +19 -0
- package/dist/utils/format.js.map +1 -0
- package/dist/utils/importDup.d.ts +17 -0
- package/dist/utils/importDup.js +18 -0
- package/dist/utils/importDup.js.map +1 -0
- package/dist/utils/oauthBrand.d.ts +100 -0
- package/dist/utils/oauthBrand.js +97 -0
- package/dist/utils/oauthBrand.js.map +1 -0
- package/dist/utils/tree.d.ts +33 -0
- package/dist/utils/tree.js +47 -0
- package/dist/utils/tree.js.map +1 -0
- package/dist/utils/ua.d.ts +7 -0
- package/dist/utils/ua.js +33 -0
- package/dist/utils/ua.js.map +1 -0
- package/dist/utils/url.d.ts +16 -0
- package/dist/utils/url.js +13 -0
- package/dist/utils/url.js.map +1 -0
- package/dist/views/dashboard/biz.vue.d.ts +3 -0
- package/dist/views/dashboard/biz.vue.js +8 -0
- package/dist/views/dashboard/biz.vue.js.map +1 -0
- package/dist/views/dashboard/biz2.vue.js +136 -0
- package/dist/views/dashboard/biz2.vue.js.map +1 -0
- package/dist/views/dashboard/workbench.vue.d.ts +3 -0
- package/dist/views/dashboard/workbench.vue.js +8 -0
- package/dist/views/dashboard/workbench.vue.js.map +1 -0
- package/dist/views/dashboard/workbench2.vue.js +195 -0
- package/dist/views/dashboard/workbench2.vue.js.map +1 -0
- package/dist/views/embed/iframe.vue.d.ts +3 -0
- package/dist/views/embed/iframe.vue.js +8 -0
- package/dist/views/embed/iframe.vue.js.map +1 -0
- package/dist/views/embed/iframe2.vue.js +21 -0
- package/dist/views/embed/iframe2.vue.js.map +1 -0
- package/dist/views/error/404.vue.d.ts +3 -0
- package/dist/views/error/404.vue.js +8 -0
- package/dist/views/error/404.vue.js.map +1 -0
- package/dist/views/error/4042.vue.js +31 -0
- package/dist/views/error/4042.vue.js.map +1 -0
- package/dist/views/error/BootError.vue.d.ts +3 -0
- package/dist/views/error/BootError.vue.js +8 -0
- package/dist/views/error/BootError.vue.js.map +1 -0
- package/dist/views/error/BootError2.vue.js +57 -0
- package/dist/views/error/BootError2.vue.js.map +1 -0
- package/dist/views/error/MissingRoute.vue.d.ts +3 -0
- package/dist/views/error/MissingRoute.vue.js +8 -0
- package/dist/views/error/MissingRoute.vue.js.map +1 -0
- package/dist/views/error/MissingRoute2.vue.js +23 -0
- package/dist/views/error/MissingRoute2.vue.js.map +1 -0
- package/dist/views/login/LoginForm.vue.d.ts +12 -0
- package/dist/views/login/LoginForm.vue.js +8 -0
- package/dist/views/login/LoginForm.vue.js.map +1 -0
- package/dist/views/login/LoginForm2.vue.js +642 -0
- package/dist/views/login/LoginForm2.vue.js.map +1 -0
- package/dist/views/login/index.vue.d.ts +3 -0
- package/dist/views/login/index.vue.js +8 -0
- package/dist/views/login/index.vue.js.map +1 -0
- package/dist/views/login/index2.vue.js +79 -0
- package/dist/views/login/index2.vue.js.map +1 -0
- package/dist/views/login/skins/AuroraGlass.vue.d.ts +3 -0
- package/dist/views/login/skins/AuroraGlass.vue.js +8 -0
- package/dist/views/login/skins/AuroraGlass.vue.js.map +1 -0
- package/dist/views/login/skins/AuroraGlass2.vue.js +80 -0
- package/dist/views/login/skins/AuroraGlass2.vue.js.map +1 -0
- package/dist/views/login/skins/SplitPanel.vue.d.ts +3 -0
- package/dist/views/login/skins/SplitPanel.vue.js +8 -0
- package/dist/views/login/skins/SplitPanel.vue.js.map +1 -0
- package/dist/views/login/skins/SplitPanel2.vue.js +85 -0
- package/dist/views/login/skins/SplitPanel2.vue.js.map +1 -0
- package/dist/views/login/skins/Spotlight.vue.d.ts +3 -0
- package/dist/views/login/skins/Spotlight.vue.js +8 -0
- package/dist/views/login/skins/Spotlight.vue.js.map +1 -0
- package/dist/views/login/skins/Spotlight2.vue.js +36 -0
- package/dist/views/login/skins/Spotlight2.vue.js.map +1 -0
- package/dist/views/login/skins.d.ts +8 -0
- package/dist/views/login/skins.js +13 -0
- package/dist/views/login/skins.js.map +1 -0
- package/dist/views/mfa/bindComplete.d.ts +7 -0
- package/dist/views/mfa/bindComplete.js +8 -0
- package/dist/views/mfa/bindComplete.js.map +1 -0
- package/dist/views/mfa/index.vue.d.ts +3 -0
- package/dist/views/mfa/index.vue.js +8 -0
- package/dist/views/mfa/index.vue.js.map +1 -0
- package/dist/views/mfa/index2.vue.js +425 -0
- package/dist/views/mfa/index2.vue.js.map +1 -0
- package/dist/views/module/index.vue.d.ts +3 -0
- package/dist/views/module/index.vue.js +8 -0
- package/dist/views/module/index.vue.js.map +1 -0
- package/dist/views/module/index2.vue.js +142 -0
- package/dist/views/module/index2.vue.js.map +1 -0
- package/dist/views/oauth/callback.vue.d.ts +3 -0
- package/dist/views/oauth/callback.vue.js +8 -0
- package/dist/views/oauth/callback.vue.js.map +1 -0
- package/dist/views/oauth/callback2.vue.js +86 -0
- package/dist/views/oauth/callback2.vue.js.map +1 -0
- package/dist/views/personal/bindings.vue.d.ts +3 -0
- package/dist/views/personal/bindings.vue.js +8 -0
- package/dist/views/personal/bindings.vue.js.map +1 -0
- package/dist/views/personal/bindings2.vue.js +220 -0
- package/dist/views/personal/bindings2.vue.js.map +1 -0
- package/dist/views/personal/notice.vue.d.ts +3 -0
- package/dist/views/personal/notice.vue.js +5 -0
- package/dist/views/personal/notice.vue.js.map +1 -0
- package/dist/views/personal/notice2.vue.js +163 -0
- package/dist/views/personal/notice2.vue.js.map +1 -0
- package/dist/views/personal/password.vue.d.ts +3 -0
- package/dist/views/personal/password.vue.js +5 -0
- package/dist/views/personal/password.vue.js.map +1 -0
- package/dist/views/personal/password2.vue.js +147 -0
- package/dist/views/personal/password2.vue.js.map +1 -0
- package/dist/views/personal/profile.vue.d.ts +3 -0
- package/dist/views/personal/profile.vue.js +8 -0
- package/dist/views/personal/profile.vue.js.map +1 -0
- package/dist/views/personal/profile2.vue.js +264 -0
- package/dist/views/personal/profile2.vue.js.map +1 -0
- package/dist/views/personal/security.vue.d.ts +3 -0
- package/dist/views/personal/security.vue.js +8 -0
- package/dist/views/personal/security.vue.js.map +1 -0
- package/dist/views/personal/security2.vue.js +82 -0
- package/dist/views/personal/security2.vue.js.map +1 -0
- package/dist/views/personal/sessions.vue.d.ts +3 -0
- package/dist/views/personal/sessions.vue.js +8 -0
- package/dist/views/personal/sessions.vue.js.map +1 -0
- package/dist/views/personal/sessions2.vue.js +101 -0
- package/dist/views/personal/sessions2.vue.js.map +1 -0
- package/dist/views/system/cache/index.vue.d.ts +3 -0
- package/dist/views/system/cache/index.vue.js +8 -0
- package/dist/views/system/cache/index.vue.js.map +1 -0
- package/dist/views/system/cache/index2.vue.js +113 -0
- package/dist/views/system/cache/index2.vue.js.map +1 -0
- package/dist/views/system/config/components/ConfigFormModal.vue.d.ts +16 -0
- package/dist/views/system/config/components/ConfigFormModal.vue.js +5 -0
- package/dist/views/system/config/components/ConfigFormModal.vue.js.map +1 -0
- package/dist/views/system/config/components/ConfigFormModal2.vue.js +177 -0
- package/dist/views/system/config/components/ConfigFormModal2.vue.js.map +1 -0
- package/dist/views/system/config/components/ExternalAuthConfig.vue.d.ts +3 -0
- package/dist/views/system/config/components/ExternalAuthConfig.vue.js +8 -0
- package/dist/views/system/config/components/ExternalAuthConfig.vue.js.map +1 -0
- package/dist/views/system/config/components/ExternalAuthConfig2.vue.js +218 -0
- package/dist/views/system/config/components/ExternalAuthConfig2.vue.js.map +1 -0
- package/dist/views/system/config/components/GroupExtraConfig.vue.d.ts +9 -0
- package/dist/views/system/config/components/GroupExtraConfig.vue.js +8 -0
- package/dist/views/system/config/components/GroupExtraConfig.vue.js.map +1 -0
- package/dist/views/system/config/components/GroupExtraConfig2.vue.js +108 -0
- package/dist/views/system/config/components/GroupExtraConfig2.vue.js.map +1 -0
- package/dist/views/system/config/components/HighSensConfig.vue.d.ts +3 -0
- package/dist/views/system/config/components/HighSensConfig.vue.js +5 -0
- package/dist/views/system/config/components/HighSensConfig.vue.js.map +1 -0
- package/dist/views/system/config/components/HighSensConfig2.vue.js +134 -0
- package/dist/views/system/config/components/HighSensConfig2.vue.js.map +1 -0
- package/dist/views/system/config/components/JobConfig.vue.d.ts +3 -0
- package/dist/views/system/config/components/JobConfig.vue.js +5 -0
- package/dist/views/system/config/components/JobConfig.vue.js.map +1 -0
- package/dist/views/system/config/components/JobConfig2.vue.js +116 -0
- package/dist/views/system/config/components/JobConfig2.vue.js.map +1 -0
- package/dist/views/system/config/components/OtherConfig.vue.d.ts +3 -0
- package/dist/views/system/config/components/OtherConfig.vue.js +5 -0
- package/dist/views/system/config/components/OtherConfig.vue.js.map +1 -0
- package/dist/views/system/config/components/OtherConfig2.vue.js +121 -0
- package/dist/views/system/config/components/OtherConfig2.vue.js.map +1 -0
- package/dist/views/system/config/components/SecurityConfig.vue.d.ts +3 -0
- package/dist/views/system/config/components/SecurityConfig.vue.js +8 -0
- package/dist/views/system/config/components/SecurityConfig.vue.js.map +1 -0
- package/dist/views/system/config/components/SecurityConfig2.vue.js +456 -0
- package/dist/views/system/config/components/SecurityConfig2.vue.js.map +1 -0
- package/dist/views/system/config/components/SysBaseConfig.vue.d.ts +3 -0
- package/dist/views/system/config/components/SysBaseConfig.vue.js +5 -0
- package/dist/views/system/config/components/SysBaseConfig.vue.js.map +1 -0
- package/dist/views/system/config/components/SysBaseConfig2.vue.js +107 -0
- package/dist/views/system/config/components/SysBaseConfig2.vue.js.map +1 -0
- package/dist/views/system/config/components/UploadConfig.vue.d.ts +3 -0
- package/dist/views/system/config/components/UploadConfig.vue.js +5 -0
- package/dist/views/system/config/components/UploadConfig.vue.js.map +1 -0
- package/dist/views/system/config/components/UploadConfig2.vue.js +135 -0
- package/dist/views/system/config/components/UploadConfig2.vue.js.map +1 -0
- package/dist/views/system/config/groups.d.ts +9 -0
- package/dist/views/system/config/groups.js +18 -0
- package/dist/views/system/config/groups.js.map +1 -0
- package/dist/views/system/config/index.vue.d.ts +3 -0
- package/dist/views/system/config/index.vue.js +5 -0
- package/dist/views/system/config/index.vue.js.map +1 -0
- package/dist/views/system/config/index2.vue.js +127 -0
- package/dist/views/system/config/index2.vue.js.map +1 -0
- package/dist/views/system/dict/index.vue.d.ts +3 -0
- package/dist/views/system/dict/index.vue.js +8 -0
- package/dist/views/system/dict/index.vue.js.map +1 -0
- package/dist/views/system/dict/index2.vue.js +560 -0
- package/dist/views/system/dict/index2.vue.js.map +1 -0
- package/dist/views/system/file/index.vue.d.ts +3 -0
- package/dist/views/system/file/index.vue.js +5 -0
- package/dist/views/system/file/index.vue.js.map +1 -0
- package/dist/views/system/file/index2.vue.js +186 -0
- package/dist/views/system/file/index2.vue.js.map +1 -0
- package/dist/views/system/job/index.vue.d.ts +3 -0
- package/dist/views/system/job/index.vue.js +8 -0
- package/dist/views/system/job/index.vue.js.map +1 -0
- package/dist/views/system/job/index2.vue.js +1167 -0
- package/dist/views/system/job/index2.vue.js.map +1 -0
- package/dist/views/system/job-log/index.vue.d.ts +3 -0
- package/dist/views/system/job-log/index.vue.js +8 -0
- package/dist/views/system/job-log/index.vue.js.map +1 -0
- package/dist/views/system/job-log/index2.vue.js +411 -0
- package/dist/views/system/job-log/index2.vue.js.map +1 -0
- package/dist/views/system/job-monitor/index.vue.d.ts +3 -0
- package/dist/views/system/job-monitor/index.vue.js +8 -0
- package/dist/views/system/job-monitor/index.vue.js.map +1 -0
- package/dist/views/system/job-monitor/index2.vue.js +253 -0
- package/dist/views/system/job-monitor/index2.vue.js.map +1 -0
- package/dist/views/system/log/exception/index.vue.d.ts +3 -0
- package/dist/views/system/log/exception/index.vue.js +8 -0
- package/dist/views/system/log/exception/index.vue.js.map +1 -0
- package/dist/views/system/log/exception/index2.vue.js +216 -0
- package/dist/views/system/log/exception/index2.vue.js.map +1 -0
- package/dist/views/system/log/login/index.vue.d.ts +3 -0
- package/dist/views/system/log/login/index.vue.js +5 -0
- package/dist/views/system/log/login/index.vue.js.map +1 -0
- package/dist/views/system/log/login/index2.vue.js +113 -0
- package/dist/views/system/log/login/index2.vue.js.map +1 -0
- package/dist/views/system/log/op/index.vue.d.ts +3 -0
- package/dist/views/system/log/op/index.vue.js +8 -0
- package/dist/views/system/log/op/index.vue.js.map +1 -0
- package/dist/views/system/log/op/index2.vue.js +332 -0
- package/dist/views/system/log/op/index2.vue.js.map +1 -0
- package/dist/views/system/menu/components/ButtonManager.vue.d.ts +21 -0
- package/dist/views/system/menu/components/ButtonManager.vue.js +8 -0
- package/dist/views/system/menu/components/ButtonManager.vue.js.map +1 -0
- package/dist/views/system/menu/components/ButtonManager2.vue.js +498 -0
- package/dist/views/system/menu/components/ButtonManager2.vue.js.map +1 -0
- package/dist/views/system/menu/components/MenuFormModal.vue.d.ts +22 -0
- package/dist/views/system/menu/components/MenuFormModal.vue.js +8 -0
- package/dist/views/system/menu/components/MenuFormModal.vue.js.map +1 -0
- package/dist/views/system/menu/components/MenuFormModal2.vue.js +259 -0
- package/dist/views/system/menu/components/MenuFormModal2.vue.js.map +1 -0
- package/dist/views/system/menu/index.vue.d.ts +3 -0
- package/dist/views/system/menu/index.vue.js +8 -0
- package/dist/views/system/menu/index.vue.js.map +1 -0
- package/dist/views/system/menu/index2.vue.js +391 -0
- package/dist/views/system/menu/index2.vue.js.map +1 -0
- package/dist/views/system/module/index.vue.d.ts +3 -0
- package/dist/views/system/module/index.vue.js +8 -0
- package/dist/views/system/module/index.vue.js.map +1 -0
- package/dist/views/system/module/index2.vue.js +344 -0
- package/dist/views/system/module/index2.vue.js.map +1 -0
- package/dist/views/system/monitor/index.vue.d.ts +3 -0
- package/dist/views/system/monitor/index.vue.js +8 -0
- package/dist/views/system/monitor/index.vue.js.map +1 -0
- package/dist/views/system/monitor/index2.vue.js +184 -0
- package/dist/views/system/monitor/index2.vue.js.map +1 -0
- package/dist/views/system/notice/index.vue.d.ts +3 -0
- package/dist/views/system/notice/index.vue.js +8 -0
- package/dist/views/system/notice/index.vue.js.map +1 -0
- package/dist/views/system/notice/index2.vue.js +401 -0
- package/dist/views/system/notice/index2.vue.js.map +1 -0
- package/dist/views/system/org/index.vue.d.ts +3 -0
- package/dist/views/system/org/index.vue.js +8 -0
- package/dist/views/system/org/index.vue.js.map +1 -0
- package/dist/views/system/org/index2.vue.js +397 -0
- package/dist/views/system/org/index2.vue.js.map +1 -0
- package/dist/views/system/position/index.vue.d.ts +3 -0
- package/dist/views/system/position/index.vue.js +5 -0
- package/dist/views/system/position/index.vue.js.map +1 -0
- package/dist/views/system/position/index2.vue.js +211 -0
- package/dist/views/system/position/index2.vue.js.map +1 -0
- package/dist/views/system/recycle/index.vue.d.ts +3 -0
- package/dist/views/system/recycle/index.vue.js +8 -0
- package/dist/views/system/recycle/index.vue.js.map +1 -0
- package/dist/views/system/recycle/index2.vue.js +121 -0
- package/dist/views/system/recycle/index2.vue.js.map +1 -0
- package/dist/views/system/role/components/GrantMenuTable.vue.d.ts +18 -0
- package/dist/views/system/role/components/GrantMenuTable.vue.js +8 -0
- package/dist/views/system/role/components/GrantMenuTable.vue.js.map +1 -0
- package/dist/views/system/role/components/GrantMenuTable2.vue.js +212 -0
- package/dist/views/system/role/components/GrantMenuTable2.vue.js.map +1 -0
- package/dist/views/system/role/components/grantMenuGroups.d.ts +31 -0
- package/dist/views/system/role/components/grantMenuGroups.js +76 -0
- package/dist/views/system/role/components/grantMenuGroups.js.map +1 -0
- package/dist/views/system/role/index.vue.d.ts +3 -0
- package/dist/views/system/role/index.vue.js +5 -0
- package/dist/views/system/role/index.vue.js.map +1 -0
- package/dist/views/system/role/index2.vue.js +476 -0
- package/dist/views/system/role/index2.vue.js.map +1 -0
- package/dist/views/system/session/index.vue.d.ts +3 -0
- package/dist/views/system/session/index.vue.js +5 -0
- package/dist/views/system/session/index.vue.js.map +1 -0
- package/dist/views/system/session/index2.vue.js +80 -0
- package/dist/views/system/session/index2.vue.js.map +1 -0
- package/dist/views/system/user/components/ResetPasswordModal.vue.d.ts +10 -0
- package/dist/views/system/user/components/ResetPasswordModal.vue.js +8 -0
- package/dist/views/system/user/components/ResetPasswordModal.vue.js.map +1 -0
- package/dist/views/system/user/components/ResetPasswordModal2.vue.js +111 -0
- package/dist/views/system/user/components/ResetPasswordModal2.vue.js.map +1 -0
- package/dist/views/system/user/components/UserFormModal.vue.d.ts +30 -0
- package/dist/views/system/user/components/UserFormModal.vue.js +8 -0
- package/dist/views/system/user/components/UserFormModal.vue.js.map +1 -0
- package/dist/views/system/user/components/UserFormModal2.vue.js +415 -0
- package/dist/views/system/user/components/UserFormModal2.vue.js.map +1 -0
- package/dist/views/system/user/index.vue.d.ts +3 -0
- package/dist/views/system/user/index.vue.js +8 -0
- package/dist/views/system/user/index.vue.js.map +1 -0
- package/dist/views/system/user/index2.vue.js +427 -0
- package/dist/views/system/user/index2.vue.js.map +1 -0
- package/package.json +99 -0
|
@@ -0,0 +1,380 @@
|
|
|
1
|
+
import { defineComponent as P, useModel as V, computed as h, openBlock as m, createBlock as v, unref as e, withCtx as a, createVNode as t, createTextVNode as i, toDisplayString as r, createElementVNode as k, createElementBlock as C, Fragment as $, renderList as E, normalizeStyle as F, normalizeClass as H, createCommentVNode as g } from "vue";
|
|
2
|
+
import { useMessage as I, NDrawer as L, NDrawerContent as R, NTabs as G, NTabPane as b, NDivider as d, NRadioGroup as w, NRadioButton as p, NColorPicker as O, NSwitch as f, NSelect as W, NInput as J, NButton as S, NPopconfirm as j } from "naive-ui";
|
|
3
|
+
import { Icon as c } from "@iconify/vue";
|
|
4
|
+
import { useI18n as q } from "vue-i18n";
|
|
5
|
+
import { useClipboard as K, useWindowSize as Q } from "@vueuse/core";
|
|
6
|
+
import { useAppStore as X } from "../stores/app.js";
|
|
7
|
+
import { ACCENTS as N } from "../theme/accents.js";
|
|
8
|
+
import { runtime as Y } from "../lib/runtime.js";
|
|
9
|
+
import u from "./SettingRow.vue.js";
|
|
10
|
+
import Z from "./LayoutModeCards.vue.js";
|
|
11
|
+
const ee = { class: "accents" }, te = ["aria-label", "aria-pressed", "onClick"], ae = { class: "footer-actions" }, ve = /* @__PURE__ */ P({
|
|
12
|
+
__name: "SettingsDrawer",
|
|
13
|
+
props: {
|
|
14
|
+
show: { type: Boolean, default: !1 },
|
|
15
|
+
showModifiers: {}
|
|
16
|
+
},
|
|
17
|
+
emits: ["update:show"],
|
|
18
|
+
setup(_) {
|
|
19
|
+
const y = V(_, "show"), o = X(), { t: l } = q(), x = I(), { copy: z, isSupported: U } = K(), T = U && Y.dev;
|
|
20
|
+
async function B() {
|
|
21
|
+
await z(JSON.stringify(o.exportSettings(), null, 2)), x.success(l("settings.configCopied"));
|
|
22
|
+
}
|
|
23
|
+
const { width: M } = Q(), D = h(() => Math.min(400, Math.round(M.value * 0.9))), A = h(() => [
|
|
24
|
+
{ label: l("settings.transitionNone"), value: "none" },
|
|
25
|
+
{ label: l("settings.transitionFade"), value: "fade" },
|
|
26
|
+
{ label: l("settings.transitionFadeSlide"), value: "fade-slide" }
|
|
27
|
+
]);
|
|
28
|
+
return (le, n) => (m(), v(e(L), {
|
|
29
|
+
show: y.value,
|
|
30
|
+
"onUpdate:show": n[12] || (n[12] = (s) => y.value = s),
|
|
31
|
+
width: D.value,
|
|
32
|
+
placement: "right"
|
|
33
|
+
}, {
|
|
34
|
+
default: a(() => [
|
|
35
|
+
t(e(R), {
|
|
36
|
+
title: e(l)("settings.title"),
|
|
37
|
+
closable: "",
|
|
38
|
+
"native-scrollbar": !1
|
|
39
|
+
}, {
|
|
40
|
+
footer: a(() => [
|
|
41
|
+
k("div", ae, [
|
|
42
|
+
e(T) ? (m(), v(e(S), {
|
|
43
|
+
key: 0,
|
|
44
|
+
block: "",
|
|
45
|
+
tertiary: "",
|
|
46
|
+
onClick: B
|
|
47
|
+
}, {
|
|
48
|
+
default: a(() => [
|
|
49
|
+
t(e(c), {
|
|
50
|
+
icon: "ph:clipboard-text",
|
|
51
|
+
class: "ri"
|
|
52
|
+
}),
|
|
53
|
+
i(" " + r(e(l)("settings.copyConfig")), 1)
|
|
54
|
+
]),
|
|
55
|
+
_: 1
|
|
56
|
+
})) : g("", !0),
|
|
57
|
+
t(e(j), {
|
|
58
|
+
onPositiveClick: n[11] || (n[11] = (s) => e(o).resetSettings())
|
|
59
|
+
}, {
|
|
60
|
+
trigger: a(() => [
|
|
61
|
+
t(e(S), {
|
|
62
|
+
block: "",
|
|
63
|
+
secondary: ""
|
|
64
|
+
}, {
|
|
65
|
+
default: a(() => [
|
|
66
|
+
t(e(c), {
|
|
67
|
+
icon: "ph:arrow-counter-clockwise",
|
|
68
|
+
class: "ri"
|
|
69
|
+
}),
|
|
70
|
+
i(" " + r(e(l)("common.reset")), 1)
|
|
71
|
+
]),
|
|
72
|
+
_: 1
|
|
73
|
+
})
|
|
74
|
+
]),
|
|
75
|
+
default: a(() => [
|
|
76
|
+
i(" " + r(e(l)("settings.resetConfirm")), 1)
|
|
77
|
+
]),
|
|
78
|
+
_: 1
|
|
79
|
+
})
|
|
80
|
+
])
|
|
81
|
+
]),
|
|
82
|
+
default: a(() => [
|
|
83
|
+
t(e(G), {
|
|
84
|
+
type: "segment",
|
|
85
|
+
size: "small",
|
|
86
|
+
animated: "",
|
|
87
|
+
class: "tabs"
|
|
88
|
+
}, {
|
|
89
|
+
default: a(() => [
|
|
90
|
+
t(e(b), {
|
|
91
|
+
name: "appearance",
|
|
92
|
+
tab: e(l)("settings.tabAppearance")
|
|
93
|
+
}, {
|
|
94
|
+
default: a(() => [
|
|
95
|
+
t(e(d), { "title-placement": "left" }, {
|
|
96
|
+
default: a(() => [
|
|
97
|
+
i(r(e(l)("settings.themeMode")), 1)
|
|
98
|
+
]),
|
|
99
|
+
_: 1
|
|
100
|
+
}),
|
|
101
|
+
t(e(w), {
|
|
102
|
+
value: e(o).themeScheme,
|
|
103
|
+
"onUpdate:value": n[0] || (n[0] = (s) => e(o).themeScheme = s),
|
|
104
|
+
size: "small",
|
|
105
|
+
class: "seg"
|
|
106
|
+
}, {
|
|
107
|
+
default: a(() => [
|
|
108
|
+
t(e(p), { value: "light" }, {
|
|
109
|
+
default: a(() => [
|
|
110
|
+
t(e(c), {
|
|
111
|
+
icon: "ph:sun",
|
|
112
|
+
class: "ri"
|
|
113
|
+
}),
|
|
114
|
+
i(" " + r(e(l)("app.light")), 1)
|
|
115
|
+
]),
|
|
116
|
+
_: 1
|
|
117
|
+
}),
|
|
118
|
+
t(e(p), { value: "dark" }, {
|
|
119
|
+
default: a(() => [
|
|
120
|
+
t(e(c), {
|
|
121
|
+
icon: "ph:moon-stars",
|
|
122
|
+
class: "ri"
|
|
123
|
+
}),
|
|
124
|
+
i(" " + r(e(l)("app.dark")), 1)
|
|
125
|
+
]),
|
|
126
|
+
_: 1
|
|
127
|
+
}),
|
|
128
|
+
t(e(p), { value: "auto" }, {
|
|
129
|
+
default: a(() => [
|
|
130
|
+
t(e(c), {
|
|
131
|
+
icon: "ph:circle-half",
|
|
132
|
+
class: "ri"
|
|
133
|
+
}),
|
|
134
|
+
i(" " + r(e(l)("settings.auto")), 1)
|
|
135
|
+
]),
|
|
136
|
+
_: 1
|
|
137
|
+
})
|
|
138
|
+
]),
|
|
139
|
+
_: 1
|
|
140
|
+
}, 8, ["value"]),
|
|
141
|
+
t(e(d), { "title-placement": "left" }, {
|
|
142
|
+
default: a(() => [
|
|
143
|
+
i(r(e(l)("settings.themeColor")), 1)
|
|
144
|
+
]),
|
|
145
|
+
_: 1
|
|
146
|
+
}),
|
|
147
|
+
k("div", ee, [
|
|
148
|
+
(m(!0), C($, null, E(e(N), (s) => (m(), C("button", {
|
|
149
|
+
key: s,
|
|
150
|
+
type: "button",
|
|
151
|
+
class: H(["dot", { on: e(o).accent === s }]),
|
|
152
|
+
style: F({ background: s }),
|
|
153
|
+
"aria-label": `${e(l)("settings.themeColor")} ${s}`,
|
|
154
|
+
"aria-pressed": e(o).accent === s,
|
|
155
|
+
onClick: (se) => e(o).setAccent(s)
|
|
156
|
+
}, [
|
|
157
|
+
e(o).accent === s ? (m(), v(e(c), {
|
|
158
|
+
key: 0,
|
|
159
|
+
icon: "ph:check-bold",
|
|
160
|
+
class: "tick"
|
|
161
|
+
})) : g("", !0)
|
|
162
|
+
], 14, te))), 128))
|
|
163
|
+
]),
|
|
164
|
+
t(e(O), {
|
|
165
|
+
value: e(o).accent,
|
|
166
|
+
modes: ["hex"],
|
|
167
|
+
"show-alpha": !1,
|
|
168
|
+
swatches: [...e(N)],
|
|
169
|
+
"onUpdate:value": e(o).setAccent
|
|
170
|
+
}, null, 8, ["value", "swatches", "onUpdate:value"]),
|
|
171
|
+
t(e(d), { "title-placement": "left" }, {
|
|
172
|
+
default: a(() => [
|
|
173
|
+
i(r(e(l)("app.density")), 1)
|
|
174
|
+
]),
|
|
175
|
+
_: 1
|
|
176
|
+
}),
|
|
177
|
+
t(e(w), {
|
|
178
|
+
value: e(o).density,
|
|
179
|
+
"onUpdate:value": n[1] || (n[1] = (s) => e(o).density = s),
|
|
180
|
+
size: "small",
|
|
181
|
+
class: "seg"
|
|
182
|
+
}, {
|
|
183
|
+
default: a(() => [
|
|
184
|
+
t(e(p), { value: "comfortable" }, {
|
|
185
|
+
default: a(() => [
|
|
186
|
+
i(r(e(l)("app.comfortable")), 1)
|
|
187
|
+
]),
|
|
188
|
+
_: 1
|
|
189
|
+
}),
|
|
190
|
+
t(e(p), { value: "compact" }, {
|
|
191
|
+
default: a(() => [
|
|
192
|
+
i(r(e(l)("app.compact")), 1)
|
|
193
|
+
]),
|
|
194
|
+
_: 1
|
|
195
|
+
})
|
|
196
|
+
]),
|
|
197
|
+
_: 1
|
|
198
|
+
}, 8, ["value"])
|
|
199
|
+
]),
|
|
200
|
+
_: 1
|
|
201
|
+
}, 8, ["tab"]),
|
|
202
|
+
t(e(b), {
|
|
203
|
+
name: "layout",
|
|
204
|
+
tab: e(l)("settings.tabLayout")
|
|
205
|
+
}, {
|
|
206
|
+
default: a(() => [
|
|
207
|
+
t(e(d), { "title-placement": "left" }, {
|
|
208
|
+
default: a(() => [
|
|
209
|
+
i(r(e(l)("settings.layout")), 1)
|
|
210
|
+
]),
|
|
211
|
+
_: 1
|
|
212
|
+
}),
|
|
213
|
+
t(Z),
|
|
214
|
+
t(e(d), { "title-placement": "left" }, {
|
|
215
|
+
default: a(() => [
|
|
216
|
+
i(r(e(l)("settings.interface")), 1)
|
|
217
|
+
]),
|
|
218
|
+
_: 1
|
|
219
|
+
}),
|
|
220
|
+
t(u, {
|
|
221
|
+
label: e(l)("settings.showBreadcrumb")
|
|
222
|
+
}, {
|
|
223
|
+
default: a(() => [
|
|
224
|
+
t(e(f), {
|
|
225
|
+
value: e(o).showBreadcrumb,
|
|
226
|
+
"onUpdate:value": n[2] || (n[2] = (s) => e(o).showBreadcrumb = s),
|
|
227
|
+
size: "small"
|
|
228
|
+
}, null, 8, ["value"])
|
|
229
|
+
]),
|
|
230
|
+
_: 1
|
|
231
|
+
}, 8, ["label"]),
|
|
232
|
+
t(u, {
|
|
233
|
+
label: e(l)("settings.showTabs")
|
|
234
|
+
}, {
|
|
235
|
+
default: a(() => [
|
|
236
|
+
t(e(f), {
|
|
237
|
+
value: e(o).showTabs,
|
|
238
|
+
"onUpdate:value": n[3] || (n[3] = (s) => e(o).showTabs = s),
|
|
239
|
+
size: "small"
|
|
240
|
+
}, null, 8, ["value"])
|
|
241
|
+
]),
|
|
242
|
+
_: 1
|
|
243
|
+
}, 8, ["label"]),
|
|
244
|
+
t(u, {
|
|
245
|
+
label: e(l)("settings.fixedHeader")
|
|
246
|
+
}, {
|
|
247
|
+
default: a(() => [
|
|
248
|
+
t(e(f), {
|
|
249
|
+
value: e(o).fixedHeader,
|
|
250
|
+
"onUpdate:value": n[4] || (n[4] = (s) => e(o).fixedHeader = s),
|
|
251
|
+
size: "small"
|
|
252
|
+
}, null, 8, ["value"])
|
|
253
|
+
]),
|
|
254
|
+
_: 1
|
|
255
|
+
}, 8, ["label"]),
|
|
256
|
+
t(u, {
|
|
257
|
+
label: e(l)("settings.pageTransition")
|
|
258
|
+
}, {
|
|
259
|
+
default: a(() => [
|
|
260
|
+
t(e(W), {
|
|
261
|
+
value: e(o).pageTransition,
|
|
262
|
+
"onUpdate:value": n[5] || (n[5] = (s) => e(o).pageTransition = s),
|
|
263
|
+
options: A.value,
|
|
264
|
+
size: "small",
|
|
265
|
+
style: { width: "120px" }
|
|
266
|
+
}, null, 8, ["value", "options"])
|
|
267
|
+
]),
|
|
268
|
+
_: 1
|
|
269
|
+
}, 8, ["label"]),
|
|
270
|
+
t(u, {
|
|
271
|
+
label: e(l)("settings.grayscale")
|
|
272
|
+
}, {
|
|
273
|
+
default: a(() => [
|
|
274
|
+
t(e(f), {
|
|
275
|
+
value: e(o).grayscale,
|
|
276
|
+
"onUpdate:value": n[6] || (n[6] = (s) => e(o).grayscale = s),
|
|
277
|
+
size: "small"
|
|
278
|
+
}, null, 8, ["value"])
|
|
279
|
+
]),
|
|
280
|
+
_: 1
|
|
281
|
+
}, 8, ["label"]),
|
|
282
|
+
t(u, {
|
|
283
|
+
label: e(l)("app.collapse")
|
|
284
|
+
}, {
|
|
285
|
+
default: a(() => [
|
|
286
|
+
t(e(f), {
|
|
287
|
+
value: e(o).collapsed,
|
|
288
|
+
"onUpdate:value": n[7] || (n[7] = (s) => e(o).collapsed = s),
|
|
289
|
+
size: "small"
|
|
290
|
+
}, null, 8, ["value"])
|
|
291
|
+
]),
|
|
292
|
+
_: 1
|
|
293
|
+
}, 8, ["label"])
|
|
294
|
+
]),
|
|
295
|
+
_: 1
|
|
296
|
+
}, 8, ["tab"]),
|
|
297
|
+
t(e(b), {
|
|
298
|
+
name: "general",
|
|
299
|
+
tab: e(l)("settings.tabGeneral")
|
|
300
|
+
}, {
|
|
301
|
+
default: a(() => [
|
|
302
|
+
t(e(d), { "title-placement": "left" }, {
|
|
303
|
+
default: a(() => [
|
|
304
|
+
i(r(e(l)("settings.watermark")), 1)
|
|
305
|
+
]),
|
|
306
|
+
_: 1
|
|
307
|
+
}),
|
|
308
|
+
t(u, {
|
|
309
|
+
label: e(l)("settings.watermark")
|
|
310
|
+
}, {
|
|
311
|
+
default: a(() => [
|
|
312
|
+
t(e(f), {
|
|
313
|
+
value: e(o).watermark,
|
|
314
|
+
"onUpdate:value": n[8] || (n[8] = (s) => e(o).watermark = s),
|
|
315
|
+
size: "small"
|
|
316
|
+
}, null, 8, ["value"])
|
|
317
|
+
]),
|
|
318
|
+
_: 1
|
|
319
|
+
}, 8, ["label"]),
|
|
320
|
+
e(o).watermark ? (m(), v(u, {
|
|
321
|
+
key: 0,
|
|
322
|
+
label: e(l)("settings.watermarkText")
|
|
323
|
+
}, {
|
|
324
|
+
default: a(() => [
|
|
325
|
+
t(e(J), {
|
|
326
|
+
value: e(o).watermarkText,
|
|
327
|
+
"onUpdate:value": n[9] || (n[9] = (s) => e(o).watermarkText = s),
|
|
328
|
+
size: "small",
|
|
329
|
+
placeholder: e(l)("settings.watermarkPlaceholder"),
|
|
330
|
+
style: { width: "140px" }
|
|
331
|
+
}, null, 8, ["value", "placeholder"])
|
|
332
|
+
]),
|
|
333
|
+
_: 1
|
|
334
|
+
}, 8, ["label"])) : g("", !0),
|
|
335
|
+
t(e(d), { "title-placement": "left" }, {
|
|
336
|
+
default: a(() => [
|
|
337
|
+
i(r(e(l)("settings.formStyle")), 1)
|
|
338
|
+
]),
|
|
339
|
+
_: 1
|
|
340
|
+
}),
|
|
341
|
+
t(e(w), {
|
|
342
|
+
value: e(o).formStyle,
|
|
343
|
+
"onUpdate:value": n[10] || (n[10] = (s) => e(o).formStyle = s),
|
|
344
|
+
size: "small",
|
|
345
|
+
class: "seg"
|
|
346
|
+
}, {
|
|
347
|
+
default: a(() => [
|
|
348
|
+
t(e(p), { value: "modal" }, {
|
|
349
|
+
default: a(() => [
|
|
350
|
+
i(r(e(l)("settings.formStyleModal")), 1)
|
|
351
|
+
]),
|
|
352
|
+
_: 1
|
|
353
|
+
}),
|
|
354
|
+
t(e(p), { value: "drawer" }, {
|
|
355
|
+
default: a(() => [
|
|
356
|
+
i(r(e(l)("settings.formStyleDrawer")), 1)
|
|
357
|
+
]),
|
|
358
|
+
_: 1
|
|
359
|
+
})
|
|
360
|
+
]),
|
|
361
|
+
_: 1
|
|
362
|
+
}, 8, ["value"])
|
|
363
|
+
]),
|
|
364
|
+
_: 1
|
|
365
|
+
}, 8, ["tab"])
|
|
366
|
+
]),
|
|
367
|
+
_: 1
|
|
368
|
+
})
|
|
369
|
+
]),
|
|
370
|
+
_: 1
|
|
371
|
+
}, 8, ["title"])
|
|
372
|
+
]),
|
|
373
|
+
_: 1
|
|
374
|
+
}, 8, ["show", "width"]));
|
|
375
|
+
}
|
|
376
|
+
});
|
|
377
|
+
export {
|
|
378
|
+
ve as default
|
|
379
|
+
};
|
|
380
|
+
//# sourceMappingURL=SettingsDrawer2.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettingsDrawer2.vue.js","sources":["../../src/layouts/SettingsDrawer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {\n NDrawer,\n NDrawerContent,\n NTabs,\n NTabPane,\n NDivider,\n NRadioGroup,\n NRadioButton,\n NColorPicker,\n NSwitch,\n NSelect,\n NInput,\n NPopconfirm,\n NButton,\n} from 'naive-ui'\nimport { computed } from 'vue'\nimport { Icon } from '@iconify/vue'\nimport { useI18n } from 'vue-i18n'\nimport { useMessage } from 'naive-ui'\nimport { useWindowSize, useClipboard } from '@vueuse/core'\nimport { useAppStore } from '#/stores/app'\nimport { ACCENTS } from '#/theme/accents'\nimport { runtime } from '#/lib/runtime'\nimport SettingRow from './SettingRow.vue'\nimport LayoutModeCards from './LayoutModeCards.vue'\n\nconst show = defineModel<boolean>('show', { default: false })\nconst app = useAppStore()\nconst { t } = useI18n()\nconst message = useMessage()\nconst { copy, isSupported } = useClipboard()\n// 「复制配置」是给内核开发者改 stores/app.ts 的 DEFAULTS 用的开发期动作,不该出现在终端管理员的设置里——仅开发态显示。\nconst showCopyConfig = isSupported && runtime.dev\n\n// 复制当前外观配置(内核开发者粘回 stores/app.ts 的 DEFAULTS 即为新默认)。\nasync function copyConfig() {\n await copy(JSON.stringify(app.exportSettings(), null, 2))\n message.success(t('settings.configCopied'))\n}\n\n// 窄屏不溢出:抽屉宽度取 min(400, 90vw)。加宽给布局卡片两列留出余量。\nconst { width } = useWindowSize()\nconst drawerWidth = computed(() => Math.min(400, Math.round(width.value * 0.9)))\n\n// computed:t() 一次求值不随语言切换更新,故包 computed 让下拉标签跟随 locale。\nconst transitionOptions = computed(() => [\n { label: t('settings.transitionNone'), value: 'none' },\n { label: t('settings.transitionFade'), value: 'fade' },\n { label: t('settings.transitionFadeSlide'), value: 'fade-slide' },\n])\n</script>\n\n<template>\n <n-drawer v-model:show=\"show\" :width=\"drawerWidth\" placement=\"right\">\n <n-drawer-content :title=\"t('settings.title')\" closable :native-scrollbar=\"false\">\n <n-tabs type=\"segment\" size=\"small\" animated class=\"tabs\">\n <!-- 外观 -->\n <n-tab-pane name=\"appearance\" :tab=\"t('settings.tabAppearance')\">\n <n-divider title-placement=\"left\">{{ t('settings.themeMode') }}</n-divider>\n <n-radio-group v-model:value=\"app.themeScheme\" size=\"small\" class=\"seg\">\n <n-radio-button value=\"light\">\n <Icon icon=\"ph:sun\" class=\"ri\" />\n {{ t('app.light') }}\n </n-radio-button>\n <n-radio-button value=\"dark\">\n <Icon icon=\"ph:moon-stars\" class=\"ri\" />\n {{ t('app.dark') }}\n </n-radio-button>\n <n-radio-button value=\"auto\">\n <Icon icon=\"ph:circle-half\" class=\"ri\" />\n {{ t('settings.auto') }}\n </n-radio-button>\n </n-radio-group>\n\n <n-divider title-placement=\"left\">{{ t('settings.themeColor') }}</n-divider>\n <div class=\"accents\">\n <button\n v-for=\"c in ACCENTS\"\n :key=\"c\"\n type=\"button\"\n class=\"dot\"\n :class=\"{ on: app.accent === c }\"\n :style=\"{ background: c }\"\n :aria-label=\"`${t('settings.themeColor')} ${c}`\"\n :aria-pressed=\"app.accent === c\"\n @click=\"app.setAccent(c)\"\n >\n <Icon v-if=\"app.accent === c\" icon=\"ph:check-bold\" class=\"tick\" />\n </button>\n </div>\n <n-color-picker\n :value=\"app.accent\"\n :modes=\"['hex']\"\n :show-alpha=\"false\"\n :swatches=\"[...ACCENTS]\"\n @update:value=\"app.setAccent\"\n />\n\n <n-divider title-placement=\"left\">{{ t('app.density') }}</n-divider>\n <n-radio-group v-model:value=\"app.density\" size=\"small\" class=\"seg\">\n <n-radio-button value=\"comfortable\">{{ t('app.comfortable') }}</n-radio-button>\n <n-radio-button value=\"compact\">{{ t('app.compact') }}</n-radio-button>\n </n-radio-group>\n </n-tab-pane>\n\n <!-- 布局 -->\n <n-tab-pane name=\"layout\" :tab=\"t('settings.tabLayout')\">\n <n-divider title-placement=\"left\">{{ t('settings.layout') }}</n-divider>\n <LayoutModeCards />\n\n <n-divider title-placement=\"left\">{{ t('settings.interface') }}</n-divider>\n <SettingRow :label=\"t('settings.showBreadcrumb')\">\n <n-switch v-model:value=\"app.showBreadcrumb\" size=\"small\" />\n </SettingRow>\n <SettingRow :label=\"t('settings.showTabs')\">\n <n-switch v-model:value=\"app.showTabs\" size=\"small\" />\n </SettingRow>\n <SettingRow :label=\"t('settings.fixedHeader')\">\n <n-switch v-model:value=\"app.fixedHeader\" size=\"small\" />\n </SettingRow>\n <SettingRow :label=\"t('settings.pageTransition')\">\n <n-select\n v-model:value=\"app.pageTransition\"\n :options=\"transitionOptions\"\n size=\"small\"\n style=\"width: 120px\"\n />\n </SettingRow>\n <SettingRow :label=\"t('settings.grayscale')\">\n <n-switch v-model:value=\"app.grayscale\" size=\"small\" />\n </SettingRow>\n <SettingRow :label=\"t('app.collapse')\">\n <n-switch v-model:value=\"app.collapsed\" size=\"small\" />\n </SettingRow>\n </n-tab-pane>\n\n <!-- 通用 -->\n <n-tab-pane name=\"general\" :tab=\"t('settings.tabGeneral')\">\n <n-divider title-placement=\"left\">{{ t('settings.watermark') }}</n-divider>\n <SettingRow :label=\"t('settings.watermark')\">\n <n-switch v-model:value=\"app.watermark\" size=\"small\" />\n </SettingRow>\n <SettingRow v-if=\"app.watermark\" :label=\"t('settings.watermarkText')\">\n <n-input\n v-model:value=\"app.watermarkText\"\n size=\"small\"\n :placeholder=\"t('settings.watermarkPlaceholder')\"\n style=\"width: 140px\"\n />\n </SettingRow>\n\n <n-divider title-placement=\"left\">{{ t('settings.formStyle') }}</n-divider>\n <!-- FormContainer 全局形态:所有 CRUD 表单弹层一键在弹窗/抽屉间切换 -->\n <n-radio-group v-model:value=\"app.formStyle\" size=\"small\" class=\"seg\">\n <n-radio-button value=\"modal\">{{ t('settings.formStyleModal') }}</n-radio-button>\n <n-radio-button value=\"drawer\">{{ t('settings.formStyleDrawer') }}</n-radio-button>\n </n-radio-group>\n </n-tab-pane>\n </n-tabs>\n\n <template #footer>\n <div class=\"footer-actions\">\n <n-button v-if=\"showCopyConfig\" block tertiary @click=\"copyConfig\">\n <Icon icon=\"ph:clipboard-text\" class=\"ri\" />\n {{ t('settings.copyConfig') }}\n </n-button>\n <n-popconfirm @positive-click=\"app.resetSettings()\">\n <template #trigger>\n <n-button block secondary>\n <Icon icon=\"ph:arrow-counter-clockwise\" class=\"ri\" />\n {{ t('common.reset') }}\n </n-button>\n </template>\n {{ t('settings.resetConfirm') }}\n </n-popconfirm>\n </div>\n </template>\n </n-drawer-content>\n </n-drawer>\n</template>\n\n<style scoped>\n.tabs {\n height: 100%;\n}\n.footer-actions {\n display: flex;\n flex-direction: column;\n gap: 8px;\n width: 100%;\n}\n.ri {\n margin-right: 5px;\n font-size: 15px;\n}\n\n/* 满宽三等分分段控件(主题模式 / 密度) */\n.seg {\n display: flex;\n width: 100%;\n}\n.seg :deep(.n-radio-button) {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n/* 精致色板 */\n.accents {\n display: grid;\n grid-template-columns: repeat(6, 1fr);\n gap: 10px;\n margin-bottom: 12px;\n}\n.dot {\n position: relative;\n width: 100%;\n max-width: 30px;\n margin: 0 auto;\n aspect-ratio: 1;\n padding: 0;\n border: none;\n border-radius: 50%;\n cursor: pointer;\n box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08);\n display: flex;\n align-items: center;\n justify-content: center;\n transition:\n transform 0.15s ease,\n box-shadow 0.15s ease;\n}\n.dot:hover {\n transform: scale(1.12);\n}\n.dot.on {\n transform: scale(1.1);\n box-shadow:\n 0 0 0 2px var(--color-bg-container),\n 0 0 0 4px var(--color-primary);\n}\n.tick {\n color: #fff;\n font-size: 14px;\n filter: drop-shadow(0 0 1px rgba(0, 0, 0, 0.35));\n}\n</style>\n"],"names":["show","_useModel","__props","app","useAppStore","t","useI18n","message","useMessage","copy","isSupported","useClipboard","showCopyConfig","runtime","copyConfig","width","useWindowSize","drawerWidth","computed","transitionOptions","_createBlock","_unref","NDrawer","$event","_createVNode","NDrawerContent","_createElementVNode","_hoisted_3","NButton","Icon","_createTextVNode","NPopconfirm","_cache","NTabs","NTabPane","NDivider","NRadioGroup","NRadioButton","_hoisted_1","_createElementBlock","_Fragment","_renderList","ACCENTS","c","NColorPicker","LayoutModeCards","SettingRow","NSwitch","NSelect","NInput"],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const __VLS_export: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
declare const _default: typeof __VLS_export;
|
|
3
|
+
export default _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabsBar.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { defineComponent as I, computed as _, ref as h, watch as V, nextTick as T, openBlock as c, createElementBlock as v, createVNode as g, unref as a, withCtx as z, createElementVNode as $, Fragment as D, renderList as L, withModifiers as p, withKeys as f, normalizeClass as M, createBlock as d, createCommentVNode as S, toDisplayString as O, h as P } from "vue";
|
|
2
|
+
import { useRoute as E, useRouter as X } from "vue-router";
|
|
3
|
+
import { NScrollbar as Y, NDropdown as q } from "naive-ui";
|
|
4
|
+
import { Icon as x } from "@iconify/vue";
|
|
5
|
+
import F from "../components/AppIcon.vue.js";
|
|
6
|
+
import { useI18n as j } from "vue-i18n";
|
|
7
|
+
import { useTabsStore as G } from "../stores/tabs.js";
|
|
8
|
+
import { translateMenuTitle as H } from "../locales/menuTitle.js";
|
|
9
|
+
const J = { class: "tabsbar" }, Q = ["onClick", "onKeydown", "onContextmenu", "onAuxclick"], U = { class: "chip-label" }, re = /* @__PURE__ */ I({
|
|
10
|
+
__name: "TabsBar",
|
|
11
|
+
setup(W) {
|
|
12
|
+
const n = G(), m = E(), R = X(), { t: s } = j(), w = _(() => m.path), k = h();
|
|
13
|
+
function K(e) {
|
|
14
|
+
return H(e.title, e.path);
|
|
15
|
+
}
|
|
16
|
+
function b(e) {
|
|
17
|
+
e.path !== m.path && R.push(e.fullPath);
|
|
18
|
+
}
|
|
19
|
+
function r(e) {
|
|
20
|
+
return () => P(x, { icon: e, width: 16 });
|
|
21
|
+
}
|
|
22
|
+
const u = h(!1), y = h(0), C = h(0), i = h(), N = _(() => {
|
|
23
|
+
var e, t, o, l;
|
|
24
|
+
return [
|
|
25
|
+
{ label: s("tabs.refresh"), key: "refresh", icon: r("ph:arrow-clockwise") },
|
|
26
|
+
// 应用首页(affix)恒固定,不提供固定/取消项;其余标签可用户手动固定。
|
|
27
|
+
{
|
|
28
|
+
label: (e = i.value) != null && e.pinned ? s("tabs.unpin") : s("tabs.pin"),
|
|
29
|
+
key: "pin",
|
|
30
|
+
icon: r("ph:push-pin"),
|
|
31
|
+
disabled: (t = i.value) == null ? void 0 : t.affix
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
label: s("tabs.close"),
|
|
35
|
+
key: "close",
|
|
36
|
+
icon: r("ph:x"),
|
|
37
|
+
disabled: ((o = i.value) == null ? void 0 : o.affix) || ((l = i.value) == null ? void 0 : l.pinned)
|
|
38
|
+
},
|
|
39
|
+
{ label: s("tabs.closeOthers"), key: "others", icon: r("ph:arrows-in-line-horizontal") },
|
|
40
|
+
{ label: s("tabs.closeLeft"), key: "left", icon: r("ph:arrow-line-left") },
|
|
41
|
+
{ label: s("tabs.closeRight"), key: "right", icon: r("ph:arrow-line-right") },
|
|
42
|
+
{ label: s("tabs.closeAll"), key: "all", icon: r("ph:list-dashes") }
|
|
43
|
+
];
|
|
44
|
+
});
|
|
45
|
+
function A(e, t) {
|
|
46
|
+
e.preventDefault(), i.value = t, u.value = !1, T(() => {
|
|
47
|
+
y.value = e.clientX, C.value = e.clientY, u.value = !0;
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
function B(e) {
|
|
51
|
+
u.value = !1;
|
|
52
|
+
const t = i.value;
|
|
53
|
+
t && (e === "refresh" ? n.refreshTab(t.name) : e === "pin" ? n.togglePin(t.path) : e === "close" ? n.removeTab(t.path) : e === "others" ? n.closeOthers(t.path) : e === "left" ? n.closeLeft(t.path) : e === "right" ? n.closeRight(t.path) : e === "all" && n.closeAll());
|
|
54
|
+
}
|
|
55
|
+
return V(w, () => {
|
|
56
|
+
T(
|
|
57
|
+
() => {
|
|
58
|
+
var e, t;
|
|
59
|
+
return (t = (e = k.value) == null ? void 0 : e.querySelector(".chip.active")) == null ? void 0 : t.scrollIntoView({ block: "nearest", inline: "nearest" });
|
|
60
|
+
}
|
|
61
|
+
);
|
|
62
|
+
}), (e, t) => (c(), v("div", J, [
|
|
63
|
+
g(a(Y), { "x-scrollable": "" }, {
|
|
64
|
+
default: z(() => [
|
|
65
|
+
$("div", {
|
|
66
|
+
ref_key: "stripRef",
|
|
67
|
+
ref: k,
|
|
68
|
+
class: "strip"
|
|
69
|
+
}, [
|
|
70
|
+
(c(!0), v(D, null, L(a(n).tabs, (o) => (c(), v("div", {
|
|
71
|
+
key: o.path,
|
|
72
|
+
class: M(["chip", { active: o.path === w.value }]),
|
|
73
|
+
role: "button",
|
|
74
|
+
tabindex: "0",
|
|
75
|
+
onClick: (l) => b(o),
|
|
76
|
+
onKeydown: [
|
|
77
|
+
f((l) => b(o), ["enter"]),
|
|
78
|
+
f(p((l) => b(o), ["prevent"]), ["space"])
|
|
79
|
+
],
|
|
80
|
+
onContextmenu: (l) => A(l, o),
|
|
81
|
+
onMousedown: t[0] || (t[0] = p(() => {
|
|
82
|
+
}, ["middle", "prevent"])),
|
|
83
|
+
onAuxclick: p((l) => a(n).removeTab(o.path), ["middle", "prevent"])
|
|
84
|
+
}, [
|
|
85
|
+
o.icon ? (c(), d(F, {
|
|
86
|
+
key: 0,
|
|
87
|
+
icon: o.icon,
|
|
88
|
+
size: 15,
|
|
89
|
+
class: "chip-icon"
|
|
90
|
+
}, null, 8, ["icon"])) : S("", !0),
|
|
91
|
+
$("span", U, O(K(o)), 1),
|
|
92
|
+
o.pinned ? (c(), d(a(x), {
|
|
93
|
+
key: 1,
|
|
94
|
+
icon: "ph:push-pin-fill",
|
|
95
|
+
width: 12,
|
|
96
|
+
class: "chip-pin"
|
|
97
|
+
})) : o.affix ? S("", !0) : (c(), d(a(x), {
|
|
98
|
+
key: 2,
|
|
99
|
+
icon: "ph:x",
|
|
100
|
+
width: 13,
|
|
101
|
+
class: "chip-close",
|
|
102
|
+
role: "button",
|
|
103
|
+
tabindex: "0",
|
|
104
|
+
"aria-label": a(s)("tabs.close"),
|
|
105
|
+
onClick: p((l) => a(n).removeTab(o.path), ["stop"]),
|
|
106
|
+
onKeydown: [
|
|
107
|
+
f(p((l) => a(n).removeTab(o.path), ["stop"]), ["enter"]),
|
|
108
|
+
f(p((l) => a(n).removeTab(o.path), ["stop", "prevent"]), ["space"])
|
|
109
|
+
]
|
|
110
|
+
}, null, 8, ["aria-label", "onClick", "onKeydown"]))
|
|
111
|
+
], 42, Q))), 128))
|
|
112
|
+
], 512)
|
|
113
|
+
]),
|
|
114
|
+
_: 1
|
|
115
|
+
}),
|
|
116
|
+
g(a(q), {
|
|
117
|
+
trigger: "manual",
|
|
118
|
+
placement: "bottom-start",
|
|
119
|
+
show: u.value,
|
|
120
|
+
x: y.value,
|
|
121
|
+
y: C.value,
|
|
122
|
+
options: N.value,
|
|
123
|
+
onSelect: B,
|
|
124
|
+
onClickoutside: t[1] || (t[1] = (o) => u.value = !1)
|
|
125
|
+
}, null, 8, ["show", "x", "y", "options"])
|
|
126
|
+
]));
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
export {
|
|
130
|
+
re as default
|
|
131
|
+
};
|
|
132
|
+
//# sourceMappingURL=TabsBar2.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabsBar2.vue.js","sources":["../../src/layouts/TabsBar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, h, nextTick, ref, watch } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\nimport { NDropdown, NScrollbar, type DropdownOption } from 'naive-ui'\nimport { Icon } from '@iconify/vue'\nimport AppIcon from '#/components/AppIcon.vue'\nimport { useI18n } from 'vue-i18n'\nimport { useTabsStore, type TabItem } from '#/stores/tabs'\nimport { translateMenuTitle } from '#/locales/menuTitle'\n\nconst tabs = useTabsStore()\nconst route = useRoute()\nconst router = useRouter()\nconst { t } = useI18n()\n\nconst activePath = computed(() => route.path)\nconst stripRef = ref<HTMLElement>()\n\nfunction tabTitle(item: TabItem) {\n return translateMenuTitle(item.title, item.path)\n}\nfunction onClick(item: TabItem) {\n if (item.path !== route.path) router.push(item.fullPath)\n}\n\nfunction renderIcon(name: string) {\n return () => h(Icon, { icon: name, width: 16 })\n}\n\nconst ctxShow = ref(false)\nconst ctxX = ref(0)\nconst ctxY = ref(0)\nconst ctxTab = ref<TabItem>()\nconst ctxOptions = computed<DropdownOption[]>(() => [\n { label: t('tabs.refresh'), key: 'refresh', icon: renderIcon('ph:arrow-clockwise') },\n // 应用首页(affix)恒固定,不提供固定/取消项;其余标签可用户手动固定。\n {\n label: ctxTab.value?.pinned ? t('tabs.unpin') : t('tabs.pin'),\n key: 'pin',\n icon: renderIcon('ph:push-pin'),\n disabled: ctxTab.value?.affix,\n },\n {\n label: t('tabs.close'),\n key: 'close',\n icon: renderIcon('ph:x'),\n disabled: ctxTab.value?.affix || ctxTab.value?.pinned,\n },\n { label: t('tabs.closeOthers'), key: 'others', icon: renderIcon('ph:arrows-in-line-horizontal') },\n { label: t('tabs.closeLeft'), key: 'left', icon: renderIcon('ph:arrow-line-left') },\n { label: t('tabs.closeRight'), key: 'right', icon: renderIcon('ph:arrow-line-right') },\n { label: t('tabs.closeAll'), key: 'all', icon: renderIcon('ph:list-dashes') },\n])\n\nfunction onContext(e: MouseEvent, item: TabItem) {\n e.preventDefault()\n ctxTab.value = item\n // 先关再于 nextTick 重开:菜单已展开时右键切到别的标签,只改坐标 NDropdown 不会重定位。\n ctxShow.value = false\n nextTick(() => {\n ctxX.value = e.clientX\n ctxY.value = e.clientY\n ctxShow.value = true\n })\n}\nfunction onCtxSelect(key: string) {\n ctxShow.value = false\n const tab = ctxTab.value\n if (!tab) return\n if (key === 'refresh') tabs.refreshTab(tab.name)\n else if (key === 'pin') tabs.togglePin(tab.path)\n else if (key === 'close') tabs.removeTab(tab.path)\n else if (key === 'others') tabs.closeOthers(tab.path)\n else if (key === 'left') tabs.closeLeft(tab.path)\n else if (key === 'right') tabs.closeRight(tab.path)\n else if (key === 'all') tabs.closeAll()\n}\n\n// 激活标签滚入视野\nwatch(activePath, () => {\n nextTick(() =>\n stripRef.value\n ?.querySelector('.chip.active')\n ?.scrollIntoView({ block: 'nearest', inline: 'nearest' }),\n )\n})\n</script>\n\n<template>\n <div class=\"tabsbar\">\n <n-scrollbar x-scrollable>\n <div ref=\"stripRef\" class=\"strip\">\n <!-- chip 与关闭 X 均为可点非按钮元素:补 role/tabindex/键盘激活,键盘用户也能切换/关闭标签(右键菜单是鼠标专属) -->\n <div\n v-for=\"item in tabs.tabs\"\n :key=\"item.path\"\n class=\"chip\"\n :class=\"{ active: item.path === activePath }\"\n role=\"button\"\n tabindex=\"0\"\n @click=\"onClick(item)\"\n @keydown.enter=\"onClick(item)\"\n @keydown.space.prevent=\"onClick(item)\"\n @contextmenu=\"onContext($event, item)\"\n @mousedown.middle.prevent\n @auxclick.middle.prevent=\"tabs.removeTab(item.path)\"\n >\n <!-- 标签图标沿用菜单元数据,可能不在离线子集内 → 走 AppIcon 的懒加载兜底 -->\n <AppIcon v-if=\"item.icon\" :icon=\"item.icon\" :size=\"15\" class=\"chip-icon\" />\n <span class=\"chip-label\">{{ tabTitle(item) }}</span>\n <!-- 固定标签(用户 pin)显示图钉、不显示关闭 X;应用首页 affix 两者都不显示 -->\n <Icon v-if=\"item.pinned\" icon=\"ph:push-pin-fill\" :width=\"12\" class=\"chip-pin\" />\n <Icon\n v-else-if=\"!item.affix\"\n icon=\"ph:x\"\n :width=\"13\"\n class=\"chip-close\"\n role=\"button\"\n tabindex=\"0\"\n :aria-label=\"t('tabs.close')\"\n @click.stop=\"tabs.removeTab(item.path)\"\n @keydown.enter.stop=\"tabs.removeTab(item.path)\"\n @keydown.space.stop.prevent=\"tabs.removeTab(item.path)\"\n />\n </div>\n </div>\n </n-scrollbar>\n <n-dropdown\n trigger=\"manual\"\n placement=\"bottom-start\"\n :show=\"ctxShow\"\n :x=\"ctxX\"\n :y=\"ctxY\"\n :options=\"ctxOptions\"\n @select=\"onCtxSelect\"\n @clickoutside=\"ctxShow = false\"\n />\n </div>\n</template>\n\n<style scoped>\n.tabsbar {\n height: 42px;\n display: flex;\n align-items: center;\n padding: 0 8px;\n background: var(--color-bg-container);\n border-bottom: 1px solid var(--color-border);\n}\n.strip {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 5px 0;\n}\n.chip {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n height: 30px;\n padding: 0 10px;\n border: 1px solid var(--color-border);\n border-radius: var(--radius-md);\n background: var(--color-fill);\n color: var(--color-text-secondary);\n font-size: var(--font-size-sm);\n white-space: nowrap;\n cursor: pointer;\n user-select: none;\n transition:\n color 0.15s,\n background 0.15s,\n border-color 0.15s;\n}\n.chip:hover {\n color: var(--color-text-primary);\n}\n.chip.active {\n background: var(--color-primary-light);\n border-color: var(--color-primary);\n color: var(--color-primary);\n}\n.chip:focus-visible,\n.chip-close:focus-visible {\n outline: 2px solid var(--color-primary);\n outline-offset: 1px;\n}\n.chip-pin {\n opacity: 0.7;\n}\n.chip-close {\n border-radius: 50%;\n opacity: 0.6;\n}\n.chip-close:hover {\n opacity: 1;\n background: var(--color-fill);\n}\n</style>\n"],"names":["tabs","useTabsStore","route","useRoute","router","useRouter","t","useI18n","activePath","computed","stripRef","ref","tabTitle","item","translateMenuTitle","onClick","renderIcon","name","h","Icon","ctxShow","ctxX","ctxY","ctxTab","ctxOptions","_a","_b","_c","_d","onContext","nextTick","onCtxSelect","key","tab","watch","_openBlock","_createElementBlock","_hoisted_1","_createVNode","_unref","NScrollbar","_createElementVNode","_Fragment","_renderList","$event","_withKeys","_withModifiers","_createBlock","AppIcon","_hoisted_3","_toDisplayString","NDropdown"],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { MenuOption } from 'naive-ui';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
options: MenuOption[];
|
|
4
|
+
value?: string;
|
|
5
|
+
collapsed?: boolean;
|
|
6
|
+
rail?: boolean;
|
|
7
|
+
showBrand?: boolean;
|
|
8
|
+
};
|
|
9
|
+
declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
10
|
+
select: (key: string) => any;
|
|
11
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
12
|
+
onSelect?: ((key: string) => any) | undefined;
|
|
13
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
14
|
+
declare const _default: typeof __VLS_export;
|
|
15
|
+
export default _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SideNav.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|