Temel & Tokenlar

Her bileşene güç veren tasarım token sistemi — yüzeyler, renkler, boşluklar, tipografi ve çok eksenli tema motoru.

Tasarım tokenları

Tüm değerler (renkler, boyutlar, yarıçaplar, gölgeler, boşluklar) tokens.css dosyasında tanımlanmış CSS özel özellikleridir. Bileşenler hiçbir zaman sabit değer kullanmaz — her zaman bir tokena referans verir. Markanıza uyarlamak için istediğiniz tokeni geçersiz kılabilirsiniz.

Kural: Kendi bileşenlerinizde de her zaman token kullanın. Tema değişiminde etkilenebilecek hiçbir renk, boyut veya yarıçapı sabit değer olarak yazmayın.

Yüzeyler & metin

TokenVarsayılan (açık)Kullanım
--wb-bg#f4f6fbSayfa arka planı
--wb-surface#ffffffKartlar, paneller, modaller
--wb-surface-2#edf1f7Hafif arka planlar, tablo satırları
--wb-surface-3#e2e8f2Hover durumları, ayraçlar
--wb-text#18212fBirincil metin
--wb-muted#5a6a84İkincil metin, etiketler, yer tutucular
--wb-border#d6e0eeTüm kenarlıklar ve ayraçlar

Anlamsal renkler

TokenVaryantlarKullanım
--wb-success-dark · -softBaşarı uyarıları, rozetler, ikonlar
--wb-warning-dark · -softUyarı bildirimleri, dikkat durumları
--wb-danger-dark · -softHata durumları, yıkıcı işlemler
--wb-info-dark · -softBilgi uyarıları, ipuçları

Boşluk skalası (4px taban)

TokenDeğerTokenDeğer
--wb-s14px--wb-s832px
--wb-s28px--wb-s1040px
--wb-s312px--wb-s1248px
--wb-s416px--wb-s1664px
--wb-s520px--wb-s2080px
--wb-s624px

Kenar yarıçapı

TokenDeğer
--wb-r-sm5px
--wb-r-md9px
--wb-r-lg14px
--wb-r-xl20px
--wb-r-full9999px (hap/daire)

Tipografi

TokenAçıklama
--wb-fontGövde yazı tipi yığını (Inter, system-ui yedekleri)
--wb-font-headingBaşlık yazı tipi yığını (varsayılan olarak gövde ile aynı)
--wb-font-monoSabit genişlikli yığın (Cascadia Code, Menlo, Consolas)
--wb-font-size-xs/sm/md/lg/xl0.75 / 0.875 / 1 / 1.125 / 1.25 rem

Gölgeler

TokenKullanım
--wb-shadow-smHafif yükseklik (kartlar, girdiler)
--wb-shadow-mdAçılır menüler, popoverlar
--wb-shadow-lgModaller, çekmeceler
--wb-shadow-xlKomut paleti, yüksek yüzen katmanlar

Z-index skalası

TokenDeğerKullanım
--wb-z-dropdown100Açılır menüler, popoverlar, araç ipuçları
--wb-z-modal200Modaller, çekmeceler, onay diyalogları
--wb-z-toast300Toast bildirimleri

Token geçersiz kılma

Kendi CSS'inizde :root veya kapsamlı bir seçici hedefleyerek herhangi bir tokeni geçersiz kılabilirsiniz:

/* Global geçersiz kılma */
:root {
  --wb-font: 'Geist', sans-serif;
  --wb-r-md: 12px;
}

/* Kapsamlı geçersiz kılma — yalnızca bir bölümü etkiler */
.my-hero {
  --wb-accent: #8b5cf6;
}

Vurgu renkleri

Tüm arayüzü farklı bir renk düzenine geçirmek için <html> öğesine data-accent ayarlayın. Her vurgu 12 token tanımlar.

ocean
forest
sunset
royal
mint
amber
rose
slate-fire

Vurguyu bu sayfada önizlemek için yukarıdaki renk kutusuna tıklayın.

Vurgu token seti (vurgu başına 12 token)

TokenKullanım
--wb-accentBirincil vurgu — düğme arka planları, aktif durumlar
--wb-accent-hoverVurgu renkli öğelerin hover durumu
--wb-accent-activeAktif / basılı durum
--wb-accent-softTonlu arka plan (rozetler, çipler)
--wb-accent-softerÇok hafif ton (sayfa bölümleri, açıklamalar)
--wb-accent-borderVurgu tonlu kenarlık
--wb-accent-textAçık arka plan üzerinde vurgu metni
--wb-accent-onVurgu arka planı üzerinde metin rengi (genellikle beyaz)
--wb-accent-ringOdak halkası rengi
--wb-accent-ring-rgbOpaklıklı rgba() odak halkası için RGB değerleri
--wb-accent-selectionMetin seçim arka planı
--wb-accent-glow-rgbParıltı efektleri için RGB değerleri
Geriye dönük uyumluluk: --wb-primary, --wb-primary-dark ve --wb-primary-soft eşdeğer --wb-accent* tokenlarına yönlendiren takma adlardır. Yeni kodda her zaman --wb-accent* kullanın.

Karanlık mod

Karanlık mod, <html> üzerindeki data-mode özniteliği ile kontrol edilir. Üç değer desteklenir.

