Alert
Muhim xabarlar va bildirishnomalarni ko'rsatadi. Soft, solid, outline va accent variantlari bilan success, warning, danger, info turlarini qo'llab-quvvatlaydi. Progress bilan avtomatik yopilish, yig'iladigan kontent, loading holati, maxsus ranglar, marquee matn va alert to'plashni o'z ichiga oladi.
Basic
<VxAlert title="Info — Bu ma'lumot beruvchi alert." type="info" />
<VxAlert title="Success — Sizning o'zgarishlaringiz saqlandi." type="success" />
<VxAlert title="Warning — Davom etishdan oldin tekshiring." type="warning" />
<VxAlert title="Danger — Nimadir noto'g'ri ketdi." type="danger" />With Description
<VxAlert
type="success"
title="Deployment bajarildi"
description="Ilovangiz production ga muvaffaqiyatli yuklandi."
/>Closable
<VxAlert type="info" title="Bu alertni yopishingiz mumkin." closable />Solid Variant
<VxAlert type="info" variant="solid" title="Yangi versiya mavjud." />
<VxAlert type="success" variant="solid" title="Barcha tizimlar ishlamoqda." />
<VxAlert type="warning" variant="solid" title="API tezlik chegarasi yaqinlashmoqda." />
<VxAlert type="danger" variant="solid" title="Xizmat to'xtashi aniqlandi." />Outline Variant
<VxAlert type="info" variant="outline" title="Maslahat — Klaviatura yorliqlaridan foydalaning." />
<VxAlert type="success" variant="outline" title="Tasdiqlandi — Email tasdiqlandi." />Accent Variant
Chap tomonda rangli chegara chizig'i — callout va yon izohlar uchun juda mos keladi.
<VxAlert type="info" variant="accent" title="Eslatma"
description="Bu xususiyat hozirda beta holatida." />
<VxAlert type="danger" variant="accent" title="Muhim"
description="Hisobingizni o'chirish doimiydir." />Auto-close with Progress Bar
Avtomatik yopish uchun duration (ms da) ni o'rnating. Hover taymerni to'xtatadi.
<VxAlert
type="success"
title="Saqlandi! Bu alert 8 soniyada yopiladi."
:duration="8000"
closable
/>Collapsible
Tavsifni kengaytirish yoki yig'ish uchun sarlavhani bosing.
<VxAlert
type="info"
title="v2.4.0 relizi yozuvlari"
description="Yangi xususiyatlar dark mode qo'llab-quvvatlashni o'z ichiga oladi..."
collapsible
/>Loading State
Kutilayotgan operatsiyani ko'rsatish uchun ikonkani spinner bilan almashtiradi.
<VxAlert type="info" title="Fayllar yuklanmoqda..."
description="5 tadan 3 ta fayl yuklandi." loading />Custom Color
Turdan qat'iy nazar har qanday maxsus rangni qo'llash uchun color prop idan foydalaning.
<VxAlert title="Maxsus siyoh rangli alert" color="#8b5cf6" />
<VxAlert title="Maxsus teal solid" variant="solid" color="#14b8a6" />
<VxAlert title="Maxsus pushti outline" variant="outline" color="#ec4899" />
<VxAlert title="Maxsus to'q sariq accent" variant="accent" color="#f97316" />Marquee (Scrolling Text)
Banner e'lonlari uchun aylanuvchi matn. Tezlikni boshqarish uchun marquee-speed dan foydalaning (standart 50).
<VxAlert
type="warning"
variant="solid"
banner
marquee
title="Cheklangan muddatli taklif — Barcha yillik tariflarga 50% chegirma!"
/>Alert Group (Stacking)
VxAlertGroup alert lar kirish/chiqish o'tishlarini animatsiyalashtiradi. Alert larni dinamik ravishda qo'shing va olib tashlang.
<script setup>
import { ref } from 'vue'
import { VxAlert, VxAlertGroup, VxButton } from 'veloxui'
const alerts = ref([
{ id: 1, type: 'info', title: 'Notification', desc: 'You have a new message.' },
{ id: 2, type: 'success', title: 'Saved', desc: 'Changes saved.' },
])
function removeAlert(id) {
alerts.value = alerts.value.filter(a => a.id !== id)
}
</script>
<template>
<VxAlertGroup>
<VxAlert
v-for="a in alerts"
:key="a.id"
:type="a.type"
:title="a.title"
:description="a.desc"
closable
@close="removeAlert(a.id)"
/>
</VxAlertGroup>
</template>Without Icon
<VxAlert type="info" title="Ikonkasiz alert." :show-icon="false" />Centered
<VxAlert type="info" title="Markazlashtirilgan alert kontenti." center />Banner
<VxAlert type="warning" variant="solid" title="Bugun kechasi texnik xizmat." banner closable center />With Action Slot
<VxAlert type="info" title="Yangi dasturiy ta'minot yangilanishi mavjud.">
<template #action>
<VxButton size="sm" variant="outline">Hozir yangilash</VxButton>
</template>
</VxAlert>API
VxAlert Props
| Prop | Type | Default | Description |
|---|---|---|---|
type | 'default' | 'success' | 'warning' | 'danger' | 'info' | 'info' | Alert turi |
variant | 'soft' | 'solid' | 'outline' | 'accent' | 'soft' | Vizual uslub |
title | string | — | Alert sarlavha matni |
description | string | — | Alert tavsifi matni |
closable | boolean | false | Yopish tugmasini ko'rsatish |
show-icon | boolean | true | Tur ikonkasini ko'rsatish |
icon | string | Component | — | Maxsus ikonka (standartni qayta aniqlaydi) |
banner | boolean | false | To'liq kenglikdagi banner rejimi |
center | boolean | false | Kontentni markazlashtirish |
duration | number | 0 | N ms dan keyin avtomatik yopish (0 = o'chirilgan). Progress bar ko'rsatadi. |
collapsible | boolean | false | Kengaytiriladigan/yig'iladigan tavsif |
loading | boolean | false | Ikonka o'rniga spinner ko'rsatish |
color | string | — | Maxsus rang (tur rangini qayta aniqlaydi) |
marquee | boolean | false | Aylanuvchi matn animatsiyasi |
marquee-speed | number | 50 | Marquee aylantirish tezligi (yuqoriroq = tezroq) |
VxAlertGroup Props
| Prop | Type | Default | Description |
|---|---|---|---|
max-count | number | 0 | Ko'rinadigan alert larning maksimal soni (0 = cheksiz) |
Slots
| Slot | Description |
|---|---|
default | Sarlavha ostidagi qo'shimcha kontent |
icon | Maxsus ikonka kontenti |
title | Maxsus sarlavha kontenti |
description | Maxsus tavsif kontenti |
action | Amal maydoni (o'ng tomon) |
Events
| Event | Payload | Description |
|---|---|---|
close | — | Yopish tugmasi bosilganda yoki avtomatik yopish ishga tushganda chiqariladi |
after-close | — | Fade-out o'tishi tugagandan so'ng chiqariladi |