Skip to content

Getting Started ​

VeloxUI — bu yuqori unumli Vue 3 komponentlar kutubxonasi bo‘lib, 60 dan ortiq ishlab chiqarishga tayyor komponentlar, o‘rnatilgan mavzular tizimi, to‘liq tree-shaking va qutichadan chiqishi bilanoq TypeScript qo‘llab-quvvatini taklif qiladi.

Requirements ​

  • Vue ^3.4
  • Node.js >=18
  • ES modullarni qo‘llab-quvvatlovchi build vositasi (Vite, Nuxt 3, Webpack 5+, Rspack va h.k.)

Installation ​

Paketni o‘zingizga yoqadigan paket menejeri orqali o‘rnating:

bash
npm install veloxui
bash
pnpm add veloxui
bash
yarn add veloxui
bash
bun add veloxui

Full Import ​

Boshlashning eng tez usuli — barcha komponent va direktivlarni global tarzda ro‘yxatdan o‘tkazish:

ts
import { createApp } from 'vue'
import VeloxUI from 'veloxui'
import 'veloxui/dist/style.css'
import App from './App.vue'

const app = createApp(App)
app.use(VeloxUI)
app.mount('#app')

Bu prototiplash uchun qulay, lekin butun bundleni yetkazib beradi. Production ilovalari uchun tree-shaking ma’qulroq.

Faqat haqiqatda kerakli narsani import qiling — har bir komponentning uslublari o‘zi bilan birga paketlangan va avtomatik tarzda tortib olinadi:

ts
import { VxButton, VxInput, VxSelect } from 'veloxui'

Qo‘shimcha plugin, babel transformi yoki konfiguratsiya shart emas — zamonaviy bundlerlar (Vite, Rollup, Webpack 5) ishlatilmagan komponentlarni yakuniy build’dan o‘zi olib tashlaydi.

Basic Usage ​

vue
<script setup>
import { ref } from 'vue'
import { VxButton, VxInput } from 'veloxui'

const name = ref('')
</script>

<template>
  <VxInput v-model="name" placeholder="Your name" />
  <VxButton type="primary" @click="$emit('save')">Save</VxButton>
</template>

Har bir komponent sizning o‘z komponentlaringiz bilan nom to‘qnashuvini oldini olish uchun Vx prefiksi bilan nomlangan.

Global Configuration ​

Lokal, standart o‘lchamlar va umumiy sozlamalarni belgilash uchun ilovangizni VxConfigProvider bilan o‘rab oling:

vue
<script setup>
import { VxConfigProvider } from 'veloxui'
import en from 'veloxui/locale/en'
</script>

<template>
  <VxConfigProvider :locale="en" size="medium">
    <RouterView />
  </VxConfigProvider>
</template>

Qo‘llab-quvvatlanadigan barcha sozlamalar va lokallarni ko‘rish uchun Config Provider sahifasiga qarang.

TypeScript ​

VeloxUI TypeScriptda yozilgan va to‘liq tip deklaratsiyalari bilan birga keladi. Hech qanday qo‘shimcha @types/* paket kerak emas — prop, emit, slot va metod tiplari IDE’da avtomatik tarzda paydo bo‘ladi.

ts
import type { VxButtonProps, VxTableColumn } from 'veloxui'

Nuxt 3 ​

Darhol ishlaydi — uni nuxt.config.ts’ga qo‘shing:

ts
export default defineNuxtConfig({
  modules: [],
  css: ['veloxui/dist/style.css'],
  build: {
    transpile: ['veloxui'],
  },
})

So‘ngra komponentlarni auto-import qiling yoki ularni plugin’da ro‘yxatdan o‘tkazing.

SSR ​

Barcha komponentlar SSR bilan mos. window / document’ga bog‘liq komponentlar (Modal, Tooltip, Dropdown va h.k.) mijozda hydrate qilinadi va serverga DOM API’larini sizdirmaydi.

Theming ​

VeloxUI CSS o‘zgaruvchilari orqali to‘liq mavzulashtiriladi — build bosqichi, preprocessor yoki JS API shart emas. Ota selektorda istalgan o‘zgaruvchini o‘zgartirsangiz, uning ostidagi hamma narsa qayta mavzulashadi.

css
:root {
  --primary: #2563eb;
  --primary-foreground: #ffffff;
  --primary-hover: #1d4ed8;

  --secondary: #f1f5f9;
  --secondary-foreground: #0f172a;
  --secondary-hover: #e2e8f0;

  --destructive: #dc2626;
  --destructive-foreground: #ffffff;
  --destructive-hover: #b91c1c;

  --background: #ffffff;
  --foreground: #09090b;

  --accent: #f4f4f5;
  --accent-foreground: #18181b;

  --muted: #f4f4f5;
  --muted-foreground: #71717a;

  --border: #e4e4e7;
  --input: #e4e4e7;
  --ring: #a1a1aa;

  --radius: 0.625rem;

  --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
}

Dark Mode ​

Qorong‘i rejimni <html> (yoki istalgan ajdod)’ga .dark klassini qo‘shib va o‘zgartirmoqchi bo‘lgan o‘zgaruvchilarni qayta e’lon qilish orqali yoqing:

css
.dark {
  --primary: #fafafa;
  --primary-foreground: #18181b;
  --primary-hover: #e4e4e7;

  --background: #09090b;
  --foreground: #fafafa;

  --border: rgba(255 255 255 / 0.1);
}

Presetlar va jonli ko‘rinish bilan to‘liq interaktiv mavzu maydonchasi uchun Theming sahifasiga tashrif buyuring.

All Variables ​

VariableDescription
--primaryAsosiy tugma foni
--primary-foregroundAsosiy tugma matni
--primary-hoverAsosiy tugma hover holati
--secondaryIkkinchi darajali tugma foni
--secondary-foregroundIkkinchi darajali tugma matni
--secondary-hoverIkkinchi darajali tugma hover holati
--destructiveXavfli amal tugmasi foni
--destructive-foregroundXavfli amal tugmasi matni
--destructive-hoverXavfli amal tugmasi hover holati
--backgroundSahifa foni
--foregroundStandart matn rangi
--accentGhost/outline uchun hover foni
--accent-foregroundGhost/outline uchun hover matni
--mutedSo‘nik fon
--muted-foregroundSo‘nik matn
--borderChegara rangi
--inputInput chegara rangi
--ringFokus halqasi rangi
--radiusBazaviy burchak radiusi
--shadow-xsJuda kichik soya
--shadow-smKichik soya

Component Prefix ​

Barcha komponentlar nomlarning to‘qnashuvini oldini olish uchun Vx prefiksidan foydalanadi:

ComponentName
ButtonVxButton
ButtonGroupVxButtonGroup
InputVxInput
BadgeVxBadge
SwitchVxSwitch
ModalVxModal

Browser Support ​

VeloxUI ES2020 qo‘llab-quvvatini taqdim etuvchi zamonaviy evergreen brauzerlarni ko‘zda tutadi:

  • Chrome / Edge ≥ 90
  • Firefox ≥ 90
  • Safari ≥ 14

Eski brauzerlar (shu jumladan IE) qo‘llab-quvvatlanmaydi.

What's Next? ​