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`