【同步】前端项目源码

【修复】工作流兼容问题
This commit is contained in:
chudong
2025-05-10 11:53:11 +08:00
parent c514471adc
commit f1a75afaba
584 changed files with 55714 additions and 110 deletions

View File

@@ -0,0 +1,55 @@
import type { ThemeTemplate, PresetConfig } from '../../types'
import './style.css'
// 预设变量,用于继承预设主题
const presets: PresetConfig = {
Modal: {
preset: 'card',
},
}
// 默认亮色主题
const defaultLight: ThemeTemplate = {
name: 'defaultLight', // 主题标识
type: 'light', // 主题类型,可选值为 light、dark用于继承预设主题
title: '默认亮色主题', // 主题名称
themeOverrides: {
common: {
borderRadius: '0.6rem', // 圆角
},
}, // 主题变量
presetsOverrides: presets, // 预设变量
}
// 默认暗色主题
const defaultDark: ThemeTemplate = {
name: 'defaultDark',
type: 'dark',
title: '默认暗色主题',
themeOverrides: {
common: {
// baseColor: '#F1F1F1', // 基础色
primaryColor: '#4caf50', // 主色
primaryColorHover: '#20a53a', // 主色悬停
primaryColorPressed: '#157f3a', // 主色按下
primaryColorSuppl: '#4caf50', // 主色补充
borderRadius: '0.6rem', // 圆角
},
Popover: {
// color: '#ffffff', // 弹出层背景色
},
Button: {
textColorPrimary: '#ffffff', // 主按钮文本色
textColorHoverPrimary: '#ffffff', // 主按钮文本色悬停
textColorPressedPrimary: '#ffffff', // 主按钮文本色按下
textColorFocusPrimary: '#ffffff', // 主按钮文本色聚焦
},
Radio: {
buttonTextColorActive: '#ffffff', // 单选框文本色
},
},
presetsOverrides: presets, // 预设变量
}
export { defaultLight, defaultDark }

View File

@@ -0,0 +1,53 @@
/* Light Theme */
:root[class='defaultLight'] {
/* Empty light theme styles */
--background-color: #121212;
--text-color: #f1f1f1;
--bt-popover-color: #ffffff;
}
/* Dark Theme */
:root[class='defaultDark'] {
/* Empty dark theme styles */
--bg-color: #121212;
--bt-popover-color: #48484e;
}
/* 创建动画 */
@keyframes fadeToLight {
from {
opacity: 0.8;
transform: scale(0.8);
}
to {
opacity: 1;
transform: scale(1);
}
}
@keyframes fadeToDark {
from {
opacity: 0.8;
transform: scale(0.8);
}
to {
opacity: 1;
transform: scale(1);
}
}
/* 应用动画 */
:root {
--background-color: #ffffff;
--text-color: #333333;
}
:root.animate-to-light {
animation: fadeToLight 0.5s ease forwards;
overflow: hidden;
}
:root.animate-to-dark {
animation: fadeToDark 0.5s ease forwards;
overflow: hidden;
}

View File

@@ -0,0 +1,42 @@
// 导出主题表,需要自己定义
import type { ThemeJsonProps } from '../types'
const cssModules = import.meta.glob('../model/*/*.css', {
eager: false,
import: 'default',
// as: 'url', // 使用 url 加载器,将 CSS 文件作为独立的资源加载
})
const themes: ThemeJsonProps = {
defaultLight: {
name: 'defaultLight', // 主题标识
type: 'light', // 主题类型,可选值为 light、dark用于继承预设主题
title: '默认亮色主题', // 主题名称
import: async () => (await import('./default/index')).defaultLight, // 主题导入函数,用于动态导入主题文件
styleContent: async () => (await cssModules['./default/style.css']()) as string, // 主题样式导入函数,用于动态导入主题样式文件
},
defaultDark: {
name: 'defaultDark',
type: 'dark',
title: '默认暗色主题',
import: async () => (await import('./default/index')).defaultDark,
styleContent: async () => (await cssModules['./default/style.css']()) as string, // 主题样式导入函数,用于动态导入主题样式文件
},
// baotaLight: {
// name: 'baotaLight',
// type: 'light',
// title: '宝塔主题',
// import: async () => (await import('./baota/index')).baotaLight,
// styleContent: async () => (await cssModules['./baota/style.css']()) as string, // 主题样式导入函数,用于动态导入主题样式文件
// },
// darkGold: {
// name: 'darkGold',
// type: 'dark',
// title: '暗金主题',
// import: async () => (await import('./dark-gold/index')).goldDark,
// styleContent: async () => (await cssModules['./dark-gold/style.css']()) as string, // 主题样式导入函数,用于动态导入主题样式文件
// },
}
export default themes

View File

@@ -0,0 +1,52 @@
import type { ThemeTemplate, PresetConfig } from '../../types'
import './style.css'
// 预设变量,用于继承预设主题
const presets: PresetConfig = {
Modal: {
preset: 'card',
},
}
// 默认亮色主题
const blueLight: ThemeTemplate = {
name: 'blueLight', // 主题标识
type: 'light', // 主题类型,可选值为 light、dark用于继承预设主题
title: '蓝色主题', // 主题名称
themeOverrides: {
common: {},
}, // 主题变量
presetsOverrides: presets, // 预设变量
}
// 默认暗色主题
const blueDark: ThemeTemplate = {
name: 'blueDark',
type: 'dark',
title: '蓝色主题',
themeOverrides: {
common: {
// baseColor: '#F1F1F1', // 基础色
primaryColor: '#4caf50', // 主色
primaryColorHover: '#20a53a', // 主色悬停
primaryColorPressed: '#157f3a', // 主色按下
primaryColorSuppl: '#4caf50', // 主色补充
},
Popover: {
// color: '#ffffff', // 弹出层背景色
},
Button: {
textColorPrimary: '#ffffff', // 主按钮文本色
textColorHoverPrimary: '#ffffff', // 主按钮文本色悬停
textColorPressedPrimary: '#ffffff', // 主按钮文本色按下
textColorFocusPrimary: '#ffffff', // 主按钮文本色聚焦
},
Radio: {
buttonTextColorActive: '#ffffff', // 单选框文本色
},
},
presetsOverrides: presets, // 预设变量
}
export { blueLight, blueDark }

View File

@@ -0,0 +1,69 @@
/* Light Theme */
:root[class='defaultLight'] {
/* Empty light theme styles */
--background-color: #121212;
--text-color: #f1f1f1;
--bt-popover-color: #ffffff;
}
/* Dark Theme */
:root[class='defaultDark'] {
/* Empty dark theme styles */
--bg-color: #121212;
--bt-popover-color: #48484e;
}
/* 创建动画 */
@keyframes fadeToLight {
from {
opacity: 0.8;
transform: scale(0.8);
}
to {
opacity: 1;
transform: scale(1);
}
}
@keyframes fadeToDark {
from {
opacity: 0.8;
transform: scale(0.8);
}
to {
opacity: 1;
transform: scale(1);
}
}
/* 应用动画 */
:root {
--background-color: #ffffff;
--text-color: #333333;
}
:root.animate-to-light {
animation: fadeToLight 0.5s ease forwards;
overflow: hidden;
}
:root.animate-to-dark {
animation: fadeToDark 0.5s ease forwards;
overflow: hidden;
}
.text-info {
color: #666;
}
.text-success {
color: #4caf50;
}
.text-warning {
color: #ff9800;
}
.text-error {
color: #f44336;
}