back to home

DouyinFE / semi-design

๐Ÿš€A modern, comprehensive, flexible design system and React UI library. ๐ŸŽจ Provide more than 3000+ Design Tokens, easy to build your design system. Make Semi Design to Any Design. ๐Ÿง‘๐Ÿปโ€๐Ÿ’ป Design to Code in one click

9,730 stars
796 forks
339 issues
TypeScriptJavaScriptSCSS

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing DouyinFE/semi-design in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind-ai.vercel.app/repo/DouyinFE/semi-design)
Preview:Analyzed by RepoMind

Repository Summary (README)

Preview
<div align="center"> <article style="display: flex; flex-direction: column; align-items: center; justify-content: center;"> <p align="center"><img width="300" src="https://lf1-cdn-tos.bytescm.com/obj/ttfe/ies/semi/SemiLogo/Logo_1576122865926.png" /></p> <h1 style="width: 100%; text-align: center;">Semi-UI</h1> <p> A modern, comprehensive, flexible design system and UI library. Connect DesignOps & DevOps. Quickly build beautiful React apps. </p> </article> <div align="center">

Twitter Follow

LICENSE NPM CONTRIBUTORS Design Token FIGMA CODECOV Chromatic Cypress

</div> <p> <img src="https://lf3-static.bytednsdoc.com/obj/eden-cn/ptlz_zlp/ljhwZthlaukjlkulzlp/semi-info-1.gif" /> </p>

English | ็ฎ€ไฝ“ไธญๆ–‡

</div>

๐ŸŽ‰ Features

  • ๐Ÿ’ช Up to 80+ high-quality Components. Stable updates since 2019
  • ๐Ÿš€ Official Design to Code (D2C) support, convert Figma draft to real code in a few seconds
  • ๐Ÿ’… Code to Design (C2D), automatically generate Figma UI Kit according to different themes, keep consistency between design and code
  • ๐Ÿ’• Complete A11y support, follows W3C standards to provide keyboard interaction, focus management and ARIA for all components
  • ๐Ÿ’… Design system management Semi DSM, up to 3000+ Design Tokens, make Semi Design to Any Design quickly.
  • ๐ŸŒ Internationalization Support for Dozens of Languages, timezone, and RTL support
  • โš™๏ธ Strict quality assurance, covering unit testing, E2E testing, and visual testing.
  • ๐Ÿ‘ Written in Typescript, friendly Static Type Support. Based on Foundation/Adapter architecture, easy to read and contribute
  • ๐Ÿฅณ SSR (Server Side Rendering) Compatible.
  • ๐Ÿ“ฆ Easily compatible with web components, providing a complete adaptation solution, more suitable for building SDKs, browser plugins and other scenarios that require DOM isolation.

๐Ÿ”ฅ Install

npm install @douyinfe/semi-ui
yarn add @douyinfe/semi-ui
pnpm add @douyinfe/semi-ui

๐Ÿ‘ Component Usage

Here is a quick example to get you started, it's all you need:

import React from 'react';
import { createRoot } from 'react-dom/client';
import { Button, Form } from '@douyinfe/semi-ui';

const App = () => (
    <Form>
        <Form.Input field='name' initValue='semi design'></Form.Input>
        <Button htmlType='submit'>submit</Button>
    </Form>
);

const root = createRoot(document.querySelector('#app'));

root.render(<App />);

Semi UI Doc Site has hundreds of editable examples and live preview, welcome to play with those examples.

โšก๏ธ Design to Code Usage

Install Semi Figma Plugin. Translate Figma to real code in seconds. Support multiple output formats: JSX + SCSS / Emotion/Tailwind, or JSON Schema DSL

  • Support Figma devmode, selecting a layer, directly get corresponding code on the right

design2code

  • Or jump to codesandbox to continue editing

codesandboxdemo

๐ŸŽจ DSM Usage

Define your own design system based on Semi UI with DSM in one click, Provide more than 3000 tokens for you to configure every detail. Sync between Figma and Code always.

dsmintro

๐Ÿ“ฐ News about Semi UI

๐Ÿ“Œ Documentation

๐Ÿ“ Blogs

๐Ÿ‘Œ Platform Support

Semi UI supports all major modern browsers.

<img alt="chrome" height="24px" src="https://cdnjs.cloudflare.com/ajax/libs/browser-logos/70.4.0/chrome/chrome.png" /><br>chrome<img alt="firefox" height="24px" src="https://cdnjs.cloudflare.com/ajax/libs/browser-logos/70.4.0/firefox/firefox.png" /><br>firefox<img alt="safari" height="24px" src="https://cdnjs.cloudflare.com/ajax/libs/browser-logos/70.4.0/safari/safari.png" /><br>safari<img alt="IE/Edge" height="24px" src="https://cdnjs.cloudflare.com/ajax/libs/browser-logos/70.4.0/edge/edge.png" /><br> IE/Edge<img alt="electron" height="24px" src="https://cdnjs.cloudflare.com/ajax/libs/browser-logos/70.4.0/electron/electron.png" /><br>Electron
latest 2 versionslatest 2 versionslatest 2 versionsEdgelatest 2 versions

๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ฆ User Group

Join User Group on Feishu / Lark

๐Ÿ’– Thanks

<a href="https://www.chromatic.com/"><img src="https://user-images.githubusercontent.com/321738/84662277-e3db4f80-af1b-11ea-88f5-91d67a5e59f6.png" width="153" height="30" alt="Chromatic" /></a>

Thanks to Chromatic for providing the visual testing platform that helps us review UI changes and catch visual regressions.

<a href="https://www.cypress.io/"><img src="https://user-images.githubusercontent.com/26477537/147624641-1274a91d-bc4c-463e-af1a-dbf15de54c49.png" width="90" height="30" alt="Cypress" /></a>

Thanks to Cypress for providing E2E testing.

<div> <a href="https://www.visactor.com#gh-light-mode-only" target="_blank"> <img alt="VisActor Logo" height="30" src="https://lf-dp.bytetos.com/obj/dp-open-internet-cn/visactor-site/bytedance/client/img/visactor/navigator-logo.svg"/> </a> <a href="https://www.visactor.com#gh-dark-mode-only" target="_blank"> <img alt="VisActor Logo" height="30" src="https://lf9-dp-fe-cms-tos.byteorg.com/obj/bit-cloud/visactor/logo_500_200_dark.svg"/> </a> </div>

Thanks to VisActor for providing the data visualization solution.

๐Ÿ‘ Contributing

Thanks to all the people who already contributed!

<a href="https://github.com/DouyinFE/semi-design/graphs/contributors"> <img src="https://contrib.rocks/image?repo=DouyinFE/semi-design" /> </a>

Read the contributing guide to learn about our development process, how to propose bug fixes and improvements, and how to build and test your changes to Semi UI.

See CONTRIBUTING documentation.

๐ŸŽˆ License

Semi UI is MIT Licensed