From 6e06324130bd6abbb2833c855d41493fc806fdd8 Mon Sep 17 00:00:00 2001
From: duenyang <377153400@qq.com>
Date: Mon, 16 Dec 2024 17:20:46 +0800
Subject: [PATCH 1/3] =?UTF-8?q?feat(jsx):=20=E6=94=AF=E6=8C=81jsx=E9=80=9A?=
=?UTF-8?q?=E7=94=A8=E6=96=B9=E6=B3=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
PUBLISH.md | 20 ++++++++++++++++++++
README-zh_CN.md | 6 ++++--
README.md | 6 ++++--
package-lock.json | 7 +++++++
package.json | 2 ++
site/docs/getting-started.md | 5 +++++
src/jsx.ts | 19 +++++++++++++++++++
src/react.ts | 4 +++-
src/vue.ts | 4 +++-
9 files changed, 67 insertions(+), 6 deletions(-)
create mode 100644 PUBLISH.md
create mode 100644 src/jsx.ts
diff --git a/PUBLISH.md b/PUBLISH.md
new file mode 100644
index 0000000..98fb55c
--- /dev/null
+++ b/PUBLISH.md
@@ -0,0 +1,20 @@
+# 版本发布流程
+
+## 发布频率
+
+组件库正常每两周滚动发布版本,一般在周三/周四,尽量不在周五或晚上发布,防止周末非工作时间响应不及时
+
+如果遇到用户要求紧急修复 bug,可以视情况发布 PATCH 或先行版本,判断标准:
+
+- 影响范围大,大多数用户都可能会遇到问题:请遵照正常发布流程严格测试产物质量及整理 CHANGELOG 后发布 PATCH 版本,以使用户可以自动更新到
+- 新上线的功能,仅有少量用户使用:可以不整理 changelog,直接发布先行版本供用户使用,如 `x.y.z-alpha`
+
+## 发布流程
+
+- 从 `develop` 新建 `release/x.y.z` 分支,并修改 `package.json` 中的版本号,推送分支至远程仓库,并提交一个合入`develop`的 Pull Request 到仓库
+- 仓库的 Github Action 会自动整理上个版本至今 commit 对应的 CHANGELOG,并将 CHANGELOG 的 draft 作为一个评论推送到该 Pull Request 上
+- 发布人检查 CHANGELOG,并优化内容逻辑结构
+- 确认无误后删除对应评论的首行提示(即 `删除此行代表确认该日志` 所在行)(注:需要等待 Github Action 将修改后的内容写入 `CHANGELOG.md` 内)
+- 确认无误后,合并分支入`develop`
+- 合入 `develop` 后,仓库会触发 Github Action 合入`main`分支,并将版本号作为 `tag` 打在仓库上,并触发 Github Action 执行 npm 版本发布流程
+- 合入 `main` 分支后,站点的部署流水线 web hook 会监听到 `main` 分支的新增 commit,并触发流水线,官网更新站点
\ No newline at end of file
diff --git a/README-zh_CN.md b/README-zh_CN.md
index 00ad547..d5023e3 100644
--- a/README-zh_CN.md
+++ b/README-zh_CN.md
@@ -50,10 +50,12 @@ pnpm add tdesign-web-components
推荐使用 Webpack 或 Rollup 等支持 tree-shaking 特性的构建工具,无需额外配置即可实现组件按需引入:
```tsx
-import 'tdesign-web-components/lib/button'
import 'tdesign-web-components/lib/style/index.css'
+import 'tdesign-web-components/lib/button'
+
+import 'tdesign-web-components/lib/jsx';
-document.querySelector('#app').innerHTML = `Hello TDesign`
+render(jsx`Hello TDesign`, document.body);
```
更多使用方式请点击 👉🏻 [快速开始](./site/docs/getting-started.md)
diff --git a/README.md b/README.md
index 7265dc0..bd934fc 100644
--- a/README.md
+++ b/README.md
@@ -48,10 +48,12 @@ pnpm add tdesign-web-components
# 🔨 Usage
```tsx
-import 'tdesign-web-components/lib/button'
import 'tdesign-web-components/lib/style/index.css'
+import 'tdesign-web-components/lib/button'
+
+import 'tdesign-web-components/lib/jsx';
-document.querySelector('#app').innerHTML = `Hello TDesign`
+render(jsx`Hello TDesign`, document.body);
```
More ways to use please click 👉🏻 [getting-started](./site/docs/getting-started.md)
diff --git a/package-lock.json b/package-lock.json
index 5e2830d..d7d990d 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -14,6 +14,7 @@
"class-variance-authority": "^0.7.0",
"clsx": "^2.1.0",
"copy-to-clipboard": "^3.3.3",
+ "htm": "^3.1.1",
"lodash": "~4.17.15",
"omi-transition": "^0.1.11",
"tailwind-merge": "^2.2.1",
@@ -7068,6 +7069,12 @@
"integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
"dev": true
},
+ "node_modules/htm": {
+ "version": "3.1.1",
+ "resolved": "https://mirrors.tencent.com/npm/htm/-/htm-3.1.1.tgz",
+ "integrity": "sha512-983Vyg8NwUE7JkZ6NmOqpCZ+sh1bKv2iYTlUkzlWmA5JD2acKoxd4KVxbMmxX/85mtfdnDmTFoNKcg5DGAvxNQ==",
+ "license": "Apache-2.0"
+ },
"node_modules/human-signals": {
"version": "5.0.0",
"resolved": "https://mirrors.tencent.com/npm/human-signals/-/human-signals-5.0.0.tgz",
diff --git a/package.json b/package.json
index ffd2f76..f106cde 100644
--- a/package.json
+++ b/package.json
@@ -32,6 +32,7 @@
"lib",
"cjs",
"dist",
+ "plugins",
"LICENSE",
"README.md",
"CHANGELOG.md"
@@ -68,6 +69,7 @@
"class-variance-authority": "^0.7.0",
"clsx": "^2.1.0",
"copy-to-clipboard": "^3.3.3",
+ "htm": "^3.1.1",
"lodash": "~4.17.15",
"omi-transition": "^0.1.11",
"tailwind-merge": "^2.2.1",
diff --git a/site/docs/getting-started.md b/site/docs/getting-started.md
index 2c3afe0..7bd5a12 100644
--- a/site/docs/getting-started.md
+++ b/site/docs/getting-started.md
@@ -79,6 +79,9 @@ export default defineConfig({
### 在React中使用
```js
+
+import renderReact from 'tdesign-web-components/lib/react';
+
const App = () => {
const wrapper = React.useRef();
const button = React.useRef();
@@ -107,6 +110,8 @@ const App = () => {
### 在Vue中使用
```js
+import renderVue from 'tdesign-web-components/lib/vue';
+
export default {
name: 'App',
setup() {
diff --git a/src/jsx.ts b/src/jsx.ts
new file mode 100644
index 0000000..4aa0a2e
--- /dev/null
+++ b/src/jsx.ts
@@ -0,0 +1,19 @@
+import htm from 'htm';
+import { h, render } from 'omi';
+
+declare global {
+ interface Window {
+ h: typeof h;
+ jsx: (strings: TemplateStringsArray, ...values: any[]) => Omi.VNode | Omi.VNode[];
+ render: typeof render;
+ }
+}
+const jsx = htm.bind(window.h);
+
+window.jsx = jsx;
+
+window.render = render;
+
+export default jsx;
+
+export { render };
diff --git a/src/react.ts b/src/react.ts
index e40ac70..2a8c735 100644
--- a/src/react.ts
+++ b/src/react.ts
@@ -54,4 +54,6 @@ const convertReactToOmi = (r: any): Omi.ComponentChild => {
const renderReact = (reactVNode: T, root: HTMLElement): ExtendedElement =>
render(convertReactToOmi(reactVNode), root);
-export { renderReact, convertReactToOmi };
+export default renderReact;
+
+export { convertReactToOmi };
diff --git a/src/vue.ts b/src/vue.ts
index c7e7918..1ed4d30 100644
--- a/src/vue.ts
+++ b/src/vue.ts
@@ -53,4 +53,6 @@ const convertVueToOmi = (r: any): Omi.ComponentChild => {
const renderVue = (reactVNode: T, root: HTMLElement): ExtendedElement =>
render(convertVueToOmi(reactVNode), root);
-export { renderVue, convertVueToOmi };
+export default renderVue;
+
+export { convertVueToOmi };
From 3ae695ea14f68cf15f7ab762a47314e6078c1ba6 Mon Sep 17 00:00:00 2001
From: duenyang <377153400@qq.com>
Date: Thu, 2 Jan 2025 15:28:26 +0800
Subject: [PATCH 2/3] =?UTF-8?q?feat(omi):=20=E4=BC=98=E5=8C=96=E5=9C=A8?=
=?UTF-8?q?=E9=9D=9Eomi=E7=8E=AF=E5=A2=83=E4=B8=8B=E4=BD=BF=E7=94=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
https://github.com/Tencent/omi/pull/938
---
package-lock.json | 15 +++++++--------
package.json | 6 ++----
src/button/button.tsx | 7 ++++---
src/popup/popup.tsx | 18 ++++++++++--------
src/tooltip/tooltip.tsx | 30 ++++++++++++++++--------------
5 files changed, 39 insertions(+), 37 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index d7d990d..f506958 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "tdesign-web-components",
- "version": "0.0.1-alpha.2",
+ "version": "0.0.2",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "tdesign-web-components",
- "version": "0.0.1-alpha.2",
+ "version": "0.0.2",
"license": "MIT",
"dependencies": {
"@babel/runtime": "^7.24.7",
@@ -16,6 +16,7 @@
"copy-to-clipboard": "^3.3.3",
"htm": "^3.1.1",
"lodash": "~4.17.15",
+ "omi": "^7.7.4",
"omi-transition": "^0.1.11",
"tailwind-merge": "^2.2.1",
"tdesign-icons-web-components": "^0.2.0"
@@ -77,9 +78,6 @@
"vite-plugin-pwa": "^0.20.0",
"vite-plugin-tdoc": "^2.0.4",
"workbox-precaching": "^7.1.0"
- },
- "peerDependencies": {
- "omi": ">=7.7.1"
}
},
"node_modules/@aashutoshrathi/word-wrap": {
@@ -9367,9 +9365,10 @@
}
},
"node_modules/omi": {
- "version": "7.7.1",
- "resolved": "https://registry.npmjs.org/omi/-/omi-7.7.1.tgz",
- "integrity": "sha512-LoCfSNXhfXfWvx93gNeikX2XVUFECVcJiPXs63/Nhybahliwo32nqbtpb6+XhWYsB1ohnSk0WDvGQuHvy8KXUQ==",
+ "version": "7.7.4",
+ "resolved": "https://mirrors.tencent.com/npm/omi/-/omi-7.7.4.tgz",
+ "integrity": "sha512-RlNmzhy6LoqlXNdWEdiT9+bEYQxmxARBsGhRmSZ7MJqHj5TMzilgw/An3OqBrMm6RiC1/LplJi1UQQdg4j3wNQ==",
+ "license": "MIT",
"dependencies": {
"construct-style-sheets-polyfill": "3.0.1",
"reactive-signal": "^2.0.1",
diff --git a/package.json b/package.json
index cc4fa4b..b7207cc 100644
--- a/package.json
+++ b/package.json
@@ -14,7 +14,7 @@
"site:intranet": "cd site && vite build --mode intranet",
"site:preview": "cd site && vite build --mode preview && cd ../_site && cp index.html 404.html",
"prebuild": "rimraf es/* lib/* dist/* esm/*",
- "build": "npm run generate:entry && cross-env NODE_ENV=production rollup -c script/rollup.config.js",
+ "build": "npm run generate:entry && cross-env NODE_ENV=production rollup -c script/rollup.config.js && npm run build:tsc",
"build:tsc": "run-p build:tsc-*",
"build:tsc-lib": "tsc --emitDeclarationOnly -d -p ./tsconfig.build.json --outDir lib/",
"build:tsc-esm": "tsc --emitDeclarationOnly -d -p ./tsconfig.build.json --outDir esm/",
@@ -60,9 +60,6 @@
"path": "@commitlint/cz-commitlint"
}
},
- "peerDependencies": {
- "omi": ">=7.7.1"
- },
"dependencies": {
"@babel/runtime": "^7.24.7",
"@popperjs/core": "^2.11.8",
@@ -71,6 +68,7 @@
"copy-to-clipboard": "^3.3.3",
"htm": "^3.1.1",
"lodash": "~4.17.15",
+ "omi": "^7.7.4",
"omi-transition": "^0.1.11",
"tailwind-merge": "^2.2.1",
"tdesign-icons-web-components": "^0.2.0"
diff --git a/src/button/button.tsx b/src/button/button.tsx
index d52ba47..4aa4615 100644
--- a/src/button/button.tsx
+++ b/src/button/button.tsx
@@ -83,7 +83,6 @@ export default class Button extends Component {
loading,
shape,
ignoreAttributes,
- children,
suffix,
innerClass,
innerStyle,
@@ -129,8 +128,10 @@ export default class Button extends Component {
style={innerStyle}
{...rest}
>
- {iconNode ? iconNode : null}
- {children}
+ {iconNode ? iconNode : null}
+
+
+
{suffix && {parseTNode(suffix)}}
);
diff --git a/src/popup/popup.tsx b/src/popup/popup.tsx
index c9358dc..6f2656c 100644
--- a/src/popup/popup.tsx
+++ b/src/popup/popup.tsx
@@ -19,6 +19,15 @@ export interface PopupProps extends TdPopupProps, StyledProps {
updateScrollTop?: (content: HTMLElement) => void;
}
+export const defaultProps = {
+ attach: 'body',
+ destroyOnClose: false,
+ hideEmptyPopup: false,
+ placement: 'top',
+ showArrow: true,
+ trigger: 'hover' as TdPopupProps['trigger'],
+};
+
export const PopupTypes = {
attach: [String, Function],
content: [String, Number, Object, Function],
@@ -59,14 +68,7 @@ export default class Popup extends Component {
static propTypes = PopupTypes;
- static defaultProps = {
- attach: 'body',
- destroyOnClose: false,
- hideEmptyPopup: false,
- placement: 'top',
- showArrow: true,
- trigger: 'hover',
- };
+ static defaultProps = defaultProps;
triggerRef = createRef();
diff --git a/src/tooltip/tooltip.tsx b/src/tooltip/tooltip.tsx
index b24b829..2181f1f 100644
--- a/src/tooltip/tooltip.tsx
+++ b/src/tooltip/tooltip.tsx
@@ -1,16 +1,18 @@
import '../popup';
-import { Component, createRef, OmiProps, tag } from 'omi';
+import { Component, createElement, createRef, OmiProps, tag } from 'omi';
import classname, { getClassPrefix } from '../_util/classname';
import { StyledProps } from '../common';
import { type PopupVisibleChangeContext } from '../popup';
+import { defaultProps as popupDefaultProps } from '../popup/popup';
import { PopupTypes } from '../popup/popup';
import { TdTooltipProps } from './type';
export interface TooltipProps extends TdTooltipProps, StyledProps {}
export const tooltipDefaultProps: TooltipProps = {
+ ...popupDefaultProps,
destroyOnClose: true,
placement: 'top',
showArrow: true,
@@ -100,19 +102,19 @@ export default class Tooltip extends Component {
});
}
- return (
-
- {children}
-
+ return createElement(
+ 't-popup',
+ {
+ visible: this.popupVisible,
+ destroyOnClose,
+ showArrow,
+ overlayClassName: toolTipClass,
+ onVisibleChange: this.handleVisibleChange,
+ placement,
+ ...restProps,
+ ref: this.popupRef,
+ },
+ children,
);
}
}
From ae1f140c8e6d56b94f8f0e51f9d4bf28abc614c9 Mon Sep 17 00:00:00 2001
From: duenyang <377153400@qq.com>
Date: Thu, 2 Jan 2025 15:33:23 +0800
Subject: [PATCH 3/3] fix(doc): fix spell check
---
CHANGELOG.md | 204 +++++++++++++++++++++++++--------------------------
1 file changed, 102 insertions(+), 102 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index be7c75f..02a4ed6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,108 +5,108 @@ toc: false
spline: explain
---
-## 🌈 0.0.2 `2024-12-16`
-### 🚀 Features
-- `util`: convertToLightDomNode 将基于 Omi 的 Showdow Root 组件转成 LightDom @ming680 ([#68](https://github.com/TDesignOteam/tdesign-web-components/pull/68))
-- `affix`: affix complete🎉 @601odd ([#75](https://github.com/TDesignOteam/tdesign-web-components/pull/75))
-- `range-input`: range-input 组件 @ming680 ([#104](https://github.com/TDesignOteam/tdesign-web-components/pull/104))
-- `swiper`: 新增swiper组件 @jiasy1616 ([#116](https://github.com/TDesignOteam/tdesign-web-components/pull/116))
-- `tag-input`: 添加 tag-input 组件 @demoadminjie ([#114](https://github.com/TDesignOteam/tdesign-web-components/pull/114))
-- `list`: 新增list组件 @carolin913 ([#132](https://github.com/TDesignOteam/tdesign-web-components/pull/132))
-- `input`: 增加input组件密码可见切换/增加清除输入按钮 @nightchanges ([#119](https://github.com/TDesignOteam/tdesign-web-components/pull/119))
-- `tabs`: 完善除超长tabs header滚动外的功能 @LzhengH ([#139](https://github.com/TDesignOteam/tdesign-web-components/pull/139))
-- `inputNumber`: inputNumber @ming680 ([#148](https://github.com/TDesignOteam/tdesign-web-components/pull/148))
-- `dialog`: add dialog @novlan1 ([#110](https://github.com/TDesignOteam/tdesign-web-components/pull/110))
-### 🐞 Bug Fixes
-- `menu`: fix 切换报错 && icon样式 @ming680 ([#89](https://github.com/TDesignOteam/tdesign-web-components/pull/89))
-- `input`: focus,blur double trigger @carolin913 ([#94](https://github.com/TDesignOteam/tdesign-web-components/pull/94))
-- `util`: fix convertToLightDom beforeRender @ming680 ([#118](https://github.com/TDesignOteam/tdesign-web-components/pull/118))
-- `icon`: 修复icon不居中显示和class重复设置问题 @duenyang ([#128](https://github.com/TDesignOteam/tdesign-web-components/pull/128))
-- `tag-input`: 修复 中文拼音输入bug(输入中文拼音时, 按backspace会删除之前存在的 tag) @demoadminjie ([#131](https://github.com/TDesignOteam/tdesign-web-components/pull/131))
-- `loading`: 修复慢速加载示例 @LzhengH ([#139](https://github.com/TDesignOteam/tdesign-web-components/pull/139))
-- `affix`: 修复示例滚动逻辑 @LzhengH ([#139](https://github.com/TDesignOteam/tdesign-web-components/pull/139))
-- `input`: 升级 omi fix input @ming680 ([#141](https://github.com/TDesignOteam/tdesign-web-components/pull/141))
-- `tag-input`: 1、fix 第一次点击无法删除,需要点两次,暂时通过阻止 mousedown 的默认事件防止触发input blur 后续需要omi排查 2、fix 输入文字后展示不全 @ming680 ([#142](https://github.com/TDesignOteam/tdesign-web-components/pull/142))
-- `menu`: fix 收起样式 @ming680 ([#149](https://github.com/TDesignOteam/tdesign-web-components/pull/149))
-- `slider`: 与 input 联动 @novlan1 ([#144](https://github.com/TDesignOteam/tdesign-web-components/pull/144))
-### 🚧 Others
-- 网站&组件&目录整理 @duenyang ([#1](https://github.com/TDesignOteam/tdesign-web-components/pull/1))
-- feat: 优化路由跳转 @duenyang ([#2](https://github.com/TDesignOteam/tdesign-web-components/pull/2))
-- feat: fix anchor style && some optimize @duenyang ([#3](https://github.com/TDesignOteam/tdesign-web-components/pull/3))
-- chore(lint): 增加代码自动格式化 & 优化目录 & commit msg 格式化 & common子仓库 @duenyang ([#4](https://github.com/TDesignOteam/tdesign-web-components/pull/4))
-- feat(button): button complete 🎉 @duenyang ([#5](https://github.com/TDesignOteam/tdesign-web-components/pull/5))
-- feat(site): site build complete 🎉 @duenyang ([#21](https://github.com/TDesignOteam/tdesign-web-components/pull/21))
-- [Build]构建并支持esm、cjs、umd和按需加载,支持通过less变量和css变量修改主题 @duenyang ([#38](https://github.com/TDesignOteam/tdesign-web-components/pull/38))
-- chore(workflow): Add GitHub Workflow @sa03 ([#39](https://github.com/TDesignOteam/tdesign-web-components/pull/39))
-- chore(workflow): 调整 Workflow 配置 @sa03 ([#40](https://github.com/TDesignOteam/tdesign-web-components/pull/40))
-- fix(type): fix TNode type @duenyang ([#46](https://github.com/TDesignOteam/tdesign-web-components/pull/46))
-- chore(workflow): pull request jobs @sa03 ([#50](https://github.com/TDesignOteam/tdesign-web-components/pull/50))
-- feat(switch): switch complete 🎉 @duenyang ([#54](https://github.com/TDesignOteam/tdesign-web-components/pull/54))
-- feat(switch): switch complete 🎉 @duenyang ([#55](https://github.com/TDesignOteam/tdesign-web-components/pull/55))
-- feat: textarea问题修复 @haishancai ([#49](https://github.com/TDesignOteam/tdesign-web-components/pull/49))
-- feat(popup): add popup 🎉 @duenyang ([#59](https://github.com/TDesignOteam/tdesign-web-components/pull/59))
-- [feat]: add image,divider,space @carolin913 ([#58](https://github.com/TDesignOteam/tdesign-web-components/pull/58))
-- feat(tooltip): add tooltip 🎉 @duenyang ([#61](https://github.com/TDesignOteam/tdesign-web-components/pull/61))
-- feat(loading): add loading adn portal 🎉 @duenyang ([#64](https://github.com/TDesignOteam/tdesign-web-components/pull/64))
-- feat(avatar): add avatar component @aaronmhl ([#70](https://github.com/TDesignOteam/tdesign-web-components/pull/70))
-- feat(collpase): add collapse component @novlan1 ([#66](https://github.com/TDesignOteam/tdesign-web-components/pull/66))
-- Feature/collapse transition @novlan1 ([#72](https://github.com/TDesignOteam/tdesign-web-components/pull/72))
-- add slider component @novlan1 ([#71](https://github.com/TDesignOteam/tdesign-web-components/pull/71))
-- chore: update prop type @novlan1 ([#80](https://github.com/TDesignOteam/tdesign-web-components/pull/80))
-- Refactor/avatar @aaronmhl ([#79](https://github.com/TDesignOteam/tdesign-web-components/pull/79))
-- Feature/menu @ming680 ([#76](https://github.com/TDesignOteam/tdesign-web-components/pull/76))
-- Feature/icon @duenyang ([#81](https://github.com/TDesignOteam/tdesign-web-components/pull/81))
-- Feature/popconfirm @LzhengH ([#85](https://github.com/TDesignOteam/tdesign-web-components/pull/85))
-- feat(back-top): add back top component @Tzz1194593491 ([#74](https://github.com/TDesignOteam/tdesign-web-components/pull/74))
-- fix(submodule): 归正版本 @duenyang ([#90](https://github.com/TDesignOteam/tdesign-web-components/pull/90))
-- feat(grid): grid complete 🎉 @duenyang ([#91](https://github.com/TDesignOteam/tdesign-web-components/pull/91))
-- chore(spell-check): 移除对dom.ts文件的检查 @duenyang ([#93](https://github.com/TDesignOteam/tdesign-web-components/pull/93))
-- feat(tag): add tag component @carolin913 ([#92](https://github.com/TDesignOteam/tdesign-web-components/pull/92))
-- feat(input): add input component and its examples @HOWARD-WANG-323 ([#78](https://github.com/TDesignOteam/tdesign-web-components/pull/78))
-- fix(omi): 处理 isLightDOM 模式时会重复渲染DOM情况 @duenyang ([#96](https://github.com/TDesignOteam/tdesign-web-components/pull/96))
-- fix(omi): isLightDom 重复渲染 @duenyang ([#99](https://github.com/TDesignOteam/tdesign-web-components/pull/99))
-- docs(avatar): update avatar docs @aaronmhl ([#100](https://github.com/TDesignOteam/tdesign-web-components/pull/100))
-- feat(alert): add alert component @Tzz1194593491 ([#97](https://github.com/TDesignOteam/tdesign-web-components/pull/97))
-- feat(dropdown): dropdown complete 🎉 @duenyang ([#106](https://github.com/TDesignOteam/tdesign-web-components/pull/106))
-- Feature/dropdown @duenyang ([#107](https://github.com/TDesignOteam/tdesign-web-components/pull/107))
-- Feat/radio @LzhengH ([#105](https://github.com/TDesignOteam/tdesign-web-components/pull/105))
-- `chore`: 完善PR CI工作流 复用主仓库部分 @uyarn ([#112](https://github.com/TDesignOteam/tdesign-web-components/pull/112))
-- `chore`: 删除暂未使用的CI 需要使用再按需补充 @uyarn ([#112](https://github.com/TDesignOteam/tdesign-web-components/pull/112))
-- `chore`: 暂时没有 `test script`,暂时移除build 类型文件 保证流程完整 @duenyang @uyarn ([#112](https://github.com/TDesignOteam/tdesign-web-components/pull/112))
-- feat(checkbox): 完成checkbox组件 @1379255913 ([#103](https://github.com/TDesignOteam/tdesign-web-components/pull/103))
-- feat: completed all functions of the card component and wrote test sa… @zyy-bupt2022 ([#87](https://github.com/TDesignOteam/tdesign-web-components/pull/87))
-- fix icon @duenyang ([#125](https://github.com/TDesignOteam/tdesign-web-components/pull/125))
-- Feat/link 增加link组件及相关api文档 @nightchanges ([#123](https://github.com/TDesignOteam/tdesign-web-components/pull/123))
-- Feature/badge 增加badge组件 @Tzz1194593491 ([#124](https://github.com/TDesignOteam/tdesign-web-components/pull/124))
-- feat(breadcrumb): add breadcrumb component @Lyan-u ([#108](https://github.com/TDesignOteam/tdesign-web-components/pull/108))
-- feat(watermark): add watermark component @zzzp9527 ([#101](https://github.com/TDesignOteam/tdesign-web-components/pull/101))
-- fix(watermark): 修复watermark无法生成水印及其它展示问题 @duenyang ([#130](https://github.com/TDesignOteam/tdesign-web-components/pull/130))
-- feat(upload): add upload component @wadwings ([#126](https://github.com/TDesignOteam/tdesign-web-components/pull/126))
-- feat(progress): add new component progress @carolin913 ([#133](https://github.com/TDesignOteam/tdesign-web-components/pull/133))
-- feat(notification): add new component notification @LzhengH ([#135](https://github.com/TDesignOteam/tdesign-web-components/pull/135))
-- feat(skeleton): add new component skeleton @carolin913 ([#134](https://github.com/TDesignOteam/tdesign-web-components/pull/134))
-- tabs compelete🎉 @601odd ([#127](https://github.com/TDesignOteam/tdesign-web-components/pull/127))
-- fix(progress): icons use single tag @carolin913 ([#137](https://github.com/TDesignOteam/tdesign-web-components/pull/137))
-- feat(message): add message @Tzz1194593491 ([#136](https://github.com/TDesignOteam/tdesign-web-components/pull/136))
-- fix(icon): 修复多次渲染问题 @duenyang ([#140](https://github.com/TDesignOteam/tdesign-web-components/pull/140))
-- fix(useDragSorter hooks): 文件位置移动 @duenyang ([#143](https://github.com/TDesignOteam/tdesign-web-components/pull/143))
-- fix(input): fix input 受控 @ming680 ([#147](https://github.com/TDesignOteam/tdesign-web-components/pull/147))
-- feat(select-input): 完成select-input&优化popup @duenyang ([#146](https://github.com/TDesignOteam/tdesign-web-components/pull/146))
-- fix(dropdown): dropdown问题修复 @duenyang ([#150](https://github.com/TDesignOteam/tdesign-web-components/pull/150))
-- fix(omi-transition): 修复同一个页面注册多次动画覆盖的问题 @duenyang ([#151](https://github.com/TDesignOteam/tdesign-web-components/pull/151))
-- fix(doc): doc类型README.md无法高亮显示代码块问题 @duenyang ([#152](https://github.com/TDesignOteam/tdesign-web-components/pull/152))
-- feat(api): 规范innerStyle和innerClass @duenyang ([#154](https://github.com/TDesignOteam/tdesign-web-components/pull/154))
-- fix(type): fix tsc build type @duenyang ([#155](https://github.com/TDesignOteam/tdesign-web-components/pull/155))
-- feat(publish): 修复在vite、webpack环境中使用问题 @duenyang ([#157](https://github.com/TDesignOteam/tdesign-web-components/pull/157))
-- feat(popup): 优化popup & 发布测试版本 @duenyang ([#158](https://github.com/TDesignOteam/tdesign-web-components/pull/158))
-- feat(alpha): 发布alpha测试版本 @duenyang ([#161](https://github.com/TDesignOteam/tdesign-web-components/pull/161))
-- feat(alpha): 发布alpha测试版本 @duenyang ([#162](https://github.com/TDesignOteam/tdesign-web-components/pull/162))
-- feat(use): 支持在React环境中使用 @duenyang ([#165](https://github.com/TDesignOteam/tdesign-web-components/pull/165))
-- feat(react): 支持在React中调用update @duenyang ([#169](https://github.com/TDesignOteam/tdesign-web-components/pull/169))
-- feat(react): 优化react适配逻辑 @duenyang ([#170](https://github.com/TDesignOteam/tdesign-web-components/pull/170))
-- feat(Vue): 支持在Vue中使用 @duenyang ([#172](https://github.com/TDesignOteam/tdesign-web-components/pull/172))
-- feat(slider,avatar,dialog): wc style split from common @carolin913 ([#173](https://github.com/TDesignOteam/tdesign-web-components/pull/173))
-- feat(vite): 支持在viet >= 5 版本中使用 @duenyang ([#175](https://github.com/TDesignOteam/tdesign-web-components/pull/175))
+## 🌈 0.0.2 `2024-12-16`
+### 🚀 Features
+- `util`: convertToLightDomNode 将基于 Omi 的 Showdow Root 组件转成 LightDom @ming680 ([#68](https://github.com/TDesignOteam/tdesign-web-components/pull/68))
+- `affix`: affix complete🎉 @601odd ([#75](https://github.com/TDesignOteam/tdesign-web-components/pull/75))
+- `range-input`: range-input 组件 @ming680 ([#104](https://github.com/TDesignOteam/tdesign-web-components/pull/104))
+- `swiper`: 新增swiper组件 @jiasy1616 ([#116](https://github.com/TDesignOteam/tdesign-web-components/pull/116))
+- `tag-input`: 添加 tag-input 组件 @demoadminjie ([#114](https://github.com/TDesignOteam/tdesign-web-components/pull/114))
+- `list`: 新增list组件 @carolin913 ([#132](https://github.com/TDesignOteam/tdesign-web-components/pull/132))
+- `input`: 增加input组件密码可见切换/增加清除输入按钮 @nightchanges ([#119](https://github.com/TDesignOteam/tdesign-web-components/pull/119))
+- `tabs`: 完善除超长tabs header滚动外的功能 @LzhengH ([#139](https://github.com/TDesignOteam/tdesign-web-components/pull/139))
+- `inputNumber`: inputNumber @ming680 ([#148](https://github.com/TDesignOteam/tdesign-web-components/pull/148))
+- `dialog`: add dialog @novlan1 ([#110](https://github.com/TDesignOteam/tdesign-web-components/pull/110))
+### 🐞 Bug Fixes
+- `menu`: fix 切换报错 && icon样式 @ming680 ([#89](https://github.com/TDesignOteam/tdesign-web-components/pull/89))
+- `input`: focus,blur double trigger @carolin913 ([#94](https://github.com/TDesignOteam/tdesign-web-components/pull/94))
+- `util`: fix convertToLightDom beforeRender @ming680 ([#118](https://github.com/TDesignOteam/tdesign-web-components/pull/118))
+- `icon`: 修复icon不居中显示和class重复设置问题 @duenyang ([#128](https://github.com/TDesignOteam/tdesign-web-components/pull/128))
+- `tag-input`: 修复 中文拼音输入bug(输入中文拼音时, 按backspace会删除之前存在的 tag) @demoadminjie ([#131](https://github.com/TDesignOteam/tdesign-web-components/pull/131))
+- `loading`: 修复慢速加载示例 @LzhengH ([#139](https://github.com/TDesignOteam/tdesign-web-components/pull/139))
+- `affix`: 修复示例滚动逻辑 @LzhengH ([#139](https://github.com/TDesignOteam/tdesign-web-components/pull/139))
+- `input`: 升级 omi fix input @ming680 ([#141](https://github.com/TDesignOteam/tdesign-web-components/pull/141))
+- `tag-input`: 1、fix 第一次点击无法删除,需要点两次,暂时通过阻止 mousedown 的默认事件防止触发input blur 后续需要omi排查 2、fix 输入文字后展示不全 @ming680 ([#142](https://github.com/TDesignOteam/tdesign-web-components/pull/142))
+- `menu`: fix 收起样式 @ming680 ([#149](https://github.com/TDesignOteam/tdesign-web-components/pull/149))
+- `slider`: 与 input 联动 @novlan1 ([#144](https://github.com/TDesignOteam/tdesign-web-components/pull/144))
+### 🚧 Others
+- 网站&组件&目录整理 @duenyang ([#1](https://github.com/TDesignOteam/tdesign-web-components/pull/1))
+- feat: 优化路由跳转 @duenyang ([#2](https://github.com/TDesignOteam/tdesign-web-components/pull/2))
+- feat: fix anchor style && some optimize @duenyang ([#3](https://github.com/TDesignOteam/tdesign-web-components/pull/3))
+- chore(lint): 增加代码自动格式化 & 优化目录 & commit msg 格式化 & common子仓库 @duenyang ([#4](https://github.com/TDesignOteam/tdesign-web-components/pull/4))
+- feat(button): button complete 🎉 @duenyang ([#5](https://github.com/TDesignOteam/tdesign-web-components/pull/5))
+- feat(site): site build complete 🎉 @duenyang ([#21](https://github.com/TDesignOteam/tdesign-web-components/pull/21))
+- [Build]构建并支持esm、cjs、umd和按需加载,支持通过less变量和css变量修改主题 @duenyang ([#38](https://github.com/TDesignOteam/tdesign-web-components/pull/38))
+- chore(workflow): Add GitHub Workflow @sa03 ([#39](https://github.com/TDesignOteam/tdesign-web-components/pull/39))
+- chore(workflow): 调整 Workflow 配置 @sa03 ([#40](https://github.com/TDesignOteam/tdesign-web-components/pull/40))
+- fix(type): fix TNode type @duenyang ([#46](https://github.com/TDesignOteam/tdesign-web-components/pull/46))
+- chore(workflow): pull request jobs @sa03 ([#50](https://github.com/TDesignOteam/tdesign-web-components/pull/50))
+- feat(switch): switch complete 🎉 @duenyang ([#54](https://github.com/TDesignOteam/tdesign-web-components/pull/54))
+- feat(switch): switch complete 🎉 @duenyang ([#55](https://github.com/TDesignOteam/tdesign-web-components/pull/55))
+- feat: textarea问题修复 @haishancai ([#49](https://github.com/TDesignOteam/tdesign-web-components/pull/49))
+- feat(popup): add popup 🎉 @duenyang ([#59](https://github.com/TDesignOteam/tdesign-web-components/pull/59))
+- [feat]: add image,divider,space @carolin913 ([#58](https://github.com/TDesignOteam/tdesign-web-components/pull/58))
+- feat(tooltip): add tooltip 🎉 @duenyang ([#61](https://github.com/TDesignOteam/tdesign-web-components/pull/61))
+- feat(loading): add loading and portal 🎉 @duenyang ([#64](https://github.com/TDesignOteam/tdesign-web-components/pull/64))
+- feat(avatar): add avatar component @aaronmhl ([#70](https://github.com/TDesignOteam/tdesign-web-components/pull/70))
+- feat(collapse): add collapse component @novlan1 ([#66](https://github.com/TDesignOteam/tdesign-web-components/pull/66))
+- Feature/collapse transition @novlan1 ([#72](https://github.com/TDesignOteam/tdesign-web-components/pull/72))
+- add slider component @novlan1 ([#71](https://github.com/TDesignOteam/tdesign-web-components/pull/71))
+- chore: update prop type @novlan1 ([#80](https://github.com/TDesignOteam/tdesign-web-components/pull/80))
+- Refactor/avatar @aaronmhl ([#79](https://github.com/TDesignOteam/tdesign-web-components/pull/79))
+- Feature/menu @ming680 ([#76](https://github.com/TDesignOteam/tdesign-web-components/pull/76))
+- Feature/icon @duenyang ([#81](https://github.com/TDesignOteam/tdesign-web-components/pull/81))
+- Feature/popconfirm @LzhengH ([#85](https://github.com/TDesignOteam/tdesign-web-components/pull/85))
+- feat(back-top): add back top component @Tzz1194593491 ([#74](https://github.com/TDesignOteam/tdesign-web-components/pull/74))
+- fix(submodule): 归正版本 @duenyang ([#90](https://github.com/TDesignOteam/tdesign-web-components/pull/90))
+- feat(grid): grid complete 🎉 @duenyang ([#91](https://github.com/TDesignOteam/tdesign-web-components/pull/91))
+- chore(spell-check): 移除对dom.ts文件的检查 @duenyang ([#93](https://github.com/TDesignOteam/tdesign-web-components/pull/93))
+- feat(tag): add tag component @carolin913 ([#92](https://github.com/TDesignOteam/tdesign-web-components/pull/92))
+- feat(input): add input component and its examples @HOWARD-WANG-323 ([#78](https://github.com/TDesignOteam/tdesign-web-components/pull/78))
+- fix(omi): 处理 isLightDOM 模式时会重复渲染DOM情况 @duenyang ([#96](https://github.com/TDesignOteam/tdesign-web-components/pull/96))
+- fix(omi): isLightDom 重复渲染 @duenyang ([#99](https://github.com/TDesignOteam/tdesign-web-components/pull/99))
+- docs(avatar): update avatar docs @aaronmhl ([#100](https://github.com/TDesignOteam/tdesign-web-components/pull/100))
+- feat(alert): add alert component @Tzz1194593491 ([#97](https://github.com/TDesignOteam/tdesign-web-components/pull/97))
+- feat(dropdown): dropdown complete 🎉 @duenyang ([#106](https://github.com/TDesignOteam/tdesign-web-components/pull/106))
+- Feature/dropdown @duenyang ([#107](https://github.com/TDesignOteam/tdesign-web-components/pull/107))
+- Feat/radio @LzhengH ([#105](https://github.com/TDesignOteam/tdesign-web-components/pull/105))
+- `chore`: 完善PR CI工作流 复用主仓库部分 @uyarn ([#112](https://github.com/TDesignOteam/tdesign-web-components/pull/112))
+- `chore`: 删除暂未使用的CI 需要使用再按需补充 @uyarn ([#112](https://github.com/TDesignOteam/tdesign-web-components/pull/112))
+- `chore`: 暂时没有 `test script`,暂时移除build 类型文件 保证流程完整 @duenyang @uyarn ([#112](https://github.com/TDesignOteam/tdesign-web-components/pull/112))
+- feat(checkbox): 完成checkbox组件 @1379255913 ([#103](https://github.com/TDesignOteam/tdesign-web-components/pull/103))
+- feat: completed all functions of the card component and wrote test sa… @zyy-bupt2022 ([#87](https://github.com/TDesignOteam/tdesign-web-components/pull/87))
+- fix icon @duenyang ([#125](https://github.com/TDesignOteam/tdesign-web-components/pull/125))
+- Feat/link 增加link组件及相关api文档 @nightchanges ([#123](https://github.com/TDesignOteam/tdesign-web-components/pull/123))
+- Feature/badge 增加badge组件 @Tzz1194593491 ([#124](https://github.com/TDesignOteam/tdesign-web-components/pull/124))
+- feat(breadcrumb): add breadcrumb component @Lyan-u ([#108](https://github.com/TDesignOteam/tdesign-web-components/pull/108))
+- feat(watermark): add watermark component @zzzp9527 ([#101](https://github.com/TDesignOteam/tdesign-web-components/pull/101))
+- fix(watermark): 修复watermark无法生成水印及其它展示问题 @duenyang ([#130](https://github.com/TDesignOteam/tdesign-web-components/pull/130))
+- feat(upload): add upload component @wadwings ([#126](https://github.com/TDesignOteam/tdesign-web-components/pull/126))
+- feat(progress): add new component progress @carolin913 ([#133](https://github.com/TDesignOteam/tdesign-web-components/pull/133))
+- feat(notification): add new component notification @LzhengH ([#135](https://github.com/TDesignOteam/tdesign-web-components/pull/135))
+- feat(skeleton): add new component skeleton @carolin913 ([#134](https://github.com/TDesignOteam/tdesign-web-components/pull/134))
+- tabs complete🎉 @601odd ([#127](https://github.com/TDesignOteam/tdesign-web-components/pull/127))
+- fix(progress): icons use single tag @carolin913 ([#137](https://github.com/TDesignOteam/tdesign-web-components/pull/137))
+- feat(message): add message @Tzz1194593491 ([#136](https://github.com/TDesignOteam/tdesign-web-components/pull/136))
+- fix(icon): 修复多次渲染问题 @duenyang ([#140](https://github.com/TDesignOteam/tdesign-web-components/pull/140))
+- fix(useDragSorter hooks): 文件位置移动 @duenyang ([#143](https://github.com/TDesignOteam/tdesign-web-components/pull/143))
+- fix(input): fix input 受控 @ming680 ([#147](https://github.com/TDesignOteam/tdesign-web-components/pull/147))
+- feat(select-input): 完成select-input&优化popup @duenyang ([#146](https://github.com/TDesignOteam/tdesign-web-components/pull/146))
+- fix(dropdown): dropdown问题修复 @duenyang ([#150](https://github.com/TDesignOteam/tdesign-web-components/pull/150))
+- fix(omi-transition): 修复同一个页面注册多次动画覆盖的问题 @duenyang ([#151](https://github.com/TDesignOteam/tdesign-web-components/pull/151))
+- fix(doc): doc类型README.md无法高亮显示代码块问题 @duenyang ([#152](https://github.com/TDesignOteam/tdesign-web-components/pull/152))
+- feat(api): 规范innerStyle和innerClass @duenyang ([#154](https://github.com/TDesignOteam/tdesign-web-components/pull/154))
+- fix(type): fix tsc build type @duenyang ([#155](https://github.com/TDesignOteam/tdesign-web-components/pull/155))
+- feat(publish): 修复在vite、webpack环境中使用问题 @duenyang ([#157](https://github.com/TDesignOteam/tdesign-web-components/pull/157))
+- feat(popup): 优化popup & 发布测试版本 @duenyang ([#158](https://github.com/TDesignOteam/tdesign-web-components/pull/158))
+- feat(alpha): 发布alpha测试版本 @duenyang ([#161](https://github.com/TDesignOteam/tdesign-web-components/pull/161))
+- feat(alpha): 发布alpha测试版本 @duenyang ([#162](https://github.com/TDesignOteam/tdesign-web-components/pull/162))
+- feat(use): 支持在React环境中使用 @duenyang ([#165](https://github.com/TDesignOteam/tdesign-web-components/pull/165))
+- feat(react): 支持在React中调用update @duenyang ([#169](https://github.com/TDesignOteam/tdesign-web-components/pull/169))
+- feat(react): 优化react适配逻辑 @duenyang ([#170](https://github.com/TDesignOteam/tdesign-web-components/pull/170))
+- feat(Vue): 支持在Vue中使用 @duenyang ([#172](https://github.com/TDesignOteam/tdesign-web-components/pull/172))
+- feat(slider,avatar,dialog): wc style split from common @carolin913 ([#173](https://github.com/TDesignOteam/tdesign-web-components/pull/173))
+- feat(vite): 支持在viet >= 5 版本中使用 @duenyang ([#175](https://github.com/TDesignOteam/tdesign-web-components/pull/175))
- feat(jsx): 支持jsx通用方法 @duenyang ([#176](https://github.com/TDesignOteam/tdesign-web-components/pull/176))
## 🌈 0.0.1-alpha.2 `2024-10-18`