SudoUser 51836b5339 Merge pull request #3006 from DouyinFE/fix/3005 1 month 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 fe6387877c feat: custom global indicator for Spin (#2897) 4 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 7 months ago
autoComplete 534f4e5cc4 fix: Fixed the problem that AutoComplete did not highlight matching items when searching after data update (#2952) 3 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 9163f9f174 fix: the light theme badge does not look as expected when used alone (#2930) 3 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) 4 months 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) 11 months ago
cascader 056ae405a1 Fix/2967 (#2970) 3 months ago
chat f8a673573c style: Fix the problem that the width of the chat content area is stretched by the table (#2775) 7 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 54f40441fa fix: Fixed an issue in Chrome V140 and 141 where an error would occur when expanding Tree/TreeSelect after collapsing it 1 month 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) 8 months 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 d9e931c738 fix: Fixed the issue in DragMove that after setting the handler, DragMove child elements can still be dragged (#2662) 10 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) 6 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 fe6387877c feat: custom global indicator for Spin (#2897) 4 months ago
icons 3a7a6d1e55 chore: update ci workflow node 16 -> node 20 (#2109) 1 year ago
image ec0f7b370d feat: add some icon iconrender method (#2919) 3 months ago
input 5bbcc241fb feat(input): add compositionEvent callback in input component (#2922) 3 months ago
inputNumber deb33fc48a fix: Fixed InputNumber component filtering currency/internal parameters when passing props through to avoid defaultCurrency and other polluting native DOM properties. (#2961) 3 months ago
jsonViewer b3356487aa feat: expose jsonviewer search api (#2755) 8 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) 9 months ago
locale 9176c05534 fix: convert item.value to item.month to ensure that the datepicker can compare the correct numbers instead of letters in monthRange (#2871) 5 months ago
lottie 5a83d41be8 chore: doc 1 year ago
markdownRender bc981acf20 fix: MarkdownRender table duplicate column elements 9 months ago
modal 9d286b189d fix: Fix the problem that the height setting in modal does not take e… (#2901) 4 months ago
navigation 674612e3d1 fix: add a new selector type for the hover style fallback in the renderWrapper scenario (#2691) 9 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) 9 months ago
pincode 95b8f3074d fix: pinCode number format IME issue in iOS 9 months ago
popconfirm b786b6eb04 fix: change popconfirm test 1 year ago
popover 6a4a47ed30 style: Modify the color of Popover arrow to ensure that the configuration can take effect through DSM (#2806) 7 months ago
progress c1f2ca8eeb fix: Fixed the problem that when the hot area for sorting is the enti… (#2803) 7 months ago
radio 8e653139fc feat: [RadioGroup] options added addonStyles/addonClassName/addonId/extraId (#2706) 9 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 9 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) 9 months ago
select 137a647142 fix: add child key to restGroupProps to make group key uniq (#2854) 5 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 0efd57035e fix: fixed the problem that the handle position of Slider is incorrect when clicking or dragging under scrollable conditions 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) 4 months 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) 6 months ago
tabs eafa1b697b fix: only collapsible tab in viewport trigger scroll into view (#2918) 4 months ago
tag a0a218d3ba style: Fixed the closeIcon color error of solid and white tags (#2935) 4 months ago
tagInput 056ae405a1 Fix/2967 (#2970) 3 months ago
timePicker 1fc17f3b8c style: add color-scrollList_header-bg support (#2789) 7 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 5b4d5a0c22 fix: 2682 (#2928) 3 months ago
transfer cde4825d2b fix: When all items except the disabled item in the left panel of tra… (#2574) 1 year ago
tree f0cb8675e9 fix: treeData prop add key type warning (#2773) 6 months ago
treeSelect 2502d38a9e fix: Fixed when TreeSelect is disabled, clicking on the trigger would… (#2969) 3 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() 9 months ago
upload 112d4dc296 feat: add filename tooltip when the filename is too long 8 months ago
userGuide 5d79300385 fix: UserGuide click-through behavior (#2764) 8 months ago
videoPlayer 09d8752f3c feat: add videoPlayer support (#2822) 6 months ago
README.md 581de64d5e docs: update component number 11 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) 6 months ago
package.json dd073a7b07 v2.87.0 1 month ago
tsconfig.json 09d8752f3c feat: add videoPlayer support (#2822) 6 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