Go to file
2022-01-09 17:38:51 +08:00
.github ci: add jest coverage workflow (#5229) 2022-01-08 23:18:21 -05:00
.husky chore(project): use pretty-quick (#3755) 2021-10-01 14:17:16 +08:00
.vscode chore(dev): add i18n-ally vscode config (#4160) 2021-11-03 15:45:41 +08:00
build refactor: upgrade vue & remove @vue/compiler-sfc (#4815) 2021-12-28 17:15:54 +08:00
docs feat(components): [el-message] config-provider message max attr (#5063) 2022-01-08 20:03:13 +08:00
packages fix: tooltip with compoents add persistent (#5250) 2022-01-09 17:38:51 +08:00
play chore(deps): update dependency vite-plugin-inspect to v0.3.13 (#5137) 2022-01-04 22:54:36 +08:00
scripts ci: publish nightly version (#5041) 2021-12-30 17:06:13 +08:00
typings feat: add global properties typings (#5075) 2021-12-31 16:39:10 +08:00
.editorconfig feat/add-storybook 2020-07-24 19:20:37 +08:00
.eslintignore chore: ignore CHANGELOG lint (#3762) 2021-10-07 11:57:16 +08:00
.eslintrc.js chore(deps): update dependency eslint-plugin-vue to v8 (#4105) 2021-10-30 18:13:00 +08:00
.gitattributes chore(project): improve prettier format (#3236) 2021-09-05 00:53:31 +08:00
.gitignore build: refactor each package build (#3709) 2021-09-28 20:28:47 +08:00
.markdownlint.json feat(components): add virtual tree (#3398) 2021-09-27 11:12:50 +08:00
.npmrc refactor(style): adjust component size to large/default/small (#4491) 2021-12-12 17:54:21 +08:00
.nvmrc refactor: replace yarn with pnpm (#3571) 2021-09-23 08:12:37 +08:00
.prettierignore chore: ignore CHANGELOG lint (#3762) 2021-10-07 11:57:16 +08:00
.prettierrc chore(project): improve prettier format (#3236) 2021-09-05 00:53:31 +08:00
CHANGELOG.en-US.md chore: Update changelog 1.3.0-beta.2 (#5222) 2022-01-08 20:11:18 +08:00
CODE_OF_CONDUCT.md style: use prettier (#3228) 2021-09-04 19:29:28 +08:00
commitlint.config.js refactor: replace yarn with pnpm (#3571) 2021-09-23 08:12:37 +08:00
DEV_FAQ.md fix(style): remove chinese comments in checkbox (#4189) 2021-11-04 10:04:38 +08:00
jest.config.js feat(components): [el-message] config-provider message max attr (#5063) 2022-01-08 20:03:13 +08:00
jest.setup.js refactor(components): refactor tabs 2021-11-12 05:43:40 +08:00
LICENSE Create LICENSE 2020-08-18 13:53:45 +08:00
package.json chore(deps): update dependency sass to v1.47.0 (#5217) 2022-01-08 15:39:35 +08:00
pnpm-lock.yaml chore(deps): update dependency vitepress to v0.21.4 (#5213) 2022-01-08 16:35:49 +08:00
pnpm-workspace.yaml refactor: replace yarn with pnpm (#3571) 2021-09-23 08:12:37 +08:00
README.md Update README.md 2021-12-31 14:01:14 +08:00
renovate.json5 fix(build): fix types (#4254) 2021-11-05 22:47:03 -04:00
tsconfig.json fix(build): compatible to build on windows (#4747) 2021-12-10 18:18:16 +08:00


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.