Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
4aac069
chore: fix live demo and guide (#3649)
uyarn Jul 3, 2025
58e7ce4
fix(date-picker): handle tag removal for week and quarter modes (#3653)
betavs Jul 15, 2025
dcadd0c
fix(date-picker): improve date processing logic for multiple selectio…
betavs Jul 28, 2025
c7ac3ca
fix(popup): outside click not closing when initially `visible=true` (…
RSS1102 Jul 30, 2025
d74c2bf
fix(ColorPicker): reduce multiple color conversions to minimize error…
RylanBot Aug 4, 2025
5fccf1f
fix(image-viewer): update open handler to accept index parameter for …
betavs Aug 7, 2025
98c7c7d
fix(hooks): improve code readability and safety in scroll calculation…
betavs Aug 7, 2025
7653c88
feat(Icon): upgrade tdesign-icons-vue to 0.3.6 (#3672)
tdesign-bot Aug 7, 2025
66945f4
fix(alert): add closeBtn API and set close as deprecated (#3631)
ngyyuusora Aug 7, 2025
8e12db4
chore: remove invalid attribute (#3638)
liweijie0812 Aug 7, 2025
cbbff0b
fix(cascader): fix value-type="full", value is undefined error (#3622)
liweijie0812 Aug 7, 2025
49badb7
fix(menu): fix submenu parent item active status on mounted (#3675)
uyarn Aug 7, 2025
6a5510b
refactor(Statistic): change color attribute type to string and update…
RSS1102 Aug 7, 2025
11552c3
feat(QRCode): add QRCode Component (#3652)
Wesley-0808 Aug 7, 2025
169e990
fix(tree): add `title` for checkable items (#3633)
RSS1102 Aug 7, 2025
a92ba2a
feat(upload): expand the scope of the click event of `draggable` to t…
RSS1102 Aug 7, 2025
0e292ae
docs: update getting-started (#3678)
liweijie0812 Aug 7, 2025
3e3c26c
docs(alert): usage example moved to closeBtn (#3676)
ngyyuusora Aug 7, 2025
aa889af
chore: release 1.13.0 (#3677)
uyarn Aug 7, 2025
9e9caea
chore: update new components
uyarn Aug 7, 2025
6ba0eb7
chore: fix lint
uyarn Aug 7, 2025
907541c
chore: fix lint
uyarn Aug 7, 2025
2c457f0
chore: fix lint
uyarn Aug 7, 2025
5420bb0
chore: update snapshot
uyarn Aug 7, 2025
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
9 changes: 8 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,5 +22,12 @@
"editor.formatOnSave": true,
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
},
"cSpell.words": ["tdesign", "popconfirm", "swiper", "cascader"]
"cSpell.words": [
"cascader",
"popconfirm",
"swiper",
"tdesign",
"vnode",
"qrcode"
]
}
24 changes: 24 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,30 @@ toc: false
docClass: timeline
---

## 🌈 1.13.0 `2025-08-07`
### 🚀 Features
- `QRCode`: 新增 `QRCode` 二维码组件 @Wesley-0808 ([#3652](https://github.com/Tencent/tdesign-vue/pull/3652))
- `Alert`: 新增 `closeBtn` API,与其他组件保持一致,`close` 将在未来版本废弃,请尽快调整为 `closeBtn` 使用 @ngyyuusora ([#3631](https://github.com/Tencent/tdesign-vue/pull/3631))
- `Tree`: 多选场景下每个节点新增 hover 提示,与单选场景保持一致 @RSS1102 ([#3633](https://github.com/Tencent/tdesign-vue/pull/3633))
- `Upload`: 扩大单文件/图片风格的点击事件触发热区至整个卡片区域 @RSS1102 ([#3614](https://github.com/Tencent/tdesign-vue/pull/3614))
### 🐞 Bug Fixes
- `Cascader`: 修复 `value-type="full"` ,value 为 undefined时组件内部报错 @liweijie0812 ([#3622](https://github.com/Tencent/tdesign-vue/pull/3622))
- `ColorPicker`: 减少颜色跨色彩空间的多次转换,降低误差 @RylanBot ([#3661](https://github.com/Tencent/tdesign-vue/pull/3661))
- `DatePicker`:
- 修复多选情况下周和季度模式的标签删除异常和可以重复选择的问题 @betavs ([#3653](https://github.com/Tencent/tdesign-vue/pull/3653))
- 修复多选情况下周模式可以重复选择的问题 @betavs ([#3658](https://github.com/Tencent/tdesign-vue/pull/3658))
- `Descriptions`: 修复无边框模式下左右内边距的异常问题 @liweijie0812 ([common#2219](https://github.com/Tencent/tdesign-common/pull/2219))
- `Image`: 修复 `1.12.1` 版本后控制台报错的问题 @betavs ([#3670](https://github.com/Tencent/tdesign-vue/pull/3670))
- `ImageViewer`: 修复在多图预览中点击对应图片与预览图片不一致的问题 @betavs ([#3670](https://github.com/Tencent/tdesign-vue/pull/3670))
- `Loading`: 修复在 iPad 微信上图标位置错误的问题 @Nero978([#3650](https://github.com/Tencent/tdesign-vue/pull/3650))
- `Menu`: 修复多级菜单在子组件存在多层封装后无法正常高亮的问题 @uyarn ([#3675](https://github.com/Tencent/tdesign-vue/pull/3675))
- `Popconfirm`: 当初始 `visible` 为 true 时,点击外部时弹出窗口不关闭的问题 @RSS1102 ([#3659](https://github.com/Tencent/tdesign-vue/pull/3659))
- `Popup`: 当初始 `visible` 为 true 时,点击外部时弹出窗口不关闭的问题 @RSS1102 ([#3659](https://github.com/Tencent/tdesign-vue/pull/3659))
- `Select`: 修复虚拟滚动搜索后出现空白区域的问题 @betavs ([#3669](https://github.com/Tencent/tdesign-vue/pull/3669))
- `Statistic`: 修改 color 属性类型为字符串,以支持任何 [CSS color](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value) 支持的颜色值 @RSS1102 ([#3671](https://github.com/Tencent/tdesign-vue/pull/3671))
- `Table`: 修复 `resizable` 开启时,列边框线引起的列名内容移动的问题 @QuentinHsu ([common#2224](https://github.com/Tencent/tdesign-common/pull/2224))


## 🌈 1.12.1 `2025-07-03`
### 🚀 Features
- `locale`: 支持内置多语言的英文版本的单复数场景正常展示 @YunYouJun ([#3641](https://github.com/Tencent/tdesign-vue/pull/3641))
Expand Down
1 change: 1 addition & 0 deletions global.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ declare module '@vue/runtime-dom' {
TPopup: typeof import('tdesign-vue')['Popup'];
TPrimaryTable: typeof import('tdesign-vue')['PrimaryTable'];
TProgress: typeof import('tdesign-vue')['Progress'];
TQrcode: typeof import('tdesign-vue')['QRCode'];
TRadio: typeof import('tdesign-vue')['Radio'];
TRadioButton: typeof import('tdesign-vue')['RadioButton'];
TRadioGroup: typeof import('tdesign-vue')['RadioGroup'];
Expand Down
6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "tdesign-vue",
"purename": "tdesign",
"version": "1.12.1-naruto",
"version": "1.13.0-naruto",
"description": "tdesign-vue",
"title": "tdesign-vue",
"keywords": [
Expand Down Expand Up @@ -96,7 +96,7 @@
"mitt": "^3.0.0",
"raf": "^3.4.1",
"sortablejs": "^1.15.0",
"tdesign-icons-vue": "^0.3.5",
"tdesign-icons-vue": "^0.3.6",
"tinycolor2": "^1.4.2",
"validator": "^13.5.1"
},
Expand Down Expand Up @@ -179,7 +179,7 @@
"rollup-plugin-styles": "^4.0.0",
"rollup-plugin-terser": "~7.0.2",
"rollup-plugin-vue": "^5.1.9",
"tdesign-icons-view": "^0.3.6",
"tdesign-icons-view": "^0.3.7",
"tdesign-publish-cli": "^0.0.12",
"tdesign-site-components": "^0.13.0",
"tdesign-theme-generator": "^1.0.5",
Expand Down
8 changes: 4 additions & 4 deletions site/docs/getting-started.en-US.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ import 'tdesign-vue/es/style/index.css';
Vue.use(VueCompositionAPI); // must be the first one
```

install `unplugin-vue-components` and `unplugin-auto-import`
install `@tdesign-vue-next/auto-import-resolver`,`unplugin-vue-components` and `unplugin-auto-import`

```bash
npm install -D unplugin-vue-components unplugin-auto-import
Expand All @@ -94,7 +94,7 @@ Then, add the above plugins to the corresponding configuration files of Webpack
```js
import AutoImport from 'unplugin-auto-import/vite';
import Components from 'unplugin-vue-components/vite';
import { TDesignResolver } from 'unplugin-vue-components/resolvers';
import { TDesignResolver } from '@tdesign-vue-next/auto-import-resolver';

export default {
plugins: [
Expand All @@ -114,7 +114,7 @@ export default {
```js
const AutoImport = require('unplugin-auto-import/webpack');
const Components = require('unplugin-vue-components/webpack');
const { TDesignResolver } = require('unplugin-vue-components/resolvers');
const { TDesignResolver } = require('@tdesign-vue-next/auto-import-resolver');

module.exports = {
// ...
Expand All @@ -129,7 +129,7 @@ module.exports = {
};
```

> You can click on this [link](https://github.com/antfu/unplugin-vue-components/blob/main/src/core/resolvers/tdesign.ts#L4) for the configuration supported by `TDesignResolver`.
> You can click on this [link](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/auto-import-resolver/README.md#%E9%80%89%E9%A1%B9) for the configuration supported by `TDesignResolver`.

## Starter Kit

Expand Down
10 changes: 5 additions & 5 deletions site/docs/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,10 +91,10 @@ import 'tdesign-vue/es/style/index.css';
Vue.use(VueCompositionAPI); // 必须是项目的第一个 use
```

并安装两个 unplugin 相关的第三方包
并安装 `@tdesign-vue-next/auto-import-resolver` 和两个 unplugin 相关的第三方包

```bash
npm install -D unplugin-vue-components unplugin-auto-import
npm install -D @tdesign-vue-next/auto-import-resolver unplugin-vue-components unplugin-auto-import
```

然后在 Webpack 或 Vite 对应的配置文件添加上述插件。
Expand All @@ -104,7 +104,7 @@ npm install -D unplugin-vue-components unplugin-auto-import
```js
import AutoImport from 'unplugin-auto-import/vite';
import Components from 'unplugin-vue-components/vite';
import { TDesignResolver } from 'unplugin-vue-components/resolvers';
import { TDesignResolver } from '@tdesign-vue-next/auto-import-resolver';

export default {
plugins: [
Expand All @@ -124,7 +124,7 @@ export default {
```js
const AutoImport = require('unplugin-auto-import/webpack');
const Components = require('unplugin-vue-components/webpack');
const { TDesignResolver } = require('unplugin-vue-components/resolvers');
const { TDesignResolver } = require('@tdesign-vue-next/auto-import-resolver');

module.exports = {
// ...
Expand All @@ -139,7 +139,7 @@ module.exports = {
};
```

> `TDesignResolver` 支持的配置,可以点击此[链接](https://github.com/antfu/unplugin-vue-components/blob/main/src/core/resolvers/tdesign.ts#L4)。
> `TDesignResolver` 支持的配置,可以点击此[链接](https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/auto-import-resolver/README.md#%E9%80%89%E9%A1%B9)。

## 快速体验

Expand Down
4 changes: 2 additions & 2 deletions site/plugins/plugin-tdoc/md-to-vue.js
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ async function customRender({ source, file, md }) {
// const usageObj = compileUsage({
// componentName,
// usage: pageData.usage,
// demoPath: path.posix.resolve(__dirname, `../../src/${componentName}/_usage/index.vue`),
// demoPath: path.posix.resolve(__dirname, `../../../src/${componentName}/_usage/index.vue`),
// });
// if (usageObj) {
// mdSegment.usage = usageObj;
Expand All @@ -205,7 +205,7 @@ async function customRender({ source, file, md }) {

// 设计指南内容 不展示 design Tab 则不解析
if (pageData.isComponent && pageData.tdDocTabs.some((item) => item.tab === 'design')) {
const designDocPath = path.resolve(__dirname, `../../src/_common/docs/web/design/${componentName}.md`);
const designDocPath = path.resolve(__dirname, `../../../src/_common/docs/web/design/${componentName}.md`);

if (fs.existsSync(designDocPath)) {
const designDocLastUpdated =
Expand Down
26 changes: 17 additions & 9 deletions site/site.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -512,6 +512,23 @@ const docs = [
component: () => import('tdesign-vue/progress/progress.md'),
componentEn: () => import('tdesign-vue/progress/progress.en-US.md'),
},
{
title: 'QRCode 二维码',
titleEn: 'QRCode',
name: 'qrcode',
path: '/vue/components/qrcode',
component: () => import('tdesign-vue/qrcode/qrcode.md'),
componentEn: () => import('tdesign-vue/qrcode/qrcode.en-US.md'),
},
{
title: 'Rate 评分',
titleEn: 'Rate',
name: 'rate',
docType: 'data',
path: '/vue/components/rate',
component: () => import('tdesign-vue/rate/rate.md'),
componentEn: () => import('tdesign-vue/rate/rate.en-US.md'),
},
{
title: 'Skeleton 骨架屏',
titleEn: 'Skeleton',
Expand Down Expand Up @@ -584,15 +601,6 @@ const docs = [
component: () => import('tdesign-vue/watermark/watermark.md'),
componentEn: () => import('tdesign-vue/watermark/watermark.en-US.md'),
},
{
title: 'Rate 评分',
titleEn: 'Rate',
name: 'rate',
docType: 'data',
path: '/vue/components/rate',
component: () => import('tdesign-vue/rate/rate.md'),
componentEn: () => import('tdesign-vue/rate/rate.en-US.md'),
},
],
},
{
Expand Down
2 changes: 1 addition & 1 deletion site/src/routes.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ const routes = [
redirect: '/vue/overview',
},
{
name: 'demos',
name: 'demosComponent',
path: '/vue/demos/:componentName/',
component: () => import('./components/demo-page.vue'),
},
Expand Down
Loading