@moontra/moonui 6.19.1 → 6.19.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -2548,7 +2548,42 @@ var sliderRangeVariants = cva(
2548
2548
  // tüketici --secondary-500'ü ezerek özelleştirebilir.
2549
2549
  // Regresyon: __tests__/slider-secondary-contrast.test.ts
2550
2550
  secondary: "bg-[rgb(var(--secondary-500))]",
2551
- accent: "bg-accent",
2551
+ // #448 (#389/#407'nin `accent` kardeşi — ama ÇÖZÜM SINIFI farklı): range
2552
+ // `bg-accent`, track `bg-accent/20` idi — aynı yüzey token'ının iki alfası.
2553
+ // `--accent` HER İKİ temada da kusurluydu (warning/error'dan ağır: onlar
2554
+ // yalnız light'ta kusurluydu): A ekseni light 1.123 · dark 1.303 · gerçek
2555
+ // docs kartı (#111827) 1.162. Eşik 3:1 (WCAG 1.4.11 non-text).
2556
+ //
2557
+ // KÖK NEDEN: `--accent` bir YÜZEY token'ı — `hover:bg-accent` tinti olarak
2558
+ // tasarlanmış ve iki temada da kendi zeminine BİTİŞİK duruyor (light
2559
+ // rgb(235,239,245) beyaz üstünde, dark rgb(29,40,58) rgb(3,7,17) üstünde).
2560
+ // Dolgu/kenarlık rolüne yapısal olarak uygun değil; bu yüzden track'i
2561
+ // değiştirerek onarmak da MÜMKÜN DEĞİL (light'ta accent'ten 3:1 uzakta
2562
+ // duran daha açık bir yüzey yok).
2563
+ //
2564
+ // #389'un tek-orta-ton kademe araması AYNEN uygulanamadı: tokens.css'te
2565
+ // `--accent-50 … --accent-950` skalası YOK (skalası olan aileler:
2566
+ // primary/secondary/success/warning/error/brand/brand-accent).
2567
+ // `bg-accent-foreground` de elendi — `--accent-foreground` iki temada da
2568
+ // `--primary` ile BİREBİR aynı değer (varyant primary klonuna dönerdi) ve
2569
+ // 7 tema preset'inin 2'sinde beyaz (Creative/Nature), yani tek başına
2570
+ // dolgu olamaz.
2571
+ //
2572
+ // ÇÖZÜM: sistemin TEK nötr skalası olan slate (`--secondary-*`) — `--accent`
2573
+ // ile aynı hue ailesi (216° ↔ 215°), üstelik light temada `--accent` ile
2574
+ // `--secondary` BİREBİR aynı token değerini taşıyor. Tema-kör tek kademe
2575
+ // SEÇİLEMEDİ: bu ailede iki temayı birden geçen tek kademe 500'dür, o da
2576
+ // `secondary` varyantının kendi rengi (ΔE*ab = 0.0 — iki varyant klon olurdu).
2577
+ // Bu yüzden #442'nin `dark:` ayrımı deseni kullanıldı, tema başına ayrı kademe.
2578
+ // Tam tarama (11 kademe × 2 tema × 3 zemin × 2 eksen): DARK'ta eşiği geçen VE
2579
+ // kardeş varyantlardan ayırt edilebilen (ΔE*ab ≥ 10) TEK kademe 400
2580
+ // (500 = secondary klonu · ≤300 `default`/`primary` ile çakışıyor · ≥600 eşiğin
2581
+ // altında). LIGHT'ta {600,700,800} uygun; 700 kardeş ayrımını maksimize eder
2582
+ // (ΔE 21.2 · 600→12.7 · 800→14.9).
2583
+ // Ölçülen — A: light 1.123 → 10.081 ✓ · dark 1.303 → 7.533 ✓ · docs kartı
2584
+ // 1.162 → 6.717 ✓. Track `bg-accent/20` DEĞİŞMEDİ (yedi varyantın ortak deseni).
2585
+ // Regresyon: __tests__/slider-accent-contrast.test.ts
2586
+ accent: "bg-[rgb(var(--secondary-700))] dark:bg-[rgb(var(--secondary-400))]",
2552
2587
  success: "bg-success",
2553
2588
  // #442 (#424/PR #440'ın slider ikizi): range `bg-warning`/`bg-error` idi —
2554
2589
  // track (`bg-warning/20` · `bg-error/20`) AYNI token'ın alfalı hâli olduğundan
@@ -2603,7 +2638,16 @@ var sliderThumbVariants = cva(
2603
2638
  // aynı kademe: tutamaç ve dolgu tek renkte okunur.
2604
2639
  // Regresyon: __tests__/slider-secondary-contrast.test.ts
2605
2640
  secondary: "border-[rgb(var(--secondary-500))] bg-background",
2606
- accent: "border-accent bg-background",
2641
+ // #448 EKSEN B (range'den FARKLI eksen: bileşen↔sayfa-zemini) — tutamacın
2642
+ // dolgusu `bg-background`, yani zeminin kendisi; ayırt edilebilirliğini
2643
+ // YALNIZ kenarlık taşır → non-text UI bileşeni, WCAG 1.4.11 ≥3:1.
2644
+ // `border-accent` iki temada da kayboluyordu: light 1.154 · dark 1.359 ·
2645
+ // gerçek docs kartı 1.197. Range ile AYNI kademeler seçildi — #407'nin
2646
+ // gerekçesi burada da geçerli: "tutamaç ve dolgu tek renkte okunur".
2647
+ // Ölçülen — light 1.154 → 10.355 ✓ · dark 1.359 → 7.857 ✓ · docs kartı
2648
+ // 1.197 → 6.919 ✓.
2649
+ // Regresyon: __tests__/slider-accent-contrast.test.ts
2650
+ accent: "border-[rgb(var(--secondary-700))] dark:border-[rgb(var(--secondary-400))] bg-background",
2607
2651
  success: "border-success bg-background",
2608
2652
  // #442 EKSEN B (range'den FARKLI eksen: bileşen↔sayfa-zemini) — #407'de
2609
2653
  // `secondary` için açılan eksenin warning/error karşılığı. Tutamacın dolgusu
@@ -8078,12 +8122,53 @@ var switchVariants = cva(
8078
8122
  md: "h-6 w-11",
8079
8123
  lg: "h-7 w-14"
8080
8124
  },
8125
+ // #454 — checked track'in İKİ ekseni de ölçüldü (eşik 3:1, WCAG 1.4.11
8126
+ // non-text UI). Switch'te bu iki eksen AYNI sayıyı verir, çünkü thumb
8127
+ // `bg-background` taşır (switchThumbVariants tabanı):
8128
+ // A) checked track ↔ sayfa/kart zemini → kontrol "açık" okunuyor mu?
8129
+ // B) thumb ↔ checked track → tutamacın KONUMU görülüyor mu?
8130
+ // Ölçüm zeminleri: `--background` · `--card` · docs kabuğunun gerçek koyu
8131
+ // kartı (#111827). Regresyon: __tests__/switch-variant-contrast.test.tsx
8081
8132
  variant: {
8082
8133
  primary: "data-[state=checked]:bg-primary",
8134
+ // light 4.920 · dark 19.256 ✓
8083
8135
  success: "data-[state=checked]:bg-success",
8084
- warning: "data-[state=checked]:bg-warning",
8136
+ // light 4.904 · dark 6.043 ✓
8137
+ // #454 kardeş kusuru (#424/PR #440 progress · #442/PR #446 slider ile AYNI
8138
+ // sınıf, üçüncü component): `--warning` tokens.css'in `.dark` bloğunda
8139
+ // EZİLMİYOR, yani iki temada da aynı turuncu. Dark'ta zemin koyu olduğu
8140
+ // için geçiyor (9.446), LIGHT'ta beyaz üstünde 2.133 ✗ — açık temada
8141
+ // checked warning switch'in tutamacı da kayboluyordu (B ekseni 2.133).
8142
+ // ÇÖZÜM (emsalle birebir aynı şekil): eksik tema-uyarlamasını component
8143
+ // düzeyinde ver — light'ta skalanın -700 kademesine in, dark'ta semantik
8144
+ // token'a DOKUNMA (dark render bit-bit aynı kalır, regresyon yüzeyi sıfır).
8145
+ // Light'ta eşiği geçen kademe kümesi {700,800,900,950}; en açık olanı
8146
+ // seçildi (turuncu kimliğini en çok koruyan). Ölçülen: 2.133 → 4.923 ✓.
8147
+ warning: "data-[state=checked]:bg-[rgb(var(--warning-700))] dark:data-[state=checked]:bg-warning",
8085
8148
  destructive: "data-[state=checked]:bg-error",
8086
- secondary: "data-[state=checked]:bg-accent"
8149
+ // light 3.781 · dark 5.328 ✓ (dokunulmadı)
8150
+ // #454 asıl kusuru: `secondary` varyantı `bg-accent` kullanıyordu — ADI
8151
+ // `secondary`, TOKEN'ı `accent`. `--accent` bir YÜZEY token'ı (`hover:bg-accent`
8152
+ // tinti) ve iki temada da kendi zeminine bitişik: light rgb(235,239,245)
8153
+ // beyaz üstünde 1.154 · dark rgb(29,40,58) 1.359 · docs kartı 1.197.
8154
+ // Yani checked switch hem sayfadan hem de kendi tutamacından ayrışmıyordu:
8155
+ // "açık" durum GÖRÜNMÜYORDU (switch'in tek işi durumu göstermek).
8156
+ //
8157
+ // AD ↔ TOKEN KARARI: varyant kendi ailesine, `--secondary-*` slate skalasına
8158
+ // bağlandı. `bg-secondary` (semantik) BİLEREK seçilmedi — light'ta `--accent`
8159
+ // ile BİREBİR aynı değer (1.154), dark'ta daha da kötü (1.007). Skala
8160
+ // taraması (11 kademe × 2 tema × 3 zemin × 2 eksen + kardeş ΔE*ab ≥ 10 klon
8161
+ // filtresi): light {500,600,700,800,900,950} · dark {300,400,500} → iki
8162
+ // temayı birden geçen TEK kademe **500**, yani `dark:` ayrımına gerek yok.
8163
+ // #448'in slider'daki 700/400 ayrımı burada GEREKMEZ ve İSTENMEZ: orada 500
8164
+ // elenmişti çünkü slider'ın `secondary` varyantı zaten o rengi kullanıyordu
8165
+ // (ΔE = 0.0 → klon). Switch'in `accent` adlı bir varyantı YOK, dolayısıyla
8166
+ // 500 serbest ve kardeşlerden ayrık (ΔE: primary 69.5/51.6 · success
8167
+ // 63.6/74.8 · warning 96.0 · destructive 85.0 — hepsi ≥ 10).
8168
+ // Yan fayda: slider'ın `secondary` varyantı da #389/PR #406'da aynı kademeye
8169
+ // sabitlenmişti → aynı varyant adı artık iki component'te aynı rengi veriyor.
8170
+ // Ölçülen: A/B light 1.154 → 4.759 ✓ · dark 1.359 → 4.234 ✓ · kart 1.197 → 3.728 ✓.
8171
+ secondary: "data-[state=checked]:bg-[rgb(var(--secondary-500))]"
8087
8172
  }
8088
8173
  },
8089
8174
  defaultVariants: {