/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

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/src/App.vue

App.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 App.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 typings/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

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. Become a sponsor

Contributors

This project exists thanks to all the people who contribute.

And thank you to all our backers! 🙏

Licence

Element Plus is open source software licensed as MIT.