pointhalo ae2f5b1770 feat: form add stopValidateWithError, trigger, close #640 (#1778) 2 years ago
..
_base 92dbd3cd1f Merge branch 'main' into release 2 years ago
_cssAnimation 73401f34e4 fix: fix tooltip animation in react18 #1225 (#1227) 3 years ago
_portal 638f1e7a4f fix: fix document is not defined 2 years ago
_sortable ef375fb64e refactor: change react-sortable-hoc to dnd-kit for Transfer/Taginput … (#1738) 2 years ago
_test_ d4c3d4b522 chore: use eslint to format code (#1162) 3 years ago
_utils 3faa6064f0 fix: extract the public method getScrollbarWidth to the util folder 2 years ago
anchor d4b9f3276b feat: pass data-* attribute to dom (#1630) 2 years ago
autoComplete f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
avatar f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
backtop f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
badge f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
banner f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
breadcrumb f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
button 81502aee75 feat: Split Button supports deep nested Button (#1741) 2 years ago
calendar f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
card bd83d1f9cd chore: format code 3 years ago
carousel 9b82b7e001 chore: eslint fix 2 years ago
cascader 04334fa11b fix: [Cascader] Fix cascader cannot display +N Popover in disabled and non-search situations (#1670) 2 years ago
checkbox f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
collapse 2704e3e961 fix: fix collapse aria_owns in SSR not match, close #1763 2 years ago
collapsible d4b9f3276b feat: pass data-* attribute to dom (#1630) 2 years ago
configProvider f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
datePicker df3925eb5c fix: fix datepicker autofocus 2 years ago
descriptions d4b9f3276b feat: pass data-* attribute to dom (#1630) 2 years ago
divider fd9f597550 Chore: update storybook & Webpack & Cypress (#1589) 2 years ago
dropdown f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
empty d4b9f3276b feat: pass data-* attribute to dom (#1630) 2 years ago
form ae2f5b1770 feat: form add stopValidateWithError, trigger, close #640 (#1778) 2 years ago
grid bd83d1f9cd chore: format code 3 years ago
highlight ee4f9b2c72 New Component Highlight (#1281) 2 years ago
iconButton f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
icons d7ce8db958 test: update storybook filename (#1161) 3 years ago
image 2b3d99421a Merge pull request #1748 from DouyinFE/fix-sidesheet-overflow 2 years ago
input 3265d387c2 fix: fix audoFocus autofocus in Input and TextArea #1608 2 years ago
inputNumber f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
layout 9b82b7e001 chore: eslint fix 2 years ago
list d4b9f3276b feat: pass data-* attribute to dom (#1630) 2 years ago
locale 076be4564e Merge branch origin/main into main 2 years ago
modal 380b864c4f fix: fix utils import 2 years ago
navigation f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
notification f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
overflowList f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
pagination e082a7d7c0 perf: improve pagination small size render (#1714) 2 years ago
popconfirm f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
popover 5c36a97b25 fix: add some lint config 2 years ago
progress f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
radio f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
rating f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
resizeObserver f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
scripts 626c4b9f9e Feat/support next (#245) 3 years ago
scrollList f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
select f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
sideSheet f619611591 fix: fix utils import 2 years ago
skeleton bd83d1f9cd chore: format code 3 years ago
slider f6f7ef0a8e Merge pull request #1753 from SyMind/chore/eslint-fix 2 years ago
space 685ea938f3 feat: DatePicker support onClickOutside, open, close methods (#1470) 2 years ago
spin f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
steps d4b9f3276b feat: pass data-* attribute to dom (#1630) 2 years ago
switch f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
table 468d65ff3a feat:Table column support resize prop (#1770) 2 years ago
tabs f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
tag f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
tagInput ef375fb64e refactor: change react-sortable-hoc to dnd-kit for Transfer/Taginput … (#1738) 2 years ago
timePicker ce49ca8cc7 fix: Timepicker fill with wrong current time in start time under controlled mode (#1717) 2 years ago
timeline d4b9f3276b feat: pass data-* attribute to dom (#1630) 2 years ago
toast f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
tooltip bef525746d feat: Tooltip Popover Dropdown add trigger=contextMenu, close #396 (#1774) 2 years ago
transfer ef375fb64e refactor: change react-sortable-hoc to dnd-kit for Transfer/Taginput … (#1738) 2 years ago
tree 1e97094980 style: [Tree][TreeSelect] When filterTreeNode & treeNodeFilterProp is not label, only the search content is highlighted instead of the entire line (#1764) 2 years ago
treeSelect 1e97094980 style: [Tree][TreeSelect] When filterTreeNode & treeNodeFilterProp is not label, only the search content is highlighted instead of the entire line (#1764) 2 years ago
trigger f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
typography c58c2f2abf fix: typography popover ellipsis remove default 240px width, close #1766 2 years ago
upload 3d5322154d fix: upload preview auto fallback when preview other file (not image) (#1771) 2 years ago
README.md 47a1ddada0 docs: update semi-ui readme 2 years ago
getBabelConfig.js 496f3db0f7 chore: remove corejs 3 years ago
gulpfile.js 9c3a607100 chore: auto format code 3 years ago
index.ts ee4f9b2c72 New Component Highlight (#1281) 2 years ago
package.json 6f625c7c2e v2.41.3 2 years ago
tsconfig.json 2f70e0bbc2 fix: ts check error of upload/witFied/fields in strict mode 3 years ago
webpack.config.js 0b2dd121d0 chore: use webpack5 2 years ago

README.md

Semi-UI

A modern, comprehensive, flexible design system and UI library. Connect DesignOps & DevOps. Quickly build beautiful React apps. Maintained by Douyin-fe team.

[![LICENSE][license-badge]][license-url] [![NPM][npm-badge]][npm-url] [![CONTRIBUTORS][contributors-badge]][contributors-url] ![Design Token][Design Token] [![FIGMA][figma-badge]][figma-url] [![BUILD-JS][build-js-badge]][build-js-url] [![BUILD-CSS][build-css-badge]][build-css-url] [![CODECOV][codecov-badge]][codecov-url] [![Chromatic][chromatic-badge]][chromatic-url] [![Cypress][cypress-badge]][cypress-url] [![Twitter Follow](https://img.shields.io/twitter/follow/SemiDesignUI?style=social)](https://twitter.com/SemiDesignUI)

🎉 Features

  • 💪 Up to 60+ high-quality Components.
  • 💅 Code2Design, automatically generate Figma UI Kit according to different themes, keep same between design and code
  • 🚀 Powerful Design2Code support, convert figma draft to code in a few seconds
  • 💕 Complete A11y support, follows W3C standards to provide keyboard interaction, focus management and ARIA for all components
  • 💅 Up to 2700+ Design Tokens can be easily modify by Semi Design system management, make Semi Design to Any Design quickly.
  • 🌍 Internationalization Support for Dozens of Languages, timezone, RTL support
  • ⚙️ Strict quality assurance, covering unit testing, E2E testing, visual testing
  • 👏 Written in Typescript, friendly Static Type Support. Based on Foundation/Adapter architecture, easy to read and contribute
  • 🥳 SSR (Server Side Rendering) Compatible.

🔥 Install

# with npm
npm install @douyinfe/semi-ui

# with yarn
yarn add @douyinfe/semi-ui

👍 Usage

Here is a quick example to get you started, it's all you need:

import React from 'react';
import ReactDOM from 'react-dom';
import { Button, Switch } from '@douyinfe/semi-ui';

const App = () => (
    <>
        <Button type='primary'>primary button</Button>
        <Switch size='large' />
    </>
);

ReactDOM.render(<App />, document.querySelector('#app'));

And Semi UI Doc Site has hundreds of editable examples and live preview, welcome to play with those examples.

📰 News about Semi UI

📌 Documentation

👌 Platform Support

Semi UI supports all major modern browsers.

|chrome
chrome|firefox
firefox|safari
safari|IE/Edge
IE/Edge|electron
Electron| |--|--|--|--|--| | latest 2 versions | latest 2 versions | latest 2 versions | Edge | latest 2 versions |

👨‍👨‍👧‍👦 User Group

Join User Group on Feishu / Lark

💖 Thanks

Chromatic

Thanks to Chromatic for providing the visual testing platform that helps us review UI changes and catch visual regressions.

Cypress

Thanks to Cypress for providing E2E testing.

👐 Contributing

Thanks to all the people who already contributed!

Read the contributing guide to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes to Semi UI.

See CONTRIBUTING documentation.

🎈 License

Semi UI is MIT Licensed