Ant Design of React

Following the Ant Design specification, we developed a React UI library antd that contains a set of high quality components and demos for building rich, interactive user interfaces.

+

✨ Features#

  • 🌈 Enterprise-class UI designed for web applications.

  • 📦 A set of high-quality React components out of the box.

  • 🛡 Written in TypeScript with predictable static types.

  • ⚙️ Whole package of design resources and development tools.

  • 🌍 Internationalization support for dozens of languages.

  • 🎨 Powerful theme customization in every detail.

Environment Support#

  • Modern browsers and Internet Explorer 9+ (with polyfills)

  • Server-side Rendering

  • Electron

Version#

  • Stable: npm package

You can subscribe to this feed for new version notifications: https://github.com/ant-design/ant-design/releases.atom

Installation#

Using npm or yarn#

We recommend using npm or yarn to install, it not only makes development easier, but also allow you to take advantage of the rich ecosystem of Javascript packages and tooling.

$ npm install antd
$ yarn add antd

If you are in a bad network environment, you can try other registries and tools like cnpm.

Import in Browser#

Add script and link tags in your browser and use the global variable antd.

We provide antd.js antd.css and antd.min.js antd.min.css under antd/dist in antd's npm package. You can also download these files directly from CDNJS, or unpkg.

We strongly discourage loading the entire files this will add bloat to your application and make it more difficult to receive bugfixes and updates. Antd is intended to be used in conjunction with a build tool, such as webpack, which will make it easy to import only the parts of antd that you are using.

Note: you should import moment before using antd.js after 3.0.

Usage#

import { DatePicker } from 'antd';
ReactDOM.render(<DatePicker />, mountNode);

And import stylesheets manually:

import 'antd/dist/antd.css'; // or 'antd/dist/antd.less'

Use modularized antd#

Note: antd support ES6 tree shaking by default even without the below plugin.

  • Use babel-plugin-import (Recommended)

    // .babelrc or babel-loader option
    {
      "plugins": [
        ["import", { "libraryName": "antd", "libraryDirectory": "es", "style": "css" }] // `style: true` for less
      ]
    }

    This allows you to import components from antd without having to manually import the corresponding stylesheet. The antd babel plugin will automatically import stylesheets.

    // import js and css modularly, parsed by babel-plugin-import
    import { DatePicker } from 'antd';
  • Manually import

    import DatePicker from 'antd/es/date-picker'; // for js
    import 'antd/es/date-picker/style/css'; // for css
    // import 'antd/es/date-picker/style';         // that will import less

TypeScript#

  • Don't use @types/antd, as antd provides a built-in ts definition already.

Companies using antd#

If your company or product uses Ant Design, let us know here!

Contributing#

Please read our CONTRIBUTING.md first.

If you'd like to help us improve antd, just create a Pull Request. Feel free to report bugs and issues here.

If you're new to posting issues, we ask that you read How To Ask Questions The Smart Way and How to Ask a Question in Open Source Community and How to Report Bugs Effectively prior to posting. Well written bug reports help us help you!

Need Help?#

For questions on how to use antd, please post questions to Stack Overflow using the antd tag. If you're not finding what you need on stackoverflow, you can find us on Gitter as well.

As always, we encourage experienced users to help those who are not familiar with antd!

Getting Started