@ahmetilhn/hanui 4.0.0 → 4.1.0

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/build/index.js CHANGED
@@ -133,17 +133,9 @@ const lt = {
133
133
  }, hn = (e, t) => `calc(${e} * var(--hanui-${t}))`, $e = (e, t) => hn(ka(e, t), "type-scale"), Ze = (e, t) => hn(ka(e, t), "space-scale"), se = q.inset, Qn = {
134
134
  // --- Yüzey ---
135
135
  /*
136
+ * Önceki merdivende `page` ve `surface` İKİSİ DE saf beyazdı ve kart sayfadan dolguyla hiç
137
+ * ayrışmıyordu
136
138
  * ⚠ SAYFA KARTTAN BİR KADEME KOYU — düzeltilen ölçülmüş bir düzlük.
137
- *
138
- * <p>Önceki merdivende `page` ve `surface` İKİSİ DE saf beyazdı ve kart
139
- * sayfadan dolguyla hiç ayrışmıyordu; ayrımın tamamını `card` mixin'inin
140
- * kenarlığı ile `shadow-sm` taşıyordu. Bedeli iki katmanlıydı: kenarlığı
141
- * kaldıran her yeni bileşen sayfanın içinde kayboluyordu, ve arayüzün
142
- * tamamı tek bir düzlemde okunuyordu.
143
- *
144
- * <p>Bugün kart merdivenin EN AÇIK basamağı, sayfa onun altında. Kartın
145
- * yükselmesi artık dolgudan geliyor; kenarlık ve gölge onu güçlendiriyor,
146
- * tek başına taşımıyor.
147
139
  */
148
140
  page: A.n25,
149
141
  surface: A.n0,
@@ -158,13 +150,7 @@ const lt = {
158
150
  text: A.n900,
159
151
  "text-2": A.n600,
160
152
  "text-3": A.n550,
161
- /*
162
- * UYGULAMA KABUĞU — üst bant, alt bilgi, tablo başlığı, teknik blok.
163
- *
164
- * <p>⚠ Token adı 4.0.0'da `graphite*`ten `shell*`a TAŞINDI. Değer grafit
165
- * değil kurumsal koyu yeşil; yeni ad rengi değil ROLÜ anlatıyor — açık
166
- * temada çam merdiveni, koyu temada yüzey merdiveni.
167
- */
153
+ /* UYGULAMA KABUĞU — üst bant, alt bilgi, tablo başlığı, teknik blok. */
168
154
  shell: he.base,
169
155
  "shell-2": he.two,
170
156
  "shell-3": he.three,
@@ -175,28 +161,17 @@ const lt = {
175
161
  "on-action": A.n0,
176
162
  /** Dolgunun SINIRI; açık temada dolgunun kendisi (bkz. `ACTION_LINE`). */
177
163
  "action-line": _n.light,
178
- /** Pasif dolgu; saydamlık DEĞİL kendi rengi (bkz. Button `:disabled`). */
164
+ /** Pasif dolgu; saydamlık DEĞİL kendi rengi (bkz. */
179
165
  "action-soft": A.n300,
180
166
  /** PASİF DOLGU ÜZERİNDEKİ METİN. */
181
167
  "on-action-soft": A.n700,
182
- /*
183
- * DÖNÜŞÜM EYLEMİ ("sepete ekle") — ailenin en parlak yeşili.
184
- *
185
- * <p>⚠ Token adı 4.0.0'da `amber*`ten `cart*`a TAŞINDI. Değer bir sürüm
186
- * boyunca yeşildi ama ad turuncu diyordu; adına bakıp rengini tahmin eden
187
- * her tur yanlış "düzeltmeyi" yapmaya aday oluyordu.
188
- */
168
+ /* DÖNÜŞÜM EYLEMİ ("sepete ekle") — ailenin en parlak yeşili. */
189
169
  cart: pe.base,
190
170
  "cart-hover": pe.hover,
191
171
  "cart-active": pe.active,
192
172
  "cart-soft": pe.soft,
193
173
  "on-cart": pe.on,
194
- /*
195
- * GEZİNME VE KEŞİF ROLÜ — bağlantı, etkin filtre, seçili satır, ilerleme.
196
- *
197
- * <p>⚠ Token adı 4.0.0'da `blue*`tan `role*`a TAŞINDI. Değer H 162'de bir
198
- * yeşil; "mavi" adı iki sürüm boyunca yalan söylüyordu.
199
- */
174
+ /* GEZİNME VE KEŞİF ROLÜ — bağlantı, etkin filtre, seçili satır, ilerleme. */
200
175
  role: ae.base,
201
176
  "role-hover": ae.hover,
202
177
  "role-active": ae.active,
@@ -204,13 +179,8 @@ const lt = {
204
179
  "role-tint": ae.tint,
205
180
  "role-line": ae.line,
206
181
  /*
207
- * ROL DOLGUSU ÜZERİNDEKİ METİN — etkin sayfa numarası, etkin karo madalyonu,
208
- * geçerli adım, dolu bağlantı rozeti. Bir zamanlar `on-action`ı kullanıyordu
209
- * ve o kestirme birincil eylemin dolgusu iki temada da koyu yeşile
210
- * sabitlendiğinde KIRILDI: `on-action` beyaza döndü, rol rengi ise koyu
211
- * temada açılıyor (`#51d6bb`) ve beyaz metin orada 2,1:1'e düşüyor. İki
212
- * dolgunun aydınlığı ters yönlere gidiyor, tek metin token'ı ikisini birden
213
- * taşıyamaz.
182
+ * ROL DOLGUSU ÜZERİNDEKİ METİN — etkin sayfa numarası, etkin karo madalyonu, geçerli adım, dolu
183
+ * bağlantı rozeti.
214
184
  */
215
185
  "on-role": A.n0,
216
186
  // --- Durum: tint zemin + koyu metin + eşleşen hairline ---
@@ -234,7 +204,7 @@ const lt = {
234
204
  "alt-line": K.altLine,
235
205
  "sale-bg": aa.bg,
236
206
  "sale-fg": aa.fg,
237
- // --- İkon vurguları: METİN DEĞİL (WCAG grafik eşiği 3:1) ---
207
+ // --- İkon vurguları:
238
208
  "red-accent": Ge.red,
239
209
  "green-accent": Ge.green,
240
210
  "green-accent-hover": Ge.greenHover,
@@ -250,38 +220,21 @@ const lt = {
250
220
  "nav-fg": A.n900,
251
221
  "nav-fg-2": A.n600,
252
222
  /*
253
- * `n500` DEĞİL. Ölçüldü: `n500` üst bandın beyaz zemininde 3,06:1, alt
254
- * bilginin `n100` zemininde 2,68:1 veriyordu — yani bandın en soluk metni
255
- * (telif satırı, yardımcı bağlantılar) hiçbir yerde gövde metni eşiğini
256
- * geçmiyordu. Sayfa tarafındaki karşılığıyla (`text-3`) aynı tona bağlandı:
257
- * ikisi aynı işi yapıyor ve ayrı tutulmalarının tek sebebi bandın kendi
258
- * yüzey merdiveniydi, kendi okunurluk kuralı değil.
223
+ * `n500` DEĞİL. Ölçüldü: `n500` üst bandın beyaz zemininde 3,06:1, alt bilginin `n100` zemininde
224
+ * 2,68:1 veriyordu
259
225
  */
260
226
  "nav-fg-3": A.n550,
261
227
  "nav-line": A.n200,
262
228
  "nav-line-strong": A.n300,
263
229
  "nav-hover": A.n100,
264
230
  "footer-bg": A.n100,
265
- /*
266
- * MARKA ŞERİDİ — `nav-*`ın TEMADAN BAĞIMSIZ kardeşi. Değerleri iki temada da
267
- * birebir aynı ve bu tanımın kendisi: şerit kurumsal koyu yeşil zemini
268
- * taşıyan bir yüzeydir, temanın açık/koyu merdiveninde bir kademe değil.
269
- *
270
- * <p>`nav-*` bunu yapamaz çünkü açık temada beyaza dönüyor; `graphite`
271
- * ailesi ise yalnızca ZEMİN — üzerine ne yazılacağını söyleyen bir metin
272
- * kademesi yok ve açık temada `text`/`nav-fg` siyah, yani çamın üzerinde
273
- * okunmuyor. Metin katmanları doğrudan kılavuzdan: gövde kâğıt (12,68:1),
274
- * ikincil sis (6,15:1).
275
- */
231
+ /* MARKA ŞERİDİ — `nav-*`ın TEMADAN BAĞIMSIZ kardeşi. */
276
232
  "band-bg": he.dark,
277
233
  "band-fg": ta.paper,
278
234
  "band-fg-2": ta.mist,
279
235
  /**
280
- * Bandın ÜÇÜNCÜ metin kademesi ve imza vurgusu.
281
- *
282
- * <p>Panelin kenar çubuğu rayı bu ikisini bir dönem SABİT HEX olarak
283
- * taşıyordu (`#799a8f`, `#43ff9c`) — uygulamada kalan son renk
284
- * literalleriydi ve paletten bağımsız hareket ediyorlardı.
236
+ * Bandın ÜÇÜNCÜ metin kademesi ve imza vurgusu. Panelin kenar çubuğu rayı bu ikisini bir dönem
237
+ * SABİT HEX olarak taşıyordu (`#799a8f`, `#43ff9c`)
285
238
  */
286
239
  "band-fg-3": q.textThree,
287
240
  "band-accent": lt.mint,
@@ -302,10 +255,8 @@ const lt = {
302
255
  "ring-ok": `0 0 0 4px ${O(K.okFg, 0.16)}`,
303
256
  // --- Örtü ve cam: görsel üzerine binen yüzeyler ---
304
257
  /*
305
- * %55 DEĞİL. Örtü yalnızca kip pencerenin arkasını karartmıyor; `on-scrim`
306
- * onun üzerine yazılan metnin rengi ve o metin AÇIK temada bir sayfanın
307
- * üstüne düşüyor. Ölçüldü: %55 örtü `page` üzerine düzlendiğinde beyaz metin
308
- * 4,27:1 — gövde metni eşiğinin altında. %60'ta 5,01:1.
258
+ * %55 DEĞİL. Örtü yalnızca kip pencerenin arkasını karartmıyor; `on-scrim` onun üzerine yazılan
259
+ * metnin rengi ve o metin AÇIK temada bir sayfanın üstüne…
309
260
  */
310
261
  scrim: O(A.n900, 0.6),
311
262
  "scrim-soft": O(A.n900, 0.32),
@@ -318,11 +269,7 @@ const lt = {
318
269
  track: O(A.n900, 0.12),
319
270
  /** Görsel yer tutucu (medya yoksa). */
320
271
  "media-bg": A.n100,
321
- /*
322
- * Vurgu bloğundaki ışık lekeleri. Açık temada ZEMİN DE AÇIK olduğu için
323
- * lekeler çok daha hafif: koyu bant için ayarlanmış %22 opaklık açık
324
- * zeminde lekeyi kirli bir dasa çeviriyordu.
325
- */
272
+ /* Vurgu bloğundaki ışık lekeleri. */
326
273
  "glow-1": O(lt.mint, 0.1),
327
274
  "glow-2": O(lt.pine, 0.06),
328
275
  "glow-cart": O(pe.base, 0.09)
@@ -337,24 +284,17 @@ const lt = {
337
284
  text: q.text,
338
285
  "text-2": q.textTwo,
339
286
  "text-3": q.textThree,
340
- /* KOYU TEMADA BANT MARKA ÇAMINA ÇIKMAZ, yüzey merdivenine oturur: sayfa
341
- kurumsal siyah ve bandın da zemin olması gerekiyor (bkz. `SURFACE_DARK`).
342
- Marka yeşili koyu temada yalnızca şeritte (`band-*`) ve birincil eylemin
343
- dolgusunda kalır. */
287
+ /*
288
+ * KOYU TEMADA BANT MARKA ÇAMINA ÇIKMAZ, yüzey merdivenine oturur: sayfa kurumsal siyah ve bandın
289
+ * da zemin olması gerekiyor (bkz. `SURFACE_DARK`).
290
+ */
344
291
  shell: q.surface,
345
292
  "shell-2": q.surfaceTwo,
346
293
  "shell-3": q.surfaceThree,
347
294
  /*
348
- * ⚠ BİRİNCİL EYLEM İKİ TEMADA DA KURUMSAL KOYU YEŞİL — koyu temada mint
349
- * dolguya DÖNMEZ. Önceki sürüm dönüyordu (mint + siyah metin, 14,65:1) ve
350
- * ölçüm olarak kusursuzdu; düşen şey markaydı: açık yeşil kılavuzda logonun
351
- * ve imza işaretinin rengi, bir düğmenin zemini değil. Aynı ekranda mint
352
- * dolgulu düğme ile mint logo yan yana geldiğinde imza rengi bir vurgu
353
- * olmaktan çıkıp arayüzün genel dolgusuna dönüşüyordu.
354
- *
355
- * <p>Bedeli ölçüldü ve `action-line` ile ödendi: çam koyu sayfada 1,36:1,
356
- * koyu kartta (`surface-2`) 1,04:1 — dolgunun kendisi görünmüyor, düğmeyi
357
- * mint saç çizgisi (14,65:1) ve beyaz metin (14,09:1) görünür kılıyor.
295
+ * Bedeli ölçüldü ve `action-line` ile ödendi: çam koyu sayfada 1,36:1, koyu kartta (`surface-2`)
296
+ * 1,04:1
297
+ * ⚠ BİRİNCİL EYLEM İKİ TEMADA DA KURUMSAL KOYU YEŞİL — koyu temada mint dolguya DÖNMEZ.
358
298
  */
359
299
  action: lt.pine,
360
300
  "action-hover": he.two,
@@ -362,7 +302,7 @@ const lt = {
362
302
  "on-action": A.n0,
363
303
  "action-line": _n.dark,
364
304
  "action-soft": q.actionSoft,
365
- /* Koyu temada pasif dolgu ortada bir gri: metin AÇIK olmali (bkz. LIGHT). */
305
+ /* Koyu temada pasif dolgu ortada bir gri: metin AÇIK olmali (bkz. */
366
306
  "on-action-soft": A.n300,
367
307
  cart: pe.dark,
368
308
  "cart-hover": pe.darkHover,
@@ -405,12 +345,7 @@ const lt = {
405
345
  "danger-solid": dt.dark,
406
346
  "danger-solid-hover": dt.darkHover,
407
347
  "on-danger": dt.onDark,
408
- /*
409
- * ÜST BANT SAYFANIN KENDİSİ: koyu temada en koyu renk kılavuzun siyahı ve
410
- * bant onu ÖRTMEZ. Açık temadaki kardeşi de aynı şeyi yapıyor (`nav-bg`
411
- * beyaz, sayfa `n50`) — bant sayfanın devamıdır, ayrı bir yüzey değil;
412
- * sınırı `nav-line` çizer. Alt bilgi bir kademe yukarıda, ışığa doğru.
413
- */
348
+ /* ÜST BANT SAYFANIN KENDİSİ: koyu temada en koyu renk kılavuzun siyahı ve bant onu ÖRTMEZ. */
414
349
  "nav-bg": q.page,
415
350
  "nav-bg-2": q.surfaceTwo,
416
351
  "nav-fg": q.text,
@@ -421,26 +356,19 @@ const lt = {
421
356
  "nav-line-strong": q.borderStrong,
422
357
  "nav-hover": O(A.n0, 0.07),
423
358
  "footer-bg": q.surface,
424
- /* AÇIK TEMADAKİYLE BİREBİR AYNI — şerit temaya göre dönmez (bkz. LIGHT). */
359
+ /* AÇIK TEMADAKİYLE BİREBİR AYNI — şerit temaya göre dönmez (bkz. */
425
360
  "band-bg": he.dark,
426
361
  "band-fg": ta.paper,
427
362
  "band-fg-2": ta.mist,
428
363
  /**
429
- * Bandın ÜÇÜNCÜ metin kademesi ve imza vurgusu.
430
- *
431
- * <p>Panelin kenar çubuğu rayı bu ikisini bir dönem SABİT HEX olarak
432
- * taşıyordu (`#799a8f`, `#43ff9c`) — uygulamada kalan son renk
433
- * literalleriydi ve paletten bağımsız hareket ediyorlardı.
364
+ * Bandın ÜÇÜNCÜ metin kademesi ve imza vurgusu. Panelin kenar çubuğu rayı bu ikisini bir dönem
365
+ * SABİT HEX olarak taşıyordu (`#799a8f`, `#43ff9c`)
434
366
  */
435
367
  "band-fg-3": q.textThree,
436
368
  "band-accent": lt.mint,
437
369
  "band-line": he.darkLine,
438
370
  "band-hover": O(A.n0, 0.07),
439
- /*
440
- * Koyu zeminde gölge okunmaz; derinlik daha çok kenarlıkla kurulur.
441
- * Gölgeler yine de KORUNUR ama daha derin: modal ve açılır liste yüzeyin
442
- * üzerinde durmalı.
443
- */
371
+ /* Koyu zeminde gölge okunmaz; derinlik daha çok kenarlıkla kurulur. */
444
372
  "shadow-xs": `0 1px 2px ${O(se, 0.4)}`,
445
373
  "shadow-sm": `0 1px 2px ${O(se, 0.4)}, 0 1px 3px ${O(se, 0.3)}`,
446
374
  "shadow-md": `0 2px 4px ${O(se, 0.35)}, 0 6px 16px ${O(se, 0.45)}`,
@@ -464,9 +392,8 @@ const lt = {
464
392
  "glow-2": O(lt.pine, 0.12),
465
393
  "glow-cart": O(pe.dark, 0.12)
466
394
  }, rh = {
467
- // --- Yarıçap ---
468
- // Küçük öğeler ile büyük yüzeyler aynı yarıçapı PAYLAŞMAZ: küçük bir öğede
469
- // 12px onu şişman gösterir, büyük bir kartta 6px keskin ve ucuz görünür.
395
+ // --- Yarıçap --- Küçük öğeler ile büyük yüzeyler aynı yarıçapı PAYLAŞMAZ: küçük bir öğede 12px
396
+ // onu şişman gösterir, büyük bir kartta 6px keskin ve…
470
397
  "radius-xs": "4px",
471
398
  "radius-sm": "6px",
472
399
  "radius-md": "8px",
@@ -474,25 +401,10 @@ const lt = {
474
401
  "radius-xl": "16px",
475
402
  "radius-pill": "999px",
476
403
  // --- Boşluk ---
477
- /**
478
- * YOĞUNLUK ÇARPANLARI — akışkan ölçeğin üzerine binen tek ayar.
479
- *
480
- * <p>Varsayılan `1`, yani hiçbir şeyi değiştirmez; `data-hanui-density`
481
- * ya da tüketicinin kendi metrik ezmesi bunları düşürür.
482
- */
404
+ /** YOĞUNLUK ÇARPANLARI — akışkan ölçeğin üzerine binen tek ayar. */
483
405
  "type-scale": "1",
484
406
  "space-scale": "1",
485
- /*
486
- * BOŞLUK ÖLÇEĞİ — üçüncü kademeden itibaren akışkan.
487
- *
488
- * <p>⚠ `space-1` (4px) ve `space-2` (8px) SABİT KALIR ve bu bir eksiklik
489
- * değil: ikisi 4px ızgarasının birimi ve alt birimi. Akışkanlaştırılsalardı
490
- * 390px'te 3,4px'e inerlerdi — gözle ayırt edilemeyen bir kazanç karşılığında
491
- * her kılcal kenarlık yarım piksele oturur ve kaydırmada titrerdi.
492
- *
493
- * <p>Üst kademeler mobilde %16-44 iniyor; bir sayfanın dikey dolgusunun
494
- * yaklaşık üçte biri. "Kutular çok büyük" şikâyetinin sayısal karşılığı.
495
- */
407
+ /* BOŞLUK ÖLÇEĞİ — üçüncü kademeden itibaren akışkan. */
496
408
  "space-0": "0",
497
409
  "space-1": "4px",
498
410
  "space-2": "8px",
@@ -504,18 +416,8 @@ const lt = {
504
416
  "space-8": Ze(40, 64),
505
417
  "space-9": Ze(52, 96),
506
418
  /*
507
- * TİPOGRAFİ ÖLÇEĞİ — AKIŞKAN.
508
- *
509
- * <p>⚠ Ölçüldü: vitrinde 446 `font-size` bildirimi vardı ve yalnızca 6'sı
510
- * viewport'a tepki veriyordu. Gövde 17px, başlık 47px'e kadar çıkıyor ve
511
- * 320px ekranda da aynı kalıyordu — taşmanın ve "her şey çok büyük"
512
- * şikâyetinin kaynağı buydu.
513
- *
514
- * <p>Küçülme kademeli: küçük arayüz metni %6-10 iner, gösterim tipografisi
515
- * %29-35. Şikâyetin şekli tam olarak bu — 13px'lik bir etiket dar ekranda
516
- * sorun değil, 47px'lik bir başlık sorun.
517
- *
518
- * <p>⚠ Üst uç bugünkü masaüstü değeri; **masaüstünde hiçbir şey değişmez.**
419
+ * TİPOGRAFİ ÖLÇEĞİ — AKIŞKAN. ⚠ Ölçüldü: vitrinde 446 `font-size` bildirimi vardı ve yalnızca
420
+ * 6'sı viewport'a tepki veriyordu.
519
421
  */
520
422
  "font-size-2xs": $e(11, 12),
521
423
  "font-size-xs": $e(12, 13),
@@ -527,20 +429,10 @@ const lt = {
527
429
  "font-size-2xl": $e(23, 29),
528
430
  "font-size-3xl": $e(26, 37),
529
431
  "font-size-4xl": $e(30, 47),
530
- /**
531
- * FORM DENETİMİ PUNTOSU — ölçekten AYRI ve 16px'in altına inmez.
532
- *
533
- * <p>⚠ iOS Safari, hesaplanan puntosu 16px'in ALTINDA olan bir `input`a
534
- * odaklanıldığında sayfayı zorla yakınlaştırır ve geri çıkmaz. `font-size-base`
535
- * akışkan olunca dar ekranda 15px'e iniyor, yani bu düzeltme olmadan
536
- * **telefonda her form alanı sayfayı zıplatırdı.**
537
- *
538
- * <p>`max()` kullanılıyor çünkü ölçek büyüdüğünde denetim de büyümeli;
539
- * sabit `16px` yazmak üst uçta alanı ölçeğin gerisinde bırakırdı.
540
- */
432
+ /** FORM DENETİMİ PUNTOSU — ölçekten AYRI ve 16px'in altına inmez. */
541
433
  "font-size-control": `max(16px, ${ka(15, 16)})`,
542
- // Satır yüksekliği: başlıkta sıkı, metinde rahat. `leading-normal` 1.55'ten
543
- // 1.62'ye çıktı — 16 px gövde metninde en belirgin okunurluk kazanımı burada.
434
+ // Satır yüksekliği: başlıkta sıkı, metinde rahat. `leading-normal` 1.55'ten 1.62'ye çıktı — 16 px
435
+ // gövde metninde en belirgin okunurluk kazanımı burada.
544
436
  "leading-none": "1",
545
437
  "leading-tight": "1.16",
546
438
  "leading-snug": "1.35",
@@ -552,8 +444,7 @@ const lt = {
552
444
  "icon-md": "18px",
553
445
  "icon-lg": "20px",
554
446
  "icon-xl": "24px",
555
- // --- Hareket ---
556
- // 200 ms üzerindeki geçişler tıklama ile sonuç arasında görünür bir gecikme
447
+ // --- Hareket --- 200 ms üzerindeki geçişler tıklama ile sonuç arasında görünür bir gecikme
557
448
  // yaratır ve arayüz yavaş hissedilir.
558
449
  "duration-instant": "80ms",
559
450
  "duration-fast": "140ms",
@@ -637,10 +528,10 @@ ${n(
637
528
  s.current = t;
638
529
  const i = Tt(
639
530
  () => ({ theme: s.current, linkComponent: n, labels: r }),
640
- /* `themeKey` denetciye GEREKSIZ gorunuyor cunku memo'nun govdesinde
641
- gecmiyor — ama tam da isi bu: temanin ICERIGI degistiginde yeni bir
642
- nesne uretilmesini saglayan tetik o. Cikarilirsa tema ezmesi degisse
643
- de tuketiciler eski degeri gorurdu. */
531
+ /*
532
+ * `themeKey` denetciye GEREKSIZ gorunuyor cunku memo'nun govdesinde gecmiyor — ama tam da isi
533
+ * bu: temanin ICERIGI degistiginde yeni bir nesne…
534
+ */
644
535
  // eslint-disable-next-line react-hooks/exhaustive-deps
645
536
  [o, n, r]
646
537
  );
@@ -1254,8 +1145,7 @@ const sr = 640, _h = 768, cr = 1024, uh = `(min-width: ${cr + 1}px)`, Ta = `(min
1254
1145
  style: {
1255
1146
  ...$.style,
1256
1147
  ...k.style,
1257
- /* Olculmeden cizilen balon bir kare boyunca sol ust kosede
1258
- parliyordu. */
1148
+ /* Olculmeden cizilen balon bir kare boyunca sol ust kosede parliyordu. */
1259
1149
  visibility: $.isPositioned ? "visible" : "hidden"
1260
1150
  },
1261
1151
  children: e
@@ -1925,16 +1815,7 @@ const ro = 240, wn = () => {
1925
1815
  ke.map((ge, Wt) => {
1926
1816
  const Ue = Ve.start + Wt, Rn = Ue === Ke, la = ge.value === t;
1927
1817
  return (
1928
- /*
1929
- * ⚠ `role="option"` `<li>`NIN KENDISINDE. Bir donem araya bir
1930
- * `<div role="option">` giriyordu, yani agac
1931
- * `listbox > li > option` seklindeydi ve `<li>` sahipsiz bir ara
1932
- * dugumdu: `aria-required-children` sozlesmesi kirilir, ekran
1933
- * okuyucu seceneklerin sayisini ve sirasini guvenilir bicimde
1934
- * bildiremez. Kardes `Select` bunu bastan dogru yapiyordu
1935
- * (`Select/index.tsx` — `<li role="option">`), yani desen zaten
1936
- * depodaydi.
1937
- */
1818
+ /* ⚠ `role="option"` ` `NIN KENDISINDE. */
1938
1819
  /* @__PURE__ */ v(
1939
1820
  "li",
1940
1821
  {
@@ -2028,8 +1909,10 @@ const ro = 240, wn = () => {
2028
1909
  style: {
2029
1910
  ...Ct.style,
2030
1911
  ...Je.style,
2031
- /* Panel tetikleyiciyle AYNI genislikte: sabit konum + portal onu
2032
- kapsayicidan kopardigi icin genislik artik miras alinmiyor. */
1912
+ /*
1913
+ * Panel tetikleyiciyle AYNI genislikte: sabit konum + portal onu kapsayicidan
1914
+ * kopardigi icin genislik artik miras alinmiyor.
1915
+ */
2033
1916
  width: Ct.anchorWidth || void 0,
2034
1917
  /* Ilk karede olcu yok; yanlis yerde bir kare parlamasin. */
2035
1918
  visibility: Ct.isPositioned ? void 0 : "hidden"
@@ -2751,8 +2634,10 @@ const ro = 240, wn = () => {
2751
2634
  ref: i,
2752
2635
  className: y(
2753
2636
  tt.input,
2754
- /* `Boolean(...)`: `prefix` bir `ReactNode` ve `0` da gecerli bir
2755
- deger — `prefix &&` ifadesi o durumda dize degil sayi donuyordu. */
2637
+ /*
2638
+ * `Boolean(...)`: `prefix` bir `ReactNode` ve `0` da gecerli bir deger — `prefix &&`
2639
+ * ifadesi o durumda dize degil sayi donuyordu.
2640
+ */
2756
2641
  !!e && tt["input--hasPrefix"],
2757
2642
  !!t && tt["input--hasSuffix"],
2758
2643
  n && tt["input--technical"]
@@ -2959,8 +2844,7 @@ const ro = 240, wn = () => {
2959
2844
  ...c
2960
2845
  }
2961
2846
  ),
2962
- o && s !== void 0 && /* `aria-hidden`: ayni bilgi her tusta duyurulsaydi yazma kesintiye
2963
- ugrardi. Sinir zaten `maxLength` ile taniniyor. */
2847
+ o && s !== void 0 && /* `aria-hidden`: ayni bilgi her tusta duyurulsaydi yazma kesintiye ugrardi. */
2964
2848
  /* @__PURE__ */ v("span", { className: y(At.counter, g && At["counter--near"]), "aria-hidden": !0, children: [
2965
2849
  N,
2966
2850
  " / ",
@@ -3142,8 +3026,10 @@ const ro = 240, wn = () => {
3142
3026
  )
3143
3027
  }
3144
3028
  ),
3145
- o && !l && /* Gorsel yuzde `aria-hidden`: ayni bilgi zaten `progressbar`in
3146
- degerinde ve iki kez duyurulmasi gurultu. */
3029
+ o && !l && /*
3030
+ * Gorsel yuzde `aria-hidden`: ayni bilgi zaten `progressbar`in degerinde ve iki kez
3031
+ * duyurulmasi gurultu.
3032
+ */
3147
3033
  /* @__PURE__ */ a("span", { className: oe.progress__value, "aria-hidden": !0, children: r ?? `%${Math.round(c)}` })
3148
3034
  ] });
3149
3035
  }, Fs = /* @__PURE__ */ I(/* @__PURE__ */ B(Bs, "Progress")), Os = ({
@@ -3420,8 +3306,7 @@ const ro = 240, wn = () => {
3420
3306
  className: y(
3421
3307
  Qt.avatar,
3422
3308
  Qt[`avatar--${r}`],
3423
- /* Ton yalnizca BAS HARF madalyonunda: gorselin uzerine renk basmak
3424
- fotografi bozuyordu. */
3309
+ /* Ton yalnizca BAS HARF madalyonunda: gorselin uzerine renk basmak fotografi bozuyordu. */
3425
3310
  !t && Qt[`avatar--tone-${_c(e, uc)}`],
3426
3311
  o
3427
3312
  ),
@@ -3524,10 +3409,8 @@ const ro = 240, wn = () => {
3524
3409
  }
3525
3410
  );
3526
3411
  return /* @__PURE__ */ a("div", { className: y(De.media, i), children: n ? (
3527
- // `tabIndex={-1}` + `aria-hidden`: aynı hedefe giden başlık bağlantısı
3528
- // zaten sekme sırasında. Görseli ikinci bir durak yapmak klavye
3529
- // gezinmesini iki katına çıkarıyor, ekran okuyucuda da aynı kayıt
3530
- // arka arkaya iki kez duyuruluyordu.
3412
+ // `tabIndex={-1}` + `aria-hidden`: aynı hedefe giden başlık bağlantısı zaten sekme
3413
+ // sırasında.
3531
3414
  /* @__PURE__ */ a(
3532
3415
  me,
3533
3416
  {
@@ -3758,13 +3641,9 @@ const ro = 240, wn = () => {
3758
3641
  divider__label: Jc
3759
3642
  }, Vc = ({ label: e, className: t }) => e ? (
3760
3643
  /*
3761
- * ⚠ `role="separator"` ZORUNLU. Etiketsiz dal `<hr>` kullanıyor ve onun
3762
- * örtük rolü zaten `separator`; etiketli dal ise düz bir `<div>`di, yani
3763
- * ayırıcı ANLAMI tam da anlam taşıdığı yerde kayboluyordu. `aria-label`
3764
- * etiketi role bağlar ("Ödeme bilgileri" ayırıcısı).
3765
- *
3766
- * ⚠ `aria-orientation` YAZILMAZ: `separator`ın varsayılanı zaten
3767
- * `horizontal` ve bileşen dikey bir varyant sunmuyor.
3644
+ * ⚠ `role="separator"` ZORUNLU.
3645
+ * ⚠ `aria-orientation` YAZILMAZ: `separator`ın varsayılanı zaten `horizontal` ve bileşen dikey
3646
+ * bir varyant sunmuyor.
3768
3647
  */
3769
3648
  /* @__PURE__ */ a(
3770
3649
  "div",
@@ -4185,11 +4064,7 @@ const ro = 240, wn = () => {
4185
4064
  var b;
4186
4065
  const { labels: d } = Y(), m = o === "flat" ? void 0 : o === "up" === s;
4187
4066
  return (
4188
- /*
4189
- * `card` icin ayri bir sinif YOK: taban sinifin kendisi kart. Arama
4190
- * `undefined` doner ve `cx` onu atar — varsayilan gorunum tek yerde kalir,
4191
- * iki sinif arasinda bolunmez.
4192
- */
4067
+ /* `card` icin ayri bir sinif YOK: taban sinifin kendisi kart. */
4193
4068
  /* @__PURE__ */ v(
4194
4069
  "div",
4195
4070
  {
@@ -4359,17 +4234,8 @@ const Ea = () => ya.forEach((e) => e(pt)), wa = (e) => {
4359
4234
  const [u, l] = H(!1);
4360
4235
  return R(() => l(!0), []), u ? mt(
4361
4236
  /*
4237
+ * Bildirimin üzerindeki `role="status"`/`role="alert"` öğe DOM'a girdiği ANDA yaratılıyordu
4362
4238
  * ⚠ CANLI BÖLGE YIĞININ KENDİSİNDE, tek tek bildirimlerde DEĞİL.
4363
- *
4364
- * Bildirimin üzerindeki `role="status"`/`role="alert"` öğe DOM'a
4365
- * girdiği ANDA yaratılıyordu; canlı bölge semantiği ise bölgenin içerik
4366
- * değişmeden ÖNCE var olmasını şart koşar. Sonuç ölçülemez değil ama
4367
- * güvenilmezdi: NVDA/JAWS/VoiceOver bazı sürümlerde yeni eklenen bir
4368
- * canlı bölgeyi hiç duyurmuyordu.
4369
- *
4370
- * Yığın her zaman DOM'da; `aria-live="polite"` burada duruyor ve
4371
- * içine giren her bildirim onun bir MUTASYONU olarak duyuruluyor.
4372
- * `aria-relevant="additions"`: kapanan bir bildirim yeniden okunmasın.
4373
4239
  */
4374
4240
  /* @__PURE__ */ a(
4375
4241
  "div",
@@ -4696,9 +4562,10 @@ const Ea = () => ya.forEach((e) => e(pt)), wa = (e) => {
4696
4562
  (_ = o == null ? void 0 : o.timeline) == null ? void 0 : _[ga[i]]
4697
4563
  ) })
4698
4564
  ] }),
4699
- s.time && /* `<time>` DEGIL `<span>`: `datetime` icin makine okunur bir
4700
- deger gerekiyor ve elimizde yalnizca bicimlendirilmis dize
4701
- var. Yanlis bir `datetime`, hicbir `datetime`den kotu. */
4565
+ s.time && /*
4566
+ * `<time>` DEGIL ` `: `datetime` icin makine okunur bir deger gerekiyor ve elimizde
4567
+ * yalnizca bicimlendirilmis dize var.
4568
+ */
4702
4569
  /* @__PURE__ */ a("span", { className: Ae.timeline__time, children: s.time }),
4703
4570
  s.description && /* @__PURE__ */ a("span", { className: Ae.timeline__description, children: s.description })
4704
4571
  ] })
@@ -4923,21 +4790,12 @@ const Ea = () => ya.forEach((e) => e(pt)), wa = (e) => {
4923
4790
  var E;
4924
4791
  const S = f.group !== void 0 && f.group !== ((E = g[T - 1]) == null ? void 0 : E.group);
4925
4792
  return (
4926
- /*
4927
- * ⚠ `role="presentation"` ZORUNLU. Agac `listbox > li > option`
4928
- * seklinde ve aradaki `<li>` SAHIPSIZ bir dugum: `listbox` yalnizca
4929
- * `option`/`group` cocugu kabul eder, yani `aria-required-children`
4930
- * kiriliyor ve ekran okuyucu konum sayimini ("3 / 12") yanlis
4931
- * kapsayicidan okuyup ya bozuk bildiriyor ya hic bildirmiyordu.
4932
- * `Combobox` ayni arizayi `role="option"`u `<li>`ye tasiyarak
4933
- * cozdu; burada o yol grup basligini da secenegin ICINE alir ve
4934
- * basliga yapilan tiklama komutu calistirirdi. `presentation` ara
4935
- * dugumu SEFFAF yapar: sahiplik dogrudan listbox'a doner, tiklama
4936
- * hedefi degismez.
4937
- */
4793
+ /* ⚠ `role="presentation"` ZORUNLU. */
4938
4794
  /* @__PURE__ */ v("li", { role: "presentation", children: [
4939
- S && /* `aria-hidden`: baslik bir SECENEK degil; listbox'in cocugu
4940
- olarak okunsaydi ekran okuyucu sayimi bozuluyordu. */
4795
+ S && /*
4796
+ * `aria-hidden`: baslik bir SECENEK degil; listbox'in cocugu olarak okunsaydi ekran
4797
+ * okuyucu sayimi bozuluyordu.
4798
+ */
4941
4799
  /* @__PURE__ */ a("span", { className: ne.palette__group, "aria-hidden": !0, children: f.group }),
4942
4800
  /* @__PURE__ */ v(
4943
4801
  "div",
@@ -5338,12 +5196,7 @@ const Ea = () => ya.forEach((e) => e(pt)), wa = (e) => {
5338
5196
  "aria-sort": g.ariaSort,
5339
5197
  className: y(g.className, g.isSticky && re.sticky),
5340
5198
  children: $ ? (
5341
- /*
5342
- * Siralama bir DUGME, `<th>`ye yazilan `onClick` degil.
5343
- * Baslik hucresi odaklanabilir degil ve klavye kullanicisi
5344
- * siralamaya HIC ulasamiyordu; ustelik ekran okuyucu
5345
- * tiklanabilir oldugunu da soylemiyordu.
5346
- */
5199
+ /* Siralama bir DUGME, ` `ye yazilan `onClick` degil. */
5347
5200
  /* @__PURE__ */ v(
5348
5201
  "button",
5349
5202
  {