/tiny-vue

TinyVue is an enterprise-class UI component library of OpenTiny community, support both Vue.js 2 and Vue.js 3, as well as PC and mobile.

Primary LanguageLess

OpenTiny Logo

An enterprise-class UI component library, support both Vue.js 2 and Vue.js 3, as well as PC and mobile.

English | 简体中文

🌈 Features:

  • 📦 104 clean, easy-to-use and powerful components.
  • 🖖 One code, Support both Vue.js 2 and Vue.js 3.
  • 🖥️ One code, Support both PC and Mobile.
  • 🌍 Support internationalization.
  • 🎨 Support theme customization.
  • 📊 Components support configuration development, can support low-code platform.
  • 💡 Use a cross-end and cross-framework architecture, flexible and portable.

🛠️ Usage

1. Installation

Execute the following command to install the TinyVue component library for Vue.js 3.

npm i @opentiny/vue@3

Execute the following command to install the TinyVue component library for Vue.js 2.

npm i @opentiny/vue@2

2. Import component

Then you can use the TinyVue component(such as <tiny-button>) in the App.vue file.

<script lang="ts" setup>
  import { Button as TinyButton } from '@opentiny/vue'
</script>

<template>
  <tiny-button>Tiny Vue</tiny-button>
</template>

🖥️ Development

git clone git@github.com:opentiny/tiny-vue.git
cd tiny-vue
pnpm i

# Vue.js 3
pnpm dev

# Vue.js 2
pnpm dev2

Open your browser and visit: http://127.0.0.1:7130/

🤝 Contributing

Welcome to join our OpenTiny community!🎉

If you don't know how to start, please read our contributing guide.

  • Add the official assistant WeChat opentiny-official and join the technical exchange group.
  • Add to the mailing list opentiny@googlegroups.com

✨ Contributors

Contributors are community members who have 1 or more PR merged in OpenTiny.

Thanks goes to these wonderful people (emoji key):

Kagol
Kagol

💻
ajaxzheng
ajaxzheng

💻
TC-twwang
TC-twwang

💻
jacknan
jacknan

💻
Pithy
Pithy

💻
heygsc
heygsc

💻
MangoWu
MangoWu

💻
ADNY
ADNY

💻
chenxi-20
chenxi-20

💻
Alaray
Alaray

💻
ing
ing

💻
申君健
申君健

💻
MomoPoppy
MomoPoppy

💻
WXC-Spring
WXC-Spring

💻
GaoNeng
GaoNeng

💻
acyza
acyza

💻
ygj6
ygj6

💻
MrWang2016
MrWang2016

💻
qinwencheng
qinwencheng

💻
黄怡林
黄怡林

💻
zuixinwang
zuixinwang

💻
luopei
luopei

💻
前端爆冲
前端爆冲

🚇
Xie Jay
Xie Jay

🚇
linxiang
linxiang

💻
程序员包子
程序员包子

💻
peter G
peter G

💻 📖
gimmyhehe
gimmyhehe

💻
dong
dong

💻
凌览
凌览

💻
Caesar-ch
Caesar-ch

💻
chenqifeng66
chenqifeng66

⚠️
Zz-ZzzZ
Zz-ZzzZ

⚠️
Lyx
Lyx

💻
Spark Bill
Spark Bill

💻
wendZzoo
wendZzoo

💻
Gweesin Chan
Gweesin Chan

💻
Binks_
Binks_

📖
yoyo
yoyo

💻
Kif
Kif

💻
jack-zishan
jack-zishan

💻
LinboLen
LinboLen

💻
vaebe
vaebe

💻
YuYan Li
YuYan Li

💻
shonen7
shonen7

💻
xlearns
xlearns

💻
tianxin
tianxin

💻
Xppp0217
Xppp0217

💻
AcWrong02
AcWrong02

🐛
betavs
betavs

💻
fanbingbing16
fanbingbing16

💻
dyh333
dyh333

📖
betterdancing
betterdancing

📖
David
David

💻
falcon-jin
falcon-jin

💻
wuyiping0628
wuyiping0628

⚠️
James
James

📖
ichynul
ichynul

💻
Davont
Davont

💻
Nick Wu
Nick Wu

💻
Floyd
Floyd

💻

❤️ Credits

Thanks to:

  • The element project which is an old component library based on Vue.js. TinyVue draws on Element at the beginning of its design, and is compatible with Element's component API.
  • The floating-ui project which is a small library that helps you create "floating" elements such as tooltips, popovers, dropdowns, and more. Many components of TinyVue are based on the capabilities provided by Floating UI.
  • The vxe-table project which is a Vue-based table component, supports rich features, TinyVue's Grid component is based on vxe-table.
  • The sortablejs project which is a powerful drag-and-drop library. The drag-and-drop sorting function of TinyVue's Grid / Transfer / Tabs and other components is based on Sortable.
  • @adamwathan's article Renderless Components in Vue.js, which inspired TinyVue's renderless component design architecture and ultimately enabled cross-end and cross-framework capabilities in the TinyVue project.

License

MIT