semi-team 5fa3239b65 v2.81.0 4 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 1 year ago
_test_ d4c3d4b522 chore: use eslint to format code (#1162) 3 years ago
_utils 52b37b12e1 feat: highlight searchWords support object props (#2600) 10 months ago
anchor 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) 1 year ago
audioPlayer b18be73a99 chore: Modify the image link in storybook to ensure Cypress test consistency 6 months ago
autoComplete 52b37b12e1 feat: highlight searchWords support object props (#2600) 10 months ago
avatar 53bb70ba9b chore: fix Avatar/AvatarGroup size type error 1 year ago
backtop 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) 1 year ago
badge 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) 1 year ago
banner 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) 1 year ago
breadcrumb 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) 1 year ago
button 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) 1 year ago
calendar 95dc5a430b Merge branch 'release' 1 year 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) 10 months ago
cascader dc2803a695 fix: Fixed the display problem of cascader with single selection, controlled value and value undefined, asynchronous loading, and showNext set to hover when loading multiple projects at the same time (#2832) 5 months ago
chat f8a673573c style: Fix the problem that the width of the chat content area is stretched by the table (#2775) 6 months ago
checkbox f8004dfb8f style: [Checkbox] Modify unreasonable naming, undisabled -> enable (#2494) 1 year 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 d71a32889a fix: [Collapsible] remove useless isEqual compare in componentDidUpdate 10 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) 6 months ago
datePicker 8df42ba7d3 fix: Update the display logic of months in different years under type monthRange (#2608) 10 months 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 d9e931c738 fix: Fixed the issue in DragMove that after setting the handler, DragMove child elements can still be dragged (#2662) 9 months ago
dropdown fd051c8198 fix: fix dropdown onVisibleChange not defined some time (#2454) 1 year ago
empty 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) 1 year ago
form 5f21f62263 chore: Update BaseFormProps Interface, render / children,support generic Values (#2840) 5 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) 10 months ago
hotKeys 33d762b11d chore: Hotkeys, move the event DOM operation to the adapter (#2515) 1 year ago
iconButton cab27191a0 feat: Button Badge add contentClassName (#2262) 1 year ago
icons 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) 1 year ago
image 63d0a0b499 chore: Image component props support native img element attributes (#2427) 1 year ago
input b56fa2b1dc fix: Fixed the problem that when maxLength and getValueLength are set… (#2859) 4 months ago
inputNumber 27934fdc87 Merge branch main into release 7 months ago
jsonViewer b3356487aa feat: expose jsonviewer search api (#2755) 7 months ago
layout 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) 1 year ago
list 56a3cf3b69 docs: update list drag demo use dnd-kit (#2717) 8 months ago
locale 09d8752f3c feat: add videoPlayer support (#2822) 5 months ago
lottie 5a83d41be8 chore: doc 1 year ago
markdownRender bc981acf20 fix: MarkdownRender table duplicate column elements 7 months ago
modal 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) 1 year ago
navigation 674612e3d1 fix: add a new selector type for the hover style fallback in the renderWrapper scenario (#2691) 7 months ago
notification 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) 1 year 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) 8 months ago
pincode 95b8f3074d fix: pinCode number format IME issue in iOS 8 months ago
popconfirm b786b6eb04 fix: change popconfirm test 10 months ago
popover 6a4a47ed30 style: Modify the color of Popover arrow to ensure that the configuration can take effect through DSM (#2806) 6 months ago
progress c1f2ca8eeb fix: Fixed the problem that when the hot area for sorting is the enti… (#2803) 6 months ago
radio 8e653139fc feat: [RadioGroup] options added addonStyles/addonClassName/addonId/extraId (#2706) 7 months ago
rating 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) 1 year ago
resizable 3c4e287508 fix: Fix Resizable not working on touch screen 8 months 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 5ec3889a0c fix(datepicker): fixed chrome crashed bug by scrollList aria prop #2722 (#2723) 8 months ago
select 137a647142 fix: add child key to restGroupProps to make group key uniq (#2854) 4 months ago
sideSheet 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) 1 year ago
skeleton 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) 1 year ago
slider eeafecf1f9 fix: fix slider handle flash in control mode (#2442) 1 year ago
space 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) 1 year ago
spin 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) 1 year ago
steps 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) 1 year ago
switch 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) 1 year ago
table d117368c32 style: Fixed the issue that when the Table component sets the header background color through style in onHeaderCell, the fixed header does not take effect (#2821) 5 months ago
tabs 44b19ef61f fix: tabs add scrollActiveTabItemIntoView to componentDidMount (#2787) 6 months ago
tag 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) 1 year ago
tagInput 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) 1 year ago
timePicker 1fc17f3b8c style: add color-scrollList_header-bg support (#2789) 6 months ago
timeline 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) 1 year ago
toast 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) 1 year ago
tooltip 5675a987dd fix: Modify the timing of getting position of container in tooltip to… (#2841) 4 months ago
transfer cde4825d2b fix: When all items except the disabled item in the left panel of tra… (#2574) 11 months ago
tree f0cb8675e9 fix: treeData prop add key type warning (#2773) 5 months ago
treeSelect 479f0f8c18 fix: add prefix/suffix color token in Select/Cascader/TreeSelect (#2720) 8 months ago
trigger f05ed24b0b chore: remove file head lint rule which already set global (#1706) 2 years ago
typography 1ca2dfd4aa fix: Modify the way to clear ellipsisContainer and removDDe the obsolete use of ReactDOM.render() 8 months ago
upload 112d4dc296 feat: add filename tooltip when the filename is too long 7 months ago
userGuide 5d79300385 fix: UserGuide click-through behavior (#2764) 7 months ago
videoPlayer 09d8752f3c feat: add videoPlayer support (#2822) 5 months ago
README.md 581de64d5e docs: update component number 10 months ago
getBabelConfig.js 496f3db0f7 chore: remove corejs 3 years ago
gulpfile.js 9c3a607100 chore: auto format code 3 years ago
index.ts 09d8752f3c feat: add videoPlayer support (#2822) 5 months ago
package.json 5fa3239b65 v2.81.0 4 months ago
tsconfig.json 09d8752f3c feat: add videoPlayer support (#2822) 5 months ago
webpack.config.js bd811b964d chore: lock webpack version 1 year 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