/element-plus

🎉 A Vue.js 3 UI Library made by Element team

Primary LanguageVueMIT LicenseMIT


Element Plus - A Vue.js 3 UI library

  • 💪 Vue 3 Composition API
  • 🔥 Written in TypeScript

Archived website

If you are looking for previous version website, here is the link.

Element Plus Documentation Archived

The new website is launched at 17th Sep 2021.

Status: Beta

This project is still under heavy development. Feel free to join us and make your first pull request.

Playground

Try it with code sandbox

Edit element-plus

Try it with our built-in playground

Playground

Special thanks to the generous sponsorship by:



Translations

Element Plus is translated to multiple languages, you can click the badge to help up update the translation or apply to become a proofreader Crowdin

Documentation

You can find for more details, API, and other docs on https://element-plus.org

国内加速镜像站点

Join our Discord to start communicating with everybody.

Breaking change list

You can find the breaking change list here: Breaking Change List.

Bootstrap project

With command

$ pnpm i

the project will install all dependencies

Website preview

With command

$ pnpm docs:dev

the project will launch website for you to preview all existing component

Local development

  1. With command
$ pnpm dev

will start the local development environment

  1. Add your component into play/play.vue

play.vue

<template>
  <ComponentYouAreDeveloping />
</template>

<script setup lang="ts">
// make sure this component is registered in @element-plus/components
import { ComponentYouAreDeveloping } from '@element-plus/components'
</script>

Modify play.vue file per your needs to get things work.

Component migration process

  1. Convert the item in https://github.com/element-plus/element-plus/projects/1 to an issue
  2. Assign yourself to the issue
  3. Author your component by generating new component command below
  4. Migrate tests and docs
  5. Open a new pull request, fill in the component issue link in 1

Generate new component

With command

$ pnpm gen component-name

Note the component-name must be in kebab-case, combining words by replacing each space with a dash.

And component type must be added to packages/element-plus/global.d.ts.

Commit template

With command

pnpm cz

Example

# [TYPE](SCOPE): [el-component-name] DESCRIPTION#[ISSUE]
# example: feat(components): [el-button] add type for form usage #1234

Licence

Element Plus is open source software licensed as MIT.

Contributors

This project wouldn't exist without our amazing contributors