DaiQiangReal 931b4b8a72 fix: tooltip nativeAnchor optional il y a 1 an
..
_base 6a81a795f3 chore: docs & example in story optimize il y a 1 an
_cssAnimation 73401f34e4 fix: fix tooltip animation in react18 #1225 (#1227) il y a 3 ans
_portal dc6f3f7fee fix: optimize code il y a 2 ans
_sortable 1d5f248c93 fix: Fixed the issue in Transfer that quick drag failed due to too long drag sensing delay time il y a 2 ans
_test_ d4c3d4b522 chore: use eslint to format code (#1162) il y a 3 ans
_utils 52b37b12e1 feat: highlight searchWords support object props (#2600) il y a 1 an
anchor 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) il y a 1 an
audioPlayer 26e6825d40 fix: resolve style issues in audio player (#2685) il y a 1 an
autoComplete 52b37b12e1 feat: highlight searchWords support object props (#2600) il y a 1 an
avatar 53bb70ba9b chore: fix Avatar/AvatarGroup size type error il y a 1 an
backtop 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) il y a 1 an
badge 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) il y a 1 an
banner 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) il y a 1 an
breadcrumb 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) il y a 1 an
button 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) il y a 1 an
calendar 95dc5a430b Merge branch 'release' il y a 1 an
card 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) il y a 1 an
carousel 2c43674a31 fix: render state value in children render always get init one (#2634) il y a 1 an
cascader ff55418f9d style: Modify default empty data display style in Cascader, to be consistent with TreeSelect/Select (#2725) il y a 1 an
chat a5ff50d5d8 Feat/chat 2735 (#2739) il y a 1 an
checkbox f8004dfb8f style: [Checkbox] Modify unreasonable naming, undisabled -> enable (#2494) il y a 1 an
codeHighlight a87ee93f0b fix: code highlight add semi-light-scrollbar il y a 1 an
collapse 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) il y a 1 an
collapsible d71a32889a fix: [Collapsible] remove useless isEqual compare in componentDidUpdate il y a 1 an
colorPicker c5ca0a25c7 fix: optimize colorPicker code il y a 1 an
configProvider 458a4dcbd2 feat: ConfigConsumer il y a 1 an
cropper 7c205edb90 feat: add Cropper componnent (#2642) il y a 1 an
datePicker 8df42ba7d3 fix: Update the display logic of months in different years under type monthRange (#2608) il y a 1 an
descriptions 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) il y a 1 an
divider 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) il y a 1 an
dragMove d9e931c738 fix: Fixed the issue in DragMove that after setting the handler, DragMove child elements can still be dragged (#2662) il y a 1 an
dropdown fd051c8198 fix: fix dropdown onVisibleChange not defined some time (#2454) il y a 1 an
empty 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) il y a 1 an
form d72b546e6b fix: add warning of field validate race warning, formApi.scrollToError type define, Form.InputGroup miss defaultProps (#2719) il y a 1 an
grid 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) il y a 1 an
highlight 52b37b12e1 feat: highlight searchWords support object props (#2600) il y a 1 an
hotKeys 33d762b11d chore: Hotkeys, move the event DOM operation to the adapter (#2515) il y a 1 an
iconButton cab27191a0 feat: Button Badge add contentClassName (#2262) il y a 1 an
icons 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) il y a 1 an
image 63d0a0b499 chore: Image component props support native img element attributes (#2427) il y a 1 an
input 23e87e4dbc feat: inputnumber add currency support (#2742) il y a 1 an
inputNumber 23e87e4dbc feat: inputnumber add currency support (#2742) il y a 1 an
jsonViewer 2ee87cfdb1 docs(changelog): v2.77.0 update il y a 1 an
layout 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) il y a 1 an
list 56a3cf3b69 docs: update list drag demo use dnd-kit (#2717) il y a 1 an
locale 0d6fd1c2ac fix: update pl_Pl file il y a 1 an
lottie 5a83d41be8 chore: doc il y a 1 an
markdownRender bc981acf20 fix: MarkdownRender table duplicate column elements il y a 1 an
modal 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) il y a 1 an
navigation 674612e3d1 fix: add a new selector type for the hover style fallback in the renderWrapper scenario (#2691) il y a 1 an
notification 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) il y a 1 an
overflowList cf816b24b4 fix: deepclone items when getOverflowItem to Prevent props.items from being changed internally due to rapid clicks (#2423) il y a 1 an
pagination 98684cbf50 fix: [Pagination] Fixed page capacity switcher did not switch language correctly when switching languages (#2698) il y a 1 an
pincode 95b8f3074d fix: pinCode number format IME issue in iOS il y a 1 an
popconfirm b786b6eb04 fix: change popconfirm test il y a 1 an
popover 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) il y a 1 an
progress 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) il y a 1 an
radio 8e653139fc feat: [RadioGroup] options added addonStyles/addonClassName/addonId/extraId (#2706) il y a 1 an
rating 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) il y a 1 an
resizable 3c4e287508 fix: Fix Resizable not working on touch screen il y a 1 an
resizeObserver 63efc79d5f fix: fix the error accessing empty element in ReactResizeObserver (#2095) il y a 2 ans
scripts 6ebc1b8a5e chore: remove useless license.txt in the dist dir il y a 2 ans
scrollList 5ec3889a0c fix(datepicker): fixed chrome crashed bug by scrollList aria prop #2722 (#2723) il y a 1 an
select cd80ea5060 feat: tooltip use native anchor il y a 1 an
sideSheet 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) il y a 1 an
skeleton 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) il y a 1 an
slider eeafecf1f9 fix: fix slider handle flash in control mode (#2442) il y a 1 an
space 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) il y a 1 an
spin 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) il y a 1 an
steps 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) il y a 1 an
switch 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) il y a 1 an
table b6216f4a3e feat: Table onChange add extra.changeType API #1238 (#2617) il y a 1 an
tabs b092971f02 fix: Modify the implementation of slashes & support dropdownProps settings il y a 1 an
tag 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) il y a 1 an
tagInput 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) il y a 1 an
timePicker 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) il y a 1 an
timeline 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) il y a 1 an
toast 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) il y a 1 an
tooltip 931b4b8a72 fix: tooltip nativeAnchor optional il y a 1 an
transfer cde4825d2b fix: When all items except the disabled item in the left panel of tra… (#2574) il y a 1 an
tree 4254a00262 feat: Tree/TreeSelect add expandIcon API il y a 1 an
treeSelect 479f0f8c18 fix: add prefix/suffix color token in Select/Cascader/TreeSelect (#2720) il y a 1 an
trigger f05ed24b0b chore: remove file head lint rule which already set global (#1706) il y a 2 ans
typography 1ca2dfd4aa fix: Modify the way to clear ellipsisContainer and removDDe the obsolete use of ReactDOM.render() il y a 1 an
upload 942121dc13 feat: add renderPicClose suppport in upload (#2714) il y a 1 an
userGuide 573124c9e1 feat: support userGuide component (#2733) il y a 1 an
README.md 581de64d5e docs: update component number il y a 1 an
getBabelConfig.js 496f3db0f7 chore: remove corejs il y a 3 ans
gulpfile.js 9c3a607100 chore: auto format code il y a 3 ans
index.ts 573124c9e1 feat: support userGuide component (#2733) il y a 1 an
package.json f492bd51b1 v2.77.0-beta.0 il y a 1 an
tsconfig.json ea4a06bb0e fix: change tsconfig libo il y a 1 an
webpack.config.js bd811b964d chore: lock webpack version il y a 1 an

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