@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.js +89 -4
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +89 -4
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/components/ui/__tests__/slider-accent-contrast.test.ts +553 -0
- package/src/components/ui/__tests__/switch-variant-contrast.test.tsx +460 -0
- package/src/components/ui/__tests__/switch.test.tsx +11 -2
- package/src/components/ui/slider.tsx +46 -2
- package/src/components/ui/switch.tsx +44 -5
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:
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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: {
|