代强 de0b0bac47 chore: change test 2 лет назад
..
_base 84a48ef260 feat: provide overriding default props to some components via gloal config (#2029) 2 лет назад
_cssAnimation 73401f34e4 fix: fix tooltip animation in react18 #1225 (#1227) 3 лет назад
_portal dc6f3f7fee fix: optimize code 2 лет назад
_sortable 1d5f248c93 fix: Fixed the issue in Transfer that quick drag failed due to too long drag sensing delay time 2 лет назад
_test_ d4c3d4b522 chore: use eslint to format code (#1162) 3 лет назад
_utils c638a58812 perf: optimize typography calculation (#1970) 2 лет назад
anchor d4b9f3276b feat: pass data-* attribute to dom (#1630) 2 лет назад
autoComplete 84a48ef260 feat: provide overriding default props to some components via gloal config (#2029) 2 лет назад
avatar 600b1dc8a7 fix: fix avatar type error 2 лет назад
backtop 84a48ef260 feat: provide overriding default props to some components via gloal config (#2029) 2 лет назад
badge f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 лет назад
banner 34f8872659 fix: icon proptypes define, remove useless string type which only work in v1 2 лет назад
breadcrumb 34f8872659 fix: icon proptypes define, remove useless string type which only work in v1 2 лет назад
button d55b0d165b chore: optimize code 2 лет назад
calendar 2238658d95 feat: add minEventHeight api to support min height in day level event render (#1964) 2 лет назад
card bd83d1f9cd chore: format code 3 лет назад
carousel 0f0a2af917 chore: fix wrong spelling (#1814) 2 лет назад
cascader 26457b6e36 feat: cascader ref method add search (#2105) 2 лет назад
checkbox f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 лет назад
collapse 51cb12fea7 fix: fix collapsible keepDOM 2 лет назад
collapsible de0b0bac47 chore: change test 2 лет назад
configProvider 84a48ef260 feat: provide overriding default props to some components via gloal config (#2029) 2 лет назад
datePicker b43a857f7d fix: miss e2e test entry of datepicker preset function type 2 лет назад
descriptions e5d53e0280 fix: [Descriptions] Children are not read directly in foundation, but adapter get is used to adapt to other frameworks. Adjust the calculation of horizontal colspan value to automatically complete the remaining part(#2121) 2 лет назад
divider fd9f597550 Chore: update storybook & Webpack & Cypress (#1589) 2 лет назад
dropdown 84a48ef260 feat: provide overriding default props to some components via gloal config (#2029) 2 лет назад
empty d4b9f3276b feat: pass data-* attribute to dom (#1630) 2 лет назад
form d8f24f2985 perf: remove redundant clones and modify cloneDeep(lodash) call to copy(fast-copy) (#2002) 2 лет назад
grid 84a48ef260 feat: provide overriding default props to some components via gloal config (#2029) 2 лет назад
highlight ee4f9b2c72 New Component Highlight (#1281) 3 лет назад
iconButton f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 лет назад
icons d7ce8db958 test: update storybook filename (#1161) 3 лет назад
image 2303a57968 feat: ImagePreview add onDownloadError API (#2093) 2 лет назад
input c44885512a fix: optimize code 2 лет назад
inputNumber c57882d5b3 fix: fixed InputNumber formatter bug related to #1772 (#1870) 2 лет назад
layout 9b82b7e001 chore: eslint fix 2 лет назад
list d4b9f3276b feat: pass data-* attribute to dom (#1630) 2 лет назад
locale 68e70c3fbc chore: modify table,calendar,locale story due to dynamic data 2 лет назад
modal 473a638014 perf: better way to destroy all Modal.confirm instances (#2070) 2 лет назад
navigation 911c0cb5a8 fix: fix Nav openKeys bug when selectedKeys change #2115 (#2123) 2 лет назад
notification 84a48ef260 feat: provide overriding default props to some components via gloal config (#2029) 2 лет назад
overflowList 84a48ef260 feat: provide overriding default props to some components via gloal config (#2029) 2 лет назад
pagination b8ddda290e fix: pagination popoverZIndex don't take effect on sizeChanger (#1896) 2 лет назад
popconfirm 84a48ef260 feat: provide overriding default props to some components via gloal config (#2029) 2 лет назад
popover 84a48ef260 feat: provide overriding default props to some components via gloal config (#2029) 2 лет назад
progress f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 лет назад
radio f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 лет назад
rating f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 лет назад
resizeObserver 63efc79d5f fix: fix the error accessing empty element in ReactResizeObserver (#2095) 2 лет назад
scripts 6ebc1b8a5e chore: remove useless license.txt in the dist dir 2 лет назад
scrollList f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 лет назад
select 84a48ef260 feat: provide overriding default props to some components via gloal config (#2029) 2 лет назад
sideSheet 52d9910050 merge release 2 лет назад
skeleton bd83d1f9cd chore: format code 3 лет назад
slider c44885512a fix: optimize code 2 лет назад
space 685ea938f3 feat: DatePicker support onClickOutside, open, close methods (#1470) 3 лет назад
spin f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 лет назад
steps ea3a994d95 fix: fix steps some hover active style (#1836) 2 лет назад
switch f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 лет назад
table cb59c0b996 fix: fixed Table header rowSelection is selected when dataSource is Empty #2128 (#2137) 2 лет назад
tabs 75e1b15c79 fix: fix TabBar rendering as empty in SSR (#2117) (#2118) 2 лет назад
tag 1e4b31f644 feat: tag support suffixIcon、prefixIcon (#1832) 2 лет назад
tagInput b735163cf1 fix: fix param type in onKeyDown of TagInput 2 лет назад
timePicker d7a4270593 fix: when using timeZone and disabledHours at the same time in timepicker display value does not meet expectations (#2083) 2 лет назад
timeline d4b9f3276b feat: pass data-* attribute to dom (#1630) 2 лет назад
toast 42cc6615ea fix: change toast unit test 2 лет назад
tooltip 84a48ef260 feat: provide overriding default props to some components via gloal config (#2029) 2 лет назад
transfer ef375fb64e refactor: change react-sortable-hoc to dnd-kit for Transfer/Taginput … (#1738) 2 лет назад
tree d8f24f2985 perf: remove redundant clones and modify cloneDeep(lodash) call to copy(fast-copy) (#2002) 2 лет назад
treeSelect d8f24f2985 perf: remove redundant clones and modify cloneDeep(lodash) call to copy(fast-copy) (#2002) 2 лет назад
trigger f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 лет назад
typography 840dfa251a fix: fix js ellipsis error 2 лет назад
upload 2e04f8c520 test: update Upload story delay time 2 лет назад
README.md 47a1ddada0 docs: update semi-ui readme 2 лет назад
getBabelConfig.js 496f3db0f7 chore: remove corejs 3 лет назад
gulpfile.js 9c3a607100 chore: auto format code 3 лет назад
index.ts 8ed56068b7 chore: add base foundation export (#1979) 2 лет назад
package.json 21f02cad42 v2.55.0 2 лет назад
tsconfig.json 2f70e0bbc2 fix: ts check error of upload/witFied/fields in strict mode 4 лет назад
webpack.config.js 0b2dd121d0 chore: use webpack5 3 лет назад

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