nili/ui
Sürüm 0.2.0 — registry ve CLI

Tek kütüphane,eklediğiniz her dil

Nili; yönü, yazı sistemini, rakamları ve tipografi ölçülerini baştan girdi olarak alan bir React bileşen kütüphanesidir. Sonradan eklenen bir çeviri katmanı değil.

$npm i @nili/ui @remixicon/react
41bileşen
220alt bileşen
196varyant ekseni
869tipli prop
374geçen test

Her dil, tek bileşen ağacı

Yön CSS'ten, rakamlar Intl'den gelir; ikisi de prop değildir. Buradaki dört dil yalnızca örnek: sıradaki dil, kütüphaneyi çatallamak değil, bir çeviri dosyası ve bir locale demektir.

EnglishActive
فارسیفعال
العربيةنشط
TürkçeEtkin
AZ
Aysan ZeinalvandSatıcı hesabı
Etkin
Sonraki ödeme 17 Eylül’de gerçekleşir.
Çekilebilir bakiye
1.234.567TL
68% aylık limitin18.000.000

Her çok dilli arayüzün çarptığı üç sorun

Bunlar genelde her projede baştan ve eksik çözülür. Nili bir kez, kütüphane katmanında çözer.

01

Yön JavaScript değil, CSS’tir

Tüm bileşenler mantıksal özellikleri kullanır: ms/me, ps/pe, start/end. İç içe bir RTL alt ağacında da, SSR altında da çalışır; render sırasında document.dir okunmaz ve ağaç boyunca taşınan bir yön prop’u yoktur.

dir="ltr"dir="rtl"
02

Rakamlar bir font hilesi değil, biçimlendirmedir

FaNum türü fontlar Farsça/Arapça rakam şekillerini ASCII kod noktalarının üzerine bindirir: rakam yerel görünür ama DOM’da hâlâ 123 durur. Sayfa içi arama, kopyala-yapıştır ve ekran okuyucu ekranla çelişir; IBAN gibi Latin kalması gereken bir değerin ise çıkışı yoktur.

formatNumber · en-US1,234,567.89
formatNumber · fa-IR۱٬۲۳۴٬۵۶۷٫۸۹
formatNumber · ar-EG١٬٢٣٤٬٥٦٧٫٨٩
formatNumber · tr-TR1.234.567,89
parseLocalizedNumber۱٬۲۳۴٬۵۶۷ → 1234567
03

Tek token adı, iki tema

Bileşenler asla dark: yazmaz. Her bileşen tek bir anlamsal token çağırır, değer altından değişir. Yeni bir tema — yüksek kontrast, bir müşteri markası — bileşen değişikliği değil, tek bir stil dosyasıdır.

İlkel--nili-blue-500: #335CFF
Anlamsal--nili-primary-base
@theme--color-primary-base
Bileşenbg-primary-base
Sayfanın tamamı değişir

Şimdilik özel

Nili, UNLICENSED lisansıyla özel bir npm kapsamına yayımlanır; kaynak henüz açık değildir. Erişim kişi ya da ekip bazında verilir ve token tanımlandıktan sonra kurulum sıradan bir npm install’dur.

01

Erişim iste

Projeyi ve @nili organizasyonuna eklenecek npm veya GitHub hesabını bize iletin.

02

Kayıt defterinde kimlik doğrula

Salt okunur bir token’ı .npmrc dosyanıza ekleyin — hem yerelde hem CI’da.

03

Kur ve sar

Paketi kurun, stil dosyasını içe aktarın, ağacı NiliProvider ile sarın.

# .npmrc
@nili:registry=https://registry.npmjs.org/
//registry.npmjs.org/:_authToken=${NILI_TOKEN}

# then
npm i @nili/ui @remixicon/react
import { NiliProvider, Button } from '@nili/ui';
import '@nili/ui/styles.css';

<NiliProvider locale="fa" defaultTheme="system">
  <Button color="primary">Save changes</Button>
</NiliProvider>

Yapanlar

İki kişi: bir Figma dosyası ve bir kütüphane, bilinçli olarak eşzamanlı tutuluyor.

AZ

Aysan Zeinalvand

Tasarım sistemi mühendisliği — mimari, bileşenler, token’lar, testler

Kütüphaneyi yazdı: token zinciri, RTL ve rakam katmanı, bileşen API kuralları, registry ile CLI ve arkalarındaki 374 test.

BR

Behzad Rezazadeh

Ürün tasarımı — Figma’daki tek doğru kaynak

Sistemi Figma’da tasarladı: renk rampaları, tipografi ölçeği, bileşen anatomisi ve kütüphanenin uyguladığı her varyant.

Projenizde kullanmak ister misiniz?

Ne geliştirdiğinizi söyleyin, erişimi hazırlayalım ya da sistemi ekibinizle birlikte gezelim.