DaiQiangReal d0a6cba737 chore: backup 3 months ago
..
_base 6a81a795f3 chore: docs & example in story optimize 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 2 years ago
_test_ d4c3d4b522 chore: use eslint to format code (#1162) 3 years ago
_utils fe6387877c feat: custom global indicator for Spin (#2897) 8 months ago
aiChatDialogue a14034fe77 fix: add prismjs to chat & dialogue to aviod prism is no defined problem (#3085) 3 months ago
aiChatInput b9e65c792a Merge branch 'release' 3 months ago
anchor 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) 1 year ago
audioPlayer 417c859d0f fix: fixed The problems in the use of Tooltip in components(AudioPlay… (#3039) 4 months ago
autoComplete 3bfbf4f8bb Feat/semi UI 19 (#2996) 4 months ago
avatar 3bfbf4f8bb Feat/semi UI 19 (#2996) 4 months ago
backtop 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) 1 year ago
badge 9163f9f174 fix: the light theme badge does not look as expected when used alone (#2930) 8 months ago
banner 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) 1 year ago
breadcrumb c2a12271e8 style: Fix the style problem of BreadCrumb in noLink mode (#2884) 9 months ago
button 66d1be95fd Feat dialogue (#2997) 5 months ago
calendar 3bfbf4f8bb Feat/semi UI 19 (#2996) 4 months ago
card 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) 1 year ago
carousel 2c43674a31 fix: render state value in children render always get init one (#2634) 1 year ago
cascader 3bfbf4f8bb Feat/semi UI 19 (#2996) 4 months ago
chat b157e3d45a Merge branch 'main' into release 3 months ago
checkbox 3bfbf4f8bb Feat/semi UI 19 (#2996) 4 months ago
clientAI d0a6cba737 chore: backup 3 months ago
codeHighlight a87ee93f0b fix: code highlight add semi-light-scrollbar 1 year ago
collapse 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) 1 year ago
collapsible 3bfbf4f8bb Feat/semi UI 19 (#2996) 4 months ago
colorPicker c5ca0a25c7 fix: optimize colorPicker code 1 year ago
configProvider 458a4dcbd2 feat: ConfigConsumer 1 year ago
cropper 16294a73ef feat: [Cropper] add preview API for realtime preivew croppered image (#2782) 1 year ago
datePicker 8df42ba7d3 fix: Update the display logic of months in different years under type monthRange (#2608) 1 year ago
descriptions 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) 1 year ago
divider 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) 1 year ago
dragMove bc4109de8d fix: fix Dragmove cannot be used as a JSX componen (#3045) 4 months ago
dropdown 3bfbf4f8bb Feat/semi UI 19 (#2996) 4 months ago
empty 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) 1 year ago
feedback 4f345b54f7 fix: fix import bug 3 months ago
floatButton 4db0d84458 fix: Fixed an issue where a TypeError occurred when clicking a floatButton without passing an onClick method (#3052) 4 months ago
form 3bfbf4f8bb Feat/semi UI 19 (#2996) 4 months ago
grid 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) 1 year ago
highlight 52b37b12e1 feat: highlight searchWords support object props (#2600) 1 year ago
hotKeys 33d762b11d chore: Hotkeys, move the event DOM operation to the adapter (#2515) 1 year ago
iconButton 66d1be95fd Feat dialogue (#2997) 5 months ago
icons 66d1be95fd Feat dialogue (#2997) 5 months ago
image 417c859d0f fix: fixed The problems in the use of Tooltip in components(AudioPlay… (#3039) 4 months ago
input 5bbcc241fb feat(input): add compositionEvent callback in input component (#2922) 8 months ago
inputNumber 669e0007aa fix: add Math.round to inputnumber calculate to avoid js precision calculation problem (#3026) 4 months ago
jsonViewer b3356487aa feat: expose jsonviewer search api (#2755) 1 year ago
layout 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) 1 year ago
list 3bfbf4f8bb Feat/semi UI 19 (#2996) 4 months ago
locale 0448f2be4b chore: backup 3 months ago
lottie 5a83d41be8 chore: doc 1 year ago
markdownRender d0284f2f7d chore: optimize markdownrender propTypes 5 months ago
modal 3bfbf4f8bb Feat/semi UI 19 (#2996) 4 months ago
navigation 417c859d0f fix: fixed The problems in the use of Tooltip in components(AudioPlay… (#3039) 4 months ago
notification 6d38db9c64 fix: [Toast][Notification] Fixed a TypeError issue that occurred on the first Toast/Notification imperative call in React v19 (#3053) 4 months ago
overflowList cf816b24b4 fix: deepclone items when getOverflowItem to Prevent props.items from being changed internally due to rapid clicks (#2423) 1 year ago
pagination 98684cbf50 fix: [Pagination] Fixed page capacity switcher did not switch language correctly when switching languages (#2698) 1 year ago
pincode 3bfbf4f8bb Feat/semi UI 19 (#2996) 4 months ago
popconfirm b786b6eb04 fix: change popconfirm test 1 year ago
popover 3bfbf4f8bb Feat/semi UI 19 (#2996) 4 months ago
progress c1f2ca8eeb fix: Fixed the problem that when the hot area for sorting is the enti… (#2803) 11 months ago
radio 44566f9df3 fix: Radio/RadioGroup value add boolean type support (#3019) 5 months ago
rating 417c859d0f fix: fixed The problems in the use of Tooltip in components(AudioPlay… (#3039) 4 months ago
resizable 3c4e287508 fix: Fix Resizable not working on touch screen 1 year ago
resizeObserver 3bfbf4f8bb Feat/semi UI 19 (#2996) 4 months ago
scripts 8ef774204a fix: publish with source code 3 months ago
scrollList 5ec3889a0c fix(datepicker): fixed chrome crashed bug by scrollList aria prop #2722 (#2723) 1 year ago
select 3bfbf4f8bb Feat/semi UI 19 (#2996) 4 months ago
sideSheet 66d1be95fd Feat dialogue (#2997) 5 months ago
skeleton 3bfbf4f8bb Feat/semi UI 19 (#2996) 4 months ago
slider 3bfbf4f8bb Feat/semi UI 19 (#2996) 4 months ago
space 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) 1 year ago
spin fe6387877c feat: custom global indicator for Spin (#2897) 8 months ago
steps 3bfbf4f8bb Feat/semi UI 19 (#2996) 4 months ago
switch 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) 1 year ago
table 4b1a6451a8 fix: Fixed where the border setting of the outer table affected the style of the inner table when multiple levels of table nesting were used (#3083) 3 months ago
tabs 3bfbf4f8bb Feat/semi UI 19 (#2996) 4 months ago
tag 66d1be95fd Feat dialogue (#2997) 5 months ago
tagInput b41fc3612a feat: [TagInput] add split API (#2984) 3 months ago
timePicker 1fc17f3b8c style: add color-scrollList_header-bg support (#2789) 1 year ago
timeline 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) 1 year ago
toast 6d38db9c64 fix: [Toast][Notification] Fixed a TypeError issue that occurred on the first Toast/Notification imperative call in React v19 (#3053) 4 months ago
tooltip 417c859d0f fix: fixed The problems in the use of Tooltip in components(AudioPlay… (#3039) 4 months ago
transfer cde4825d2b fix: When all items except the disabled item in the left panel of tra… (#2574) 1 year ago
tree 3bfbf4f8bb Feat/semi UI 19 (#2996) 4 months ago
treeSelect 3bfbf4f8bb Feat/semi UI 19 (#2996) 4 months ago
trigger f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
typography 417c859d0f fix: fixed The problems in the use of Tooltip in components(AudioPlay… (#3039) 4 months ago
upload 417c859d0f fix: fixed The problems in the use of Tooltip in components(AudioPlay… (#3039) 4 months ago
userGuide 5d79300385 fix: UserGuide click-through behavior (#2764) 1 year ago
videoPlayer ef269f7564 fix: add handleVideoPlay and handleVideoPause to update the isPlaying status (#3072) 4 months ago
README.md 581de64d5e docs: update component number 1 year ago
getBabelConfig.js 496f3db0f7 chore: remove corejs 3 years ago
gulpfile.js 9c3a607100 chore: auto format code 3 years ago
index.ts 0448f2be4b chore: backup 3 months ago
package.json 97aaec750b Merge branch 'main' into mcp 3 months ago
tsconfig.json 09d8752f3c feat: add videoPlayer support (#2822) 11 months ago
webpack.config.js f452dd2ed5 chore: update semi-ui webpack config 5 months 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] [![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 70+ 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 3000+ 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