smart-admin-web 10.14.0 → 10.20.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/README.md +6 -6
- package/dist/api/index.d.ts +41 -2
- package/dist/api/index.js +36 -15
- package/dist/api/index.js.map +1 -1
- package/dist/api/schema.d.ts +418 -6
- package/dist/assets/icons/ph-subset.json.js +7 -7
- package/dist/assets/smart-logo.svg.js +5 -0
- package/dist/assets/smart-logo.svg.js.map +1 -0
- package/dist/components/AppIcon.vue.js +9 -9
- package/dist/components/AppIcon.vue.js.map +1 -1
- package/dist/components/AppWatermark.vue.d.ts +14 -0
- package/dist/components/AppWatermark.vue.js +38 -0
- package/dist/components/AppWatermark.vue.js.map +1 -0
- package/dist/components/AppWatermark2.vue.js +5 -0
- package/dist/components/AppWatermark2.vue.js.map +1 -0
- package/dist/components/Chart/PieChart.vue.d.ts +1 -1
- package/dist/components/Chart/echarts.js +15 -20
- package/dist/components/Chart/echarts.js.map +1 -1
- package/dist/components/CronEditor/index.vue.js +1 -1
- package/dist/components/CronEditor/index2.vue.js +2 -1
- package/dist/components/CronEditor/index2.vue.js.map +1 -1
- package/dist/components/DetailPage/index.vue.js +2 -2
- package/dist/components/DetailPage/index2.vue.js.map +1 -1
- package/dist/components/DictTag/index.vue.js.map +1 -1
- package/dist/components/ErrorBoundary/index.vue.js +2 -2
- package/dist/components/ErrorBoundary/index2.vue.js +1 -1
- package/dist/components/ErrorBoundary/index2.vue.js.map +1 -1
- package/dist/components/FormContainer/index.vue.js +91 -56
- package/dist/components/FormContainer/index.vue.js.map +1 -1
- package/dist/components/ImportWizard/index.vue.js +1 -1
- package/dist/components/ImportWizard/index2.vue.js +44 -41
- package/dist/components/ImportWizard/index2.vue.js.map +1 -1
- package/dist/components/MenuSearch.vue.js +2 -2
- package/dist/components/MenuSearch2.vue.js +19 -18
- package/dist/components/MenuSearch2.vue.js.map +1 -1
- package/dist/components/PasswordStrength/index.vue.js +2 -2
- package/dist/components/PasswordStrength/index2.vue.js +20 -18
- package/dist/components/PasswordStrength/index2.vue.js.map +1 -1
- package/dist/components/SmartLogo.vue.d.ts +3 -0
- package/dist/components/SmartLogo.vue.js +1 -1
- package/dist/components/SmartLogo2.vue.js +22 -64
- package/dist/components/SmartLogo2.vue.js.map +1 -1
- package/dist/{views/system/config/components/GroupExtraConfig.vue.d.ts → components/TableTotal/index.vue.d.ts} +1 -4
- package/dist/components/{SelectTable → TableTotal}/index.vue.js +1 -1
- package/dist/components/TableTotal/index2.vue.js +16 -0
- package/dist/components/TableTotal/index2.vue.js.map +1 -0
- package/dist/components/TableZoomButton/index.vue.js.map +1 -1
- package/dist/components/UserPicker/index.vue.js +2 -2
- package/dist/components/UserPicker/index2.vue.js +176 -117
- package/dist/components/UserPicker/index2.vue.js.map +1 -1
- package/dist/composables/useBatchDelete.js.map +1 -1
- package/dist/composables/useLayoutMenu.js +17 -16
- package/dist/composables/useLayoutMenu.js.map +1 -1
- package/dist/composables/useLoginHero.d.ts +2 -0
- package/dist/composables/useLoginHero.js +22 -0
- package/dist/composables/useLoginHero.js.map +1 -0
- package/dist/composables/useModule.js +39 -29
- package/dist/composables/useModule.js.map +1 -1
- package/dist/composables/usePageTitle.js +16 -14
- package/dist/composables/usePageTitle.js.map +1 -1
- package/dist/composables/useShellBreakpoint.d.ts +19 -0
- package/dist/composables/useShellBreakpoint.js +37 -0
- package/dist/composables/useShellBreakpoint.js.map +1 -0
- package/dist/composables/useSite.d.ts +20 -0
- package/dist/composables/useSite.js +18 -13
- package/dist/composables/useSite.js.map +1 -1
- package/dist/composables/useTabTitle.js.map +1 -1
- package/dist/composables/useTableTitle.d.ts +6 -0
- package/dist/composables/useTableTitle.js +11 -0
- package/dist/composables/useTableTitle.js.map +1 -0
- package/dist/composables/useTableZoom.d.ts +5 -0
- package/dist/composables/useTableZoom.js.map +1 -1
- package/dist/composables/useTheme.d.ts +2 -2
- package/dist/composables/useTheme.js +23 -20
- package/dist/composables/useTheme.js.map +1 -1
- package/dist/createSmartAdmin.d.ts +12 -2
- package/dist/createSmartAdmin.js +72 -60
- package/dist/createSmartAdmin.js.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.js +223 -208
- package/dist/index.js.map +1 -1
- package/dist/layouts/AccentPicker.vue.js +8 -0
- package/dist/layouts/AccentPicker.vue.js.map +1 -0
- package/dist/layouts/AccentPicker2.vue.js +131 -0
- package/dist/layouts/AccentPicker2.vue.js.map +1 -0
- package/dist/layouts/AppHeader.vue.d.ts +8 -1
- package/dist/layouts/AppHeader.vue.js +2 -2
- package/dist/layouts/AppHeader2.vue.js +317 -235
- package/dist/layouts/AppHeader2.vue.js.map +1 -1
- package/dist/layouts/NoticeBell.vue.js +2 -2
- package/dist/layouts/NoticeBell2.vue.js +1 -1
- package/dist/layouts/NoticeBell2.vue.js.map +1 -1
- package/dist/layouts/PersonalLayout.vue.js +2 -2
- package/dist/layouts/PersonalLayout2.vue.js +69 -47
- package/dist/layouts/PersonalLayout2.vue.js.map +1 -1
- package/dist/layouts/SettingsDrawer.vue.js +3 -3
- package/dist/layouts/SettingsDrawer2.vue.js +261 -325
- package/dist/layouts/SettingsDrawer2.vue.js.map +1 -1
- package/dist/layouts/TabsBar.vue.js +2 -2
- package/dist/layouts/TabsBar2.vue.js +97 -69
- package/dist/layouts/TabsBar2.vue.js.map +1 -1
- package/dist/layouts/components/SideNav.vue.d.ts +3 -0
- package/dist/layouts/components/SideNav.vue.js +1 -1
- package/dist/layouts/components/SideNav2.vue.js +54 -26
- package/dist/layouts/components/SideNav2.vue.js.map +1 -1
- package/dist/layouts/default.vue.js +1 -1
- package/dist/layouts/default2.vue.js +170 -140
- package/dist/layouts/default2.vue.js.map +1 -1
- package/dist/lib/favicon.d.ts +1 -0
- package/dist/lib/favicon.js +12 -0
- package/dist/lib/favicon.js.map +1 -0
- package/dist/lib/loginHero.d.ts +16 -0
- package/dist/lib/loginHero.js +33 -0
- package/dist/lib/loginHero.js.map +1 -0
- package/dist/lib/logoCrop.d.ts +25 -0
- package/dist/lib/logoCrop.js +22 -0
- package/dist/lib/logoCrop.js.map +1 -0
- package/dist/lib/runtime.d.ts +2 -0
- package/dist/lib/runtime.js +1 -1
- package/dist/lib/runtime.js.map +1 -1
- package/dist/lib/securityRules.d.ts +26 -0
- package/dist/lib/securityRules.js +86 -0
- package/dist/lib/securityRules.js.map +1 -0
- package/dist/lib/watermark.d.ts +110 -0
- package/dist/lib/watermark.js +151 -0
- package/dist/lib/watermark.js.map +1 -0
- package/dist/locales/en-US.d.ts +462 -42
- package/dist/locales/en-US.js +491 -78
- package/dist/locales/en-US.js.map +1 -1
- package/dist/locales/kernelMenuTitles.d.ts +1 -0
- package/dist/locales/kernelMenuTitles.js +128 -0
- package/dist/locales/kernelMenuTitles.js.map +1 -0
- package/dist/locales/menuTitle.d.ts +3 -0
- package/dist/locales/menuTitle.js +14 -12
- package/dist/locales/menuTitle.js.map +1 -1
- package/dist/locales/zh-CN.d.ts +462 -42
- package/dist/locales/zh-CN.js +490 -81
- package/dist/locales/zh-CN.js.map +1 -1
- package/dist/router/index.js +41 -32
- package/dist/router/index.js.map +1 -1
- package/dist/router/namedPage.d.ts +4 -0
- package/dist/router/namedPage.js +7 -7
- package/dist/router/namedPage.js.map +1 -1
- package/dist/router/viewRegistry.js +12 -12
- package/dist/router/viewRegistry.js.map +1 -1
- package/dist/stores/app.d.ts +0 -12
- package/dist/stores/app.js +11 -12
- package/dist/stores/app.js.map +1 -1
- package/dist/stores/tabs.js.map +1 -1
- package/dist/stores/user.d.ts +10 -0
- package/dist/stores/user.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/theme/accentTokens.d.ts +27 -0
- package/dist/theme/accentTokens.js +54 -0
- package/dist/theme/accentTokens.js.map +1 -0
- package/dist/theme/accents.d.ts +21 -1
- package/dist/theme/accents.js +11 -2
- package/dist/theme/accents.js.map +1 -1
- package/dist/theme/mix.d.ts +58 -7
- package/dist/theme/mix.js +115 -30
- package/dist/theme/mix.js.map +1 -1
- package/dist/theme/naive-theme.d.ts +5 -2
- package/dist/theme/naive-theme.js +405 -75
- package/dist/theme/naive-theme.js.map +1 -1
- package/dist/utils/jwt.d.ts +8 -0
- package/dist/utils/jwt.js +14 -0
- package/dist/utils/jwt.js.map +1 -0
- package/dist/utils/menuIcon.d.ts +2 -0
- package/dist/utils/menuIcon.js +8 -0
- package/dist/utils/menuIcon.js.map +1 -0
- package/dist/utils/oauthBrand.d.ts +34 -9
- package/dist/utils/oauthBrand.js +70 -74
- package/dist/utils/oauthBrand.js.map +1 -1
- package/dist/utils/tableFilter.d.ts +88 -0
- package/dist/utils/tableFilter.js +116 -0
- package/dist/utils/tableFilter.js.map +1 -0
- package/dist/utils/tableToolbar.d.ts +18 -0
- package/dist/utils/tableToolbar.js +11 -0
- package/dist/utils/tableToolbar.js.map +1 -0
- package/dist/utils/treeFilter.d.ts +20 -0
- package/dist/utils/treeFilter.js +24 -0
- package/dist/utils/treeFilter.js.map +1 -0
- package/dist/views/dashboard/ShortcutPicker.vue.js +1 -1
- package/dist/views/dashboard/ShortcutPicker2.vue.js +73 -48
- package/dist/views/dashboard/ShortcutPicker2.vue.js.map +1 -1
- package/dist/views/dashboard/biz.vue.js +1 -1
- package/dist/views/dashboard/biz2.vue.js +310 -257
- package/dist/views/dashboard/biz2.vue.js.map +1 -1
- package/dist/views/dashboard/workbench.vue.js +2 -2
- package/dist/views/dashboard/workbench2.vue.js +141 -155
- package/dist/views/dashboard/workbench2.vue.js.map +1 -1
- package/dist/views/embed/iframe.vue.js +2 -2
- package/dist/views/embed/iframe2.vue.js +22 -15
- package/dist/views/embed/iframe2.vue.js.map +1 -1
- package/dist/views/error/404.vue.js +2 -2
- package/dist/views/error/4042.vue.js +33 -24
- package/dist/views/error/4042.vue.js.map +1 -1
- package/dist/views/error/BootError.vue.js +1 -1
- package/dist/views/error/BootError2.vue.js +59 -48
- package/dist/views/error/BootError2.vue.js.map +1 -1
- package/dist/views/error/MissingRoute.vue.js +2 -2
- package/dist/views/error/MissingRoute2.vue.js +34 -15
- package/dist/views/error/MissingRoute2.vue.js.map +1 -1
- package/dist/views/login/LoginForm.vue.d.ts +7 -1
- package/dist/views/login/LoginForm.vue.js +2 -2
- package/dist/views/login/LoginForm2.vue.js +580 -488
- package/dist/views/login/LoginForm2.vue.js.map +1 -1
- package/dist/views/login/components/LoginDesk.vue.d.ts +36 -0
- package/dist/views/login/components/LoginDesk.vue.js +9 -0
- package/dist/views/login/components/LoginDesk.vue.js.map +1 -0
- package/dist/views/login/components/LoginDesk2.vue.js +100 -0
- package/dist/views/login/components/LoginDesk2.vue.js.map +1 -0
- package/dist/views/login/components/LoginHeroPanel.vue.d.ts +18 -0
- package/dist/views/login/components/LoginHeroPanel.vue.js +8 -0
- package/dist/views/login/components/LoginHeroPanel.vue.js.map +1 -0
- package/dist/views/login/components/LoginHeroPanel2.vue.js +61 -0
- package/dist/views/login/components/LoginHeroPanel2.vue.js.map +1 -0
- package/dist/views/login/index.vue.js +1 -1
- package/dist/views/login/index2.vue.js +141 -71
- package/dist/views/login/index2.vue.js.map +1 -1
- package/dist/views/login/layout.d.ts +11 -0
- package/dist/views/login/layout.js +27 -0
- package/dist/views/login/layout.js.map +1 -0
- package/dist/views/mfa/index.vue.js +2 -2
- package/dist/views/mfa/index2.vue.js +367 -321
- package/dist/views/mfa/index2.vue.js.map +1 -1
- package/dist/views/module/index.vue.js +2 -2
- package/dist/views/module/index2.vue.js +132 -99
- package/dist/views/module/index2.vue.js.map +1 -1
- package/dist/views/oauth/callback.vue.js +2 -2
- package/dist/views/oauth/callback2.vue.js +65 -51
- package/dist/views/oauth/callback2.vue.js.map +1 -1
- package/dist/views/personal/bindings.vue.js +2 -2
- package/dist/views/personal/bindings2.vue.js +98 -94
- package/dist/views/personal/bindings2.vue.js.map +1 -1
- package/dist/views/personal/notice2.vue.js +103 -76
- package/dist/views/personal/notice2.vue.js.map +1 -1
- package/dist/views/personal/password2.vue.js +47 -40
- package/dist/views/personal/password2.vue.js.map +1 -1
- package/dist/views/personal/profile.vue.js +3 -3
- package/dist/views/personal/profile2.vue.js +24 -18
- package/dist/views/personal/profile2.vue.js.map +1 -1
- package/dist/views/personal/security.vue.js +2 -2
- package/dist/views/personal/security2.vue.js +65 -53
- package/dist/views/personal/security2.vue.js.map +1 -1
- package/dist/views/personal/sessions.vue.js +2 -2
- package/dist/views/personal/sessions2.vue.js +67 -62
- package/dist/views/personal/sessions2.vue.js.map +1 -1
- package/dist/views/system/ai-model/components/ProviderCard.vue.js +2 -2
- package/dist/views/system/ai-model/components/ProviderCard2.vue.js +142 -130
- package/dist/views/system/ai-model/components/ProviderCard2.vue.js.map +1 -1
- package/dist/views/system/ai-model/components/ProviderForm.vue.js +2 -2
- package/dist/views/system/ai-model/components/ProviderForm2.vue.js +71 -70
- package/dist/views/system/ai-model/components/ProviderForm2.vue.js.map +1 -1
- package/dist/views/system/ai-model/index.vue.js +2 -2
- package/dist/views/system/ai-model/index2.vue.js +99 -99
- package/dist/views/system/ai-model/index2.vue.js.map +1 -1
- package/dist/views/system/ai-model/presets.d.ts +1 -1
- package/dist/views/system/ai-model/presets.js +18 -18
- package/dist/views/system/ai-model/presets.js.map +1 -1
- package/dist/views/system/ai-usage/index.vue.js +2 -2
- package/dist/views/system/ai-usage/index2.vue.js +356 -258
- package/dist/views/system/ai-usage/index2.vue.js.map +1 -1
- package/dist/views/system/api-docs/index.vue.js +5 -2
- package/dist/views/system/api-docs/index.vue.js.map +1 -1
- package/dist/views/system/api-docs/index2.vue.js +92 -42
- package/dist/views/system/api-docs/index2.vue.js.map +1 -1
- package/dist/views/system/cache/index.vue.js +2 -2
- package/dist/views/system/cache/index2.vue.js +74 -80
- package/dist/views/system/cache/index2.vue.js.map +1 -1
- package/dist/views/system/config/components/AdminMock.vue.js +8 -0
- package/dist/views/system/config/components/AdminMock.vue.js.map +1 -0
- package/dist/views/system/config/components/AdminMock2.vue.js +93 -0
- package/dist/views/system/config/components/AdminMock2.vue.js.map +1 -0
- package/dist/views/system/config/components/AdvancedSection.vue.js +8 -0
- package/dist/views/system/config/components/AdvancedSection.vue.js.map +1 -0
- package/dist/views/system/config/components/AdvancedSection2.vue.js +163 -0
- package/dist/views/system/config/components/AdvancedSection2.vue.js.map +1 -0
- package/dist/views/system/config/components/BrandSection.vue.d.ts +7 -0
- package/dist/views/system/config/components/BrandSection.vue.js +8 -0
- package/dist/views/system/config/components/BrandSection.vue.js.map +1 -0
- package/dist/views/system/config/components/BrandSection2.vue.js +266 -0
- package/dist/views/system/config/components/BrandSection2.vue.js.map +1 -0
- package/dist/views/system/config/components/CfgGroup.vue.d.ts +18 -0
- package/dist/views/system/config/components/CfgGroup.vue.js +8 -0
- package/dist/views/system/config/components/CfgGroup.vue.js.map +1 -0
- package/dist/views/system/config/components/CfgGroup2.vue.js +22 -0
- package/dist/views/system/config/components/CfgGroup2.vue.js.map +1 -0
- package/dist/views/system/config/components/CfgRow.vue.d.ts +26 -0
- package/dist/views/system/config/components/CfgRow.vue.js +9 -0
- package/dist/views/system/config/components/CfgRow.vue.js.map +1 -0
- package/dist/views/system/config/components/CfgRow2.vue.js +54 -0
- package/dist/views/system/config/components/CfgRow2.vue.js.map +1 -0
- package/dist/views/system/config/components/CfgSegment.vue.d.ts +28 -0
- package/dist/views/system/config/components/CfgSegment.vue.js +8 -0
- package/dist/views/system/config/components/CfgSegment.vue.js.map +1 -0
- package/dist/views/system/config/components/CfgSegment2.vue.js +45 -0
- package/dist/views/system/config/components/CfgSegment2.vue.js.map +1 -0
- package/dist/views/system/config/components/ConfigFormModal.vue.js +4 -1
- package/dist/views/system/config/components/ConfigFormModal.vue.js.map +1 -1
- package/dist/views/system/config/components/ConfigFormModal2.vue.js +72 -60
- package/dist/views/system/config/components/ConfigFormModal2.vue.js.map +1 -1
- package/dist/views/system/config/components/JobSection.vue.js +8 -0
- package/dist/views/system/config/components/JobSection.vue.js.map +1 -0
- package/dist/views/system/config/components/JobSection2.vue.js +140 -0
- package/dist/views/system/config/components/JobSection2.vue.js.map +1 -0
- package/dist/views/system/config/components/LoginMock.vue.d.ts +8 -0
- package/dist/views/system/config/components/LoginMock.vue.js +8 -0
- package/dist/views/system/config/components/LoginMock.vue.js.map +1 -0
- package/dist/views/system/config/components/LoginMock2.vue.js +132 -0
- package/dist/views/system/config/components/LoginMock2.vue.js.map +1 -0
- package/dist/views/system/config/components/LogoCropper.vue.d.ts +10 -0
- package/dist/views/system/config/components/LogoCropper.vue.js +8 -0
- package/dist/views/system/config/components/LogoCropper.vue.js.map +1 -0
- package/dist/views/system/config/components/LogoCropper2.vue.js +122 -0
- package/dist/views/system/config/components/LogoCropper2.vue.js.map +1 -0
- package/dist/views/system/config/components/LogoEditor.vue.js +8 -0
- package/dist/views/system/config/components/LogoEditor.vue.js.map +1 -0
- package/dist/views/system/config/components/LogoEditor2.vue.js +161 -0
- package/dist/views/system/config/components/LogoEditor2.vue.js.map +1 -0
- package/dist/views/system/config/components/ProviderSheet.vue.d.ts +17 -0
- package/dist/views/system/config/components/ProviderSheet.vue.js +8 -0
- package/dist/views/system/config/components/ProviderSheet.vue.js.map +1 -0
- package/dist/views/system/config/components/ProviderSheet2.vue.js +343 -0
- package/dist/views/system/config/components/ProviderSheet2.vue.js.map +1 -0
- package/dist/{layouts/SettingRow.vue.d.ts → views/system/config/components/ScaleToFit.vue.d.ts} +2 -1
- package/dist/views/system/config/components/ScaleToFit.vue.js +8 -0
- package/dist/views/system/config/components/ScaleToFit.vue.js.map +1 -0
- package/dist/views/system/config/components/ScaleToFit2.vue.js +41 -0
- package/dist/views/system/config/components/ScaleToFit2.vue.js.map +1 -0
- package/dist/views/system/config/components/SectionLayout.vue.d.ts +30 -0
- package/dist/views/system/config/components/SectionLayout.vue.js +8 -0
- package/dist/views/system/config/components/SectionLayout.vue.js.map +1 -0
- package/dist/views/system/config/components/SectionLayout2.vue.js +69 -0
- package/dist/views/system/config/components/SectionLayout2.vue.js.map +1 -0
- package/dist/views/system/config/components/SecuritySection.vue.js +8 -0
- package/dist/views/system/config/components/SecuritySection.vue.js.map +1 -0
- package/dist/views/system/config/components/SecuritySection2.vue.js +417 -0
- package/dist/views/system/config/components/SecuritySection2.vue.js.map +1 -0
- package/dist/views/system/config/components/SensitiveSection.vue.js +8 -0
- package/dist/views/system/config/components/SensitiveSection.vue.js.map +1 -0
- package/dist/views/system/config/components/SensitiveSection2.vue.js +214 -0
- package/dist/views/system/config/components/SensitiveSection2.vue.js.map +1 -0
- package/dist/views/system/config/components/SigninSection.vue.js +8 -0
- package/dist/views/system/config/components/SigninSection.vue.js.map +1 -0
- package/dist/views/system/config/components/SigninSection2.vue.js +201 -0
- package/dist/views/system/config/components/SigninSection2.vue.js.map +1 -0
- package/dist/views/system/config/components/UploadSection.vue.js +8 -0
- package/dist/views/system/config/components/UploadSection.vue.js.map +1 -0
- package/dist/views/system/config/components/UploadSection2.vue.js +176 -0
- package/dist/views/system/config/components/UploadSection2.vue.js.map +1 -0
- package/dist/views/system/config/components/WatermarkSection.vue.js +8 -0
- package/dist/views/system/config/components/WatermarkSection.vue.js.map +1 -0
- package/dist/views/system/config/components/WatermarkSection2.vue.js +284 -0
- package/dist/views/system/config/components/WatermarkSection2.vue.js.map +1 -0
- package/dist/views/system/config/draft.d.ts +148 -0
- package/dist/views/system/config/draft.js +170 -0
- package/dist/views/system/config/draft.js.map +1 -0
- package/dist/views/system/config/flash.d.ts +2 -0
- package/dist/views/system/config/flash.js +9 -0
- package/dist/views/system/config/flash.js.map +1 -0
- package/dist/views/system/config/groups.d.ts +38 -7
- package/dist/views/system/config/groups.js +104 -14
- package/dist/views/system/config/groups.js.map +1 -1
- package/dist/views/system/config/index.vue.js +6 -2
- package/dist/views/system/config/index.vue.js.map +1 -1
- package/dist/views/system/config/index2.vue.js +201 -111
- package/dist/views/system/config/index2.vue.js.map +1 -1
- package/dist/views/system/config/layoutMode.d.ts +23 -0
- package/dist/views/system/config/layoutMode.js +28 -0
- package/dist/views/system/config/layoutMode.js.map +1 -0
- package/dist/views/system/config/providerForm.d.ts +33 -0
- package/dist/views/system/config/providerForm.js +63 -0
- package/dist/views/system/config/providerForm.js.map +1 -0
- package/dist/views/system/dict/index.vue.js +2 -2
- package/dist/views/system/dict/index2.vue.js +471 -366
- package/dist/views/system/dict/index2.vue.js.map +1 -1
- package/dist/views/system/file/index2.vue.js +91 -76
- package/dist/views/system/file/index2.vue.js.map +1 -1
- package/dist/views/system/job/index.vue.js +3 -3
- package/dist/views/system/job/index2.vue.js +897 -828
- package/dist/views/system/job/index2.vue.js.map +1 -1
- package/dist/views/system/job-log/components/AttemptTable.vue.d.ts +8 -0
- package/dist/views/system/job-log/components/AttemptTable.vue.js +5 -0
- package/dist/views/system/job-log/components/AttemptTable.vue.js.map +1 -0
- package/dist/views/system/job-log/components/AttemptTable2.vue.js +54 -0
- package/dist/views/system/job-log/components/AttemptTable2.vue.js.map +1 -0
- package/dist/views/system/job-log/index.vue.js +2 -2
- package/dist/views/system/job-log/index2.vue.js +193 -207
- package/dist/views/system/job-log/index2.vue.js.map +1 -1
- package/dist/views/system/job-log/runStatus.d.ts +13 -0
- package/dist/views/system/job-log/runStatus.js +26 -0
- package/dist/views/system/job-log/runStatus.js.map +1 -0
- package/dist/views/system/job-monitor/index.vue.js +2 -2
- package/dist/views/system/job-monitor/index2.vue.js +172 -180
- package/dist/views/system/job-monitor/index2.vue.js.map +1 -1
- package/dist/views/system/log/exception/index.vue.js +2 -2
- package/dist/views/system/log/exception/index2.vue.js +135 -96
- package/dist/views/system/log/exception/index2.vue.js.map +1 -1
- package/dist/views/system/log/login/index2.vue.js +62 -41
- package/dist/views/system/log/login/index2.vue.js.map +1 -1
- package/dist/views/system/log/op/index.vue.js +2 -2
- package/dist/views/system/log/op/index2.vue.js +200 -162
- package/dist/views/system/log/op/index2.vue.js.map +1 -1
- package/dist/views/system/menu/components/ButtonManager.vue.js +2 -2
- package/dist/views/system/menu/components/ButtonManager2.vue.js +206 -190
- package/dist/views/system/menu/components/ButtonManager2.vue.js.map +1 -1
- package/dist/views/system/menu/components/MenuFormModal.vue.js +2 -2
- package/dist/views/system/menu/components/MenuFormModal2.vue.js +127 -118
- package/dist/views/system/menu/components/MenuFormModal2.vue.js.map +1 -1
- package/dist/views/system/menu/index.vue.js +1 -1
- package/dist/views/system/menu/index2.vue.js +216 -183
- package/dist/views/system/menu/index2.vue.js.map +1 -1
- package/dist/views/system/module/index.vue.js +1 -1
- package/dist/views/system/module/index2.vue.js +177 -144
- package/dist/views/system/module/index2.vue.js.map +1 -1
- package/dist/views/system/monitor/index.vue.js +2 -2
- package/dist/views/system/monitor/index2.vue.js +134 -149
- package/dist/views/system/monitor/index2.vue.js.map +1 -1
- package/dist/views/system/notice/index.vue.js +1 -1
- package/dist/views/system/notice/index2.vue.js +209 -181
- package/dist/views/system/notice/index2.vue.js.map +1 -1
- package/dist/views/system/org/index.vue.js +1 -1
- package/dist/views/system/org/index2.vue.js +278 -248
- package/dist/views/system/org/index2.vue.js.map +1 -1
- package/dist/views/system/position/index.vue.js +5 -2
- package/dist/views/system/position/index.vue.js.map +1 -1
- package/dist/views/system/position/index2.vue.js +128 -92
- package/dist/views/system/position/index2.vue.js.map +1 -1
- package/dist/views/system/recycle/index.vue.js +2 -2
- package/dist/views/system/recycle/index2.vue.js +90 -67
- package/dist/views/system/recycle/index2.vue.js.map +1 -1
- package/dist/views/system/role/components/GrantMenuSheet.vue.d.ts +20 -0
- package/dist/views/system/role/components/GrantMenuSheet.vue.js +8 -0
- package/dist/views/system/role/components/GrantMenuSheet.vue.js.map +1 -0
- package/dist/views/system/role/components/GrantMenuSheet2.vue.js +117 -0
- package/dist/views/system/role/components/GrantMenuSheet2.vue.js.map +1 -0
- package/dist/views/system/role/components/GrantMenuTable.vue.d.ts +6 -4
- package/dist/views/system/role/components/GrantMenuTable.vue.js +2 -2
- package/dist/views/system/role/components/GrantMenuTable2.vue.js +279 -177
- package/dist/views/system/role/components/GrantMenuTable2.vue.js.map +1 -1
- package/dist/views/system/role/components/MatchText.vue.d.ts +7 -0
- package/dist/views/system/role/components/MatchText.vue.js +8 -0
- package/dist/views/system/role/components/MatchText.vue.js.map +1 -0
- package/dist/views/system/role/components/MatchText2.vue.js +29 -0
- package/dist/views/system/role/components/MatchText2.vue.js.map +1 -0
- package/dist/views/system/role/components/grantMenuGroups.d.ts +36 -0
- package/dist/views/system/role/components/grantMenuGroups.js +110 -48
- package/dist/views/system/role/components/grantMenuGroups.js.map +1 -1
- package/dist/views/system/role/index.vue.js +5 -2
- package/dist/views/system/role/index.vue.js.map +1 -1
- package/dist/views/system/role/index2.vue.js +181 -165
- package/dist/views/system/role/index2.vue.js.map +1 -1
- package/dist/views/system/session/index2.vue.js +75 -49
- package/dist/views/system/session/index2.vue.js.map +1 -1
- package/dist/views/system/user/components/ResetPasswordModal.vue.js +2 -2
- package/dist/views/system/user/components/ResetPasswordModal2.vue.js +2 -0
- package/dist/views/system/user/components/ResetPasswordModal2.vue.js.map +1 -1
- package/dist/views/system/user/components/UserFormModal.vue.js +2 -2
- package/dist/views/system/user/components/UserFormModal2.vue.js +77 -76
- package/dist/views/system/user/components/UserFormModal2.vue.js.map +1 -1
- package/dist/views/system/user/index.vue.js +2 -2
- package/dist/views/system/user/index2.vue.js +362 -275
- package/dist/views/system/user/index2.vue.js.map +1 -1
- package/package.json +6 -8
- package/dist/components/SelectTable/index.vue.d.ts +0 -76
- package/dist/components/SelectTable/index2.vue.js +0 -256
- package/dist/components/SelectTable/index2.vue.js.map +0 -1
- package/dist/composables/useTableRowSort.d.ts +0 -20
- package/dist/composables/useTableRowSort.js +0 -59
- package/dist/composables/useTableRowSort.js.map +0 -1
- package/dist/layouts/LayoutModeCards.vue.js +0 -8
- package/dist/layouts/LayoutModeCards.vue.js.map +0 -1
- package/dist/layouts/LayoutModeCards2.vue.js +0 -67
- package/dist/layouts/LayoutModeCards2.vue.js.map +0 -1
- package/dist/layouts/SettingRow.vue.js +0 -8
- package/dist/layouts/SettingRow.vue.js.map +0 -1
- package/dist/layouts/SettingRow2.vue.js +0 -23
- package/dist/layouts/SettingRow2.vue.js.map +0 -1
- package/dist/views/login/skins/AuroraGlass.vue.js +0 -8
- package/dist/views/login/skins/AuroraGlass.vue.js.map +0 -1
- package/dist/views/login/skins/AuroraGlass2.vue.js +0 -80
- package/dist/views/login/skins/AuroraGlass2.vue.js.map +0 -1
- package/dist/views/login/skins/SplitPanel.vue.js +0 -8
- package/dist/views/login/skins/SplitPanel.vue.js.map +0 -1
- package/dist/views/login/skins/SplitPanel2.vue.js +0 -85
- package/dist/views/login/skins/SplitPanel2.vue.js.map +0 -1
- package/dist/views/login/skins/Spotlight.vue.js +0 -8
- package/dist/views/login/skins/Spotlight.vue.js.map +0 -1
- package/dist/views/login/skins/Spotlight2.vue.js +0 -36
- package/dist/views/login/skins/Spotlight2.vue.js.map +0 -1
- package/dist/views/login/skins.d.ts +0 -8
- package/dist/views/login/skins.js +0 -13
- package/dist/views/login/skins.js.map +0 -1
- package/dist/views/system/config/components/ExternalAuthConfig.vue.js +0 -8
- package/dist/views/system/config/components/ExternalAuthConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/ExternalAuthConfig2.vue.js +0 -218
- package/dist/views/system/config/components/ExternalAuthConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/GroupExtraConfig.vue.js +0 -8
- package/dist/views/system/config/components/GroupExtraConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/GroupExtraConfig2.vue.js +0 -108
- package/dist/views/system/config/components/GroupExtraConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/HighSensConfig.vue.js +0 -5
- package/dist/views/system/config/components/HighSensConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/HighSensConfig2.vue.js +0 -134
- package/dist/views/system/config/components/HighSensConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/JobConfig.vue.js +0 -5
- package/dist/views/system/config/components/JobConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/JobConfig2.vue.js +0 -116
- package/dist/views/system/config/components/JobConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/OtherConfig.vue.js +0 -5
- package/dist/views/system/config/components/OtherConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/OtherConfig2.vue.js +0 -121
- package/dist/views/system/config/components/OtherConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/SecurityConfig.vue.js +0 -8
- package/dist/views/system/config/components/SecurityConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/SecurityConfig2.vue.js +0 -456
- package/dist/views/system/config/components/SecurityConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/SysBaseConfig.vue.js +0 -5
- package/dist/views/system/config/components/SysBaseConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/SysBaseConfig2.vue.js +0 -107
- package/dist/views/system/config/components/SysBaseConfig2.vue.js.map +0 -1
- package/dist/views/system/config/components/UploadConfig.vue.d.ts +0 -3
- package/dist/views/system/config/components/UploadConfig.vue.js +0 -5
- package/dist/views/system/config/components/UploadConfig.vue.js.map +0 -1
- package/dist/views/system/config/components/UploadConfig2.vue.js +0 -135
- package/dist/views/system/config/components/UploadConfig2.vue.js.map +0 -1
- /package/dist/components/{SelectTable → TableTotal}/index.vue.js.map +0 -0
- /package/dist/layouts/{LayoutModeCards.vue.d.ts → AccentPicker.vue.d.ts} +0 -0
- /package/dist/views/{login/skins/AuroraGlass.vue.d.ts → system/config/components/AdminMock.vue.d.ts} +0 -0
- /package/dist/views/{login/skins/SplitPanel.vue.d.ts → system/config/components/AdvancedSection.vue.d.ts} +0 -0
- /package/dist/views/{login/skins/Spotlight.vue.d.ts → system/config/components/JobSection.vue.d.ts} +0 -0
- /package/dist/views/system/config/components/{ExternalAuthConfig.vue.d.ts → LogoEditor.vue.d.ts} +0 -0
- /package/dist/views/system/config/components/{HighSensConfig.vue.d.ts → SecuritySection.vue.d.ts} +0 -0
- /package/dist/views/system/config/components/{JobConfig.vue.d.ts → SensitiveSection.vue.d.ts} +0 -0
- /package/dist/views/system/config/components/{OtherConfig.vue.d.ts → SigninSection.vue.d.ts} +0 -0
- /package/dist/views/system/config/components/{SecurityConfig.vue.d.ts → UploadSection.vue.d.ts} +0 -0
- /package/dist/views/system/config/components/{SysBaseConfig.vue.d.ts → WatermarkSection.vue.d.ts} +0 -0
|
@@ -1,89 +1,419 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
pressed: d(r, "#000000", 0.18),
|
|
8
|
-
suppl: d(r, "#FFFFFF", 0.16)
|
|
9
|
-
};
|
|
1
|
+
import { rgba as z, mix as G } from "./mix.js";
|
|
2
|
+
import { deriveAccentTokens as J } from "./accentTokens.js";
|
|
3
|
+
const o = (c) => getComputedStyle(document.documentElement).getPropertyValue(c).trim();
|
|
4
|
+
function A(c) {
|
|
5
|
+
const b = G(c, "#FFFFFF", 0.12);
|
|
6
|
+
return { base: c, hover: b, pressed: G(c, "#000000", 0.12), suppl: b };
|
|
10
7
|
}
|
|
11
|
-
function
|
|
12
|
-
const
|
|
8
|
+
function X(c) {
|
|
9
|
+
const { dark: b } = c, N = J(c.accent, b), { signal: t, acc: e, onAcc: m, hover: I, pressed: O, activeFg: u, linkFg: p, ring: s } = N, F = A(o("--ok")), H = A(o("--warn")), T = A(o("--err")), f = A(o("--info")), r = o("--text-1"), i = o("--text-2"), l = o("--text-3"), B = o("--text-4"), h = o("--border"), d = o("--separator"), Q = o("--hairline"), $ = o("--hairline-strong"), P = o("--glass-strong"), n = o("--fill"), S = o("--fill-strong"), x = o("--hover"), g = o("--pressed"), C = o("--input"), M = o("--input-disabled"), w = o("--bg-card"), a = o("--bg-elevated"), k = o("--seg-track"), D = o("--seg-thumb"), V = o("--shadow-1"), y = o("--shadow-2"), W = o("--shadow-3"), j = o("--th-bg"), L = o("--th-bg-hover"), q = o("--td-bg-hover"), v = o("--radius-md"), E = {
|
|
10
|
+
borderRadius: v,
|
|
11
|
+
color: C,
|
|
12
|
+
colorActive: C,
|
|
13
|
+
colorDisabled: M,
|
|
14
|
+
border: `1px solid ${h}`,
|
|
15
|
+
borderHover: `1px solid ${o("--select-border-hover")}`,
|
|
16
|
+
borderActive: `1px solid ${t}`,
|
|
17
|
+
borderFocus: `1px solid ${t}`,
|
|
18
|
+
boxShadowActive: s,
|
|
19
|
+
boxShadowFocus: s
|
|
20
|
+
}, R = {
|
|
21
|
+
borderRadius: o("--radius-xs"),
|
|
22
|
+
boxShadowFocus: s,
|
|
23
|
+
checkMarkColor: "#FFFFFF",
|
|
24
|
+
colorChecked: e,
|
|
25
|
+
borderChecked: `1px solid ${e}`,
|
|
26
|
+
colorIndeterminate: e,
|
|
27
|
+
borderIndeterminate: `1px solid ${e}`,
|
|
28
|
+
border: `1px solid ${h}`,
|
|
29
|
+
color: C
|
|
30
|
+
};
|
|
13
31
|
return {
|
|
14
32
|
common: {
|
|
15
|
-
primaryColor: e
|
|
16
|
-
primaryColorHover:
|
|
17
|
-
primaryColorPressed:
|
|
18
|
-
primaryColorSuppl:
|
|
19
|
-
successColor:
|
|
20
|
-
successColorHover:
|
|
21
|
-
successColorPressed:
|
|
22
|
-
successColorSuppl:
|
|
23
|
-
warningColor:
|
|
24
|
-
warningColorHover:
|
|
25
|
-
warningColorPressed:
|
|
26
|
-
warningColorSuppl:
|
|
27
|
-
errorColor:
|
|
28
|
-
errorColorHover:
|
|
29
|
-
errorColorPressed:
|
|
30
|
-
errorColorSuppl:
|
|
31
|
-
infoColor:
|
|
32
|
-
infoColorHover:
|
|
33
|
-
infoColorPressed:
|
|
34
|
-
infoColorSuppl:
|
|
35
|
-
bodyColor: o("--
|
|
36
|
-
cardColor: o("--
|
|
37
|
-
tableColor:
|
|
38
|
-
modalColor:
|
|
39
|
-
popoverColor:
|
|
40
|
-
textColorBase:
|
|
41
|
-
textColor1:
|
|
42
|
-
textColor2:
|
|
43
|
-
textColor3:
|
|
44
|
-
placeholderColor:
|
|
45
|
-
textColorDisabled:
|
|
46
|
-
borderColor:
|
|
47
|
-
dividerColor:
|
|
48
|
-
actionColor: o("--color-fill"),
|
|
33
|
+
primaryColor: e,
|
|
34
|
+
primaryColorHover: I,
|
|
35
|
+
primaryColorPressed: O,
|
|
36
|
+
primaryColorSuppl: I,
|
|
37
|
+
successColor: F.base,
|
|
38
|
+
successColorHover: F.hover,
|
|
39
|
+
successColorPressed: F.pressed,
|
|
40
|
+
successColorSuppl: F.suppl,
|
|
41
|
+
warningColor: H.base,
|
|
42
|
+
warningColorHover: H.hover,
|
|
43
|
+
warningColorPressed: H.pressed,
|
|
44
|
+
warningColorSuppl: H.suppl,
|
|
45
|
+
errorColor: T.base,
|
|
46
|
+
errorColorHover: T.hover,
|
|
47
|
+
errorColorPressed: T.pressed,
|
|
48
|
+
errorColorSuppl: T.suppl,
|
|
49
|
+
infoColor: f.base,
|
|
50
|
+
infoColorHover: f.hover,
|
|
51
|
+
infoColorPressed: f.pressed,
|
|
52
|
+
infoColorSuppl: f.suppl,
|
|
53
|
+
bodyColor: o("--bg-app"),
|
|
54
|
+
cardColor: o("--bg-card-glass"),
|
|
55
|
+
tableColor: "transparent",
|
|
56
|
+
modalColor: a,
|
|
57
|
+
popoverColor: a,
|
|
58
|
+
textColorBase: r,
|
|
59
|
+
textColor1: r,
|
|
60
|
+
textColor2: i,
|
|
61
|
+
textColor3: l,
|
|
62
|
+
placeholderColor: l,
|
|
63
|
+
textColorDisabled: B,
|
|
64
|
+
borderColor: h,
|
|
65
|
+
dividerColor: d,
|
|
49
66
|
// 两者同色会让禁用框和可填框长一个样,操作员分不清哪里能输入,必须走不同令牌。
|
|
50
67
|
// 这两个 common 变量流向 Input 与 InternalSelection,
|
|
51
68
|
// 即 NInput / NInputNumber / NSelect / NDatePicker / NCascader 等全部输入类组件。
|
|
52
|
-
inputColor:
|
|
53
|
-
inputColorDisabled:
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
69
|
+
inputColor: C,
|
|
70
|
+
inputColorDisabled: M,
|
|
71
|
+
actionColor: n,
|
|
72
|
+
tableHeaderColor: "transparent",
|
|
73
|
+
hoverColor: x,
|
|
74
|
+
pressedColor: g,
|
|
75
|
+
closeColorHover: x,
|
|
76
|
+
closeColorPressed: g,
|
|
77
|
+
clearColor: l,
|
|
78
|
+
borderRadius: v,
|
|
57
79
|
borderRadiusSmall: o("--radius-sm"),
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
80
|
+
fontFamily: o("--font"),
|
|
81
|
+
fontFamilyMono: o("--font-mono"),
|
|
82
|
+
fontWeightStrong: "600",
|
|
83
|
+
fontSizeMini: "13px",
|
|
84
|
+
fontSizeTiny: "14px",
|
|
85
|
+
fontSizeSmall: "14px",
|
|
86
|
+
fontSizeMedium: "15px",
|
|
87
|
+
fontSizeLarge: "16px",
|
|
88
|
+
fontSizeHuge: "17px",
|
|
89
|
+
fontSize: "15px",
|
|
90
|
+
heightMini: "20px",
|
|
91
|
+
heightTiny: "22px",
|
|
92
|
+
heightSmall: "24px",
|
|
93
|
+
heightMedium: "30px",
|
|
94
|
+
heightLarge: "42px",
|
|
95
|
+
heightHuge: "46px",
|
|
96
|
+
boxShadow1: V,
|
|
97
|
+
boxShadow2: y,
|
|
98
|
+
boxShadow3: W,
|
|
99
|
+
cubicBezierEaseInOut: "cubic-bezier(.2, .8, .2, 1)"
|
|
100
|
+
},
|
|
101
|
+
Button: {
|
|
102
|
+
fontWeight: "500",
|
|
103
|
+
borderRadiusMedium: v,
|
|
104
|
+
borderRadiusSmall: "7px",
|
|
105
|
+
borderRadiusLarge: "12px",
|
|
106
|
+
fontSizeLarge: "15px",
|
|
107
|
+
// 点击不出扩散波纹:那是 Ant 系的反馈,macOS 的按钮只有按下态的底色变化(colorPressed)。
|
|
108
|
+
// 波纹是定时器切 class + 无 fill-mode 的 CSS 动画,时长归零即彻底不可见,不必逐类型清 rippleColor。
|
|
109
|
+
rippleDuration: "0s",
|
|
110
|
+
paddingMedium: "0 12px",
|
|
111
|
+
paddingSmall: "0 10px",
|
|
112
|
+
textColorPrimary: m,
|
|
113
|
+
textColorHoverPrimary: m,
|
|
114
|
+
textColorPressedPrimary: m,
|
|
115
|
+
textColorFocusPrimary: m,
|
|
116
|
+
textColorDisabledPrimary: m,
|
|
117
|
+
colorSecondary: n,
|
|
118
|
+
colorSecondaryHover: S,
|
|
119
|
+
colorSecondaryPressed: g,
|
|
120
|
+
// 没写 type 的默认款(库里的「搜索」「更多」)渲染成与 secondary 同款:中性灰底、无描边
|
|
121
|
+
color: n,
|
|
122
|
+
colorHover: S,
|
|
123
|
+
colorPressed: g,
|
|
124
|
+
colorFocus: n,
|
|
125
|
+
border: "1px solid transparent",
|
|
126
|
+
borderHover: "1px solid transparent",
|
|
127
|
+
borderPressed: "1px solid transparent",
|
|
128
|
+
borderFocus: `1px solid ${t}`,
|
|
129
|
+
// 文字 / 行内操作按钮(详情、编辑):浅色 / 深色统一用 linkFg
|
|
130
|
+
textColorTextPrimary: p,
|
|
131
|
+
textColorTextHoverPrimary: p,
|
|
132
|
+
textColorTextPressedPrimary: p,
|
|
133
|
+
textColorTextFocusPrimary: p,
|
|
134
|
+
textColorGhostPrimary: p,
|
|
135
|
+
textColorGhostHoverPrimary: p,
|
|
136
|
+
textColorGhostPressedPrimary: p,
|
|
137
|
+
textColorGhostFocusPrimary: p,
|
|
138
|
+
colorQuaternaryHover: x,
|
|
139
|
+
colorQuaternaryPressed: g,
|
|
140
|
+
colorTertiaryHover: x,
|
|
141
|
+
colorTertiaryPressed: g
|
|
142
|
+
},
|
|
143
|
+
Input: {
|
|
144
|
+
borderRadius: v,
|
|
145
|
+
color: C,
|
|
146
|
+
colorDisabled: M,
|
|
147
|
+
colorFocus: C,
|
|
148
|
+
border: `1px solid ${h}`,
|
|
149
|
+
borderHover: `1px solid ${o("--input-border-hover")}`,
|
|
150
|
+
borderFocus: `1px solid ${t}`,
|
|
151
|
+
boxShadowFocus: s,
|
|
152
|
+
heightLarge: "42px",
|
|
153
|
+
fontSizeLarge: "15px",
|
|
154
|
+
caretColor: t
|
|
155
|
+
},
|
|
156
|
+
Select: {
|
|
157
|
+
peers: {
|
|
158
|
+
InternalSelection: E,
|
|
159
|
+
InternalSelectMenu: {
|
|
160
|
+
borderRadius: "12px",
|
|
161
|
+
optionHeightMedium: "30px",
|
|
162
|
+
color: a,
|
|
163
|
+
optionCheckColor: t
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
TreeSelect: { peers: { InternalSelection: E } },
|
|
168
|
+
DatePicker: {
|
|
169
|
+
peers: {
|
|
170
|
+
Input: {
|
|
171
|
+
borderRadius: v,
|
|
172
|
+
color: C,
|
|
173
|
+
borderFocus: `1px solid ${t}`,
|
|
174
|
+
boxShadowFocus: s
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
},
|
|
178
|
+
InputNumber: {
|
|
179
|
+
peers: { Input: { color: C, borderFocus: `1px solid ${t}`, boxShadowFocus: s } }
|
|
180
|
+
},
|
|
181
|
+
Card: {
|
|
182
|
+
color: w,
|
|
183
|
+
colorEmbedded: n,
|
|
184
|
+
borderColor: "transparent",
|
|
185
|
+
borderRadius: o("--radius-lg"),
|
|
186
|
+
titleFontSizeMedium: "15px",
|
|
187
|
+
titleFontSizeSmall: "15px",
|
|
188
|
+
titleFontWeight: "600",
|
|
189
|
+
paddingMedium: "12px 14px 14px",
|
|
190
|
+
paddingSmall: "10px 12px",
|
|
191
|
+
colorModal: a,
|
|
192
|
+
actionColor: n
|
|
193
|
+
},
|
|
69
194
|
DataTable: {
|
|
70
|
-
|
|
195
|
+
thColor: j,
|
|
196
|
+
thColorHover: L,
|
|
197
|
+
thColorSorting: L,
|
|
198
|
+
// 内容层不透明:行底取实色卡片色(固定列 sticky 叠在别的列上不会透底),不加斑马纹(tdColorStriped 同色)
|
|
199
|
+
tdColor: w,
|
|
200
|
+
tdColorHover: q,
|
|
201
|
+
tdColorStriped: w,
|
|
202
|
+
tdColorSorting: w,
|
|
203
|
+
thTextColor: i,
|
|
71
204
|
thFontWeight: "600",
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
205
|
+
thIconColor: l,
|
|
206
|
+
borderColor: d,
|
|
207
|
+
borderRadius: "10px",
|
|
208
|
+
thPaddingMedium: "6px 12px",
|
|
209
|
+
tdPaddingMedium: "4px 12px",
|
|
210
|
+
fontSizeMedium: "15px",
|
|
211
|
+
thPaddingSmall: "6px 10px",
|
|
212
|
+
tdPaddingSmall: "4px 10px",
|
|
213
|
+
fontSizeSmall: "14px",
|
|
214
|
+
peers: { Checkbox: R }
|
|
215
|
+
},
|
|
216
|
+
Menu: {
|
|
217
|
+
borderRadius: v,
|
|
218
|
+
itemHeight: "34px",
|
|
219
|
+
fontSize: "15px",
|
|
220
|
+
itemColorHover: x,
|
|
221
|
+
itemColorActive: z(t, b ? 0.16 : 0.09),
|
|
222
|
+
itemColorActiveHover: z(t, b ? 0.2 : 0.12),
|
|
223
|
+
itemColorActiveCollapsed: z(t, b ? 0.16 : 0.09),
|
|
224
|
+
// 侧栏标签用主文字色(macOS 侧栏就是 label 主色,不是次级灰);选中 / 悬停靠底色区分
|
|
225
|
+
itemTextColor: r,
|
|
226
|
+
itemTextColorHover: r,
|
|
227
|
+
// 侧栏图标与文字同色(每个状态都一致):平时主文字色,选中才跟随强调色;
|
|
228
|
+
// 强调色只出现在选中项(行底色 + 加粗的图标文字),整条侧栏更安静
|
|
229
|
+
itemIconColor: r,
|
|
230
|
+
itemIconColorHover: r,
|
|
231
|
+
itemIconColorCollapsed: r,
|
|
232
|
+
itemTextColorActive: u,
|
|
233
|
+
itemIconColorActive: u,
|
|
234
|
+
itemTextColorActiveHover: u,
|
|
235
|
+
itemIconColorActiveHover: u,
|
|
236
|
+
itemTextColorChildActive: r,
|
|
237
|
+
itemIconColorChildActive: r,
|
|
238
|
+
itemTextColorChildActiveHover: r,
|
|
239
|
+
itemIconColorChildActiveHover: r,
|
|
240
|
+
arrowColor: l,
|
|
241
|
+
arrowColorHover: i,
|
|
242
|
+
arrowColorActive: u,
|
|
243
|
+
arrowColorActiveHover: u,
|
|
244
|
+
arrowColorChildActive: i,
|
|
245
|
+
arrowColorChildActiveHover: r,
|
|
246
|
+
groupTextColor: l
|
|
247
|
+
},
|
|
248
|
+
Tabs: {
|
|
249
|
+
colorSegment: k,
|
|
250
|
+
tabColorSegment: D,
|
|
251
|
+
tabBorderRadius: "8px",
|
|
252
|
+
tabTextColorSegment: i,
|
|
253
|
+
tabTextColorActiveSegment: r,
|
|
254
|
+
tabTextColorHoverSegment: r,
|
|
255
|
+
tabFontWeightActive: "500",
|
|
256
|
+
tabColor: "transparent",
|
|
257
|
+
tabBorderColor: "transparent",
|
|
258
|
+
tabTextColorCard: l,
|
|
259
|
+
tabTextColorActiveCard: u,
|
|
260
|
+
tabTextColorHoverCard: r,
|
|
261
|
+
tabTextColorActiveLine: r,
|
|
262
|
+
tabTextColorHoverLine: r,
|
|
263
|
+
barColor: e
|
|
264
|
+
},
|
|
265
|
+
Radio: {
|
|
266
|
+
buttonBorderRadius: "8px",
|
|
267
|
+
buttonColor: k,
|
|
268
|
+
buttonColorActive: D,
|
|
269
|
+
buttonBorderColor: "transparent",
|
|
270
|
+
buttonBorderColorActive: "transparent",
|
|
271
|
+
buttonBorderColorHover: "transparent",
|
|
272
|
+
buttonTextColor: i,
|
|
273
|
+
buttonTextColorActive: r,
|
|
274
|
+
buttonTextColorHover: r,
|
|
275
|
+
buttonBoxShadow: "none",
|
|
276
|
+
buttonBoxShadowHover: "none",
|
|
277
|
+
buttonBoxShadowFocus: s,
|
|
278
|
+
dotColorActive: e,
|
|
279
|
+
boxShadowActive: `inset 0 0 0 1px ${e}`,
|
|
280
|
+
boxShadowFocus: s
|
|
281
|
+
},
|
|
282
|
+
Checkbox: R,
|
|
283
|
+
Tree: {
|
|
284
|
+
nodeBorderRadius: "8px",
|
|
285
|
+
nodeColorHover: x,
|
|
286
|
+
nodeColorActive: P,
|
|
287
|
+
nodeHeight: "30px",
|
|
288
|
+
peers: { Checkbox: R }
|
|
289
|
+
},
|
|
290
|
+
Switch: {
|
|
291
|
+
railColor: o("--switch-off"),
|
|
292
|
+
railColorActive: e,
|
|
293
|
+
boxShadowFocus: s,
|
|
294
|
+
railHeightMedium: "24px",
|
|
295
|
+
railWidthMedium: "42px",
|
|
296
|
+
buttonHeightMedium: "20px",
|
|
297
|
+
buttonWidthMedium: "20px",
|
|
298
|
+
buttonWidthPressedMedium: "26px"
|
|
299
|
+
},
|
|
300
|
+
Tag: {
|
|
301
|
+
heightTiny: "20px",
|
|
302
|
+
heightSmall: "22px",
|
|
303
|
+
heightMedium: "24px",
|
|
304
|
+
fontSizeTiny: "13px",
|
|
305
|
+
fontSizeSmall: "14px",
|
|
306
|
+
fontSizeMedium: "15px",
|
|
307
|
+
borderRadius: o("--radius-sm"),
|
|
308
|
+
color: n,
|
|
309
|
+
textColor: i,
|
|
310
|
+
fontWeightStrong: "500",
|
|
311
|
+
colorPrimary: P,
|
|
312
|
+
textColorPrimary: r,
|
|
313
|
+
borderPrimary: `1px solid ${$}`
|
|
314
|
+
},
|
|
315
|
+
List: { color: "transparent", colorHover: x, borderColor: d },
|
|
316
|
+
Dialog: {
|
|
317
|
+
borderRadius: o("--radius-xl"),
|
|
318
|
+
color: a,
|
|
319
|
+
padding: "24px 26px 22px",
|
|
320
|
+
titleFontSize: "17px",
|
|
321
|
+
titleFontWeight: "600"
|
|
322
|
+
},
|
|
323
|
+
Modal: { color: a, boxShadow: W },
|
|
324
|
+
Drawer: {
|
|
325
|
+
color: a,
|
|
326
|
+
headerPadding: "18px 24px",
|
|
327
|
+
bodyPadding: "20px 24px",
|
|
328
|
+
footerPadding: "14px 24px",
|
|
329
|
+
titleFontSize: "17px",
|
|
330
|
+
titleFontWeight: "600",
|
|
331
|
+
headerBorderBottom: `1px solid ${d}`,
|
|
332
|
+
footerBorderTop: `1px solid ${d}`
|
|
333
|
+
},
|
|
334
|
+
Popover: { color: a, borderRadius: o("--radius-lg"), boxShadow: y },
|
|
335
|
+
Dropdown: {
|
|
336
|
+
color: a,
|
|
337
|
+
borderRadius: "12px",
|
|
338
|
+
padding: "5px",
|
|
339
|
+
optionHeightMedium: "30px",
|
|
340
|
+
optionColorHover: x,
|
|
341
|
+
dividerColor: d
|
|
342
|
+
},
|
|
343
|
+
Tooltip: {
|
|
344
|
+
color: o("--tooltip-bg"),
|
|
345
|
+
textColor: "#FFFFFF",
|
|
346
|
+
borderRadius: "8px",
|
|
347
|
+
padding: "5px 9px",
|
|
348
|
+
// Tooltip 底下是 Popover,而 Naive 合并时全局 `Popover` 覆盖(上面的实底 elevated)压过 Tooltip 自带的 color,
|
|
349
|
+
// 文字色却仍是 Tooltip 的白色 → 亮色下白底白字。peers.Popover 在合并链最后,只对 Tooltip 生效。
|
|
350
|
+
peers: {
|
|
351
|
+
Popover: {
|
|
352
|
+
color: o("--tooltip-bg"),
|
|
353
|
+
textColor: "#FFFFFF",
|
|
354
|
+
borderRadius: "8px",
|
|
355
|
+
padding: "5px 9px"
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
},
|
|
359
|
+
Message: { borderRadius: "12px", color: a, padding: "10px 16px", boxShadow: y },
|
|
360
|
+
Notification: { borderRadius: "16px", color: a, boxShadow: y },
|
|
361
|
+
Alert: {
|
|
362
|
+
borderRadius: "10px",
|
|
363
|
+
colorInfo: n,
|
|
364
|
+
borderInfo: `1px solid ${Q}`,
|
|
365
|
+
iconColorInfo: i,
|
|
366
|
+
titleTextColorInfo: r,
|
|
367
|
+
contentTextColorInfo: i
|
|
368
|
+
},
|
|
369
|
+
Pagination: {
|
|
370
|
+
itemBorderRadius: "8px",
|
|
371
|
+
itemColorActive: P,
|
|
372
|
+
itemTextColorActive: r,
|
|
373
|
+
itemBorderActive: `1px solid ${$}`,
|
|
374
|
+
itemColorActiveHover: P
|
|
375
|
+
},
|
|
376
|
+
Statistic: {
|
|
377
|
+
valueFontSize: "26px",
|
|
378
|
+
valueFontWeight: "500",
|
|
379
|
+
labelFontSize: "13px",
|
|
380
|
+
labelTextColor: i
|
|
381
|
+
},
|
|
382
|
+
Descriptions: {
|
|
383
|
+
thColor: n,
|
|
384
|
+
borderColor: d,
|
|
385
|
+
thTextColor: l,
|
|
386
|
+
tdColor: "transparent"
|
|
387
|
+
},
|
|
388
|
+
Progress: { railColor: n, fillColor: e },
|
|
389
|
+
Breadcrumb: { itemTextColor: l, itemTextColorActive: r, separatorColor: B },
|
|
390
|
+
Slider: {
|
|
391
|
+
fillColor: e,
|
|
392
|
+
fillColorHover: e,
|
|
393
|
+
railColor: S,
|
|
394
|
+
railColorHover: S,
|
|
395
|
+
dotBorderActive: `2px solid ${e}`
|
|
396
|
+
},
|
|
397
|
+
Steps: {
|
|
398
|
+
indicatorColorProcess: e,
|
|
399
|
+
indicatorTextColorProcess: m,
|
|
400
|
+
indicatorBorderColorProcess: e,
|
|
401
|
+
indicatorColorFinish: "transparent",
|
|
402
|
+
indicatorBorderColorFinish: h,
|
|
403
|
+
indicatorTextColorFinish: i,
|
|
404
|
+
splitorColorFinish: l,
|
|
405
|
+
splitorColorProcess: d,
|
|
406
|
+
splitorColorWait: d
|
|
407
|
+
},
|
|
408
|
+
Empty: { textColor: l, iconColor: B },
|
|
409
|
+
Divider: { color: d },
|
|
410
|
+
Timeline: { circleBorder: `2px solid ${h}`, titleFontWeight: "500", lineColor: d },
|
|
411
|
+
Badge: { color: o("--badge-bg") },
|
|
412
|
+
Scrollbar: { color: S, colorHover: h },
|
|
413
|
+
Code: { textColor: r }
|
|
84
414
|
};
|
|
85
415
|
}
|
|
86
416
|
export {
|
|
87
|
-
|
|
417
|
+
X as buildThemeOverrides
|
|
88
418
|
};
|
|
89
419
|
//# sourceMappingURL=naive-theme.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"naive-theme.js","sources":["../../src/theme/naive-theme.ts"],"sourcesContent":["import type { GlobalThemeOverrides } from 'naive-ui'\nimport { derivePrimary, mix } from './mix'\n\n// 读取当前主题下的 token 值(getComputedStyle 同步反映最新的 data-theme)。\nconst v = (name: string): string =>\n getComputedStyle(document.documentElement).getPropertyValue(name).trim()\n\n/** 语义色 hover/pressed/suppl 统一派生。主色不在此列——它走 `mix.ts` 的 `derivePrimary`(与写 CSS 变量的那处共用)。 */\nfunction semantic(base: string) {\n return {\n base,\n hover: mix(base, '#FFFFFF', 0.16),\n pressed: mix(base, '#000000', 0.18),\n suppl: mix(base, '#FFFFFF', 0.16),\n }\n}\n\n/**\n * tokens.css → Naive UI GlobalThemeOverrides(DESIGN.md 映射表)。\n * 主色由 accent 按派生规则算;其余颜色/度量从当前 CSS 变量读取。\n */\nexport function buildThemeOverrides(opts: { dark: boolean; accent: string }): GlobalThemeOverrides {\n const p = derivePrimary(opts.accent, opts.dark)\n const ok = semantic(v('--color-success'))\n const warn = semantic(v('--color-warning'))\n const err = semantic(v('--color-danger'))\n const info = semantic(v('--color-info'))\n return {\n common: {\n primaryColor: p.primary,\n primaryColorHover: p.hover,\n primaryColorPressed: p.pressed,\n primaryColorSuppl: p.hover,\n\n successColor: ok.base,\n successColorHover: ok.hover,\n successColorPressed: ok.pressed,\n successColorSuppl: ok.suppl,\n warningColor: warn.base,\n warningColorHover: warn.hover,\n warningColorPressed: warn.pressed,\n warningColorSuppl: warn.suppl,\n errorColor: err.base,\n errorColorHover: err.hover,\n errorColorPressed: err.pressed,\n errorColorSuppl: err.suppl,\n infoColor: info.base,\n infoColorHover: info.hover,\n infoColorPressed: info.pressed,\n infoColorSuppl: info.suppl,\n\n bodyColor: v('--color-bg-body'),\n cardColor: v('--color-bg-container'),\n tableColor: v('--color-bg-container'),\n modalColor: v('--color-bg-elevated'),\n popoverColor: v('--color-bg-elevated'),\n\n textColorBase: v('--color-text-primary'),\n textColor1: v('--color-text-primary'),\n textColor2: v('--color-text-secondary'),\n textColor3: v('--color-text-tertiary'),\n placeholderColor: v('--color-text-tertiary'),\n textColorDisabled: v('--color-text-disabled'),\n\n borderColor: v('--color-border'),\n dividerColor: v('--color-border'),\n actionColor: v('--color-fill'),\n // 两者同色会让禁用框和可填框长一个样,操作员分不清哪里能输入,必须走不同令牌。\n // 这两个 common 变量流向 Input 与 InternalSelection,\n // 即 NInput / NInputNumber / NSelect / NDatePicker / NCascader 等全部输入类组件。\n inputColor: v('--color-bg-input'),\n inputColorDisabled: v('--color-fill-disabled'),\n tableHeaderColor: v('--color-fill'),\n hoverColor: v('--color-fill-hover'),\n\n borderRadius: v('--radius-md'),\n borderRadiusSmall: v('--radius-sm'),\n fontSize: v('--font-size-base'),\n fontSizeMedium: v('--font-size-base'),\n fontFamily: v('--font-family-base'),\n fontFamilyMono: v('--font-family-mono'),\n\n boxShadow1: v('--shadow-1'),\n boxShadow2: v('--shadow-2'),\n boxShadow3: v('--shadow-3'),\n },\n // 卡片圆角走 lg(12);常规控件走 common.borderRadius(md=10)。\n Card: { borderRadius: v('--radius-lg') },\n // 表头质感(corporate 风):次级色 + 半粗字重,与数据行拉开层次。\n DataTable: {\n thTextColor: v('--color-text-secondary'),\n thFontWeight: '600',\n // 表头/斑马纹统一贴近深色背景,不沿用 Naive 默认浅灰,避免表格发白。\n tdColor: v('--color-bg-container'),\n tdColorStriped: v('--color-fill'),\n tdColorHover: v('--color-fill-hover'),\n // 表头底色:对应 Naive 的 tableHeaderColor(官方浅色档是 rgb(250,250,252)),\n // 这里换成项目令牌 —— 官方那档浅灰压在本项目的暗色背景上会发白。\n // hover 与排序态也一并覆盖:Naive 是拿它自己那档浅灰算出来的,不跟着 thColor 走,\n // 不覆盖的话鼠标划过表头会跳成另一个色系。\n thColor: v('--color-fill'),\n thColorHover: v('--color-fill-hover'),\n thColorSorting: v('--color-fill-hover'),\n },\n }\n}\n"],"names":["v","name","semantic","base","mix","buildThemeOverrides","opts","p","derivePrimary","ok","warn","err","info"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"naive-theme.js","sources":["../../src/theme/naive-theme.ts"],"sourcesContent":["import type { GlobalThemeOverrides } from 'naive-ui'\nimport { mix, rgba } from './mix'\nimport { deriveAccentTokens } from './accentTokens'\n\n// 读取当前主题下的 token 值(getComputedStyle 同步反映最新的 data-theme)。\nconst v = (name: string): string =>\n getComputedStyle(document.documentElement).getPropertyValue(name).trim()\n\n/** 语义色 hover/pressed 统一派生(hover 往白提 12%,pressed 往黑压 12%)。主色不在此列——它走 `mix.ts` 的 `derivePrimary`。 */\nfunction semantic(base: string) {\n const hover = mix(base, '#FFFFFF', 0.12)\n return { base, hover, pressed: mix(base, '#000000', 0.12), suppl: hover }\n}\n\n/**\n * tokens.css → Naive UI GlobalThemeOverrides(映射关系见 DESIGN.md 映射表)。\n * 强调色相关的值由 accent 按 `accentTokens.ts` 算;其余颜色 / 度量从当前 CSS 变量读取。\n *\n * 度量(中文界面 14px 偏小,整体比 Naive 默认大一档):正文 15px、默认控件高 30px(小 24、迷你 20)、Large 42px 只留给登录页与触屏窄档。\n * 按钮默认款(没写 type 的 NButton,如表格库里的「搜索」「更多」)渲染成与 secondary 同色同无描边,整站只剩一种次按钮。\n */\nexport function buildThemeOverrides(opts: { dark: boolean; accent: string }): GlobalThemeOverrides {\n const { dark } = opts\n const a = deriveAccentTokens(opts.accent, dark)\n const { signal, acc, onAcc, hover, pressed, activeFg, linkFg, ring } = a\n\n const ok = semantic(v('--ok'))\n const warn = semantic(v('--warn'))\n const err = semantic(v('--err'))\n const info = semantic(v('--info'))\n\n const text1 = v('--text-1')\n const text2 = v('--text-2')\n const text3 = v('--text-3')\n const text4 = v('--text-4')\n const border = v('--border')\n const separator = v('--separator')\n const hairline = v('--hairline')\n const hairlineStrong = v('--hairline-strong')\n const glassStrong = v('--glass-strong')\n const fill = v('--fill')\n const fillStrong = v('--fill-strong')\n const hoverBg = v('--hover')\n const pressedBg = v('--pressed')\n const input = v('--input')\n const inputDisabled = v('--input-disabled')\n const cardSolid = v('--bg-card')\n const elevated = v('--bg-elevated')\n const segTrack = v('--seg-track')\n const segThumb = v('--seg-thumb')\n const shadow1 = v('--shadow-1')\n const shadow2 = v('--shadow-2')\n const shadow3 = v('--shadow-3')\n const thBg = v('--th-bg')\n const thBgHover = v('--th-bg-hover')\n const tdBgHover = v('--td-bg-hover')\n\n const radius = v('--radius-md') // 9\n const selection = {\n borderRadius: radius,\n color: input,\n colorActive: input,\n colorDisabled: inputDisabled,\n border: `1px solid ${border}`,\n borderHover: `1px solid ${v('--select-border-hover')}`,\n borderActive: `1px solid ${signal}`,\n borderFocus: `1px solid ${signal}`,\n boxShadowActive: ring,\n boxShadowFocus: ring,\n }\n const checkbox = {\n borderRadius: v('--radius-xs'),\n boxShadowFocus: ring,\n checkMarkColor: '#FFFFFF',\n colorChecked: acc,\n borderChecked: `1px solid ${acc}`,\n colorIndeterminate: acc,\n borderIndeterminate: `1px solid ${acc}`,\n border: `1px solid ${border}`,\n color: input,\n }\n\n return {\n common: {\n primaryColor: acc,\n primaryColorHover: hover,\n primaryColorPressed: pressed,\n primaryColorSuppl: hover,\n\n successColor: ok.base,\n successColorHover: ok.hover,\n successColorPressed: ok.pressed,\n successColorSuppl: ok.suppl,\n warningColor: warn.base,\n warningColorHover: warn.hover,\n warningColorPressed: warn.pressed,\n warningColorSuppl: warn.suppl,\n errorColor: err.base,\n errorColorHover: err.hover,\n errorColorPressed: err.pressed,\n errorColorSuppl: err.suppl,\n infoColor: info.base,\n infoColorHover: info.hover,\n infoColorPressed: info.pressed,\n infoColorSuppl: info.suppl,\n\n bodyColor: v('--bg-app'),\n cardColor: v('--bg-card-glass'),\n tableColor: 'transparent',\n modalColor: elevated,\n popoverColor: elevated,\n\n textColorBase: text1,\n textColor1: text1,\n textColor2: text2,\n textColor3: text3,\n placeholderColor: text3,\n textColorDisabled: text4,\n\n borderColor: border,\n dividerColor: separator,\n // 两者同色会让禁用框和可填框长一个样,操作员分不清哪里能输入,必须走不同令牌。\n // 这两个 common 变量流向 Input 与 InternalSelection,\n // 即 NInput / NInputNumber / NSelect / NDatePicker / NCascader 等全部输入类组件。\n inputColor: input,\n inputColorDisabled: inputDisabled,\n actionColor: fill,\n tableHeaderColor: 'transparent',\n hoverColor: hoverBg,\n pressedColor: pressedBg,\n closeColorHover: hoverBg,\n closeColorPressed: pressedBg,\n clearColor: text3,\n\n borderRadius: radius,\n borderRadiusSmall: v('--radius-sm'),\n fontFamily: v('--font'),\n fontFamilyMono: v('--font-mono'),\n fontWeightStrong: '600',\n fontSizeMini: '13px',\n fontSizeTiny: '14px',\n fontSizeSmall: '14px',\n fontSizeMedium: '15px',\n fontSizeLarge: '16px',\n fontSizeHuge: '17px',\n fontSize: '15px',\n heightMini: '20px',\n heightTiny: '22px',\n heightSmall: '24px',\n heightMedium: '30px',\n heightLarge: '42px',\n heightHuge: '46px',\n\n boxShadow1: shadow1,\n boxShadow2: shadow2,\n boxShadow3: shadow3,\n cubicBezierEaseInOut: 'cubic-bezier(.2, .8, .2, 1)',\n },\n Button: {\n fontWeight: '500',\n borderRadiusMedium: radius,\n borderRadiusSmall: '7px',\n borderRadiusLarge: '12px',\n fontSizeLarge: '15px',\n // 点击不出扩散波纹:那是 Ant 系的反馈,macOS 的按钮只有按下态的底色变化(colorPressed)。\n // 波纹是定时器切 class + 无 fill-mode 的 CSS 动画,时长归零即彻底不可见,不必逐类型清 rippleColor。\n rippleDuration: '0s',\n paddingMedium: '0 12px',\n paddingSmall: '0 10px',\n textColorPrimary: onAcc,\n textColorHoverPrimary: onAcc,\n textColorPressedPrimary: onAcc,\n textColorFocusPrimary: onAcc,\n textColorDisabledPrimary: onAcc,\n colorSecondary: fill,\n colorSecondaryHover: fillStrong,\n colorSecondaryPressed: pressedBg,\n // 没写 type 的默认款(库里的「搜索」「更多」)渲染成与 secondary 同款:中性灰底、无描边\n color: fill,\n colorHover: fillStrong,\n colorPressed: pressedBg,\n colorFocus: fill,\n border: '1px solid transparent',\n borderHover: '1px solid transparent',\n borderPressed: '1px solid transparent',\n borderFocus: `1px solid ${signal}`,\n // 文字 / 行内操作按钮(详情、编辑):浅色 / 深色统一用 linkFg\n textColorTextPrimary: linkFg,\n textColorTextHoverPrimary: linkFg,\n textColorTextPressedPrimary: linkFg,\n textColorTextFocusPrimary: linkFg,\n textColorGhostPrimary: linkFg,\n textColorGhostHoverPrimary: linkFg,\n textColorGhostPressedPrimary: linkFg,\n textColorGhostFocusPrimary: linkFg,\n colorQuaternaryHover: hoverBg,\n colorQuaternaryPressed: pressedBg,\n colorTertiaryHover: hoverBg,\n colorTertiaryPressed: pressedBg,\n },\n Input: {\n borderRadius: radius,\n color: input,\n colorDisabled: inputDisabled,\n colorFocus: input,\n border: `1px solid ${border}`,\n borderHover: `1px solid ${v('--input-border-hover')}`,\n borderFocus: `1px solid ${signal}`,\n boxShadowFocus: ring,\n heightLarge: '42px',\n fontSizeLarge: '15px',\n caretColor: signal,\n },\n Select: {\n peers: {\n InternalSelection: selection,\n InternalSelectMenu: {\n borderRadius: '12px',\n optionHeightMedium: '30px',\n color: elevated,\n optionCheckColor: signal,\n },\n },\n },\n TreeSelect: { peers: { InternalSelection: selection } },\n DatePicker: {\n peers: {\n Input: {\n borderRadius: radius,\n color: input,\n borderFocus: `1px solid ${signal}`,\n boxShadowFocus: ring,\n },\n },\n },\n InputNumber: {\n peers: { Input: { color: input, borderFocus: `1px solid ${signal}`, boxShadowFocus: ring } },\n },\n Card: {\n color: cardSolid,\n colorEmbedded: fill,\n borderColor: 'transparent',\n borderRadius: v('--radius-lg'),\n titleFontSizeMedium: '15px',\n titleFontSizeSmall: '15px',\n titleFontWeight: '600',\n paddingMedium: '12px 14px 14px',\n paddingSmall: '10px 12px',\n colorModal: elevated,\n actionColor: fill,\n },\n DataTable: {\n thColor: thBg,\n thColorHover: thBgHover,\n thColorSorting: thBgHover,\n // 内容层不透明:行底取实色卡片色(固定列 sticky 叠在别的列上不会透底),不加斑马纹(tdColorStriped 同色)\n tdColor: cardSolid,\n tdColorHover: tdBgHover,\n tdColorStriped: cardSolid,\n tdColorSorting: cardSolid,\n thTextColor: text2,\n thFontWeight: '600',\n thIconColor: text3,\n borderColor: separator,\n borderRadius: '10px',\n thPaddingMedium: '6px 12px',\n tdPaddingMedium: '4px 12px',\n fontSizeMedium: '15px',\n thPaddingSmall: '6px 10px',\n tdPaddingSmall: '4px 10px',\n fontSizeSmall: '14px',\n peers: { Checkbox: checkbox },\n },\n Menu: {\n borderRadius: radius,\n itemHeight: '34px',\n fontSize: '15px',\n itemColorHover: hoverBg,\n itemColorActive: rgba(signal, dark ? 0.16 : 0.09),\n itemColorActiveHover: rgba(signal, dark ? 0.2 : 0.12),\n itemColorActiveCollapsed: rgba(signal, dark ? 0.16 : 0.09),\n // 侧栏标签用主文字色(macOS 侧栏就是 label 主色,不是次级灰);选中 / 悬停靠底色区分\n itemTextColor: text1,\n itemTextColorHover: text1,\n // 侧栏图标与文字同色(每个状态都一致):平时主文字色,选中才跟随强调色;\n // 强调色只出现在选中项(行底色 + 加粗的图标文字),整条侧栏更安静\n itemIconColor: text1,\n itemIconColorHover: text1,\n itemIconColorCollapsed: text1,\n itemTextColorActive: activeFg,\n itemIconColorActive: activeFg,\n itemTextColorActiveHover: activeFg,\n itemIconColorActiveHover: activeFg,\n itemTextColorChildActive: text1,\n itemIconColorChildActive: text1,\n itemTextColorChildActiveHover: text1,\n itemIconColorChildActiveHover: text1,\n arrowColor: text3,\n arrowColorHover: text2,\n arrowColorActive: activeFg,\n arrowColorActiveHover: activeFg,\n arrowColorChildActive: text2,\n arrowColorChildActiveHover: text1,\n groupTextColor: text3,\n },\n Tabs: {\n colorSegment: segTrack,\n tabColorSegment: segThumb,\n tabBorderRadius: '8px',\n tabTextColorSegment: text2,\n tabTextColorActiveSegment: text1,\n tabTextColorHoverSegment: text1,\n tabFontWeightActive: '500',\n tabColor: 'transparent',\n tabBorderColor: 'transparent',\n tabTextColorCard: text3,\n tabTextColorActiveCard: activeFg,\n tabTextColorHoverCard: text1,\n tabTextColorActiveLine: text1,\n tabTextColorHoverLine: text1,\n barColor: acc,\n },\n Radio: {\n buttonBorderRadius: '8px',\n buttonColor: segTrack,\n buttonColorActive: segThumb,\n buttonBorderColor: 'transparent',\n buttonBorderColorActive: 'transparent',\n buttonBorderColorHover: 'transparent',\n buttonTextColor: text2,\n buttonTextColorActive: text1,\n buttonTextColorHover: text1,\n buttonBoxShadow: 'none',\n buttonBoxShadowHover: 'none',\n buttonBoxShadowFocus: ring,\n dotColorActive: acc,\n boxShadowActive: `inset 0 0 0 1px ${acc}`,\n boxShadowFocus: ring,\n },\n Checkbox: checkbox,\n Tree: {\n nodeBorderRadius: '8px',\n nodeColorHover: hoverBg,\n nodeColorActive: glassStrong,\n nodeHeight: '30px',\n peers: { Checkbox: checkbox },\n },\n Switch: {\n railColor: v('--switch-off'),\n railColorActive: acc,\n boxShadowFocus: ring,\n railHeightMedium: '24px',\n railWidthMedium: '42px',\n buttonHeightMedium: '20px',\n buttonWidthMedium: '20px',\n buttonWidthPressedMedium: '26px',\n },\n Tag: {\n heightTiny: '20px',\n heightSmall: '22px',\n heightMedium: '24px',\n fontSizeTiny: '13px',\n fontSizeSmall: '14px',\n fontSizeMedium: '15px',\n borderRadius: v('--radius-sm'),\n color: fill,\n textColor: text2,\n fontWeightStrong: '500',\n colorPrimary: glassStrong,\n textColorPrimary: text1,\n borderPrimary: `1px solid ${hairlineStrong}`,\n },\n List: { color: 'transparent', colorHover: hoverBg, borderColor: separator },\n Dialog: {\n borderRadius: v('--radius-xl'),\n color: elevated,\n padding: '24px 26px 22px',\n titleFontSize: '17px',\n titleFontWeight: '600',\n },\n Modal: { color: elevated, boxShadow: shadow3 },\n Drawer: {\n color: elevated,\n headerPadding: '18px 24px',\n bodyPadding: '20px 24px',\n footerPadding: '14px 24px',\n titleFontSize: '17px',\n titleFontWeight: '600',\n headerBorderBottom: `1px solid ${separator}`,\n footerBorderTop: `1px solid ${separator}`,\n },\n Popover: { color: elevated, borderRadius: v('--radius-lg'), boxShadow: shadow2 },\n Dropdown: {\n color: elevated,\n borderRadius: '12px',\n padding: '5px',\n optionHeightMedium: '30px',\n optionColorHover: hoverBg,\n dividerColor: separator,\n },\n Tooltip: {\n color: v('--tooltip-bg'),\n textColor: '#FFFFFF',\n borderRadius: '8px',\n padding: '5px 9px',\n // Tooltip 底下是 Popover,而 Naive 合并时全局 `Popover` 覆盖(上面的实底 elevated)压过 Tooltip 自带的 color,\n // 文字色却仍是 Tooltip 的白色 → 亮色下白底白字。peers.Popover 在合并链最后,只对 Tooltip 生效。\n peers: {\n Popover: {\n color: v('--tooltip-bg'),\n textColor: '#FFFFFF',\n borderRadius: '8px',\n padding: '5px 9px',\n },\n },\n },\n Message: { borderRadius: '12px', color: elevated, padding: '10px 16px', boxShadow: shadow2 },\n Notification: { borderRadius: '16px', color: elevated, boxShadow: shadow2 },\n Alert: {\n borderRadius: '10px',\n colorInfo: fill,\n borderInfo: `1px solid ${hairline}`,\n iconColorInfo: text2,\n titleTextColorInfo: text1,\n contentTextColorInfo: text2,\n },\n Pagination: {\n itemBorderRadius: '8px',\n itemColorActive: glassStrong,\n itemTextColorActive: text1,\n itemBorderActive: `1px solid ${hairlineStrong}`,\n itemColorActiveHover: glassStrong,\n },\n Statistic: {\n valueFontSize: '26px',\n valueFontWeight: '500',\n labelFontSize: '13px',\n labelTextColor: text2,\n },\n Descriptions: {\n thColor: fill,\n borderColor: separator,\n thTextColor: text3,\n tdColor: 'transparent',\n },\n Progress: { railColor: fill, fillColor: acc },\n Breadcrumb: { itemTextColor: text3, itemTextColorActive: text1, separatorColor: text4 },\n Slider: {\n fillColor: acc,\n fillColorHover: acc,\n railColor: fillStrong,\n railColorHover: fillStrong,\n dotBorderActive: `2px solid ${acc}`,\n },\n Steps: {\n indicatorColorProcess: acc,\n indicatorTextColorProcess: onAcc,\n indicatorBorderColorProcess: acc,\n indicatorColorFinish: 'transparent',\n indicatorBorderColorFinish: border,\n indicatorTextColorFinish: text2,\n splitorColorFinish: text3,\n splitorColorProcess: separator,\n splitorColorWait: separator,\n },\n Empty: { textColor: text3, iconColor: text4 },\n Divider: { color: separator },\n Timeline: { circleBorder: `2px solid ${border}`, titleFontWeight: '500', lineColor: separator },\n Badge: { color: v('--badge-bg') },\n Scrollbar: { color: fillStrong, colorHover: border },\n Code: { textColor: text1 },\n }\n}\n"],"names":["v","name","semantic","base","hover","mix","buildThemeOverrides","opts","dark","a","deriveAccentTokens","signal","acc","onAcc","pressed","activeFg","linkFg","ring","ok","warn","err","info","text1","text2","text3","text4","border","separator","hairline","hairlineStrong","glassStrong","fill","fillStrong","hoverBg","pressedBg","input","inputDisabled","cardSolid","elevated","segTrack","segThumb","shadow1","shadow2","shadow3","thBg","thBgHover","tdBgHover","radius","selection","checkbox","rgba"],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 读 JWT payload 里的字符串声明(不验签:只用来在前端识别「当前会话」,真正的鉴权在后端)。
|
|
3
|
+
* 后端的声明名是未映射的短名(`sub` / `sid` / `sadm` / `unique_name`)。
|
|
4
|
+
* 令牌缺失、不是 JWT、payload 不是合法 JSON 都返回 undefined,不抛错 ——
|
|
5
|
+
* 访问令牌在内存里(Cookie 会话模式也是,只有刷新令牌进 HttpOnly Cookie),但 F5 后要等静默刷新完成才回来,
|
|
6
|
+
* 调用方要有「读不到」的回退。
|
|
7
|
+
*/
|
|
8
|
+
export declare function jwtClaim(token: string | null | undefined, name: string): string | undefined;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
function d(e, a) {
|
|
2
|
+
const t = e == null ? void 0 : e.split(".")[1];
|
|
3
|
+
if (t)
|
|
4
|
+
try {
|
|
5
|
+
const c = t.replaceAll("-", "+").replaceAll("_", "/").padEnd(Math.ceil(t.length / 4) * 4, "="), l = Uint8Array.from(atob(c), (o) => o.charCodeAt(0)), r = JSON.parse(new TextDecoder().decode(l))[a];
|
|
6
|
+
return typeof r == "string" ? r : void 0;
|
|
7
|
+
} catch {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export {
|
|
12
|
+
d as jwtClaim
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=jwt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt.js","sources":["../../src/utils/jwt.ts"],"sourcesContent":["/**\n * 读 JWT payload 里的字符串声明(不验签:只用来在前端识别「当前会话」,真正的鉴权在后端)。\n * 后端的声明名是未映射的短名(`sub` / `sid` / `sadm` / `unique_name`)。\n * 令牌缺失、不是 JWT、payload 不是合法 JSON 都返回 undefined,不抛错 ——\n * 访问令牌在内存里(Cookie 会话模式也是,只有刷新令牌进 HttpOnly Cookie),但 F5 后要等静默刷新完成才回来,\n * 调用方要有「读不到」的回退。\n */\nexport function jwtClaim(token: string | null | undefined, name: string): string | undefined {\n const payload = token?.split('.')[1]\n if (!payload) return undefined\n try {\n const base64 = payload\n .replaceAll('-', '+')\n .replaceAll('_', '/')\n .padEnd(Math.ceil(payload.length / 4) * 4, '=')\n // atob 给的是 Latin-1 字节串,要按 UTF-8 解码才不会把中文声明读成乱码\n const bytes = Uint8Array.from(atob(base64), c => c.charCodeAt(0))\n const value = (JSON.parse(new TextDecoder().decode(bytes)) as Record<string, unknown>)[name]\n return typeof value === 'string' ? value : undefined\n } catch {\n return undefined\n }\n}\n"],"names":["jwtClaim","token","name","payload","base64","bytes","c","value"],"mappings":"AAOO,SAASA,EAASC,GAAkCC,GAAkC;AAC3F,QAAMC,IAAUF,KAAA,gBAAAA,EAAO,MAAM,KAAK;AAClC,MAAKE;AACL,QAAI;AACF,YAAMC,IAASD,EACZ,WAAW,KAAK,GAAG,EACnB,WAAW,KAAK,GAAG,EACnB,OAAO,KAAK,KAAKA,EAAQ,SAAS,CAAC,IAAI,GAAG,GAAG,GAE1CE,IAAQ,WAAW,KAAK,KAAKD,CAAM,GAAG,CAAAE,MAAKA,EAAE,WAAW,CAAC,CAAC,GAC1DC,IAAS,KAAK,MAAM,IAAI,YAAA,EAAc,OAAOF,CAAK,CAAC,EAA8BH,CAAI;AAC3F,aAAO,OAAOK,KAAU,WAAWA,IAAQ;AAAA,IAC7C,QAAQ;AACN;AAAA,IACF;AACF;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menuIcon.js","sources":["../../src/utils/menuIcon.ts"],"sourcesContent":["// 菜单 / 页签图标统一成 Phosphor 线条款。\n// 菜单种子(DefaultMenuSeed.cs)与库里配的菜单存的是带 `-duotone` 后缀的名字,而设计定全站线条款\n// (14–18px 的小图标上,淡色填充层会和线条糊在一起)。渲染处去掉后缀,不必改库里的数据:\n// 管理员在菜单管理里配的带该后缀的名字同样生效,换了款式也不用改数据。\n// 只剥 `-duotone`;`-fill` 实心款是设计里保留的点缀(品牌标、状态点),原样放行。\n\n/** 去掉名字末尾的 `-duotone` 后缀(如 users 款);其它名字原样返回。 */\nexport function lineIcon(name: string | undefined | null): string | undefined {\n if (!name) return undefined\n return name.replace(/-duotone$/, '')\n}\n"],"names":["lineIcon","name"],"mappings":"AAOO,SAASA,EAASC,GAAqD;AAC5E,MAAKA;AACL,WAAOA,EAAK,QAAQ,aAAa,EAAE;AACrC;"}
|