@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.cjs.map +1 -1
- package/build/index.d.ts +212 -518
- package/build/index.js +77 -224
- package/build/index.js.map +1 -1
- package/build/styles.css +1 -1
- package/package.json +1 -1
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.
|
|
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
|
-
*
|
|
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ı:
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
/*
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
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
|
-
*
|
|
349
|
-
*
|
|
350
|
-
*
|
|
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.
|
|
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.
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
/*
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
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
|
-
/*
|
|
2032
|
-
|
|
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
|
-
/*
|
|
2755
|
-
|
|
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 && /*
|
|
3146
|
-
degerinde ve iki kez
|
|
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
|
-
//
|
|
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.
|
|
3762
|
-
*
|
|
3763
|
-
*
|
|
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 && /*
|
|
4700
|
-
deger gerekiyor ve elimizde
|
|
4701
|
-
|
|
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 && /*
|
|
4940
|
-
|
|
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
|
{
|