DeğerDavranış
lightHer zaman açık mod
darkHer zaman karanlık mod
autoprefers-color-scheme sistem ayarını izler

Karanlık mod nasıl çalışır

Karanlık mod, dark.css dosyasındaki [data-mode="dark"] seçicisi aracılığıyla yüzey, metin ve kenarlık tokenlarını geçersiz kılar. Tüm bileşen stilleri yeni değerleri otomatik olarak devralır — ayrıca karanlık mod sınıf varyantlarına gerek yoktur.

<!-- Statik -->
<html data-mode="dark">

<!-- Kullanıcı tarafından değiştirilebilir -->
<button data-wb-mode-cycle>Modu değiştir</button>

<!-- Programatik olarak ayarlama -->
<script>WBTheme.setMode('dark');</script>
localStorage kalıcılığı: WBTheme, kullanıcının mod tercihini localStorage içinde wb-mode anahtarıyla saklar ve bir sonraki sayfa yüklemesinde geri yükler. Yanlış modun görünmesini önlemek için HTML'de başlangıç data-mode değerini ayarlayın.

Önayarlar

Önayarlar, birden fazla ekseni aynı anda ayarlayan adlandırılmış paketlerdir — yarıçap, gölge, yoğunluk, yazı tipi ve kenarlık. Tutarlı bir görünüm için başlangıç noktası olarak kullanın; bireysel eksenler herhangi bir önayar değerini hâlâ geçersiz kılabilir.

ÖnayarYarıçapGölgeYoğunlukYazı TipiKenarlık
modernvarsayılanvarsayılanvarsayılanmodernsubtle
minimalsharpflatcompactsystemsubtle
roundedsoftsoftcomfortablemodernnone
boldsharpvarsayılanvarsayılanmodernbold
editorialsharpflatcomfortableeditorialmedium
<!-- "rounded" önayarını uygula, yalnızca vurguyu geçersiz kıl -->
<html data-preset="rounded" data-accent="rose">

<!-- "minimal" uygula, yarıçapı soft olarak geçersiz kıl -->
<html data-preset="minimal" data-radius="soft">

Önayarlar CSS şelale sırasında bireysel eksen özniteliklerinden önce uygulanır, dolayısıyla bireysel eksenler her zaman önceliklidir.

Tema eksenleri

Karanlık mod ve vurgunun ötesinde, beş ek eksen arayüzünüzün görsel kişiliğini ayarlamanıza olanak tanır.

Yarıçap — data-radius

DeğerEtki
sharpTüm kenar yarıçaplarını azaltır — daha yapılandırılmış, kurumsal his
softTüm kenar yarıçaplarını artırır — arkadaşça, tüketiciye yönelik his

Yoğunluk — data-density

DeğerEtki
compactDüğme, girdi, tablo satırlarındaki dolguyu azaltır — ekranda daha fazla içerik
comfortableDolguyu artırır — daha fazla nefes alanı, dokunmatik için daha iyi

Gölge — data-shadow

DeğerEtki
flatGölgeleri kaldırır — kenarlık tabanlı derinlik, temiz ve minimal
softGölge bulanıklığını ve opaklığını artırır — daha yüksek, premium his

Yazı Tipi — data-font

DeğerYazı tipi yığını
systemYerel işletim sistemi yazı tipi yığını — web fontu yüklenmez
modernInter (CDN) — temiz, son derece okunabilir
editorialPlayfair Display (CDN) + Inter — editoryal, yayıncılık hissi

Kenarlık — data-border

DeğerEtki
noneKenarlıkları kaldırır — yüzeyler yalnızca gölgelerle tanımlanır
subtleHafif kenarlıklar (varsayılan)
mediumOrta ağırlıklı kenarlıklar
boldKalın kenarlıklar — güçlü görsel yapı
dashedKesik kenarlıklar — belirgin, teknik his

Tüm eksenleri birleştirme

<!-- Tek satır özel CSS yazmadan maksimum özelleştirme -->
<html
  data-mode="dark"
  data-accent="royal"
  data-preset="rounded"
  data-density="comfortable"
  data-font="modern"
>

Özel token geçersiz kılmaları

Yerleşik eksenlerin ötesine geçen markaya özgü özelleştirme için, tokenları doğrudan kendi CSS'inizde geçersiz kılın.

/* ── Marka yazı tipi ─────────────────────────────── */
:root {
  --wb-font:         'DM Sans', sans-serif;
  --wb-font-heading: 'DM Serif Display', serif;
}

/* ── Özel vurgu (8 yerleşik dışında) ───────────────── */
:root {
  --wb-accent:           #0f766e;
  --wb-accent-hover:     #0d6e66;
  --wb-accent-active:    #0b605a;
  --wb-accent-soft:      #ccfbf1;
  --wb-accent-softer:    #f0fdf4;
  --wb-accent-border:    #5eead4;
  --wb-accent-text:      #0d6e66;
  --wb-accent-on:        #ffffff;
  --wb-accent-ring:      rgb(15 118 110);
  --wb-accent-ring-rgb:  15 118 110;
  --wb-accent-selection: #ccfbf1;
  --wb-accent-glow-rgb:  15 118 110;
}

/* ── Yoğun veri tablosu için daha sıkı boşluk ───────── */
.my-data-table {
  --wb-s3: 0.5rem;
  --wb-s4: 0.75rem;
}