yh-pub 2.0.40 → 2.0.42
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/{AdminLogin-BfeSS30h.js → AdminLogin-D1M7mKx1.js} +43 -43
- package/AdminLogin-D1M7mKx1.js.map +1 -0
- package/{Error-BZ-HxGnv.js → Error-4c_bvC0h.js} +2 -2
- package/{Error-BZ-HxGnv.js.map → Error-4c_bvC0h.js.map} +1 -1
- package/{Error401-D5s0IlTQ.js → Error401-DooGpBbE.js} +3 -3
- package/{Error401-D5s0IlTQ.js.map → Error401-DooGpBbE.js.map} +1 -1
- package/{Error404-Cs6ST5Lu.js → Error404-aBa4w5oR.js} +3 -3
- package/{Error404-Cs6ST5Lu.js.map → Error404-aBa4w5oR.js.map} +1 -1
- package/{Error500-D8F8R1Q7.js → Error500-Bck_zHe3.js} +3 -3
- package/{Error500-D8F8R1Q7.js.map → Error500-Bck_zHe3.js.map} +1 -1
- package/{HomeIndex-BS47kT7U.js → HomeIndex-DSX1pQiF.js} +4 -4
- package/{HomeIndex-BS47kT7U.js.map → HomeIndex-DSX1pQiF.js.map} +1 -1
- package/{IconExplorer-Fc56kzrR.js → IconExplorer-DBJQCE3C.js} +2 -2
- package/{IconExplorer-Fc56kzrR.js.map → IconExplorer-DBJQCE3C.js.map} +1 -1
- package/Index-Ce48fZfr.js +5 -0
- package/Index-Ce48fZfr.js.map +1 -0
- package/{MainLogin-xiV2SgRY.js → MainLogin-DXpZCHXd.js} +43 -43
- package/{MainLogin-xiV2SgRY.js.map → MainLogin-DXpZCHXd.js.map} +1 -1
- package/{MenuManage-I-xOWlmT.js → MenuManage-Il2cKdua.js} +23 -23
- package/{MenuManage-I-xOWlmT.js.map → MenuManage-Il2cKdua.js.map} +1 -1
- package/{OrgManage-DMiV0kYD.js → OrgManage-BliXKMoN.js} +2 -2
- package/{OrgManage-DMiV0kYD.js.map → OrgManage-BliXKMoN.js.map} +1 -1
- package/{RoleManage-BVdU6gDY.js → RoleManage-CAlbkC11.js} +2 -2
- package/{RoleManage-BVdU6gDY.js.map → RoleManage-CAlbkC11.js.map} +1 -1
- package/{SysConfig-CCABcf9Y.js → SysConfig-B6BX8wYn.js} +14 -14
- package/{SysConfig-CCABcf9Y.js.map → SysConfig-B6BX8wYn.js.map} +1 -1
- package/{TenantList-f6uQfoQ0.js → TenantList-_cOI6-g2.js} +2 -2
- package/{TenantList-f6uQfoQ0.js.map → TenantList-_cOI6-g2.js.map} +1 -1
- package/{ThemeConfig-DQtDKSWn.js → ThemeConfig-a8CLqcbi.js} +2 -2
- package/{ThemeConfig-DQtDKSWn.js.map → ThemeConfig-a8CLqcbi.js.map} +1 -1
- package/{ThemeDemo-D3fPaGC9.js → ThemeDemo-BvgICE9C.js} +2 -2
- package/{ThemeDemo-D3fPaGC9.js.map → ThemeDemo-BvgICE9C.js.map} +1 -1
- package/{index-dMglozFq.js → index-DJODeC8I.js} +7612 -7510
- package/{index-dMglozFq.js.map → index-DJODeC8I.js.map} +1 -1
- package/index.es.js +12 -12
- package/package.json +1 -1
- package/style.css +1 -1
- package/AdminLogin-BfeSS30h.js.map +0 -1
- package/Index-GdBlECRg.js +0 -5
- package/Index-GdBlECRg.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeConfig-DQtDKSWn.js","sources":["../layout/components/ThemeConfig.vue"],"sourcesContent":["<template>\n <div class=\"theme-config-page\">\n <!-- 操作栏 -->\n <div class=\"config-toolbar\">\n <span class=\"toolbar-title\">{{ ct('主题配置') }}</span>\n <el-radio-group\n v-model=\"modeValue\"\n @change=\"(val: any) => themeStore.setMode(val)\">\n <el-radio-button value=\"light\">{{ ct('亮色') }}</el-radio-button>\n <el-radio-button value=\"dark\">{{ ct('暗色') }}</el-radio-button>\n <el-radio-button value=\"auto\">{{ ct('跟随系统') }}</el-radio-button>\n </el-radio-group>\n <div class=\"flex-grow\"></div>\n <el-button @click=\"goDemo\">{{ ct('前往主题演示') }}</el-button>\n <el-button @click=\"resetDefault\">\n {{ ct('恢复默认') }}\n </el-button>\n <el-button\n type=\"primary\"\n @click=\"copyConfigCode\">\n {{ ct('复制配置代码') }}\n </el-button>\n </div>\n\n <!-- 常用配置 -->\n <h3 class=\"config-section-title\">{{ ct('状态色(自动派生变体)') }}</h3>\n <div class=\"status-grid\">\n <div\n v-for=\"name in STATUS_NAMES\"\n :key=\"name\"\n class=\"status-row\">\n <span\n class=\"status-chip\"\n :style=\"{backgroundColor: statusForm[name]?.light}\"></span>\n <span\n class=\"status-name\"\n :title=\"`elColor${cap(name)}`\">\n {{ STATUS_ZH[name] || name }} {{ name }}\n </span>\n <div class=\"status-pickers\">\n <el-color-picker\n v-model=\"statusForm[name].light\"\n @change=\"applyTheme\" />\n <span class=\"picker-cap\">{{ ct('亮色') }}</span>\n </div>\n <div class=\"status-pickers\">\n <el-color-picker\n v-model=\"statusForm[name].dark\"\n @change=\"applyTheme\" />\n <span class=\"picker-cap\">{{ ct('暗色') }}</span>\n </div>\n </div>\n </div>\n\n <h3 class=\"config-section-title\">{{ ct('布局变量') }}</h3>\n <div class=\"layout-card\">\n <div class=\"layout-line\">\n <div class=\"line-label\">\n <span class=\"label-zh\">头部高度</span>\n <span class=\"label-var\">--layout-header-height</span>\n </div>\n <el-input-number\n v-model=\"layoutForm.headerHeight\"\n :min=\"40\"\n :max=\"120\"\n :step=\"4\"\n @change=\"applyTheme\" />\n <div class=\"line-label\">\n <span class=\"label-zh\">侧边栏宽度</span>\n <span class=\"label-var\">--layout-aside-width</span>\n </div>\n <el-input-number\n v-model=\"layoutForm.asideWidth\"\n :min=\"160\"\n :max=\"400\"\n :step=\"10\"\n @change=\"applyTheme\" />\n <div class=\"line-label\">\n <span class=\"label-zh\">收起宽度</span>\n <span class=\"label-var\">--layout-aside-collapsed-width</span>\n </div>\n <el-input-number\n v-model=\"layoutForm.asideCollapsedWidth\"\n :min=\"40\"\n :max=\"120\"\n :step=\"4\"\n @change=\"applyTheme\" />\n <span class=\"unit\">px</span>\n </div>\n <div class=\"layout-line wrap\">\n <div class=\"line-label\">\n <span class=\"label-zh\">头部背景(渐变)</span>\n <span class=\"label-var\">--layout-header-background</span>\n </div>\n <div class=\"pair\">\n <span class=\"picker-cap\">{{ ct('亮色') }}</span>\n <el-color-picker\n v-model=\"layoutForm.light.gradFrom\"\n @change=\"applyTheme\" />\n <span class=\"arrow\">→</span>\n <el-color-picker\n v-model=\"layoutForm.light.gradTo\"\n @change=\"applyTheme\" />\n </div>\n <div class=\"pair\">\n <span class=\"picker-cap\">{{ ct('暗色') }}</span>\n <el-color-picker\n v-model=\"layoutForm.dark.gradFrom\"\n @change=\"applyTheme\" />\n <span class=\"arrow\">→</span>\n <el-color-picker\n v-model=\"layoutForm.dark.gradTo\"\n @change=\"applyTheme\" />\n </div>\n </div>\n <div class=\"layout-line wrap\">\n <div class=\"line-label\">\n <span class=\"label-zh\">侧边栏背景</span>\n <span class=\"label-var\">--layout-aside-background</span>\n </div>\n <div class=\"pair\">\n <span class=\"picker-cap\">{{ ct('亮色') }}</span>\n <el-color-picker\n v-model=\"layoutForm.light.asideBg\"\n @change=\"applyTheme\" />\n </div>\n <div class=\"pair\">\n <span class=\"picker-cap\">{{ ct('暗色') }}</span>\n <el-color-picker\n v-model=\"layoutForm.dark.asideBg\"\n @change=\"applyTheme\" />\n </div>\n </div>\n <div class=\"layout-line wrap\">\n <div class=\"line-label\">\n <span class=\"label-zh\">布局边框色</span>\n <span class=\"label-var\">--layout-border-color</span>\n </div>\n <div class=\"pair\">\n <span class=\"picker-cap\">{{ ct('亮色') }}</span>\n <el-color-picker\n v-model=\"layoutForm.light.borderColor\"\n @change=\"applyTheme\" />\n </div>\n <div class=\"pair\">\n <span class=\"picker-cap\">{{ ct('暗色') }}</span>\n <el-color-picker\n v-model=\"layoutForm.dark.borderColor\"\n @change=\"applyTheme\" />\n </div>\n </div>\n </div>\n\n <!-- 高级配置 -->\n <h3 class=\"config-section-title\">{{ ct('高级配置(全部变量)') }}</h3>\n <el-collapse v-model=\"openedPanels\">\n <el-collapse-item\n v-for=\"group in ADV_GROUPS\"\n :key=\"group.key\"\n :name=\"group.key\"\n :title=\"`${group.title}(${group.items.length})`\">\n <div class=\"adv-head-row\">\n <span>{{ ct('变量') }}</span>\n <span>{{ ct('亮色值') }}</span>\n <span>{{ ct('暗色值') }}</span>\n </div>\n <div\n v-for=\"item in group.items\"\n :key=\"item.key\"\n class=\"adv-row\">\n <span\n class=\"adv-label\"\n :title=\"toCssVar(item.key)\">\n <span class=\"label-zh\">{{ item.label }}</span>\n <span class=\"label-var\">{{ toCssVar(item.key) }}</span>\n </span>\n <div class=\"adv-control\">\n <el-color-picker\n v-if=\"isColorValue(advLight[item.key])\"\n v-model=\"advLight[item.key]\"\n show-alpha\n @change=\"applyTheme\" />\n <el-input\n v-else\n v-model=\"advLight[item.key]\"\n size=\"small\"\n @change=\"applyTheme\" />\n <span class=\"adv-value\">{{ getVarValue(item.key, 'light') }}</span>\n </div>\n <div class=\"adv-control\">\n <el-color-picker\n v-if=\"isColorValue(advDark[item.key])\"\n v-model=\"advDark[item.key]\"\n show-alpha\n @change=\"applyTheme\" />\n <el-input\n v-else\n v-model=\"advDark[item.key]\"\n size=\"small\"\n @change=\"applyTheme\" />\n <span class=\"adv-value\">{{ getVarValue(item.key, 'dark') }}</span>\n </div>\n </div>\n </el-collapse-item>\n </el-collapse>\n\n <!-- 实时预览 -->\n <h3 class=\"config-section-title\">{{ ct('实时预览') }}</h3>\n <div class=\"preview-card\">\n <div class=\"preview-row\">\n <el-button type=\"primary\">Primary</el-button>\n <el-button type=\"success\">Success</el-button>\n <el-button type=\"warning\">Warning</el-button>\n <el-button type=\"danger\">Danger</el-button>\n <el-tag type=\"primary\">Tag</el-tag>\n <el-switch v-model=\"previewSwitch\" />\n <el-checkbox\n v-model=\"previewCheck\">{{ ct('复选框') }}</el-checkbox>\n </div>\n <div class=\"preview-row\">\n <el-input\n v-model=\"previewInput\"\n :placeholder=\"ct('输入框')\"\n style=\"width: 200px\" />\n <el-progress\n :percentage=\"66\"\n style=\"width: 180px\" />\n </div>\n <el-alert\n :title=\"ct('布局头部与侧边栏即为实时预览效果,修改立即生效。')\"\n type=\"info\"\n show-icon />\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import {reactive, ref} from 'vue';\n import {storeToRefs} from 'pinia';\n import {useRouter} from 'vue-router';\n import {ElMessage} from 'element-plus';\n import {pinia} from '../../store';\n import {useClientStore} from 'yh-client';\n import {useThemeStore, toCssVarName} from '../../store/theme';\n import {\n DEFAULT_EL_VARS,\n DARK_EL_VARS,\n LAYOUT_VARS,\n DARK_LAYOUT_VARS,\n DEFAULT_VXE_VARS,\n DARK_VXE_VARS,\n } from '../../theme/vars';\n import {THEME_VAR_LABELS, STATUS_ZH} from './themeVarLabels';\n import {ct} from '../../utils/i18nHelp';\n\n const themeStore = useThemeStore();\n const router = useRouter();\n const clientStore = useClientStore(pinia);\n\n const {mode: modeValue} = storeToRefs(themeStore);\n\n function goDemo() {\n router.push(clientStore.isAdmin ? '/admin/theme-demo' : '/theme-demo');\n }\n\n // ---------- 工具 ----------\n // camelCase 变量 key 转 CSS 变量名,与 theme.ts updateCSSVars 保持一致\n function toCssVar(key: string): string {\n return `--${toCssVarName(key)}`;\n }\n\n function getVarValue(varKey: string, modeType: 'light' | 'dark'): string {\n const source = modeType === 'light' ? themeStore.lightVars : themeStore.darkVars;\n return (source as Record<string, string>)[varKey] ?? '-';\n }\n\n // 值是否为可被 el-color-picker 解析的颜色\n function isColorValue(value?: string): boolean {\n return /^(#[0-9a-f]{3,8}|rgba?\\(|hsla?\\()/i.test((value || '').trim());\n }\n\n function hexToRgb(hex: string): [number, number, number] {\n let h = hex.trim().replace('#', '');\n if (h.length === 3 || h.length === 4) {\n h = h\n .slice(0, 3)\n .split('')\n .map((c) => c + c)\n .join('');\n }\n const num = parseInt(h.slice(0, 6), 16);\n return [(num >> 16) & 255, (num >> 8) & 255, num & 255];\n }\n\n // 与 Element Plus 官方混色规则一致:ratio 为向 end 色混合的比例\n function mixColor(base: number[], end: number[], ratio: number): [number, number, number] {\n return [\n Math.round(base[0] * (1 - ratio) + end[0] * ratio),\n Math.round(base[1] * (1 - ratio) + end[1] * ratio),\n Math.round(base[2] * (1 - ratio) + end[2] * ratio),\n ];\n }\n\n function rgbToStr(rgb: [number, number, number]): string {\n return `#${rgb.map((c) => c.toString(16).padStart(2, '0')).join('')}`;\n }\n\n // 仅当值相对默认集发生变化时才写入补丁,保证导出的代码最小化\n function putIfChanged(\n patch: Record<string, string>,\n defaults: Record<string, string>,\n key: string,\n value: string\n ): void {\n const norm = (s?: string) => (s || '').trim().toLowerCase().replace(/\\s+/g, '');\n if (norm(value) !== norm(defaults[key])) {\n patch[key] = value;\n }\n }\n\n // ---------- 表单模型 ----------\n const STATUS_NAMES = ['primary', 'success', 'warning', 'danger', 'info'];\n const cap = (s: string) => s[0].toUpperCase() + s.slice(1);\n\n const statusForm = reactive<Record<string, {light: string; dark: string}>>({});\n\n const layoutForm = reactive({\n headerHeight: 60,\n asideWidth: 240,\n asideCollapsedWidth: 60,\n light: {gradFrom: '#0051C1', gradTo: '#3E93FE', asideBg: '#21304C', borderColor: '#f0f0f0'},\n dark: {gradFrom: '#1a1a1a', gradTo: '#2d2d2d', asideBg: '#212223', borderColor: '#363637'},\n });\n\n // 解析头部渐变字符串(亮度模式固定格式 linear-gradient(90deg, c1 0%, c2 100%))\n function parseGradient(bg?: string): [string, string] {\n const m = /linear-gradient\\(90deg,\\s*(\\S+)\\s+0%,\\s*(\\S+)\\s+100%\\)/.exec(bg || '');\n return m ? [m[1], m[2]] : ['#0051C1', '#3E93FE'];\n }\n\n // 高级区表单:键为驼峰变量 key,值为原始字符串\n const advLight = reactive<Record<string, string>>({});\n const advDark = reactive<Record<string, string>>({});\n\n interface AdvItem {\n key: string;\n label: string;\n }\n interface AdvGroup {\n key: string;\n title: string;\n items: AdvItem[];\n }\n\n function advItems(keys: string[]): AdvItem[] {\n return keys.map((key) => ({\n key,\n // 中文标签优先,缺失时回退为变量短名\n label: THEME_VAR_LABELS[key] || toCssVar(key).replace(/^--(el-|vxe-ui-)/, ''),\n }));\n }\n\n const ADV_GROUPS: AdvGroup[] = [\n {\n key: 'text',\n title: ct('文字颜色'),\n items: advItems([\n 'elTextColorPrimary',\n 'elTextColorRegular',\n 'elTextColorSecondary',\n 'elTextColorPlaceholder',\n 'elTextColorDisabled',\n ]),\n },\n {\n key: 'border',\n title: ct('边框颜色'),\n items: advItems([\n 'elBorderColor',\n 'elBorderColorLight',\n 'elBorderColorLighter',\n 'elBorderColorExtraLight',\n 'elBorderColorDark',\n 'elBorderColorDarker',\n ]),\n },\n {\n key: 'fill',\n title: ct('填充颜色'),\n items: advItems([\n 'elFillColor',\n 'elFillColorLight',\n 'elFillColorLighter',\n 'elFillColorExtraLight',\n 'elFillColorDark',\n 'elFillColorDarker',\n 'elFillColorBlank',\n ]),\n },\n {\n key: 'bg',\n title: ct('背景与遮罩'),\n items: advItems([\n 'elBgColor',\n 'elBgColorPage',\n 'elBgColorOverlay',\n 'elOverlayColor',\n 'elOverlayColorLight',\n 'elOverlayColorLighter',\n 'elMaskColor',\n 'elMaskColorExtraLight',\n ]),\n },\n {\n key: 'vxe',\n title: 'VXE',\n items: advItems(Object.keys({...DEFAULT_VXE_VARS, ...DARK_VXE_VARS})),\n },\n ];\n\n const openedPanels = ref<Array<string>>([]);\n\n // 从当前主题变量初始化表单回显\n function initForm(): void {\n const lightSource = themeStore.lightVars as Record<string, string>;\n const darkSource = themeStore.darkVars as Record<string, string>;\n\n STATUS_NAMES.forEach((name) => {\n const key = `elColor${cap(name)}`;\n statusForm[name] = {\n light: lightSource[key] || '#409eff',\n dark: darkSource[key] || '#409eff',\n };\n });\n\n layoutForm.headerHeight = parseInt(lightSource.layoutHeaderHeight, 10) || 60;\n layoutForm.asideWidth = parseInt(lightSource.layoutAsideWidth, 10) || 240;\n layoutForm.asideCollapsedWidth = parseInt(lightSource.layoutAsideCollapsedWidth, 10) || 60;\n\n const [lFrom, lTo] = parseGradient(lightSource.layoutHeaderBackground);\n layoutForm.light.gradFrom = lFrom;\n layoutForm.light.gradTo = lTo;\n const [dFrom, dTo] = parseGradient(darkSource.layoutHeaderBackground);\n layoutForm.dark.gradFrom = dFrom;\n layoutForm.dark.gradTo = dTo;\n layoutForm.light.asideBg = lightSource.layoutAsideBackground || '#21304C';\n layoutForm.light.borderColor = lightSource.layoutBorderColor || '#f0f0f0';\n layoutForm.dark.asideBg = darkSource.layoutAsideBackground || '#212223';\n layoutForm.dark.borderColor = darkSource.layoutBorderColor || '#363637';\n\n ADV_GROUPS.forEach((group) => {\n group.items.forEach((item) => {\n advLight[item.key] = lightSource[item.key] ?? '';\n advDark[item.key] = darkSource[item.key] ?? '';\n });\n });\n }\n\n initForm();\n\n // ---------- 应用与导出 ----------\n // 收集所有差异项(含状态色派生变体),亮暗两套\n function collectChanges(): {light: Record<string, string>; dark: Record<string, string>} {\n const light: Record<string, string> = {};\n const dark: Record<string, string> = {};\n\n // 布局尺寸(亮暗共用)\n putIfChanged(light, LAYOUT_VARS, 'layoutHeaderHeight', `${layoutForm.headerHeight}px`);\n putIfChanged(light, LAYOUT_VARS, 'layoutAsideWidth', `${layoutForm.asideWidth}px`);\n putIfChanged(\n light,\n LAYOUT_VARS,\n 'layoutAsideCollapsedWidth',\n `${layoutForm.asideCollapsedWidth}px`\n );\n\n // 布局颜色\n const composeGrad = (from: string, to: string) =>\n `linear-gradient(90deg, ${from} 0%, ${to} 100%)`;\n putIfChanged(\n light,\n LAYOUT_VARS,\n 'layoutHeaderBackground',\n composeGrad(layoutForm.light.gradFrom, layoutForm.light.gradTo)\n );\n putIfChanged(\n dark,\n DARK_LAYOUT_VARS,\n 'layoutHeaderBackground',\n composeGrad(layoutForm.dark.gradFrom, layoutForm.dark.gradTo)\n );\n putIfChanged(light, LAYOUT_VARS, 'layoutAsideBackground', layoutForm.light.asideBg);\n putIfChanged(light, LAYOUT_VARS, 'layoutBorderColor', layoutForm.light.borderColor);\n putIfChanged(dark, DARK_LAYOUT_VARS, 'layoutAsideBackground', layoutForm.dark.asideBg);\n putIfChanged(dark, DARK_LAYOUT_VARS, 'layoutBorderColor', layoutForm.dark.borderColor);\n\n // 状态色:按官方混色规则派生全部变体(基准色未改动时整组跳过,\n // 避免暗色默认值 rgb 浮点格式与派生 hex 格式不一致产生的假差异)\n STATUS_NAMES.forEach((name) => {\n const baseKey = `elColor${cap(name)}`;\n const norm = (s?: string) => (s || '').trim().toLowerCase();\n if (norm(statusForm[name].light) !== norm(DEFAULT_EL_VARS[baseKey])) {\n deriveStatus(light, DEFAULT_EL_VARS, name, statusForm[name].light, [255, 255, 255]);\n }\n if (norm(statusForm[name].dark) !== norm(DARK_EL_VARS[baseKey])) {\n deriveStatus(dark, DARK_EL_VARS, name, statusForm[name].dark, [20, 20, 20]);\n }\n });\n\n // 高级区灰度 / VXE 变量\n ADV_GROUPS.forEach((group) => {\n group.items.forEach((item) => {\n putIfChanged(light, DEFAULT_EL_VARS, item.key, advLight[item.key]);\n putIfChanged(dark, DARK_EL_VARS, item.key, advDark[item.key]);\n });\n });\n\n return {light, dark};\n }\n\n // 派生单个状态色的全部变量并按需写入补丁\n function deriveStatus(\n patch: Record<string, string>,\n defaults: Record<string, string>,\n name: string,\n baseHex: string,\n endPoint: number[]\n ): void {\n if (!isColorValue(baseHex) || !baseHex.startsWith('#')) return;\n\n const pascal = cap(name);\n putIfChanged(patch, defaults, `elColor${pascal}`, baseHex.toLowerCase());\n\n const base = hexToRgb(baseHex);\n\n const variants: Array<[string, number]> = [\n ['Light3', 0.3],\n ['Light5', 0.5],\n ['Light7', 0.7],\n ['Light8', 0.8],\n ['Light9', 0.9],\n ['Dark2', 0.2],\n ];\n variants.forEach(([suffix, ratio]) => {\n putIfChanged(\n patch,\n defaults,\n `elColor${pascal}${suffix}`,\n rgbToStr(mixColor(base, endPoint, ratio))\n );\n });\n\n putIfChanged(patch, defaults, `elColor${pascal}Rgb`, base.join(', '));\n }\n\n // 任一表单项变化:全量重算差异并应用到主题(仅内存,不持久化)\n function applyTheme(): void {\n const {light, dark} = collectChanges();\n themeStore.extend({light, dark});\n }\n\n function resetDefault(): void {\n themeStore.setTheme('default');\n themeStore.extend({light: {}, dark: {}});\n initForm();\n ElMessage.success(ct('已恢复默认主题'));\n }\n\n function objLiteral(obj: Record<string, string>): string {\n return Object.entries(obj)\n .map(([k, v]) => ` ${k}: '${v}',`)\n .join('\\n');\n }\n\n async function copyConfigCode(): Promise<void> {\n const {light, dark} = collectChanges();\n\n const parts: string[] = [];\n if (Object.keys(light).length > 0) {\n parts.push(` light: {\\n${objLiteral(light)}\\n }`);\n }\n if (Object.keys(dark).length > 0) {\n parts.push(` dark: {\\n${objLiteral(dark)}\\n }`);\n }\n const code =\n parts.length > 0\n ? `// 在应用入口调用(如 main.ts),仅包含相对默认值的改动\\nimport {useThemeStore} from 'yh-pub';\\n\\nuseThemeStore().extend({\\n${parts.join(',\\n')}\\n});`\n : `// 当前配置与默认主题一致,无需覆盖`;\n\n try {\n await navigator.clipboard.writeText(code);\n ElMessage.success(ct('配置代码已复制到剪贴板'));\n } catch {\n // fallback:textarea 选区复制\n const textarea = document.createElement('textarea');\n textarea.value = code;\n textarea.style.position = 'fixed';\n textarea.style.opacity = '0';\n document.body.appendChild(textarea);\n textarea.select();\n document.execCommand('copy');\n document.body.removeChild(textarea);\n ElMessage.success(ct('配置代码已复制到剪贴板'));\n }\n }\n\n // 预览区数据\n const previewSwitch = ref(true);\n const previewCheck = ref(true);\n const previewInput = ref('');\n</script>\n\n<style lang=\"scss\" scoped>\n .theme-config-page {\n max-width: 1280px;\n\n .flex-grow {\n flex: 1;\n }\n\n .config-toolbar {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 8px;\n\n .toolbar-title {\n font-size: 16px;\n font-weight: 600;\n margin-right: 8px;\n }\n }\n\n .config-section-title {\n margin: 24px 0 12px;\n padding-left: 8px;\n border-left: 3px solid var(--el-color-primary);\n font-size: 15px;\n line-height: 1.3;\n }\n\n .status-grid {\n border: 1px solid var(--el-border-color-lighter);\n border-radius: 8px;\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n\n .status-row {\n display: flex;\n align-items: center;\n gap: 12px;\n\n .status-chip {\n width: 28px;\n height: 28px;\n border-radius: 6px;\n border: 1px solid var(--el-border-color-lighter);\n }\n\n .status-name {\n flex: 0 0 120px;\n font-size: 13px;\n color: var(--el-text-color-regular);\n }\n\n .status-pickers {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .picker-cap {\n font-size: 12px;\n color: var(--el-text-color-secondary);\n }\n }\n }\n\n .layout-card {\n border: 1px solid var(--el-border-color-lighter);\n border-radius: 8px;\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n\n .layout-line {\n display: flex;\n align-items: center;\n gap: 12px;\n\n &.wrap {\n flex-wrap: wrap;\n }\n\n .line-label {\n display: flex;\n flex-direction: column;\n gap: 2px;\n\n .label-zh {\n font-size: 13px;\n color: var(--el-text-color-regular);\n }\n\n .label-var {\n font-size: 11px;\n font-family: monospace;\n color: var(--el-text-color-placeholder);\n word-break: break-all;\n }\n }\n\n .pair {\n display: flex;\n align-items: center;\n gap: 8px;\n\n .arrow {\n color: var(--el-text-color-placeholder);\n }\n\n .picker-cap {\n font-size: 12px;\n color: var(--el-text-color-secondary);\n }\n }\n\n .unit {\n font-size: 12px;\n color: var(--el-text-color-secondary);\n }\n }\n }\n\n .adv-head-row,\n .adv-row {\n display: grid;\n grid-template-columns: 260px minmax(220px, 1fr) minmax(220px, 1fr);\n gap: 12px;\n align-items: center;\n }\n\n .adv-head-row {\n font-size: 12px;\n color: var(--el-text-color-secondary);\n padding: 4px 0 8px;\n border-bottom: 1px dashed var(--el-border-color-lighter);\n margin-bottom: 8px;\n }\n\n .adv-row {\n padding: 4px 0;\n\n .adv-label {\n display: flex;\n flex-direction: column;\n gap: 2px;\n overflow: hidden;\n\n .label-zh {\n font-size: 13px;\n color: var(--el-text-color-regular);\n }\n\n .label-var {\n font-size: 10px;\n font-family: monospace;\n color: var(--el-text-color-placeholder);\n word-break: break-all;\n line-height: 1.3;\n }\n }\n\n .adv-control {\n display: flex;\n align-items: center;\n gap: 8px;\n min-width: 0;\n\n .el-input {\n max-width: 240px;\n }\n\n .adv-value {\n font-size: 11px;\n font-family: monospace;\n color: var(--el-text-color-placeholder);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n }\n }\n\n .preview-card {\n border: 1px solid var(--el-border-color-lighter);\n border-radius: 8px;\n padding: 16px;\n margin-bottom: 24px;\n\n .preview-row {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 12px;\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n }\n }\n</style>\n"],"names":["themeStore","useThemeStore","router","useRouter","clientStore","useClientStore","pinia","modeValue","storeToRefs","goDemo","toCssVar","key","toCssVarName","getVarValue","varKey","modeType","isColorValue","value","hexToRgb","hex","h","c","num","mixColor","base","end","ratio","rgbToStr","rgb","putIfChanged","patch","defaults","norm","s","STATUS_NAMES","cap","statusForm","reactive","layoutForm","parseGradient","bg","m","advLight","advDark","advItems","keys","THEME_VAR_LABELS","ADV_GROUPS","ct","DEFAULT_VXE_VARS","DARK_VXE_VARS","openedPanels","ref","initForm","lightSource","darkSource","name","lFrom","lTo","dFrom","dTo","group","item","collectChanges","light","dark","LAYOUT_VARS","composeGrad","from","to","DARK_LAYOUT_VARS","baseKey","DEFAULT_EL_VARS","deriveStatus","DARK_EL_VARS","baseHex","endPoint","pascal","suffix","applyTheme","resetDefault","ElMessage","objLiteral","obj","k","v","copyConfigCode","parts","code","textarea","previewSwitch","previewCheck","previewInput","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_hoisted_3","_toDisplayString","_unref","_createVNode","_component_el_radio_group","$event","val","_component_el_radio_button","_component_el_button","_hoisted_4","_hoisted_5","_Fragment","_renderList","_normalizeStyle","_a","STATUS_ZH","_hoisted_6","_hoisted_7","_component_el_color_picker","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_component_el_input_number","_cache","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","_component_el_collapse","_component_el_collapse_item","_hoisted_30","_hoisted_32","_hoisted_33","_hoisted_34","_createBlock","_component_el_input","_hoisted_35","_hoisted_36","_hoisted_37","_hoisted_38","_hoisted_39","_hoisted_40","_component_el_tag","_component_el_switch","_component_el_checkbox","_hoisted_41","_component_el_progress","_component_el_alert"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ThemeConfig-a8CLqcbi.js","sources":["../layout/components/ThemeConfig.vue"],"sourcesContent":["<template>\n <div class=\"theme-config-page\">\n <!-- 操作栏 -->\n <div class=\"config-toolbar\">\n <span class=\"toolbar-title\">{{ ct('主题配置') }}</span>\n <el-radio-group\n v-model=\"modeValue\"\n @change=\"(val: any) => themeStore.setMode(val)\">\n <el-radio-button value=\"light\">{{ ct('亮色') }}</el-radio-button>\n <el-radio-button value=\"dark\">{{ ct('暗色') }}</el-radio-button>\n <el-radio-button value=\"auto\">{{ ct('跟随系统') }}</el-radio-button>\n </el-radio-group>\n <div class=\"flex-grow\"></div>\n <el-button @click=\"goDemo\">{{ ct('前往主题演示') }}</el-button>\n <el-button @click=\"resetDefault\">\n {{ ct('恢复默认') }}\n </el-button>\n <el-button\n type=\"primary\"\n @click=\"copyConfigCode\">\n {{ ct('复制配置代码') }}\n </el-button>\n </div>\n\n <!-- 常用配置 -->\n <h3 class=\"config-section-title\">{{ ct('状态色(自动派生变体)') }}</h3>\n <div class=\"status-grid\">\n <div\n v-for=\"name in STATUS_NAMES\"\n :key=\"name\"\n class=\"status-row\">\n <span\n class=\"status-chip\"\n :style=\"{backgroundColor: statusForm[name]?.light}\"></span>\n <span\n class=\"status-name\"\n :title=\"`elColor${cap(name)}`\">\n {{ STATUS_ZH[name] || name }} {{ name }}\n </span>\n <div class=\"status-pickers\">\n <el-color-picker\n v-model=\"statusForm[name].light\"\n @change=\"applyTheme\" />\n <span class=\"picker-cap\">{{ ct('亮色') }}</span>\n </div>\n <div class=\"status-pickers\">\n <el-color-picker\n v-model=\"statusForm[name].dark\"\n @change=\"applyTheme\" />\n <span class=\"picker-cap\">{{ ct('暗色') }}</span>\n </div>\n </div>\n </div>\n\n <h3 class=\"config-section-title\">{{ ct('布局变量') }}</h3>\n <div class=\"layout-card\">\n <div class=\"layout-line\">\n <div class=\"line-label\">\n <span class=\"label-zh\">头部高度</span>\n <span class=\"label-var\">--layout-header-height</span>\n </div>\n <el-input-number\n v-model=\"layoutForm.headerHeight\"\n :min=\"40\"\n :max=\"120\"\n :step=\"4\"\n @change=\"applyTheme\" />\n <div class=\"line-label\">\n <span class=\"label-zh\">侧边栏宽度</span>\n <span class=\"label-var\">--layout-aside-width</span>\n </div>\n <el-input-number\n v-model=\"layoutForm.asideWidth\"\n :min=\"160\"\n :max=\"400\"\n :step=\"10\"\n @change=\"applyTheme\" />\n <div class=\"line-label\">\n <span class=\"label-zh\">收起宽度</span>\n <span class=\"label-var\">--layout-aside-collapsed-width</span>\n </div>\n <el-input-number\n v-model=\"layoutForm.asideCollapsedWidth\"\n :min=\"40\"\n :max=\"120\"\n :step=\"4\"\n @change=\"applyTheme\" />\n <span class=\"unit\">px</span>\n </div>\n <div class=\"layout-line wrap\">\n <div class=\"line-label\">\n <span class=\"label-zh\">头部背景(渐变)</span>\n <span class=\"label-var\">--layout-header-background</span>\n </div>\n <div class=\"pair\">\n <span class=\"picker-cap\">{{ ct('亮色') }}</span>\n <el-color-picker\n v-model=\"layoutForm.light.gradFrom\"\n @change=\"applyTheme\" />\n <span class=\"arrow\">→</span>\n <el-color-picker\n v-model=\"layoutForm.light.gradTo\"\n @change=\"applyTheme\" />\n </div>\n <div class=\"pair\">\n <span class=\"picker-cap\">{{ ct('暗色') }}</span>\n <el-color-picker\n v-model=\"layoutForm.dark.gradFrom\"\n @change=\"applyTheme\" />\n <span class=\"arrow\">→</span>\n <el-color-picker\n v-model=\"layoutForm.dark.gradTo\"\n @change=\"applyTheme\" />\n </div>\n </div>\n <div class=\"layout-line wrap\">\n <div class=\"line-label\">\n <span class=\"label-zh\">侧边栏背景</span>\n <span class=\"label-var\">--layout-aside-background</span>\n </div>\n <div class=\"pair\">\n <span class=\"picker-cap\">{{ ct('亮色') }}</span>\n <el-color-picker\n v-model=\"layoutForm.light.asideBg\"\n @change=\"applyTheme\" />\n </div>\n <div class=\"pair\">\n <span class=\"picker-cap\">{{ ct('暗色') }}</span>\n <el-color-picker\n v-model=\"layoutForm.dark.asideBg\"\n @change=\"applyTheme\" />\n </div>\n </div>\n <div class=\"layout-line wrap\">\n <div class=\"line-label\">\n <span class=\"label-zh\">布局边框色</span>\n <span class=\"label-var\">--layout-border-color</span>\n </div>\n <div class=\"pair\">\n <span class=\"picker-cap\">{{ ct('亮色') }}</span>\n <el-color-picker\n v-model=\"layoutForm.light.borderColor\"\n @change=\"applyTheme\" />\n </div>\n <div class=\"pair\">\n <span class=\"picker-cap\">{{ ct('暗色') }}</span>\n <el-color-picker\n v-model=\"layoutForm.dark.borderColor\"\n @change=\"applyTheme\" />\n </div>\n </div>\n </div>\n\n <!-- 高级配置 -->\n <h3 class=\"config-section-title\">{{ ct('高级配置(全部变量)') }}</h3>\n <el-collapse v-model=\"openedPanels\">\n <el-collapse-item\n v-for=\"group in ADV_GROUPS\"\n :key=\"group.key\"\n :name=\"group.key\"\n :title=\"`${group.title}(${group.items.length})`\">\n <div class=\"adv-head-row\">\n <span>{{ ct('变量') }}</span>\n <span>{{ ct('亮色值') }}</span>\n <span>{{ ct('暗色值') }}</span>\n </div>\n <div\n v-for=\"item in group.items\"\n :key=\"item.key\"\n class=\"adv-row\">\n <span\n class=\"adv-label\"\n :title=\"toCssVar(item.key)\">\n <span class=\"label-zh\">{{ item.label }}</span>\n <span class=\"label-var\">{{ toCssVar(item.key) }}</span>\n </span>\n <div class=\"adv-control\">\n <el-color-picker\n v-if=\"isColorValue(advLight[item.key])\"\n v-model=\"advLight[item.key]\"\n show-alpha\n @change=\"applyTheme\" />\n <el-input\n v-else\n v-model=\"advLight[item.key]\"\n size=\"small\"\n @change=\"applyTheme\" />\n <span class=\"adv-value\">{{ getVarValue(item.key, 'light') }}</span>\n </div>\n <div class=\"adv-control\">\n <el-color-picker\n v-if=\"isColorValue(advDark[item.key])\"\n v-model=\"advDark[item.key]\"\n show-alpha\n @change=\"applyTheme\" />\n <el-input\n v-else\n v-model=\"advDark[item.key]\"\n size=\"small\"\n @change=\"applyTheme\" />\n <span class=\"adv-value\">{{ getVarValue(item.key, 'dark') }}</span>\n </div>\n </div>\n </el-collapse-item>\n </el-collapse>\n\n <!-- 实时预览 -->\n <h3 class=\"config-section-title\">{{ ct('实时预览') }}</h3>\n <div class=\"preview-card\">\n <div class=\"preview-row\">\n <el-button type=\"primary\">Primary</el-button>\n <el-button type=\"success\">Success</el-button>\n <el-button type=\"warning\">Warning</el-button>\n <el-button type=\"danger\">Danger</el-button>\n <el-tag type=\"primary\">Tag</el-tag>\n <el-switch v-model=\"previewSwitch\" />\n <el-checkbox\n v-model=\"previewCheck\">{{ ct('复选框') }}</el-checkbox>\n </div>\n <div class=\"preview-row\">\n <el-input\n v-model=\"previewInput\"\n :placeholder=\"ct('输入框')\"\n style=\"width: 200px\" />\n <el-progress\n :percentage=\"66\"\n style=\"width: 180px\" />\n </div>\n <el-alert\n :title=\"ct('布局头部与侧边栏即为实时预览效果,修改立即生效。')\"\n type=\"info\"\n show-icon />\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import {reactive, ref} from 'vue';\n import {storeToRefs} from 'pinia';\n import {useRouter} from 'vue-router';\n import {ElMessage} from 'element-plus';\n import {pinia} from '../../store';\n import {useClientStore} from 'yh-client';\n import {useThemeStore, toCssVarName} from '../../store/theme';\n import {\n DEFAULT_EL_VARS,\n DARK_EL_VARS,\n LAYOUT_VARS,\n DARK_LAYOUT_VARS,\n DEFAULT_VXE_VARS,\n DARK_VXE_VARS,\n } from '../../theme/vars';\n import {THEME_VAR_LABELS, STATUS_ZH} from './themeVarLabels';\n import {ct} from '../../utils/i18nHelp';\n\n const themeStore = useThemeStore();\n const router = useRouter();\n const clientStore = useClientStore(pinia);\n\n const {mode: modeValue} = storeToRefs(themeStore);\n\n function goDemo() {\n router.push(clientStore.isAdmin ? '/admin/theme-demo' : '/theme-demo');\n }\n\n // ---------- 工具 ----------\n // camelCase 变量 key 转 CSS 变量名,与 theme.ts updateCSSVars 保持一致\n function toCssVar(key: string): string {\n return `--${toCssVarName(key)}`;\n }\n\n function getVarValue(varKey: string, modeType: 'light' | 'dark'): string {\n const source = modeType === 'light' ? themeStore.lightVars : themeStore.darkVars;\n return (source as Record<string, string>)[varKey] ?? '-';\n }\n\n // 值是否为可被 el-color-picker 解析的颜色\n function isColorValue(value?: string): boolean {\n return /^(#[0-9a-f]{3,8}|rgba?\\(|hsla?\\()/i.test((value || '').trim());\n }\n\n function hexToRgb(hex: string): [number, number, number] {\n let h = hex.trim().replace('#', '');\n if (h.length === 3 || h.length === 4) {\n h = h\n .slice(0, 3)\n .split('')\n .map((c) => c + c)\n .join('');\n }\n const num = parseInt(h.slice(0, 6), 16);\n return [(num >> 16) & 255, (num >> 8) & 255, num & 255];\n }\n\n // 与 Element Plus 官方混色规则一致:ratio 为向 end 色混合的比例\n function mixColor(base: number[], end: number[], ratio: number): [number, number, number] {\n return [\n Math.round(base[0] * (1 - ratio) + end[0] * ratio),\n Math.round(base[1] * (1 - ratio) + end[1] * ratio),\n Math.round(base[2] * (1 - ratio) + end[2] * ratio),\n ];\n }\n\n function rgbToStr(rgb: [number, number, number]): string {\n return `#${rgb.map((c) => c.toString(16).padStart(2, '0')).join('')}`;\n }\n\n // 仅当值相对默认集发生变化时才写入补丁,保证导出的代码最小化\n function putIfChanged(\n patch: Record<string, string>,\n defaults: Record<string, string>,\n key: string,\n value: string\n ): void {\n const norm = (s?: string) => (s || '').trim().toLowerCase().replace(/\\s+/g, '');\n if (norm(value) !== norm(defaults[key])) {\n patch[key] = value;\n }\n }\n\n // ---------- 表单模型 ----------\n const STATUS_NAMES = ['primary', 'success', 'warning', 'danger', 'info'];\n const cap = (s: string) => s[0].toUpperCase() + s.slice(1);\n\n const statusForm = reactive<Record<string, {light: string; dark: string}>>({});\n\n const layoutForm = reactive({\n headerHeight: 60,\n asideWidth: 240,\n asideCollapsedWidth: 60,\n light: {gradFrom: '#0051C1', gradTo: '#3E93FE', asideBg: '#21304C', borderColor: '#f0f0f0'},\n dark: {gradFrom: '#1a1a1a', gradTo: '#2d2d2d', asideBg: '#212223', borderColor: '#363637'},\n });\n\n // 解析头部渐变字符串(亮度模式固定格式 linear-gradient(90deg, c1 0%, c2 100%))\n function parseGradient(bg?: string): [string, string] {\n const m = /linear-gradient\\(90deg,\\s*(\\S+)\\s+0%,\\s*(\\S+)\\s+100%\\)/.exec(bg || '');\n return m ? [m[1], m[2]] : ['#0051C1', '#3E93FE'];\n }\n\n // 高级区表单:键为驼峰变量 key,值为原始字符串\n const advLight = reactive<Record<string, string>>({});\n const advDark = reactive<Record<string, string>>({});\n\n interface AdvItem {\n key: string;\n label: string;\n }\n interface AdvGroup {\n key: string;\n title: string;\n items: AdvItem[];\n }\n\n function advItems(keys: string[]): AdvItem[] {\n return keys.map((key) => ({\n key,\n // 中文标签优先,缺失时回退为变量短名\n label: THEME_VAR_LABELS[key] || toCssVar(key).replace(/^--(el-|vxe-ui-)/, ''),\n }));\n }\n\n const ADV_GROUPS: AdvGroup[] = [\n {\n key: 'text',\n title: ct('文字颜色'),\n items: advItems([\n 'elTextColorPrimary',\n 'elTextColorRegular',\n 'elTextColorSecondary',\n 'elTextColorPlaceholder',\n 'elTextColorDisabled',\n ]),\n },\n {\n key: 'border',\n title: ct('边框颜色'),\n items: advItems([\n 'elBorderColor',\n 'elBorderColorLight',\n 'elBorderColorLighter',\n 'elBorderColorExtraLight',\n 'elBorderColorDark',\n 'elBorderColorDarker',\n ]),\n },\n {\n key: 'fill',\n title: ct('填充颜色'),\n items: advItems([\n 'elFillColor',\n 'elFillColorLight',\n 'elFillColorLighter',\n 'elFillColorExtraLight',\n 'elFillColorDark',\n 'elFillColorDarker',\n 'elFillColorBlank',\n ]),\n },\n {\n key: 'bg',\n title: ct('背景与遮罩'),\n items: advItems([\n 'elBgColor',\n 'elBgColorPage',\n 'elBgColorOverlay',\n 'elOverlayColor',\n 'elOverlayColorLight',\n 'elOverlayColorLighter',\n 'elMaskColor',\n 'elMaskColorExtraLight',\n ]),\n },\n {\n key: 'vxe',\n title: 'VXE',\n items: advItems(Object.keys({...DEFAULT_VXE_VARS, ...DARK_VXE_VARS})),\n },\n ];\n\n const openedPanels = ref<Array<string>>([]);\n\n // 从当前主题变量初始化表单回显\n function initForm(): void {\n const lightSource = themeStore.lightVars as Record<string, string>;\n const darkSource = themeStore.darkVars as Record<string, string>;\n\n STATUS_NAMES.forEach((name) => {\n const key = `elColor${cap(name)}`;\n statusForm[name] = {\n light: lightSource[key] || '#409eff',\n dark: darkSource[key] || '#409eff',\n };\n });\n\n layoutForm.headerHeight = parseInt(lightSource.layoutHeaderHeight, 10) || 60;\n layoutForm.asideWidth = parseInt(lightSource.layoutAsideWidth, 10) || 240;\n layoutForm.asideCollapsedWidth = parseInt(lightSource.layoutAsideCollapsedWidth, 10) || 60;\n\n const [lFrom, lTo] = parseGradient(lightSource.layoutHeaderBackground);\n layoutForm.light.gradFrom = lFrom;\n layoutForm.light.gradTo = lTo;\n const [dFrom, dTo] = parseGradient(darkSource.layoutHeaderBackground);\n layoutForm.dark.gradFrom = dFrom;\n layoutForm.dark.gradTo = dTo;\n layoutForm.light.asideBg = lightSource.layoutAsideBackground || '#21304C';\n layoutForm.light.borderColor = lightSource.layoutBorderColor || '#f0f0f0';\n layoutForm.dark.asideBg = darkSource.layoutAsideBackground || '#212223';\n layoutForm.dark.borderColor = darkSource.layoutBorderColor || '#363637';\n\n ADV_GROUPS.forEach((group) => {\n group.items.forEach((item) => {\n advLight[item.key] = lightSource[item.key] ?? '';\n advDark[item.key] = darkSource[item.key] ?? '';\n });\n });\n }\n\n initForm();\n\n // ---------- 应用与导出 ----------\n // 收集所有差异项(含状态色派生变体),亮暗两套\n function collectChanges(): {light: Record<string, string>; dark: Record<string, string>} {\n const light: Record<string, string> = {};\n const dark: Record<string, string> = {};\n\n // 布局尺寸(亮暗共用)\n putIfChanged(light, LAYOUT_VARS, 'layoutHeaderHeight', `${layoutForm.headerHeight}px`);\n putIfChanged(light, LAYOUT_VARS, 'layoutAsideWidth', `${layoutForm.asideWidth}px`);\n putIfChanged(\n light,\n LAYOUT_VARS,\n 'layoutAsideCollapsedWidth',\n `${layoutForm.asideCollapsedWidth}px`\n );\n\n // 布局颜色\n const composeGrad = (from: string, to: string) =>\n `linear-gradient(90deg, ${from} 0%, ${to} 100%)`;\n putIfChanged(\n light,\n LAYOUT_VARS,\n 'layoutHeaderBackground',\n composeGrad(layoutForm.light.gradFrom, layoutForm.light.gradTo)\n );\n putIfChanged(\n dark,\n DARK_LAYOUT_VARS,\n 'layoutHeaderBackground',\n composeGrad(layoutForm.dark.gradFrom, layoutForm.dark.gradTo)\n );\n putIfChanged(light, LAYOUT_VARS, 'layoutAsideBackground', layoutForm.light.asideBg);\n putIfChanged(light, LAYOUT_VARS, 'layoutBorderColor', layoutForm.light.borderColor);\n putIfChanged(dark, DARK_LAYOUT_VARS, 'layoutAsideBackground', layoutForm.dark.asideBg);\n putIfChanged(dark, DARK_LAYOUT_VARS, 'layoutBorderColor', layoutForm.dark.borderColor);\n\n // 状态色:按官方混色规则派生全部变体(基准色未改动时整组跳过,\n // 避免暗色默认值 rgb 浮点格式与派生 hex 格式不一致产生的假差异)\n STATUS_NAMES.forEach((name) => {\n const baseKey = `elColor${cap(name)}`;\n const norm = (s?: string) => (s || '').trim().toLowerCase();\n if (norm(statusForm[name].light) !== norm(DEFAULT_EL_VARS[baseKey])) {\n deriveStatus(light, DEFAULT_EL_VARS, name, statusForm[name].light, [255, 255, 255]);\n }\n if (norm(statusForm[name].dark) !== norm(DARK_EL_VARS[baseKey])) {\n deriveStatus(dark, DARK_EL_VARS, name, statusForm[name].dark, [20, 20, 20]);\n }\n });\n\n // 高级区灰度 / VXE 变量\n ADV_GROUPS.forEach((group) => {\n group.items.forEach((item) => {\n putIfChanged(light, DEFAULT_EL_VARS, item.key, advLight[item.key]);\n putIfChanged(dark, DARK_EL_VARS, item.key, advDark[item.key]);\n });\n });\n\n return {light, dark};\n }\n\n // 派生单个状态色的全部变量并按需写入补丁\n function deriveStatus(\n patch: Record<string, string>,\n defaults: Record<string, string>,\n name: string,\n baseHex: string,\n endPoint: number[]\n ): void {\n if (!isColorValue(baseHex) || !baseHex.startsWith('#')) return;\n\n const pascal = cap(name);\n putIfChanged(patch, defaults, `elColor${pascal}`, baseHex.toLowerCase());\n\n const base = hexToRgb(baseHex);\n\n const variants: Array<[string, number]> = [\n ['Light3', 0.3],\n ['Light5', 0.5],\n ['Light7', 0.7],\n ['Light8', 0.8],\n ['Light9', 0.9],\n ['Dark2', 0.2],\n ];\n variants.forEach(([suffix, ratio]) => {\n putIfChanged(\n patch,\n defaults,\n `elColor${pascal}${suffix}`,\n rgbToStr(mixColor(base, endPoint, ratio))\n );\n });\n\n putIfChanged(patch, defaults, `elColor${pascal}Rgb`, base.join(', '));\n }\n\n // 任一表单项变化:全量重算差异并应用到主题(仅内存,不持久化)\n function applyTheme(): void {\n const {light, dark} = collectChanges();\n themeStore.extend({light, dark});\n }\n\n function resetDefault(): void {\n themeStore.setTheme('default');\n themeStore.extend({light: {}, dark: {}});\n initForm();\n ElMessage.success(ct('已恢复默认主题'));\n }\n\n function objLiteral(obj: Record<string, string>): string {\n return Object.entries(obj)\n .map(([k, v]) => ` ${k}: '${v}',`)\n .join('\\n');\n }\n\n async function copyConfigCode(): Promise<void> {\n const {light, dark} = collectChanges();\n\n const parts: string[] = [];\n if (Object.keys(light).length > 0) {\n parts.push(` light: {\\n${objLiteral(light)}\\n }`);\n }\n if (Object.keys(dark).length > 0) {\n parts.push(` dark: {\\n${objLiteral(dark)}\\n }`);\n }\n const code =\n parts.length > 0\n ? `// 在应用入口调用(如 main.ts),仅包含相对默认值的改动\\nimport {useThemeStore} from 'yh-pub';\\n\\nuseThemeStore().extend({\\n${parts.join(',\\n')}\\n});`\n : `// 当前配置与默认主题一致,无需覆盖`;\n\n try {\n await navigator.clipboard.writeText(code);\n ElMessage.success(ct('配置代码已复制到剪贴板'));\n } catch {\n // fallback:textarea 选区复制\n const textarea = document.createElement('textarea');\n textarea.value = code;\n textarea.style.position = 'fixed';\n textarea.style.opacity = '0';\n document.body.appendChild(textarea);\n textarea.select();\n document.execCommand('copy');\n document.body.removeChild(textarea);\n ElMessage.success(ct('配置代码已复制到剪贴板'));\n }\n }\n\n // 预览区数据\n const previewSwitch = ref(true);\n const previewCheck = ref(true);\n const previewInput = ref('');\n</script>\n\n<style lang=\"scss\" scoped>\n .theme-config-page {\n max-width: 1280px;\n\n .flex-grow {\n flex: 1;\n }\n\n .config-toolbar {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 8px;\n\n .toolbar-title {\n font-size: 16px;\n font-weight: 600;\n margin-right: 8px;\n }\n }\n\n .config-section-title {\n margin: 24px 0 12px;\n padding-left: 8px;\n border-left: 3px solid var(--el-color-primary);\n font-size: 15px;\n line-height: 1.3;\n }\n\n .status-grid {\n border: 1px solid var(--el-border-color-lighter);\n border-radius: 8px;\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n\n .status-row {\n display: flex;\n align-items: center;\n gap: 12px;\n\n .status-chip {\n width: 28px;\n height: 28px;\n border-radius: 6px;\n border: 1px solid var(--el-border-color-lighter);\n }\n\n .status-name {\n flex: 0 0 120px;\n font-size: 13px;\n color: var(--el-text-color-regular);\n }\n\n .status-pickers {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .picker-cap {\n font-size: 12px;\n color: var(--el-text-color-secondary);\n }\n }\n }\n\n .layout-card {\n border: 1px solid var(--el-border-color-lighter);\n border-radius: 8px;\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n\n .layout-line {\n display: flex;\n align-items: center;\n gap: 12px;\n\n &.wrap {\n flex-wrap: wrap;\n }\n\n .line-label {\n display: flex;\n flex-direction: column;\n gap: 2px;\n\n .label-zh {\n font-size: 13px;\n color: var(--el-text-color-regular);\n }\n\n .label-var {\n font-size: 11px;\n font-family: monospace;\n color: var(--el-text-color-placeholder);\n word-break: break-all;\n }\n }\n\n .pair {\n display: flex;\n align-items: center;\n gap: 8px;\n\n .arrow {\n color: var(--el-text-color-placeholder);\n }\n\n .picker-cap {\n font-size: 12px;\n color: var(--el-text-color-secondary);\n }\n }\n\n .unit {\n font-size: 12px;\n color: var(--el-text-color-secondary);\n }\n }\n }\n\n .adv-head-row,\n .adv-row {\n display: grid;\n grid-template-columns: 260px minmax(220px, 1fr) minmax(220px, 1fr);\n gap: 12px;\n align-items: center;\n }\n\n .adv-head-row {\n font-size: 12px;\n color: var(--el-text-color-secondary);\n padding: 4px 0 8px;\n border-bottom: 1px dashed var(--el-border-color-lighter);\n margin-bottom: 8px;\n }\n\n .adv-row {\n padding: 4px 0;\n\n .adv-label {\n display: flex;\n flex-direction: column;\n gap: 2px;\n overflow: hidden;\n\n .label-zh {\n font-size: 13px;\n color: var(--el-text-color-regular);\n }\n\n .label-var {\n font-size: 10px;\n font-family: monospace;\n color: var(--el-text-color-placeholder);\n word-break: break-all;\n line-height: 1.3;\n }\n }\n\n .adv-control {\n display: flex;\n align-items: center;\n gap: 8px;\n min-width: 0;\n\n .el-input {\n max-width: 240px;\n }\n\n .adv-value {\n font-size: 11px;\n font-family: monospace;\n color: var(--el-text-color-placeholder);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n }\n }\n\n .preview-card {\n border: 1px solid var(--el-border-color-lighter);\n border-radius: 8px;\n padding: 16px;\n margin-bottom: 24px;\n\n .preview-row {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 12px;\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n }\n }\n</style>\n"],"names":["themeStore","useThemeStore","router","useRouter","clientStore","useClientStore","pinia","modeValue","storeToRefs","goDemo","toCssVar","key","toCssVarName","getVarValue","varKey","modeType","isColorValue","value","hexToRgb","hex","h","c","num","mixColor","base","end","ratio","rgbToStr","rgb","putIfChanged","patch","defaults","norm","s","STATUS_NAMES","cap","statusForm","reactive","layoutForm","parseGradient","bg","m","advLight","advDark","advItems","keys","THEME_VAR_LABELS","ADV_GROUPS","ct","DEFAULT_VXE_VARS","DARK_VXE_VARS","openedPanels","ref","initForm","lightSource","darkSource","name","lFrom","lTo","dFrom","dTo","group","item","collectChanges","light","dark","LAYOUT_VARS","composeGrad","from","to","DARK_LAYOUT_VARS","baseKey","DEFAULT_EL_VARS","deriveStatus","DARK_EL_VARS","baseHex","endPoint","pascal","suffix","applyTheme","resetDefault","ElMessage","objLiteral","obj","k","v","copyConfigCode","parts","code","textarea","previewSwitch","previewCheck","previewInput","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_hoisted_3","_toDisplayString","_unref","_createVNode","_component_el_radio_group","$event","val","_component_el_radio_button","_component_el_button","_hoisted_4","_hoisted_5","_Fragment","_renderList","_normalizeStyle","_a","STATUS_ZH","_hoisted_6","_hoisted_7","_component_el_color_picker","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_component_el_input_number","_cache","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","_component_el_collapse","_component_el_collapse_item","_hoisted_30","_hoisted_32","_hoisted_33","_hoisted_34","_createBlock","_component_el_input","_hoisted_35","_hoisted_36","_hoisted_37","_hoisted_38","_hoisted_39","_hoisted_40","_component_el_tag","_component_el_switch","_component_el_checkbox","_hoisted_41","_component_el_progress","_component_el_alert"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { defineComponent as Ce, reactive as N, ref as R, resolveComponent as c,
|
|
|
2
2
|
import { useRouter as Ee } from "vue-router";
|
|
3
3
|
import { storeToRefs as Be } from "pinia";
|
|
4
4
|
import { ElMessage as O, ElNotification as Ae, ElMessageBox as Pe, ElLoading as Ue } from "element-plus";
|
|
5
|
-
import { u as $e, p as Me, c as l, D as ze, a as Ke, _ as Fe } from "./index-
|
|
5
|
+
import { u as $e, p as Me, c as l, D as ze, a as Ke, _ as Fe } from "./index-DJODeC8I.js";
|
|
6
6
|
import { useClientStore as Ne } from "yh-client";
|
|
7
7
|
import { S as Re, T as H } from "./themeVarLabels-CYr0ZzvW.js";
|
|
8
8
|
const Oe = { class: "theme-demo-page" }, He = { class: "demo-toolbar" }, Xe = { class: "demo-section-title" }, Ie = { class: "sub-title" }, We = { class: "swatch-grid" }, Ze = { class: "swatch-name" }, Ge = { class: "swatch-var" }, je = { class: "swatch-value" }, qe = { class: "rgb-line" }, Ye = { class: "demo-section-title" }, Je = { class: "sub-title" }, Qe = { class: "swatch-grid" }, el = { class: "swatch-name" }, ll = { class: "swatch-var" }, tl = { class: "swatch-value" }, ol = { class: "swatch-name" }, sl = { class: "swatch-var" }, al = { class: "swatch-value" }, nl = { class: "demo-section-title" }, il = { class: "layout-preview" }, rl = { class: "layout-row" }, dl = { class: "swatch-value" }, ul = { class: "layout-row" }, cl = { class: "swatch-value" }, _l = { class: "layout-dims" }, pl = ["title"], ml = { class: "dim-name" }, vl = { class: "dim-value" }, gl = { class: "demo-section-title" }, fl = { class: "demo-block" }, bl = { class: "block-title" }, yl = { class: "demo-block" }, kl = { class: "block-title" }, hl = { class: "demo-block" }, wl = { class: "block-title" }, Vl = { class: "demo-block" }, Cl = { class: "block-title" }, xl = { class: "demo-block" }, Tl = { class: "demo-block" }, Ll = { class: "block-title" }, Dl = { class: "demo-section-title" }, Sl = { class: "swatch-grid" }, El = {
|
|
@@ -773,4 +773,4 @@ const Oe = { class: "theme-demo-page" }, He = { class: "demo-toolbar" }, Xe = {
|
|
|
773
773
|
export {
|
|
774
774
|
Hl as default
|
|
775
775
|
};
|
|
776
|
-
//# sourceMappingURL=ThemeDemo-
|
|
776
|
+
//# sourceMappingURL=ThemeDemo-BvgICE9C.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeDemo-D3fPaGC9.js","sources":["../layout/components/ThemeDemo.vue"],"sourcesContent":["<template>\n <div class=\"theme-demo-page\">\n <!-- 操作栏 -->\n <div class=\"demo-toolbar\">\n <el-radio-group\n v-model=\"modeValue\"\n @change=\"(val: any) => themeStore.setMode(val)\">\n <el-radio-button value=\"light\">{{ ct('亮色') }}</el-radio-button>\n <el-radio-button value=\"dark\">{{ ct('暗色') }}</el-radio-button>\n <el-radio-button value=\"auto\">{{ ct('跟随系统') }}</el-radio-button>\n </el-radio-group>\n <el-tag\n :type=\"themeStore.effectiveMode === 'dark' ? 'info' : 'warning'\"\n effect=\"plain\">\n {{ ct('当前实际') }}: {{ themeStore.effectiveMode === 'dark' ? ct('暗色') : ct('亮色') }}\n </el-tag>\n <div class=\"flex-grow\"></div>\n <el-button\n type=\"primary\"\n @click=\"goConfig\">\n {{ ct('前往主题配置') }}\n </el-button>\n </div>\n\n <!-- 状态色 -->\n <h3 class=\"demo-section-title\">{{ ct('状态色(自动派生变体)') }}</h3>\n <div\n v-for=\"group in statusGroups\"\n :key=\"group.title\"\n class=\"color-sub-section\">\n <div class=\"sub-title\">{{ group.title }}</div>\n <div class=\"swatch-grid\">\n <div\n v-for=\"item in group.items\"\n :key=\"item.varKey\"\n class=\"swatch-item\">\n <div\n class=\"swatch-box\"\n :style=\"{backgroundColor: varCss(item.cssVar)}\"></div>\n <div class=\"swatch-name\">{{ item.label }}</div>\n <div class=\"swatch-var\">{{ item.cssVar }}</div>\n <div class=\"swatch-value\">{{ getVarValue(item.varKey) }}</div>\n </div>\n </div>\n <div class=\"rgb-line\">{{ group.title }}-rgb:{{ getVarValue(group.rgbKey) }}</div>\n </div>\n\n <!-- 中性色体系 -->\n <h3 class=\"demo-section-title\">{{ ct('中性色体系') }}</h3>\n <div\n v-for=\"group in grayGroups\"\n :key=\"group.title\"\n class=\"color-sub-section\">\n <div class=\"sub-title\">{{ group.title }}</div>\n <div class=\"swatch-grid\">\n <!-- 文字颜色用示例文字展示 -->\n <template v-if=\"group.type === 'text'\">\n <div\n v-for=\"item in group.items\"\n :key=\"item.varKey\"\n class=\"swatch-item\">\n <div\n class=\"text-sample\"\n :style=\"{color: varCss(item.cssVar)}\">\n 元海 Aa 字\n </div>\n <div class=\"swatch-name\">{{ item.label }}</div>\n <div class=\"swatch-var\">{{ item.cssVar }}</div>\n <div class=\"swatch-value\">{{ getVarValue(item.varKey) }}</div>\n </div>\n </template>\n <template v-else>\n <div\n v-for=\"item in group.items\"\n :key=\"item.varKey\"\n class=\"swatch-item\">\n <div\n class=\"swatch-box\"\n :style=\"{backgroundColor: varCss(item.cssVar)}\"></div>\n <div class=\"swatch-name\">{{ item.label }}</div>\n <div class=\"swatch-var\">{{ item.cssVar }}</div>\n <div class=\"swatch-value\">{{ getVarValue(item.varKey) }}</div>\n </div>\n </template>\n </div>\n </div>\n\n <!-- 布局变量 -->\n <h3 class=\"demo-section-title\">{{ ct('布局变量') }}</h3>\n <div class=\"layout-preview\">\n <div class=\"layout-row\">\n <div class=\"layout-label\">\n <span class=\"label-zh\">头部背景</span>\n <span class=\"label-var\">--layout-header-background</span>\n </div>\n <div\n class=\"layout-header-bar\"\n :style=\"{background: varCss('--layout-header-background')}\"></div>\n <div class=\"swatch-value\">{{ getVarValue('layoutHeaderBackground') }}</div>\n </div>\n <div class=\"layout-row\">\n <div class=\"layout-label\">\n <span class=\"label-zh\">侧边栏背景</span>\n <span class=\"label-var\">--layout-aside-background</span>\n </div>\n <div\n class=\"layout-aside-bar\"\n :style=\"{backgroundColor: varCss('--layout-aside-background')}\"></div>\n <div class=\"swatch-value\">{{ getVarValue('layoutAsideBackground') }}</div>\n </div>\n <div class=\"layout-dims\">\n <div\n v-for=\"item in layoutDimItems\"\n :key=\"item.varKey\"\n class=\"dim-chip\"\n :title=\"item.cssVar\">\n <span class=\"dim-name\">{{ item.label }}</span>\n <span class=\"dim-value\">{{ getVarValue(item.varKey) }}</span>\n </div>\n </div>\n </div>\n\n <!-- 组件效果 -->\n <h3 class=\"demo-section-title\">{{ ct('组件效果') }}</h3>\n\n <div class=\"demo-block\">\n <div class=\"block-title\">{{ ct('按钮 Button') }}</div>\n <el-button>{{ ct('默认按钮') }}</el-button>\n <el-button type=\"primary\">Primary</el-button>\n <el-button type=\"success\">Success</el-button>\n <el-button type=\"warning\">Warning</el-button>\n <el-button type=\"danger\">Danger</el-button>\n <el-button type=\"info\">Info</el-button>\n <el-divider direction=\"vertical\" />\n <el-button plain>Plain</el-button>\n <el-button\n type=\"primary\"\n plain>Primary Plain</el-button>\n <el-divider direction=\"vertical\" />\n <el-button text>Text</el-button>\n <el-button\n type=\"danger\"\n text>Danger Text</el-button>\n <el-divider direction=\"vertical\" />\n <el-button disabled>{{ ct('禁用') }}</el-button>\n <el-button\n type=\"primary\"\n loading>{{ ct('加载中') }}</el-button>\n </div>\n\n <div class=\"demo-block\">\n <div class=\"block-title\">{{ ct('表单控件 Form') }}</div>\n <el-form\n inline\n label-width=\"auto\">\n <el-form-item :label=\"ct('输入框')\">\n <el-input\n v-model=\"formState.input\"\n :placeholder=\"ct('请输入内容')\"\n clearable />\n </el-form-item>\n <el-form-item :label=\"ct('选择器')\">\n <el-select\n v-model=\"formState.select\"\n :placeholder=\"ct('请选择')\"\n style=\"width: 160px\">\n <el-option\n v-for=\"opt in selectOptions\"\n :key=\"opt\"\n :label=\"opt\"\n :value=\"opt\" />\n </el-select>\n </el-form-item>\n <el-form-item :label=\"ct('日期')\">\n <el-date-picker\n v-model=\"formState.date\"\n type=\"date\"\n :placeholder=\"ct('选择日期')\" />\n </el-form-item>\n <el-form-item :label=\"ct('开关')\">\n <el-switch v-model=\"formState.switch\" />\n </el-form-item>\n <el-form-item :label=\"ct('单选')\">\n <el-radio-group v-model=\"formState.radio\">\n <el-radio value=\"1\">{{ ct('选项一') }}</el-radio>\n <el-radio value=\"2\">{{ ct('选项二') }}</el-radio>\n </el-radio-group>\n </el-form-item>\n <el-form-item :label=\"ct('多选')\">\n <el-checkbox-group v-model=\"formState.checkbox\">\n <el-checkbox value=\"a\">{{ ct('苹果') }}</el-checkbox>\n <el-checkbox value=\"b\">{{ ct('香蕉') }}</el-checkbox>\n </el-checkbox-group>\n </el-form-item>\n <el-form-item :label=\"ct('滑块')\">\n <el-slider\n v-model=\"formState.slider\"\n style=\"width: 140px\" />\n </el-form-item>\n <el-form-item :label=\"ct('评分')\">\n <el-rate v-model=\"formState.rate\" />\n </el-form-item>\n </el-form>\n </div>\n\n <div class=\"demo-block\">\n <div class=\"block-title\">{{ ct('数据展示 Data Display') }}</div>\n <el-tag>{{ ct('标签一') }}</el-tag>\n <el-tag type=\"success\">{{ ct('标签二') }}</el-tag>\n <el-tag\n type=\"warning\"\n effect=\"dark\">{{ ct('标签三') }}</el-tag>\n <el-divider direction=\"vertical\" />\n <el-avatar :size=\"36\">YH</el-avatar>\n <el-badge\n :value=\"12\"\n class=\"badge-item\">\n <el-button>{{ ct('消息') }}</el-button>\n </el-badge>\n <el-progress\n :percentage=\"70\"\n style=\"width: 200px\" />\n <el-alert\n :title=\"ct('警告提示:这是一条 Alert 示例')\"\n type=\"warning\"\n show-icon\n style=\"margin-top: 12px\" />\n </div>\n\n <div class=\"demo-block\">\n <div class=\"block-title\">{{ ct('表格 Table(Element Plus)') }}</div>\n <el-table\n :data=\"tableData\"\n border\n stripe\n style=\"width: 100%\">\n <el-table-column\n prop=\"name\"\n :label=\"ct('名称')\" />\n <el-table-column\n prop=\"status\"\n :label=\"ct('状态')\">\n <template #default=\"{row}\">\n <el-tag\n size=\"small\"\n :type=\"row.statusType\">{{ row.status }}</el-tag>\n </template>\n </el-table-column>\n <el-table-column\n prop=\"amount\"\n :label=\"ct('金额')\" />\n <el-table-column\n prop=\"date\"\n :label=\"ct('日期')\" />\n </el-table>\n </div>\n\n <div class=\"demo-block\">\n <div class=\"block-title\">VXE Table</div>\n <vxe-grid v-bind=\"vxeOptions\">\n <template #pager>\n <vxe-pager\n v-model:current-page=\"vxePage.currentPage\"\n v-model:page-size=\"vxePage.pageSize\"\n :layouts=\"['PrevPage', 'Number', 'NextPage', 'Total']\"\n :total=\"tableData.length\"></vxe-pager>\n </template>\n </vxe-grid>\n </div>\n\n <div class=\"demo-block\">\n <div class=\"block-title\">{{ ct('反馈 Feedback') }}</div>\n <el-button @click=\"ElMessage.success(ct('成功消息 Message'))\">Message</el-button>\n <el-button @click=\"ElMessage.warning(ct('警告消息 Message'))\">Message Warning</el-button>\n <el-button @click=\"showNotification\">Notification</el-button>\n <el-button @click=\"showMessageBox\">MessageBox</el-button>\n <el-button @click=\"showDialog = true\">Dialog</el-button>\n <el-button @click=\"showDrawer = true\">Drawer</el-button>\n <el-button @click=\"showLoadingDemo\">Loading</el-button>\n </div>\n\n <!-- VXE 变量折叠面板 -->\n <h3 class=\"demo-section-title\">{{ ct('VXE 变量') }}</h3>\n <el-collapse>\n <el-collapse-item :title=\"`${ct('VXE Table 独有变量')}(${vxeItems.length})`\">\n <div class=\"swatch-grid\">\n <div\n v-for=\"item in vxeItems\"\n :key=\"item.varKey\"\n class=\"swatch-item\">\n <div\n class=\"swatch-box\"\n :class=\"{'is-non-color': !isColorValue(getVarValue(item.varKey))}\"\n :style=\"isColorValue(getVarValue(item.varKey)) ? {backgroundColor: varCss(item.cssVar)} : {}\">\n <span\n v-if=\"!isColorValue(getVarValue(item.varKey))\"\n class=\"non-color-text\">{{ getVarValue(item.varKey) }}</span>\n </div>\n <div class=\"swatch-name\">{{ item.label }}</div>\n <div class=\"swatch-var\">{{ item.cssVar }}</div>\n <div class=\"swatch-value\">{{ getVarValue(item.varKey) }}</div>\n </div>\n </div>\n </el-collapse-item>\n </el-collapse>\n\n <!-- Dialog 示例 -->\n <el-dialog\n v-model=\"showDialog\"\n :title=\"ct('Dialog 示例')\"\n width=\"420px\">\n <span>{{ ct('这段文字用于预览弹窗在当前主题下的效果。') }}</span>\n <template #footer>\n <el-button @click=\"showDialog = false\">{{ ct('取消') }}</el-button>\n <el-button\n type=\"primary\"\n @click=\"showDialog = false\">{{ ct('确定') }}</el-button>\n </template>\n </el-dialog>\n\n <!-- Drawer 示例 -->\n <el-drawer\n v-model=\"showDrawer\"\n :title=\"ct('Drawer 示例')\"\n size=\"320px\">\n <span>{{ ct('这段文字用于预览抽屉在当前主题下的效果。') }}</span>\n </el-drawer>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import {reactive, ref} from 'vue';\n import {useRouter} from 'vue-router';\n import {storeToRefs} from 'pinia';\n import {ElMessage, ElNotification, ElMessageBox, ElLoading} from 'element-plus';\n import {pinia} from '../../store';\n import {useThemeStore} from '../../store/theme';\n import {useClientStore} from 'yh-client';\n import {DEFAULT_VXE_VARS, DARK_VXE_VARS} from '../../theme/vars';\n import {THEME_VAR_LABELS, STATUS_ZH} from './themeVarLabels';\n import {ct} from '../../utils/i18nHelp';\n\n const themeStore = useThemeStore();\n const router = useRouter();\n const clientStore = useClientStore(pinia);\n\n // camelCase 变量 key 转 CSS 变量名,与 theme.ts updateCSSVars 的转换保持一致\n function toCssVar(key: string): string {\n return `--${key.replace(/([A-Z])/g, '-$1').toLowerCase()}`;\n }\n\n const {mode: modeValue} = storeToRefs(themeStore);\n\n function goConfig() {\n router.push(clientStore.isAdmin ? '/admin/theme-config' : '/theme-config');\n }\n\n function getVarValue(varKey: string): string {\n return (themeStore.currentVars as Record<string, string>)[varKey] ?? '-';\n }\n\n function varCss(cssVar: string): string {\n return `var(${cssVar})`;\n }\n\n // 值是否为可直接用作 background-color 的颜色\n function isColorValue(value: string): boolean {\n return /^(#[0-9a-f]{3,8}|rgba?\\(|hsla?\\()/i.test(value.trim());\n }\n\n interface SwatchItem {\n label: string;\n cssVar: string;\n varKey: string;\n }\n\n interface ColorGroup {\n title: string;\n type?: string;\n rgbKey?: string;\n items: SwatchItem[];\n }\n\n function makeSwatch(label: string, varKey: string): SwatchItem {\n return {label, cssVar: toCssVar(varKey), varKey};\n }\n\n // 按映射表生成带中文标签的色块项\n const sw = (varKey: string): SwatchItem =>\n makeSwatch(THEME_VAR_LABELS[varKey] || varKey, varKey);\n\n // 状态色:5 组,每组基准 + light3~9 + dark2,另附 Rgb 展示行\n const STATUS_NAMES = ['primary', 'success', 'warning', 'danger', 'info'];\n const cap = (s: string) => s[0].toUpperCase() + s.slice(1);\n const LEVEL_LABELS: Array<[string, string]> = [\n ['变亮 3', 'Light3'],\n ['变亮 5', 'Light5'],\n ['变亮 7', 'Light7'],\n ['变亮 8', 'Light8'],\n ['变亮 9', 'Light9'],\n ['变暗 2', 'Dark2'],\n ];\n\n const statusGroups: ColorGroup[] = STATUS_NAMES.map((name) => ({\n title: `${STATUS_ZH[name] || name} ${name}`,\n rgbKey: `elColor${cap(name)}Rgb`,\n items: [\n makeSwatch('基准', `elColor${cap(name)}`),\n ...LEVEL_LABELS.map(([label, level]) => makeSwatch(label, `elColor${cap(name)}${level}`)),\n ],\n }));\n\n // 中性色体系\n const grayGroups: ColorGroup[] = [\n {\n title: ct('文字颜色'),\n type: 'text',\n items: [\n sw('elTextColorPrimary'),\n sw('elTextColorRegular'),\n sw('elTextColorSecondary'),\n sw('elTextColorPlaceholder'),\n sw('elTextColorDisabled'),\n ],\n },\n {\n title: ct('边框颜色'),\n items: [\n sw('elBorderColor'),\n sw('elBorderColorLight'),\n sw('elBorderColorLighter'),\n sw('elBorderColorExtraLight'),\n sw('elBorderColorDark'),\n sw('elBorderColorDarker'),\n ],\n },\n {\n title: ct('填充颜色'),\n items: [\n sw('elFillColor'),\n sw('elFillColorLight'),\n sw('elFillColorLighter'),\n sw('elFillColorExtraLight'),\n sw('elFillColorDark'),\n sw('elFillColorDarker'),\n sw('elFillColorBlank'),\n ],\n },\n {\n title: ct('背景与遮罩颜色'),\n items: [\n sw('elBgColor'),\n sw('elBgColorPage'),\n sw('elBgColorOverlay'),\n sw('elOverlayColor'),\n sw('elOverlayColorLight'),\n sw('elOverlayColorLighter'),\n sw('elMaskColor'),\n sw('elMaskColorExtraLight'),\n ],\n },\n ];\n\n // 布局变量尺寸类\n const layoutDimItems: SwatchItem[] = [\n sw('layoutHeaderHeight'),\n sw('layoutAsideWidth'),\n sw('layoutAsideCollapsedWidth'),\n ];\n\n // VXE 独有变量\n const vxeItems: SwatchItem[] = Object.keys({...DEFAULT_VXE_VARS, ...DARK_VXE_VARS}).map(\n (key) =>\n makeSwatch(\n THEME_VAR_LABELS[key] ||\n key\n .slice('vxeUi'.length)\n .replace(/([A-Z])/g, '-$1')\n .toLowerCase()\n .replace(/^-/, ''),\n key\n )\n );\n\n // 组件示例数据\n const formState = reactive({\n input: '',\n select: '',\n date: '',\n switch: true,\n radio: '1',\n checkbox: ['a'],\n slider: 30,\n rate: 4,\n });\n const selectOptions = [ct('选项一'), ct('选项二'), ct('选项三')];\n\n const tableData = [\n {name: ct('物料清单'), status: ct('已完成'), statusType: 'success', amount: '¥1,280.00', date: '2026-08-01'},\n {name: ct('生产工单'), status: ct('进行中'), statusType: 'primary', amount: '¥8,560.00', date: '2026-08-15'},\n {name: ct('采购申请'), status: ct('待审批'), statusType: 'warning', amount: '¥3,420.00', date: '2026-08-20'},\n {name: ct('库存盘点'), status: ct('已驳回'), statusType: 'danger', amount: '¥980.00', date: '2026-08-25'},\n ];\n\n const vxePage = reactive({currentPage: 1, pageSize: 10});\n const vxeOptions = {\n border: true,\n stripe: true,\n showOverflow: true,\n height: 220,\n align: 'center',\n columns: [\n {type: 'seq', width: 60, title: ct('序号')},\n {field: 'name', title: ct('名称')},\n {field: 'status', title: ct('状态')},\n {field: 'amount', title: ct('金额')},\n {field: 'date', title: ct('日期')},\n ],\n data: tableData,\n slots: {bottom: 'pager'},\n };\n\n const showDialog = ref(false);\n const showDrawer = ref(false);\n\n function showNotification() {\n ElNotification({\n title: ct('通知'),\n message: ct('这是一条 Notification 示例'),\n type: 'success',\n });\n }\n\n function showMessageBox() {\n ElMessageBox.confirm(ct('确认执行此操作吗?'), ct('提示'), {\n confirmButtonText: ct('确定'),\n cancelButtonText: ct('取消'),\n type: 'warning',\n }).catch(() => {});\n }\n\n function showLoadingDemo() {\n const loading = ElLoading.service({\n lock: true,\n text: ct('加载中...'),\n background: 'rgba(0, 0, 0, 0.2)',\n });\n setTimeout(() => loading.close(), 1000);\n }\n</script>\n\n<style lang=\"scss\" scoped>\n .theme-demo-page {\n max-width: 1280px;\n\n .flex-grow {\n flex: 1;\n }\n\n .demo-toolbar {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 8px;\n }\n\n .demo-section-title {\n margin: 28px 0 12px;\n padding-left: 8px;\n border-left: 3px solid var(--el-color-primary);\n font-size: 16px;\n line-height: 1.3;\n }\n\n .color-sub-section {\n margin-bottom: 16px;\n\n .sub-title {\n font-size: 13px;\n color: var(--el-text-color-secondary);\n margin-bottom: 8px;\n }\n\n .rgb-line {\n margin-top: 8px;\n font-size: 12px;\n font-family: monospace;\n color: var(--el-text-color-secondary);\n }\n }\n\n .swatch-grid {\n display: flex;\n flex-wrap: wrap;\n gap: 12px;\n }\n\n .swatch-item {\n width: 104px;\n }\n\n .swatch-box {\n position: relative;\n height: 52px;\n border-radius: 6px;\n border: 1px solid var(--el-border-color-lighter);\n\n &.is-non-color {\n display: flex;\n align-items: center;\n justify-content: center;\n border-style: dashed;\n padding: 4px;\n box-sizing: border-box;\n\n .non-color-text {\n font-size: 11px;\n word-break: break-all;\n text-align: center;\n color: var(--el-text-color-secondary);\n }\n }\n }\n\n .text-sample {\n height: 52px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 18px;\n font-weight: 600;\n border-radius: 6px;\n border: 1px dashed var(--el-border-color-lighter);\n }\n\n .swatch-name {\n margin-top: 4px;\n font-size: 12px;\n color: var(--el-text-color-regular);\n word-break: break-all;\n }\n\n .swatch-var {\n font-size: 10px;\n font-family: monospace;\n color: var(--el-text-color-placeholder);\n word-break: break-all;\n line-height: 1.3;\n }\n\n .swatch-value {\n font-size: 11px;\n font-family: monospace;\n color: var(--el-text-color-secondary);\n word-break: break-all;\n }\n\n .layout-preview {\n border: 1px solid var(--el-border-color-lighter);\n border-radius: 8px;\n padding: 16px;\n\n .layout-row {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 12px;\n\n .layout-label {\n flex: 0 0 220px;\n display: flex;\n flex-direction: column;\n gap: 2px;\n\n .label-zh {\n font-size: 13px;\n color: var(--el-text-color-regular);\n }\n\n .label-var {\n font-size: 11px;\n font-family: monospace;\n color: var(--el-text-color-placeholder);\n word-break: break-all;\n }\n }\n\n .layout-header-bar,\n .layout-aside-bar {\n flex: 0 0 320px;\n height: 36px;\n border-radius: 6px;\n border: 1px solid var(--el-border-color-lighter);\n }\n\n .swatch-value {\n flex: 1;\n }\n }\n\n .layout-dims {\n display: flex;\n flex-wrap: wrap;\n gap: 12px;\n\n .dim-chip {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n padding: 6px 12px;\n border-radius: 6px;\n border: 1px dashed var(--el-border-color);\n font-size: 12px;\n font-family: monospace;\n\n .dim-name {\n color: var(--el-text-color-secondary);\n }\n\n .dim-value {\n color: var(--el-color-primary);\n }\n }\n }\n }\n\n .demo-block {\n border: 1px solid var(--el-border-color-lighter);\n border-radius: 8px;\n padding: 16px;\n margin-bottom: 16px;\n\n .block-title {\n font-size: 13px;\n color: var(--el-text-color-secondary);\n margin-bottom: 12px;\n }\n\n .badge-item {\n margin: 0 12px;\n }\n }\n }\n</style>\n"],"names":["themeStore","useThemeStore","router","useRouter","clientStore","useClientStore","pinia","toCssVar","key","modeValue","storeToRefs","goConfig","getVarValue","varKey","varCss","cssVar","isColorValue","value","makeSwatch","label","sw","THEME_VAR_LABELS","STATUS_NAMES","cap","s","LEVEL_LABELS","statusGroups","name","STATUS_ZH","level","grayGroups","ct","layoutDimItems","vxeItems","DEFAULT_VXE_VARS","DARK_VXE_VARS","formState","reactive","selectOptions","tableData","vxePage","vxeOptions","showDialog","ref","showDrawer","showNotification","ElNotification","showMessageBox","ElMessageBox","showLoadingDemo","loading","ElLoading","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_createVNode","_component_el_radio_group","_unref","$event","val","_component_el_radio_button","_component_el_tag","_toDisplayString","_component_el_button","_hoisted_3","_Fragment","_renderList","group","_hoisted_4","_hoisted_5","item","_normalizeStyle","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_31","_cache","_component_el_divider","_hoisted_32","_hoisted_33","_component_el_form","_component_el_form_item","_component_el_input","_component_el_select","opt","_component_el_option","_component_el_date_picker","_component_el_switch","_component_el_radio","_component_el_checkbox_group","_component_el_checkbox","_component_el_slider","_component_el_rate","_hoisted_34","_hoisted_35","_component_el_avatar","_component_el_badge","_component_el_progress","_component_el_alert","_hoisted_36","_hoisted_37","_component_el_table","_component_el_table_column","_withCtx","row","_createTextVNode","_hoisted_38","_component_vxe_grid","_component_vxe_pager","_hoisted_39","_hoisted_40","ElMessage","_hoisted_41","_component_el_collapse","_component_el_collapse_item","_hoisted_42","_normalizeClass","_hoisted_43","_hoisted_44","_hoisted_45","_hoisted_46","_component_el_dialog","_component_el_drawer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ThemeDemo-BvgICE9C.js","sources":["../layout/components/ThemeDemo.vue"],"sourcesContent":["<template>\n <div class=\"theme-demo-page\">\n <!-- 操作栏 -->\n <div class=\"demo-toolbar\">\n <el-radio-group\n v-model=\"modeValue\"\n @change=\"(val: any) => themeStore.setMode(val)\">\n <el-radio-button value=\"light\">{{ ct('亮色') }}</el-radio-button>\n <el-radio-button value=\"dark\">{{ ct('暗色') }}</el-radio-button>\n <el-radio-button value=\"auto\">{{ ct('跟随系统') }}</el-radio-button>\n </el-radio-group>\n <el-tag\n :type=\"themeStore.effectiveMode === 'dark' ? 'info' : 'warning'\"\n effect=\"plain\">\n {{ ct('当前实际') }}: {{ themeStore.effectiveMode === 'dark' ? ct('暗色') : ct('亮色') }}\n </el-tag>\n <div class=\"flex-grow\"></div>\n <el-button\n type=\"primary\"\n @click=\"goConfig\">\n {{ ct('前往主题配置') }}\n </el-button>\n </div>\n\n <!-- 状态色 -->\n <h3 class=\"demo-section-title\">{{ ct('状态色(自动派生变体)') }}</h3>\n <div\n v-for=\"group in statusGroups\"\n :key=\"group.title\"\n class=\"color-sub-section\">\n <div class=\"sub-title\">{{ group.title }}</div>\n <div class=\"swatch-grid\">\n <div\n v-for=\"item in group.items\"\n :key=\"item.varKey\"\n class=\"swatch-item\">\n <div\n class=\"swatch-box\"\n :style=\"{backgroundColor: varCss(item.cssVar)}\"></div>\n <div class=\"swatch-name\">{{ item.label }}</div>\n <div class=\"swatch-var\">{{ item.cssVar }}</div>\n <div class=\"swatch-value\">{{ getVarValue(item.varKey) }}</div>\n </div>\n </div>\n <div class=\"rgb-line\">{{ group.title }}-rgb:{{ getVarValue(group.rgbKey) }}</div>\n </div>\n\n <!-- 中性色体系 -->\n <h3 class=\"demo-section-title\">{{ ct('中性色体系') }}</h3>\n <div\n v-for=\"group in grayGroups\"\n :key=\"group.title\"\n class=\"color-sub-section\">\n <div class=\"sub-title\">{{ group.title }}</div>\n <div class=\"swatch-grid\">\n <!-- 文字颜色用示例文字展示 -->\n <template v-if=\"group.type === 'text'\">\n <div\n v-for=\"item in group.items\"\n :key=\"item.varKey\"\n class=\"swatch-item\">\n <div\n class=\"text-sample\"\n :style=\"{color: varCss(item.cssVar)}\">\n 元海 Aa 字\n </div>\n <div class=\"swatch-name\">{{ item.label }}</div>\n <div class=\"swatch-var\">{{ item.cssVar }}</div>\n <div class=\"swatch-value\">{{ getVarValue(item.varKey) }}</div>\n </div>\n </template>\n <template v-else>\n <div\n v-for=\"item in group.items\"\n :key=\"item.varKey\"\n class=\"swatch-item\">\n <div\n class=\"swatch-box\"\n :style=\"{backgroundColor: varCss(item.cssVar)}\"></div>\n <div class=\"swatch-name\">{{ item.label }}</div>\n <div class=\"swatch-var\">{{ item.cssVar }}</div>\n <div class=\"swatch-value\">{{ getVarValue(item.varKey) }}</div>\n </div>\n </template>\n </div>\n </div>\n\n <!-- 布局变量 -->\n <h3 class=\"demo-section-title\">{{ ct('布局变量') }}</h3>\n <div class=\"layout-preview\">\n <div class=\"layout-row\">\n <div class=\"layout-label\">\n <span class=\"label-zh\">头部背景</span>\n <span class=\"label-var\">--layout-header-background</span>\n </div>\n <div\n class=\"layout-header-bar\"\n :style=\"{background: varCss('--layout-header-background')}\"></div>\n <div class=\"swatch-value\">{{ getVarValue('layoutHeaderBackground') }}</div>\n </div>\n <div class=\"layout-row\">\n <div class=\"layout-label\">\n <span class=\"label-zh\">侧边栏背景</span>\n <span class=\"label-var\">--layout-aside-background</span>\n </div>\n <div\n class=\"layout-aside-bar\"\n :style=\"{backgroundColor: varCss('--layout-aside-background')}\"></div>\n <div class=\"swatch-value\">{{ getVarValue('layoutAsideBackground') }}</div>\n </div>\n <div class=\"layout-dims\">\n <div\n v-for=\"item in layoutDimItems\"\n :key=\"item.varKey\"\n class=\"dim-chip\"\n :title=\"item.cssVar\">\n <span class=\"dim-name\">{{ item.label }}</span>\n <span class=\"dim-value\">{{ getVarValue(item.varKey) }}</span>\n </div>\n </div>\n </div>\n\n <!-- 组件效果 -->\n <h3 class=\"demo-section-title\">{{ ct('组件效果') }}</h3>\n\n <div class=\"demo-block\">\n <div class=\"block-title\">{{ ct('按钮 Button') }}</div>\n <el-button>{{ ct('默认按钮') }}</el-button>\n <el-button type=\"primary\">Primary</el-button>\n <el-button type=\"success\">Success</el-button>\n <el-button type=\"warning\">Warning</el-button>\n <el-button type=\"danger\">Danger</el-button>\n <el-button type=\"info\">Info</el-button>\n <el-divider direction=\"vertical\" />\n <el-button plain>Plain</el-button>\n <el-button\n type=\"primary\"\n plain>Primary Plain</el-button>\n <el-divider direction=\"vertical\" />\n <el-button text>Text</el-button>\n <el-button\n type=\"danger\"\n text>Danger Text</el-button>\n <el-divider direction=\"vertical\" />\n <el-button disabled>{{ ct('禁用') }}</el-button>\n <el-button\n type=\"primary\"\n loading>{{ ct('加载中') }}</el-button>\n </div>\n\n <div class=\"demo-block\">\n <div class=\"block-title\">{{ ct('表单控件 Form') }}</div>\n <el-form\n inline\n label-width=\"auto\">\n <el-form-item :label=\"ct('输入框')\">\n <el-input\n v-model=\"formState.input\"\n :placeholder=\"ct('请输入内容')\"\n clearable />\n </el-form-item>\n <el-form-item :label=\"ct('选择器')\">\n <el-select\n v-model=\"formState.select\"\n :placeholder=\"ct('请选择')\"\n style=\"width: 160px\">\n <el-option\n v-for=\"opt in selectOptions\"\n :key=\"opt\"\n :label=\"opt\"\n :value=\"opt\" />\n </el-select>\n </el-form-item>\n <el-form-item :label=\"ct('日期')\">\n <el-date-picker\n v-model=\"formState.date\"\n type=\"date\"\n :placeholder=\"ct('选择日期')\" />\n </el-form-item>\n <el-form-item :label=\"ct('开关')\">\n <el-switch v-model=\"formState.switch\" />\n </el-form-item>\n <el-form-item :label=\"ct('单选')\">\n <el-radio-group v-model=\"formState.radio\">\n <el-radio value=\"1\">{{ ct('选项一') }}</el-radio>\n <el-radio value=\"2\">{{ ct('选项二') }}</el-radio>\n </el-radio-group>\n </el-form-item>\n <el-form-item :label=\"ct('多选')\">\n <el-checkbox-group v-model=\"formState.checkbox\">\n <el-checkbox value=\"a\">{{ ct('苹果') }}</el-checkbox>\n <el-checkbox value=\"b\">{{ ct('香蕉') }}</el-checkbox>\n </el-checkbox-group>\n </el-form-item>\n <el-form-item :label=\"ct('滑块')\">\n <el-slider\n v-model=\"formState.slider\"\n style=\"width: 140px\" />\n </el-form-item>\n <el-form-item :label=\"ct('评分')\">\n <el-rate v-model=\"formState.rate\" />\n </el-form-item>\n </el-form>\n </div>\n\n <div class=\"demo-block\">\n <div class=\"block-title\">{{ ct('数据展示 Data Display') }}</div>\n <el-tag>{{ ct('标签一') }}</el-tag>\n <el-tag type=\"success\">{{ ct('标签二') }}</el-tag>\n <el-tag\n type=\"warning\"\n effect=\"dark\">{{ ct('标签三') }}</el-tag>\n <el-divider direction=\"vertical\" />\n <el-avatar :size=\"36\">YH</el-avatar>\n <el-badge\n :value=\"12\"\n class=\"badge-item\">\n <el-button>{{ ct('消息') }}</el-button>\n </el-badge>\n <el-progress\n :percentage=\"70\"\n style=\"width: 200px\" />\n <el-alert\n :title=\"ct('警告提示:这是一条 Alert 示例')\"\n type=\"warning\"\n show-icon\n style=\"margin-top: 12px\" />\n </div>\n\n <div class=\"demo-block\">\n <div class=\"block-title\">{{ ct('表格 Table(Element Plus)') }}</div>\n <el-table\n :data=\"tableData\"\n border\n stripe\n style=\"width: 100%\">\n <el-table-column\n prop=\"name\"\n :label=\"ct('名称')\" />\n <el-table-column\n prop=\"status\"\n :label=\"ct('状态')\">\n <template #default=\"{row}\">\n <el-tag\n size=\"small\"\n :type=\"row.statusType\">{{ row.status }}</el-tag>\n </template>\n </el-table-column>\n <el-table-column\n prop=\"amount\"\n :label=\"ct('金额')\" />\n <el-table-column\n prop=\"date\"\n :label=\"ct('日期')\" />\n </el-table>\n </div>\n\n <div class=\"demo-block\">\n <div class=\"block-title\">VXE Table</div>\n <vxe-grid v-bind=\"vxeOptions\">\n <template #pager>\n <vxe-pager\n v-model:current-page=\"vxePage.currentPage\"\n v-model:page-size=\"vxePage.pageSize\"\n :layouts=\"['PrevPage', 'Number', 'NextPage', 'Total']\"\n :total=\"tableData.length\"></vxe-pager>\n </template>\n </vxe-grid>\n </div>\n\n <div class=\"demo-block\">\n <div class=\"block-title\">{{ ct('反馈 Feedback') }}</div>\n <el-button @click=\"ElMessage.success(ct('成功消息 Message'))\">Message</el-button>\n <el-button @click=\"ElMessage.warning(ct('警告消息 Message'))\">Message Warning</el-button>\n <el-button @click=\"showNotification\">Notification</el-button>\n <el-button @click=\"showMessageBox\">MessageBox</el-button>\n <el-button @click=\"showDialog = true\">Dialog</el-button>\n <el-button @click=\"showDrawer = true\">Drawer</el-button>\n <el-button @click=\"showLoadingDemo\">Loading</el-button>\n </div>\n\n <!-- VXE 变量折叠面板 -->\n <h3 class=\"demo-section-title\">{{ ct('VXE 变量') }}</h3>\n <el-collapse>\n <el-collapse-item :title=\"`${ct('VXE Table 独有变量')}(${vxeItems.length})`\">\n <div class=\"swatch-grid\">\n <div\n v-for=\"item in vxeItems\"\n :key=\"item.varKey\"\n class=\"swatch-item\">\n <div\n class=\"swatch-box\"\n :class=\"{'is-non-color': !isColorValue(getVarValue(item.varKey))}\"\n :style=\"isColorValue(getVarValue(item.varKey)) ? {backgroundColor: varCss(item.cssVar)} : {}\">\n <span\n v-if=\"!isColorValue(getVarValue(item.varKey))\"\n class=\"non-color-text\">{{ getVarValue(item.varKey) }}</span>\n </div>\n <div class=\"swatch-name\">{{ item.label }}</div>\n <div class=\"swatch-var\">{{ item.cssVar }}</div>\n <div class=\"swatch-value\">{{ getVarValue(item.varKey) }}</div>\n </div>\n </div>\n </el-collapse-item>\n </el-collapse>\n\n <!-- Dialog 示例 -->\n <el-dialog\n v-model=\"showDialog\"\n :title=\"ct('Dialog 示例')\"\n width=\"420px\">\n <span>{{ ct('这段文字用于预览弹窗在当前主题下的效果。') }}</span>\n <template #footer>\n <el-button @click=\"showDialog = false\">{{ ct('取消') }}</el-button>\n <el-button\n type=\"primary\"\n @click=\"showDialog = false\">{{ ct('确定') }}</el-button>\n </template>\n </el-dialog>\n\n <!-- Drawer 示例 -->\n <el-drawer\n v-model=\"showDrawer\"\n :title=\"ct('Drawer 示例')\"\n size=\"320px\">\n <span>{{ ct('这段文字用于预览抽屉在当前主题下的效果。') }}</span>\n </el-drawer>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import {reactive, ref} from 'vue';\n import {useRouter} from 'vue-router';\n import {storeToRefs} from 'pinia';\n import {ElMessage, ElNotification, ElMessageBox, ElLoading} from 'element-plus';\n import {pinia} from '../../store';\n import {useThemeStore} from '../../store/theme';\n import {useClientStore} from 'yh-client';\n import {DEFAULT_VXE_VARS, DARK_VXE_VARS} from '../../theme/vars';\n import {THEME_VAR_LABELS, STATUS_ZH} from './themeVarLabels';\n import {ct} from '../../utils/i18nHelp';\n\n const themeStore = useThemeStore();\n const router = useRouter();\n const clientStore = useClientStore(pinia);\n\n // camelCase 变量 key 转 CSS 变量名,与 theme.ts updateCSSVars 的转换保持一致\n function toCssVar(key: string): string {\n return `--${key.replace(/([A-Z])/g, '-$1').toLowerCase()}`;\n }\n\n const {mode: modeValue} = storeToRefs(themeStore);\n\n function goConfig() {\n router.push(clientStore.isAdmin ? '/admin/theme-config' : '/theme-config');\n }\n\n function getVarValue(varKey: string): string {\n return (themeStore.currentVars as Record<string, string>)[varKey] ?? '-';\n }\n\n function varCss(cssVar: string): string {\n return `var(${cssVar})`;\n }\n\n // 值是否为可直接用作 background-color 的颜色\n function isColorValue(value: string): boolean {\n return /^(#[0-9a-f]{3,8}|rgba?\\(|hsla?\\()/i.test(value.trim());\n }\n\n interface SwatchItem {\n label: string;\n cssVar: string;\n varKey: string;\n }\n\n interface ColorGroup {\n title: string;\n type?: string;\n rgbKey?: string;\n items: SwatchItem[];\n }\n\n function makeSwatch(label: string, varKey: string): SwatchItem {\n return {label, cssVar: toCssVar(varKey), varKey};\n }\n\n // 按映射表生成带中文标签的色块项\n const sw = (varKey: string): SwatchItem =>\n makeSwatch(THEME_VAR_LABELS[varKey] || varKey, varKey);\n\n // 状态色:5 组,每组基准 + light3~9 + dark2,另附 Rgb 展示行\n const STATUS_NAMES = ['primary', 'success', 'warning', 'danger', 'info'];\n const cap = (s: string) => s[0].toUpperCase() + s.slice(1);\n const LEVEL_LABELS: Array<[string, string]> = [\n ['变亮 3', 'Light3'],\n ['变亮 5', 'Light5'],\n ['变亮 7', 'Light7'],\n ['变亮 8', 'Light8'],\n ['变亮 9', 'Light9'],\n ['变暗 2', 'Dark2'],\n ];\n\n const statusGroups: ColorGroup[] = STATUS_NAMES.map((name) => ({\n title: `${STATUS_ZH[name] || name} ${name}`,\n rgbKey: `elColor${cap(name)}Rgb`,\n items: [\n makeSwatch('基准', `elColor${cap(name)}`),\n ...LEVEL_LABELS.map(([label, level]) => makeSwatch(label, `elColor${cap(name)}${level}`)),\n ],\n }));\n\n // 中性色体系\n const grayGroups: ColorGroup[] = [\n {\n title: ct('文字颜色'),\n type: 'text',\n items: [\n sw('elTextColorPrimary'),\n sw('elTextColorRegular'),\n sw('elTextColorSecondary'),\n sw('elTextColorPlaceholder'),\n sw('elTextColorDisabled'),\n ],\n },\n {\n title: ct('边框颜色'),\n items: [\n sw('elBorderColor'),\n sw('elBorderColorLight'),\n sw('elBorderColorLighter'),\n sw('elBorderColorExtraLight'),\n sw('elBorderColorDark'),\n sw('elBorderColorDarker'),\n ],\n },\n {\n title: ct('填充颜色'),\n items: [\n sw('elFillColor'),\n sw('elFillColorLight'),\n sw('elFillColorLighter'),\n sw('elFillColorExtraLight'),\n sw('elFillColorDark'),\n sw('elFillColorDarker'),\n sw('elFillColorBlank'),\n ],\n },\n {\n title: ct('背景与遮罩颜色'),\n items: [\n sw('elBgColor'),\n sw('elBgColorPage'),\n sw('elBgColorOverlay'),\n sw('elOverlayColor'),\n sw('elOverlayColorLight'),\n sw('elOverlayColorLighter'),\n sw('elMaskColor'),\n sw('elMaskColorExtraLight'),\n ],\n },\n ];\n\n // 布局变量尺寸类\n const layoutDimItems: SwatchItem[] = [\n sw('layoutHeaderHeight'),\n sw('layoutAsideWidth'),\n sw('layoutAsideCollapsedWidth'),\n ];\n\n // VXE 独有变量\n const vxeItems: SwatchItem[] = Object.keys({...DEFAULT_VXE_VARS, ...DARK_VXE_VARS}).map(\n (key) =>\n makeSwatch(\n THEME_VAR_LABELS[key] ||\n key\n .slice('vxeUi'.length)\n .replace(/([A-Z])/g, '-$1')\n .toLowerCase()\n .replace(/^-/, ''),\n key\n )\n );\n\n // 组件示例数据\n const formState = reactive({\n input: '',\n select: '',\n date: '',\n switch: true,\n radio: '1',\n checkbox: ['a'],\n slider: 30,\n rate: 4,\n });\n const selectOptions = [ct('选项一'), ct('选项二'), ct('选项三')];\n\n const tableData = [\n {name: ct('物料清单'), status: ct('已完成'), statusType: 'success', amount: '¥1,280.00', date: '2026-08-01'},\n {name: ct('生产工单'), status: ct('进行中'), statusType: 'primary', amount: '¥8,560.00', date: '2026-08-15'},\n {name: ct('采购申请'), status: ct('待审批'), statusType: 'warning', amount: '¥3,420.00', date: '2026-08-20'},\n {name: ct('库存盘点'), status: ct('已驳回'), statusType: 'danger', amount: '¥980.00', date: '2026-08-25'},\n ];\n\n const vxePage = reactive({currentPage: 1, pageSize: 10});\n const vxeOptions = {\n border: true,\n stripe: true,\n showOverflow: true,\n height: 220,\n align: 'center',\n columns: [\n {type: 'seq', width: 60, title: ct('序号')},\n {field: 'name', title: ct('名称')},\n {field: 'status', title: ct('状态')},\n {field: 'amount', title: ct('金额')},\n {field: 'date', title: ct('日期')},\n ],\n data: tableData,\n slots: {bottom: 'pager'},\n };\n\n const showDialog = ref(false);\n const showDrawer = ref(false);\n\n function showNotification() {\n ElNotification({\n title: ct('通知'),\n message: ct('这是一条 Notification 示例'),\n type: 'success',\n });\n }\n\n function showMessageBox() {\n ElMessageBox.confirm(ct('确认执行此操作吗?'), ct('提示'), {\n confirmButtonText: ct('确定'),\n cancelButtonText: ct('取消'),\n type: 'warning',\n }).catch(() => {});\n }\n\n function showLoadingDemo() {\n const loading = ElLoading.service({\n lock: true,\n text: ct('加载中...'),\n background: 'rgba(0, 0, 0, 0.2)',\n });\n setTimeout(() => loading.close(), 1000);\n }\n</script>\n\n<style lang=\"scss\" scoped>\n .theme-demo-page {\n max-width: 1280px;\n\n .flex-grow {\n flex: 1;\n }\n\n .demo-toolbar {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 8px;\n }\n\n .demo-section-title {\n margin: 28px 0 12px;\n padding-left: 8px;\n border-left: 3px solid var(--el-color-primary);\n font-size: 16px;\n line-height: 1.3;\n }\n\n .color-sub-section {\n margin-bottom: 16px;\n\n .sub-title {\n font-size: 13px;\n color: var(--el-text-color-secondary);\n margin-bottom: 8px;\n }\n\n .rgb-line {\n margin-top: 8px;\n font-size: 12px;\n font-family: monospace;\n color: var(--el-text-color-secondary);\n }\n }\n\n .swatch-grid {\n display: flex;\n flex-wrap: wrap;\n gap: 12px;\n }\n\n .swatch-item {\n width: 104px;\n }\n\n .swatch-box {\n position: relative;\n height: 52px;\n border-radius: 6px;\n border: 1px solid var(--el-border-color-lighter);\n\n &.is-non-color {\n display: flex;\n align-items: center;\n justify-content: center;\n border-style: dashed;\n padding: 4px;\n box-sizing: border-box;\n\n .non-color-text {\n font-size: 11px;\n word-break: break-all;\n text-align: center;\n color: var(--el-text-color-secondary);\n }\n }\n }\n\n .text-sample {\n height: 52px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 18px;\n font-weight: 600;\n border-radius: 6px;\n border: 1px dashed var(--el-border-color-lighter);\n }\n\n .swatch-name {\n margin-top: 4px;\n font-size: 12px;\n color: var(--el-text-color-regular);\n word-break: break-all;\n }\n\n .swatch-var {\n font-size: 10px;\n font-family: monospace;\n color: var(--el-text-color-placeholder);\n word-break: break-all;\n line-height: 1.3;\n }\n\n .swatch-value {\n font-size: 11px;\n font-family: monospace;\n color: var(--el-text-color-secondary);\n word-break: break-all;\n }\n\n .layout-preview {\n border: 1px solid var(--el-border-color-lighter);\n border-radius: 8px;\n padding: 16px;\n\n .layout-row {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 12px;\n\n .layout-label {\n flex: 0 0 220px;\n display: flex;\n flex-direction: column;\n gap: 2px;\n\n .label-zh {\n font-size: 13px;\n color: var(--el-text-color-regular);\n }\n\n .label-var {\n font-size: 11px;\n font-family: monospace;\n color: var(--el-text-color-placeholder);\n word-break: break-all;\n }\n }\n\n .layout-header-bar,\n .layout-aside-bar {\n flex: 0 0 320px;\n height: 36px;\n border-radius: 6px;\n border: 1px solid var(--el-border-color-lighter);\n }\n\n .swatch-value {\n flex: 1;\n }\n }\n\n .layout-dims {\n display: flex;\n flex-wrap: wrap;\n gap: 12px;\n\n .dim-chip {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n padding: 6px 12px;\n border-radius: 6px;\n border: 1px dashed var(--el-border-color);\n font-size: 12px;\n font-family: monospace;\n\n .dim-name {\n color: var(--el-text-color-secondary);\n }\n\n .dim-value {\n color: var(--el-color-primary);\n }\n }\n }\n }\n\n .demo-block {\n border: 1px solid var(--el-border-color-lighter);\n border-radius: 8px;\n padding: 16px;\n margin-bottom: 16px;\n\n .block-title {\n font-size: 13px;\n color: var(--el-text-color-secondary);\n margin-bottom: 12px;\n }\n\n .badge-item {\n margin: 0 12px;\n }\n }\n }\n</style>\n"],"names":["themeStore","useThemeStore","router","useRouter","clientStore","useClientStore","pinia","toCssVar","key","modeValue","storeToRefs","goConfig","getVarValue","varKey","varCss","cssVar","isColorValue","value","makeSwatch","label","sw","THEME_VAR_LABELS","STATUS_NAMES","cap","s","LEVEL_LABELS","statusGroups","name","STATUS_ZH","level","grayGroups","ct","layoutDimItems","vxeItems","DEFAULT_VXE_VARS","DARK_VXE_VARS","formState","reactive","selectOptions","tableData","vxePage","vxeOptions","showDialog","ref","showDrawer","showNotification","ElNotification","showMessageBox","ElMessageBox","showLoadingDemo","loading","ElLoading","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_createVNode","_component_el_radio_group","_unref","$event","val","_component_el_radio_button","_component_el_tag","_toDisplayString","_component_el_button","_hoisted_3","_Fragment","_renderList","group","_hoisted_4","_hoisted_5","item","_normalizeStyle","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_31","_cache","_component_el_divider","_hoisted_32","_hoisted_33","_component_el_form","_component_el_form_item","_component_el_input","_component_el_select","opt","_component_el_option","_component_el_date_picker","_component_el_switch","_component_el_radio","_component_el_checkbox_group","_component_el_checkbox","_component_el_slider","_component_el_rate","_hoisted_34","_hoisted_35","_component_el_avatar","_component_el_badge","_component_el_progress","_component_el_alert","_hoisted_36","_hoisted_37","_component_el_table","_component_el_table_column","_withCtx","row","_createTextVNode","_hoisted_38","_component_vxe_grid","_component_vxe_pager","_hoisted_39","_hoisted_40","ElMessage","_hoisted_41","_component_el_collapse","_component_el_collapse_item","_hoisted_42","_normalizeClass","_hoisted_43","_hoisted_44","_hoisted_45","_hoisted_46","_component_el_dialog","_component_el_drawer"],"mappings":"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"}
|