Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
fd2bdd5
feat(theme-generator): 升级至 Vue 3 + tdesign-vue-next
liweijie0812 Jun 30, 2026
3dac5ad
fix(theme-generator): 修复审查发现的两个 HIGH 问题
liweijie0812 Jun 30, 2026
3ee924d
fix(theme-generator): 修复 Vue 警告
liweijie0812 Jun 30, 2026
8ec3236
fix(theme-generator): 修复 PopupPaddingAdjustSvg 负 width 警告
liweijie0812 Jun 30, 2026
25a494a
fix(theme-generator): 修复阴影滑块无法拉到超清选项
liweijie0812 Jun 30, 2026
9fdbb7f
fix: 修复 SVG 组件内容循环错位和 ShadowEditor hasInit 初始化缺陷
liweijie0812 Jun 30, 2026
e26c7e3
feat(theme-generator): 重建定制版 tdesign.min.css 替换上游 import
liweijie0812 Jul 1, 2026
0f0c28d
feat(theme-generator): 切换至 shadowRoot: true 实现样式与宿主页隔离
liweijie0812 Jul 1, 2026
d5cb140
fix(theme-generator): 启用 customElement 模式让 SFC styles 内联到 shadowRoot
liweijie0812 Jul 1, 2026
f89d8c0
fix(theme-generator): customElement 模式仅在 build 时启用
liweijie0812 Jul 1, 2026
f63155e
fix(theme-generator): drawer 改用 position:fixed + attach 到 shadowRoot
liweijie0812 Jul 1, 2026
4461455
refactor(theme-generator): dev 模式完全模拟 Web Component 环境
liweijie0812 Jul 1, 2026
977d156
fix(theme-generator): panel-drawer 样式改为非 scoped 命中 teleport 后的 drawer
liweijie0812 Jul 1, 2026
89a63c9
fix(theme-generator): mask 背景用 background-color:transparent 明确覆盖
liweijie0812 Jul 1, 2026
827c01c
chore(theme-generator): 配置开发服务器端口
liweijie0812 Jul 1, 2026
73f3886
chore: 安装 agent-browser
liweijie0812 Jul 1, 2026
128726a
fix(theme-generator): 修复 panel-drawer 遮罩不透明且点击空白不关闭
liweijie0812 Jul 1, 2026
79b08c9
feat(theme-generator): 添加开发环境深浅色切换按钮
liweijie0812 Jul 1, 2026
207a1a3
fix(theme-generator): 修复深浅色适配无效
liweijie0812 Jul 1, 2026
afe288a
feat(theme-generator): 优化开发模式切换按钮样式
liweijie0812 Jul 1, 2026
a29b70f
fix: 修复注释乱码和 visible 类型问题,优化暗亮模式切换按钮样式
liweijie0812 Jul 2, 2026
4f088df
refactor(theme-generator): tdesign-vue-next 组件改为显式从 lib 入口导入
liweijie0812 Jul 2, 2026
4174fbe
build(deps): 升级 tdesign-vue-next 至 1.20.3
liweijie0812 Jul 2, 2026
6ed39b7
chore(docker): 安装 agent-browser 时包含依赖
liweijie0812 Jul 2, 2026
bff7bbe
chore(docker): 手动安装浏览器依赖
liweijie0812 Jul 2, 2026
4b81ff9
fix(theme-generator): 修复 shadow DOM 下 popup 点击/悬停内部元素自动关闭
liweijie0812 Jul 2, 2026
fbca8ae
chore(docker): 安装codebuddy并更新浏览器依赖
liweijie0812 Jul 3, 2026
f80f6bc
style: 修复文件末尾缺少换行符
liweijie0812 Jul 3, 2026
d23dcb0
refactor(theme-generator): 用 tdesign Popup 替换 ShadowPopup
liweijie0812 Jul 3, 2026
5965220
fix(theme-generator): 修复小程序和 uniapp 修改主题无效
liweijie0812 Jul 3, 2026
f72b912
fix(theme-generator): 修复小程序 m2w web 预览修改主题无效
liweijie0812 Jul 3, 2026
749b054
fix(theme-generator): iframe 同步选择器对齐导出逻辑用 page, .page
liweijie0812 Jul 3, 2026
6ff33d2
fix(theme-generator): 预览 iframe 选择器与导出分离,增加初始扫描
liweijie0812 Jul 3, 2026
8deb15c
fix(theme-generator): 跨域 iframe 防护,避免 contentDocument 为 null 崩溃
liweijie0812 Jul 3, 2026
245aefa
ci(uniapp): 添加 H5 构建步骤
liweijie0812 Jul 3, 2026
24fd355
ci: 添加 uniapp 构建步骤
liweijie0812 Jul 3, 2026
9b8b7d2
ci: 设置 uniapp H5 构建为预览环境
liweijie0812 Jul 3, 2026
7e0cdb7
ci: 指定构建模式为 development
liweijie0812 Jul 3, 2026
1c8b03b
Change build mode from development to preview
liweijie0812 Jul 6, 2026
f43f831
build(deps): 更新 tdesign-vue-next 到 @6779
liweijie0812 Jul 6, 2026
ecd8737
fix(theme-generator): iframe onload 重新创建 observer 前��开旧 observer,避免泄漏
liweijie0812 Jul 6, 2026
c0147fe
docs(theme-generator): 整理 build-tdesign-css.mjs 注释并翻译为中文
liweijie0812 Jul 6, 2026
81db4ac
feat(theme-generator): 增加reset.min.css的构建流程
liweijie0812 Jul 6, 2026
cef82a4
fix(theme-generator): 修复 Shadow DOM 变量隔离、卸载泄漏与若干配套问题
liweijie0812 Jul 6, 2026
59eb751
feat(theme-generator): 增强开发环境,新增主题预览与调试面板
liweijie0812 Jul 8, 2026
418a719
fix(theme-generator): 修复 dev 预览区若干问题并优化深色模式切换
liweijie0812 Jul 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion .cnb/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,12 @@ RUN curl -fsSL https://code-server.dev/install.sh | sh \
&& echo done

