DaiQiangReal a87ee93f0b fix: code highlight add semi-light-scrollbar 1 year ago
..
_base 728f90291d chore: add data 1 year ago
_cssAnimation 73401f34e4 fix: fix tooltip animation in react18 #1225 (#1227) 3 years ago
_portal dc6f3f7fee fix: optimize code 2 years ago
_sortable 1d5f248c93 fix: Fixed the issue in Transfer that quick drag failed due to too long drag sensing delay time 1 year ago
_test_ d4c3d4b522 chore: use eslint to format code (#1162) 3 years ago
_utils c638a58812 perf: optimize typography calculation (#1970) 1 year ago
anchor d4b9f3276b feat: pass data-* attribute to dom (#1630) 2 years ago
autoComplete 575577f1f3 fix: fix click outside handler in webcomponent (#2084) 1 year ago
avatar 600b1dc8a7 fix: fix avatar type error 1 year ago
backtop c11d80cdad fix(backtop): backtop should add throttle 1 year ago
badge f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
banner 34f8872659 fix: icon proptypes define, remove useless string type which only work in v1 1 year ago
breadcrumb 34f8872659 fix: icon proptypes define, remove useless string type which only work in v1 1 year ago
button d55b0d165b chore: optimize code 1 year ago
calendar 575577f1f3 fix: fix click outside handler in webcomponent (#2084) 1 year ago
card e98352e6d5 test: replace demo text 1 year ago
carousel 0f0a2af917 chore: fix wrong spelling (#1814) 2 years ago
cascader af8fca260f Merge branch 'release' 1 year ago
checkbox e98352e6d5 test: replace demo text 1 year ago
codeHighlight a87ee93f0b fix: code highlight add semi-light-scrollbar 1 year ago
collapse 51cb12fea7 fix: fix collapsible keepDOM 1 year ago
collapsible de0b0bac47 chore: change test 1 year ago
configProvider 84a48ef260 feat: provide overriding default props to some components via gloal config (#2029) 1 year ago
datePicker 575577f1f3 fix: fix click outside handler in webcomponent (#2084) 1 year ago
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) 1 year ago
divider fd9f597550 Chore: update storybook & Webpack & Cypress (#1589) 2 years ago
dropdown 84a48ef260 feat: provide overriding default props to some components via gloal config (#2029) 1 year ago
empty d4b9f3276b feat: pass data-* attribute to dom (#1630) 2 years ago
form e98352e6d5 test: replace demo text 1 year ago
grid 84a48ef260 feat: provide overriding default props to some components via gloal config (#2029) 1 year 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 2303a57968 feat: ImagePreview add onDownloadError API (#2093) 1 year ago
input c44885512a fix: optimize code 1 year ago
inputNumber c57882d5b3 fix: fixed InputNumber formatter bug related to #1772 (#1870) 2 years ago
layout 9b82b7e001 chore: eslint fix 2 years ago
list e98352e6d5 test: replace demo text 1 year ago
locale 1235e0d11c fix: Modify inaccurate expressions in locale vi-VN translation (#2154) 1 year ago
markdownRender 4e4be8359f chore: change markdown render add code highlight 1 year ago
modal aa1cdbb93e fix: fix modal footerfill button marginleft 1 year ago
navigation 911c0cb5a8 fix: fix Nav openKeys bug when selectedKeys change #2115 (#2123) 1 year ago
notification 84a48ef260 feat: provide overriding default props to some components via gloal config (#2029) 1 year ago
overflowList 84a48ef260 feat: provide overriding default props to some components via gloal config (#2029) 1 year ago
pagination b8ddda290e fix: pagination popoverZIndex don't take effect on sizeChanger (#1896) 2 years ago
popconfirm 84a48ef260 feat: provide overriding default props to some components via gloal config (#2029) 1 year ago
popover 84a48ef260 feat: provide overriding default props to some components via gloal config (#2029) 1 year ago
progress f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
radio 506a7ca516 fix: fix type = button / card RadioGroup style, close #1954, #2126 (#2149) 1 year ago
rating f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
resizeObserver 63efc79d5f fix: fix the error accessing empty element in ReactResizeObserver (#2095) 1 year ago
scripts 6ebc1b8a5e chore: remove useless license.txt in the dist dir 1 year ago
scrollList f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
select 436bec6819 fix: select multiple filter, last line tag padding higher than other, close #1667 (#2151) 1 year ago
sideSheet 52d9910050 merge release 1 year ago
skeleton bd83d1f9cd chore: format code 3 years ago
slider c44885512a fix: optimize code 1 year 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 ea3a994d95 fix: fix steps some hover active style (#1836) 2 years ago
switch f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
table e98352e6d5 test: replace demo text 1 year ago
tabs e98352e6d5 test: replace demo text 1 year ago
tag 1e4b31f644 feat: tag support suffixIcon、prefixIcon (#1832) 2 years ago
tagInput 575577f1f3 fix: fix click outside handler in webcomponent (#2084) 1 year ago
timePicker 575577f1f3 fix: fix click outside handler in webcomponent (#2084) 1 year ago
timeline d4b9f3276b feat: pass data-* attribute to dom (#1630) 2 years ago
toast 42cc6615ea fix: change toast unit test 1 year ago
tooltip 575577f1f3 fix: fix click outside handler in webcomponent (#2084) 1 year ago
transfer ef375fb64e refactor: change react-sortable-hoc to dnd-kit for Transfer/Taginput … (#1738) 2 years ago
tree 13bd04d082 fix: fix typeError in tree when value not in treeData 1 year ago
treeSelect 1d87de25fc fix: Fix the abnormal expansion status of selected options after selecting options in single selection, filterTreeNode, and loadData TreeSelect 1 year ago
trigger f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
typography 11f27925cb fix: Fix the omission exception when children in Typography is a template string 1 year ago
upload 599c348d74 fix: upload addOnPasting switch to false should not trigger process (#2176) 1 year 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 8b0f9f0509 Merge branch 'plus/done' into plus/codeHighlight 1 year ago
package.json 9a550bac4e v2.59.0-alpha.4 1 year 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