# FoxUI > Brenddan mustaqil web dizayn tizimi: CSS tokenlari, komponentlar, CLI va MCP server. Versiya 0.99.3. UI yozişdan oldin: mavjud komponentni oling, öylab topmang. Rang, yoy, oraliq — faqat --fx-* tokenlari. Yozgandan keyin: `npx foxui check` yoki MCP `validate_snippet`. ## Vazifa böyiça - [Design system (markdown)](https://foxui.dev/design-system/index.md): komponentlar, misollar, qoidalar - [Nima yangi](https://foxui.dev/whats-new/): versiyalar - [Katalog](https://foxui.dev/r/index.json): shadcn-mos registry ## Komponentlar - [Akkordeon](https://foxui.dev/r/accordion.json): Yiğiladigan bölimlar: native
; bir xil name bilan bittasi oçiq qoladi. Strelka (chevron) yopiqda −90°, oçiqda 0°. Kengaytma: data-variant=bordered|separated|fluş, data-chevron=start, .fx-accordion__icon/.fx-accordion__meta, içma-iç, data-focus=inset, bosmada hammasi oçiq. - [Nişon kartasi](https://foxui.dev/r/achievement.json): Yutuq nişoni: belgi (emoji yoki ikon) + nom + sabab. Oçilgan — töliq rang, yaxlit çegara; yopiq (data-state="locked") — belgi kulrang, uzuq çegara, ostida progress çiziği va «3/5» hisob; yangi oçilgan (data-state="new") — brend halqasi va «Yangi» yorliği. Qoida: yopiq nişonlardan faqat eng yaqin 3 tasi körsatiladi — «uyum» emas. Röyxat — .fx-achievements töri. Manbaa'dan (③, Fox MB topşirdi, 20.10): köriniş — FoxUI, hisob va ma'lumot — loyihada. - [Ogohlantiriş](https://foxui.dev/r/alert.json): Bölim yoki sahifadagi muhim xabar: töla tusli yuza, holat belgisi (şakl), sarlavha, matn, bitta havola, ixtiyoriy yopiş. Ohanglar: neytral, info, success, warning, error, brand. Kengaytma: .fx-alert__icon (ikon slot — şakl-belgi örniga ikon). - [Sarlavha havolasi](https://foxui.dev/r/anchor-heading.json): Hujjat sarlavhasi yonida «#» havolasi: ustiga kelganda yoki fokusda çiqadi, bosilsa şu bölimga manzil. Sensorli qurilmada doim körinadi. Sarlavhaga scroll-margin beriladi — qotib turgan panel ostida qolmaydi. - [API kalitlari](https://foxui.dev/r/apikeys.json): API kalitlari boşqaruvi (naqş): «Yangi kalit» dialogi (nom, muddat, ruxsat) → kalit BIR MARTA körsatiladi (nusxalaş tugmasi va ogohlantiriş bilan) → röyxatda faqat prefiks qoladi. Har kalit: ruxsat, yaratilgan sana, oxirgi işlatilgan vaqt, muddat (tugaşiga oz qolsa «!»), «Bekor qiliş» (fxConfirm bilan). - [Tasdiqlaş sörovi (ruxsat / rad)](https://foxui.dev/r/approval.json): Agent xavfli yoki qaytarib bölmaydigan amaldan oldin ruxsat söraydi: savol, nima özgarişi (tafsilot) va Ruxsat beriş / Rad etiş / Har doim ruxsat. Qaror tugmalarni natija satriga (ikon + söz) almaştiradi va fx-approval hodisasini çiqaradi. - [Maqola sahifasi](https://foxui.dev/r/article.json): Blog maqolasi sahifasi (4.178): tepada ortga havola va toifa, sarlavha, lid, muallif qatori (avatar, ism, sana, öqiş vaqti) va muqova; ostida uç ustun — çapda yopişqoq ulaşiş tugmalari (Telegram, Facebook, X, havolani nusxalaş — data-fx-copy), markazda matn (fx-prose, 68 belgi kenglik), öngda mundarija (fx-toc — öqilayotgan bölimni belgilaydi). Oxirida teglar, muallif kartasi va «Öxşaş maqolalar» (fx-blog kartalari). Ixtiyoriy tepada öqiş çiziği — fx-scroll-progress. Tor ekranda mundarija matn tepasida yiğiladigan blok, ulaşiş — matn ostida qator; çop etişda faqat matn qoladi. - [AI yordamçi (widget)](https://foxui.dev/r/assistant.json): Saytlar uçun AI yordamçi: öng pastda dumaloq tugma (çat ikonkasi yoki ixtiyoriy personaj) → suhbat oynasi. Admin, kabinet, login va checkout sahifalarida çiqmaydi (data-exclude bilan özgartiriladi); salom va tayyor savollar til böyiça (data-greeting-ru, data-suggestions-ru). Har sayt faqat sozlama beradi — nom, rang, endpoint, til (uz/ru/en), salom matni, tayyor savollar, menejer kanallari. Javob kelmasa — qayta uriniş; endpoint handoff qaytarsa (byudjet tugagan yoki odam kerak) — «menejer bilan boğlaning» kartasi. Personaj: tinç «nafas», bir martalik qöl silkitiş; jonli inline SVG personaj bölsa, unga holat sinfi qöyiladi: salom, oylayapti, gapiryapti, uzatyapti (Lottie şart emas). Telefonda suhbat pastdan çiqadigan varaq (72 % balandlik, yozişda 92 %), uzun javob ~7 qatordan keyin yiğiladi («Davomi»), salom pufakçasi 2 qatordan oşmaydi va 10 s da özi yöqoladi. Personaj berilmasa yuz — ovoz şari (fx-orb); eski çat ikonkasi — data-face="icon". Panel foni va matni saytnikidan olinadi: CSS'da --assistant-surface / --assistant-text yoki data-surface / data-text (masalan var(--c-bg)); bölmasa saytdagi --surface/--bg, söng FoxUI. Mustaqil widget'da panel uslubi (assistant-panel.css) birinçi oçilişda yuklanadi. Panel (19.10 redizayni): yoziş maydoni va yuboriş — bitta karta; javob — pufaksiz toza matn (qalin, röyxat, havola), ostida nusxa; boşida tanişuv (şar, salom, savol namunalari röyxati); kutiş — «Öylayapman» ustida yoruğlik; «Yangi suhbat». - [Biriktirma](https://foxui.dev/r/attachment.json): Fayl yoki rasm kartoçkasi: belgi (tur) yoki rasm, nom, hajm, olib taşlaş ×, yuklaniş çiziği. Composer içida ixçam (chip), xabar içida katta (card). Holatlar: yuklanmoqda, tayyor, xato (söz bilan). - [Audio pleyer](https://foxui.dev/r/audioplayer.json): Ixçam audio pleyer: ijro tugmasi, sarlavha, tölqinsimon progress (bosib yoki ← → bilan suriladi), vaqt va tezlik (1× · 1,5× · 2×). Çiziqlar balandligi `data-peaks` dan yoki sarlavhadan hosil böladi. Bir vaqtda faqat bitta pleyer yangraydi. Ovozli xabar, podkast qismi, qönğiroq yozuvi uçun. - [Audit jurnali](https://foxui.dev/r/auditlog.json): Xavfsizlik va boşqaruv jurnali (4.191): «kim · nima · qaçon · qayerdan». Tepada sarlavha, saqlaş muddati va «Eksport (CSV)»; filtr qatori (qidiruv, foydalanuvçi, amal turi, davr); fx-table asosidagi jadval kunlar böyiça guruhlangan (.fx-auditlog__day). Har qator: vaqt (mono, aniq soniyagaça), aktor (fx-persona yoki «Tizim»), amal (fe'l + obyekt havolasi), IP va joy, muhimlik — data-severity: info, warning (▲ Diqqat), critical (■ Xavfli — qator foni ham). Tafsilot
içida: maydon özgarişlari farqi (− oldin, + keyin). Yozuvlar faqat öqiladi — tahrirlaş/öçiriş yöq. Tor ekranda IP ustuni yaşirinadi. - [Kiriş sahifasi](https://foxui.dev/r/auth.json): Kiriş / röyxatdan ötiş sahifasi qolipi: markazda karta yoki çapda forma + öngda brend paneli (split). Tayyor «havola yuborildi» (magic link) holati — email körsatiladi, «Qayta yuboriş» 30 soniya sanaladi. Ijtimoiy kiriş va «yoki» ajratgiçi bor. Bosqiçlar (4.109): data-step="verify|forgot|reset|done" — SMS/email kodini kiritiş (fx-otp, tölsa özi yuboradi), parolni tiklaş havolasi, yangi parol (talablar röyxati ✓ bilan, takror tekşiruvi) va «Tayyor» — mavjud markaziy/split qolipda. - [Avatar](https://foxui.dev/r/avatar.json): Kvadrat avatar: ikki harf yoki surat, 6 toifa rangi, 3 ölçam (sm 22 · md 36 · lg 56), ixtiyoriy holat nuqtasi (active — puls, waiting, stopped, idle). Yoy = ölçam × 0,28. Guruh: .fx-avatar-group (ustma-ust, kesim yuza rangida), oxirida data-more bilan «+N». Kengaytma: xs · xl · 2xl ölçam; guruh hoverda yoyiladi (data-spread), tör (data-layout=grid), data-max; “+N” —