RUN npm install -g pnpm
RUN npm install -g @tencent-ai/codebuddy-code

RUN apt install -y libxcb-shm0 libx11-xcb1 libx11-6 libxcb1 libxext6 libxrandr2 libxcomposite1 libxcursor1 libxdamage1 libxfixes3 libxi6 libgtk-3-0 libpangocairo-1.0-0 libpango-1.0-0 libatk1.0-0 libcairo-gobject2 libcairo2 libgdk-pixbuf-2.0-0 libxrender1 libasound2 libfreetype6 libfontconfig1 libdbus-1-3 libnss3 libnspr4 libatk-bridge2.0-0 libdrm2 libxkbcommon0 libatspi2.0-0 libcups2 libxshmfence1 libgbm1 fonts-noto-color-emoji fonts-noto-cjk fonts-freefont-ttf
RUN npm install -g agent-browser
RUN agent-browser install --with-deps

# 指定字符集支持命令行输入中文(根据需要选择字符集)
ENV LANG=C.UTF-8
ENV LANGUAGE=C.UTF-8
ENV LANGUAGE=C.UTF-8
4 changes: 4 additions & 0 deletions .github/workflows/pkg-pr-new.yml
Original file line number Diff line number Diff line change
Expand Up @@ -276,6 +276,10 @@ jobs:

- run: pnpm -C packages/tdesign-uniapp/site site:preview

- run: pnpm uniapp build:npm

- run: pnpm -C packages/tdesign-uniapp/example build:h5 --mode preview

- uses: actions/upload-artifact@v7
with:
name: tdesign-uniapp-site
Expand Down
18 changes: 10 additions & 8 deletions packages/theme-generator/.eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
const path = require('path');

module.exports = {
root: true,
extends: ['plugin:vue/essential', './../../.eslintrc.js'],
parser: 'vue-eslint-parser',
parserOptions: {
parser: '@babel/eslint-parser',
babelOptions: {
configFile: path.resolve(__dirname, './babel.config.js'),
},
ecmaVersion: 2021,
sourceType: 'module',
},
plugins: ['vue'],
// 根配置在前,vue 配置在后(确保 vue 的 script-setup-uses-vars 等规则优先生效)
extends: ['./../../.eslintrc.js', 'plugin:vue/vue3-essential'],
rules: {
// 让 no-unused-vars 识别 <script setup> 中被 template 使用的变量
'vue/script-setup-uses-vars': 'error',
},
rules: {},
};
11 changes: 10 additions & 1 deletion packages/theme-generator/CONTRIBUTING_zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ graph TB
class F themeFill
```

`*.min.css` 文件来自 `tdesign-vue` 且经过二次压缩
`*.min.css` 文件来自 `tdesign-vue-next` 且经过二次压缩

- 额外添加了 `:host` 选择器,确保 Web Components 打包后样式正常
- 移除 `td-brand-color-x` 系列颜色 Token,使主题生成器能与外部主题色直接同步
Expand Down Expand Up @@ -74,3 +74,12 @@ graph TB
2. **全局状态管理**:避免通过 props 层层传递共享变量,优先使用 `inject`、`mixin` 或 `store` 等

3. **动态编码管理**:避免硬编码数值,特别是 Token 相关的映射,优先从 CSS 中获取配置

4. **组件导入**:TDesign 组件一律从无样式入口 `tdesign-vue-next/lib` 导入,例如:

```js
import { Button as TButton } from 'tdesign-vue-next/lib';
import ArrowIcon from 'tdesign-vue-next/lib/common-components/fake-arrow';
```

**不要**使用裸导入 `tdesign-vue-next`。原因:本挂件以 Web Component 形式渲染,组件级 CSS 无法落到 shadowRoot 内,全量样式已通过 `?inline` 注入 shadowRoot(见 `src/wc-entry.js`)。裸导入会引入组件级 CSS 污染宿主页并造成重复打包。vite 不再通过 alias 重定向,所以源码中必须显式写全 `lib` 路径。
3 changes: 0 additions & 3 deletions packages/theme-generator/babel.config.js

This file was deleted.

Loading
Loading