barati-ui
A gorgeous, feature-rich Vue 3 button component library built with Vite and Tailwind CSS
1,210
| Install | |
|---|---|
npm install barati-ui |
|
| Latest Version: | 0.1.7 |
| Vue: | 3 |
| License: | MIT |
| Last Updated: | Sep 23, 2026 |
| Links: | npm |
Maintainer: bonyad.alhadi.hasanbarati
@barati/ui
یک کتابخانه کامپوننت Vue 3 ساختهشده با Vite + Tailwind CSS. فعلاً شامل یک کامپوننت Button با کلی قابلیت است.
نصب
npm install @barati/ui
نیازمندی: پروژه شما باید
vue@3داشته باشد.
استفاده سریع
استایلها بهصورت خودکار هنگام import تزریق میشوند (نیازی به import جدا نیست):
<script setup>
import { Button } from '@barati/ui'
</script>
<template>
<Button variant="gradient" size="lg" glow glossy>
دکمه شگفتانگیز ✨
</Button>
<Button variant="danger" :badge="7">حذف</Button>
<Button variant="primary" loading loading-text="در حال ذخیره...">ذخیره</Button>
</template>
روش دوم (اگر خودت میخواهی CSS را جدا مدیریت کنی)
import { Button } from '@barati/ui'
import '@barati/ui/style.css'
نصب سراسری کامپوننت
import { createApp } from 'vue'
import BaratiUI from '@barati/ui'
createApp(App).use(BaratiUI).mount('#app')
// حالا <Button> و <CButton> سراسری در دسترس است
مثالها
<!-- لینک -->
<Button href="https://vuejs.org" target="_blank">برو به Vue</Button>
<!-- آیکون (متن/ایموجی یا slot) -->
<Button icon="🚀">شروع</Button>
<Button icon-position="right" icon="➡️">ادامه</Button>
<Button>
<template #icon>
<svg ... />
</template>
با آیکون SVG
</Button>
<!-- حالتها -->
<Button disabled>غیرفعال</Button>
<Button loading loading-text="لطفاً صبر کنید...">دکمه</Button>
<Button :loading="isSaving">ذخیره</Button>
<!-- بج و نشان -->
<Button variant="info" :badge="count" badge-max="99">اعلانها</Button>
<Button variant="dark" badge-type="dot">نقطه آنلاین</Button>
<!-- افکتها -->
<Button glow>درخشش</Button>
<Button glossy>جلای عبور نور</Button>
<Button lift>بالا میآید</Button>
<Button :ripple="true">ریپل آب</Button>
<!-- اندازه و شکل -->
<Button size="xs">XS</Button>
<Button size="2xl">XXL</Button>
<Button rounded="full">کپسولی</Button>
<Button rounded="none">گوشه تیز</Button>
<!-- کل عرض -->
<Button full-width>تمام عرض</Button>
Props
| Prop | نوع | پیشفرض | توضیح |
|---|---|---|---|
variant |
String | primary |
primary, gradient, secondary, dark, outline, ghost, danger, success, warning, info, light, link |
size |
String | md |
xs, sm, md, lg, xl, 2xl |
rounded |
String | md |
none, sm, md, lg, xl, full |
loading |
Boolean | false |
نمایش اسپینر و غیرفعالکردن |
loading-text |
String | '' |
متن کنار اسپینر |
disabled |
Boolean | false |
غیرفعال |
full-width |
Boolean | false |
۱۰۰٪ عرض |
uppercase |
Boolean | false |
حروف بزرگ |
lift |
Boolean | false |
بلند شدن در hover |
glow |
Boolean | false |
هاله نورانی متحرک |
glossy |
Boolean | false |
افکت عبور نور روی دکمه |
ripple |
Boolean | true |
افکت ریپل روی کلیک |
press |
Boolean | true |
کوچکشدن هنگام کلیک |
icon |
String | '' |
ایموجی/متن آیکون |
icon-position |
String | left |
left یا right |
badge |
String/Number/null | null |
مقدار بج |
badge-max |
Number | 99 |
نمایش 99+ برای اعداد بزرگتر |
badge-type |
String | danger |
danger, success, info, warning, violet, slate, dot |
href |
String | '' |
اگر داده شود به <a> تبدیل میشود |
target |
String | '' |
برای لینکها |
rel |
String | '' |
اگر target=_blank باشد بهصورت خودکار noopener noreferrer میشود |
aria-label |
String | '' |
دسترسیپذیری |
type |
String | button |
button, submit, reset |
component |
Object/Function | null |
کامپوننت جایگزین مثلاً RouterLink از vue-router |
Slots و Events
| نام | توضیح |
|---|---|
default |
متن داخل دکمه |
icon |
آیکون سفارشی (ترجیحاً برای SVG) |
#click |
رویداد کلیک (emits: ['click']) |
اجرای پروژه بهصورت محلی (Development)
npm install
npm run dev # playground دمو
npm run build # ساخت خروجی نهایی در dist/
تست پکیج قبل از انتشار (npm link)
در پوشه همین پکیج:
npm link
سپس در پروژه دیگر:
npm link @barati/ui
بعدش بهصورت عادی:
import { Button } from '@barati/ui'
انتشار روی npm
npm login
npm publish --access public
توجه: چون نام پکیج scope شده (
@barati/ui) است، برای داخل npm باید با--access publicمنتشر شود (مگر اینکه حساب سازمانی داشته باشید).
لایسنس
MIT
Related Packages
Version History
| Version | Released | License |
|---|---|---|
| 0.1.7 | MIT | |
| 0.1.6 | MIT | |
| 0.1.5 | MIT | |
| 0.1.4 | MIT | |
| 0.1.3 | MIT | |
| 0.1.2 | MIT | |
| 0.1.1 | MIT | |
| 0.1.0 | MIT |