{"id":13457839,"url":"https://github.com/uiwjs/uiw","last_synced_at":"2025-05-14T02:09:25.990Z","repository":{"id":34158601,"uuid":"108403413","full_name":"uiwjs/uiw","owner":"uiwjs","description":"⚛️ @uiwjs A high quality UI Toolkit, A Component Library for React 16+.","archived":false,"fork":false,"pushed_at":"2025-04-02T09:46:47.000Z","size":308654,"stargazers_count":732,"open_issues_count":38,"forks_count":120,"subscribers_count":31,"default_branch":"master","last_synced_at":"2025-05-01T09:01:55.527Z","etag":null,"topics":["compoment","css","frontend","javascript","react","react-component","react16","typescript","ui","ui-components","ui-kit","uiw","uiw-react"],"latest_commit_sha":null,"homepage":"https://uiwjs.github.io","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/uiwjs.png","metadata":{"files":{"readme":"README-zh.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"custom":"https://jaywcjlove.github.io/#/sponsor"}},"created_at":"2017-10-26T11:39:32.000Z","updated_at":"2025-04-23T20:16:58.000Z","dependencies_parsed_at":"2023-02-10T18:31:11.150Z","dependency_job_id":"eb364aa6-66b2-4e3b-9000-a64124c120c9","html_url":"https://github.com/uiwjs/uiw","commit_stats":{"total_commits":3097,"total_committers":33,"mean_commits":93.84848484848484,"dds":0.2621892153697126,"last_synced_commit":"22244c466e0bb0840180adbb67ac6d5b0b8506ec"},"previous_names":[],"tags_count":456,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uiwjs%2Fuiw","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uiwjs%2Fuiw/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uiwjs%2Fuiw/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uiwjs%2Fuiw/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uiwjs","download_url":"https://codeload.github.com/uiwjs/uiw/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253692388,"owners_count":21948316,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["compoment","css","frontend","javascript","react","react-component","react16","typescript","ui","ui-components","ui-kit","uiw","uiw-react"],"created_at":"2024-07-31T09:00:38.144Z","updated_at":"2025-05-14T02:09:20.943Z","avatar_url":"https://github.com/uiwjs.png","language":"TypeScript","readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://uiwjs.github.io\"\u003e\n    \u003cimg alt=\"uiw LOGO\" width=\"150\" src=\"https://raw.githubusercontent.com/uiwjs/uiw/92f189f53312f1177466f48991736f95f86da0a6/src/assets/logo-README.svg?sanitize=true\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://jaywcjlove.github.io/#/sponsor\"\u003e\n    \u003cimg alt=\"Buy me a coffee\" src=\"https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/uiwjs/uiw/actions\"\u003e\n    \u003cimg alt=\"Github Actions\" src=\"https://github.com/uiwjs/uiw/workflows/Build%20uiw/badge.svg\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/uiwjs/uiw\"\u003e\n    \u003cimg alt=\"License MIT\" src=\"https://img.shields.io/dub/l/vibe-d.svg\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/facebook/jest\"\u003e\n    \u003cimg alt=\"jest\" src=\"https://jestjs.io/img/jest-badge.svg\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://gitpod.io/#https://github.com/uiwjs/uiw\"\u003e\n    \u003cimg alt=\"Open in Gitpod\" src=\"https://shields.io/badge/Open%20in-Gitpod-green?logo=Gitpod\"\u003e\n  \u003c/a\u003e\n  \u003cbr\u003e\n  \u003ca href=\"https://github.com/uiwjs/uiw/releases\"\u003e\n    \u003cimg alt=\"Github Releases\" src=\"https://img.shields.io/github/release/uiwjs/uiw.svg\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.com/package/uiw\"\u003e\n    \u003cimg alt=\"npm version\" src=\"https://img.shields.io/npm/v/uiw.svg\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/uiwjs/uiw/stargazers\"\u003e\n    \u003cimg alt=\"Github Stars\" src=\"https://img.shields.io/github/stars/uiwjs/uiw.svg\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://uiwjs.github.io\"\u003e\u003cimg alt=\"uiw document website\" src=\"https://raw.githubusercontent.com/uiwjs/uiw/92f189f53312f1177466f48991736f95f86da0a6/src/assets/uiw-doc.png\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## uiw\n\n一个高质量的 UI 工具包，一个 React 16+ 的组件库。 💘\n\n### 安装\n\n```bash\nnpm install uiw --save\n```\n\n你可以使用 [`kkt`](https://github.com/kktjs/kkt) 快速创建一个 react + uiw 的项目。\n\n```bash\nnpx create-kkt my-app -e uiw\n# or npm\n$ npm create kkt my-app -e uiw\n# or yarn\n$ yarn create kkt my-app -e uiw\n```\n\n您可以使用 [uiw v1.x](https://github.com/uiwjs/uiw/tree/v1) 版本。 [请在此处查看文档](https://github.com/uiwjs/uiw/tree/v1)。([**`npx`**](https://github.com/npm/npm/releases/tag/v5.2.0) 需要 `npm 5.2+` 及更高版本。）\n\n### 基本使用\n\n```js\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { Button } from \"uiw\";\n\nReactDOM.render(\n  \u003cButton type=\"primary\"\u003eHello\u003c/Button\u003e,\n  document.getElementById(\"app\")\n);\n```\n\n### 文档\n\n有关更多信息，请访问 [uiwjs.github.io](https://uiwjs.github.io) 网站。\n\n或者在 VSCode 使用 [`vscode-uiw`](https://github.com/uiwjs/vscode-uiw) 插件预览中打开：\n\n[![Open in VSCode](https://jaywcjlove.github.io/sb/open/open-in-vscode.svg)](https://marketplace.visualstudio.com/items?itemName=uiw.uiw)\n\n### 依赖包\n\n这个 `git` 仓库是一个使用 [`Lerna`](https://github.com/lerna/lerna) 构建的仓库。它包含以下一些软件包：\n\nPackage | Downloads | Version | Description\n----- | ----- | ----- | -----\n[`uiw`](/packages/uiw) | [![npm downloads](https://badgen.net/npm/dw/uiw?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/uiw) | [![npm version](https://img.shields.io/npm/v/uiw.svg?maxAge=3600)](https://www.npmjs.com/package/uiw) | - \n[`@uiw/react-affix`](/packages/react-affix) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-affix?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-affix) | [![npm version](https://img.shields.io/npm/v/@uiw/react-affix.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-affix) | -\n[`@uiw/react-alert`](/packages/react-alert) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-alert?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-alert) | [![npm version](https://img.shields.io/npm/v/@uiw/react-alert.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-alert) | -\n[`@uiw/react-avatar`](/packages/react-avatar) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-avatar?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-avatar) | [![npm version](https://img.shields.io/npm/v/@uiw/react-avatar.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-avatar)                       | -\n[`@uiw/react-back-top`](/packages/react-back-top) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-back-top?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-back-top) | [![npm version](https://img.shields.io/npm/v/@uiw/react-back-top.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-back-top)                   | -\n[`@uiw/react-badge`](/packages/react-badge) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-badge?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-badge) | [![npm version](https://img.shields.io/npm/v/@uiw/react-badge.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-badge)                         | -\n[`@uiw/react-breadcrumb`](/packages/react-breadcrumb) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-breadcrumb?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-breadcrumb) | [![npm version](https://img.shields.io/npm/v/@uiw/react-breadcrumb.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-breadcrumb)               | -\n[`@uiw/react-button`](/packages/react-button) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-button?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-button) | [![npm version](https://img.shields.io/npm/v/@uiw/react-button.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-button)                       | -\n[`@uiw/react-button-group`](/packages/react-button-group) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-button-group?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-button-group) | [![npm version](https://img.shields.io/npm/v/@uiw/react-button-group.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-button-group)           | -\n[`@uiw/react-calendar`](/packages/react-calendar) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-calendar?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-calendar) | [![npm version](https://img.shields.io/npm/v/@uiw/react-calendar.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-calendar)                   | -\n[`@uiw/react-card`](/packages/react-card) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-card?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-card) | [![npm version](https://img.shields.io/npm/v/@uiw/react-card.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-card)                           | -\n[`@uiw/react-checkbox`](/packages/react-checkbox) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-checkbox?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-checkbox) | [![npm version](https://img.shields.io/npm/v/@uiw/react-checkbox.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-checkbox)                   | -\n[`@uiw/react-collapse`](/packages/react-collapse) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-collapse?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-collapse) | [![npm version](https://img.shields.io/npm/v/@uiw/react-collapse.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-collapse)                   | -\n[`@uiw/react-copy-to-clipboard`](/packages/react-copy-to-clipboard) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-copy-to-clipboard?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-copy-to-clipboard) | [![npm version](https://img.shields.io/npm/v/@uiw/react-copy-to-clipboard.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-copy-to-clipboard) | -\n[`@uiw/react-date-input`](/packages/react-date-input) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-date-input?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-date-input) | [![npm version](https://img.shields.io/npm/v/@uiw/react-date-input.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-date-input)               | -\n[`@uiw/react-date-picker`](/packages/react-date-picker) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-date-picker?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-date-picker) | [![npm version](https://img.shields.io/npm/v/@uiw/react-date-picker.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-date-picker)             | -\n[`@uiw/react-descriptions`](/packages/react-descriptions) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-descriptions?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-descriptions) | [![npm version](https://img.shields.io/npm/v/@uiw/react-descriptions.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-descriptions)           | -\n[`@uiw/react-divider`](/packages/react-divider) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-divider?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-divider) | [![npm version](https://img.shields.io/npm/v/@uiw/react-divider.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-divider)                     | -\n[`@uiw/react-drawer`](/packages/react-drawer) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-drawer?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-drawer) | [![npm version](https://img.shields.io/npm/v/@uiw/react-drawer.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-drawer)                       | -\n[`@uiw/react-dropdown`](/packages/react-dropdown) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-dropdown?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-dropdown) | [![npm version](https://img.shields.io/npm/v/@uiw/react-dropdown.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-dropdown) \n[`@uiw/react-empty`](/packages/react-empty) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-empty?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-empty) | [![npm version](https://img.shields.io/npm/v/@uiw/react-empty.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-empty)                   | -\n[`@uiw/react-file-input`](/packages/react-file-input) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-file-input?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-file-input) | [![npm version](https://img.shields.io/npm/v/@uiw/react-file-input.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-file-input)               | -\n[`@uiw/react-form`](/packages/react-form) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-form?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-form) | [![npm version](https://img.shields.io/npm/v/@uiw/react-form.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-form)                           | -\n[`@uiw/react-grid`](/packages/react-grid) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-grid?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-grid) | [![npm version](https://img.shields.io/npm/v/@uiw/react-grid.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-grid)                           | -\n[`@uiw/react-icon`](/packages/react-icon) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-icon?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-icon) | [![npm version](https://img.shields.io/npm/v/@uiw/react-icon.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-icon)                           | -\n[`@uiw/react-input`](/packages/react-input) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-input?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-input) | [![npm version](https://img.shields.io/npm/v/@uiw/react-input.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-input)                         | -\n[`@uiw/react-list`](/packages/react-list) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-list?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-list) | [![npm version](https://img.shields.io/npm/v/@uiw/react-list.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-list)                           | -\n[`@uiw/react-loader`](/packages/react-loader) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-loader?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-loader) | [![npm version](https://img.shields.io/npm/v/@uiw/react-loader.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-loader)                       | -\n[`@uiw/react-menu`](/packages/react-menu) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-menu?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-menu) | [![npm version](https://img.shields.io/npm/v/@uiw/react-menu.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-menu)                           | -\n[`@uiw/react-message`](/packages/react-message) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-message?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-message) | [![npm version](https://img.shields.io/npm/v/@uiw/react-message.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-message)                     | -\n[`@uiw/react-modal`](/packages/react-modal) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-modal?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-modal) | [![npm version](https://img.shields.io/npm/v/@uiw/react-modal.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-modal)                         | -\n[`@uiw/react-month-picker`](/packages/react-month-picker) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-month-picker?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-month-picker) | [![npm version](https://img.shields.io/npm/v/@uiw/react-month-picker.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-month-picker)           | -\n[`@uiw/react-notify`](/packages/react-notify) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-notify?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-notify) | [![npm version](https://img.shields.io/npm/v/@uiw/react-notify.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-notify)                       | -\n[`@uiw/react-overlay`](/packages/react-overlay) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-overlay?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-overlay) | [![npm version](https://img.shields.io/npm/v/@uiw/react-overlay.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-overlay)                     | -\n[`@uiw/react-overlay-trigger`](/packages/react-overlay-trigger) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-overlay-trigger?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-overlay-trigger) | [![npm version](https://img.shields.io/npm/v/@uiw/react-overlay-trigger.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-overlay-trigger)     | -\n[`@uiw/react-pagination`](/packages/react-pagination) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-pagination?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-pagination) | [![npm version](https://img.shields.io/npm/v/@uiw/react-pagination.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-pagination)               | -\n[`@uiw/react-pin-code`](/packages/react-pin-code) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-pin-code?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-pin-code) | [![npm version](https://img.shields.io/npm/v/@uiw/react-pin-code.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-pin-code)               | -\n[`@uiw/react-popover`](/packages/react-popover) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-popover?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-popover) | [![npm version](https://img.shields.io/npm/v/@uiw/react-popover.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-popover)                     | -\n[`@uiw/react-portal`](/packages/react-portal) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-portal?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-portal) | [![npm version](https://img.shields.io/npm/v/@uiw/react-portal.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-portal)                       | -\n[`@uiw/react-progress`](/packages/react-progress) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-progress?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-progress) | [![npm version](https://img.shields.io/npm/v/@uiw/react-progress.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-progress)                   | -\n[`@uiw/react-radio`](/packages/react-radio) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-radio?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-radio) | [![npm version](https://img.shields.io/npm/v/@uiw/react-radio.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-radio)                         | -\n[`@uiw/react-rate`](/packages/react-rate) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-rate?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-rate) | [![npm version](https://img.shields.io/npm/v/@uiw/react-rate.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-rate)                           | -\n[`@uiw/react-search-select`](/packages/react-search-select) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-search-select?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-search-select) | [![npm version](https://img.shields.io/npm/v/@uiw/react-search-select.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-search-select) | -\n[`@uiw/react-search-tree`](/packages/react-search-tree) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-search-tree?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-search-tree) | [![npm version](https://img.shields.io/npm/v/@uiw/react-search-tree.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-search-tree) | -\n[`@uiw/react-select`](/packages/react-select) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-select?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-select) | [![npm version](https://img.shields.io/npm/v/@uiw/react-select.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-select)                       | -\n[`@uiw/react-slider`](/packages/react-slider) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-slider?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-slider) | [![npm version](https://img.shields.io/npm/v/@uiw/react-slider.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-slider)                       | -\n[`@uiw/react-steps`](/packages/react-steps) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-steps?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-steps) | [![npm version](https://img.shields.io/npm/v/@uiw/react-steps.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-steps)                         | -\n[`@uiw/react-switch`](/packages/react-switch) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-switch?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-switch) | [![npm version](https://img.shields.io/npm/v/@uiw/react-switch.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-switch)                       | -\n[`@uiw/react-table`](/packages/react-table) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-table?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-table) | [![npm version](https://img.shields.io/npm/v/@uiw/react-table.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-table)                         | -\n[`@uiw/react-tabs`](/packages/react-tabs) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-tabs?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-tabs) | [![npm version](https://img.shields.io/npm/v/@uiw/react-tabs.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-tabs)                           | -\n[`@uiw/react-tag`](/packages/react-tag) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-tag?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-tag) | [![npm version](https://img.shields.io/npm/v/@uiw/react-tag.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-tag)                             | -\n[`@uiw/react-textarea`](/packages/react-textarea) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-textarea?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-textarea) | [![npm version](https://img.shields.io/npm/v/@uiw/react-textarea.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-textarea)                   | -\n[`@uiw/react-time-picker`](/packages/react-time-picker) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-time-picker?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-time-picker) | [![npm version](https://img.shields.io/npm/v/@uiw/react-time-picker.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-time-picker)             | -\n[`@uiw/react-tooltip`](/packages/react-tooltip) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-tooltip?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-tooltip) | [![npm version](https://img.shields.io/npm/v/@uiw/react-tooltip.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-tooltip)                     | -\n[`@uiw/react-tree`](/packages/react-tree) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-tree?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-tree) | [![npm version](https://img.shields.io/npm/v/@uiw/react-tree.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-tree)                           | -\n[`@uiw/react-tree-checked`](/packages/react-tree-checked) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-tree-checked?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-tree-checked) | [![npm version](https://img.shields.io/npm/v/@uiw/react-tree-checked.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-tree-checked)           | -\n[`@uiw/utils`](/packages/utils) | [![npm downloads](https://badgen.net/npm/dw/@uiw/utils?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/utils) | [![npm version](https://img.shields.io/npm/v/@uiw/utils.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/utils)                                     | -\n[`@uiw/react-split`](https://github.com/uiwjs/react-split) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-split?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-split) | [![npm version](https://img.shields.io/npm/v/@uiw/react-split.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-split) | -\n[`@uiw/react-layout`](https://github.com/uiwjs/react-layout) | [![npm downloads](https://badgen.net/npm/dw/@uiw/react-layout?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/react-layout) | [![npm version](https://img.shields.io/npm/v/@uiw/react-layout.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/react-layout) | -\n[`@uiw/formatter`](https://github.com/uiwjs/date-formatter) | [![npm downloads](https://badgen.net/npm/dw/@uiw/formatter?label=npm\u0026color=dd4e4c)](https://www.npmjs.com/package/@uiw/formatter) | [![npm version](https://img.shields.io/npm/v/@uiw/formatter.svg?maxAge=3600)](https://www.npmjs.com/package/@uiw/formatter) | - \n\n### 开发\n\n使用 `Gitpod`，`GitHub` 的免费在线开发环境。\n\n[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/uiwjs/uiw)\n\n或者在本地克隆：\n\n```bash\n$ git clone git@github.com:uiwjs/uiw.git\n```\n\n安装依赖 \u0026 编译组件代码\n\n```bash\n$ npm install # Install dependencies\n\n$ npm run hoist\n$ npm run build\n```\n\n要开发，运行自动加载编译命令：\n\n```bash\n# Run the app\n# Restart the app automatically every time code changes.\n# Useful during development.\n$ npm run lib:watch\n$ npm run start\n$ lerna run --scope uiw watch --stream\n$ lerna exec --scope @uiw/button -- tsbb types --outDir lib/esm --target ESNEXT --watch\n$ lerna exec --scope @uiw/button -- tsbb watch --target react --env-name esm:dev --env-name cjs\n```\n\n文件夹说明：\n\n```bash\n├── LICENSE\n├── README.md\n├── package.json\n├── website\n│   ├── uiw        # Documentation website source code\n└── packages\n    ├── uiw        # Component library source code\n    ├── react-alert\n    ├── react-tree\n    ├── ...\n    └── react-affix\n```\n\n### 发布版本\n\n当前工程目前通过 `git tag` 触发 [GitHub Workflow](https://github.com/uiwjs/uiw/blob/3e5ae42a7b4f6b8ea2f2c331be61048d7e5c3e9e/.github/workflows/deploy.yml#L54-L57) 自动发布到 [npm](https://www.npmjs.com/package/uiw) 包管理平台中\n\n### Contributors\n\n\u003ca href=\"https://github.com/uiwjs/uiw/graphs/contributors\"\u003e\n  \u003cimg src=\"https://uiwjs.github.io/uiw/CONTRIBUTORS.svg\" /\u003e\n\u003c/a\u003e\n\n### License\n\nLicensed under the MIT License.\n","funding_links":["https://jaywcjlove.github.io/#/sponsor"],"categories":["TypeScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuiwjs%2Fuiw","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fuiwjs%2Fuiw","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuiwjs%2Fuiw/lists"}